| # 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 |