3 # This shell script handles all target based configuration for libstdc++.
4 # It sets various shell variables based on the the target and the
5 # configuration options. You can modify this shell script without
6 # needing to rerun autoconf.
8 # This shell script should be invoked as
10 # If it encounters an error, it will exit with a message.
12 # It uses the following shell variables:
13 # target The configuration target
14 # target_cpu The configuration target CPU
15 # target_os The configuration target OS
17 # It possibly modifies the following shell variables:
18 # cpu_include_dir CPU-specific include directory, relative to srcdir
20 # os_include_dir OS-specific include directory, relative to srcdir
22 # c_model the model to use for "C" headers, defaults to c_std.
24 # c_compatibility if "C" compatibility headers are necessary,
32 # TARGET-SPECIFIC OVERRIDES
33 # Set any CPU-dependent bits.
34 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
35 case "${target_cpu}" in
37 cpu_include_dir="config/cpu/alpha"
40 cpu_include_dir="config/cpu/arm"
43 cpu_include_dir="config/cpu/cris"
46 cpu_include_dir="config/cpu/ia64"
49 cpu_include_dir="config/cpu/i386"
51 i486 | i586 | i686 | i786)
52 cpu_include_dir="config/cpu/i486"
55 cpu_include_dir="config/cpu/m68k"
58 cpu_include_dir="config/cpu/powerpc"
61 cpu_include_dir="config/cpu/s390"
64 cpu_include_dir="config/cpu/sparc/sparc64"
67 cpu_include_dir="config/cpu/sparc/sparc32"
70 cpu_include_dir="config/cpu/x86-64"
73 cpu_include_dir="config/cpu/generic"
78 # Set any OS dependent compiler flags.
79 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
80 case "${target_os}" in
81 aix4.[3456789]* | aix[56789]*)
82 os_include_dir="config/os/aix"
86 os_include_dir="config/os/bsd/freebsd"
89 os_include_dir="config/os/newlib"
92 os_include_dir="config/os/djgpp"
95 os_include_dir="config/os/gnu-linux"
97 irix[1-6] | irix[1-5].* | irix6.[0-4])
98 # This is known to work on at least IRIX 5.2 and 6.3.
99 os_include_dir="config/os/irix/irix5.2"
102 os_include_dir="config/os/irix/irix6.5"
105 os_include_dir="config/os/mingw32"
108 os_include_dir="config/os/bsd/netbsd"
111 os_include_dir="config/os/solaris/solaris2.5"
114 os_include_dir="config/os/solaris/solaris2.6"
116 solaris2.7* | solaris2.8*)
117 os_include_dir="config/os/solaris/solaris2.7"
120 os_include_dir="config/os/hpux"
123 os_include_dir="config/os/qnx/qnx6.1"
127 os_include_dir="config/os/generic"
132 # Set any flags dependent on the full target triplet.
133 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
136 # We set os_include_dir to config/os/aix only on AIX 4.3 and
137 # newer, but config/os/aix/bits/atomicity.h works on earlier
138 # versions of AIX 4.*, so we explicitly duplicate the directory
139 # here, because os_include_dir.
140 ATOMICITYH=config/os/aix
143 ATOMICITYH=config/cpu/generic
146 ATOMICITYH=$os_include_dir
149 # The EPOC C++ environment does not support exceptions.
150 if test -z "$enable_cxx_flags"; then
151 enable_cxx_flags="-frtti -fno-exceptions"
153 ATOMICITYH=$cpu_include_dir
156 ATOMICITYH=$cpu_include_dir
160 # Set CPULIMITSH to the directory where the configuration-dependent
161 # cpu_limits.h can be found.
162 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
165 CPULIMITSH=config/os/hpux
168 CPULIMITSH=config/os/osf/osf5.0
171 CPULIMITSH=config/cpu/alpha
174 CPULIMITSH=config/cpu/cris
177 CPULIMITSH=config/cpu/ia64
180 CPULIMITSH=config/os/mingw32
183 CPULIMITSH=config/cpu/i386
185 m68k-*-* | m680[246]0-*-*)
186 CPULIMITSH=config/cpu/m68k
189 CPULIMITSH=config/cpu/mmix
192 CPULIMITSH=config/cpu/powerpc
194 s390-*-* | s390x-*-*)
195 CPULIMITSH=config/cpu/s390
198 CPULIMITSH=config/cpu/x86-64
201 CPULIMITSH=config/cpu/generic