changeset 1684:f85887dfe06c

[project @ 1995-12-30 03:46:07 by jwe]
author jwe
date Sat, 30 Dec 1995 03:51:15 +0000
parents 5282f171363d
children 5738406d6759
files src/Makefile.in src/balance.cc src/chol.cc src/colloc.cc src/dassl.cc src/defun-dld.h src/det.cc src/eig.cc src/expm.cc src/fft.cc src/fft2.cc src/filter.cc src/find.cc src/fsolve.cc src/fsqp.cc src/givens.cc src/hess.cc src/ifft.cc src/ifft2.cc src/inv.cc src/log.cc src/lpsolve.cc src/lsode.cc src/lu.cc src/minmax.cc src/npsol.cc src/octave.cc src/pinv.cc src/qpsol.cc src/qr.cc src/quad.cc src/qzval.cc src/rand.cc src/schur.cc src/sort.cc src/svd.cc src/syl.cc
diffstat 37 files changed, 200 insertions(+), 713 deletions(-) [+]
line wrap: on
line diff
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -40,33 +40,58 @@
 	@echo making $@ from $<
 	@$(CXXCPP) -c $(CPPFLAGS) $(XALL_CXXFLAGS) -DMAKE_BUILTINS $< \
 	  | $(srcdir)/mkdefs > $@.tmp
-	@if test `wc $@.tmp | sed 's%[^0-9]*\([0-9]*\).*%\1%'` -ne 0 ; then \
-	  mv $@.tmp $@ ; \
-	else \
-	  echo "error: $@ is empty!" 1>&2 ; \
-	  rm -f $@.tmp ; \
-	  exit 1 ; \
-	fi
+	@mv $@.tmp $@
+
+# How to make a .oct file from a .o file:
 
-DLD_SRC := f-balance.cc f-chol.cc f-colloc.cc f-dassl.cc f-det.cc \
-	f-eig.cc f-expm.cc f-fft.cc f-fft2.cc f-filter.cc f-find.cc \
-	f-fsolve.cc f-fsqp.cc f-givens.cc f-hess.cc f-ifft.cc \
-	f-ifft2.cc f-inv.cc f-log.cc f-lpsolve.cc f-lsode.cc f-lu.cc \
-	f-minmax.cc f-npsol.cc f-pinv.cc f-qpsol.cc f-qr.cc f-quad.cc \
-	f-qzval.cc f-rand.cc f-schur.cc f-sort.cc f-svd.cc f-syl.cc
+ifdef CXXPICFLAG
+%.oct: pic/%.o
+	$(CXX) -shared -o $@ $< \
+	  $(OCTAVE_LFLAGS) \
+	  $(OCTAVE_LIBS) \
+	  $(FLIBS) $(LEXLIB) $(TERMLIBS) $(LIBS) -lg++
+else
+%.oct: %.o
+	$(CXX) -shared -o $@ $< \
+	  $(OCTAVE_LFLAGS) \
+	  $(OCTAVE_LIBS) \
+	  $(FLIBS) $(LEXLIB) $(TERMLIBS) $(LIBS) -lg++
+endif
+
+DLD_SRC := balance.cc chol.cc colloc.cc dassl.cc det.cc eig.cc \
+	   expm.cc fft.cc fft2.cc filter.cc find.cc fsolve.cc \
+	   fsqp.cc givens.cc hess.cc ifft.cc ifft2.cc inv.cc log.cc \
+	   lpsolve.cc lsode.cc lu.cc minmax.cc npsol.cc pinv.cc \
+	   qpsol.cc qr.cc quad.cc qzval.cc rand.cc schur.cc sort.cc \
+	   svd.cc syl.cc
 
 DLD_OBJ := $(patsubst %.cc, %.o, $(DLD_SRC))
 
+ifeq ($(OCTAVE_LITE), true)
+  OCT_FILES := $(patsubst %.o, %.oct, $(DLD_OBJ))
+  ifdef CXXPICFLAG
+    DLD_PICOBJ := $(addprefix pic/, $(DLD_OBJ))
+  else
+    DLD_PICOBJ := $(DLD_OBJ)
+  endif
+  ifeq ($(WITH_DYNAMIC_LINKING), false)
+    DLD_STATIC_OBJ := $(DLD_OBJ)
+  endif
+else
+  DLD_STATIC_OBJ := $(DLD_OBJ)
+endif
+
 INCLUDES := arith-ops.h builtins.h defaults.h.in defun.h defun-dld.h \
 	defun-int.h dirfns.h dynamic-ld.h error.h file-info.h \
 	file-io.h fnmatch.h getopt.h gripes.h help.h input.h lex.h \
