1*d83cc019SAndroid Build Coastguard Workerdnl as-compiler-flag.m4 0.1.0 2*d83cc019SAndroid Build Coastguard Worker 3*d83cc019SAndroid Build Coastguard Workerdnl autostars m4 macro for detection of compiler flags 4*d83cc019SAndroid Build Coastguard Worker 5*d83cc019SAndroid Build Coastguard Workerdnl David Schleef <[email protected]> 6*d83cc019SAndroid Build Coastguard Worker 7*d83cc019SAndroid Build Coastguard Workerdnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $ 8*d83cc019SAndroid Build Coastguard Worker 9*d83cc019SAndroid Build Coastguard Workerdnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) 10*d83cc019SAndroid Build Coastguard Workerdnl Tries to compile with the given CFLAGS. 11*d83cc019SAndroid Build Coastguard Workerdnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, 12*d83cc019SAndroid Build Coastguard Workerdnl and ACTION-IF-NOT-ACCEPTED otherwise. 13*d83cc019SAndroid Build Coastguard Worker 14*d83cc019SAndroid Build Coastguard WorkerAC_DEFUN([AS_COMPILER_FLAG], 15*d83cc019SAndroid Build Coastguard Worker[ 16*d83cc019SAndroid Build Coastguard Worker AC_MSG_CHECKING([to see if compiler understands $1]) 17*d83cc019SAndroid Build Coastguard Worker 18*d83cc019SAndroid Build Coastguard Worker save_CFLAGS="$CFLAGS" 19*d83cc019SAndroid Build Coastguard Worker CFLAGS="$CFLAGS $1" 20*d83cc019SAndroid Build Coastguard Worker 21*d83cc019SAndroid Build Coastguard Worker AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) 22*d83cc019SAndroid Build Coastguard Worker CFLAGS="$save_CFLAGS" 23*d83cc019SAndroid Build Coastguard Worker 24*d83cc019SAndroid Build Coastguard Worker if test "X$flag_ok" = Xyes ; then 25*d83cc019SAndroid Build Coastguard Worker m4_ifvaln([$2],[$2]) 26*d83cc019SAndroid Build Coastguard Worker true 27*d83cc019SAndroid Build Coastguard Worker else 28*d83cc019SAndroid Build Coastguard Worker m4_ifvaln([$3],[$3]) 29*d83cc019SAndroid Build Coastguard Worker true 30*d83cc019SAndroid Build Coastguard Worker fi 31*d83cc019SAndroid Build Coastguard Worker AC_MSG_RESULT([$flag_ok]) 32*d83cc019SAndroid Build Coastguard Worker]) 33*d83cc019SAndroid Build Coastguard Worker 34*d83cc019SAndroid Build Coastguard Workerdnl AS_COMPILER_FLAGS(VAR, FLAGS) 35*d83cc019SAndroid Build Coastguard Workerdnl Tries to compile with the given CFLAGS. 36*d83cc019SAndroid Build Coastguard Worker 37*d83cc019SAndroid Build Coastguard WorkerAC_DEFUN([AS_COMPILER_FLAGS], 38*d83cc019SAndroid Build Coastguard Worker[ 39*d83cc019SAndroid Build Coastguard Worker list=$2 40*d83cc019SAndroid Build Coastguard Worker flags_supported="" 41*d83cc019SAndroid Build Coastguard Worker flags_unsupported="" 42*d83cc019SAndroid Build Coastguard Worker AC_MSG_CHECKING([for supported compiler flags]) 43*d83cc019SAndroid Build Coastguard Worker for each in $list 44*d83cc019SAndroid Build Coastguard Worker do 45*d83cc019SAndroid Build Coastguard Worker save_CFLAGS="$CFLAGS" 46*d83cc019SAndroid Build Coastguard Worker CFLAGS="$CFLAGS $each" 47*d83cc019SAndroid Build Coastguard Worker AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) 48*d83cc019SAndroid Build Coastguard Worker CFLAGS="$save_CFLAGS" 49*d83cc019SAndroid Build Coastguard Worker 50*d83cc019SAndroid Build Coastguard Worker if test "X$flag_ok" = Xyes ; then 51*d83cc019SAndroid Build Coastguard Worker flags_supported="$flags_supported $each" 52*d83cc019SAndroid Build Coastguard Worker else 53*d83cc019SAndroid Build Coastguard Worker flags_unsupported="$flags_unsupported $each" 54*d83cc019SAndroid Build Coastguard Worker fi 55*d83cc019SAndroid Build Coastguard Worker done 56*d83cc019SAndroid Build Coastguard Worker AC_MSG_RESULT([$flags_supported]) 57*d83cc019SAndroid Build Coastguard Worker if test "X$flags_unsupported" != X ; then 58*d83cc019SAndroid Build Coastguard Worker AC_MSG_WARN([unsupported compiler flags: $flags_unsupported]) 59*d83cc019SAndroid Build Coastguard Worker fi 60*d83cc019SAndroid Build Coastguard Worker $1="$$1 $flags_supported" 61*d83cc019SAndroid Build Coastguard Worker]) 62*d83cc019SAndroid Build Coastguard Worker 63