changeset 2439:dc870b8b229f

[project @ 1996-10-30 07:57:31 by jwe]
author jwe
date Wed, 30 Oct 1996 07:58:24 +0000
parents adde4cb6b15d
children d95b5eb82e22
files ChangeLog Makeconf.in PROJECTS configure.in octMakefile.in src/ChangeLog src/defaults.cc src/defaults.h.in src/toplev.cc
diffstat 9 files changed, 89 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Wed Oct 30 01:04:13 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* octMakefile.in (DIRS_TO_MAKE): Add localarchlibdir to list.
+
+	* configure.in (localarchlibdir): New variable.
+	* Makeconf.in (localarchlibdir): Substitute it.
+	(do-subst-default-vals): Likewise.
+
+Sun Oct 27 14:03:36 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* Makeconf.in (do-subst-config-vals): Split into two sed commands
+	to try to avoid fixed limits in some seds and/or systems.
+
 Fri Oct 25 01:13:45 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* config.h.bot: Add definition for GCC_ATTRIBUTE_UNUSED.
--- a/Makeconf.in
+++ b/Makeconf.in
@@ -206,6 +206,10 @@
 # for multiple versions of Octave may be installed at once.
 archlibdir = @archlibdir@
 
+# Where to put executables to be run by Octave rather than by the
+# user that are specific to this site.
+localarchlibdir = @localarchlibdir@
+
 # Where to put object files that will by dynamically loaded.
 # This path usually includes the Octave version and configuration
 # name, so that multiple configurations for multiple versions of
@@ -300,7 +304,7 @@
 
 define do-subst-config-vals
 echo "making $@ from $<"
-sed < $< > $@.tmp \
+sed < $< \
   -e "s;%VERSION%;\"${version}\";" \
   -e "s;%config_opts%;\"${config_opts}\";" \
   -e "s;%TARGET_HOST_TYPE%;\"${target_host_type}\";" \
@@ -332,8 +336,8 @@
   -e "s;%LIBS%;\"${LIBS}\";" \
   -e "s;%LEXLIB%;\"${LEXLIB}\";" \
   -e "s;%LIBPLPLOT%;\"${LIBPLPLOT}\";" \
-  -e "s;%LIBDLFCN%;\"${LIBDLFCN}\";" \
-  -e "s;%DEFS%;\"${UGLY_DEFS}\";"
+  -e "s;%LIBDLFCN%;\"${LIBDLFCN}\";" | sed \
+  -e "s;%DEFS%;\"${UGLY_DEFS}\";" > $@.tmp
 $(top_srcdir)/move-if-change $@.tmp $@
 endef
 
@@ -351,6 +355,7 @@
   -e "s;%OCTAVE_LOCALFCNFILEDIR%;\"${localfcnfiledir}\";" \
   -e "s;%OCTAVE_LOCALFCNFILEPATH%;\"${localfcnfilepath}\";" \
   -e "s;%OCTAVE_ARCHLIBDIR%;\"${archlibdir}\";" \
+  -e "s;%OCTAVE_LOCALARCHLIBDIR%;\"${localarchlibdir}\";" \
   -e "s;%OCTAVE_OCTFILEDIR%;\"${octfiledir}\";" \
   -e "s;%OCTAVE_LOCALOCTFILEPATH%;\"${localoctfilepath}\";" \
   -e "s;%OCTAVE_FCNFILEPATH%;\"${fcnfilepath}\";" \
--- a/PROJECTS
+++ b/PROJECTS
@@ -65,6 +65,10 @@
 
   * Optional inputs for fsqp.
 
+  * Allow parameters to be passed through the call to fsolve() to the
+    user-supplied function for Matlab compatibility.  Don't place an
+    upper limit on the number of arguments.
+
   * If possible, make economy QR factorization actually take advantage
     of the form of the result instead of just dropping columns.
     Lapack doesn't appear to do this yet.
@@ -73,6 +77,9 @@
 
   * Improve design of ODE, DAE, classes.
 
+  * Make it possible to specify a time which dassl and lsode should
+    not integrate past.
+
   * Extend meaning of .* to include v .* M or M .* v (where v is a
     column vector with the same number of rows as M) to scale rows of
     M by elements of v.  Similarly, if w is a row vector with as many
@@ -365,6 +372,8 @@
 
   * Make whos report total memory used by variables (and functions?).
 
+  * Rewrite whos and the symbol_record_info class.
+
 -------
 History:
 -------
--- a/configure.in
+++ b/configure.in
@@ -20,7 +20,7 @@
 ### along with Octave; see the file COPYING.  If not, write to the Free
 ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
