diff options
Diffstat (limited to 'toolchains/CC/clang.TARGETS')
-rw-r--r-- | toolchains/CC/clang.TARGETS | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/toolchains/CC/clang.TARGETS b/toolchains/CC/clang.TARGETS new file mode 100644 index 0000000..bcea8e4 --- /dev/null +++ b/toolchains/CC/clang.TARGETS @@ -0,0 +1,89 @@ +{ "defaults": + { "type": ["@", "rules", "CC", "defaults"] + , "arguments_config": ["TOOLCHAIN_CONFIG"] + , "CC": ["clang/bin/clang"] + , "CXX": ["clang/bin/clang++"] + , "AR": ["clang/bin/ar"] + , "CXXFLAGS": + { "type": "if" + , "cond": + { "type": "lookup" + , "key": "USE_LIBCXX" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + } + , "then": ["-nostdlib++", "-stdlib=libc++"] + } + , "LDFLAGS": + { "type": "if" + , "cond": + { "type": "lookup" + , "key": "STATIC_RUNLIBS" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + } + , "then": + { "type": "++" + , "$1": + [ ["-static-libgcc"] + , { "type": "if" + , "cond": + { "type": "lookup" + , "key": "USE_LIBCXX" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + } + , "then": + [ "-Wl,--push-state" + , "-Wl,-Bstatic" + , "-lc++" + , "-lc++abi" + , "-Wl,--pop-state" + , "-lpthread" + ] + , "else": ["-static-libstdc++", "-l:libstdc++.a"] + } + ] + } + } + , "deps": + { "type": "if" + , "cond": + { "type": "lookup" + , "key": "STATIC_RUNLIBS" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + } + , "then": [] + , "else": + { "type": "if" + , "cond": + { "type": "lookup" + , "key": "USE_LIBCXX" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + } + , "then": [["@", "clang", "", "runlibs_libcxx"]] + , "else": [["@", "clang", "", "runlibs"]] + } + } + , "toolchain": ["staged-clang"] + , "PATH": ["$(TOOLCHAIN)/clang/bin", "/bin"] + } +, "staged-clang": {"type": "install", "dirs": [[["", "toolchain"], "clang"]]} +} |