X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.in;h=fbc5f473f029e08c0118f82b7b128a29916dcbdf;hb=4328b54281c1fa5907a34519e1825ca3654734da;hp=26e7024c48e122edc09dc7deb478e7e89bbb1b20;hpb=fcb80f3a0ea7c72127a7745d5f4c0f89a0d46b26;p=chise%2Fxemacs-chise.git- diff --git a/configure.in b/configure.in index 26e7024..fbc5f47 100644 --- a/configure.in +++ b/configure.in @@ -16,6 +16,7 @@ define([AC_INIT_NOTICE], ### 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. @@ -56,7 +57,7 @@ dnl Redefine some standard autoconf macros dnl here is how XEmacs is different: dnl - no cache file dnl - non-standard options -dnl - suport for extra-verbosity +dnl - support for extra-verbosity dnl - ordinary libs are handled separately from X libs (might be a mistake) dnl - various random kludges (e.g. -with-dnet=no) @@ -125,7 +126,7 @@ EOF dnl redefine AC_CHECK_LIB in accordance with our own value of ac_link dnl Add in extra kludgy check to support with_dnet=no -dnl Add in extra LDFLAGS arg, which PRECEDE libs +dnl Add in extra LDFLAGS arg, which PRECEDES libs dnl Support --with-dnet=no dnl AC_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND @@ -333,13 +334,13 @@ infodir='${datadir}/${instvardir}/info' 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' @@ -358,6 +359,8 @@ with_msw='' 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. @@ -375,6 +378,8 @@ with_dnet="" pdump="no" dnl dragndrop is still experimental. When it is stable, comment out the following line: with_dragndrop="no" +dnl Too annoying, even if mandated by IPv6 (and I'm not even sure of that) +with_ipv6_cname="no" dnl ------------------ dnl Options Processing @@ -502,7 +507,8 @@ while test $# != 0; do with_hesiod | \ with_dnet | \ with_infodock | \ - with_netinstall | \ + with_netinstall | \ + with_ipv6_cname | \ external_widget | \ verbose | \ extra_verbose | \ @@ -618,7 +624,8 @@ while test $# != 0; do 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 @@ -738,7 +745,7 @@ The default is to autodetect all sound support."]) dnl Has the user specified one of the path options? prefix | exec_prefix | bindir | datadir | statedir | libdir | \ mandir | infodir | infopath | lispdir | etcdir | pkgdir | \ - archlibdir | docdir | package_path ) + archlibdir | docdir | package_path | moduledir ) dnl If the value was omitted, get it from the next argument. if test "$valomitted" = "yes"; then if test "$#" = 0; then @@ -785,14 +792,16 @@ The default is to autodetect all sound support."]) "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 ;; + dnl Explicit --with-widgets on command line means 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\"" ;; @@ -1207,6 +1216,13 @@ case "$canonical" in dnl Cubix QBx/386 i[[3-9]]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;; + dnl Darwin, a.k.a. MacOS X (based on Mach and Freebsd) + *-*-darwin*) + opsys=darwin + RANLIB="ranlib -c" dnl Avoids a link error with lwlib-config.c + pdump=yes dnl No "native" working dumper available + ;; + dnl Data General AViiON Machines i586-dg-dgux*R4* | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;; m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) opsys=dgux5-4r3 ;; @@ -1536,9 +1552,11 @@ case "$canonical" in esac -dnl Initialize machine and opsys from $canonical if not in our database above. +dnl Initialize machine from $canonical if not in our database above. test -z "$machine" && machine=`echo $canonical | sed 's/-.*$//'` -test -z "$opsys" && opsys=`echo $canonical | sed 's/^[^-]*-[^-]*-//'` + +dnl Initialize opsys from `uname -s` if not in our database above. +test -z "$opsys" && opsys=`uname -s | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` dnl Use configure-time autodetection if s&m not available if test -r "${srcdir}/src/m/${machine}.h"; then @@ -1886,13 +1904,21 @@ if test "$__USLC__" = yes; then test "$need_kalloca" = "yes" && XE_APPEND(-Kalloca,c_switch_system) fi -dnl Calculalate value of CFLAGS: +dnl Calculate value of CFLAGS: dnl Use either command line flag, environment var, or autodetection if test "$cflags_specified" = "no"; then 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" @@ -1978,6 +2004,21 @@ esac AC_MSG_RESULT(no) fi +dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump. +dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf +dnl a usage message, that's often good enough. Please report it, though. +dnl #### Should make this Solaris-friendly. +dnl Link with -z nocombreloc for now. +if test "$pdump" != "yes"; then + AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag) + case "`ld --help 2>&1`" in + *-z\ nocombreloc* ) AC_MSG_RESULT(yes) + XE_PREPEND(-z nocombreloc, ld_switch_site) ;; + *) AC_MSG_RESULT(no) ;; + esac +fi + + dnl Inform compiler that certain flags are meant for the linker dnl XE_PROTECT_LINKER_FLAGS(shell_var) define([XE_PROTECT_LINKER_FLAGS], [ @@ -1995,6 +2036,7 @@ if test "$GCC" = "yes"; then fi])dnl XE_PROTECT_LINKER_FLAGS(ld_switch_system) XE_PROTECT_LINKER_FLAGS(ld_switch_machine) +XE_PROTECT_LINKER_FLAGS(ld_switch_site) XE_PROTECT_LINKER_FLAGS(LDFLAGS) XE_PROTECT_LINKER_FLAGS(ld_call_shared) @@ -2142,7 +2184,7 @@ 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 but finding one 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 @@ -2379,10 +2421,12 @@ AC_CHECK_TYPE(ssize_t, int) dnl check for Unix98 socklen_t AC_MSG_CHECKING(for socklen_t) -AC_TRY_COMPILE([#include +AC_TRY_COMPILE([#include +#include socklen_t x; ],[],[AC_MSG_RESULT(yes)],[ -AC_TRY_COMPILE([#include +AC_TRY_COMPILE([#include +#include int accept (int, struct sockaddr *, size_t *); ],[],[ AC_MSG_RESULT(size_t) @@ -2480,6 +2524,10 @@ case "$opsys" in decosf*) c_switch_site="$c_switch_site -threads" ;; esac +dnl ---------------------------------------------------------------- +dnl Miscellaneous flags +dnl ---------------------------------------------------------------- + AC_MSG_CHECKING(whether the -xildoff compiler flag is required) if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; @@ -2572,6 +2620,9 @@ if test "${GTK_CONFIG}" != "no"; then AC_MSG_CHECKING(gtk cflags) GTK_CFLAGS=`${GTK_CONFIG} --cflags` + if test "$GCC" = "yes"; then + GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow" + fi XE_APPEND(${GTK_CFLAGS}, c_switch_gtk) AC_MSG_RESULT(${GTK_CFLAGS}) @@ -2600,8 +2651,10 @@ if test "${GTK_CONFIG}" != "no"; then 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)) @@ -2612,6 +2665,7 @@ if test "${GTK_CONFIG}" != "no"; then AC_DEFINE(LIBGLADE_XML_TXTDOMAIN,1)], [AC_MSG_RESULT(no)]) CFLAGS="${OLD_CFLAGS}" + CPPFLAGS="${OLD_CPPFLAGS}" LDFLAGS="${OLD_LDFLAGS}" fi @@ -2755,7 +2809,9 @@ EOF cd .. rm -fr conftestdir for word in $xmkmf_defines; do - case "$word" in -D* ) + case "$word" in + -D__STDC__*) ;; + -D* ) sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'` case "$word" in -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;; @@ -2893,7 +2949,7 @@ if test "$with_msw" != "no"; then dnl check for our special version of select AC_TRY_RUN([#include 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 @@ -3158,9 +3214,38 @@ dnl ---------------------- 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 @@ -3196,7 +3281,9 @@ if test "$window_system" != "none"; then 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()], @@ -3313,9 +3400,18 @@ dnl X-Specific Graphics libraries dnl ---------------------- if test "$with_x11" = "yes"; then - AC_CHECKING(for X11 graphics libraries) +fi + +dnl We don't automatically trigger widgets if athena is present +dnl because of stability concerns. +dnl But if the user wants widgets, still offer him autodetections +case "$with_widgets" in + "yes" | "athena") detect_athena=yes ;; + *) detect_athena=no ;; +esac +if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then AC_CHECKING(for the Athena widgets) dnl What in heck did the user actually want? @@ -3412,6 +3508,11 @@ if test "$with_x11" = "yes"; then have_xaw=no fi +else + have_xaw=no +fi dnl "$with_x11" = "yes" -a "detect_athena" = "yes" + +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)], @@ -4046,6 +4147,14 @@ if test "$with_native_sound" != "no"; then esac 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 + fi + dnl Check for Linux/BSD native sound if test -z "$sound_found"; then for dir in "machine" "sys" "linux"; do @@ -4058,14 +4167,6 @@ if test "$with_native_sound" != "no"; then 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 - fi - test "$sound_found" = "yes" && with_native_sound=yes fi @@ -4165,10 +4266,17 @@ if test "$with_tty" = "yes" ; then done fi else dnl "$have_terminfo" = "no" && "with_ncurses" = "no" - XE_ADD_OBJS(tparam.o) + if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then + dnl We need to check if tgoto does not exist in termcap yet + dnl because on OpenBSD libtermcap is another name for libcurses + dnl which provides the same tgoto as ncurses + AC_CHECK_LIB(termcap, tgoto, , XE_ADD_OBJS(tparam.o)) + else + XE_ADD_OBJS(tparam.o) + fi 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) @@ -4201,7 +4309,9 @@ else dnl "$with_tty" = "no" 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. @@ -4732,6 +4842,7 @@ 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) +test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE) dnl ------------------------------- dnl Report on what we decided to do @@ -4793,6 +4904,10 @@ fi echo " Compiler: $CC $CFLAGS" echo " Relocating allocator for buffers: $rel_alloc" echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" +case "$ld_switch_site" in + *nocombreloc*) echo " Linking with \`-z nocombreloc'. + - Consider configuring with --pdump." ;; +esac echo " Window System:" @@ -4940,6 +5055,7 @@ test -n "$mail_locking" && echo " Compiling in support for \"$mail_locking\" ma 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."