changeset 4304:0db33a326eec

make --enable-64 the default new configure option --enable-fortran-int64
author John W. Eaton <jwe@octave.org>
date Fri, 30 Dec 2016 16:02:18 -0500
parents eac52a8a7822
children 17f36188049d
files Makefile.in configure.ac src/arpack.mk src/blas.mk src/default-octave.mk src/itsol.mk src/lapack.mk src/openblas.mk src/qrupdate.mk src/suitesparse.mk
diffstat 10 files changed, 42 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Fri Dec 30 22:26:22 2016 -0500
+++ b/Makefile.in	Fri Dec 30 16:02:18 2016 -0500
@@ -47,14 +47,15 @@
 # binaries that require a 64-bit Windows system.
 ENABLE_WINDOWS_64 := @ENABLE_WINDOWS_64@
 
-# Attempt to build Octave and dependencies with 64-bit indexing
-# enabled (experimental; requires 64-bit system and compiler).
-# Note that 64-bit indexing is NOT required simply because you have
-# 64-bit operating system.  Building Octave with 64-bit indexing is
-# still experimental, so enabling this option is discouraged unless
-# you know what you are doing.
+# Build Octave with 64-bit indexing enabled (This is the default).
 ENABLE_64 := @ENABLE_64@
 
+# Build Fortran (and other) numerical library dependencies with
+# 64-bit indexing enabled (experimental; requires 64-bit system and
+# compiler).  The usual configuration is to build with ENABLE_64 but
+# not ENABLE_FORTRAN_INT64.
+ENABLE_FORTRAN_INT64 := @ENABLE_FORTRAN_INT64@
+
 # create binary octave forge tools.
 # if cross, compiling, this also means we will attempt to create cross mkoctfile
 ENABLE_BINARY_PACKAGES := @ENABLE_BINARY_PACKAGES@
--- a/configure.ac	Fri Dec 30 22:26:22 2016 -0500
+++ b/configure.ac	Fri Dec 30 16:02:18 2016 -0500
@@ -86,18 +86,27 @@
     [build a Windows 64 cross compiler; resulting build will work only on 64-bit Windows systems])],
   [if test "$enableval" = yes; then ENABLE_WINDOWS_64=yes; fi], [])
 
-ENABLE_64=no
+ENABLE_64=yes
 AC_ARG_ENABLE(64,
-  [AS_HELP_STRING([--enable-64],
-    [(EXPERIMENTAL) use 64-bit integers for array dimensions and indexing])],
-  [if test "$enableval" = yes; then ENABLE_64=yes; fi], [])
+  [AS_HELP_STRING([--disable-64],
+    [don't use 64-bit integers for array dimensions and indexing])],
+  [if test "$enableval" = no; then ENABLE_64=no; fi], [])
 
-if test "$ENABLE_64" = yes && test "$ENABLE_WINDOWS_64" = no; then
-  AC_MSG_WARN([--enable-64 implies --enable-windows-64])
-  ENABLE_WINDOWS_64=yes
+ENABLE_FORTRAN_INT64=no
+AC_ARG_ENABLE(FORTRAN_INT64,
+  [AS_HELP_STRING([--enable-fortran-int64],
+    [use 64-bit integers for fortran (and other) numerical library code])],
+  [if test "$enableval" = yes; then ENABLE_FORTRAN_INT64=yes; fi], [])
+
+if test "$ENABLE_64" = yes || test "$ENABLE_FORTRAN_INT64" = yes; then
+  if test "$ENABLE_WINDOWS_64" = no; then
+    AC_MSG_WARN([--enable-64 or --enable-fortran-int64 implies --enable-windows-64])
+    ENABLE_WINDOWS_64=yes
+  fi
 fi
 
 AC_SUBST(ENABLE_64)
+AC_SUBST(ENABLE_FORTRAN_INT64)
 AC_SUBST(ENABLE_WINDOWS_64)
 
 BUILD_SHARED=yes
--- a/src/arpack.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/arpack.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -23,7 +23,7 @@
   $(PKG)_CONFIGURE_PIC_OPTION := --with-pic
 endif
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := FFLAGS="-g -O2 -fdefault-integer-8"
 endif
 
--- a/src/blas.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/blas.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -11,7 +11,7 @@
 $(PKG)_URL_2    := ftp://ftp.eq.uc.pt/pub/software/math/netlib/$(PKG)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
 endif
 
--- a/src/default-octave.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/default-octave.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -80,7 +80,10 @@
 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 --without-qhull F77_INTEGER_8_FLAG=-fdefault-integer-8
+    $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 --without-qhull
+  endif
+  ifeq ($(ENABLE_FORTRAN_INT64),yes)
+    F77_INTEGER_8_FLAG=-fdefault-integer-8
   endif
 else
   ifeq ($(MXE_SYSTEM),mingw)
@@ -88,7 +91,10 @@
       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 --without-qhull F77_INTEGER_8_FLAG=-fdefault-integer-8 ax_blas_f77_func_ok=yes
+      $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 --without-qhull
+    endif
+    ifeq ($(ENABLE_FORTRAN_INT64),yes)
+      $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := F77_INTEGER_8_FLAG=-fdefault-integer-8 ax_blas_f77_func_ok=yes ax_blas_integer_size=8 octave_cv_sizeof_fortran_integer=8"
     endif
   endif
 endif
@@ -157,6 +163,7 @@
         --enable-install-build-logs \
         $($(PKG)_CROSS_CONFIG_OPTIONS) \
         $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \
+        $($(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS) \
         $($(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS) \
         $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \
         $($(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS) \
--- a/src/itsol.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/itsol.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -10,7 +10,7 @@
 $(PKG)_URL      := http://www-users.cs.umn.edu/~saad/software/ITSOL/itsol.php
 $(PKG)_DEPS     := blas
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
 endif
 
--- a/src/lapack.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/lapack.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -16,7 +16,7 @@
   $(PKG)_BLAS_CONFIG_OPTS := -DBLAS_LIBRARIES="-L$(HOST_PREFIX)/lib -lblas"
 endif
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_DEFAULT_INTEGER_8_FLAG := -fdefault-integer-8
 endif
 
--- a/src/openblas.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/openblas.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -19,7 +19,7 @@
   $(PKG)_MAKE_OPTS += NO_CBLAS=1 USE_THREAD=1 CC=$(MXE_CC) FC=$(MXE_F77) HOSTCC=gcc HOSTFC=gfortran CROSS=1 CROSS_SUFFIX=$(MXE_TOOL_PREFIX)
 endif
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   $(PKG)_MAKE_OPTS += BINARY=64 INTERFACE64=1
 endif
 
--- a/src/qrupdate.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/qrupdate.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -10,8 +10,8 @@
 $(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"
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
+  $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := FFLAGS="-g -O2 -fdefault-integer-8"
 endif
 
 define $(PKG)_UPDATE
@@ -30,7 +30,8 @@
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
 	$(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
-        $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) && $(CONFIGURE_POST_HOOK)
+        $($(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS) \
+          && $(CONFIGURE_POST_HOOK)
 
     $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
 endef
--- a/src/suitesparse.mk	Fri Dec 30 22:26:22 2016 -0500
+++ b/src/suitesparse.mk	Fri Dec 30 16:02:18 2016 -0500
@@ -41,7 +41,7 @@
 
 $(PKG)_CPPFLAGS := -DNTIMER
 
-ifeq ($(ENABLE_64),yes)
+ifeq ($(ENABLE_FORTRAN_INT64),yes)
   ifeq ($(MXE_WINDOWS_BUILD),yes)
     $(PKG)_CPPFLAGS += -DLONGBLAS='long long'
   else