Mercurial > mxe-octave
annotate src/build-octave.mk @ 5531:eae508c12529
Add build rule for build-octave (bug #49503).
* src/build-octave.mk: Add new build rule for build-octave which can be used for
cross-building binary packages that depend on Octave as a build tool.
* dist-files.mk: Add new file to list.
* index.html: Add new package to list.
* src/of-communications.mk, src/of-image.mk, src/of-mapping.mk,
src/of-optiminterp.mk, src/of-sparsersb.mk, src/of-statistics.mk,
src/of-windows.mk: Add optional dependency on build-octave.
* configure.ac: Add new configure switch "--disable-system-octave" that is
needed to build the build-octave package.
* Makefile.in: Add variable "USE_SYSTEM_OCTAVE". Exclude build-octave from the
default build tools and build it only if a package explicitly depends on it.
Display warning about missing native Octave version only if necessary.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Tue, 08 Sep 2020 23:04:38 +0200 |
parents | |
children | da87a2623190 |
rev | line source |
---|---|
5531
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
1 # This file is part of MXE. |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
2 # See index.html for further information. |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
3 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
4 ## This package is intended for building a minimal version of Octave that |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
5 ## runs on the build system. Some Octave Forge packages need Octave as a |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
6 ## build tool. |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
7 ## This version of Octave is built from the same tarball that is used for |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
8 ## cross-compiling. However, the native Octave is unavoidably different |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
9 ## from the Octave that is built for the target system. Packages must be |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
10 ## careful when relying on Octave for configuration settings. Wherever |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
11 ## possible, packages should try to not depend on Octave as a build tool |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
12 ## and should use alternatives instead (e.g., [target]-octave-config or |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
13 ## check the macros defined in octave-config.h). |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
14 ## |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
15 ## It is assumed that the necessary dependencies for a native build are |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
16 ## present on the build system. |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
17 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
18 PKG := build-octave |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
19 $(PKG)_IGNORE := |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
20 $(PKG)_VERSION := $($(OCTAVE_TARGET)_VERSION) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
21 $(PKG)_CHECKSUM := $($(OCTAVE_TARGET)_CHECKSUM) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
22 $(PKG)_SUBDIR := $($(OCTAVE_TARGET)_SUBDIR) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
23 $(PKG)_FILE := $($(OCTAVE_TARGET)_FILE) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
24 $(PKG)_URL := $($(OCTAVE_TARGET)_URL) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
25 $(PKG)_DEPS := $(OCTAVE_TARGET) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
26 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
27 ## The following dependencies and some native build tools are necessary |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
28 ## on the build system: |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
29 # $(PKG)_DEPS := blas lapack pcre |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
30 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
31 define $(PKG)_UPDATE |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
32 echo 'Warning: Updates are disabled for package build-octave.' >&2; |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
33 echo $($(PKG)_VERSION) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
34 endef |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
35 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
36 $(PKG)_ENV_FLAGS := \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
37 PKG_CONFIG_PATH='$(BUILD_PKG_CONFIG_PATH)' \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
38 LD_LIBRARY_PATH='$(LD_LIBRARY_PATH)' \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
39 PATH='$(ENV_PATH)' |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
40 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
41 ifeq ($(ENABLE_64),yes) |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
42 $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
43 else |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
44 $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
45 endif |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
46 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
47 define $(PKG)_BUILD |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
48 mkdir '$(1)/.build' |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
49 cd '$(1)/.build' && \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
50 $($(PKG)_ENV_FLAGS) '$(1)/configure' \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
51 --prefix=$(ROOT_PREFIX) \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
52 $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
53 --disable-docs --disable-fftw-threads --disable-java \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
54 --disable-jit --disable-openmp --disable-readline --without-amd \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
55 --without-arpack --without-bz2 --without-camd --without-ccolamd \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
56 --without-cholmod --without-colamd --without-curl \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
57 --without-cxsparse --without-fftw3 --without-fftw3f \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
58 --without-fltk --without-fontconfig --without-framework-opengl \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
59 --without-freetype --without-glpk --without-hdf5 --without-klu \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
60 --without-magick --without-opengl --without-openssl \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
61 --without-osmesa --without-portaudio --without-qhull \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
62 --without-qrupdate --without-qscintilla --without-qt \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
63 --without-sndfile --without-sundials_ida \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
64 --without-sundials_nvecserial --without-umfpack --without-x \ |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
65 --without-z |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
66 |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
67 $($(PKG)_ENV_FLAGS) $(MAKE) -C '$(1)/.build' all -j '$(JOBS)' |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
68 $($(PKG)_ENV_FLAGS) $(MAKE) -C '$(1)/.build' install |
eae508c12529
Add build rule for build-octave (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
69 endef |