aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/build-data/cc')
-rw-r--r--src/build-data/cc/bcc31
-rw-r--r--src/build-data/cc/compaq29
-rw-r--r--src/build-data/cc/ekopath40
-rw-r--r--src/build-data/cc/gcc87
-rw-r--r--src/build-data/cc/hpcc32
-rw-r--r--src/build-data/cc/icc33
-rw-r--r--src/build-data/cc/kai30
-rw-r--r--src/build-data/cc/mipspro42
-rw-r--r--src/build-data/cc/msvc27
-rw-r--r--src/build-data/cc/pgi31
-rw-r--r--src/build-data/cc/sgipro6430
-rw-r--r--src/build-data/cc/sunwspro47
-rw-r--r--src/build-data/cc/xlc29
13 files changed, 488 insertions, 0 deletions
diff --git a/src/build-data/cc/bcc b/src/build-data/cc/bcc
new file mode 100644
index 000000000..df09daff0
--- /dev/null
+++ b/src/build-data/cc/bcc
@@ -0,0 +1,31 @@
+realname "Borland C++"
+
+binary_name "bcc32"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "-O2"
+check_opt_flags "-O2"
+debug_flags ""
+no_debug_flags ""
+lang_flags "-tWR -tWM -tWC"
+warning_flags "-w"
+
+dll_import_flags ""
+dll_export_flags ""
+
+ar_command "tlib /C /P256"
+
+makefile_style nmake
+
+<mach_opt>
+i486 -> "/G4"
+i586 -> "/G5"
+i686 -> "/G6"
+athlon -> "/G6"
+pentium4 -> "/G6"
+</mach_opt>
diff --git a/src/build-data/cc/compaq b/src/build-data/cc/compaq
new file mode 100644
index 000000000..66d3a5219
--- /dev/null
+++ b/src/build-data/cc/compaq
@@ -0,0 +1,29 @@
+realname "Compaq C++"
+
+binary_name "cxx"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+# -O3 and up seem to be unhappy with Botan
+lib_opt_flags "-O2"
+check_opt_flags "-O2"
+debug_flags "-g"
+no_debug_flags ""
+lang_flags "-std ansi -D__USE_STD_IOSTREAM"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+default -> "$(CXX) -shared -soname $(SONAME)"
+</so_link_flags>
+
+<mach_opt>
+alpha -> "-arch=SUBMODEL" alpha-
+</mach_opt>
diff --git a/src/build-data/cc/ekopath b/src/build-data/cc/ekopath
new file mode 100644
index 000000000..ca2471059
--- /dev/null
+++ b/src/build-data/cc/ekopath
@@ -0,0 +1,40 @@
+realname "PathScale EKOPath C++"
+
+binary_name "pathCC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "-O3 -OPT:Ofast:alias=disjoint"
+check_opt_flags "-O2"
+lang_flags "-D_REENTRANT -ansi -Wno-long-long"
+warning_flags "-W -Wall"
+
+ar_command "pathCC -ar -o"
+
+shared_flags "-fPIC"
+debug_flags "-g"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+default -> "$(CXX) -shared -fPIC -Wl,-soname,$(SONAME)"
+</so_link_flags>
+
+<mach_opt>
+athlon -> "-mcpu=athlon"
+pentium4 -> "-mcpu=pentium4"
+
+opteron -> "-mcpu=opteron"
+em64t -> "-mcpu=em64t"
+core2 -> "-mcpu=core"
+
+ia32 -> "-mcpu=anyx86"
+amd64 -> "-mcpu=athlon64"
+</mach_opt>
diff --git a/src/build-data/cc/gcc b/src/build-data/cc/gcc
new file mode 100644
index 000000000..78f78b132
--- /dev/null
+++ b/src/build-data/cc/gcc
@@ -0,0 +1,87 @@
+realname "GNU C++"
+
+binary_name "g++"
+
+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 "-Werror -Wextra -Wall -Wstrict-aliasing -Wstrict-overflow=5 -Wcast-align -Wmissing-declarations"
+
+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"
+sh -> "-mSUBMODEL" 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"
+mips32 -> "-mabi=n32"
+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"
+netbsd -> "-pthread -D_NETBSD_SOURCE"
+qnx -> "-fexceptions -D_QNX_SOURCE"
+</mach_abi_linking>
diff --git a/src/build-data/cc/hpcc b/src/build-data/cc/hpcc
new file mode 100644
index 000000000..284e92ca6
--- /dev/null
+++ b/src/build-data/cc/hpcc
@@ -0,0 +1,32 @@
+realname "HP-UX C++"
+
+binary_name "aCC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "+O2"
+check_opt_flags "+O2"
+debug_flags "-g"
+no_debug_flags ""
+lang_flags "-AA -ext +eh -z"
+warning_flags "" # +w
+shared_flags "+Z"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<mach_abi_linking>
+hppa1.0 -> "+DAportable"
+hppa1.1 -> "+DA1.1"
+hppa2.0 -> "+DA2.0W"
+</mach_abi_linking>
+
+<so_link_flags>
+default -> "$(CXX) +Z -b -Wl,+h,$(SONAME)" # Documented in cc(1), but not CC(1) (?)
+</so_link_flags>
diff --git a/src/build-data/cc/icc b/src/build-data/cc/icc
new file mode 100644
index 000000000..e1807c5a6
--- /dev/null
+++ b/src/build-data/cc/icc
@@ -0,0 +1,33 @@
+realname "Intel C++"
+
+binary_name "icpc"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "-O3 -ip -unroll"
+check_opt_flags "-O2"
+debug_flags "-g"
+no_debug_flags "-fomit-frame-pointer"
+lang_flags ""
+warning_flags "-w1"
+shared_flags "-fPIC"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<mach_opt>
+i686 -> "-march=pentium3"
+athlon -> "-march=pentium3"
+pentium4 -> "-march=pentium4"
+core2 -> "-msse3"
+</mach_opt>
+
+<so_link_flags>
+default -> "$(CXX) -fPIC -shared"
+</so_link_flags>
diff --git a/src/build-data/cc/kai b/src/build-data/cc/kai
new file mode 100644
index 000000000..8585e54e0
--- /dev/null
+++ b/src/build-data/cc/kai
@@ -0,0 +1,30 @@
+realname "KAI C++"
+
+binary_name "KCC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+ar_command "KCC -o"
+
+lib_opt_flags "+K3 --inline_auto_space_time=65 --abstract_pointer"
+check_opt_flags "+K3"
+lang_flags "-D__KAI_STRICT"
+debug_flags "-g"
+no_debug_flags ""
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+default -> "$(CXX) --soname $(SONAME)"
+</so_link_flags>
+
+<mach_abi_linking>
+all -> "--one_per"
+</mach_abi_linking>
diff --git a/src/build-data/cc/mipspro b/src/build-data/cc/mipspro
new file mode 100644
index 000000000..b75fc4fb3
--- /dev/null
+++ b/src/build-data/cc/mipspro
@@ -0,0 +1,42 @@
+realname "SGI MIPSPro C++"
+
+binary_name "CC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "-O3 -OPT:alias=TYPED"
+check_opt_flags "-O3 -OPT:alias=TYPED"
+debug_flags "-g3"
+no_debug_flags ""
+shared_flags "-KPIC"
+lang_flags "-ansi -LANG:ansi-for-init-scope=ON"
+# Disabled, because, while my code is fine, it warns about a lot of it's own
+# headers <g>
+#warning_flags "-fullwarn"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+default -> "$(CXX) -shared -Wl,-soname,$(SONAME)"
+</so_link_flags>
+
+<mach_opt>
+mips32 -> "-mips1"
+mips64 -> "-mips3"
+
+mips64-r5000 -> "-mips4 -r5000"
+mips64-r8000 -> "-mips4 -r8000"
+mips64-r10000 -> "-mips4 -r10000"
+</mach_opt>
+
+<mach_abi_linking>
+mips32 -> "-n32"
+mips64 -> "-64"
+</mach_abi_linking>
diff --git a/src/build-data/cc/msvc b/src/build-data/cc/msvc
new file mode 100644
index 000000000..68e4517f8
--- /dev/null
+++ b/src/build-data/cc/msvc
@@ -0,0 +1,27 @@
+realname "Visual C++"
+
+binary_name "cl.exe"
+
+compile_option "/nologo /c "
+output_to_option "/Fo"
+add_include_dir_option "/I"
+add_lib_dir_option "-L"
+add_lib_option ""
+
+lib_opt_flags "/O2"
+check_opt_flags "/O2"
+debug_flags "/Zi"
+no_debug_flags ""
+lang_flags "/EHsc /GR /D_CONSOLE"
+warning_flags ""
+
+dll_import_flags "__declspec(dllimport)"
+dll_export_flags "__declspec(dllexport)"
+
+ar_command "lib"
+
+makefile_style nmake
+
+<so_link_flags>
+default -> "link /DLL"
+</so_link_flags>
diff --git a/src/build-data/cc/pgi b/src/build-data/cc/pgi
new file mode 100644
index 000000000..35f466477
--- /dev/null
+++ b/src/build-data/cc/pgi
@@ -0,0 +1,31 @@
+realname "Portland Group C++"
+
+binary_name "pgCC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "-fast -Minline"
+check_opt_flags "-fast"
+shared_flags "-fPIC"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+linux -> "$(CXX) -shared -fPIC -Wl,-soname,$(SONAME)"
+solaris -> "$(CXX) -G -fPIC -Wl,-h,$(SONAME)"
+</so_link_flags>
+
+<mach_opt>
+i586 -> "-tp p5"
+i686 -> "-tp p6"
+athlon -> "-tp k7"
+pentium4 -> "-tp p6"
+ia32 -> "-tp px"
+</mach_opt>
diff --git a/src/build-data/cc/sgipro64 b/src/build-data/cc/sgipro64
new file mode 100644
index 000000000..28132ffcc
--- /dev/null
+++ b/src/build-data/cc/sgipro64
@@ -0,0 +1,30 @@
+realname "SGI Pro64"
+
+binary_name "sgiCC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "-O3 -OPT:alias=TYPED"
+check_opt_flags "-O3 -OPT:alias=TYPED"
+debug_flags "-g3"
+no_debug_flags ""
+shared_flags "-KPIC"
+lang_flags "-ansi -LANG:ansi-for-init-scope=ON"
+warning_flags "-Wall -W"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+default -> "$(CXX) -shared -Wl,-soname,$(SONAME)"
+</so_link_flags>
+
+<mach_opt>
+
+</mach_opt>
diff --git a/src/build-data/cc/sunwspro b/src/build-data/cc/sunwspro
new file mode 100644
index 000000000..e1bc0b26f
--- /dev/null
+++ b/src/build-data/cc/sunwspro
@@ -0,0 +1,47 @@
+realname "Sun Workshop Pro C++"
+
+binary_name "CC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+# The compiler supports up to -xO5, but anything higher than -xO2 causes
+# incorrect results, infinite loops, other badness. :(
+lib_opt_flags "-xO2"
+check_opt_flags "-xO2"
+debug_flags "-g"
+no_debug_flags ""
+shared_flags "-KPIC"
+warning_flags "+w"
+lang_flags "+p -D__EXTENSIONS__"
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<so_link_flags>
+default -> "$(CXX) -G -h$(SONAME)"
+</so_link_flags>
+
+<mach_opt>
+i386 -> "-xtarget=486"
+i486 -> "-xtarget=486"
+i586 -> "-xtarget=pentium"
+i686 -> "-xtarget=pentium_pro"
+pentium4 -> "-xtarget=pentium_pro"
+k6 -> "-xtarget=pentium"
+
+sparc32-v9 -> "-xchip=ultra -xarch=v8"
+
+sparc32 -> "-xchip=ultra -xarch=SUBMODEL" sparc32-
+sparc64 -> "-xchip=SUBMODEL" sparc64-
+</mach_opt>
+
+<mach_abi_linking>
+sparc64 -> "-xarch=v9"
+amd64 -> "-m64"
+</mach_abi_linking>
diff --git a/src/build-data/cc/xlc b/src/build-data/cc/xlc
new file mode 100644
index 000000000..64b888421
--- /dev/null
+++ b/src/build-data/cc/xlc
@@ -0,0 +1,29 @@
+realname "IBM XL C/C++"
+
+binary_name "xlC"
+
+compile_option "-c "
+output_to_option "-o "
+add_include_dir_option "-I"
+add_lib_dir_option "-L"
+add_lib_option "-l"
+
+lib_opt_flags "-O2"
+check_opt_flags "-O2"
+lang_flags ""
+debug_flags "-g"
+no_debug_flags ""
+
+dll_import_flags ""
+dll_export_flags ""
+
+makefile_style unix
+
+<mach_opt>
+cellppu -> "-qarch=cell"
+ppc970 -> "-qarch=ppc970"
+power4 -> "-qarch=pwr4"
+power5 -> "-qarch=pwr5"
+
+cellppu -> "-qarch=cell"
+</mach_opt>