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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
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
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
28 else
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
29 ifeq ($(MXE_SYSTEM),mingw)
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
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
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
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
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
36 endif
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
37 endif
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
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
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
63 cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
4f9b72cf7ee7 allow native builds too
John W. Eaton <jwe@octave.org>
parents: 2995
diff changeset
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