Browse Source

[PATCH] Support for NO_OPENSSL

Support for completely OpenSSL-less builds. FSF considers distributing GPL
binaries with OpenSSL linked in as a legal problem so this is trouble
e.g. for Debian, or some people might not want to install OpenSSL
anyway. If you

	make NO_OPENSSL=1

you get completely OpenSSL-less build, disabling --merge-order and using
Mozilla's SHA1 implementation.

Ported from Cogito.

Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Petr Baudis 20 years ago committed by Junio C Hamano
parent
commit
dd53c7ab29
  1. 8
      Makefile
  2. 6
      rev-list.c

8
Makefile

@ -83,7 +83,7 @@ LIB_H=cache.h object.h blob.h tree.h commit.h tag.h delta.h epoch.h csum-file.h @@ -83,7 +83,7 @@ LIB_H=cache.h object.h blob.h tree.h commit.h tag.h delta.h epoch.h csum-file.h
pack.h pkt-line.h refs.h
LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \
tag.o date.o index.o diff-delta.o patch-delta.o entry.o path.o \
epoch.o refs.o csum-file.o pack-check.o pkt-line.o connect.o ident.o
refs.o csum-file.o pack-check.o pkt-line.o connect.o ident.o

LIB_H += rev-cache.h
LIB_OBJS += rev-cache.o
@ -105,6 +105,12 @@ LIB_OBJS += server-info.o @@ -105,6 +105,12 @@ LIB_OBJS += server-info.o
LIBS = $(LIB_FILE)
LIBS += -lz

ifndef NO_OPENSSL
LIB_OBJS += epoch.o
else
CFLAGS += '-DNO_OPENSSL'
MOZILLA_SHA1=1
endif
ifdef MOZILLA_SHA1
SHA1_HEADER="mozilla-sha1/sha1.h"
LIB_OBJS += mozilla-sha1/sha1.o

6
rev-list.c

@ -548,9 +548,13 @@ int main(int argc, char **argv) @@ -548,9 +548,13 @@ int main(int argc, char **argv)
sort_in_topological_order(&list);
show_commit_list(list);
} else {
#ifndef NO_OPENSSL
if (sort_list_in_merge_order(list, &process_commit)) {
die("merge order sort failed\n");
die("merge order sort failed\n");
}
#else
die("merge order sort unsupported, OpenSSL not linked");
#endif
}

return 0;

Loading…
Cancel
Save