changeset 5844:034cdbd34c0a

[project @ 2006-06-07 15:38:58 by jwe]
author jwe
date Wed, 07 Jun 2006 15:38:58 +0000
parents 393100dce990
children 8b4a99ae3b5e
files ChangeLog Makeconf.in aclocal.m4 acx_blas.m4 acx_lapack.m4 configure.in octMakefile.in src/ChangeLog src/octave.cc src/sighandlers.cc src/siglist.c src/siglist.h src/toplev.cc
diffstat 13 files changed, 362 insertions(+), 245 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,25 @@
 2006-06-06  John W. Eaton  <jwe@octave.org>
 
+	* Makeconf.in (datarootdir): New variable.
+
+	* acx_lapack.m4 (acx_lapack_ok): 
+	Use AC_LINK_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_LINK
+
+	* aclocal.m4: Use AC_RUN_IFELSE+AC_LANG_SOURCE instead of AC_TRY_RUN.
+
+	* acx_blas.m4, acx_lapack.m4, configure.in, aclocal.m4:
+	Use AS_HELP_STRING instead of AC_HELP_STRING.
+
+	* configure.in: Outside of other macros, use AC_MSG_NOTICE instad
+	of AC_MSG_RESULT.  Check for sys_siglist using method from
+	autoconf manual.
+
+	* configure.in, Makeconf.in: octMakefile.in: Delete plplot cruft.
+
 	* configure.in, aclocal.m4:
-	Use AS_HELP_STRING instead of AC_HELP_STRING.
 	Use AC_LINK_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_LINK
+	Use AC_COMPILE_IFELSE+AC_LANG_PROGRAM instead of AC_TRY_COMPILE.
+	Use AS_HELP_STRING consistently with AC_ARG_WITH and AC_ARG_ENABLE.
 
 2006-05-23  John W. Eaton  <jwe@octave.org>
 
--- a/Makeconf.in
+++ b/Makeconf.in
@@ -184,7 +184,6 @@
 
 LIBDLFCN = @LIBDLFCN@
 LIBGLOB = @LIBGLOB@
-LIBPLPLOT = @LIBPLPLOT@
 LIBOCTINTERP = @LIBOCTINTERP@
 LIBOCTAVE = @LIBOCTAVE@
 LIBCRUFT = @LIBCRUFT@
@@ -231,6 +230,10 @@
 # administrators run.  This is the same as libexecdir on Cygwin systems.
 sbindir = @sbindir@
 
+# The root of the directory tree for read-only
+# architecture-independent data files.
+datarootdir = @datarootdir@
+
 # Where to install architecture-independent data files.  ${fcnfiledir}
 # and ${localfcnfiledir} are subdirectories of this.
 datadir = @datadir@
@@ -459,7 +462,6 @@
   -e "s|%OCTAVE_CONF_LIBGLOB%|\"${LIBGLOB}\"|" \
   -e "s|%OCTAVE_CONF_LIBOCTAVE%|\"${LIBOCTAVE}\"|" \
   -e "s|%OCTAVE_CONF_LIBOCTINTERP%|\"${LIBOCTINTERP}\"|" \
-  -e "s|%OCTAVE_CONF_LIBPLPLOT%|\"${LIBPLPLOT}\"|" \
   -e "s|%OCTAVE_CONF_LIBREADLINE%|\"${LIBREADLINE}\"|" \
   -e "s|%OCTAVE_CONF_LIBS%|\"${LIBS}\"|" \
   -e "s|%OCTAVE_CONF_LN_S%|\"${LN_S}\"|" \
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -78,8 +78,8 @@
 [AC_CACHE_CHECK([whether including <string> defines NPOS],
 octave_cv_string_npos,
 [AC_LANG_PUSH(C++)
-AC_TRY_COMPILE([#include <string>],
-[size_t foo = NPOS],
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string>]],
+[[size_t foo = NPOS]])],
 octave_cv_string_npos=yes, octave_cv_string_npos=no)])
 if test $octave_cv_string_npos = no; then
   AC_DEFINE(NPOS, [std::string::npos], [Define (to string::npos) if <string> doesn't])
@@ -93,8 +93,8 @@
 [AC_CACHE_CHECK([whether <new> defines placement delete operator],
 octave_cv_placement_delete,
 [AC_LANG_PUSH(C++)
-AC_TRY_COMPILE([#include <new>],
-[operator delete((void *)0, (void *)0);],
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <new>]],
+[[operator delete((void *)0, (void *)0);]])],
 octave_cv_placement_delete=yes, octave_cv_placement_delete=no)])
 if test $octave_cv_placement_delete = yes; then
 AC_DEFINE(HAVE_PLACEMENT_DELETE,1,[Define if C++ supports operator delete(void *, void *)])
@@ -108,8 +108,8 @@
 [AC_CACHE_CHECK([whether C++ supports dynamic auto arrays],
 octave_cv_dynamic_auto_arrays,
 [AC_LANG_PUSH(C++)
-AC_TRY_COMPILE(,
-[void test(char *); int length(); char x[length()]; test(x);],
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
+[[void test(char *); int length(); char x[length()]; test(x);]])],
 octave_cv_dynamic_auto_arrays=yes, octave_cv_dynamic_auto_arrays=no)])
 if test $octave_cv_dynamic_auto_arrays = yes; then
 AC_DEFINE(HAVE_DYNAMIC_AUTO_ARRAYS,1,[Define if C++ supports dynamic auto arrays])
@@ -128,7 +128,7 @@
 AC_DEFUN(OCTAVE_SMART_PUTENV,
 [AC_MSG_CHECKING(whether putenv uses malloc)
 AC_CACHE_VAL(octave_cv_func_putenv_malloc,
-[AC_TRY_RUN([
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #define VAR	"YOW_VAR"
 #define STRING1 "GabbaGabbaHey"
 #define STRING2 "Yow!!"		/* should be shorter than STRING1 */
@@ -177,7 +177,7 @@
           printf ("#undef SMART_PUTENV\n");
 #endif
   exit (rstr1 == rstr2 ? 0 : 1);
-}], octave_cv_func_putenv_malloc=yes, octave_cv_func_putenv_malloc=no,
+}]])], octave_cv_func_putenv_malloc=yes, octave_cv_func_putenv_malloc=no,
     octave_cv_func_putenv_malloc=no)])dnl
 AC_MSG_RESULT($octave_cv_func_putenv_malloc)
 if test $octave_cv_func_putenv_malloc = yes; then
