From 2a4a1496241d6c4183763f90600be4775ccb5470 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Thu, 2 Aug 2012 23:31:43 +1000 Subject: [PATCH 01/19] Move to non-recursive make This gives us a few benefits: 1) make -j clean all this will start working, as it should. It currently doesn't. 2) increased parallel build recursive make will max out at number of files in a directory, non-recursive make doesn't have such a limitation 3) Removal of duplicate information in make files, less error prone I've also slightly updated how we call AM_INIT_AUTOMAKE, as the way that was used was not only deprecated but will be *removed* in the next major automake release (1.13).... so probably best that we can continue to bulid tor without requiring old automake. (see http://www.gnu.org/software/automake/manual/html_node/Public-Macros.html ) For more reasons why, see resources such as: http://miller.emu.id.au/pmiller/books/rmch/ --- Makefile.am | 16 ++- configure.in | 14 +-- contrib/Makefile.am | 23 ---- contrib/include.am | 20 ++++ contrib/suse/Makefile.am | 3 - contrib/suse/include.am | 1 + contrib/updateVersions.pl | 2 +- doc/{Makefile.am => include.am} | 68 ++++++------ src/Makefile.am | 5 - src/common/Makefile.am | 67 ------------ src/common/include.am | 70 ++++++++++++ src/config/Makefile.am | 16 --- src/config/include.am | 16 +++ src/include.am | 6 ++ src/or/Makefile.am | 160 ---------------------------- src/or/include.am | 160 ++++++++++++++++++++++++++++ src/test/Makefile.am | 51 --------- src/test/include.am | 55 ++++++++++ src/tools/Makefile.am | 22 ---- src/tools/include.am | 22 ++++ src/tools/tor-fw-helper/Makefile.am | 38 ------- src/tools/tor-fw-helper/include.am | 36 +++++++ src/win32/Makefile.am | 3 - src/win32/include.am | 3 + 24 files changed, 440 insertions(+), 437 deletions(-) delete mode 100644 contrib/Makefile.am create mode 100644 contrib/include.am delete mode 100644 contrib/suse/Makefile.am create mode 100644 contrib/suse/include.am rename doc/{Makefile.am => include.am} (51%) delete mode 100644 src/Makefile.am delete mode 100644 src/common/Makefile.am create mode 100644 src/common/include.am delete mode 100644 src/config/Makefile.am create mode 100644 src/config/include.am create mode 100644 src/include.am delete mode 100644 src/or/Makefile.am create mode 100644 src/or/include.am delete mode 100644 src/test/Makefile.am create mode 100644 src/test/include.am delete mode 100644 src/tools/Makefile.am create mode 100644 src/tools/include.am delete mode 100644 src/tools/tor-fw-helper/Makefile.am create mode 100644 src/tools/tor-fw-helper/include.am delete mode 100644 src/win32/Makefile.am create mode 100644 src/win32/include.am diff --git a/Makefile.am b/Makefile.am index 29bba715bd..819795c5d0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,11 +7,21 @@ # 1.7 means we require automake vesion 1.7 AUTOMAKE_OPTIONS = foreign 1.7 -SUBDIRS = src doc contrib +noinst_LIBRARIES= +EXTRA_DIST= +noinst_HEADERS= +bin_PROGRAMS= +CLEANFILES= +TESTS= +noinst_PROGRAMS= +DISTCLEANFILES= +bin_SCRIPTS= +include src/include.am +include doc/include.am +include contrib/include.am -DIST_SUBDIRS = src doc contrib -EXTRA_DIST = \ +EXTRA_DIST+= \ ChangeLog \ INSTALL \ LICENSE \ diff --git a/configure.in b/configure.in index c107148e79..7b7d5fbb0c 100644 --- a/configure.in +++ b/configure.in @@ -3,8 +3,9 @@ dnl Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson dnl Copyright (c) 2007-2012, The Tor Project, Inc. dnl See LICENSE for licensing information -AC_INIT -AM_INIT_AUTOMAKE(tor, 0.2.4.0-alpha-dev) +AC_INIT([tor],[0.2.4.0-alpha-dev]) +AC_CONFIG_SRCDIR([src/or/main.c]) +AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AM_CONFIG_HEADER(orconfig.h) @@ -1324,16 +1325,7 @@ AC_CONFIG_FILES([ contrib/tor.sh contrib/torctl contrib/torify - doc/Makefile - src/Makefile - src/common/Makefile - src/config/Makefile src/config/torrc.sample - src/or/Makefile - src/test/Makefile - src/tools/Makefile - src/tools/tor-fw-helper/Makefile - src/win32/Makefile tor.spec ]) diff --git a/contrib/Makefile.am b/contrib/Makefile.am deleted file mode 100644 index 795c351f3a..0000000000 --- a/contrib/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ -SUBDIRS = suse -DIST_SUBDIRS = suse - -confdir = $(sysconfdir)/tor - -EXTRA_DIST = \ - cross.sh \ - exitlist \ - linux-tor-prio.sh \ - package_nsis-mingw.sh \ - rc.subr \ - tor-ctrl.sh \ - tor-exit-notice.html \ - tor-mingw.nsi.in \ - tor-tsocks.conf \ - tor.ico \ - tor.nsi.in \ - tor.sh \ - torctl - -conf_DATA = tor-tsocks.conf - -bin_SCRIPTS = torify diff --git a/contrib/include.am b/contrib/include.am new file mode 100644 index 0000000000..4a995a37d2 --- /dev/null +++ b/contrib/include.am @@ -0,0 +1,20 @@ +include contrib/suse/include.am + +EXTRA_DIST+= \ + contrib/cross.sh \ + contrib/exitlist \ + contrib/linux-tor-prio.sh \ + contrib/package_nsis-mingw.sh \ + contrib/rc.subr \ + contrib/tor-ctrl.sh \ + contrib/tor-exit-notice.html \ + contrib/tor-mingw.nsi.in \ + contrib/tor-tsocks.conf \ + contrib/tor.ico \ + contrib/tor.nsi.in \ + contrib/tor.sh \ + contrib/torctl + +conf_DATA+= contrib/tor-tsocks.conf + +bin_SCRIPTS+= contrib/torify diff --git a/contrib/suse/Makefile.am b/contrib/suse/Makefile.am deleted file mode 100644 index 06511c0425..0000000000 --- a/contrib/suse/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -confdir = $(sysconfdir)/tor - -EXTRA_DIST = tor.sh diff --git a/contrib/suse/include.am b/contrib/suse/include.am new file mode 100644 index 0000000000..4aed0e123e --- /dev/null +++ b/contrib/suse/include.am @@ -0,0 +1 @@ +EXTRA_DIST+= contrib/suse/tor.sh diff --git a/contrib/updateVersions.pl b/contrib/updateVersions.pl index 76b6fe5677..9c24134f4c 100755 --- a/contrib/updateVersions.pl +++ b/contrib/updateVersions.pl @@ -18,7 +18,7 @@ demand($TOR_NSI); open(F, $CONFIGURE_IN) or die "$!"; $version = undef; while () { - if (/AM_INIT_AUTOMAKE\(tor,\s*([^\)]*)\)/) { + if (/AC_INIT\(\[tor\],\s*\[([^\]]*)\]\)/) { $version = $1; last; } diff --git a/doc/Makefile.am b/doc/include.am similarity index 51% rename from doc/Makefile.am rename to doc/include.am index 51a3b57bef..fca46f22ad 100644 --- a/doc/Makefile.am +++ b/doc/include.am @@ -12,8 +12,8 @@ # part of the source distribution, so that people without asciidoc can # just use the .1 and .html files. -regular_mans = tor tor-gencert tor-resolve torify -all_mans = $(regular_mans) tor-fw-helper +regular_mans = doc/tor doc/tor-gencert doc/tor-resolve doc/torify +all_mans = $(regular_mans) doc/tor-fw-helper if USE_ASCIIDOC if USE_FW_HELPER @@ -34,11 +34,11 @@ nodist_man_MANS = doc_DATA = endif -EXTRA_DIST = HACKING asciidoc-helper.sh \ - $(html_in) $(man_in) $(txt_in) \ - tor-rpm-creation.txt \ - tor-win32-mingw-creation.txt spec/README \ - state-contents.txt +EXTRA_DIST+= doc/HACKING doc/asciidoc-helper.sh \ + $(html_in) $(man_in) $(txt_in) \ + doc/tor-rpm-creation.txt \ + doc/tor-win32-mingw-creation.txt doc/spec/README \ + doc/state-contents.txt docdir = @docdir@ @@ -47,43 +47,43 @@ asciidoc_product = $(nodist_man_MANS) $(doc_DATA) # Generate the html documentation from asciidoc, but don't do # machine-specific replacements yet $(html_in) : - $(AM_V_GEN)$(top_srcdir)/doc/asciidoc-helper.sh html @ASCIIDOC@ $(top_srcdir)/doc/$@ + $(AM_V_GEN)$(top_srcdir)/doc/asciidoc-helper.sh html @ASCIIDOC@ $(top_srcdir)/$@ -tor.html.in : tor.1.txt -torify.html.in : torify.1.txt -tor-gencert.html.in : tor-gencert.1.txt -tor-resolve.html.in : tor-resolve.1.txt -tor-fw-helper.html.in : tor-fw-helper.1.txt +doc/tor.html.in : doc/tor.1.txt +doc/torify.html.in : doc/torify.1.txt +doc/tor-gencert.html.in : doc/tor-gencert.1.txt +doc/tor-resolve.html.in : doc/tor-resolve.1.txt +doc/tor-fw-helper.html.in : doc/tor-fw-helper.1.txt # Generate the manpage from asciidoc, but don't do # machine-specific replacements yet $(man_in) : - $(AM_V_GEN)$(top_srcdir)/doc/asciidoc-helper.sh man @A2X@ $(top_srcdir)/doc/$@ + $(AM_V_GEN)$(top_srcdir)/doc/asciidoc-helper.sh man @A2X@ $(top_srcdir)/$@ -tor.1.in : tor.1.txt -torify.1.in : torify.1.txt -tor-gencert.1.in : tor-gencert.1.txt -tor-resolve.1.in : tor-resolve.1.txt -tor-fw-helper.1.in : tor-fw-helper.1.txt +doc/tor.1.in : doc/tor.1.txt +doc/torify.1.in : doc/torify.1.txt +doc/tor-gencert.1.in : doc/tor-gencert.1.txt +doc/tor-resolve.1.in : doc/tor-resolve.1.txt +doc/tor-fw-helper.1.in : doc/tor-fw-helper.1.txt # use ../config.status to swap all machine-specific magic strings # in the asciidoc with their replacements. $(asciidoc_product) : - $(AM_V_GEN)if test -e $(top_srcdir)/doc/$@.in && ! test -e ./$@.in ; then \ - cp $(top_srcdir)/doc/$@.in .; \ + $(AM_V_GEN)if test -e $(top_srcdir)/$@.in && ! test -e $@.in ; then \ + cp $(top_srcdir)/$@.in doc/.; \ fi - $(AM_V_GEN)../config.status --file=$@; + $(AM_V_GEN)$(top_srcdir)/config.status --file=$@; -tor.1 : tor.1.in -torify.1 : torify.1.in -tor-gencert.1 : tor-gencert.1.in -tor-resolve.1 : tor-resolve.1.in -tor-fw-helper.1 : tor-fw-helper.1.in -tor.html : tor.html.in -torify.html : torify.html.in -tor-gencert.html : tor-gencert.html.in -tor-resolve.html : tor-resolve.html.in -tor-fw-helper.html : tor-fw-helper.html.in +doc/tor.1 : doc/tor.1.in +doc/torify.1 : doc/torify.1.in +doc/tor-gencert.1 : doc/tor-gencert.1.in +doc/tor-resolve.1 : doc/tor-resolve.1.in +doc/tor-fw-helper.1 : doc/tor-fw-helper.1.in +doc/tor.html : doc/tor.html.in +doc/torify.html : doc/torify.html.in +doc/tor-gencert.html : doc/tor-gencert.html.in +doc/tor-resolve.html : doc/tor-resolve.html.in +doc/tor-fw-helper.html : doc/tor-fw-helper.html.in -CLEANFILES = $(asciidoc_product) config.log -DISTCLEANFILES = $(html_in) $(man_in) +CLEANFILES+= $(asciidoc_product) config.log +DISTCLEANFILES+= $(html_in) $(man_in) diff --git a/src/Makefile.am b/src/Makefile.am deleted file mode 100644 index fa2dd560a6..0000000000 --- a/src/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ - -# leave in dependency order, since common must be built first -SUBDIRS = common or test tools win32 config -DIST_SUBDIRS = common or test tools win32 config - diff --git a/src/common/Makefile.am b/src/common/Makefile.am deleted file mode 100644 index 5e7684259a..0000000000 --- a/src/common/Makefile.am +++ /dev/null @@ -1,67 +0,0 @@ - -noinst_LIBRARIES = libor.a libor-crypto.a libor-event.a - -EXTRA_DIST = common_sha1.i sha256.c Makefile.nmake - -#CFLAGS = -Wall -Wpointer-arith -O2 - -if USE_OPENBSD_MALLOC -libor_extra_source=OpenBSD_malloc_Linux.c -else -libor_extra_source= -endif - -libor_a_SOURCES = \ - address.c \ - compat.c \ - container.c \ - di_ops.c \ - log.c \ - memarea.c \ - mempool.c \ - procmon.c \ - util.c \ - util_codedigest.c \ - $(libor_extra_source) - -libor_crypto_a_SOURCES = \ - aes.c \ - crypto.c \ - torgzip.c \ - tortls.c - -libor_event_a_SOURCES = compat_libevent.c - -noinst_HEADERS = \ - address.h \ - aes.h \ - ciphers.inc \ - compat.h \ - compat_libevent.h \ - container.h \ - crypto.h \ - di_ops.h \ - ht.h \ - memarea.h \ - mempool.h \ - procmon.h \ - strlcat.c \ - strlcpy.c \ - torgzip.h \ - torint.h \ - torlog.h \ - tortls.h \ - util.h - -common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) - if test "@SHA1SUM@" != none; then \ - (cd "$(srcdir)" && "@SHA1SUM@" $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > common_sha1.i; \ - elif test "@OPENSSL@" != none; then \ - (cd "$(srcdir)" && "@OPENSSL@" sha1 $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > common_sha1.i; \ - else \ - rm common_sha1.i; \ - touch common_sha1.i; \ - fi - -util_codedigest.o: common_sha1.i -crypto.o: sha256.c diff --git a/src/common/include.am b/src/common/include.am new file mode 100644 index 0000000000..0b175dfec1 --- /dev/null +++ b/src/common/include.am @@ -0,0 +1,70 @@ + +noinst_LIBRARIES+= src/common/libor.a src/common/libor-crypto.a src/common/libor-event.a + +EXTRA_DIST+= \ + src/common/common_sha1.i \ + src/common/sha256.c \ + src/common/Makefile.nmake + +#CFLAGS = -Wall -Wpointer-arith -O2 + +if USE_OPENBSD_MALLOC +libor_extra_source=src/common/OpenBSD_malloc_Linux.c +else +libor_extra_source= +endif + +src_common_libor_a_SOURCES = \ + src/common/address.c \ + src/common/compat.c \ + src/common/container.c \ + src/common/di_ops.c \ + src/common/log.c \ + src/common/memarea.c \ + src/common/mempool.c \ + src/common/procmon.c \ + src/common/util.c \ + src/common/util_codedigest.c \ + $(libor_extra_source) + +src_common_libor_crypto_a_SOURCES = \ + src/common/aes.c \ + src/common/crypto.c \ + src/common/torgzip.c \ + src/common/tortls.c + +src_common_libor_event_a_SOURCES = src/common/compat_libevent.c + +noinst_HEADERS+= \ + src/common/address.h \ + src/common/aes.h \ + src/common/ciphers.inc \ + src/common/compat.h \ + src/common/compat_libevent.h \ + src/common/container.h \ + src/common/crypto.h \ + src/common/di_ops.h \ + src/common/ht.h \ + src/common/memarea.h \ + src/common/mempool.h \ + src/common/procmon.h \ + src/common/strlcat.c \ + src/common/strlcpy.c \ + src/common/torgzip.h \ + src/common/torint.h \ + src/common/torlog.h \ + src/common/tortls.h \ + src/common/util.h + +src_common_common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) + if test "@SHA1SUM@" != none; then \ + (cd "$(srcdir)" && "@SHA1SUM@" $(src_common_libor_SOURCES) $(src_common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > src/common/common_sha1.i; \ + elif test "@OPENSSL@" != none; then \ + (cd "$(srcdir)" && "@OPENSSL@" sha1 $(src_common_libor_SOURCES) $(src_Common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > src/common/common_sha1.i; \ + else \ + rm src/common/common_sha1.i; \ + touch src/common/common_sha1.i; \ + fi + +src_common_util_codedigest.o: src/common/common_sha1.i +src_common_crypto.o: src/common/sha256.c diff --git a/src/config/Makefile.am b/src/config/Makefile.am deleted file mode 100644 index 90dd218b40..0000000000 --- a/src/config/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -confdir = $(sysconfdir)/tor - -tordatadir = $(datadir)/tor - -EXTRA_DIST = geoip -# fallback-consensus - -conf_DATA = torrc.sample - -tordata_DATA = geoip -# fallback_consensus - -# If we don't have it, fake it. -fallback-consensus: - touch fallback-consensus - diff --git a/src/config/include.am b/src/config/include.am new file mode 100644 index 0000000000..e6e1fe0440 --- /dev/null +++ b/src/config/include.am @@ -0,0 +1,16 @@ +confdir = $(sysconfdir)/tor + +tordatadir = $(datadir)/tor + +EXTRA_DIST+= src/config/geoip +# fallback-consensus + +conf_DATA = src/config/torrc.sample + +tordata_DATA = src/config/geoip +# fallback_consensus + +# If we don't have it, fake it. +src_config_fallback-consensus: + touch src/config/fallback-consensus + diff --git a/src/include.am b/src/include.am new file mode 100644 index 0000000000..965a494042 --- /dev/null +++ b/src/include.am @@ -0,0 +1,6 @@ +include src/common/include.am +include src/or/include.am +include src/test/include.am +include src/tools/include.am +include src/win32/include.am +include src/config/include.am \ No newline at end of file diff --git a/src/or/Makefile.am b/src/or/Makefile.am deleted file mode 100644 index 27eb607cf0..0000000000 --- a/src/or/Makefile.am +++ /dev/null @@ -1,160 +0,0 @@ -bin_PROGRAMS = tor -noinst_LIBRARIES = libtor.a - -if BUILD_NT_SERVICES -tor_platform_source=ntmain.c -else -tor_platform_source= -endif - -EXTRA_DIST=ntmain.c or_sha1.i Makefile.nmake - -if USE_EXTERNAL_EVDNS -evdns_source= -else -evdns_source=eventdns.c -endif - -libtor_a_SOURCES = \ - buffers.c \ - circuitbuild.c \ - circuitlist.c \ - circuituse.c \ - command.c \ - config.c \ - connection.c \ - connection_edge.c \ - connection_or.c \ - control.c \ - cpuworker.c \ - directory.c \ - dirserv.c \ - dirvote.c \ - dns.c \ - dnsserv.c \ - geoip.c \ - hibernate.c \ - main.c \ - microdesc.c \ - networkstatus.c \ - nodelist.c \ - onion.c \ - transports.c \ - policies.c \ - reasons.c \ - relay.c \ - rendclient.c \ - rendcommon.c \ - rendmid.c \ - rendservice.c \ - rephist.c \ - replaycache.c \ - router.c \ - routerlist.c \ - routerparse.c \ - status.c \ - $(evdns_source) \ - $(tor_platform_source) \ - config_codedigest.c - -#libtor_a_LIBADD = ../common/libor.a ../common/libor-crypto.a \ -# ../common/libor-event.a - - -tor_SOURCES = tor_main.c - -AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \ - -DLOCALSTATEDIR="\"$(localstatedir)\"" \ - -DBINDIR="\"$(bindir)\"" - -# -L flags need to go in LDFLAGS. -l flags need to go in LDADD. -# This seems to matter nowhere but on windows, but I assure you that it -# matters a lot there, and is quite hard to debug if you forget to do it. - - -tor_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@ -tor_LDADD = ./libtor.a ../common/libor.a ../common/libor-crypto.a \ - ../common/libor-event.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ - -noinst_HEADERS = \ - buffers.h \ - circuitbuild.h \ - circuitlist.h \ - circuituse.h \ - command.h \ - config.h \ - connection.h \ - connection_edge.h \ - connection_or.h \ - control.h \ - cpuworker.h \ - directory.h \ - dirserv.h \ - dirvote.h \ - dns.h \ - dnsserv.h \ - eventdns.h \ - eventdns_tor.h \ - geoip.h \ - hibernate.h \ - main.h \ - microdesc.h \ - networkstatus.h \ - nodelist.h \ - ntmain.h \ - onion.h \ - or.h \ - transports.h \ - policies.h \ - reasons.h \ - relay.h \ - rendclient.h \ - rendcommon.h \ - rendmid.h \ - rendservice.h \ - rephist.h \ - replaycache.h \ - router.h \ - routerlist.h \ - routerparse.h \ - status.h \ - micro-revision.i - -config_codedigest.o: or_sha1.i - -tor_main.o: micro-revision.i - -micro-revision.i: FORCE - @rm -f micro-revision.tmp; \ - if test -d "$(top_srcdir)/.git" && \ - test -x "`which git 2>&1;true`"; then \ - HASH="`cd "$(top_srcdir)" && git rev-parse --short=16 HEAD`"; \ - echo \"$$HASH\" > micro-revision.tmp; \ - fi; \ - if test ! -f micro-revision.tmp ; then \ - if test ! -f micro-revision.i ; then \ - echo '""' > micro-revision.i; \ - fi; \ - elif test ! -f micro-revision.i || \ - test x"`cat micro-revision.tmp`" != x"`cat micro-revision.i`"; then \ - mv micro-revision.tmp micro-revision.i; \ - fi; true - -or_sha1.i: $(tor_SOURCES) $(libtor_a_SOURCES) - if test "@SHA1SUM@" != none; then \ - (cd "$(srcdir)" && "@SHA1SUM@" $(tor_SOURCES) $(libtor_a_SOURCES)) | \ - "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > or_sha1.i; \ - elif test "@OPENSSL@" != none; then \ - (cd "$(srcdir)" && "@OPENSSL@" sha1 $(tor_SOURCES) $(libtor_a_SOURCES)) | \ - "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > or_sha1.i; \ - else \ - rm or_sha1.i; \ - touch or_sha1.i; \ - fi - -CLEANFILES = micro-revision.i - -#Dummy target to ensure that micro-revision.i _always_ gets built. -FORCE: diff --git a/src/or/include.am b/src/or/include.am new file mode 100644 index 0000000000..3afc9bbce5 --- /dev/null +++ b/src/or/include.am @@ -0,0 +1,160 @@ +bin_PROGRAMS+= src/or/tor +noinst_LIBRARIES+= src/or/libtor.a + +if BUILD_NT_SERVICES +tor_platform_source=src/or/ntmain.c +else +tor_platform_source= +endif + +EXTRA_DIST+= src/or/ntmain.c src/or/or_sha1.i src/or/Makefile.nmake + +if USE_EXTERNAL_EVDNS +evdns_source= +else +evdns_source=src/or/eventdns.c +endif + +src_or_libtor_a_SOURCES = \ + src/or/buffers.c \ + src/or/circuitbuild.c \ + src/or/circuitlist.c \ + src/or/circuituse.c \ + src/or/command.c \ + src/or/config.c \ + src/or/connection.c \ + src/or/connection_edge.c \ + src/or/connection_or.c \ + src/or/control.c \ + src/or/cpuworker.c \ + src/or/directory.c \ + src/or/dirserv.c \ + src/or/dirvote.c \ + src/or/dns.c \ + src/or/dnsserv.c \ + src/or/geoip.c \ + src/or/hibernate.c \ + src/or/main.c \ + src/or/microdesc.c \ + src/or/networkstatus.c \ + src/or/nodelist.c \ + src/or/onion.c \ + src/or/transports.c \ + src/or/policies.c \ + src/or/reasons.c \ + src/or/relay.c \ + src/or/rendclient.c \ + src/or/rendcommon.c \ + src/or/rendmid.c \ + src/or/rendservice.c \ + src/or/rephist.c \ + src/or/replaycache.c \ + src/or/router.c \ + src/or/routerlist.c \ + src/or/routerparse.c \ + src/or/status.c \ + $(evdns_source) \ + $(tor_platform_source) \ + src/or/config_codedigest.c + +#libtor_a_LIBADD = ../common/libor.a ../common/libor-crypto.a \ +# ../common/libor-event.a + + +src_or_tor_SOURCES = src/or/tor_main.c +src_or_tor_INCLUDES= -Isrc/or/ + +src/or/tor_main.c: src/or/micro-revision.i + +AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \ + -DLOCALSTATEDIR="\"$(localstatedir)\"" \ + -DBINDIR="\"$(bindir)\"" + +# -L flags need to go in LDFLAGS. -l flags need to go in LDADD. +# This seems to matter nowhere but on windows, but I assure you that it +# matters a lot there, and is quite hard to debug if you forget to do it. + + +src_or_tor_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@ +src_or_tor_LDADD = src/or/libtor.a src/common/libor.a src/common/libor-crypto.a \ + src/common/libor-event.a \ + @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_GDI@ + +noinst_HEADERS+= \ + src/or/buffers.h \ + src/or/circuitbuild.h \ + src/or/circuitlist.h \ + src/or/circuituse.h \ + src/or/command.h \ + src/or/config.h \ + src/or/connection.h \ + src/or/connection_edge.h \ + src/or/connection_or.h \ + src/or/control.h \ + src/or/cpuworker.h \ + src/or/directory.h \ + src/or/dirserv.h \ + src/or/dirvote.h \ + src/or/dns.h \ + src/or/dnsserv.h \ + src/or/eventdns.h \ + src/or/eventdns_tor.h \ + src/or/geoip.h \ + src/or/hibernate.h \ + src/or/main.h \ + src/or/microdesc.h \ + src/or/networkstatus.h \ + src/or/nodelist.h \ + src/or/ntmain.h \ + src/or/onion.h \ + src/or/or.h \ + src/or/transports.h \ + src/or/policies.h \ + src/or/reasons.h \ + src/or/relay.h \ + src/or/rendclient.h \ + src/or/rendcommon.h \ + src/or/rendmid.h \ + src/or/rendservice.h \ + src/or/rephist.h \ + src/or/replaycache.h \ + src/or/router.h \ + src/or/routerlist.h \ + src/or/routerparse.h \ + src/or/status.h \ + src/or/micro-revision.i + +src_or_config_codedigest.o: src/or/or_sha1.i + +src/or/micro-revision.i: FORCE + @rm -f src/or/micro-revision.tmp; \ + if test -d "$(top_srcdir)/.git" && \ + test -x "`which git 2>&1;true`"; then \ + HASH="`cd "$(top_srcdir)" && git rev-parse --short=16 HEAD`"; \ + echo \"$$HASH\" > src/or/micro-revision.tmp; \ + fi; \ + if test ! -f src/or/micro-revision.tmp ; then \ + if test ! -f src/or/micro-revision.i ; then \ + echo '""' > src/or/micro-revision.i; \ + fi; \ + elif test ! -f src/or/micro-revision.i || \ + test x"`cat src/or/micro-revision.tmp`" != x"`cat src/or/micro-revision.i`"; then \ + mv src/or/micro-revision.tmp src/or/micro-revision.i; \ + fi; true + +src_or_or_sha1.i: $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES) + if test "@SHA1SUM@" != none; then \ + (cd "$(srcdir)" && "@SHA1SUM@" $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES)) | \ + "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > src/or/or_sha1.i; \ + elif test "@OPENSSL@" != none; then \ + (cd "$(srcdir)" && "@OPENSSL@" sha1 $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES)) | \ + "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > src/or/or_sha1.i; \ + else \ + rm src/or/or_sha1.i; \ + touch src/or/or_sha1.i; \ + fi + +CLEANFILES+= src/or/micro-revision.i + +FORCE: \ No newline at end of file diff --git a/src/test/Makefile.am b/src/test/Makefile.am deleted file mode 100644 index f3efdcc248..0000000000 --- a/src/test/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -TESTS = test - -noinst_PROGRAMS = test test-child bench - -AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \ - -DLOCALSTATEDIR="\"$(localstatedir)\"" \ - -DBINDIR="\"$(bindir)\"" \ - -I"$(top_srcdir)/src/or" - -# -L flags need to go in LDFLAGS. -l flags need to go in LDADD. -# This seems to matter nowhere but on Windows, but I assure you that it -# matters a lot there, and is quite hard to debug if you forget to do it. - -test_SOURCES = \ - test.c \ - test_addr.c \ - test_containers.c \ - test_crypto.c \ - test_data.c \ - test_dir.c \ - test_introduce.c \ - test_microdesc.c \ - test_pt.c \ - test_replay.c \ - test_util.c \ - test_config.c \ - tinytest.c - -bench_SOURCES = \ - bench.c - -test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \ - @TOR_LDFLAGS_libevent@ -test_LDADD = ../or/libtor.a ../common/libor.a ../common/libor-crypto.a \ - ../common/libor-event.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ - @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ - -bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \ - @TOR_LDFLAGS_libevent@ -bench_LDADD = ../or/libtor.a ../common/libor.a ../common/libor-crypto.a \ - ../common/libor-event.a \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ - @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ - -noinst_HEADERS = \ - tinytest.h \ - tinytest_macros.h \ - test.h - - diff --git a/src/test/include.am b/src/test/include.am new file mode 100644 index 0000000000..fad6caf38c --- /dev/null +++ b/src/test/include.am @@ -0,0 +1,55 @@ +TESTS+= test + +noinst_PROGRAMS+= src/test/test src/test/test-child src/test/bench + +src_test_AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \ + -DLOCALSTATEDIR="\"$(localstatedir)\"" \ + -DBINDIR="\"$(bindir)\"" \ + -I"$(top_srcdir)/src/or" + +# -L flags need to go in LDFLAGS. -l flags need to go in LDADD. +# This seems to matter nowhere but on Windows, but I assure you that it +# matters a lot there, and is quite hard to debug if you forget to do it. + +src_test_test_SOURCES = \ + src/test/test.c \ + src/test/test_addr.c \ + src/test/test_containers.c \ + src/test/test_crypto.c \ + src/test/test_data.c \ + src/test/test_dir.c \ + src/test/test_introduce.c \ + src/test/test_microdesc.c \ + src/test/test_pt.c \ + src/test/test_replay.c \ + src/test/test_util.c \ + src/test/test_config.c \ + src/test/tinytest.c + +src_test_test_CPPFLAGS= $(src_test_AM_CPPFLAGS) + +src_test_bench_SOURCES = \ + src/test/bench.c + +src_test_bench_CPPFLAGS= $(src_test_AM_CPPFLAGS) + +src_test_test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \ + @TOR_LDFLAGS_libevent@ +src_test_test_LDADD = src/or/libtor.a src/common/libor.a src/common/libor-crypto.a \ + src/common/libor-event.a \ + @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ + @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ + +src_test_bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \ + @TOR_LDFLAGS_libevent@ +src_test_bench_LDADD = src/or/libtor.a src/common/libor.a src/common/libor-crypto.a \ + src/common/libor-event.a \ + @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ + @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ + +noinst_HEADERS+= \ + src/test/tinytest.h \ + src/test/tinytest_macros.h \ + src/test/test.h + + diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am deleted file mode 100644 index 35b0a41f53..0000000000 --- a/src/tools/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -bin_PROGRAMS = tor-resolve tor-gencert -noinst_PROGRAMS = tor-checkkey - -tor_resolve_SOURCES = tor-resolve.c -tor_resolve_LDFLAGS = -tor_resolve_LDADD = ../common/libor.a @TOR_LIB_MATH@ @TOR_LIB_WS32@ - -tor_gencert_SOURCES = tor-gencert.c -tor_gencert_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ -tor_gencert_LDADD = ../common/libor.a ../common/libor-crypto.a \ - @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ - -tor_checkkey_SOURCES = tor-checkkey.c -tor_checkkey_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ -tor_checkkey_LDADD = ../common/libor.a ../common/libor-crypto.a \ - @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ - -SUBDIRS = tor-fw-helper -DIST_SUBDIRS = tor-fw-helper - diff --git a/src/tools/include.am b/src/tools/include.am new file mode 100644 index 0000000000..7337eff163 --- /dev/null +++ b/src/tools/include.am @@ -0,0 +1,22 @@ +bin_PROGRAMS+= src/tools/tor-resolve src/tools/tor-gencert +noinst_PROGRAMS+= src/tools/tor-checkkey + +src_tools_tor_resolve_SOURCES = src/tools/tor-resolve.c +src_tools_tor_resolve_LDFLAGS = +src_tools_tor_resolve_LDADD = src/common/libor.a @TOR_LIB_MATH@ @TOR_LIB_WS32@ + +src_tools_tor_gencert_SOURCES = src/tools/tor-gencert.c +src_tools_tor_gencert_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ +src_tools_tor_gencert_LDADD = src/common/libor.a src/common/libor-crypto.a \ + @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_GDI@ + +src_tools_tor_checkkey_SOURCES = src/tools/tor-checkkey.c +src_tools_tor_checkkey_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ +src_tools_tor_checkkey_LDADD = src/common/libor.a src/common/libor-crypto.a \ + @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_GDI@ + +include src/tools/tor-fw-helper/include.am + + diff --git a/src/tools/tor-fw-helper/Makefile.am b/src/tools/tor-fw-helper/Makefile.am deleted file mode 100644 index 393562db03..0000000000 --- a/src/tools/tor-fw-helper/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -if USE_FW_HELPER -bin_PROGRAMS = tor-fw-helper -else -bin_PROGRAMS = -endif - -tor_fw_helper_SOURCES = \ - tor-fw-helper.c \ - tor-fw-helper-natpmp.c \ - tor-fw-helper-upnp.c -noinst_HEADERS = \ - tor-fw-helper.h \ - tor-fw-helper-natpmp.h \ - tor-fw-helper-upnp.h - -if NAT_PMP -nat_pmp_ldflags = @TOR_LDFLAGS_libnatpmp@ -nat_pmp_ldadd = -lnatpmp @TOR_LIB_IPHLPAPI@ -nat_pmp_cppflags = @TOR_CPPFLAGS_libnatpmp@ -else -nat_pmp_ldflags = -nat_pmp_ldadd = -nat_pmp_cppflags = -endif - -if MINIUPNPC -miniupnpc_ldflags = @TOR_LDFLAGS_libminiupnpc@ -miniupnpc_ldadd = -lminiupnpc -lm @TOR_LIB_IPHLPAPI@ -miniupnpc_cppflags = @TOR_CPPFLAGS_libminiupnpc@ -else -miniupnpc_ldflags = -miniupnpc_ldadd = -miniupnpc_cppflags = -endif - -tor_fw_helper_LDFLAGS = $(nat_pmp_ldflags) $(miniupnpc_ldflags) -tor_fw_helper_LDADD = ../../common/libor.a $(nat_pmp_ldadd) $(miniupnpc_ldadd) @TOR_LIB_WS32@ -tor_fw_helper_CPPFLAGS = $(nat_pmp_cppflags) $(miniupnpc_cppflags) diff --git a/src/tools/tor-fw-helper/include.am b/src/tools/tor-fw-helper/include.am new file mode 100644 index 0000000000..cb6c9cd560 --- /dev/null +++ b/src/tools/tor-fw-helper/include.am @@ -0,0 +1,36 @@ +if USE_FW_HELPER +bin_PROGRAMS+= src/tools/tor-fw-helper/tor-fw-helper +endif + +src_tools_tor_fw_helper_tor_fw_helper_SOURCES = \ + src/tools/tor-fw-helper/tor-fw-helper.c \ + src/tools/tor-fw-helper/tor-fw-helper-natpmp.c \ + src/tools/tor-fw-helper/tor-fw-helper-upnp.c +noinst_HEADERS+= \ + src/tools/tor-fw-helper/tor-fw-helper.h \ + src/tools/tor-fw-helper/tor-fw-helper-natpmp.h \ + src/tools/tor-fw-helper/tor-fw-helper-upnp.h + +if NAT_PMP +nat_pmp_ldflags = @TOR_LDFLAGS_libnatpmp@ +nat_pmp_ldadd = -lnatpmp @TOR_LIB_IPHLPAPI@ +nat_pmp_cppflags = @TOR_CPPFLAGS_libnatpmp@ +else +nat_pmp_ldflags = +nat_pmp_ldadd = +nat_pmp_cppflags = +endif + +if MINIUPNPC +miniupnpc_ldflags = @TOR_LDFLAGS_libminiupnpc@ +miniupnpc_ldadd = -lminiupnpc -lm @TOR_LIB_IPHLPAPI@ +miniupnpc_cppflags = @TOR_CPPFLAGS_libminiupnpc@ +else +miniupnpc_ldflags = +miniupnpc_ldadd = +miniupnpc_cppflags = +endif + +src_tools_tor_fw_helper_tor_fw_helper_LDFLAGS = $(nat_pmp_ldflags) $(miniupnpc_ldflags) +src_tools_tor_fw_helper_tor_fw_helper_LDADD = src/common/libor.a $(nat_pmp_ldadd) $(miniupnpc_ldadd) @TOR_LIB_WS32@ +src_tools_tor_fw_helper_tor_fw_helper_CPPFLAGS = $(nat_pmp_cppflags) $(miniupnpc_cppflags) diff --git a/src/win32/Makefile.am b/src/win32/Makefile.am deleted file mode 100644 index 7f5d742481..0000000000 --- a/src/win32/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -EXTRA_DIST = orconfig.h - diff --git a/src/win32/include.am b/src/win32/include.am new file mode 100644 index 0000000000..dad59af3ae --- /dev/null +++ b/src/win32/include.am @@ -0,0 +1,3 @@ + +EXTRA_DIST+= src/win32/orconfig.h + From e612179e09d88b4b1da3c2d046a19c8652e279a1 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 3 Aug 2012 00:19:58 +1000 Subject: [PATCH 02/19] add subdir-objects to AUTOMAKE_OPTIONS, this builds object files in subdirs with non-recursive make --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 819795c5d0..de7e837f82 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,7 @@ # "foreign" means we don't follow GNU package layout standards # 1.7 means we require automake vesion 1.7 -AUTOMAKE_OPTIONS = foreign 1.7 +AUTOMAKE_OPTIONS = foreign 1.7 subdir-objects noinst_LIBRARIES= EXTRA_DIST= From 12aa553349ed7e630fcec9a60dfde7137e1684de Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 3 Aug 2012 08:59:32 +1000 Subject: [PATCH 03/19] remove contrib/Makefile and contrib/suse/Makefile from configure.in (otherwise would throw an error of "required file X" not found as part of autogen.sh) --- configure.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/configure.in b/configure.in index 7b7d5fbb0c..d4b3acb4c4 100644 --- a/configure.in +++ b/configure.in @@ -1318,8 +1318,6 @@ CPPFLAGS="$CPPFLAGS $TOR_CPPFLAGS_libevent $TOR_CPPFLAGS_openssl $TOR_CPPFLAGS_z AC_CONFIG_FILES([ Doxyfile Makefile - contrib/Makefile - contrib/suse/Makefile contrib/suse/tor.sh contrib/tor.logrotate contrib/tor.sh From 7bb04f111a6ba97dca627c1a76a05a58a42a7c21 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 3 Aug 2012 09:04:48 +1000 Subject: [PATCH 04/19] fix dependencies for some generated files --- src/common/include.am | 6 +++--- src/or/include.am | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/common/include.am b/src/common/include.am index 0b175dfec1..e6a19d8af7 100644 --- a/src/common/include.am +++ b/src/common/include.am @@ -56,7 +56,7 @@ noinst_HEADERS+= \ src/common/tortls.h \ src/common/util.h -src_common_common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) +src/common/common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) if test "@SHA1SUM@" != none; then \ (cd "$(srcdir)" && "@SHA1SUM@" $(src_common_libor_SOURCES) $(src_common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > src/common/common_sha1.i; \ elif test "@OPENSSL@" != none; then \ @@ -66,5 +66,5 @@ src_common_common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HE touch src/common/common_sha1.i; \ fi -src_common_util_codedigest.o: src/common/common_sha1.i -src_common_crypto.o: src/common/sha256.c +src/common/util_codedigest.c: src/common/common_sha1.i +src/common/crypto.c: src/common/sha256.c diff --git a/src/or/include.am b/src/or/include.am index 3afc9bbce5..d672f6b12e 100644 --- a/src/or/include.am +++ b/src/or/include.am @@ -125,7 +125,7 @@ noinst_HEADERS+= \ src/or/status.h \ src/or/micro-revision.i -src_or_config_codedigest.o: src/or/or_sha1.i +src/or/config_codedigest.c: src/or/or_sha1.i src/or/micro-revision.i: FORCE @rm -f src/or/micro-revision.tmp; \ @@ -143,7 +143,7 @@ src/or/micro-revision.i: FORCE mv src/or/micro-revision.tmp src/or/micro-revision.i; \ fi; true -src_or_or_sha1.i: $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES) +src/or/or_sha1.i: $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES) if test "@SHA1SUM@" != none; then \ (cd "$(srcdir)" && "@SHA1SUM@" $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES)) | \ "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > src/or/or_sha1.i; \ From 8f466a1c606221e1391816296b20d9c54196ebbd Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 3 Aug 2012 09:05:18 +1000 Subject: [PATCH 05/19] fix TESTS to include full path to src/test/test --- src/test/include.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/include.am b/src/test/include.am index fad6caf38c..03fef23375 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -1,4 +1,4 @@ -TESTS+= test +TESTS+= src/test/test noinst_PROGRAMS+= src/test/test src/test/test-child src/test/bench From 2e80ae895dbec1e2922aef584bafa0ddad728a14 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 3 Aug 2012 09:07:27 +1000 Subject: [PATCH 06/19] fix circular dependency for generating code digests --- src/or/include.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/or/include.am b/src/or/include.am index d672f6b12e..ef5cda31b5 100644 --- a/src/or/include.am +++ b/src/or/include.am @@ -125,7 +125,7 @@ noinst_HEADERS+= \ src/or/status.h \ src/or/micro-revision.i -src/or/config_codedigest.c: src/or/or_sha1.i +src/or/config_codedigest.o: src/or/or_sha1.i src/or/micro-revision.i: FORCE @rm -f src/or/micro-revision.tmp; \ From 2606c8b289eb654c6b0cec8d3f25c72b426eab2b Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 3 Aug 2012 11:20:52 +1000 Subject: [PATCH 07/19] Fix up make distcheck and greatly simplify docs dependencies (although it's still a bit odd) --- doc/include.am | 42 ++++++++++-------------------------------- src/common/include.am | 12 +++++++----- 2 files changed, 17 insertions(+), 37 deletions(-) diff --git a/doc/include.am b/doc/include.am index fca46f22ad..44e09a7405 100644 --- a/doc/include.am +++ b/doc/include.am @@ -17,10 +17,10 @@ all_mans = $(regular_mans) doc/tor-fw-helper if USE_ASCIIDOC if USE_FW_HELPER -nodist_man_MANS = $(all_mans:=.1) +man_MANS = $(all_mans:=.1) doc_DATA = $(all_mans:=.html) else -nodist_man_MANS = $(regular_mans:=.1) +man_MANS = $(regular_mans:=.1) doc_DATA = $(regular_mans:=.html) endif html_in = $(all_mans:=.html.in) @@ -30,7 +30,7 @@ else html_in = man_in = txt_in = -nodist_man_MANS = +man_MANS = doc_DATA = endif @@ -42,48 +42,26 @@ EXTRA_DIST+= doc/HACKING doc/asciidoc-helper.sh \ docdir = @docdir@ -asciidoc_product = $(nodist_man_MANS) $(doc_DATA) +asciidoc_product = $(man_MANS) $(doc_DATA) # Generate the html documentation from asciidoc, but don't do # machine-specific replacements yet -$(html_in) : +$(html_in) : $(txt_in) $(AM_V_GEN)$(top_srcdir)/doc/asciidoc-helper.sh html @ASCIIDOC@ $(top_srcdir)/$@ -doc/tor.html.in : doc/tor.1.txt -doc/torify.html.in : doc/torify.1.txt -doc/tor-gencert.html.in : doc/tor-gencert.1.txt -doc/tor-resolve.html.in : doc/tor-resolve.1.txt -doc/tor-fw-helper.html.in : doc/tor-fw-helper.1.txt - # Generate the manpage from asciidoc, but don't do # machine-specific replacements yet -$(man_in) : +$(man_in) : $(txt_in) $(AM_V_GEN)$(top_srcdir)/doc/asciidoc-helper.sh man @A2X@ $(top_srcdir)/$@ -doc/tor.1.in : doc/tor.1.txt -doc/torify.1.in : doc/torify.1.txt -doc/tor-gencert.1.in : doc/tor-gencert.1.txt -doc/tor-resolve.1.in : doc/tor-resolve.1.txt -doc/tor-fw-helper.1.in : doc/tor-fw-helper.1.txt - # use ../config.status to swap all machine-specific magic strings # in the asciidoc with their replacements. -$(asciidoc_product) : +$(asciidoc_product) : $(txt_in) $(man_in) + $(MKDIR_P) $(@D) $(AM_V_GEN)if test -e $(top_srcdir)/$@.in && ! test -e $@.in ; then \ - cp $(top_srcdir)/$@.in doc/.; \ + cp $(top_srcdir)/$@.in $@; \ fi - $(AM_V_GEN)$(top_srcdir)/config.status --file=$@; - -doc/tor.1 : doc/tor.1.in -doc/torify.1 : doc/torify.1.in -doc/tor-gencert.1 : doc/tor-gencert.1.in -doc/tor-resolve.1 : doc/tor-resolve.1.in -doc/tor-fw-helper.1 : doc/tor-fw-helper.1.in -doc/tor.html : doc/tor.html.in -doc/torify.html : doc/torify.html.in -doc/tor-gencert.html : doc/tor-gencert.html.in -doc/tor-resolve.html : doc/tor-resolve.html.in -doc/tor-fw-helper.html : doc/tor-fw-helper.html.in + $(AM_V_GEN)$(CONFIG_STATUS) --file=$@; CLEANFILES+= $(asciidoc_product) config.log DISTCLEANFILES+= $(html_in) $(man_in) diff --git a/src/common/include.am b/src/common/include.am index e6a19d8af7..7bae31b994 100644 --- a/src/common/include.am +++ b/src/common/include.am @@ -56,15 +56,17 @@ noinst_HEADERS+= \ src/common/tortls.h \ src/common/util.h +DISTCLEANFILES+= src/common/common_sha1.i + src/common/common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) if test "@SHA1SUM@" != none; then \ - (cd "$(srcdir)" && "@SHA1SUM@" $(src_common_libor_SOURCES) $(src_common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > src/common/common_sha1.i; \ + (cd "$(srcdir)" && "@SHA1SUM@" $(src_common_libor_SOURCES) $(src_common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > $@; \ elif test "@OPENSSL@" != none; then \ - (cd "$(srcdir)" && "@OPENSSL@" sha1 $(src_common_libor_SOURCES) $(src_Common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > src/common/common_sha1.i; \ + (cd "$(srcdir)" && "@OPENSSL@" sha1 $(src_common_libor_SOURCES) $(src_Common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > $@; \ else \ - rm src/common/common_sha1.i; \ - touch src/common/common_sha1.i; \ + rm $@; \ + touch $@; \ fi -src/common/util_codedigest.c: src/common/common_sha1.i +src/common/util_codedigest.o: src/common/common_sha1.i src/common/crypto.c: src/common/sha256.c From 301e24e4a85bfa0ff2dfb73f338c9b543c1e1b6c Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 3 Aug 2012 11:26:21 +1000 Subject: [PATCH 08/19] fix up calling of config.status to generate docs --- doc/include.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/include.am b/doc/include.am index 44e09a7405..174cf4e3aa 100644 --- a/doc/include.am +++ b/doc/include.am @@ -61,7 +61,7 @@ $(asciidoc_product) : $(txt_in) $(man_in) $(AM_V_GEN)if test -e $(top_srcdir)/$@.in && ! test -e $@.in ; then \ cp $(top_srcdir)/$@.in $@; \ fi - $(AM_V_GEN)$(CONFIG_STATUS) --file=$@; + $(AM_V_GEN)./config.status --file=$@; CLEANFILES+= $(asciidoc_product) config.log DISTCLEANFILES+= $(html_in) $(man_in) From 0df149ff6e1ac86d23282a8904851f8897d68cec Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 23 Aug 2012 12:35:21 -0400 Subject: [PATCH 09/19] s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/ Apparently the former will stop working with newer auto* (commit message by nickm) --- configure.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configure.in b/configure.in index d4b3acb4c4..7430867f6f 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT([tor],[0.2.4.0-alpha-dev]) AC_CONFIG_SRCDIR([src/or/main.c]) AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -AM_CONFIG_HEADER(orconfig.h) +AC_CONFIG_HEADERS([orconfig.h]) AC_CANONICAL_HOST @@ -1332,4 +1332,3 @@ AC_OUTPUT if test -x /usr/bin/perl && test -x ./contrib/updateVersions.pl ; then ./contrib/updateVersions.pl fi - From 8f60f70e213376f329e49ae46b4bb1b82f350aba Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 23 Aug 2012 12:36:31 -0400 Subject: [PATCH 10/19] Replace man_MANS with nodist_man1_MANS (commit message by nickm) --- doc/include.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/include.am b/doc/include.am index 174cf4e3aa..011cc7fd0d 100644 --- a/doc/include.am +++ b/doc/include.am @@ -17,10 +17,10 @@ all_mans = $(regular_mans) doc/tor-fw-helper if USE_ASCIIDOC if USE_FW_HELPER -man_MANS = $(all_mans:=.1) +nodist_man1_MANS = $(all_mans:=.1) doc_DATA = $(all_mans:=.html) else -man_MANS = $(regular_mans:=.1) +nodist_man1_MANS = $(regular_mans:=.1) doc_DATA = $(regular_mans:=.html) endif html_in = $(all_mans:=.html.in) @@ -30,7 +30,7 @@ else html_in = man_in = txt_in = -man_MANS = +nodist_man1_MANS = doc_DATA = endif @@ -42,7 +42,7 @@ EXTRA_DIST+= doc/HACKING doc/asciidoc-helper.sh \ docdir = @docdir@ -asciidoc_product = $(man_MANS) $(doc_DATA) +asciidoc_product = $(nodist_man1_MANS) $(doc_DATA) # Generate the html documentation from asciidoc, but don't do # machine-specific replacements yet From 3f6666493535477e7dea25407522ce4f0d74c21a Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 23 Aug 2012 12:52:33 -0400 Subject: [PATCH 11/19] Add missing dependency so the html.in files get built --- doc/include.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/include.am b/doc/include.am index 011cc7fd0d..4876a628f2 100644 --- a/doc/include.am +++ b/doc/include.am @@ -63,5 +63,7 @@ $(asciidoc_product) : $(txt_in) $(man_in) fi $(AM_V_GEN)./config.status --file=$@; +$(doc_DATA) : $(html_in) + CLEANFILES+= $(asciidoc_product) config.log DISTCLEANFILES+= $(html_in) $(man_in) From 6d703f8db5d5a506f82f40a638560749755ddc6e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 23 Aug 2012 13:14:41 -0400 Subject: [PATCH 12/19] Make the _sha1.i file generation quieter --- src/common/include.am | 2 +- src/or/include.am | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/include.am b/src/common/include.am index 7bae31b994..116d26876e 100644 --- a/src/common/include.am +++ b/src/common/include.am @@ -59,7 +59,7 @@ noinst_HEADERS+= \ DISTCLEANFILES+= src/common/common_sha1.i src/common/common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) - if test "@SHA1SUM@" != none; then \ + $(AM_V_GEN)if test "@SHA1SUM@" != none; then \ (cd "$(srcdir)" && "@SHA1SUM@" $(src_common_libor_SOURCES) $(src_common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > $@; \ elif test "@OPENSSL@" != none; then \ (cd "$(srcdir)" && "@OPENSSL@" sha1 $(src_common_libor_SOURCES) $(src_Common_libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > $@; \ diff --git a/src/or/include.am b/src/or/include.am index ef5cda31b5..7c31b53b9c 100644 --- a/src/or/include.am +++ b/src/or/include.am @@ -144,7 +144,7 @@ src/or/micro-revision.i: FORCE fi; true src/or/or_sha1.i: $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES) - if test "@SHA1SUM@" != none; then \ + $(AM_V_GEN)if test "@SHA1SUM@" != none; then \ (cd "$(srcdir)" && "@SHA1SUM@" $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES)) | \ "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > src/or/or_sha1.i; \ elif test "@OPENSSL@" != none; then \ @@ -157,4 +157,4 @@ src/or/or_sha1.i: $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES) CLEANFILES+= src/or/micro-revision.i -FORCE: \ No newline at end of file +FORCE: From b67057a542f8e732795537c4c9812c87973c595a Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 23 Aug 2012 13:19:40 -0400 Subject: [PATCH 13/19] Make asciidoc generation quieter --- doc/include.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/include.am b/doc/include.am index 4876a628f2..80034861e2 100644 --- a/doc/include.am +++ b/doc/include.am @@ -57,11 +57,11 @@ $(man_in) : $(txt_in) # use ../config.status to swap all machine-specific magic strings # in the asciidoc with their replacements. $(asciidoc_product) : $(txt_in) $(man_in) - $(MKDIR_P) $(@D) - $(AM_V_GEN)if test -e $(top_srcdir)/$@.in && ! test -e $@.in ; then \ + $(AM_V_GEN)$(MKDIR_P) $(@D) && \ + if test -e $(top_srcdir)/$@.in && ! test -e $@.in ; then \ cp $(top_srcdir)/$@.in $@; \ - fi - $(AM_V_GEN)./config.status --file=$@; + fi && \ + ./config.status -q --file=$@; $(doc_DATA) : $(html_in) From 0867479e3e374b14fd8408b65465739146ddf18e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 23 Aug 2012 13:19:54 -0400 Subject: [PATCH 14/19] Add some attributes to make a2x quieter --- doc/tor-fw-helper.1.txt | 2 ++ doc/tor-gencert.1.txt | 2 ++ doc/tor-resolve.1.txt | 2 ++ doc/tor.1.txt | 2 ++ doc/torify.1.txt | 8 ++++++-- 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/doc/tor-fw-helper.1.txt b/doc/tor-fw-helper.1.txt index 49b0910380..4caf16ced7 100644 --- a/doc/tor-fw-helper.1.txt +++ b/doc/tor-fw-helper.1.txt @@ -2,6 +2,8 @@ // See LICENSE for licensing information // This is an asciidoc file used to generate the manpage/html reference. // Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html +:man source: Tor +:man manual: Tor Manual tor-fw-helper(1) ================ Jacob Appelbaum diff --git a/doc/tor-gencert.1.txt b/doc/tor-gencert.1.txt index 2a2d1179c5..aa61ec3ec6 100644 --- a/doc/tor-gencert.1.txt +++ b/doc/tor-gencert.1.txt @@ -2,6 +2,8 @@ // See LICENSE for licensing information // This is an asciidoc file used to generate the manpage/html reference. // Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html +:man source: Tor +:man manual: Tor Manual tor-gencert(1) ============== Nick Mathewson diff --git a/doc/tor-resolve.1.txt b/doc/tor-resolve.1.txt index bdc636b08b..341d302244 100644 --- a/doc/tor-resolve.1.txt +++ b/doc/tor-resolve.1.txt @@ -2,6 +2,8 @@ // See LICENSE for licensing information // This is an asciidoc file used to generate the manpage/html reference. // Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html +:man source: Tor +:man manual: Tor Manual tor-resolve(1) ============== Peter Palfrader diff --git a/doc/tor.1.txt b/doc/tor.1.txt index f1ae7bb4f1..d55baa05c8 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -2,6 +2,8 @@ // See LICENSE for licensing information // This is an asciidoc file used to generate the manpage/html reference. // Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html +:man source: Tor +:man manual: Tor Manual TOR(1) ====== diff --git a/doc/torify.1.txt b/doc/torify.1.txt index 4a4be1250a..22b3fe5370 100644 --- a/doc/torify.1.txt +++ b/doc/torify.1.txt @@ -2,10 +2,10 @@ // See LICENSE for licensing information // This is an asciidoc file used to generate the manpage/html reference. // Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html +:man source: Tor +:man manual: Tor Manual torify(1) ========= -Peter Palfrader -Jacob Appelbaum NAME ---- @@ -48,3 +48,7 @@ SEE ALSO -------- **tor**(1), **tor-resolve**(1), **torsocks**(1), **tsocks**(1), **tsocks.conf**(5). + +AUTHORS +------- +Peter Palfrader and Jacob Appelbaum wrote this manual. From 5db37bca3d031912f9da10427ec2e73faf621694 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 24 Aug 2012 10:29:05 -0400 Subject: [PATCH 15/19] We now need automake 1.9 or later Automake 1.7 is too broken to even investigate why it broke at this point. --- Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index de7e837f82..48202558af 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,8 +4,8 @@ # See LICENSE for licensing information # "foreign" means we don't follow GNU package layout standards -# 1.7 means we require automake vesion 1.7 -AUTOMAKE_OPTIONS = foreign 1.7 subdir-objects +# 1.9 means we require automake vesion 1.9 +AUTOMAKE_OPTIONS = foreign 1.9 subdir-objects noinst_LIBRARIES= EXTRA_DIST= From 90d1c8575726f2169b9cdb7f7eb28b01e30cae80 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 27 Aug 2012 10:00:22 -0400 Subject: [PATCH 16/19] build: minimal adjustments to make out-of-tree build work --- Makefile.am | 1 + src/common/include.am | 1 + src/or/include.am | 30 +++++++++++++++--------------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Makefile.am b/Makefile.am index 48202558af..466eaf84f3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,6 +16,7 @@ TESTS= noinst_PROGRAMS= DISTCLEANFILES= bin_SCRIPTS= +AM_CPPFLAGS= include src/include.am include doc/include.am include contrib/include.am diff --git a/src/common/include.am b/src/common/include.am index 116d26876e..0ab4769847 100644 --- a/src/common/include.am +++ b/src/common/include.am @@ -7,6 +7,7 @@ EXTRA_DIST+= \ src/common/Makefile.nmake #CFLAGS = -Wall -Wpointer-arith -O2 +AM_CPPFLAGS += -I$(srcdir)/src/common -Isrc/common if USE_OPENBSD_MALLOC libor_extra_source=src/common/OpenBSD_malloc_Linux.c diff --git a/src/or/include.am b/src/or/include.am index 7c31b53b9c..65ff684925 100644 --- a/src/or/include.am +++ b/src/or/include.am @@ -55,18 +55,18 @@ src_or_libtor_a_SOURCES = \ src/or/status.c \ $(evdns_source) \ $(tor_platform_source) \ - src/or/config_codedigest.c + src/or/config_codedigest.c #libtor_a_LIBADD = ../common/libor.a ../common/libor-crypto.a \ # ../common/libor-event.a src_or_tor_SOURCES = src/or/tor_main.c -src_or_tor_INCLUDES= -Isrc/or/ +AM_CPPFLAGS += -I$(srcdir)/src/or -Isrc/or -src/or/tor_main.c: src/or/micro-revision.i +src/or/tor_main.c: micro-revision.i -AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \ +AM_CPPFLAGS += -DSHARE_DATADIR="\"$(datadir)\"" \ -DLOCALSTATEDIR="\"$(localstatedir)\"" \ -DBINDIR="\"$(bindir)\"" @@ -123,24 +123,24 @@ noinst_HEADERS+= \ src/or/routerlist.h \ src/or/routerparse.h \ src/or/status.h \ - src/or/micro-revision.i + micro-revision.i src/or/config_codedigest.o: src/or/or_sha1.i -src/or/micro-revision.i: FORCE - @rm -f src/or/micro-revision.tmp; \ +micro-revision.i: FORCE + @rm -f micro-revision.tmp; \ if test -d "$(top_srcdir)/.git" && \ test -x "`which git 2>&1;true`"; then \ HASH="`cd "$(top_srcdir)" && git rev-parse --short=16 HEAD`"; \ - echo \"$$HASH\" > src/or/micro-revision.tmp; \ + echo \"$$HASH\" > micro-revision.tmp; \ fi; \ - if test ! -f src/or/micro-revision.tmp ; then \ - if test ! -f src/or/micro-revision.i ; then \ - echo '""' > src/or/micro-revision.i; \ + if test ! -f micro-revision.tmp ; then \ + if test ! -f micro-revision.i ; then \ + echo '""' > micro-revision.i; \ fi; \ - elif test ! -f src/or/micro-revision.i || \ - test x"`cat src/or/micro-revision.tmp`" != x"`cat src/or/micro-revision.i`"; then \ - mv src/or/micro-revision.tmp src/or/micro-revision.i; \ + elif test ! -f micro-revision.i || \ + test x"`cat micro-revision.tmp`" != x"`cat micro-revision.i`"; then \ + mv micro-revision.tmp micro-revision.i; \ fi; true src/or/or_sha1.i: $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES) @@ -155,6 +155,6 @@ src/or/or_sha1.i: $(src_or_tor_SOURCES) $(src_or_libtor_a_SOURCES) touch src/or/or_sha1.i; \ fi -CLEANFILES+= src/or/micro-revision.i +CLEANFILES+= micro-revision.i FORCE: From 7638612f019b7a2e7d77a4de2bfbbf9fc8c6e33c Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 27 Aug 2012 10:05:02 -0400 Subject: [PATCH 17/19] Better fix to avoid loudness on mkdir -p (commit message by nickm) --- doc/include.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/include.am b/doc/include.am index 80034861e2..bb01038d4c 100644 --- a/doc/include.am +++ b/doc/include.am @@ -57,11 +57,11 @@ $(man_in) : $(txt_in) # use ../config.status to swap all machine-specific magic strings # in the asciidoc with their replacements. $(asciidoc_product) : $(txt_in) $(man_in) - $(AM_V_GEN)$(MKDIR_P) $(@D) && \ - if test -e $(top_srcdir)/$@.in && ! test -e $@.in ; then \ + $(AM_V_GEN)$(MKDIR_P) $(@D) + $(AM_V_at)if test -e $(top_srcdir)/$@.in && ! test -e $@.in ; then \ cp $(top_srcdir)/$@.in $@; \ - fi && \ - ./config.status -q --file=$@; + fi + $(AM_V_at)./config.status -q --file=$@; $(doc_DATA) : $(html_in) From f1b33ce81a68dae2db2e3b0f9bbd6715de8ec3bd Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 27 Aug 2012 10:11:55 -0400 Subject: [PATCH 18/19] Update .gitignore with new autotools droppings from nonrecursive make --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3a28ecfd44..8034ae6611 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ *.log # Autotools stuff .deps +.dirstamp # Stuff made by our makefiles *.bak @@ -41,6 +42,7 @@ /config.guess /config.sub /conftest* +/micro-revision.* /patch-stamp /stamp-h /stamp-h.in @@ -140,7 +142,6 @@ /src/or/Makefile /src/or/Makefile.in /src/or/or_sha1.i -/src/or/micro-revision.* /src/or/tor /src/or/tor.exe /src/or/libtor.a From 09d90b1b65066e79dc6de59f2ffca9e28ab5e7ea Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 27 Aug 2012 10:28:45 -0400 Subject: [PATCH 19/19] Changes file for nonrecursive make branch --- changes/nonrecursive_make | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 changes/nonrecursive_make diff --git a/changes/nonrecursive_make b/changes/nonrecursive_make new file mode 100644 index 0000000000..71120a5453 --- /dev/null +++ b/changes/nonrecursive_make @@ -0,0 +1,16 @@ + o Major features (build): + - Switch to a nonrecursive Makefile structure. Now instead of each + Makefile.am invoking other Makefile.ams, there is a master + Makefile.am that includes the others. This makes our build process + slightly more maintainable, and improves parallelism for building + with make -j. Original patch by Stewart Smith; various fixes by + Jim Meyering. + + o Minor bugfixes (documentation): + - We no longer warn so much when generating manpages from their + asciidoc source. + + o New requirements: + - Tor maintainers now require Automake version 1.9 or later to build + Tor from the Git repository. (Automake is not required when building + from a source distribution.)