Browse Source

Merge commit 'origin/maint-0.2.1'

Resolved conflicts in:
	configure.in
	src/or/Makefile.am
	src/tools/Makefile.am
Nick Mathewson 14 years ago
parent
commit
0552deb613
5 changed files with 45 additions and 7 deletions
  1. 2 0
      acinclude.m4
  2. 38 2
      configure.in
  3. 1 1
      src/or/Makefile.am
  4. 1 1
      src/test/Makefile.am
  5. 3 3
      src/tools/Makefile.am

+ 2 - 0
acinclude.m4

@@ -26,8 +26,10 @@ AC_DEFUN([TOR_DEFINE_CODEPATH],
   else
    if test -d "$1/lib"; then
      TOR_LDFLAGS_$2="-L$1/lib"
+     TOR_LIBDIR_$2="$1/lib"
    else
      TOR_LDFLAGS_$2="-L$1"
+     TOR_LIBDIR_$2="$1"
    fi
    if test -d "$1/include"; then
      TOR_CPPFLAGS_$2="-I$1/include"

+ 38 - 2
configure.in

@@ -41,6 +41,10 @@ AC_ARG_ENABLE(openbsd-malloc,
    AS_HELP_STRING(--enable-openbsd-malloc, Use malloc code from openbsd.  Linux only))
 AC_ARG_ENABLE(instrument-downloads,
    AS_HELP_STRING(--enable-instrument-downloads, Instrument downloads of directory resources etc.))
+AC_ARG_ENABLE(static-openssl,
+   AS_HELP_STRING(--enable-static-openssl, Link against a static openssl library. Requires --with-openssl-dir))
+AC_ARG_ENABLE(static-libevent,
+   AS_HELP_STRING(--enable-static-libevent, Link against a static libevent library. Requires --with-libevent-dir))
 
 if test x$enable_buf_freelists != xno; then
   AC_DEFINE(ENABLE_BUF_FREELISTS, 1,
@@ -87,6 +91,8 @@ esac
 
 AC_ARG_ENABLE(gcc-warnings,
      AS_HELP_STRING(--enable-gcc-warnings, enable verbose warnings))
+AC_ARG_ENABLE(gcc-warnings-advisory,
+     AS_HELP_STRING(--enable-gcc-warnings-advisory, [enable verbose warnings, excluding -Werror]))
 
 AC_ARG_ENABLE(local-appdata,
    AS_HELP_STRING(--enable-local-appdata, default to host local application data paths on Windows))
@@ -279,8 +285,21 @@ LIBS="$save_LIBS"
 LDFLAGS="$save_LDFLAGS"
 CPPFLAGS="$save_CPPFLAGS"
 
+
 AM_CONDITIONAL(USE_EXTERNAL_EVDNS, test x$ac_cv_header_event2_dns_h = xyes)
 
+if test "$enable_static_libevent" = "yes"; then
+   if test "$tor_cv_library_libevent_dir" = "(system)"; then
+     AC_MSG_ERROR("You must specify an explicit --with-libevent-dir=x option when using --enable-static-libevent")
+   else
+     TOR_LIBEVENT_LIBS="$TOR_LIBDIR_libevent/libevent.a"
+   fi
+else
+     TOR_LIBEVENT_LIBS="-levent"
+fi
+AC_SUBST(TOR_LIBEVENT_LIBS)
+
+
 dnl ------------------------------------------------------
 dnl Where do you live, openssl?  And how do we call you?
 
@@ -306,6 +325,19 @@ TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI],
 
 dnl XXXX check for OPENSSL_VERSION_NUMBER == SSLeay()
 
+echo "tor_cv_library_openssl_dir is $tor_cv_library_openssl_dir"
+if test "$enable_static_openssl" = "yes"; then
+   if test "$tor_cv_library_openssl_dir" = "(system)"; then
+     AC_MSG_ERROR("You must specify an explicit --with-openssl-dir=x option when using --enable-static-openssl")
+   else
+     TOR_OPENSSL_LIBS="$TOR_LIBDIR_openssl/libcrypto.a $TOR_LIBDIR_openssl/libssl.a"
+   fi
+else
+     TOR_OPENSSL_LIBS="-lcrypto -lssl"
+fi
+echo "TOR_OPENSSL_LIBS=$TOR_OPENSSL_LIBS"
+AC_SUBST(TOR_OPENSSL_LIBS)
+
 dnl ------------------------------------------------------
 dnl Where do you live, zlib?  And how do we call you?
 
@@ -774,11 +806,12 @@ if test "$GCC" = yes; then
 else
   CFLAGS="$CFLAGS -g -O"
   enable_gcc_warnings=no
+  enable_gcc_warnings_advisory=no
 fi
 
 # Add some more warnings which we use in development but not in the
 # released versions.  (Some relevant gcc versions can't handle these.)
-if test x$enable_gcc_warnings = xyes; then
+if test x$enable_gcc_warnings = xyes || test x$enable_gcc_warnings_advisory = xyes; then
 
   AC_COMPILE_IFELSE(AC_LANG_PROGRAM([], [
 #if !defined(__GNUC__) || (__GNUC__ < 4)
@@ -801,7 +834,10 @@ if test x$enable_gcc_warnings = xyes; then
                     have_shorten64_flag=no)
   CFLAGS="$save_CFLAGS"
 
-  CFLAGS="$CFLAGS -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wbad-function-cast -Wswitch-enum -Werror"
+  CFLAGS="$CFLAGS -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wbad-function-cast -Wswitch-enum"
+  if test x$enable_gcc_warnings = xyes; then
+    CFLAGS="$CFLAGS -Werror"
+  fi
 
   # Disabled, so we can use mallinfo(): -Waggregate-return
 

+ 1 - 1
src/or/Makefile.am

@@ -43,7 +43,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 \
-	-lz -lm -levent -lssl -lcrypto @TOR_LIB_WS32@ @TOR_LIB_GDI@
+	-lz -lm @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
 
 noinst_HEADERS = or.h eventdns.h eventdns_tor.h micro-revision.i
 

+ 1 - 1
src/test/Makefile.am

@@ -25,6 +25,6 @@ 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 \
-	-lz -lm -levent -lssl -lcrypto @TOR_LIB_WS32@ @TOR_LIB_GDI@
+	-lz -lm @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
 
 noinst_HEADERS = tinytest.h tinytest_macros.h test.h

+ 3 - 3
src/tools/Makefile.am

@@ -3,16 +3,16 @@ noinst_PROGRAMS =  tor-checkkey
 
 tor_resolve_SOURCES = tor-resolve.c
 tor_resolve_LDFLAGS = @TOR_LDFLAGS_libevent@
-tor_resolve_LDADD = ../common/libor.a -lm @TOR_LIB_WS32@
+tor_resolve_LDADD = ../common/libor.a -lm @TOR_LIBEVENT_LIBS@ @TOR_LIB_WS32@
 
 tor_gencert_SOURCES = tor-gencert.c
 tor_gencert_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
         @TOR_LDFLAGS_libevent@
 tor_gencert_LDADD = ../common/libor.a ../common/libor-crypto.a \
-        -lm -lz -lcrypto @TOR_LIB_WS32@ @TOR_LIB_GDI@
+        -lm -lz @TOR_LIBEVENT_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_LDFLAGS_libevent@
 tor_checkkey_LDADD = ../common/libor.a ../common/libor-crypto.a \
-        -lm -lz -lcrypto @TOR_LIB_WS32@ @TOR_LIB_GDI@
+        -lm -lz @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@