# see what flags are available. (Better yet, read the documentation!)
#
-AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.13], [glasgow-haskell-bugs@haskell.org], [ghc])
+AC_INIT([The Glorious Glasgow Haskell Compilation System], [7.1], [glasgow-haskell-bugs@haskell.org], [ghc])
# Set this to YES for a released version, otherwise NO
: ${RELEASE=NO}
AC_SUBST(GhcPatchLevel)dnl
GhcMinVersion2=`echo "$GhcMinVersion" | sed 's/^\\(.\\)$/0\\1/'`
GhcCanonVersion="$GhcMajVersion$GhcMinVersion2"
- FP_COMPARE_VERSIONS($GhcVersion,[-ge],[6.10.2],
- [ghc_ge_6102=YES], [ghc_ge_6102=NO])
- if test $GhcCanonVersion -ge 611; then ghc_ge_611=YES; else ghc_ge_611=NO; fi
if test $GhcCanonVersion -ge 613; then ghc_ge_613=YES; else ghc_ge_613=NO; fi
- AC_SUBST(ghc_ge_6102)dnl
- AC_SUBST(ghc_ge_611)dnl
AC_SUBST(ghc_ge_613)dnl
fi
if test "$WithGhc" = ""; then
AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
fi
- FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[6.10],
- [AC_MSG_ERROR([GHC version 6.10 or later is required to compile GHC.])])dnl
+ FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[6.12],
+ [AC_MSG_ERROR([GHC version 6.12 or later is required to compile GHC.])])dnl
if test `expr $GhcMinVersion % 2` = "1"; then
if test "$EnableBootstrapWithDevelSnaphost" = "NO"; then
dnl ** Without optimization some INLINE trickery fails for GHCi
SRC_CC_OPTS="-O"
-dnl Allow to specify iconv options to the toplevel configure script
-dnl so they can be properly passed to sub-builds.
-dnl Note: ICONV_LIB_DIRS and ICONV_INCLUDE_DIRS are not predefined
-dnl to the empty string to allow them to be overridden from the
-dnl environment.
-
-AC_ARG_WITH([iconv-includes],
- [AC_HELP_STRING([--with-iconv-includes],
- [directory containing iconv.h])],
- [ICONV_INCLUDE_DIRS=$withval])
-
-AC_ARG_WITH([iconv-libraries],
- [AC_HELP_STRING([--with-iconv-libraries],
- [directory containing iconv library])],
- [ICONV_LIB_DIRS=$withval])
-
-AC_SUBST(ICONV_INCLUDE_DIRS)
-AC_SUBST(ICONV_LIB_DIRS)
-
-dnl Allow to specify gmp options to the toplevel configure script
-dnl so they can be properly passed to sub-builds.
-
-AC_ARG_WITH([gmp-includes],
- [AC_HELP_STRING([--with-gmp-includes],
- [directory containing gmp.h])],
- [GMP_INCLUDE_DIRS=$withval])
-
-AC_ARG_WITH([gmp-libraries],
- [AC_HELP_STRING([--with-gmp-libraries],
- [directory containing gmp library])],
- [GMP_LIB_DIRS=$withval])
-
-AC_SUBST(GMP_INCLUDE_DIRS)
-AC_SUBST(GMP_LIB_DIRS)
+FP_ICONV
+FP_GMP
dnl--------------------------------------------------------------------
dnl * Choose host(/target/build) platform
)
AC_SUBST(WithHc)
-AC_PATH_PROGS(NHC,nhc nhc98)
-AC_PATH_PROG(HBC,hbc)
-
# This uses GHC, so put it after the "GHC is required" check above:
+FP_INTREE_GHC_PWD
FP_FIND_ROOT
if test "$HostOS" = "mingw32"
then
+ test -d inplace || mkdir inplace
+
CC="$hardtop/inplace/mingw/bin/gcc.exe"
LD="$hardtop/inplace/mingw/bin/ld.exe"
NM="$hardtop/inplace/mingw/bin/nm.exe"
fp_prog_ar_raw="$hardtop/inplace/mingw/bin/ar.exe"
if ! test -d inplace/mingw ||
- test inplace/mingw -ot ghc-tarballs/mingw/binutils*.tar.lzma ||
- test inplace/mingw -ot ghc-tarballs/mingw/gcc-core*.tar.lzma ||
- test inplace/mingw -ot ghc-tarballs/mingw/gcc-c++*.tar.lzma ||
- test inplace/mingw -ot ghc-tarballs/mingw/mingwrt*.tar.gz ||
+ test inplace/mingw -ot ghc-tarballs/mingw/binutils*.tar.lzma ||
+ test inplace/mingw -ot ghc-tarballs/mingw/gcc-core*.tar.lzma ||
+ test inplace/mingw -ot ghc-tarballs/mingw/gcc-c++*.tar.lzma ||
+ test inplace/mingw -ot ghc-tarballs/mingw/libgmp*.tar.gz ||
+ test inplace/mingw -ot ghc-tarballs/mingw/libmpc*.tar.gz ||
+ test inplace/mingw -ot ghc-tarballs/mingw/libmpfr*.tar.gz ||
+ test inplace/mingw -ot ghc-tarballs/mingw/libstdc*.tar.lzma ||
+ test inplace/mingw -ot ghc-tarballs/mingw/mingwrt*-dev.tar.gz ||
+ test inplace/mingw -ot ghc-tarballs/mingw/mingwrt*-dll.tar.gz ||
test inplace/mingw -ot ghc-tarballs/mingw/w32api*.tar.lzma
then
AC_MSG_NOTICE([Making in-tree mingw tree])
rm -rf inplace/mingw
- mkdir inplace
mkdir inplace/mingw
(
cd inplace/mingw &&
- tar --lzma -xf ../../ghc-tarballs/mingw/binutils*.tar.lzma &&
- tar --lzma -xf ../../ghc-tarballs/mingw/gcc-core*.tar.lzma &&
- tar --lzma -xf ../../ghc-tarballs/mingw/gcc-c++*.tar.lzma &&
- tar -z -xf ../../ghc-tarballs/mingw/mingwrt*.tar.gz &&
- tar --lzma -xf ../../ghc-tarballs/mingw/w32api*.tar.lzma &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/binutils*.tar.lzma &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/gcc-core*.tar.lzma &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/gcc-c++*.tar.lzma &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/libgmp*.tar.lzma &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/libmpc*.tar.lzma &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/libmpfr*.tar.lzma &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/libstdc*.tar.lzma &&
+ tar -z -xf ../../ghc-tarballs/mingw/mingwrt*-dev.tar.gz &&
+ tar -z -xf ../../ghc-tarballs/mingw/mingwrt*-dll.tar.gz &&
+ tar --lzma -xf ../../ghc-tarballs/mingw/w32api*.tar.lzma &&
mv bin/gcc.exe bin/realgcc.exe
)
- inplace/mingw/bin/realgcc.exe driver/gcc/gcc.c driver/utils/cwrapper.c driver/utils/getLocation.c -Idriver/utils -o inplace/mingw/bin/gcc.exe
+ PATH=`pwd`/inplace/mingw/bin:$PATH inplace/mingw/bin/realgcc.exe driver/gcc/gcc.c driver/utils/cwrapper.c driver/utils/getLocation.c -Idriver/utils -o inplace/mingw/bin/gcc.exe
+ if ! test -e inplace/mingw/bin/gcc.exe
+ then
+ AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
+ fi
AC_MSG_NOTICE([In-tree mingw tree created])
fi
if ! test -d inplace/perl ||
dnl ** does #! work?
AC_SYS_INTERPRETER()
-dnl ** look for `perl', but only in /bin on Windows
+dnl ** look for `perl'
case $HostOS_CPP in
cygwin32|mingw32)
- AC_CHECK_PROG(PerlCmd,perl,/bin/perl,,/bin)
- if test -z "$PerlCmd"; then
- echo "You must install the version of Perl shipped with GHC"
- echo "(or a compatible one) in /bin."
- exit 1
- fi
- ;;
+ PerlCmd=$hardtop/inplace/perl/perl
+ ;;
*)
- AC_PATH_PROG(PerlCmd,perl)
- if test -z "$PerlCmd"; then
- echo "You must install perl before you can continue"
- echo "Perhaps it is already installed, but not in your PATH?"
- exit 1
- else
- FPTOOLS_CHECK_PERL_VERSION
- fi
- ;;
+ AC_PATH_PROG(PerlCmd,perl)
+ if test -z "$PerlCmd"
+ then
+ echo "You must install perl before you can continue"
+ echo "Perhaps it is already installed, but not in your PATH?"
+ exit 1
+ else
+ FPTOOLS_CHECK_PERL_VERSION
+ fi
+ ;;
esac
dnl ** does #! path/to/perl work? (sometimes it's too long...)
dnl
FP_HAVE_GCC
-FPTOOLS_SET_C_LD_FLAGS([target],[CFLAGS],[LDFLAGS])
-FPTOOLS_SET_C_LD_FLAGS([build],[CONF_CC_OPTS_STAGE0],[CONF_LD_OPTS_STAGE0])
-FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE1],[CONF_LD_OPTS_STAGE1])
+FPTOOLS_SET_C_LD_FLAGS([target],[CFLAGS],[LDFLAGS],[CPPFLAGS])
+FPTOOLS_SET_C_LD_FLAGS([build],[CONF_CC_OPTS_STAGE0],[CONF_LD_OPTS_STAGE0],[CONF_CPP_OPTS_STAGE0])
+FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE1],[CONF_LD_OPTS_STAGE1],[CONF_CPP_OPTS_STAGE1])
# Stage 3 won't be supported by cross-compilation
-FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE2],[CONF_LD_OPTS_STAGE2])
+FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE2],[CONF_LD_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2])
FP_GCC_EXTRA_FLAGS
AC_SUBST(CONF_LD_OPTS_STAGE0)
AC_SUBST(CONF_LD_OPTS_STAGE1)
AC_SUBST(CONF_LD_OPTS_STAGE2)
+AC_SUBST(CONF_CPP_OPTS_STAGE0)
+AC_SUBST(CONF_CPP_OPTS_STAGE1)
+AC_SUBST(CONF_CPP_OPTS_STAGE2)
dnl ** figure out how to do context diffs
FP_PROG_CONTEXT_DIFF
[AC_MSG_RESULT(no)])
CFLAGS="$CFLAGS2"
+FP_VISIBILITY_HIDDEN
+
dnl ** check for librt
AC_CHECK_LIB(rt, clock_gettime)
AC_CHECK_FUNCS(clock_gettime timer_create timer_settime)
AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them])
fi
-AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml docs/index.html libraries/prologue.txt distrib/ghc.iss distrib/configure.ac])
+AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal utils/runghc/runghc.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml docs/index.html libraries/prologue.txt distrib/ghc.iss distrib/configure.ac distrib/MacOS/installer-scripts/create-links distrib/MacOS/installer-scripts/Uninstaller distrib/MacOS/GHC-system.pmdoc/index.xml])
AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
AC_OUTPUT