aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/cc/gcc.txt
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-10-13 16:01:51 +0000
committerlloyd <[email protected]>2009-10-13 16:01:51 +0000
commit3bc2bb0461b1b40466821daf0061eab769621eab (patch)
treeaee53148a1a582a249c879c67c9d995ce66c8052 /src/build-data/cc/gcc.txt
parent88e03041c4c8a33a7fc3311cfca5fc398294ff08 (diff)
Rename all of the build-data files with a .txt extension, and filter for
such in configure.py. Paul Clark reported on the list having problems with it otherwise because of CVS droppings being picked up and subsequently errored on when parsing them as build info files (of course) failed.
Diffstat (limited to 'src/build-data/cc/gcc.txt')
-rw-r--r--src/build-data/cc/gcc.txt89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/build-data/cc/gcc.txt b/src/build-data/cc/gcc.txt
new file mode 100644
index 000000000..978ed6d58
--- /dev/null
+++ b/src/build-data/cc/gcc.txt
@@ -0,0 +1,89 @@
+realname "GNU C++"
+
+binary_name "g++"
+
+compiler_has_tr1 yes
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lang_flags "-D_REENTRANT -ansi -Wno-long-long"
+warning_flags "-W -Wall"
+#warning_flags "-Wextra -Wall -Wstrict-aliasing -Wstrict-overflow=5 -Wcast-align -Wmissing-declarations -Wno-unused-parameter"
+
+lib_opt_flags "-O2 -finline-functions"
+check_opt_flags "-O2"
+shared_flags "-fPIC"
+debug_flags "-g"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+# The default works for GNU ld and several other Unix linkers
+default -> "$(CXX) -shared -fPIC -Wl,-soname,$(SONAME)"
+
+# AIX doesn't seem to have soname support (weird...)
+aix -> "$(CXX) -shared -fPIC"
+
+darwin -> "$(CXX) -dynamiclib -fPIC -install_name $(SONAME)"
+hpux -> "$(CXX) -shared -fPIC -Wl,+h,$(SONAME)"
+solaris -> "$(CXX) -shared -fPIC -Wl,-h,$(SONAME)"
+# Gotta use ld directly on BeOS, their GCC is busted
+beos -> "ld -shared -h $(SONAME)"
+</so_link_flags>
+
+<mach_opt>
+# Specializations first (they don't need to be, just clearer)
+i386 -> "-mtune=i686 -momit-leaf-frame-pointer"
+r10000 -> "-mips4"
+alpha-ev67 -> "-mcpu=ev6" # FIXME: GCC 3.1 and on has -march=ev67
+alpha-ev68 -> "-mcpu=ev6"
+alpha-ev7 -> "-mcpu=ev6"
+ppc601 -> "-mpowerpc -mcpu=601"
+sparc64-ultra3 -> "-mcpu=v9 -mtune=ultrasparc3"
+
+em64t -> "-march=nocona -momit-leaf-frame-pointer"
+cellppu -> ""
+
+# Default family options (SUBMODEL is substitued with the real submodel)
+# Anything after the quotes is what should be *removed* from the submodel name
+# before it's put into SUBMODEL.
+alpha -> "-mcpu=SUBMODEL" alpha-
+amd64 -> "-march=SUBMODEL -momit-leaf-frame-pointer"
+arm -> "-mcpu=SUBMODEL"
+ia32 -> "-march=SUBMODEL -momit-leaf-frame-pointer"
+ia64 -> "-mtune=SUBMODEL"
+hppa -> "-march=SUBMODEL" hppa
+m68k -> "-mSUBMODEL"
+hitachi-sh -> "-mSUBMODEL" hitachi-sh
+sparc32 -> "-mcpu=SUBMODEL -Wa,-xarch=v8plus" sparc32-
+sparc64 -> "-mcpu=v9 -mtune=ultrasparc"
+mips32 -> "-mips1 -mcpu=SUBMODEL" mips32-
+mips64 -> "-mips3 -mcpu=SUBMODEL" mips64-
+ppc -> "-mcpu=SUBMODEL" ppc
+ppc64 -> "-mcpu=SUBMODEL" ppc
+</mach_opt>
+
+# Note that the 'linking' bit means "use this for both compiling *and* linking"
+<mach_abi_linking>
+amd64 -> "-m64"
+mips64 -> "-mabi=64"
+s390 -> "-m31"
+s390x -> "-m64"
+sparc32 -> "-m32 -mno-app-regs"
+sparc64 -> "-m64 -mno-app-regs"
+ppc64 -> "-m64"
+
+# This should probably be used on most/all targets, but the docs are incomplete
+openbsd -> "-pthread"
+freebsd -> "-pthread"
+dragonfly -> "-pthread"
+netbsd -> "-pthread -D_NETBSD_SOURCE"
+qnx -> "-fexceptions -D_QNX_SOURCE"
+</mach_abi_linking>