@@ -208,12 +208,12 @@
          sigpause (mask);]])],
        [octave_cv_signal_vintage=4.2bsd],
        [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>
-          RETSIGTYPE foo() { }]])],
+          RETSIGTYPE foo() { }]],
           [[int mask = sigmask (SIGINT);
 	    sigset (SIGINT, foo);
             sigrelse (SIGINT);
 	    sighold (SIGINT);
-            sigpause (SIGINT);]],
+            sigpause (SIGINT);]])],
           [octave_cv_signal_vintage=svr3],
           [octave_cv_signal_vintage=v7])])])])
 AC_MSG_RESULT($octave_cv_signal_vintage)
@@ -231,7 +231,7 @@
 AC_REQUIRE([OCTAVE_SIGNAL_CHECK])
 AC_MSG_CHECKING([if signal handlers must be reinstalled when invoked])
 AC_CACHE_VAL(octave_cv_must_reinstall_sighandlers,
-[AC_TRY_RUN([
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <signal.h>
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -269,7 +269,9 @@
   kill((int)getpid(), SIGINT);
   exit(nsigint != 2);
 }
-], octave_cv_must_reinstall_sighandlers=no, octave_cv_must_reinstall_sighandlers=yes,
+]])],
+  octave_cv_must_reinstall_sighandlers=no,
+  octave_cv_must_reinstall_sighandlers=yes,
 if test "$octave_cv_signal_vintage" = svr3; then
   octave_cv_must_reinstall_sighandlers=yes
 else
@@ -711,8 +713,7 @@
 dnl
 AC_DEFUN(OCTAVE_MKDIR_TAKES_ONE_ARG,
 [AC_CACHE_CHECK([if mkdir takes one argument], octave_cv_mkdir_takes_one_arg,
-[AC_TRY_COMPILE([
-#include <sys/types.h>
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
 #ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
@@ -721,7 +722,7 @@
 #endif
 #ifdef HAVE_DIRECT_H
 # include <direct.h>
-#endif], [mkdir ("foo", 0);],
+#endif]], [[mkdir ("foo", 0);]])],
         octave_cv_mkdir_takes_one_arg=no, octave_cv_mkdir_takes_one_arg=yes)])
 if test $octave_cv_mkdir_takes_one_arg = yes ; then
   AC_DEFINE(MKDIR_TAKES_ONE_ARG, 1, [Define if host mkdir takes a single argument.])
@@ -814,7 +815,7 @@
 AC_DEFUN([OCTAVE_IEEE754_DATA_FORMAT],
 [AC_MSG_CHECKING([for IEEE 754 data format])
 AC_CACHE_VAL(octave_cv_ieee754_data_format,
-[AC_TRY_RUN([
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
 int
 main (void) 
 {
@@ -824,7 +825,7 @@
   ieeebytes b = {0x43, 0x11, 0x8b, 0x54, 0xf2, 0x6e, 0xbc, 0x1c};
 
   return l.d != 1234567891234567.0 && b.d != 1234567891234567.0;
-}],
+}]])],
   octave_cv_ieee754_data_format=yes,
   octave_cv_ieee754_data_format=no,
   octave_cv_ieee754_data_format=no)])
@@ -847,7 +848,7 @@
 AC_DEFUN([OCTAVE_UMFPACK_SEPERATE_SPLIT],
 [AC_MSG_CHECKING([for UMFPACK seperate complex matrix and rhs split])
 AC_CACHE_VAL(octave_cv_umfpack_seperate_split,
-[AC_TRY_RUN([
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <stdlib.h>
 #if defined (HAVE_UFSPARSE_UMFPACK_h)
 #include <ufsparse/umfpack.h>
@@ -880,7 +881,7 @@
       return (1);
   return (0) ;
 }
-],
+]])],
   octave_cv_umfpack_seperate_split=yes,
   octave_cv_umfpack_seperate_split=no,
   octave_cv_umfpack_seperate_split=no)])
--- a/acx_blas.m4
+++ b/acx_blas.m4
@@ -38,7 +38,7 @@
 acx_blas_ok=no
 
 AC_ARG_WITH(blas,
-	[AC_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])
+	[AS_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])
 case $with_blas in
 	yes | "") ;;
 	no) acx_blas_ok=disable ;;
@@ -58,7 +58,8 @@
 if test "x$BLAS_LIBS" != x; then
 	save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
 	AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS])
-	AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes], [BLAS_LIBS=""])
+	AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])],
+		       [acx_blas_ok=yes], [BLAS_LIBS=""])
 	AC_MSG_RESULT($acx_blas_ok)
 	LIBS="$save_LIBS"
 fi
@@ -87,8 +88,9 @@
 	vlib_flags="-framework vecLib"
 	save_LIBS="$LIBS"; LIBS="$vlib_flags $LIBS"
 	AC_MSG_CHECKING([for $sgemm in $vlib_flags])
-	AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes; BLAS_LIBS="$vlib_flags"],
-			 [BLAS_LIBS=""])
+	AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])],
+                       [acx_blas_ok=yes; BLAS_LIBS="$vlib_flags"],
+		       [BLAS_LIBS=""])
 	AC_MSG_RESULT($acx_blas_ok)
 	LIBS="$save_LIBS"
 fi
--- a/acx_lapack.m4
+++ b/acx_lapack.m4
@@ -35,7 +35,7 @@
 acx_lapack_ok=no
 
 AC_ARG_WITH(lapack,
-        [AC_HELP_STRING([--with-lapack=<lib>], [use LAPACK library <lib>])])
+        [AS_HELP_STRING([--with-lapack=<lib>], [use LAPACK library <lib>])])
 case $with_lapack in
         yes | "") ;;
         no) acx_lapack_ok=disable ;;
@@ -55,7 +55,8 @@
 if test "x$LAPACK_LIBS" != x; then
         save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS"
         AC_MSG_CHECKING([for $cheev in $LAPACK_LIBS])
-        AC_TRY_LINK_FUNC($cheev, [acx_lapack_ok=yes], [LAPACK_LIBS=""])
+        AC_LINK_IFELSE([AC_LANG_CALL([], [$cheev])],
+		       [acx_lapack_ok=yes], [LAPACK_LIBS=""])
         AC_MSG_RESULT($acx_lapack_ok)
         LIBS="$save_LIBS"
         if test acx_lapack_ok = no; then
--- a/configure.in
+++ b/configure.in
@@ -29,15 +29,15 @@
 EXTERN_CXXFLAGS="$CXXFLAGS"
 
 AC_INIT
-AC_REVISION($Revision: 1.512 $)
+AC_REVISION($Revision: 1.513 $)
 AC_PREREQ(2.57)
 AC_CONFIG_SRCDIR([src/octave.cc])
 AC_CONFIG_HEADER(config.h)
 
+OCTAVE_HOST_TYPE
+
 AC_DEFINE(OCTAVE_SOURCE, 1, [Define if this is Octave.])
   
-OCTAVE_HOST_TYPE
-
 AC_GNU_SOURCE
 
 AC_AIX
