Mercurial > mxe-octave
comparison 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 |
comparison
equal
deleted
inserted
replaced
5503:1541641533a6 | 5504:9f9ed6a325bd |
---|---|
16 define $(PKG)_UPDATE | 16 define $(PKG)_UPDATE |
17 echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2; | 17 echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2; |
18 echo $($(PKG)_VERSION) | 18 echo $($(PKG)_VERSION) |
19 endef | 19 endef |
20 | 20 |
21 $(PKG)_CMAKE_FLAGS := \ | 21 ifeq ($(MXE_WINDOWS_BUILD),yes) |
22 -DEXAMPLES_ENABLE_C=OFF \ | 22 $(PKG)_SUITESPARSECONFIG_LIBRARY := $(HOST_LIBDIR)/libsuitesparseconfig.dll.a |
23 -DKLU_ENABLE=ON \ | 23 else |
24 -DKLU_INCLUDE_DIR=$(HOST_INCDIR)/suitesparse \ | 24 $(PKG)_SUITESPARSECONFIG_LIBRARY := $(HOST_LIBDIR)/libsuitesparseconfig.so |
25 -DKLU_LIBRARY_DIR=$(HOST_LIBDIR) \ | 25 endif |
26 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ | |
27 -DBUILD_ARKODE=OFF \ | |
28 -DBUILD_CVODE=OFF \ | |
29 -DBUILD_CVODES=OFF \ | |
30 -DBUILD_IDA=ON \ | |
31 -DBUILD_IDAS=OFF \ | |
32 -DBUILD_KINSOL=OFF \ | |
33 -DBUILD_CPODES=OFF | |
34 | 26 |
35 # Keep "sunindextype" in sync with LAPACK (bug #58795) | 27 # Keep "sunindextype" in sync with LAPACK (bug #58795) |
36 ifeq ($(ENABLE_FORTRAN_INT64),yes) | 28 ifeq ($(ENABLE_FORTRAN_INT64),yes) |
37 $(PKG)_CMAKE_FLAGS += -DSUNDIALS_INDEX_SIZE=64 | 29 $(PKG)_INDEX_SIZE := 64 |
38 else | 30 else |
39 $(PKG)_CMAKE_FLAGS += -DSUNDIALS_INDEX_SIZE=32 | 31 $(PKG)_INDEX_SIZE := 32 |
40 endif | 32 endif |
41 | 33 |
42 ifeq ($(MXE_WINDOWS_BUILD),yes) | 34 define $(PKG)_BUILD |
35 mkdir '$(1).build' | |
36 cd '$(1).build' && cmake \ | |
37 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ | |
38 -DBUILD_ARKODE=OFF \ | |
39 -DBUILD_CVODE=OFF \ | |
40 -DBUILD_CVODES=OFF \ | |
41 -DBUILD_IDA=ON \ | |
42 -DBUILD_IDAS=OFF \ | |
43 -DBUILD_KINSOL=OFF \ | |
44 -DBUILD_CPODES=OFF \ | |
45 -DEXAMPLES_ENABLE_C=OFF \ | |
46 -DSUITESPARSECONFIG_LIBRARY=$($(PKG)_SUITESPARSECONFIG_LIBRARY) \ | |
47 -DSUNDIALS_INDEX_SIZE=$($(PKG)_INDEX_SIZE) \ | |
48 -DKLU_ENABLE=ON \ | |
49 -DKLU_INCLUDE_DIR=$(HOST_INCDIR)/suitesparse \ | |
50 -DKLU_LIBRARY_DIR=$(HOST_LIBDIR) \ | |
51 '$(1)' | |
52 $(MAKE) -C '$(1).build' -j '$(JOBS)' install DESTDIR='$(3)' VERBOSE=1 | |
43 | 53 |
44 $(PKG)_CMAKE_FLAGS += \ | 54 if [ $(MXE_SYSTEM) = mingw ]; then \ |
45 -DSUITESPARSECONFIG_LIBRARY=$(HOST_LIBDIR)/libsuitesparseconfig.dll.a | 55 echo "Install dlls"; \ |
46 | 56 $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \ |
47 define $(PKG)_BUILD | 57 mv '$(3)$(HOST_LIBDIR)/'libsundials*.dll '$(3)$(HOST_BINDIR)/'; \ |
48 mkdir '$(1).build' | 58 fi |
49 cd '$(1).build' && cmake \ | 59 endef |
50 $($(PKG)_CMAKE_FLAGS) \ | |
51 '$(1)' | |
52 $(MAKE) -C '$(1).build' -j '$(JOBS)' install DESTDIR='$(3)' VERBOSE=1 | |
53 | |
54 if [ $(MXE_SYSTEM) = mingw ]; then \ | |
55 echo "Install dlls"; \ | |
56 $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \ | |
57 mv '$(3)$(HOST_LIBDIR)/'libsundials*.dll '$(3)$(HOST_BINDIR)/'; \ | |
58 fi | |
59 endef | |
60 | |
61 else | |
62 | |
63 define $(PKG)_BUILD | |
64 mkdir '$(1).build' | |
65 cd '$(1).build' && cmake \ | |
66 $($(PKG)_CMAKE_FLAGS) \ | |
67 '$(1)' | |
68 $(MAKE) -C '$(1).build' -j '$(JOBS)' install VERBOSE=1 | |
69 endef | |
70 | |
71 endif |