summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-11-05 03:45:27 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-11-08 19:35:12 -0500
commit3f103b1ae4018cf35dabc00d4c9f77eaf8a35ff0 (patch)
tree6d79bc36c41b142edfd912c1daba5ae6eab58225 /configure.ac
parent28334b475a109bdeb8d53d58c48adb1690e2c9b4 (diff)
downloadhaskell-3f103b1ae4018cf35dabc00d4c9f77eaf8a35ff0.tar.gz
Factor out GHC_ADJUSTORS_METHOD m4 macro
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac53
1 files changed, 5 insertions, 48 deletions
diff --git a/configure.ac b/configure.ac
index 79e0de904b..33ed0751f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1261,56 +1261,13 @@ AC_DEFINE_UNQUOTED([RTS_LINKER_USE_MMAP], [$RtsLinkerUseMmap],
[Use mmap in the runtime linker])
-dnl ** Use libffi for adjustors?
-dnl --------------------------------------------------------------
-
-case ${TargetArch} in
- i386|x86_64)
- # We have native adjustor support on these platforms
- HaveNativeAdjustor=yes
- ;;
- *)
- HaveNativeAdjustor=no
- ;;
-esac
-
-AC_ARG_ENABLE(libffi-adjustors,
- [AS_HELP_STRING(
- [--enable-libffi-adjustors],
- [Force use of libffi for adjustors, even on platforms which have support for more efficient, native adjustors.])],
- UseLibffiForAdjustors=$enableval,
- dnl do nothing
+GHC_ADJUSTORS_METHOD([Target])
+AC_SUBST([UseLibffiForAdjustors])
+AS_IF([test x"${UseLibffiForAdjustors}" = x"YES"],
+ [CabalLibffiAdjustors=True],
+ [CabalLibffiAdjustors=False]
)
-
-AC_MSG_CHECKING([whether to use libffi for adjustors])
-AC_MSG_RESULT([$UseLibffiForAdjustors])
-if test "$UseLibffiForAdjustors" = "yes" ; then
- # Use libffi is the user explicitly requested it
- AdjustorType="libffi"
-elif test "$HaveNativeAdjustor" = "yes"; then
- # Otherwise if we have a native adjustor implementation use that
- AdjustorType="native"
-else
- # If we don't have a native adjustor implementation then default to libffi
- AdjustorType="libffi"
-fi
-
-case "$AdjustorType" in
-libffi)
- CabalLibffiAdjustors=True
- UseLibffiForAdjustors=YES
- ;;
-native)
- CabalLibffiAdjustors=False
- UseLibffiForAdjustors=NO
- ;;
-*)
- AC_MSG_ERROR([Internal error: Invalid AdjustorType])
- exit 1
-esac
-
AC_SUBST([CabalLibffiAdjustors])
-AC_SUBST([UseLibffiForAdjustors])
dnl ** Other RTS features
dnl --------------------------------------------------------------