[llvm] 83c0d65 - [gn build] Manually port D140588
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 28 09:37:25 PST 2023
Author: Arthur Eubanks
Date: 2023-02-28T09:37:10-08:00
New Revision: 83c0d6524805a3bc2c05273ebc5af800a2902546
URL: https://github.com/llvm/llvm-project/commit/83c0d6524805a3bc2c05273ebc5af800a2902546
DIFF: https://github.com/llvm/llvm-project/commit/83c0d6524805a3bc2c05273ebc5af800a2902546.diff
LOG: [gn build] Manually port D140588
Added:
llvm/utils/gn/secondary/llvm/unittests/Passes/PassBuilderBindings/BUILD.gn
llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/BUILD.gn
llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/DoublerPlugin/BUILD.gn
llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/TestPlugin/BUILD.gn
Modified:
llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
Removed:
llvm/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn
################################################################################
diff --git a/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
index 36c5eb994f311..f0af5ee89a9ba 100644
--- a/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
@@ -38,8 +38,8 @@ group("unittests") {
"Object:ObjectTests",
"ObjectYAML:ObjectYAMLTests",
"Option:OptionTests",
- "Passes:PassesBindingsTests",
- "Passes:PluginsTests",
+ "Passes/PassBuilderBindings:PassesBindingsTests",
+ "Passes/Plugins:PluginsTests",
"ProfileData:ProfileDataTests",
"Remarks:RemarksTests",
"Support:SupportTests",
diff --git a/llvm/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn
deleted file mode 100644
index 3e8e3842ec90b..0000000000000
--- a/llvm/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn
+++ /dev/null
@@ -1,69 +0,0 @@
-import("//third-party/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") {
- foreach(plugin,
- [
- "TestPlugin",
- "DoublerPlugin",
- ]) {
- loadable_module(plugin) {
- # Put plugin next to the unit test executable.
- output_dir = target_out_dir
-
- sources = [ "$plugin.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 += [
- ":DoublerPlugin",
- ":TestPlugin",
- ]
- }
-
- if (host_os != "mac" && host_os != "win") {
- # Corresponds to export_executable_symbols() in cmake.
- ldflags = [ "-rdynamic" ]
- }
-}
-
-unittest("PassesBindingsTests") {
- deps = [
- "//llvm/include/llvm/Config:config",
- "//llvm/lib/IR",
- "//llvm/lib/Passes",
- "//llvm/lib/Support",
- "//llvm/lib/Target:TargetsToBuild",
- "//llvm/lib/Testing/Support",
- ]
- sources = [ "PassBuilderBindingsTest.cpp" ]
-}
diff --git a/llvm/utils/gn/secondary/llvm/unittests/Passes/PassBuilderBindings/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/Passes/PassBuilderBindings/BUILD.gn
new file mode 100644
index 0000000000000..1a1a6dfe59a6c
--- /dev/null
+++ b/llvm/utils/gn/secondary/llvm/unittests/Passes/PassBuilderBindings/BUILD.gn
@@ -0,0 +1,12 @@
+import("//third-party/unittest/unittest.gni")
+unittest("PassesBindingsTests") {
+ deps = [
+ "//llvm/include/llvm/Config:config",
+ "//llvm/lib/IR",
+ "//llvm/lib/Passes",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target:TargetsToBuild",
+ "//llvm/lib/Testing/Support",
+ ]
+ sources = [ "PassBuilderBindingsTest.cpp" ]
+}
diff --git a/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/BUILD.gn
new file mode 100644
index 0000000000000..c6567e1a53c46
--- /dev/null
+++ b/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/BUILD.gn
@@ -0,0 +1,26 @@
+import("//third-party/unittest/unittest.gni")
+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 += [
+ "DoublerPlugin",
+ "TestPlugin",
+ ]
+ }
+
+ if (host_os != "mac" && host_os != "win") {
+ # Corresponds to export_executable_symbols() in cmake.
+ ldflags = [ "-rdynamic" ]
+ }
+}
diff --git a/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/DoublerPlugin/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/DoublerPlugin/BUILD.gn
new file mode 100644
index 0000000000000..fcf13b4426df1
--- /dev/null
+++ b/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/DoublerPlugin/BUILD.gn
@@ -0,0 +1,21 @@
+# Keyed off LLVM_ENABLE_PLUGINS in the CMake build, which is usually false
+# on Windows and true elsewhere.
+loadable_module("DoublerPlugin") {
+ # Put plugin next to the unit test executable.
+ output_dir = "$target_out_dir/.."
+
+ sources = [ "DoublerPlugin.cpp" ]
+
+ deps = [
+ # DoublerPlugin 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" ]
+ }
+}
diff --git a/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/TestPlugin/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/TestPlugin/BUILD.gn
new file mode 100644
index 0000000000000..d6580d474f752
--- /dev/null
+++ b/llvm/utils/gn/secondary/llvm/unittests/Passes/Plugins/TestPlugin/BUILD.gn
@@ -0,0 +1,21 @@
+# Keyed off LLVM_ENABLE_PLUGINS in the CMake build, which is usually false
+# on Windows and true elsewhere.
+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" ]
+ }
+}
More information about the llvm-commits
mailing list