configure.target   [plain text]


# 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


# Set any CPU dependent compiler flags.
# 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"
    ;;
  sparc64 | ultrasparc)
    cpu_include_dir="config/cpu/sparc/sparc64"
    ;;
  sparc*)
    cpu_include_dir="config/cpu/sparc/sparc32"
    ;;
  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"
    ;;
  # APPLE LOCAL darwin native
  darwin* )
    os_include_dir="config/os/bsd/darwin"
    enable_cxx_flags="-DAPPLE_KEYMGR $enable_cxx_flags"
    ;;
  *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"
    ;;
  *)
    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
     ;;
   powerpc-*-*)
     CPULIMITSH=config/cpu/powerpc
     ;;
   s390-*-* | s390x-*-*)
     CPULIMITSH=config/cpu/s390
     ;;
   x86_64-*-*)
     CPULIMITSH=config/cpu/x86-64
     ;;
   *)
     CPULIMITSH=config/cpu/generic
     ;;
esac