aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/cc/clang.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/build-data/cc/clang.txt')
-rw-r--r--src/build-data/cc/clang.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/build-data/cc/clang.txt b/src/build-data/cc/clang.txt
new file mode 100644
index 000000000..480794faf
--- /dev/null
+++ b/src/build-data/cc/clang.txt
@@ -0,0 +1,46 @@
+realname "Clang/LLVM"
+
+# Largely copied from the gcc config
+
+macro_name "CLANG"
+
+binary_name clang
+
+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"
+
+makefile_style unix
+
+lib_opt_flags "-O2"
+check_opt_flags "-O2"
+shared_flags "-fPIC"
+debug_flags "-g"
+no_debug_flags "-finline-functions"
+
+<so_link_flags>
+# The default works for GNU ld and several other Unix linkers
+default -> "$(CXX) -shared -fPIC -Wl,-soname,$(SONAME)"
+</so_link_flags>
+
+<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>