Skip to content

Conversation

makslevental
Copy link
Contributor

@makslevental makslevental commented Sep 24, 2025

Reverts #160388 because it broke mlir-nvidia builder.

@llvmbot llvmbot added the mlir label Sep 24, 2025
@llvmbot
Copy link
Member

llvmbot commented Sep 24, 2025

@llvm/pr-subscribers-mlir

Author: Maksim Levental (makslevental)

Changes

Reverts llvm/llvm-project#160388


Full diff: https://github.com/llvm/llvm-project/pull/160481.diff

5 Files Affected:

  • (modified) mlir/examples/standalone/CMakeLists.txt (+2-6)
  • (removed) mlir/examples/standalone/pyproject.toml (-65)
  • (modified) mlir/test/Examples/standalone/lit.local.cfg (-5)
  • (removed) mlir/test/Examples/standalone/test.wheel.toy (-31)
  • (modified) mlir/test/lit.site.cfg.py.in (-2)
diff --git a/mlir/examples/standalone/CMakeLists.txt b/mlir/examples/standalone/CMakeLists.txt
index c6c49fde12d2e..e2bcda7fa6f0b 100644
--- a/mlir/examples/standalone/CMakeLists.txt
+++ b/mlir/examples/standalone/CMakeLists.txt
@@ -63,12 +63,8 @@ if(MLIR_ENABLE_BINDINGS_PYTHON)
   include(MLIRDetectPythonEnv)
   mlir_configure_python_dev_packages()
   # Note: for EXTERNAL_PROJECT_BUILD this must be set from the command line.
-  if(NOT MLIR_PYTHON_PACKAGE_PREFIX)
-    set(MLIR_PYTHON_PACKAGE_PREFIX "mlir_standalone" CACHE STRING "" FORCE)
-  endif()
-  if(NOT MLIR_BINDINGS_PYTHON_INSTALL_PREFIX)
-    set(MLIR_BINDINGS_PYTHON_INSTALL_PREFIX "python_packages/standalone/${MLIR_PYTHON_PACKAGE_PREFIX}" CACHE STRING "" FORCE)
-  endif()
+  set(MLIR_PYTHON_PACKAGE_PREFIX "mlir_standalone" CACHE STRING "" FORCE)
+  set(MLIR_BINDINGS_PYTHON_INSTALL_PREFIX "python_packages/standalone/${MLIR_PYTHON_PACKAGE_PREFIX}" CACHE STRING "" FORCE)
   add_subdirectory(python)
 endif()
 add_subdirectory(test)