-	load-save.h mappers.h missing-math.h oct-gperf.h octave.h \
-	octave-hist.h oct-map.h oct-obj.h pager.h parse.h \
-	pathlen.h pathsearch.h pr-output.h procstream.h sighandlers.h \
+	load-save.h mappers.h missing-math.h oct-gperf.h \
+	octave-hist.h oct-map.h oct-obj.h pager.h parse.h pathlen.h \
+	pathsearch.h pr-output.h procstream.h sighandlers.h \
 	statdefs.h symtab.h sysdep.h sysdir.h systime.h syswait.h \
-	token.h tree-base.h tree-cmd.h tree-const.h tree-expr.h \
-	tree-misc.h tree-plot.h unwind-prot.h user-prefs.h utils.h \
-	variables.h version.h xdiv.h xpow.h Map.h SLStack.h Stack.h 
+	token.h toplev.h tree-base.h tree-cmd.h tree-const.h \
+	tree-expr.h tree-misc.h tree-plot.h unwind-prot.h \
+	user-prefs.h utils.h variables.h version.h xdiv.h xpow.h \
+	Map.h SLStack.h Stack.h  
 
 TI_SRC := Array-tc.cc Map-tc.cc DLList-fi.cc \
 	SLList-expr.cc SLList-misc.cc SLList-plot.cc SLList-tc.cc \
@@ -75,26 +100,39 @@
 
 TI_OBJ := $(patsubst %.cc, %.o, $(TI_SRC))
 
+TI_PICOBJ := $(TI_OBJ)
+ifdef CXXPICFLAG
+  TI_PICOBJ := $(addprefix pic/, $(TI_OBJ))
+endif
+
 SOURCES := acosh.c arith-ops.cc asinh.c atanh.c data.cc dirfns.cc \
 	dynamic-ld.cc erf.c erfc.c error.cc file-info.cc file-io.cc \
 	filemode.c fnmatch.c getopt.c getopt1.c gripes.cc help.cc \
-	input.cc lex.l load-save.cc mappers.cc mkdir.c octave.cc \
-	octave-hist.cc oct-map.cc oct-obj.cc pager.cc \
-	parse.y pr-output.cc procstream.cc rename.c resource.cc \
-	rmdir.c sighandlers.cc strcasecmp.c strncase.c strfns.cc \
-	strftime.c symtab.cc sysdep.cc tempname.c timefns.cc \
-	tempnam.c token.cc tree-base.cc tree-cmd.cc tree-const.cc \
+	input.cc lex.l load-save.cc mappers.cc mkdir.c \
+	octave-hist.cc oct-map.cc oct-obj.cc pager.cc parse.y \
+	pr-output.cc procstream.cc rename.c resource.cc rmdir.c \
+	sighandlers.cc strcasecmp.c strncase.c strfns.cc strftime.c \
+	symtab.cc sysdep.cc tempname.c timefns.cc tempnam.c token.cc \
+	toplev.cc tree-base.cc tree-cmd.cc tree-const.cc \
 	tree-expr.cc tree-misc.cc tree-plot.cc unwind-prot.cc \
 	user-prefs.cc utils.cc variables.cc xdiv.cc xpow.cc
 
 TEMPLATE_SRC = Map.cc SLStack.cc
 
-OBJECTS_4 := $(SOURCES) builtins.o
+OBJECTS_4 := $(SOURCES)
 OBJECTS_3 := $(patsubst %.l, %.o, $(OBJECTS_4))
 OBJECTS_2 := $(patsubst %.y, %.o, $(OBJECTS_3))
 OBJECTS_1 := $(patsubst %.c, %.o, $(OBJECTS_2))
 OBJECTS := $(patsubst %.cc, %.o, $(OBJECTS_1))
 
+ifeq ($(SHARED_LIBS), true)
+  ifdef CXXPICFLAG
+    PICOBJ := $(addprefix pic/, $(OBJECTS))
+  else
+    PICOBJ := $(OBJECTS)
+  endif
+endif
+
 # Ugh.
 
 DEP_SOURCES_3 := $(SOURCES) $(DLD_SRC) $(TI_SRC) builtins.cc
@@ -110,38 +148,69 @@
 DEF_FILES_1 := $(patsubst %.l, %.def, $(DEF_FILES_2))
 DEF_FILES := $(patsubst %.cc, %.def, $(DEF_FILES_1))
 
