Skip to content

Commit

Permalink
deps/libsuitesparse: fix source build (JuliaLang#53150)
Browse files Browse the repository at this point in the history
  • Loading branch information
inkydragon committed Feb 2, 2024
1 parent 6e7db14 commit 058b511
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 60 deletions.
44 changes: 24 additions & 20 deletions deps/libsuitesparse.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,38 @@ include $(SRCDIR)/libsuitesparse.version

ifneq ($(USE_BINARYBUILDER_LIBSUITESPARSE), 1)

LIBSUITESPARSE_PROJECTS := "amd;btf;camd;ccolamd;colamd;cholmod;klu;ldl;umfpack;rbio;spqr"
LIBSUITESPARSE_PROJECTS := "suitesparse_config;amd;btf;camd;ccolamd;colamd;cholmod;klu;ldl;umfpack;rbio;spqr"
LIBSUITESPARSE_LIBS := $(addsuffix .*$(SHLIB_EXT)*,suitesparseconfig $(subst ;, ,$(LIBSUITESPARSE_PROJECTS)))

ifeq ($(OS),WINNT)
BLAS_LIB_NAME_NO_EXT:=blastrampoline-5
else
BLAS_LIB_NAME_NO_EXT:=blastrampoline
endif

LIBSUITESPARSE_CMAKE_FLAGS := $(CMAKE_COMMON) \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_STATIC_LIBS=OFF \
-DBUILD_TESTING=OFF \
-DSUITESPARSE_ENABLE_PROJECTS="suitesparse_config;$(LIBSUITESPARSE_PROJECTS)" \
-DSUITESPARSE_ENABLE_PROJECTS=$(LIBSUITESPARSE_PROJECTS) \
-DSUITESPARSE_DEMOS=OFF \
-DSUITESPARSE_USE_STRICT=ON \
-DSUITESPARSE_USE_CUDA=OFF \
-DSUITESPARSE_USE_FORTRAN=OFF \
-DSUITESPARSE_USE_OPENMP=OFF \
-DCHOLMOD_PARTITION=ON \
-DBLAS_FOUND=1 \
-DBLAS_LIBRARIES="$(build_shlibdir)/libblastrampoline.$(SHLIB_EXT)" \
-DBLAS_LINKER_FLAGS="blastrampoline" \
-DBLA_VENDOR="blastrampoline" \
-DLAPACK_LIBRARIES="$(build_shlibdir)/libblastrampoline.$(SHLIB_EXT)" \
-DLAPACK_LINKER_FLAGS="blastrampoline" \
-DBLAS64_SUFFIX="_64" \
-DSUITESPARSE_USE_64BIT_BLAS=YES
-DBLAS_LIBRARIES="$(build_shlibdir)/lib$(BLAS_LIB_NAME_NO_EXT).$(SHLIB_EXT)" \
-DBLAS_LINKER_FLAGS="$(BLAS_LIB_NAME_NO_EXT)" \
-DBLA_VENDOR="$(BLAS_LIB_NAME_NO_EXT)" \
-DLAPACK_LIBRARIES="$(build_shlibdir)/lib$(BLAS_LIB_NAME_NO_EXT).$(SHLIB_EXT)" \
-DLAPACK_LINKER_FLAGS="${BLAS_LIB_NAME_NO_EXT}"

ifeq ($(BINARY),64)
LIBSUITESPARSE_CMAKE_FLAGS += -DBLAS64_SUFFIX="_64" -DSUITESPARSE_USE_64BIT_BLAS=YES
else
LIBSUITESPARSE_CMAKE_FLAGS += -DSUITESPARSE_USE_64BIT_BLAS=NO
endif

ifneq (,$(findstring $(OS),Linux FreeBSD))
LIBSUITESPARSE_CMAKE_FLAGS += -DCMAKE_INSTALL_RPATH="\$$ORIGIN"
Expand All @@ -42,21 +52,15 @@ $(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-extracted: $(SRCCACHE)/Suit
checksum-libsuitesparse: $(SRCCACHE)/SuiteSparse-$(LIBSUITESPARSE_VER).tar.gz
$(JLCHECKSUM) $<

# https://github.com/DrTimothyAldenDavis/SuiteSparse/pull/671
$(SRCCACHE)/SuiteSparse-$(LIBSUITESPARSE_VER)/suitesparse-blas-suffix.patch-applied: $(SRCCACHE)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-extracted
cd $(dir $@) && \
patch -p1 -f < $(SRCDIR)/patches/suitesparse-blas-suffix.patch
echo 1 > $@

$(SRCCACHE)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-patched: $(SRCCACHE)/SuiteSparse-$(LIBSUITESPARSE_VER)/suitesparse-blas-suffix.patch-applied
$(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-patched: $(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-extracted
echo 1 > $@

$(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/build-compiled: | $(build_prefix)/manifest/blastrampoline

$(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/build-compiled: $(SRCCACHE)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-patched
cd $(dir $<) && $(CMAKE) .. $(LIBSUITESPARSE_CMAKE_FLAGS)
make
make install
$(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/build-compiled: $(BUILDDIR)/SuiteSparse-$(LIBSUITESPARSE_VER)/source-patched
cd $(dir $<) && $(CMAKE) . $(LIBSUITESPARSE_CMAKE_FLAGS)
make -C $(dir $<)
make -C $(dir $<) install
echo 1 > $@

ifeq ($(OS),WINNT)
Expand Down
40 changes: 0 additions & 40 deletions deps/patches/suitesparse-blas-suffix.patch

This file was deleted.

0 comments on commit 058b511

Please sign in to comment.