1 import("//llvm/utils/gn/build/symlink_or_copy.gni")
2 import("//llvm/utils/gn/build/write_cmake_config.gni")
3 import("//llvm/version.gni")
6 # target_name, symlink_target pairs: GN doesn't support '+' in rule names.
20 foreach(target, symlinks) {
21 symlink_or_copy(target[0]) {
26 output = "$root_out_dir/bin/${target[1]}"
30 # //:clang depends on this symlink target, see comment in //BUILD.gn.
33 foreach(target, symlinks) {
34 deps += [ ":${target[0]}" ]
38 if (host_os == "mac") {
39 write_cmake_config("write_info_plist") {
40 input = "Info.plist.in"
41 output = "$target_gen_dir/Info.plist"
43 "TOOL_INFO_BUILD_VERSION=$llvm_version_major.$llvm_version_minor",
44 "TOOL_INFO_NAME=clang",
45 "TOOL_INFO_UTI=org.llvm.clang",
46 "TOOL_INFO_VERSION=$llvm_version",
52 configs += [ "//llvm/utils/gn/build:clang_code" ]
54 "//clang/include/clang/Config",
56 "//clang/lib/CodeGen",
58 "//clang/lib/Frontend",
59 "//clang/lib/FrontendTool",
60 "//clang/lib/Headers",
61 "//clang/tools/clang-offload-bundler",
62 "//clang/tools/clang-offload-wrapper",
63 "//llvm/include/llvm/Config:llvm-config",
64 "//llvm/lib/Analysis",
68 "//llvm/lib/MC/MCParser",
71 "//llvm/lib/Target:TargetsToBuild",
72 "//llvm/lib/Transforms/IPO",
73 "//llvm/lib/Transforms/InstCombine",
74 "//llvm/lib/Transforms/Instrumentation",
75 "//llvm/lib/Transforms/ObjCARC",
76 "//llvm/lib/Transforms/Scalar",
77 "//llvm/lib/Transforms/Utils",
78 "//llvm/lib/Transforms/Vectorize",
80 if (host_os == "mac") {
81 deps += [ ":write_info_plist" ]
82 plist = get_target_outputs(":write_info_plist")
83 ldflags = [ "-Wl,-sectcreate,__TEXT,__info_plist," +
84 rebase_path(plist[0], root_out_dir) ]
89 "cc1gen_reproducer_main.cpp",