Share more code between configure.ac and distrib/configure.ac.in
authorIan Lynagh <igloo@earth.li>
Wed, 22 Jun 2011 19:40:47 +0000 (20:40 +0100)
committerIan Lynagh <igloo@earth.li>
Wed, 22 Jun 2011 20:03:39 +0000 (21:03 +0100)
aclocal.m4
configure.ac
distrib/configure.ac.in

index 3426556..4a2a354 100644 (file)
@@ -78,6 +78,58 @@ AC_DEFUN([FPTOOLS_SET_PLATFORM_VARS],
         GHC_CONVERT_VENDOR([$target_vendor], [TargetVendor])
         GHC_CONVERT_OS([$target_os], [TargetOS])
     fi
+
+    windows=NO
+    exeext=''
+    soext='.so'
+    case $host in
+    *-unknown-cygwin32)
+        AC_MSG_WARN([GHC does not support the Cygwin target at the moment])
+        AC_MSG_WARN([I'm assuming you wanted to build for i386-unknown-mingw32])
+        exit 1
+        ;;
+    *-unknown-mingw32)
+        windows=YES
+        exeext='.exe'
+        soext='.dll'
+        ;;
+    i386-apple-darwin|powerpc-apple-darwin)
+        soext='.dylib'
+        ;;
+    x86_64-apple-darwin)
+        soext='.dylib'
+        ;;
+    esac
+])
+
+
+# FP_SETTINGS
+# ----------------------------------
+# Set the variables used in the settings file
+AC_DEFUN([FP_SETTINGS],
+[
+    if test "$windows" = YES
+    then
+        SettingsCCompilerCommand='$topdir/../mingw/bin/gcc.exe'
+        SettingsCCompilerFlags=''
+        SettingsPerlCommand='$topdir/../perl/perl.exe'
+        SettingsDllWrapCommand='$topdir/../mingw/bin/dllwrap.exe'
+        SettingsWindresCommand='$topdir/../mingw/bin/windres.exe'
+        SettingsTouchCommand='$topdir/touch.exe'
+    else
+        SettingsCCompilerCommand="$WhatGccIsCalled"
+        SettingsCCompilerFlags="$CONF_CC_OPTS_STAGE2"
+        SettingsPerlCommand="$PerlCmd"
+        SettingsDllWrapCommand="/bin/false"
+        SettingsWindresCommand="/bin/false"
+        SettingsTouchCommand='touch'
+    fi
+    AC_SUBST(SettingsCCompilerCommand)
+    AC_SUBST(SettingsCCompilerFlags)
+    AC_SUBST(SettingsPerlCommand)
+    AC_SUBST(SettingsDllWrapCommand)
+    AC_SUBST(SettingsWindresCommand)
+    AC_SUBST(SettingsTouchCommand)
 ])
 
 
index 9d3bb3d..277f399 100644 (file)
@@ -207,28 +207,6 @@ AC_CANONICAL_TARGET
 
 FPTOOLS_SET_PLATFORM_VARS
 
-windows=NO
-exeext=''
-soext='.so'
-case $host in
-*-unknown-cygwin32)
-    AC_MSG_WARN([GHC does not support the Cygwin target at the moment])
-    AC_MSG_WARN([I'm assuming you wanted to build for i386-unknown-mingw32])
-    exit 1
-    ;;
-*-unknown-mingw32)
-    windows=YES
-    exeext='.exe'
-    soext='.dll'
-    ;;
-i386-apple-darwin|powerpc-apple-darwin)
-    soext='.dylib'
-    ;;
-x86_64-apple-darwin)
-    soext='.dylib'
-    ;;
-esac
-
 # Testing if we shall enable shared libs support on Solaris.
 # Anything older than SunOS 5.11 aka Solaris 11 (Express) is broken.
 
@@ -572,28 +550,7 @@ AC_SUBST(CONF_CPP_OPTS_STAGE0)
 AC_SUBST(CONF_CPP_OPTS_STAGE1)
 AC_SUBST(CONF_CPP_OPTS_STAGE2)
 
-if test "$windows" = YES
-then
-    SettingsCCompilerCommand='$topdir/../mingw/bin/gcc.exe'
-    SettingsCCompilerFlags=''
-    SettingsPerlCommand='$topdir/../perl/perl.exe'
-    SettingsDllWrapCommand='$topdir/../mingw/bin/dllwrap.exe'
-    SettingsWindresCommand='$topdir/../mingw/bin/windres.exe'
-    SettingsTouchCommand='$topdir/touch.exe'
-else
-    SettingsCCompilerCommand="$WhatGccIsCalled"
-    SettingsCCompilerFlags="$CONF_CC_OPTS_STAGE2"
-    SettingsPerlCommand="$PerlCmd"
-    SettingsDllWrapCommand="/bin/false"
-    SettingsWindresCommand="/bin/false"
-    SettingsTouchCommand='touch'
-fi
-AC_SUBST(SettingsCCompilerCommand)
-AC_SUBST(SettingsCCompilerFlags)
-AC_SUBST(SettingsPerlCommand)
-AC_SUBST(SettingsDllWrapCommand)
-AC_SUBST(SettingsWindresCommand)
-AC_SUBST(SettingsTouchCommand)
+FP_SETTINGS
 
 dnl ** figure out how to do context diffs
 FP_PROG_CONTEXT_DIFF
index 7df0f3b..facba91 100644 (file)
@@ -82,6 +82,8 @@ AC_SUBST(CONF_CPP_OPTS_STAGE0)
 AC_SUBST(CONF_CPP_OPTS_STAGE1)
 AC_SUBST(CONF_CPP_OPTS_STAGE2)
 
+FP_SETTINGS
+
 #
 dnl ** how to invoke `ar' and `ranlib'
 #