[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