changeset 6873:e7e566396211

SuiteSparse: Update to 7.2.0 * src/suitesparse.mk: Update version and checksum. Adapt build rules. * src/suitesparse-1-fixes.patch, src/suitesparse-2-metis.patch: Remove patches that are no longer needed. * src/glpk-1-fixes.patch: Remove workaround for older SuiteSparse version. * dist-files.mk: Remove deleted files from list.
author Markus Mützel <markus.muetzel@gmx.de>
date Tue, 26 Sep 2023 12:14:45 +0200
parents 67d42de94b0a
children fff6ec3b0cf5
files dist-files.mk src/glpk-1-fixes.patch src/suitesparse-1-fixes.patch src/suitesparse-2-metis.patch src/suitesparse.mk
diffstat 5 files changed, 18 insertions(+), 977 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Tue Sep 26 11:14:59 2023 +0200
+++ b/dist-files.mk	Tue Sep 26 12:14:45 2023 +0200
@@ -736,8 +736,6 @@
   src-msys-zlib.mk \
   stable-octave-1-gnulib.patch \
   stable-octave.mk \
-  suitesparse-1-fixes.patch \
-  suitesparse-2-metis.patch \
   suitesparse.mk \
   sundials-ida.mk \
   t4k_common.mk \
--- a/src/glpk-1-fixes.patch	Tue Sep 26 11:14:59 2023 +0200
+++ b/src/glpk-1-fixes.patch	Tue Sep 26 12:14:45 2023 +0200
@@ -90,20 +90,6 @@
 +simplex/spydual.c
  
  ## eof ##
