]>
Commit | Line | Data |
---|---|---|
0a35513e | 1 | # -*- shell-script -*- |
a5544970 | 2 | # Copyright (C) 2011-2019 Free Software Foundation, Inc. |
0a35513e AH |
3 | |
4 | # This program is free software; you can redistribute it and/or modify | |
5 | # it under the terms of the GNU General Public License as published by | |
6 | # the Free Software Foundation; either version 2 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU General Public License | |
15 | # along with this program; if not, write to the Free Software | |
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
17 | ||
18 | # This is the target specific configuration file. This is invoked by the | |
19 | # autoconf generated configure script. Putting it in a separate shell file | |
20 | # lets us skip running autoconf when modifying target specific information. | |
21 | ||
22 | # This file switches on the shell variable ${target}, and sets the | |
23 | # following shell variables: | |
24 | # config_path An ordered list of directories to search for | |
25 | # sources and headers. This is relative to the | |
26 | # config subdirectory of the source tree. | |
27 | # XCFLAGS Add extra compile flags to use. | |
28 | # XLDFLAGS Add extra link flags to use. | |
29 | ||
30 | # Optimize TLS usage by avoiding the overhead of dynamic allocation. | |
01f3428c | 31 | if test "$gcc_cv_have_tls" = yes ; then |
0a35513e AH |
32 | case "${target}" in |
33 | ||
34 | # For x86, we use slots in the TCB head for most of our TLS. | |
35 | # The setup of those slots in beginTransaction can afford to | |
36 | # use the global-dynamic model. | |
37 | i[456]86-*-linux* | x86_64-*-linux*) | |
38 | ;; | |
39 | ||
40 | *-*-linux*) | |
41 | XCFLAGS="${XCFLAGS} -ftls-model=initial-exec" | |
42 | ;; | |
43 | esac | |
44 | fi | |
45 | ||
46 | # Map the target cpu to an ARCH sub-directory. At the same time, | |
47 | # work out any special compilation flags as necessary. | |
48 | case "${target_cpu}" in | |
b17f08dd | 49 | aarch64*) ARCH=aarch64 ;; |
a32e5e93 | 50 | alpha*) ARCH=alpha ;; |
0258b6e4 PB |
51 | rs6000 | powerpc*) |
52 | XCFLAGS="${XCFLAGS} -mhtm" | |
53 | ARCH=powerpc | |
54 | ;; | |
0a35513e | 55 | |
aebac0ca RH |
56 | arm*) ARCH=arm ;; |
57 | ||
e28a3d8b | 58 | i[3456]86) |
0a35513e | 59 | case " ${CC} ${CFLAGS} " in |
b9c23a61 | 60 | *" -m64 "*|*" -mx32 "*) |
0a35513e AH |
61 | ;; |
62 | *) | |
63 | if test -z "$with_arch"; then | |
64 | XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" | |
65 | XCFLAGS="${XCFLAGS} -fomit-frame-pointer" | |
66 | fi | |
67 | esac | |
64fbcc74 | 68 | XCFLAGS="${XCFLAGS} -mrtm" |
0a35513e AH |
69 | ARCH=x86 |
70 | ;; | |
71 | ||
cc163247 KK |
72 | sh*) ARCH=sh ;; |
73 | ||
f3f5e3c3 EB |
74 | sparc) |
75 | case " ${CC} ${CFLAGS} " in | |
76 | *" -m64 "*) | |
77 | ;; | |
78 | *) | |
79 | if test -z "$with_cpu"; then | |
80 | XCFLAGS="${XCFLAGS} -mcpu=v9" | |
81 | fi | |
82 | esac | |
83 | ARCH=sparc | |
84 | ;; | |
85 | ||
86 | sparc64|sparcv9) | |
87 | case " ${CC} ${CFLAGS} " in | |
88 | *" -m32 "*) | |
89 | XCFLAGS="${XCFLAGS} -mcpu=v9" | |
90 | ;; | |
91 | *" -m64 "*) | |
92 | ;; | |
93 | *) | |
94 | if test "x$with_cpu" = xv8; then | |
95 | XCFLAGS="${XCFLAGS} -mcpu=v9" | |
96 | fi | |
97 | ;; | |
98 | esac | |
99 | ARCH=sparc | |
100 | ;; | |
101 | ||
0a35513e AH |
102 | x86_64) |
103 | case " ${CC} ${CFLAGS} " in | |
104 | *" -m32 "*) | |
68bc9270 | 105 | XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" |
0a35513e AH |
106 | XCFLAGS="${XCFLAGS} -fomit-frame-pointer" |
107 | ;; | |
108 | esac | |
64fbcc74 | 109 | XCFLAGS="${XCFLAGS} -mrtm" |
0a35513e AH |
110 | ARCH=x86 |
111 | ;; | |
aaec3fc8 | 112 | s390|s390x) |
1869217f | 113 | XCFLAGS="${XCFLAGS} -mzarch -mhtm" |
aaec3fc8 | 114 | ARCH=s390 |
aaec3fc8 | 115 | ;; |
0a35513e | 116 | |
0a35513e AH |
117 | *) |
118 | ARCH="${target_cpu}" | |
119 | ;; | |
120 | esac | |
01f3428c RH |
121 | |
122 | # For the benefit of top-level configure, determine if the cpu is supported. | |
3d3b05ff | 123 | test -d ${srcdir}/config/$ARCH || UNSUPPORTED=1 |
01f3428c | 124 | |
0a35513e AH |
125 | # Since we require POSIX threads, assume a POSIX system by default. |
126 | config_path="$ARCH posix generic" | |
127 | ||
128 | # Other system configury | |
129 | case "${target}" in | |
130 | *-*-linux*) | |
01f3428c | 131 | if test "$enable_linux_futex" = yes; then |
0a35513e AH |
132 | config_path="linux/$ARCH linux $config_path" |
133 | fi | |
134 | ;; | |
135 | ||
a32e5e93 RH |
136 | powerpc*-*-aix* | rs6000-*-aix*) |
137 | # The system ought to be supported, but sjlj.S has not been ported. | |
138 | UNSUPPORTED=1 | |
139 | ;; | |
140 | ||
01f3428c RH |
141 | *-*-gnu* | *-*-k*bsd*-gnu \ |
142 | | *-*-netbsd* | *-*-freebsd* | *-*-openbsd* \ | |
b24513a1 | 143 | | *-*-solaris2* | *-*-sysv4* | *-*-hpux11* \ |
dbed5a9b | 144 | | *-*-darwin* | *-*-aix* | *-*-dragonfly*) |
01f3428c | 145 | # POSIX system. The OS is supported. |
0a35513e AH |
146 | ;; |
147 | ||
01f3428c RH |
148 | *) # Non-POSIX, or embedded system |
149 | UNSUPPORTED=1 | |
0a35513e AH |
150 | ;; |
151 | esac |