diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2021-05-12 10:59:15 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-11-23 12:46:35 -0500 |
commit | b5c714545abc5f75a1ffdcc39b4bfdc7cd5e64b4 (patch) | |
tree | 46721c2ca167a8295fb70600b102ccc26aac7b02 /configure.ac | |
parent | e153851650bbba631f3a6926ba42422f9f1fa0cd (diff) | |
download | haskell-b5c714545abc5f75a1ffdcc39b4bfdc7cd5e64b4.tar.gz |
Don't let configure perform trivial substitutions (#21846)
Hadrian now performs substitutions, especially to generate .cabal files
from .cabal.in files. Two benefits:
1. We won't have to re-configure when we modify thing.cabal.in. Hadrian
will take care of this for us.
2. It paves the way to allow the same package to be configured
differently by Hadrian in the same session. This will be useful to
fix #19174: we want to build a stage2 cross-compiler for the host
platform and a stage1 compiler for the cross target platform in the
same Hadrian session.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 54 |
1 files changed, 15 insertions, 39 deletions
diff --git a/configure.ac b/configure.ac index bf4f597572..b5855f4ef0 100644 --- a/configure.ac +++ b/configure.ac @@ -943,9 +943,9 @@ AC_CHECK_LIB(m, atan, HaveLibM=YES, HaveLibM=NO) if test $HaveLibM = YES then AC_DEFINE([HAVE_LIBM], [1], [Define to 1 if you need to link with libm]) - AC_SUBST([CabalHaveLibm],[True]) + AC_SUBST([UseLibm],[YES]) else - AC_SUBST([CabalHaveLibm],[False]) + AC_SUBST([UseLibm],[NO]) fi TargetHasLibm=$HaveLibM AC_SUBST(TargetHasLibm) @@ -958,15 +958,11 @@ dnl ################################################################ FP_FIND_LIBFFI AC_SUBST(UseSystemLibFFI) -AS_IF([test "x$with_system_libffi" = "xyes"], - [CabalUseSystemLibFFI="True"], - [CabalUseSystemLibFFI="False"] -) -AC_SUBST(CabalUseSystemLibFFI) dnl ** check whether we need -ldl to get dlopen() AC_CHECK_LIB([dl], [dlopen]) -AC_CHECK_LIB([dl], [dlopen], [AC_SUBST([CabalHaveLibdl], [True])], [AC_SUBST([CabalHaveLibdl], [False])]) +AC_CHECK_LIB([dl], [dlopen], HaveLibdl=YES, HaveLibdl=NO) +AC_SUBST([UseLibdl],[$HaveLibdl]) dnl ** check whether we have dlinfo AC_CHECK_FUNCS([dlinfo]) @@ -1003,7 +999,13 @@ FP_MUSTTAIL dnl ** check for librt AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([rt], [clock_gettime], [AC_SUBST([CabalHaveLibrt], [True])], [AC_SUBST([CabalHaveLibrt], [False])]) +AC_CHECK_LIB([rt], [clock_gettime], HaveLibrt=YES, HaveLibrt=NO) +if test $HaveLibrt = YES +then + AC_SUBST([UseLibrt],[YES]) +else + AC_SUBST([UseLibrt],[NO]) +fi AC_CHECK_FUNCS(clock_gettime timer_settime) FP_CHECK_TIMER_CREATE @@ -1119,11 +1121,6 @@ AC_DEFINE_UNQUOTED([RTS_LINKER_USE_MMAP], [$RtsLinkerUseMmap], GHC_ADJUSTORS_METHOD([Target]) AC_SUBST([UseLibffiForAdjustors]) -AS_IF([test x"${UseLibffiForAdjustors}" = x"YES"], - [CabalLibffiAdjustors=True], - [CabalLibffiAdjustors=False] -) -AC_SUBST([CabalLibffiAdjustors]) dnl ** Other RTS features dnl -------------------------------------------------------------- @@ -1173,12 +1170,6 @@ if grep ' ' compiler/ghc.cabal.in 2>&1 >/dev/null; then AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them]) fi -# Create the configuration for the Hadrian build system if it is present -if test -e hadrian/cfg/system.config.in; then - AC_CONFIG_FILES([hadrian/cfg/system.config]) - AC_CONFIG_FILES([hadrian/ghci-cabal hadrian/ghci-stack hadrian/ghci-multi-cabal]) -fi - # We got caught by # http://savannah.gnu.org/bugs/index.php?1516 # $(eval ...) inside conditionals causes errors @@ -1202,27 +1193,12 @@ checkMake380() { checkMake380 make checkMake380 gmake -AC_CONFIG_FILES([ mk/project.mk ]) - -dnl When adding things to this list be sure to update hadrian's -dnl Rules.Configure.configureResults list. AC_CONFIG_FILES( -[ rts/rts.cabal - compiler/ghc.cabal - ghc/ghc-bin.cabal - utils/runghc/runghc.cabal - driver/ghci/ghci-wrapper.cabal - utils/iserv/iserv.cabal - utils/ghc-pkg/ghc-pkg.cabal - utils/remote-iserv/remote-iserv.cabal - libraries/ghc-boot/ghc-boot.cabal - libraries/ghc-boot-th/ghc-boot-th.cabal - libraries/ghci/ghci.cabal - libraries/ghc-heap/ghc-heap.cabal - libraries/libiserv/libiserv.cabal - libraries/template-haskell/template-haskell.cabal +[ mk/project.mk + hadrian/cfg/system.config + hadrian/ghci-cabal + hadrian/ghci-stack docs/users_guide/ghc_config.py - libraries/prologue.txt distrib/configure.ac ]) |