Remove incorrect cache_purge() calls in *_rmdir() (OLD API). These could
[dragonfly.git] / contrib / libstdc++3 / configure.target
1 # configure.target
2 #
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 needing
6 # to rerun autoconf/aclocal/etc.  This file is "sourced" not executed.
7 #
8 # You should read docs/html/17_intro/porting.* to make sense of this file.
9 #
10 #
11 # It uses the following shell variables as set by config.guess:
12 #   target                The configuration target (full CPU-vendor-OS triplet)
13 #   target_cpu            The configuration target CPU
14 #   target_os             The configuration target OS
15 #
16 #
17 # It sets the following shell variables:
18 #
19 #   cpu_include_dir        CPU-specific directory, defaults to cpu/generic
20 #                          if cpu/target_cpu doesn't exist.  This is
21 #                          used to set ATOMICITYH.
22 #
23 #   os_include_dir         OS-specific directory, defaults to os/generic.
24 #
25 #   c_model                the model to use for "C" headers, defaults to c_std.
26 #
27 #   c_compatibility        if "C" compatibility headers are necessary,
28 #                          defaults to no.
29 #
30 #   abi_baseline_pair      directory name for ABI compat testing,
31 #                          defaults to target (as per config.guess)
32 #
33 #   ATOMICITYH             location of atomicity.h,
34 #                          defaults to cpu_include_dir
35 #
36 # It possibly modifies the following variables:
37 #
38 #   OPT_LDFLAGS            extra flags to pass when linking the library, of
39 #                          the form '-Wl,blah'
40 #                          (defaults to empty in acinclude.m4)
41 #
42 #
43 # If the defaults will not work for your platform, you need only change the
44 # variables that won't work, i.e., you do not need to explicitly set a
45 # working variable to its default.  Most targets only need to change the two
46 # *_include_dir variables.
47
48
49 # DEFAULTS
50 # Try to guess a default cpu_include_dir based on the name of the CPU.  We
51 # cannot do this for os_include_dir; there are too many portable operating
52 # systems out there.  :-)
53 c_model=c_std
54 c_compatibility=no
55
56
57 # TARGET-SPECIFIC OVERRIDES
58 # Set any CPU-dependent bits.
59 # Here we override defaults and catch more general cases due to naming
60 # conventions (e.g., chip_name* to catch all variants).
61 # THIS TABLE IS SORTED.  KEEP IT THAT WAY.
62
63 case "${target_cpu}" in
64   alpha*)
65     try_cpu=alpha
66     ;;
67   athlon* | i586 | i686 | i786 | x86_64)
68     try_cpu=i486
69     ;;
70   hppa*)
71     try_cpu=hppa
72     ;;
73   m680[246]0)
74     try_cpu=m68k
75     ;;
76   powerpc* | rs6000)
77     try_cpu=powerpc
78     ;;
79   s390x)
80     try_cpu=s390
81     ;;
82   sparc* | ultrasparc)
83     try_cpu=sparc
84     ;;
85   *)
86     if test -d ${glibcpp_srcdir}/config/cpu/${target_cpu}; then
87       try_cpu=${target_cpu}
88     else
89       try_cpu=generic
90     fi
91     ;;
92 esac
93
94
95 # Now look for the file(s) usually tied to a CPU model, and make
96 # default choices for those if they haven't been explicitly set
97 # already.  
98 cpu_include_dir="cpu/${try_cpu}"
99 ATOMICITYH=$cpu_include_dir
100 abi_baseline_pair=${try_cpu}-${host_os}
101
102 # Set any OS-dependent bits.
103 # Set the os_include_dir.
104 # Set c_model, c_compatibility here.
105 # If atomic ops and/or numeric limits are OS-specific rather than
106 # CPU-specifc, set those here too.
107 # THIS TABLE IS SORTED.  KEEP IT THAT WAY.
108 case "${target_os}" in
109   aix4.[3456789]* | aix[56789]*)
110     # We set os_include_dir to os/aix only on AIX 4.3 and newer, but
111     # os/aix/atomicity.h works on earlier versions of AIX 4.*, so we
112     # explicitly duplicate the directory for 4.[<3].
113     os_include_dir="os/aix"
114     ATOMICITYH="os/aix"
115     OPT_LDFLAGS="-Wl,-G"
116     ;;
117   aix4.*)
118     ATOMICITYH="os/aix"
119     ;;
120   aix*)
121     ATOMICITYH="cpu/generic"
122     ;;
123   bsd*)
124     # Plain BSD attempts to share FreeBSD files.
125     os_include_dir="os/bsd/freebsd"
126     ;;
127   cygwin*)
128     os_include_dir="os/newlib"
129     ;;
130   *djgpp*)      # leading * picks up "msdosdjgpp"
131     os_include_dir="os/djgpp"
132     ;;
133   freebsd*)
134     os_include_dir="os/bsd/freebsd"
135     ;;
136   gnu* | linux*)
137     os_include_dir="os/gnu-linux"
138     ;;
139   hpux*)
140     os_include_dir="os/hpux"
141     ;;
142   irix[1-6] | irix[1-5].* | irix6.[0-4]*)
143     # This is known to work on at least IRIX 5.2 and 6.3.
144     os_include_dir="os/irix/irix5.2"
145     ATOMICITYH=$os_include_dir
146     ;;
147   irix6.5*)
148     os_include_dir="os/irix/irix6.5"
149     ATOMICITYH=$os_include_dir
150     ;;
151   mingw32*)
152     os_include_dir="os/mingw32"
153     ;;
154   netbsd*)
155     os_include_dir="os/bsd/netbsd"
156     ;;
157   solaris2.5 | solaris2.5.[0-9])
158     os_include_dir="os/solaris/solaris2.5"
159     ;;
160   solaris2.6)
161     os_include_dir="os/solaris/solaris2.6"
162     ;;
163   solaris2.[789] | solaris2.1[0-9])
164     os_include_dir="os/solaris/solaris2.7"
165     ;;
166   windiss*)
167     os_include_dir="os/windiss"
168     ;;
169   qnx6.[12]*)
170     os_include_dir="os/qnx/qnx6.1"
171     c_model=c
172     ;;
173   *)
174     os_include_dir="os/generic"
175     ;;
176 esac
177
178
179 # Set any OS-dependent and CPU-dependent bits.
180 # THIS TABLE IS SORTED.  KEEP IT THAT WAY.
181 case "${target}" in
182   mips*-*-linux*)
183     ATOMICITYH="cpu/mips"
184     ;;
185   x86_64-*-linux*)
186     abi_baseline_pair="x86_64-linux-gnu"
187     ;;
188   alpha*-*-freebsd5*)
189     abi_baseline_pair="alpha-freebsd5"
190     ;;
191   i*86-*-freebsd4*)
192     abi_baseline_pair="i386-freebsd4"
193     ;;
194   i*86-*-freebsd5*)
195     abi_baseline_pair="i386-freebsd5"
196     ;;
197   sparc*-*-freebsd5*)
198     abi_baseline_pair="sparc-freebsd5"
199     ;;
200 esac