# atomic_word_dir location of atomic_word.h
# defaults to generic.
#
+# cpu_defines_dir location of cpu_defines.h
+# defaults to generic.
+#
# It possibly modifies the following variables:
#
# OPT_LDFLAGS extra flags to pass when linking the library, of
c_model=c_std
c_compatibility=no
atomic_word_dir=cpu/generic
+cpu_defines_dir=cpu/generic
# HOST-SPECIFIC OVERRIDES
# Set any CPU-dependent bits.
;;
esac
+# Set specific CPU overrides for cpu_defines_dir. Most can just use generic.
+# THIS TABLE IS SORTED. KEEP IT THAT WAY.
+case "${host_cpu}" in
+ powerpc* | rs6000)
+ cpu_defines_dir=cpu/powerpc
+ ;;
+esac
+
# Now look for the file(s) usually tied to a CPU model, and make
# default choices for those if they haven't been explicitly set
# already.
# explicitly duplicate the directory for 4.[<3].
os_include_dir="os/aix"
atomicity_dir="os/aix"
+ atomic_word_dir="os/aix"
OPT_LDFLAGS="-Wl,-G"
;;
aix4.*)
os_include_dir="os/generic"
atomicity_dir="os/aix"
+ atomic_word_dir="os/aix"
;;
aix*)
os_include_dir="os/generic"
cygwin*)
os_include_dir="os/newlib"
;;
+ darwin | darwin[1-7] | darwin[1-7].*)
+ # On Darwin, performance is improved if libstdc++ is single-module.
+ # Up to at least 10.3.7, -flat_namespace is required for proper
+ # treatment of coalesced symbols.
+ OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module -Wl,-flat_namespace"
+ os_include_dir="os/bsd/darwin"
+ ;;
+ darwin[89] | darwin[89].* | darwin[1-9][0-9]* )
+ # On Darwin, performance is improved if libstdc++ is single-module,
+ # and on 8+ compatibility is better if not -flat_namespace.
+ OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module"
+ os_include_dir="os/bsd/darwin"
+ ;;
*djgpp*) # leading * picks up "msdosdjgpp"
os_include_dir="os/djgpp"
;;
abi_baseline_pair="mips-linux-gnu"
cpu_include_dir="cpu/mips"
;;
+ powerpc*-*-darwin*)
+ port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
+ ;;
+ powerpc64-*-linux*)
+ abi_baseline_pair="powerpc64-linux-gnu"
+ ;;
s390-*-linux*)
abi_baseline_pair="s390-linux-gnu"
;;