[project @ 2005-03-12 18:25:07 by desrt]
[ghc.git] / distrib / configure-bin.ac
1 dnl
2 dnl Binary distribution configure script
3 dnl
4 #!/bin/sh
5 #
6
7 # Is it there?
8 AC_INIT(Makefile.in)
9
10 exeext=''
11
12 #
13 # First off, what system are we running under?
14 #
15 AC_CANONICAL_SYSTEM
16
17 dnl ** canonicalize platform names
18 # Canonicali[sz]e the platform name
19 TargetPlatform=`/bin/sh $srcdir/config.sub $target` || exit 1
20
21 #
22 # The following will be more difficult when we *are* cross-compiling.
23 # Suitable names to slam in *_CPP are in platform.h.in.
24 # We also record the architecture, vendor, and operating system (OS)
25 # separately.
26 case $TargetPlatform in
27 alpha*-dec-osf[[12]]*)
28         TargetPlatform=alpha-dec-osf1;;
29 alpha*-dec-osf[[345]]*)
30         TargetPlatform=alpha-dec-osf3;;
31 alpha*-unknown-linux)
32         TargetPlatform=alpha-unknown-linux;;
33 alpha*-unknown-freebsd*)
34         TargetPlatform=alpha-unknown-freebsd;;
35 hppa1.1-hp-hpux*)
36         TargetPlatform=hppa1.1-hp-hpux;;
37 i[[3456]]86-*-linuxaout*)
38         TargetPlatform=i386-unknown-linuxaout;;
39 i[[3456]]86-*-linux*)
40         TargetPlatform=i386-unknown-linux;;
41 i[[3456]]86-*-freebsd2*)
42         TargetPlatform=i386-unknown-freebsd2;;
43 i[[3456]]86-*-freebsd[[3-9]]*)
44         TargetPlatform=i386-unknown-freebsd;;
45 i[[3456]]86-*-netbsd*)
46         TargetPlatform=i386-unknown-netbsd;;
47 i[[3456]]86-*-openbsd*)
48         TargetPlatform=i386-unknown-openbsd;;
49 i[[3456]]86-*-solaris2*)
50         TargetPlatform=i386-unknown-solaris2;;
51 i[[3456]]86-*-cygwin*)
52         exeext='.exe'
53         TargetPlatform=i386-unknown-cygwin32;;
54 i[[3456]]86-*-mingw32*)
55         exeext='.exe'
56         # We assume you're using mingw32 via the gcc that comes
57         # with cygwin, and not the native port, so let's augment
58         # the gcc command-line used here with -mno-cygwin -mwin32
59         # to arrange for good things to happen.
60         CFLAGS="-mno-cygwin -mwin32 $CFLAGS"
61         TargetPlatform=i386-unknown-mingw32
62         ;;
63 m68k-next-nextstep2)
64         TargetPlatform=m68k-next-nextstep2;;
65 m68k-next-nextstep3)
66         TargetPlatform=m68k-next-nextstep3;;
67 i[[3456]]86-next-nextstep3)
68         TargetPlatform=i386-next-nextstep3;;
69 m68k-sun-sunos4*)
70         TargetPlatform=m68k-sun-sunos4;;
71 mips-dec-ultrix*)
72         TargetPlaformP=mips-dec-ultrix;;
73 mips-sgi-irix*)
74         TargetPlatform=mips-sgi-irix;;
75 powerpc-ibm-aix*)
76         TargetPlatform=powerpc-ibm-aix;;
77 rs6000-ibm-aix*)
78         TargetPlatform=rs6000-ibm-aix;;
79 powerpc-apple-darwin*)
80         TargetPlatform=powerpc-apple-darwin;;
81 powerpc-*-linux*)
82         TargetPlatform=powerpc-unknown-linux;;
83 powerpc64-*-linux*)
84         TargetPlatform=powerpc64-unknown-linux;;
85 sparc-sun-sunos4*)
86         TargetPlatform=sparc-sun-sunos4;;
87 sparc-sun-solaris2*)
88         TargetPlatform=sparc-sun-solaris2;;
89 x86_64-*-linux*)
90         TargetPlatform=x86_64-unknown-linux;;
91 x86_64-*-freebsd*)
92         TargetPlatform=x86_64-unknown-freebsd;;
93 x86_64-*-openbsd*)
94         TargetPlatform=x86_64-unknown-openbsd;;
95 x86_64-*-netbsd*)
96         TargetPlatform=x86_64-unknown-netbsd;;
97 *)
98         echo "Unrecognised platform: $TargetPlatform"
99         exit 1
100         ;;
101 esac
102 echo "Which we'll further canonicalise into: $TargetPlatform"
103
104 AC_SUBST(TargetPlatform)
105 AC_SUBST(exeext)
106
107 #
108 dnl ** Check Perl installation **
109 #
110 AC_PATH_PROG(PerlCmd,perl)
111 if test -z "$PerlCmd"; then
112    echo "You must install perl before you can continue"
113    echo "Perhaps it is already installed, but not in your PATH?"
114    exit 1
115 fi
116 FPTOOLS_SHEBANG_PERL
117
118 #
119 dnl ** figure out how to do a BSD-ish install **
120 #
121 AC_PROG_INSTALL
122
123 #
124 dnl ** how to do symlinks **
125 #
126 AC_PROG_LN_S()
127
128 #
129 dnl ** Find the path to sed **
130 #
131 AC_PATH_PROG(SedCmd,sed)
132
133 #
134 dnl ** How to invoke cpp directly **
135 #
136 FP_HAVE_GCC
137 AC_PROG_CPP
138
139 #
140 AC_OUTPUT(Makefile)
141
142 echo "****************************************************"
143 echo "Configuration done, ready to either 'make install'"
144 echo "or 'make in-place'."
145 echo "(see README and INSTALL files for more info.)"
146 echo "****************************************************"