From a66399a182d00111410d707e39020178acf05a6f Mon Sep 17 00:00:00 2001 From: Matthew Pickering Date: Thu, 5 Jan 2023 09:17:17 +0000 Subject: Revert "configure: Drop uses of AC_PROG_CC_C99" This reverts commit 7c6de18dd3151ead954c210336728e8686c91de6. Centos7 using a very old version of the toolchain (autotools-2.69) where the behaviour of these macros has not yet changed. I am reverting this without haste as it is blocking the 9.6 branch. Fixes #22704 --- configure.ac | 5 +++++ distrib/configure.ac.in | 5 +++++ m4/fp_set_cflags_c99.m4 | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 m4/fp_set_cflags_c99.m4 diff --git a/configure.ac b/configure.ac index be88deb270..846a4e54e7 100644 --- a/configure.ac +++ b/configure.ac @@ -485,6 +485,11 @@ FP_CPP_CMD_WITH_ARGS(HaskellCPPCmd, HaskellCPPArgs) AC_SUBST([HaskellCPPCmd]) AC_SUBST([HaskellCPPArgs]) +FP_SET_CFLAGS_C99([CC],[CFLAGS],[CPPFLAGS]) +FP_SET_CFLAGS_C99([CC_STAGE0],[CONF_CC_OPTS_STAGE0],[CONF_CPP_OPTS_STAGE0]) +FP_SET_CFLAGS_C99([CC],[CONF_CC_OPTS_STAGE1],[CONF_CPP_OPTS_STAGE1]) +FP_SET_CFLAGS_C99([CC],[CONF_CC_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2]) + dnl ** Which ld to use dnl -------------------------------------------------------------- AC_ARG_VAR(LD,[Use as the path to ld. See also --disable-ld-override.]) diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in index 8b203be35d..6263db351d 100644 --- a/distrib/configure.ac.in +++ b/distrib/configure.ac.in @@ -111,6 +111,11 @@ FP_CPP_CMD_WITH_ARGS(HaskellCPPCmd, HaskellCPPArgs) AC_SUBST([HaskellCPPCmd]) AC_SUBST([HaskellCPPArgs]) +FP_SET_CFLAGS_C99([CC],[CFLAGS],[CPPFLAGS]) +dnl FP_SET_CFLAGS_C99([CC_STAGE0],[CONF_CC_OPTS_STAGE0],[CONF_CPP_OPTS_STAGE0]) +FP_SET_CFLAGS_C99([CC],[CONF_CC_OPTS_STAGE1],[CONF_CPP_OPTS_STAGE1]) +FP_SET_CFLAGS_C99([CC],[CONF_CC_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2]) + dnl ** Which ld to use? dnl -------------------------------------------------------------- FIND_LD([$target],[GccUseLdOpt]) diff --git a/m4/fp_set_cflags_c99.m4 b/m4/fp_set_cflags_c99.m4 new file mode 100644 index 0000000000..b9644efe66 --- /dev/null +++ b/m4/fp_set_cflags_c99.m4 @@ -0,0 +1,38 @@ +# FP_SET_CFLAGS_C99 +# ---------------------------------- +# figure out which CFLAGS are needed to place the compiler into C99 mode +# $1 is name of CC variable (unmodified) +# $2 is name of CC flags variable (augmented if needed) +# $3 is name of CPP flags variable (augmented if needed) +AC_DEFUN([FP_SET_CFLAGS_C99], +[ + dnl save current state of AC_PROG_CC_C99 + FP_COPY_SHELLVAR([CC],[fp_save_CC]) + FP_COPY_SHELLVAR([CFLAGS],[fp_save_CFLAGS]) + FP_COPY_SHELLVAR([CPPFLAGS],[fp_save_CPPFLAGS]) + FP_COPY_SHELLVAR([ac_cv_prog_cc_c99],[fp_save_cc_c99]) + dnl set local state + CC="$$1" + CFLAGS="$$2" + CPPFLAGS="$$3" + unset ac_cv_prog_cc_c99 + dnl perform detection + AC_PROG_CC_C99 + fp_cc_c99="$ac_cv_prog_cc_c99" + case "x$ac_cv_prog_cc_c99" in + x) ;; # noop + xno) AC_MSG_ERROR([C99-compatible compiler needed]) ;; + *) $2="$$2 $ac_cv_prog_cc_c99" + $3="$$3 $ac_cv_prog_cc_c99" + ;; + esac + dnl restore saved state + FP_COPY_SHELLVAR([fp_save_CC],[CC]) + FP_COPY_SHELLVAR([fp_save_CFLAGS],[CFLAGS]) + FP_COPY_SHELLVAR([fp_save_CPPFLAGS],[CPPFLAGS]) + FP_COPY_SHELLVAR([fp_save_cc_c99],[ac_cv_prog_cc_c99]) + dnl cleanup + unset fp_save_CC + unset fp_save_CFLAGS + unset fp_save_cc_c99 +]) -- cgit v1.2.1