changeset 4353:ea4b8c35ac9d

[project @ 2003-02-21 21:04:41 by jwe]
author jwe
date Fri, 21 Feb 2003 21:04:41 +0000
parents 80b83de0aa2a
children dfd47756dda7
files ChangeLog configure.in src/ChangeLog src/ov.cc src/ov.h
diffstat 5 files changed, 65 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Feb 21 20:01:39 2003 +0000
+++ b/ChangeLog	Fri Feb 21 21:04:41 2003 +0000
@@ -1,5 +1,12 @@
 2003-02-21  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
+	* configure.in: Allow RLD_FLAG to be set using --enable-rpath arg.
+
+	* configure.in: Fix default RLD_FLAG value for *-sgi-*.  From 
+	Paul Kienzle <pkienzle@users.sf.net>.
+
+	* configure.in: Check for long long int and unsigned long long int.
+
 	* configure.in (AH_BOTTOM): Define HAVE_PLACEMENT_DELETE for gcc
 	3.2 and later.
 
--- a/configure.in	Fri Feb 21 20:01:39 2003 +0000
+++ b/configure.in	Fri Feb 21 21:04:41 2003 +0000
@@ -22,7 +22,7 @@
 ### 02111-1307, USA. 
 
 AC_INIT
-AC_REVISION($Revision: 1.415 $)
+AC_REVISION($Revision: 1.416 $)
 AC_PREREQ(2.52)
 AC_CONFIG_SRCDIR([src/octave.cc])
 AC_CONFIG_HEADER(config.h)
@@ -637,10 +637,15 @@
   AC_MSG_ERROR([You can't disable building static AND shared libraries!])
 fi
 
-use_rpath=true
 AC_ARG_ENABLE(rpath,
-  [  --enable-rpath          add -rpath to link command for shared libraries],
-  [if test "$enableval" = no; then use_rpath=false; fi], [])
+  [  --enable-rpath          override the default link options for rpath;
+                            e.g., --with-rpath='-rpath $(octlibdir)'],
+  [ if test "$enableval" = no; then use_rpath=false;
+    else
+      use_rpath=true
+      if test "$enableval" = yes; then true;
+      else enable_rpath_arg="$enableval"; fi
+    fi], [use_rpath=false])
 
 DLFCN_DIR=
 CPICFLAG=-fPIC
@@ -730,7 +735,7 @@
     CPICFLAG=
     CXXPICFLAG=
     FPICFLAG=
-    RLD_FLAG='-L$(octlibdir)'
+    RLD_FLAG='-rpath $(octlibdir)'
   ;;
   sparc-sun-sunos4*)
     if test "$ac_cv_f77_compiler_gnu" = yes; then
@@ -772,9 +777,11 @@
 esac
 
 if $use_rpath; then
-  true
+  if test -n "$enable_rpath_arg"; then
+    RLD_FLAG="$enable_rpath_arg"
+  fi
 else
-  RLD_FLAG=
+  RLD_FLAG=""
 fi
 
 AC_MSG_RESULT([defining FPICFLAG to be $FPICFLAG])
@@ -828,6 +835,17 @@
 AC_CHECK_FUNCS(gethostname, [], [AC_CHECK_LIB(socket, gethostname)])
 AC_CHECK_FUNCS(getpwnam, [], [AC_CHECK_LIB(sun, getpwnam)])
 
+### Type stuff.
+
+AC_TYPE_MODE_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_UID_T
+AC_CHECK_TYPES([dev_t, ino_t, nlink_t, nlink_t])
+AC_CHECK_TYPES([long long int, unsigned long long int])
+AC_CHECK_TYPES([sigset_t, sig_atomic_t], , , [#include <signal.h>])
+
 ### How big are ints and how are they oriented?  These could probably
 ### be eliminated in favor of run-time checks.
 
@@ -1165,16 +1183,6 @@
 OCTAVE_SIGNAL_CHECK
 OCTAVE_REINSTALL_SIGHANDLERS
 
-### Type stuff.
-
-AC_TYPE_MODE_T
-AC_TYPE_OFF_T
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
-AC_TYPE_UID_T
-AC_CHECK_TYPES([dev_t, ino_t, nlink_t, nlink_t])
-AC_CHECK_TYPES([sigset_t, sig_atomic_t], , , [#include <signal.h>])
-
 ### A system dependent kluge or two.
 
 AC_CHECK_FUNCS(getrusage times)
--- a/src/ChangeLog	Fri Feb 21 20:01:39 2003 +0000
+++ b/src/ChangeLog	Fri Feb 21 21:04:41 2003 +0000
@@ -1,5 +1,8 @@
 2003-02-21  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
+	* ov.h, ov.cc (octave_value (long long int)): New constructor.
+	(octave_value (unsigned long long int)): Likewise.
+
 	* oct-obj.h (octave_value_list::operator delete): Handle systems
 	with or without placement delete.
 
--- a/src/ov.cc	Fri Feb 21 20:01:39 2003 +0000
+++ b/src/ov.cc	Fri Feb 21 21:04:41 2003 +0000
@@ -383,6 +383,22 @@
   rep->count = 1;
 }
 
+#if defined (HAVE_LONG_LONG_INT)
+octave_value::octave_value (long long int i)
+  : rep (new octave_scalar (i))
+{
+  rep->count = 1;
+}
+#endif
+
+#if defined (HAVE_UNSIGNEDLONG_LONG_INT)
+octave_value::octave_value (unsigned long long int i)
+  : rep (new octave_scalar (i))
+{
+  rep->count = 1;
+}
+#endif
+
 octave_value::octave_value (octave_time t)
   : rep (new octave_scalar (t))
 {
--- a/src/ov.h	Fri Feb 21 20:01:39 2003 +0000
+++ b/src/ov.h	Fri Feb 21 21:04:41 2003 +0000
@@ -165,6 +165,20 @@
   octave_value (unsigned int i);
   octave_value (long int i);
   octave_value (unsigned long int i);
+
+  // XXX FIXME XXX -- these are kluges.  They turn into doubles
+  // internally, which will break for very large values.  We just use
+  // them to store things like 64-bit ino_t, etc, and hope that those
+  // values are never actually larger than can be represented exactly
+  // in a double.
+
+#if defined (HAVE_LONG_LONG_INT)
+  octave_value (long long int i);
+#endif
+#if defined (HAVE_UNSIGNEDLONG_LONG_INT)
+  octave_value (unsigned long long int i);
+#endif
+
   octave_value (octave_time t);
   octave_value (double d);
   octave_value (const Cell& m);