From 7a7679bd26487439b0ff3056a946e98757e16db3 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Fri, 9 Oct 2026 14:11:01 +0200 Subject: [PATCH 1/5] Change OPENBLAS_API back to BLASFUNC when generating f77blas.h --- CMakeLists.txt | 3 ++- Makefile.install | 24 +++++++++--------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dab5632bc9..12c8cdc175 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -735,7 +735,8 @@ if(NOT NOFORTRAN) file(APPEND ${F77BLAS_H} "#define OPENBLAS_F77BLAS_H\n") file(APPEND ${F77BLAS_H} "#include \"openblas_config.h\"\n") file(READ ${CMAKE_CURRENT_SOURCE_DIR}/common_interface.h COMMON_INTERFACE_H_CONTENTS) - file(APPEND ${F77BLAS_H} "${COMMON_INTERFACE_H_CONTENTS}\n") + string(REPLACE "OPENBLAS_API" "BLASFUNC" F77BLAS_H_CONTENTS ${COMMON_INTERFACE_H_CONTENTS}) + file(APPEND ${F77BLAS_H} "${F77BLAS_H_CONTENTS}\n") file(APPEND ${F77BLAS_H} "#endif") install (FILES ${F77BLAS_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endif() diff --git a/Makefile.install b/Makefile.install index 00f19679ea..745c79e72c 100644 --- a/Makefile.install +++ b/Makefile.install @@ -37,10 +37,10 @@ PKGFILE := $(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE)$(SUFFIX64).pc ifeq ($(USE_OPENMP), 1) ifeq ($(C_COMPILER), PGI) PKG_EXTRALIB += -lomp - else + else PKG_EXTRALIB += -lgomp endif -endif +endif .PHONY : install .NOTPARALLEL : install @@ -68,7 +68,8 @@ install : lib.grd @echo \#ifndef OPENBLAS_F77BLAS_H > "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#define OPENBLAS_F77BLAS_H >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#include \"openblas_config.h\" >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" - @cat common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" + @sed -e 's/OPENBLAS_API/BLASFUNC/g' common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" + @echo \#define OPENBLAS_API BLASFUNC >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#endif >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" ifneq ($(NO_CBLAS),1) @@ -235,19 +236,12 @@ endif ifeq ($(OSNAME), Darwin) @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).dylib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" endif - @echo "if (NOT TARGET OpenBLAS::OpenBLAS)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" - @echo " add_library(OpenBLAS::OpenBLAS SHARED IMPORTED)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" - @echo " target_include_directories(OpenBLAS::OpenBLAS INTERFACE \$${OpenBLAS_INCLUDE_DIRS})" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" - @echo " set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_LOCATION \$${OpenBLAS_LIBRARIES})" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo "add_library(OpenBLAS::OpenBLAS SHARED IMPORTED)" + @echo "target_include_directories(OpenBLAS::OpenBLAS INTERFACE \$${OpenBLAS_INCLUDE_DIRS})" ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT)) -# prefer an MSVC import library if one was added to the install tree, else use the MinGW one - @echo " if (EXISTS \"\$${_OpenBLAS_ROOT_DIR}/lib/lib$(LIBNAMEBASE).lib\")" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" - @echo " set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${_OpenBLAS_ROOT_DIR}/lib/lib$(LIBNAMEBASE).lib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" - @echo " else ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" - @echo " set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${_OpenBLAS_ROOT_DIR}/lib/$(IMPLIBNAME))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" - @echo " endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" -endif - @echo "endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo "set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_LOCATION \$${OpenBLAS_LIBRARIES})" + @echo "set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${_OpenBLAS_ROOT_DIR}/lib/libopenblas.lib)" +endif else #only static @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).$(LIBSUFFIX))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" From 5294a6c8fe85251b046257f9295fc691f3e88b7a Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Fri, 9 Oct 2026 16:28:26 +0200 Subject: [PATCH 2/5] Fix unintended reversion of recent changes --- Makefile.install | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Makefile.install b/Makefile.install index 745c79e72c..ea127fc6cb 100644 --- a/Makefile.install +++ b/Makefile.install @@ -37,10 +37,10 @@ PKGFILE := $(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE)$(SUFFIX64).pc ifeq ($(USE_OPENMP), 1) ifeq ($(C_COMPILER), PGI) PKG_EXTRALIB += -lomp - else + else PKG_EXTRALIB += -lgomp endif -endif +endif .PHONY : install .NOTPARALLEL : install @@ -68,8 +68,7 @@ install : lib.grd @echo \#ifndef OPENBLAS_F77BLAS_H > "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#define OPENBLAS_F77BLAS_H >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#include \"openblas_config.h\" >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" - @sed -e 's/OPENBLAS_API/BLASFUNC/g' common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" - @echo \#define OPENBLAS_API BLASFUNC >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" + @sed -e 's/OPENBLAS_API/BLASFUNC/g' common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#endif >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" ifneq ($(NO_CBLAS),1) @@ -236,12 +235,19 @@ endif ifeq ($(OSNAME), Darwin) @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).dylib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" endif - @echo "add_library(OpenBLAS::OpenBLAS SHARED IMPORTED)" - @echo "target_include_directories(OpenBLAS::OpenBLAS INTERFACE \$${OpenBLAS_INCLUDE_DIRS})" + @echo "if (NOT TARGET OpenBLAS::OpenBLAS)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo " add_library(OpenBLAS::OpenBLAS SHARED IMPORTED)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo " target_include_directories(OpenBLAS::OpenBLAS INTERFACE \$${OpenBLAS_INCLUDE_DIRS})" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo " set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_LOCATION \$${OpenBLAS_LIBRARIES})" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT)) - @echo "set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_LOCATION \$${OpenBLAS_LIBRARIES})" - @echo "set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${_OpenBLAS_ROOT_DIR}/lib/libopenblas.lib)" -endif +# prefer an MSVC import library if one was added to the install tree, else use the MinGW one + @echo " if (EXISTS \"\$${_OpenBLAS_ROOT_DIR}/lib/lib$(LIBNAMEBASE).lib\")" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo " set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${_OpenBLAS_ROOT_DIR}/lib/lib$(LIBNAMEBASE).lib)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo " else ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo " set_property(TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB \$${_OpenBLAS_ROOT_DIR}/lib/$(IMPLIBNAME))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" + @echo " endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" +endif + @echo "endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" else #only static @echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).$(LIBSUFFIX))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)" From e8b92a8f1ea00196d682c6cb08afe18b5cbe0d0e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Fri, 9 Oct 2026 22:59:57 +0200 Subject: [PATCH 3/5] fix tab --- Makefile.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.install b/Makefile.install index ea127fc6cb..4b6ca20edf 100644 --- a/Makefile.install +++ b/Makefile.install @@ -68,7 +68,7 @@ install : lib.grd @echo \#ifndef OPENBLAS_F77BLAS_H > "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#define OPENBLAS_F77BLAS_H >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#include \"openblas_config.h\" >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" - @sed -e 's/OPENBLAS_API/BLASFUNC/g' common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" + @sed -e 's/OPENBLAS_API/BLASFUNC/g' common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#endif >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" ifneq ($(NO_CBLAS),1) From 4bb58acce866465bb8101599bb837b87cf6a41ef Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 10 Oct 2026 16:14:52 +0200 Subject: [PATCH 4/5] Strip any plain OPENBLAS_EXPORT too when generating f77blas.h --- Makefile.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.install b/Makefile.install index 4b6ca20edf..8797702576 100644 --- a/Makefile.install +++ b/Makefile.install @@ -68,7 +68,7 @@ install : lib.grd @echo \#ifndef OPENBLAS_F77BLAS_H > "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#define OPENBLAS_F77BLAS_H >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#include \"openblas_config.h\" >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" - @sed -e 's/OPENBLAS_API/BLASFUNC/g' common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" + @sed -e 's/OPENBLAS_API/BLASFUNC/g' -e 's/OPENBLAS_EXPORT //g' common_interface.h >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" @echo \#endif >> "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/f77blas.h" ifneq ($(NO_CBLAS),1) From e91a7e3c54af25f8bfc8d265ac4ef9473352fc65 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 10 Oct 2026 16:20:29 +0200 Subject: [PATCH 5/5] Strip any plain OPENBLAS_EXPORT too when generating f77blas.h --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 12c8cdc175..164be96112 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -735,7 +735,8 @@ if(NOT NOFORTRAN) file(APPEND ${F77BLAS_H} "#define OPENBLAS_F77BLAS_H\n") file(APPEND ${F77BLAS_H} "#include \"openblas_config.h\"\n") file(READ ${CMAKE_CURRENT_SOURCE_DIR}/common_interface.h COMMON_INTERFACE_H_CONTENTS) - string(REPLACE "OPENBLAS_API" "BLASFUNC" F77BLAS_H_CONTENTS ${COMMON_INTERFACE_H_CONTENTS}) + string(REPLACE "OPENBLAS_API" "BLASFUNC" F77BLAS_H_CONTENTS_TMP "${COMMON_INTERFACE_H_CONTENTS}") + string(REPLACE "OPENBLAS_EXPORT " "" F77BLAS_H_CONTENTS "${F77BLAS_H_CONTENTS_TMP}") file(APPEND ${F77BLAS_H} "${F77BLAS_H_CONTENTS}\n") file(APPEND ${F77BLAS_H} "#endif") install (FILES ${F77BLAS_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})