blob: aac3da706d1d2f74c31bd34158702227eb57f572 [file] [log] [blame]
import("//llvm/utils/unittest/unittest.gni")
# FIXME: If we add -Wl,-z,nodelete to the global ldflags, we need to remove
# it again for these tests (cf CMake).
template("dynlib_add_module") {
not_needed(invoker, "*")
loadable_module(target_name) {
# Put plugin next to the unit test executable.
# This assumes that unittest() puts tests in target_out_dir.
output_dir = target_out_dir
sources = [
"PipSqueak.cpp",
]
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" ]
}
}
}
dynlib_add_module("PipSqueak") {
}
dynlib_add_module("SecondLib") {
}
unittest("DynamicLibraryTests") {
deps = [
":PipSqueak",
":SecondLib",
"//llvm/include/llvm/Config:config",
"//llvm/lib/Support",
]
sources = [
"DynamicLibraryTest.cpp",
"ExportedFuncs.cpp",
]
if (host_os != "mac" && host_os != "win") {
# Corresponds to export_executable_symbols() in cmake.
ldflags = [ "-rdynamic" ]
}
}