-diff -ur glpk-4.65.orig/src/draft/glpmat.c glpk-4.65/src/draft/glpmat.c
---- glpk-4.65.orig/src/draft/glpmat.c	2019-02-20 15:21:37.117944413 -0500
-+++ glpk-4.65/src/draft/glpmat.c	2019-02-20 15:22:58.407893375 -0500
-@@ -25,8 +25,8 @@
- #include "env.h"
- #include "glpmat.h"
- #include "qmd.h"
--#include "amd.h"
--#include "colamd.h"
-+#include <suitesparse/amd.h>
-+#include <suitesparse/colamd.h>
- 
- /*----------------------------------------------------------------------
- -- check_fvs - check sparse vector in full-vector storage format.
 diff -ur glpk-4.65.orig/src/env/stdc.c glpk-4.65/src/env/stdc.c
 --- glpk-4.65.orig/src/env/stdc.c	2019-02-20 15:29:18.821040444 -0500
 +++ glpk-4.65/src/env/stdc.c	2019-02-20 15:40:06.948676811 -0500
--- a/src/suitesparse-1-fixes.patch	Tue Sep 26 11:14:59 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,814 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Tony Theodore <tonyt@logyst.com>
-Date: Tue, 21 Nov 2017 00:39:21 +1100
-Subject: [PATCH 1/3] mingw-w64-Use-a-not-lib-as-AR_TARGET-extension
-
-taken from:
-https://github.com/Alexpux/MINGW-packages/blob/6d1afc34842f2faf6c50c04e5904cdb8b7f20e3b/mingw-w64-suitesparse/0001-mingw-w64-Use-a-not-lib-as-AR_TARGET-extension.patch
-
-diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
-index 1111111..2222222 100644
---- a/SuiteSparse_config/SuiteSparse_config.mk
-+++ b/SuiteSparse_config/SuiteSparse_config.mk
-@@ -440,7 +441,7 @@ SO_OPTS = $(LDFLAGS)
- 
- ifeq ($(UNAME),Windows)
-     # Cygwin Make on Windows
--    AR_TARGET = $(LIBRARY).lib
-+    AR_TARGET = $(LIBRARY).a
-     SO_TARGET  = $(LIBRARY).dll
-     # The following two links are just garbage copies of the real target
-     # they aren't actually supported by this OS
-
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Tony Theodore <tonyt@logyst.com>
-Date: Tue, 21 Nov 2017 00:41:07 +1100
-Subject: [PATCH 2/3] 
- mingw-w64-Set-SO_OPTS--shared-move-dlls-create-import-libs
-
-taken from:
-https://github.com/Alexpux/MINGW-packages/blob/6d1afc34842f2faf6c50c04e5904cdb8b7f20e3b/mingw-w64-suitesparse/0002-mingw-w64-Set-SO_OPTS--shared-move-dlls-create-import-libs.patch
-
-diff --git a/AMD/Lib/Makefile b/AMD/Lib/Makefile
-index 1111111..2222222 100644
---- a/AMD/Lib/Makefile
-+++ b/AMD/Lib/Makefile
-@@ -81,28 +81,24 @@ libamdf77.a: $(AMDF77)
- #-------------------------------------------------------------------------------
- 
- # install AMD
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/amd.h $(INSTALL_INCLUDE)
- 	$(CP) ../Doc/AMD_UserGuide.pdf $(INSTALL_DOC)
- 	$(CP) ../README.txt $(INSTALL_DOC)/AMD_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/amd.h
- 	chmod 644 $(INSTALL_DOC)/AMD_UserGuide.pdf
- 	chmod 644 $(INSTALL_DOC)/AMD_README.txt
- 
- # uninstall AMD
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/amd.h
- 	$(RM) $(INSTALL_DOC)/AMD_UserGuide.pdf
- 	$(RM) $(INSTALL_DOC)/AMD_README.txt
-diff --git a/BTF/Lib/Makefile b/BTF/Lib/Makefile
-index 1111111..2222222 100644
---- a/BTF/Lib/Makefile
-+++ b/BTF/Lib/Makefile
-@@ -66,25 +66,21 @@ btf_l_strongcomp.o: ../Source/btf_strongcomp.c
- #-------------------------------------------------------------------------------
- 
- # install BTF
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/btf.h $(INSTALL_INCLUDE)
- 	$(CP) ../README.txt $(INSTALL_DOC)/BTF_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/btf.h
- 	chmod 644 $(INSTALL_DOC)/BTF_README.txt
- 
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/btf.h
- 	$(RM) $(INSTALL_DOC)/BTF_README.txt
- 
-diff --git a/CAMD/Lib/Makefile b/CAMD/Lib/Makefile
-index 1111111..2222222 100644
---- a/CAMD/Lib/Makefile
-+++ b/CAMD/Lib/Makefile
-@@ -62,28 +62,24 @@ $(AR_TARGET): $(OBJ)
- #-------------------------------------------------------------------------------
- 
- # install CAMD
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/camd.h $(INSTALL_INCLUDE)
- 	$(CP) ../Doc/CAMD_UserGuide.pdf $(INSTALL_DOC)
- 	$(CP) ../README.txt $(INSTALL_DOC)/CAMD_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/camd.h
- 	chmod 644 $(INSTALL_DOC)/CAMD_UserGuide.pdf
- 	chmod 644 $(INSTALL_DOC)/CAMD_README.txt
- 
- # uninstall CAMD
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/camd.h
- 	$(RM) $(INSTALL_DOC)/CAMD_UserGuide.pdf
- 	$(RM) $(INSTALL_DOC)/CAMD_README.txt
-diff --git a/CCOLAMD/Lib/Makefile b/CCOLAMD/Lib/Makefile
-index 1111111..2222222 100644
---- a/CCOLAMD/Lib/Makefile
-+++ b/CCOLAMD/Lib/Makefile
-@@ -49,25 +49,21 @@ distclean: clean
- 	- $(RM) -r $(PURGE)
- 
- # install CCOLAMD
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/ccolamd.h $(INSTALL_INCLUDE)
- 	$(CP) ../README.txt $(INSTALL_DOC)/CCOLAMD_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/ccolamd.h
- 	chmod 644 $(INSTALL_DOC)/CCOLAMD_README.txt
- 
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/ccolamd.h
- 	$(RM) $(INSTALL_DOC)/CCOLAMD_README.txt
- 
-diff --git a/CHOLMOD/Lib/Makefile b/CHOLMOD/Lib/Makefile
-index 1111111..2222222 100644
---- a/CHOLMOD/Lib/Makefile
-+++ b/CHOLMOD/Lib/Makefile
-@@ -535,29 +535,25 @@ cholmod_l_gpu.o: ../GPU/cholmod_gpu.c
- #-------------------------------------------------------------------------------
- 
- # install CHOLMOD
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/cholmod*.h $(INSTALL_INCLUDE)
- 	$(RM) $(INSTALL_INCLUDE)/cholmod_internal.h
- 	$(CP) ../Doc/CHOLMOD_UserGuide.pdf $(INSTALL_DOC)
- 	$(CP) ../README.txt $(INSTALL_DOC)/CHOLMOD_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/cholmod*.h
- 	chmod 644 $(INSTALL_DOC)/CHOLMOD_UserGuide.pdf
- 	chmod 644 $(INSTALL_DOC)/CHOLMOD_README.txt
- 
- # uninstall CHOLMOD
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/cholmod*.h
- 	$(RM) $(INSTALL_DOC)/CHOLMOD_UserGuide.pdf
- 	$(RM) $(INSTALL_DOC)/CHOLMOD_README.txt
-diff --git a/COLAMD/Lib/Makefile b/COLAMD/Lib/Makefile
-index 1111111..2222222 100644
---- a/COLAMD/Lib/Makefile
-+++ b/COLAMD/Lib/Makefile
-@@ -49,25 +49,21 @@ distclean: clean
- 	- $(RM) -r $(PURGE)
- 
- # install COLAMD
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/colamd.h $(INSTALL_INCLUDE)
- 	$(CP) ../README.txt $(INSTALL_DOC)/COLAMD_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/colamd.h
- 	chmod 644 $(INSTALL_DOC)/COLAMD_README.txt
- 
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/colamd.h
- 	$(RM) $(INSTALL_DOC)/COLAMD_README.txt
- 
-diff --git a/CXSparse/Lib/Makefile b/CXSparse/Lib/Makefile
-index 1111111..2222222 100644
---- a/CXSparse/Lib/Makefile
-+++ b/CXSparse/Lib/Makefile
-@@ -113,26 +113,22 @@ distclean: clean
- 	- $(RM) -r $(PURGE)
- 
- # install CXSparse
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(CS)
-+$(INSTALL_SO)/$(SO_TARGET): $(CS)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/cs.h $(INSTALL_INCLUDE)
- 	$(CP) ../README.txt $(INSTALL_DOC)/CXSPARSE_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/cs.h
- 	chmod 644 $(INSTALL_DOC)/CXSPARSE_README.txt
- 
- # uninstall CXSparse
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/cs.h
- 	$(RM) $(INSTALL_DOC)/CXSPARSE_README.txt
- 
-diff --git a/CXSparse_newfiles/Lib/Makefile b/CXSparse_newfiles/Lib/Makefile
-index 1111111..2222222 100644
---- a/CXSparse_newfiles/Lib/Makefile
-+++ b/CXSparse_newfiles/Lib/Makefile
-@@ -113,26 +113,22 @@ distclean: clean
- 	- $(RM) -r $(PURGE)
- 
- # install CXSparse
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(CS)
-+$(INSTALL_SO)/$(SO_TARGET): $(CS)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/cs.h $(INSTALL_INCLUDE)
- 	$(CP) ../README.txt $(INSTALL_DOC)/CXSPARSE_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/cs.h
- 	chmod 644 $(INSTALL_DOC)/CXSPARSE_README.txt
- 
- # uninstall CXSparse
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/cs.h
- 	$(RM) $(INSTALL_DOC)/CXSPARSE_README.txt
- 
-diff --git a/GPUQREngine/Lib/Makefile b/GPUQREngine/Lib/Makefile
-index 1111111..2222222 100644
---- a/GPUQREngine/Lib/Makefile
-+++ b/GPUQREngine/Lib/Makefile
-@@ -129,24 +129,20 @@ $(AR_TARGET): $(OBJS)
- #-------------------------------------------------------------------------------
- 
- # install GPUQREngine.  Note that the include files are not installed.
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJS)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJS)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../README.txt $(INSTALL_DOC)/GPUQRENGINE_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_DOC)/GPUQRENGINE_README.txt
- 
- # uninstall GPUQREngine
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_DOC)/GPUQRENGINE_README.txt
- 
- #-------------------------------------------------------------------------------
-diff --git a/KLU/Lib/Makefile b/KLU/Lib/Makefile
-index 1111111..2222222 100644
---- a/KLU/Lib/Makefile
-+++ b/KLU/Lib/Makefile
-@@ -263,28 +263,24 @@ klu_l_memory.o: ../Source/klu_memory.c
- #-------------------------------------------------------------------------------
- 
- # install KLU
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/klu.h $(INSTALL_INCLUDE)
- 	$(CP) ../Doc/KLU_UserGuide.pdf $(INSTALL_DOC)
- 	$(CP) ../README.txt $(INSTALL_DOC)/KLU_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/klu.h
- 	chmod 644 $(INSTALL_DOC)/KLU_UserGuide.pdf
- 	chmod 644 $(INSTALL_DOC)/KLU_README.txt
- 
- # uninstall KLU
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/klu.h
- 	$(RM) $(INSTALL_DOC)/KLU_UserGuide.pdf
- 	$(RM) $(INSTALL_DOC)/KLU_README.txt
-diff --git a/LDL/Lib/Makefile b/LDL/Lib/Makefile
-index 1111111..2222222 100644
---- a/LDL/Lib/Makefile
-+++ b/LDL/Lib/Makefile
-@@ -46,28 +46,24 @@ clean:
- 	- $(RM) -r $(CLEAN)
- 
- # install LDL
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/ldl.h $(INSTALL_INCLUDE)
- 	$(CP) ../Doc/ldl_userguide.pdf $(INSTALL_DOC)
- 	$(CP) ../README.txt $(INSTALL_DOC)/LDL_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/ldl.h
- 	chmod 644 $(INSTALL_DOC)/ldl_userguide.pdf
- 	chmod 644 $(INSTALL_DOC)/LDL_README.txt
- 
- # uninstall LDL
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/ldl.h
- 	$(RM) $(INSTALL_DOC)/ldl_userguide.pdf
- 	$(RM) $(INSTALL_DOC)/LDL_README.txt
-diff --git a/Makefile b/Makefile
-index 1111111..2222222 100644
---- a/Makefile
-+++ b/Makefile
-@@ -63,13 +63,13 @@ ifeq (,$(MY_METIS_LIB))
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
--	- $(CP) lib/libmetis.* $(INSTALL_LIB)
-+	- $(CP) lib/libmetis.* $(INSTALL_SO)
- 	- $(CP) metis-5.1.0/manual/manual.pdf $(INSTALL_DOC)/METIS_manual.pdf
- 	- $(CP) metis-5.1.0/README.txt $(INSTALL_DOC)/METIS_README.txt
-         # the following is needed only on the Mac, so *.dylib is hardcoded:
- 	$(SO_INSTALL_NAME) $(INSTALL_LIB)/libmetis.dylib $(INSTALL_LIB)/libmetis.dylib
- 	- $(CP) include/metis.h $(INSTALL_INCLUDE)
--	chmod 755 $(INSTALL_LIB)/libmetis.*
-+	chmod 755 $(INSTALL_SO)/libmetis.*
- 	chmod 644 $(INSTALL_INCLUDE)/metis.h
- 	chmod 644 $(INSTALL_DOC)/METIS_manual.pdf
- 	chmod 644 $(INSTALL_DOC)/METIS_README.txt
-diff --git a/RBio/Lib/Makefile b/RBio/Lib/Makefile
-index 1111111..2222222 100644
---- a/RBio/Lib/Makefile
-+++ b/RBio/Lib/Makefile
-@@ -60,25 +60,21 @@ RBio_i.o: ../Source/RBio.c
- #-------------------------------------------------------------------------------
- 
- # install RBio
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/RBio.h $(INSTALL_INCLUDE)
- 	$(CP) ../README.txt $(INSTALL_DOC)/RBIO_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/RBio.h
- 	chmod 644 $(INSTALL_DOC)/RBIO_README.txt
- 
- # uninstall RBio
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/RBio.h
- 	$(RM) $(INSTALL_DOC)/RBIO_README.txt
-diff --git a/SPQR/Lib/Makefile b/SPQR/Lib/Makefile
-index 1111111..2222222 100644
---- a/SPQR/Lib/Makefile
-+++ b/SPQR/Lib/Makefile
-@@ -242,22 +242,20 @@ spqrgpu_computeFrontStaging.o: ../SPQRGPU/spqrgpu_computeFrontStaging.cpp
- #-------------------------------------------------------------------------------
- 
- # install SPQR
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/SuiteSparseQR.hpp $(INSTALL_INCLUDE)
- 	$(CP) ../Include/SuiteSparseQR_C.h $(INSTALL_INCLUDE)
- 	$(CP) ../Include/SuiteSparseQR_definitions.h $(INSTALL_INCLUDE)
- 	$(CP) ../Include/spqr.hpp $(INSTALL_INCLUDE)
- 	$(CP) ../Doc/spqr_user_guide.pdf $(INSTALL_DOC)
- 	$(CP) ../README.txt $(INSTALL_DOC)/SPQR_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparseQR.hpp
- 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparseQR_C.h
- 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparseQR_definitions.h
-@@ -267,9 +265,7 @@ $(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
- 
- # uninstall SPQR
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/SuiteSparseQR.hpp
- 	$(RM) $(INSTALL_INCLUDE)/SuiteSparseQR_C.h
- 	$(RM) $(INSTALL_INCLUDE)/SuiteSparseQR_definitions.h
-diff --git a/SuiteSparse_GPURuntime/Lib/Makefile b/SuiteSparse_GPURuntime/Lib/Makefile
-index 1111111..2222222 100644
---- a/SuiteSparse_GPURuntime/Lib/Makefile
-+++ b/SuiteSparse_GPURuntime/Lib/Makefile
-@@ -70,23 +70,19 @@ SuiteSparseGPU_Workspace_transfer.o: ../Source/SuiteSparseGPU_Workspace_transfer
- #-------------------------------------------------------------------------------
- 
- # install SuiteSparse_GPURuntime (just the library, not the include files)
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJS)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJS)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CXX) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../README.txt $(INSTALL_DOC)/GPURUNTIME_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_DOC)/GPURUNTIME_README.txt
- 
- # uninstall SuiteSparse_GPURuntime
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_DOC)/GPURUNTIME_README.txt
- 
-diff --git a/SuiteSparse_config/Makefile b/SuiteSparse_config/Makefile
-index 1111111..2222222 100644
---- a/SuiteSparse_config/Makefile
-+++ b/SuiteSparse_config/Makefile
-@@ -44,27 +44,22 @@ clean:
- 	- $(RM) -r $(CLEAN)
- 
- # install SuiteSparse_config
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) SuiteSparse_config.h $(INSTALL_INCLUDE)
- 	$(CP) README.txt $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
--	chmod 755 $(INSTALL_LIB)/$(SO_PLAIN)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/SuiteSparse_config.h
- 	chmod 644 $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt
- 
- # uninstall SuiteSparse_config
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/SuiteSparse_config.h
- 	$(RM) $(INSTALL_DOC)/SUITESPARSECONFIG_README.txt
- 	( cd xerbla ; $(MAKE) uninstall )
-diff -urN SuiteSparse-5.11.0/SuiteSparse_config/SuiteSparse_config.mk.orig SuiteSparse-5.11.0/SuiteSparse_config/SuiteSparse_config.mk
---- SuiteSparse-5.11.0/SuiteSparse_config/SuiteSparse_config.mk.orig	2022-03-15 00:33:19.000000000 +0100
-+++ SuiteSparse-5.11.0/SuiteSparse_config/SuiteSparse_config.mk	2022-03-20 13:25:30.876107144 +0100
-@@ -73,6 +73,7 @@
-     # and documentation in /solo/mydox.
-     INSTALL ?= $(SUITESPARSE)
-     INSTALL_LIB ?= $(INSTALL)/lib
-+    INSTALL_SO ?= $(INSTALL)/lib
-     INSTALL_INCLUDE ?= $(INSTALL)/include
-     INSTALL_DOC ?= $(INSTALL)/share/doc/suitesparse-$(SUITESPARSE_VERSION)
- 
-@@ -349,7 +350,7 @@
-     ifeq ($(UNAME),Linux)
-         # add the posix realtime extensions library: librt
-         LDLIBS += -lrt
--        LDFLAGS += -Wl,-rpath=$(INSTALL_LIB)
-+        LDFLAGS += -Wl,-rpath=$(INSTALL_SO)
-     endif
- 
-     #---------------------------------------------------------------------------
-@@ -365,7 +366,7 @@
-         LAPACK ?= -framework Accelerate
-         # OpenMP is not yet supported by default in clang
-         CFOPENMP =
--        LDLIBS += -rpath $(INSTALL_LIB)
-+        LDLIBS += -rpath $(INSTALL_SO)
-     endif
- 
-     #---------------------------------------------------------------------------
-@@ -446,7 +447,8 @@
-     # they aren't actually supported by this OS
-     SO_MAIN   = $(LIBRARY).$(SO_VERSION).dll
-     SO_PLAIN = $(LIBRARY).$(VERSION).dll
--    SO_OPTS  += -shared
-+    SO_OPTS  += -shared -Wl,--out-implib,$(INSTALL_LIB)/$(LIBRARY).dll.a
-+    INSTALL_SO = $(INSTALL)/bin
-     SO_INSTALL_NAME = echo
- else
-     # Mac or Linux/Unix
-@@ -568,6 +570,7 @@
- 	@echo 'System:                   UNAME=          ' '$(UNAME)'
- 	@echo 'Install directory:        INSTALL=        ' '$(INSTALL)'
- 	@echo 'Install libraries in:     INSTALL_LIB=    ' '$(INSTALL_LIB)'
-+	@echo 'Install shared libs in:   INSTALL_SO=     ' '$(INSTALL_SO)'
- 	@echo 'Install include files in: INSTALL_INCLUDE=' '$(INSTALL_INCLUDE)'
- 	@echo 'Install documentation in: INSTALL_DOC=    ' '$(INSTALL_DOC)'
- 	@echo 'Optimization level:       OPTIMIZATION=   ' '$(OPTIMIZATION)'
-diff --git a/SuiteSparse_config/xerbla/Makefile b/SuiteSparse_config/xerbla/Makefile
-index 1111111..2222222 100644
---- a/SuiteSparse_config/xerbla/Makefile
-+++ b/SuiteSparse_config/xerbla/Makefile
-@@ -53,16 +53,13 @@ $(INSTALL_LIB)/$(SO_TARGET): $(DEPENDS)
- 	$(COMPILE)
- 	$(CC) $(SO_OPTS) xerbla.o -o $@
- 	- $(RM) xerbla.o
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) xerbla.h $(INSTALL_INCLUDE)
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/xerbla.h
- 
- # uninstall libcerbla / libxerbla
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/xerbla.h
- 
- distclean: purge
-diff --git a/UMFPACK/Lib/Makefile b/UMFPACK/Lib/Makefile
-index 1111111..2222222 100644
---- a/UMFPACK/Lib/Makefile
-+++ b/UMFPACK/Lib/Makefile
-@@ -288,20 +288,18 @@ clean:
- 
- #-------------------------------------------------------------------------------
- # install UMFPACK
--install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
-+install: $(AR_TARGET) $(INSTALL_SO)/$(SO_TARGET)
- 
--$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
-+$(INSTALL_SO)/$(SO_TARGET): $(OBJ)
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
- 	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
--	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
- 	$(CP) ../Include/umfpack*.h $(INSTALL_INCLUDE)
- 	$(CP) ../Doc/UMFPACK_UserGuide.pdf $(INSTALL_DOC)
- 	$(CP) ../Doc/UMFPACK_QuickStart.pdf $(INSTALL_DOC)
- 	$(CP) ../README.txt $(INSTALL_DOC)/UMFPACK_README.txt
--	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
-+	chmod 755 $(INSTALL_SO)/$(SO_TARGET)
- 	chmod 644 $(INSTALL_INCLUDE)/umfpack*.h
- 	chmod 644 $(INSTALL_DOC)/UMFPACK_UserGuide.pdf
- 	chmod 644 $(INSTALL_DOC)/UMFPACK_QuickStart.pdf
-@@ -309,9 +307,7 @@ $(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
- 
- # uninstall UMFPACK
- uninstall:
--	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
--	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
--	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
-+	$(RM) $(INSTALL_SO)/$(SO_TARGET)
- 	$(RM) $(INSTALL_INCLUDE)/umfpack*.h
- 	$(RM) $(INSTALL_DOC)/UMFPACK_UserGuide.pdf
- 	$(RM) $(INSTALL_DOC)/UMFPACK_QuickStart.pdf
-diff -urN SuiteSparse-5.11.0/Makefile.orig SuiteSparse-5.11.0/Makefile
---- SuiteSparse-5.11.0/Makefile.orig	2022-03-15 00:33:19.000000000 +0100
-+++ SuiteSparse-5.11.0/Makefile	2022-03-20 13:51:19.924606309 +0100
-@@ -16,7 +16,6 @@
- # installs all libraries SuiteSparse/lib.
- go: metis
- 	( cd SuiteSparse_config && $(MAKE) )
--	( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
- 	( cd AMD && $(MAKE) )
- 	( cd BTF && $(MAKE) )
- 	( cd CAMD && $(MAKE) )
-@@ -34,7 +33,6 @@
- 	( cd GPUQREngine && $(MAKE) )
- endif
- 	( cd SPQR && $(MAKE) )
--	( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
- 	( cd SLIP_LU && $(MAKE) )
- #	( cd PIRO_BAND && $(MAKE) )
- #	( cd SKYLINE_SVD && $(MAKE) )
-@@ -44,9 +42,8 @@
- #       sudo make install INSTALL=/usr/local
- # See SuiteSparse/README.md for more details.
- # (note that CSparse is not installed; CXSparse is installed instead)
--install: metisinstall gbinstall moninstall
-+install: metisinstall
- 	( cd SuiteSparse_config && $(MAKE) install )
--	# ( cd Mongoose  && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' install )
- 	( cd AMD && $(MAKE) install )
- 	( cd BTF && $(MAKE) install )
- 	( cd CAMD && $(MAKE) install )
-@@ -63,7 +60,6 @@
- 	( cd GPUQREngine && $(MAKE) install )
- endif
- 	( cd SPQR && $(MAKE) install )
--	# ( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' install )
- #	( cd PIRO_BAND && $(MAKE) install )
- #	( cd SKYLINE_SVD && $(MAKE) install )
- 	( cd SLIP_LU && $(MAKE) install )
-@@ -76,7 +72,7 @@
- 	@mkdir -p $(INSTALL_LIB)
- 	@mkdir -p $(INSTALL_INCLUDE)
- 	@mkdir -p $(INSTALL_DOC)
--	- $(CP) lib/libmetis.* $(INSTALL_SO)
-+	- $(CP) lib/libmetis.* $(INSTALL_SO)
- 	- $(CP) metis-5.1.0/manual/manual.pdf $(INSTALL_DOC)/METIS_manual.pdf
- 	- $(CP) metis-5.1.0/README.txt $(INSTALL_DOC)/METIS_README.txt
-         # the following is needed only on the Mac, so *.dylib is hardcoded:
-@@ -93,8 +89,6 @@
- 	$(RM) $(INSTALL_DOC)/SuiteSparse_README.md
- 	( cd SuiteSparse_config && $(MAKE) uninstall )
- 	- ( cd metis-5.1.0 && $(MAKE) uninstall )
--	- ( cd GraphBLAS && $(MAKE) uninstall )
--	- ( cd Mongoose  && $(MAKE) uninstall )
- 	( cd AMD && $(MAKE) uninstall )
- 	( cd CAMD && $(MAKE) uninstall )
- 	( cd COLAMD && $(MAKE) uninstall )
-@@ -126,7 +120,6 @@
- # the static library
- library: metis
- 	( cd SuiteSparse_config && $(MAKE) )
--	( cd Mongoose  && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
- 	( cd AMD && $(MAKE) library )
- 	( cd BTF && $(MAKE) library )
- 	( cd CAMD && $(MAKE) library )
-@@ -144,7 +137,6 @@
- 	( cd GPUQREngine && $(MAKE) library )
- endif
- 	( cd SPQR && $(MAKE) library )
--	( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
- 	( cd SLIP_LU && $(MAKE) library )
- #	( cd PIRO_BAND && $(MAKE) library )
- #	( cd SKYLINE_SVD && $(MAKE) library )
-@@ -154,7 +146,6 @@
- # both the dynamic and static libraries.
- static: metis
- 	( cd SuiteSparse_config && $(MAKE) static )
--	( cd Mongoose  && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' static )
- 	( cd AMD && $(MAKE) static )
- 	( cd BTF && $(MAKE) static )
- 	( cd CAMD && $(MAKE) static )
-@@ -172,7 +163,6 @@
- 	( cd GPUQREngine && $(MAKE) static )
- endif
- 	( cd SPQR && $(MAKE) static )
--	( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' static )
- 	( cd SLIP_LU && $(MAKE) static )
- #	( cd PIRO_BAND && $(MAKE) static )
- #	( cd SKYLINE_SVD && $(MAKE) static )
-@@ -182,8 +172,6 @@
- 	- ( cd SuiteSparse_config && $(MAKE) purge )
- 	- ( cd metis-5.1.0 && $(MAKE) distclean )
- 	- ( cd AMD && $(MAKE) purge )
--	- ( cd GraphBLAS && $(MAKE) purge )
--	- ( cd Mongoose  && $(MAKE) purge )
- 	- ( cd CAMD && $(MAKE) purge )
- 	- ( cd COLAMD && $(MAKE) purge )
- 	- ( cd BTF && $(MAKE) purge )
-@@ -210,8 +198,6 @@
- clean:
- 	- ( cd SuiteSparse_config && $(MAKE) clean )
- 	- ( cd metis-5.1.0 && $(MAKE) clean )
--	- ( cd GraphBLAS && $(MAKE) clean )
--	- ( cd Mongoose  && $(MAKE) clean )
- 	- ( cd AMD && $(MAKE) clean )
- 	- ( cd CAMD && $(MAKE) clean )
- 	- ( cd COLAMD && $(MAKE) clean )
-@@ -233,8 +219,6 @@
- 
- # Create the PDF documentation
- docs:
--	( cd GraphBLAS && $(MAKE) docs )
--	( cd Mongoose  && $(MAKE) docs )
- 	( cd AMD && $(MAKE) docs )
- 	( cd CAMD && $(MAKE) docs )
- 	( cd KLU && $(MAKE) docs )
--- a/src/suitesparse-2-metis.patch	Tue Sep 26 11:14:59 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Tony Theodore <tonyt@logyst.com>
-Date: Mon, 20 Nov 2017 22:54:25 +1100
-Subject: [PATCH 1/3] mingw-w64-does-not-have-sys-resource-h
-
-taken from:
-https://github.com/Alexpux/MINGW-packages/blob/484b873e8a1967b7809127682635888b7329417f/mingw-w64-metis/0001-mingw-w64-does-not-have-sys-resource-h.patch
-
-diff --git a/metis-5.1.0/GKlib/gk_arch.h b/metis-5.1.0/GKlib/gk_arch.h
-index 1111111..2222222 100644
---- a/metis-5.1.0/GKlib/gk_arch.h
-+++ b/metis-5.1.0/GKlib/gk_arch.h
-@@ -41,7 +41,9 @@
- #endif
-   #include <inttypes.h>
-   #include <sys/types.h>
--  #include <sys/resource.h>
-+  #ifndef __MINGW32__
-+    #include <sys/resource.h>
-+  #endif
-   #include <sys/time.h>
- #endif
- 
-
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Tony Theodore <tonyt@logyst.com>
-Date: Mon, 20 Nov 2017 22:55:34 +1100
-Subject: [PATCH 2/3] mingw-w64-do-not-use-reserved-double-underscored-names
-
-taken from:
-https://github.com/Alexpux/MINGW-packages/blob/484b873e8a1967b7809127682635888b7329417f/mingw-w64-metis/0002-mingw-w64-do-not-use-reserved-double-underscored-names.patch
-
-diff --git a/metis-5.1.0/GKlib/gk_getopt.h b/metis-5.1.0/GKlib/gk_getopt.h
-index 1111111..2222222 100644
---- a/metis-5.1.0/GKlib/gk_getopt.h
-+++ b/metis-5.1.0/GKlib/gk_getopt.h
-@@ -52,10 +52,10 @@ struct gk_option {
- 
- 
- /* Function prototypes */
--extern int gk_getopt(int __argc, char **__argv, char *__shortopts);
--extern int gk_getopt_long(int __argc, char **__argv, char *__shortopts,
-+extern int gk_getopt(int gk_argc, char **gk_argv, char *__shortopts);
-+extern int gk_getopt_long(int gk_argc, char **gk_argv, char *__shortopts,
-               struct gk_option *__longopts, int *__longind);
--extern int gk_getopt_long_only (int __argc, char **__argv,
-+extern int gk_getopt_long_only (int gk_argc, char **gk_argv,
-               char *__shortopts, struct gk_option *__longopts, int *__longind);
- 
-
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Tony Theodore <tonyt@logyst.com>
-Date: Mon, 20 Nov 2017 22:58:20 +1100
-Subject: [PATCH 3/3] WIN32-Install-RUNTIME-to-bin
-
-taken from:
-https://github.com/Alexpux/MINGW-packages/blob/484b873e8a1967b7809127682635888b7329417f/mingw-w64-metis/0003-WIN32-Install-RUNTIME-to-bin.patch
-
-diff --git a/metis-5.1.0/libmetis/CMakeLists.txt b/metis-5.1.0/libmetis/CMakeLists.txt
-index 1111111..2222222 100644
---- a/metis-5.1.0/libmetis/CMakeLists.txt
-+++ b/metis-5.1.0/libmetis/CMakeLists.txt
-@@ -8,9 +8,15 @@ if(UNIX)
-   target_link_libraries(metis m)
- endif()
- 
-+if(WIN32)
-+  set(RT_DEST bin)
-+else()
-+  set(RT_DEST lib)
-+endif()
-+
- if(METIS_INSTALL)
-   install(TARGETS metis
-     LIBRARY DESTINATION lib
--    RUNTIME DESTINATION lib
-+    RUNTIME DESTINATION ${RT_DEST}
-     ARCHIVE DESTINATION lib)
- endif()
-
--- a/src/suitesparse.mk	Tue Sep 26 11:14:59 2023 +0200
+++ b/src/suitesparse.mk	Tue Sep 26 12:14:45 2023 +0200
@@ -2,8 +2,8 @@
 # See index.html for further information.
 
 PKG             := suitesparse
-$(PKG)_VERSION  := 5.13.0
-$(PKG)_CHECKSUM := 71963dec82e46226eb329432069a916144fa4d98
+$(PKG)_VERSION  := 7.2.0
+$(PKG)_CHECKSUM := cb79ed80422b1808b4a5aba27f5878ef84c82f56
 $(PKG)_SUBDIR   := SuiteSparse-$($(PKG)_VERSION)
 $(PKG)_FILE     := $($(PKG)_SUBDIR).tar.gz
 $(PKG)_URL      := https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$($(PKG)_VERSION).tar.gz
@@ -33,87 +33,43 @@
   endif
 endif
 
-ifeq ($(USE_CCACHE),yes)
-    $(PKG)_COMPILER_OPTS := CC='$(CCACHE) $(MXE_CC)' \
-        CXX='$(CCACHE) $(MXE_CXX)' \
-        CPLUSPLUS='$(CCACHE) $(MXE_CXX)' \
-        F77='$(CCACHE) $(MXE_F77)'
-else
-    $(PKG)_COMPILER_OPTS := CC='$(MXE_CC)' \
-        CXX='$(MXE_CXX)' \
-        CPLUSPLUS='$(MXE_CXX)' \
-        F77='$(MXE_F77)'
+ifneq ($(MXE_NATIVE_BUILD),yes)
+  ifeq ($(MXE_WINDOWS_BUILD),yes)
+    # The corresponding test (in GraphBLAS) succeeds on Windows (MinGW-w64).
+    $(PKG)_CMAKE_CROSS_FLAGS += -DHAVE_GETENV_HOME=ON
+  else
+    # Use fallback for other targets.
+    $(PKG)_CMAKE_CROSS_FLAGS += -DHAVE_GETENV_HOME=OFF
+  endif
 endif
 
 $(PKG)_MAKE_OPTS = \
     CPPFLAGS="$($(PKG)_CPPFLAGS)" \
-    $($(PKG)_COMPILER_OPTS) \
     FFLAGS='$(MXE_FFLAGS)' \
     CFLAGS='$(MXE_CFLAGS)' \
     CXXFLAGS='$(MXE_CXXFLAGS)' \
     AR='$(MXE_AR)' \
     RANLIB='$(MXE_RANLIB)' \
-    BLAS="-lblas -lgfortran" \
-    LAPACK='-llapack' \
     CHOLMOD_CONFIG='-DNPARTITION' \
-    CMAKE_OPTIONS='-DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" $(CMAKE_CCACHE_FLAGS) $(CMAKE_BUILD_SHARED_OR_STATIC)'
+    CMAKE_OPTIONS='-DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" \
+                   -DCOMPACT=ON -DNFORTRAN=ON \
+                   -DBLA_VENDOR="Generic" -DBLAS_LIBRARIES="-lblas -lgfortran" -DLAPACK_LIBRARIES="-llapack" \
+                   -DENABLE_CUDA=OFF \
+                   $($(PKG)_CMAKE_CROSS_FLAGS) \
+                   $(CMAKE_CCACHE_FLAGS) $(CMAKE_BUILD_SHARED_OR_STATIC)'
 
 ifeq ($(MXE_WINDOWS_BUILD),yes)
     $(PKG)_MAKE_OPTS += \
         UNAME=Windows
-    $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_BINDIR)
-else
-    $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_LIBDIR)
 endif
 
