summaryrefslogtreecommitdiff
path: root/mlir/cmake/modules/AddMLIRPython.cmake
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2025-01-09 18:56:36 +0900
committerNAKAMURA Takumi <geek4civic@gmail.com>2025-01-09 18:56:36 +0900
commitb0cb9219fc3deea4a7bc7cfd8502627f40b50957 (patch)
tree84c5f170501c53288f117cf3192fc7ae2a919321 /mlir/cmake/modules/AddMLIRPython.cmake
parent7f16c19a2f3af731ca6c2c47c502d8e9806da2a9 (diff)
parent73176fb8a6c44fc68898f014dd7336515c7fe5f2 (diff)
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni/cov/single/binopusers/chapuni/cov/single/binop
Diffstat (limited to 'mlir/cmake/modules/AddMLIRPython.cmake')
-rw-r--r--mlir/cmake/modules/AddMLIRPython.cmake7
1 files changed, 7 insertions, 0 deletions
diff --git a/mlir/cmake/modules/AddMLIRPython.cmake b/mlir/cmake/modules/AddMLIRPython.cmake
index 9d4e06c7909c..717a503468a8 100644
--- a/mlir/cmake/modules/AddMLIRPython.cmake
+++ b/mlir/cmake/modules/AddMLIRPython.cmake
@@ -683,6 +683,13 @@ function(add_mlir_python_extension libname extname)
${eh_rtti_enable}
)
endif()
+
+ if(APPLE)
+ # NanobindAdaptors.h uses PyClassMethod_New to build `pure_subclass`es but nanobind
+ # doesn't declare this API as undefined in its linker flags. So we need to declare it as such
+ # for downstream users that do not do something like `-undefined dynamic_lookup`.
+ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-U -Wl,_PyClassMethod_New")
+ endif()
endif()
target_compile_options(${libname} PRIVATE ${eh_rtti_enable})