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
69 #define BuildGHCI @BuildGHCI@
71 #ifndef GhcWithDeforester
72 #define GhcWithDeforester @GhcWithDeforester@
74 #ifndef GhcWithReadline
75 #define GhcWithReadline @GhcWithReadline@
77 #ifndef GhcWithSockets
78 #define GhcWithSockets @GhcWithSockets@
81 /* ================================================================
82 BUILDS stuff: main sequential ones
84 The configure script dumps all the what-builds-to-do info
85 into a file called "buildinfo.jm", in this directory. We
86 do it this way, rather than AC_SUBSTing the info into this file
87 because some sed's (notably OSF and maybe HP-UX) only allow
88 99 commands (!!!), which is way too few if we want to do the
89 GhcBuild_ stuff as well as everything else. WDP 96/04
92 #include "buildinfo.jm"
94 /* normal sequential */
95 #if GhcBuild_normal == YES
96 # define IfGhcBuild_normal(x) x
97 GHC_BUILD_FLAG_normal = -build-normal-defined
99 # define IfGhcBuild_normal(x) /**/
100 GHC_BUILD_FLAG_normal = -build-normal-not-defined
103 /* profiled sequential */
104 #if GhcBuild_p == YES
105 # define IfGhcBuild_p(x) x
106 GHC_BUILD_FLAG_p = -build-p-defined
108 # define IfGhcBuild_p(x) /**/
109 GHC_BUILD_FLAG_p = -build-p-not-defined
112 /* ticky-ticky "profiling" (sequential) */
113 #if GhcBuild_t == YES
114 # define IfGhcBuild_t(x) x
115 GHC_BUILD_FLAG_t = -build-t-defined
117 # define IfGhcBuild_t(x) /**/
118 GHC_BUILD_FLAG_t = -build-t-not-defined
121 /* unregisterized (most basic boot) */
122 #if GhcBuild_u == YES
123 # define IfGhcBuild_u(x) x
124 GHC_BUILD_FLAG_u = -build-u-defined
126 # define IfGhcBuild_u(x) /**/
127 GHC_BUILD_FLAG_u = -build-u-not-defined
130 /* === builds: concurrent and parallel ============================ */
133 #if GhcBuild_mc == YES
134 # define IfGhcBuild_mc(x) x
135 GHC_BUILD_FLAG_mc = -build-mc-defined
137 # define IfGhcBuild_mc(x) /**/
138 GHC_BUILD_FLAG_mc = -build-mc-not-defined
141 /* profiled concurrent */
142 #if GhcBuild_mr == YES
143 # define IfGhcBuild_mr(x) x
144 GHC_BUILD_FLAG_mr = -build-mr-defined
146 # define IfGhcBuild_mr(x) /**/
147 GHC_BUILD_FLAG_mr = -build-mr-not-defined
150 /* ticky concurrent */
151 #if GhcBuild_mt == YES
152 # define IfGhcBuild_mt(x) x
153 GHC_BUILD_FLAG_mt = -build-mt-defined
155 # define IfGhcBuild_mt(x) /**/
156 GHC_BUILD_FLAG_mt = -build-mt-not-defined
159 /* parallel (GUM, PVM-based) */
160 #if GhcBuild_mp == YES
161 # define IfGhcBuild_mp(x) x
162 GHC_BUILD_FLAG_mp = -build-mp-defined
164 # define IfGhcBuild_mp(x) /**/
165 GHC_BUILD_FLAG_mp = -build-mp-not-defined
169 #if GhcBuild_mg == YES
170 # define IfGhcBuild_mg(x) x
171 GHC_BUILD_FLAG_mg = -build-mg-defined
173 # define IfGhcBuild_mg(x) /**/
174 GHC_BUILD_FLAG_mg = -build-mg-not-defined
177 /* === builds: non-std garbage collectors ==========================
178 These use the same mechanism as user ways
179 but do not have any "fed back" options.
182 /* sequential -- 2-space collector */
183 #if GhcBuild_2s == YES
184 # define IfGhcBuild_2s(x) x
185 GHC_BUILD_FLAG_2s = -gc-2s
187 # define IfGhcBuild_2s(x) /**/
188 GHC_BUILD_FLAG_2s = -build-2s-not-defined
191 /* sequential -- 1-space collector */
192 #if GhcBuild_1s == YES
193 # define IfGhcBuild_1s(x) x
194 GHC_BUILD_FLAG_1s = -gc-1s
196 # define IfGhcBuild_1s(x) /**/
197 GHC_BUILD_FLAG_1s = -build-1s-not-defined
200 /* sequential -- dual-mode collector */
201 #if GhcBuild_du == YES
202 # define IfGhcBuild_du(x) x
203 GHC_BUILD_FLAG_du = -gc-du
205 # define IfGhcBuild_du(x) /**/
206 GHC_BUILD_FLAG_du = -build-du-not-defined
209 /* === builds: "user ways" ======================================= */
211 #if GhcBuild_a == YES
212 # define IfGhcBuild_a(x) x
213 GHC_BUILD_FLAG_a = -build-a-not-defined /* >>>change here<<< if required */
214 GHC_BUILD_OPTS_a = -build-a-not-defined-error
216 # define IfGhcBuild_a(x) /**/
217 GHC_BUILD_FLAG_a = -build-a-not-defined
218 GHC_BUILD_OPTS_a = -build-a-not-defined-error
221 #if GhcBuild_b == YES
222 # define IfGhcBuild_b(x) x
223 GHC_BUILD_FLAG_b = -build-b-not-defined /* >>>change here<<< if required */
224 GHC_BUILD_OPTS_b = -build-b-not-defined-error
226 # define IfGhcBuild_b(x) /**/
227 GHC_BUILD_FLAG_b = -build-b-not-defined
228 GHC_BUILD_OPTS_b = -build-b-not-defined-error
231 #if GhcBuild_c == YES
232 # define IfGhcBuild_c(x) x
233 GHC_BUILD_FLAG_c = -build-c-not-defined /* >>>change here<<< if required */
234 GHC_BUILD_OPTS_c = -build-c-not-defined-error
236 # define IfGhcBuild_c(x) /**/
237 GHC_BUILD_FLAG_c = -build-c-not-defined
238 GHC_BUILD_OPTS_c = -build-c-not-defined-error
241 #if GhcBuild_d == YES
242 # define IfGhcBuild_d(x) x
243 GHC_BUILD_FLAG_d = -build-d-not-defined /* >>>change here<<< if required */
244 GHC_BUILD_OPTS_d = -build-d-not-defined-error
246 # define IfGhcBuild_d(x) /**/
247 GHC_BUILD_FLAG_d = -build-d-not-defined
248 GHC_BUILD_OPTS_d = -build-d-not-defined-error
251 #if GhcBuild_e == YES
252 # define IfGhcBuild_e(x) x
253 GHC_BUILD_FLAG_e = -build-e-not-defined /* >>>change here<<< if required */
254 GHC_BUILD_OPTS_e = -build-e-not-defined-error
256 # define IfGhcBuild_e(x) /**/
257 GHC_BUILD_FLAG_e = -build-e-not-defined
258 GHC_BUILD_OPTS_e = -build-e-not-defined-error
261 #if GhcBuild_f == YES
262 # define IfGhcBuild_f(x) x
263 GHC_BUILD_FLAG_f = -build-f-not-defined /* >>>change here<<< if required */
264 GHC_BUILD_OPTS_f = -build-f-not-defined-error
266 # define IfGhcBuild_f(x) /**/
267 GHC_BUILD_FLAG_f = -build-f-not-defined
268 GHC_BUILD_OPTS_f = -build-f-not-defined-error
271 #if GhcBuild_g == YES
272 # define IfGhcBuild_g(x) x
273 GHC_BUILD_FLAG_g = -build-g-not-defined /* >>>change here<<< if required */
274 GHC_BUILD_OPTS_g = -build-g-not-defined-error
276 # define IfGhcBuild_g(x) /**/
277 GHC_BUILD_FLAG_g = -build-g-not-defined
278 GHC_BUILD_OPTS_g = -build-g-not-defined-error
281 #if GhcBuild_h == YES
282 # define IfGhcBuild_h(x) x
283 GHC_BUILD_FLAG_h = -build-h-not-defined /* >>>change here<<< if required */
284 GHC_BUILD_OPTS_h = -build-h-not-defined-error
286 # define IfGhcBuild_h(x) /**/
287 GHC_BUILD_FLAG_h = -build-h-not-defined
288 GHC_BUILD_OPTS_h = -build-h-not-defined-error
291 #if GhcBuild_i == YES
292 # define IfGhcBuild_i(x) x
293 GHC_BUILD_FLAG_i = -build-i-not-defined /* >>>change here<<< if required */
294 GHC_BUILD_OPTS_i = -build-i-not-defined-error
296 # define IfGhcBuild_i(x) /**/
297 GHC_BUILD_FLAG_i = -build-i-not-defined
298 GHC_BUILD_OPTS_i = -build-i-not-defined-error
301 #if GhcBuild_j == YES
302 # define IfGhcBuild_j(x) x
303 GHC_BUILD_FLAG_j = -build-j-not-defined /* >>>change here<<< if required */
304 GHC_BUILD_OPTS_j = -build-j-not-defined-error
306 # define IfGhcBuild_j(x) /**/
307 GHC_BUILD_FLAG_j = -build-j-not-defined
308 GHC_BUILD_OPTS_j = -build-j-not-defined-error
311 #if GhcBuild_k == YES
312 # define IfGhcBuild_k(x) x
313 GHC_BUILD_FLAG_k = -build-k-not-defined /* >>>change here<<< if required */
314 GHC_BUILD_OPTS_k = -build-k-not-defined-error
316 # define IfGhcBuild_k(x) /**/
317 GHC_BUILD_FLAG_k = -build-k-not-defined
318 GHC_BUILD_OPTS_k = -build-k-not-defined-error
321 #if GhcBuild_l == YES
322 # define IfGhcBuild_l(x) x
323 GHC_BUILD_FLAG_l = -build-l-not-defined /* >>>change here<<< if required */
324 GHC_BUILD_OPTS_l = -build-l-not-defined-error
326 # define IfGhcBuild_l(x) /**/
327 GHC_BUILD_FLAG_l = -build-l-not-defined
328 GHC_BUILD_OPTS_l = -build-l-not-defined-error
331 #if GhcBuild_m == YES
332 # define IfGhcBuild_m(x) x
333 GHC_BUILD_FLAG_m = -build-m-not-defined /* >>>change here<<< if required */
334 GHC_BUILD_OPTS_m = -build-m-not-defined-error
336 # define IfGhcBuild_m(x) /**/
337 GHC_BUILD_FLAG_m = -build-m-not-defined
338 GHC_BUILD_OPTS_m = -build-m-not-defined-error
341 #if GhcBuild_n == YES
342 # define IfGhcBuild_n(x) x
343 GHC_BUILD_FLAG_n = -build-n-not-defined /* >>>change here<<< if required */
344 GHC_BUILD_OPTS_n = -build-n-not-defined-error
346 # define IfGhcBuild_n(x) /**/
347 GHC_BUILD_FLAG_n = -build-n-not-defined
348 GHC_BUILD_OPTS_n = -build-n-not-defined-error
351 #if GhcBuild_o == YES
352 # define IfGhcBuild_o(x) x
353 GHC_BUILD_FLAG_o = -build-o-not-defined /* >>>change here<<< if required */
354 GHC_BUILD_OPTS_o = -build-o-not-defined-error
356 # define IfGhcBuild_o(x) /**/
357 GHC_BUILD_FLAG_o = -build-o-not-defined
358 GHC_BUILD_OPTS_o = -build-o-not-defined-error
361 #if GhcBuild_A == YES
362 # define IfGhcBuild_A(x) x
363 GHC_BUILD_FLAG_A = -build-A-not-defined /* >>>change here<<< if required */
364 GHC_BUILD_OPTS_A = -build-A-not-defined-error
366 # define IfGhcBuild_A(x) /**/
367 GHC_BUILD_FLAG_A = -build-A-not-defined
368 GHC_BUILD_OPTS_A = -build-A-not-defined-error
371 #if GhcBuild_B == YES
372 # define IfGhcBuild_B(x) x
373 GHC_BUILD_FLAG_B = -build-B-not-defined /* >>>change here<<< if required */
374 GHC_BUILD_OPTS_B = -build-B-not-defined-error
376 # define IfGhcBuild_B(x) /**/
377 GHC_BUILD_FLAG_B = -build-B-not-defined
378 GHC_BUILD_OPTS_B = -build-B-not-defined-error
381 /* ======= END OF BUILD INFO ==================================== */
384 /* As of 0.19, our parser won't go through Sun's /usr/bin/yacc
385 (due to an utterly hardwired limit on the number of states [1000]).
386 You can use: (1) their unbundled /usr/lang/yacc; or (2) the GNU
387 "bison -y". Do not try Berkeley yacc -- it willnae work.
390 #define YaccCmd @YaccCmd@
393 /* ================================================================
397 /* WHERE TO INSTALL IT:
399 By default, the root prefix for where everything is installed is
400 "/usr/local". Assume you are installing for the <arch>
401 architecture... Beneath that, things look like this:
403 bin/<arch> for executables the user invokes, e.g., driver "ghc"
405 bin we might install some scripts (not platform-dependent)
406 here... [InstScriptDir_GHC]
407 lib/ghc/<version> for support-bits for "ghc" (architecture-independent),
408 for a specific version. [InstDataDir_GHC]
409 lib/ghc/<version>/<arch>
410 ditto, but the <arch>itecture-dependent bits
412 man/man<ext>/ man pages [InstManRoot]
413 info Info files [InstInfoDir]
415 You may alter mkworld's ideas about GHC installation by changing
416 the above-mentioned settings, as shown below.
418 The default values are set in only4-ghc.ljm, if you are interested.
420 If you are going to install the utility bits (literate, mkworld,
421 glafp-utils) as well as the GHC system itself, you should do
422 similar installation fiddling in your "mkworld/site.jm" file,
423 setting the variables InstRootDir, InstBinDir, InstLibDir, etc.
424 (the non-project-specific ones).
428 "AT_GLASGOW" -- Are we installing at Glasgow?
429 (also set in site.jm.in, but we get here and try to use it first)
432 #define AT_GLASGOW @AT_GLASGOW@
435 /* only the "prefix" things are set here */
436 #ifndef InstRootDir_GHC
437 #define InstRootDir_GHC @prefix@
439 #ifndef InstBinRootDir_GHC
440 #define InstBinRootDir_GHC @exec_prefix@
443 /* install the compilation system driver as "ghc-<version>" at Glasgow
444 (default is: "ghc" elsewhere)
446 #ifndef GhcDriverInstallName
448 #define GhcDriverInstallName ghc-$(PROJECTVERSION)
450 #define GhcDriverInstallName ghc
454 /* At Glasgow, make sure things are installed for group "grasp".
456 If you do not care what group it is installed for, delete
457 this stuff altogether. If you leave it in, be sure it is a
458 group that exists at your site!
460 #if AT_GLASGOW && !defined(InstGroup)
461 #define InstGroup -g grasp
464 /* At Glasgow, we would rather the installed binaries were stripped.
465 (Delete if you feel otherwise.)