diff configure.in @ 412:697ef44129c6 r21-2-14

Import from CVS: tag r21-2-14
author cvs
date Mon, 13 Aug 2007 11:20:41 +0200
parents de805c49cfc1
children da8ed4261e83
line wrap: on
line diff
--- a/configure.in	Mon Aug 13 11:19:22 2007 +0200
+++ b/configure.in	Mon Aug 13 11:20:41 2007 +0200
@@ -14,7 +14,7 @@
 ### from the file `./configure.in'.
 ### To rebuild it, execute the command
 ###	autoconf
-### in the this directory.  You must have autoconf version 2.13 or later.
+### in the this directory.  You must have autoconf version 2.12 or later.
 
 ### This file is part of XEmacs.
 
@@ -50,7 +50,7 @@
 dnl We use the m4 quoting characters [ ] (as established by the
 dnl autoconf system), so quote them like this: [[foo]]
 
-AC_PREREQ(2.13)dnl
+AC_PREREQ(2.12)dnl
 dnl Redefine some standard autoconf macros
 dnl here is how XEmacs is different:
 dnl - no cache file
@@ -307,7 +307,6 @@
 dnl Initialize some other variables.
 subdirs=
 MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
 dnl Maximum number of lines to put in a shell here document.
 ac_max_here_lines=12
 ])dnl AC_INIT_PARSE_ARGS
@@ -346,28 +345,27 @@
 statedir='${prefix}/lib'
 libdir='${exec_prefix}/lib'
 mandir='${prefix}/man/man1'
-inststaticdir='${PROGNAME}'
-instvardir='${PROGNAME}-${version}'
-infodir='${datadir}/${instvardir}/info'
+infodir='${datadir}/${PROGNAME}-${version}/info'
 infopath=''
 install_pp=''
-lispdir='${datadir}/${instvardir}/lisp'
-moduledir='${datadir}/${instvardir}/${configuration}/modules'
-sitelispdir='${datadir}/${inststaticdir}/site-lisp'
-sitemoduledir='${datadir}/${inststaticdir}/site-modules'
-pkgdir='${datadir}/${instvardir}/lisp'
+lispdir='${datadir}/${PROGNAME}-${version}/lisp'
+moduledir='${datadir}/${PROGNAME}-${version}/${configuration}/modules'
+sitelispdir='${datadir}/xemacs/site-lisp'
+sitemoduledir='${datadir}/xemacs/site-modules'
+pkgdir='${datadir}/${PROGNAME}-${version}/lisp'
 package_path=''
-etcdir='${datadir}/${instvardir}/etc'
-archlibdir='${datadir}/${instvardir}/${configuration}'
-docdir='${archlibdir}'
-with_prefix='yes'
+etcdir='${datadir}/${PROGNAME}-${version}/etc'
+lockdir='${statedir}/${PROGNAME}/lock'
+archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}'
 with_site_lisp='no'
 with_site_modules='yes'
 with_menubars=''
 with_scrollbars=''
-with_widgets=''
 with_dialogs=''
 with_file_coding=''
+dnl const_is_losing is removed - we rely on AC_C_CONST instead.
+dnl We accept (and ignore) the --const-is-losing option for compatibility.
+dnl const_is_losing='yes'
 cpp='' cppflags='' libs='' ldflags=''
 dynamic=''
 with_x11=''
@@ -385,9 +383,6 @@
 with_tty=""
 use_union_type="no"
 with_dnet=""
-pdump="no"
-dnl dragndrop is still experimental.  When it is stable, comment out the following line:
-with_dragndrop="no"
 
 dnl ------------------
 dnl Options Processing
@@ -468,8 +463,7 @@
 
       dnl Process (many) boolean options
 	with_site_lisp	| \
-	with_prefix	| \
-	with_site_modules | \
+    with_site_modules | \
 	with_x		| \
 	with_x11	| \
 	with_msw	| \
@@ -488,7 +482,7 @@
 	with_jpeg	| \
 	with_png	| \
 	with_tiff	| \
-	with_wmcommand	| \
+	with_session	| \
 	with_xmu	| \
 	with_purify	| \
 	with_quantify	| \
@@ -505,7 +499,6 @@
 	with_sparcworks | \
 	with_tooltalk	| \
 	with_ldap	| \
-	with_postgresql	| \
 	with_pop	| \
 	with_kerberos	| \
 	with_hesiod	| \
@@ -514,15 +507,15 @@
 	external_widget | \
 	verbose		| \
 	extra_verbose	| \
+	const_is_losing | \
 	usage_tracking	| \
 	use_union_type	| \
-	pdump		| \
 	debug		| \
 	use_assertions	| \
 	memory_usage_stats | \
 	with_clash_detection | \
-	with_modules | \
-	quick_build )
+	with_shlib | \
+	no_doc_file )
 	  dnl Make sure the value given was either "yes" or "no".
 	  case "$val" in
 	    y | ye | yes )	val=yes ;;
@@ -581,20 +574,20 @@
         "with_database" )
 	  with_database_berkdb=no
 	  with_database_dbm=no
-	  with_database_gdbm=no
+	  with_database_gnudbm=no
 	  for x in `echo "$val" | sed -e 's/,/ /g'` ; do
 	    case "$x" in
-	      no ) ;;
-	      b | be | ber | berk | berkd | berkdb )       with_database_berkdb=yes ;;
-	      d | db | dbm )				   with_database_dbm=yes    ;;
-	      g | gn | gnu | gnud | gnudb | gnudbm | gdbm) with_database_gdbm=yes   ;;
-	      * ) USAGE_ERROR(["The \`--$optname' option value
+		no ) ;;
+		b | be | ber | berk | berkd | berkdb )  with_database_berkdb=yes ;;
+		d | db | dbm )				with_database_dbm=yes    ;;
+		g | gn | gnu | gnud | gnudb | gnudbm )  with_database_gnudbm=yes ;;
+		* ) USAGE_ERROR(["The \`--$optname' option value
   must be either \`no' or a comma-separated list
   of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."]) ;;
             esac
 	  done
-	  if test "$with_database_dbm"  = "yes" -a \
-	          "$with_database_gdbm" = "yes"; then
+	  if test "$with_database_dbm"    = "yes" -a \
+	          "$with_database_gnudbm" = "yes"; then
 	  USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
   with the \`--$optname' option.")
 	  fi
@@ -602,54 +595,16 @@
 
         dnl Has the user requested sound support?
 	"with_sound" )
-	dnl values is a subset of all,native,nas,esd
-        dnl or their negatives: none,nonative,nonas,noesd
-	  for x in `echo "$val" | sed -e 's/,/ /g'` ; do
-	    case "$x" in
-	      dnl all and none are only permitted as the first in the list.
-	      n | no | non | none ) new_sdefault=no ;;
-	      a | al | all | both ) new_sdefault=yes ;;
-
-	      native )       with_native_sound=yes ;;
-	      nonative )     with_native_sound=no ;;
-
-	      nas )          with_nas_sound=yes ;;
-	      nonas )        with_nas_sound=no ;;
-
-	      esd )	     with_esd_sound=yes ;;
-	      noesd )        with_esd_sound=no ;;
-
-	      * ) bogus_sound=yes ;;
-	    esac
-	    if test "$bogus_sound" -o \
-	         \( -n "$new_sdefault" -a -n "$sound_notfirst" \) ; then
-		types="\`all', \`none', \`(no)native', \`no(nas)', \`(no)esd'."
-		USAGE_ERROR(["Valid types for the \`--$optname' option are:
-  $types.
-The default is to autodetect all sound support."])
-	    elif test -n "$new_sdefault" ; then
-		with_native_sound=$new_sdefault
-		with_nas_sound=$new_sdefault
-		with_esd_sound=$new_sdefault
-		new_sdefault=	# reset this
-	    fi
-	    sound_notfirst=true
-	  done
-        ;;
-
-        dnl Has the user specified a prefered Athena widget set?
-        dnl This bit expands any alias names out for us...
-        "with_athena" )
+	  dnl value can be native, nas or both. yes is allowed
+	  dnl as a backwards compatible synonym for native
 	  case "$val" in
-            xa | xaw )			  val=xaw    ;;
-            3 | 3d | xaw3d )              val=3d     ;;
-            dnl No `n' for next, someone may try `no'
-            ne | nex | next | naxtaw)     val=next   ;;
-            dnl Have not tested the next two...
-            9 | 95 | xaw95 )              val=95     ;;
-            xp | xpm | xawxpm )           val=xpm    ;;
+	    y | ye | yes )			val=native ;;
+	    n | no | non | none )		val=no;;
+	    na | nat | nati | nativ | native )	val=native  ;;
+	    ne | net | neta | netau | netaud | netaudi | netaudio | nas ) val=nas  ;;
+	    b | bo | bot | both )		val=both;;
 	    * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
