blob: a23d1a325f5e985c73cccd61ddee37b2634b8785 [file] [log] [blame]
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",
"COFF/COFFObjcopy.cpp",
"COFF/Object.cpp",
"COFF/Reader.cpp",
"COFF/Writer.cpp",
"CopyConfig.cpp",
"ELF/ELFObjcopy.cpp",
"ELF/Object.cpp",
"llvm-objcopy.cpp",
]
}