summaryrefslogtreecommitdiff
path: root/src/or/Makefile.am
diff options
context:
space:
mode:
authorNick Mathewson <nickm@freehaven.net>2009-01-03 21:43:05 -0500
committerNick Mathewson <nickm@torproject.org>2009-04-29 14:46:04 -0400
commit6ac3a8b0cd1946e90a4c997e8fad1bfc63890abd (patch)
treee18fffa9c4b0ca4682ca36e607a6b6566946513b /src/or/Makefile.am
parente3ec061bc0ba9aa1bad1615f78fa7fe602e194e0 (diff)
downloadtor-6ac3a8b0cd1946e90a4c997e8fad1bfc63890abd.tar.gz
tor-6ac3a8b0cd1946e90a4c997e8fad1bfc63890abd.zip
Command-line option to dump SHA1 digests of all source files.
Now, when you call tor --digests, it dumps the SHA1 digest of each source file that Tor was built with. We support both 'sha1sum' and 'openssl sha1'. If the user is building from a tarball and they haven't edited anything, they don't need any program that calculates SHA1. If they _have_ modified a file but they don't have a program to calculate SHA1, we try to build so we do not output digests.
Diffstat (limited to 'src/or/Makefile.am')
-rw-r--r--src/or/Makefile.am16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/or/Makefile.am b/src/or/Makefile.am
index 28d7e736dc..03e7900944 100644
--- a/src/or/Makefile.am
+++ b/src/or/Makefile.am
@@ -10,7 +10,7 @@ else
tor_platform_source=
endif
-EXTRA_DIST=ntmain.c
+EXTRA_DIST=ntmain.c or_sha1.i
tor_SOURCES = buffers.c circuitbuild.c circuitlist.c \
circuituse.c command.c config.c \
@@ -52,6 +52,8 @@ test_LDADD = ../common/libor.a ../common/libor-crypto.a \
noinst_HEADERS = or.h eventdns.h eventdns_tor.h micro-revision.i
+config.o: or_sha1.i
+
tor_main.o: micro-revision.i
micro-revision.i: FORCE
@@ -103,5 +105,17 @@ micro-revision.i: FORCE
mv micro-revision.tmp micro-revision.i; \
fi; true
+or_sha1.i: $(tor_SOURCES) test_data.c test.c
+ if test "@SHA1SUM@" != none; then \
+ @SHA1SUM@ $(tor_SOURCES) test_data.c test.c | @SED@ -n 's/^\(.*\)$$/"\1\\n"/p' > or_sha1.i; \
+ elif test "@OPENSSL@" != none; then \
+ @OPENSSL@ sha1 $(tor_SOURCES) test_data.c test.c | @SED@ -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > or_sha1.i; \
+ else \
+ rm or_sha1.i; \
+ touch or_sha1.i; \
+ fi
+
+
+
#Dummy target to ensure that micro-revision.i _always_ gets built.
FORCE: