annotate src/sundials-ida.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 1541641533a6
children d862fd40cc42
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4375
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
1 # This file is part of MXE.
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
2 # See index.html for further information.
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
3
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
4 PKG := sundials-ida
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
5 $(PKG)_IGNORE :=
5466
7070e133865c * src/sundials-ida.mk: Update to v5.3.0
Markus Mützel <markus.muetzel@gmx.de>
parents: 5219
diff changeset
6 $(PKG)_VERSION := 5.3.0
7070e133865c * src/sundials-ida.mk: Update to v5.3.0
Markus Mützel <markus.muetzel@gmx.de>
parents: 5219
diff changeset
7 $(PKG)_CHECKSUM := a33d5a9f19fad4e4a257a8c9ae1c321550885996
4534
f84b27a7e47d sundials-ida: build from archived sundials package
John Donoghue <john.donoghue@ieee.org>
parents: 4462
diff changeset
8 $(PKG)_SUBDIR := sundials-$($(PKG)_VERSION)
f84b27a7e47d sundials-ida: build from archived sundials package
John Donoghue <john.donoghue@ieee.org>
parents: 4462
diff changeset
9 $(PKG)_FILE := sundials-$($(PKG)_VERSION).tar.gz
4375
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
10 $(PKG)_URL := https://computation.llnl.gov/projects/sundials/download/$($(PKG)_FILE)
5201
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5025
diff changeset
11 $(PKG)_DEPS := lapack suitesparse
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5025
diff changeset
12 ifeq ($(USE_SYSTEM_GCC),no)
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5025
diff changeset
13 $(PKG)_DEPS += libgomp
3307ec11073e skip libgomp dependency if using native gcc
John W. Eaton <jwe@octave.org>
parents: 5025
diff changeset
14 endif
4375
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
15
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
16 define $(PKG)_UPDATE
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
17 echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
18 echo $($(PKG)_VERSION)
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
19 endef
7208df703412 sundials-ida: add new package
John D
parents:
diff changeset
20
5504
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
21 ifeq ($(MXE_WINDOWS_BUILD),yes)
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
22 $(PKG)_SUITESPARSECONFIG_LIBRARY := $(HOST_LIBDIR)/libsuitesparseconfig.dll.a
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
23 else
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
24 $(PKG)_SUITESPARSECONFIG_LIBRARY := $(HOST_LIBDIR)/libsuitesparseconfig.so
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
25 endif
5503
1541641533a6 Keep size of "sunindextype" in sync with LAPACK (bug #58795).
Markus Meisinger <chloros2@gmx.de>
parents: 5466
diff changeset
26
1541641533a6 Keep size of "sunindextype" in sync with LAPACK (bug #58795).
Markus Meisinger <chloros2@gmx.de>
parents: 5466
diff changeset
27 # Keep "sunindextype" in sync with LAPACK (bug #58795)
1541641533a6 Keep size of "sunindextype" in sync with LAPACK (bug #58795).
Markus Meisinger <chloros2@gmx.de>
parents: 5466
diff changeset
28 ifeq ($(ENABLE_FORTRAN_INT64),yes)
5504
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
29 $(PKG)_INDEX_SIZE := 64
5503
1541641533a6 Keep size of "sunindextype" in sync with LAPACK (bug #58795).
Markus Meisinger <chloros2@gmx.de>
parents: 5466
diff changeset
30 else
5504
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
31 $(PKG)_INDEX_SIZE := 32
5503
1541641533a6 Keep size of "sunindextype" in sync with LAPACK (bug #58795).
Markus Meisinger <chloros2@gmx.de>
parents: 5466
diff changeset
32 endif
1541641533a6 Keep size of "sunindextype" in sync with LAPACK (bug #58795).
Markus Meisinger <chloros2@gmx.de>
parents: 5466
diff changeset
33
5504
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
34 define $(PKG)_BUILD
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
35 mkdir '$(1).build'
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
36 cd '$(1).build' && cmake \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
37 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
38 -DBUILD_ARKODE=OFF \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
39 -DBUILD_CVODE=OFF \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
40 -DBUILD_CVODES=OFF \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
41 -DBUILD_IDA=ON \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
42 -DBUILD_IDAS=OFF \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
43 -DBUILD_KINSOL=OFF \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
44 -DBUILD_CPODES=OFF \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
45 -DEXAMPLES_ENABLE_C=OFF \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
46 -DSUITESPARSECONFIG_LIBRARY=$($(PKG)_SUITESPARSECONFIG_LIBRARY) \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
47 -DSUNDIALS_INDEX_SIZE=$($(PKG)_INDEX_SIZE) \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
48 -DKLU_ENABLE=ON \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
49 -DKLU_INCLUDE_DIR=$(HOST_INCDIR)/suitesparse \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
50 -DKLU_LIBRARY_DIR=$(HOST_LIBDIR) \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
51 '$(1)'
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
52 $(MAKE) -C '$(1).build' -j '$(JOBS)' install DESTDIR='$(3)' VERBOSE=1
5503
1541641533a6 Keep size of "sunindextype" in sync with LAPACK (bug #58795).
Markus Meisinger <chloros2@gmx.de>
parents: 5466
diff changeset
53
5504
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
54 if [ $(MXE_SYSTEM) = mingw ]; then \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
55 echo "Install dlls"; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
56 $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
57 mv '$(3)$(HOST_LIBDIR)/'libsundials*.dll '$(3)$(HOST_BINDIR)/'; \
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
58 fi
9f9ed6a325bd Build SUNDIALS IDA for Linux with KLU (bug #58795).
Markus Mützel <markus.muetzel@gmx.de>
parents: 5503
diff changeset
59 endef