xref: /aosp_15_r20/external/igt-gpu-tools/m4/as-compiler-flag.m4 (revision d83cc019efdc2edc6c4b16e9034a3ceb8d35d77c)
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