etcdir='${datadir}/${PROGNAME}-${version}/etc'
lockdir='${statedir}/${PROGNAME}/lock'
archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}'
+docdir='${archlibdir}'
+with_prefix='yes'
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'
-puresize=''
cpp='' cppflags='' libs='' ldflags=''
dynamic=''
with_x11=''
dnl Process (many) boolean options
with_site_lisp | \
- with_site_modules | \
+ with_prefix | \
+ with_site_modules | \
with_x | \
with_x11 | \
with_msw | \
with_jpeg | \
with_png | \
with_tiff | \
- with_session | \
+ with_wmcommand | \
with_xmu | \
with_purify | \
with_quantify | \
use_union_type | \
debug | \
use_assertions | \
- gung_ho | \
- use_minimal_tagbits | \
- use_indexed_lrecord_implementation | \
memory_usage_stats | \
with_clash_detection | \
with_shlib | \
eval "$opt=\"$val\"" ;;
- dnl Options that take a user-supplied value, as in --puresize=8000000
+ dnl Options that take a user-supplied value, as in --x-includes=/usr/X11R6/include
dnl The cache-file option is ignored (for compatibility with other configures)
srcdir | \
compiler | \
cppflags | \
libs | \
ldflags | \
- puresize | \
cache_file | \
native_sound_lib| \
site_lisp | \
malloc ) error_check_malloc=yes ;;
nomalloc ) error_check_malloc=no ;;
+ byte_code ) error_check_byte_code=yes ;;
+ nobyte_code ) error_check_byte_code=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', and \`nomalloc'."
+ types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', and \`nobyte-code'."
else
- types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'."
+ types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', and \`byte-code'."
fi
USAGE_ERROR(["Valid types for the \`--$optname' option are:
$types."])
error_check_bufpos=$new_default
error_check_gc=$new_default
error_check_malloc=$new_default
+ error_check_byte_code=$new_default
new_default= # reset this
fi
echeck_notfirst=true
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) ;;
AC_DEFINE(MODULEDIR_USER_DEFINED)
AC_DEFINE(ETCDIR_USER_DEFINED) ;;
statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;;
+ docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;;
exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
esac
;;
dnl Has the user specified the toolkit(s) to use for GUI elements?
"with_menubars" | \
"with_scrollbars" | \
- "with_dialogs" )
+ "with_dialogs" | \
+ "with_widgets" )
case "$val" in
l | lu | luc | luci | lucid ) val=lucid ;;
m | mo | mot | moti | motif ) val=motif ;;
test "$with_system_malloc" = "default" && with_system_malloc=yes
fi
-dnl --gung-ho=val is a synonym for
-dnl --use-minimal-tagbits=val --use-indexed-lrecord-implementation=val
-if test -n "$gung_ho"; then
- test -z "$use_minimal_tagbits" && use_minimal_tagbits="$gung_ho"
- test -z "$use_indexed_lrecord_implementation" && \
- use_indexed_lrecord_implementation="$gung_ho"
-fi
-if test "$use_minimal_tagbits" = "no"; then
- test "$with_dlmalloc" = "yes" && \
- USAGE_ERROR("--with-dlmalloc requires --use-minimal-tagbits")
- with_dlmalloc=no
-fi
-
dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2)
define([XE_CHECK_FEATURE_DEPENDENCY],
[if test "$with_$1 $with_$2" = "yes no"; then
dnl ----------------------------------------
. "$srcdir/version.sh" || exit 1;
dnl Must do the following first to determine verbosity for AC_DEFINE
-if test -n "$emacs_beta_version"; then beta=yes; else beta=no; fi
+if test -n "$emacs_is_beta"; 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
- version="${version}-b${emacs_beta_version}"
- AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_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
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
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_beta_version"; then beta=yes; else beta=no; fi
+if test -n "$emacs_is_beta"; 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)
dnl debug=yes must be set when error checking is present. This should be
dnl fixed up.
dnl debug implies other options
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
*-nextstep* ) opsys=nextstep ;;
- *-pc-cygwin32 ) opsys=cygwin32 ;;
+ *-pc-cygwin* ) opsys=cygwin32 ;;
+ *-pc-mingw* ) opsys=mingw32 ;
+ test -z "$with_tty" && with_tty="no";;
dnl Otherwise, we fall through to the generic opsys code at the bottom.
esac
;;
CPP_boolean_to_sh(TERMINFO, have_terminfo)
CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock)
CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf)
+CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes)
EOF
dnl The value of CPP is a quoted variable reference, so we need to do this
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"
- dnl cygwin b19 can't cope with -O3, but most people use 20.1 or egcs now.
- dnl test "$opsys $machine" = "cygwin32 intel386" && \
- dnl CFLAGS="-g -O2 -Wall -Wno-switch"
elif test "$__SUNPRO_C" = "yes"; then
case "$opsys" in
sol2 ) CFLAGS="-v -xO4" ;;
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
- XE_APPEND("-I$inc_dir", c_switch_site)
+ if test -d "$inc_dir"; then
+ XE_APPEND("-I$inc_dir", c_switch_site)
+ fi
XE_APPEND("-L$lib_dir", ld_switch_site)
fi
done
AC_SYS_LONG_FILE_NAMES
dnl -lm is required by LISP_FLOAT_TYPE, among other things
-AC_CHECK_LIB(m, sin)
+AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin))
dnl Floating operation support is now unconditional
AC_DEFINE(LISP_FLOAT_TYPE)
else mail_locking="dot-locking"
fi
-dnl Used by getloadavg() - does not require root priveleges
-AC_CHECK_LIB(kstat, kstat_open)
-
-dnl Another way to get the load average
-AC_CHECK_LIB(kvm, kvm_read)
-
case "$opsys" in decosf*)
AC_CHECK_LIB(pthreads, cma_open)
test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
[AC_DEFINE(HAVE_MSG_SELECT)])
const_is_losing=no
with_file_coding=yes
- use_minimal_tagbits=yes
- use_indexed_lrecord_implementation=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
fi
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 session xim xmu
+ for feature in tooltalk cde offix wmcommand 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])
test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h"
esac
-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)
+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)
fi
dnl Autodetect Xauth
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
- 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
+ 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 -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" \) && with_ldap=yes
fi
if test "$with_ldap" = "yes"; then
AC_DEFINE(HAVE_LDAP)
XE_ADD_OBJS(eldap.o)
- if test "$with_umich_ldap" = "yes" ; then
- AC_DEFINE(HAVE_UMICH_LDAP)
- XE_PREPEND(-llber, LIBS)
+ if test "$with_ldap_nolber" = "yes" ; then
XE_PREPEND(-lldap, LIBS)
- 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
+ else
+ 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 ----------------------
case "$with_scrollbars" in "" | "yes" )
with_scrollbars="lucid" ;;
esac
+case "$with_widgets" in "" | "yes" )
+ if test "$have_motif" = "yes"; then with_widgets="motif"
+ else with_widgets=no
+ fi ;;
+esac
-all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars"
+all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_widgets"
case "$all_widgets" in *athena* )
AC_DEFINE(LWLIB_USES_ATHENA)
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)
+ test "$all_widgets" != "no 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"
fi
fi
-test "$use_minimal_tagbits" = "yes" && AC_DEFINE(USE_MINIMAL_TAGBITS)
-test "$use_indexed_lrecord_implementation" = "yes" && \
- AC_DEFINE(USE_INDEXED_LRECORD_IMPLEMENTATION)
-
dnl ----------------------
dnl Mule-dependent options
dnl ----------------------
AC_CHECKING(for Mule-related features)
AC_DEFINE(MULE)
AC_DEFINE(FILE_CODING)
- XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o mule-coding.o file-coding.o)
+ XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o file-coding.o)
dnl Use -lintl to get internationalized strerror for Mule
AC_CHECK_HEADERS(libintl.h)
esac ;;
esac
+dnl Check whether the system provides getloadavg (Solaris 7 has it)
+AC_CHECK_FUNCS(getloadavg)
+
+if test "$ac_cv_func_getloadavg" != "yes"
+then
+ XE_ADD_OBJS(getloadavg.o)
+
+ dnl Used by getloadavg() - does not require root priveleges
+ AC_CHECK_LIB(kstat, kstat_open)
+
+ dnl Another way to get the load average
+ AC_CHECK_LIB(kvm, kvm_read)
+fi
+
dnl If netdb.h does not declare h_errno, we must declare it by hand.
AC_MSG_CHECKING(whether netdb declares h_errno)
AC_TRY_LINK([#include <netdb.h>],
echo "*** PANIC *** on your system. Don't do that."
exit 1])
-dnl Process support (hardcoded)
-dnl every system that supports this runs configure, the others don't
-
-dnl We're not ready for this yet.
-AC_DEFINE(HAVE_UNIX_PROCESSES)
-XE_ADD_OBJS(process-unix.o)
+dnl Process support
+if test "$win32_processes" = "yes"; then
+ XE_ADD_OBJS(process-nt.o)
+else
+ AC_DEFINE(HAVE_UNIX_PROCESSES)
+ XE_ADD_OBJS(process-unix.o)
+fi
dnl --------------------------------
dnl Compute SUBST-itutable variables
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
AC_SUBST(PREFIX)
AC_SUBST(exec_prefix)
+AC_SUBST(EXEC_PREFIX_USER_DEFINED)
EXEC_PREFIX=$exec_prefix
while true; do
case "$EXEC_PREFIX" in
done
AC_SUBST(LOCKDIR)
+AC_SUBST(docdir)
+AC_SUBST(DOCDIR_USER_DEFINED)
+DOCDIR=$docdir
+while true; do
+ case "$DOCDIR" in
+ *\$* ) eval "DOCDIR=$DOCDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(DOCDIR)
+
AC_SUBST(archlibdir)
AC_SUBST(ARCHLIBDIR_USER_DEFINED)
ARCHLIBDIR=$archlibdir
: ${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
dnl so that the user gets immediate feedback on the results of the
dnl autodetection.
-test -n "$puresize" && AC_DEFINE_UNQUOTED(RAW_PURESIZE, $puresize)
-
if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC)
elif test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC)
elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC)
echo "$0 $quoted_arguments"
) > Installation
-xemacs_betaname=""
-test ! -z "${emacs_beta_version}" && xemacs_betaname="-b${emacs_beta_version}"
+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
dnl Start stdout redirection to '| tee -a Installation'
(
test "$with_database_dbm" = yes && echo " Compiling in support for DBM."
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_ldap" = yes && echo " Compiling in support for LDAP."
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_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_session" != no && echo " Compiling in support for proper session-management."
+test "$with_wmcommand" != no && echo " Compiling in support for proper WM_COMMAND handling."
case "$with_menubars" in
lucid ) echo " Using Lucid menubars." ;;
motif ) echo " Using Motif menubars."
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 "$use_minimal_tagbits" = yes && echo " Using Lisp_Objects with minimal tagbits."
-test "$use_indexed_lrecord_implementation" = yes && echo " Using indexed lrecord implementation."
test "$debug" = yes && echo " Compiling in extra code for debugging."
-test "$memory_usage_stats" = yes && echo " Compiling in code for checking XEmacs memory usage."
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
dnl echo "The above configure report is appended to \"Installation\" file."
echo ""
-dnl Generate Installation.el
-echo '(setq Installation-string "' > Installation.el
-sed 's/"/\\"/g' Installation >> Installation.el
-echo '")' >> Installation.el
-
dnl -----------------------------------
dnl Now generate config.h and Makefiles
dnl -----------------------------------