-  \`xaw', \`3d', \`next', \`95', or \`xpm'."]) ;;
+  \`native', \`nas', \`both', or \`none'."]) ;;
 	  esac
           eval "$opt=\"$val\""
         ;;
@@ -672,10 +627,9 @@
 	  case "$val" in
 	    lockf )	val=lockf ;;
 	    flock )	val=flock ;;
-	    file | dot ) val=file  ;;
-	    locking )	val=locking  ;;
+	    file )	val=file  ;;
 	    * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
-  \`lockf', \`flock', \`file', \`locking', or \`mmdf'."]) ;;
+  \`lockf', \`flock', or \`file'."]) ;;
 	  esac
           eval "$opt=\"$val\""
         ;;
@@ -707,20 +661,14 @@
 	      malloc )	      error_check_malloc=yes ;;
 	      nomalloc )      error_check_malloc=no ;;
 
-	      byte_code )     error_check_byte_code=yes ;;
-	      nobyte_code )   error_check_byte_code=no ;;
-
-	      glyphs )     error_check_glyphs=yes ;;
-	      noglyphs )   error_check_glyphs=no ;;
-
 	      * ) bogus_error_check=yes ;;
 	    esac
 	    if test "$bogus_error_check" -o \
 	         \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then
 		if test "$error_check_default" = yes ; then
-		  types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', \`noglyphs' and \`nobyte-code'."
+		  types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'."
 		else
-		  types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', \`glyphs' and \`byte-code'."
+		  types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'."
 		fi
 		USAGE_ERROR(["Valid types for the \`--$optname' option are:
   $types."])
@@ -730,8 +678,6 @@
 		error_check_bufpos=$new_default
 		error_check_gc=$new_default
 		error_check_malloc=$new_default
-		error_check_byte_code=$new_default
-		error_check_glyphs=$new_default
 		new_default=	# reset this
 	    fi
 	    echeck_notfirst=true
@@ -745,7 +691,7 @@
 
 	dnl Has the user specified one of the path options?
 	prefix | exec_prefix | bindir | datadir | statedir | libdir | \
-	mandir | infodir | infopath | lispdir | etcdir | pkgdir | \
+	mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \
 	archlibdir | docdir | package_path )
 	   dnl If the value was omitted, get it from the next argument.
 	   if test "$valomitted" = "yes"; then
@@ -759,8 +705,6 @@
            dnl You need to synchronize this with the way the
            dnl default values are built.
 	   case "$opt" in
-	     dnl prefix is taken care of by --with-prefix
-	     exec_prefix ) AC_DEFINE(EXEC_PREFIX_USER_DEFINED) ;;
              lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;;
              sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
              moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;;
@@ -773,7 +717,7 @@
  	        AC_DEFINE(LISPDIR_USER_DEFINED)
             AC_DEFINE(MODULEDIR_USER_DEFINED)
 	        AC_DEFINE(ETCDIR_USER_DEFINED) ;;
-	     docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;;
+             statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;;
              exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
            esac
 	;;
@@ -787,25 +731,21 @@
 	dnl Has the user specified the toolkit(s) to use for GUI elements?
 	"with_menubars"   | \
 	"with_scrollbars" | \
-	"with_dialogs"    | \
-	"with_widgets" )
+	"with_dialogs" )
 	  case "$val" in
 	    l | lu | luc | luci | lucid )		val=lucid  ;;
 	    m | mo | mot | moti | motif )		val=motif  ;;
+	    athena3d | athena-3d )			val=athena3d ;;
 	    a | at | ath | athe | athen | athena )	val=athena ;;
-	    n | no | non | none )			val=no     ;;
-	    y | ye | yes )				val=yes    ;;
+	    n | no | non | none )			val=no ;;
 	    * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
-  \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
+  \`lucid', \`motif', \`athena', \`athena3d', or \`no'."]) ;;
 	  esac
 	  eval "$opt=\"$val\""
 	;;
 
 	dnl Obsolete legacy argument?  Warn, but otherwise ignore.
-	"use_minimal_tagbits" | \
-	"use_indexed_lrecord_implementation" | \
 	"run_in_place"	| \
-	"const_is_losing" | \
 	"with_gnu_make" )
 	  AC_MSG_WARN([Obsolete option \`--$optname' ignored.])
 	;;
@@ -911,7 +851,7 @@
 dnl have stuck the source on a read-only partition.  Instead we
 dnl create it as an actual directory later on if it does not already
 dnl exist.
-for dir in lisp etc man info tests; do
+for dir in lisp etc man info; do
   if test ! -d "$dir" ; then
     echo Making symbolic link to "$srcdir/$dir"
     ${LN_S} "$srcdir/$dir" "$dir"
@@ -969,25 +909,20 @@
 dnl ----------------------------------------
 . "$srcdir/version.sh" || exit 1;
 dnl Must do the following first to determine verbosity for AC_DEFINE
-if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
+if test -n "$emacs_beta_version"; then beta=yes; else beta=no; fi
 : "${extra_verbose=$beta}"
 version="${emacs_major_version}.${emacs_minor_version}"
 AC_DEFINE_UNQUOTED(EMACS_MAJOR_VERSION, $emacs_major_version)
 AC_DEFINE_UNQUOTED(EMACS_MINOR_VERSION, $emacs_minor_version)
-if test -n "$emacs_beta_version" ; then
-  if test "$beta" = "yes"; then
-  	version="${version}-b${emacs_beta_version}"
-  	AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version)
-  else
-	version="${version}.${emacs_beta_version}"
-	AC_DEFINE_UNQUOTED(EMACS_PATCH_LEVEL, $emacs_beta_version)
-  fi
+if test -n "$emacs_beta_version"; then
+  version="${version}-b${emacs_beta_version}"
+  AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version)
 fi
 AC_DEFINE_UNQUOTED(XEMACS_CODENAME, "$xemacs_codename")
 AC_DEFINE_UNQUOTED(EMACS_VERSION, "$version")
 
 if test "$with_infodock" = "yes"; then
-  if test ! -f ../../ID-INSTALL; then
+  if test ! -f ../ID-INSTALL; then
     echo "Cannot build InfoDock without InfoDock sources"
     with_infodock=no
   fi
@@ -1006,28 +941,23 @@
   PROGNAME=xemacs
 fi
 
-AC_DEFINE_UNQUOTED(EMACS_PROGNAME, "$PROGNAME")
-
 dnl ----------------------------------
 dnl Error checking and debugging flags
 dnl ----------------------------------
 dnl Error checking default to "yes" in beta versions, to "no" in releases.
 dnl Same goes for --debug and --extra-verbosity.
-if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
+if test -n "$emacs_beta_version"; then beta=yes; else beta=no; fi
 test "${error_check_extents=$beta}"   = yes && AC_DEFINE(ERROR_CHECK_EXTENTS)
 test "${error_check_typecheck=$beta}" = yes && AC_DEFINE(ERROR_CHECK_TYPECHECK)
 test "${error_check_bufpos=$beta}"    = yes && AC_DEFINE(ERROR_CHECK_BUFPOS)
 test "${error_check_gc=$beta}"        = yes && AC_DEFINE(ERROR_CHECK_GC)
 test "${error_check_malloc=$beta}"    = yes && AC_DEFINE(ERROR_CHECK_MALLOC)
-test "${error_check_byte_code=$beta}" = yes && AC_DEFINE(ERROR_CHECK_BYTE_CODE)
-test "${error_check_glyphs=$beta}" = yes && AC_DEFINE(ERROR_CHECK_GLYPHS)
 dnl debug=yes must be set when error checking is present.  This should be
 dnl fixed up.
 dnl debug implies other options
 if test "${debug:=$beta}" = "yes"; then
   use_assertions=yes memory_usage_stats=yes
   XE_ADD_OBJS(debug.o)
-  XE_ADD_OBJS(tests.o)
   AC_DEFINE(DEBUG_XEMACS)
 fi
 test "$use_assertions"     = "yes" && AC_DEFINE(USE_ASSERTIONS)
@@ -1079,9 +1009,7 @@
   alpha*-*-*       ) machine=alpha ;;
   vax-*-*          ) machine=vax ;;
   mips-dec-*       ) machine=pmax ;;
-  mips-sgi-irix6*  ) machine=iris6d ;;
   mips-sgi-*       ) machine=iris4d ;;
-  mips*-linux      ) machine=mips ;;
   romp-ibm-*       ) machine=ibmrt ;;
   rs6000-ibm-aix*  ) machine=ibmrs6000 ;;
   powerpc-ibm-aix* ) machine=ibmrs6000 ;;
@@ -1091,9 +1019,8 @@
   m68*-sony-*      ) machine=news ;;
   mips-sony-*      ) machine=news-risc ;;
   clipper-*        ) machine=clipper ;;
-  arm*             ) machine=arm ;;
+  arm-*            ) machine=arm ;;
   ns32k-*          ) machine=ns32000 ;;
-  s390-*           ) machine=s390 ;;
 esac
 
 dnl Straightforward OS determination
@@ -1536,7 +1463,6 @@
 	else
 		NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE"  ;
 	fi ;;
-      *-sysv5* )		opsys=sco7 ;;
       *-386bsd* )	        opsys=386bsd ;;
       *-freebsd* )		opsys=freebsd ;;
       *-nextstep* )		opsys=nextstep ;;
@@ -1602,7 +1528,7 @@
   XE_ADD_OBJS(sunpro.o)
 fi
 
-if test "$with_clash_detection" != "no"; then
+if test "$with_clash_detection" = "yes"; then
   AC_DEFINE(CLASH_DETECTION)
   XE_ADD_OBJS(filelock.o)
 fi
@@ -1649,14 +1575,7 @@
 
 AC_PROG_CPP
 
-dnl --------------------------------------------------------------------
-dnl Compiler feature macros
-dnl --------------------------------------------------------------------
-
-AC_AIX dnl Defines _ALL_SOURCE on AIX.
-
-dnl We want feature macros defined here *and* in config.h.in, so that
-dnl the compilation environment at configure time and compile time agree.
+AC_AIX
 
 AC_MSG_CHECKING(for GNU libc)
 AC_TRY_COMPILE([#include <features.h>],[
@@ -1670,23 +1589,6 @@
 dnl Well. then why not fix fucking pop?
 test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE)
 
-dnl We'd like to use vendor extensions, where available.
-dnl We'd like to use functions from the latest Unix98 standards.
-dnl See http://www.opengroup.org/onlinepubs/007908799/xsh/compilation.html
-case "$opsys" in
-  sol2)
-   AC_DEFINE(__EXTENSIONS__)
-   dnl Solaris 2 before 2.5 had some bugs with feature test macro interaction.
-   if test "$os_release" -ge 55; then
-     AC_DEFINE(_XOPEN_SOURCE,500)
-     AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
-   fi ;;
-  linux)
-    AC_DEFINE(_POSIX_C_SOURCE,199506L)
-    AC_DEFINE(_XOPEN_SOURCE,500)
-    AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
-    ;;
-esac
 
 dnl Identify compilers to enable compiler-specific hacks.
 dnl Add support for other compilers HERE!
@@ -1767,11 +1669,8 @@
 
 CPP_to_sh(LD_SWITCH_SHARED, ld_switch_shared, -c)
 
-#define ORDINARY_LD "\$(CC) \$(CFLAGS)"
-configure___ ordinary_ld=ORDINARY_LD
-
 #ifdef ORDINARY_LINK
-#define LD ORDINARY_LD
+#define LD "\$(CC) \$(CFLAGS)"
 #else /* no ORDINARY LINK */
 #ifdef COFF_ENCAPSULATE
 #define LD "\$(CC) -nostdlib"
@@ -1807,10 +1706,8 @@
 CPP_boolean_to_sh(ORDINARY_LINK, ordinary_link)
 CPP_boolean_to_sh(SYSTEM_MALLOC, system_malloc)
 CPP_boolean_to_sh(TERMINFO, have_terminfo)
-dnl The MAIL_USE_xxx variables come from the s&m headers
 CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock)
 CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf)
-CPP_boolean_to_sh(MAIL_USE_LOCKING, mail_use_locking)
 CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes)
 EOF
 
@@ -1825,15 +1722,6 @@
 
 rm $tempcname
 
-if test "$pdump" = "yes"; then
-  ordinary_link="yes"
-  ld="${ordinary_ld}"
-  start_files=
-  libs_standard=
-  unexec=
-  lib_gcc=
-fi
-
 dnl For debugging...
 test "$extra_verbose" = "yes" && \
   PRINT_VAR(libs_machine libs_system libs_termcap libs_standard
@@ -1842,19 +1730,12 @@
   ld lib_gcc ld_text_start_addr start_files ordinary_link
   have_terminfo mail_use_flock mail_use_lockf) && echo ""
 
-dnl Pick up mingw32 include path
-case "$opsys" in mingw*) mingw_include=`eval "gcc -print-file-name=libc.a"` ;
-	mingw_include=`eval "dirname $mingw_include"` ;
-	mingw_include="-I$mingw_include/../include/mingw32" ;
-	XE_APPEND($mingw_include, c_switch_system) ;;
-esac
-
 dnl Non-ordinary link usually requires -lc
 test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
 
 dnl Compiler-specific hacks
-dnl DEC C `-std1' means ANSI C mode
-test "$__DECC" = "yes" && XE_APPEND(-std1, c_switch_site)
+dnl DEC C requires -std
+test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site)
 
 dnl Calculalate value of CFLAGS:
 dnl Use either command line flag, environment var, or autodetection
@@ -1862,7 +1743,7 @@
   dnl Following values of CFLAGS are known to work well.
   dnl Should we take debugging options into consideration?
   if   test "$GCC" = "yes"; then
-    CFLAGS="-g -O3 -Wall -Wno-switch -Wpointer-arith -Winline -Wmissing-prototypes -Wshadow"
+    CFLAGS="-g -O3 -Wall -Wno-switch"
     dnl I'm not convinced this is a good idea any more. -sb
     dnl test "$opsys $machine" = "linux intel386" && \
     dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
@@ -1881,70 +1762,6 @@
   fi
 fi
 
