Skip to content

Commit 2cc4dd6

Browse files
Changes to enable compilation with NumPy 2
1 parent cad9701 commit 2cc4dd6

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

CMakeLists.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ find_package(Cython REQUIRED)
2020

2121
set(MKL_ARCH intel64)
2222
set(MKL_LINK sdl)
23-
set(MKL_THREADING intel_thread)
24-
set(MKL_INTERFACE ilp64)
2523
find_package(MKL REQUIRED)
2624

2725
if(WIN32)
@@ -101,16 +99,16 @@ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
10199
set(_linker_options ${MKL_UMATH_LINKER_OPTIONS})
102100

103101
set(_trgt mkl_umath_loops)
104-
add_library(${_trgt} SHARED "mkl_umath/src/mkl_umath_loops.c")
102+
add_library(${_trgt} SHARED mkl_umath/src/mkl_umath_loops.c)
105103
set_target_properties(${_trgt} PROPERTIES
106104
CMAKE_POSITION_INDEPENDENT_CODE ON
107105
C_STANDARD 99
108106
)
109-
target_include_directories(${_trgt} PRIVATE "mkl_umath/src/" ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR})
110-
target_link_libraries(${_trgt} PRIVATE mkl_rt ${Python_LIBRARIES})
111-
target_link_options(${_trgt} PRIVATE ${_linker_options})
112-
target_compile_options(${_trgt} PRIVATE -fveclib=SVML)
113-
target_compile_options(${_trgt} PRIVATE -fvectorize)
107+
target_include_directories(${_trgt} PUBLIC mkl_umath/src/ ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR})
108+
target_link_libraries(${_trgt} PUBLIC MKL::MKL ${Python_LIBRARIES})
109+
target_link_options(${_trgt} PUBLIC ${_linker_options})
110+
target_compile_options(${_trgt} PUBLIC -fveclib=SVML)
111+
target_compile_options(${_trgt} PUBLIC -fvectorize)
114112
if(OPTIMIZATION_REPORT)
115113
target_compile_options(${_trgt} PRIVATE -qopt-report=3)
116114
endif()
@@ -120,11 +118,12 @@ install(TARGETS ${_trgt}
120118
RUNTIME DESTINATION mkl_umath
121119
)
122120

123-
Python_add_library(_ufuncs MODULE WITH_SOABI "mkl_umath/src/ufuncsmodule.c" "mkl_umath/src/__umath_generated.c")
121+
python_add_library(_ufuncs MODULE WITH_SOABI "mkl_umath/src/ufuncsmodule.c" "mkl_umath/src/__umath_generated.c")
124122
target_include_directories(_ufuncs PRIVATE "mkl_umath/src" ${NumPy_INCLUDE_DIR} ${MKL_INCLUDE_DIR})
125123
target_compile_definitions(_ufuncs PUBLIC NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION)
126124
target_link_options(_ufuncs PRIVATE ${_linker_options})
127125
target_link_libraries(_ufuncs PRIVATE mkl_umath_loops)
126+
set_target_properties(_ufuncs PROPERTIES C_STANDARD 99)
128127
if (UNIX)
129128
set_target_properties(_ufuncs PROPERTIES INSTALL_RPATH "$ORIGIN")
130129
endif()
@@ -135,6 +134,7 @@ Python_add_library(_patch MODULE WITH_SOABI ${_generated_src})
135134
target_include_directories(_patch PRIVATE "mkl_umath/src/" ${NumPy_INCLUDE_DIR} ${PYTHON_INCLUDE_DIR})
136135
target_compile_definitions(_patch PUBLIC NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION)
137136
target_link_libraries(_patch PRIVATE mkl_umath_loops)
137+
set_target_properties(_patch PROPERTIES C_STANDARD 99)
138138
if (UNIX)
139139
set_target_properties(_patch PROPERTIES INSTALL_RPATH "$ORIGIN")
140140
endif()

mkl_umath/src/mkl_umath_loops.c.src

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "Python.h"
3333

3434
#define NPY_NO_DEPRECATED_API NPY_API_VERSION
35+
#define NP_IMPORT_ARRAY
3536

3637
#include "numpy/npy_common.h"
3738
#include "numpy/ndarraytypes.h"

mkl_umath/src/ufuncsmodule.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2626
*/
2727
#include "Python.h"
28+
#define PY_ARRAY_UNIQUE_SYMBOL mkl_umath_ufunc_ext
2829
#include "numpy/arrayobject.h"
2930
#include "numpy/ndarraytypes.h"
3031
#include "numpy/ufuncobject.h"

0 commit comments

Comments
 (0)