]>
Commit | Line | Data |
---|---|---|
a89ea0df | 1 | # GCC host-specific configuration file. |
9dcd6f09 | 2 | # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007 |
a89ea0df NN |
3 | # Free Software Foundation, Inc. |
4 | ||
5 | #This file is part of GCC. | |
6 | ||
7 | #GCC is free software; you can redistribute it and/or modify it under | |
8 | #the terms of the GNU General Public License as published by the Free | |
9dcd6f09 | 9 | #Software Foundation; either version 3, or (at your option) any later |
a89ea0df NN |
10 | #version. |
11 | ||
12 | #GCC is distributed in the hope that it will be useful, but WITHOUT | |
13 | #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 | #FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 | #for more details. | |
16 | ||
17 | #You should have received a copy of the GNU General Public License | |
9dcd6f09 NC |
18 | #along with GCC; see the file COPYING3. If not see |
19 | #<http://www.gnu.org/licenses/>. | |
a89ea0df NN |
20 | |
21 | # This is the GCC host-specific configuration file | |
22 | # where a configuration type is mapped to different system-specific | |
23 | # definitions and files. This is invoked by the autoconf-generated | |
24 | # configure script. Putting it in a separate shell file lets us skip | |
25 | # running autoconf when modifying host-specific information. | |
26 | ||
27 | # This file switches on the shell variable ${host}. As much of this as | |
28 | # is reasonable should be replaced with autoconf tests in the future. | |
29 | ||
30 | # This file sets the following shell variables for use by the | |
31 | # autoconf-generated configure script: | |
32 | # | |
33 | # host_xm_file List of files to include when compiling for the | |
34 | # host machine. | |
35 | # | |
36 | # host_xm_defines List of macros to define when compiling for the | |
37 | # host machine. | |
38 | # | |
39 | # host_xmake_file List of host-specific makefile-fragments. | |
40 | # | |
41 | # host_exeext Set to the suffix, if the host machine requires | |
42 | # executables to have a file name suffix. | |
43 | # | |
44 | # host_extra_objs List of extra host-dependent objects that should | |
45 | # be linked into the compiler proper. | |
46 | # | |
47 | # host_extra_gcc_objs List of extra host-dependent objects that should | |
48 | # be linked into the gcc driver. | |
49 | # | |
50 | # out_host_hook_obj An object file that provides the host hooks. | |
c38f02df ILT |
51 | # |
52 | # host_can_use_collect2 Set to yes normally; to no if the host cannot | |
53 | # link or otherwise use collect2 | |
99fa8911 AP |
54 | # use_long_long_for_widest_fast_int Set this to 'yes' if 'long long' |
55 | # (or '__int64') is wider than 'long' but still | |
56 | # efficeiently supported by the host hardware. | |
57 | # Only affects compile speed. Default is 'no'. | |
a89ea0df NN |
58 | |
59 | # When setting any of these variables, check to see if a corresponding | |
60 | # variable is present in config.build; if so, you will likely want to | |
61 | # set it in both places. | |
62 | ||
63 | # Default settings. | |
64 | host_xm_file= | |
65 | host_xm_defines= | |
66 | host_xmake_file= | |
67 | host_exeext= | |
68 | host_extra_objs= | |
69 | host_extra_gcc_objs= | |
70 | out_host_hook_obj=host-default.o | |
c38f02df | 71 | host_can_use_collect2=yes |
99fa8911 | 72 | use_long_long_for_widest_fast_int=no |
a89ea0df | 73 | |
d064c269 NN |
74 | # Unsupported hosts list. Generally, only include hosts known to fail here, |
75 | # since we allow hosts not listed to be supported generically. | |
a89ea0df | 76 | case ${host} in |
d064c269 | 77 | i[34567]86-sequent-sysv \ |
a89ea0df NN |
78 | | i[34567]86-sequent-sysv[123]* \ |
79 | | i[34567]86-go32-* \ | |
80 | | i[34567]86-*-go32* \ | |
92b836fa | 81 | | vax-*-vms*) |
a89ea0df NN |
82 | echo "*** Configuration for host ${host} not supported" 1>&2 |
83 | exit 1 | |
84 | ;; | |
85 | esac | |
86 | ||
ed23bd30 | 87 | # Common parts for widely ported systems. |
eaec4980 | 88 | case ${host} in |
ed23bd30 GK |
89 | *-darwin*) |
90 | # Generic darwin host support. | |
91 | out_host_hook_obj=host-darwin.o | |
eaec4980 | 92 | host_xmake_file="${host_xmake_file} x-darwin" |
ed23bd30 GK |
93 | ;; |
94 | esac | |
95 | ||
fa959ce4 MM |
96 | case ${host} in |
97 | i[34567]86-*-* \ | |
98 | | x86_64-*-* ) | |
08bac9d8 BS |
99 | case ${target} in |
100 | i[34567]86-*-* \ | |
101 | | x86_64-*-* ) | |
3b8aab76 L |
102 | host_extra_gcc_objs="driver-i386.o" |
103 | host_xmake_file="${host_xmake_file} i386/x-i386" | |
08bac9d8 BS |
104 | ;; |
105 | esac | |
fa959ce4 MM |
106 | ;; |
107 | esac | |
108 | ||
0eab6840 DE |
109 | case ${host} in |
110 | rs6000-*-* \ | |
111 | | powerpc*-*-* ) | |
112 | case ${target} in | |
113 | rs6000-*-* \ | |
114 | | powerpc*-*-* ) | |
115 | host_extra_gcc_objs="driver-rs6000.o" | |
116 | host_xmake_file="${host_xmake_file} rs6000/x-rs6000" | |
117 | ;; | |
118 | esac | |
119 | ;; | |
120 | esac | |
121 | ||
a89ea0df NN |
122 | # Machine-specific settings. |
123 | case ${host} in | |
a89ea0df NN |
124 | alpha*-dec-*vms*) |
125 | host_xm_file=alpha/xm-vms.h | |
eaec4980 | 126 | host_xmake_file="${host_xmake_file} alpha/x-vms" |
a929bc28 | 127 | extra_programs="ld.exe decc.exe" |
a89ea0df | 128 | host_exeext=.exe |
c38f02df | 129 | host_can_use_collect2=no |
a89ea0df NN |
130 | # This removes the cpu type and manufacturer components and |
131 | # replaces "." with "_" in the operating system version. | |
caa55b1e | 132 | target_noncanonical=`echo $host | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'` |
a89ea0df NN |
133 | prefix=/gnu |
134 | local_prefix=/gnu | |
135 | ;; | |
a89ea0df | 136 | hppa1.1-*-pro*) |
eaec4980 | 137 | host_xmake_file="${host_xmake_file} pa/x-ada" |
a89ea0df NN |
138 | ;; |
139 | hppa1.1-*-osf*) | |
eaec4980 | 140 | host_xmake_file="${host_xmake_file} pa/x-ada" |
a89ea0df NN |
141 | ;; |
142 | hppa1.1-*-rtems*) | |
eaec4980 | 143 | host_xmake_file="${host_xmake_file} pa/x-ada" |
a89ea0df NN |
144 | ;; |
145 | hppa1.1-*-bsd*) | |
eaec4980 | 146 | host_xmake_file="${host_xmake_file} pa/x-ada" |
a89ea0df | 147 | ;; |
5a1a4450 JDA |
148 | hppa1.0-*-hpux10* | hppa1.1-*-hpux10* | hppa2*-*-hpux10*) |
149 | out_host_hook_obj=host-hpux.o | |
eaec4980 | 150 | host_xmake_file="${host_xmake_file} pa/x-ada-hpux10 x-hpux" |
5a1a4450 | 151 | ;; |
d064c269 | 152 | hppa1.0-*-hpux11* | hppa1.1-*-hpux11* | hppa2*-*-hpux11* | \ |
a89ea0df | 153 | hppa*64*-*-hpux11*) |
9bff16b8 | 154 | out_host_hook_obj=host-hpux.o |
eaec4980 | 155 | host_xmake_file="${host_xmake_file} pa/x-ada x-hpux" |
c621016b JDA |
156 | ;; |
157 | hppa*-*-linux*) | |
9bff16b8 | 158 | out_host_hook_obj=host-hpux.o |
eaec4980 | 159 | host_xmake_file="${host_xmake_file} x-hpux" |
a89ea0df | 160 | ;; |
d064c269 | 161 | i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture |
a89ea0df NN |
162 | host_xm_defines='FATAL_EXIT_CODE=12' |
163 | ;; | |
d064c269 | 164 | i[34567]86-*-solaris2*) |
4d0c31e6 | 165 | out_host_hook_obj=host-solaris.o |
eaec4980 | 166 | host_xmake_file="${host_xmake_file} x-solaris" |
a89ea0df | 167 | ;; |
a89ea0df NN |
168 | i[34567]86-pc-msdosdjgpp*) |
169 | host_xm_file=i386/xm-djgpp.h | |
170 | host_exeext=.exe | |
caa55b1e | 171 | # Shorten $target_noncanonical for 8.3 filename conventions. |
a89ea0df NN |
172 | case ${target} in |
173 | *pc-msdosdjgpp*) | |
caa55b1e | 174 | target_noncanonical=djgpp |
a89ea0df NN |
175 | ;; |
176 | esac | |
177 | ;; | |
a89ea0df NN |
178 | i[34567]86-*-pe | i[34567]86-*-cygwin*) |
179 | host_xm_file=i386/xm-cygwin.h | |
5fa09df4 | 180 | out_host_hook_obj=host-cygwin.o |
75c3fb73 | 181 | host_xmake_file="${host_xmake_file} i386/x-cygwin" |
a89ea0df NN |
182 | host_exeext=.exe |
183 | ;; | |
ccf8e764 | 184 | i[34567]86-*-mingw32* | x86_64-*-mingw*) |
a89ea0df | 185 | host_xm_file=i386/xm-mingw32.h |
21028020 | 186 | host_xmake_file="${host_xmake_file} i386/x-mingw32" |
a89ea0df | 187 | host_exeext=.exe |
90aa6719 | 188 | out_host_hook_obj=host-mingw32.o |
a89ea0df NN |
189 | ;; |
190 | i[34567]86-*-uwin*) | |
2c55543b NN |
191 | echo "*** UWIN may not be used as a host platform because" |
192 | echo "*** linking with posix.dll is not allowed by the GNU GPL." | |
193 | exit 1 | |
a89ea0df | 194 | ;; |
9519e677 | 195 | i[34567]86-*-darwin* | x86_64-*-darwin*) |
ed23bd30 GK |
196 | out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" |
197 | host_xmake_file="${host_xmake_file} i386/x-darwin" | |
198 | ;; | |
c38f02df ILT |
199 | powerpc-*-beos*) |
200 | host_can_use_collect2=no | |
201 | ;; | |
a89ea0df | 202 | powerpc-*-darwin*) |
ed23bd30 GK |
203 | out_host_hook_obj="${out_host_hook_obj} host-ppc-darwin.o" |
204 | host_xmake_file="${host_xmake_file} rs6000/x-darwin" | |
a89ea0df | 205 | ;; |
b8ec3cc8 EC |
206 | powerpc64-*-darwin*) |
207 | out_host_hook_obj="${out_host_hook_obj} host-ppc64-darwin.o" | |
208 | host_xmake_file="${host_xmake_file} rs6000/x-darwin64" | |
209 | ;; | |
4d0c31e6 RH |
210 | *-*-solaris2*) |
211 | out_host_hook_obj=host-solaris.o | |
eaec4980 | 212 | host_xmake_file="${host_xmake_file} x-solaris" |
4d0c31e6 RH |
213 | ;; |
214 | *-*-linux*) | |
215 | out_host_hook_obj=host-linux.o | |
fa959ce4 | 216 | host_xmake_file="${host_xmake_file} x-linux" |
4d0c31e6 | 217 | ;; |
99fa8911 AP |
218 | ia64-*-hpux*) |
219 | use_long_long_for_widest_fast_int=yes | |
9bff16b8 | 220 | out_host_hook_obj=host-hpux.o |
eaec4980 | 221 | host_xmake_file="${host_xmake_file} x-hpux" |
99fa8911 | 222 | ;; |
a89ea0df | 223 | esac |