changeset 3015:ec6f91539788

initial support for --enable-64
author John W. Eaton <jwe@octave.org>
date Tue, 04 Jun 2013 12:33:15 -0400
parents b6c7244a2f66
children c94807091658
files Makefile src/arpack.mk src/blas.mk src/lapack.mk src/octave.mk src/qrupdate.mk
diffstat 6 files changed, 35 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Sun Jun 02 16:59:24 2013 -0400
+++ b/Makefile	Tue Jun 04 12:33:15 2013 -0400
@@ -40,6 +40,10 @@
 USE_PIC_FLAG := no
 #USE_PIC_FLAG := yes
 
+# Attempt to build Octave and dependencies with 64-bit indexing enabled.
+ENABLE_64 := no
+#ENABLE_64 := yes
+
 ## end of configuration variables.
 
 ifneq ($(MXE_NATIVE_BUILD),yes)
--- a/src/arpack.mk	Sun Jun 02 16:59:24 2013 -0400
+++ b/src/arpack.mk	Tue Jun 04 12:33:15 2013 -0400
@@ -13,6 +13,10 @@
   $(PKG)_CONFIGURE_PIC_OPTION := --with-pic
 endif
 
+ifeq ($(ENABLE_64),yes)
+  $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := FFLAGS="-g -O2 -fdefault-integer-8"
+endif
+
 define $(PKG)_UPDATE
     echo 'Warning: Updates are temporarily disabled for package arpack.' >&2;
     echo $(arpack_VERSION)
@@ -25,7 +29,8 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --enable-static --disable-shared \
 	$($(PKG)_CONFIGURE_PIC_OPTION) \
-        --prefix='$(HOST_PREFIX)'
+        --prefix='$(HOST_PREFIX)' \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS)
     $(MAKE) -C '$(1)/.build' -j '$(JOBS)'
 
     if [ $(BUILD_STATIC) = yes ]; then \
--- a/src/blas.mk	Sun Jun 02 16:59:24 2013 -0400
+++ b/src/blas.mk	Tue Jun 04 12:33:15 2013 -0400
@@ -10,12 +10,16 @@
 $(PKG)_URL_2    := ftp://ftp.eq.uc.pt/pub/software/math/netlib/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     := gcc
 
+ifeq ($(ENABLE_64),yes)
+  $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
+endif
+
 define $(PKG)_UPDATE
     echo 1
 endef
 
 define $(PKG)_BUILD
-    $(SED) -i 's,$$(FORTRAN),$(MXE_F77) $(MXE_F77_PICFLAG),g' '$(1)/Makefile'
+    $(SED) -i 's,$$(FORTRAN),$(MXE_F77) $(MXE_F77_PICFLAG) $($(PKG)_DEFAULT_INTEGER_8_FLAG),g' '$(1)/Makefile'
     $(MAKE) -C '$(1)' -j '$(JOBS)'
     cd '$(1)' && $(MXE_AR) cr libblas.a *.o
 
--- a/src/lapack.mk	Sun Jun 02 16:59:24 2013 -0400
+++ b/src/lapack.mk	Tue Jun 04 12:33:15 2013 -0400
@@ -9,6 +9,10 @@
 $(PKG)_URL_2    := ftp://ftp.eq.uc.pt/pub/software/math/netlib/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     := gcc
 
+ifeq ($(ENABLE_64),yes)
+  $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
+endif
+
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://www.netlib.org/lapack/' | \
     $(SED) -n 's_.*>LAPACK, version \([0-9]\.[0-9]\.[0-9]\).*_\1_ip' | \
@@ -20,6 +24,7 @@
         -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
         -DCMAKE_AR='$(MXE_AR)' \
         -DCMAKE_RANLIB='$(MXE_RANLIB)' \
+        -DCMAKE_Fortran_FLAGS='$($(PKG)_DEFAULT_INTEGER_8_FLAG)' \
         .
-    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' install
+    $(MAKE) -C '$(1)/SRC' -j '$(JOBS)' VERBOSE=1 install
 endef
--- a/src/octave.mk	Sun Jun 02 16:59:24 2013 -0400
+++ b/src/octave.mk	Tue Jun 04 12:33:15 2013 -0400
@@ -11,11 +11,17 @@
 
 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/$(TARGET)-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
 
@@ -32,7 +38,8 @@
         LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR)' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         --prefix='$(HOST_PREFIX)' \
-	$($(PKG)_CROSS_CONFIG_OPTIONS)
+	$($(PKG)_CROSS_CONFIG_OPTIONS) \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS)
 
     ## We want both of these install steps so that we install in the
     ## location set by the configure --prefix option, and the other
--- a/src/qrupdate.mk	Sun Jun 02 16:59:24 2013 -0400
+++ b/src/qrupdate.mk	Tue Jun 04 12:33:15 2013 -0400
@@ -9,6 +9,10 @@
 $(PKG)_URL      := http://sourceforge.net/projects/qrupdate/files/$($(PKG)_FILE)
 $(PKG)_DEPS     := blas lapack
 
+ifeq ($(ENABLE_64),yes)
+  $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := FFLAGS="-g -O2 -fdefault-integer-8"
+endif
+
 define $(PKG)_UPDATE
     echo 'Warning: Updates are temporarily disabled for package qrupdate.' >&2;
     echo $(qrupdate_VERSION)
@@ -21,7 +25,8 @@
     chmod a+rx '$(1)/configure'
     cd '$(1)/.build' && '$(1)/configure' \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        --prefix='$(HOST_PREFIX)'
+        --prefix='$(HOST_PREFIX)' \
+        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS)
 
     $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install
 endef