Skip to content

Instantly share code, notes, and snippets.

@bassosimone
Last active March 15, 2018 10:27
Show Gist options
  • Save bassosimone/72f95974881812695b55f9d886c1ba2d to your computer and use it in GitHub Desktop.
Save bassosimone/72f95974881812695b55f9d886c1ba2d to your computer and use it in GitHub Desktop.
Compile tor using libtool
From bceafcbe1dce3af6707a7f02ade077860356d4a6 Mon Sep 17 00:00:00 2001
From: Simone Basso <bassosimone@gmail.com>
Date: Thu, 15 Mar 2018 11:26:03 +0100
Subject: [PATCH 2/2] build system: make single convenience library
---
.gitignore | 1 +
src/or/include.am | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/.gitignore b/.gitignore
index 89dfe748c..1c8ff8ffb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -173,6 +173,7 @@ uptime-*.json
/src/or/tor-cov
/src/or/tor-cov.exe
/src/or/libtor.la
+/src/or/libtor_api.la
/src/or/libtor-testing.la
/src/or/libtor.lib
diff --git a/src/or/include.am b/src/or/include.am
index c0dfb258b..82b109385 100644
--- a/src/or/include.am
+++ b/src/or/include.am
@@ -133,6 +133,19 @@ src_or_libtor_testing_la_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
# 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.
+noinst_LTLIBRARIES += src/or/libtor_api.la
+src_or_libtor_api_la_SOURCES = # empty
+src_or_libtor_api_la_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
+src_or_libtor_api_la_LIBADD = src/or/libtor.la src/common/libor.la src/common/libor-ctime.la \
+ src/common/libor-crypto.la $(LIBKECCAK_TINY) $(LIBDONNA) \
+ src/common/libor-event.la src/trunnel/libor-trunnel.la \
+ src/trace/libor-trace.la \
+ $(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@
+
src_or_tor_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
src_or_tor_LDADD = src/or/libtor.la src/common/libor.la src/common/libor-ctime.la \
src/common/libor-crypto.la $(LIBKECCAK_TINY) $(LIBDONNA) \
--
2.16.2
From 22fff1c4d3b5c087f5bcba955c9da6d4cfedce09 Mon Sep 17 00:00:00 2001
From: Simone Basso <bassosimone@gmail.com>
Date: Thu, 15 Mar 2018 09:53:12 +0100
Subject: [PATCH 1/2] build system: compile using libtool
This diff (targeting 40154c1f9eeb378f5aac11c23ed26215ddfc26f3)
changes the Tor build system to use libtool.
Required to add one more rule to `src/or/include.am` allowing us
to easily create a library exporting `tor_api.h`'s API.
Since `noinst_LTLIBRARIES` are used, the binary still links
the same libraries it was linking before:
```
$ otool -L src/or/tor /usr/local/bin/tor
src/or/tor:
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
/usr/local/opt/libevent/lib/libevent-2.1.6.dylib (compatibility version 7.0.0, current version 7.2.0)
/usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/opt/xz/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.3.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
/usr/local/bin/tor:
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
/usr/local/opt/libevent/lib/libevent-2.1.6.dylib (compatibility version 7.0.0, current version 7.2.0)
/usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
```
---
.gitignore | 47 +++++++++++++--------
Makefile.am | 1 +
configure.ac | 2 +-
scripts/codegen/fuzzing_include_am.py | 24 +++++------
src/common/include.am | 78 +++++++++++++++++------------------
src/ext/include.am | 24 +++++------
src/or/include.am | 35 ++++++++--------
src/test/fuzz/include.am | 29 ++++++-------
src/test/include.am | 68 +++++++++++++++---------------
src/tools/include.am | 14 +++----
src/trace/include.am | 8 ++--
src/trunnel/include.am | 18 ++++----
12 files changed, 180 insertions(+), 168 deletions(-)
diff --git a/.gitignore b/.gitignore
index c00fbe97e..89dfe748c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@
*.swo
# C stuff
*.o
+*.lo
*.obj
# Diff droppings
*.orig
@@ -128,24 +129,24 @@ uptime-*.json
/src/Makefile.in
# /src/trace
-/src/trace/libor-trace.a
+/src/trace/libor-trace.la
# /src/common/
/src/common/Makefile
/src/common/Makefile.in
-/src/common/libor.a
-/src/common/libor-testing.a
+/src/common/libor.la
+/src/common/libor-testing.la
/src/common/libor.lib
-/src/common/libor-ctime.a
-/src/common/libor-ctime-testing.a
+/src/common/libor-ctime.la
+/src/common/libor-ctime-testing.la
/src/common/libor-ctime.lib
-/src/common/libor-crypto.a
-/src/common/libor-crypto-testing.a
+/src/common/libor-crypto.la
+/src/common/libor-crypto-testing.la
/src/common/libor-crypto.lib
-/src/common/libor-event.a
-/src/common/libor-event-testing.a
+/src/common/libor-event.la
+/src/common/libor-event-testing.la
/src/common/libor-event.lib
-/src/common/libcurve25519_donna.a
+/src/common/libcurve25519_donna.la
/src/common/libcurve25519_donna.lib
# /src/config/
@@ -157,11 +158,11 @@ uptime-*.json
/src/config/torrc.minimal
# /src/ext/
-/src/ext/ed25519/ref10/libed25519_ref10.a
+/src/ext/ed25519/ref10/libed25519_ref10.la
/src/ext/ed25519/ref10/libed25519_ref10.lib
-/src/ext/ed25519/donna/libed25519_donna.a
+/src/ext/ed25519/donna/libed25519_donna.la
/src/ext/ed25519/donna/libed25519_donna.lib
-/src/ext/keccak-tiny/libkeccak-tiny.a
+/src/ext/keccak-tiny/libkeccak-tiny.la
/src/ext/keccak-tiny/libkeccak-tiny.lib
# /src/or/
@@ -171,8 +172,8 @@ uptime-*.json
/src/or/tor.exe
/src/or/tor-cov
/src/or/tor-cov.exe
-/src/or/libtor.a
-/src/or/libtor-testing.a
+/src/or/libtor.la
+/src/or/libtor-testing.la
/src/or/libtor.lib
# /src/rust
@@ -212,7 +213,7 @@ uptime-*.json
/src/test/fuzz/lf-fuzz-*
# /src/tools/
-/src/tools/libtorrunner.a
+/src/tools/libtorrunner.la
/src/tools/tor-checkkey
/src/tools/tor-resolve
/src/tools/tor-cov-resolve
@@ -227,9 +228,19 @@ uptime-*.json
/src/tools/Makefile.in
# /src/trunnel/
-/src/trunnel/libor-trunnel-testing.a
-/src/trunnel/libor-trunnel.a
+/src/trunnel/libor-trunnel-testing.la
+/src/trunnel/libor-trunnel.la
# /src/win32/
/src/win32/Makefile
/src/win32/Makefile.in
+
+# libtool
+.libs/
+/m4/libtool.m4
+/m4/ltoptions.m4
+/m4/ltsugar.m4
+/m4/ltversion.m4
+/m4/lt~obsolete.m4
+/libtool
+/ltmain.sh
diff --git a/Makefile.am b/Makefile.am
index 04ca88a23..35ce7e4fe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,6 +5,7 @@
ACLOCAL_AMFLAGS = -I m4
+noinst_LTLIBRARIES=
noinst_LIBRARIES=
EXTRA_DIST=
noinst_HEADERS=
diff --git a/configure.ac b/configure.ac
index 22c8a5613..adf3968af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -257,7 +257,7 @@ fi
AC_PROG_CC
AC_PROG_CPP
AC_PROG_MAKE_SET
-AC_PROG_RANLIB
+LT_INIT
AC_PROG_SED
AC_ARG_VAR([PERL], [path to Perl binary])
diff --git a/scripts/codegen/fuzzing_include_am.py b/scripts/codegen/fuzzing_include_am.py
index fda57d2ae..aabed2ae7 100755
--- a/scripts/codegen/fuzzing_include_am.py
+++ b/scripts/codegen/fuzzing_include_am.py
@@ -24,14 +24,14 @@ FUZZING_CFLAGS = \
FUZZING_LDFLAG = \
@TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
FUZZING_LIBS = \
- src/or/libtor-testing.a \
- src/common/libor-crypto-testing.a \
+ src/or/libtor-testing.la \
+ src/common/libor-crypto-testing.la \
$(LIBKECCAK_TINY) \
$(LIBDONNA) \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/common/libor-event-testing.a \
- src/trunnel/libor-trunnel-testing.a \
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-event-testing.la \
+ src/trunnel/libor-trunnel-testing.la \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
@TOR_LIBEVENT_LIBS@ \
@@ -42,14 +42,14 @@ FUZZING_LIBS = \
@TOR_ZSTD_LIBS@
oss-fuzz-prereqs: \
- src/or/libtor-testing.a \
- src/common/libor-crypto-testing.a \
+ src/or/libtor-testing.la \
+ src/common/libor-crypto-testing.la \
$(LIBKECCAK_TINY) \
$(LIBDONNA) \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/common/libor-event-testing.a \
- src/trunnel/libor-trunnel-testing.a
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-event-testing.la \
+ src/trunnel/libor-trunnel-testing.la
noinst_HEADERS += \
src/test/fuzz/fuzzing.h
diff --git a/src/common/include.am b/src/common/include.am
index 694528510..4e1eaecb3 100644
--- a/src/common/include.am
+++ b/src/common/include.am
@@ -1,16 +1,16 @@
-noinst_LIBRARIES += \
- src/common/libor.a \
- src/common/libor-ctime.a \
- src/common/libor-crypto.a \
- src/common/libor-event.a
+noinst_LTLIBRARIES += \
+ src/common/libor.la \
+ src/common/libor-ctime.la \
+ src/common/libor-crypto.la \
+ src/common/libor-event.la
if UNITTESTS_ENABLED
-noinst_LIBRARIES += \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/common/libor-crypto-testing.a \
- src/common/libor-event-testing.a
+noinst_LTLIBRARIES += \
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-crypto-testing.la \
+ src/common/libor-event-testing.la
endif
EXTRA_DIST += src/common/Makefile.nmake
@@ -24,23 +24,23 @@ else
libor_extra_source=
endif
-src_common_libcurve25519_donna_a_CFLAGS=
+src_common_libcurve25519_donna_la_CFLAGS=
if BUILD_CURVE25519_DONNA
-src_common_libcurve25519_donna_a_SOURCES=\
+src_common_libcurve25519_donna_la_SOURCES=\
src/ext/curve25519_donna/curve25519-donna.c
# See bug 13538 -- this code is known to have signed overflow issues.
-src_common_libcurve25519_donna_a_CFLAGS+=\
+src_common_libcurve25519_donna_la_CFLAGS+=\
@F_OMIT_FRAME_POINTER@ @CFLAGS_CONSTTIME@
-noinst_LIBRARIES+=src/common/libcurve25519_donna.a
-LIBDONNA=src/common/libcurve25519_donna.a
+noinst_LTLIBRARIES+=src/common/libcurve25519_donna.la
+LIBDONNA=src/common/libcurve25519_donna.la
else
if BUILD_CURVE25519_DONNA_C64
-src_common_libcurve25519_donna_a_CFLAGS+=@CFLAGS_CONSTTIME@
-src_common_libcurve25519_donna_a_SOURCES=\
+src_common_libcurve25519_donna_la_CFLAGS+=@CFLAGS_CONSTTIME@
+src_common_libcurve25519_donna_la_SOURCES=\
src/ext/curve25519_donna/curve25519-donna-c64.c
-noinst_LIBRARIES+=src/common/libcurve25519_donna.a
-LIBDONNA=src/common/libcurve25519_donna.a
+noinst_LTLIBRARIES+=src/common/libcurve25519_donna.la
+LIBDONNA=src/common/libcurve25519_donna.la
else
LIBDONNA=
endif
@@ -68,17 +68,17 @@ else
mulodi4_source=
endif
-LIBOR_CTIME_A_SRC = \
+LIBOR_CTIME_LA_SRC = \
$(mulodi4_source) \
src/ext/csiphash.c \
src/common/di_ops.c
-src_common_libor_ctime_a_SOURCES = $(LIBOR_CTIME_A_SRC)
-src_common_libor_ctime_testing_a_SOURCES = $(LIBOR_CTIME_A_SRC)
-src_common_libor_ctime_a_CFLAGS = @CFLAGS_CONSTTIME@
-src_common_libor_ctime_testing_a_CFLAGS = @CFLAGS_CONSTTIME@ $(TEST_CFLAGS)
+src_common_libor_ctime_la_SOURCES = $(LIBOR_CTIME_LA_SRC)
+src_common_libor_ctime_testing_la_SOURCES = $(LIBOR_CTIME_LA_SRC)
+src_common_libor_ctime_la_CFLAGS = @CFLAGS_CONSTTIME@
+src_common_libor_ctime_testing_la_CFLAGS = @CFLAGS_CONSTTIME@ $(TEST_CFLAGS)
-LIBOR_A_SRC = \
+LIBOR_LA_SRC = \
src/common/address.c \
src/common/address_set.c \
src/common/backtrace.c \
@@ -105,7 +105,7 @@ LIBOR_A_SRC = \
src/common/src_common_libor_testing_a-log.$(OBJEXT) \
src/common/log.$(OBJEXT): micro-revision.i
-LIBOR_CRYPTO_A_SRC = \
+LIBOR_CRYPTO_LA_SRC = \
src/common/aes.c \
src/common/buffers_tls.c \
src/common/compress.c \
@@ -123,26 +123,26 @@ LIBOR_CRYPTO_A_SRC = \
src/common/crypto_curve25519.c \
src/common/crypto_ed25519.c
-LIBOR_EVENT_A_SRC = \
+LIBOR_EVENT_LA_SRC = \
src/common/compat_libevent.c \
src/common/procmon.c \
src/common/timers.c \
src/ext/timeouts/timeout.c
-src_common_libor_a_SOURCES = $(LIBOR_A_SRC)
-src_common_libor_crypto_a_SOURCES = $(LIBOR_CRYPTO_A_SRC)
-src_common_libor_event_a_SOURCES = $(LIBOR_EVENT_A_SRC)
+src_common_libor_la_SOURCES = $(LIBOR_LA_SRC)
+src_common_libor_crypto_la_SOURCES = $(LIBOR_CRYPTO_LA_SRC)
+src_common_libor_event_la_SOURCES = $(LIBOR_EVENT_LA_SRC)
-src_common_libor_testing_a_SOURCES = $(LIBOR_A_SRC)
-src_common_libor_crypto_testing_a_SOURCES = $(LIBOR_CRYPTO_A_SRC)
-src_common_libor_event_testing_a_SOURCES = $(LIBOR_EVENT_A_SRC)
+src_common_libor_testing_la_SOURCES = $(LIBOR_LA_SRC)
+src_common_libor_crypto_testing_la_SOURCES = $(LIBOR_CRYPTO_LA_SRC)
+src_common_libor_event_testing_la_SOURCES = $(LIBOR_EVENT_LA_SRC)
-src_common_libor_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
-src_common_libor_crypto_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
-src_common_libor_event_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
-src_common_libor_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
-src_common_libor_crypto_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
-src_common_libor_event_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+src_common_libor_testing_la_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_common_libor_crypto_testing_la_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_common_libor_event_testing_la_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_common_libor_testing_la_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+src_common_libor_crypto_testing_la_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+src_common_libor_event_testing_la_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
COMMONHEADERS = \
src/common/address.h \
diff --git a/src/ext/include.am b/src/ext/include.am
index 7ec2e4331..f33e74be0 100644
--- a/src/ext/include.am
+++ b/src/ext/include.am
@@ -20,10 +20,10 @@ EXTHEADERS = \
noinst_HEADERS+= $(EXTHEADERS)
-src_ext_ed25519_ref10_libed25519_ref10_a_CFLAGS=\
+src_ext_ed25519_ref10_libed25519_ref10_la_CFLAGS=\
@CFLAGS_CONSTTIME@
-src_ext_ed25519_ref10_libed25519_ref10_a_SOURCES= \
+src_ext_ed25519_ref10_libed25519_ref10_la_SOURCES= \
src/ext/ed25519/ref10/fe_0.c \
src/ext/ed25519/ref10/fe_1.c \
src/ext/ed25519/ref10/fe_add.c \
@@ -95,16 +95,16 @@ ED25519_REF10_HDRS = \
noinst_HEADERS += $(ED25519_REF10_HDRS)
-LIBED25519_REF10=src/ext/ed25519/ref10/libed25519_ref10.a
-noinst_LIBRARIES += $(LIBED25519_REF10)
+LIBED25519_REF10=src/ext/ed25519/ref10/libed25519_ref10.la
+noinst_LTLIBRARIES += $(LIBED25519_REF10)
-src_ext_ed25519_donna_libed25519_donna_a_CFLAGS=\
+src_ext_ed25519_donna_libed25519_donna_la_CFLAGS=\
@CFLAGS_CONSTTIME@ \
-DED25519_CUSTOMRANDOM \
-DED25519_CUSTOMHASH \
-DED25519_SUFFIX=_donna
-src_ext_ed25519_donna_libed25519_donna_a_SOURCES= \
+src_ext_ed25519_donna_libed25519_donna_la_SOURCES= \
src/ext/ed25519/donna/ed25519_tor.c
ED25519_DONNA_HDRS = \
@@ -139,13 +139,13 @@ ED25519_DONNA_HDRS = \
noinst_HEADERS += $(ED25519_DONNA_HDRS)
-LIBED25519_DONNA=src/ext/ed25519/donna/libed25519_donna.a
-noinst_LIBRARIES += $(LIBED25519_DONNA)
+LIBED25519_DONNA=src/ext/ed25519/donna/libed25519_donna.la
+noinst_LTLIBRARIES += $(LIBED25519_DONNA)
-src_ext_keccak_tiny_libkeccak_tiny_a_CFLAGS=\
+src_ext_keccak_tiny_libkeccak_tiny_la_CFLAGS=\
@CFLAGS_CONSTTIME@
-src_ext_keccak_tiny_libkeccak_tiny_a_SOURCES= \
+src_ext_keccak_tiny_libkeccak_tiny_la_SOURCES= \
src/ext/keccak-tiny/keccak-tiny-unrolled.c
LIBKECCAK_TINY_HDRS = \
@@ -153,8 +153,8 @@ LIBKECCAK_TINY_HDRS = \
noinst_HEADERS += $(LIBKECCAK_TINY_HDRS)
-LIBKECCAK_TINY=src/ext/keccak-tiny/libkeccak-tiny.a
-noinst_LIBRARIES += $(LIBKECCAK_TINY)
+LIBKECCAK_TINY=src/ext/keccak-tiny/libkeccak-tiny.la
+noinst_LTLIBRARIES += $(LIBKECCAK_TINY)
EXTRA_DIST += \
src/ext/timeouts/bench/bench-add.lua \
diff --git a/src/or/include.am b/src/or/include.am
index e0366a0ca..c0dfb258b 100644
--- a/src/or/include.am
+++ b/src/or/include.am
@@ -1,9 +1,9 @@
bin_PROGRAMS+= src/or/tor
-noinst_LIBRARIES += \
- src/or/libtor.a
+noinst_LTLIBRARIES += \
+ src/or/libtor.la
if UNITTESTS_ENABLED
-noinst_LIBRARIES += \
- src/or/libtor-testing.a
+noinst_LTLIBRARIES += \
+ src/or/libtor-testing.la
endif
if COVERAGE_ENABLED
noinst_PROGRAMS+= src/or/tor-cov
@@ -17,7 +17,7 @@ endif
EXTRA_DIST+= src/or/ntmain.c src/or/Makefile.nmake
-LIBTOR_A_SOURCES = \
+LIBTOR_LA_SOURCES = \
src/or/addressmap.c \
src/or/bridges.c \
src/or/channel.c \
@@ -113,8 +113,8 @@ LIBTOR_A_SOURCES = \
src/or/onion_ntor.c \
$(tor_platform_source)
-src_or_libtor_a_SOURCES = $(LIBTOR_A_SOURCES)
-src_or_libtor_testing_a_SOURCES = $(LIBTOR_A_SOURCES)
+src_or_libtor_la_SOURCES = $(LIBTOR_LA_SOURCES)
+src_or_libtor_testing_la_SOURCES = $(LIBTOR_LA_SOURCES)
src_or_tor_SOURCES = src/or/tor_main.c
AM_CPPFLAGS += -I$(srcdir)/src/or -Isrc/or
@@ -126,19 +126,18 @@ 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)
+src_or_libtor_testing_la_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_or_libtor_testing_la_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 \
+src_or_tor_LDADD = src/or/libtor.la src/common/libor.la src/common/libor-ctime.la \
+ src/common/libor-crypto.la $(LIBKECCAK_TINY) $(LIBDONNA) \
+ src/common/libor-event.la src/trunnel/libor-trunnel.la \
+ src/trace/libor-trace.la \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
@TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
@@ -150,10 +149,10 @@ 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 \
+src_or_tor_cov_LDADD = src/or/libtor-testing.la src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-crypto-testing.la $(LIBKECCAK_TINY) $(LIBDONNA) \
+ src/common/libor-event-testing.la src/trunnel/libor-trunnel-testing.la \
@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@
diff --git a/src/test/fuzz/include.am b/src/test/fuzz/include.am
index cd16dc05b..bbafd7acb 100644
--- a/src/test/fuzz/include.am
+++ b/src/test/fuzz/include.am
@@ -7,31 +7,32 @@ FUZZING_CFLAGS = \
FUZZING_LDFLAG = \
@TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
FUZZING_LIBS = \
- src/or/libtor-testing.a \
- src/common/libor-crypto-testing.a \
+ src/or/libtor-testing.la \
+ src/common/libor-crypto-testing.la \
$(LIBKECCAK_TINY) \
$(LIBDONNA) \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/common/libor-event-testing.a \
- src/trunnel/libor-trunnel-testing.a \
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-event-testing.la \
+ src/trunnel/libor-trunnel-testing.la \
$(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_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@
oss-fuzz-prereqs: \
- src/or/libtor-testing.a \
- src/common/libor-crypto-testing.a \
+ src/or/libtor-testing.la \
+ src/common/libor-crypto-testing.la \
$(LIBKECCAK_TINY) \
$(LIBDONNA) \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/common/libor-event-testing.a \
- src/trunnel/libor-trunnel-testing.a
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-event-testing.la \
+ src/trunnel/libor-trunnel-testing.la
noinst_HEADERS += \
src/test/fuzz/fuzzing.h
diff --git a/src/test/include.am b/src/test/include.am
index 1a49367c6..c7ed4b164 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -204,8 +204,8 @@ src_test_test_switch_id_CPPFLAGS= $(src_test_AM_CPPFLAGS)
src_test_test_switch_id_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
src_test_test_switch_id_LDFLAGS = @TOR_LDFLAGS_zlib@
src_test_test_switch_id_LDADD = \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
@TOR_LIB_WS32@ @TOR_LIB_USERENV@ \
@@ -213,15 +213,15 @@ src_test_test_switch_id_LDADD = \
src_test_test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
@TOR_LDFLAGS_libevent@
-src_test_test_LDADD = src/or/libtor-testing.a \
- src/common/libor-crypto-testing.a \
+src_test_test_LDADD = src/or/libtor-testing.la \
+ src/common/libor-crypto-testing.la \
$(LIBKECCAK_TINY) \
$(LIBDONNA) \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/common/libor-event-testing.a \
- src/trunnel/libor-trunnel-testing.a \
- src/trace/libor-trace.a \
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-event-testing.la \
+ src/trunnel/libor-trunnel-testing.la \
+ src/trace/libor-trace.la \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
@@ -243,11 +243,11 @@ src_test_test_memwipe_LDFLAGS = $(src_test_test_LDFLAGS) @CFLAGS_BUGTRAP@
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-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 \
+src_test_bench_LDADD = src/or/libtor.la src/common/libor.la \
+ src/common/libor-ctime.la \
+ src/common/libor-crypto.la $(LIBKECCAK_TINY) $(LIBDONNA) \
+ src/common/libor-event.la src/trunnel/libor-trunnel.la \
+ src/trace/libor-trace.la \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
@@ -256,12 +256,12 @@ src_test_bench_LDADD = src/or/libtor.a src/common/libor.a \
src_test_test_workqueue_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
@TOR_LDFLAGS_libevent@
-src_test_test_workqueue_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/trace/libor-trace.a \
+src_test_test_workqueue_LDADD = src/or/libtor-testing.la \
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-crypto-testing.la $(LIBKECCAK_TINY) $(LIBDONNA) \
+ src/common/libor-event-testing.la \
+ src/trace/libor-trace.la \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
@@ -271,10 +271,10 @@ src_test_test_workqueue_LDADD = src/or/libtor-testing.a \
src_test_test_timers_CPPFLAGS = $(src_test_test_CPPFLAGS)
src_test_test_timers_CFLAGS = $(src_test_test_CFLAGS)
src_test_test_timers_LDADD = \
- src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/common/libor-event-testing.a \
- src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \
+ src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/common/libor-event-testing.la \
+ src/common/libor-crypto-testing.la $(LIBKECCAK_TINY) $(LIBDONNA) \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
@@ -303,10 +303,10 @@ noinst_PROGRAMS+= src/test/test-ntor-cl
noinst_PROGRAMS+= src/test/test-hs-ntor-cl
src_test_test_ntor_cl_SOURCES = src/test/test_ntor_cl.c
src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
-src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
- src/common/libor-ctime.a \
- src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \
- src/trace/libor-trace.a \
+src_test_test_ntor_cl_LDADD = src/or/libtor.la src/common/libor.la \
+ src/common/libor-ctime.la \
+ src/common/libor-crypto.la $(LIBKECCAK_TINY) $(LIBDONNA) \
+ src/trace/libor-trace.la \
$(rust_ldadd) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
@@ -316,9 +316,9 @@ src_test_test_ntor_cl_AM_CPPFLAGS = \
src_test_test_hs_ntor_cl_SOURCES = src/test/test_hs_ntor_cl.c
src_test_test_hs_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
-src_test_test_hs_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
- src/common/libor-ctime.a \
- src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \
+src_test_test_hs_ntor_cl_LDADD = src/or/libtor.la src/common/libor.la \
+ src/common/libor-ctime.la \
+ src/common/libor-crypto.la $(LIBKECCAK_TINY) $(LIBDONNA) \
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
src_test_test_hs_ntor_cl_AM_CPPFLAGS = \
@@ -327,9 +327,9 @@ src_test_test_hs_ntor_cl_AM_CPPFLAGS = \
noinst_PROGRAMS += src/test/test-bt-cl
src_test_test_bt_cl_SOURCES = src/test/test_bt_cl.c
-src_test_test_bt_cl_LDADD = src/common/libor-testing.a \
- src/common/libor-ctime-testing.a \
- src/trace/libor-trace.a \
+src_test_test_bt_cl_LDADD = src/common/libor-testing.la \
+ src/common/libor-ctime-testing.la \
+ src/trace/libor-trace.la \
$(rust_ldadd) \
@TOR_LIB_MATH@ \
@TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@
diff --git a/src/tools/include.am b/src/tools/include.am
index 92cc3f10a..724c8feaa 100644
--- a/src/tools/include.am
+++ b/src/tools/include.am
@@ -6,8 +6,8 @@ endif
src_tools_tor_resolve_SOURCES = src/tools/tor-resolve.c
src_tools_tor_resolve_LDFLAGS =
-src_tools_tor_resolve_LDADD = src/common/libor.a \
- src/common/libor-ctime.a \
+src_tools_tor_resolve_LDADD = src/common/libor.la \
+ src/common/libor-ctime.la \
$(rust_ldadd) \
@TOR_LIB_MATH@ @TOR_LIB_WS32@ @TOR_LIB_USERENV@
@@ -22,8 +22,8 @@ endif
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 \
- src/common/libor-ctime.a \
+src_tools_tor_gencert_LDADD = src/common/libor.la src/common/libor-crypto.la \
+ src/common/libor-ctime.la \
$(LIBKECCAK_TINY) \
$(LIBDONNA) \
$(rust_ldadd) \
@@ -36,7 +36,7 @@ src_tools_tor_cov_gencert_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_tools_tor_cov_gencert_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
src_tools_tor_cov_gencert_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
src_tools_tor_cov_gencert_LDADD = src/common/libor-testing.a \
- src/common/libor-crypto-testing.a \
+ src/common/libor-crypto-testing.la \
src/common/libor-ctime-testing.a \
$(LIBKECCAK_TINY) \
$(LIBDONNA) \
@@ -47,6 +47,6 @@ endif
EXTRA_DIST += src/tools/tor-fw-helper/README
if BUILD_LIBTORRUNNER
-noinst_LIBRARIES += src/tools/libtorrunner.a
-src_tools_libtorrunner_a_SOURCES = src/tools/tor_runner.c src/or/tor_api.c
+noinst_LTLIBRARIES += src/tools/libtorrunner.la
+src_tools_libtorrunner_la_SOURCES = src/tools/tor_runner.c src/or/tor_api.c
endif
diff --git a/src/trace/include.am b/src/trace/include.am
index 3285b04de..81c5aa321 100644
--- a/src/trace/include.am
+++ b/src/trace/include.am
@@ -2,9 +2,9 @@
# any file in that directory.
AM_CPPFLAGS += -I$(srcdir)/src
-noinst_LIBRARIES += \
- src/trace/libor-trace.a
-LIBOR_TRACE_A_SOURCES = \
+noinst_LTLIBRARIES += \
+ src/trace/libor-trace.la
+LIBOR_TRACE_LA_SOURCES = \
src/trace/trace.c
TRACEHEADERS = \
@@ -17,6 +17,6 @@ TRACEHEADERS += \
endif
# Library source files.
-src_trace_libor_trace_a_SOURCES = $(LIBOR_TRACE_A_SOURCES)
+src_trace_libor_trace_la_SOURCES = $(LIBOR_TRACE_LA_SOURCES)
noinst_HEADERS+= $(TRACEHEADERS)
diff --git a/src/trunnel/include.am b/src/trunnel/include.am
index ca79ff3a3..9dec096d2 100644
--- a/src/trunnel/include.am
+++ b/src/trunnel/include.am
@@ -1,9 +1,9 @@
-noinst_LIBRARIES += \
- src/trunnel/libor-trunnel.a
+noinst_LTLIBRARIES += \
+ src/trunnel/libor-trunnel.la
if UNITTESTS_ENABLED
-noinst_LIBRARIES += \
- src/trunnel/libor-trunnel-testing.a
+noinst_LTLIBRARIES += \
+ src/trunnel/libor-trunnel-testing.la
endif
AM_CPPFLAGS += -I$(srcdir)/src/ext/trunnel -I$(srcdir)/src/trunnel
@@ -38,12 +38,12 @@ TRUNNELHEADERS = \
src/trunnel/hs/cell_rendezvous.h \
src/trunnel/channelpadding_negotiation.h
-src_trunnel_libor_trunnel_a_SOURCES = $(TRUNNELSOURCES)
-src_trunnel_libor_trunnel_a_CPPFLAGS = -DTRUNNEL_LOCAL_H $(AM_CPPFLAGS)
+src_trunnel_libor_trunnel_la_SOURCES = $(TRUNNELSOURCES)
+src_trunnel_libor_trunnel_la_CPPFLAGS = -DTRUNNEL_LOCAL_H $(AM_CPPFLAGS)
-src_trunnel_libor_trunnel_testing_a_SOURCES = $(TRUNNELSOURCES)
-src_trunnel_libor_trunnel_testing_a_CPPFLAGS = -DTRUNNEL_LOCAL_H $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
-src_trunnel_libor_trunnel_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+src_trunnel_libor_trunnel_testing_la_SOURCES = $(TRUNNELSOURCES)
+src_trunnel_libor_trunnel_testing_la_CPPFLAGS = -DTRUNNEL_LOCAL_H $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_trunnel_libor_trunnel_testing_la_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS+= $(TRUNNELHEADERS)
--
2.16.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment