llvm-for-llvmta/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn

50 lines
1.4 KiB
Plaintext

import("//llvm/utils/unittest/unittest.gni")
# Keyed off LLVM_ENABLE_PLUGINS in the CMake build, which is usually false
# on Windows and true elsewhere.
if (host_os != "win") {
loadable_module("TestPlugin") {
# Put plugin next to the unit test executable.
output_dir = target_out_dir
sources = [ "TestPlugin.cpp" ]
deps = [
# TestPlugin doesn't want to link in any LLVM code, it just needs its
# headers.
"//llvm/include/llvm/IR:public_tablegen",
]
if (host_os != "mac" && host_os != "win") {
# The GN build currently doesn't globally pass -fPIC, but that's
# needed for building .so files on ELF. Just pass it manually
# for loadable_modules for now.
cflags = [ "-fPIC" ]
}
}
}
unittest("PluginsTests") {
deps = [
"//llvm/include/llvm/Config:config",
"//llvm/lib/IR",
"//llvm/lib/Passes",
"//llvm/lib/Support",
"//llvm/lib/Testing/Support",
]
sources = [ "PluginsTest.cpp" ]
# If plugins are disabled, this test will disable itself at runtime.
# Otherwise, reconfiguring with plugins disabled will leave behind a stale
# executable.
if (host_os != "win") {
deps += [ ":TestPlugin" ]
defines = [ "LLVM_ENABLE_PLUGINS" ]
}
if (host_os != "mac" && host_os != "win") {
# Corresponds to export_executable_symbols() in cmake.
ldflags = [ "-rdynamic" ]
}
}