X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.in;h=fbc5f473f029e08c0118f82b7b128a29916dcbdf;hb=refs%2Ftags%2Fr21-4-9-utf-2000-0_19-jc3-7;hp=b150a5e19a3634da081213fd80c3135977a8baa9;hpb=bdf7ed55d477061711b465edaaf44ea3fdb37e2a;p=chise%2Fxemacs-chise.git- diff --git a/configure.in b/configure.in index b150a5e..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' @@ -377,8 +378,8 @@ with_dnet="" 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 Too annoying, even if mandated by IPv6 (and I'm not even sure of that) +with_ipv6_cname="no" dnl ------------------ dnl Options Processing @@ -744,7 +745,7 @@ The default is to autodetect native and NAS 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 @@ -795,6 +796,8 @@ The default is to autodetect native and NAS sound support."]) 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 ;; ms | msw ) val=msw ;; * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: @@ -1213,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 ;; @@ -1900,9 +1910,15 @@ 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" @@ -1988,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], [ @@ -2005,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) @@ -2152,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 @@ -2389,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) @@ -2490,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 ; @@ -2582,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}) @@ -2908,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 @@ -3173,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 @@ -3211,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()], @@ -3331,7 +3403,15 @@ if test "$with_x11" = "yes"; then AC_CHECKING(for X11 graphics libraries) fi -if test "$with_x11" = "yes" -a "$with_widgets" = "athena"; then +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? @@ -3430,7 +3510,7 @@ if test "$with_x11" = "yes" -a "$with_widgets" = "athena"; then else have_xaw=no -fi dnl "$with_x11" = "yes" -a "$with_widgets" = "athena" +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) @@ -4186,7 +4266,14 @@ 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 subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */ @@ -4222,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. @@ -4815,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:" @@ -4962,7 +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_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."