From 45308cb2ead720879de03912da7de642b2986269 Mon Sep 17 00:00:00 2001 From: Maksim Levental Date: Thu, 11 Sep 2025 22:01:35 -0500 Subject: [PATCH 1/2] [MLIR] enable Standalone for Windows --- mlir/examples/standalone/CMakeLists.txt | 4 +++- mlir/examples/standalone/python/CMakeLists.txt | 4 ++++ mlir/examples/standalone/test/CMakeLists.txt | 4 +++- .../standalone/test/Standalone/standalone-pass-plugin.mlir | 1 + .../standalone/test/Standalone/standalone-plugin.mlir | 1 + mlir/test/Examples/standalone/lit.local.cfg | 4 ++++ mlir/test/Examples/standalone/test.toy | 6 +++++- mlir/test/lit.site.cfg.py.in | 4 ++++ 8 files changed, 25 insertions(+), 3 deletions(-) diff --git a/mlir/examples/standalone/CMakeLists.txt b/mlir/examples/standalone/CMakeLists.txt index 88dfa3e5d57a3..03627c0c10496 100644 --- a/mlir/examples/standalone/CMakeLists.txt +++ b/mlir/examples/standalone/CMakeLists.txt @@ -60,5 +60,7 @@ if(MLIR_ENABLE_BINDINGS_PYTHON) endif() add_subdirectory(test) add_subdirectory(standalone-opt) -add_subdirectory(standalone-plugin) +if(NOT WIN32) + add_subdirectory(standalone-plugin) +endif() add_subdirectory(standalone-translate) diff --git a/mlir/examples/standalone/python/CMakeLists.txt b/mlir/examples/standalone/python/CMakeLists.txt index a0eca9c095775..1ab27ce3b533a 100644 --- a/mlir/examples/standalone/python/CMakeLists.txt +++ b/mlir/examples/standalone/python/CMakeLists.txt @@ -26,6 +26,8 @@ declare_mlir_python_extension(StandalonePythonSources.Pybind11Extension ADD_TO_PARENT StandalonePythonSources SOURCES StandaloneExtensionPybind11.cpp + PRIVATE_LINK_LIBS + LLVMSupport EMBED_CAPI_LINK_LIBS StandaloneCAPI PYTHON_BINDINGS_LIBRARY pybind11 @@ -36,6 +38,8 @@ declare_mlir_python_extension(StandalonePythonSources.NanobindExtension ADD_TO_PARENT StandalonePythonSources SOURCES StandaloneExtensionNanobind.cpp + PRIVATE_LINK_LIBS + LLVMSupport EMBED_CAPI_LINK_LIBS StandaloneCAPI PYTHON_BINDINGS_LIBRARY nanobind diff --git a/mlir/examples/standalone/test/CMakeLists.txt b/mlir/examples/standalone/test/CMakeLists.txt index fdde159064287..8864563df8a33 100644 --- a/mlir/examples/standalone/test/CMakeLists.txt +++ b/mlir/examples/standalone/test/CMakeLists.txt @@ -14,8 +14,10 @@ set(STANDALONE_TEST_DEPENDS standalone-capi-test standalone-opt standalone-translate - StandalonePlugin ) +if(NOT WIN32) + list(APPEND STANDALONE_TEST_DEPENDS StandalonePlugin) +endif() if(MLIR_ENABLE_BINDINGS_PYTHON) list(APPEND STANDALONE_TEST_DEPENDS StandalonePythonModules) endif() diff --git a/mlir/examples/standalone/test/Standalone/standalone-pass-plugin.mlir b/mlir/examples/standalone/test/Standalone/standalone-pass-plugin.mlir index 1d652dc45830c..3020097dc1640 100644 --- a/mlir/examples/standalone/test/Standalone/standalone-pass-plugin.mlir +++ b/mlir/examples/standalone/test/Standalone/standalone-pass-plugin.mlir @@ -1,3 +1,4 @@ +// UNSUPPORTED: system-windows // RUN: mlir-opt %s --load-pass-plugin=%standalone_libs/StandalonePlugin%shlibext --pass-pipeline="builtin.module(standalone-switch-bar-foo)" | FileCheck %s module { diff --git a/mlir/examples/standalone/test/Standalone/standalone-plugin.mlir b/mlir/examples/standalone/test/Standalone/standalone-plugin.mlir index 468932b81a529..900b524c1feb7 100644 --- a/mlir/examples/standalone/test/Standalone/standalone-plugin.mlir +++ b/mlir/examples/standalone/test/Standalone/standalone-plugin.mlir @@ -1,3 +1,4 @@ +// UNSUPPORTED: system-windows // RUN: mlir-opt %s --load-dialect-plugin=%standalone_libs/StandalonePlugin%shlibext --pass-pipeline="builtin.module(standalone-switch-bar-foo)" | FileCheck %s module { diff --git a/mlir/test/Examples/standalone/lit.local.cfg b/mlir/test/Examples/standalone/lit.local.cfg index fe8397c6b9a10..ef4e743a3add8 100644 --- a/mlir/test/Examples/standalone/lit.local.cfg +++ b/mlir/test/Examples/standalone/lit.local.cfg @@ -10,3 +10,7 @@ config.substitutions.append(("%host_cc", config.host_cc)) config.substitutions.append(("%enable_libcxx", config.enable_libcxx)) config.substitutions.append(("%mlir_cmake_dir", config.mlir_cmake_dir)) config.substitutions.append(("%llvm_use_linker", config.llvm_use_linker)) +config.substitutions.append(("%cmke_exe_linker_flags", config.cmake_exe_linker_flags)) +config.substitutions.append(("%cmake_module_linker_flags", config.cmake_module_linker_flags)) +config.substitutions.append(("%cmake_shared_linker_flags", config.cmake_shared_linker_flags)) +config.substitutions.append(("%cmake_build_type", config.cmake_build_type)) diff --git a/mlir/test/Examples/standalone/test.toy b/mlir/test/Examples/standalone/test.toy index e99bab5f0affc..527c82fa85350 100644 --- a/mlir/test/Examples/standalone/test.toy +++ b/mlir/test/Examples/standalone/test.toy @@ -1,7 +1,11 @@ # RUN: "%cmake_exe" "%mlir_src_root/examples/standalone" -G "%cmake_generator" \ +# RUN: -DCMAKE_BUILD_TYPE=%cmake_build_type \ # RUN: -DCMAKE_CXX_COMPILER=%host_cxx -DCMAKE_C_COMPILER=%host_cc \ # RUN: -DLLVM_ENABLE_LIBCXX=%enable_libcxx -DMLIR_DIR=%mlir_cmake_dir \ # RUN: -DLLVM_USE_LINKER=%llvm_use_linker \ +# RUN: -DCMAKE_EXE_LINKER_FLAGS="%cmke_exe_linker_flags" \ +# RUN: -DCMAKE_MODULE_LINKER_FLAGS="%cmake_module_linker_flags" \ +# RUN: -DCMAKE_SHARED_LINKER_FLAGS="%cmake_shared_linker_flags" \ # RUN: -DPython3_EXECUTABLE=%python \ # RUN: -DPython_EXECUTABLE=%python # RUN: "%cmake_exe" --build . --target check-standalone | tee %t @@ -11,4 +15,4 @@ # if any fail. # CHECK: Passed # CHECK-NOT: Failed -# UNSUPPORTED: target={{.*(windows|android).*}} +# UNSUPPORTED: target={{.*(android).*}} diff --git a/mlir/test/lit.site.cfg.py.in b/mlir/test/lit.site.cfg.py.in index 8a742a227847b..c564a51128739 100644 --- a/mlir/test/lit.site.cfg.py.in +++ b/mlir/test/lit.site.cfg.py.in @@ -18,6 +18,10 @@ config.host_cxx = "@HOST_CXX@" config.enable_libcxx = "@LLVM_ENABLE_LIBCXX@" config.host_cmake = "@CMAKE_COMMAND@" config.host_cmake_generator = "@CMAKE_GENERATOR@" +config.cmake_build_type = "@CMAKE_BUILD_TYPE@" +config.cmake_exe_linker_flags = "@CMAKE_EXE_LINKER_FLAGS@" +config.cmake_module_linker_flags = "@CMAKE_MODULE_LINKER_FLAGS@" +config.cmake_shared_linker_flags = "@CMAKE_SHARED_LINKER_FLAGS@" config.llvm_use_linker = "@LLVM_USE_LINKER@" config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@" config.host_arch = "@HOST_ARCH@" From a18bf40af9dac35c5efafa513f5e6fd0bc17e3d0 Mon Sep 17 00:00:00 2001 From: Maksim Levental Date: Fri, 12 Sep 2025 02:05:10 -0400 Subject: [PATCH 2/2] remove linker flags --- mlir/test/Examples/standalone/lit.local.cfg | 3 --- mlir/test/Examples/standalone/test.toy | 3 --- mlir/test/lit.site.cfg.py.in | 3 --- 3 files changed, 9 deletions(-) diff --git a/mlir/test/Examples/standalone/lit.local.cfg b/mlir/test/Examples/standalone/lit.local.cfg index ef4e743a3add8..3b12dcbd99e83 100644 --- a/mlir/test/Examples/standalone/lit.local.cfg +++ b/mlir/test/Examples/standalone/lit.local.cfg @@ -10,7 +10,4 @@ config.substitutions.append(("%host_cc", config.host_cc)) config.substitutions.append(("%enable_libcxx", config.enable_libcxx)) config.substitutions.append(("%mlir_cmake_dir", config.mlir_cmake_dir)) config.substitutions.append(("%llvm_use_linker", config.llvm_use_linker)) -config.substitutions.append(("%cmke_exe_linker_flags", config.cmake_exe_linker_flags)) -config.substitutions.append(("%cmake_module_linker_flags", config.cmake_module_linker_flags)) -config.substitutions.append(("%cmake_shared_linker_flags", config.cmake_shared_linker_flags)) config.substitutions.append(("%cmake_build_type", config.cmake_build_type)) diff --git a/mlir/test/Examples/standalone/test.toy b/mlir/test/Examples/standalone/test.toy index 527c82fa85350..8b6d9dd62b76d 100644 --- a/mlir/test/Examples/standalone/test.toy +++ b/mlir/test/Examples/standalone/test.toy @@ -3,9 +3,6 @@ # RUN: -DCMAKE_CXX_COMPILER=%host_cxx -DCMAKE_C_COMPILER=%host_cc \ # RUN: -DLLVM_ENABLE_LIBCXX=%enable_libcxx -DMLIR_DIR=%mlir_cmake_dir \ # RUN: -DLLVM_USE_LINKER=%llvm_use_linker \ -# RUN: -DCMAKE_EXE_LINKER_FLAGS="%cmke_exe_linker_flags" \ -# RUN: -DCMAKE_MODULE_LINKER_FLAGS="%cmake_module_linker_flags" \ -# RUN: -DCMAKE_SHARED_LINKER_FLAGS="%cmake_shared_linker_flags" \ # RUN: -DPython3_EXECUTABLE=%python \ # RUN: -DPython_EXECUTABLE=%python # RUN: "%cmake_exe" --build . --target check-standalone | tee %t diff --git a/mlir/test/lit.site.cfg.py.in b/mlir/test/lit.site.cfg.py.in index c564a51128739..2fc595dfabbf5 100644 --- a/mlir/test/lit.site.cfg.py.in +++ b/mlir/test/lit.site.cfg.py.in @@ -19,9 +19,6 @@ config.enable_libcxx = "@LLVM_ENABLE_LIBCXX@" config.host_cmake = "@CMAKE_COMMAND@" config.host_cmake_generator = "@CMAKE_GENERATOR@" config.cmake_build_type = "@CMAKE_BUILD_TYPE@" -config.cmake_exe_linker_flags = "@CMAKE_EXE_LINKER_FLAGS@" -config.cmake_module_linker_flags = "@CMAKE_MODULE_LINKER_FLAGS@" -config.cmake_shared_linker_flags = "@CMAKE_SHARED_LINKER_FLAGS@" config.llvm_use_linker = "@LLVM_USE_LINKER@" config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@" config.host_arch = "@HOST_ARCH@"