summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>2008-02-19 03:17:55 +0000
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>2008-02-19 03:17:55 +0000
commit15575cf8f17fee0fdd3151c5dbb0a0f89b01c708 (patch)
tree642982c6c7808c809ff6c18186424a687be84914
parenteb389b71b13d8a661cbb9d890f6033530723e21a (diff)
downloadhaskell-15575cf8f17fee0fdd3151c5dbb0a0f89b01c708.tar.gz
Add configure option --with-macos-deployment-target
-rw-r--r--aclocal.m429
-rw-r--r--configure.ac17
-rw-r--r--mk/config.mk.in5
3 files changed, 51 insertions, 0 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index d30b10146d..c72d15d9ac 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1091,6 +1091,35 @@ AC_DEFUN([CHECK_GMP],
AC_REQUIRE([AC_PROG_CC])
])
+# FP_MACOS_DEPLOYMENT_TARGET
+# --------------------------
+AC_DEFUN([FP_MACOS_DEPLOYMENT_TARGET],
+[
+if test "x$TargetOS_CPP-$TargetVendor_CPP" = "xdarwin-apple"; then
+ AC_MSG_CHECKING([Mac OS X deployment target])
+ case $MACOS_DEPLOYMENT_TARGET in
+ none) ;;
+ 10.4) MACOS_DEPLOYMENT_VERSION=10.4
+ MACOS_DEPLOYMENT_SDK=/Developer/SDKs/MacOSX10.4u.sdk
+ ;;
+ 10.4u) MACOS_DEPLOYMENT_VERSION=10.4
+ MACOS_DEPLOYMENT_SDK=/Developer/SDKs/MacOSX10.4u.sdk
+ ;;
+ *) MACOS_DEPLOYMENT_VERSION=$MACOS_DEPLOYMENT_TARGET
+ MACOS_DEPLOYMENT_SDK=/Developer/SDKs/MacOSX${MACOS_DEPLOYMENT_TARGET}.sdk
+ ;;
+ esac
+ if test "x$MACOS_DEPLOYMENT_TARGET" = "xnone"; then
+ AC_MSG_RESULT(none)
+ else
+ if test ! -d $MACOS_DEPLOYMENT_SDK; then
+ AC_MSG_ERROR([Unknown deployment target $MACOS_DEPLOYMENT_TARGET])
+ fi
+ AC_MSG_RESULT([${MACOS_DEPLOYMENT_VERSION} (${MACOS_DEPLOYMENT_SDK})])
+ fi
+fi
+])
+
# --------------------------------------------------------------
# Calculate absolute path to build tree
# --------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 9175078c4e..cab4f1902a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -819,6 +819,23 @@ AC_ARG_ENABLE(dotnet,
)
AC_SUBST(DotnetSupport)
+dnl ** Mac OS X: explicit deployment target
+dnl --------------------------------------------------------------
+AC_ARG_WITH([macos-deployment-target],
+[AC_HELP_STRING([--macos-deployment-target=VERSION],
+ [Build for Mac OS VERSION and higher [default= version of build host]])],
+[MACOS_DEPLOYMENT_TARGET="$withval"
+ if test "x$TargetOS_CPP-$TargetVendor_CPP" != "xdarwin-apple"; then
+ # ignore everywhere, but on Mac OS
+ AC_MSG_WARN([--macos-deployment-target is only available on Mac OS X])
+ MACOS_DEPLOYMENT_TARGET=none
+ fi],
+[MACOS_DEPLOYMENT_TARGET=none]
+)
+FP_MACOS_DEPLOYMENT_TARGET
+AC_SUBST(MACOS_DEPLOYMENT_VERSION)
+AC_SUBST(MACOS_DEPLOYMENT_SDK)
+
dnl --------------------------------------------------------------
dnl End of configure script option section
dnl --------------------------------------------------------------
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 65d3aaa91c..da5d957f80 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -185,6 +185,11 @@ BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
#
XMLDocWays=
+# Mac OS X deployment target (to cross-compile for older OS versions)
+#
+MACOS_DEPLOYMENT_VERSION = @MACOS_DEPLOYMENT_VERSION@
+MACOS_DEPLOYMENT_SDK = @MACOS_DEPLOYMENT_SDK@
+
################################################################################
#
# Variables that control how the compiler itself is built