From: Frédéric Marchal Date: Wed, 6 Jan 2010 09:11:32 +0000 (+0000) Subject: Check for lstat in configure.in. X-Git-Tag: v2_2_7~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d9c45e9cdd8ea9d99069a49b6eeffcc5e278665e;p=thirdparty%2Fsarg.git Check for lstat in configure.in. Fix detection of -Werror=format-security. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 9cafb7d..bdda541 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -258,10 +258,10 @@ OPTION(ENABLE_EXTRA_PROTECT "Enable compile and runtime extra protections" OFF) IF(ENABLE_EXTRA_PROTECT) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -fstack-protector -D_FORTIFY_SOURCE=2 -Werror") - CHECK_C_COMPILER_FLAG("-Werror=format-security" HAVE_WERROR_FORMAT_SECURITY) + CHECK_C_COMPILER_FLAG("-Wformat -Werror=format-security" HAVE_WERROR_FORMAT_SECURITY) IF(HAVE_WERROR_FORMAT_SECURITY) GET_TARGET_PROPERTY(TMPCFLAGS sarg COMPILE_FLAGS) - SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Werror=format-security") + SET_TARGET_PROPERTIES(sarg PROPERTIES COMPILE_FLAGS "${TMPCFLAGS} -Wformat -Werror=format-security") ENDIF(HAVE_WERROR_FORMAT_SECURITY) ENDIF(ENABLE_EXTRA_PROTECT) diff --git a/configure b/configure index 90ff08c..086497f 100755 --- a/configure +++ b/configure @@ -5901,6 +5901,100 @@ fi done +for ac_func in lstat +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + { echo "$as_me:$LINENO: checking for rlim_t" >&5 echo $ECHO_N "checking for rlim_t... $ECHO_C" >&6; } if test "${ac_cv_type_rlim_t+set}" = set; then @@ -6416,7 +6510,7 @@ if test "${enable_extraprotection+set}" = set; then { echo "$as_me:$LINENO: checking for format security flag in gcc" >&5 echo $ECHO_N "checking for format security flag in gcc... $ECHO_C" >&6; } saved_CFLAGS="${CFLAGS}" - CFLAGS="${CFLAGS} -Werror=format-security" + CFLAGS="${CFLAGS} -Wformat -Werror=format-security" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -6451,8 +6545,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { echo "$as_me:$LINENO: result: have_format_security" >&5 -echo "${ECHO_T}have_format_security" >&6; } + { echo "$as_me:$LINENO: result: $have_format_security" >&5 +echo "${ECHO_T}$have_format_security" >&6; } if test "$have_format_security" == "no" ; then CFLAGS="${saved_CFLAGS}" fi diff --git a/configure.in b/configure.in index 1c76dbd..f17ffa3 100644 --- a/configure.in +++ b/configure.in @@ -100,6 +100,7 @@ dnl check for functions AC_CHECK_FUNCS(bzero) AC_CHECK_FUNCS(backtrace) AC_CHECK_FUNCS(symlink) +AC_CHECK_FUNCS(lstat) dnl check for the rlim_t size AC_CHECK_SIZEOF(rlim_t,1,[#if HAVE_SYS_RESOURCE_H @@ -172,9 +173,9 @@ AC_ARG_ENABLE(extraprotection, AC_MSG_CHECKING([for format security flag in gcc]) saved_CFLAGS="${CFLAGS}" - CFLAGS="${CFLAGS} -Werror=format-security" + CFLAGS="${CFLAGS} -Wformat -Werror=format-security" AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],[have_format_security="yes"],[have_format_security="no"]) - AC_MSG_RESULT(have_format_security) + AC_MSG_RESULT($have_format_security) if test "$have_format_security" == "no" ; then CFLAGS="${saved_CFLAGS}" fi