changeset 3383:6dfbea9a9646

Update stable-octave to 3.8.0 * src/octave.mk: add creation of version file on octave install * src/stable-octave.mk: Merge changes of octave.mk into stable-octave.mk. * index.html: update stable-octave-version to 3.8.0.
author John Donoghue <john.donoghue@ieee.org>
date Wed, 01 Jan 2014 17:42:10 -0500
parents d86edd4ec1d6
children 0de28586712a
files index.html src/octave.mk src/stable-octave.mk
diffstat 3 files changed, 110 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/index.html	Wed Jan 01 00:05:04 2014 -0500
+++ b/index.html	Wed Jan 01 17:42:10 2014 -0500
@@ -2029,7 +2029,7 @@
     </tr>
     <tr>
         <td id="stable-octave-package">stable-octave</td>
-        <td id="stable-octave-version">3.6.4</td>
+        <td id="stable-octave-version">3.8.0</td>
         <td id="stable-octave-website"><a href="http://octave.org/">Octave</a></td>
     </tr>
     <tr>
--- a/src/octave.mk	Wed Jan 01 00:05:04 2014 -0500
+++ b/src/octave.mk	Wed Jan 01 17:42:10 2014 -0500
@@ -121,5 +121,8 @@
     if [ $(MXE_SYSTEM) != msvc ]; then \
         $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(TOP_DIR)/octave install; \
     fi
+
+    # create a file with latest installed octave rev in it
+    echo "$($(PKG)_VERSION)" > $(TOP_DIR)/octave/octave-version
 endef
 
--- a/src/stable-octave.mk	Wed Jan 01 00:05:04 2014 -0500
+++ b/src/stable-octave.mk	Wed Jan 01 17:42:10 2014 -0500
@@ -3,11 +3,78 @@
 
 PKG             := stable-octave
 $(PKG)_IGNORE   :=
-$(PKG)_CHECKSUM := 4563c3fdb15ac76419f78b8ad8a9b1ba3484a7aa
+$(PKG)_CHECKSUM := 7dc2736d05fef50e4f7b3e1b9ab83c8287e8f267
 $(PKG)_SUBDIR   := octave-$($(PKG)_VERSION)
 $(PKG)_FILE     := octave-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := ftp://ftp.gnu.org/gnu/octave/$($(PKG)_FILE)
-$(PKG)_DEPS     := arpack blas curl fftw fltk fontconfig glpk gnuplot graphicsmagick hdf5 lapack pcre pstoedit qhull qrupdate readline suitesparse texinfo zlib
+ifeq ($(USE_SYSTEM_FONTCONFIG),no)
+  $(PKG)_FONTCONFIG := fontconfig
+endif
+$(PKG)_DEPS     := arpack curl fftw fltk $($(PKG)_FONTCONFIG) gl2ps glpk gnuplot graphicsmagick hdf5 lapack pcre pstoedit qhull qrupdate qscintilla qt readline suitesparse texinfo zlib
+ifeq ($(ENABLE_JIT),yes)
+  $(PKG)_DEPS += llvm
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --enable-jit
+else
+  $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --disable-jit
+endif
+
+ifeq ($(ENABLE_JAVA),no)
+  $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := --disable-java
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    ifeq ($(MXE_NATIVE_BUILD),no)
+      $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := \
+       --with-java-homedir="$(HOST_INCDIR)/java" \
+       --with-java-includedir="$(HOST_INCDIR)/java"
+     endif
+  endif
+endif
+
+ifeq ($(ENABLE_DOCS),yes)
+  $(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS := --enable-docs
+endif
+
+ifeq ($(ENABLE_OPENBLAS),yes)
+  $(PKG)_DEPS += openblas
+  $(PKG)_BLAS_OPTION := --with-blas=openblas
+else
+  $(PKG)_DEPS += blas
+endif
+
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)
+  ifeq ($(ENABLE_64),yes)
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64
+  endif
+else
+  ifeq ($(MXE_SYSTEM),mingw)
+    $(PKG)_CROSS_CONFIG_OPTIONS := \
+      FLTK_CONFIG='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config' \
+      gl_cv_func_gettimeofday_clobber=no
+    ifeq ($(ENABLE_64),yes)
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 ax_blas_f77_func_ok=yes
+    endif
+  endif
+endif
+
+ifeq ($(MXE_SYSTEM),msvc)
+  $(PKG)_PREFIX := '$(HOST_PREFIX)/local/$($(PKG)_SUBDIR)'
+  # - Enable atomic refcount (required for QtHandles)
+  # - Skip configure test for pow and sqrt, MSVC fails to compile them
+  #   because it uses intrinsics (with -O2 flag) and bump on the fake
+  #   "char FUNC()" forward declaration.
+  # - Override CFLAGS and CXXFLAGS to disable some warnings.
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    --enable-atomic-refcount \
+    ac_cv_func_pow=yes ac_cv_func_sqrt=yes \
+    CFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068' \
+    CXXFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068'
+else
+  $(PKG)_PREFIX := '$(HOST_PREFIX)'
+  $(PKG)_EXTRA_CONFIGURE_OPTIONS := \
+    LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR)'
+endif
+
 
 define $(PKG)_UPDATE
     echo 'Warning: Updates are temporarily disabled for package octave.' >&2;
@@ -15,16 +82,47 @@
 endef
 
 define $(PKG)_BUILD
+    # jni install
+    if [[ "$(MXE_SYSTEM)" == "mingw" && "$(MXE_NATIVE_BUILD)" == "no" ]]; then \
+      mkdir -p '$(HOST_INCDIR)/java/include'; \
+      $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/share/javavm/export/jni.h \
+        -O $(HOST_INCDIR)/java/include/jni.h; \
+      mkdir -p '$(HOST_INCDIR)/java/include/win32'; \
+      $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/windows/javavm/export/jni_md.h \
+        -O $(HOST_INCDIR)/java/include/win32/jni_md.h; \
+    fi
+
     mkdir '$(1)/.build'
-    cd '$(1)/.build' && '$(1)/configure' \
+    cd '$(1)' && autoreconf -W none
+    cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
+        $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --prefix='$(HOST_PREFIX)' \
-        FLTK_CONFIG="$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config" \
-        gl_cv_func_gettimeofday_clobber=no
+        --prefix='$($(PKG)_PREFIX)' \
+        $($(PKG)_BLAS_OPTION) \
+        $($(PKG)_CROSS_CONFIG_OPTIONS) \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS) \
+        $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \
+        PKG_CONFIG='$(MXE_PKG_CONFIG)' \
+        PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' \
+        && $(CONFIGURE_POST_HOOK)
 
     ## We want both of these install steps so that we install in the
     ## location set by the configure --prefix option, and the other
     ## in a directory tree that will have just Octave files.
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(TOP_DIR)/octave-stable install
+    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+
+    if [ "x$(ENABLE_DOCS)" == "xyes" ]; then \
+        $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(3) install-pdf install-html; \
+    fi
+
+    if [ $(MXE_SYSTEM) != msvc ]; then \
+        $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(TOP_DIR)/octave install; \
+    fi
+
+    # create a file with latest installed octave rev in it
+    echo "$($(PKG)_VERSION)" > $(TOP_DIR)/octave/octave-version
+
 endef