From f783a326b82518bf75b1d3952332b05aac7ffd9b Mon Sep 17 00:00:00 2001 From: Martin Hebnes Pedersen Date: Sat, 17 Dec 2011 14:30:41 +0100 Subject: [PATCH] -lm should not be hardcoded. On some platforms (Haiku/BeOS) libm lives in libcore. Also added 'network' to the list of libraries to search for connect(). --- configure.in | 16 +++++++++++++++- src/or/Makefile.am | 2 +- src/test/Makefile.am | 8 ++++---- src/tools/Makefile.am | 8 +++++--- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/configure.in b/configure.in index b05e935343..d1b7c4441c 100644 --- a/configure.in +++ b/configure.in @@ -279,7 +279,7 @@ fi AC_C_BIGENDIAN -AC_SEARCH_LIBS(socket, [socket]) +AC_SEARCH_LIBS(socket, [socket network]) AC_SEARCH_LIBS(gethostbyname, [nsl]) AC_SEARCH_LIBS(dlopen, [dl]) AC_SEARCH_LIBS(inet_aton, [resolv]) @@ -482,6 +482,20 @@ if test "$enable_bufferevents" = "yes"; then fi AC_SUBST(TOR_LIBEVENT_LIBS) +dnl ------------------------------------------------------ +dnl Where do you live, libm? + +dnl On some platforms (Haiku/BeOS) the math library is +dnl part of libroot. In which case don't link against lm +TOR_LIB_MATH="" +save_LIBS="$LIBS" +AC_SEARCH_LIBS(cos, [m], , AC_MSG_ERROR([Could not find libm and libcore does not provide the functions.])) +if test "$ac_cv_search_cos" != "none required"; then + TOR_LIB_MATH="$ac_cv_search_cos" +fi +LIBS="$save_LIBS" +AC_SUBST(TOR_LIB_MATH) + dnl ------------------------------------------------------ dnl Where do you live, openssl? And how do we call you? diff --git a/src/or/Makefile.am b/src/or/Makefile.am index a5682081ae..57f5dd65e4 100644 --- a/src/or/Makefile.am +++ b/src/or/Makefile.am @@ -74,7 +74,7 @@ AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \ 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@ -lm @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ + @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ @TOR_LIB_WS32@ @TOR_LIB_GDI@ noinst_HEADERS = \ diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 73de300719..e766446d3a 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -31,15 +31,15 @@ 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@ -lm @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ + @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@ -lm @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ + @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ + @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ noinst_HEADERS = \ tinytest.h \ diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am index a9a619757a..35b0a41f53 100644 --- a/src/tools/Makefile.am +++ b/src/tools/Makefile.am @@ -3,17 +3,19 @@ noinst_PROGRAMS = tor-checkkey tor_resolve_SOURCES = tor-resolve.c tor_resolve_LDFLAGS = -tor_resolve_LDADD = ../common/libor.a -lm @TOR_LIB_WS32@ +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 \ - -lm @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ + @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 \ - -lm @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ + @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_GDI@ SUBDIRS = tor-fw-helper DIST_SUBDIRS = tor-fw-helper