-dnl Search for GCC specific build problems we know about
-if test "$GCC" = "yes"; then
-AC_MSG_CHECKING(for buggy gcc versions)
-GCC_VERSION=`$CC --version`
-case `uname -s`:`uname -m`:$GCC_VERSION in
-	dnl egcs 2.90.21 (egcs-1.00 release)
-	dnl egcs 2.90.29 (egcs-1.0.3 release)
-    *:sun4*:2.8.1|*:sun4*:egcs-2.90.*)
-        dnl Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
-        dnl without also using `-fno-schedule-insns'.
-        case "$CFLAGS" in
-            *-O2*|*-O3*)
-                case "$CFLAGS" in
-                    *-fno-schedule-insns*) ;;
-                    *)
-                        AC_MSG_RESULT(Yes)
-                        AC_MSG_WARN(Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures)
-                        AC_MSG_WARN(without also using -fno-schedule-insns.)
-                        AC_MSG_ERROR(Aborting due to known problem)
-                        ;;
-                esac
-                ;;
-        esac
-        ;;
-	dnl egcs-2.91.57 (egcs-1.1 release)
-	dnl egcs-2.91.66 (egcs-1.1.2 release)
-    Linux:alpha:egcs-2.91.*)
-        AC_MSG_RESULT(Yes)
-        AC_MSG_WARN(There have been reports of egcs-1.1 not compiling XEmacs correctly on)
-        AC_MSG_WARN(Alpha Linux.  There have also been reports that egcs-1.0.3a is O.K.)
-        AC_MSG_ERROR(Aborting due to known problem)
-        ;;
-    *:i*86*:2.7.2*)
-	case "$GCC_VERSION" in
-	    2.7.2)
-		case "$CFLAGS" in
-        	    *-O2*|*-O3*)
-                	case "$CFLAGS" in
-	                    *-fno-strength-reduce*) ;;
-        	            *)
-                                AC_MSG_RESULT(Yes)
-                      	        AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using)
-	                        AC_MSG_WARN(-fno-strength-reduce.)
-        	                AC_MSG_ERROR(Aborting due to known problem)
-	                        ;;
-	                esac
-	                ;;
-		esac
-		;;
-	esac
-        case "$CFLAGS" in
-	 *-fno-caller-saves*) ;;
-	 *)
-            AC_MSG_RESULT(Yes)
-	    AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using)
-	    AC_MSG_WARN(-fno-caller-saves.)
-            AC_MSG_ERROR(Aborting due to known problem)
-	    ;;
-        esac
-	;;
-esac
-fi
-AC_MSG_RESULT(No)
-
 dnl Inform compiler that certain flags are meant for the linker
 dnl XE_PROTECT_LINKER_FLAGS(shell_var)
 define([XE_PROTECT_LINKER_FLAGS], [
@@ -1968,8 +1785,7 @@
 dnl Add s&m-determined objects (including unexec) to link line
 test -n "$objects_machine" && XE_ADD_OBJS($objects_machine)
 test -n "$objects_system"  && XE_ADD_OBJS($objects_system)
-test -n "$unexec"          && test ! "$pdump" = "yes" && XE_ADD_OBJS($unexec)
-test "$pdump" = "yes" && XE_ADD_OBJS(dumper.o)
+test -n "$unexec"          && XE_ADD_OBJS($unexec)
 
 dnl Dynodump (Solaris 2.x, x<6)
 AC_MSG_CHECKING(for dynodump)
@@ -2066,16 +1882,16 @@
 COLON_TO_SPACE(site_prefixes)
 if test -n "$site_prefixes"; then
   for dir in $site_prefixes; do
+    inc_dir="${dir}/include"
     lib_dir="${dir}/lib"
-    inc_dir="${dir}/include"
     if test ! -d "$dir"; then
       XE_DIE("Invalid site prefix \`$dir': no such directory")
+    elif test ! -d "$inc_dir"; then
+      XE_DIE("Invalid site prefix \`$dir': no such directory \`$inc_dir'")
     elif test ! -d "$lib_dir"; then
       XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'")
     else
-      if test -d "$inc_dir"; then
-	XE_APPEND("-I$inc_dir", c_switch_site)
-      fi
+      XE_APPEND("-I$inc_dir", c_switch_site)
       XE_APPEND("-L$lib_dir", ld_switch_site)
     fi
   done
@@ -2089,7 +1905,7 @@
 
 dnl Extra system-specific library directories - please add to list
 for dir in "/usr/ccs/lib"; do
-  test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system)
+  test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_site)
 done
 
 dnl --site-runtime-libraries (multiple dirs)
@@ -2099,31 +1915,11 @@
   export LD_RUN_PATH
 fi
 
-dnl Linux systems have dynamic runtime library directories listed in
-dnl /etc/ld.so.conf.  Since those are used at run time, it seems pretty
-dnl safe to use them at link time, and less controversial than forcing
-dnl the run-time to use the link-time libraries.  This also helps avoid
-dnl mismatches between the link-time and run-time libraries.
-
-dnl #### Unfortunately, there are horrible libc4 and libc5 libraries
-dnl listed in /etc/ld.so.conf on some systems, and including them on
-dnl the link path leads to linking in utterly broken libc's.
-dnl There are many clever ways of approaching this problem,
-dnl but finding out that actually works...
-
-dnl if test -z "$LD_RUN_PATH" -a -r "/etc/ld.so.conf"; then
-dnl   for dir in `cat /etc/ld.so.conf`; do
-dnl     test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system)
-dnl   done
-dnl   add_runtime_path=no
-dnl fi
-
 dnl -------------------------------------
 dnl Compute runtime library path
 dnl -------------------------------------
 
-if test -n "$add_runtime_path"; then :;
-elif test "$dynamic" = "no"; then add_runtime_path=no
+if   test "$dynamic" = "no"; then add_runtime_path=no
 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
 else case "$opsys" in
        sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
@@ -2241,6 +2037,7 @@
 	doug_lea_malloc=no
 fi
 after_morecore_hook_exists=yes
+AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
 AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
 AC_MSG_CHECKING(whether __after_morecore_hook exists)
 AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
@@ -2250,26 +2047,29 @@
 if test "$system_malloc" = "yes" ; then
   GNU_MALLOC=no
   GNU_MALLOC_reason="
-    - The GNU allocators don't work with this system configuration."
+  (The GNU allocators don't work with this system configuration)."
 elif test "$with_system_malloc" = "yes" ; then
   GNU_MALLOC=no
   GNU_MALLOC_reason="
-    - User chose not to use GNU allocators."
+  (User chose not to use GNU allocators)."
 elif test "$with_debug_malloc" = "yes" ; then
   GNU_MALLOC=no
   GNU_MALLOC_reason="
-    - User chose to use Debugging Malloc."
+  (User chose to use Debugging Malloc)."
 fi
 
-if test "$doug_lea_malloc" = "yes" -a "$GNU_MALLOC" = "yes" ; then
-  GNU_MALLOC_reason="
-    - Using Doug Lea's new malloc from the GNU C Library."
+if test "$doug_lea_malloc" = "yes" ; then
+  if test "$GNU_MALLOC" = yes ; then
+    GNU_MALLOC_reason="
+  (Using Doug Lea's new malloc from the GNU C Library.)"
+  fi
   AC_DEFINE(DOUG_LEA_MALLOC)
   if test "$after_morecore_hook_exists" = "no" ; then
     GNU_MALLOC_reason="
-    - Using Doug Lea's new malloc from the Linux C Library."
+  (Using Doug Lea's new malloc from the Linux C Library.)"
     AC_DEFINE(_NO_MALLOC_WARNING_)
   fi
+  use_minimal_tagbits=yes
 fi
 
 dnl #### mcheck is broken in all versions of Linux libc and glibc.
@@ -2298,25 +2098,9 @@
 AC_PROG_YACC
 
 dnl checks for header files
-AC_CHECK_HEADERS(dnl
-  a.out.h dnl
-  cygwin/version.h dnl
-  fcntl.h dnl
-  inttypes.h dnl
-  libgen.h dnl
-  locale.h dnl
-  mach/mach.h dnl
-  sys/param.h dnl
-  sys/pstat.h dnl
-  sys/stropts.h dnl
-  sys/time.h dnl
-  sys/timeb.h dnl
-  sys/un.h dnl
-  kstat.h dnl
-  ulimit.h dnl
-  unistd.h dnl
-  utime.h dnl
-)
+AC_CHECK_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h)
+AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h cygwin/version.h)
+AC_CHECK_HEADERS(kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
 AC_HEADER_SYS_WAIT
 AC_HEADER_STDC
 AC_HEADER_TIME
@@ -2348,20 +2132,6 @@
 AC_TYPE_UID_T
 AC_TYPE_MODE_T
 AC_TYPE_OFF_T
-AC_CHECK_TYPE(ssize_t, int)
-
-dnl check for Unix98 socklen_t
-AC_MSG_CHECKING(for socklen_t)
-AC_TRY_COMPILE([#include <sys/socket.h>
-socklen_t x;
-],[],[AC_MSG_RESULT(yes)],[
-AC_TRY_COMPILE([#include <sys/socket.h>
-int accept (int, struct sockaddr *, size_t *);
-],[],[
-AC_MSG_RESULT(size_t)
-AC_DEFINE(socklen_t,size_t)], [
-AC_MSG_RESULT(int)
-AC_DEFINE(socklen_t,int)])])
 
 AC_MSG_CHECKING(for struct timeval)
 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
@@ -2421,32 +2191,13 @@
 
 dnl Determine type of mail locking from configure args and s&m headers
 AC_CHECKING(type of mail spool file locking)
-AC_CHECK_FUNCS(lockf flock)
-dnl The mail_use_xxx variables are set according to the s&m headers.
 test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock
 test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf
-test -z "$mail_locking" -a "$mail_use_locking" = "yes" && mail_locking=locking
-if   test -z "$mail_locking"; then
-  case "$opsys" in cygwin* | mingw*)
-    mail_locking=pop ;;
-  esac
+if   test "$mail_locking" = "lockf"; then AC_DEFINE(REAL_MAIL_USE_LOCKF)
+elif test "$mail_locking" = "flock"; then AC_DEFINE(REAL_MAIL_USE_FLOCK)
+else mail_locking="dot-locking"
 fi
 
-if   test "$mail_locking" = "lockf"; then AC_DEFINE(MAIL_LOCK_LOCKF)
-elif test "$mail_locking" = "flock"; then AC_DEFINE(MAIL_LOCK_FLOCK)
-elif test "$mail_locking" = "locking"; then AC_DEFINE(MAIL_LOCK_LOCKING)
-elif test "$mail_locking" = "pop"; then
-  with_pop=yes
-  mail_locking=
-else mail_locking="dot-locking"; AC_DEFINE(MAIL_LOCK_DOT)
-fi
-test "$mail_locking" = "lockf" -a "$ac_cv_func_lockf" != "yes" && \
-  XE_DIE("lockf mail locking requested but not available.")
-test "$mail_locking" = "flock" -a "$ac_cv_func_flock" != "yes" && \
-  XE_DIE("flock mail locking requested but not available.")
-test "$mail_locking" = "locking" -a "$ac_cv_func_locking" != "yes" && \
-  XE_DIE("locking mail locking requested but not available.")
-
 case "$opsys" in decosf*)
   AC_CHECK_LIB(pthreads, cma_open)
   test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
@@ -2463,15 +2214,13 @@
 fi
 
 dnl Link with "-z ignore" on Solaris if supported
-if test "$opsys" = "sol2"; then
-  if test "$os_release" -ge 56; then
-    AC_MSG_CHECKING(for \"-z ignore\" linker flag)
-    case "`ld -h 2>&1`" in
-      *-z\ ignore\|record* ) AC_MSG_RESULT(yes)
-        XE_PREPEND(-z ignore, ld_switch_site) ;;
-      *) AC_MSG_RESULT(no) ;;
-    esac
-  fi
+if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then
+  AC_MSG_CHECKING(for \"-z ignore\" linker flag)
+  case "`ld -h 2>&1`" in
+    *-z\ ignore\|record* ) AC_MSG_RESULT(yes)
+      XE_PREPEND(-z ignore, ld_switch_site) ;;
+    *) AC_MSG_RESULT(no) ;;
+  esac
 fi
 
 dnl ----------------------
@@ -2615,19 +2364,10 @@
     cd ..
     rm -fr conftestdir
     for word in $xmkmf_defines; do
-      case "$word" in -D* )
-	sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'`
-	case "$word" in
-	  -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
-	  *     ) val=1 ;;
-	esac
-dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
-	if grep "^#define $sym " confdefs.h >/dev/null; then :; else
-	  if test "$val" = "1"
-	    then AC_DEFINE_UNQUOTED($sym)
-	    else AC_DEFINE_UNQUOTED($sym,$val)
-	  fi
-	fi  ;;
+      case "$word" in
+	-D*=* ) ;;
+	-D* ) word=`echo '' $word | sed -e 's:^ *-D::'`
+	      AC_DEFINE_UNQUOTED($word) ;;
       esac
     done
   fi
