[PATCH] D55831: [gn build] Add build file for llvm-objcopy

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 18 09:00:28 PST 2018


thakis created this revision.
thakis added reviewers: phosek, hans.
Herald added subscribers: rupprecht, jakehehrlich.
Herald added a reviewer: alexshap.

Needed by check-lld.

This should've been part of r349486 but I messed up.


https://reviews.llvm.org/D55831

Files:
  llvm/utils/gn/secondary/BUILD.gn
  llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn


Index: llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn
===================================================================
--- /dev/null
+++ llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn
@@ -0,0 +1,57 @@
+import("//llvm/tools/binutils_symlinks.gni")
+import("//llvm/utils/TableGen/tablegen.gni")
+import("//llvm/utils/gn/build/symlink_or_copy.gni")
+
+tablegen("ObjcopyOpts") {
+  visibility = [ ":llvm-objcopy" ]
+  args = [ "-gen-opt-parser-defs" ]
+}
+
+tablegen("StripOpts") {
+  visibility = [ ":llvm-objcopy" ]
+  args = [ "-gen-opt-parser-defs" ]
+}
+
+symlinks = [ "llvm-strip" ]
+if (llvm_install_binutils_symlinks) {
+  symlinks += [
+    "objcopy",
+    "strip",
+  ]
+}
+foreach(target, symlinks) {
+  symlink_or_copy(target) {
+    deps = [
+      ":llvm-objcopy",
+    ]
+    source = "llvm-objcopy"
+    output = "$root_out_dir/bin/$target"
+  }
+}
+
+# //:llvm-objcopy depends on this symlink target, see comment in //BUILD.gn.
+group("symlinks") {
+  deps = []
+  foreach(target, symlinks) {
+    deps += [ ":$target" ]
+  }
+}
+
+executable("llvm-objcopy") {
+  deps = [
+    ":ObjcopyOpts",
+    ":StripOpts",
+    "//llvm/lib/MC",
+    "//llvm/lib/Object",
+    "//llvm/lib/Option",
+    "//llvm/lib/Support",
+  ]
+  include_dirs = [ "." ]
+  sources = [
+    "Buffer.cpp",
+    "CopyConfig.cpp",
+    "ELF/ELFObjcopy.cpp",
+    "ELF/Object.cpp",
+    "llvm-objcopy.cpp",
+  ]
+}
Index: llvm/utils/gn/secondary/BUILD.gn
===================================================================
--- llvm/utils/gn/secondary/BUILD.gn
+++ llvm/utils/gn/secondary/BUILD.gn
@@ -9,6 +9,7 @@
     "//llvm/tools/llvm-dwarfdump",
     "//llvm/tools/llvm-mc",
     "//llvm/tools/llvm-nm:symlinks",
+    "//llvm/tools/llvm-objcopy:symlinks",
     "//llvm/tools/llvm-objdump:symlinks",
     "//llvm/tools/llvm-pdbutil",
     "//llvm/tools/llvm-readobj:symlinks",
@@ -59,6 +60,11 @@
     "//llvm/tools/llvm-nm:symlinks",
   ]
 }
+group("llvm-objcopy") {
+  deps = [
+    "//llvm/tools/llvm-objcopy:symlinks",
+  ]
+}
 group("llvm-objdump") {
   deps = [
     "//llvm/tools/llvm-objdump:symlinks",


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55831.178695.patch
Type: text/x-patch
Size: 2118 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181218/0824441c/attachment.bin>


More information about the llvm-commits mailing list