summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2021-05-12 10:59:15 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-11-23 12:46:35 -0500
commitb5c714545abc5f75a1ffdcc39b4bfdc7cd5e64b4 (patch)
tree46721c2ca167a8295fb70600b102ccc26aac7b02 /configure.ac
parente153851650bbba631f3a6926ba42422f9f1fa0cd (diff)
downloadhaskell-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.ac54
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
])