-# Don't leave the LIBDLD thing on a line by itself.  It may expand to
-# nothing.
+OCTAVE_LFLAGS = -L../liboctave -L../libcruft -L../readline \
+	-L../kpathsea -L. $(RLD_FLAG)
 
-OCTAVE_LIBS = @LIBOCTDLD@ ../liboctave/liboctave.a libtinst.a \
-	../libcruft/libcruft.a @LIBREADLINE@ @LIBPLPLOT@ \
-	../kpathsea/kpathsea.a @LIBDLD@
+OCTAVE_LIBS = -loctinterp -loctave -ltinst -lcruft \
+	@LIBPLPLOT@ -lreadline -lkpathsea
+
+LIBS_TO_INSTALL = liboctinterp.a libtinst.a \
+	liboctinterp.$(SHLEXT) libtinst.$(SHLEXT)
 
 TERMLIBS = @TERMLIBS@
 
 LIBS = @LIBS@
 
-DISTFILES = Makefile.in mkdefs mkbuiltins octave.gperf parse.cc \
-	lex.cc y.tab.h safe-xstat.cin safe-xstat.hin \
+DISTFILES = Makefile.in mkdefs mkbuiltins octave.gperf octave.cc \
+	parse.cc lex.cc y.tab.h safe-xstat.cin safe-xstat.hin \
 	$(INCLUDES) $(DLD_SRC) $(SOURCES) $(TEMPLATE_SRC) $(TI_SRC)
 
-all: defaults.h safe-stat.h safe-lstat.h octave
+all: defaults.h safe-stat.h safe-lstat.h stamp-picdir libraries \
+	$(OCT_FILES) octave
 .PHONY: all
 
