mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 21:53:48 +01:00
43bba89656
The --disable-module-* configure option removes code from the final binary but we still build the unit tests with the disable module(s) so we can actually test that code path all the time and not forget about it. Signed-off-by: David Goulet <dgoulet@torproject.org>
311 lines
8.6 KiB
Plaintext
311 lines
8.6 KiB
Plaintext
bin_PROGRAMS+= src/or/tor
|
|
noinst_LIBRARIES += \
|
|
src/or/libtor.a
|
|
if UNITTESTS_ENABLED
|
|
noinst_LIBRARIES += \
|
|
src/or/libtor-testing.a
|
|
endif
|
|
if COVERAGE_ENABLED
|
|
noinst_PROGRAMS+= src/or/tor-cov
|
|
endif
|
|
|
|
if BUILD_NT_SERVICES
|
|
tor_platform_source=src/or/ntmain.c
|
|
else
|
|
tor_platform_source=
|
|
endif
|
|
|
|
EXTRA_DIST+= src/or/ntmain.c src/or/Makefile.nmake
|
|
|
|
LIBTOR_A_SOURCES = \
|
|
src/or/addressmap.c \
|
|
src/or/bridges.c \
|
|
src/or/channel.c \
|
|
src/or/channelpadding.c \
|
|
src/or/channeltls.c \
|
|
src/or/circpathbias.c \
|
|
src/or/circuitbuild.c \
|
|
src/or/circuitlist.c \
|
|
src/or/circuitmux.c \
|
|
src/or/circuitmux_ewma.c \
|
|
src/or/circuitstats.c \
|
|
src/or/circuituse.c \
|
|
src/or/command.c \
|
|
src/or/config.c \
|
|
src/or/confparse.c \
|
|
src/or/connection.c \
|
|
src/or/connection_edge.c \
|
|
src/or/connection_or.c \
|
|
src/or/conscache.c \
|
|
src/or/consdiff.c \
|
|
src/or/consdiffmgr.c \
|
|
src/or/control.c \
|
|
src/or/cpuworker.c \
|
|
src/or/directory.c \
|
|
src/or/dirserv.c \
|
|
src/or/dirvote_common.c \
|
|
src/or/dns.c \
|
|
src/or/dnsserv.c \
|
|
src/or/dos.c \
|
|
src/or/fp_pair.c \
|
|
src/or/geoip.c \
|
|
src/or/entrynodes.c \
|
|
src/or/ext_orport.c \
|
|
src/or/git_revision.c \
|
|
src/or/hibernate.c \
|
|
src/or/hs_cache.c \
|
|
src/or/hs_cell.c \
|
|
src/or/hs_circuit.c \
|
|
src/or/hs_circuitmap.c \
|
|
src/or/hs_client.c \
|
|
src/or/hs_common.c \
|
|
src/or/hs_config.c \
|
|
src/or/hs_control.c \
|
|
src/or/hs_descriptor.c \
|
|
src/or/hs_ident.c \
|
|
src/or/hs_intropoint.c \
|
|
src/or/hs_ntor.c \
|
|
src/or/hs_service.c \
|
|
src/or/hs_stats.c \
|
|
src/or/keypin.c \
|
|
src/or/main.c \
|
|
src/or/microdesc.c \
|
|
src/or/networkstatus.c \
|
|
src/or/nodelist.c \
|
|
src/or/onion.c \
|
|
src/or/onion_fast.c \
|
|
src/or/onion_tap.c \
|
|
src/or/transports.c \
|
|
src/or/parsecommon.c \
|
|
src/or/periodic.c \
|
|
src/or/protover.c \
|
|
src/or/protover_rust.c \
|
|
src/or/proto_cell.c \
|
|
src/or/proto_control0.c \
|
|
src/or/proto_ext_or.c \
|
|
src/or/proto_http.c \
|
|
src/or/proto_socks.c \
|
|
src/or/policies.c \
|
|
src/or/reasons.c \
|
|
src/or/relay.c \
|
|
src/or/relay_crypto.c \
|
|
src/or/rendcache.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/routerkeys.c \
|
|
src/or/routerlist.c \
|
|
src/or/routerparse.c \
|
|
src/or/routerset.c \
|
|
src/or/scheduler.c \
|
|
src/or/scheduler_kist.c \
|
|
src/or/scheduler_vanilla.c \
|
|
src/or/shared_random_common.c \
|
|
src/or/statefile.c \
|
|
src/or/status.c \
|
|
src/or/torcert.c \
|
|
src/or/tor_api.c \
|
|
src/or/onion_ntor.c \
|
|
$(tor_platform_source)
|
|
|
|
#
|
|
# Modules are conditionnally compiled in tor starting here. We add the C files
|
|
# only if the modules has been enabled at configure time. We always add the
|
|
# source files of every module to libtor-testing.a so we can build the unit
|
|
# tests for everything.
|
|
#
|
|
|
|
# The Directory Authority module.
|
|
MODULE_DIRAUTH_SOURCES = \
|
|
src/or/dirauth/dircollate.c \
|
|
src/or/dirauth/dirvote.c \
|
|
src/or/dirauth/shared_random.c \
|
|
src/or/dirauth/shared_random_state.c
|
|
if BUILD_MODULE_DIRAUTH
|
|
LIBTOR_A_SOURCES += $(MODULE_DIRAUTH_SOURCES)
|
|
endif
|
|
|
|
src_or_libtor_a_SOURCES = $(LIBTOR_A_SOURCES)
|
|
src_or_libtor_testing_a_SOURCES = $(LIBTOR_A_SOURCES) $(MODULE_DIRAUTH_SOURCES)
|
|
|
|
src_or_tor_SOURCES = src/or/tor_main.c
|
|
AM_CPPFLAGS += -I$(srcdir)/src/or -Isrc/or
|
|
|
|
src/or/tor_main.$(OBJEXT) \
|
|
src/or/src_or_tor_cov-tor_main.$(OBJEXT): micro-revision.i
|
|
|
|
AM_CPPFLAGS += -DSHARE_DATADIR="\"$(datadir)\"" \
|
|
-DLOCALSTATEDIR="\"$(localstatedir)\"" \
|
|
-DBINDIR="\"$(bindir)\""
|
|
|
|
src_or_libtor_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
|
|
src_or_libtor_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
|
|
|
# -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-ctime.a \
|
|
src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \
|
|
src/common/libor-event.a src/trunnel/libor-trunnel.a \
|
|
src/trace/libor-trace.a \
|
|
$(rust_ldadd) \
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
|
|
@TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
|
|
@CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \
|
|
@TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@
|
|
|
|
if COVERAGE_ENABLED
|
|
src_or_tor_cov_SOURCES = src/or/tor_main.c
|
|
src_or_tor_cov_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
|
|
src_or_tor_cov_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
|
src_or_tor_cov_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
|
|
src_or_tor_cov_LDADD = src/or/libtor-testing.a src/common/libor-testing.a \
|
|
src/common/libor-ctime-testing.a \
|
|
src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \
|
|
src/common/libor-event-testing.a src/trunnel/libor-trunnel-testing.a \
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
|
|
@TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \
|
|
@TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@
|
|
endif
|
|
|
|
ORHEADERS = \
|
|
src/or/addressmap.h \
|
|
src/or/auth_dirs.inc \
|
|
src/or/bridges.h \
|
|
src/or/channel.h \
|
|
src/or/channelpadding.h \
|
|
src/or/channeltls.h \
|
|
src/or/circpathbias.h \
|
|
src/or/circuitbuild.h \
|
|
src/or/circuitlist.h \
|
|
src/or/circuitmux.h \
|
|
src/or/circuitmux_ewma.h \
|
|
src/or/circuitstats.h \
|
|
src/or/circuituse.h \
|
|
src/or/command.h \
|
|
src/or/config.h \
|
|
src/or/confparse.h \
|
|
src/or/connection.h \
|
|
src/or/connection_edge.h \
|
|
src/or/connection_or.h \
|
|
src/or/conscache.h \
|
|
src/or/consdiff.h \
|
|
src/or/consdiffmgr.h \
|
|
src/or/control.h \
|
|
src/or/cpuworker.h \
|
|
src/or/directory.h \
|
|
src/or/dirserv.h \
|
|
src/or/dirvote_common.h \
|
|
src/or/dns.h \
|
|
src/or/dns_structs.h \
|
|
src/or/dnsserv.h \
|
|
src/or/dos.h \
|
|
src/or/ext_orport.h \
|
|
src/or/fallback_dirs.inc \
|
|
src/or/fp_pair.h \
|
|
src/or/geoip.h \
|
|
src/or/entrynodes.h \
|
|
src/or/git_revision.h \
|
|
src/or/hibernate.h \
|
|
src/or/hs_cache.h \
|
|
src/or/hs_cell.h \
|
|
src/or/hs_circuit.h \
|
|
src/or/hs_circuitmap.h \
|
|
src/or/hs_client.h \
|
|
src/or/hs_common.h \
|
|
src/or/hs_config.h \
|
|
src/or/hs_control.h \
|
|
src/or/hs_descriptor.h \
|
|
src/or/hs_ident.h \
|
|
src/or/hs_intropoint.h \
|
|
src/or/hs_ntor.h \
|
|
src/or/hs_stats.h \
|
|
src/or/hs_service.h \
|
|
src/or/keypin.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/onion_fast.h \
|
|
src/or/onion_ntor.h \
|
|
src/or/onion_tap.h \
|
|
src/or/or.h \
|
|
src/or/transports.h \
|
|
src/or/parsecommon.h \
|
|
src/or/periodic.h \
|
|
src/or/policies.h \
|
|
src/or/protover.h \
|
|
src/or/proto_cell.h \
|
|
src/or/proto_control0.h \
|
|
src/or/proto_ext_or.h \
|
|
src/or/proto_http.h \
|
|
src/or/proto_socks.h \
|
|
src/or/reasons.h \
|
|
src/or/relay.h \
|
|
src/or/relay_crypto.h \
|
|
src/or/rendcache.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/routerkeys.h \
|
|
src/or/routerlist.h \
|
|
src/or/routerkeys.h \
|
|
src/or/routerset.h \
|
|
src/or/routerparse.h \
|
|
src/or/scheduler.h \
|
|
src/or/shared_random_common.h \
|
|
src/or/statefile.h \
|
|
src/or/status.h \
|
|
src/or/torcert.h \
|
|
src/or/tor_api_internal.h
|
|
|
|
# We add the headers of the modules even though they are disabled so we can
|
|
# properly compiled the entry points stub.
|
|
|
|
# The Directory Authority module headers.
|
|
ORHEADERS += \
|
|
src/or/dirauth/dircollate.h \
|
|
src/or/dirauth/dirvote.h \
|
|
src/or/dirauth/shared_random.h \
|
|
src/or/dirauth/shared_random_state.h
|
|
|
|
# This may someday want to be an installed file?
|
|
noinst_HEADERS += src/or/tor_api.h
|
|
|
|
noinst_HEADERS += $(ORHEADERS) micro-revision.i
|
|
|
|
micro-revision.i: FORCE
|
|
$(AM_V_at)rm -f micro-revision.tmp; \
|
|
if test -r "$(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; \
|
|
rm -f micro-revision.tmp; \
|
|
true
|
|
|
|
CLEANFILES+= micro-revision.i src/or/micro-revision.i micro-revision.tmp
|
|
|
|
FORCE:
|