From 651cd99621e42b10b7caadfb8986547b28222785 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sat, 1 Oct 2011 21:00:27 +0100 Subject: [PATCH] Fix bindist finding gcc on OS X; fixes trac #5397 $TargetOS_CPP wasn't getting defined in a bindist, which meant the code to use gcc-4.2 instead of gcc on OS X wasn't working. Now fixed, by moving some of configure.ac's code into the shared aclocal.m4. --- aclocal.m4 | 90 ++++++++++++++++++++++++++++++++++++++++ configure.ac | 113 ++++++--------------------------------------------- 2 files changed, 102 insertions(+), 101 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index 9bbdd599f6..c8c125a228 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -100,6 +100,96 @@ AC_DEFUN([FPTOOLS_SET_PLATFORM_VARS], soext='.dylib' ;; esac + + checkArch() { + case [$]1 in + alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|s390x|sparc|sparc64|vax|x86_64) + ;; + *) + echo "Unknown arch [$]1" + exit 1 + ;; + esac + } + + checkVendor() { + case [$]1 in + dec|unknown|hp|apple|next|sun|sgi|ibm) + ;; + *) + echo "Unknown vendor [$]1" + exit 1 + ;; + esac + } + + checkOS() { + case [$]1 in + linux|freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix|haiku) + ;; + *) + echo "Unknown OS '[$]1'" + exit 1 + ;; + esac +} + +BuildPlatform="$BuildArch-$BuildVendor-$BuildOS" +BuildPlatform_CPP=`echo "$BuildPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'` +BuildArch_CPP=` echo "$BuildArch" | sed -e 's/\./_/g' -e 's/-/_/g'` +BuildVendor_CPP=` echo "$BuildVendor" | sed -e 's/\./_/g' -e 's/-/_/g'` +BuildOS_CPP=` echo "$BuildOS" | sed -e 's/\./_/g' -e 's/-/_/g'` + +checkArch "$BuildArch" +checkVendor "$BuildVendor" +checkOS "$BuildOS" + +HostPlatform="$HostArch-$HostVendor-$HostOS" +HostPlatform_CPP=`echo "$HostPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'` +HostArch_CPP=` echo "$HostArch" | sed -e 's/\./_/g' -e 's/-/_/g'` +HostVendor_CPP=` echo "$HostVendor" | sed -e 's/\./_/g' -e 's/-/_/g'` +HostOS_CPP=` echo "$HostOS" | sed -e 's/\./_/g' -e 's/-/_/g'` + +checkArch "$HostArch" +checkVendor "$HostVendor" +checkOS "$HostOS" + +TargetPlatform="$TargetArch-$TargetVendor-$TargetOS" +TargetPlatform_CPP=`echo "$TargetPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'` +TargetArch_CPP=` echo "$TargetArch" | sed -e 's/\./_/g' -e 's/-/_/g'` +TargetVendor_CPP=` echo "$TargetVendor" | sed -e 's/\./_/g' -e 's/-/_/g'` +TargetOS_CPP=` echo "$TargetOS" | sed -e 's/\./_/g' -e 's/-/_/g'` + +checkArch "$TargetArch" +checkVendor "$TargetVendor" +checkOS "$TargetOS" + +echo "GHC build : $BuildPlatform" +echo "GHC host : $HostPlatform" +echo "GHC target : $TargetPlatform" + +AC_SUBST(BuildPlatform) +AC_SUBST(HostPlatform) +AC_SUBST(TargetPlatform) +AC_SUBST(HostPlatform_CPP) +AC_SUBST(BuildPlatform_CPP) +AC_SUBST(TargetPlatform_CPP) + +AC_SUBST(HostArch_CPP) +AC_SUBST(BuildArch_CPP) +AC_SUBST(TargetArch_CPP) + +AC_SUBST(HostOS_CPP) +AC_SUBST(BuildOS_CPP) +AC_SUBST(TargetOS_CPP) + +AC_SUBST(HostVendor_CPP) +AC_SUBST(BuildVendor_CPP) +AC_SUBST(TargetVendor_CPP) + +AC_SUBST(exeext) +AC_SUBST(soext) + ]) diff --git a/configure.ac b/configure.ac index 0e1fd5fc58..1207f080b1 100644 --- a/configure.ac +++ b/configure.ac @@ -207,84 +207,6 @@ AC_CANONICAL_TARGET FPTOOLS_SET_PLATFORM_VARS -# Testing if we shall enable shared libs support on Solaris. -# Anything older than SunOS 5.11 aka Solaris 11 (Express) is broken. - -SOLARIS_BROKEN_SHLD=NO - -case $host in - i386-*-solaris2) - # here we go with the test - MINOR=`uname -r|cut -d '.' -f 2-` - if test "$MINOR" -lt "11"; then - SOLARIS_BROKEN_SHLD=YES - fi - ;; -esac - -checkArch() { - case $1 in - alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|s390x|sparc|sparc64|vax|x86_64) - ;; - *) - echo "Unknown arch $1" - exit 1 - ;; - esac -} - -checkVendor() { - case $1 in - dec|unknown|hp|apple|next|sun|sgi|ibm) - ;; - *) - echo "Unknown vendor $1" - exit 1 - ;; - esac -} - -checkOS() { - case $1 in - linux|freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix|haiku) - ;; - *) - echo "Unknown OS '$1'" - exit 1 - ;; - esac -} - -BuildPlatform="$BuildArch-$BuildVendor-$BuildOS" -BuildPlatform_CPP=`echo "$BuildPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'` -BuildArch_CPP=` echo "$BuildArch" | sed -e 's/\./_/g' -e 's/-/_/g'` -BuildVendor_CPP=` echo "$BuildVendor" | sed -e 's/\./_/g' -e 's/-/_/g'` -BuildOS_CPP=` echo "$BuildOS" | sed -e 's/\./_/g' -e 's/-/_/g'` - -checkArch "$BuildArch" -checkVendor "$BuildVendor" -checkOS "$BuildOS" - -HostPlatform="$HostArch-$HostVendor-$HostOS" -HostPlatform_CPP=`echo "$HostPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'` -HostArch_CPP=` echo "$HostArch" | sed -e 's/\./_/g' -e 's/-/_/g'` -HostVendor_CPP=` echo "$HostVendor" | sed -e 's/\./_/g' -e 's/-/_/g'` -HostOS_CPP=` echo "$HostOS" | sed -e 's/\./_/g' -e 's/-/_/g'` - -checkArch "$HostArch" -checkVendor "$HostVendor" -checkOS "$HostOS" - -TargetPlatform="$TargetArch-$TargetVendor-$TargetOS" -TargetPlatform_CPP=`echo "$TargetPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'` -TargetArch_CPP=` echo "$TargetArch" | sed -e 's/\./_/g' -e 's/-/_/g'` -TargetVendor_CPP=` echo "$TargetVendor" | sed -e 's/\./_/g' -e 's/-/_/g'` -TargetOS_CPP=` echo "$TargetOS" | sed -e 's/\./_/g' -e 's/-/_/g'` - -checkArch "$TargetArch" -checkVendor "$TargetVendor" -checkOS "$TargetOS" - # Verify that the installed (bootstrap) GHC is capable of generating # code for the requested build platform. if test "$BootingFromHc" = "NO" @@ -298,31 +220,20 @@ then fi fi -echo "GHC build : $BuildPlatform" -echo "GHC host : $HostPlatform" -echo "GHC target : $TargetPlatform" - -AC_SUBST(BuildPlatform) -AC_SUBST(HostPlatform) -AC_SUBST(TargetPlatform) -AC_SUBST(HostPlatform_CPP) -AC_SUBST(BuildPlatform_CPP) -AC_SUBST(TargetPlatform_CPP) - -AC_SUBST(HostArch_CPP) -AC_SUBST(BuildArch_CPP) -AC_SUBST(TargetArch_CPP) - -AC_SUBST(HostOS_CPP) -AC_SUBST(BuildOS_CPP) -AC_SUBST(TargetOS_CPP) +# Testing if we shall enable shared libs support on Solaris. +# Anything older than SunOS 5.11 aka Solaris 11 (Express) is broken. -AC_SUBST(HostVendor_CPP) -AC_SUBST(BuildVendor_CPP) -AC_SUBST(TargetVendor_CPP) +SOLARIS_BROKEN_SHLD=NO -AC_SUBST(exeext) -AC_SUBST(soext) +case $host in + i386-*-solaris2) + # here we go with the test + MINOR=`uname -r|cut -d '.' -f 2-` + if test "$MINOR" -lt "11"; then + SOLARIS_BROKEN_SHLD=YES + fi + ;; +esac AC_SUBST(SOLARIS_BROKEN_SHLD) -- GitLab