/* @configure_input@ TargetPlatform. BuildPlatform, HostPlatform are in general site file (e.g. /mkworld/site.jm[.in]) */ #ifndef TargetPlatform /* use Host* because of 99-cmd-limit brain-dead seds */ #define TargetPlatform @HostPlatform@ #endif /* --------------- "standard" Haskell compiler --------------------------- */ #define WithHc @WithHc@ #define WithHcType @WithHcType@ #define WithGhcHc @WithGhcHc@ #define WithGhcHcType @WithGhcHcType@ #if ! (defined(HaskellCompilerCmd) && defined(HaskellCompilerType)) # if WithGhcHcType != HC_UNSPECIFIED # define HaskellCompilerCmd WithGhcHc # define HaskellCompilerType WithGhcHcType # else # if WithHcType != HC_UNSPECIFIED # define HaskellCompilerCmd WithHc # define HaskellCompilerType WithHcType # else # define HaskellCompilerCmd haskell-compiler-not-specified # define HaskellCompilerType HC_UNSPECIFIED # endif # endif #endif /* ----------------------------------------------------------------------- */ /* Info for booting the Haskell compiler proper (written in Haskell): If you're going to use a Haskell compiler for booting: hbc -- set GhcWithHscBuiltViaC to NO ghc -- ditto; and set WhatGhcForBootingIsCalled [well, maybe...] If you're going to boot from distributed .hc files (the *default*), you needn't set anything here. */ #ifndef GhcWithHscBuiltViaC #define GhcWithHscBuiltViaC @GhcWithHscBuiltViaC@ #endif #ifndef GhcWithHscOptimised #define GhcWithHscOptimised @GhcWithHscOptimised@ #endif #ifndef GhcWithHscDebug #define GhcWithHscDebug @GhcWithHscDebug@ #endif #ifndef GhcBuilderVersion #define GhcBuilderVersion @GhcBuilderVersion@ #endif #ifndef GhcWithRegisterised #define GhcWithRegisterised @GhcWithRegisterised@ #endif #ifndef GhcWithNativeCodeGen #define GhcWithNativeCodeGen @GhcWithNativeCodeGen@ #endif GHC_WITH_NATIVE_CODEGEN=GhcWithNativeCodeGen #ifndef GhcWithDeforester #define GhcWithDeforester @GhcWithDeforester@ #endif #ifndef GhcWithReadline #define GhcWithReadline @GhcWithReadline@ #endif #ifndef GhcWithSockets #define GhcWithSockets @GhcWithSockets@ #endif /* ================================================================ BUILDS stuff: main sequential ones The configure script dumps all the what-builds-to-do info into a file called "buildinfo.jm", in this directory. We do it this way, rather than AC_SUBSTing the info into this file because some sed's (notably OSF and maybe HP-UX) only allow 99 commands (!!!), which is way too few if we want to do the Build_ stuff as well as everything else. WDP 96/04 */ #include "buildinfo.jm" /* normal sequential */ #if Build_normal == YES # define IfBuild_normal(x) x GHC_BUILD_FLAG_normal = -build-normal-defined #else # define IfBuild_normal(x) /**/ GHC_BUILD_FLAG_normal = -build-normal-not-defined #endif /* profiled sequential */ #if Build_p == YES # define IfBuild_p(x) x GHC_BUILD_FLAG_p = -build-p-defined #else # define IfBuild_p(x) /**/ GHC_BUILD_FLAG_p = -build-p-not-defined #endif /* ticky-ticky "profiling" (sequential) */ #if Build_t == YES # define IfBuild_t(x) x GHC_BUILD_FLAG_t = -build-t-defined #else # define IfBuild_t(x) /**/ GHC_BUILD_FLAG_t = -build-t-not-defined #endif /* unregisterized (most basic boot) */ #if Build_u == YES # define IfBuild_u(x) x GHC_BUILD_FLAG_u = -build-u-defined #else # define IfBuild_u(x) /**/ GHC_BUILD_FLAG_u = -build-u-not-defined #endif /* === builds: concurrent and parallel ============================ */ /* concurrent */ #if Build_mc == YES # define IfBuild_mc(x) x GHC_BUILD_FLAG_mc = -build-mc-defined #else # define IfBuild_mc(x) /**/ GHC_BUILD_FLAG_mc = -build-mc-not-defined #endif /* profiled concurrent */ #if Build_mr == YES # define IfBuild_mr(x) x GHC_BUILD_FLAG_mr = -build-mr-defined #else # define IfBuild_mr(x) /**/ GHC_BUILD_FLAG_mr = -build-mr-not-defined #endif /* ticky concurrent */ #if Build_mt == YES # define IfBuild_mt(x) x GHC_BUILD_FLAG_mt = -build-mt-defined #else # define IfBuild_mt(x) /**/ GHC_BUILD_FLAG_mt = -build-mt-not-defined #endif /* parallel (GUM, PVM-based) */ #if Build_mp == YES # define IfBuild_mp(x) x GHC_BUILD_FLAG_mp = -build-mp-defined #else # define IfBuild_mp(x) /**/ GHC_BUILD_FLAG_mp = -build-mp-not-defined #endif /* GranSim */ #if Build_mg == YES # define IfBuild_mg(x) x GHC_BUILD_FLAG_mg = -build-mg-defined #else # define IfBuild_mg(x) /**/ GHC_BUILD_FLAG_mg = -build-mg-not-defined #endif /* === builds: non-std garbage collectors ========================== These use the same mechanism as user ways but do not have any "fed back" options. */ /* sequential -- 2-space collector */ #if Build_2s == YES # define IfBuild_2s(x) x GHC_BUILD_FLAG_2s = -gc-2s #else # define IfBuild_2s(x) /**/ GHC_BUILD_FLAG_2s = -build-2s-not-defined #endif /* sequential -- 1-space collector */ #if Build_1s == YES # define IfBuild_1s(x) x GHC_BUILD_FLAG_1s = -gc-1s #else # define IfBuild_1s(x) /**/ GHC_BUILD_FLAG_1s = -build-1s-not-defined #endif /* sequential -- dual-mode collector */ #if Build_du == YES # define IfBuild_du(x) x GHC_BUILD_FLAG_du = -gc-du #else # define IfBuild_du(x) /**/ GHC_BUILD_FLAG_du = -build-du-not-defined #endif /* === builds: "user ways" ======================================= */ #if Build_a == YES # define IfBuild_a(x) x GHC_BUILD_FLAG_a = -build-a-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_a = -build-a-not-defined-error #else # define IfBuild_a(x) /**/ GHC_BUILD_FLAG_a = -build-a-not-defined GHC_BUILD_OPTS_a = -build-a-not-defined-error #endif #if Build_b == YES # define IfBuild_b(x) x GHC_BUILD_FLAG_b = -build-b-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_b = -build-b-not-defined-error #else # define IfBuild_b(x) /**/ GHC_BUILD_FLAG_b = -build-b-not-defined GHC_BUILD_OPTS_b = -build-b-not-defined-error #endif #if Build_c == YES # define IfBuild_c(x) x GHC_BUILD_FLAG_c = -build-c-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_c = -build-c-not-defined-error #else # define IfBuild_c(x) /**/ GHC_BUILD_FLAG_c = -build-c-not-defined GHC_BUILD_OPTS_c = -build-c-not-defined-error #endif #if Build_d == YES # define IfBuild_d(x) x GHC_BUILD_FLAG_d = -build-d-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_d = -build-d-not-defined-error #else # define IfBuild_d(x) /**/ GHC_BUILD_FLAG_d = -build-d-not-defined GHC_BUILD_OPTS_d = -build-d-not-defined-error #endif #if Build_e == YES # define IfBuild_e(x) x GHC_BUILD_FLAG_e = -build-e-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_e = -build-e-not-defined-error #else # define IfBuild_e(x) /**/ GHC_BUILD_FLAG_e = -build-e-not-defined GHC_BUILD_OPTS_e = -build-e-not-defined-error #endif #if Build_f == YES # define IfBuild_f(x) x GHC_BUILD_FLAG_f = -build-f-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_f = -build-f-not-defined-error #else # define IfBuild_f(x) /**/ GHC_BUILD_FLAG_f = -build-f-not-defined GHC_BUILD_OPTS_f = -build-f-not-defined-error #endif #if Build_g == YES # define IfBuild_g(x) x GHC_BUILD_FLAG_g = -build-g-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_g = -build-g-not-defined-error #else # define IfBuild_g(x) /**/ GHC_BUILD_FLAG_g = -build-g-not-defined GHC_BUILD_OPTS_g = -build-g-not-defined-error #endif #if Build_h == YES # define IfBuild_h(x) x GHC_BUILD_FLAG_h = -build-h-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_h = -build-h-not-defined-error #else # define IfBuild_h(x) /**/ GHC_BUILD_FLAG_h = -build-h-not-defined GHC_BUILD_OPTS_h = -build-h-not-defined-error #endif #if Build_i == YES # define IfBuild_i(x) x GHC_BUILD_FLAG_i = -build-i-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_i = -build-i-not-defined-error #else # define IfBuild_i(x) /**/ GHC_BUILD_FLAG_i = -build-i-not-defined GHC_BUILD_OPTS_i = -build-i-not-defined-error #endif #if Build_j == YES # define IfBuild_j(x) x GHC_BUILD_FLAG_j = -build-j-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_j = -build-j-not-defined-error #else # define IfBuild_j(x) /**/ GHC_BUILD_FLAG_j = -build-j-not-defined GHC_BUILD_OPTS_j = -build-j-not-defined-error #endif #if Build_k == YES # define IfBuild_k(x) x GHC_BUILD_FLAG_k = -build-k-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_k = -build-k-not-defined-error #else # define IfBuild_k(x) /**/ GHC_BUILD_FLAG_k = -build-k-not-defined GHC_BUILD_OPTS_k = -build-k-not-defined-error #endif #if Build_l == YES # define IfBuild_l(x) x GHC_BUILD_FLAG_l = -build-l-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_l = -build-l-not-defined-error #else # define IfBuild_l(x) /**/ GHC_BUILD_FLAG_l = -build-l-not-defined GHC_BUILD_OPTS_l = -build-l-not-defined-error #endif #if Build_m == YES # define IfBuild_m(x) x GHC_BUILD_FLAG_m = -build-m-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_m = -build-m-not-defined-error #else # define IfBuild_m(x) /**/ GHC_BUILD_FLAG_m = -build-m-not-defined GHC_BUILD_OPTS_m = -build-m-not-defined-error #endif #if Build_n == YES # define IfBuild_n(x) x GHC_BUILD_FLAG_n = -build-n-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_n = -build-n-not-defined-error #else # define IfBuild_n(x) /**/ GHC_BUILD_FLAG_n = -build-n-not-defined GHC_BUILD_OPTS_n = -build-n-not-defined-error #endif #if Build_o == YES # define IfBuild_o(x) x GHC_BUILD_FLAG_o = -build-o-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_o = -build-o-not-defined-error #else # define IfBuild_o(x) /**/ GHC_BUILD_FLAG_o = -build-o-not-defined GHC_BUILD_OPTS_o = -build-o-not-defined-error #endif #if Build_A == YES # define IfBuild_A(x) x GHC_BUILD_FLAG_A = -build-A-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_A = -build-A-not-defined-error #else # define IfBuild_A(x) /**/ GHC_BUILD_FLAG_A = -build-A-not-defined GHC_BUILD_OPTS_A = -build-A-not-defined-error #endif #if Build_B == YES # define IfBuild_B(x) x GHC_BUILD_FLAG_B = -build-B-not-defined /* >>>change here<<< if required */ GHC_BUILD_OPTS_B = -build-B-not-defined-error #else # define IfBuild_B(x) /**/ GHC_BUILD_FLAG_B = -build-B-not-defined GHC_BUILD_OPTS_B = -build-B-not-defined-error #endif /* ======= END OF BUILD INFO ==================================== */ /* As of 0.19, our parser won't go through Sun's /usr/bin/yacc (due to an utterly hardwired limit on the number of states [1000]). You can use: (1) their unbundled /usr/lang/yacc; or (2) the GNU "bison -y". Do not try Berkeley yacc -- it willnae work. */ #ifndef YaccCmd #define YaccCmd @YaccCmd@ #endif /* ================================================================ INSTALL stuff: */ /* WHERE TO INSTALL IT: By default, the root prefix for where everything is installed is "/usr/local". Assume you are installing for the architecture... Beneath that, things look like this: bin/ for executables the user invokes, e.g., driver "ghc" [InstBinDir_GHC] bin we might install some scripts (not platform-dependent) here... [InstScriptDir_GHC] lib/ghc/ for support-bits for "ghc" (architecture-independent), for a specific version. [InstDataDir_GHC] lib/ghc// ditto, but the itecture-dependent bits [InstLibDir_GHC] man/man/ man pages [InstManRoot] info Info files [InstInfoDir] You may alter mkworld's ideas about GHC installation by changing the above-mentioned settings, as shown below. The default values are set in only4-ghc.ljm, if you are interested. If you are going to install the utility bits (literate, mkworld, glafp-utils) as well as the GHC system itself, you should do similar installation fiddling in your "mkworld/site.jm" file, setting the variables InstRootDir, InstBinDir, InstLibDir, etc. (the non-project-specific ones). */ /* "AT_GLASGOW" -- Are we installing at Glasgow? (also set in site.jm.in, but we get here and try to use it first) */ #ifndef AT_GLASGOW #define AT_GLASGOW @AT_GLASGOW@ #endif /* only the "prefix" things are set here */ #ifndef InstRootDir_GHC #define InstRootDir_GHC @prefix@ #endif #ifndef InstBinRootDir_GHC #define InstBinRootDir_GHC @exec_prefix@ #endif /* install the compilation system driver as "ghc-" at Glasgow (default is: "ghc" elsewhere) */ #ifndef GhcDriverInstallName #if AT_GLASGOW #define GhcDriverInstallName ghc-$(PROJECTVERSION) #else #define GhcDriverInstallName ghc #endif #endif /* At Glasgow, make sure things are installed for group "grasp". If you do not care what group it is installed for, delete this stuff altogether. If you leave it in, be sure it is a group that exists at your site! */ #if AT_GLASGOW && !defined(InstGroup) #define InstGroup -g grasp #endif /* At Glasgow, we would rather the installed binaries were stripped. (Delete if you feel otherwise.) */ #ifndef InstStrip #define InstStrip -s #endif