Mercurial > mxe-octave
annotate src/lapack.mk @ 6171:e61f3c723840
LAPACK: Fix native build.
* src/lapack.mk: Expand AR and RANLIB to full path. Use cmake to build and
install.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sun, 17 Apr 2022 19:13:52 +0200 |
parents | 7ece3569473c |
children | 2bfdd75d6b42 |
rev | line source |
---|---|
2333
f653602a0500
Rebrand to new project name MXE
Volker Grabsch <vog@notjusthosting.com>
parents:
2142
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. |
1376
896bc60de2a9
improvements for packages: cblas lapack suitesparse
Alois Schlögl <alois.schloegl@gmail.com>
parents:
1374
diff
changeset
|
3 |
1374
32a1331a3faf
new packages: blas cblas lapack
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
4 PKG := lapack |
6166
7ece3569473c
LAPACK: Update to v3.10.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
6122
diff
changeset
|
5 $(PKG)_VERSION := 3.10.1 |
7ece3569473c
LAPACK: Update to v3.10.1
Markus Mützel <markus.muetzel@gmx.de>
parents:
6122
diff
changeset
|
6 $(PKG)_CHECKSUM := c1a566cb91bf1170fb442eb2be9e1fd4005d4640 |
1385
08b296ec290e
cleanup packages: blas cblas lapack metis suitesparse
Volker Grabsch <vog@notjusthosting.com>
parents:
1376
diff
changeset
|
7 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) |
4880 | 8 $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz |
5245
4da893a7b0b9
* src/lapack.mk: update to v3.9.0, update download url
John Donoghue
parents:
4880
diff
changeset
|
9 $(PKG)_URL := https://github.com/Reference-LAPACK/$(PKG)/archive/v$($(PKG)_VERSION).tar.gz |
3545
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3486
diff
changeset
|
10 $(PKG)_DEPS := blas |
3246
0e705514af1b
Update lapack so compile correctly with openblas library (when enabled)
John Donoghue <john.donoghue@ieee.org>
parents:
3072
diff
changeset
|
11 |
3545
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3486
diff
changeset
|
12 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
13 $(PKG)_BLAS_CONFIG_OPTS := -DBLAS_LIBRARIES="$(HOST_BINDIR)/libblas.dll $(HOST_BINDIR)/libxerbla.dll" |
3545
c21ca79d7980
Remove ENABLE_OPEN_BLAS from .mk files and use just to add openblass to the distribution
John Donoghue
parents:
3486
diff
changeset
|
14 else |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
15 ifeq ($(MXE_WINDOWS_BUILD),yes) |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
16 $(PKG)_BLAS_CONFIG_OPTS := \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
17 -DBLAS_LIBRARIES="-L$(HOST_PREFIX)/lib -lblas -lxerbla" \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
18 -DBLAS_LINKER_FLAGS="-L$(HOST_PREFIX)/lib -lblas -lxerbla" |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
19 $(PKG)_BLAS_LIBS := -lblas -lxerbla |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
20 else |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
21 $(PKG)_BLAS_CONFIG_OPTS := \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
22 -DBLAS_LIBRARIES="-L$(HOST_PREFIX)/lib -lblas" \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
23 -DBLAS_LINKER_FLAGS="-L$(HOST_PREFIX)/lib -lblas" |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
24 $(PKG)_BLAS_LIBS := -lblas |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
25 endif |
3246
0e705514af1b
Update lapack so compile correctly with openblas library (when enabled)
John Donoghue <john.donoghue@ieee.org>
parents:
3072
diff
changeset
|
26 endif |
0e705514af1b
Update lapack so compile correctly with openblas library (when enabled)
John Donoghue <john.donoghue@ieee.org>
parents:
3072
diff
changeset
|
27 |
4304
0db33a326eec
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
3972
diff
changeset
|
28 ifeq ($(ENABLE_FORTRAN_INT64),yes) |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
29 $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8 |
3015
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
2997
diff
changeset
|
30 endif |
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
2997
diff
changeset
|
31 |
1374
32a1331a3faf
new packages: blas cblas lapack
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
32 define $(PKG)_UPDATE |
6122
6b730e7aa781
* src/blas.mk, src/lapack.mk: update netlib project update urls
John Donoghue <john.donoghue@ieee.org>
parents:
5996
diff
changeset
|
33 $(WGET) -q -O- 'https://www.netlib.org/lapack/' | \ |
5996
7472dfa4c03a
* update lapack PKG_UPDATE rule
John Donoghue <john.donoghue@ieee.org>
parents:
5894
diff
changeset
|
34 $(SED) -n 's_.*>lapack-\([0-9.]*\).tar.gz<.*_\1_p' | \ |
1374
32a1331a3faf
new packages: blas cblas lapack
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
35 head -1 |
32a1331a3faf
new packages: blas cblas lapack
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
36 endef |
32a1331a3faf
new packages: blas cblas lapack
Alois Schlögl <alois.schloegl@gmail.com>
parents:
diff
changeset
|
37 |
3025
dea92be54fc8
Updated lapack for additional native mingw options
John Donoghue <john.donoghue@ieee.org>
parents:
3023
diff
changeset
|
38 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
39 define $(PKG)_BUILD |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
40 cd '$(1)' && \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
41 cp INSTALL/make.inc.gfortran make.inc && \ |
6171
e61f3c723840
LAPACK: Fix native build.
Markus Mützel <markus.muetzel@gmx.de>
parents:
6166
diff
changeset
|
42 sed -i -e 's/\(FC[ ]*\)=.*/\1= $(MXE_F77)/' \ |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
43 -e 's/\(CC[ ]*\)=.*/\1= $(MXE_CC)/' \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
44 -e 's/\(CFLAGS[ ]*\)=.*/\1= -O2/' make.inc |
3072
050e922d4003
[MSVC] enable LAPACK compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3048
diff
changeset
|
45 |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
46 $(MAKE) -C '$(1)' -j '$(JOBS)' VERBOSE=1 lapacklib |
3072
050e922d4003
[MSVC] enable LAPACK compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3048
diff
changeset
|
47 |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
48 if [ $(BUILD_SHARED) = yes ]; then \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
49 $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_F77)' '$(1)/liblapack.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)' $($(PKG)_BLAS_LIBS); \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
50 fi |
3072
050e922d4003
[MSVC] enable LAPACK compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3048
diff
changeset
|
51 |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
52 $(INSTALL) -d '$(HOST_LIBDIR)/pkgconfig' |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
53 $(SED) -e 's/@LAPACK_VERSION@/$($(PKG)_VERSION)/' \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
54 -e 's,@prefix@,$(HOST_PREFIX),' \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
55 -e 's,@libdir@,$${prefix}/lib,' '$(1)/lapack.pc.in' > '$(1)/lapack.pc' |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
56 $(INSTALL) '$(1)/lapack.pc' '$(HOST_LIBDIR)/pkgconfig/' |
3072
050e922d4003
[MSVC] enable LAPACK compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3048
diff
changeset
|
57 |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
58 endef |
3072
050e922d4003
[MSVC] enable LAPACK compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3048
diff
changeset
|
59 else |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
60 define $(PKG)_BUILD |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
61 mkdir '$(1)/build' |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
62 cd '$(1)/build' && cmake \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
63 $(CMAKE_CCACHE_FLAGS) \ |
5571
b19fb3ed330c
use cmake command line to set build shared/static options (bug #59373)
John W. Eaton <jwe@octave.org>
parents:
5541
diff
changeset
|
64 $(CMAKE_BUILD_SHARED_OR_STATIC) \ |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
65 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ |
6171
e61f3c723840
LAPACK: Fix native build.
Markus Mützel <markus.muetzel@gmx.de>
parents:
6166
diff
changeset
|
66 -DCMAKE_AR='$(shell which $(MXE_AR))' \ |
e61f3c723840
LAPACK: Fix native build.
Markus Mützel <markus.muetzel@gmx.de>
parents:
6166
diff
changeset
|
67 -DCMAKE_RANLIB='$(shell which $(MXE_RANLIB))' \ |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
68 -DCMAKE_Fortran_FLAGS='$($(PKG)_DEFAULT_INTEGER_8_FLAG)' \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
69 -DBUILD_DEPRECATED=ON \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
70 -DBUILD_SHARED_LIBS=$(if $(findstring yes,$(BUILD_SHARED)),ON,OFF) \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
71 $($(PKG)_BLAS_CONFIG_OPTS) \ |
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
72 $(1) |
6171
e61f3c723840
LAPACK: Fix native build.
Markus Mützel <markus.muetzel@gmx.de>
parents:
6166
diff
changeset
|
73 |
e61f3c723840
LAPACK: Fix native build.
Markus Mützel <markus.muetzel@gmx.de>
parents:
6166
diff
changeset
|
74 cmake --build '$(1)/build' |
e61f3c723840
LAPACK: Fix native build.
Markus Mützel <markus.muetzel@gmx.de>
parents:
6166
diff
changeset
|
75 DESTDIR='$(3)' cmake --install '$(1)/build' |
5541
d862fd40cc42
Use ccache for packages built with cmake.
Markus Mützel <markus.muetzel@gmx.de>
parents:
5245
diff
changeset
|
76 endef |
3025
dea92be54fc8
Updated lapack for additional native mingw options
John Donoghue <john.donoghue@ieee.org>
parents:
3023
diff
changeset
|
77 endif |