50 lines
1.4 KiB
Plaintext
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" ]
|
|
}
|
|
}
|