95ecbdc9b1
* gnu/packages/maths.scm (gklib-suitesparse): New variable. * gnu/packages/patches/gklib-suitesparse.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
65 lines
1.8 KiB
Diff
65 lines
1.8 KiB
Diff
This patch contains the relevant changes to GKlib made in SuiteSparse
|
|
(CHOLMOD) for the version 7.2.0
|
|
(https://github.com/DrTimothyAldenDavis/SuiteSparse/commit/8a7641cdb4809533c681417e94f98058c07c5da2).
|
|
The disabling of signal handling when MATLAB_MEX_FILE is defined is omitted.
|
|
|
|
diff -ur a/CMakeLists.txt b/CMakeLists.txt
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -3,6 +3,8 @@
|
|
|
|
option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF)
|
|
|
|
+find_package ( SuiteSparse_config 7.1.0 REQUIRED )
|
|
+
|
|
get_filename_component(abs "." ABSOLUTE)
|
|
set(GKLIB_PATH ${abs})
|
|
unset(abs)
|
|
diff -ur a/GKlib.h b/GKlib.h
|
|
--- a/GKlib.h
|
|
+++ b/GKlib.h
|
|
@@ -59,6 +59,24 @@
|
|
#include <omp.h>
|
|
#endif
|
|
|
|
+/* -------------------------------------------------------------------------- */
|
|
+/* Added for incorporation into SuiteSparse.
|
|
+ Tim Davis, Oct 31, 2022, Texas A&M University. */
|
|
+#include "SuiteSparse_config.h"
|
|
+#define malloc SuiteSparse_config_malloc
|
|
+#define calloc SuiteSparse_config_calloc
|
|
+#define realloc SuiteSparse_config_realloc
|
|
+#define free(p) \
|
|
+{ \
|
|
+ if ((p) != NULL) \
|
|
+ { \
|
|
+ SuiteSparse_config_free (p) ; \
|
|
+ (p) = NULL ; \
|
|
+ } \
|
|
+}
|
|
+
|
|
+/* -------------------------------------------------------------------------- */
|
|
+
|
|
|
|
|
|
|
|
diff -ur a/memory.c b/memory.c
|
|
--- a/memory.c
|
|
+++ b/memory.c
|
|
@@ -108,6 +108,8 @@
|
|
/*************************************************************************/
|
|
int gk_malloc_init()
|
|
{
|
|
+ gkmcore = NULL;
|
|
+#if 0
|
|
if (gkmcore == NULL)
|
|
gkmcore = gk_gkmcoreCreate();
|
|
|
|
@@ -115,6 +117,7 @@
|
|
return 0;
|
|
|
|
gk_gkmcorePush(gkmcore);
|
|
+#endif
|
|
|
|
return 1;
|
|
}
|