# HG changeset patch # User diego # Date 1278025420 0 # Node ID 05537cb15be655fe0de82107f84513fc15d6705d # Parent e7aa0fde4e34cb1258ec7a9a61a928807024864f Add convenience function to check for compiler flags directly and use it. diff -r e7aa0fde4e34 -r 05537cb15be6 configure --- a/configure Thu Jul 01 22:19:57 2010 +0000 +++ b/configure Thu Jul 01 23:03:40 2010 +0000 @@ -81,6 +81,13 @@ compile_check $TMPCPP $@ -lstdc++ } +cflag_check() { + cat > $TMPC << EOF +int main(void) { return 0; } +EOF + compile_check $TMPC $@ +} + function_check() { cat > $TMPC << EOF #include <$1> @@ -2100,39 +2107,36 @@ fi # test "$_runtime_cpudetection" = no echocheck "GCC & CPU optimization abilities" -cat > $TMPC << EOF -int main(void) { return 0; } -EOF # This is a stripped-down version of the i386 fallback. if test "$_runtime_cpudetection" = no ; then if test $cc_vendor != "intel" && test $cc_vendor != "clang" ; then - cc_check -march=native && proc=native + cflag_check -march=native && proc=native fi # --- AMD processors --- if test "$proc" = "amdfam10"; then - cc_check -march=$proc $cpuopt=$proc || proc=k8 + cflag_check -march=$proc $cpuopt=$proc || proc=k8 fi if test "$proc" = "k8"; then - cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp + cflag_check -march=$proc $cpuopt=$proc || proc=athlon-xp fi # This will fail if gcc version < 3.3, which is ok because earlier # versions don't really support 64-bit on amd64. # Is this a valid assumption? -Corey if test "$proc" = "athlon-xp"; then - cc_check -march=$proc $cpuopt=$proc || proc=error + cflag_check -march=$proc $cpuopt=$proc || proc=error fi # --- Intel processors --- if test "$proc" = "core2"; then - cc_check -march=$proc $cpuopt=$proc || proc=x86-64 + cflag_check -march=$proc $cpuopt=$proc || proc=x86-64 fi if test "$proc" = "x86-64"; then - cc_check -march=$proc $cpuopt=$proc || proc=nocona + cflag_check -march=$proc $cpuopt=$proc || proc=nocona fi if test "$proc" = "nocona"; then - cc_check -march=$proc $cpuopt=$proc || proc=pentium4 + cflag_check -march=$proc $cpuopt=$proc || proc=pentium4 fi if test "$proc" = "pentium4"; then - cc_check -march=$proc $cpuopt=$proc || proc=error + cflag_check -march=$proc $cpuopt=$proc || proc=error fi _march="-march=$proc" @@ -2146,9 +2150,9 @@ # x86-64 is an undocumented option, an intersection of k8 and nocona. _march="-march=x86-64" _mcpu="$cpuopt=generic" - cc_check $_mcpu || _mcpu="x86-64" - cc_check $_mcpu || _mcpu="" - cc_check $_march $_mcpu || _march="" + cflag_check $_mcpu || _mcpu="x86-64" + cflag_check $_mcpu || _mcpu="" + cflag_check $_march $_mcpu || _march="" fi _optimizing="$proc" @@ -2486,11 +2490,8 @@ echocheck "assembler support of -pipe option" -cat > $TMPC << EOF -int main(void) { return 0; } -EOF # -I. helps to detect compilers that just misunderstand -pipe like Sun C -cc_check -pipe -I. && _pipe="-pipe" && echores "yes" || echores "no" +cflag_check -pipe -I. && _pipe="-pipe" && echores "yes" || echores "no" echocheck "compiler support of named assembler arguments" @@ -2543,23 +2544,20 @@ warn_cflags=yes fi -cat > $TMPC << EOF -int main(void) { return 0; } -EOF if test "$cc_vendor" = "gnu" ; then - cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS" - cc_check -Wdeclaration-after-statement && CFLAGS="-Wdeclaration-after-statement $CFLAGS" - cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS" - cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS" - cc_check -Wundef && CFLAGS="-Wundef $CFLAGS" - cc_check -Wmissing-prototypes && CFLAGS="-Wmissing-prototypes $CFLAGS" - cc_check -Wstrict-prototypes && CFLAGS="-Wstrict-prototypes $CFLAGS" + cflag_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS" + cflag_check -Wdeclaration-after-statement && CFLAGS="-Wdeclaration-after-statement $CFLAGS" + cflag_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS" + cflag_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS" + cflag_check -Wundef && CFLAGS="-Wundef $CFLAGS" + cflag_check -Wmissing-prototypes && CFLAGS="-Wmissing-prototypes $CFLAGS" + cflag_check -Wstrict-prototypes && CFLAGS="-Wstrict-prototypes $CFLAGS" else CFLAGS="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS" fi -cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer" -cc_check -MD -MP && CFLAGS="-MD -MP $CFLAGS" +cflag_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer" +cflag_check -MD -MP && CFLAGS="-MD -MP $CFLAGS" if test -n "$LDFLAGS" ; then @@ -2738,20 +2736,14 @@ # check if AltiVec is supported by the compiler, and how to enable it echocheck "GCC AltiVec flags" - cat > $TMPC << EOF -int main(void) { return 0; } -EOF - if $(cc_check -maltivec -mabi=altivec) ; then + if $(cflag_check -maltivec -mabi=altivec) ; then _altivec_gcc_flags="-maltivec -mabi=altivec" # check if should be included if $(header_check altivec.h $_altivec_gcc_flags) ; then def_altivec_h='#define HAVE_ALTIVEC_H 1' inc_altivec_h='#include ' else - cat > $TMPC << EOF -int main(void) { return 0; } -EOF - if $(cc_check -faltivec) ; then + if $(cflag_check -faltivec) ; then _altivec_gcc_flags="-faltivec" else _altivec=no @@ -2918,10 +2910,7 @@ echocheck "-lposix" -cat > $TMPC < $TMPC < $TMPC <