@@ -48,7 +48,7 @@
 sepchar=:
 AC_ARG_WITH(sepchar,
   [AS_HELP_STRING([--with-sepchar=<char>],
-	[use <char> as the path separation character])])
+     [use <char> as the path separation character])])
 case $with_sepchar in
   yes | "")
     case "$canonical_host_type" in
@@ -104,14 +104,15 @@
 ### Allow the user to force us to use f2c.
 
 AC_ARG_WITH(f2c,
-  [  --with-f2c              use f2c even if Fortran compiler is available],
+  [AS_HELP_STRING([--with-f2c],
+     [use f2c even if Fortran compiler is available])],
   [if test "$withval" = no; then use_f2c=false; else use_f2c=true; fi],
   use_f2c=false)
 
 ### Allow the user to force us to use f77.
 
 AC_ARG_WITH(f77,
-  [  --with-f77              use f77 to compile Fortran subroutines],
+  [AS_HELP_STRING([--with-f77], [use f77 to compile Fortran subroutines])],
   [if test "$withval" = no; then use_f77=false; else use_f77=true; fi],
   use_f77=false)
 
@@ -123,34 +124,14 @@
   AC_MSG_WARN($warn_f2c_and_f77)
   use_f2c=false])
 
-dnl ### Allow the user disable support for plplot.
-dnl 
-dnl # USE_PLPLOT=true
-dnl # PLPLOT_DIR=plplot
-dnl # LIBPLPLOT='$(TOPDIR)/plplot/libplplot.$(LIBEXT)
-USE_PLPLOT=false
-PLPLOT_DIR=""
-LIBPLPLOT=""
-dnl AC_ARG_ENABLE(plplot,
-dnl   [  --enable-plplot         use plplot for plotting (default is yes)],
-dnl   [if test "$enableval" = no; then
-dnl      USE_PLPLOT=false;
-dnl      LIBPLPLOT="";
-dnl      PLPLOT_DIR="";
-dnl    fi], [])
-dnl if $USE_PLPLOT; then
-dnl   AC_DEFINE(USE_PLPLOT, 1, [Define to use plplot.])
-dnl fi
-AC_SUBST(LIBPLPLOT)
-AC_SUBST(PLPLOT_DIR)
-
 ### Make it possible to have Octave's array and matrix classes do bounds
 ### checking on element references.  This slows some operations down a
 ### bit, so it is turned off by default.
 
 BOUNDS_CHECKING=false
 AC_ARG_ENABLE(bounds-check,
-  [  --enable-bounds-check   for internal array classes (default is no)],
+  [AS_HELP_STRING([--enable-bounds-check],
+     [for internal array classes (default is no)])],
   [if test "$enableval" = yes; then BOUNDS_CHECKING=true; fi], [])
 if $BOUNDS_CHECKING; then
   AC_DEFINE(BOUNDS_CHECKING, 1, [Define to use internal bounds checking.])
@@ -161,7 +142,8 @@
 USE_64_BIT_IDX_T=false
 OCTAVE_IDX_TYPE=int
 AC_ARG_ENABLE(64,
-  [  --enable-64             use 64-bit integer for array dimensions and indexing],
+  [AS_HELP_STRING([--enable-64],
+     [use 64-bit integer for array dimensions and indexing])],
   [if test "$enableval" = yes; then USE_64_BIT_IDX_T=true; fi], [])
 if $USE_64_BIT_IDX_T; then
   AC_CHECK_SIZEOF(void *)
@@ -193,7 +175,7 @@
 ### the GNU libc.  Since I'm not sure how to test whether we are using
 ### GNU libc, just disable them for all platforms.
 
-AC_MSG_RESULT([defining __NO_MATH_INLINES avoids buggy GNU libc exp function])
+AC_MSG_NOTICE([defining __NO_MATH_INLINES avoids buggy GNU libc exp function])
 AC_DEFINE(__NO_MATH_INLINES, 1, [Define if your version of GNU libc has buggy inline assembly code for math functions like exp.])
 
 ### See which C++ compiler to use (we expect to find g++).
@@ -245,7 +227,7 @@
   2.*)
     if test -z "$LDFLAGS"; then
       LDFLAGS="-g"
-      AC_MSG_RESULT([defining LDFLAGS to be $LDFLAGS])
+      AC_MSG_NOTICE([defining LDFLAGS to be $LDFLAGS])
     fi
   ;;
   1.*)
@@ -290,7 +272,7 @@
       OCTAVE_CC_FLAG(-mieee-fp, [
         ieee_fp_flag=-mieee-fp
         XTRA_CFLAGS="$XTRA_CFLAGS -mieee-fp"
-        AC_MSG_RESULT([adding -mieee-fp to XTRA_CFLAGS])])
+        AC_MSG_NOTICE([adding -mieee-fp to XTRA_CFLAGS])])
 
 ###      OCTAVE_CC_FLAG(-ffloat-store, [
 ###        float_store_flag=-ffloat-store
@@ -301,7 +283,7 @@
       OCTAVE_CXX_FLAG(-mieee-fp, [
 	ieee_fp_flag=-mieee-fp
 	XTRA_CXXFLAGS="$XTRA_CXXFLAGS -mieee-fp"
-	AC_MSG_RESULT([adding -mieee-fp to XTRA_CXXFLAGS])])
+	AC_MSG_NOTICE([adding -mieee-fp to XTRA_CXXFLAGS])])
 
 ###      OCTAVE_CXX_FLAG(-ffloat-store, [
 ###        float_store_flag=-ffloat-store
@@ -314,23 +296,23 @@
       OCTAVE_CC_FLAG(-mieee, [
 	ieee_fp_flag=-mieee
 	XTRA_CFLAGS="$XTRA_CFLAGS -mieee"
-	AC_MSG_RESULT([adding -mieee to XTRA_CFLAGS])])
+	AC_MSG_NOTICE([adding -mieee to XTRA_CFLAGS])])
     else
       OCTAVE_CC_FLAG(-ieee, [
 	ieee_fp_flag=-ieee
 	XTRA_CFLAGS="$XTRA_CFLAGS -ieee"
-	AC_MSG_RESULT([adding -ieee to XTRA_CFLAGS])])
+	AC_MSG_NOTICE([adding -ieee to XTRA_CFLAGS])])
     fi
     if test "$GXX" = yes; then
       OCTAVE_CXX_FLAG(-mieee, [
 	ieee_fp_flag=-mieee
 	XTRA_CXXFLAGS="$XTRA_CXXFLAGS -mieee"
-	AC_MSG_RESULT([adding -mieee to XTRA_CXXFLAGS])])
+	AC_MSG_NOTICE([adding -mieee to XTRA_CXXFLAGS])])
     else
       OCTAVE_CXX_FLAG(-ieee, [
 	ieee_fp_flag=-ieee
 	XTRA_CXXFLAGS="$XTRA_CXXFLAGS -ieee"
-	AC_MSG_RESULT([adding -ieee to XTRA_CXXFLAGS])])
+	AC_MSG_NOTICE([adding -ieee to XTRA_CXXFLAGS])])
     fi
   ;;
   *ibm-aix4*)