-AC_REVISION($Revision: 1.220 $)
+AC_REVISION($Revision: 1.221 $)
 AC_PREREQ(2.9)
 AC_INIT(src/octave.cc)
 AC_CONFIG_HEADER(config.h)
@@ -50,6 +50,7 @@
 localfcnfiledir='$(datadir)/octave/site/m'
 localfcnfilepath='$(localfcnfiledir)//'
 archlibdir='$(libexecdir)/octave/$(version)/exec/$(target_host_type)'
+localarchlibdir='$(libexecdir)/octave/site/exec/$(target_host_type)'
 octfiledir='$(libexecdir)/octave/$(version)/oct/$(target_host_type)'
 localoctfiledir='$(libexecdir)/octave/site/oct/$(target_host_type)'
 localoctfilepath='$(localoctfiledir)//'
@@ -73,6 +74,7 @@
 AC_MSG_RESULT([defining localfcnfiledir to be $localfcnfiledir])
 AC_MSG_RESULT([defining localfcnfilepath to be $localfcnfilepath])
 AC_MSG_RESULT([defining archlibdir to be $archlibdir])
+AC_MSG_RESULT([defining localarchlibdir to be $localarchlibdir])
 AC_MSG_RESULT([defining octfiledir to be $octfiledir])
 AC_MSG_RESULT([defining localoctfiledir to be $localoctfiledir])
 AC_MSG_RESULT([defining localoctfilepath to be $localoctfilepath])
@@ -95,6 +97,7 @@
 AC_SUBST(localfcnfiledir)
 AC_SUBST(localfcnfilepath)
 AC_SUBST(archlibdir)
+AC_SUBST(localarchlibdir)
 AC_SUBST(octfiledir)
 AC_SUBST(localoctfiledir)
 AC_SUBST(localoctfilepath)
--- a/octMakefile.in
+++ b/octMakefile.in
@@ -53,7 +53,7 @@
 CLEANSUBDIRS = $(DISTSUBDIRS) glob kpathsea
 
 DIRS_TO_MAKE = $(bindir) $(libdir) $(octincludedir) $(fcnfiledir) \
-  $(octfiledir) $(archlibdir) \
+  $(octfiledir) $(archlibdir) $(localarchlibdir) \
   `echo $(localfcnfilepath) | awk -F: '{for (i=1; i<=NF; i++) print $i}'` \
   `echo $(localoctfilepath) | awk -F: '{for (i=1; i<=NF; i++) print $i}'`
 
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+Wed Oct 30 01:06:19 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* derfaults.h.in, defaults.cc (local_arch_lib_dir): New variable.
+	* defaults.cc (set_default_local_arch_lib_dir): New function.
+	(install_defaults): Call it.
+	(exec_path): Use Vlocal_arch_lib_dir here.
+	* toplev.cc (octave_config_info): Add localarchlibdir to structure.
+
 Tue Oct 29 15:54:27 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* Makefile.in (install-oct): Don't do anything if $(OCT_FILES) is
--- a/src/defaults.cc
+++ b/src/defaults.cc
@@ -32,6 +32,8 @@
 #include <config.h>
 #endif
 
+#include <iostream.h>
+
 #include <cstdlib>
 
 #include <string>
@@ -57,6 +59,7 @@
 string Vlib_dir;
 string Vinfo_dir;
 string Varch_lib_dir;
+string Vlocal_arch_lib_dir;
 string Vfcn_file_dir;
 
 // The path that will be searched for programs that we execute.
@@ -119,6 +122,12 @@
 }
 
 static void
