Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 1026 lines (866 sloc) 32.912 kb
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
1 dnl == autoconf source for the Glasgow FP tools ==
81cb761 [project @ 2003-08-18 14:54:40 by panne]
panne authored
2 dnl (run "grep '^dnl \*' configure.ac | sed -e 's/dnl / /g; s/\*\*/ +/g;'"
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
3 dnl (or some such) to see the outline of this file)
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
4 dnl
5 #
06decfc Detect the snapshot version number using darcs
Simon Marlow authored
6 # (c) The University of Glasgow 1994-2004
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
7 #
06decfc Detect the snapshot version number using darcs
Simon Marlow authored
8 # Configure script template for GHC
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
9 #
a97485b [project @ 2004-11-11 16:48:55 by simonmar]
simonmar authored
10 # Process with 'autoreconf' to get a working configure script.
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
11 #
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
12 # For the generated configure script, do "./configure --help" to
13 # see what flags are available. (Better yet, read the documentation!)
14 #
15
43e5415 igfoo Bump version to 7.1
igfoo authored
16 AC_INIT([The Glorious Glasgow Haskell Compilation System], [7.1], [glasgow-haskell-bugs@haskell.org], [ghc])
0065d5a Reorganisation of the source tree
Simon Marlow authored
17
06decfc Detect the snapshot version number using darcs
Simon Marlow authored
18 # Set this to YES for a released version, otherwise NO
25f44cb Don't hardwire RELEASE into configure.ac
sven.panne@aedion.de authored
19 : ${RELEASE=NO}
06decfc Detect the snapshot version number using darcs
Simon Marlow authored
20
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.
28
dbb439d emit an error if the user ran autoconf instead of autoreconf
Simon Marlow authored
29 if test ! -f mk/config.h.in; then
d70136c igfoo Update various 'sh boot's to 'perl boot'
igfoo authored
30 echo "mk/config.h.in doesn't exist: perhaps you haven't run 'perl boot'?"
dbb439d emit an error if the user ran autoconf instead of autoreconf
Simon Marlow authored
31 exit 1
32 fi
33
8fbf686 igfoo Pass configure arguments to the library configure scripts
igfoo authored
34 AC_SUBST([CONFIGURE_ARGS], [$ac_configure_args])
35
b41067a Windows fixes to build system: use the 'find' and 'sort' found by config...
simonpj@microsoft.com authored
36 dnl ----------------------------------------------------------
37 dnl ** Find unixy sort and find commands,
38 dnl ** which are needed by FP_SETUP_PROJECT_VERSION
39
40 dnl ** Find find command (for Win32's benefit)
41 FP_PROG_FIND
42
43 dnl ** Find sort command (for the benefit of Win32 environs)
44 FP_PROG_SORT
45
46 dnl ----------------------------------------------------------
0065d5a Reorganisation of the source tree
Simon Marlow authored
47 FP_SETUP_PROJECT_VERSION
48
49 # Hmmm, we fix the RPM release number to 1 here... Is this convenient?
50 AC_SUBST([release], [1])
ced47f7 [project @ 2004-09-18 12:49:55 by panne]
panne authored
51
1fb1ab5 [project @ 1997-03-14 07:52:06 by simonpj]
simonpj authored
52 # First off, a distrib sanity check..
ced47f7 [project @ 2004-09-18 12:49:55 by panne]
panne authored
53 AC_CONFIG_SRCDIR([mk/config.mk.in])
02b6015 [project @ 1996-11-21 16:45:53 by simonm]
simonm authored
54
da8f39a [project @ 2003-08-19 12:42:39 by panne]
panne authored
55 dnl * We require autoconf version 2.52
56 dnl We need 2.50 due to the use of AC_SYS_LARGEFILE and AC_MSG_NOTICE.
57 dnl We need 2.52 due to the use of AS_TR_CPP and AS_TR_SH.
907d2e9 [project @ 2004-09-22 08:36:58 by panne]
panne authored
58 AC_PREREQ([2.52])
493055c [project @ 2003-05-29 09:01:20 by simonmar]
simonmar authored
59
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
60 # -------------------------------------------------------------------------
61 # Prepare to generate the following header files
62 #
1fb1ab5 [project @ 1997-03-14 07:52:06 by simonpj]
simonpj authored
63 #
64 AC_CONFIG_HEADER(mk/config.h)
02b6015 [project @ 1996-11-21 16:45:53 by simonm]
simonm authored
65
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
66 # No, semi-sadly, we don't do `--srcdir'...
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
67 if test x"$srcdir" != 'x.' ; then
1fb1ab5 [project @ 1997-03-14 07:52:06 by simonpj]
simonpj authored
68 echo "This configuration does not support the \`--srcdir' option.."
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
69 exit 1
70 fi
71
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
72 dnl --------------------------------------------------------------
73 dnl * Project specific configuration options
74 dnl --------------------------------------------------------------
75 dnl What follows is a bunch of options that can either be configured
76 dnl through command line options to the configure script or by
77 dnl supplying defns in the build tree's mk/build.mk. Having the option to
78 dnl use either is considered a Feature.
79
80 dnl ** What command to use to compile compiler sources ?
81 dnl --------------------------------------------------------------
803963a [project @ 2000-11-02 14:27:01 by simonmar]
simonmar authored
82
f30908b [project @ 2004-11-20 16:02:41 by panne]
panne authored
83 AC_ARG_WITH([ghc],
18abe9c [project @ 2003-12-18 10:46:49 by simonmar]
simonmar authored
84 [AC_HELP_STRING([--with-ghc=ARG],
f30908b [project @ 2004-11-20 16:02:41 by panne]
panne authored
85 [Use ARG as the path to GHC [default=autodetect]])],
86 [WithGhc="$withval"],
87 [if test "$GHC" = ""; then
88 AC_PATH_PROG([GHC], [ghc])
dae2fd8 [project @ 2001-09-18 08:53:01 by simonmar]
simonmar authored
89 fi
f30908b [project @ 2004-11-20 16:02:41 by panne]
panne authored
90 WithGhc="$GHC"])
803963a [project @ 2000-11-02 14:27:01 by simonmar]
simonmar authored
91
5775d51 Add OSTYPE build-system variable, and use it
simonpj@microsoft.com authored
92
93 dnl ** Tell the make system which OS we are using
94 dnl $OSTYPE is set by the operating system to "msys" or "cygwin" or something
95 AC_SUBST(OSTYPE)
96
efc0f42 Simon Marlow Restore the GHC version check
simonmar authored
97 dnl ** Booting from .hc files?
98 dnl --------------------------------------------------------------
99 AC_ARG_ENABLE(hc-boot,
100 [AC_HELP_STRING([--enable-hc-boot],
101 [Boot the Glasgow Haskell Compiler from intermediate .hc files.
102 (This option is mostly of interest to porters.) [default=no]])],
103 [ if test x"$enableval" = x"yes"; then
104 BootingFromHc=YES
105 else
106 BootingFromHc=NO
107 fi
108 ],
109 [BootingFromHc=NO]
110 )
111 AC_SUBST(BootingFromHc)
112
34cc75e igfoo GHC new build system megapatch
igfoo authored
113 AC_ARG_ENABLE(bootstrap-with-devel-snapshot,
114 [AC_HELP_STRING([--enable-bootstrap-with-devel-snapshot],
115 [Allow bootstrapping using a development snapshot of GHC. This is not guaranteed to work.])],
116 EnableBootstrapWithDevelSnaphost=YES,
117 EnableBootstrapWithDevelSnaphost=NO
118 )
119
803963a [project @ 2000-11-02 14:27:01 by simonmar]
simonmar authored
120 if test "$WithGhc" != ""; then
121 FPTOOLS_GHC_VERSION([GhcVersion], [GhcMajVersion], [GhcMinVersion], [GhcPatchLevel])dnl
34cc75e igfoo GHC new build system megapatch
igfoo authored
122
436e13f Simon Marlow rejig ghc version test; fail if GHC version can't be determined
simonmar authored
123 if test "$GhcMajVersion" = "unknown" -o "$GhcMinVersion" = "unknown"; then
124 AC_MSG_ERROR([Cannot determine the version of $WithGhc. Is it really GHC?])
34cc75e igfoo GHC new build system megapatch
igfoo authored
125 fi
126
803963a [project @ 2000-11-02 14:27:01 by simonmar]
simonmar authored
127 AC_SUBST(GhcVersion)dnl
128 AC_SUBST(GhcMajVersion)dnl
129 AC_SUBST(GhcMinVersion)dnl
130 AC_SUBST(GhcPatchLevel)dnl
9b58234 igfoo Fix the way configure sets the ghc_ge_* variables
igfoo authored
131 GhcMinVersion2=`echo "$GhcMinVersion" | sed 's/^\\(.\\)$/0\\1/'`
132 GhcCanonVersion="$GhcMajVersion$GhcMinVersion2"
0f183f7 igfoo When compiling with GHC >= 6.13, use -rtsopts
igfoo authored
133 if test $GhcCanonVersion -ge 613; then ghc_ge_613=YES; else ghc_ge_613=NO; fi
134 AC_SUBST(ghc_ge_613)dnl
803963a [project @ 2000-11-02 14:27:01 by simonmar]
simonmar authored
135 fi
136
efc0f42 Simon Marlow Restore the GHC version check
simonmar authored
137 dnl ** Must have GHC to build GHC, unless --enable-hc-boot is on
138 if test "$BootingFromHc" = "NO" -a -d "$srcdir/compiler"; then
139 if test "$WithGhc" = ""; then
140 AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
141 fi
cf00e6f igfoo GHC 6.12 is now needed to build the HEAD
igfoo authored
142 FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[6.12],
143 [AC_MSG_ERROR([GHC version 6.12 or later is required to compile GHC.])])dnl
efc0f42 Simon Marlow Restore the GHC version check
simonmar authored
144
145 if test `expr $GhcMinVersion % 2` = "1"; then
146 if test "$EnableBootstrapWithDevelSnaphost" = "NO"; then
147 AC_MSG_ERROR([
148 $WithGhc is a development snapshot of GHC, version $GhcVersion.
149 Bootstrapping using this version of GHC is not supported, and may not
150 work. Use --enable-bootstrap-with-devel-snapshot to try it anyway,
151 or --with-ghc to specify a different GHC to use.])
152 fi
153 fi
154 fi;
155
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
156 # GHC is passed to Cabal, so we need a native path
157 if test "${WithGhc}" != ""
158 then
ae368b7 Simon Marlow Fix some bugs to do with tools in paths containing spaces
simonmar authored
159 ghc_host=`"${WithGhc}" +RTS --info | grep 'Host platform' | sed -e 's/.*, "//' -e 's/")//'`
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
160
161 if test "$ghc_host" = "i386-unknown-mingw32"
162 then
163 if test "${OSTYPE}" = "msys"
164 then
165 WithGhc=`echo "${WithGhc}" | sed "s#^/\([a-zA-Z]\)/#\1:/#"`
166 else
167 # Canonicalise to <drive>:/path/to/ghc
ae368b7 Simon Marlow Fix some bugs to do with tools in paths containing spaces
simonmar authored
168 WithGhc=`cygpath -m "${WithGhc}"`
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
169 fi
170 echo "GHC path canonicalised to: ${WithGhc}"
171 fi
172 fi
173 AC_SUBST([WithGhc])
174
17c5559 igfoo Don't put all of $CFLAGS into $SRC_CC_OPTS
igfoo authored
175 dnl ** Without optimization some INLINE trickery fails for GHCi
176 SRC_CC_OPTS="-O"
177
e69c737 igfoo configure.ac tweaks
igfoo authored
178 FP_ICONV
179 FP_GMP
8822316 igfoo Add configure flags for the location of GMP includes/library; fixes #402...
igfoo authored
180
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
181 dnl--------------------------------------------------------------------
182 dnl * Choose host(/target/build) platform
183 dnl--------------------------------------------------------------------
7a88e2d igfoo Remove duplicate "./configure --help" output; fixes #4075
igfoo authored
184 dnl If we aren't explicitly told what values to use with configure flags,
185 dnl we ask the bootstrapping compiler what platform it is for
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
186
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
187 if test "${WithGhc}" != ""
188 then
189 bootstrap_host=`"${WithGhc}" +RTS --info | grep '^ ,("Host platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'`
190 bootstrap_target=`"${WithGhc}" +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'`
191 if test "$bootstrap_host" != "$bootstrap_target"
192 then
193 echo "Bootstrapping GHC is a cross compiler. This probably isn't going to work"
194 fi
195 fi
196
197 # We have to run these unconditionally, but we may discard their
198 # results in the following code
199 AC_CANONICAL_BUILD
200 AC_CANONICAL_HOST
201 AC_CANONICAL_TARGET
202
203 # If no argument was given for a configuration variable, then discard
204 # the guessed canonical system and use the configuration of the
205 # bootstrapping ghc. If an argument was given, map it from gnu format
206 # to ghc format.
207 #
208 # For why we do it this way, see: #3637, #1717, #2951
209
210 if test "$build_alias" = ""
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
211 then
212 if test "${WithGhc}" != ""
213 then
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
214 build=$bootstrap_target
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
215 echo "Build platform inferred as: $build"
216 else
217 echo "Can't work out build platform"
218 exit 1
219 fi
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
220
221 BuildArch=`echo "$build" | sed 's/-.*//'`
222 BuildVendor=`echo "$build" | sed -e 's/.*-\(.*\)-.*/\1/'`
223 BuildOS=`echo "$build" | sed 's/.*-//'`
224 else
225 GHC_CONVERT_CPU([$build_cpu], [BuildArch])
226 GHC_CONVERT_VENDOR([$build_vendor], [BuildVendor])
227 GHC_CONVERT_OS([$build_os], [BuildOS])
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
228 fi
229
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
230 if test "$host_alias" = ""
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
231 then
232 if test "${WithGhc}" != ""
233 then
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
234 host=$bootstrap_target
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
235 echo "Host platform inferred as: $host"
236 else
237 echo "Can't work out host platform"
238 exit 1
239 fi
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
240
241 HostArch=`echo "$host" | sed 's/-.*//'`
242 HostVendor=`echo "$host" | sed -e 's/.*-\(.*\)-.*/\1/'`
243 HostOS=`echo "$host" | sed 's/.*-//'`
244 else
245 GHC_CONVERT_CPU([$host_cpu], [HostArch])
246 GHC_CONVERT_VENDOR([$host_vendor], [HostVendor])
247 GHC_CONVERT_OS([$host_os], [HostOS])
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
248 fi
249
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
250 if test "$target_alias" = ""
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
251 then
252 if test "${WithGhc}" != ""
253 then
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
254 target=$bootstrap_target
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
255 echo "Target platform inferred as: $target"
256 else
257 echo "Can't work out target platform"
258 exit 1
259 fi
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
260
261 TargetArch=`echo "$target" | sed 's/-.*//'`
262 TargetVendor=`echo "$target" | sed -e 's/.*-\(.*\)-.*/\1/'`
263 TargetOS=`echo "$target" | sed 's/.*-//'`
264 else
265 GHC_CONVERT_CPU([$target_cpu], [TargetArch])
266 GHC_CONVERT_VENDOR([$target_vendor], [TargetVendor])
267 GHC_CONVERT_OS([$target_os], [TargetOS])
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
268 fi
269
270 exeext=''
271 soext='.so'
e23cf9d igfoo Fix configure
igfoo authored
272 case $host in
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
273 *-unknown-cygwin32)
274 AC_MSG_WARN([GHC does not support the Cygwin target at the moment])
275 AC_MSG_WARN([I'm assuming you wanted to build for i386-unknown-mingw32])
276 exit 1
277 ;;
278 *-unknown-mingw32)
279 exeext='.exe'
280 soext='.dll'
281 ;;
282 i386-apple-darwin|powerpc-apple-darwin)
283 soext='.dylib'
284 ;;
285 x86_64-apple-darwin)
286 soext='.dylib'
287 ;;
288 esac
289
f0e3d79 igfoo Define cTargetArch and start to use it rather than ifdefs
igfoo authored
290 # Sync this with cTargetArch in compiler/ghc.mk
e0064ed igfoo Sanity check the platforms we are given
igfoo authored
291 checkArch() {
292 case $1 in
293 alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|sparc|sparc64|vax|x86_64)
294 ;;
295 *)
296 echo "Unknown arch $1"
297 exit 1
298 ;;
299 esac
300 }
301
302 checkVendor() {
303 case $1 in
304 dec|unknown|hp|apple|next|sun|sgi|ibm)
305 ;;
306 *)
307 echo "Unknown vendor $1"
308 exit 1
309 ;;
310 esac
311 }
312
313 checkOS() {
314 case $1 in
95a3e55 Simon Marlow Partial support for Haiku (#3727)
simonmar authored
315 linux|freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix|haiku)
e0064ed igfoo Sanity check the platforms we are given
igfoo authored
316 ;;
317 *)
e55e7e8 Simon Marlow workaround new Cygwin bash CRLF behaviour
simonmar authored
318 echo "Unknown OS '$1'"
e0064ed igfoo Sanity check the platforms we are given
igfoo authored
319 exit 1
320 ;;
321 esac
322 }
323
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
324 BuildPlatform="$BuildArch-$BuildVendor-$BuildOS"
178a52a igfoo Make the sed in configure.ac more portable
igfoo authored
325 BuildPlatform_CPP=`echo "$BuildPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'`
326 BuildArch_CPP=` echo "$BuildArch" | sed -e 's/\./_/g' -e 's/-/_/g'`
327 BuildVendor_CPP=` echo "$BuildVendor" | sed -e 's/\./_/g' -e 's/-/_/g'`
328 BuildOS_CPP=` echo "$BuildOS" | sed -e 's/\./_/g' -e 's/-/_/g'`
e0064ed igfoo Sanity check the platforms we are given
igfoo authored
329
330 checkArch "$BuildArch"
331 checkVendor "$BuildVendor"
332 checkOS "$BuildOS"
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
333
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
334 HostPlatform="$HostArch-$HostVendor-$HostOS"
178a52a igfoo Make the sed in configure.ac more portable
igfoo authored
335 HostPlatform_CPP=`echo "$HostPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'`
336 HostArch_CPP=` echo "$HostArch" | sed -e 's/\./_/g' -e 's/-/_/g'`
337 HostVendor_CPP=` echo "$HostVendor" | sed -e 's/\./_/g' -e 's/-/_/g'`
338 HostOS_CPP=` echo "$HostOS" | sed -e 's/\./_/g' -e 's/-/_/g'`
e0064ed igfoo Sanity check the platforms we are given
igfoo authored
339
340 checkArch "$HostArch"
341 checkVendor "$HostVendor"
342 checkOS "$HostOS"
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
343
1bf79d5 Simon Marlow Allow GNU-standard --host, --build, --target configure options (#3637)
simonmar authored
344 TargetPlatform="$TargetArch-$TargetVendor-$TargetOS"
178a52a igfoo Make the sed in configure.ac more portable
igfoo authored
345 TargetPlatform_CPP=`echo "$TargetPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'`
346 TargetArch_CPP=` echo "$TargetArch" | sed -e 's/\./_/g' -e 's/-/_/g'`
347 TargetVendor_CPP=` echo "$TargetVendor" | sed -e 's/\./_/g' -e 's/-/_/g'`
348 TargetOS_CPP=` echo "$TargetOS" | sed -e 's/\./_/g' -e 's/-/_/g'`
e0064ed igfoo Sanity check the platforms we are given
igfoo authored
349
350 checkArch "$TargetArch"
351 checkVendor "$TargetVendor"
352 checkOS "$TargetOS"
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
353
c5dbacb Simon Marlow In configure, test that GHC generates code for the correct platform (#48...
simonmar authored
354 # Verify that the installed (bootstrap) GHC is capable of generating
355 # code for the requested build platform.
356 if test "$build" != "$bootstrap_target"
357 then
358 echo "This GHC (${WithGhc}) does not generate code for the build platform"
359 echo " GHC target platform : $bootstrap_target"
360 echo " Desired build platform : $BuildPlatform"
361 exit 1
362 fi
363
82fbc4b igfoo Change how we find the host/build/target platforms
igfoo authored
364 AC_SUBST(BuildPlatform)
365 AC_SUBST(HostPlatform)
366 AC_SUBST(TargetPlatform)
367 AC_SUBST(HostPlatform_CPP)
368 AC_SUBST(BuildPlatform_CPP)
369 AC_SUBST(TargetPlatform_CPP)
370
371 AC_SUBST(HostArch_CPP)
372 AC_SUBST(BuildArch_CPP)
373 AC_SUBST(TargetArch_CPP)
374
375 AC_SUBST(HostOS_CPP)
376 AC_SUBST(BuildOS_CPP)
377 AC_SUBST(TargetOS_CPP)
378
379 AC_SUBST(HostVendor_CPP)
380 AC_SUBST(BuildVendor_CPP)
381 AC_SUBST(TargetVendor_CPP)
382
383 AC_SUBST(exeext)
384 AC_SUBST(soext)
385
386 AC_ARG_WITH(hc,
387 [AC_HELP_STRING([--with-hc=ARG],
388 [Use ARG as the path to the compiler for compiling ordinary
389 Haskell code (default= value of --with-ghc)])],
390 [WithHc="$withval"],
391 [WithHc=$WithGhc]
392 )
393 AC_SUBST(WithHc)
394
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
395 # This uses GHC, so put it after the "GHC is required" check above:
6bb8d64 igfoo For bindists, build ghc-pwd with stage 1
igfoo authored
396 FP_INTREE_GHC_PWD
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
397 FP_FIND_ROOT
398
399 if test "$HostOS" = "mingw32"
400 then
e717ed3 igfoo Tweak the cleaning of inplace/; fixes trac #4320
igfoo authored
401 test -d inplace || mkdir inplace
402
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
403 CC="$hardtop/inplace/mingw/bin/gcc.exe"
404 LD="$hardtop/inplace/mingw/bin/ld.exe"
405 NM="$hardtop/inplace/mingw/bin/nm.exe"
8924296 igfoo Set the location of ar to be the in-tree ar on Windows
igfoo authored
406 fp_prog_ar_raw="$hardtop/inplace/mingw/bin/ar.exe"
5d30f83 Simon Marlow add comment to remind people to update driver/gcc/gcc.c
simonmar authored
407
408 # NB. If you update the tarbballs to a new version of gcc, don't
409 # forget to tweak the paths in driver/gcc/gcc.c.
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
410 if ! test -d inplace/mingw ||
9578f9b igfoo Update intree-mingw creation
igfoo authored
411 test inplace/mingw -ot ghc-tarballs/mingw/binutils*.tar.lzma ||
412 test inplace/mingw -ot ghc-tarballs/mingw/gcc-core*.tar.lzma ||
413 test inplace/mingw -ot ghc-tarballs/mingw/gcc-c++*.tar.lzma ||
ff5e4de Simon Marlow update to mingw gcc 4.5.2
simonmar authored
414 test inplace/mingw -ot ghc-tarballs/mingw/libgcc*.tar.gz ||
9578f9b igfoo Update intree-mingw creation
igfoo authored
415 test inplace/mingw -ot ghc-tarballs/mingw/libgmp*.tar.gz ||
416 test inplace/mingw -ot ghc-tarballs/mingw/libmpc*.tar.gz ||
417 test inplace/mingw -ot ghc-tarballs/mingw/libmpfr*.tar.gz ||
1dac1b2 igfoo Add libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma to mingw tarballs
igfoo authored
418 test inplace/mingw -ot ghc-tarballs/mingw/libstdc*.tar.lzma ||
9578f9b igfoo Update intree-mingw creation
igfoo authored
419 test inplace/mingw -ot ghc-tarballs/mingw/mingwrt*-dev.tar.gz ||
420 test inplace/mingw -ot ghc-tarballs/mingw/mingwrt*-dll.tar.gz ||
bed9246 igfoo Update commands to build in-tree mingw
igfoo authored
421 test inplace/mingw -ot ghc-tarballs/mingw/w32api*.tar.lzma
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
422 then
423 AC_MSG_NOTICE([Making in-tree mingw tree])
424 rm -rf inplace/mingw
425 mkdir inplace/mingw
64f6d46 igfoo Add some &&s to configure
igfoo authored
426 (
427 cd inplace/mingw &&
9578f9b igfoo Update intree-mingw creation
igfoo authored
428 tar --lzma -xf ../../ghc-tarballs/mingw/binutils*.tar.lzma &&
429 tar --lzma -xf ../../ghc-tarballs/mingw/gcc-core*.tar.lzma &&
430 tar --lzma -xf ../../ghc-tarballs/mingw/gcc-c++*.tar.lzma &&
ff5e4de Simon Marlow update to mingw gcc 4.5.2
simonmar authored
431 tar --lzma -xf ../../ghc-tarballs/mingw/libgcc*.tar.lzma &&
9578f9b igfoo Update intree-mingw creation
igfoo authored
432 tar --lzma -xf ../../ghc-tarballs/mingw/libgmp*.tar.lzma &&
433 tar --lzma -xf ../../ghc-tarballs/mingw/libmpc*.tar.lzma &&
434 tar --lzma -xf ../../ghc-tarballs/mingw/libmpfr*.tar.lzma &&
1dac1b2 igfoo Add libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma to mingw tarballs
igfoo authored
435 tar --lzma -xf ../../ghc-tarballs/mingw/libstdc*.tar.lzma &&
9578f9b igfoo Update intree-mingw creation
igfoo authored
436 tar -z -xf ../../ghc-tarballs/mingw/mingwrt*-dev.tar.gz &&
437 tar -z -xf ../../ghc-tarballs/mingw/mingwrt*-dll.tar.gz &&
438 tar --lzma -xf ../../ghc-tarballs/mingw/w32api*.tar.lzma &&
64f6d46 igfoo Add some &&s to configure
igfoo authored
439 mv bin/gcc.exe bin/realgcc.exe
440 )
3bd221e igfoo Fix gcc wrapper for new mingw binaries
igfoo authored
441 PATH=`pwd`/inplace/mingw/bin:$PATH inplace/mingw/bin/realgcc.exe driver/gcc/gcc.c driver/utils/cwrapper.c driver/utils/getLocation.c -Idriver/utils -o inplace/mingw/bin/gcc.exe
442 if ! test -e inplace/mingw/bin/gcc.exe
443 then
444 AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
445 fi
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
446 AC_MSG_NOTICE([In-tree mingw tree created])
447 fi
4bd0312 igfoo Use the ghc-perl tarball on Windows, instead of the msys one
igfoo authored
448 if ! test -d inplace/perl ||
449 test inplace/perl -ot ghc-tarballs/perl/ghc-perl*.tar.gz
450 then
451 AC_MSG_NOTICE([Making in-tree perl tree])
452 rm -rf inplace/perl
453 mkdir inplace
454 mkdir inplace/perl
455 (
456 cd inplace/perl &&
457 tar -zxf ../../ghc-tarballs/perl/ghc-perl*.tar.gz
458 )
459 AC_MSG_NOTICE([In-tree perl tree created])
460 fi
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
461 fi
462
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
463 dnl ** Which gcc to use?
464 dnl --------------------------------------------------------------
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
465 FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc])
466 export CC
467 WhatGccIsCalled="$CC"
b799828 [project @ 1998-08-18 20:40:42 by sof]
sof authored
468 AC_SUBST(WhatGccIsCalled)
469
5c789e4 igfoo Fixes for building the libraries with cabal on Windows
igfoo authored
470 dnl ** Which ld to use?
471 dnl --------------------------------------------------------------
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
472 FP_ARG_WITH_PATH_GNU_PROG([LD], [ld])
473 LdCmd="$LD"
474 AC_SUBST([LdCmd])
d0864f5 move FP_FIND_ROOT after the "GHC is required" check
Simon Marlow authored
475
e51cdf9 igfoo Make a mingw tree from mingw tarballs
igfoo authored
476 dnl ** Which nm to use?
477 dnl --------------------------------------------------------------
478 FP_ARG_WITH_PATH_GNU_PROG([NM], [nm])
479 NmCmd="$NM"
480 AC_SUBST([NmCmd])
88ffee6 [project @ 1999-05-04 08:35:12 by sof]
sof authored
481
15575cf Manuel M T Chakravarty Add configure option --with-macos-deployment-target
mchakravarty authored
482 dnl ** Mac OS X: explicit deployment target
483 dnl --------------------------------------------------------------
5b846fa Manuel M T Chakravarty Mac OS X deployment target: piping opts through Makefiles
mchakravarty authored
484 AC_ARG_WITH([macosx-deployment-target],
485 [AC_HELP_STRING([--with-macosx-deployment-target=VERSION],
486 [Build for Mac OS VERSION and higher (default= version of build host)])],
487 [FP_MACOSX_DEPLOYMENT_TARGET="$withval"
15575cf Manuel M T Chakravarty Add configure option --with-macos-deployment-target
mchakravarty authored
488 if test "x$TargetOS_CPP-$TargetVendor_CPP" != "xdarwin-apple"; then
489 # ignore everywhere, but on Mac OS
5b846fa Manuel M T Chakravarty Mac OS X deployment target: piping opts through Makefiles
mchakravarty authored
490 AC_MSG_WARN([--macosx-deployment-target is only available on Mac OS X])
491 FP_MACOSX_DEPLOYMENT_TARGET=none
15575cf Manuel M T Chakravarty Add configure option --with-macos-deployment-target
mchakravarty authored
492 fi],
5b846fa Manuel M T Chakravarty Mac OS X deployment target: piping opts through Makefiles
mchakravarty authored
493 [FP_MACOSX_DEPLOYMENT_TARGET=none]
15575cf Manuel M T Chakravarty Add configure option --with-macos-deployment-target
mchakravarty authored
494 )
5b846fa Manuel M T Chakravarty Mac OS X deployment target: piping opts through Makefiles
mchakravarty authored
495 FP_CHECK_MACOSX_DEPLOYMENT_TARGET
496 AC_SUBST(MACOSX_DEPLOYMENT_VERSION)
497 AC_SUBST(MACOSX_DEPLOYMENT_SDK)
15575cf Manuel M T Chakravarty Add configure option --with-macos-deployment-target
mchakravarty authored
498
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
499 dnl --------------------------------------------------------------
500 dnl End of configure script option section
501 dnl --------------------------------------------------------------
502
503
504 dnl --------------------------------------------------------------
505 dnl * General configuration checks
506 dnl --------------------------------------------------------------
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
507
7ca6e18 [project @ 2003-11-15 19:37:13 by panne]
panne authored
508 dnl ** Can the unix package be built?
509 dnl --------------------------------------------------------------
510
511 if test x"$TargetPlatform" = x"i386-unknown-mingw32"; then
512 GhcLibsWithUnix=NO
513 else
514 GhcLibsWithUnix=YES
515 fi
516 AC_SUBST([GhcLibsWithUnix])
517
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
518 dnl ** does #! work?
519 AC_SYS_INTERPRETER()
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
520
e69c737 igfoo configure.ac tweaks
igfoo authored
521 dnl ** look for `perl'
dfc021e [project @ 2000-05-09 10:43:45 by rrt]
rrt authored
522 case $HostOS_CPP in
523 cygwin32|mingw32)
e69c737 igfoo configure.ac tweaks
igfoo authored
524 PerlCmd=$hardtop/inplace/perl/perl
525 ;;
dfc021e [project @ 2000-05-09 10:43:45 by rrt]
rrt authored
526 *)
e69c737 igfoo configure.ac tweaks
igfoo authored
527 AC_PATH_PROG(PerlCmd,perl)
528 if test -z "$PerlCmd"
529 then
530 echo "You must install perl before you can continue"
531 echo "Perhaps it is already installed, but not in your PATH?"
532 exit 1
533 else
534 FPTOOLS_CHECK_PERL_VERSION
535 fi
536 ;;
dfc021e [project @ 2000-05-09 10:43:45 by rrt]
rrt authored
537 esac
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
538
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
539 dnl ** does #! path/to/perl work? (sometimes it's too long...)
90825aa [project @ 1998-07-24 10:42:33 by sof]
sof authored
540 FPTOOLS_SHEBANG_PERL
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
541
c6cda1d [project @ 2002-07-31 14:11:13 by simonmar]
simonmar authored
542 dnl ** check for Python
543 AC_PATH_PROG(PythonCmd,python)
544
6338b45 [project @ 2001-06-28 17:56:10 by rrt]
rrt authored
545 dnl ** look for GCC and find out which version
546 dnl Figure out which C compiler to use. Gcc is preferred.
547 dnl If gcc, make sure it's at least 2.1
548 dnl
f30908b [project @ 2004-11-20 16:02:41 by panne]
panne authored
549 FP_HAVE_GCC
89c5623 igfoo Don't test for gcc flags before we've found gcc
igfoo authored
550
001b9a4 igfoo Keep separate linker flags, for when we want to link with gcc or ld
igfoo authored
551 FPTOOLS_SET_C_LD_FLAGS([target],[CFLAGS],[LDFLAGS],[IGNORE_LINKER_LD_FLAGS],[CPPFLAGS])
552 FPTOOLS_SET_C_LD_FLAGS([build],[CONF_CC_OPTS_STAGE0],[CONF_GCC_LINKER_OPTS_STAGE0],[CONF_LD_LINKER_OPTS_STAGE0],[CONF_CPP_OPTS_STAGE0])
553 FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE1],[CONF_GCC_LINKER_OPTS_STAGE1],[CONF_LD_LINKER_OPTS_STAGE1],[CONF_CPP_OPTS_STAGE1])
89c5623 igfoo Don't test for gcc flags before we've found gcc
igfoo authored
554 # Stage 3 won't be supported by cross-compilation
001b9a4 igfoo Keep separate linker flags, for when we want to link with gcc or ld
igfoo authored
555 FPTOOLS_SET_C_LD_FLAGS([target],[CONF_CC_OPTS_STAGE2],[CONF_GCC_LINKER_OPTS_STAGE2],[CONF_LD_LINKER_OPTS_STAGE2],[CONF_CPP_OPTS_STAGE2])
89c5623 igfoo Don't test for gcc flags before we've found gcc
igfoo authored
556
2ebe8ad FIX #1427, #1569: gcc 4.2.x needs -fno-toplevel-reorder
Simon Marlow authored
557 FP_GCC_EXTRA_FLAGS
6338b45 [project @ 2001-06-28 17:56:10 by rrt]
rrt authored
558
559 dnl ** figure out how to invoke cpp directly (gcc -E is no good)
560 AC_PROG_CPP
1fb1ab5 [project @ 1997-03-14 07:52:06 by simonpj]
simonpj authored
561
30fad70 igfoo Use different CC/LD options for different stages
igfoo authored
562 AC_SUBST(CONF_CC_OPTS_STAGE0)
563 AC_SUBST(CONF_CC_OPTS_STAGE1)
564 AC_SUBST(CONF_CC_OPTS_STAGE2)
001b9a4 igfoo Keep separate linker flags, for when we want to link with gcc or ld
igfoo authored
565 AC_SUBST(CONF_GCC_LINKER_OPTS_STAGE0)
566 AC_SUBST(CONF_GCC_LINKER_OPTS_STAGE1)
567 AC_SUBST(CONF_GCC_LINKER_OPTS_STAGE2)
568 AC_SUBST(CONF_LD_LINKER_OPTS_STAGE0)
569 AC_SUBST(CONF_LD_LINKER_OPTS_STAGE1)
570 AC_SUBST(CONF_LD_LINKER_OPTS_STAGE2)
75cd9c5 igfoo Make CPPFLAGS variables, as well as CFLAGS and LDFLAGS
igfoo authored
571 AC_SUBST(CONF_CPP_OPTS_STAGE0)
572 AC_SUBST(CONF_CPP_OPTS_STAGE1)
573 AC_SUBST(CONF_CPP_OPTS_STAGE2)
8b85c1c [project @ 2001-06-28 18:05:48 by rrt]
rrt authored
574
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
575 dnl ** figure out how to do context diffs
6a0b7a2 [project @ 2003-08-19 09:23:08 by panne]
panne authored
576 FP_PROG_CONTEXT_DIFF
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
577
5bb5986 chmod +x install-sh, see bug #978
Simon Marlow authored
578 dnl Let's make sure install-sh is executable here. If we got it from
579 dnl a darcs repo, it might not be (see bug #978).
580 chmod +x install-sh
ac4610c igfoo Make install-sh executable /before/ we try to find it
igfoo authored
581 dnl ** figure out how to do a BSD-ish install
582 AC_PROG_INSTALL
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
583
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
584 dnl If you can run configure, you certainly have /bin/sh
6b4abad [project @ 2003-08-19 14:22:14 by panne]
panne authored
585 AC_DEFINE([HAVE_BIN_SH], [1], [Define to 1 if you have /bin/sh.])
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
586
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
587 dnl ** how to invoke `ar' and `ranlib'
f74a195 igfoo Explicitly check whether ar supports the @file syntax
igfoo authored
588 FP_PROG_AR_SUPPORTS_ATFILE
444a39a [project @ 2004-04-07 12:17:09 by panne]
panne authored
589 FP_PROG_AR_NEEDS_RANLIB
590 FP_PROG_AR_SUPPORTS_INPUT
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
591
1fb1ab5 [project @ 1997-03-14 07:52:06 by simonpj]
simonpj authored
592 dnl ** Check to see whether ln -s works
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
593 AC_PROG_LN_S
594
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
595
596 dnl ** Find the path to sed
22f78dd igfoo Look for sed as gsed first
igfoo authored
597 AC_PATH_PROGS(SedCmd,gsed sed,sed)
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
598
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
599
600 dnl ** check for time command
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
601 AC_PATH_PROG(TimeCmd,time)
602
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
603 dnl ** check for tar
604 dnl if GNU tar is named gtar, look for it first.
3a238f0 igfoo Add gnutar to the list of names we use when looking for GNU tar
igfoo authored
605 AC_PATH_PROGS(TarCmd,gnutar gtar tar,tar)
cfce9df [project @ 1997-08-28 21:15:14 by sof]
sof authored
606
34cc75e igfoo GHC new build system megapatch
igfoo authored
607 dnl ** check for patch
608 dnl if GNU patch is named gpatch, look for it first
609 AC_PATH_PROGS(PatchCmd,gpatch patch, patch)
610
015d3d4 Manuel M T Chakravarty Expose all EventLog events as DTrace probes
mchakravarty authored
611 dnl ** check for dtrace (currently only implemented for Mac OS X)
612 HaveDtrace=NO
613 AC_PATH_PROG(DtraceCmd,dtrace)
614 if test -n "$DtraceCmd"; then
1e8493b igfoo Enable DTrace on Solaris; based on a patch from Karel Gardas
igfoo authored
615 if test "x$TargetOS_CPP-$TargetVendor_CPP" == "xdarwin-apple" -o "x$TargetOS_CPP-$TargetVendor_CPP" == "xsolaris2-unknown"; then
015d3d4 Manuel M T Chakravarty Expose all EventLog events as DTrace probes
mchakravarty authored
616 HaveDtrace=YES
617 fi
618 fi
619 AC_SUBST(HaveDtrace)
620
b93e282 igfoo MERGED: If we have hscolour then make source code links in teh haddock d...
igfoo authored
621 AC_PATH_PROG(HSCOLOUR,HsColour)
fc3ed31 canonicalise the path to HsColour
Simon Marlow authored
622 # HsColour is passed to Cabal, so we need a native path
cf07181 igfoo Tweak the configure script Windows-specific bits
igfoo authored
623 if test "x$HostPlatform" = "xi386-unknown-mingw32" && \
624 test "${OSTYPE}" != "msys" && \
625 test "${HSCOLOUR}" != ""
626 then
627 # Canonicalise to <drive>:/path/to/gcc
628 HSCOLOUR=`cygpath -m ${HSCOLOUR}`
fc3ed31 canonicalise the path to HsColour
Simon Marlow authored
629 fi
b93e282 igfoo MERGED: If we have hscolour then make source code links in teh haddock d...
igfoo authored
630
53386c3 [project @ 2004-08-15 20:28:02 by panne]
panne authored
631 dnl ** check for DocBook toolchain
632 FP_CHECK_DOCBOOK_DTD
cfe2fd2 Simon Marlow tidy up autoconfiguration of docbook stuff
simonmar authored
633 FP_DOCBOOK_XSL
1cce2f5 igfoo Handle deciding what docs to build better
igfoo authored
634 FP_PROG_DBLATEX
635
6caa45b igfoo Move hasktags out of the GHC repo
igfoo authored
636 FP_PROG_HSTAGS
637
a08aa16 [project @ 2003-05-17 14:49:45 by reid]
reid authored
638 dnl ** check for ghc-pkg command
7363193 [project @ 2004-08-28 16:20:35 by panne]
panne authored
639 FP_PROG_GHC_PKG
a08aa16 [project @ 2003-05-17 14:49:45 by reid]
reid authored
640
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
641 dnl ** check for installed happy binary + version
15d621f [project @ 1998-04-16 12:14:13 by sof]
sof authored
642 dnl (don't do it if we're booting from .hc files though.)
827b7c9 [project @ 2001-03-20 14:51:47 by simonmar]
simonmar authored
643 if test "$BootingFromHc" = "NO"; then
90825aa [project @ 1998-07-24 10:42:33 by sof]
sof authored
644 FPTOOLS_HAPPY
15d621f [project @ 1998-04-16 12:14:13 by sof]
sof authored
645 fi;
cfce9df [project @ 1997-08-28 21:15:14 by sof]
sof authored
646
e2314d3 [project @ 2003-08-13 12:34:04 by simonmar]
simonmar authored
647 dnl ** check for installed alex binary + version
648 dnl (don't do it if we're booting from .hc files though.)
649 if test "$BootingFromHc" = "NO"; then
650 FPTOOLS_ALEX
651 fi;
652
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
653 dnl --------------------------------------------------
654 dnl ### program checking section ends here ###
655 dnl --------------------------------------------------
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
656
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
657 dnl --------------------------------------------------
658 dnl * Platform header file and syscall feature tests
659 dnl ### checking the state of the local header files and syscalls ###
b035961 [project @ 1997-09-03 23:53:03 by sof]
sof authored
660
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
661 dnl ** check for full ANSI header (.h) files
662 AC_HEADER_STDC
cfce9df [project @ 1997-08-28 21:15:14 by sof]
sof authored
663
cd580b8 [project @ 2003-05-27 14:02:04 by simonmar]
simonmar authored
664 dnl ** Enable large file support. NB. do this before testing the type of
665 dnl off_t, because it will affect the result of that test.
666 AC_SYS_LARGEFILE
667
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
668 dnl ** check for specific header (.h) files that we are interested in
13346da PÁLI Gábor János Add thread affinity support for FreeBSD
pgj authored
669 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/cpuset.h sys/mman.h sys/resource.h sys/select.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])
70331ad [project @ 2000-04-21 18:05:19 by panne]
panne authored
670
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
671 dnl ** check if it is safe to include both <time.h> and <sys/time.h>
672 AC_HEADER_TIME
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
673
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
674 dnl ** do we have long longs?
66d0cd0 [project @ 2003-08-18 15:53:51 by panne]
panne authored
675 AC_CHECK_TYPES([long long])
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
676
08c5cc0 [project @ 1998-03-03 19:04:47 by reid]
reid authored
677 dnl ** what are the sizes of various types
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
678 AC_CHECK_SIZEOF(char, 1)
39adb26 [project @ 2000-01-26 10:44:07 by panne]
panne authored
679 AC_CHECK_SIZEOF(double, 8)
680 AC_CHECK_SIZEOF(float, 4)
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
681 AC_CHECK_SIZEOF(int, 4)
682 AC_CHECK_SIZEOF(long, 4)
ac30425 [project @ 2003-08-18 16:29:36 by panne]
panne authored
683 if test "$ac_cv_type_long_long" = yes; then
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
684 AC_CHECK_SIZEOF(long long, 8)
39adb26 [project @ 2000-01-26 10:44:07 by panne]
panne authored
685 fi
686 AC_CHECK_SIZEOF(short, 2)
687 AC_CHECK_SIZEOF(unsigned char, 1)
688 AC_CHECK_SIZEOF(unsigned int, 4)
689 AC_CHECK_SIZEOF(unsigned long, 4)
ac30425 [project @ 2003-08-18 16:29:36 by panne]
panne authored
690 if test "$ac_cv_type_long_long" = yes; then
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
691 AC_CHECK_SIZEOF(unsigned long long, 8)
692 fi
39adb26 [project @ 2000-01-26 10:44:07 by panne]
panne authored
693 AC_CHECK_SIZEOF(unsigned short, 2)
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
694 AC_CHECK_SIZEOF(void *, 4)
08c5cc0 [project @ 1998-03-03 19:04:47 by reid]
reid authored
695
696 dnl ** what are alignment constraints on various types
ac30425 [project @ 2003-08-18 16:29:36 by panne]
panne authored
697 FP_CHECK_ALIGNMENT(char)
698 FP_CHECK_ALIGNMENT(double)
699 FP_CHECK_ALIGNMENT(float)
700 FP_CHECK_ALIGNMENT(int)
701 FP_CHECK_ALIGNMENT(long)
702 if test "$ac_cv_type_long_long" = yes; then
703 FP_CHECK_ALIGNMENT(long long)
39adb26 [project @ 2000-01-26 10:44:07 by panne]
panne authored
704 fi
ac30425 [project @ 2003-08-18 16:29:36 by panne]
panne authored
705 FP_CHECK_ALIGNMENT(short)
706 FP_CHECK_ALIGNMENT(unsigned char)
707 FP_CHECK_ALIGNMENT(unsigned int)
708 FP_CHECK_ALIGNMENT(unsigned long)
709 if test "$ac_cv_type_long_long" = yes; then
710 FP_CHECK_ALIGNMENT(unsigned long long)
e648dc2 [project @ 2000-01-25 14:34:07 by panne]
panne authored
711 fi
ac30425 [project @ 2003-08-18 16:29:36 by panne]
panne authored
712 FP_CHECK_ALIGNMENT(unsigned short)
713 FP_CHECK_ALIGNMENT(void *)
08c5cc0 [project @ 1998-03-03 19:04:47 by reid]
reid authored
714
37fe797 [project @ 2004-01-06 17:20:51 by panne]
panne authored
715 FP_CHECK_FUNC([WinExec],
716 [@%:@include <windows.h>], [WinExec("",0)])
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
717
37fe797 [project @ 2004-01-06 17:20:51 by panne]
panne authored
718 FP_CHECK_FUNC([GetModuleFileName],
719 [@%:@include <windows.h>], [GetModuleFileName((HMODULE)0,(LPTSTR)0,0)])
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
720
721 dnl ** check return type of signal handlers
722 dnl Foo: assumes we can use prototypes.
723 dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
724 dnl AC_CACHE_CHECK([type of signal handlers], ac_cv_type_signal_handler,
907d2e9 [project @ 2004-09-22 08:36:58 by panne]
panne authored
725 dnl [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
726 dnl #include <signal.h>
727 dnl #ifdef signal
728 dnl #undef signal
729 dnl #endif
730 dnl void (*signal (int, void (*)(int)))(int);
907d2e9 [project @ 2004-09-22 08:36:58 by panne]
panne authored
731 dnl ]],
732 dnl [[int i;]])],
733 dnl [ac_cv_type_signal_handler=void_int],
734 dnl [ac_cv_type_signal_handler=int_void])])
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
735 dnl if test "$ac_cv_type_signal_handler" = void_int; then
736 dnl AC_DEFINE(VOID_INT_SIGNALS)
737 dnl fi
738
739 dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
740 AC_TYPE_SIGNAL
741 if test "$ac_cv_type_signal" = void; then
6b4abad [project @ 2003-08-19 14:22:14 by panne]
panne authored
742 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).])
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
743 fi
744
745 dnl ** check for more functions
16ccba3 [project @ 2004-11-18 16:39:53 by stolz]
stolz authored
746 dnl ** The following have been verified to be used in ghc/, but might be used somewhere else, too.
1c83695 Simon Marlow Changes for the new IO library, mainly base-package modules moving aroun...
simonmar authored
747 AC_CHECK_FUNCS([getclock getrusage gettimeofday setitimer siginterrupt sysconf times ctime_r sched_setaffinity setlocale])
4fc80ef igfoo Handle the case where setitimer(ITIMER_VIRTUAL) is not always available
igfoo authored
748
749 AC_TRY_RUN([
750 #include <sys/types.h>
751 #include <sys/time.h>
752 int main(void) {
753 struct itimerval tval;
754 tval.it_value.tv_sec = 1;
755 tval.it_value.tv_usec = 0;
756 tval.it_interval = tval.it_value;
757 return setitimer(ITIMER_VIRTUAL, &tval, (void*)0) != 0;
758 }
759 ],[AC_DEFINE([HAVE_SETITIMER_VIRTUAL], [1], [Define to 1 if setitimer accepts ITIMER_VIRTUAL, 0 else.])])
760
224a7fa rleshchinskiy Declare ctime_r on Mac OS
rleshchinskiy authored
761 dnl ** On OS X 10.4 (at least), time.h doesn't declare ctime_r if
762 dnl ** _POSIX_C_SOURCE is defined
763 AC_CHECK_DECLS([ctime_r], , ,
764 [#define _POSIX_SOURCE 1
765 #define _POSIX_C_SOURCE 199506L
766 #include <time.h>])
767
7ca3bb7 [project @ 2002-06-25 15:49:58 by mthomas]
mthomas authored
768 dnl ** check for mingwex library
769 AC_CHECK_LIB(mingwex, closedir, HaveLibMingwEx=YES, HaveLibMingwEx=NO)
770 AC_SUBST(HaveLibMingwEx)
771
772 if test $HaveLibMingwEx = YES ; then
6b4abad [project @ 2003-08-19 14:22:14 by panne]
panne authored
773 AC_DEFINE([HAVE_MINGWEX], [1], [Define to 1 if you have the mingwex library.])
7ca3bb7 [project @ 2002-06-25 15:49:58 by mthomas]
mthomas authored
774 fi
775
51e17ea [project @ 2001-02-17 19:52:56 by sebc]
sebc authored
776 dnl ** check for math library
f2bfd33 Sergei Trofimovich configure.ac: fix libm checks (Trac #3730)
trofi authored
777 dnl Keep that check as early as possible.
778 dnl as we need to know whether we need libm
779 dnl for math functions or not
780 dnl (see http://hackage.haskell.org/trac/ghc/ticket/3730)
8e93ec5 igfoo Fix the -lm configure test; fixes #4155
igfoo authored
781 AC_CHECK_LIB(m, atan, HaveLibM=YES, HaveLibM=NO)
782 if test $HaveLibM = YES
783 then
784 AC_DEFINE([HAVE_LIBM], [1], [Define to 1 if you need to link with libm])
785 fi
51e17ea [project @ 2001-02-17 19:52:56 by sebc]
sebc authored
786
f2bfd33 Sergei Trofimovich configure.ac: fix libm checks (Trac #3730)
trofi authored
787 dnl ** check whether this machine has BFD and liberty installed (used for debugging)
788 dnl the order of these tests matters: bfd needs liberty
789 AC_CHECK_LIB(iberty, xmalloc)
790 AC_CHECK_LIB(bfd, bfd_init)
791
1e19a38 [project @ 1998-11-17 01:24:58 by reid]
reid authored
792 dnl ################################################################
793 dnl Check for libraries
794 dnl ################################################################
795
0e89dd4 [project @ 2005-09-20 16:35:26 by ross]
ross authored
796 dnl ** check whether we need -ldl to get dlopen()
16fc5c3 [project @ 2002-03-26 16:36:09 by stolz]
stolz authored
797
ede4c6f igfoo No functionality changes
igfoo authored
798 AC_CHECK_LIB(dl, dlopen,
f97dcf9 [project @ 2005-03-08 04:45:29 by wolfgang]
wolfgang authored
799 [HaveLibDL=YES
800 AC_DEFINE([HAVE_LIBDL], [1], [Define to 1 if you need -ldl to get dlopen().])
ede4c6f igfoo No functionality changes
igfoo authored
801 LIBS="$LIBS -ldl"],
f97dcf9 [project @ 2005-03-08 04:45:29 by wolfgang]
wolfgang authored
802 [HaveLibDL=NO])
803 AC_SUBST(HaveLibDL)
804
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
805 dnl --------------------------------------------------
806 dnl * Miscellaneous feature tests
807 dnl --------------------------------------------------
808
cfce9df [project @ 1997-08-28 21:15:14 by sof]
sof authored
809 dnl ** can we get alloca?
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
810 AC_FUNC_ALLOCA
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
811
e34efb9 [project @ 2003-07-02 13:57:10 by stolz]
stolz authored
812 dnl ** Working vfork?
ced47f7 [project @ 2004-09-18 12:49:55 by panne]
panne authored
813 AC_FUNC_FORK
e34efb9 [project @ 2003-07-02 13:57:10 by stolz]
stolz authored
814
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
815 dnl ** determine whether or not const works
816 AC_C_CONST
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
817
81464dc [project @ 1998-03-17 15:38:37 by simonm]
simonm authored
818 dnl ** are we big endian?
819 AC_C_BIGENDIAN
51f782f igfoo Cope with big endian float word order on little endian machines
igfoo authored
820 FPTOOLS_FLOAT_WORD_ORDER_BIGENDIAN
b15fe26 [project @ 1998-08-19 11:23:59 by sof]
sof authored
821
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
822 dnl ** check for leading underscores in symbol names
aca2e34 [project @ 2004-08-30 19:28:46 by panne]
panne authored
823 FP_LEADING_UNDERSCORE
e7d21ee [project @ 1996-01-08 20:28:12 by partain]
partain authored
824
7a8bd24 [project @ 2005-01-10 19:01:27 by panne]
panne authored
825 dnl ** check for ld, whether it has an -x option, and if it is GNU ld
826 FP_PROG_LD_X
827 FP_PROG_LD_IS_GNU
d2f7d10 [project @ 2001-06-26 23:12:19 by sof]
sof authored
828
6f985ae [project @ 2005-01-23 06:10:15 by wolfgang]
wolfgang authored
829 dnl ** check for Apple-style dead-stripping support
830 dnl (.subsections-via-symbols assembler directive)
831
832
833 AC_MSG_CHECKING(for .subsections_via_symbols)
60bbc36 Duncan Coutts Replace deprecated AC_TRY_COMPILE macro with the reccomended replcament
dcoutts authored
834 AC_COMPILE_IFELSE(
835 [AC_LANG_PROGRAM([], [__asm__ (".subsections_via_symbols");])],
836 [AC_MSG_RESULT(yes)
837 AC_DEFINE([HAVE_SUBSECTIONS_VIA_SYMBOLS],[1],
838 [Define to 1 if Apple-style dead-stripping is supported.])
6f985ae [project @ 2005-01-23 06:10:15 by wolfgang]
wolfgang authored
839 ],
60bbc36 Duncan Coutts Replace deprecated AC_TRY_COMPILE macro with the reccomended replcament
dcoutts authored
840 [AC_MSG_RESULT(no)])
6f985ae [project @ 2005-01-23 06:10:15 by wolfgang]
wolfgang authored
841
c4597df Duncan Coutts Support the GNU non-exec stack annotation system
dcoutts authored
842 dnl *** check for GNU non-executable stack note support (ELF only)
843 dnl (.section .note.GNU-stack,"",@progbits)
844
f1f6fd2 igfoo Unset $CFLAGS for "GNU non-executable stack" configure test; fixes #3889
igfoo authored
845 dnl This test doesn't work with "gcc -g" in gcc 4.4 (GHC trac #3889:
846 dnl Error: can't resolve `.note.GNU-stack' {.note.GNU-stack section} - `.Ltext0' {.text section}
847 dnl so we empty CFLAGS while running this test
848 CFLAGS2="$CFLAGS"
849 CFLAGS=
c4597df Duncan Coutts Support the GNU non-exec stack annotation system
dcoutts authored
850 AC_MSG_CHECKING(for GNU non-executable stack support)
851 AC_COMPILE_IFELSE(
852 [AC_LANG_PROGRAM([__asm__ (".section .note.GNU-stack,\"\",@progbits");], [0])],
853 [AC_MSG_RESULT(yes)
854 AC_DEFINE([HAVE_GNU_NONEXEC_STACK],[1],
855 [Define to 1 if GNU non-executable stack notes are supported.])
856 ],
857 [AC_MSG_RESULT(no)])
f1f6fd2 igfoo Unset $CFLAGS for "GNU non-executable stack" configure test; fixes #3889
igfoo authored
858 CFLAGS="$CFLAGS2"
c4597df Duncan Coutts Support the GNU non-exec stack annotation system
dcoutts authored
859
b6fff39 igfoo Add a configure test for the visibility hidden attribute
igfoo authored
860 FP_VISIBILITY_HIDDEN
861
35a09de [project @ 2005-11-03 11:00:40 by simonmar]
simonmar authored
862 dnl ** check for librt
863 AC_CHECK_LIB(rt, clock_gettime)
e30aca1 Use timer_create() for the interval timer, if available
Simon Marlow authored
864 AC_CHECK_FUNCS(clock_gettime timer_create timer_settime)
df7dc3f better autoconfery for timer_create()
Simon Marlow authored
865 FP_CHECK_TIMER_CREATE
35a09de [project @ 2005-11-03 11:00:40 by simonmar]
simonmar authored
866
de6f23d [project @ 2005-07-15 02:00:15 by wolfgang]
wolfgang authored
867 dnl ** check for Apple's "interesting" long double compatibility scheme
0329ca6 Fix printf$LDBLStub workaround for Darwin
wolfgang.thaller@gmx.net authored
868 AC_MSG_CHECKING(for printf\$LDBLStub)
869 AC_TRY_LINK_FUNC(printf\$LDBLStub,
de6f23d [project @ 2005-07-15 02:00:15 by wolfgang]
wolfgang authored
870 [
871 AC_MSG_RESULT(yes)
872 AC_DEFINE([HAVE_PRINTF_LDBLSTUB],[1],
873 [Define to 1 if we have printf$LDBLStub (Apple Mac OS >= 10.4, PPC).])
874 ],
875 [
876 AC_MSG_RESULT(no)
877 AC_DEFINE([HAVE_PRINTF_LDBLSTUB],[0],
878 [Define to 1 if we have printf$LDBLStub (Apple Mac OS >= 10.4, PPC).])
879 ])
880
4011407 Johan Tibell Integrate new I/O manager, with signal support
tibbe authored
881 dnl ** check for eventfd which is needed by the I/O manager
882 AC_CHECK_HEADERS([sys/eventfd.h])
883 AC_CHECK_FUNCS([eventfd])
884
0065d5a Reorganisation of the source tree
Simon Marlow authored
885 # test for GTK+
886 AC_PATH_PROGS([GTK_CONFIG], [pkg-config])
887 if test -n "$GTK_CONFIG"; then
888 if $GTK_CONFIG gtk+-2.0 --atleast-version=2.0; then
889 GTK_CONFIG="$GTK_CONFIG gtk+-2.0"
890 else
891 AC_MSG_WARN([GTK+ not usable, need at least version 2.0])
892 GTK_CONFIG=
893 fi
894 fi
895 AC_SUBST([GTK_CONFIG])
de6f23d [project @ 2005-07-15 02:00:15 by wolfgang]
wolfgang authored
896
14591e0 Added configure gadgets to detect Papi, and fixed build problems
'Alexey Rodriguez authored
897 #Checking for PAPI
898 AC_CHECK_LIB(papi, PAPI_library_init, HavePapiLib=YES, HavePapiLib=NO)
899 AC_CHECK_HEADER([papi.h], [HavePapiHeader=YES], [HavePapiHeader=NO])
900 AC_SUBST(HavePapiLib)
901 AC_SUBST(HavePapiHeader)
902
e50c1ea igfoo Add a configure test for whether or not __mingw_vfprintf exists
igfoo authored
903 AC_CHECK_FUNCS(__mingw_vfprintf)
904
14591e0 Added configure gadgets to detect Papi, and fixed build problems
'Alexey Rodriguez authored
905 if test "$HavePapiLib" = "YES" -a "$HavePapiHeader" = "YES"; then
e4e7b37 reorganise PAPI configuration: off by default, even if library is found
Simon Marlow authored
906 HavePapi=YES
907 else
908 HavePapi=NO
14591e0 Added configure gadgets to detect Papi, and fixed build problems
'Alexey Rodriguez authored
909 fi
e4e7b37 reorganise PAPI configuration: off by default, even if library is found
Simon Marlow authored
910 AC_SUBST(HavePapi)
14591e0 Added configure gadgets to detect Papi, and fixed build problems
'Alexey Rodriguez authored
911
f4ec2d0 Simon Marlow fix logic for BUID_DOCBOOK_HTML
simonmar authored
912 if test "$HAVE_DOCBOOK_XSL" = "NO" ||
1cce2f5 igfoo Handle deciding what docs to build better
igfoo authored
913 test "$XsltprocCmd" = ""
914 then
915 BUILD_DOCBOOK_HTML=NO
916 else
917 BUILD_DOCBOOK_HTML=YES
918 fi
919 AC_SUBST(BUILD_DOCBOOK_HTML)
920
921 if test "$DblatexCmd" = ""
922 then
923 BUILD_DOCBOOK_PS=NO
924 BUILD_DOCBOOK_PDF=NO
925 else
926 BUILD_DOCBOOK_PS=YES
927 BUILD_DOCBOOK_PDF=YES
928 fi
929 AC_SUBST(BUILD_DOCBOOK_PS)
930 AC_SUBST(BUILD_DOCBOOK_PDF)
931
bfd7960 igfoo Fix the links to the base docs from the user guide
igfoo authored
932 LIBRARY_VERSION(base)
cfdf251 igfoo Fix more library links in the user guide
igfoo authored
933 LIBRARY_VERSION(Cabal)
934 LIBRARY_VERSION(ghc-prim)
763598e igfoo Fix the link to the ghc docs in libraries/prologue.txt
igfoo authored
935 LIBRARY_ghc_VERSION="$ProjectVersion"
936 AC_SUBST(LIBRARY_ghc_VERSION)
bfd7960 igfoo Fix the links to the base docs from the user guide
igfoo authored
937
a6ce352 Simon Marlow check for tabs in compiler/ghc.cabal.in (#3344)
simonmar authored
938 if grep ' ' compiler/ghc.cabal.in 2>&1 >/dev/null; then
939 AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them])
940 fi
941
280bd5b igfoo Improve the OS X installer
igfoo authored
942 AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal utils/runghc/runghc.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml docs/index.html libraries/prologue.txt distrib/ghc.iss distrib/configure.ac distrib/MacOS/installer-scripts/create-links distrib/MacOS/installer-scripts/Uninstaller distrib/MacOS/GHC-system.pmdoc/index.xml])
ced47f7 [project @ 2004-09-18 12:49:55 by panne]
panne authored
943 AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
944 AC_OUTPUT
f21ba11 igfoo Warn in configure if it looks like make 3.80 is about to be used
igfoo authored
945
946 # We get caught by
947 # http://savannah.gnu.org/bugs/index.php?1516
948 # $(eval ...) inside conditionals causes errors
949 # with make 3.80, so warn the user if it looks like they're about to
950 # try to use it.
a664d73 igfoo Work around Solaris's grep not supporting -q
igfoo authored
951 # We would use "grep -q" here, but Solaris's grep doesn't support it.
f21ba11 igfoo Warn in configure if it looks like make 3.80 is about to be used
igfoo authored
952 checkMake380() {
a664d73 igfoo Work around Solaris's grep not supporting -q
igfoo authored
953 if $1 --version 2>&1 | head -1 | grep 'GNU Make 3\.80' > /dev/null
f21ba11 igfoo Warn in configure if it looks like make 3.80 is about to be used
igfoo authored
954 then
955 echo
956 echo "WARNING: It looks like \"$1\" is GNU make 3.80."
957 echo "This version cannot be used to build GHC."
958 echo "Please use GNU make >= 3.81."
959 fi
960 }
961
962 checkMake380 make
963 checkMake380 gmake
964
34cc75e igfoo GHC new build system megapatch
igfoo authored
965 echo ["
966 ----------------------------------------------------------------------
967 Configure completed successfully.
968
969 Building GHC version : $ProjectVersion
970
971 Build platform : $BuildPlatform
972 Host platform : $HostPlatform
973 Target platform : $TargetPlatform
974 "]
975
976 if test "$BootingFromHc" = "YES"; then
977 echo ["\
978 Bootstrapping from HC files.
979 "]
980 else
981 echo ["\
982 Bootstrapping using : $WithGhc
983 which is version : $GhcVersion
984 "]
985 fi
986
987 echo ["\
988 Using GCC : $WhatGccIsCalled
989 which is version : $GccVersion
990
991 ld : $LdCmd
c9a11cb Simon Marlow mention documentation tools in the summary; tidy up formatting
simonmar authored
992 Happy : $HappyCmd ($HappyVersion)
993 Alex : $AlexCmd ($AlexVersion)
34cc75e igfoo GHC new build system megapatch
igfoo authored
994 Python : $PythonCmd
c9a11cb Simon Marlow mention documentation tools in the summary; tidy up formatting
simonmar authored
995 Perl : $PerlCmd
996 dblatex : $DblatexCmd
997 xsltproc : $XsltprocCmd"]
34cc75e igfoo GHC new build system megapatch
igfoo authored
998
999 if test "$HSCOLOUR" = ""; then
1000 echo ["
1001 HsColour was not found; documentation will not contain source links
1002 "]
1003 else
1004 echo ["\
1005 HsColour : $HSCOLOUR
1006 "]
1007 fi
1008
c9a11cb Simon Marlow mention documentation tools in the summary; tidy up formatting
simonmar authored
1009 echo ["\
1010 Building DocBook HTML documentation : $BUILD_DOCBOOK_HTML
1011 Building DocBook PS documentation : $BUILD_DOCBOOK_PS
dc9cde6 Simon Marlow Fix configure summary: --enable-shared has gone
simonmar authored
1012 Building DocBook PDF documentation : $BUILD_DOCBOOK_PDF"]
34cc75e igfoo GHC new build system megapatch
igfoo authored
1013
1014 echo ["----------------------------------------------------------------------
1015 "]
1016
1017 echo "\
1018 For a standard build of GHC (fully optimised with profiling), type (g)make.
1019
1020 To make changes to the default build configuration, copy the file
1021 mk/build.mk.sample to mk/build.mk, and edit the settings in there.
1022
1023 For more information on how to configure your GHC build, see
1024 http://hackage.haskell.org/trac/ghc/wiki/Building
1025 "
Something went wrong with that request. Please try again.