diff --git a/mlir/examples/standalone/pyproject.toml b/mlir/examples/standalone/pyproject.toml
deleted file mode 100644
index 5a1e6e86513c3..0000000000000
--- a/mlir/examples/standalone/pyproject.toml
+++ /dev/null
@@ -1,65 +0,0 @@
-# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-# Copyright (c) 2025.
-
-[project]
-name = "standalone-python-bindings"
-dynamic = ["version"]
-requires-python = ">=3.8,<=3.14"
-dependencies = [
-    "numpy>=1.19.5, <=2.1.2",
-    "PyYAML>=5.4.0, <=6.0.1",
-    "ml_dtypes>=0.1.0, <=0.6.0; python_version<'3.13'",
-    "ml_dtypes>=0.5.0, <=0.6.0; python_version>='3.13'",
-]
-
-[project.urls]
-Homepage = "https://github.com/llvm/llvm-project"
-Discussions = "https://discourse.llvm.org/"
-"Issue Tracker" = "https://github.com/llvm/llvm-project/issues?q=is%3Aissue%20state%3Aopen%20label%3Amlir%3Apython%20"
-"Source Code" = "https://github.com/llvm/llvm-project/tree/main/mlir/python"
-
-[build-system]
-requires = [
-    "scikit-build-core>=0.10.7",
-    "typing_extensions>=4.12.2",
-    "nanobind>=2.9, <3.0",
-    "pybind11>=2.10.0, <=2.13.6",
-]
-build-backend = "scikit_build_core.build"
-
-[tool.scikit-build]
-# This is the minimum version of scikit-build-core.
-minimum-version = "0.10.7"
-# This pyproject.toml must be adjacent to the root CMakeLists.txt (wherever project(...) is specified).
-cmake.source-dir = "."
-# This is for installing/distributing the python bindings target and only the python bindings target.
-build.targets = ["StandalonePythonModules"]
-install.components = ["StandalonePythonModules"]
-
-[tool.scikit-build.cmake.define]
-# Optional
-CMAKE_C_COMPILER = { env = "CMAKE_C_COMPILER", default = "" }
-CMAKE_CXX_COMPILER = { env = "CMAKE_CXX_COMPILER", default = "" }
-CMAKE_C_COMPILER_LAUNCHER = { env = "CMAKE_C_COMPILER_LAUNCHER", default = "" }
-CMAKE_CXX_COMPILER_LAUNCHER = { env = "CMAKE_CXX_COMPILER_LAUNCHER", default = "" }
-CMAKE_GENERATOR = { env = "CMAKE_GENERATOR", default = "Ninja" }
-LLVM_USE_LINKER = { env = "LLVM_USE_LINKER", default = "" }
-# Optional but highly recommended (this makes the bindings compatible with other bindings packages
-# by preventing symbol collisions).
-CMAKE_VISIBILITY_INLINES_HIDDEN = "ON"
-CMAKE_C_VISIBILITY_PRESET = "hidden"
-CMAKE_CXX_VISIBILITY_PRESET = "hidden"
-
-# Non-optional (alternatively you could use CMAKE_PREFIX_PATH here).
-MLIR_DIR = { env = "MLIR_DIR", default = "" }
-# Non-optional
-CMAKE_BUILD_TYPE = { env = "CMAKE_BUILD_TYPE", default = "Release" }
-MLIR_ENABLE_BINDINGS_PYTHON = "ON"
-# Effectively non-optional (any downstream project should specify this).
-MLIR_PYTHON_PACKAGE_PREFIX = "mlir_standalone"
-# This specifies the directory in the install directory (i.e., /tmp/pip-wheel/platlib) where _mlir_libs, dialects, etc.
-# are installed. Thus, this will be the package location (and the name of the package) that pip assumes is
-# the root package.
-MLIR_BINDINGS_PYTHON_INSTALL_PREFIX = "mlir_standalone"
diff --git a/mlir/test/Examples/standalone/lit.local.cfg b/mlir/test/Examples/standalone/lit.local.cfg
index a566208b47bc1..3b12dcbd99e83 100644
--- a/mlir/test/Examples/standalone/lit.local.cfg
+++ b/mlir/test/Examples/standalone/lit.local.cfg
@@ -1,5 +1,3 @@
-import os
-
 # Disable with sanitizers for now, this require some more setup apparently.
 for san in ["asan", "msan", "ubsan"]:
     if san in config.available_features:
@@ -9,10 +7,7 @@ config.substitutions.append(("%cmake_exe", config.host_cmake))
 config.substitutions.append(("%cmake_generator", config.host_cmake_generator))
 config.substitutions.append(("%host_cxx", config.host_cxx))
 config.substitutions.append(("%host_cc", config.host_cc))
-config.substitutions.append(("%hostc_compiler_launcher", config.host_c_compiler_launcher))
-config.substitutions.append(("%hostcxx_compiler_launcher", config.host_cxx_compiler_launcher))
 config.substitutions.append(("%enable_libcxx", config.enable_libcxx))
 config.substitutions.append(("%mlir_cmake_dir", config.mlir_cmake_dir))
-config.substitutions.append(("%mlir_obj_root", config.mlir_obj_root))
 config.substitutions.append(("%llvm_use_linker", config.llvm_use_linker))
 config.substitutions.append(("%cmake_build_type", config.cmake_build_type))
