# Do "./configure --help" to see what flags are available.
# (Better yet, read the documentation!)
#
+AC_INIT(mk/platform.mk)
+
# -------------------------------------------------------------------------
-AC_INIT(STARTUP.in)
-#
# Prepare to generate the following header files
#
-AC_CONFIG_HEADER(ghc/includes/config.h literate/config.h)
-# ToDo !!!!!!!!!!!!!!!!
-#
+AC_CONFIG_HEADER(ghc/includes/config.h literate/lit-deatify/config.h)
+
# No, we don't do `--srcdir'...
if test x"$srcdir" != 'x.' ; then
echo "This configuration does not support the \`--srcdir' option."
exit 1
fi
+hardtop=`pwd`
+hardtop=`echo $hardtop | sed 's|^/tmp_mnt/|/|' | sed 's|^/export/|/|' | sed 's|^/grasp_tmp|/local/grasp_tmp|'`
+echo ''
+echo "*** The top of your build tree is: $hardtop"
+AC_SUBST(hardtop)
+
# -------------------------------------------------------------------------
-dnl ** choose what blobs to build (ghc,haggis,happy,nofib,????)
+dnl ** choose what blobs to build (ghc,hslibs,haggis,happy,nofib,????)
# set to the name for the dir if doing it, otherwise empty
-DoingGHC='ghc'
+DoingHsLibs=''
DoingNoFib=''
DoingHappy=''
DoingHaggis=''
-# the following are not normally changed
-DoingLiterate='literate'
-DoingMkWorld='mkworld'
-DoingGlaFpUtils='glafp-utils'
-
MkWorldSetup='std'
-AC_ARG_ENABLE(ghc,
+AC_ARG_ENABLE(hslibs,
[
**********************************************************************
* Configuration options for the Glasgow functional-programming tools *
**********************************************************************
-First, select *which* of the tools you want to build,
-with --{enable,disable}-{ghc,nofib,happy,haggis}.
-(The default is: only GHC (Glasgow Haskell compiler).)
+First, select *which* of the tools you want to build, with
+--{enable,disable}-{hslibs,nofib,happy,haggis}. (Currently, you have to
+build ghc.)
-Second, you may set one of a few applies-in-all-cases options.
-For example, --with-tmpdir=/usr/tmp.
+Second, you may set one of a few applies-in-all-cases options. For
+example, --with-tmpdir=/usr/tmp.
-Then you may set various options which are specifically for the
-tools you choose in step 1. For GHC, perhaps --enable-concurrent.
-For NoFib, perhaps --enable-all-tests. And so on.
+Then you may set various options which are specifically for the tools you
+choose in step 1. For GHC, perhaps --enable-concurrent. For NoFib,
+perhaps --enable-all-tests. And so on.
-The rest of this message lists all of the configure options. If the
-option is enabled by default, the message says how to disable it. And
-vice versa.
+The rest of this message lists all of the configure options. If the option
+is enabled by default, the message says how to disable it. And vice versa.
-If you are confused, don't forget the installation documents that came
-with the software!
+If you are confused, don't forget the installation documents that came with
+the software!
*******************************************************************
-** FOR SELECTING WHICH GLASGOW FP TOOLS TO BUILD:
-
---disable-ghc do *not* build GHC as part of Glasgow FP tools],
+** FOR SELECTING WHICH GLASGOW FP TOOLS TO BUILD:]
+ [--enable-hslibs build suite of Haskell libraries],
[case "$enableval" in
- yes) DoingGHC='ghc'
+ yes) DoingHsLibs='hslibs'
;;
- no) DoingGHC=''
+ no) DoingHsLibs=''
;;
- *) echo "I don't understand this option: --enable-ghc=$enableval"
+ *) echo "I don't understand this option: --enable-hslibs=$enableval"
exit 1
;;
esac])
-if test "xxx$DoingGHC" = 'xxxghc' -a \( ! -d ghc \) ; then
- DoingGHC=''
- echo 'Doing --disable-ghc, as there is no ghc directory'
-fi
-ghc_mkworld_site_ghc_jm='ghc/mkworld/site-ghc.jm'
-ghc_includes_platform_h='ghc/includes/platform.h'
-# duznae work: ghc_includes_config_h='ghc/includes/config.h'
-if test "xxx$DoingGHC" = 'xxx' ; then
- ghc_mkworld_site_ghc_jm=''
- ghc_includes_platform_h=''
-# ghc_includes_config_h=''
+if test "xxx$DoingHsLibs" = 'xxxhslibs' -a \( ! -d hslibs \) ; then
+ DoingHsLibs=''
+ echo 'Doing --disable-hslibs, as there is no hslibs directory'
fi
AC_ARG_ENABLE(nofib,
DoingNoFib=''
echo 'Doing --disable-nofib, as there is no nofib directory'
fi
-nofib_mkworld_site_nofib_jm='nofib/mkworld/site-nofib.jm'
-if test "xxx$DoingNoFib" = 'xxx' ; then
- nofib_mkworld_site_nofib_jm=''
-fi
AC_ARG_ENABLE(happy,
[--enable-happy build Happy parser-generator as part of Glasgow FP tools],
fi
AC_ARG_ENABLE(haggis,
- [--disable-haggis build Haggis GUI toolkit as part of Glasgow FP tools],
+ [--enable-haggis build Haggis GUI toolkit as part of Glasgow FP tools],
[case "$enableval" in
yes) DoingHaggis='haggis'
;;
echo 'Doing --disable-haggis, as there is no haggis directory'
fi
-AC_ARG_ENABLE(literate,
- [
-The following three are \`for hackers only':
---disable-literate do *not* build literate-programming stuff],
- [case "$enableval" in
- yes) DoingLiterate='literate'
- ;;
- no) DoingLiterate=''
- ;;
- *) echo "I don't understand this option: --enable-literate=$enableval"
- exit 1
- ;;
- esac])
-if test "xxx$DoingLiterate" = 'xxxliterate' -a \( ! -d literate \) ; then
- DoingLiterate=''
- echo 'Doing --disable-literate, as there is no literate directory'
-fi
-
-AC_ARG_ENABLE(mkworld,
- [--disable-mkworld do *not* build \`mkworld' configuration stuff],
- [case "$enableval" in
- yes) DoingMkWorld='mkworld'
- ;;
- no) DoingMkWorld=''
- ;;
- *) echo "I don't understand this option: --enable-mkworld=$enableval"
- exit 1
- ;;
- esac])
-if test "xxx$DoingMkWorld" = 'xxxmkworld' -a \( ! -d mkworld \) ; then
- DoingMkWorld=''
- echo 'Doing --disable-mkworld, as there is no mkworld directory'
-fi
-
-AC_ARG_ENABLE(glafp-utils,
- [--disable-glafp-utils do *not* build \`glafp utilities'],
- [case "$enableval" in
- yes) DoingGlaFpUtils='glafp-utils'
- ;;
- no) DoingGlaFpUtils=''
- ;;
- *) echo "I don't understand this option: --enable-glafp-utils=$enableval"
- exit 1
- ;;
- esac])
-if test "xxx$DoingGlaFpUtils" = 'xxxglafp-utils' -a \( ! -d glafp-utils \) ; then
- DoingGlaFpUtils=''
- echo 'Doing --disable-glafp-utils, as there is no glafp-utils directory'
-fi
-
-AC_SUBST(DoingGHC)
+AC_SUBST(DoingHsLibs)
AC_SUBST(DoingNoFib)
AC_SUBST(DoingHappy)
AC_SUBST(DoingHaggis)
-AC_SUBST(DoingLiterate)
-AC_SUBST(DoingMkWorld)
-AC_SUBST(DoingGlaFpUtils)
# -------------------------------------------------------------------------
dnl ** choose host(/target/build) platform
# Partly stolen from GCC "configure".
#
if test "x$target" = xNONE ; then
- if test "x$nonopt" != xNONE; then
+ if test "x$nonopt" != xNONE ; then
target=$nonopt
else
# This way of testing the result of a command substitution is
else
echo 'Config.guess failed to determine the host type. You need \
to specify one.' 1>&2
- if [ -r config.status ]
- then
+ if test -r config.status ; then
tail +2 config.status 1>&2
fi
exit 1
# We also record the architecture, vendor, and operating system (OS)
# separately.
case $HostPlatform in
-alpha-dec-osf1* | alpha-dec-osf2*)
+alpha-dec-osf[[1234]]*)
HostPlatform=alpha-dec-osf1 # canonicalise for our purposes
TargetPlatform=alpha-dec-osf1 # this will work for now... (hack)
BuildPlatform=alpha-dec-osf1 #hack
HostVendor_CPP='hp'
HostOS_CPP='hpux'
;;
-i386-*-linuxaout*)
+i[[3456]]86-*-linuxaout*)
HostPlatform=i386-unknown-linuxaout # hack again
TargetPlatform=i386-unknown-linuxaout
BuildPlatform=i386-unknown-linuxaout
HostVendor_CPP='unknown'
HostOS_CPP='linuxaout'
;;
-i486-*-linuxaout*)
- HostPlatform=i386-unknown-linuxaout # hack again: NB: name for arch is *i386*!
- TargetPlatform=i386-unknown-linuxaout
- BuildPlatform=i386-unknown-linuxaout
- HostPlatform_CPP='i386_unknown_linuxaout'
- HostArch_CPP='i386'
- HostVendor_CPP='unknown'
- HostOS_CPP='linuxaout'
- ;;
-i386-*-linux*)
+i[[3456]]86-*-linux*)
HostPlatform=i386-unknown-linux # hack again
TargetPlatform=i386-unknown-linux
BuildPlatform=i386-unknown-linux
HostVendor_CPP='unknown'
HostOS_CPP='linux'
;;
-i486-*-linux*)
- HostPlatform=i386-unknown-linux # hack again: NB: name for arch is *i386*!
- TargetPlatform=i386-unknown-linux
- BuildPlatform=i386-unknown-linux
- HostPlatform_CPP='i386_unknown_linux'
- HostArch_CPP='i386'
- HostVendor_CPP='unknown'
- HostOS_CPP='linux'
- ;;
-i386-*-freebsd*)
- HostPlatform_CPP='i386_unknown_freebsd'
- HostArch_CPP='i386'
- HostVendor_CPP='unknown'
- HostOS_CPP='freebsd'
- ;;
-i486-*-freebsd*)
+i[[3456]]86-*-freebsd*)
+ HostPlatform=i386-unknown-freebsd # hack again
+ TargetPlatform=i386-unknown-freebsd
+ BuildPlatform=i386-unknown-freebsd
HostPlatform_CPP='i386_unknown_freebsd'
HostArch_CPP='i386'
HostVendor_CPP='unknown'
HostOS_CPP='freebsd'
;;
-i386-*-netbsd*)
+i[[3456]]86-*-netbsd*)
+ HostPlatform=i386-unknown-netbsd # hack again
+ TargetPlatform=i386-unknown-netbsd
+ BuildPlatform=i386-unknown-netbsd
HostPlatform_CPP='i386_unknown_netbsd'
HostArch_CPP='i386'
HostVendor_CPP='unknown'
HostOS_CPP='netbsd'
;;
-i486-*-netbsd*)
- HostPlatform_CPP='i386_unknown_netbsd'
- HostArch_CPP='i386'
- HostVendor_CPP='unknown'
- HostOS_CPP='netbsd'
- ;;
-i386-*-solaris2*)
+i[[3456]]86-*-solaris2*)
HostPlatform=i386-unknown-solaris2 # hack again
TargetPlatform=i386-unknown-solaris2
BuildPlatform=i386-unknown-solaris2
HostVendor_CPP='next'
HostOS_CPP='nextstep3'
;;
-i386-next-nextstep3)
+i[[3456]]86-next-nextstep3)
HostPlatform=i386-next-nextstep3 # hack again
TargetPlatform=i386-next-nextstep3
BuildPlatform=i386-next-nextstep3
fi
fi
+dnl ** Find lex command (lex or flex) and library (-ll or -lfl)
+#
+AC_PROG_LEX
+
#--------------------------------------------------------------
WithHc='haskell-compiler-unspecified'
WithHcType='HC_UNSPECIFIED'
c | C) WithHc='C'
;;
in-place )
- WithHc='IN-PLACE'
+ WithHc='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc=$withval"
exit 1
c | C) WithHcType='HC_USE_HC_FILES'
;;
IN-PLACE) WithHcType='HC_GLASGOW_GHC'
+ WithHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithHc)
AC_SUBST(WithHcType)
+dnl ** Possibly use something else instead of 'gcc'.
+WhatGccIsCalled=gcc
+AC_ARG_WITH(gcc,
+ [--with-gcc=<gcc command>
+ Use a different command instead of 'gcc' for the GNU C compiler.],
+ [HaveGcc=YES; WhatGccIsCalled="$withval"])
+AC_SUBST(WhatGccIsCalled)
+
+dnl ** Choose which make to use (default 'make')
+MakeCmd='make'
+AC_ARG_WITH(make,
+ [
+--with-make=<make command>
+ Use an alternate command instead of 'make'. This is useful
+ when GNU make is required (for instance when the default make
+ supplied by the system won't work, as is the case on FreeBSD
+ and NetBSD).],
+ [MakeCmd="$withval"])
+AC_SUBST(MakeCmd)
+
dnl ** possibly choose a different tmpdir (default /tmp)
# let the user decide where the best tmpdir is
# /tmp is the default; /usr/tmp is sometimes a good choice.
# Very site-specific.
TmpDir='/tmp'
AC_ARG_WITH(tmpdir,
- [--with-tmpdir=<temp directory> Use an alternative directory for
-temporary files (presumably because /tmp is too small).],
+ [
+--with-tmpdir=<temp directory>
+ Use an alternative directory for temporary files (presumably
+ because /tmp is too small).],
[TmpDir="$withval"])
AC_SUBST(TmpDir)
dnl ** possibly set a max heap for Haskell compilations
-# let the user specify a maximum heap to be used; the old
-# "I have a 64MB machine, why not use a 32MB heap?" thing.
-HcMaxHeapWasSet='NO'
-HcMaxHeap='0'
+HcMaxHeapFlag=''
AC_ARG_WITH(max-heap,
[
---with-max-heap=<heap size, e.g., 32m> Do all Haskell compilations
-with a heap of this size. (If you've got it, flaunt it.)],
- [HcMaxHeapWasSet='YES'
- HcMaxHeap="$withval"])
-AC_SUBST(HcMaxHeapWasSet)
-AC_SUBST(HcMaxHeap)
+--with-max-heap=<heap size, e.g., 32m>
+ Do all Haskell compilations with a heap of this size.],
+ [HcMaxHeapFlag="-H$withval"])
+AC_SUBST(HcMaxHeapFlag)
+
+dnl ** possibly set a max stack for Haskell compilations
+HcMaxStackFlag=''
+AC_ARG_WITH(max-stack,
+ [
+--with-max-stack=<stack size, e.g., 4m>
+ Do all Haskell compilations with a stack of this size.],
+ [HcMaxStackFlag="-K$withval"])
+AC_SUBST(HcMaxStackFlag)
dnl ** figure out about mkdependHS
-MkDependHSCmd=':'
+MkDependHSCmd='mkdependHS'
if test -f ./ghc/utils/mkdependHS/mkdependHS \
-o -f ./ghc/utils/mkdependHS/mkdependHS.prl ; then
MkDependHSCmd='TopDirPwd/ghc/utils/mkdependHS/mkdependHS'
-else
- AC_CHECK_PROG(have_mkdependHS,mkdependHS,YES,NO)
- if test $have_mkdependHS = 'YES' ; then
- MkDependHSCmd='mkdependHS'
- fi
fi
+AC_ARG_WITH(mkdependHS,
+ [--with-mkdependHS=<mkdependHS command>
+ Use a different command instead of 'mkdependHS'.],
+ [MkDependHSCmd="$withval"])
+dnl AC_CHECK_PROG(have_mkdependHS,$MkDependHSCmd,YES,NO)
+dnl if test $have_mkdependHS = 'NO' ; then
+dnl MkDependHSCmd=':'
+dnl fi
AC_SUBST(MkDependHSCmd)
# -------------------------------------------------------------------------
echo > conftest.c
gcc -v -E conftest.c >/dev/null 2>conftest.out
echo '/(\S+\/cpp)/ && print "$1";' > conftest.pl
+ # GNUCPP: used in jmake.c (GnuCppCmd) and in mkdependC
+ # (where we could do with the usual pre-#defines)
GNUCPP="`eval $PerlCmd -n conftest.pl conftest.out`"
test -n "$verbose" && echo " setting GNUCPP to $GNUCPP"
+ # RAWCPP: we do not want *any* pre-#defines...
+ # (e.g., hscpp, mkdependHS)
RAWCPP="`eval $PerlCmd -n conftest.pl conftest.out` -traditional"
test -n "$verbose" && echo " setting RAWCPP to $RAWCPP"
rm -fr conftest*
elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
ArCmd="$ArCmd cq"
NeedRanLib='YES'
+elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
+ ArCmd="$ArCmd cq"
+ NeedRanLib='YES'
else
echo "I can't figure out how to use your $ArCmd"
exit 1
#
dnl ** check for specific header (.h) files that we are interested in
#
-AC_CHECK_HEADERS(dirent.h fcntl.h grp.h malloc.h memory.h nlist.h pwd.h siginfo.h signal.h stdlib.h string.h sys/fault.h sys/file.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termios.h time.h types.h unistd.h utime.h vfork.h )
+AC_CHECK_HEADERS(dirent.h fcntl.h grp.h malloc.h memory.h nlist.h pwd.h siginfo.h signal.h stdlib.h string.h sys/fault.h sys/file.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termios.h time.h types.h unistd.h utime.h vfork.h )
#
dnl ** check if it is safe to include both <time.h> and <sys/time.h>
#
#
AC_TYPE_SIGNAL
#
-dnl ** decide whether or not flex lexers need to be linked with -lfl
-#
-AC_CHECK_LIB(fl,yywrap,
- FlexLibAvailable='YES',
- FlexLibAvailable='NO')
-AC_SUBST(FlexLibAvailable)
-#
-dnl ** Decide whether or not lex lexers need to be linked with -ll
-# (Linux, for example, does not have "lex", only "flex")
-#
-AC_CHECK_LIB(l,yywrap,
- LexLibAvailable='YES',
- LexLibAvailable='NO')
-AC_SUBST(LexLibAvailable)
-#
dnl ** check for specific library functions that we are interested in
#
AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect setitimer stat sysconf timelocal times vadvise vfork)
}], LeadingUnderscore='YES', LeadingUnderscore='NO', LeadingUnderscore='YES')
test -n "$verbose" && echo " setting LeadingUnderscore to $LeadingUnderscore"
-# -------------------------------------------------------------------------
-dnl
-dnl * `GHC' CONFIGURATION STUFF
-
-if test "xxx$DoingGHC" = 'xxxghc' ; then
-# a very big "if"!
-#
+dnl -------------------------------------------------------
dnl ** which builds to build?
+dnl ** (applies to anything w/ libraries (ghc, hslibs, ???)
+dnl -------------------------------------------------------
# builds: normal = sequential _ap_o ; _p = profiling (sequential);
# _t = ticky; _u = unregisterized
-GhcBuild_normal='YES'
-GhcBuild_p='YES'
-GhcBuild_t='NO'
-GhcBuild_u='NO'
+Build_normal='YES'
+Build_p='YES'
+Build_t='NO'
+Build_u='NO'
# _mc = concurrent; _mr = profiled concurrent; _mt = ticky concurrent
# _mp = parallel; _mg = gransim
-GhcBuild_mc='NO'
-GhcBuild_mr='NO'
-GhcBuild_mt='NO'
-GhcBuild_mp='NO'
-GhcBuild_mg='NO'
+Build_mc='NO'
+Build_mr='NO'
+Build_mt='NO'
+Build_mp='NO'
+Build_mg='NO'
# GC builds: _2s, _1s, _du (, _gn)
-GhcBuild_2s='NO'
-GhcBuild_1s='NO'
-GhcBuild_du='NO'
+Build_2s='NO'
+Build_1s='NO'
+Build_du='NO'
# user builds: a...o
-GhcBuild_a='NO'
-GhcBuild_b='NO'
-GhcBuild_c='NO'
-GhcBuild_d='NO'
-GhcBuild_e='NO'
-GhcBuild_f='NO'
-GhcBuild_g='NO'
-GhcBuild_h='NO'
-GhcBuild_i='NO'
-GhcBuild_j='NO'
-GhcBuild_k='NO'
-GhcBuild_l='NO'
-GhcBuild_m='NO'
-GhcBuild_n='NO'
-GhcBuild_o='NO'
-GhcBuild_A='NO'
-GhcBuild_B='NO'
+Build_a='NO'
+Build_b='NO'
+Build_c='NO'
+Build_d='NO'
+Build_e='NO'
+Build_f='NO'
+Build_g='NO'
+Build_h='NO'
+Build_i='NO'
+Build_j='NO'
+Build_k='NO'
+Build_l='NO'
+Build_m='NO'
+Build_n='NO'
+Build_o='NO'
+Build_A='NO'
+Build_B='NO'
# More could be added here...
AC_ARG_ENABLE(normal-build,
--disable-normal-build do *not* build GHC for normal sequential code],
[case "$enableval" in
- yes) GhcBuild_normal='YES'
+ yes) Build_normal='YES'
;;
- no) GhcBuild_normal='NO'
+ no) Build_normal='NO'
;;
*) echo "I don't understand this option: --enable-normal-build=$enableval"
exit 1
AC_ARG_ENABLE(profiling,
[--disable-profiling do *not* build profiling features],
[case "$enableval" in
- yes) GhcBuild_p='YES'
+ yes) Build_p='YES'
;;
- no) GhcBuild_p='NO'
+ no) Build_p='NO'
;;
*) echo "I don't understand this option: --enable-profiling=$enableval"
exit 1
AC_ARG_ENABLE(ticky,
[--enable-ticky build for \`ticky-ticky' profiling (for implementors)],
[case "$enableval" in
- yes) GhcBuild_t='YES'
+ yes) Build_t='YES'
;;
- no) GhcBuild_t='NO'
+ no) Build_t='NO'
;;
*) echo "I don't understand this option: --enable-ticky=$enableval"
exit 1
AC_ARG_ENABLE(concurrent,
[--enable-concurrent turn on \`concurrent Haskell' features],
[case "$enableval" in
- yes) GhcBuild_mc='YES'
+ yes) Build_mc='YES'
;;
- no) GhcBuild_mc='NO'
+ no) Build_mc='NO'
;;
*) echo "I don't understand this option: --enable-concurrent=$enableval"
exit 1
AC_ARG_ENABLE(profiled-concurrent,
[--enable-profiled-concurrent turn on profiling for \`concurrent Haskell'],
[case "$enableval" in
- yes) GhcBuild_mr='YES'
+ yes) Build_mr='YES'
;;
- no) GhcBuild_mr='NO'
+ no) Build_mr='NO'
;;
*) echo "I don't understand this option: --enable-profiled-concurrent=$enableval"
exit 1
AC_ARG_ENABLE(ticky-concurrent,
[--enable-ticky-concurrent turn on \`ticky-ticky' profiling for \`concurrent Haskell'],
[case "$enableval" in
- yes) GhcBuild_mt='YES'
+ yes) Build_mt='YES'
;;
- no) GhcBuild_mt='NO'
+ no) Build_mt='NO'
;;
*) echo "I don't understand this option: --enable-ticky-concurrent=$enableval"
exit 1
AC_ARG_ENABLE(parallel,
[--enable-parallel turn on \`parallel Haskell' features],
[case "$enableval" in
- yes) GhcBuild_mp='YES';
+ yes) Build_mp='YES';
;;
- no) GhcBuild_mp='NO'
+ no) Build_mp='NO'
;;
*) echo "I don't understand this option: --enable-parallel=$enableval"
exit 1
AC_ARG_ENABLE(gransim,
[--enable-gransim turn on GranSim parallel simulator],
[case "$enableval" in
- yes) GhcBuild_mg='YES';
+ yes) Build_mg='YES';
;;
- no) GhcBuild_mg='NO'
+ no) Build_mg='NO'
;;
*) echo "I don't understand this option: --enable-gransim=$enableval"
exit 1
AC_ARG_ENABLE(gc-2s,
[--enable-gc-2s a build with the 2-space copying garbage collector],
[case "$enableval" in
- yes) GhcBuild_2s='YES'
+ yes) Build_2s='YES'
;;
- no) GhcBuild_2s='NO'
+ no) Build_2s='NO'
;;
*) echo "I don't understand this option: --enable-gc-2s=$enableval"
exit 1
AC_ARG_ENABLE(gc-1s,
[--enable-gc-1s a build with the 1-space compacting garbage collector],
[case "$enableval" in
- yes) GhcBuild_1s='YES'
+ yes) Build_1s='YES'
;;
- no) GhcBuild_1s='NO'
+ no) Build_1s='NO'
;;
*) echo "I don't understand this option: --enable-gc-1s=$enableval"
exit 1
AC_ARG_ENABLE(gc-du,
[--enable-gc-du a build with \`dual-mode' (1s/2s) garbage collector],
[case "$enableval" in
- yes) GhcBuild_du='YES'
+ yes) Build_du='YES'
;;
- no) GhcBuild_du='NO'
+ no) Build_du='NO'
;;
*) echo "I don't understand this option: --enable-gc-du=$enableval"
exit 1
;;
esac])
-dnl some seds only allow 99 commands, meaning no more
-dnl than 99 AC_SUBSTs. AARRGGHH!!
-dnl AC_ARG_ENABLE(user-way-a,
-dnl [--enable-user-way-a build for \`user way a' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_a='YES'
-dnl ;;
-dnl no) GhcBuild_a='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-a=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-b,
-dnl [--enable-user-way-b build for \`user way b' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_b='YES'
-dnl ;;
-dnl no) GhcBuild_b='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-b=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-c,
-dnl [--enable-user-way-c build for \`user way c' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_c='YES'
-dnl ;;
-dnl no) GhcBuild_c='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-c=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-d,
-dnl [--enable-user-way-d build for \`user way d' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_d='YES'
-dnl ;;
-dnl no) GhcBuild_d='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-d=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-e,
-dnl [--enable-user-way-e build for \`user way e' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_e='YES'
-dnl ;;
-dnl no) GhcBuild_e='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-e=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-f,
-dnl [--enable-user-way-f build for \`user way f' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_f='YES'
-dnl ;;
-dnl no) GhcBuild_f='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-f=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-g,
-dnl [--enable-user-way-g build for \`user way g' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_g='YES'
-dnl ;;
-dnl no) GhcBuild_g='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-g=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-h,
-dnl [--enable-user-way-h build for \`user way h' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_h='YES'
-dnl ;;
-dnl no) GhcBuild_h='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-h=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-i,
-dnl [--enable-user-way-i build for \`user way i' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_i='YES'
-dnl ;;
-dnl no) GhcBuild_i='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-i=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-j,
-dnl [--enable-user-way-j build for \`user way j' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_j='YES'
-dnl ;;
-dnl no) GhcBuild_j='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-j=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-k,
-dnl [--enable-user-way-k build for \`user way k' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_k='YES'
-dnl ;;
-dnl no) GhcBuild_k='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-k=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-l,
-dnl [--enable-user-way-l build for \`user way l' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_l='YES'
-dnl ;;
-dnl no) GhcBuild_l='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-l=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-m,
-dnl [--enable-user-way-m build for \`user way m' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_m='YES'
-dnl ;;
-dnl no) GhcBuild_m='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-m=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-n,
-dnl [--enable-user-way-n build for \`user way n' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_n='YES'
-dnl ;;
-dnl no) GhcBuild_n='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-n=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-o,
-dnl [--enable-user-way-o build for \`user way o' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_o='YES'
-dnl ;;
-dnl no) GhcBuild_o='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-o=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-A,
-dnl [--enable-user-way-A build for \`user way A' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_A='YES'
-dnl ;;
-dnl no) GhcBuild_A='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-A=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-dnl AC_ARG_ENABLE(user-way-B,
-dnl [--enable-user-way-B build for \`user way B' (mostly for implementors)],
-dnl [case "$enableval" in
-dnl yes) GhcBuild_B='YES'
-dnl ;;
-dnl no) GhcBuild_B='NO'
-dnl ;;
-dnl *) echo "I don't understand this option: --enable-user-way-B=$enableval"
-dnl exit 1
-dnl ;;
-dnl esac])
-dnl
-AC_SUBST(GhcBuild_normal)
-AC_SUBST(GhcBuild_p)
-AC_SUBST(GhcBuild_t)
-AC_SUBST(GhcBuild_u)
-AC_SUBST(GhcBuild_mc)
-AC_SUBST(GhcBuild_mr)
-AC_SUBST(GhcBuild_mt)
-AC_SUBST(GhcBuild_mp)
-AC_SUBST(GhcBuild_mg)
-AC_SUBST(GhcBuild_2s)
-AC_SUBST(GhcBuild_1s)
-AC_SUBST(GhcBuild_du)
-dnl AC_SUBST(GhcBuild_a)
-dnl AC_SUBST(GhcBuild_b)
-dnl AC_SUBST(GhcBuild_c)
-dnl AC_SUBST(GhcBuild_d)
-dnl AC_SUBST(GhcBuild_e)
-dnl AC_SUBST(GhcBuild_f)
-dnl AC_SUBST(GhcBuild_g)
-dnl AC_SUBST(GhcBuild_h)
-dnl AC_SUBST(GhcBuild_i)
-dnl AC_SUBST(GhcBuild_j)
-dnl AC_SUBST(GhcBuild_k)
-dnl AC_SUBST(GhcBuild_l)
-dnl AC_SUBST(GhcBuild_m)
-dnl AC_SUBST(GhcBuild_n)
-dnl AC_SUBST(GhcBuild_o)
-dnl AC_SUBST(GhcBuild_A)
-dnl AC_SUBST(GhcBuild_B)
-
-#---------------------------------------------------------------
-#
+AC_ARG_ENABLE(user-way-a,
+ [--enable-user-way-a build for \`user way a' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_a='YES'
+ ;;
+ no) Build_a='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-a=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-b,
+ [--enable-user-way-b build for \`user way b' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_b='YES'
+ ;;
+ no) Build_b='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-b=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-c,
+ [--enable-user-way-c build for \`user way c' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_c='YES'
+ ;;
+ no) Build_c='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-c=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-d,
+ [--enable-user-way-d build for \`user way d' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_d='YES'
+ ;;
+ no) Build_d='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-d=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-e,
+ [--enable-user-way-e build for \`user way e' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_e='YES'
+ ;;
+ no) Build_e='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-e=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-f,
+ [--enable-user-way-f build for \`user way f' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_f='YES'
+ ;;
+ no) Build_f='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-f=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-g,
+ [--enable-user-way-g build for \`user way g' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_g='YES'
+ ;;
+ no) Build_g='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-g=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-h,
+ [--enable-user-way-h build for \`user way h' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_h='YES'
+ ;;
+ no) Build_h='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-h=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-i,
+ [--enable-user-way-i build for \`user way i' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_i='YES'
+ ;;
+ no) Build_i='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-i=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-j,
+ [--enable-user-way-j build for \`user way j' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_j='YES'
+ ;;
+ no) Build_j='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-j=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-k,
+ [--enable-user-way-k build for \`user way k' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_k='YES'
+ ;;
+ no) Build_k='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-k=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-l,
+ [--enable-user-way-l build for \`user way l' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_l='YES'
+ ;;
+ no) Build_l='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-l=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-m,
+ [--enable-user-way-m build for \`user way m' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_m='YES'
+ ;;
+ no) Build_m='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-m=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-n,
+ [--enable-user-way-n build for \`user way n' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_n='YES'
+ ;;
+ no) Build_n='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-n=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-o,
+ [--enable-user-way-o build for \`user way o' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_o='YES'
+ ;;
+ no) Build_o='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-o=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-A,
+ [--enable-user-way-A build for \`user way A' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_A='YES'
+ ;;
+ no) Build_A='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-A=$enableval"
+ exit 1
+ ;;
+ esac])
+
+AC_ARG_ENABLE(user-way-B,
+ [--enable-user-way-B build for \`user way B' (mostly for implementors)],
+ [case "$enableval" in
+ yes) Build_B='YES'
+ ;;
+ no) Build_B='NO'
+ ;;
+ *) echo "I don't understand this option: --enable-user-way-B=$enableval"
+ exit 1
+ ;;
+ esac])
+
+dnl We do not use AC_SUBST to communicate the Build_* info,
+dnl as some seds (notably OSF) only allow 99 commands (!!!).
+dnl We will do the equivalent by a HACK further down.
+
+# -------------------------------------------------------------------------
+dnl GHC CONFIGURATION STUFF
+
dnl ** which Haskell compiler to bootstrap GHC with?
# Figure out what Haskell compiler(s) to use for booting
#
# first, the defaults...
WithGhcHc='haskell-compiler-unspecified'
WithGhcHcType='HC_UNSPECIFIED'
-GhcBuilderVersion='26'
+GhcBuilderVersion='28'
AC_ARG_WITH(hc-for-ghc,
[
AC_SUBST(GhcWithRegisterised)
if test $GhcWithRegisterised = 'NO'; then
- GhcBuild_u='YES'
- GhcBuild_normal='NO'
- GhcBuild_p='NO'
+ Build_u='YES'
+ Build_normal='NO'
+ Build_p='NO'
fi
# ToDo: make sure we can do concurrent for platform/circs...
# ToDo: make sure we can do profiling for platform/circs...
esac])
AC_SUBST(GhcWithSockets)
-dnl ** build the interpreter?
-BuildGHCI='NO'
-AC_ARG_ENABLE(ghci,
- [--enable-ghci build Glasgow Haskell interpreter (HACKERS ONLY)],
- [case "$enableval" in
- yes) BuildGHCI='YES'
- ;;
- no) BuildGHCI='NO'
- ;;
- *) echo "I don't understand this option: --enable-ghci=$enableval"
- exit 1
- ;;
+# Here, by HACK means, we dump all the Build_ info
+# into a file. See comment above.
+rm -f ghc/mk/buildinfo.mk
+echo creating ghc/mk/buildinfo.mk
+touch ghc/mk/buildinfo.mk
+for xx in normal p t u mc mr mt mp mg 2s 1s du a b c d e f g h i j k l m n o A B ; do
+ eval "yy=\$Build_$xx"
+ echo "Build_$xx = $yy" >> ghc/mk/buildinfo.mk
+done
+
+# -------------------------------------------------------------------------
+dnl
+dnl * `HsLibs' CONFIGURATION STUFF
+
+if test "xxx$DoingHsLibs" = 'xxxhslibs' ; then
+# a very big "if"!
+
+dnl ** which Haskell compiler to use on hslibs?
+WithHsLibsHc='haskell-compiler-unspecified'
+WithHsLibsHcType='HC_UNSPECIFIED'
+
+AC_ARG_WITH(hc-for-hslibs,
+ [
+*******************************************************************
+** \`HsLibs' HASKELL LIBRARIES OPTIONS:
+
+The Haskell compiler to compile the Haskell Libraries suite; this
+option, if used, overrides --with-hc=<...>:
+
+ --with-hc-for-hslibs=<Haskell compiler>
+ ghc* => Glasgow Haskell invoked by the name given
+ and you want to use it un-installed ("in-place").],
+ [case "$withval" in
+ ghc* | glhc* )
+ WithHsLibsHc=$withval
+ ;;
+ in-place )
+ WithHsLibsHc='IN-PLACE'
+ ;;
+ *) echo "I don't understand this option: --with-hc-for-hslibs=$withval"
+ exit 1
+ ;;
esac])
-AC_SUBST(BuildGHCI)
-# here ends a very big if DoingGHC = 'ghc' ...
-fi
+# make sure that what they said makes sense.... set WithHsLibsHcType
+case $WithHsLibsHc in
+ haskell-compiler-unspecified ) # maybe they said something earlier...
+ if test $WithHc = 'haskell-compiler-unspecified' ; then
+ echo "Neither --with-hc nor --with-hc-for-hslibs was properly set"
+ exit 1
+ fi
+ ;;
+ ghc* | glhc* )
+ WithHsLibsHcType='HC_GLASGOW_GHC'
+ AC_CHECK_PROG(have_ghc_hslibs,$WithHsLibsHc,$ac_dir/$ac_word)
+ if test -z "$have_ghc_hslibs"; then
+ echo "Can't find Glasgow Haskell to compile HsLibs with: $WithHsLibsHc"
+ exit 1
+ fi
+ ;;
+ IN-PLACE) WithHsLibsHcType='HC_GLASGOW_GHC'
+ WithHsLibsHc='$(TOP_PWD)/ghc/driver/ghc'
+ ;;
+esac
+AC_SUBST(WithHsLibsHc)
+AC_SUBST(WithHsLibsHcType)
+
+# Here, by HACK means, we dump all the Build_ info
+# into a file. See comment above.
+rm -f hslibs/mk/buildinfo.mk
+echo creating hslibs/mk/buildinfo.mk
+cat > hslibs/mk/buildinfo.mk <<EOF
+# ** DO NOT EDIT! **
+# This file is obliterated every time 'configure' is run!
+
+EOF
+for xx in normal p t u mc mr mt mp mg 2s 1s du a b c d e f g h i j k l m n o A B ; do
+ eval "yy=\$Build_$xx"
+ echo "Build_$xx = $yy" >> hslibs/mk/buildinfo.mk
+done
+
+# here ends a very big if DoingHsLibs = 'hslibs' ...
+fi
#
# -------------------------------------------------------------------------
dnl
nhc* ) WithHappyHc=$withval
;;
in-place )
- WithHappyHc='IN-PLACE'
+ WithHappyHc='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc-for-happy=$withval"
exit 1
fi
;;
IN-PLACE) WithHappyHcType='HC_GLASGOW_GHC'
+ WithHappyHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithHappyHc)
WithHaggisHc=$withval
;;
in-place )
- WithHaggisHc='IN-PLACE'
+ WithHaggicHs='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc-for-haggis=$withval"
exit 1
fi
;;
IN-PLACE) WithHaggisHcType='HC_GLASGOW_GHC'
+ WithHaggisHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithHaggisHc)
AC_SUBST(WithHaggisHcType)
-# here ends a very big if DoingHaggis = 'haggis' ...
-fi
-#
-# -------------------------------------------------------------------------
-dnl
-dnl * `Literate' CONFIGURATION STUFF
+# builds stuff?? ToDo
-if test "xxx$DoingLiterate" = 'xxxliterate' ; then
-# a very big "if"!
-
-BuildInfoUtils='NO'
-AC_ARG_ENABLE(info-utils,
- [
-*******************************************************************
-** Literate programming system OPTIONS:
-
---enable-info-utils build GNU info/makeinfo utilities],
- [case "$enableval" in
- yes) BuildInfoUtils='YES'
- ;;
- no) BuildInfoUtils='NO'
- ;;
- *) echo "I don't understand this option: --enable-info-utils=$enableval"
- exit 1
- ;;
- esac])
-AC_SUBST(BuildInfoUtils)
-
-# here ends a very big if DoingLiterate = 'literate' ...
+# here ends a very big if DoingHaggis = 'haggis' ...
fi
#
# -------------------------------------------------------------------------
nhc* ) WithNoFibHc=$withval
;;
in-place )
- WithNoFibHc='IN-PLACE'
+ WithNoFibHc='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc-for-nofib=$withval"
exit 1
fi
;;
IN-PLACE) WithNoFibHcType='HC_GLASGOW_GHC'
+ WithNoFibHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithNoFibHc)
IncludeRealNoFibTests='YES' # defaults
IncludeSpectralNoFibTests='YES'
IncludeImaginaryNoFibTests='YES'
-IncludePENDINGNoFibTests='NO'
-IncludeUNUSEDNoFibTests='NO'
+IncludeSpecialiseNoFibTests='NO'
IncludeGHC_ONLYNoFibTests='NO'
IncludePRIVATENoFibTests='NO'
IncludeParallelNoFibTests='NO'
--enable-all-tests do *all* tests],
[case "$enableval" in
- yes) IncludePENDINGNoFibTests='YES'
- IncludeUNUSEDNoFibTests='YES'
- IncludeGHC_ONLYNoFibTests='YES'
+ yes) IncludeGHC_ONLYNoFibTests='YES'
+ IncludeSpecialiseNoFibTests='YES'
IncludePRIVATENoFibTests='YES'
IncludeParallelNoFibTests='YES'
;;
- no) IncludePENDINGNoFibTests='NO'
- IncludeUNUSEDNoFibTests='NO'
- IncludeGHC_ONLYNoFibTests='NO'
+ no) IncludeGHC_ONLYNoFibTests='NO'
+ IncludeSpecialiseNoFibTests='NO'
IncludePRIVATENoFibTests='NO'
IncludeParallelNoFibTests='NO'
;;
esac])
-AC_ARG_ENABLE(PENDING-tests,
- [--enable-PENDING-tests include PENDING tests],
- [case "$enableval" in
- yes) IncludePENDINGNoFibTests='YES'
- ;;
- no) IncludePENDINGNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-PENDING-tests=$enableval"
- exit 1
- ;;
- esac])
-
-AC_ARG_ENABLE(UNUSED-tests,
- [--enable-UNUSED-tests include UNUSED tests],
+AC_ARG_ENABLE(GHC-ONLY-tests,
+ [--enable-GHC-ONLY-tests include GHC_ONLY tests],
[case "$enableval" in
- yes) IncludeUNUSEDNoFibTests='YES'
+ yes) IncludeGHC_ONLYNoFibTests='YES'
;;
- no) IncludeUNUSEDNoFibTests='NO'
+ no) IncludeGHC_ONLYNoFibTests='NO'
;;
- *) echo "I don't understand this option: --enable-UNUSED-tests=$enableval"
+ *) echo "I don't understand this option: --enable-GHC-ONLY-tests=$enableval"
exit 1
;;
esac])
-AC_ARG_ENABLE(GHC-ONLY-tests,
- [--enable-GHC-ONLY-tests include GHC_ONLY tests],
+AC_ARG_ENABLE(specialise-tests,
+ [--enable-specialise-tests include specialisation tests],
[case "$enableval" in
- yes) IncludeGHC_ONLYNoFibTests='YES'
+ yes) IncludeSpecialiseNoFibTests='YES'
;;
- no) IncludeGHC_ONLYNoFibTests='NO'
+ no) IncludeSpecialiseNoFibTests='NO'
;;
- *) echo "I don't understand this option: --enable-GHC-ONLY-tests=$enableval"
+ *) echo "I don't understand this option: --enable-specialise-tests=$enableval"
exit 1
;;
esac])
;;
esac])
-AC_SUBST(IncludeRealNoFibTests)
-AC_SUBST(IncludeSpectralNoFibTests)
-AC_SUBST(IncludeImaginaryNoFibTests)
-AC_SUBST(IncludePENDINGNoFibTests)
-AC_SUBST(IncludeUNUSEDNoFibTests)
-AC_SUBST(IncludeGHC_ONLYNoFibTests)
-AC_SUBST(IncludeSpecialiseNoFibTests)
-AC_SUBST(IncludePRIVATENoFibTests)
-AC_SUBST(IncludeParallelNoFibTests)
+dnl not AC_SUBSTd because of 99-command seds (sigh)
+dnl (See what follows instead)
+dnl AC_SUBST(IncludeRealNoFibTests)
+dnl AC_SUBST(IncludeSpectralNoFibTests)
+dnl AC_SUBST(IncludeImaginaryNoFibTests)
+dnl AC_SUBST(IncludeGHC_ONLYNoFibTests)
+dnl AC_SUBST(IncludeSpecialiseNoFibTests)
+dnl AC_SUBST(IncludePRIVATENoFibTests)
+dnl AC_SUBST(IncludeParallelNoFibTests)
+
+# Here, by HACK means, we dump all the Include*NoFibTests info
+# into a file. See comment above.
+rm -f nofib/mk/buildinfo.mk
+echo creating nofib/mk/buildinfo.mk
+cat > nofib/mkworld/buildinfo.jm <<EOF
+# ** DO NOT EDIT! **
+# This file is obliterated every time 'configure' is run!
+
+EOF
+for xx in Real Spectral Imaginary GHC_ONLY Specialise PRIVATE Parallel ; do
+ eval "yy=\$Include${xx}NoFibTests"
+ echo "Include${xx}NoFibTests = $yy" >> nofib/mk/buildinfo.mk
+done
+
+# Here, by HACK means, we add all the Build_ info
+# into a file. See comment above.
+
+for xx in normal p t u mc mr mt mp mg 2s 1s du a b c d e f g h i j k l m n o A B ; do
+ eval "yy=\$Build_$xx"
+ echo "Build_$xx = $yy" >> nofib/mk/buildinfo.mk
+done
# here ends a very big if DoingNoFib = 'nofib' ...
fi
#
AC_SUBST(MkWorldSetup)
-AC_OUTPUT(Makefile STARTUP mkworld/site.jm mkworld/platform.h mkworld/config.h $ghc_mkworld_site_ghc_jm $ghc_includes_platform_h $nofib_mkworld_site_nofib_jm)
+AC_OUTPUT(mk/platform.mk mk/utils.mk mk/install.mk ghc/mk/ghcconfig.mk ghc/includes/platform.h)
echo '************************************************'
-echo '*** NOW DO: sh < STARTUP'
+echo '*** NOW DO: make boot; make all'
echo '************************************************'
exit 0