gen-ci: Properly encapsulate GitLab predicates
[ghc.git] / m4 / fp_set_cflags_c99.m4
blobb9644efe6618471f52ac87414fe8c505f5f298ad
1 # FP_SET_CFLAGS_C99
2 # ----------------------------------
3 # figure out which CFLAGS are needed to place the compiler into C99 mode
4 # $1 is name of CC variable (unmodified)
5 # $2 is name of CC flags variable (augmented if needed)
6 # $3 is name of CPP flags variable (augmented if needed)
7 AC_DEFUN([FP_SET_CFLAGS_C99],
9     dnl save current state of AC_PROG_CC_C99
10     FP_COPY_SHELLVAR([CC],[fp_save_CC])
11     FP_COPY_SHELLVAR([CFLAGS],[fp_save_CFLAGS])
12     FP_COPY_SHELLVAR([CPPFLAGS],[fp_save_CPPFLAGS])
13     FP_COPY_SHELLVAR([ac_cv_prog_cc_c99],[fp_save_cc_c99])
14     dnl set local state
15     CC="$$1"
16     CFLAGS="$$2"
17     CPPFLAGS="$$3"
18     unset ac_cv_prog_cc_c99
19     dnl perform detection
20     AC_PROG_CC_C99
21     fp_cc_c99="$ac_cv_prog_cc_c99"
22     case "x$ac_cv_prog_cc_c99" in
23       x)   ;; # noop
24       xno) AC_MSG_ERROR([C99-compatible compiler needed]) ;;
25       *)   $2="$$2 $ac_cv_prog_cc_c99"
26            $3="$$3 $ac_cv_prog_cc_c99"
27            ;;
28     esac
29     dnl restore saved state
30     FP_COPY_SHELLVAR([fp_save_CC],[CC])
31     FP_COPY_SHELLVAR([fp_save_CFLAGS],[CFLAGS])
32     FP_COPY_SHELLVAR([fp_save_CPPFLAGS],[CPPFLAGS])
33     FP_COPY_SHELLVAR([fp_save_cc_c99],[ac_cv_prog_cc_c99])
34     dnl cleanup
35     unset fp_save_CC
36     unset fp_save_CFLAGS
37     unset fp_save_cc_c99