Mercurial > mxe-octave
annotate src/octave.mk @ 3144:433d1bb3cafb
[MSVC] enable octave compilation
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Mon, 15 Jul 2013 21:29:42 -0400 |
parents | 076acecb9c21 |
children | d1231b6c2b34 |
rev | line source |
---|---|
2862
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
1 # This file is part of MXE. |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 # See index.html for further information. |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
3 |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 PKG := octave |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 $(PKG)_IGNORE := |
2995
c004ec274dfa
Update octave.mk file to current checksum.
John Donoghue <john.donoghue@ieee.org>
parents:
2993
diff
changeset
|
6 $(PKG)_CHECKSUM := a51f52fa6dfef2e905d0c64f0401caab5a11faca |
2874
890aa60f7b87
Temporary Octave patch file, improve Octave config and build.
John W. Eaton <jwe@octave.org>
parents:
2873
diff
changeset
|
7 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) |
2862
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 $(PKG)_FILE := octave-$($(PKG)_VERSION).tar.gz |
2931
5f923fdabefe
update to octave 3.7.1 snapshot
John W. Eaton <jwe@octave.org>
parents:
2914
diff
changeset
|
9 $(PKG)_URL := ftp://alpha.gnu.org/gnu/octave/$($(PKG)_FILE) |
3069
076acecb9c21
Update octave dependancies that use blas to also use openblas
John Donoghue <john.donoghue@ieee.org>
parents:
3068
diff
changeset
|
10 $(PKG)_DEPS := arpack curl fftw fltk fontconfig glpk gnuplot graphicsmagick hdf5 lapack pcre pstoedit qhull qrupdate qscintilla qt readline suitesparse texinfo zlib |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3031
diff
changeset
|
11 ifeq ($(ENABLE_JIT),yes) |
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3031
diff
changeset
|
12 $(PKG)_DEPS += llvm |
3144
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
13 $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --enable-jit |
3043
cbfe5d38ff2c
use configure script to generate Makefile
John W. Eaton <jwe@octave.org>
parents:
3031
diff
changeset
|
14 endif |
2862
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
15 |
3068
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3056
diff
changeset
|
16 ifeq ($(ENABLE_OPENBLAS),yes) |
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3056
diff
changeset
|
17 $(PKG)_DEPS += openblas |
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3056
diff
changeset
|
18 $(PKG)_BLAS_OPTION := --with-blas=openblas |
3069
076acecb9c21
Update octave dependancies that use blas to also use openblas
John Donoghue <john.donoghue@ieee.org>
parents:
3068
diff
changeset
|
19 else |
076acecb9c21
Update octave dependancies that use blas to also use openblas
John Donoghue <john.donoghue@ieee.org>
parents:
3068
diff
changeset
|
20 $(PKG)_DEPS += blas |
3068
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3056
diff
changeset
|
21 endif |
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3056
diff
changeset
|
22 |
2997 | 23 ifeq ($(MXE_NATIVE_BUILD),yes) |
3056
772aedf5f402
octave.mk: delete unnecessary quotes around LD_LIBRARY_PATH
John W. Eaton <jwe@octave.org>
parents:
3048
diff
changeset
|
24 $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) |
3015
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
25 ifeq ($(ENABLE_64),yes) |
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
26 $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 |
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
27 endif |
2997 | 28 else |
29 ifeq ($(MXE_SYSTEM),mingw) | |
30 $(PKG)_CROSS_CONFIG_OPTIONS := \ | |
3031
951da75fd09c
improve handling of cross tool prefix
John W. Eaton <jwe@octave.org>
parents:
3015
diff
changeset
|
31 FLTK_CONFIG='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config' \ |
2997 | 32 gl_cv_func_gettimeofday_clobber=no |
3015
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
33 ifeq ($(ENABLE_64),yes) |
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
34 $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 ax_blas_f77_func_ok=yes |
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
35 endif |
2997 | 36 endif |
37 endif | |
38 | |
3144
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
39 ifeq ($(MXE_SYSTEM),msvc) |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
40 $(PKG)_PREFIX := '$(HOST_PREFIX)/local/$($(PKG)_SUBDIR)' |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
41 # - Enable atomic refcount (required for QtHandles) |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
42 # - Skip configure test for pow and sqrt, MSVC fails to compile them |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
43 # because it uses intrinsics (with -O2 flag) and bump on the fake |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
44 # "char FUNC()" forward declaration. |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
45 $(PKG)_EXTRA_CONFIGURE_OPTIONS := \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
46 --enable-atomic-refcount \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
47 ac_cv_func_pow=yes ac_cv_func_sqrt=yes |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
48 $(PKG)_CONFIGURE_POST_HOOK := $(CONFIGURE_POST_HOOK) -x |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
49 else |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
50 $(PKG)_PREFIX := '$(HOST_PREFIX)' |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
51 $(PKG)_EXTRA_CONFIGURE_OPTIONS := \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
52 LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR)' |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
53 endif |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
54 |
2862
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
55 define $(PKG)_UPDATE |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 echo 'Warning: Updates are temporarily disabled for package octave.' >&2; |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
57 echo $(octave_VERSION) |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
58 endef |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 |
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 define $(PKG)_BUILD |
2874
890aa60f7b87
Temporary Octave patch file, improve Octave config and build.
John W. Eaton <jwe@octave.org>
parents:
2873
diff
changeset
|
61 mkdir '$(1)/.build' |
2953
9ee646095047
temporary fix for mkoctfile variables
John W. Eaton <jwe@octave.org>
parents:
2952
diff
changeset
|
62 cd '$(1)' && autoreconf -W none |
2997 | 63 cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \ |
64 $(CONFIGURE_CPPFLAGS) \ | |
3013
bcc26ffe9a0f
use variable for --host and --build configure arguments
John W. Eaton <jwe@octave.org>
parents:
3012
diff
changeset
|
65 $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ |
3144
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
66 --prefix='$($(PKG)_PREFIX)' \ |
3068
fb0836e4a677
Add --enable-openblas option to configure
John Donoghue <john.donoghue@ieee.org>
parents:
3056
diff
changeset
|
67 $($(PKG)_BLAS_OPTION) \ |
3015
ec6f91539788
initial support for --enable-64
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
68 $($(PKG)_CROSS_CONFIG_OPTIONS) \ |
3144
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
69 $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
70 $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
71 $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
72 PKG_CONFIG='$(MXE_PKG_CONFIG)' \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
73 PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
74 && $($(PKG)_CONFIGURE_POST_HOOK) |
2874
890aa60f7b87
Temporary Octave patch file, improve Octave config and build.
John W. Eaton <jwe@octave.org>
parents:
2873
diff
changeset
|
75 |
2936
fc124629c527
backout changeset 0adbff7dec24
John W. Eaton <jwe@octave.org>
parents:
2935
diff
changeset
|
76 ## We want both of these install steps so that we install in the |
fc124629c527
backout changeset 0adbff7dec24
John W. Eaton <jwe@octave.org>
parents:
2935
diff
changeset
|
77 ## location set by the configure --prefix option, and the other |
fc124629c527
backout changeset 0adbff7dec24
John W. Eaton <jwe@octave.org>
parents:
2935
diff
changeset
|
78 ## in a directory tree that will have just Octave files. |
fc124629c527
backout changeset 0adbff7dec24
John W. Eaton <jwe@octave.org>
parents:
2935
diff
changeset
|
79 $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install |
3144
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
80 if [ $(MXE_SYSTEM) != msvc ]; then \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
81 $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(TOP_DIR)/octave install; \ |
433d1bb3cafb
[MSVC] enable octave compilation
Michael Goffioul <michael.goffioul@gmail.com>
parents:
3069
diff
changeset
|
82 fi |
2862
e93d77b61f17
Include support for building Octave.
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
83 endef |
2980
2cf09b449d88
readline patches for windows from goffioul
John W. Eaton <jwe@octave.org>
parents:
2975
diff
changeset
|
84 |