-$(PKG)_cputype = $(shell uname -m | sed "s/\\ /_/g")
-$(PKG)_systype = $(shell uname -s)
-$(PKG)_METIS_BUILDDIR = build/$($(PKG)_systype)-$($(PKG)_cputype)
-$(PKG)_METIS_CONFIG_FLAGS = -DCMAKE_VERBOSE_MAKEFILE=1 \
-    -DGKLIB_PATH=$(1)/metis-5.1.0/GKlib \
-    -DCMAKE_INSTALL_PREFIX=$(1) \
-    -DSHARED=1
-
 define $(PKG)_BUILD
-    # build metis
-    mkdir $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)
-    cd $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR) && \
-        cmake $(1)/metis-5.1.0 \
-            $(CMAKE_CCACHE_FLAGS) \
-            $(CMAKE_BUILD_SHARED_OR_STATIC) \
-            -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-            $($(PKG)_METIS_CONFIG_FLAGS)
-    $(MAKE) -C '$(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)' metis -j '$(JOBS)'
-
-    # install metis
-    mkdir -p $($(PKG)_DESTDIR)$(HOST_LIBDIR)
-    mkdir -p $($(PKG)_SO_DIR)
-    mkdir -p $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/
-    cp $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)/libmetis/libmetis.* $($(PKG)_SO_DIR)
-    cp $(1)/metis-5.1.0/include/metis.h $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/
-    chmod 755 $($(PKG)_SO_DIR)/libmetis.*
-    chmod 644 $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/metis.h
-
     # build all
     $(MAKE) -C '$(1)' -j '$(JOBS)' \
-        $($(PKG)_MAKE_OPTS) \
-        MY_METIS_LIB=$($(PKG)_SO_DIR) \
-        library
+        $($(PKG)_MAKE_OPTS)
 
     # install libraries and headers
     $(MAKE) -C '$(1)' -j 1 install \
-        $($(PKG)_MAKE_OPTS) \
-        INSTALL_INCLUDE='$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/' \
-        INSTALL_LIB='$($(PKG)_DESTDIR)$(HOST_LIBDIR)' \
-        INSTALL_SO='$($(PKG)_SO_DIR)'
-
-    # some dependers (e.g. SUNDIALS IDA) won't find libraries with version suffix
-    if [ $(MXE_WINDOWS_BUILD) = no ]; then \
-      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libsuitesparseconfig.so.$($(PKG)_VERSION) libsuitesparseconfig.so; \
-      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libamd.so.2 libamd.so; \
-      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libbtf.so.1 libbtf.so; \
-      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libcolamd.so.2 libcolamd.so; \
-      cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libklu.so.1 libklu.so; \
-    fi
+        $($(PKG)_MAKE_OPTS)
 endef