annotate src/suitesparse.mk @ 5504:9f9ed6a325bd

Build SUNDIALS IDA for Linux with KLU (bug #58795). * src/suitesparse.mk: Create symlinks to libraries without version suffix. * src/sundials-ida.mk: Unify build rules for all other platforms.
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 31 Jul 2020 14:59:35 +0200
parents dc8dca6acc60
children 5191e4789168
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2333
f653602a0500 Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents: 2240
diff changeset
1 # This file is part of MXE.
2353
99516e73b368 Move doc/index.html -> index.html
Volker Grabsch <vog@notjusthosting.com>
parents: 2349
diff changeset
2 # See index.html for further information.
1371
c9905856c931 new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff changeset
3
c9905856c931 new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff changeset
4 PKG := suitesparse
5383
dc8dca6acc60 suitsparse: update to v5.7.2
John Donoghue <john.donoghue@ieee.org>
parents: 5241
diff changeset
5 $(PKG)_VERSION := 5.7.2
dc8dca6acc60 suitsparse: update to v5.7.2
John Donoghue <john.donoghue@ieee.org>
parents: 5241
diff changeset
6 $(PKG)_CHECKSUM := ccc50177425d0d9bfe878786b8f2729c247efa90
5241
a40ac891cab2 Update SuiteSparse to v5.6.0
Markus Mützel <markus.muetzel@gmx.de>
parents: 5222
diff changeset
7 $(PKG)_SUBDIR := SuiteSparse-$($(PKG)_VERSION)
5383
dc8dca6acc60 suitsparse: update to v5.7.2
John Donoghue <john.donoghue@ieee.org>
parents: 5241
diff changeset
8 $(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz
dc8dca6acc60 suitsparse: update to v5.7.2
John Donoghue <john.donoghue@ieee.org>
parents: 5241
diff changeset
9 $(PKG)_URL := https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v$($(PKG)_VERSION).tar.gz
5201
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5197
diff changeset
10 $(PKG)_DEPS := blas lapack
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5197
diff changeset
11 ifeq ($(USE_SYSTEM_GCC),no)
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5197
diff changeset
12 $(PKG)_DEPS += libgomp
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5197
diff changeset
13 endif
3069
076acecb9c21 Update octave dependancies that use blas to also use openblas
John Donoghue <john.donoghue@ieee.org>
parents: 3048
diff changeset
14
3671
95454fa2df8b suitesparse: fix native mingw build
John Donoghue
parents: 3555
diff changeset
15 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
95454fa2df8b suitesparse: fix native mingw build
John Donoghue
parents: 3555
diff changeset
16 $(PKG)_DESTDIR :=
95454fa2df8b suitesparse: fix native mingw build
John Donoghue
parents: 3555
diff changeset
17 else
95454fa2df8b suitesparse: fix native mingw build
John Donoghue
parents: 3555
diff changeset
18 $(PKG)_DESTDIR := $(3)
95454fa2df8b suitesparse: fix native mingw build
John Donoghue
parents: 3555
diff changeset
19 endif
1372
4c3f4e0e3194 improvements for packages: metis suitesparse
Tony Theodore <tonyt@logyst.com>
parents: 1371
diff changeset
20
1371
c9905856c931 new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff changeset
21 define $(PKG)_UPDATE
5196
3432d3765d62 * src/suitesparse.mk: use github for update info
John Donoghue
parents: 5186
diff changeset
22 $(WGET) -q -O- 'https://github.com/DrTimothyAldenDavis/SuiteSparse/tags' | \
3432d3765d62 * src/suitesparse.mk: use github for update info
John Donoghue
parents: 5186
diff changeset
23 $(SED) -n 's|.*releases/tag/v\([^"]*\).*|\1|p' | $(SORT) -V | \
3432d3765d62 * src/suitesparse.mk: use github for update info
John Donoghue
parents: 5186
diff changeset
24 tail -1
1371
c9905856c931 new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff changeset
25 endef
c9905856c931 new packages: metis suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff changeset
26
2887
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
27
3477
6a36441bfafd suitesparse.mk: Add -DLONGBLAS to CPPFLAGS for --enable-64 Windows builds.
John W. Eaton <jwe@octave.org>
parents: 3469
diff changeset
28 $(PKG)_CPPFLAGS := -DNTIMER
6a36441bfafd suitesparse.mk: Add -DLONGBLAS to CPPFLAGS for --enable-64 Windows builds.
John W. Eaton <jwe@octave.org>
parents: 3469
diff changeset
29
4304
0db33a326eec make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 3691
diff changeset
30 ifeq ($(ENABLE_FORTRAN_INT64),yes)
3691
c734f4d39243 suitesparse: set LONGBLAS for --enable-64 on non windows systems
John W. Eaton <jwe@octave.org>
parents: 3671
diff changeset
31 ifeq ($(MXE_WINDOWS_BUILD),yes)
3477
6a36441bfafd suitesparse.mk: Add -DLONGBLAS to CPPFLAGS for --enable-64 Windows builds.
John W. Eaton <jwe@octave.org>
parents: 3469
diff changeset
32 $(PKG)_CPPFLAGS += -DLONGBLAS='long long'
3691
c734f4d39243 suitesparse: set LONGBLAS for --enable-64 on non windows systems
John W. Eaton <jwe@octave.org>
parents: 3671
diff changeset
33 else
c734f4d39243 suitesparse: set LONGBLAS for --enable-64 on non windows systems
John W. Eaton <jwe@octave.org>
parents: 3671
diff changeset
34 $(PKG)_CPPFLAGS += -DLONGBLAS='long'
3477
6a36441bfafd suitesparse.mk: Add -DLONGBLAS to CPPFLAGS for --enable-64 Windows builds.
John W. Eaton <jwe@octave.org>
parents: 3469
diff changeset
35 endif
6a36441bfafd suitesparse.mk: Add -DLONGBLAS to CPPFLAGS for --enable-64 Windows builds.
John W. Eaton <jwe@octave.org>
parents: 3469
diff changeset
36 endif
6a36441bfafd suitesparse.mk: Add -DLONGBLAS to CPPFLAGS for --enable-64 Windows builds.
John W. Eaton <jwe@octave.org>
parents: 3469
diff changeset
37
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
38 $(PKG)_MAKE_OPTS = \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
39 CPPFLAGS="$($(PKG)_CPPFLAGS)" \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
40 CC='$(MXE_CC)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
41 CXX='$(MXE_CXX)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
42 CPLUSPLUS='$(MXE_CXX)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
43 F77='$(MXE_F77)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
44 FFLAGS='$(MXE_FFLAGS)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
45 CFLAGS='$(MXE_CFLAGS)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
46 CXXFLAGS='$(MXE_CXXFLAGS)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
47 AR='$(MXE_AR)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
48 RANLIB='$(MXE_RANLIB)' \
5197
ef15e1ae1473 * src/suitesparse.mk: use basic blas
John Donoghue
parents: 5196
diff changeset
49 BLAS="-lblas -lgfortran" \
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
50 LAPACK='-llapack' \
5241
a40ac891cab2 Update SuiteSparse to v5.6.0
Markus Mützel <markus.muetzel@gmx.de>
parents: 5222
diff changeset
51 CHOLMOD_CONFIG='-DNPARTITION' \
a40ac891cab2 Update SuiteSparse to v5.6.0
Markus Mützel <markus.muetzel@gmx.de>
parents: 5222
diff changeset
52 CMAKE_OPTIONS='-DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)"'
1385
08b296ec290e cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents: 1377
diff changeset
53
5219
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
54 ifeq ($(MXE_WINDOWS_BUILD),yes)
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
55 $(PKG)_MAKE_OPTS += \
5241
a40ac891cab2 Update SuiteSparse to v5.6.0
Markus Mützel <markus.muetzel@gmx.de>
parents: 5222
diff changeset
56 UNAME=Windows
5219
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
57 $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_BINDIR)
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
58 else
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
59 $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_LIBDIR)
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
60 endif
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
61
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
62 $(PKG)_cputype = $(shell uname -m | sed "s/\\ /_/g")
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
63 $(PKG)_systype = $(shell uname -s)
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
64 $(PKG)_METIS_BUILDDIR = build/$($(PKG)_systype)-$($(PKG)_cputype)
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
65 $(PKG)_METIS_CONFIG_FLAGS = -DCMAKE_VERBOSE_MAKEFILE=1 \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
66 -DGKLIB_PATH=$(1)/metis-5.1.0/GKlib \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
67 -DCMAKE_INSTALL_PREFIX=$(1) \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
68 -DSHARED=1
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
69
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
70 define $(PKG)_BUILD
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
71 # build metis
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
72 mkdir $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
73 cd $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR) && \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
74 cmake $(1)/metis-5.1.0 \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
75 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
76 $($(PKG)_METIS_CONFIG_FLAGS)
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
77 $(MAKE) -C '$(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)' metis -j '$(JOBS)'
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
78
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
79 # install metis
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
80 mkdir -p $($(PKG)_DESTDIR)$(HOST_LIBDIR)
5219
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
81 mkdir -p $($(PKG)_SO_DIR)
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
82 mkdir -p $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/
5219
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
83 cp $(1)/metis-5.1.0/$($(PKG)_METIS_BUILDDIR)/libmetis/libmetis.* $($(PKG)_SO_DIR)
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
84 cp $(1)/metis-5.1.0/include/metis.h $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/
5222
c3d8272a2cf0 * src/suitesparse.mk: in chmod, use $($(PKG)_SO_DIR) path
John Donoghue
parents: 5219
diff changeset
85 chmod 755 $($(PKG)_SO_DIR)/libmetis.*
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
86 chmod 644 $($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/metis.h
3114
fcf98b1d15f1 [MSVC] enable SuiteSparse compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents: 3078
diff changeset
87
1385
08b296ec290e cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents: 1377
diff changeset
88 # build all
1439
b505b699c280 cleanup package: suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents: 1390
diff changeset
89 $(MAKE) -C '$(1)' -j '$(JOBS)' \
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
90 $($(PKG)_MAKE_OPTS) \
5219
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
91 MY_METIS_LIB=$($(PKG)_SO_DIR) \
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
92 library
2887
7811f0697a7a fix suitesparse build
John W. Eaton <jwe@octave.org>
parents: 2876
diff changeset
93
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
94 # install libraries and headers
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
95 $(MAKE) -C '$(1)' -j 1 install \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
96 $($(PKG)_MAKE_OPTS) \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
97 INSTALL_INCLUDE='$($(PKG)_DESTDIR)$(HOST_INCDIR)/suitesparse/' \
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
98 INSTALL_LIB='$($(PKG)_DESTDIR)$(HOST_LIBDIR)' \
5219
67ff35748e7e Fix some native build targets
John Donoghue
parents: 5201
diff changeset
99 INSTALL_SO='$($(PKG)_SO_DIR)'
5504
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
100
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
101 # some dependers (e.g. SUNDIALS IDA) won't find libraries with version suffix
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
102 if [ $(MXE_WINDOWS_BUILD) = no ]; then \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
103 cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libsuitesparseconfig.so.$($(PKG)_VERSION) libsuitesparseconfig.so; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
104 cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libamd.so.2 libamd.so; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
105 cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libbtf.so.1 libbtf.so; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
106 cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libcolamd.so.2 libcolamd.so; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
107 cd '$($(PKG)_DESTDIR)$(HOST_LIBDIR)' && ln -sf libklu.so.1 libklu.so; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5383
diff changeset
108 fi
5186
af2966900462 suitesparse: update to v4.5.6
Markus Mützel <markus.muetzel@gmx.de>
parents: 4618
diff changeset
109 endef
1376
896bc60de2a9 improvements for packages: cblas lapack suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents: 1375
diff changeset
110