### To rebuild it, execute the command
### autoconf
### in the this directory. You must have autoconf version 2.13 or later.
+### Note: this script has not yet been ported to autoconf version 2.5x.
### This file is part of XEmacs.
infopath=''
install_pp=''
lispdir='${datadir}/${instvardir}/lisp'
-moduledir='${datadir}/${instvardir}/${configuration}/modules'
+moduledir='${libdir}/${instvardir}/${configuration}/modules'
sitelispdir='${datadir}/${inststaticdir}/site-lisp'
-sitemoduledir='${datadir}/${inststaticdir}/site-modules'
+sitemoduledir='${libdir}/${inststaticdir}/site-modules'
pkgdir='${datadir}/${instvardir}/lisp'
package_path=''
etcdir='${datadir}/${instvardir}/etc'
-archlibdir='${datadir}/${instvardir}/${configuration}'
+archlibdir='${libdir}/${instvardir}/${configuration}'
docdir='${archlibdir}'
with_netinstall="no"
with_prefix='yes'
rel_alloc='default'
with_system_malloc='default'
with_dlmalloc='default'
+dnl ESD is associated with crashes and lockups due to incorrect signal use.
+with_esd_sound='no'
native_sound_lib=''
dnl These should be set to the empty string when we want gtk / gnome to
dnl be auto-detected instead of manually specified.
pdump="no"
dnl dragndrop is still experimental. When it is stable, comment out the following line:
with_dragndrop="no"
+dnl I think this is mandated by IPv6 standards.
+with_ipv6_cname="yes"
dnl ------------------
dnl Options Processing
with_hesiod | \
with_dnet | \
with_infodock | \
- with_netinstall | \
+ with_netinstall | \
+ with_ipv6_cname | \
external_widget | \
verbose | \
extra_verbose | \
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."])
+Option \`all' or \`none' must be first in the list.
+The default is to autodetect native and NAS sound support."])
elif test -n "$new_sdefault" ; then
with_native_sound=$new_sdefault
with_nas_sound=$new_sdefault
"with_widgets" )
case "$val" in
l | lu | luc | luci | lucid ) val=lucid ;;
- m | mo | mot | moti | motif ) val=motif ;;
+ mo | mot | moti | motif ) val=motif ;;
a | at | ath | athe | athen | athena ) val=athena ;;
n | no | non | none ) val=no ;;
y | ye | yes ) val=yes ;;
g | gt | gtk ) val=gtk ;;
- m | ms | msw ) val=msw ;;
+ ms | msw ) val=msw ;;
* ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`gtk\', \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
+ \`gtk', \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
esac
eval "$opt=\"$val\""
;;
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 -Winline -Wmissing-prototypes -Wshadow"
+ CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes"
dnl Yuck, bad compares have been worth at least 3 crashes!
CFLAGS="$CFLAGS -Wsign-compare"
+ dnl You get five zillion shadowing warnings with g++.
+ dnl Even with gcc, -Wshadow is questionable because of its complaints
+ dnl about parameters with the same names as global functions.
+ if test "$xemacs_compiler" != "g++"; then
+ CFLAGS="$CFLAGS -Wshadow"
+ fi
dnl glibc is intentionally not `-Wpointer-arith'-clean.
dnl Ulrich Drepper has rejected patches to fix the glibc header files.
test "$have_glibc" != "yes" && CFLAGS="$CFLAGS -Wpointer-arith"
dnl Check for libglade support (it rocks)
OLD_CFLAGS="${CFLAGS}"
+ OLD_CPPFLAGS="${CPPFLAGS}"
OLD_LDFLAGS="${LDFLAGS}"
CFLAGS="${GTK_CFLAGS} ${CFLAGS}"
+ CPPFLAGS="${GTK_CFLAGS} ${CFLAGS}"
LDFLAGS="${LDFLAGS} ${GTK_LIBS}"
AC_CHECK_HEADERS(glade/glade.h glade.h)
AC_CHECK_LIB(xml, main, XE_PREPEND(-lxml, libs_gtk))
AC_DEFINE(LIBGLADE_XML_TXTDOMAIN,1)],
[AC_MSG_RESULT(no)])
CFLAGS="${OLD_CFLAGS}"
+ CPPFLAGS="${OLD_CPPFLAGS}"
LDFLAGS="${OLD_LDFLAGS}"
fi
dnl check for our special version of select
AC_TRY_RUN([#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }],
- [AC_DEFINE(HAVE_MSG_SELECT)])
+ [need_event_unixoid=yes; AC_DEFINE(HAVE_MSG_SELECT)])
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
if test "$window_system" != "none"; then
AC_CHECKING(for graphics libraries)
+ dnl add special code to handle xpm-nox on Cygwin (csw)
+ dnl -- should only happen if CYGWIN && WITH_XPM && WITH_MSW && !WITH_X
+ libpath_xpm=
+ incpath_xpm=
+ case "$opsys" in
+ cygwin*)
+ cygwin_top=`eval "gcc -print-file-name=libc.a"` ;
+ cygwin_top=`eval "dirname ${cygwin_top}"`;
+ cygwin_top="${cygwin_top}/..";
+ case "$window_system" in
+ dnl use "standard" search pattern
+ x11) ;;
+ dnl hardcode "standard" non-X11 xpm lib/inc dirs
+ msw) libpath_xpm="-L${cygwin_top}/lib/noX"
+ incpath_xpm="-I${cygwin_top}/include/noX"
+ ;;
+ dnl not supported on cygwin (yet?)
+ gtk) ;;
+ dnl probably not reached...
+ none) ;;
+ dnl ditto
+ *) ;;
+ esac
+ ;;
+ dnl use "standard" search pattern for all other OS's
+ *) ;;
+ esac
dnl Autodetect Xpm
xpm_problem=""
if test -z "$with_xpm"; then
+ XE_PREPEND("$incpath_xpm", CFLAGS)
+ XE_PREPEND("$libpath_xpm", LDFLAGS)
AC_MSG_CHECKING(for Xpm - no older than 3.4f)
xe_check_libs=-lXpm
AC_TRY_RUN([#define XPM_NUMBERS
dnl #### then it will succeed if FOR_MSW is defined,
dnl #### but doesn't actually verify this assumption.
AC_DEFINE(HAVE_XPM)
+ XE_PREPEND("$libpath_xpm", LDFLAGS)
XE_PREPEND(-lXpm, libs_x)
+ XE_PREPEND("$incpath_xpm", CFLAGS)
AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
xe_check_libs=-lXpm
AC_TRY_LINK(, [XpmCreatePixmapFromData()],
dnl ----------------------
if test "$with_x11" = "yes"; then
-
AC_CHECKING(for X11 graphics libraries)
+fi
+if test "$with_x11" = "yes" -a "$with_widgets" = "athena"; then
AC_CHECKING(for the Athena widgets)
dnl What in heck did the user actually want?
have_xaw=no
fi
+else
+ have_xaw=no
+fi dnl "$with_x11" = "yes" -a "$with_widgets" = "athena"
+
+if test "$with_x11" = "yes"; then
dnl autodetect Motif - but only add to libs_x later (if necessary)
AC_CHECK_HEADER(Xm/Xm.h,
[AC_CHECK_LIB(Xm, XmStringFree, have_motif=yes, have_motif=no)],
XE_ADD_OBJS(tparam.o)
dnl The HP-UX curses library seems to have a badly broken version of select(2)
dnl that makes "poll: interrupted system call" messages to appear and
- dnl Emacs suprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
+ dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
if test -n "$libs_termcap"; then
XE_PREPEND($libs_termcap, LIBS)
fi dnl with_tty
dnl Do we need event-unixoid.o ?
-test "$with_x11" = "yes" -o "$with_tty" = "yes" && XE_ADD_OBJS(event-unixoid.o)
+dnl This is needed for X, or for TTY, or for MSWIN w/Cygwin select()
+dnl [but not Mingw MSWIN]
+test "$with_x11" = "yes" -o "$with_tty" = "yes" -o "$need_event_unixoid" = "yes" && XE_ADD_OBJS(event-unixoid.o)
dnl Database support
dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD)
test "$use_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE)
test "$pdump" = "yes" && AC_DEFINE(PDUMP)
+test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE)
dnl -------------------------------
dnl Report on what we decided to do
echo "
Other Features:"
+test "with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup."
test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop."
test "$with_socks" = yes && echo " Compiling in support for SOCKS."