+set_default_local_arch_lib_dir (void)
+{
+  Vlocal_arch_lib_dir = subst_octave_home (OCTAVE_LOCALARCHLIBDIR);
+}
+
+static void
 set_default_fcn_file_dir (void)
 {
   Vfcn_file_dir = subst_octave_home (OCTAVE_FCNFILEDIR);
@@ -258,6 +267,8 @@
 
   set_default_arch_lib_dir ();
 
+  set_default_local_arch_lib_dir ();
+
   set_default_fcn_file_dir ();
 
   set_default_bin_dir ();
@@ -302,15 +313,24 @@
 {
   int status = 0;
 
-  if (Vexec_path.empty ())
+  string s = builtin_string_variable ("EXEC_PATH");
+
+  if (s.empty ())
     {
       gripe_invalid_value_specified ("EXEC_PATH");
       status = -1;
     }
   else
     {
-      int len = Varch_lib_dir.length () + Vbin_dir.length ()
-	+ strlen (SEPCHAR_STR); 
+      Vexec_path = s;
+
+      string std_path = Vlocal_arch_lib_dir;
+      std_path.append (SEPCHAR_STR);
+      std_path.append (Varch_lib_dir);
+      std_path.append (SEPCHAR_STR);
+      std_path.append (Vbin_dir);
+
+      int std_len = std_path.length ();
 
       static char *putenv_cmd = 0;
 
@@ -325,50 +345,47 @@
 	  int prepend = (Vexec_path[0] == ':');
 	  int append = (eplen > 1 && Vexec_path[eplen-1] == ':');
 
+	  cerr << eplen << ", " << Vexec_path[eplen-1] << "\n";
+
 	  if (prepend)
 	    {
 	      if (append)
 		{
-		  putenv_cmd = new char [2 * len + eplen + 6];
-		  sprintf (putenv_cmd,
-			   "PATH=%s" SEPCHAR_STR "%s%s%s" SEPCHAR_STR "%s",
-			   Varch_lib_dir.c_str (), Vbin_dir.c_str (),
-			   Vexec_path.c_str (), Varch_lib_dir.c_str (),
-			   Vbin_dir.c_str ());
+		  putenv_cmd = new char [2 * std_len + eplen + 6];
+		  sprintf (putenv_cmd, "PATH=%s%s%s",
+			   std_path.c_str (), Vexec_path.c_str (),
+			   std_path.c_str ());
 		}
 	      else
 		{
-		  putenv_cmd = new char [len + eplen + 6];
-		  sprintf (putenv_cmd,
-			   "PATH=%s" SEPCHAR_STR "%s%s",
-			   Varch_lib_dir.c_str (), Vbin_dir.c_str (),
-			   Vexec_path.c_str ());
+		  putenv_cmd = new char [std_len + eplen + 6];
+		  sprintf (putenv_cmd, "PATH=%s%s",
+			   std_path.c_str (), Vexec_path.c_str ());
 		}
 	    }
 	  else
 	    {
 	      if (append)
 		{
-		  putenv_cmd = new char [len + eplen + 6];
-		  sprintf (putenv_cmd,
-			   "PATH=%s%s" SEPCHAR_STR "%s",
-			   Vexec_path.c_str (), Varch_lib_dir.c_str (),
-			   Vbin_dir.c_str ());
+		  putenv_cmd = new char [std_len + eplen + 6];
+		  sprintf (putenv_cmd, "PATH=%s%s",
+			   Vexec_path.c_str (), std_path.c_str ());
 		}
 	      else
 		{
-		  putenv_cmd = new char [len + eplen + 6];
+		  putenv_cmd = new char [eplen + 6];
 		  sprintf (putenv_cmd, "PATH=%s", Vexec_path.c_str ());
 		}
 	    }
 	}
       else
 	{
-	  putenv_cmd = new char [len+6];
-	  sprintf (putenv_cmd, "PATH=%s" SEPCHAR_STR "%s",
-		   Varch_lib_dir.c_str (), Vbin_dir.c_str ());
+	  putenv_cmd = new char [std_len+6];
+	  sprintf (putenv_cmd, "PATH=%s", std_path.c_str ());
 	}
 
+      cerr << putenv_cmd << "\n";
+
       putenv (putenv_cmd);
     }
 
--- a/src/defaults.h.in
+++ b/src/defaults.h.in
@@ -78,6 +78,10 @@
 #define OCTAVE_ARCHLIBDIR %OCTAVE_ARCHLIBDIR%
 #endif
 
+#ifndef OCTAVE_LOCALARCHLIBDIR
+#define OCTAVE_LOCALARCHLIBDIR %OCTAVE_LOCALARCHLIBDIR%
+#endif
+
 #ifndef OCTAVE_OCTFILEDIR
 #define OCTAVE_OCTFILEDIR %OCTAVE_OCTFILEDIR%
 #endif
@@ -120,6 +124,7 @@
 extern string Vlib_dir;
 extern string Vinfo_dir;
 extern string Varch_lib_dir;
+extern string Vlocal_arch_lib_dir;
 extern string Vfcn_file_dir;
 
 // The path that will be searched for programs that we execute.
--- a/src/toplev.cc
+++ b/src/toplev.cc
@@ -792,6 +792,7 @@
   m ["startupfiledir"] = OCTAVE_STARTUPFILEDIR;
   m ["localfcnfilepath"] = OCTAVE_LOCALFCNFILEPATH;
   m ["archlibdir"] = OCTAVE_ARCHLIBDIR;
+  m ["localarchlibdir"] = OCTAVE_LOCALARCHLIBDIR;
   m ["octfiledir"] = OCTAVE_OCTFILEDIR;
   m ["localoctfilepath"] = OCTAVE_LOCALOCTFILEPATH;
   m ["fcnfilepath"] = OCTAVE_FCNFILEPATH;