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