From c7632b8b14152e78bc21721a3bd1a2432586b824 Mon Sep 17 00:00:00 2001 From: Joris Gillis Date: Wed, 19 Jul 2023 14:50:58 +0200 Subject: [PATCH] Add an option to retain underscore suffix for blas/lapack Useful for crosscompiling --- CMakeLists.txt | 6 ++++++ src/trlib_private.h.in | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9541a46..fb2ecae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,12 @@ option(TRLIB_BUILD_PYTHON2 OFF) option(TRLIB_BUILD_PYTHON3 OFF) option(TRLIB_BUILD_MEX OFF) +option(TRLIB_BLAS_LAPACK_UNDERSCORE_SUFFIX OFF) + +if(TRLIB_BLAS_LAPACK_UNDERSCORE_SUFFIX) + add_compile_definitions(TRLIB_BLAS_LAPACK_UNDERSCORE_SUFFIX) +endif() + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/CMakeModules/") add_subdirectory(include) diff --git a/src/trlib_private.h.in b/src/trlib_private.h.in index 4f5f128..c0892a0 100644 --- a/src/trlib_private.h.in +++ b/src/trlib_private.h.in @@ -35,7 +35,7 @@ #include #include -#ifdef _WIN32 +#if defined(_WIN32) && !defined(TRLIB_BLAS_LAPACK_UNDERSCORE_SUFFIX) // blas void daxpy(trlib_int_t *n, trlib_flt_t *alpha, trlib_flt_t *x, trlib_int_t *incx, trlib_flt_t *y, trlib_int_t *incy); void dscal(trlib_int_t *n, trlib_flt_t *alpha, trlib_flt_t *x, trlib_int_t *incx); @@ -80,7 +80,7 @@ #define TRLIB_DURATION_SUB(X, Y, Z) #endif #define TRLIB_RETURN(X) { TRLIB_DURATION(verystart, end, timing[0]) return X; } -#ifdef _WIN32 +#if defined(_WIN32) && !defined(TRLIB_BLAS_LAPACK_UNDERSCORE_SUFFIX) #define TRLIB_DCOPY(...) { TRLIB_TIC(start) dcopy(__VA_ARGS__); TRLIB_DURATION_SUB(start, end, timing[1]) } #define TRLIB_DAXPY(...) { TRLIB_TIC(start) daxpy(__VA_ARGS__); TRLIB_DURATION_SUB(start, end, timing[2]) } #define TRLIB_DSCAL(...) { TRLIB_TIC(start) dscal(__VA_ARGS__); TRLIB_DURATION_SUB(start, end, timing[3]) }