commit e6dbe693b7fd90a495b98ec790205ff4ac56fea9 Author: Nick Mathewson nickm@torproject.org Date: Fri May 11 15:52:36 2012 -0400
Make the option-checker code work with osx clang
This is a matter of making gcc and friends squirm more loudly when they get an option they don't like (-pedantic) and making clang shut up with it gets an option it tolerates but doesnt know (-Qunknown-argument).
Is there no better way? --- acinclude.m4 | 4 ++-- configure.in | 1 + 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4 index c482e37..c5037fa 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -46,7 +46,7 @@ AC_DEFUN([TOR_CHECK_CFLAGS], [ AS_VAR_PUSHDEF([VAR],[tor_cv_cflags_$1]) AC_CACHE_CHECK([whether the compiler accepts $1], VAR, [ tor_saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $1" + CFLAGS="$CFLAGS -pedantic $1" AC_TRY_COMPILE([], [return 0;], [AS_VAR_SET(VAR,yes)], [AS_VAR_SET(VAR,no)]) @@ -63,7 +63,7 @@ AC_DEFUN([TOR_CHECK_LDFLAGS], [ AS_VAR_PUSHDEF([VAR],[tor_cv_ldflags_$1]) AC_CACHE_CHECK([whether the linker accepts $1], VAR, [ tor_saved_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $1" + LDFLAGS="$LDFLAGS -pedantic $1" AC_TRY_LINK([], [return 0;], [AS_VAR_SET(VAR,yes)], [AS_VAR_SET(VAR,no)]) diff --git a/configure.in b/configure.in index d894c73..3e64575 100644 --- a/configure.in +++ b/configure.in @@ -173,6 +173,7 @@ AM_PROG_CC_C_O
if test x$enable_gcc_hardening != xno; then CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" + TOR_CHECK_CFLAGS(-Qunused-arguments) TOR_CHECK_CFLAGS(-fstack-protector-all) TOR_CHECK_CFLAGS(-Wstack-protector) TOR_CHECK_CFLAGS(-fwrapv)