changeset 7018:a61bbe1a4b72

SuiteSparse: update to 7.4.0 * src/suitesparse.mk: Update version and checksum. Use new CMake based build system. * src/glpk-1-fixes.patch: Use pkg-config to get location of SuiteSparse headers.
author Markus Mützel <markus.muetzel@gmx.de>
date Sat, 30 Dec 2023 19:06:45 +0100
parents b9a5842be49f
children 9edc4e63b677
files src/glpk-1-fixes.patch src/suitesparse.mk
diffstat 2 files changed, 19 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/src/glpk-1-fixes.patch	Wed Dec 27 10:45:31 2023 -0500
+++ b/src/glpk-1-fixes.patch	Sat Dec 30 19:06:45 2023 +0100
@@ -10,8 +10,8 @@
 +AC_CHECK_LIB([amd], [amd_1])
 +AC_CHECK_LIB([colamd], [colamd])
 +
-+#CPPFLAGS="$CPPFLAGS -I/usr/include/suitesparse"
-+AC_CHECK_HEADER([suitesparse/amd.h])
++CPPFLAGS="$CPPFLAGS $(pkg-config --cflags AMD)"
++AC_CHECK_HEADER([amd.h])
 +
  AC_CONFIG_FILES(
     [src/Makefile examples/Makefile Makefile])
--- a/src/suitesparse.mk	Wed Dec 27 10:45:31 2023 -0500
+++ b/src/suitesparse.mk	Sat Dec 30 19:06:45 2023 +0100
@@ -2,8 +2,8 @@
 # See index.html for further information.
 
 PKG             := suitesparse
-$(PKG)_VERSION  := 7.3.1
-$(PKG)_CHECKSUM := c06cd64f052d2187f8945348f561105ced494317
+$(PKG)_VERSION  := 7.4.0
+$(PKG)_CHECKSUM := c2709fc33b843d4830e6cedc4d4821d49ac99bc0
 $(PKG)_SUBDIR   := SuiteSparse-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
 $(PKG)_URL      := https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$($(PKG)_VERSION).tar.gz
@@ -24,11 +24,7 @@
 
 
 ifeq ($(ENABLE_FORTRAN_INT64),yes)
-  $(PKG)_CMAKE_FLAGS += -DALLOW_64BIT_BLAS=ON
-endif
-
-ifneq ($(BUILD_STATIC),yes)
-  $(PKG)_CMAKE_FLAGS += -DNSTATIC=ON
+  $(PKG)_CMAKE_FLAGS += -DSUITESPARSE_USE_64BIT_BLAS=ON
 endif
 
 $(PKG)_MAKE_OPTS = \
@@ -36,21 +32,22 @@
     CFLAGS='$(MXE_CFLAGS)' \
     CXXFLAGS='$(MXE_CXXFLAGS)' \
     AR='$(MXE_AR)' \
-    RANLIB='$(MXE_RANLIB)' \
-    CMAKE_OPTIONS='-DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" \
-                   -DCOMPACT=ON -DNOPENMP=ON \
-                   -DBLA_VENDOR="Generic" -DBLAS_LIBRARIES="-lblas -lgfortran" -DLAPACK_LIBRARIES="-llapack" \
-                   -DENABLE_CUDA=OFF \
-                   $($(PKG)_CMAKE_FLAGS) \
-                   $(CMAKE_CCACHE_FLAGS) $(CMAKE_BUILD_SHARED_OR_STATIC)'
+    RANLIB='$(MXE_RANLIB)'
 
 define $(PKG)_BUILD
-    # build all
-    $(MAKE) -C '$(1)' -j '$(JOBS)' \
-        $($(PKG)_MAKE_OPTS)
+    cd '$(1)/build' && $($(PKG)_MAKE_OPTS) cmake \
+        $($(PKG)_CMAKE_FLAGS) \
+        $(CMAKE_CCACHE_FLAGS) \
+        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        -DSUITESPARSE_CROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(CMAKE_NATIVE_TOOLCHAIN_FILE)" \
+        -DGRAPHBLAS_COMPACT=ON \
+        -DSUITESPARSE_USE_OPENMP=OFF \
+        -DBLA_VENDOR="Generic" -DBLAS_LIBRARIES="-lblas -lgfortran" -DLAPACK_LIBRARIES="-llapack" \
+        -DSUITESPARSE_USE_CUDA=OFF \
+        $(CMAKE_CCACHE_FLAGS) $(CMAKE_BUILD_SHARED_OR_STATIC) \
+        $(1)
 
-    # install libraries and headers
-    $(MAKE) -C '$(1)' -j 1 install \
-        $($(PKG)_MAKE_OPTS)
+    cmake --build '$(1)/build'
+    DESTDIR='$(3)' cmake --install '$(1)/build'
 endef