diff options
author | Nico Weber <nicolasweber@gmx.de> | 2018-12-22 03:49:44 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2018-12-22 03:49:44 +0000 |
commit | 6399c5a3ba72d4e7c9cd5a2238e71eddaf9695ea (patch) | |
tree | 5384f6a96944799d14d6e52a1d335884a547ba42 /llvm/utils/gn/secondary/clang/tools | |
parent | 7dca9bbef7c0ea42b4f163a100fac628aaedca68 (diff) | |
download | bcm5719-llvm-6399c5a3ba72d4e7c9cd5a2238e71eddaf9695ea.tar.gz bcm5719-llvm-6399c5a3ba72d4e7c9cd5a2238e71eddaf9695ea.zip |
[gn build] Add build files for clang, clang-offload-bundler, and clang/lib/Headers
With this, the GN build can build clang!
Differential Revision: https://reviews.llvm.org/D55981
llvm-svn: 349991
Diffstat (limited to 'llvm/utils/gn/secondary/clang/tools')
-rw-r--r-- | llvm/utils/gn/secondary/clang/tools/clang-offload-bundler/BUILD.gn | 13 | ||||
-rw-r--r-- | llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn | 72 |
2 files changed, 85 insertions, 0 deletions
diff --git a/llvm/utils/gn/secondary/clang/tools/clang-offload-bundler/BUILD.gn b/llvm/utils/gn/secondary/clang/tools/clang-offload-bundler/BUILD.gn new file mode 100644 index 00000000000..4335087b53d --- /dev/null +++ b/llvm/utils/gn/secondary/clang/tools/clang-offload-bundler/BUILD.gn @@ -0,0 +1,13 @@ +executable("clang-offload-bundler") { + configs += [ "//llvm/utils/gn/build:clang_code" ] + deps = [ + "//clang/lib/Basic", + "//llvm/lib/Bitcode/Writer", + "//llvm/lib/IR", + "//llvm/lib/Object", + "//llvm/lib/Support", + ] + sources = [ + "ClangOffloadBundler.cpp", + ] +} diff --git a/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn b/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn new file mode 100644 index 00000000000..88ac99319e0 --- /dev/null +++ b/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn @@ -0,0 +1,72 @@ +import("//llvm/utils/gn/build/symlink_or_copy.gni") + +symlinks = [ + # target_name, symlink_target pairs: GN doesn't support '+' in rule names. + [ + "clangxx", + "clang++", + ], + [ + "clang-cl", + "clang-cl", + ], + [ + "clang-cpp", + "clang-cpp", + ], +] +foreach(target, symlinks) { + symlink_or_copy(target[0]) { + deps = [ + ":clang", + ] + source = "clang" + output = "$root_out_dir/bin/${target[1]}" + } +} + +# //:clang depends on this symlink target, see comment in //BUILD.gn. +group("symlinks") { + deps = [] + foreach(target, symlinks) { + deps += [ ":${target[0]}" ] + } +} + +executable("clang") { + configs += [ "//llvm/utils/gn/build:clang_code" ] + deps = [ + "//clang/include/clang/Config", + "//clang/lib/Basic", + "//clang/lib/CodeGen", + "//clang/lib/Driver", + "//clang/lib/Frontend", + "//clang/lib/FrontendTool", + "//clang/lib/Headers", + "//clang/tools/clang-offload-bundler", + "//llvm/include/llvm/Config:llvm-config", + "//llvm/lib/Analysis", + "//llvm/lib/CodeGen", + "//llvm/lib/IR", + "//llvm/lib/MC", + "//llvm/lib/MC/MCParser", + "//llvm/lib/Option", + "//llvm/lib/Support", + "//llvm/lib/Target:TargetsToBuild", + "//llvm/lib/Transforms/IPO", + "//llvm/lib/Transforms/InstCombine", + "//llvm/lib/Transforms/Instrumentation", + "//llvm/lib/Transforms/ObjCARC", + "//llvm/lib/Transforms/Scalar", + "//llvm/lib/Transforms/Utils", + "//llvm/lib/Transforms/Vectorize", + ] + sources = [ + "cc1_main.cpp", + "cc1as_main.cpp", + "cc1gen_reproducer_main.cpp", + "driver.cpp", + ] + + # FIXME: Info.plist embedding for mac builds. +} |