Page MenuHomePhabricator

D55984.id179237.diff
No OneTemporary

File Metadata

Created
Wed, Feb 26, 9:20 AM

D55984.id179237.diff

Index: llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
===================================================================
--- llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
+++ llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
@@ -1,4 +1,5 @@
import("//llvm/utils/gn/build/symlink_or_copy.gni")
+import("//llvm/version.gni")
symlinks = [
# target_name, symlink_target pairs: GN doesn't support '+' in rule names.
@@ -33,6 +34,29 @@
}
}
+if (host_os == "mac") {
+ action("write_info_plist") {
+ script = "//llvm/utils/gn/build/write_cmake_config.py"
+ sources = [
+ "Info.plist.in",
+ ]
+ outputs = [
+ "$target_gen_dir/Info.plist",
+ ]
+
+ args = [
+ "-o",
+ rebase_path(outputs[0], root_out_dir),
+ rebase_path(sources[0], root_out_dir),
+
+ "TOOL_INFO_BUILD_VERSION=$llvm_version_major.$llvm_version_minor",
+ "TOOL_INFO_NAME=clang",
+ "TOOL_INFO_UTI=org.llvm.clang",
+ "TOOL_INFO_VERSION=$llvm_version",
+ ]
+ }
+}
+
executable("clang") {
configs += [ "//llvm/utils/gn/build:clang_code" ]
deps = [
@@ -61,12 +85,16 @@
"//llvm/lib/Transforms/Utils",
"//llvm/lib/Transforms/Vectorize",
]
+ if (host_os == "mac") {
+ deps += [ ":write_info_plist" ]
+ plist = get_target_outputs(":write_info_plist")
+ ldflags = [ "-Wl,-sectcreate,__TEXT,__info_plist," +
+ rebase_path(plist[0], root_out_dir) ]
+ }
sources = [
"cc1_main.cpp",
"cc1as_main.cpp",
"cc1gen_reproducer_main.cpp",
"driver.cpp",
]
-
- # FIXME: Info.plist embedding for mac builds.
}

Event Timeline