@@ -2662,8 +2402,6 @@
   AC_MSG_RESULT(R${x11_release})
   AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
 
-  AC_CHECK_FUNCS(XConvertCase)
-
   AC_CHECK_HEADERS(X11/Xlocale.h)
 
   dnl remove this - we should avoid checking for specific OS
@@ -2715,7 +2453,7 @@
   if test "$with_msw" = "yes"; then
     AC_DEFINE(HAVE_MS_WINDOWS)
     install_pp="$blddir/lib-src/installexe.sh"
-    XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system)
+    XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32, libs_system)
     test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
     if test "$window_system" != x11; then
  	window_system=msw
@@ -2727,7 +2465,6 @@
 	    && XE_ADD_OBJS(toolbar-msw.o)
 	test "$with_dialogs"   != "no" && with_dialogs=msw \
 	    && XE_ADD_OBJS(dialog-msw.o)
-	test "$with_widgets"   != "no" && with_widgets=msw
     else
 	test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-msw.o)
 	test "$with_menubars"   != "no" && XE_ADD_OBJS(menubar-msw.o)
@@ -2738,6 +2475,7 @@
     AC_TRY_RUN([#include <fcntl.h>
     int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }],
     [AC_DEFINE(HAVE_MSG_SELECT)])
+    const_is_losing=no
     with_file_coding=yes
     XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o)
   fi
@@ -2781,7 +2519,7 @@
   dnl if test "$with_tty" = "no" ; then
   dnl   AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
   dnl fi
-  for feature in tooltalk cde offix wmcommand xim xmu nas_sound
+  for feature in tooltalk cde offix session xim xmu
   do
     if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
        AC_MSG_WARN([--with-$feature ignored:  Not valid without X support])
@@ -2804,11 +2542,11 @@
   test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h"
 esac
 
-dnl Enable or disable proper handling of WM_COMMAND
-AC_CHECKING(for WM_COMMAND option);
-dnl if test "$with_wmcommand" = "yes"; then
-if test "$with_wmcommand" != "no"; then
-  AC_DEFINE(HAVE_WMCOMMAND)
+dnl Enable or disable proper session-management
+AC_CHECKING(for session-management option);
+dnl if test "$with_session" = "yes"; then
+if test "$with_session" != "no"; then
+  AC_DEFINE(HAVE_SESSION)
 fi
 
 dnl Autodetect Xauth
@@ -2832,9 +2570,9 @@
   dnl autodetect the location of tt_c.h
   dnl tt_c.h might be in Tt or desktop include directories
   for dir in "" "Tt/" "desktop/" ; do
-    AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break)
+    AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break)
   done
-  if test -z "$tt_c_h_file"; then
+  if test -z "$tt_c_h_path"; then
     if test "$with_tooltalk" = "yes"; then
       USAGE_ERROR("Unable to find required tooltalk header files.")
     fi
@@ -2856,7 +2594,7 @@
 test -z "$with_tooltalk" && with_tooltalk=yes
 if test "$with_tooltalk" = "yes"; then
   AC_DEFINE(TOOLTALK)
-  AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file")
+  AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path")
   XE_PREPEND($tt_libs, libs_x)
   XE_ADD_OBJS(tooltalk.o)
 fi
@@ -2922,60 +2660,22 @@
 test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) }
 test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) }
 if test "$with_ldap" != "no"; then
-  AC_CHECK_LIB(ldap, ldap_search, with_ldap_nolber=yes, with_ldap_nolber=no)
-  test "$with_ldap_nolber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_lber=yes, with_ldap_lber=no, -llber) }
-  test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krb=yes, with_ldap_krb=no, -llber -lkrb) }
-  test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" -a "$with_ldap_krb" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krbdes=yes, with_ldap_krbdes=no, -llber -lkrb -ldes) }
-  test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" -o "$with_ldap_krb" = "yes" -o "$with_ldap_krbdes" = "yes" \) && with_ldap=yes
+  test -z "$with_umich_ldap" && { AC_CHECK_LIB(ldap, ldap_open, with_umich_ldap=yes, with_umich_ldap=no, -llber) }
+  test "$with_umich_ldap" = "no" && { AC_CHECK_LIB(ldap10, ldap_set_option, with_ns_ldap=yes, with_ns_ldap=no) }
+  test -z "$with_ldap" -a \( "$with_umich_ldap" = "yes" -o "$with_ns_ldap" = "yes" \) && with_ldap=yes
 fi
 if test "$with_ldap" = "yes"; then
   AC_DEFINE(HAVE_LDAP)
   XE_ADD_OBJS(eldap.o)
-  if test "$with_ldap_nolber" = "yes" ; then
-    XE_PREPEND(-lldap, LIBS)
-  else
-    if test "$with_ldap_krb" = "yes" ; then
-      XE_PREPEND(-lkrb, LIBS)
-    fi
-    if test "$with_ldap_krbdes" = "yes" ; then
-      XE_PREPEND(-ldes, LIBS)
-      XE_PREPEND(-lkrb, LIBS)
-    fi
+  if test "$with_umich_ldap" = "yes" ; then
+    AC_DEFINE(HAVE_UMICH_LDAP)
     XE_PREPEND(-llber, LIBS)
     XE_PREPEND(-lldap, LIBS)
-  fi
-  AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
-fi
-
-dnl Autodetect PostgreSQL
-dnl On many Linux systems, PostgreSQL is packaged to be installed in /usr;
-dnl in this case, configure will easily detect it there.
-dnl
-dnl If PostgreSQL is installed into a different prefix,
-dnl (such as the default /usr/local/pgsql when building from source),
-dnl that prefix must be specified using the --site-prefixes flag.
-if test "$with_postgresql" != "no"; then
-  AC_CHECKING(for PostgreSQL)
-
-dnl Look for these standard header file locations, known to be used on Linux
-  for header_dir in "" "pgsql/" "postgresql/"; do
-    AC_CHECK_HEADER(${header_dir}libpq-fe.h,
-                    libpq_fe_h_file=${header_dir}libpq-fe.h; break)
-  done
-
-  test -n "$libpq_fe_h_file" && { AC_CHECK_LIB(pq,PQconnectdb,have_libpq=yes) }
-
-  if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes"; then
-    with_postgresql=yes
-    AC_DEFINE(HAVE_POSTGRESQL)
-    AC_CHECK_LIB(pq,PQconnectStart, [
-                 with_postgresqlv7=yes;
-                 AC_DEFINE(HAVE_POSTGRESQLV7)])
-    AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file")
-    XE_PREPEND(-lpq, LIBS)
-    XE_ADD_OBJS(postgresql.o)
-  elif test "$with_postgresql" = "yes"; then
-    XE_DIE("Required PostgreSQL support cannot be provided.  Check --site-prefixes.")
+  elif test "$with_ldap" = "yes" -a "$with_ns_ldap" = "yes" ; then
+    AC_DEFINE(HAVE_NS_LDAP)
+    XE_PREPEND(-lldap10, LIBS)
+  elif test "$with_ldap" = "yes" ; then
+    XE_PREPEND(-lldap, LIBS)
   fi
 fi
 
@@ -2991,8 +2691,7 @@
   if test -z "$with_xpm"; then
     AC_MSG_CHECKING(for Xpm - no older than 3.4f)
     xe_check_libs=-lXpm
