[llvm] r350409 - [gn build] Add build file for libLTO.dylib

Nico Weber via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 4 09:12:25 PST 2019


Author: nico
Date: Fri Jan  4 09:12:25 2019
New Revision: 350409

URL: http://llvm.org/viewvc/llvm-project?rev=350409&view=rev
Log:
[gn build] Add build file for libLTO.dylib

Not used by anything yet, but will be needed to make check-llvm run ld64's libLTO plugin tests.

Differential Revision: https://reviews.llvm.org/D56317

Added:
    llvm/trunk/utils/gn/secondary/llvm/tools/lto/
    llvm/trunk/utils/gn/secondary/llvm/tools/lto/BUILD.gn
Modified:
    llvm/trunk/utils/gn/secondary/clang/tools/libclang/BUILD.gn

Modified: llvm/trunk/utils/gn/secondary/clang/tools/libclang/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/clang/tools/libclang/BUILD.gn?rev=350409&r1=350408&r2=350409&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/clang/tools/libclang/BUILD.gn (original)
+++ llvm/trunk/utils/gn/secondary/clang/tools/libclang/BUILD.gn Fri Jan  4 09:12:25 2019
@@ -6,7 +6,7 @@ import("//llvm/version.gni")
 # - linking in clangTidyPlugin and clangIncludeFixerPlugin from
 #   clang-tools-extra (which doesn't have any GN build files yet)
 # - using libclang.exports
-# - an build target copying the Python bindings
+# - a build target copying the Python bindings
 # - the GN linux build always builds without -fPIC (as if LLVM_ENABLE_PIC=OFF
 #   in the CMake build), so libclang is always a static library on linux
 # - the GN build doesn't have LIBCLANG_BUILD_STATIC
@@ -78,7 +78,12 @@ target(libclang_target_type, "libclang")
     ldflags = [
       "-Wl,-compatibility_version,1",
       "-Wl,-current_version,$llvm_version",
+
+      # See llvm_setup_rpath() in CMake.
       "-Wl,-install_name, at rpath/libclang.dylib",
+      "-Wl,-rpath, at loader_path/../lib",
     ]
   }
+
+  # FIXME: Use libclang.exports
 }

Added: llvm/trunk/utils/gn/secondary/llvm/tools/lto/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/tools/lto/BUILD.gn?rev=350409&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/tools/lto/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/tools/lto/BUILD.gn Fri Jan  4 09:12:25 2019
@@ -0,0 +1,39 @@
+import("//llvm/version.gni")
+
+lto_target_type = "loadable_module"
+if (host_os == "linux") {
+  # Linux needs -fPIC to build shared libs but they aren't on by default.
+  # For now, make libclang a static lib there.
+  lto_target_type = "static_library"
+}
+
+target(lto_target_type, "lto") {
+  output_name = "libLTO"
+  deps = [
+    "//llvm/lib/Bitcode/Reader",
+    "//llvm/lib/IR",
+    "//llvm/lib/LTO",
+    "//llvm/lib/MC",
+    "//llvm/lib/MC/MCDisassembler",
+    "//llvm/lib/Support",
+    "//llvm/lib/Target",
+    "//llvm/lib/Target:TargetsToBuild",
+  ]
+  sources = [
+    "LTODisassembler.cpp",
+    "lto.cpp",
+  ]
+
+  if (host_os == "mac") {
+    ldflags = [
+      "-Wl,-compatibility_version,1",
+      "-Wl,-current_version,$llvm_version",
+
+      # See llvm_setup_rpath() in CMake.
+      "-Wl,-install_name, at rpath/libLTO.dylib",
+      "-Wl,-rpath, at loader_path/../lib",
+    ]
+  }
+
+  # FIXME: Use lto.exports
+}




More information about the llvm-commits mailing list