diff options
Diffstat (limited to 'm4/as-compiler-flag.m4')
-rw-r--r-- | m4/as-compiler-flag.m4 | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/m4/as-compiler-flag.m4 b/m4/as-compiler-flag.m4 new file mode 100644 index 0000000..baab5d9 --- /dev/null +++ b/m4/as-compiler-flag.m4 | |||
@@ -0,0 +1,62 @@ | |||
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_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [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_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [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 | |||