diff --git a/acinclude.m4 b/acinclude.m4 index 3299c20a13..67593864cd 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -18,6 +18,27 @@ AC_DEFUN([TOR_EXTEND_CODEPATH], fi ]) +AC_DEFUN([TOR_DEFINE_CODEPATH], +[ + if test x$1 = "x(system)"; then + TOR_LDFLAGS_$2="" + TOR_CPPFLAGS_$2="" + else + if test -d "$1/lib"; then + TOR_LDFLAGS_$2="-L$1/lib" + else + TOR_LDFLAGS_$2="-L$1" + fi + if test -d "$1/include"; then + TOR_CPPFLAGS_$2="-I$1/include" + else + TOR_CPPFLAGS_$2="-I$1" + fi + fi + AC_SUBST(TOR_CPPFLAGS_$2) + AC_SUBST(TOR_LDFLAGS_$2) +]) + dnl 1:libname AC_DEFUN([TOR_WARN_MISSING_LIB], [ h="" @@ -118,6 +139,8 @@ if test $tor_cv_library_$1_dir != "(system)"; then TOR_EXTEND_CODEPATH($tor_cv_library_$1_dir) fi +TOR_DEFINE_CODEPATH($tor_cv_library_$1_dir , $1) + if test -z "$CROSS_COMPILE"; then AC_CACHE_CHECK([whether we need extra options to link $1], tor_cv_library_$1_linker_option, [ @@ -151,9 +174,13 @@ if test -z "$CROSS_COMPILE"; then ]) dnl end cache check check for extra options. if test "$tor_cv_library_$1_linker_option" != "(none)" ; then - LDFLAGS="$tor_cv_library_$1_linker_option $LDFLAGS" + TOR_LDFLAGS_$1="$tor_cv_library_$1_linker_option" fi fi # cross-compile +LIBS="$tor_saved_LIBS" +LDFLAGS="$tor_saved_LDFLAGS" +CPPFLAGS="$TOR_CPPFLAGS_$1 $tor_saved_CPPFLAGS" + ]) dnl end defun diff --git a/src/or/Makefile.am b/src/or/Makefile.am index ef079a45c1..93f9edb198 100644 --- a/src/or/Makefile.am +++ b/src/or/Makefile.am @@ -13,6 +13,9 @@ tor_SOURCES = buffers.c circuitbuild.c circuitlist.c \ eventdns.c \ tor_main.c +tor_LIBS = -lz -levent -lssl -lcrypto +tor_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@ \ + -lz -levent -lssl -lcrypto tor_LDADD = ../common/libor.a ../common/libor-crypto.a test_SOURCES = buffers.c circuitbuild.c circuitlist.c \ @@ -24,6 +27,8 @@ test_SOURCES = buffers.c circuitbuild.c circuitlist.c \ eventdns.c \ test.c +test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \ + @TOR_LDFLAGS_libevent@ -lz -levent -lssl -lcrypto test_LDADD = ../common/libor.a ../common/libor-crypto.a noinst_HEADERS = or.h eventdns.h eventdns_tor.h micro-revision.i