-    AC_TRY_RUN([#define XPM_NUMBERS
-#include <X11/xpm.h>
+    AC_TRY_RUN([#include <X11/xpm.h>
     int main(int c, char **v) {
     return c == 1 ? 0 :
       XpmIncludeVersion != XpmLibraryVersion() ? 1 :
@@ -3125,101 +2824,13 @@
 
   AC_CHECKING(for X11 graphics libraries)
 
-  AC_CHECKING(for the Athena widgets)
-
-  dnl What in heck did the user actually want?
-  case "$with_athena" in
-    dnl This is the default, old fashioned flat Athena.
-    "xaw" | "")	athena_variant=Xaw	athena_3d=no  ;;
-    "3d")	athena_variant=Xaw3d	athena_3d=yes ;;
-    "next")	athena_variant=neXtaw	athena_3d=yes ;;
-    "95")	athena_variant=Xaw95	athena_3d=yes ;;
-    "xpm")	athena_variant=XawXpm	athena_3d=yes ;;
-    *)		XE_DIE("Unknown Athena widget set \`$with_athena'. This should not happen.") ;;
-  esac
-
-  dnl Search for the Athena library...
-  if test "$athena_3d" = "no"; then
-    AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb,
-      [
-        dnl Must not be a 3d library...
-        AC_CHECK_LIB($athena_variant, threeDClassRec,
-          AC_MSG_WARN("Could not find a non-3d Athena widget library."),
-          athena_lib=$athena_variant)
-      ],
-      AC_MSG_WARN("Could not find an Athena widget library."))
-  else
-    dnl The real configuration, need 3d library
-    AC_CHECK_LIB($athena_variant, threeDClassRec, athena_lib=$athena_variant,
-      dnl OK, couldn't find it with a proper name, try the standard Athena lib
-      dnl If that is 3d, presume the user asked for what they have installed.
-      AC_CHECK_LIB(Xaw, threeDClassRec,
-        [
-          athena_lib=Xaw;
-          AC_MSG_WARN("Assuming that libXaw is actually $athena_variant.");
-        ],
-        AC_MSG_WARN("Could not find a 3d Athena widget library that looked like $athena_variant.")))
-  fi
-
-  dnl Now we locate the Athena headers that we need.
-  if test "$athena_3d" = "no"; then
-    AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
-      AC_MSG_WARN("Could not find a non-3d Athena header set."),
-      AC_CHECK_HEADER(X11/Xaw/XawInit.h,
-        athena_h_path=X11/Xaw,
-        AC_MSG_WARN("Could not find a non-3d Athena header set.")))
-  else
-    dnl The three-d Athena headers are so much more slippery.
-    dnl Curse this `Lets replace standard libraries' thing that they did. :/
-    AC_CHECK_HEADER(X11/$athena_variant/XawInit.h,
-      AC_CHECK_HEADER(X11/$athena_variant/ThreeD.h,
-        athena_h_path=X11/$athena_variant,))
-
-    dnl Is the variant specific header directory directly under include?
-    if test -z "$athena_h_path"; then
-      AC_CHECK_HEADER($athena_variant/XawInit.h,
-        AC_CHECK_HEADER($athena_variant/ThreeD.h,
-          athena_h_path=$athena_variant,))
-    fi
-
-    dnl If we couldn't find the specific variant, try the generic Athena 3d headers
-    if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
-      AC_CHECK_HEADER(X11/Xaw3d/XawInit.h,
-        AC_CHECK_HEADER(X11/Xaw3d/ThreeD.h,
-          [
-            AC_MSG_WARN("Assuming that X11/Xaw3d headers are suitable for $athena_variant.")
-            athena_h_path=X11/Xaw3d
-          ],))
-    fi
-
-    dnl Also generic 3d headers directly under include dir
-    if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
-      AC_CHECK_HEADER(Xaw3d/XawInit.h,
-        AC_CHECK_HEADER(Xaw3d/ThreeD.h,
-          [
-            AC_MSG_WARN("Assuming that Xaw3d headers are suitable for $athena_variant.")
-            athena_h_path=Xaw3d
-          ],))
-    fi
-
-    dnl If nothing yet found, see if Xaw is a 3d header set...
-    dnl We AC_MSG_WARN if we fail because I am all out of ideas...
-    if test -z "$athena_h_path"; then
-      AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
-        [
-          AC_MSG_WARN("Assuming that X11/Xaw headers are suitable for $athena_variant.")
-          athena_h_path=X11/Xaw
-        ],
-        AC_MSG_WARN("Could not find a suitable 3d Athena header set."))
-    fi
-  fi
-
-  dnl Do we actually have a usable Athena widget set? Please?
-  if test -n "$athena_lib" -a -n "$athena_h_path"; then
-    have_xaw=yes
-  else
-    have_xaw=no
-  fi
+  dnl Autodetect -lXaw
+  AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no)
+  dnl if test "$have_xaw" = "yes"; then
+    dnl AC_CHECK_HEADER(X11/Xaw/Reports.h, [
+      dnl XE_APPEND(pkg-src/tree-x, MAKE_SUBDIR)
+      dnl XE_APPEND(pkg-src/tree-x, INSTALL_ARCH_DEP_SUBDIR)])
+  dnl fi
 
   dnl autodetect Motif - but only add to libs_x later (if necessary)
   AC_CHECK_HEADER(Xm/Xm.h,
@@ -3244,62 +2855,26 @@
 dnl Not all toolkits support all widgets
 dnl if Motif is available we use it for the dialog boxes.
 
-case "$with_menubars" in "" | "yes" | "athena" )
+case "$with_menubars" in "" | "yes" | "athena" | "athena3d" )
   with_menubars="lucid" ;;
 esac
 case "$with_dialogs" in "" | "yes" | "lucid" )
-  if   test "$have_motif"     = "yes"; then with_dialogs="motif"
-  elif test "$have_xaw"       = "yes"; then with_dialogs="athena"
+  if   test "$have_motif" = "yes"; then with_dialogs="motif"
+  elif test "$have_xaw"   = "yes"; then with_dialogs="athena"
   else with_dialogs=no
   fi ;;
 esac
 case "$with_scrollbars" in "" | "yes" )
   with_scrollbars="lucid" ;;
 esac
-case "$with_widgets" in "" | "yes" | "lucid")
-  if   test "$have_motif" = "yes"; then with_widgets="motif"
-  elif test "$have_xaw"   = "yes"; then with_widgets="athena"
-  else with_widgets=no
-  fi ;;
-esac
-
-all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_widgets"
-
-case "$all_widgets" in
-  *athena* )
-    if test "$have_xaw" != "yes"; then
-      XE_DIE("Could not find a suitable Athena library to build with.")
-    fi
-
-    dnl Add the Lucid widget Athena code
-    XE_APPEND(lwlib-Xaw.o, lwlib_objs)
-
-    dnl Add the Athena widget library we located earlier
-    XE_PREPEND(-l$athena_lib, libs_x)
-
-    dnl Tell lwlib where to find the Athena header files.
-    dnl Many people have tried to create a `smart' way of doing this,
-    dnl but all have failed.  Before changing the following ugly definitions,
-    dnl consult the veterans of many a battle.
-    AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h")
-    AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h")
-    AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h")
-    AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h")
-    AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h")
-    AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h")
-    AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h")
-    AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h")
-    AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h")
-    AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h")
-
-    AC_DEFINE(LWLIB_USES_ATHENA)
-    AC_DEFINE(NEED_ATHENA)
-    need_athena="yes"
-
-    if test "$athena_3d" = "yes"; then
-      AC_DEFINE(HAVE_ATHENA_3D)
-    fi
-  ;;
+
+all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars"
+
+case "$all_widgets" in *athena* )
+  AC_DEFINE(LWLIB_USES_ATHENA)
+  AC_DEFINE(NEED_ATHENA)
+  XE_APPEND(lwlib-Xaw.o, lwlib_objs)
+  XE_PREPEND(-lXaw, libs_x) ;;
 esac
 
 case "$all_widgets" in *motif* )
@@ -3312,11 +2887,6 @@
 test "$with_menubars"   = "lucid" && XE_APPEND(xlwmenu.o, lwlib_objs)
 test "$with_menubars"   = "motif" && XE_APPEND(xlwmenu.o, lwlib_objs)
 test "$with_scrollbars" = "lucid" && XE_APPEND(xlwscrollbar.o, lwlib_objs)
-test "$with_widgets"   != "no" && test "$with_widgets" != "msw" && \
-	XE_APPEND(xlwtabs.o xlwgcs.o, lwlib_objs)
-case "$with_widgets" in athena* )
-	XE_APPEND(xlwradio.o xlwcheckbox.o xlwgauge.o, lwlib_objs);;
-esac
 case "$all_widgets" in *lucid* )
   AC_DEFINE(NEED_LUCID)
   XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;;
@@ -3324,23 +2894,15 @@
 
 AC_SUBST(lwlib_objs)
 
-test "$with_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA)
-test "$with_dialogs"    = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA)
-
-if test "$athena_3d" = "yes"; then
-  test "$with_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
-  test "$with_dialogs"    = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
-fi
-
-case "$with_widgets" in athena* ) AC_DEFINE(LWLIB_WIDGETS_ATHENA);; esac
-test "$with_widgets" != "no" && test "$with_widgets" != "msw" && \
-	AC_DEFINE(LWLIB_TABS_LUCID)
+case "$with_scrollbars" in athena* ) AC_DEFINE(LWLIB_SCROLLBARS_ATHENA);; esac
+case "$with_dialogs"    in athena* ) AC_DEFINE(LWLIB_DIALOGS_ATHENA)   ;; esac
+test "$with_scrollbars" = "athena3d" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
+test "$with_dialogs"    = "athena3d" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
 
 test "$with_menubars"   != "no"    && AC_DEFINE(HAVE_MENUBARS)
 test "$with_scrollbars" != "no"    && AC_DEFINE(HAVE_SCROLLBARS)
 test "$with_dialogs"    != "no"    && AC_DEFINE(HAVE_DIALOGS)
 test "$with_toolbars"   != "no"    && AC_DEFINE(HAVE_TOOLBARS)
-test "$with_widgets"    != "no"    && AC_DEFINE(HAVE_WIDGETS)
 
 test "$with_menubars"   = "lucid"  && AC_DEFINE(LWLIB_MENUBARS_LUCID)
 test "$with_scrollbars" = "lucid"  && AC_DEFINE(LWLIB_SCROLLBARS_LUCID)
@@ -3348,19 +2910,24 @@
 test "$with_menubars"   = "motif"  && AC_DEFINE(LWLIB_MENUBARS_MOTIF)
 test "$with_scrollbars" = "motif"  && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF)
 test "$with_dialogs"    = "motif"  && AC_DEFINE(LWLIB_DIALOGS_MOTIF)
-test "$with_widgets"    = "motif"  && AC_DEFINE(LWLIB_WIDGETS_MOTIF)
-
-test "$with_menubars"   != "no"    && XE_ADD_OBJS(menubar.o)
-test "$with_scrollbars" != "no"    && XE_ADD_OBJS(scrollbar.o)
-test "$with_dialogs"    != "no"    && XE_ADD_OBJS(dialog.o)
-test "$with_toolbars"   != "no"    && XE_ADD_OBJS(toolbar.o)
+
+test "$with_menubars"   != "no"      && XE_ADD_OBJS(menubar.o)
+test "$with_scrollbars" != "no"      && XE_ADD_OBJS(scrollbar.o)
+test "$with_dialogs"    != "no"      && XE_ADD_OBJS(dialog.o)
+test "$with_toolbars"   != "no"      && XE_ADD_OBJS(toolbar.o)
 
 if test "$with_x11" = "yes"; then
-  test "$with_menubars"   != "no"  && XE_ADD_OBJS(menubar-x.o)
-  test "$with_scrollbars" != "no"  && XE_ADD_OBJS(scrollbar-x.o)
-  test "$with_dialogs"    != "no"  && XE_ADD_OBJS(dialog-x.o)
-  test "$with_toolbars"   != "no"  && XE_ADD_OBJS(toolbar-x.o)
-  test "$all_widgets" != "no no no no no" && XE_ADD_OBJS(gui-x.o)
+  test "$with_menubars"   != "no"      && XE_ADD_OBJS(menubar-x.o)
+  test "$with_scrollbars" != "no"      && XE_ADD_OBJS(scrollbar-x.o)
+  test "$with_dialogs"    != "no"      && XE_ADD_OBJS(dialog-x.o)
+  test "$with_toolbars"   != "no"      && XE_ADD_OBJS(toolbar-x.o)
+  test "$all_widgets" != "no no no no" && XE_ADD_OBJS(gui-x.o)
+else
+  if test \( "$with_sound" = "nas" \) -o \( "$with_sound" = "both" \); then
+    echo "Attempt to Build NAS sound without X"
+    echo "Please remove NAS configuration or build with X"
+    exit 1
+  fi
 fi
 
 dnl ----------------------
@@ -3502,10 +3069,25 @@
   XE_COMPUTE_RUNPATH()
 fi
 
-AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getpt getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask)
-
-dnl Use our own realpath always.
-XE_ADD_OBJS(realpath.o)
+AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf)
+
+dnl realpath is buggy on linux, decosf and aix4
+
+dnl The realpath() in linux libc (4.6.27) sometimes fails with ELOOP.
+dnl The realpath in ELF linux libc's is O.K.
+dnl For example, call realpath on a file thirty-five or so directories deep
+dnl and you get ELOOP even if no symlinks at all are involved.
+dnl Reports as of 11/1997 indicate BSDi has problems too.
+dnl The realpath() in UnixWare2.1.3 could not get any pathname fragment in error condition.
+case "$opsys" in
+  linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) XE_ADD_OBJS(realpath.o) ;;
+  * )
+    case "$canonical" in
+      *-*-sysv4.2uw2* ) XE_ADD_OBJS(realpath.o) ;;
+      * ) AC_CHECK_FUNCS(realpath)
+	  test "$ac_cv_func_realpath" != "yes" && XE_ADD_OBJS(realpath.o) ;;
+    esac ;;
+esac
 
 dnl Check whether the system provides getloadavg (Solaris 7 has it)
 AC_CHECK_FUNCS(getloadavg)
@@ -3599,7 +3181,8 @@
   ],
   [
   struct timeval time;
-  gettimeofday (&time, 0);
+  struct timezone dummy;
+  gettimeofday (&time, &dummy);
 ],
   [AC_MSG_RESULT(two)],
   [AC_MSG_RESULT(one)
@@ -3608,7 +3191,10 @@
 
 
 AC_C_INLINE
-test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
+if test "$ac_cv_c_inline" != "no"; then
+  AC_DEFINE(HAVE_INLINE)
+  test "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
+fi
 
 dnl HP-UX has a working alloca in libPW.
 dnl case "${GCC}${opsys}" in hpux* )
@@ -3670,24 +3256,12 @@
 esac
 AC_MSG_RESULT($have_mmap)
 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
