瀏覽代碼

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

Nick Mathewson 16 年之前
父節點
當前提交
e790dbe779
共有 2 個文件被更改,包括 16 次插入1 次删除
  1. 4 0
      ChangeLog
  2. 12 1
      configure.in

+ 4 - 0
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

+ 12 - 1
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])