5 BuildPlatform, HostPlatform are in general site file
6 (e.g. <top>/mkworld/site.jm[.in])
9 /* use Host* because of 99-cmd-limit brain-dead seds */
10 #define TargetPlatform @HostPlatform@
13 /* --------------- "standard" Haskell compiler --------------------------- */
15 #define WithHc @WithHc@
16 #define WithHcType @WithHcType@
18 #define WithGhcHc @WithGhcHc@
19 #define WithGhcHcType @WithGhcHcType@
21 #if ! (defined(HaskellCompilerCmd) && defined(HaskellCompilerType))
22 # if WithGhcHcType != HC_UNSPECIFIED
23 # define HaskellCompilerCmd WithGhcHc
24 # define HaskellCompilerType WithGhcHcType
26 # if WithHcType != HC_UNSPECIFIED
27 # define HaskellCompilerCmd WithHc
28 # define HaskellCompilerType WithHcType
30 # define HaskellCompilerCmd haskell-compiler-not-specified
31 # define HaskellCompilerType HC_UNSPECIFIED
36 /* ----------------------------------------------------------------------- */
38 /* Info for booting the Haskell compiler proper (written in Haskell):
40 If you're going to use a Haskell compiler for booting:
41 hbc -- set GhcWithHscBuiltViaC to NO
42 ghc -- ditto; and set WhatGhcForBootingIsCalled
45 If you're going to boot from distributed .hc files (the *default*),
46 you needn't set anything here.
48 #ifndef GhcWithHscBuiltViaC
49 #define GhcWithHscBuiltViaC @GhcWithHscBuiltViaC@
51 #ifndef GhcWithHscOptimised
52 #define GhcWithHscOptimised @GhcWithHscOptimised@
54 #ifndef GhcWithHscDebug
55 #define GhcWithHscDebug @GhcWithHscDebug@
57 #ifndef GhcBuilderVersion
58 #define GhcBuilderVersion @GhcBuilderVersion@
60 #ifndef GhcWithRegisterised
61 #define GhcWithRegisterised @GhcWithRegisterised@
63 #ifndef GhcWithNativeCodeGen
64 #define GhcWithNativeCodeGen @GhcWithNativeCodeGen@
66 GHC_WITH_NATIVE_CODEGEN=GhcWithNativeCodeGen
68 #ifndef GhcWithDeforester
69 #define GhcWithDeforester @GhcWithDeforester@
71 #ifndef GhcWithReadline
72 #define GhcWithReadline @GhcWithReadline@
74 #ifndef GhcWithSockets
75 #define GhcWithSockets @GhcWithSockets@
78 /* ================================================================
79 BUILDS stuff: main sequential ones
81 The configure script dumps all the what-builds-to-do info
82 into a file called "buildinfo.jm", in this directory. We
83 do it this way, rather than AC_SUBSTing the info into this file
84 because some sed's (notably OSF and maybe HP-UX) only allow
85 99 commands (!!!), which is way too few if we want to do the
86 Build_ stuff as well as everything else. WDP 96/04
89 #include "buildinfo.jm"
91 /* normal sequential */
92 #if Build_normal == YES
93 # define IfBuild_normal(x) x
94 GHC_BUILD_FLAG_normal = -build-normal-defined
96 # define IfBuild_normal(x) /**/
97 GHC_BUILD_FLAG_normal = -build-normal-not-defined
100 /* profiled sequential */
102 # define IfBuild_p(x) x
103 GHC_BUILD_FLAG_p = -build-p-defined
105 # define IfBuild_p(x) /**/
106 GHC_BUILD_FLAG_p = -build-p-not-defined
109 /* ticky-ticky "profiling" (sequential) */
111 # define IfBuild_t(x) x
112 GHC_BUILD_FLAG_t = -build-t-defined
114 # define IfBuild_t(x) /**/
115 GHC_BUILD_FLAG_t = -build-t-not-defined
118 /* unregisterized (most basic boot) */
120 # define IfBuild_u(x) x
121 GHC_BUILD_FLAG_u = -build-u-defined
123 # define IfBuild_u(x) /**/
124 GHC_BUILD_FLAG_u = -build-u-not-defined
127 /* === builds: concurrent and parallel ============================ */
131 # define IfBuild_mc(x) x
132 GHC_BUILD_FLAG_mc = -build-mc-defined
134 # define IfBuild_mc(x) /**/
135 GHC_BUILD_FLAG_mc = -build-mc-not-defined
138 /* profiled concurrent */
140 # define IfBuild_mr(x) x
141 GHC_BUILD_FLAG_mr = -build-mr-defined
143 # define IfBuild_mr(x) /**/
144 GHC_BUILD_FLAG_mr = -build-mr-not-defined
147 /* ticky concurrent */
149 # define IfBuild_mt(x) x
150 GHC_BUILD_FLAG_mt = -build-mt-defined
152 # define IfBuild_mt(x) /**/
153 GHC_BUILD_FLAG_mt = -build-mt-not-defined
156 /* parallel (GUM, PVM-based) */
158 # define IfBuild_mp(x) x
159 GHC_BUILD_FLAG_mp = -build-mp-defined
161 # define IfBuild_mp(x) /**/
162 GHC_BUILD_FLAG_mp = -build-mp-not-defined
167 # define IfBuild_mg(x) x
168 GHC_BUILD_FLAG_mg = -build-mg-defined
170 # define IfBuild_mg(x) /**/
171 GHC_BUILD_FLAG_mg = -build-mg-not-defined
174 /* === builds: non-std garbage collectors ==========================
175 These use the same mechanism as user ways
176 but do not have any "fed back" options.
179 /* sequential -- 2-space collector */
181 # define IfBuild_2s(x) x
182 GHC_BUILD_FLAG_2s = -gc-2s
184 # define IfBuild_2s(x) /**/
185 GHC_BUILD_FLAG_2s = -build-2s-not-defined
188 /* sequential -- 1-space collector */
190 # define IfBuild_1s(x) x
191 GHC_BUILD_FLAG_1s = -gc-1s
193 # define IfBuild_1s(x) /**/
194 GHC_BUILD_FLAG_1s = -build-1s-not-defined
197 /* sequential -- dual-mode collector */
199 # define IfBuild_du(x) x
200 GHC_BUILD_FLAG_du = -gc-du
202 # define IfBuild_du(x) /**/
203 GHC_BUILD_FLAG_du = -build-du-not-defined
206 /* === builds: "user ways" ======================================= */
209 # define IfBuild_a(x) x
210 GHC_BUILD_FLAG_a = -build-a-not-defined /* >>>change here<<< if required */
211 GHC_BUILD_OPTS_a = -build-a-not-defined-error
213 # define IfBuild_a(x) /**/
214 GHC_BUILD_FLAG_a = -build-a-not-defined
215 GHC_BUILD_OPTS_a = -build-a-not-defined-error
219 # define IfBuild_b(x) x
220 GHC_BUILD_FLAG_b = -build-b-not-defined /* >>>change here<<< if required */
221 GHC_BUILD_OPTS_b = -build-b-not-defined-error
223 # define IfBuild_b(x) /**/
224 GHC_BUILD_FLAG_b = -build-b-not-defined
225 GHC_BUILD_OPTS_b = -build-b-not-defined-error
229 # define IfBuild_c(x) x
230 GHC_BUILD_FLAG_c = -build-c-not-defined /* >>>change here<<< if required */
231 GHC_BUILD_OPTS_c = -build-c-not-defined-error
233 # define IfBuild_c(x) /**/
234 GHC_BUILD_FLAG_c = -build-c-not-defined
235 GHC_BUILD_OPTS_c = -build-c-not-defined-error
239 # define IfBuild_d(x) x
240 GHC_BUILD_FLAG_d = -build-d-not-defined /* >>>change here<<< if required */
241 GHC_BUILD_OPTS_d = -build-d-not-defined-error
243 # define IfBuild_d(x) /**/
244 GHC_BUILD_FLAG_d = -build-d-not-defined
245 GHC_BUILD_OPTS_d = -build-d-not-defined-error
249 # define IfBuild_e(x) x
250 GHC_BUILD_FLAG_e = -build-e-not-defined /* >>>change here<<< if required */
251 GHC_BUILD_OPTS_e = -build-e-not-defined-error
253 # define IfBuild_e(x) /**/
254 GHC_BUILD_FLAG_e = -build-e-not-defined
255 GHC_BUILD_OPTS_e = -build-e-not-defined-error
259 # define IfBuild_f(x) x
260 GHC_BUILD_FLAG_f = -build-f-not-defined /* >>>change here<<< if required */
261 GHC_BUILD_OPTS_f = -build-f-not-defined-error
263 # define IfBuild_f(x) /**/
264 GHC_BUILD_FLAG_f = -build-f-not-defined
265 GHC_BUILD_OPTS_f = -build-f-not-defined-error
269 # define IfBuild_g(x) x
270 GHC_BUILD_FLAG_g = -build-g-not-defined /* >>>change here<<< if required */
271 GHC_BUILD_OPTS_g = -build-g-not-defined-error
273 # define IfBuild_g(x) /**/
274 GHC_BUILD_FLAG_g = -build-g-not-defined
275 GHC_BUILD_OPTS_g = -build-g-not-defined-error
279 # define IfBuild_h(x) x
280 GHC_BUILD_FLAG_h = -build-h-not-defined /* >>>change here<<< if required */
281 GHC_BUILD_OPTS_h = -build-h-not-defined-error
283 # define IfBuild_h(x) /**/
284 GHC_BUILD_FLAG_h = -build-h-not-defined
285 GHC_BUILD_OPTS_h = -build-h-not-defined-error
289 # define IfBuild_i(x) x
290 GHC_BUILD_FLAG_i = -build-i-not-defined /* >>>change here<<< if required */
291 GHC_BUILD_OPTS_i = -build-i-not-defined-error
293 # define IfBuild_i(x) /**/
294 GHC_BUILD_FLAG_i = -build-i-not-defined
295 GHC_BUILD_OPTS_i = -build-i-not-defined-error
299 # define IfBuild_j(x) x
300 GHC_BUILD_FLAG_j = -build-j-not-defined /* >>>change here<<< if required */
301 GHC_BUILD_OPTS_j = -build-j-not-defined-error
303 # define IfBuild_j(x) /**/
304 GHC_BUILD_FLAG_j = -build-j-not-defined
305 GHC_BUILD_OPTS_j = -build-j-not-defined-error
309 # define IfBuild_k(x) x
310 GHC_BUILD_FLAG_k = -build-k-not-defined /* >>>change here<<< if required */
311 GHC_BUILD_OPTS_k = -build-k-not-defined-error
313 # define IfBuild_k(x) /**/
314 GHC_BUILD_FLAG_k = -build-k-not-defined
315 GHC_BUILD_OPTS_k = -build-k-not-defined-error
319 # define IfBuild_l(x) x
320 GHC_BUILD_FLAG_l = -build-l-not-defined /* >>>change here<<< if required */
321 GHC_BUILD_OPTS_l = -build-l-not-defined-error
323 # define IfBuild_l(x) /**/
324 GHC_BUILD_FLAG_l = -build-l-not-defined
325 GHC_BUILD_OPTS_l = -build-l-not-defined-error
329 # define IfBuild_m(x) x
330 GHC_BUILD_FLAG_m = -build-m-not-defined /* >>>change here<<< if required */
331 GHC_BUILD_OPTS_m = -build-m-not-defined-error
333 # define IfBuild_m(x) /**/
334 GHC_BUILD_FLAG_m = -build-m-not-defined
335 GHC_BUILD_OPTS_m = -build-m-not-defined-error
339 # define IfBuild_n(x) x
340 GHC_BUILD_FLAG_n = -build-n-not-defined /* >>>change here<<< if required */
341 GHC_BUILD_OPTS_n = -build-n-not-defined-error
343 # define IfBuild_n(x) /**/
344 GHC_BUILD_FLAG_n = -build-n-not-defined
345 GHC_BUILD_OPTS_n = -build-n-not-defined-error
349 # define IfBuild_o(x) x
350 GHC_BUILD_FLAG_o = -build-o-not-defined /* >>>change here<<< if required */
351 GHC_BUILD_OPTS_o = -build-o-not-defined-error
353 # define IfBuild_o(x) /**/
354 GHC_BUILD_FLAG_o = -build-o-not-defined
355 GHC_BUILD_OPTS_o = -build-o-not-defined-error
359 # define IfBuild_A(x) x
360 GHC_BUILD_FLAG_A = -build-A-not-defined /* >>>change here<<< if required */
361 GHC_BUILD_OPTS_A = -build-A-not-defined-error
363 # define IfBuild_A(x) /**/
364 GHC_BUILD_FLAG_A = -build-A-not-defined
365 GHC_BUILD_OPTS_A = -build-A-not-defined-error
369 # define IfBuild_B(x) x
370 GHC_BUILD_FLAG_B = -build-B-not-defined /* >>>change here<<< if required */
371 GHC_BUILD_OPTS_B = -build-B-not-defined-error
373 # define IfBuild_B(x) /**/
374 GHC_BUILD_FLAG_B = -build-B-not-defined
375 GHC_BUILD_OPTS_B = -build-B-not-defined-error
378 /* ======= END OF BUILD INFO ==================================== */
381 /* As of 0.19, our parser won't go through Sun's /usr/bin/yacc
382 (due to an utterly hardwired limit on the number of states [1000]).
383 You can use: (1) their unbundled /usr/lang/yacc; or (2) the GNU
384 "bison -y". Do not try Berkeley yacc -- it willnae work.
387 #define YaccCmd @YaccCmd@
390 /* ================================================================
394 /* WHERE TO INSTALL IT:
396 By default, the root prefix for where everything is installed is
397 "/usr/local". Assume you are installing for the <arch>
398 architecture... Beneath that, things look like this:
400 bin/<arch> for executables the user invokes, e.g., driver "ghc"
402 bin we might install some scripts (not platform-dependent)
403 here... [InstScriptDir_GHC]
404 lib/ghc/<version> for support-bits for "ghc" (architecture-independent),
405 for a specific version. [InstDataDir_GHC]
406 lib/ghc/<version>/<arch>
407 ditto, but the <arch>itecture-dependent bits
409 man/man<ext>/ man pages [InstManRoot]
410 info Info files [InstInfoDir]
412 You may alter mkworld's ideas about GHC installation by changing
413 the above-mentioned settings, as shown below.
415 The default values are set in only4-ghc.ljm, if you are interested.
417 If you are going to install the utility bits (literate, mkworld,
418 glafp-utils) as well as the GHC system itself, you should do
419 similar installation fiddling in your "mkworld/site.jm" file,
420 setting the variables InstRootDir, InstBinDir, InstLibDir, etc.
421 (the non-project-specific ones).
425 "AT_GLASGOW" -- Are we installing at Glasgow?
426 (also set in site.jm.in, but we get here and try to use it first)
429 #define AT_GLASGOW @AT_GLASGOW@
432 /* only the "prefix" things are set here */
433 #ifndef InstRootDir_GHC
434 #define InstRootDir_GHC @prefix@
436 #ifndef InstBinRootDir_GHC
437 #define InstBinRootDir_GHC @exec_prefix@
440 /* install the compilation system driver as "ghc-<version>" at Glasgow
441 (default is: "ghc" elsewhere)
443 #ifndef GhcDriverInstallName
445 #define GhcDriverInstallName ghc-$(PROJECTVERSION)
447 #define GhcDriverInstallName ghc
451 /* At Glasgow, make sure things are installed for group "grasp".
453 If you do not care what group it is installed for, delete
454 this stuff altogether. If you leave it in, be sure it is a
455 group that exists at your site!
457 #if AT_GLASGOW && !defined(InstGroup)
458 #define InstGroup -g grasp
461 /* At Glasgow, we would rather the installed binaries were stripped.
462 (Delete if you feel otherwise.)