11# # LIBSUITESPARSE ##
22include $(SRCDIR ) /libsuitesparse.version
33
4- ifeq ($(USE_BLAS64 ) , 1)
5- UMFPACK_CONFIG := -DLONGBLAS='long long'
6- CHOLMOD_CONFIG := -DLONGBLAS='long long'
7- SPQR_CONFIG := -DLONGBLAS='long long'
8- UMFPACK_CONFIG += -DSUN64
9- CHOLMOD_CONFIG += -DSUN64
10- SPQR_CONFIG += -DSUN64
11- endif
12-
13- # Disable linking to libmetis
14- CHOLMOD_CONFIG += -DNPARTITION
15-
164ifneq ($(USE_BINARYBUILDER_LIBSUITESPARSE ) , 1)
175
186LIBSUITESPARSE_PROJECTS := AMD BTF CAMD CCOLAMD COLAMD CHOLMOD LDL KLU UMFPACK RBio SPQR
197LIBSUITESPARSE_LIBS := $(addsuffix .* $(SHLIB_EXT ) * ,suitesparseconfig amd btf camd ccolamd colamd cholmod klu ldl umfpack rbio spqr)
208
21- SUITESPARSE_LIB := $(LDFLAGS ) -L"$(abspath $(BUILDDIR ) ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /lib"
22- ifeq ($(OS ) , Darwin)
23- SUITESPARSE_LIB += $(RPATH_ESCAPED_ORIGIN )
24- endif
25- LIBSUITESPARSE_MFLAGS := CC="$(CC ) $(SANITIZE_OPTS ) " CXX="$(CXX ) $(SANITIZE_OPTS ) " F77="$(FC ) " \
26- AR="$(AR ) " RANLIB="$(RANLIB ) " \
27- BLAS="-L$(build_shlibdir ) -lblastrampoline" \
28- LAPACK="-L$(build_shlibdir ) -lblastrampoline" \
29- LDFLAGS="$(SUITESPARSE_LIB ) $(SANITIZE_LDFLAGS ) " CFOPENMP="" CUDA=no CUDA_PATH="" \
30- UMFPACK_CONFIG="$(UMFPACK_CONFIG ) " \
31- CHOLMOD_CONFIG="$(CHOLMOD_CONFIG ) " \
32- SPQR_CONFIG="$(SPQR_CONFIG ) "
33- ifeq ($(OS ) ,WINNT)
34- LIBSUITESPARSE_MFLAGS += UNAME=Windows
35- else
36- LIBSUITESPARSE_MFLAGS += UNAME=$(OS )
37- endif
9+ LIBSUITESPARSE_CMAKE_FLAGS := $(CMAKE_COMMON ) \
10+ -DCMAKE_BUILD_TYPE=Release \
11+ -DNOPENMP=ON \
12+ -DNPARTITION=ON \
13+ -DALLOW_64BIT_BLAS=ON \
14+ -DBLAS_FOUND=1 \
15+ -DBLAS_LIBRARIES="$(build_shlibdir ) /libblastrampoline.$(SHLIB_EXT ) " \
16+ -DBLAS_LINKER_FLAGS="blastrampoline" \
17+ -DBLAS_UNDERSCORE=ON \
18+ -DBLAS64_SUFFIX="_64" \
19+ -DBLA_VENDOR="blastrampoline" \
20+ -DLAPACK_FOUND=1 \
21+ -DLAPACK_LINKER_FLAGS="blastrampoline" \
22+ -DLAPACK_LIBRARIES="$(build_shlibdir ) /libblastrampoline.$(SHLIB_EXT ) " \
23+ -DNFORTRAN=YES
3824
3925$(SRCCACHE ) /SuiteSparse-$(LIBSUITESPARSE_VER ) .tar.gz : | $(SRCCACHE )
4026 $(JLDOWNLOAD ) $@ https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$(LIBSUITESPARSE_VER ) .tar.gz
@@ -48,19 +34,16 @@ $(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-extracted: $(SRCCACHE)/Suit
4834checksum-libsuitesparse : $(SRCCACHE ) /SuiteSparse-$(LIBSUITESPARSE_VER ) .tar.gz
4935 $(JLCHECKSUM ) $<
5036
51- $(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /SuiteSparse-shlib.patch-applied : $(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /source-extracted
52- cd $(dir $@ ) && patch -p1 < $(SRCDIR ) /patches/SuiteSparse-shlib.patch
53- echo 1 > $@
54- $(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /build-compiled : $(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /SuiteSparse-shlib.patch-applied
55-
5637$(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /build-compiled : | $(build_prefix ) /manifest/blastrampoline
5738
5839$(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /build-compiled : $(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /source-extracted
59- $(MAKE ) -C $(dir $< ) SuiteSparse_config library config $(LIBSUITESPARSE_MFLAGS )
60- $(INSTALL_NAME_CMD ) libsuitesparseconfig.$(SHLIB_EXT ) $(dir $< ) lib/libsuitesparseconfig.$(SHLIB_EXT )
61- for PROJ in $( LIBSUITESPARSE_PROJECTS) ; do \
62- $(MAKE ) -C $(dir $< ) $$ {PROJ} library $(LIBSUITESPARSE_MFLAGS ) || exit 1; \
63- $(INSTALL_NAME_CMD ) lib` echo $$ {PROJ} | tr A-Z a-z` .$(SHLIB_EXT ) $(dir $< ) lib/lib` echo $$ {PROJ} | tr A-Z a-z` .$(SHLIB_EXT ) || exit 1; \
40+ cd $(dir $< ) ; \
41+ for PROJ in SuiteSparse_config $( LIBSUITESPARSE_PROJECTS) ; do \
42+ cd $$ {PROJ}/build || exit 1; \
43+ $(CMAKE ) .. $(LIBSUITESPARSE_CMAKE_FLAGS ) || exit 1; \
44+ make || exit 1; \
45+ make install || exit 1; \
46+ cd ../..; \
6447 done
6548 echo 1 > $@
6649
@@ -78,11 +61,6 @@ $(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/build-checked: $(BUILDDIR)/SuiteSp
7861UNINSTALL_suitesparse := $(LIBSUITESPARSE_VER ) manual_suitesparse $(LIBSUITESPARSE_LIBS )
7962
8063$(build_prefix ) /manifest/libsuitesparse : $(BUILDDIR ) /SuiteSparse-$(LIBSUITESPARSE_VER ) /build-compiled | $(build_prefix ) /manifest $(build_shlibdir )
81- for lib in $( LIBSUITESPARSE_LIBS) ; do \
82- cp -a $(dir $< ) lib/lib$$ {lib} $(build_shlibdir ) || exit 1; \
83- done
84- # cp -a $(dir $<)lib/* $(build_shlibdir)
85- # cp -a $(dir $<)include/* $(build_includedir)
8664 echo $(UNINSTALL_libsuitesparse ) > $@
8765
8866clean-libsuitesparse : uninstall-libsuitesparse
0 commit comments