diff --git a/CMakeLists.txt b/CMakeLists.txt index 87aaed4..3ebd35c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,11 @@ project( find_package(Python COMPONENTS Interpreter Development REQUIRED) Python_add_library(_nvjitlinklib MODULE pynvjitlink/_nvjitlinklib.cpp WITH_SOABI) +target_compile_definitions( + _nvjitlinklib + # Target Python 3.11, the earliest version to support the buffer protocol. + PRIVATE Py_LIMITED_API=0x030B0000 +) find_package( # Require CUDA 12.2 Update 2 to avoid nvjitlink bugs diff --git a/pynvjitlink/_nvjitlinklib.cpp b/pynvjitlink/_nvjitlinklib.cpp index 0bc9eb5..2ce0284 100644 --- a/pynvjitlink/_nvjitlinklib.cpp +++ b/pynvjitlink/_nvjitlinklib.cpp @@ -17,6 +17,7 @@ #define PY_SSIZE_T_CLEAN #include "nvJitLink.h" #include +#include #include static const char *nvJitLinkGetErrorEnum(nvJitLinkResult error) { diff --git a/pyproject.toml b/pyproject.toml index cb80661..0f9890c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,6 +11,7 @@ minimum-version = "build-system.requires" ninja.make-fallback = true build-dir = "build/{wheel_tag}" wheel.packages = ["pynvjitlink"] +wheel.py-api = "cp311" [build-system] requires = [