-octave: $(OBJECTS) $(DLD_OBJ) $(OCTAVE_LIBS) liboctdld.a
+octave: octave.o builtins.o $(DLD_STATIC_OBJ) libraries
 	$(CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(ALL_LDFLAGS) -o octave \
-	$(OBJECTS) \
+	octave.o builtins.o $(DLD_STATIC_OBJ) \
+	$(OCTAVE_LFLAGS) \
 	$(OCTAVE_LIBS) \
 	$(FLIBS) $(LEXLIB) $(TERMLIBS) $(LIBS) -lg++
 
-liboctdld.a: $(DLD_OBJ)
-	$(AR) $(ARFLAGS) liboctdld.a $(DLD_OBJ)
-	$(RANLIB) liboctdld.a
+
+stamp-picdir:
+	if [ -n "$(CPICFLAG)" ]; then \
+	  if [ -d pic ]; then true; else mkdir pic ; fi ; \
+	else true; fi
+	touch stamp-picdir
+
+libraries: liboctinterp.a libtinst.a stamp-interp stamp-tinst
+
+liboctinterp.a: $(OBJECTS)
+	$(AR) $(ARFLAGS) liboctinterp.a $(OBJECTS)
+	$(RANLIB) liboctinterp.a
 
 libtinst.a: $(TI_OBJ)
 	$(AR) $(ARFLAGS) libtinst.a $(TI_OBJ)
 	$(RANLIB) libtinst.a
 
+stamp-interp: $(PICOBJ)
+	if $(SHARED_LIBS); then \
+	  $(CXX) -shared -o liboctinterp.$(SHLEXT) $(PICOBJ) \
+	    $(OCTAVE_LFLAGS) \
+	    -loctave -lcruft -ltinst -lreadline -lkpathsea \
+	    $(TERMLIBS) $(LIBS) -lg++; \
+	else true; fi
+	touch stamp-interp
+
+stamp-tinst: $(TI_PICOBJ)
+	if $(SHARED_LIBS); then \
+	  $(CXX) -shared -o libtinst.$(SHLEXT) $(TI_PICOBJ) \
+	    $(OCTAVE_LFLAGS) \
+	    -loctinterp -loctave -lcruft -lreadline -lkpathsea \
+	    $(TERMLIBS) $(LIBS) -lg++; \
+	else true; fi
+	touch stamp-tinst
+
 builtins.cc: $(DEF_FILES) mkbuiltins
 	@echo making $@ from $(DEF_FILES)
 	@$(srcdir)/mkbuiltins $(DEF_FILES) > $@.tmp
@@ -154,15 +223,29 @@
 check: all
 .PHONY: check
 
-install: all
-	$(top_srcdir)/mkinstalldirs $(bindir) $(libdir)
+install: all install-bin install-lib install-oct
+.PHONY: install
+
+install-bin:
+	$(top_srcdir)/mkinstalldirs $(bindir)
 	rm -f $(bindir)/octave
 	$(INSTALL) octave $(bindir)/octave-$(version)
 	ln $(bindir)/octave-$(version) $(bindir)/octave
-	if $(OCTAVE_LITE) && $(WITH_DLD) ; then \
-	  $(INSTALL_DATA) liboctdld.a $(libdir)/liboctdld.a ; \
-	fi
-.PHONY: install
+.PHONY: install-bin
+
+install-lib:
+	$(top_srcdir)/mkinstalldirs $(libdir)
+	for f in $(LIBS_TO_INSTALL); do \
+	  if [ -f $$f ]; then $(INSTALL_DATA) $$f $(libdir)/$$f; fi; \
+	done
+.PHONY: install-lib
+
+install-oct:
+	$(top_srcdir)/mkinstalldirs $(octfiledir)
+	for f in $(OCT_FILES); do $(INSTALL_DATA) $$f $(octfiledir)/$$f; done
+	$(srcdir)/mk-oct-links $(octfiledir) \
+	  $(addprefix $(srcdir)/, $(DLD_SRC))
+.PHONY: install-oct
 
 uninstall:
 	rm -f $(bindir)/octave
--- a/src/balance.cc
+++ b/src/balance.cc
@@ -43,7 +43,7 @@
 #include "user-prefs.h"
 #include "utils.h"
 
-DEFUN_DLD_BUILTIN ("balance", Fbalance, Sbalance, 11,
+DEFUN_DLD_BUILTIN ("balance", Fbalance, Sbalance, FSbalance, 11,
   "AA = balance (A [, OPT]) or [[DD,] AA] =  balance (A [, OPT])\n\
 \n\
 generalized eigenvalue problem:\n\
--- a/src/chol.cc
+++ b/src/chol.cc
@@ -36,7 +36,7 @@
 #include "user-prefs.h"
 #include "utils.h"
 
-DEFUN_DLD_BUILTIN ("chol", Fchol, Schol, 11,
+DEFUN_DLD_BUILTIN ("chol", Fchol, Schol, FSchol, 11,
   "R = chol (X): cholesky factorization")
 {
   Octave_object retval;
--- a/src/colloc.cc
+++ b/src/colloc.cc
@@ -33,7 +33,7 @@
 #include "tree-const.h"
 #include "utils.h"
 
-DEFUN_DLD_BUILTIN ("colloc", Fcolloc, Scolloc, 10,
+DEFUN_DLD_BUILTIN ("colloc", Fcolloc, Scolloc, FScolloc, 10,
   "[R, A, B, Q] = colloc (N [, \"left\"] [, \"right\"]): collocation weights")
 {
   Octave_object retval;
--- a/src/dassl.cc
+++ b/src/dassl.cc
@@ -103,7 +103,7 @@
   return retval;
 }
 
-DEFUN_DLD_BUILTIN ("dassl", Fdassl, Sdassl, 10,
+DEFUN_DLD_BUILTIN ("dassl", Fdassl, Sdassl, FSdassl, 10,
   "dassl (\"function_name\", x_0, xdot_0, t_out)\n\
 dassl (F, X_0, XDOT_0, T_OUT, T_CRIT)\n\
 \n\
@@ -315,7 +315,8 @@
   return retval;
 }
 
-DEFUN_DLD_BUILTIN ("dassl_options", Fdassl_options, Sdassl_options, 10,
+DEFUN_DLD_BUILTIN ("dassl_options", Fdassl_options, Sdassl_options,
+		   FSdassl_options, 10,
   "dassl_options (KEYWORD, VALUE)\n\
 \n\
 Set or show options for dassl.  Keywords may be abbreviated\n\
--- a/src/defun-dld.h
+++ b/src/defun-dld.h
@@ -36,21 +36,13 @@
 // If Octave is not configured for dynamic linking of builtin
 // functions, this is exactly like DEFUN.
 
-#if defined (OCTAVE_LITE) && defined (MAKE_BUILTINS)
-#if defined (WITH_DLD)
-#define DEFUN_DLD_BUILTIN(name, fname, sname, unused_arg_flags, doc) \
-  BEGIN_INSTALL_BUILTIN \
-    DEFINE_FUN_STRUCT (name, 0, sname, unused_arg_flags, 0, doc); \
-    install_builtin_function (&sname); \
-  END_INSTALL_BUILTIN
-#else
-#define DEFUN_DLD_BUILTIN(name, fname, sname, unused_arg_flags, doc) \
-  BEGIN_INSTALL_BUILTIN \
-    const char *sname = name " not included with --enable-lite-kernel"; \
-  END_INSTALL_BUILTIN
+#if defined (OCTAVE_LITE) && defined (WITH_DYNAMIC_LINKING)
+#if ! defined (MAKE_BUILTINS)
+#define DEFUN_DLD_BUILTIN(name, fname, sname, fsname, unused_arg_flags, doc) \
+  DEFUN_DLD(name, fname, sname, fsname, unused_arg_flags, doc)
 #endif
 #else
-#define DEFUN_DLD_BUILTIN(name, fname, sname, unused_arg_flags, doc) \
+#define DEFUN_DLD_BUILTIN(name, fname, fsname, sname, unused_arg_flags, doc) \
   DEFUN_INTERNAL (name, fname, sname, unused_arg_flags, 0, doc)
 #endif
 
@@ -64,10 +56,10 @@
 
 #if ! defined (MAKE_BUILTINS)
 #define DEFUN_DLD(name, fname, sname, fsname, unused_arg_flags, doc) \
-  DECLARE_FUN (fname); \
-  DEFINE_FUN_STRUCT (name, fname, sname, unused_arg_flags, 0, doc); \
+  DECLARE_FUN_ ## unused_arg_flags(fname); \
+  DEFINE_FUN_STRUCT (name, fname, sname, 0, doc); \
   DEFINE_FUN_STRUCT_FUN (sname, fsname) \
-  DECLARE_FUN (fname)
+  DECLARE_FUN_ ## unused_arg_flags (fname)
 #endif
 
 #endif
--- a/src/det.cc
+++ b/src/det.cc
@@ -36,7 +36,7 @@
 #include "user-prefs.h"
 #include "utils.h"
 
-DEFUN_DLD_BUILTIN ("det", Fdet, Sdet, 10,
+DEFUN_DLD_BUILTIN ("det", Fdet, Sdet, FSdet, 10,
   "det (X): determinant of a square matrix")
 {
   Octave_object retval;
--- a/src/eig.cc
+++ b/src/eig.cc
@@ -35,7 +35,7 @@
 #include "user-prefs.h"
 #include "utils.h"
 
-DEFUN_DLD_BUILTIN ("eig", Feig, Seig, 11,
+DEFUN_DLD_BUILTIN ("eig", Feig, Seig, FSeig, 11,
   "eig (X) or [V, D] = eig (X): compute eigenvalues and eigenvectors of X")
 {
   Octave_object retval;
--- a/src/expm.cc
+++ b/src/expm.cc
@@ -55,7 +55,7 @@
 				   const int&, double*); 
 }
 
-DEFUN_DLD_BUILTIN ("expm", Fexpm, Sexpm, 10,
+DEFUN_DLD_BUILTIN ("expm", Fexpm, Sexpm, FSexpm, 10,
   "expm (X): matrix exponential, e^A")
 {
   Octave_object retval;
--- a/src/fft.cc
+++ b/src/fft.cc
@@ -38,7 +38,7 @@
 
 // This function should be merged with Fifft.
 
-DEFUN_DLD_BUILTIN ("fft", Ffft, Sfft, 10,
+DEFUN_DLD_BUILTIN ("fft", Ffft, Sfft, FSfft, 10,
   "fft (X [, N]): fast fourier transform of a vector")
 {
   Octave_object retval;
--- a/src/fft2.cc
+++ b/src/fft2.cc
@@ -38,7 +38,7 @@
 
 // This function should be merged with Fifft2.
 
-DEFUN_DLD_BUILTIN ("fft2", Ffft2, Sfft2, 10,
+DEFUN_DLD_BUILTIN ("fft2", Ffft2, Sfft2, FSfft2, 10,
   "fft2 (X [, N] [, M])\n\
 \n\
 two dimensional fast fourier transform of a vector")
--- a/src/filter.cc
+++ b/src/filter.cc
@@ -151,7 +151,7 @@
   return filter (b, a, x, si);
 }
 
-DEFUN_DLD_BUILTIN ("filter", Ffilter, Sfilter, 10,
+DEFUN_DLD_BUILTIN ("filter", Ffilter, Sfilter, FSfilter, 10,
   "usage: [y [, sf]] = filter (b, a, x [, si])\n\
 \n\
 y = filter (b, a, x) returns the solution to the following linear,\n\
--- a/src/find.cc
+++ b/src/find.cc
@@ -158,7 +158,7 @@
   return find_to_fortran_idx (i_idx, j_idx, tmp, m_nr, nargout);
 }
 
-DEFUN_DLD_BUILTIN ("find", Ffind, Sfind, 11,
+DEFUN_DLD_BUILTIN ("find", Ffind, Sfind, FSfind, 11,
   "find (X) or [I, J, V] = find (X): Return indices of nonzero elements")
 {
   Octave_object retval;
--- a/src/fsolve.cc
+++ b/src/fsolve.cc
@@ -119,7 +119,7 @@
   return retval;
 }
 
-DEFUN_DLD_BUILTIN ("fsolve", Ffsolve, Sfsolve, 11,
+DEFUN_DLD_BUILTIN ("fsolve", Ffsolve, Sfsolve, FSfsolve, 11,
   "Solve nonlinear equations using Minpack.  Usage:\n\
 \n\
   [X, INFO] = fsolve (F, X0)\n\
@@ -281,7 +281,8 @@
   return retval;
 }
 
-DEFUN_DLD_BUILTIN ("fsolve_options", Ffsolve_options, Sfsolve_options, 10,
+DEFUN_DLD_BUILTIN ("fsolve_options", Ffsolve_options, Sfsolve_options,
+		   FSfsolve_options, 10,
   "fsolve_options (KEYWORD, VALUE)\n\
 \n\
 Set or show options for fsolve.  Keywords may be abbreviated\n\
--- a/src/fsqp.cc
+++ b/src/fsqp.cc
@@ -54,12 +54,12 @@
 #endif
 
 #if defined (FSQP_MISSING)
-DEFUN_DLD_BUILTIN ("fsqp", Ffsqp, Sfsqp, 00,
+DEFUN_DLD_BUILTIN ("fsqp", Ffsqp, Sfsqp, FSfsqp, 00,
   "This function requires FSQP, which is not freely\n\
 redistributable.  For more information, read the file\n\
 libcruft/fsqp/README.MISSING in the source distribution.")
 #else
-DEFUN_DLD_BUILTIN ("fsqp", Ffsqp, Sfsqp, 00,
+DEFUN_DLD_BUILTIN ("fsqp", Ffsqp, Sfsqp, FSfsqp, 00,
   "[X, PHI] = fsqp (X, PHI [, LB, UB] [, LB, A, UB] [, LB, G, UB])\n\
 \n\
 Groups of arguments surrounded in `[]' are optional, but\n\
@@ -89,12 +89,14 @@
 }
 
 #if defined (FSQP_MISSING)
-DEFUN_DLD_BUILTIN ("fsqp_options", Ffsqp_options, Sfsqp_options, 00,
+DEFUN_DLD_BUILTIN ("fsqp_options", Ffsqp_options, Sfsqp_options,
+		   FSfsqp_options, 00,
   "This function requires FSQP, which is not freely\n\
 redistributable.  For more information, read the file\n\
 libcruft/fsqp/README.MISSING in the source distribution.")
 #else
-DEFUN_DLD_BUILTIN ("fsqp_options", Ffsqp_options, Sfsqp_options, 00,
+DEFUN_DLD_BUILTIN ("fsqp_options", Ffsqp_options, Sfsqp_options,
+		   FSfsqp_options, 00,
   "fsqp_options (KEYWORD, VALUE)\n\
 \n\
 Set or show options for fsqp.  Keywords may be abbreviated\n\
--- a/src/givens.cc
+++ b/src/givens.cc
@@ -47,7 +47,7 @@
 				double&, Complex&, Complex&);
 }
 
-DEFUN_DLD_BUILTIN ("givens", Fgivens, Sgivens, 11,
+DEFUN_DLD_BUILTIN ("givens", Fgivens, Sgivens, FSgivens, 11,
   "G = givens (X, Y)\n\
 \n\
 compute orthogonal matrix G = [c s; -conj (s) c]\n\
--- a/src/hess.cc
+++ b/src/hess.cc
@@ -36,7 +36,7 @@
 #include "user-prefs.h"
 #include "utils.h"
 
-DEFUN_DLD_BUILTIN ("hess", Fhess, Shess, 11,
+DEFUN_DLD_BUILTIN ("hess", Fhess, Shess, FShess, 11,
   "[P, H] = hess (A) or H = hess (A): Hessenberg decomposition")
 {
   Octave_object retval;
--- a/src/ifft.cc