+AC_FUNC_MMAP
 
 dnl rel_alloc requires either GNU malloc or system malloc with mmap
 dnl We only turn rel_alloc on by default if mmap is available.
-test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no
-if test "$rel_alloc $have_mmap" = "default yes"; then
-  if test "$doug_lea_malloc" = "yes"; then
-    dnl Check if malloc() calls mmap(), making rel_alloc pointless.
-    AC_MSG_CHECKING(for M_MMAP_THRESHOLD)
-    AC_TRY_COMPILE([#include <malloc.h>],[
-#ifndef M_MMAP_THRESHOLD
-#error No M_MMAP_THRESHOLD :-(
-!@+$%^&*_)(_ - unlikely to compile...
-#endif
-], [rel_alloc=no; AC_MSG_RESULT(yes);], [rel_alloc=yes; AC_MSG_RESULT(no);])
-  else
-    rel_alloc=yes
-  fi
-fi
+test "$GNU_MALLOC" != "yes"   -a "$have_mmap" != "yes" && rel_alloc=no
+test "$rel_alloc" = "default" -a "$have_mmap"  = "yes" && rel_alloc=yes
 test "$rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC)
 
 dnl Check for terminal I/O variants
@@ -3739,6 +3313,10 @@
 
 dnl Autodetect native sound
 AC_CHECKING("for sound support")
+case "$with_sound" in
+  native | both ) with_native_sound=yes;;
+  nas    | no   ) with_native_sound=no;;
+esac
 test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes
 
 if test "$with_native_sound" != "no"; then
@@ -3796,22 +3374,19 @@
     for dir in "machine" "sys" "linux"; do
       AC_CHECK_HEADER(${dir}/soundcard.h,
         sound_found=yes
-       need_miscplay=yes
         XE_ADD_OBJS(linuxplay.o)
-        [AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, "${dir}/soundcard.h")]
+        [AC_DEFINE_UNQUOTED(SOUNDCARD_H_PATH, "${dir}/soundcard.h")]
         break)
     done
   fi
 
-  dnl Win32 Native uses native sound
-  if test -z "$sound_found"; then
-    if test "$with_msw" = "yes"; then
-    sound_found=yes
-    native_sound_lib=
-    fi
+  test "$sound_found" = "yes" && with_native_sound=yes
+fi
+
+if test -z "$with_sound"; then
+  if test "$with_native_sound" = "yes" -o -n "$native_sound_lib"; then
+    with_sound=native
   fi
-
-  test "$sound_found" = "yes" && with_native_sound=yes
 fi
 
 if test "$with_native_sound" = "yes"; then
@@ -3819,50 +3394,14 @@
   test -n "$native_sound_lib" && XE_PREPEND($native_sound_lib, LIBS)
 fi
 
-dnl NAS Sound support
-if test "$with_nas_sound" != "no"; then
-  AC_CHECK_HEADER(audio/audiolib.h, [
-    AC_CHECK_LIB(audio, AuOpenServer, have_nas_sound=yes)])
-  if test "$have_nas_sound" = "yes"; then
-    with_nas_sound=yes
-    AC_DEFINE(HAVE_NAS_SOUND)
-    XE_ADD_OBJS(nas.o)
-    XE_PREPEND(-laudio, libs_x)
-    dnl If the nas library does not contain the error jump point,
-    dnl then we force safer behavior.
-    AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[old_nas=yes; AC_DEFINE(NAS_NO_ERROR_JUMP)])
-  else
-    test "$with_nas_sound" = "yes" && \
-      XE_DIE("Required NAS sound support cannot be provided.")
-    with_nas_sound=no
-  fi
-fi
-
-dnl ESD Sound support
-if test "$with_esd_sound" != "no"; then
-  AC_CHECK_PROG(have_esd_config, esd-config, yes, no)
-  if test "$have_esd_config" = "yes"; then
-    save_c_switch_site="$c_switch_site" save_LIBS="$LIBS"
-    XE_APPEND(`esd-config --cflags`, c_switch_site)
-    XE_PREPEND(`esd-config --libs`, LIBS)
-    AC_CHECK_FUNC(esd_play_stream,
-      have_esd_sound=yes,
-      c_switch_site="$save_c_switch_site" LIBS="$save_LIBS")
-  fi
-
-  if test "$have_esd_sound" = "yes"; then
-    with_esd_sound=yes
-    need_miscplay=yes
-    XE_ADD_OBJS(esd.o)
-    AC_DEFINE(HAVE_ESD_SOUND)
-  else
-    test "$with_esd_sound" = "yes" && \
-      XE_DIE("Required ESD sound support cannot be provided.")
-    with_esd_sound=no
-  fi
-fi
-
-test "$need_miscplay" = "yes" && XE_ADD_OBJS(miscplay.o)
+case "$with_sound" in both | nas )
+  AC_DEFINE(HAVE_NAS_SOUND)
+  XE_ADD_OBJS(nas.o)
+  XE_PREPEND(-laudio, libs_x)
+  dnl If the nas library does not contain the error jump point,
+  dnl then we force safer behavior.
+  AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[AC_DEFINE(NAS_NO_ERROR_JUMP)])
+esac
 
 dnl ---------------------
 dnl TTY-dependent options
@@ -3881,8 +3420,8 @@
   fi
   if test "$with_ncurses" = "yes"; then
     AC_DEFINE(HAVE_NCURSES)
-    AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
-    AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
+    AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h)
+    AC_CHECK_HEADER(ncurses/term.h, term_h_path=ncurses/term.h)
     XE_ADD_OBJS(terminfo.o)
     XE_PREPEND(-lncurses, LIBS)
 
@@ -3892,7 +3431,7 @@
       dnl <ncurses/unctrl.h>)
       save_c_switch_site="$c_switch_site"
       c_switch_site="$c_switch_site -I/usr/include/ncurses"
-      AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
+      AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h)
       if test "$ac_cv_header_ncurses_curses_h" = "yes"
         then AC_MSG_WARN("Your system has the bogus ncurses include bug.")
         else c_switch_site="$save_c_switch_site"
@@ -3924,8 +3463,8 @@
       fi
     fi
   fi
-  AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}")
-  AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}")
+  AC_DEFINE_UNQUOTED(CURSES_H_PATH, "${curses_h_path-curses.h}")
+  AC_DEFINE_UNQUOTED(TERM_H_PATH, "${term_h_path-term.h}")
 
   dnl Autodetect gpm
   test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) }
@@ -3953,26 +3492,26 @@
 dnl On FreeBSD, both DB and DBM are part of libc.
 dnl By default, we check for DBM support in libgdbm, then libc, then libdbm.
 
-test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
+test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
   != "no no no" && AC_CHECKING(for database support)
 
 dnl Check for ndbm.h, required for either kind of DBM support.
-if test "$with_database_gdbm $with_database_dbm" != "no no"; then
+if test "$with_database_gnudbm $with_database_dbm" != "no no"; then
   AC_CHECK_HEADER(ndbm.h, [:], [
-    test "$with_database_gdbm" = "yes" -o \
-         "$with_database_dbm"  = "yes" && \
+    test "$with_database_gnudbm" = "yes" -o \
+         "$with_database_dbm"    = "yes" && \
       XE_DIE("Required DBM support cannot be provided.")
-    with_database_gdbm=no with_database_dbm=no])
+    with_database_gnudbm=no with_database_dbm=no])
 fi
 
 dnl Check for DBM support in libgdbm.
-if test "$with_database_gdbm" != "no"; then
+if test "$with_database_gnudbm" != "no"; then
   AC_CHECK_LIB(gdbm, dbm_open, [
-   with_database_gdbm=yes with_database_dbm=no libdbm=-lgdbm], [
-   if test "$with_database_gdbm" = "yes"; then
+   with_database_gnudbm=yes with_database_dbm=no libdbm=-lgdbm], [
+   if test "$with_database_gnudbm" = "yes"; then
      XE_DIE("Required GNU DBM support cannot be provided.")
    fi
-   with_database_gdbm=no])
+   with_database_gnudbm=no])
 fi
 
 dnl Check for DBM support in libc and libdbm.
@@ -3986,18 +3525,15 @@
 
 dnl Tell make about the DBM support we detected.
 test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
-test "$with_database_gdbm" = "yes" -o \
-     "$with_database_dbm"  = "yes" && \
+test "$with_database_gnudbm" = "yes" -o \
+     "$with_database_dbm"    = "yes" && \
   AC_DEFINE(HAVE_DBM)
 
 dnl Check for Berkeley DB.
 if test "$with_database_berkdb" != "no"; then
   AC_MSG_CHECKING(for Berkeley db.h)
-  for header in "db/db.h" "db.h"; do
-    AC_TRY_COMPILE([
-#include <stdlib.h>
-#if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
-#ifdef HAVE_INTTYPES_H
+  for path in "db/db.h" "db.h"; do
+    AC_TRY_COMPILE([#ifdef HAVE_INTTYPES_H
 #define __BIT_TYPES_DEFINED__
 #include <inttypes.h>
 typedef uint8_t  u_int8_t;
@@ -4007,19 +3543,18 @@
 typedef uint64_t u_int64_t;
 #endif
 #endif
-#endif
-#include <$header>
-],[], db_h_file="$header"; break)
+#include <$path>
+],[], db_h_path="$path"; break)
   done
-  if test -z "$db_h_file"
+  if test -z "$db_h_path"
   then AC_MSG_RESULT(no); with_database_berkdb=no
-  else AC_MSG_RESULT($db_h_file)
+  else AC_MSG_RESULT($db_h_path)
   fi
 
   if test "$with_database_berkdb" != "no"; then
     AC_MSG_CHECKING(for Berkeley DB version)
     AC_EGREP_CPP(yes,
-[#include <$db_h_file>
+[#include <$db_h_path>
 #if DB_VERSION_MAJOR > 1
 yes
 #endif
@@ -4029,14 +3564,14 @@
   fi
 
   if test "$with_database_berkdb" = "yes"; then
-    AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file")
+    AC_DEFINE_UNQUOTED(DB_H_PATH, "$db_h_path")
     AC_DEFINE(HAVE_BERKELEY_DB)
     test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS)
   else with_database_berkdb=no
   fi
 fi
 
-if test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
+if test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
      != "no no no"; then
   AC_DEFINE(HAVE_DATABASE)
   XE_ADD_OBJS(database.o)
@@ -4055,48 +3590,25 @@
 fi
 
 dnl autodetect dll support
-if test "$with_modules" != "no"; then
-  AC_CHECKING(for module support)
-
-  dnl Check for MS-Windows
-  if test "$with_msw" = "yes"; then
-    have_dl=yes;
-  else
-    dnl Find headers and libraries
-    AC_CHECK_HEADER(dlfcn.h, [
-      AC_CHECK_LIB(dl, dlopen, [ have_dl=yes libdl=dl], [
-      AC_CHECK_LIB(c,  dlopen, [ have_dl=yes ])])])
-    if test -n "$have_dl"; then
-      AC_DEFINE(HAVE_DLOPEN)
-    else
-      AC_CHECK_LIB(dld, shl_load, [
-        libdl=dld have_dl=yes;
-        AC_DEFINE(HAVE_SHL_LOAD)], [
-        AC_CHECK_LIB(dld, dld_init, [
-        libdl=dld have_dl=yes;
-        AC_DEFINE(HAVE_DLD_INIT)])])
-    fi
-  fi dnl end !MS-Windows
-
-  if test -n "$have_dl"; then
-    dnl XE_SHLIB_STUFF (in aclocal.m4) defines $can_build_shared
-    XE_SHLIB_STUFF
-  fi
-
+AC_CHECK_HEADERS(dlfcn.h, [have_dlfcn=yes
+  AC_DEFINE(HAVE_DLFCN_H)])
+test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(dl,  dlopen,   [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=dl;  with_shlib=yes]) }
+test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c,   _dlopen,  [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=;   with_shlib=yes]) }
+test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c,   dlopen,   [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=;   with_shlib=yes]) }
+test -z "$with_shlib" && { AC_CHECK_LIB(dld, shl_load, [ AC_DEFINE(HAVE_SHL_LOAD) DLL_LIB=dld; with_shlib=yes]) }
+test -z "$with_shlib" && { AC_CHECK_LIB(dld, dld_init, [ AC_DEFINE(HAVE_DLD_INIT) DLL_LIB=dld; with_shlib=yes]) }
+if test "$with_shlib" = "yes"; then
+  XE_SHLIB_STUFF
   if test "$can_build_shared" = "yes"; then
     AC_DEFINE(HAVE_SHLIB)
