1 dnl == autoconf source for the Glasgow FP tools ==
2 dnl (run "grep '^dnl \*' configure.ac | sed -e 's/dnl / /g; s/\*\*/ +/g;'"
3 dnl (or some such) to see the outline of this file)
6 # (c) The University of Glasgow 1994-2004
8 # Configure script template for GHC
10 # Process with 'autoreconf' to get a working configure script.
12 # For the generated configure script, do "./configure --help" to
13 # see what flags are available. (Better yet, read the documentation!)
16 AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.11], [glasgow-haskell-bugs@haskell.org], [ghc])
18 # Set this to YES for a released version, otherwise NO
21 # The primary version (e.g. 6.7, 6.6.1) is set in the AC_INIT line
22 # above. If this is not a released version, then we will append the
23 # date to the version number (e.g. 6.7.20070204). The date is
24 # constructed by finding the date of the most recent patch in the
25 # darcs repository. If this is a source distribution (not a darcs
26 # checkout), then we ship a file 'VERSION' containing the full version
27 # when the source distribution was created.
29 if test ! -f mk/config.h.in; then
30 echo "mk/config.h.in doesn't exist: perhaps you haven't run 'sh boot'?"
34 AC_SUBST([CONFIGURE_ARGS], [$ac_configure_args])
36 FP_SETUP_PROJECT_VERSION
38 # Hmmm, we fix the RPM release number to 1 here... Is this convenient?
39 AC_SUBST([release], [1])
41 # First off, a distrib sanity check..
42 AC_CONFIG_SRCDIR([mk/config.mk.in])
44 dnl * We require autoconf version 2.52
45 dnl We need 2.50 due to the use of AC_SYS_LARGEFILE and AC_MSG_NOTICE.
46 dnl We need 2.52 due to the use of AS_TR_CPP and AS_TR_SH.
49 # -------------------------------------------------------------------------
50 # Prepare to generate the following header files
53 AC_CONFIG_HEADER(mk/config.h)
55 # No, semi-sadly, we don't do `--srcdir'...
56 if test x"$srcdir" != 'x.' ; then
57 echo "This configuration does not support the \`--srcdir' option.."
61 dnl--------------------------------------------------------------------
62 dnl * Deal with arguments telling us gmp is somewhere odd
63 dnl--------------------------------------------------------------------
69 if test "x$gmp_libraries" != "xNONE"; then
70 LDFLAGS="-L$gmp_libraries $LDFLAGS"
71 GMP_LIB_DIRS=$gmp_libraries
73 if test "x$gmp_includes" != "xNONE"; then
74 CPPFLAGS="-I$gmp_includes $CPPFLAGS"
75 GMP_INCLUDE_DIRS=$gmp_includes
77 AC_SUBST(GMP_INCLUDE_DIRS)
78 AC_SUBST(GMP_LIB_DIRS)
80 dnl--------------------------------------------------------------------
81 dnl * Choose host(/target/build) platform
82 dnl--------------------------------------------------------------------
84 dnl Guess host/target/build platform(s) if necessary.
87 # "$host" defaults to "$target"
88 if test "x$host" = xNONE ; then
92 dnl ** canonicalize platform names
93 BuildPlatform=`/bin/sh $srcdir/config.sub $build` || exit 1
94 HostPlatform=`/bin/sh $srcdir/config.sub $host` || exit 1
95 TargetPlatform=`/bin/sh $srcdir/config.sub $target` || exit 1
97 if test x"$TargetPlatform" != x"$HostPlatform" ; then
99 GHC configuration does not support differing host/target (i.e., cross-compiling)])
102 case $HostPlatform in
104 AC_MSG_WARN([GHC does not support the Cygwin target at the moment])
105 AC_MSG_WARN([I'm assuming you wanted to build for i386-unknown-mingw32])
106 HostPlatform=i386-unknown-mingw32
113 # The following will be more difficult when we *are* cross-compiling.
114 # Suitable names to slam in *_CPP are in platform.h.in.
115 # We also record the architecture, vendor, and operating system (OS)
117 case $HostPlatform in
118 alpha*-dec-osf[[12]]*)
119 HostPlatform=alpha-dec-osf1 # canonicalise for our purposes
120 TargetPlatform=alpha-dec-osf1 # this will work for now... (hack)
121 BuildPlatform=alpha-dec-osf1 # hack
122 HostPlatform_CPP='alpha_dec_osf1'
127 alpha*-dec-osf[[345]]*)
128 HostPlatform=alpha-dec-osf3 # canonicalise for our purposes
129 TargetPlatform=alpha-dec-osf3 # this will work for now... (hack)
130 BuildPlatform=alpha-dec-osf3 # hack
131 HostPlatform_CPP='alpha_dec_osf3'
136 alpha*-unknown-linux*)
137 HostPlatform=alpha-unknown-linux
138 TargetPlatform=alpha-unknown-linux
139 BuildPlatform=alpha-unknown-linux
140 HostPlatform_CPP='alpha_unknown_linux'
142 HostVendor_CPP='unknown'
145 alpha*-unknown-freebsd*)
146 HostPlatform=alpha-unknown-freebsd
147 TargetPlatform=alpha-unknown-freebsd
148 BuildPlatform=alpha-unknown-freebsd
149 HostPlatform_CPP='alpha_unknown_freebsd'
151 HostVendor_CPP='unknown'
154 alpha*-unknown-openbsd*)
155 HostPlatform=alpha-unknown-openbsd
156 TargetPlatform=alpha-unknown-openbsd
157 BuildPlatform=alpha-unknown-openbsd
158 HostPlatform_CPP='alpha_unknown_openbsd'
160 HostVendor_CPP='unknown'
163 amd64-*-openbsd*|x86_64-*-openbsd*)
164 HostPlatform=x86_64-unknown-openbsd
165 TargetPlatform=x86_64-unknown-openbsd
166 BuildPlatform=x86_64-unknown-openbsd
167 HostPlatform_CPP='x86_64_unknown_openbsd'
168 HostArch_CPP='x86_64'
169 HostVendor_CPP='unknown'
172 amd64-*-freebsd*|x86_64-*-freebsd*)
173 HostPlatform=x86_64-unknown-freebsd
174 TargetPlatform=x86_64-unknown-freebsd
175 BuildPlatform=x86_64-unknown-freebsd
176 HostPlatform_CPP='x86_64_unknown_freebsd'
177 HostArch_CPP='x86_64'
178 HostVendor_CPP='unknown'
181 amd64-*-netbsd*|x86_64-*-netbsd*)
182 HostPlatform=x86_64-unknown-netbsd
183 TargetPlatform=x86_64-unknown-netbsd
184 BuildPlatform=x86_64-unknown-netbsd
185 HostPlatform_CPP='x86_64_unknown_netbsd'
186 HostArch_CPP='x86_64'
187 HostVendor_CPP='unknown'
191 HostPlatform=arm-unknown-linux # hack again
192 TargetPlatform=arm-unknown-linux
193 BuildPlatform=arm-unknown-linux
194 HostPlatform_CPP='arm_unknown_linux'
196 HostVendor_CPP='unknown'
200 HostPlatform=arm-unknown-openbsd
201 TargetPlatform=arm-unknown-openbsd
202 BuildPlatform=arm-unknown-openbsd
203 HostPlatform_CPP='arm_unknown_openbsd'
205 HostVendor_CPP='unknown'
209 HostPlatform=hppa-unknown-linux # hack again
210 TargetPlatform=hppa-unknown-linux
211 BuildPlatform=hppa-unknown-linux
212 HostPlatform_CPP='hppa_unknown_linux'
214 HostVendor_CPP='unknown'
218 HostPlatform=hppa-unknown-openbsd # hack again
219 TargetPlatform=hppa-unknown-openbsd
220 BuildPlatform=hppa-unknown-openbsd
221 HostPlatform_CPP='hppa_unknown_openbsd'
223 HostVendor_CPP='unknown'
227 HostPlatform=hppa1.1-hp-hpux # canonicalise for our purposes (hack)
228 TargetPlatform=hppa1.1-hp-hpux
229 BuildPlatform=hppa1.1-hp-hpux
230 HostPlatform_CPP='hppa1_1_hp_hpux'
231 HostArch_CPP='hppa1_1'
235 i[[3456]]86-*-linuxaout*)
236 HostPlatform=i386-unknown-linuxaout # hack again
237 TargetPlatform=i386-unknown-linuxaout
238 BuildPlatform=i386-unknown-linuxaout
239 HostPlatform_CPP='i386_unknown_linuxaout'
241 HostVendor_CPP='unknown'
242 HostOS_CPP='linuxaout'
244 i[[3456]]86-*-linux*)
245 HostPlatform=i386-unknown-linux # hack again
246 TargetPlatform=i386-unknown-linux
247 BuildPlatform=i386-unknown-linux
248 HostPlatform_CPP='i386_unknown_linux'
250 HostVendor_CPP='unknown'
253 i[[3456]]86-*-kfreebsd*-gnu)
254 HostPlatform=i386-unknown-kfreebsdgnu # hack again
255 TargetPlatform=i386-unknown-kfreebsdgnu
256 BuildPlatform=i386-unknown-kfreebsdgnu
257 HostPlatform_CPP='i386_unknown_kfreebsdgnu'
259 HostVendor_CPP='unknown'
260 HostOS_CPP='kfreebsdgnu'
262 i[[3456]]86-*-freebsd[[3-9]]*) # FreeBSD 3.0+ uses ELF
263 HostPlatform=i386-unknown-freebsd # hack again
264 TargetPlatform=i386-unknown-freebsd
265 BuildPlatform=i386-unknown-freebsd
266 HostPlatform_CPP='i386_unknown_freebsd'
268 HostVendor_CPP='unknown'
271 i[[3456]]86-*-freebsd2*) # Older FreeBSDs are a.out
272 HostPlatform=i386-unknown-freebsd2 # hack again
273 TargetPlatform=i386-unknown-freebsd2
274 BuildPlatform=i386-unknown-freebsd2
275 HostPlatform_CPP='i386_unknown_freebsd2'
277 HostVendor_CPP='unknown'
278 HostOS_CPP='freebsd2'
280 i[[3456]]86-*-netbsd*)
281 HostPlatform=i386-unknown-netbsd # hack again
282 TargetPlatform=i386-unknown-netbsd
283 BuildPlatform=i386-unknown-netbsd
284 HostPlatform_CPP='i386_unknown_netbsd'
286 HostVendor_CPP='unknown'
289 i[[3456]]86-*-openbsd*)
290 HostPlatform=i386-unknown-openbsd # hack again
291 TargetPlatform=i386-unknown-openbsd
292 BuildPlatform=i386-unknown-openbsd
293 HostPlatform_CPP='i386_unknown_openbsd'
295 HostVendor_CPP='unknown'
298 i[[3456]]86-*-solaris2*)
299 HostPlatform=i386-unknown-solaris2 # hack again
300 TargetPlatform=i386-unknown-solaris2
301 BuildPlatform=i386-unknown-solaris2
302 HostPlatform_CPP='i386_unknown_solaris2'
304 HostVendor_CPP='unknown'
305 HostOS_CPP='solaris2'
307 i[[3456]]86-*-cygwin*)
308 HostPlatform=i386-unknown-cygwin32 # hack again
309 TargetPlatform=i386-unknown-cygwin32
310 BuildPlatform=i386-unknown-cygwin32
311 HostPlatform_CPP='i386_unknown_cygwin32'
313 HostVendor_CPP='unknown'
314 HostOS_CPP='cygwin32'
318 i[[3456]]86-*-mingw32*)
319 HostPlatform=i386-unknown-mingw32 # hack again
320 TargetPlatform=i386-unknown-mingw32
321 BuildPlatform=i386-unknown-mingw32
322 HostPlatform_CPP='i386_unknown_mingw32'
324 HostVendor_CPP='unknown'
329 i[[3456]]86-apple-darwin*)
330 HostPlatform=i386-apple-darwin
331 TargetPlatform=i386-apple-darwin #hack
332 BuildPlatform=i386-apple-darwin #hack
333 HostPlatform_CPP='i386_apple_darwin'
335 HostVendor_CPP='apple'
340 HostPlatform=i386-unknown-gnu
341 TargetPlatform=i386-unknown-gnu
342 BuildPlatform=i386-unknown-gnu
343 HostPlatform_CPP=i386_unknown_gnu
345 HostVendor_CPP=unknown
349 HostPlatform=ia64-unknown-linux # hack again
350 TargetPlatform=ia64-unknown-linux
351 BuildPlatform=ia64-unknown-linux
352 HostPlatform_CPP='ia64_unknown_linux'
354 HostVendor_CPP='unknown'
358 HostPlatform=x86_64-unknown-linux
359 TargetPlatform=x86_64-unknown-linux
360 BuildPlatform=x86_64-unknown-linux
361 HostPlatform_CPP='x86_64_unknown_linux'
362 HostArch_CPP='x86_64'
363 HostVendor_CPP='unknown'
366 x86_64-apple-darwin*)
367 HostPlatform=x86_64-apple-darwin
368 TargetPlatform=x86_64-apple-darwin
369 BuildPlatform=x86_64-apple-darwin
370 HostPlatform_CPP='x86_64_apple_darwin'
371 HostArch_CPP='x86_64'
372 HostVendor_CPP='apple'
375 # By default, gcc makes 32bit executables on OS X
376 CFLAGS="$CFLAGS -m64"
377 LDFLAGS="$LDFLAGS -m64"
380 HostPlatform=m68k-unknown-linux # hack again
381 TargetPlatform=m68k-unknown-linux
382 BuildPlatform=m68k-unknown-linux
383 HostPlatform_CPP='m68k_unknown_linux'
385 HostVendor_CPP='unknown'
389 HostPlatform_CPP='m68k_next_nextstep2'
391 HostVendor_CPP='next'
392 HostOS_CPP='nextstep2'
395 HostPlatform_CPP='m68k_next_nextstep3'
397 HostVendor_CPP='next'
398 HostOS_CPP='nextstep3'
400 i[[3456]]86-next-nextstep3)
401 HostPlatform=i386-next-nextstep3 # hack again
402 TargetPlatform=i386-next-nextstep3
403 BuildPlatform=i386-next-nextstep3
404 HostPlatform_CPP='i386_next_nextstep3'
406 HostVendor_CPP='next'
407 HostOS_CPP='nextstep3'
410 HostPlatform=m68k-unknown-openbsd
411 TargetPlatform=m68k-unknown-openbsd
412 BuildPlatform=m68k-unknown-openbsd
413 HostPlatform_CPP='m68k_unknown_openbsd'
415 HostVendor_CPP='unknown'
419 HostPlatform=m68k-unknown-netbsd
420 TargetPlatform=m68k-unknown-netbsd
421 BuildPlatform=m68k-unknown-netbsd
422 HostPlatform_CPP='m68k_unknown_netbsd'
424 HostVendor_CPP='unknown'
428 HostPlatform=m68k-sun-sunos4
429 TargetPlatform=m68k-sun-sunos4 #hack
430 BuildPlatform=m68k-sun-sunos4 #hack
431 HostPlatform_CPP='m68k_sun_sunos4'
437 HostPlatform=m88k-unknown-openbsd
438 TargetPlatform=m88k-unknown-openbsd
439 BuildPlatform=m88k-unknown-openbsd
440 HostPlatform_CPP='m88k_unknown_openbsd'
442 HostVendor_CPP='unknown'
446 HostPlatform=mips-unknown-linux # hack again
447 TargetPlatform=mips-unknown-linux
448 BuildPlatform=mips-unknown-linux
449 HostPlatform_CPP='mips_unknown_linux'
451 HostVendor_CPP='unknown'
455 HostPlatform=mipsel-unknown-linux # hack again
456 TargetPlatform=mipsel-unknown-linux
457 BuildPlatform=mipsel-unknown-linux
458 HostPlatform_CPP='mipsel_unknown_linux'
459 HostArch_CPP='mipsel'
460 HostVendor_CPP='unknown'
464 HostPlatform_CPP='mips_dec_ultrix'
465 HostArch_CPP='mipsel' # NB a little different
470 HostPlatform=mips-sgi-irix
471 TargetPlatform=mips-sgi-irix #hack
472 BuildPlatform=mips-sgi-irix #hack
473 HostPlatform_CPP='mips_sgi_irix'
474 HostArch_CPP='mipseb' # NB a little different
479 HostPlatform=rs6000-ibm-aix
480 TargetPlatform=rs6000-ibm-aix #hack
481 BuildPlatform=rs6000-ibm-aix #hack
482 HostPlatform_CPP='rs6000_ibm_aix'
483 HostArch_CPP='rs6000'
488 HostPlatform=powerpc-ibm-aix
489 TargetPlatform=powerpc-ibm-aix #hack
490 BuildPlatform=powerpc-ibm-aix #hack
491 HostPlatform_CPP='powerpc_ibm_aix'
492 HostArch_CPP='powerpc'
496 powerpc-apple-darwin*)
497 HostPlatform=powerpc-apple-darwin
498 TargetPlatform=powerpc-apple-darwin #hack
499 BuildPlatform=powerpc-apple-darwin #hack
500 HostPlatform_CPP='powerpc_apple_darwin'
501 HostArch_CPP='powerpc'
502 HostVendor_CPP='apple'
506 powerpc-unknown-linux*)
507 HostPlatform=powerpc-unknown-linux
508 TargetPlatform=powerpc-unknown-linux
509 BuildPlatform=powerpc-unknown-linux
510 HostPlatform_CPP='powerpc_unknown_linux'
511 HostArch_CPP='powerpc'
512 HostVendor_CPP='unknown'
515 powerpc-unknown-openbsd*)
516 HostPlatform=powerpc-unknown-openbsd
517 TargetPlatform=powerpc-unknown-openbsd
518 BuildPlatform=powerpc-unknown-openbsd
519 HostPlatform_CPP='powerpc_unknown_openbsd'
520 HostArch_CPP='powerpc'
521 HostVendor_CPP='unknown'
524 powerpc64-unknown-linux*)
525 HostPlatform=powerpc64-unknown-linux
526 TargetPlatform=powerpc64-unknown-linux
527 BuildPlatform=powerpc64-unknown-linux
528 HostPlatform_CPP='powerpc64_unknown_linux'
529 HostArch_CPP='powerpc64'
530 HostVendor_CPP='unknown'
535 HostPlatform=s390-ibm-linux
536 TargetPlatform=s390-ibm-linux #hack
537 BuildPlatform=s390-ibm-linux #hack
538 HostPlatform_CPP='s390_ibm_linux'
544 HostPlatform=sparc-sun-sunos4
545 TargetPlatform=sparc-sun-sunos4 #hack
546 BuildPlatform=sparc-sun-sunos4 #hack
547 HostPlatform_CPP='sparc_sun_sunos4'
553 HostPlatform=sparc-sun-solaris2
554 TargetPlatform=sparc-sun-solaris2 #hack
555 BuildPlatform=sparc-sun-solaris2 #hack
556 HostPlatform_CPP='sparc_sun_solaris2'
559 HostOS_CPP='solaris2'
562 HostPlatform=sparc-unknown-linux
563 TargetPlatform=sparc-unknown-linux
564 BuildPlatform=sparc-unknown-linux
565 HostPlatform_CPP='sparc_unknown_linux'
567 HostVendor_CPP='unknown'
571 HostPlatform=sparc-unknown-openbsd
572 TargetPlatform=sparc-unknown-openbsd
573 BuildPlatform=sparc-unknown-openbsd
574 HostPlatform_CPP='sparc_unknown_openbsd'
576 HostVendor_CPP='unknown'
580 HostPlatform=sparc64-unknown-openbsd
581 TargetPlatform=sparc64-unknown-openbsd
582 BuildPlatform=sparc64-unknown-openbsd
583 HostPlatform_CPP='sparc64_unknown_openbsd'
584 HostArch_CPP='sparc64'
585 HostVendor_CPP='unknown'
589 HostPlatform=vax-unknown-openbsd
590 TargetPlatform=vax-unknown-openbsd
591 BuildPlatform=vax-unknown-openbsd
592 HostPlatform_CPP='vax_unknown_openbsd'
594 HostVendor_CPP='unknown'
598 echo "Unrecognised platform: $HostPlatform"
602 echo "Canonicalised to: $HostPlatform"
603 test x"$HostPlatform" != x"$TargetPlatform" && echo "Target platform set to $TargetPlatform"
604 test x"$BuildPlatform" != x"$HostPlatform" && echo "Build platform set to $BuildPlatform"
606 BuildPlatform_CPP=$HostPlatform_CPP
607 TargetPlatform_CPP=$HostPlatform_CPP
608 BuildArch_CPP=$HostArch_CPP
609 TargetArch_CPP=$HostArch_CPP
610 BuildOS_CPP=$HostOS_CPP
612 TargetOS_CPP=$HostOS_CPP
613 BuildVendor_CPP=$HostVendor_CPP
614 TargetVendor_CPP=$HostVendor_CPP
616 AC_SUBST(BuildPlatform)
617 AC_SUBST(HostPlatform)
618 AC_SUBST(TargetPlatform)
619 AC_SUBST(HostPlatform_CPP)
620 AC_SUBST(BuildPlatform_CPP)
621 AC_SUBST(TargetPlatform_CPP)
623 AC_SUBST(HostArch_CPP)
624 AC_SUBST(BuildArch_CPP)
625 AC_SUBST(TargetArch_CPP)
628 AC_SUBST(HostOS_Full)
629 AC_SUBST(BuildOS_CPP)
630 AC_SUBST(TargetOS_CPP)
632 AC_SUBST(HostVendor_CPP)
633 AC_SUBST(BuildVendor_CPP)
634 AC_SUBST(TargetVendor_CPP)
639 dnl --------------------------------------------------------------
640 dnl * Project specific configuration options
641 dnl --------------------------------------------------------------
642 dnl What follows is a bunch of options that can either be configured
643 dnl through command line options to the configure script or by
644 dnl supplying defns in the build tree's mk/build.mk. Having the option to
645 dnl use either is considered a Feature.
647 dnl ** What command to use to compile compiler sources ?
648 dnl --------------------------------------------------------------
651 [AC_HELP_STRING([--with-ghc=ARG],
652 [Use ARG as the path to GHC [default=autodetect]])],
653 [WithGhc="$withval"],
654 [if test "$GHC" = ""; then
655 AC_PATH_PROG([GHC], [ghc])
658 # GHC is passed to Cabal, so we need a native path
659 if test "${WithGhc}" != "" && test "$HostPlatform" = "i386-unknown-mingw32"
661 if test "${OSTYPE}" = "msys"
663 WithGhc=`echo "${WithGhc}" | sed "s#^/\([a-zA-Z]\)/#\1:/#"`
665 # Canonicalise to <drive>:/path/to/ghc
666 WithGhc=`cygpath -m ${WithGhc}`
668 echo "Canonicalised to: ${WithGhc}"
673 [AC_HELP_STRING([--with-hc=ARG],
674 [Use ARG as the path to the compiler for compiling ordinary
675 Haskell code (default= value of --with-ghc)])],
681 AC_ARG_ENABLE(bootstrap-with-devel-snapshot,
682 [AC_HELP_STRING([--enable-bootstrap-with-devel-snapshot],
683 [Allow bootstrapping using a development snapshot of GHC. This is not guaranteed to work.])],
684 EnableBootstrapWithDevelSnaphost=YES,
685 EnableBootstrapWithDevelSnaphost=NO
688 if test "$WithGhc" != ""; then
689 FPTOOLS_GHC_VERSION([GhcVersion], [GhcMajVersion], [GhcMinVersion], [GhcPatchLevel])dnl
691 if test "$GhcMajVersion" = "unknown" -o "$GhcMinVersion" = "unknown"; then
692 AC_MSG_ERROR([Cannot determine the version of $WithGhc. Is it really GHC?])
695 AC_SUBST(GhcVersion)dnl
696 AC_SUBST(GhcMajVersion)dnl
697 AC_SUBST(GhcMinVersion)dnl
698 AC_SUBST(GhcPatchLevel)dnl
699 GhcMinVersion2=`echo "$GhcMinVersion" | sed 's/^\\(.\\)$/0\\1/'`
700 GhcCanonVersion="$GhcMajVersion$GhcMinVersion2"
701 if test $GhcCanonVersion -ge 607; then ghc_ge_607=YES; else ghc_ge_607=NO; fi
702 if test $GhcCanonVersion -ge 609; then ghc_ge_609=YES; else ghc_ge_609=NO; fi
703 AC_SUBST(ghc_ge_607)dnl
704 AC_SUBST(ghc_ge_609)dnl
707 AC_PATH_PROGS(NHC,nhc nhc98)
708 AC_PATH_PROG(HBC,hbc)
710 dnl ** Which gcc to use?
711 dnl --------------------------------------------------------------
713 [AC_HELP_STRING([--with-gcc=ARG],
714 [Use ARG as the path to GCC [default=autodetect]])],
715 [WhatGccIsCalled="$withval"
716 if test "x$HostPlatform" = "xi386-unknown-mingw32" && \
717 test "${OSTYPE}" != "msys" && \
718 test "${withval}" != ""
720 # Canonicalise to <drive>:/path/to/gcc
721 withval=`cygpath -m ${withval}`
726 [WhatGccIsCalled="gcc"]
728 AC_SUBST(WhatGccIsCalled)
730 dnl ** Which ld to use?
731 dnl --------------------------------------------------------------
733 [AC_HELP_STRING([--with-ld=ARG],
734 [Use ARG as the path to LD [default=autodetect]])],
735 [if test "x$HostPlatform" = "xi386-unknown-mingw32" && \
736 test "${OSTYPE}" != "msys" && \
737 test "${withval}" != ""
739 # Canonicalise to <drive>:/path/to/ld
740 withval=`cygpath -m ${withval}`
748 dnl ** Build shared and/or static libs?
749 dnl --------------------------------------------------------------
750 AC_ARG_ENABLE(shared,
751 [AC_HELP_STRING([--enable-shared],
752 [Build shared libraries, if available (EXPERIMENTAL, non-working). [default=no]])],
753 [ if test x"$enableval" = x"yes"; then
754 AC_MSG_WARN([--enable-shared is experimental and not fully supported at this time])
762 AC_SUBST(BuildSharedLibs)
765 # AC_ARG_ENABLE(static,
766 # [AC_HELP_STRING([--enable-static],
767 # [Build static libraries. [default=yes]])],
768 # [ if test x"$enableval" = x"yes"; then
769 # BuildStaticLibs=YES
774 # [BuildStaticLibs=YES]
776 # AC_SUBST(BuildStaticLibs)
778 dnl ** Booting from .hc files?
779 dnl --------------------------------------------------------------
780 AC_ARG_ENABLE(hc-boot,
781 [AC_HELP_STRING([--enable-hc-boot],
782 [Boot the Glasgow Haskell Compiler from intermediate .hc files.
783 (This option is mostly of interest to porters.) [default=no]])],
784 [ if test x"$enableval" = x"yes"; then
792 AC_SUBST(BootingFromHc)
794 dnl ** Booting from unregisterised .hc files?
795 dnl --------------------------------------------------------------
796 AC_ARG_ENABLE(hc-boot-unregisterised,
797 [AC_HELP_STRING([--enable-hc-boot-unregisterised],
798 [ With --enable-hc-boot, treat the intermediate .hc files as
799 unregisterised rather than registerised code.
800 (This option is mostly of interest to porters.) [default=no]])],
801 [ if test x"$enableval" = x"yes"; then
802 BootingFromUnregisterisedHc=YES
804 BootingFromUnregisterisedHc=NO
807 [BootingFromUnregisterisedHc=NO]
809 AC_SUBST(BootingFromUnregisterisedHc)
811 if test "$BootingFromHc" = "NO"; then
812 if test "$BootingFromUnregisterisedHc" = "YES"; then
813 AC_MSG_ERROR([--enable-hc-boot-unregisterised requires --enable-hc-boot.])
817 dnl ** Must have GHC to build GHC, unless --enable-hc-boot is on
818 if test "$BootingFromHc" = "NO" -a -d "$srcdir/compiler"; then
819 if test "$WithGhc" = ""; then
820 AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
822 FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[6.6],
823 [AC_MSG_ERROR([GHC version 6.6 or later is required to compile GHC.])])dnl
825 if test `expr $GhcMinVersion % 2` = "1"; then
826 echo $EnableBootstrapWithDevelSnaphost
827 if test "$EnableBootstrapWithDevelSnaphost" = "NO"; then
829 $WithGhc is a development snapshot of GHC, version $GhcVersion.
830 Bootstrapping using this version of GHC is not supported, and may not
831 work. Use --enable-bootstrap-with-devel-snapshot to try it anyway,
832 or --with-ghc to specify a different GHC to use.])
837 # This uses GHC, so put it after the "GHC is required" check above:
840 dnl ** Enable the construction of Win32 DLLs?
841 dnl --------------------------------------------------------------
843 dnl [ The ability to build the RTS and libraries as separate DLLs used
844 dnl to be supported, but isn't currently (updates to the RTS, compiler
845 dnl and build system would be required to bring it back again.)
846 dnl Hence, exposing it as an option is false advertisement, so better
847 dnl disable it to avoid confusion (but leave it commented-out rather
848 dnl than removed in order to remind ourselves to bring back the
849 dnl feature at some stage.) ]
851 dnl AC_ARG_ENABLE(win32-dlls,
852 dnl [ --enable-win32-dlls
853 dnl If on a Win32 platform running mingw32/cygwin, enable the
854 dnl construction of DLLs containing ghc-compiled code.
857 dnl case $HostOS_CPP in
860 dnl *) echo "Unrecognised win32 platform: $HostPlatform"
864 dnl EnableWin32DLLs=YES
866 dnl [EnableWin32DLLs=NO]
868 dnl AC_SUBST(EnableWin32DLLs)
869 dnl if test x"$EnableWin32DLLs" = "xYES" ; then
870 dnl AC_DEFINE(HAVE_WIN32_DLL_SUPPORT)
873 dnl ** Mac OS X: explicit deployment target
874 dnl --------------------------------------------------------------
875 AC_ARG_WITH([macosx-deployment-target],
876 [AC_HELP_STRING([--with-macosx-deployment-target=VERSION],
877 [Build for Mac OS VERSION and higher (default= version of build host)])],
878 [FP_MACOSX_DEPLOYMENT_TARGET="$withval"
879 if test "x$TargetOS_CPP-$TargetVendor_CPP" != "xdarwin-apple"; then
880 # ignore everywhere, but on Mac OS
881 AC_MSG_WARN([--macosx-deployment-target is only available on Mac OS X])
882 FP_MACOSX_DEPLOYMENT_TARGET=none
884 [FP_MACOSX_DEPLOYMENT_TARGET=none]
886 FP_CHECK_MACOSX_DEPLOYMENT_TARGET
887 AC_SUBST(MACOSX_DEPLOYMENT_VERSION)
888 AC_SUBST(MACOSX_DEPLOYMENT_SDK)
890 dnl --------------------------------------------------------------
891 dnl End of configure script option section
892 dnl --------------------------------------------------------------
895 dnl --------------------------------------------------------------
896 dnl * General configuration checks
897 dnl --------------------------------------------------------------
899 dnl ** Can the unix package be built?
900 dnl --------------------------------------------------------------
902 if test x"$TargetPlatform" = x"i386-unknown-mingw32"; then
907 AC_SUBST([GhcLibsWithUnix])
912 dnl ** look for `perl', but only in /bin on Windows
915 AC_CHECK_PROG(PerlCmd,perl,/bin/perl,,/bin)
916 if test -z "$PerlCmd"; then
917 echo "You must install the version of Perl shipped with GHC"
918 echo "(or a compatible one) in /bin."
923 AC_PATH_PROG(PerlCmd,perl)
924 if test -z "$PerlCmd"; then
925 echo "You must install perl before you can continue"
926 echo "Perhaps it is already installed, but not in your PATH?"
929 FPTOOLS_CHECK_PERL_VERSION
934 dnl ** does #! path/to/perl work? (sometimes it's too long...)
937 dnl ** check for Python
938 AC_PATH_PROG(PythonCmd,python)
940 dnl ** look for GCC and find out which version
941 dnl Figure out which C compiler to use. Gcc is preferred.
942 dnl If gcc, make sure it's at least 2.1
948 dnl ** figure out how to invoke cpp directly (gcc -E is no good)
951 dnl ** Without optimization some INLINE trickery fails for GHCi
954 SRC_CC_OPTS="$SRC_CC_OPTS $CFLAGS"
955 SRC_LD_OPTS="$SRC_LD_OPTS $LDFLAGS"
957 AC_SUBST(SRC_CC_OPTS)
958 AC_SUBST(SRC_LD_OPTS)
960 dnl ** figure out how to do context diffs
963 dnl ** Find find command (for Win32's benefit)
966 dnl ** Find sort command (for the benefit of Win32 environs)
969 dnl Let's make sure install-sh is executable here. If we got it from
970 dnl a darcs repo, it might not be (see bug #978).
972 dnl ** figure out how to do a BSD-ish install
975 dnl If you can run configure, you certainly have /bin/sh
976 AC_DEFINE([HAVE_BIN_SH], [1], [Define to 1 if you have /bin/sh.])
978 dnl ** how to invoke `ar' and `ranlib'
979 FP_PROG_AR_NEEDS_RANLIB
980 FP_PROG_AR_SUPPORTS_INPUT
982 dnl ** Check to see whether ln -s works
986 dnl ** Find the path to sed
987 AC_PATH_PROG(SedCmd,sed)
990 dnl ** check for time command
991 AC_PATH_PROG(TimeCmd,time)
994 dnl if GNU tar is named gtar, look for it first.
995 AC_PATH_PROGS(TarCmd,gtar tar,tar)
997 dnl ** check for patch
998 dnl if GNU patch is named gpatch, look for it first
999 AC_PATH_PROGS(PatchCmd,gpatch patch, patch)
1001 AC_PATH_PROG(HSCOLOUR,HsColour)
1002 # HsColour is passed to Cabal, so we need a native path
1003 if test "x$HostPlatform" = "xi386-unknown-mingw32" && \
1004 test "${OSTYPE}" != "msys" && \
1005 test "${HSCOLOUR}" != ""
1007 # Canonicalise to <drive>:/path/to/gcc
1008 HSCOLOUR=`cygpath -m ${HSCOLOUR}`
1011 dnl ** check for DocBook toolchain
1012 FP_CHECK_DOCBOOK_DTD
1013 FP_DIR_DOCBOOK_XSL([/usr/share/xml/docbook/stylesheet/nwalsh/current /usr/share/xml/docbook/stylesheet/nwalsh /usr/share/xml/docbook/xsl-stylesheets* /usr/share/sgml/docbook/docbook-xsl-stylesheets* /usr/share/sgml/docbook/xsl-stylesheets* /opt/kde?/share/apps/ksgmltools2/docbook/xsl /usr/share/docbook-xsl /usr/share/sgml/docbkxsl /usr/local/share/xsl/docbook /sw/share/xml/xsl/docbook-xsl /opt/local/share/xsl/docbook-xsl])
1019 dnl ** check for ghc-pkg command
1022 dnl ** check for installed happy binary + version
1023 dnl (don't do it if we're booting from .hc files though.)
1024 if test "$BootingFromHc" = "NO"; then
1028 dnl ** check for installed alex binary + version
1029 dnl (don't do it if we're booting from .hc files though.)
1030 if test "$BootingFromHc" = "NO"; then
1034 dnl Check we have an acceptable version of windres
1037 dnl --------------------------------------------------
1038 dnl ### program checking section ends here ###
1039 dnl --------------------------------------------------
1041 dnl --------------------------------------------------
1042 dnl * Platform header file and syscall feature tests
1043 dnl ### checking the state of the local header files and syscalls ###
1045 dnl ** check for full ANSI header (.h) files
1048 dnl ** Enable large file support. NB. do this before testing the type of
1049 dnl off_t, because it will affect the result of that test.
1052 dnl ** check for specific header (.h) files that we are interested in
1053 AC_CHECK_HEADERS([bfd.h ctype.h dirent.h dlfcn.h errno.h fcntl.h grp.h limits.h locale.h nlist.h pthread.h pwd.h signal.h sys/mman.h sys/resource.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/utsname.h sys/wait.h termios.h time.h utime.h windows.h winsock.h sched.h])
1055 dnl ** check if it is safe to include both <time.h> and <sys/time.h>
1058 dnl ** do we have long longs?
1059 AC_CHECK_TYPES([long long])
1061 dnl ** what are the sizes of various types
1062 AC_CHECK_SIZEOF(char, 1)
1063 AC_CHECK_SIZEOF(double, 8)
1064 AC_CHECK_SIZEOF(float, 4)
1065 AC_CHECK_SIZEOF(int, 4)
1066 AC_CHECK_SIZEOF(long, 4)
1067 if test "$ac_cv_type_long_long" = yes; then
1068 AC_CHECK_SIZEOF(long long, 8)
1070 AC_CHECK_SIZEOF(short, 2)
1071 AC_CHECK_SIZEOF(unsigned char, 1)
1072 AC_CHECK_SIZEOF(unsigned int, 4)
1073 AC_CHECK_SIZEOF(unsigned long, 4)
1074 if test "$ac_cv_type_long_long" = yes; then
1075 AC_CHECK_SIZEOF(unsigned long long, 8)
1077 AC_CHECK_SIZEOF(unsigned short, 2)
1078 AC_CHECK_SIZEOF(void *, 4)
1080 dnl ** what are alignment constraints on various types
1081 FP_CHECK_ALIGNMENT(char)
1082 FP_CHECK_ALIGNMENT(double)
1083 FP_CHECK_ALIGNMENT(float)
1084 FP_CHECK_ALIGNMENT(int)
1085 FP_CHECK_ALIGNMENT(long)
1086 if test "$ac_cv_type_long_long" = yes; then
1087 FP_CHECK_ALIGNMENT(long long)
1089 FP_CHECK_ALIGNMENT(short)
1090 FP_CHECK_ALIGNMENT(unsigned char)
1091 FP_CHECK_ALIGNMENT(unsigned int)
1092 FP_CHECK_ALIGNMENT(unsigned long)
1093 if test "$ac_cv_type_long_long" = yes; then
1094 FP_CHECK_ALIGNMENT(unsigned long long)
1096 FP_CHECK_ALIGNMENT(unsigned short)
1097 FP_CHECK_ALIGNMENT(void *)
1099 FP_CHECK_FUNC([WinExec],
1100 [@%:@include <windows.h>], [WinExec("",0)])
1102 FP_CHECK_FUNC([GetModuleFileName],
1103 [@%:@include <windows.h>], [GetModuleFileName((HMODULE)0,(LPTSTR)0,0)])
1105 dnl ** check return type of signal handlers
1106 dnl Foo: assumes we can use prototypes.
1107 dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
1108 dnl AC_CACHE_CHECK([type of signal handlers], ac_cv_type_signal_handler,
1109 dnl [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
1110 dnl #include <signal.h>
1114 dnl void (*signal (int, void (*)(int)))(int);
1117 dnl [ac_cv_type_signal_handler=void_int],
1118 dnl [ac_cv_type_signal_handler=int_void])])
1119 dnl if test "$ac_cv_type_signal_handler" = void_int; then
1120 dnl AC_DEFINE(VOID_INT_SIGNALS)
1123 dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
1125 if test "$ac_cv_type_signal" = void; then
1126 AC_DEFINE([VOID_INT_SIGNALS], [1], [Define to 1 if signal handlers have type void (*)(int). Otherwise, they're assumed to have type int (*)(void).])
1129 dnl ** check for more functions
1130 dnl ** The following have been verified to be used in ghc/, but might be used somewhere else, too.
1131 AC_CHECK_FUNCS([getclock getrusage gettimeofday setitimer siginterrupt sysconf times ctime_r, sched_setaffinity])
1134 #include <sys/types.h>
1135 #include <sys/time.h>
1137 struct itimerval tval;
1138 tval.it_value.tv_sec = 1;
1139 tval.it_value.tv_usec = 0;
1140 tval.it_interval = tval.it_value;
1141 return setitimer(ITIMER_VIRTUAL, &tval, (void*)0) != 0;
1143 ],[AC_DEFINE([HAVE_SETITIMER_VIRTUAL], [1], [Define to 1 if setitimer accepts ITIMER_VIRTUAL, 0 else.])])
1145 dnl ** On OS X 10.4 (at least), time.h doesn't declare ctime_r if
1146 dnl ** _POSIX_C_SOURCE is defined
1147 AC_CHECK_DECLS([ctime_r], , ,
1148 [#define _POSIX_SOURCE 1
1149 #define _POSIX_C_SOURCE 199506L
1152 dnl ** For ghc/rts/gmp:
1153 AC_CHECK_FUNCS([getpagesize])
1155 dnl ** check whether this machine has gmp3 installed
1156 AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp,
1157 AC_CHECK_LIB(gmp3, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp3,
1158 HaveLibGmp=NO; LibGmp=not-installed))
1159 if test $HaveLibGmp = YES; then
1160 AC_DEFINE([HAVE_LIB_GMP], [1], [Define to 1 if GMP library is installed.])
1162 AC_SUBST(HaveLibGmp)
1165 dnl ** (Mac OS X only: check for GMP.framework)
1167 case $HostPlatform in
1169 AC_MSG_CHECKING([for GMP.framework])
1171 LIBS="-framework GMP"
1172 AC_TRY_LINK_FUNC(__gmpz_fdiv_qr, HaveFrameworkGMP=YES,)
1173 if test $HaveFrameworkGMP = YES; then
1174 AC_DEFINE([HAVE_FRAMEWORK_GMP], [1], [Define to 1 if GMP.framework is installed (Mac OS X only).])
1177 AC_MSG_RESULT([$HaveFrameworkGMP])
1180 AC_SUBST(HaveFrameworkGMP)
1182 dnl ** check for mingwex library
1183 AC_CHECK_LIB(mingwex, closedir, HaveLibMingwEx=YES, HaveLibMingwEx=NO)
1184 AC_SUBST(HaveLibMingwEx)
1186 if test $HaveLibMingwEx = YES ; then
1187 AC_DEFINE([HAVE_MINGWEX], [1], [Define to 1 if you have the mingwex library.])
1190 if test "$HaveLibGmp" = "NO"; then
1191 if test "$HostArch_CPP" = "ia64" -o "$HostArch_CPP" = "mipseb" ; then
1192 AC_MSG_ERROR([You need to install libgmp (the in-tree version does not work on IA64 or mips64).])
1196 dnl ** check whether this machine has BFD and liberty installed (used for debugging)
1197 dnl the order of these tests matters: bfd needs liberty
1198 AC_CHECK_LIB(iberty, xmalloc)
1199 AC_CHECK_LIB(bfd, bfd_init)
1201 dnl ** check for math library
1202 AC_CHECK_FUNC(atan,[fp_libm_not_needed=yes;LIBM=],[fp_libm_not_needed=dunno])
1203 if test x"$fp_libm_not_needed" = xdunno; then
1204 AC_CHECK_LIB([m], [atan], [LIBS="-lm $LIBS"; LIBM="-lm"],[LIBM=])
1208 dnl ################################################################
1209 dnl Check for libraries
1210 dnl ################################################################
1212 dnl ** check whether we need -ldl to get dlopen()
1214 AC_CHECK_LIB(dl, dlopen,
1216 AC_DEFINE([HAVE_LIBDL], [1], [Define to 1 if you need -ldl to get dlopen().])
1221 dnl --------------------------------------------------
1222 dnl * Miscellaneous feature tests
1223 dnl --------------------------------------------------
1225 dnl ** can we get alloca?
1228 dnl ** Working vfork?
1231 dnl ** determine whether or not const works
1234 dnl ** are we big endian?
1236 FPTOOLS_FLOAT_WORD_ORDER_BIGENDIAN
1238 dnl ** check for leading underscores in symbol names
1239 FP_LEADING_UNDERSCORE
1241 dnl ** check for ld, whether it has an -x option, and if it is GNU ld
1245 dnl ** check for Apple-style dead-stripping support
1246 dnl (.subsections-via-symbols assembler directive)
1249 AC_MSG_CHECKING(for .subsections_via_symbols)
1251 [AC_LANG_PROGRAM([], [__asm__ (".subsections_via_symbols");])],
1253 AC_DEFINE([HAVE_SUBSECTIONS_VIA_SYMBOLS],[1],
1254 [Define to 1 if Apple-style dead-stripping is supported.])
1256 [AC_MSG_RESULT(no)])
1258 dnl *** check for GNU non-executable stack note support (ELF only)
1259 dnl (.section .note.GNU-stack,"",@progbits)
1261 AC_MSG_CHECKING(for GNU non-executable stack support)
1263 [AC_LANG_PROGRAM([__asm__ (".section .note.GNU-stack,\"\",@progbits");], [0])],
1265 AC_DEFINE([HAVE_GNU_NONEXEC_STACK],[1],
1266 [Define to 1 if GNU non-executable stack notes are supported.])
1268 [AC_MSG_RESULT(no)])
1270 dnl ** check for librt
1271 AC_CHECK_LIB(rt, clock_gettime)
1272 AC_CHECK_FUNCS(clock_gettime timer_create timer_settime)
1273 FP_CHECK_TIMER_CREATE
1275 dnl ** check for Apple's "interesting" long double compatibility scheme
1276 AC_MSG_CHECKING(for printf\$LDBLStub)
1277 AC_TRY_LINK_FUNC(printf\$LDBLStub,
1280 AC_DEFINE([HAVE_PRINTF_LDBLSTUB],[1],
1281 [Define to 1 if we have printf$LDBLStub (Apple Mac OS >= 10.4, PPC).])
1285 AC_DEFINE([HAVE_PRINTF_LDBLSTUB],[0],
1286 [Define to 1 if we have printf$LDBLStub (Apple Mac OS >= 10.4, PPC).])
1290 AC_PATH_PROGS([GTK_CONFIG], [pkg-config])
1291 if test -n "$GTK_CONFIG"; then
1292 if $GTK_CONFIG gtk+-2.0 --atleast-version=2.0; then
1293 GTK_CONFIG="$GTK_CONFIG gtk+-2.0"
1295 AC_MSG_WARN([GTK+ not usable, need at least version 2.0])
1299 AC_SUBST([GTK_CONFIG])
1302 AC_CHECK_LIB(papi, PAPI_library_init, HavePapiLib=YES, HavePapiLib=NO)
1303 AC_CHECK_HEADER([papi.h], [HavePapiHeader=YES], [HavePapiHeader=NO])
1304 AC_SUBST(HavePapiLib)
1305 AC_SUBST(HavePapiHeader)
1307 if test "$HavePapiLib" = "YES" -a "$HavePapiHeader" = "YES"; then
1314 if test "$DIR_DOCBOOK_XSL" = "" ||
1315 test "$XsltprocCmd" = ""
1317 BUILD_DOCBOOK_HTML=NO
1319 BUILD_DOCBOOK_HTML=YES
1321 AC_SUBST(BUILD_DOCBOOK_HTML)
1323 if test "$DblatexCmd" = ""
1326 BUILD_DOCBOOK_PDF=NO
1328 BUILD_DOCBOOK_PS=YES
1329 BUILD_DOCBOOK_PDF=YES
1331 AC_SUBST(BUILD_DOCBOOK_PS)
1332 AC_SUBST(BUILD_DOCBOOK_PDF)
1334 AC_CONFIG_FILES([mk/config.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml])
1335 AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
1339 # http://savannah.gnu.org/bugs/index.php?1516
1340 # $(eval ...) inside conditionals causes errors
1341 # with make 3.80, so warn the user if it looks like they're about to
1343 # We would use "grep -q" here, but Solaris's grep doesn't support it.
1345 if $1 --version 2>&1 | head -1 | grep 'GNU Make 3\.80' > /dev/null
1348 echo "WARNING: It looks like \"$1\" is GNU make 3.80."
1349 echo "This version cannot be used to build GHC."
1350 echo "Please use GNU make >= 3.81."
1358 ----------------------------------------------------------------------
1359 Configure completed successfully.
1361 Building GHC version : $ProjectVersion
1363 Build platform : $BuildPlatform
1364 Host platform : $HostPlatform
1365 Target platform : $TargetPlatform
1368 if test "$BootingFromHc" = "YES"; then
1370 Bootstrapping from HC files.
1374 Bootstrapping using : $WithGhc
1375 which is version : $GhcVersion
1380 Using GCC : $WhatGccIsCalled
1381 which is version : $GccVersion
1389 if test "$HSCOLOUR" = ""; then
1391 HsColour was not found; documentation will not contain source links
1395 HsColour : $HSCOLOUR
1399 echo "Building DocBook HTML documentation: $BUILD_DOCBOOK_HTML"
1400 echo "Building DocBook PS documentation: $BUILD_DOCBOOK_PS"
1401 echo "Building DocBook PDF documentation: $BUILD_DOCBOOK_PDF"
1403 echo ["Building shared libraries : $BuildSharedLibs"]
1405 echo ["----------------------------------------------------------------------
1409 For a standard build of GHC (fully optimised with profiling), type (g)make.
1411 To make changes to the default build configuration, copy the file
1412 mk/build.mk.sample to mk/build.mk, and edit the settings in there.
1414 For more information on how to configure your GHC build, see
1415 http://hackage.haskell.org/trac/ghc/wiki/Building