Mercurial > mxe-octave
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 |
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 | 15 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
16 $(PKG)_DESTDIR := | |
17 else | |
18 $(PKG)_DESTDIR := $(3) | |
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 | 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 | 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 | 54 ifeq ($(MXE_WINDOWS_BUILD),yes) |
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 | 57 $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_BINDIR) |
58 else | |
59 $(PKG)_SO_DIR := $($(PKG)_DESTDIR)$(HOST_LIBDIR) | |
60 endif | |
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 | 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 | 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 | 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 | 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 | 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 |