summaryrefslogtreecommitdiffstats
path: root/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2018-12-22 03:49:44 +0000
committerNico Weber <nicolasweber@gmx.de>2018-12-22 03:49:44 +0000
commit6399c5a3ba72d4e7c9cd5a2238e71eddaf9695ea (patch)
tree5384f6a96944799d14d6e52a1d335884a547ba42 /llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
parent7dca9bbef7c0ea42b4f163a100fac628aaedca68 (diff)
downloadbcm5719-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/driver/BUILD.gn')
-rw-r--r--llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn72
1 files changed, 72 insertions, 0 deletions
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.
+}
OpenPOWER on IntegriCloud