summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2018-12-19 02:48:01 +0000
committerNico Weber <nicolasweber@gmx.de>2018-12-19 02:48:01 +0000
commit5dcd70990ed6ed057704b501c666bc0378beb8f9 (patch)
tree6785bf06e6b988b71a900e7c02b435f974ee8c4d /llvm
parent405810c2c4c53beaf0677c19c28d32a43c8b4e45 (diff)
downloadbcm5719-llvm-5dcd70990ed6ed057704b501c666bc0378beb8f9.tar.gz
bcm5719-llvm-5dcd70990ed6ed057704b501c666bc0378beb8f9.zip
[gn build] Add build file for llvm-objcopy
Needed by check-lld. This should've been part of r349486 but I messed up. Differential Revision: https://reviews.llvm.org/D55831 llvm-svn: 349598
Diffstat (limited to 'llvm')
-rw-r--r--llvm/utils/gn/secondary/BUILD.gn6
-rw-r--r--llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn57
2 files changed, 63 insertions, 0 deletions
diff --git a/llvm/utils/gn/secondary/BUILD.gn b/llvm/utils/gn/secondary/BUILD.gn
index 9f5c66014fb..38716d569a9 100644
--- a/llvm/utils/gn/secondary/BUILD.gn
+++ b/llvm/utils/gn/secondary/BUILD.gn
@@ -9,6 +9,7 @@ group("default") {
"//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 @@ group("llvm-nm") {
"//llvm/tools/llvm-nm:symlinks",
]
}
+group("llvm-objcopy") {
+ deps = [
+ "//llvm/tools/llvm-objcopy:symlinks",
+ ]
+}
group("llvm-objdump") {
deps = [
"//llvm/tools/llvm-objdump:symlinks",
diff --git a/llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn
new file mode 100644
index 00000000000..6dd48d6ef8b
--- /dev/null
+++ b/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",
+ ]
+}
OpenPOWER on IntegriCloud