-# -------------------------------------------------------------------------
-dnl
-dnl * `Happy' CONFIGURATION STUFF
-
-if test "xxx$DoingHappy" = 'xxxhappy' ; then
-# a very big "if"!
-
-dnl ** which Haskell compiler to use on happy?
-WithHappyHc='haskell-compiler-unspecified'
-WithHappyHcType='HC_UNSPECIFIED'
-
-AC_ARG_WITH(hc-for-happy,
- [
-*******************************************************************
-** \`Happy' PARSER-GENERATOR OPTIONS:
-
-The Haskell compiler to compile Happy; this option, if used, overrides
---with-hc=<...>:
-
- --with-hc-for-happy=<Haskell compiler>
- ghc* => Glasgow Haskell invoked by the name given
- hbc* => Chalmers HBC, invoked by the name given
- nhc* => Niklas Rojemo's "nhc", invoked by the name given
- in-place => Use ghc/driver/ghc; i.e. you've built GHC
- and you want to use it un-installed ("in-place").],
- [case "$withval" in
- ghc* | glhc* )
- WithHappyHc=$withval
- ;;
- hbc* ) WithHappyHc=$withval
- ;;
- nhc* ) WithHappyHc=$withval
- ;;
- in-place )
- WithHappyHc='IN-PLACE'
- ;;
- *) echo "I don't understand this option: --with-hc-for-happy=$withval"
- exit 1
- ;;
- esac])
-
-# make sure that what they said makes sense.... set WithHappyHcType
-case $WithHappyHc in
- haskell-compiler-unspecified ) # maybe they said something earlier...
- if test $WithHc = 'haskell-compiler-unspecified' ; then
- echo "Neither --with-hc nor --with-hc-for-happy was properly set"
- exit 1
- fi
- ;;
- ghc* | glhc* )
- WithHappyHcType='HC_GLASGOW_GHC'
- AC_CHECK_PROG(have_ghc_happy,$WithHappyHc,$ac_dir/$ac_word)
- if test -z "$have_ghc_happy"; then
- echo "Can't find Glasgow Haskell to compile Happy with: $WithHappyHc"
- exit 1
- fi
- ;;
- hbc* ) # Look for the dastardly competition
- WithHappyHcType='HC_CHALMERS_HBC'
- AC_CHECK_PROG(have_hbc,$WithHappyHc,YES,NO)
- if test $have_hbc = 'NO' ; then
- echo "Can't find Chalmers HBC to compile with: $WithHappyHc"
- exit 1
- fi
- ;;
- nhc* ) # Look for Niklas Rojemo's "nhc"
- WithHappyHcType='HC_ROJEMO_NHC'
- AC_CHECK_PROG(have_nhc,$WithHappyHc,YES,NO)
- if test $have_nhc = 'NO' ; then
- echo "Can't find Niklas Rojemo's NHC to compile with: $WithHappyHc"
- exit 1
- fi
- ;;
- IN-PLACE) WithHappyHcType='HC_GLASGOW_GHC'
- ;;
-esac
-AC_SUBST(WithHappyHc)
-AC_SUBST(WithHappyHcType)
-
-# here ends a very big if DoingHappy = 'happy' ...
-fi
-#
-# -------------------------------------------------------------------------
-dnl
-dnl * `Haggis' CONFIGURATION STUFF
-
-if test "xxx$DoingHaggis" = 'xxxhaggis' ; then
-# a very big "if"!
-
-dnl ** which Haskell compiler to use on haggis?
-WithHaggisHc='haskell-compiler-unspecified'
-WithHaggisHcType='HC_UNSPECIFIED'
-
-AC_ARG_WITH(hc-for-haggis,
- [
-*******************************************************************
-** \`Haggis' HASKELL GUI TOOLKIT OPTIONS:
-
-The Haskell compiler to compile the Haggis toolkit; this option, if
-used, overrides --with-hc=<...>:
-
- --with-hc-for-haggis=<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* )
- WithHaggisHc=$withval
- ;;
- in-place )
- WithHaggisHc='IN-PLACE'
- ;;
- *) echo "I don't understand this option: --with-hc-for-haggis=$withval"
- exit 1
- ;;
- esac])
-
-# make sure that what they said makes sense.... set WithHaggisHcType
-case $WithHaggisHc in
- haskell-compiler-unspecified ) # maybe they said something earlier...
- if test $WithHc = 'haskell-compiler-unspecified' ; then
- echo "Neither --with-hc nor --with-hc-for-haggis was properly set"
- exit 1
- fi
- ;;
- ghc* | glhc* )
- WithHaggisHcType='HC_GLASGOW_GHC'
- AC_CHECK_PROG(have_ghc_haggis,$WithHaggisHc,$ac_dir/$ac_word)
- if test -z "$have_ghc_haggis"; then
- echo "Can't find Glasgow Haskell to compile Haggis with: $WithHaggisHc"
- exit 1
- fi
- ;;
- IN-PLACE) WithHaggisHcType='HC_GLASGOW_GHC'
- ;;
-esac
-AC_SUBST(WithHaggisHc)
-AC_SUBST(WithHaggisHcType)
-
-# here ends a very big if DoingHaggis = 'haggis' ...
-fi
-#
-# -------------------------------------------------------------------------
-dnl
-dnl * `Literate' CONFIGURATION STUFF
-
-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' ...
-fi
-#
-# -------------------------------------------------------------------------
-dnl
-dnl * `NoFib' CONFIGURATION STUFF
-
-if test "xxx$DoingNoFib" = 'xxxnofib' ; then
-# a very big "if"!
-
-dnl ** which Haskell compiler to test with NoFib?
-WithNoFibHc='haskell-compiler-unspecified'
-WithNoFibHcType='HC_UNSPECIFIED'
-
-AC_ARG_WITH(hc-for-nofib,
- [
-*******************************************************************
-** NoFib HASKELL BENCHMARK SUITE OPTIONS:
-
-The Haskell compiler to compile the NoFib programs; this option, if
-used, overrides --with-hc=<...>:
-
- --with-hc-for-nofib=<Haskell compiler>
- ghc* => Glasgow Haskell invoked by the name given
- hbc* => Chalmers HBC, invoked by the name given
- nhc* => Niklas Rojemo's "nhc", invoked by the name given
- in-place => Use ghc/driver/ghc; i.e. you've built GHC
- and you want to use it un-installed ("in-place").
- ],
- [case "$withval" in
- ghc* | glhc* )
- WithNoFibHc=$withval
- ;;
- hbc* ) WithNoFibHc=$withval
- ;;
- nhc* ) WithNoFibHc=$withval
- ;;
- in-place )
- WithNoFibHc='IN-PLACE'
- ;;
- *) echo "I don't understand this option: --with-hc-for-nofib=$withval"
- exit 1
- ;;
- esac])
-
-# make sure that what they said makes sense.... set WithHappyHcType
-case $WithNoFibHc in
- haskell-compiler-unspecified ) # maybe they said something earlier...
- if test $WithHc = 'haskell-compiler-unspecified' ; then
- echo "Neither --with-hc nor --with-hc-for-nofib was properly set"
- exit 1
- fi
- ;;
- ghc* | glhc* )
- WithNoFibHcType='HC_GLASGOW_GHC'
- AC_CHECK_PROG(have_ghc_nofib,$WithNoFibHc,$ac_dir/$ac_word)
- if test -z "$have_ghc_nofib"; then
- echo "Can't find Glasgow Haskell to compile NoFib with: $WithNoFibHc"
- exit 1
- fi
- ;;
- hbc* ) # Look for the dastardly competition
- WithNoFibHcType='HC_CHALMERS_HBC'
- AC_CHECK_PROG(have_hbc,$WithNoFibHc,YES,NO)
- if test $have_hbc = 'NO' ; then
- echo "Can't find Chalmers HBC to compile NoFib with: $WithNoFibHc"
- exit 1
- fi
- ;;
- nhc* ) # Look for Niklas Rojemo's "nhc"
- WithNoFibHcType='HC_ROJEMO_NHC'
- AC_CHECK_PROG(have_nhc,$WithNoFibHc,YES,NO)
- if test $have_nhc = 'NO' ; then
- echo "Can't find Niklas Rojemo's NHC to compile NoFib with: $WithNoFibHc"
- exit 1
- fi
- ;;
- IN-PLACE) WithNoFibHcType='HC_GLASGOW_GHC'
- ;;
-esac
-AC_SUBST(WithNoFibHc)
-AC_SUBST(WithNoFibHcType)
-
-dnl ** what mkworld \`setup' should be used?
-AC_ARG_WITH(setup,
- [
---with-setup=<setup> : What mkworld \`setup' should be used?
- Choices: ghc, hbc, nhc
-],
- [case "$withval" in
- ghc ) MkWorldSetup='ghc'
- ;;
- hbc ) MkWorldSetup='hbc'
- ;;
- nhc ) MkWorldSetup='nhc'
- ;;
- *) echo "I don't understand this option: --with-setup=$withval"
- exit 1
- ;;
- esac])
-
-if test $MkWorldSetup = 'std' ; then
- echo 'You must do --with-setup=... (one of: ghc, hbc, or nhc) for NoFib'
- exit 1
-fi
-
-# ---------------------------------------
-# What sets of tests should be run.
-#
-IncludeRealNoFibTests='YES' # defaults
-IncludeSpectralNoFibTests='YES'
-IncludeImaginaryNoFibTests='YES'
-IncludeSpecialiseNoFibTests='NO'
-IncludeGHC_ONLYNoFibTests='NO'
-IncludePRIVATENoFibTests='NO'
-IncludeParallelNoFibTests='NO'
-
-dnl ** should *all* NoFib tests be run?
-# special catch-all variant
-AC_ARG_ENABLE(all-tests,
- [Possibly turn on *all* of the possible tests (a sane choice
-only if using GHC):
-
---enable-all-tests do *all* tests],
- [case "$enableval" in
- yes) IncludeGHC_ONLYNoFibTests='YES'
- IncludeSpecialiseNoFibTests='YES'
- IncludePRIVATENoFibTests='YES'
- IncludeParallelNoFibTests='YES'
- ;;
- no) IncludeGHC_ONLYNoFibTests='NO'
- IncludeSpecialiseNoFibTests='NO'
- IncludePRIVATENoFibTests='NO'
- IncludeParallelNoFibTests='NO'
-
- IncludeRealNoFibTests='NO'
- IncludeSpectralNoFibTests='NO'
- IncludeImaginaryNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-all-tests=$enableval"
- exit 1
- ;;
- esac])
-
-dnl ** turn on/off individual categories of tests...
-# individual categories
-AC_ARG_ENABLE(imaginary-tests,
- [
-Enable/disable individual categories of tests:
-
---disable-imaginary-tests do *not* include imaginary tests],
- [case "$enableval" in
- yes) IncludeImaginaryNoFibTests='YES'
- ;;
- no) IncludeImaginaryNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-imaginary-tests=$enableval"
- exit 1
- ;;
- esac])
-
-AC_ARG_ENABLE(spectral-tests,
- [--disable-spectral-tests do *not* include spectral tests],
- [case "$enableval" in
- yes) IncludeSpectralNoFibTests='YES'
- ;;
- no) IncludeSpectralNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-spectral-tests=$enableval"
- exit 1
- ;;
- esac])
-
-AC_ARG_ENABLE(real-tests,
- [--disable-real-tests do *not* include real tests],
- [case "$enableval" in
- yes) IncludeRealNoFibTests='YES'
- ;;
- no) IncludeRealNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-real-tests=$enableval"
- exit 1
- ;;
- esac])
-
-AC_ARG_ENABLE(GHC-ONLY-tests,
- [--enable-GHC-ONLY-tests include GHC_ONLY tests],
- [case "$enableval" in
- yes) IncludeGHC_ONLYNoFibTests='YES'
- ;;
- no) IncludeGHC_ONLYNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-GHC-ONLY-tests=$enableval"
- exit 1
- ;;
- esac])
-
-AC_ARG_ENABLE(specialise-tests,
- [--enable-specialise-tests include specialisation tests],
- [case "$enableval" in
- yes) IncludeSpecialiseNoFibTests='YES'
- ;;
- no) IncludeSpecialiseNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-specialise-tests=$enableval"
- exit 1
- ;;
- esac])
-
-AC_ARG_ENABLE(PRIVATE-tests,
- [--enable-PRIVATE-tests include PRIVATE tests],
- [case "$enableval" in
- yes) IncludePRIVATENoFibTests='YES'
- ;;
- no) IncludePRIVATENoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-PRIVATE-tests=$enableval"
- exit 1
- ;;
- esac])
-
-AC_ARG_ENABLE(parallel-tests,
- [--enable-parallel-tests include parallel tests
-],
- [case "$enableval" in
- yes) IncludeParallelNoFibTests='YES'
- ;;
- no) IncludeParallelNoFibTests='NO'
- ;;
- *) echo "I don't understand this option: --enable-parallel-tests=$enableval"
- exit 1
- ;;
- esac])
-
-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/mkworld/buildinfo.jm
-echo creating nofib/mkworld/buildinfo.jm
-cat > nofib/mkworld/buildinfo.jm <<EOF
-XCOMM ** DO NOT EDIT! **
-XCOMM 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 "#ifndef Include${xx}NoFibTests" >> nofib/mkworld/buildinfo.jm
- echo "#define Include${xx}NoFibTests $yy" >> nofib/mkworld/buildinfo.jm
- echo "#endif" >> nofib/mkworld/buildinfo.jm
-done
-
-# here ends a very big if DoingNoFib = 'nofib' ...
-fi
-#
-# -------------------------------------------------------------------------
-dnl
-dnl * extract non-header files with substitution (end)
-#
-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 $hslibs_mkworld_site_hslibs_jm $nofib_mkworld_site_nofib_jm)