diff --git a/mlir/test/Examples/standalone/test.wheel.toy b/mlir/test/Examples/standalone/test.wheel.toy
deleted file mode 100644
index 1a439d5689939..0000000000000
--- a/mlir/test/Examples/standalone/test.wheel.toy
+++ /dev/null
@@ -1,31 +0,0 @@
-# There's no real issue with windows here, it's just that some CMake generated paths for targets end up being longer
-# than 255 chars when combined with the fact that pip wants to install into a tmp directory buried under
-# C/Users/ContainerAdministrator/AppData/Local/Temp.
-# UNSUPPORTED: target={{.*(windows).*}}
-
-# RUN: export CMAKE_BUILD_TYPE=%cmake_build_type
-# RUN: export CMAKE_CXX_COMPILER=%host_cxx
-# RUN: export CMAKE_CXX_COMPILER_LAUNCHER=%hostcxx_compiler_launcher
-# RUN: export CMAKE_C_COMPILER=%host_cc
-# RUN: export CMAKE_C_COMPILER_LAUNCHER=%hostc_compiler_launcher
-# RUN: export CMAKE_GENERATOR=%cmake_generator
-# RUN: export LLVM_USE_LINKER=%llvm_use_linker
-# RUN: export MLIR_DIR="%mlir_cmake_dir"
-
-# RUN: %python -m pip wheel "%mlir_src_root/examples/standalone" -w "%mlir_obj_root/wheelhouse" -v | tee %t
-
-# RUN: rm -rf "%mlir_obj_root/standalone-python-bindings-install"
-# RUN: %python -m pip install standalone_python_bindings -f "%mlir_obj_root/wheelhouse" --target "%mlir_obj_root/standalone-python-bindings-install" -v | tee -a %t
-
-# RUN: export PYTHONPATH="%mlir_obj_root/standalone-python-bindings-install"
-# RUN: %python "%mlir_src_root/examples/standalone/test/python/smoketest.py" nanobind | tee -a %t
-
-# RUN: FileCheck --input-file=%t %s
-
-# CHECK: Successfully built standalone-python-bindings
-
-# CHECK: module {
-# CHECK:   %[[C2:.*]] = arith.constant 2 : i32
-# CHECK:   %[[V0:.*]] = standalone.foo %[[C2]] : i32
-# CHECK: }
-
diff --git a/mlir/test/lit.site.cfg.py.in b/mlir/test/lit.site.cfg.py.in
index 940e2ad3c4365..2fc595dfabbf5 100644
--- a/mlir/test/lit.site.cfg.py.in
+++ b/mlir/test/lit.site.cfg.py.in
@@ -15,8 +15,6 @@ config.native_target = "@LLVM_NATIVE_ARCH@"
 config.host_os = "@HOST_OS@"
 config.host_cc = "@HOST_CC@"
 config.host_cxx = "@HOST_CXX@"
-config.host_c_compiler_launcher = "@CMAKE_C_COMPILER_LAUNCHER@"
-config.host_cxx_compiler_launcher = "@CMAKE_CXX_COMPILER_LAUNCHER@"
 config.enable_libcxx = "@LLVM_ENABLE_LIBCXX@"
 config.host_cmake = "@CMAKE_COMMAND@"
 config.host_cmake_generator = "@CMAKE_GENERATOR@"

@makslevental makslevental enabled auto-merge (squash) September 24, 2025 09:51
@makslevental makslevental merged commit 0aba5bf into main Sep 24, 2025
11 checks passed
@makslevental makslevental deleted the revert-160388-users/makslevental/standalone-whee branch September 24, 2025 10:00
makslevental added a commit that referenced this pull request Sep 24, 2025
…160488)

Reland standalone wheel build. The fix is to gate the test behind
`BUILD_SHARED_LIBS=OFF` (because bundling all libs in the wheel requires
valid rpaths which is not the case under `BUILD_SHARED_LIBS=ON`).
mahesh-attarde pushed a commit to mahesh-attarde/llvm-project that referenced this pull request Oct 3, 2025
llvm#160488)

Reland standalone wheel build. The fix is to gate the test behind
`BUILD_SHARED_LIBS=OFF` (because bundling all libs in the wheel requires
valid rpaths which is not the case under `BUILD_SHARED_LIBS=ON`).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants