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
19 # os_include_dir OS-specific include directory, relative to srcdir
22 # Set any CPU dependent compiler flags.
23 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
24 case "${target_cpu}" in
26 cpu_include_dir="config/cpu/alpha"
29 cpu_include_dir="config/cpu/arm"
32 cpu_include_dir="config/cpu/cris"
35 cpu_include_dir="config/cpu/ia64"
38 cpu_include_dir="config/cpu/i386"
40 i486 | i586 | i686 | i786)
41 cpu_include_dir="config/cpu/i486"
44 cpu_include_dir="config/cpu/m68k"
47 cpu_include_dir="config/cpu/powerpc"
50 cpu_include_dir="config/cpu/s390"
53 cpu_include_dir="config/cpu/sparc/sparc64"
56 cpu_include_dir="config/cpu/sparc/sparc32"
59 cpu_include_dir="config/cpu/x86-64"
62 cpu_include_dir="config/cpu/generic"
67 # Set any OS dependent compiler flags.
68 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
69 case "${target_os}" in
70 aix4.[3456789]* | aix[56789]*)
71 os_include_dir="config/os/aix"
74 os_include_dir="config/os/bsd/freebsd"
77 os_include_dir="config/os/newlib"
80 os_include_dir="config/os/djgpp"
83 os_include_dir="config/os/gnu-linux"
85 irix[1-6] | irix[1-5].* | irix6.[0-4])
86 # This is known to work on at least IRIX 5.2 and 6.3.
87 os_include_dir="config/os/irix/irix5.2"
90 os_include_dir="config/os/irix/irix6.5"
93 os_include_dir="config/os/mingw32"
96 os_include_dir="config/os/bsd/netbsd"
99 os_include_dir="config/os/solaris/solaris2.5"
102 os_include_dir="config/os/solaris/solaris2.6"
104 solaris2.7* | solaris2.8*)
105 os_include_dir="config/os/solaris/solaris2.7"
108 os_include_dir="config/os/hpux"
111 os_include_dir="config/os/generic"
116 # Set any flags dependant on the full target triplet.
117 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
120 # We set os_include_dir to config/os/aix only on AIX 4.3 and
121 # newer, but config/os/aix/bits/atomicity.h works on earlier
122 # versions of AIX 4.*, so we explicitly duplicate the directory
123 # here, because os_include_dir.
124 ATOMICITYH=config/os/aix
127 ATOMICITYH=config/cpu/generic
130 ATOMICITYH=$os_include_dir
133 ATOMICITYH=$cpu_include_dir
137 # Set CPULIMITSH to the directory where the configuration-dependent
138 # cpu_limits.h can be found.
139 # THIS TABLE IS SORTED. KEEP IT THAT WAY.
142 CPULIMITSH=config/cpu/alpha
145 CPULIMITSH=config/cpu/cris
148 CPULIMITSH=config/cpu/i386
150 m68k-*-* | m680[246]0-*-*)
151 CPULIMITSH=config/cpu/m68k
154 CPULIMITSH=config/cpu/powerpc
156 s390-*-* | s390x-*-*)
157 CPULIMITSH=config/cpu/s390
160 CPULIMITSH=config/cpu/x86-64
163 CPULIMITSH=config/cpu/generic