-    XE_ADD_OBJS(sysdll.o emodules.o)
+    XE_ADD_OBJS(sysdll.o)
+    XE_ADD_OBJS(emodules.o)
     XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
-    test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS)
+    test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS)
     AC_CHECK_FUNCS(dlerror _dlerror)
-    with_modules=yes
   else
-    if test "$with_modules" = "yes"; then
-      XE_DIE("Required module support cannot be provided.")
-    else
-      AC_MSG_WARN("Module support cannot be provided.")
-    fi
-    with_modules=no
+    AC_MSG_WARN(disabling shared library support)
+    with_shlib=no
   fi
 fi
 
@@ -4184,32 +3696,15 @@
   echo ""
 fi
 
-dnl ----------------------------------------------
-dnl Create some auxiliary files for developers.
-dnl ----------------------------------------------
-
-dnl Create a .gdbinit useful for debugging XEmacs
-if test -f "$srcdir/src/.gdbinit" -a ! -f "src/.gdbinit"; then
-  test "$extra_verbose" = "yes" && echo "creating src/.gdbinit"
-  echo "source $srcdir/src/.gdbinit" > "src/.gdbinit"
-fi
-
-dnl Create a .dbxrc useful for debugging XEmacs
-if test -f "$srcdir/src/.dbxrc" -a ! -f "src/.dbxrc"; then
-  test "$extra_verbose" = "yes" && echo "creating src/.dbxrc"
-  echo ". $srcdir/src/.dbxrc" > "src/.dbxrc"
-fi
-
-dnl Create a useful TAGS file
-if test -f "$srcdir/TAGS" -a ! -f "TAGS"; then
-  test "$extra_verbose" = "yes" && echo "creating TAGS"
-  echo "
-$srcdir/TAGS,include" > "TAGS"
+dnl Create some auxiliary files
+if test -f $srcdir/src/gdbinit -a ! -f src/gdbinit ; then
+  echo "creating src/gdbinit"; echo ""
+  echo "source $srcdir/src/gdbinit" > src/gdbinit
 fi
 
 dnl Create top level .sbinit for Sun compilers
 if test "$__SUNPRO_C" = "yes"; then
-  test "$extra_verbose" = "yes" && echo "creating .sbinit"
+  echo "creating .sbinit"; echo ""
   ( echo "# For use with Sun WorkShop's Source browser."
     echo "# See sbquery(1) and sbinit(4) for more information"
     for dir in $MAKE_SUBDIR; do echo "import $dir"; done
@@ -4230,8 +3725,6 @@
 AC_SUBST(version)
 AC_SUBST(configuration)
 AC_SUBST(canonical)
-AC_SUBST(inststaticdir)
-AC_SUBST(instvardir)
 AC_SUBST(srcdir)
 AC_SUBST(bindir)
 AC_SUBST(datadir)
@@ -4241,7 +3734,6 @@
 AC_SUBST(mandir)
 
 AC_SUBST(prefix)
-AC_SUBST(PREFIX_USER_DEFINED)
 dnl Yo, Stephen Bourne!  I want to marry you!
 PREFIX=$prefix
 while true; do
@@ -4253,7 +3745,6 @@
 AC_SUBST(PREFIX)
 
 AC_SUBST(exec_prefix)
-AC_SUBST(EXEC_PREFIX_USER_DEFINED)
 EXEC_PREFIX=$exec_prefix
 while true; do
   case "$EXEC_PREFIX" in
@@ -4351,16 +3842,16 @@
 done
 AC_SUBST(ETCDIR)
 
-AC_SUBST(docdir)
-AC_SUBST(DOCDIR_USER_DEFINED)
-DOCDIR=$docdir
+AC_SUBST(lockdir)
+AC_SUBST(LOCKDIR_USER_DEFINED)
+LOCKDIR=$lockdir
 while true; do
-  case "$DOCDIR" in
-    *\$* ) eval "DOCDIR=$DOCDIR" ;;
+  case "$LOCKDIR" in
+    *\$* ) eval "LOCKDIR=$LOCKDIR" ;;
     *) break ;;
   esac
 done
-AC_SUBST(DOCDIR)
+AC_SUBST(LOCKDIR)
 
 AC_SUBST(archlibdir)
 AC_SUBST(ARCHLIBDIR_USER_DEFINED)
@@ -4409,10 +3900,6 @@
 : ${XEMACS_CC:=$CC}
 AC_SUBST(XEMACS_CC)
 
-dnl The default is yes
-if test "$with_prefix" = "yes"; then
-  AC_DEFINE(PREFIX_USER_DEFINED)
-fi
 
 dnl The default is no
 if test "$with_site_lisp" = "no"; then
@@ -4424,7 +3911,7 @@
 fi
 
 XE_SPACE(ac_configure_args, $ac_configure_args)
-AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$configuration")
+AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical")
 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
 AC_DEFINE_UNQUOTED(config_machfile,  "$machfile")
 AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
@@ -4452,14 +3939,14 @@
 test "$with_i18n3"         = "yes" && AC_DEFINE(I18N3)
 test "$GCC"                = "yes" && AC_DEFINE(USE_GCC)
 test "$external_widget"    = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
-test "$quick_build"        = "yes" && AC_DEFINE(QUICK_BUILD)
+test "$no_doc_file"        = "yes" && AC_DEFINE(NO_DOC_FILE)
+dnl test "$const_is_losing"    = "yes" && AC_DEFINE(CONST_IS_LOSING)
 test "$with_purify"        = "yes" && AC_DEFINE(PURIFY)
 test "$with_quantify"      = "yes" && AC_DEFINE(QUANTIFY)
 test "$with_pop"           = "yes" && AC_DEFINE(MAIL_USE_POP)
 test "$with_kerberos"      = "yes" && AC_DEFINE(KERBEROS)
 test "$with_hesiod"        = "yes" && AC_DEFINE(HESIOD)
 test "$use_union_type"     = "yes" && AC_DEFINE(USE_UNION_TYPE)
-test "$pdump"              = "yes" && AC_DEFINE(PDUMP)
 
 dnl -------------------------------
 dnl Report on what we decided to do
@@ -4476,128 +3963,63 @@
 echo "$0 $quoted_arguments"
 ) > Installation
 
