You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mxe/src/suitesparse-1-fixes.patch

718 lines
26 KiB

This file is part of MXE. See LICENSE.md for licensing 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
@@ -429,10 +429,8 @@ SO_OPTS = $(LDFLAGS)
ifeq ($(UNAME),Windows)
# Cygwin Make on Windows (untested)
- AR_TARGET = $(LIBRARY).lib
- SO_PLAIN = $(LIBRARY).dll
- SO_MAIN = $(LIBRARY).$(SO_VERSION).dll
- SO_TARGET = $(LIBRARY).$(VERSION).dll
+ AR_TARGET = $(LIBRARY).a
+ SO_TARGET = $(LIBRARY).dll
SO_INSTALL_NAME = echo
else
# Mac or Linux/Unix
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)
$(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/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 --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
@@ -54,6 +54,7 @@ SUITESPARSE_VERSION = 4.5.6
# 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)
@@ -339,7 +340,7 @@ SUITESPARSE_VERSION = 4.5.6
ifeq ($(UNAME),Linux)
# add the realtime library, librt, and SuiteSparse/lib
- LDLIBS += -lrt -Wl,-rpath=$(INSTALL_LIB)
+ LDLIBS += -lrt -Wl,-rpath=$(INSTALL_SO)
endif
#---------------------------------------------------------------------------
@@ -428,10 +429,11 @@ SUITESPARSE_VERSION = 4.5.6
SO_OPTS = $(LDFLAGS)
ifeq ($(UNAME),Windows)
- # Cygwin Make on Windows (untested)
AR_TARGET = $(LIBRARY).a
SO_TARGET = $(LIBRARY).dll
SO_INSTALL_NAME = echo
+ SO_OPTS += -shared -Wl,--out-implib,$(INSTALL_LIB)/$(LIBRARY).dll.a
+ INSTALL_SO = $(INSTALL)/bin
else
# Mac or Linux/Unix
AR_TARGET = $(LIBRARY).a
@@ -550,6 +552,7 @@ config:
@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
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tony Theodore <tonyt@logyst.com>
Date: Tue, 21 Nov 2017 01:20:21 +1100
Subject: [PATCH 3/3] add $(TBB) libs to SPQR
diff --git a/SPQR/Lib/Makefile b/SPQR/Lib/Makefile
index 1111111..2222222 100644
--- a/SPQR/Lib/Makefile
+++ b/SPQR/Lib/Makefile
@@ -13,7 +13,7 @@ ccode: all
include ../../SuiteSparse_config/SuiteSparse_config.mk
# SPQR depends on CHOLMOD, AMD, COLAMD, LAPACK, the BLAS and SuiteSparse_config
-LDLIBS += -lamd -lcolamd -lcholmod -lsuitesparseconfig $(LAPACK) $(BLAS)
+LDLIBS += -lamd -lcolamd -lcholmod -lsuitesparseconfig $(LAPACK) $(BLAS) $(TBB)
# compile and install in SuiteSparse/lib
library: