From e790dbe779de620bdb0b2f52d4d04ce84bb7c5a8 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 21 Feb 2008 20:54:45 +0000 Subject: [PATCH] r18347@catbus: nickm | 2008-02-21 15:54:40 -0500 Make autoconf autodetect -Wshorten-64-to-32 when --enable-gcc-warnings is given to the configure script. svn:r13661 --- ChangeLog | 4 ++++ configure.in | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8b55c42d3..fab609247 100644 --- a/ChangeLog +++ b/ChangeLog @@ -46,6 +46,10 @@ Changes in version 0.2.0.20-?? - 2008-02-?? - When SafeLogging is disabled, log addresses along with all TLS errors. + o Minor features (build): + - When built with --enable-gcc-warnings, check for whether Apple's + warning "-Wshorten-64-to-32" is enabled. + o Minor bugfixes: - Log the correct memory chunk sizes for empty RAM chunks in mempool.c. - Directory mirrors no longer include a guess at the client's IP diff --git a/configure.in b/configure.in index 0445ad97f..cf32d04f5 100644 --- a/configure.in +++ b/configure.in @@ -711,6 +711,12 @@ if test x$enable_gcc_warnings = xyes; then #error #endif]), have_gcc42=yes, have_gcc42=no) + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Wshorten-64-to-32" + AC_COMPILE_IFELSE(AC_LANG_PROGRAM([], []), have_shorten64_flag=yes, + 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" # Disabled, so we can use mallinfo(): -Waggregate-return @@ -726,11 +732,16 @@ if test x$enable_gcc_warnings = xyes; then CFLAGS="$CFLAGS -Waddress -Wmissing-noreturn -Wnormalized=id -Woverride-init -Wstrict-overflow=5" fi + if test x$have_shorten64_flag = xyes ; then + CFLAGS="$CFLAGS -Wshorten-64-to-32" + fi + ##This will break the world on some 64-bit architectures # CFLAGS="$CFLAGS -Winline" - fi + + CPPFLAGS="$CPPFLAGS $TOR_CPPFLAGS_libevent $TOR_CPPFLAGS_openssl $TOR_CPPFLAGS_zlib" AC_CONFIG_FILES([Makefile tor.spec Doxyfile contrib/tor.sh contrib/torctl contrib/torify contrib/tor.logrotate contrib/Makefile contrib/osx/Makefile contrib/osx/TorBundleDesc.plist contrib/osx/TorBundleInfo.plist contrib/osx/TorDesc.plist contrib/osx/TorInfo.plist contrib/osx/TorStartupDesc.plist src/config/torrc.sample doc/tor.1 src/Makefile doc/Makefile doc/design-paper/Makefile doc/spec/Makefile src/config/Makefile src/common/Makefile src/or/Makefile src/win32/Makefile src/tools/Makefile contrib/suse/Makefile contrib/suse/tor.sh])