-if test ! -z ${emacs_beta_version} ; then
-  if test -z "${emacs_is_beta}" ; then
-	xemacs_betaname=".${emacs_beta_version}"
-  else
-	xemacs_betaname="-b${emacs_beta_version}"
-  fi
-else
-  xemacs_betaname=""
-fi
+xemacs_betaname=""
+test ! -z "${emacs_beta_version}" && xemacs_betaname="-b${emacs_beta_version}"
 
 dnl Start stdout redirection to '| tee -a Installation'
 (
 echo "
 
 XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" configured for \`$canonical'.
-"
-echo "
-Compilation / Installation:"
-echo "  Source code location:              $srcdir"
-echo "  Installation prefix:               $prefix"
+
+  Where should the build process find the source code?    $srcdir
+  What installation prefix should install use?		  $prefix
+  What operating system and machine description files should XEmacs use?
+        \`$opsysfile' and \`$machfile'
+  What compiler should XEmacs be built with?              $CC $CFLAGS
+  Should XEmacs use the GNU version of malloc?            ${GNU_MALLOC}${GNU_MALLOC_reason}
+  Should XEmacs use the relocating allocator for buffers? $rel_alloc
+  What window system should XEmacs use?                   ${window_system}"
+if test "$with_x11" = "yes"; then
+  echo "  Where do we find X Windows header files?                $x_includes"
+  echo "  Where do we find X Windows libraries?                   $x_libraries"
+fi
 if test -n "$site_includes"; then
-  echo "  Additional header files:           $site_includes"
+  echo "  Additional header files:                                $site_includes"
 fi
 if test -n "$site_libraries"; then
-  echo "  Additional libraries:              $site_libraries"
+  echo "  Additional libraries:                                   $site_libraries"
 fi
 if test -n "$site_prefixes"; then
-  echo "  Additional prefixes:               $site_prefixes"
+  echo "  Additional prefixes:                                    $site_prefixes"
 fi
 if test -n "$runpath"; then
-  echo "  Runtime library search path:       $runpath"
-fi
-echo "  Operating system description file: \`$opsysfile'"
-echo "  Machine description file:          \`$machfile'"
-echo "  Compiler:                          $CC $CFLAGS"
-echo "  Relocating allocator for buffers:  $rel_alloc"
-echo "  GNU version of malloc:             ${GNU_MALLOC}${GNU_MALLOC_reason}"
-
-echo "
-Window System:"
-if test "$with_msw" = "yes"; then
-  echo "  Compiling in support for the Microsoft window system."
-fi
-if test "$with_x11" = "yes"; then
-  echo "  Compiling in support for the X window system:"
-  echo "    - X Windows headers location:                 $x_includes"
-  echo "    - X Windows libraries location:               $x_libraries"
-  if test "$with_xauth" != yes; then
-    echo "    - Xau (X authority) not available."
-  fi
-  if test "$with_xmu" != yes; then
-    echo "    - Xmu library not available; substituting equivalent routines."
-  fi
-  if test "$with_wmcommand" != no; then
-    echo "    - Handling WM_COMMAND properly."
-  fi
-fi
-if test "$need_athena" = "yes"; then
-  echo "  Compiling in support for the Athena widget set:"
-  echo "    - Athena headers location:                    $athena_h_path"
-  echo "    - Athena library to link:                     $athena_lib"
+  echo "  Runtime library search path:                            $runpath"
 fi
-case "$with_menubars" in
-  lucid ) echo "  Using Lucid menubars." ;;
-  motif ) echo "  Using Motif menubars."
-          echo "  *WARNING*  The Motif menubar implementation is currently buggy."
-          echo "             We recommend using the Lucid menubar instead."
-          echo "             Re-run configure with --with-menubars='lucid'." ;;
-    msw ) echo "  Using MS-Windows menubars." ;;
-esac
-case "$with_scrollbars" in
-  lucid  ) echo "  Using Lucid scrollbars."      ;;
-  motif  ) echo "  Using Motif scrollbars."      ;;
-  athena ) echo "  Using Athena scrollbars."     ;;
-     msw ) echo "  Using MS-Windows scrollbars." ;;
-esac
-case "$with_dialogs" in
-  motif  ) echo "  Using Motif dialog boxes."
-           if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
-             echo "  *WARNING*  The Motif dialog boxes cause problems on AIX 4.3 and higher."
-             echo "             We recommend using the Athena dialog boxes instead."
-             echo "             Install libXaw and re-run configure with --with-dialogs='athena'."
-             echo "             Read the PROBLEMS file for more information."
-           fi; fi ;;
-  athena ) echo "  Using Athena dialog boxes."     ;;
-     msw ) echo "  Using MS-Windows dialog boxes." ;;
-esac
-case "$with_widgets" in
-  motif  ) echo "  Using Motif native widgets."      ;;
-  athena ) echo "  Using Athena native widgets."     ;;
-     msw ) echo "  Using MS-Windows native widgets." ;;
-esac
-if test "$with_dragndrop" = yes; then
-  echo "  Compiling in support for Drag'n'Drop (EXPERIMENTAL)."
-  echo "    -  Drag'n'Drop prototype:                             $dragndrop_proto."
+test "$with_dnet"  = yes && echo "  Compiling in support for DNET."
+test "$with_socks" = yes && echo "  Compiling in support for SOCKS."
+test "$with_xauth" = yes && echo "  Compiling in support for XAUTH."
+if test "$with_xmu" != yes -a "$with_x11" = yes; then
+  echo "  No Xmu; substituting equivalent routines."
 fi
 
-echo "
-TTY:"
-test "$with_ncurses" = yes && echo "  Compiling in support for ncurses."
-test "$with_gpm" = yes && echo "  Compiling in support for GPM (General Purpose Mouse)."
-
-echo "
-Images:"
-test "$with_gif" = yes && echo "  Compiling in support for GIF  images (builtin)."
 if test "$with_xpm" = yes; then
-  echo "  Compiling in support for XPM  images."
+  echo "  Compiling in support for XPM images."
 elif test "$with_x11" = yes; then
-  echo "  WARNING: -----------------------------------------------------------"
-  echo "  WARNING: Compiling without XPM image support."
+  echo "  --------------------------------------------------------------------"
+  echo "  WARNING: Compiling without XPM support."
   if test "$xpm_problem" != ""; then
     echo "  Reason: $xpm_problem"
   fi
   echo "  WARNING: You should strongly consider installing XPM."
   echo "  WARNING: Otherwise toolbars and other graphics will look suboptimal."
   echo "  WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
-  echo "  WARNING: -----------------------------------------------------------"
+  echo "  --------------------------------------------------------------------"
 fi
 if test "$with_png" = yes; then
-  echo "  Compiling in support for PNG  images."
+  echo "  Compiling in support for PNG image handling."
 elif test "$window_system" != "none"; then
-  echo "  WARNING: -----------------------------------------------------------"
+  echo "  --------------------------------------------------------------------"
   echo "  WARNING: Compiling without PNG image support."
   if test "$png_problem" != ""; then
     echo "  Reason: $png_problem"
@@ -4605,66 +4027,87 @@
   echo "  WARNING: You should strongly consider installing the PNG libraries."
   echo "  WARNING: Otherwise certain images and glyphs may not display."
   echo "  WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
-  echo "  WARNING: -----------------------------------------------------------"
+  echo "  --------------------------------------------------------------------"
 fi
-test "$with_jpeg" = yes && echo "  Compiling in support for JPEG images."
-test "$with_tiff" = yes && echo "  Compiling in support for TIFF images."
+test "$with_gif"   = yes && echo "  Compiling in support for (builtin) GIF image handling."
+test "$with_jpeg"  = yes && echo "  Compiling in support for JPEG image handling."
+test "$with_tiff"  = yes && echo "  Compiling in support for TIFF image handling."
 test "$with_xface" = yes && echo "  Compiling in support for X-Face message headers."
-
-echo "
-Sound:"
-test "$with_native_sound" = yes && echo "  Compiling in support for sound (native)."
-test "$with_nas_sound" = yes && echo "  Compiling in support for NAS (network audio system)."
-test "$old_nas" = yes && echo "    - NAS library lacks error trapping; will play synchronously."
-test "$with_esd_sound" = yes && echo "  Compiling in support for ESD (Enlightened Sound Daemon)."
-
-echo "
-Databases:"
-test "$with_database_berkdb" = yes && echo "  Compiling in support for Berkeley database."
+case "$with_sound" in
+  nas    ) echo "  Compiling in network sound (NAS) support." ;;
+  native ) echo "  Compiling in native sound support." ;;
+  both   ) echo "  Compiling in both network and native sound support." ;;
+esac
+test "$old_nas" = yes && echo "        nas library lacks error trapping, will play synchronously."
+
+test "$with_database_berkdb" = yes && echo "  Compiling in support for Berkeley DB."
 test "$with_database_dbm"    = yes && echo "  Compiling in support for DBM."
-test "$with_database_gdbm"   = yes && echo "  Compiling in support for GNU DBM."
-test "$with_ldap" = yes && echo "  Compiling in support for LDAP."
-if test "$with_postgresql" = yes; then
-  echo "  Compiling in support for PostgreSQL."
-  echo "    - Using PostgreSQL header file:  $libpq_fe_h_file"
-  test "$with_postgresqlv7" = yes && echo "    - Using PostgreSQL V7 bindings."
-fi
-
-echo "
-Internationalization:"
-test "$with_mule" = yes && echo "  Compiling in support for Mule (multi-lingual Emacs)."
-test "$with_file_coding" = yes && echo "  Compiling in support for file coding."
-test "$with_xim" != no && echo "  Compiling in support for XIM (X11R5+ I18N input method)."
-test "$with_xim" = motif && echo "    - Using Motif to provide XIM support."
-test "$with_xim" = xlib && echo "    - Using raw Xlib to provide XIM support."
-test "$with_xfs" = yes && echo "    - Using XFontSet to provide bilingual menubar."
-test "$with_canna" = yes && echo "  Compiling in support for Canna on Mule."
+test "$with_database_gnudbm" = yes && echo "  Compiling in support for GNU DBM."
+
+test "$with_umich_ldap"	     = yes && echo "  Compiling in support for LDAP (UMich libs)."
+test "$with_ns_ldap"	     = yes && echo "  Compiling in support for LDAP (Netscape SDK)."
+test "$with_ldap" = yes -a "$with_umich_ldap" = no -a "$with_ns_ldap" = no && echo "  Compiling in support for LDAP (Generic)."
+
+test "$with_ncurses"  = yes && echo "  Compiling in support for ncurses."
+test "$with_gpm"      = yes && echo "  Compiling in support for GPM (General Purpose Mouse)."
+
+test "$with_mule"     = yes && echo "  Compiling in Mule (multi-lingual) support."
+test "$with_file_coding"     = yes && echo "  Compiling in File coding support."
+test "$with_xim"      != no && echo "  Compiling in XIM (X11R5+ I18N input method) support."
+test "$with_xim" = motif    && echo "    Using Motif to provide XIM support."
+test "$with_xim" = xlib     && echo "    Using raw Xlib to provide XIM support."
+test "$with_xfs" = yes      && echo "    Using XFontSet to provide bilingual menubar."
+test "$with_canna"    = yes && echo "  Compiling in support for Canna on Mule."
 if test "$with_wnn" = yes; then
   echo "  Compiling in support for the WNN input method on Mule."
-  test "$with_wnn6" = yes && echo "    - Using WNN version 6."
+  test "$with_wnn6" = yes && echo "    Using WNN version 6."
 fi
-test "$with_i18n3" = yes && echo "  Compiling in support for I18N level 3 (doesn't currently work)."
-
-echo "
-Mail:"
-test "$with_pop" = yes && echo "  Compiling in support for POP mail retrieval."
-test "$with_kerberos" = yes && echo "  Compiling in support for Kerberos POP authentication."
-test "$with_hesiod" = yes && echo "  Compiling in support for Hesiod POP server access."
-test -n "$mail_locking" && echo "  Compiling in support for \"$mail_locking\" mail spool file locking method."
-
-echo "
-Other Features:"
+test "$with_i18n3"    = yes && echo "  Compiling in I18N support, level 3 (doesn't currently work)."
+
+test "$with_cde"      = yes && echo "  Compiling in support for CDE."
 test "$with_tooltalk" = yes && echo "  Compiling in support for ToolTalk."
+test "$with_offix"    = yes && echo "  Compiling in support for OffiX."
+test "$with_dragndrop" = yes && echo "  Compiling in EXPERIMENTAL support for Drag'n'Drop ($dragndrop_proto )."
 test "$with_workshop" = yes && echo "  Compiling in support for Sun WorkShop."
-test "$with_socks" = yes && echo "  Compiling in support for SOCKS."
-test "$with_dnet" = yes && echo "  Compiling in support for DNET."
-test "$with_modules" = "yes" && echo "  Compiling in support for dynamic shared object modules."
-test "$use_union_type" = yes && echo "  Using the union type for Lisp_Objects."
-test "$pdump" = yes && echo "  Using the new portable dumper."
-test "$debug" = yes && echo "  Compiling in support for extra debugging code."
-test "$usage_tracking" = yes && echo "  Compiling in support for active usage tracking (Sun internal)."
-if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc $error_check_glyphs" \
-  != "no no no no no no"; then
+test "$with_session"  != no && echo "  Compiling in support for proper session-management."
+case "$with_menubars" in
+  lucid ) echo "  Using Lucid menubars." ;;
+  motif ) echo "  Using Motif menubars."
+          echo "  *WARNING*  The Motif menubar implementation is currently buggy."
+          echo "             We recommend using the Lucid menubar instead."
+          echo "             Re-run configure with --with-menubars='lucid'." ;;
+esac
+case "$with_scrollbars" in
+  lucid    ) echo "  Using Lucid scrollbars."     ;;
+  motif    ) echo "  Using Motif scrollbars."     ;;
+  athena   ) echo "  Using Athena scrollbars."    ;;
+  athena3d ) echo "  Using Athena-3d scrollbars." ;;
+esac
+case "$with_dialogs" in
+  motif    )
+    echo "  Using Motif dialog boxes."
+    if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
+      echo "  *WARNING*  The Motif dialog boxes cause problems on AIX 4.3 and higher."
+      echo "             We recommend using the Athena dialog boxes instead."
+      echo "             Install libXaw and re-run configure with --with-dialogs='athena'."
+      echo "             Read the PROBLEMS file for more information."
+    fi; fi
+    ;;
+  athena   ) echo "  Using Athena dialog boxes."    ;;
+  athena3d ) echo "  Using Athena-3d dialog boxes." ;;
+esac
+test "$with_shlib" = "yes" && echo "  Compiling in DLL support."
+test "$with_clash_detection" = yes && \
+  echo "  Clash detection will use \"$lockdir\" for locking files."
+echo "  movemail will use \"$mail_locking\" for locking mail spool files."
+test "$with_pop"	= yes && echo "  Using POP for mail access."
+test "$with_kerberos"	= yes && echo "  Using Kerberos for POP authentication."
+test "$with_hesiod"	= yes && echo "  Using Hesiod to get POP server host."
+test "$use_union_type"  = yes && echo "  Using the union type for Lisp_Objects."
+test "$debug"              = yes && echo "  Compiling in extra code for debugging."
+test "$usage_tracking"     = yes && echo "  Compiling with usage tracking active (Sun internal)."
+if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc" \
+  != "no no no no no"; then
   echo "  WARNING: ---------------------------------------------------------"
   echo "  WARNING: Compiling in support for runtime error checking."
   echo "  WARNING: XEmacs will run noticeably more slowly as a result."
@@ -4693,10 +4136,12 @@
 for file in $internal_makefile_list; do
   test "$file" = src/Makefile.in && \
     file="src/Makefile.in:src/Makefile.in.in:src/depend"
-  XE_APPEND($file, ac_output_files)
+  ac_output_files="${ac_output_files+$ac_output_files }$file"
 done
 ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
-test "$with_modules" = "yes" && XE_APPEND(lib-src/ellcc.h, ac_output_files)
+if test "$with_shlib" = "yes"; then
+  ac_output_files="$ac_output_files lib-src/ellcc.h"
+fi
 
 AC_OUTPUT($ac_output_files,
 [for dir in . $MAKE_SUBDIR; do