@@ -353,7 +335,7 @@
   ;;
 esac
 if test -n "$LD_STATIC_FLAG"; then
-  AC_MSG_RESULT([defining LD_STATIC_FLAG to be $LD_STATIC_FLAG])
+  AC_MSG_NOTICE([defining LD_STATIC_FLAG to be $LD_STATIC_FLAG])
 fi
 AC_SUBST(LD_STATIC_FLAG)
 
@@ -446,7 +428,7 @@
 
 WITH_ZLIB=true
 AC_ARG_WITH(zlib,
-  [  --without-zlib          don't use zlib],
+  [AS_HELP_STRING([--without-zlib], [don't use zlib])],
   with_zlib=$withval, with_zlib=yes)
 
 zlib_lib=
@@ -472,7 +454,7 @@
 
   WITH_HDF5=true
   AC_ARG_WITH(hdf5,
-    [  --without-hdf5          don't use HDF5],
+    [AS_HELP_STRING([--without-hdf5], [don't use HDF5])],
     with_hdf5=$withval, with_hdf5=yes)
 
   hdf5_lib=
@@ -516,7 +498,8 @@
 AC_SUBST(FFTW_LIBS)
 
 AC_ARG_WITH(fftw, 
-  [  --without-fftw          use included fftpack instead of installed fftw],
+  [AS_HELP_STRING([--without-fftw],
+     [use included fftpack instead of installed fftw])],
   with_fftw=$withval, with_fftw=yes)
 
 if test "$with_fftw" = yes; then
@@ -536,7 +519,7 @@
 # Checks for GLPK header and library.
 
 AC_ARG_WITH(glpk,
-  [  --without-glpk          don't use GLPK],
+  [AS_HELP_STRING([--without-glpk], [don't use GLPK])],
   with_glpk=$withval, with_glpk=yes)
 
 glpk_lib=
@@ -580,7 +563,7 @@
   else
     F77="$with_f77"
   fi
-  AC_MSG_RESULT([defining F77 to be $F77])
+  AC_MSG_NOTICE([defining F77 to be $F77])
 elif $use_f2c; then
   F77=
   if test "$with_f2c" = yes; then
@@ -588,7 +571,7 @@
   else
     F2C="$with_f2c"
   fi
-  AC_MSG_RESULT([defining F2C to be $F2C])
+  AC_MSG_NOTICE([defining F2C to be $F2C])
 fi
 
 if test "x$FFLAGS" = x; then
@@ -628,7 +611,7 @@
       ;;
     esac
     if test -n "$FFLAGS"; then
-      AC_MSG_RESULT([defining FFLAGS to be $FFLAGS])
+      AC_MSG_NOTICE([defining FFLAGS to be $FFLAGS])
     fi
     have_fortran_compiler=true
   else
@@ -732,7 +715,8 @@
 AC_SUBST(UMFPACK_LIBS)
 
 AC_ARG_WITH(umfpack,
-  [  --without-umfpack       don't use UMFPACK, disable some sparse functionality],
+  [AS_HELP_STRING([--without-umfpack],
+     [don't use UMFPACK, disable some sparse functionality])],
   with_umfpack=$withval, with_umfpack=yes)
 
 warn_umfpack="UMFPACK not found.  This will result in some lack of functionality for sparse matrices."
@@ -769,7 +753,8 @@
 AC_SUBST(COLAMD_LIBS)
 
 AC_ARG_WITH(colamd,
-  [  --without-colamd        don't use COLAMD, disable some sparse functionality],
+  [AS_HELP_STRING([--without-colamd],
+     [don't use COLAMD, disable some sparse functionality])],
   with_colamd=$withval, with_colamd=yes)
 
 warn_colamd="COLAMD not found. This will result in some lack of functionality for sparse matrices."
@@ -791,7 +776,8 @@
 AC_SUBST(CCOLAMD_LIBS)
 
 AC_ARG_WITH(ccolamd,
-  [  --without-ccolamd       don't use CCOLAMD, disable some sparse functionality],
+  [AS_HELP_STRING([--without-ccolamd],
+     [don't use CCOLAMD, disable some sparse functionality])],
   with_ccolamd=$withval, with_ccolamd=yes)
 
 warn_ccolamd="CCOLAMD not found. This will result in some lack of functionality for sparse matrices."
@@ -810,7 +796,8 @@
 AC_SUBST(CHOLMOD_LIBS)
 
 AC_ARG_WITH(cholmod,
-  [  --without-cholmod       don't use CHOLMOD, disable some sparse functionality],
+  [AS_HELP_STRING([--without-cholmod],
+     [don't use CHOLMOD, disable some sparse functionality])],
   with_cholmod=$withval, with_cholmod=yes)
 
 warn_cholmod="CHOLMOD not found. This will result in some lack of functionality for sparse matrices."
@@ -854,7 +841,8 @@
 AC_SUBST(CXSPARSE_LIBS)
 
 AC_ARG_WITH(cxsparse,
-  [  --without-cxsparse       don't use CXSparse, disable some sparse functionality],
+  [AS_HELP_STRING([--without-cxsparse],
+     [don't use CXSparse, disable some sparse functionality])],
   with_cxsparse=$withval, with_cxsparse=yes)
 
 warn_cxsparse="CXSparse not found. This will result in some lack of functionality for sparse matrices."
@@ -874,7 +862,7 @@
 ### Enable creation of static libraries.
 
 AC_ARG_ENABLE(static,
-  [  --enable-static         create static libraries],
+  [AS_HELP_STRING([--enable-static], [create static libraries])],
   [if test "$enableval" = no; then STATIC_LIBS=false;
    else STATIC_LIBS=true; fi],
   STATIC_LIBS=false)
@@ -884,7 +872,8 @@
 ### gcc on some systems.
 
 AC_ARG_ENABLE(shared,
-  [  --enable-shared         create shared libraries (not all systems)],
+  [AS_HELP_STRING([--enable-shared],
+     [create shared libraries (not all systems)])],
   [if test "$enableval" = no; then SHARED_LIBS=false;
    else SHARED_LIBS=true; fi],
   SHARED_LIBS=true)
@@ -896,7 +885,8 @@
 ### example, OS X and Windows).
 
 AC_ARG_ENABLE(dl,
-  [  --enable-dl             create shared libraries (not all systems)],
+  [AS_HELP_STRING([--enable-dl],
+     [create shared libraries (not all systems)])],
   [if test "$enableval" = no; then ENABLE_DYNAMIC_LINKING=false;
    else ENABLE_DYNAMIC_LINKING=true; fi],
   ENABLE_DYNAMIC_LINKING=true)
@@ -908,8 +898,8 @@
 fi
 
 AC_ARG_ENABLE(rpath,
-  [  --enable-rpath          override the default link options for rpath;
-                            e.g., --enable-rpath='-rpath $(octlibdir)'],
+  [AS_HELP_STRING([--enable-rpath],
+     [override the default link options for rpath; e.g., --enable-rpath='-rpath $(octlibdir)'])],
   [ if test "$enableval" = no; then use_rpath=false;
     else
       use_rpath=true
@@ -1063,28 +1053,28 @@
   RLD_FLAG=""
 fi
 
-AC_MSG_RESULT([defining FPICFLAG to be $FPICFLAG])
-AC_MSG_RESULT([defining CPICFLAG to be $CPICFLAG])
-AC_MSG_RESULT([defining CXXPICFLAG to be $CXXPICFLAG])
-AC_MSG_RESULT([defining SHLEXT to be $SHLEXT])
-AC_MSG_RESULT([defining SHLLIB to be $SHLLIB])
-AC_MSG_RESULT([defining SHLBIN to be $SHLBIN])
-AC_MSG_RESULT([defining SHLEXT_VER to be $SHLEXT_VER])
-AC_MSG_RESULT([defining SHLLIB_VER to be $SHLLIB_VER])
-AC_MSG_RESULT([defining SHLBIN_VER to be $SHLBIN_VER])
-AC_MSG_RESULT([defining SHLLINKEXT to be $SHLLINKEXT])
-AC_MSG_RESULT([defining DLFCN_DIR to be $DLFCN_DIR])
-AC_MSG_RESULT([defining SH_LD to be $SH_LD])
-AC_MSG_RESULT([defining SH_LDFLAGS to be $SH_LDFLAGS])
-AC_MSG_RESULT([defining DL_LD to be $DL_LD])
-AC_MSG_RESULT([defining DL_LDFLAGS to be $DL_LDFLAGS])
-AC_MSG_RESULT([defining MKOCTFILE_DL_LDFLAGS to be $MKOCTFILE_DL_LDFLAGS])
-AC_MSG_RESULT([defining SONAME_FLAGS to be $SONAME_FLAGS])
-AC_MSG_RESULT([defining NO_OCT_FILE_STRIP to be $NO_OCT_FILE_STRIP])
-AC_MSG_RESULT([defining RLD_FLAG to be $RLD_FLAG])
-AC_MSG_RESULT([defining TEMPLATE_AR to be $TEMPLATE_AR])
-AC_MSG_RESULT([defining TEMPLATE_ARFLAGS to be $TEMPLATE_ARFLAGS])
-AC_MSG_RESULT([defining library_path_var to be $library_path_var])
+AC_MSG_NOTICE([defining FPICFLAG to be $FPICFLAG])
+AC_MSG_NOTICE([defining CPICFLAG to be $CPICFLAG])
+AC_MSG_NOTICE([defining CXXPICFLAG to be $CXXPICFLAG])
+AC_MSG_NOTICE([defining SHLEXT to be $SHLEXT])
+AC_MSG_NOTICE([defining SHLLIB to be $SHLLIB])
+AC_MSG_NOTICE([defining SHLBIN to be $SHLBIN])
+AC_MSG_NOTICE([defining SHLEXT_VER to be $SHLEXT_VER])
+AC_MSG_NOTICE([defining SHLLIB_VER to be $SHLLIB_VER])
+AC_MSG_NOTICE([defining SHLBIN_VER to be $SHLBIN_VER])
+AC_MSG_NOTICE([defining SHLLINKEXT to be $SHLLINKEXT])
+AC_MSG_NOTICE([defining DLFCN_DIR to be $DLFCN_DIR])
+AC_MSG_NOTICE([defining SH_LD to be $SH_LD])
+AC_MSG_NOTICE([defining SH_LDFLAGS to be $SH_LDFLAGS])
+AC_MSG_NOTICE([defining DL_LD to be $DL_LD])
+AC_MSG_NOTICE([defining DL_LDFLAGS to be $DL_LDFLAGS])
+AC_MSG_NOTICE([defining MKOCTFILE_DL_LDFLAGS to be $MKOCTFILE_DL_LDFLAGS])
+AC_MSG_NOTICE([defining SONAME_FLAGS to be $SONAME_FLAGS])
+AC_MSG_NOTICE([defining NO_OCT_FILE_STRIP to be $NO_OCT_FILE_STRIP])
+AC_MSG_NOTICE([defining RLD_FLAG to be $RLD_FLAG])
+AC_MSG_NOTICE([defining TEMPLATE_AR to be $TEMPLATE_AR])
+AC_MSG_NOTICE([defining TEMPLATE_ARFLAGS to be $TEMPLATE_ARFLAGS])
+AC_MSG_NOTICE([defining library_path_var to be $library_path_var])
 AC_SUBST(FPICFLAG)
 AC_SUBST(CPICFLAG)
 AC_SUBST(CXXPICFLAG)
@@ -1235,8 +1225,8 @@
   readlink rename resolvepath rindex rmdir round select setgrent \
   setpwent setvbuf sigaction siglongjmp sigpending sigprocmask \
   sigsuspend stat strcasecmp strdup strerror strftime stricmp \
-  strncasecmp strnicmp strptime symlink tempnam umask uname unlink \
-  usleep vfprintf vsprintf vsnprintf waitpid)
+  strncasecmp strnicmp strptime strsignal symlink tempnam umask \
+  uname unlink usleep vfprintf vsprintf vsnprintf waitpid)
 
 OCTAVE_SMART_PUTENV
 
@@ -1350,7 +1340,7 @@
 ### Emacs 19.
 
 AC_MSG_CHECKING(for struct timeval)
-AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 #include <time.h>
 #else
@@ -1359,7 +1349,7 @@
 #else
 #include <time.h>
 #endif
-#endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
+#endif]], [[static struct timeval x; x.tv_sec = x.tv_usec;]])],
   [AC_MSG_RESULT(yes)
    HAVE_TIMEVAL=yes
    AC_DEFINE(HAVE_TIMEVAL, 1, [Define if struct timeval is defined.])],
@@ -1405,11 +1395,11 @@
   m68k-hp-hpux*)
   ;;
   *-*-sco*)
-    AC_MSG_RESULT([defining SCO to be 1])
+    AC_MSG_NOTICE([defining SCO to be 1])
     AC_DEFINE(SCO, 1, [Define if using an SCO system.])
-    AC_MSG_RESULT([forcing HAVE_ISINF for SCO])
+    AC_MSG_NOTICE([forcing HAVE_ISINF for SCO])
     AC_DEFINE(HAVE_ISINF, 1, [Define if you have isinf().])
-    AC_MSG_RESULT([forcing HAVE_ISNAN for SCO])
+    AC_MSG_NOTICE([forcing HAVE_ISNAN for SCO])
     AC_DEFINE(HAVE_ISNAN, 1, [Define if you have isnan().])
   ;;
   *)
@@ -1467,16 +1457,13 @@
 ### Signal stuff.
 
 AC_TYPE_SIGNAL
-AC_CHECK_DECL([sys_siglist],
-  [AC_DEFINE(SYS_SIGLIST_DECLARED, 1, [Define if your system has a declaration of sys_siglist.])],
-  [AC_CHECK_DECLS([sys_siglist])], [#include <signal.h>])
-AC_MSG_CHECKING([for sys_siglist variable])
-AC_LINK_IFELSE([[#include <stdio.h>]],
-  [[extern char *sys_siglist[]; printf ("%s\n", sys_siglist[1]);]])],
-  [AC_MSG_RESULT(yes)
-   AC_DEFINE(HAVE_SYS_SIGLIST, 1,
-     [Define if your system has a sys_siglist variable.])],
-  [AC_MSG_RESULT(no)])
+AC_CHECK_DECLS([sys_siglist], [], [],
+[#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h.  */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+])
 OCTAVE_SIGNAL_CHECK
 OCTAVE_REINSTALL_SIGHANDLERS
 
@@ -1558,7 +1545,7 @@
     UGLY_DEFS=`echo $DEFS | sed 's,\\",\\\\\\\\\\\\\\\\\\",g'`
   ;;
 esac
-AC_MSG_RESULT([defining UGLY_DEFS to be $UGLY_DEFS])
+AC_MSG_NOTICE([defining UGLY_DEFS to be $UGLY_DEFS])
 AC_SUBST(UGLY_DEFS)
 
 ### Maybe add -Wall, -W, and -Wshadow to compiler flags now that we're
@@ -1598,7 +1585,8 @@
   -Wwrite-strings -Weffc++ -Wenum-clash"
 
 AC_ARG_ENABLE(picky-flags,
-  [  --enable-picky-flags    add picky options to CFLAGS, CXXFLAGS, FFLAGS],
+  [AS_HELP_STRING([--enable-picky-flags],
+     [add extra warning options to CFLAGS, CXXFLAGS, FFLAGS])],
   [if test "$enableval" = no; then
      true
    elif test "$enableval" = yes; then
@@ -1629,10 +1617,6 @@
 
 AC_CONFIG_SUBDIRS(scripts)
 
-if test "x$PLPLOT_DIR" = xplplot; then
-  AC_CONFIG_SUBDIRS(plplot)
-fi
-
 ### Some things to add to the bottom of config.h.
 
 AH_BOTTOM([
@@ -1771,7 +1755,7 @@
   FORT="$F77 $FFLAGS"
 fi
 
-AC_MSG_RESULT([
+AC_MSG_NOTICE([
 
 Octave is now configured for $canonical_host_type
 
@@ -1928,7 +1912,7 @@
 fi
 
 if $warn_msg_printed; then
-  AC_MSG_RESULT([])
+  AC_MSG_NOTICE([])
 fi
 
 ### End of configure.
--- a/octMakefile.in
+++ b/octMakefile.in
@@ -36,8 +36,7 @@
 DISTDIRS = # plplot
 
 # Subdirectories in which to run `make all'.
-SUBDIRS = @PLPLOT_DIR@ @DLFCN_DIR@ \
-	libcruft liboctave src scripts doc examples
+SUBDIRS = @DLFCN_DIR@ libcruft liboctave src scripts doc examples
 
 # Subdirectories in which to run `make all'.
 INSTALL_SUBDIRS = libcruft liboctave src scripts doc examples
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2006-06-06  John W. Eaton  <jwe@octave.org>
+
+	* sighandlers.cc (generic_sig_handler, sigint_handler):
+	Use strsignal instead of accessing sys_siglist directly.
+	* siglist.h: Use HAVE_DECL_SYS_SIGLIST instead of SYS_SIGLIST_DECLARED.
+	* siglist.c: Update sys_siglist.
+	(init_signals, strsignal): New functions.
+	* octave.cc (octave_main): Call init_signals here.
+
+	* toplev.cc (Foctave_config_info): Delete LIBPLPLOT from struct.
+
 2006-06-05  John W. Eaton  <jwe@octave.org>
 
 	* pt-assign.cc (Vprint_rhs_assign_val): Delete variable.
--- a/src/octave.cc
+++ b/src/octave.cc
@@ -512,6 +512,8 @@
   // options are processed because some command line options override
   // defaults by calling bind_internal_variable.
 
+  init_signals ();
+
   sysdep_init ();
 
   // The idea here is to force xerbla to be referenced so that we will
--- a/src/sighandlers.cc
+++ b/src/sighandlers.cc
@@ -221,7 +221,7 @@
 static RETSIGTYPE
 generic_sig_handler (int sig)
 {
-  my_friendly_exit (sys_siglist[sig], sig);
+  my_friendly_exit (strsignal (sig), sig);
 
   SIGHANDLER_RETURN (0);
 }
@@ -410,11 +410,11 @@
 
 #ifdef USE_W32_SIGINT
   if (w32_in_main_thread ())
-    user_abort (sys_siglist[sig], sig);
+    user_abort (strsignal (sig), sig);
   else
     w32_raise (sig);
 #else
-  user_abort (sys_siglist[sig], sig);
+  user_abort (strsignal (sig), sig);
 #endif
 
   SIGHANDLER_RETURN (0);
--- a/src/siglist.c
+++ b/src/siglist.c
@@ -29,118 +29,211 @@
 
 #include "siglist.h"
 
-#ifndef HAVE_SYS_SIGLIST
-char *sys_siglist[NSIG + 1] =
+/* The following is all borrowed from Emacs.  */
+
+#if ! (defined HAVE_STRSIGNAL || HAVE_DECL_SYS_SIGLIST)
+
+static char *my_sys_siglist[NSIG];
+
+#ifdef sys_siglist
+#undef sys_siglist
+#endif
+#define sys_siglist my_sys_siglist
+
+#endif
+
+void
+init_signals (void)
 {
-#ifdef AIX
-/* AIX has changed the signals a bit */
-  "bogus signal",			/* 0 */
-  "hangup",				/* 1  SIGHUP */
-  "interrupt",				/* 2  SIGINT */
-  "quit",				/* 3  SIGQUIT */
-  "illegal instruction",		/* 4  SIGILL */
-  "trace trap",				/* 5  SIGTRAP */
-  "IOT instruction",			/* 6  SIGIOT */
-  "crash likely",			/* 7  SIGDANGER */
-  "floating point exception",		/* 8  SIGFPE */
-  "kill",				/* 9  SIGKILL */
-  "bus error",				/* 10 SIGBUS */
-  "segmentation violation",		/* 11 SIGSEGV */
-  "bad argument to system call",	/* 12 SIGSYS */
-  "write on a pipe with no one to read it", /* 13 SIGPIPE */
-  "alarm clock",			/* 14 SIGALRM */
-  "software termination signum",	/* 15 SIGTERM */
-  "user defined signal 1",		/* 16 SIGUSR1 */
-  "user defined signal 2",		/* 17 SIGUSR2 */
-  "death of a child",			/* 18 SIGCLD */
-  "power-fail restart",			/* 19 SIGPWR */
-  "bogus signal",			/* 20 */
-  "bogus signal",			/* 21 */
-  "bogus signal",			/* 22 */
-  "bogus signal",			/* 23 */
-  "bogus signal",			/* 24 */
-  "LAN I/O interrupt",			/* 25 SIGAIO */
-  "PTY I/O interrupt",			/* 26 SIGPTY */
-  "I/O intervention required",		/* 27 SIGIOINT */
-  "HFT grant",				/* 28 SIGGRANT */
-  "HFT retract",			/* 29 SIGRETRACT */
-  "HFT sound done",			/* 30 SIGSOUND */
-  "HFT input ready",			/* 31 SIGMSG */
-#else /* not AIX */
-#ifdef __EMX__
-  "bogus signal #0",                    /* 0 */
-  "hangup",                             /* 1  SIGHUP */
-  "interrupt (Ctrl-C)",                 /* 2  SIGINT (Ctrl-C) */
-  "quit",                               /* 3  SIGQUIT */
-  "illegal instruction",                /* 4  SIGILL */
-  "single step",                        /* 5  SIGTRAP */
-  "abort",                              /* 6  SIGABRT */
-  "EMT instruction",                    /* 7  SIGEMT */
-  "floating point exception",           /* 8  SIGFPE */
-  "kill",                               /* 9  SIGKILL */
-  "bus error",                          /* 10 SIGBUS */
-  "segmentation violation",             /* 11 SIGSEGV */
-  "bad argument to system call",        /* 12 SIGSYS */
-  "broken pipe",                        /* 13 SIGPIPE */
-  "alarm clock",                        /* 14 SIGALRM */
-  "software termination signum",        /* 15 SIGTERM */
-  "user defined signal 1",              /* 16 SIGUSR1 */
-  "user defined signal 2",              /* 17 SIGUSR2 */
-  "death of a child",                   /* 18 SIGCHLD */
-  "bogus signal #20",                   /* 19 */
-  "bogus signal #21",                   /* 20 */
-  "break (Ctrl-Break)",                 /* 21 SIGBREAK */
-#else /* not __EMX__ */
-  "bogus signal",			/* 0 */
-  "hangup",				/* 1  SIGHUP */
-  "interrupt",				/* 2  SIGINT */
-  "quit",				/* 3  SIGQUIT */
-  "illegal instruction",		/* 4  SIGILL */
-  "trace trap",				/* 5  SIGTRAP */
-  "IOT instruction",			/* 6  SIGIOT */
-  "EMT instruction",			/* 7  SIGEMT */
-  "floating point exception",		/* 8  SIGFPE */
-  "kill",				/* 9  SIGKILL */
-  "bus error",				/* 10 SIGBUS */
-  "segmentation violation",		/* 11 SIGSEGV */
-  "bad argument to system call",	/* 12 SIGSYS */
-  "write on a pipe with no one to read it", /* 13 SIGPIPE */
-  "alarm clock",			/* 14 SIGALRM */
-  "software termination signum",	/* 15 SIGTERM */
-  "user defined signal 1",		/* 16 SIGUSR1 */
-  "user defined signal 2",		/* 17 SIGUSR2 */
-  "death of a child",			/* 18 SIGCLD */
-  "power-fail restart",			/* 19 SIGPWR */
-#ifdef sun
-  "window size change",			    /* 20 SIGWINCH */
-  "urgent socket condition",		    /* 21 SIGURG */
-  "pollable event occured",		    /* 22 SIGPOLL */
-  "stop (cannot be caught or ignored)", /*  23 SIGSTOP */
-  "user stop requested from tty",	    /* 24 SIGTSTP */
-  "stopped process has been continued",	/* 25 SIGCONT */
-  "background tty read attempted",	    /* 26 SIGTTIN */
-  "background tty write attempted",    /* 27 SIGTTOU */
-  "virtual timer expired",		    /* 28 SIGVTALRM */
-  "profiling timer expired",		    /* 29 SIGPROF */
-  "exceeded cpu limit",			    /* 30 SIGXCPU */
-  "exceeded file size limit",		    /* 31 SIGXFSZ */
-  "process's lwps are blocked",	    /*  32 SIGWAITING */
-  "special signal used by thread library", /* 33 SIGLWP */
-#ifdef SIGFREEZE
-  "Special Signal Used By CPR",	    /* 34 SIGFREEZE */
+#if ! (defined HAVE_STRSIGNAL || HAVE_DECL_SYS_SIGLIST)
+
+  static int initialized = 0;
+
+  if (! initialized)
+    {
+      initialized = 1;
+
+# ifdef SIGABRT
+      sys_siglist[SIGABRT] = "Aborted";
+# endif
+# ifdef SIGAIO
+      sys_siglist[SIGAIO] = "LAN I/O interrupt";
+# endif
+# ifdef SIGALRM
+      sys_siglist[SIGALRM] = "Alarm clock";
+# endif
+# ifdef SIGBUS
+      sys_siglist[SIGBUS] = "Bus error";
+# endif
+# ifdef SIGCLD
+      sys_siglist[SIGCLD] = "Child status changed";
+# endif
+# ifdef SIGCHLD
+      sys_siglist[SIGCHLD] = "Child status changed";
+# endif
+# ifdef SIGCONT
+      sys_siglist[SIGCONT] = "Continued";
+# endif
+# ifdef SIGDANGER
+      sys_siglist[SIGDANGER] = "Swap space dangerously low";
+# endif
+# ifdef SIGDGNOTIFY
+      sys_siglist[SIGDGNOTIFY] = "Notification message in queue";
+# endif
+# ifdef SIGEMT
+      sys_siglist[SIGEMT] = "Emulation trap";
+# endif
+# ifdef SIGFPE
+      sys_siglist[SIGFPE] = "Arithmetic exception";
+# endif
+# ifdef SIGFREEZE
+      sys_siglist[SIGFREEZE] = "SIGFREEZE";
+# endif
+# ifdef SIGGRANT
+      sys_siglist[SIGGRANT] = "Monitor mode granted";
+# endif
+# ifdef SIGHUP
+      sys_siglist[SIGHUP] = "Hangup";
+# endif
+# ifdef SIGILL
+      sys_siglist[SIGILL] = "Illegal instruction";
+# endif
+# ifdef SIGINT
+      sys_siglist[SIGINT] = "Interrupt";
+# endif
+# ifdef SIGIO
+      sys_siglist[SIGIO] = "I/O possible";
+# endif
+# ifdef SIGIOINT
+      sys_siglist[SIGIOINT] = "I/O intervention required";
+# endif
+# ifdef SIGIOT
+      sys_siglist[SIGIOT] = "IOT trap";
+# endif
+# ifdef SIGKILL
+      sys_siglist[SIGKILL] = "Killed";
+# endif
+# ifdef SIGLOST
+      sys_siglist[SIGLOST] = "Resource lost";
+# endif
+# ifdef SIGLWP
+      sys_siglist[SIGLWP] = "SIGLWP";
+# endif
+# ifdef SIGMSG
+      sys_siglist[SIGMSG] = "Monitor mode data available";
+# endif
+# ifdef SIGPHONE
+      sys_siglist[SIGWIND] = "SIGPHONE";
+# endif
+# ifdef SIGPIPE
+      sys_siglist[SIGPIPE] = "Broken pipe";
+# endif
+# ifdef SIGPOLL
+      sys_siglist[SIGPOLL] = "Pollable event occurred";
+# endif
+# ifdef SIGPROF
+      sys_siglist[SIGPROF] = "Profiling timer expired";
+# endif
+# ifdef SIGPTY
+      sys_siglist[SIGPTY] = "PTY I/O interrupt";
+# endif
+# ifdef SIGPWR
+      sys_siglist[SIGPWR] = "Power-fail restart";
+# endif
+# ifdef SIGQUIT
+      sys_siglist[SIGQUIT] = "Quit";
+# endif
+# ifdef SIGRETRACT
+      sys_siglist[SIGRETRACT] = "Need to relinguish monitor mode";
+# endif
+# ifdef SIGSAK
+      sys_siglist[SIGSAK] = "Secure attention";
+# endif
+# ifdef SIGSEGV
+      sys_siglist[SIGSEGV] = "Segmentation violation";
+# endif
+# ifdef SIGSOUND
+      sys_siglist[SIGSOUND] = "Sound completed";
+# endif
+# ifdef SIGSTOP
+      sys_siglist[SIGSTOP] = "Stopped (signal)";
+# endif
+# ifdef SIGSTP
+      sys_siglist[SIGSTP] = "Stopped (user)";
+# endif
+# ifdef SIGSYS
+      sys_siglist[SIGSYS] = "Bad argument to system call";
+# endif
+# ifdef SIGTERM
+      sys_siglist[SIGTERM] = "Terminated";
+# endif
+# ifdef SIGTHAW
+      sys_siglist[SIGTHAW] = "SIGTHAW";
+# endif
+# ifdef SIGTRAP
+      sys_siglist[SIGTRAP] = "Trace/breakpoint trap";
+# endif
+# ifdef SIGTSTP
+      sys_siglist[SIGTSTP] = "Stopped (user)";
+# endif
+# ifdef SIGTTIN
+      sys_siglist[SIGTTIN] = "Stopped (tty input)";
+# endif
+# ifdef SIGTTOU
+      sys_siglist[SIGTTOU] = "Stopped (tty output)";
+# endif
+# ifdef SIGURG
+      sys_siglist[SIGURG] = "Urgent I/O condition";
+# endif
+# ifdef SIGUSR1
+      sys_siglist[SIGUSR1] = "User defined signal 1";
+# endif
+# ifdef SIGUSR2
+      sys_siglist[SIGUSR2] = "User defined signal 2";
+# endif
+# ifdef SIGVTALRM
+      sys_siglist[SIGVTALRM] = "Virtual timer expired";
+# endif
+# ifdef SIGWAITING
+      sys_siglist[SIGWAITING] = "Process's LWPs are blocked";
+# endif
+# ifdef SIGWINCH
+      sys_siglist[SIGWINCH] = "Window size changed";
+# endif
+# ifdef SIGWIND
+      sys_siglist[SIGWIND] = "SIGWIND";
+# endif
+# ifdef SIGXCPU
+      sys_siglist[SIGXCPU] = "CPU time limit exceeded";
+# endif
+# ifdef SIGXFSZ
+      sys_siglist[SIGXFSZ] = "File size limit exceeded";
+# endif
+    }
+
 #endif
-#ifdef SIGTHAW
-  "Special Signal Used By CPR",	    /* 35 SIGTHAW */
-#endif
-#endif /* sun */
-#endif /* __EMX__ */
-#endif /* AIX */
-  0
-  };
+}
+
+#if ! defined (HAVE_STRSIGNAL)
+
+char *
+strsignal (int code)
+{
+  char *signame = "";
+
+  if (0 <= code && code < NSIG)
+    {
+      /* Cast to suppress warning if the table has const char *.  */
+      signame = (char *) sys_siglist[code];
+    }
+
+  return signame;
+}
+
 #endif
 
 /*
 ;;; Local Variables: ***
-;;; mode: C++ ***
+;;; mode: C ***
 ;;; End: ***
 */
--- a/src/siglist.h
+++ b/src/siglist.h
@@ -29,12 +29,18 @@
 {
 #endif
 
-/* This is taken directly from Emacs 19: */
+/* This is borrowed from Emacs.  */
 
-#ifndef SYS_SIGLIST_DECLARED
+#if ! defined (HAVE_DECL_SYS_SIGLIST)
 extern char *sys_siglist[];
 #endif
 
+extern void init_signals (void);
+
+#if ! defined (HAVE_STRSIGNAL)
+extern char *strsignal (int);
+#endif
+
 #ifdef __cplusplus
 }
 #endif
--- a/src/toplev.cc
+++ b/src/toplev.cc
@@ -757,7 +757,6 @@
       "LIBFLAGS", OCTAVE_CONF_LIBFLAGS,
       "LIBOCTAVE", OCTAVE_CONF_LIBOCTAVE,
       "LIBOCTINTERP", OCTAVE_CONF_LIBOCTINTERP,
-      "LIBPLPLOT", OCTAVE_CONF_LIBPLPLOT,
       "LIBREADLINE", OCTAVE_CONF_LIBREADLINE,
       "LIBS", OCTAVE_CONF_LIBS,
       "LN_S", OCTAVE_CONF_LN_S,