blob: 86f6d891cafd4dbc679aed7fd3e44bb3070fca73 [file] [log] [blame]
# configure.target
# This shell script handles all target based configuration for libstdc++.
# It sets various shell variables based on the the target and the
# configuration options. You can modify this shell script without
# needing to rerun autoconf.
# This shell script should be invoked as
# . configure.target
# If it encounters an error, it will exit with a message.
# It uses the following shell variables:
# target The configuration target
# target_cpu The configuration target CPU
# target_os The configuration target OS
# It possibly modifies the following shell variables:
# cpu_include_dir CPU-specific include directory, relative to srcdir
#
# os_include_dir OS-specific include directory, relative to srcdir
#
# c_model the model to use for "C" headers, defaults to c_std.
#
# c_compatibility if "C" compatibility headers are necessary,
# defaults to no.
# DEFAULTS
c_model=c_std
c_compatibility=no
abi_baseline_triplet=${target}
# TARGET-SPECIFIC OVERRIDES
# Set any CPU-dependent bits.
# THIS TABLE IS SORTED. KEEP IT THAT WAY.
case "${target_cpu}" in
alpha*)
cpu_include_dir="config/cpu/alpha"
;;
arm*)
cpu_include_dir="config/cpu/arm"
;;
cris)
cpu_include_dir="config/cpu/cris"
;;
ia64)
cpu_include_dir="config/cpu/ia64"
;;
i386)
cpu_include_dir="config/cpu/i386"
;;
i486 | i586 | i686 | i786)
cpu_include_dir="config/cpu/i486"
;;
m68k | m680[246]0)
cpu_include_dir="config/cpu/m68k"
;;
powerpc | rs6000)
cpu_include_dir="config/cpu/powerpc"
;;
s390 | s390x)
cpu_include_dir="config/cpu/s390"
;;
sparc* | ultrasparc)
cpu_include_dir="config/cpu/sparc"
;;
x86_64*)
cpu_include_dir="config/cpu/x86-64"
;;
*)
cpu_include_dir="config/cpu/generic"
;;
esac
# Set any OS dependent compiler flags.
# THIS TABLE IS SORTED. KEEP IT THAT WAY.
case "${target_os}" in
aix4.[3456789]* | aix[56789]*)
os_include_dir="config/os/aix"
OPT_LDFLAGS="-Wl,-G"
;;
bsd* | freebsd* )
os_include_dir="config/os/bsd/freebsd"
;;
cygwin*)
os_include_dir="config/os/newlib"
;;
*djgpp*)
os_include_dir="config/os/djgpp"
;;
linux* | gnu*)
os_include_dir="config/os/gnu-linux"
;;
irix[1-6] | irix[1-5].* | irix6.[0-4])
# This is known to work on at least IRIX 5.2 and 6.3.
os_include_dir="config/os/irix/irix5.2"
;;
irix6.5)
os_include_dir="config/os/irix/irix6.5"
;;
mingw32*)
os_include_dir="config/os/mingw32"
;;
netbsd*)
os_include_dir="config/os/bsd/netbsd"
;;
solaris2.5*)
os_include_dir="config/os/solaris/solaris2.5"
;;
solaris2.6*)
os_include_dir="config/os/solaris/solaris2.6"
;;
solaris2.7* | solaris2.8*)
os_include_dir="config/os/solaris/solaris2.7"
;;
hpux*)
os_include_dir="config/os/hpux"
;;
qnx6.[12]*)
os_include_dir="config/os/qnx/qnx6.1"
c_model=c
;;
*)
os_include_dir="config/os/generic"
;;
esac
# Set any flags dependent on the full target triplet.
# THIS TABLE IS SORTED. KEEP IT THAT WAY.
case "${target}" in
*-*-aix[456789]*)
# We set os_include_dir to config/os/aix only on AIX 4.3 and
# newer, but config/os/aix/bits/atomicity.h works on earlier
# versions of AIX 4.*, so we explicitly duplicate the directory
# here, because os_include_dir.
ATOMICITYH=config/os/aix
;;
*-*-aix*)
ATOMICITYH=config/cpu/generic
;;
*-*-irix*)
ATOMICITYH=$os_include_dir
;;
mcore-*-pe*)
# The EPOC C++ environment does not support exceptions.
if test -z "$enable_cxx_flags"; then
enable_cxx_flags="-frtti -fno-exceptions"
fi
ATOMICITYH=$cpu_include_dir
;;
*)
ATOMICITYH=$cpu_include_dir
;;
esac
# Set CPULIMITSH to the directory where the configuration-dependent
# cpu_limits.h can be found.
# THIS TABLE IS SORTED. KEEP IT THAT WAY.
case "${target}" in
*-*-hpux*)
CPULIMITSH=config/os/hpux
;;
alpha*-*-*osf5*)
CPULIMITSH=config/os/osf/osf5.0
;;
alpha*-*-*)
CPULIMITSH=config/cpu/alpha
;;
cris-*-*)
CPULIMITSH=config/cpu/cris
;;
ia64-*-*)
CPULIMITSH=config/cpu/ia64
;;
i?86-*-*)
CPULIMITSH=config/cpu/i386
;;
m68k-*-* | m680[246]0-*-*)
CPULIMITSH=config/cpu/m68k
;;
mmix-*-*)
CPULIMITSH=config/cpu/mmix
;;
powerpc-*-* | rs6000-*-*)
CPULIMITSH=config/cpu/powerpc
;;
s390-*-* | s390x-*-*)
CPULIMITSH=config/cpu/s390
;;
x86_64-*-*)
CPULIMITSH=config/cpu/x86-64
;;
*)
CPULIMITSH=config/cpu/generic
;;
esac