1 dnl Define our own header notice with own copyright
2 define([AC_INIT_NOTICE],
3 [#### Configuration script for XEmacs. Largely divergent from FSF.
4 #### Guess values for system-dependent variables and create Makefiles.
5 #### Generated automatically using autoconf version] AC_ACVERSION [
6 #### Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
7 #### Copyright (C) 1993-1995 Board of Trustees, University of Illinois.
8 #### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
9 #### Copyright (C) 1995, 1996 Ben Wing.
10 #### Copyright (C) 1998, 1999 J. Kean Johnston.
12 ### Don't edit this script!
13 ### This script was automatically generated by the `autoconf' program
14 ### from the file `./configure.in'.
15 ### To rebuild it, execute the command
17 ### in the this directory. You must have autoconf version 2.12 or later.
19 ### This file is part of XEmacs.
21 ### XEmacs is free software; you can redistribute it and/or modify it
22 ### under the terms of the GNU General Public License as published by
23 ### the Free Software Foundation; either version 2, or (at your
24 ### option) any later version.
26 ### XEmacs is distributed in the hope that it will be useful, but
27 ### WITHOUT ANY WARRANTY; without even the implied warranty of
28 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29 ### General Public License for more details.
31 ### You should have received a copy of the GNU General Public License
32 ### along with XEmacs; see the file COPYING. If not, write to the Free
33 ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
36 ### For usage, run `./configure --help'
37 ### For more detailed information on building and installing XEmacs,
38 ### read the file `INSTALL'.
40 ### If configure succeeds, it leaves its status in config.status.
41 ### A log of configuration tests can be found in config.log.
42 ### If configure fails after disturbing the status quo,
43 ### config.status is removed.
46 dnl Since XEmacs has configuration requirements that autoconf cannot
47 dnl meet, this file is an unholy marriage of custom-baked
48 dnl configuration code and autoconf macros.
50 dnl We use the m4 quoting characters [ ] (as established by the
51 dnl autoconf system), so quote them like this: [[foo]]
54 dnl Redefine some standard autoconf macros
55 dnl here is how XEmacs is different:
57 dnl - non-standard options
58 dnl - suport for extra-verbosity
59 dnl - ordinary libs are handled separately from X libs (might be a mistake)
60 dnl - various random kludges (e.g. -with-dnet=no
62 dnl PRINT_VAR(var var ...) prints values of shell variables
63 define([PRINT_VAR],[for var in patsubst([$1],[[
64 ]+],[ ]); do eval "echo \"$var = '\$$var'\""; done])
66 dnl Disable cache files:
67 dnl This is controversial, but I am convinced this is the right way to go,
68 dnl at least by default. Otherwise there are too many surprises.
69 define([AC_CACHE_LOAD], )dnl
70 define([AC_CACHE_SAVE], )dnl
71 define([AC_CACHE_VAL], [
75 dnl Redefine AC_TRY_RUN_NATIVE to not throw away stderr while running
76 dnl AC_TRY_RUN_NATIVE(PROGRAM, [ACTION-IF-TRUE [, ACTION-IF-FALSE]])
77 define([AC_TRY_RUN_NATIVE],
78 [cat > conftest.$ac_ext <<EOF
79 [#]line __oline__ "configure"
83 if AC_TRY_EVAL(ac_link) && test -s conftest && (./conftest; exit $?) 2>&AC_FD_CC
85 dnl Do not remove the temporary files here, so they can be examined.
86 ifelse([$2], , :, [$2])
89 echo "configure: failed program was:" >&AC_FD_CC
90 cat conftest.$ac_ext >&AC_FD_CC
91 ifelse([$3], , , [ rm -fr conftest*
95 rm -fr conftest*])dnl AC_TRY_RUN_NATIVE
98 dnl Avoid spurious cross-compiling warnings from AC_TRY_RUN
99 dnl XEmacs is unlikely to ever cross-compile
100 define([AC_TRY_RUN],[AC_TRY_RUN_NATIVE([$1], [$2], [$3])])dnl
102 dnl Redefine AC_DEFINE* to provide more output if extra_verbose
103 dnl Set VARIABLE to VALUE, verbatim, or 1.
104 dnl AC_DEFINE(VARIABLE [, VALUE])
106 [{ test "$extra_verbose" = "yes" && cat << \EOF
107 Defining $1[]ifelse($#, 2, [ = $2],)
109 cat >> confdefs.h <<\EOF
110 [#define] $1 ifelse($#, 2, [$2], 1)
115 define([AC_DEFINE_UNQUOTED],
116 [{ test "$extra_verbose" = "yes" && cat << EOF
117 Defining $1[]ifelse($#, 2, [ = $2],)
119 cat >> confdefs.h <<EOF
120 [#define] $1 ifelse($#, 2, [$2], 1)
123 ])dnl AC_DEFINE_UNQUOTED
125 dnl redefine AC_CHECK_LIB in accordance with our own value of ac_link
126 dnl Add in extra kludgy check to support with_dnet=no
127 dnl Add in extra LDFLAGS arg, which PRECEDE libs
128 dnl Support --with-dnet=no
130 dnl AC_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
131 dnl [, OTHER-LIBRARIES] [, LDFLAGS]]]])
132 define([AC_CHECK_LIB],
133 [ifelse([$1],dnet, [if test "$with_dnet" = "no" ; then
134 ac_cv_lib_dnet_dnet_ntoa=no
135 ifelse([$4], , , [$4]
139 AC_CHECK_LIB_ORIG_HACKED([$1],[$2],[$3],[$4],[$5], [$6])
140 [ifelse([$1],dnet,[fi
144 define([AC_CHECK_LIB_ORIG_HACKED],
145 [ifelse([$5],,AC_MSG_CHECKING([for $2 in -l$1]),
146 xe_msg_checking="for [$2] in -l[$1]"
147 test -n "[$5]" && xe_msg_checking="$xe_msg_checking using extra libs [$5]"
148 AC_MSG_CHECKING("$xe_msg_checking"))
149 dnl Use a cache variable name containing both the library and function name,
150 dnl because the test really is for library $1 defining function $2, not
151 dnl just for library $1. Separate tests with the same $1 and different $2s
152 dnl may have different results.
153 ac_lib_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'`
154 AC_CACHE_VAL(ac_cv_lib_$ac_lib_var,
155 [xe_check_libs="$6 -l$1 $5"
157 ifelse([$2], [main], , dnl Avoid conflicting decl of main.
158 [/* Override any gcc2 internal prototype to avoid an error. */
159 ]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
163 [/* We use char because int might match the return type of a gcc2
164 builtin and then its argument prototype would still apply. */
168 eval "ac_cv_lib_$ac_lib_var=yes",
169 eval "ac_cv_lib_$ac_lib_var=no")
172 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
176 ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
177 -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
179 AC_DEFINE_UNQUOTED($ac_tr_lib)
180 XE_PREPEND([-l$1], LIBS)
187 ])dnl AC_CHECK_LIB_ORIG_HACKED
192 [define([AC_LANG], [C])dnl
194 dnl CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
195 dnl ac_cpp='$CPP $CPPFLAGS'
196 dnl ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&AC_FD_CC'
197 dnl ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
198 xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
199 xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site $ld_switch_run'
200 xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard'
201 ac_cpp='$CPP '"$xe_cppflags"
202 ac_compile='${CC-cc} -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext 1>&AC_FD_CC'
203 ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AC_FD_CC'
207 dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
208 dnl So we use the following instead.
209 dnl XE_SPACE(var, words)
212 for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
216 dnl XE_ADD_OBJS(foo.o ...)
217 define([XE_ADD_OBJS],
218 [extra_objs="$extra_objs [$1]" && dnl
219 if test "$extra_verbose" = "yes"; then
220 echo " xemacs will be linked with \"[$1]\""
223 dnl XE_APPEND(value, varname)
225 [[$2]="$[$2] [$1]" && dnl
226 if test "$extra_verbose" = "yes"; then echo " Appending \"[$1]\" to \$[$2]"; fi])
228 dnl XE_PREPEND(value, varname)
230 [[$2]="[$1] $[$2]" && dnl
231 if test "$extra_verbose" = "yes"; then echo " Prepending \"[$1]\" to \$[$2]"; fi])
234 define([XE_DIE], [{ echo "Error:" $1 >&2; exit 1; }])
236 dnl XE_STRIP_4TH_COMPONENT(var)
237 dnl Changes i986-pc-linux-gnu to i986-pc-linux, as God (not RMS) intended.
238 define([XE_STRIP_4TH_COMPONENT],
239 [$1=`echo "$$1" | sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'`])
241 dnl Initialize some variables set by options.
242 dnl The variables have the same names as the options, with
243 dnl dashes changed to underlines.
245 define([AC_INIT_PARSE_ARGS],[
247 dnl Get sane consistent behavior from various shells
248 dnl Avoid losing with weird user CDPATHs
250 if test -n "$ZSH_VERSION"; then
251 dnl zsh's Bourne shell emulation options
252 setopt NO_BAD_PATTERN NO_BANG_HIST NO_BG_NICE NO_EQUALS NO_FUNCTION_ARGZERO
253 setopt GLOB_SUBST NO_HUP INTERACTIVE_COMMENTS KSH_ARRAYS NO_MULTIOS NO_NOMATCH
254 setopt RM_STAR_SILENT POSIX_BUILTINS SH_FILE_EXPANSION SH_GLOB SH_OPTION_LETTERS
255 setopt SH_WORD_SPLIT BSD_ECHO IGNORE_BRACES
256 dnl zsh-3.1-beta drops core on the following
258 if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi
259 elif test -n "$BASH_VERSION"; then
260 dnl Use Posix mode with bash
264 if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi
267 dnl Initialize some variables set by options.
268 dnl The variables have the same names as the options, with
269 dnl dashes changed to underlines.
278 program_transform_name=s,x,x,
287 dnl Installation directory options.
288 dnl These are left unexpanded so users can "make install exec_prefix=/foo"
289 dnl and all the variables that are supposed to be based on exec_prefix
290 dnl by default will actually change.
291 dnl Use braces instead of parens because sh, perl, etc. also accept them.
292 dnl If you change these, you need to synchronize with the settings of the
293 dnl various ..._USER_DEFINED variables further down.
294 bindir='${exec_prefix}/bin'
295 sbindir='${exec_prefix}/sbin'
296 libexecdir='${exec_prefix}/libexec'
297 datadir='${prefix}/share'
298 sysconfdir='${prefix}/etc'
299 sharedstatedir='${prefix}/com'
300 localstatedir='${prefix}/var'
301 libdir='${{exec_prefix}}/lib'
302 includedir='${prefix}/include'
303 oldincludedir='/usr/include'
304 infodir='${prefix}/info'
305 mandir='${prefix}/man'
307 dnl Initialize some other variables.
310 dnl Maximum number of lines to put in a shell here document.
312 ])dnl AC_INIT_PARSE_ARGS
314 AC_INIT(src/lisp.h)dnl
315 AC_CONFIG_HEADER(src/config.h lwlib/config.h)
316 dnl Remove any more than one leading "." element from the path name.
317 dnl If we do not remove them, then another "./" will be prepended to
318 dnl the file name each time we use config.status, and the program name
319 dnl will get larger and larger. This would not be a problem, except
320 dnl that since progname gets recorded in all the Makefiles this script
321 dnl produces, move-if-change thinks they're different when they're
324 dnl It would be nice if we could put the ./ in a \( \) group and then
325 dnl apply the * operator to that, so we remove as many leading './././'s
326 dnl as are present, but some seds (like Ultrix's sed) don't allow you to
327 dnl apply * to a \( \) group. Bleah.
328 progname="`echo $0 | sed 's:^\./\./:\./:'`"
330 dnl -----------------------------
331 dnl Establish some default values
332 dnl -----------------------------
334 XE_APPEND(lib-src, MAKE_SUBDIR)
335 XE_APPEND(lib-src, INSTALL_ARCH_DEP_SUBDIR)
338 exec_prefix='${prefix}'
339 bindir='${exec_prefix}/bin'
340 dnl FSF 19.29 changes to:
341 dnl datadir='${prefix}/share'
342 dnl sharedstatedir='${prefix}/com'
343 dnl libexecdir='${exec_prefix}/libexec'
344 datadir='${prefix}/lib'
345 statedir='${prefix}/lib'
346 libdir='${exec_prefix}/lib'
347 mandir='${prefix}/man/man1'
348 infodir='${datadir}/${PROGNAME}-${version}/info'
351 lispdir='${datadir}/${PROGNAME}-${version}/lisp'
352 moduledir='${datadir}/${PROGNAME}-${version}/${configuration}/modules'
353 sitelispdir='${datadir}/xemacs/site-lisp'
354 sitemoduledir='${datadir}/xemacs/site-modules'
355 pkgdir='${datadir}/${PROGNAME}-${version}/lisp'
357 etcdir='${datadir}/${PROGNAME}-${version}/etc'
358 lockdir='${statedir}/${PROGNAME}/lock'
359 archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}'
361 with_site_modules='yes'
366 dnl const_is_losing is removed - we rely on AC_C_CONST instead.
367 dnl We accept (and ignore) the --const-is-losing option for compatibility.
368 dnl const_is_losing='yes'
369 cpp='' cppflags='' libs='' ldflags=''
374 with_system_malloc='default'
375 with_dlmalloc='default'
377 dnl use_assertions should be 'yes' by default. Too many people in this
378 dnl world have core dumps turned off by default or \"cannot find where the
379 dnl core file went\". At least we should get some useful output ...
381 dnl the following is set to yes or no later.
387 dnl ------------------
388 dnl Options Processing
389 dnl ------------------
391 define([USAGE_ERROR],
392 [(echo "$progname: Usage error:"
394 echo " Use \`$progname --help' to show usage.") >&2 && exit 1])
396 dnl Record all the arguments, so we can save them in config.status.
399 dnl Shell Magic: Quote the quoted arguments in ARGUMENTS. At a later date,
400 dnl in order to get the arguments back in $@, we have to do an
401 dnl 'eval set x "$quoted_arguments"; shift'
402 dnl # We use sed to turn embedded ' into '"'"'. I truly hate sh quoting.
403 quoted_sed_magic=s/"'"/"'"'"'"'"'"'"'"/g
407 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
408 | --no-cr | --no-c) ;;
409 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
410 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
412 quoted_i="`echo '' $i | sed -e 's:^ ::' -e $quoted_sed_magic`"
413 quoted_arguments="$quoted_arguments '$quoted_i'" ;;
417 dnl Do not use shift -- that destroys the argument list, which autoconf needs
418 dnl to produce config.status. It turns out that "set - $arguments" does not
420 dnl However, it also turns out that many shells cannot expand ${10} at all.
421 dnl So using an index variable does not work either. It is possible to use
422 dnl some shell magic to make 'set x "$arguments"; shift' work portably.
423 while test $# != 0; do
426 --no-create|--no-recursion) ;;
427 dnl Anything starting with a hyphen we assume is an option.
429 dnl Separate the switch name from the value it is being given.
432 opt=`echo '' $arg | sed -e 's:^ ::' -e 's:^-*\([[^=]]*\)=.*$:\1:'`
433 val=`echo '' $arg | sed -e 's:^ ::' -e 's:^-*[[^=]]*=\(.*\)$:\1:'`
436 dnl special case these strings since echo may silently eat them:
437 dnl --help ) opt=help val=yes valomitted=yes ;;
438 dnl --version ) opt=version val=yes valomitted=yes ;;
439 dnl -e ) opt=e val=yes valomitted=yes ;;
440 dnl -E ) opt=E val=yes valomitted=yes ;;
441 dnl -n ) opt=n val=yes valomitted=yes ;;
443 dnl If FOO is a boolean argument, --FOO is equivalent to
444 dnl --FOO=yes. Otherwise, the value comes from the next
445 dnl argument - see below.
446 opt=`echo '' $arg | sed -e 's:^ ::' -e 's:^-*\(.*\)$:\1:'`
447 val="yes" valomitted=yes
451 dnl translate "-" in option string to "_"
453 opt="`echo '' $opt | sed -e 's:^ ::' | tr - _`"
455 dnl Support --without-FOO as a synonym for --with-FOO=no
456 case "${valomitted}-${opt}" in yes-without_* )
457 opt=`echo $opt | sed 's/without/with/'`
458 valomitted="no" val="no" ;;
461 dnl Process the option.
464 dnl Process (many) boolean options
466 with_site_modules | \
517 memory_usage_stats | \
518 with_clash_detection | \
521 dnl Make sure the value given was either "yes" or "no".
523 y | ye | yes ) val=yes ;;
525 * ) USAGE_ERROR("The \`--$optname' option requires a boolean value: \`yes' or \`no'.") ;;
527 eval "$opt=\"$val\"" ;;
530 dnl Options that take a user-supplied value, as in --x-includes=/usr/X11R6/include
531 dnl The cache-file option is ignored (for compatibility with other configures)
547 site_runtime_libraries )
548 dnl If the value was omitted, get it from the next argument.
549 if test "$valomitted" = "yes" ; then
550 dnl Get the next argument from the argument list, if there is one.
551 if test "$#" = 0 ; then
552 USAGE_ERROR("The \`--$optname' option requires a value.");
559 dnl Options that take "yes", "no", or "default" values
562 with_debug_malloc | use_debug_malloc | \
563 with_system_malloc | use_system_malloc )
565 y | ye | yes ) val=yes ;;
567 d | de | def | defa | defau | defaul | default ) val=default ;;
568 * ) USAGE_ERROR(["The \`--$optname' option requires one of these values:
569 \`yes', \`no', or \`default'."]) ;;
571 case "$opt" in use_* ) opt="`echo $opt | sed s/use/with/`" ;; esac
575 dnl Has the user requested database support?
577 with_database_berkdb=no
579 with_database_gnudbm=no
580 for x in `echo "$val" | sed -e 's/,/ /g'` ; do
583 b | be | ber | berk | berkd | berkdb ) with_database_berkdb=yes ;;
584 d | db | dbm ) with_database_dbm=yes ;;
585 g | gn | gnu | gnud | gnudb | gnudbm ) with_database_gnudbm=yes ;;
586 * ) USAGE_ERROR(["The \`--$optname' option value
587 must be either \`no' or a comma-separated list
588 of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."]) ;;
591 if test "$with_database_dbm" = "yes" -a \
592 "$with_database_gnudbm" = "yes"; then
593 USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
594 with the \`--$optname' option.")
598 dnl Has the user requested sound support?
600 dnl value can be native, nas or both. yes is allowed
601 dnl as a backwards compatible synonym for native
603 y | ye | yes ) val=native ;;
604 n | no | non | none ) val=no;;
605 na | nat | nati | nativ | native ) val=native ;;
606 ne | net | neta | netau | netaud | netaudi | netaudio | nas ) val=nas ;;
607 b | bo | bot | both ) val=both;;
608 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
609 \`native', \`nas', \`both', or \`none'."]) ;;
614 dnl Has the user requested XIM support?
617 y | ye | yes ) val=yes ;;
618 n | no | non | none ) val=no ;;
619 x | xl | xli | xlib ) val=xlib ;;
620 m | mo | mot | moti | motif ) val=motif ;;
621 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
622 \`motif', \`xlib', \`yes', or \`no'."]) ;;
627 dnl Mail locking specification
633 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
634 \`lockf', \`flock', or \`file'."]) ;;
639 dnl Has the user requested error-checking?
641 dnl value can be all, none, and/or a list of categories to check.
642 dnl Example: --error-checking=all,noextents,nobufpos
643 dnl Example: --error-checking=none,malloc,gc
645 for x in `echo "$val" | sed -e 's/,/ /g'` ; do
647 dnl all and none are only permitted as the first in the list.
648 n | no | non | none ) new_default=no ;;
649 a | al | all ) new_default=yes ;;
651 extents ) error_check_extents=yes ;;
652 noextents ) error_check_extents=no ;;
654 typecheck ) error_check_typecheck=yes ;;
655 notypecheck ) error_check_typecheck=no ;;
657 bufpos ) error_check_bufpos=yes ;;
658 nobufpos ) error_check_bufpos=no ;;
660 gc ) error_check_gc=yes ;;
661 nogc ) error_check_gc=no ;;
663 malloc ) error_check_malloc=yes ;;
664 nomalloc ) error_check_malloc=no ;;
666 byte_code ) error_check_byte_code=yes ;;
667 nobyte_code ) error_check_byte_code=no ;;
669 * ) bogus_error_check=yes ;;
671 if test "$bogus_error_check" -o \
672 \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then
673 if test "$error_check_default" = yes ; then
674 types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', and \`nobyte-code'."
676 types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', and \`byte-code'."
678 USAGE_ERROR(["Valid types for the \`--$optname' option are:
680 elif test -n "$new_default" ; then
681 error_check_extents=$new_default
682 error_check_typecheck=$new_default
683 error_check_bufpos=$new_default
684 error_check_gc=$new_default
685 error_check_malloc=$new_default
686 error_check_byte_code=$new_default
687 new_default= # reset this
693 dnl Has the user tried to tell us where the X files are?
694 dnl I think these are dopey, but no less than three alpha
695 dnl testers, at large sites, have said they have their X files
696 dnl installed in odd places.
698 dnl Has the user specified one of the path options?
699 prefix | exec_prefix | bindir | datadir | statedir | libdir | \
700 mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \
701 archlibdir | docdir | package_path )
702 dnl If the value was omitted, get it from the next argument.
703 if test "$valomitted" = "yes"; then
704 if test "$#" = 0; then
705 USAGE_ERROR("The \`--$optname' option requires a value.");
711 dnl You need to synchronize this with the way the
712 dnl default values are built.
714 lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;;
715 sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
716 moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;;
717 etcdir ) AC_DEFINE(ETCDIR_USER_DEFINED) ;;
718 infodir ) AC_DEFINE(INFODIR_USER_DEFINED) ;;
719 infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;;
720 package_path ) AC_DEFINE(PACKAGE_PATH_USER_DEFINED) ;;
722 AC_DEFINE(INFODIR_USER_DEFINED)
723 AC_DEFINE(LISPDIR_USER_DEFINED)
724 AC_DEFINE(MODULEDIR_USER_DEFINED)
725 AC_DEFINE(ETCDIR_USER_DEFINED) ;;
726 statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;;
727 exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
731 dnl --no-create added by autoconf for use by config.status
734 dnl Has the user asked for some help?
735 "usage" | "help" ) ${PAGER-more} ${srcdir}/configure.usage; exit 0 ;;
737 dnl Has the user specified the toolkit(s) to use for GUI elements?
739 "with_scrollbars" | \
742 l | lu | luc | luci | lucid ) val=lucid ;;
743 m | mo | mot | moti | motif ) val=motif ;;
744 athena3d | athena-3d ) val=athena3d ;;
745 a | at | ath | athe | athen | athena ) val=athena ;;
746 n | no | non | none ) val=no ;;
747 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
748 \`lucid', \`motif', \`athena', \`athena3d', or \`no'."]) ;;
753 dnl Obsolete legacy argument? Warn, but otherwise ignore.
756 AC_MSG_WARN([Obsolete option \`--$optname' ignored.])
759 dnl Unrecognized option? No mercy for user errors.
760 * ) USAGE_ERROR("Unrecognized option: $arg") ;;
765 dnl Assume anything with multiple hyphens is a configuration name.
766 *-*-*) configuration="$arg" ;;
768 dnl Unrecognized argument? No mercy for user errors.
769 *) USAGE_ERROR("Unrecognized argument: $arg") ;;
774 dnl -------------------------
775 dnl Finish options processing
776 dnl -------------------------
778 dnl Several options are equivalent to, and override, environment variables.
779 test -n "$cpp" && CPP="$cpp"
780 test -n "$cppflags" && CPPFLAGS="$cppflags"
781 test -n "$libs" && LIBS="$libs"
782 test -n "$ldflags" && LDFLAGS="$ldflags"
784 dnl Get the arguments back. See the diatribe on Shell Magic above.
785 eval set x "$quoted_arguments"; shift
787 dnl --extra-verbose implies --verbose
788 test "$extra_verbose" = "yes" && verbose=yes
790 dnl with_x is an obsolete synonym for with_x11
791 test -n "$with_x" && with_x11="$with_x"
793 dnl --with-quantify or --with-purify imply --use-system-malloc
794 if test "$with_purify" = "yes" -o "$with_quantify" = "yes"; then
795 test "$with_system_malloc" = "default" && with_system_malloc=yes
798 dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2)
799 define([XE_CHECK_FEATURE_DEPENDENCY],
800 [if test "$with_$1 $with_$2" = "yes no"; then
801 USAGE_ERROR("--with-$1 requires --with-$2")
802 elif test "$with_$2" = "no" ; then with_$1=no
803 elif test "$with_$1" = "yes"; then with_$2=yes
807 dnl CDE requires tooltalk
808 XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk)
810 dnl Find the source directory.
813 dnl If srcdir is not specified, see if "." or ".." might work.
815 for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[[^/]]*$||'`" "." ".." ; do
816 if test -f "$dir/src/lisp.h" -a \
817 -f "$dir/lisp/version.el" ; then
822 if test -z "$srcdir" ; then
823 USAGE_ERROR(["Neither the current directory nor its parent seem to
824 contain the XEmacs sources. If you do not want to build XEmacs in its
825 source tree, you should run \`$progname' in the directory in which
826 you wish to build XEmacs, using the \`--srcdir' option to say where the
827 sources may be found."])
831 dnl Otherwise, check if the directory they specified is okay.
833 if test ! -f "$srcdir/src/lisp.h" -o \
834 ! -f "$srcdir/lisp/version.el" ; then
835 USAGE_ERROR(["The directory specified with the \`--srcdir' option,
836 \`$srcdir', doesn't seem to contain the XEmacs sources. You should
837 either run the \`$progname' script at the top of the XEmacs source
838 tree, or use the \`--srcdir' option to specify the XEmacs source directory."])
843 dnl ###########################################################################
844 if test -z "$configuration"; then
845 dnl Guess the configuration
846 configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess`
847 if test -z "$configuration"; then
848 USAGE_ERROR(["XEmacs has not been ported to this host type.
849 Try explicitly specifying the CONFIGURATION when rerunning configure."])
855 dnl Make symlinks for etc, lisp, and info directories while the path
856 dnl is still relative. We do not symlink lock because someone may
857 dnl have stuck the source on a read-only partition. Instead we
858 dnl create it as an actual directory later on if it does not already
860 for dir in lisp etc man info; do
861 if test ! -d "$dir" ; then
862 echo Making symbolic link to "$srcdir/$dir"
863 ${LN_S} "$srcdir/$dir" "$dir"
867 dnl Do our best to deal with automounter brokenness
868 dnl CANONICALIZE_PATH(varname)
869 define([CANONICALIZE_PATH],
870 [if test -d "/net"; then
871 if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi
873 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
876 dnl Calculate canonical name for blddir (i.e. current directory).
877 dnl PWD may already be the preferable absolute name for ".",
878 dnl but we can't trust it - it is sometimes inaccurate.
879 absolute_pwd="`pwd`";
880 if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd"
882 else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir)
886 dnl Make srcdir absolute, if not already. It is important to
887 dnl avoid running the path through pwd unnecessary, since pwd can
888 dnl give you automounter prefixes, which can go away.
891 . ) srcdir="$blddir" ;;
892 * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;;
895 dnl Check if the source directory already has a configured system in it.
896 if test `pwd` != `sh -c cd $srcdir && pwd` \
897 && test -f "$srcdir/src/config.h"; then
898 (echo "$progname: WARNING: The directory tree \`$srcdir' is being used"
899 echo " as a build directory right now; it has been configured in its own"
900 echo " right. To configure in another directory as well, you MUST"
901 echo " use GNU make. If you do not have GNU make, then you must"
902 echo " now do \`make distclean' in $srcdir,"
903 echo " and then run $progname again.") >&2
904 extrasub='/^VPATH[[ ]]*=/c\
910 vpath %.in $(srcdir)'
913 dnl ----------------------------------------
914 dnl Find out which version of XEmacs this is
915 dnl ----------------------------------------
916 . "$srcdir/version.sh" || exit 1;
917 dnl Must do the following first to determine verbosity for AC_DEFINE
918 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
919 : "${extra_verbose=$beta}"
920 version="${emacs_major_version}.${emacs_minor_version}"
921 AC_DEFINE_UNQUOTED(EMACS_MAJOR_VERSION, $emacs_major_version)
922 AC_DEFINE_UNQUOTED(EMACS_MINOR_VERSION, $emacs_minor_version)
923 if test -n "$emacs_beta_version" ; then
924 if test "$beta" = "yes"; then
925 version="${version}-b${emacs_beta_version}"
926 AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version)
928 version="${version}.${emacs_beta_version}"
929 AC_DEFINE_UNQUOTED(EMACS_PATCH_LEVEL, $emacs_beta_version)
932 AC_DEFINE_UNQUOTED(XEMACS_CODENAME, "$xemacs_codename")
933 AC_DEFINE_UNQUOTED(EMACS_VERSION, "$version")
935 if test "$with_infodock" = "yes"; then
936 if test ! -f ../ID-INSTALL; then
937 echo "Cannot build InfoDock without InfoDock sources"
942 if test "$with_infodock" = "yes"; then
943 dnl InfoDock version numbers. XEmacs will use the same style of numbering
944 dnl after the release of XEmacs 21.0.
945 AC_DEFINE_UNQUOTED(INFODOCK_MAJOR_VERSION, $infodock_major_version)
946 AC_DEFINE_UNQUOTED(INFODOCK_MINOR_VERSION, $infodock_minor_version)
947 AC_DEFINE_UNQUOTED(INFODOCK_BUILD_VERSION, $infodock_build_version)
948 version=${infodock_major_version}.${infodock_minor_version}.${infodock_build_version}
950 CPPFLAGS="$CPPFLAGS -DINFODOCK"
955 dnl ----------------------------------
956 dnl Error checking and debugging flags
957 dnl ----------------------------------
958 dnl Error checking default to "yes" in beta versions, to "no" in releases.
959 dnl Same goes for --debug and --extra-verbosity.
960 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
961 test "${error_check_extents=$beta}" = yes && AC_DEFINE(ERROR_CHECK_EXTENTS)
962 test "${error_check_typecheck=$beta}" = yes && AC_DEFINE(ERROR_CHECK_TYPECHECK)
963 test "${error_check_bufpos=$beta}" = yes && AC_DEFINE(ERROR_CHECK_BUFPOS)
964 test "${error_check_gc=$beta}" = yes && AC_DEFINE(ERROR_CHECK_GC)
965 test "${error_check_malloc=$beta}" = yes && AC_DEFINE(ERROR_CHECK_MALLOC)
966 test "${error_check_byte_code=$beta}" = yes && AC_DEFINE(ERROR_CHECK_BYTE_CODE)
967 dnl debug=yes must be set when error checking is present. This should be
969 dnl debug implies other options
970 if test "${debug:=$beta}" = "yes"; then
971 use_assertions=yes memory_usage_stats=yes
973 AC_DEFINE(DEBUG_XEMACS)
975 test "$use_assertions" = "yes" && AC_DEFINE(USE_ASSERTIONS)
976 test "$memory_usage_stats" = "yes" && AC_DEFINE(MEMORY_USAGE_STATS)
978 dnl ------------------------------
979 dnl Determine the s&m files to use
980 dnl ------------------------------
981 dnl Given the configuration name, set machfile and opsysfile to the
982 dnl names of the m/*.h and s/*.h files we should use.
984 dnl Canonicalize the configuration name.
985 AC_MSG_CHECKING("host system type")
986 dnl allow -workshop suffix on configuration name
987 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'`
988 canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"`
989 XE_STRIP_4TH_COMPONENT(configuration)
990 XE_STRIP_4TH_COMPONENT(canonical)
991 AC_MSG_RESULT($configuration)
993 dnl If you add support for a new configuration, add code to this
994 dnl switch statement to recognize your configuration name and select
995 dnl the appropriate operating system and machine description files.
997 dnl You would hope that you could choose an m/*.h file pretty much
998 dnl based on the machine portion of the configuration name, and an s-
999 dnl file based on the operating system portion. However, it turns out
1000 dnl that each m/*.h file is pretty manufacturer-specific - for
1001 dnl example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
1002 dnl all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
1003 dnl machines. So we basically have to have a special case for each
1004 dnl configuration name.
1006 dnl As far as handling version numbers on operating systems is
1007 dnl concerned, make sure things will fail in a fixable way. If
1008 dnl /etc/MACHINES says nothing about version numbers, be
1009 dnl prepared to handle anything reasonably. If version numbers
1010 dnl matter, be sure /etc/MACHINES says something about it.
1012 dnl Eric Raymond says we should accept strings like "sysvr4" to mean
1013 dnl "System V Release 4"; he writes, "The old convention encouraged"
1014 dnl "confusion between `system' and `release' levels'."
1018 dnl Straightforward machine determination
1019 case "$canonical" in
1020 sparc-*-* ) machine=sparc ;;
1021 alpha*-*-* ) machine=alpha ;;
1022 vax-*-* ) machine=vax ;;
1023 mips-dec-* ) machine=pmax ;;
1024 mips-sgi-* ) machine=iris4d ;;
1025 romp-ibm-* ) machine=ibmrt ;;
1026 rs6000-ibm-aix* ) machine=ibmrs6000 ;;
1027 powerpc-ibm-aix* ) machine=ibmrs6000 ;;
1028 powerpc*-* ) machine=powerpc ;;
1029 hppa-*-* ) machine=hp800 ;;
1030 m88k-dg-* ) machine=aviion ;;
1031 m68*-sony-* ) machine=news ;;
1032 mips-sony-* ) machine=news-risc ;;
1033 clipper-* ) machine=clipper ;;
1034 arm-* ) machine=arm ;;
1035 ns32k-* ) machine=ns32000 ;;
1038 dnl Straightforward OS determination
1039 case "$canonical" in
1040 *-*-linux* ) opsys=linux ;;
1041 *-*-netbsd* ) opsys=netbsd ;;
1042 *-*-openbsd* ) opsys=openbsd ;;
1043 *-*-nextstep* ) opsys=nextstep ;;
1044 *-*-vms ) opsys=vms ;;
1047 *-dec-osf1.3 | *-dec-osf2* ) opsys=decosf1-3 ;;
1048 *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;;
1049 *-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;;
1050 *-dec-osf3* ) opsys=decosf3-1 ;;
1051 *-dec-osf4* ) opsys=decosf4-0 ;;
1054 *-*-ultrix[[0-3]].* | *-*-ultrix4.0* ) opsys=bsd4-2 ;;
1055 *-*-ultrix4.[[12]]* ) opsys=bsd4-3 ;;
1056 *-*-ultrix* ) opsys=ultrix4-3 ;;
1059 *-*-aix3.1* ) opsys=aix3-1 ;;
1060 *-*-aix3.2.5 ) opsys=aix3-2-5 ;;
1061 *-*-aix3* ) opsys=aix3-2 ;;
1062 *-*-aix4.0* ) opsys=aix4 ;;
1063 *-*-aix4.1* ) opsys=aix4-1 ;;
1064 *-*-aix4* ) opsys=aix4-2 ;;
1066 dnl Other generic OSes
1067 *-gnu* ) opsys=gnu ;;
1068 *-*-bsd4.[[01]] ) opsys=bsd4-1 ;;
1069 *-*-bsd4.2 ) opsys=bsd4-2 ;;
1070 *-*-bsd4.3 ) opsys=bsd4-3 ;;
1071 *-*-aos4.2 ) opsys=bsd4-2 ;;
1072 *-*-aos* ) opsys=bsd4-3 ;;
1073 *-*-sysv0 | *-*-sysvr0 ) opsys=usg5-0 ;;
1074 *-*-sysv2 | *-*-sysvr2 ) opsys=usg5-2 ;;
1075 *-*-sysv2.2 | *-*-sysvr2.2 ) opsys=usg5-2-2 ;;
1076 *-*-sysv3* | *-*-sysvr3* ) opsys=usg5-3 ;;
1077 *-*-sysv4.1* | *-*-sysvr4.1* )opsys=usg5-4 NON_GNU_CPP=/usr/lib/cpp ;;
1078 *-*-sysv4.[[2-9]]* | *-sysvr4.[[2-9]]* )
1079 if test -z "$NON_GNU_CPP" ; then
1080 for prog in "/usr/ccs/lib/cpp" "/lib/cpp"; do
1081 if test -f "$prog"; then NON_GNU_CPP="$prog"; break; fi
1085 *-sysv4* | *-sysvr4* ) opsys=usg5-4 ;;
1086 *-*-mach_bsd4.3* ) opsys=mach-bsd4-3 ;;
1089 case "$canonical" in
1093 case "$canonical" in
1094 i[[3-9]]86-*-netbsd*) machine=intel386 ;;
1095 hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* )
1096 dnl Yes, this is somewhat bogus.
1097 machine=hp9000s300 ;;
1098 pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;;
1099 pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;;
1105 case "${canonical}" in
1106 i386-*-openbsd*) machine=intel386 ;;
1107 m68k-*-openbsd*) machine=hp9000s300 ;;
1108 mipsel-*-openbsd*) machine=pmax ;;
1113 arm-acorn-riscix1.1* ) machine=acorn opsys=riscix1-1 ;;
1114 arm-acorn-riscix1.2* | arm-acorn-riscix ) machine=acorn opsys=riscix1-2 ;;
1116 dnl Alliant machines
1117 fx80-alliant-* ) machine=alliant4 opsys=bsd4-2 ;;
1118 i860-alliant-* ) machine=alliant-2800 opsys=bsd4-3 ;;
1121 m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;;
1124 580-amdahl-sysv* ) machine=amdahl opsys=usg5-2-2 ;;
1126 dnl Apollo, Domain/OS
1127 m68*-apollo-* ) machine=apollo opsys=bsd4-3 ;;
1129 dnl AT&T 3b2, 3b5, 3b15, 3b20
1130 we32k-att-sysv* ) machine=att3b opsys=usg5-2-2 ;;
1132 dnl AT&T 3b1 - The Mighty Unix PC!
1133 m68*-att-sysv* ) machine=7300 opsys=usg5-2-2 ;;
1136 rs6000-bull-bosx* ) machine=ibmrs6000 opsys=aix3-2 ;; # dpx20
1137 m68*-bull-sysv3* ) machine=dpx2 opsys=usg5-3 ;; # dpx2
1138 m68*-bull-sysv2* ) machine=sps7 opsys=usg5-2 ;; # sps7
1140 dnl CCI 5/32, 6/32 -- see "Tahoe".
1143 celerity-celerity-bsd* ) machine=celerity opsys=bsd4-2 ;;
1146 *-convex-bsd* | *-convex-convexos* )
1147 machine=convex opsys=bsd4-3
1148 NON_GNU_CPP="cc -E -P"
1152 i[[3-9]]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;;
1154 dnl Data General AViiON Machines
1155 i586-dg-dgux*R4* | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;;
1156 m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) opsys=dgux5-4r3 ;;
1157 m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* ) opsys=dgux5-4r2 ;;
1158 m88k-dg-dgux* ) opsys=dgux ;;
1160 dnl Motorola Delta machines
1161 m68k-motorola-sysv* | m68000-motorola-sysv* ) machine=delta opsys=usg5-3 ;;
1162 m88k-motorola-sysv4* )
1163 dnl jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110
1164 dnl needs POSIX_SIGNALS and therefore needs usg5-4-2.
1165 dnl I hope there are not other 4.0 versions for this machine
1166 dnl which really need usg5-4 instead.
1167 machine=delta88k opsys=usg5-4-2
1169 m88k-motorola-sysv* | m88k-motorola-m88kbcs* ) machine=delta88k opsys=usg5-3 ;;
1172 m68*-dual-sysv* ) machine=dual opsys=usg5-2 ;;
1173 m68*-dual-uniplus* ) machine=dual opsys=unipl5-2 ;;
1176 ns16k-encore-bsd* ) machine=ns16000 opsys=umax ;;
1178 dnl Gould Power Node and NP1
1179 pn-gould-bsd4.2* ) machine=gould opsys=bsd4-2 ;;
1180 pn-gould-bsd4.3* ) machine=gould opsys=bsd4-3 ;;
1181 np1-gould-bsd* ) machine=gould-np1 opsys=bsd4-3 ;;
1183 dnl Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
1184 dnl as far as XEmacs is concerned).
1186 dnl Build needs to be different on 7.0 and later releases
1187 case "`uname -r`" in
1188 [[56]].[[0-9]] ) machine=nh4000 opsys=cxux ;;
1189 [[7]].[[0-9]] ) machine=nh4000 opsys=cxux7 ;;
1191 NON_GNU_CPP="/lib/cpp"
1193 dnl Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
1194 m68k-harris-cxux* ) machine=nh3000 opsys=cxux ;;
1195 dnl Harris power pc NightHawk running Power UNIX (Series 6000)
1196 powerpc-harris-powerunix ) machine=nh6000 opsys=powerunix NON_GNU_CPP="cc -Xo -E -P" ;;
1198 dnl Honeywell XPS100
1199 xps*-honeywell-sysv* ) machine=xps100 opsys=usg5-2 ;;
1201 dnl HP 9000 series 200 or 300
1202 m68*-hp-bsd* ) machine=hp9000s300 opsys=bsd4-3 ;;
1206 dnl Figure out machine and opsys orthogonally
1207 case "$canonical" in
1208 m68* ) machine=hp9000s300 ;;
1209 hppa* ) machine=hp800 ;;
1212 case "$canonical" in
1213 *-hp-hpux7* ) opsys=hpux ;;
1214 *-hp-hpux8* ) opsys=hpux8 ;;
1215 *-hp-hpux9* ) opsys=hpux9 ;;
1216 *-hp-hpux10* ) opsys=hpux10 ;;
1217 *-hp-hpux11* ) opsys=hpux11 ;;
1221 dnl HP has a broken "strcat"
1222 case "$opsys" in hpux9 | hpux10 ) XE_ADD_OBJS(strcat.o) ;; esac
1224 if test "$opsys" = "hpux10" -o "$opsys" = "hpux11"; then \
1225 ansi_flag="-Ae"; else ansi_flag="-Aa"; fi
1226 NON_GNU_CC="cc $ansi_flag" NON_GNU_CPP="cc $ansi_flag -E"
1228 case "$canonical" in *-hp-hpux*shr* ) opsys="${opsys}-shr" ;; esac
1232 orion-orion-bsd* ) machine=orion opsys=bsd4-2 ;;
1233 clipper-orion-bsd* ) machine=orion105 opsys=bsd4-2 ;;
1236 i[[3-9]]86-ibm-aix1.1* ) machine=ibmps2-aix opsys=usg5-2-2 ;;
1237 i[[3-9]]86-ibm-aix1.[[23]]* | i[[3-9]]86-ibm-aix* ) machine=ibmps2-aix opsys=usg5-3 ;;
1238 i370-ibm-aix*) machine=ibm370aix opsys=usg5-3 ;;
1239 romp-ibm-aos* ) opsys=bsd4-3 ;;
1240 romp-ibm-bsd* ) opsys=bsd4-3 ;;
1241 romp-ibm-mach* ) opsys=mach-bsd4-3 ;;
1243 dnl Integrated Solutions "Optimum V"
1244 m68*-isi-bsd4.2* ) machine=isi-ov opsys=bsd4-2 ;;
1245 m68*-isi-bsd4.3* ) machine=isi-ov opsys=bsd4-3 ;;
1247 dnl Intel 386 machines where we do care about the manufacturer
1248 i[[3-9]]86-intsys-sysv* ) machine=is386 opsys=usg5-2-2 ;;
1251 i[[3-9]]86-prime-sysv* ) machine=i386 opsys=usg5-3 ;;
1253 dnl Sequent Symmetry running Dynix
1254 i[[3-9]]86-sequent-bsd* ) machine=symmetry opsys=bsd4-3 ;;
1256 dnl Sequent Symmetry running DYNIX/ptx
1257 i[[3-9]]86-sequent-ptx* ) machine=sequent-ptx opsys=ptx NON_GNU_CPP="/lib/cpp" ;;
1259 dnl Unspecified sysv on an ncr machine defaults to svr4.2.
1260 dnl (Plain usg5-4 does not turn on POSIX signals, which we need.)
1261 i[[3-9]]86-ncr-sysv* ) machine=ncr386 opsys=usg5-4-2 ;;
1263 dnl Intel Paragon OSF/1
1264 i860-intel-osf1* ) machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp ;;
1267 i860-*-sysv4* ) machine=i860 opsys=usg5-4 NON_GNU_CC="/bin/cc" NON_GNU_CPP="/usr/ccs/lib/cpp" ;;
1269 dnl Masscomp machines
1270 m68*-masscomp-rtu* ) machine=masscomp opsys=rtu ;;
1272 dnl Megatest machines
1273 m68*-megatest-bsd* ) machine=mega68 opsys=bsd4-2 ;;
1275 dnl Workstations sold by MIPS
1276 dnl This is not necessarily all workstations using the MIPS processor -
1277 dnl Irises are produced by SGI, and DECstations by DEC.
1278 mips-mips-usg* ) machine=mips4 ;;
1281 NON_GNU_CC="cc -systype bsd43"
1282 NON_GNU_CPP="cc -systype bsd43 -E"
1283 case "$canonical" in
1284 mips-mips-riscos4* ) opsys=bsd4-3 ;;
1285 mips-mips-riscos5* ) opsys=riscos5 ;;
1288 mips-mips-bsd* ) machine=mips opsys=bsd4-3 ;;
1289 mips-mips-* ) machine=mips opsys=usg5-2-2 ;;
1292 m68*-next-* | m68k-*-nextstep* ) machine=m68k opsys=nextstep ;;
1294 dnl The complete machine from National Semiconductor
1295 ns32k-ns-genix* ) machine=ns32000 opsys=usg5-2 ;;
1298 m68*-ncr-sysv2* | m68*-ncr-sysvr2* ) machine=tower32 opsys=usg5-2-2 ;;
1299 m68*-ncr-sysv3* | m68*-ncr-sysvr3* ) machine=tower32v3 opsys=usg5-3 ;;
1301 dnl Nixdorf Targon 31
1302 m68*-nixdorf-sysv* ) machine=targon31 opsys=usg5-2-2 ;;
1305 m68*-nu-sysv* ) machine=nu opsys=usg5-2 ;;
1308 m68*-plexus-sysv* ) machine=plexus opsys=usg5-2 ;;
1310 dnl Pyramid machines
1311 pyramid-pyramid-bsd* ) machine=pyramid opsys=bsd4-2 ;;
1314 ns32k-sequent-bsd4.2* ) machine=sequent opsys=bsd4-2 ;;
1315 ns32k-sequent-bsd4.3* ) machine=sequent opsys=bsd4-3 ;;
1318 mips-siemens-sysv* | mips-sni-sysv*)
1319 machine=mips-siemens opsys=usg5-4
1320 NON_GNU_CC=/usr/ccs/bin/cc
1321 NON_GNU_CPP=/usr/ccs/lib/cpp
1327 NON_GNU_CC=/usr/ccs/bin/cc
1328 NON_GNU_CPP=/usr/ccs/lib/cpp
1331 dnl Silicon Graphics machines
1332 dnl Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
1333 m68*-sgi-iris3.5* ) machine=irist opsys=iris3-5 ;;
1334 m68*-sgi-iris3.6* | m68*-sgi-iris*) machine=irist opsys=iris3-6 ;;
1336 mips-sgi-irix3.* ) opsys=irix3-3 ;;
1337 mips-sgi-irix4.* ) opsys=irix4-0 ;;
1338 mips-sgi-irix6* ) opsys=irix6-0 ;;
1339 mips-sgi-irix5.1* ) opsys=irix5-1 ;;
1340 mips-sgi-irix5.2* ) opsys=irix5-2 ;;
1341 mips-sgi-irix5.* ) opsys=irix5-3 ;;
1342 mips-sgi-irix* ) opsys=irix5-0 ;;
1345 *-sony-newsos[[34]]* | *-sony-news[[34]]* ) opsys=bsd4-3 ;;
1346 *-sony-news* ) opsys=newsos5 ;;
1349 m68*-stride-sysv* ) machine=stride opsys=usg5-2 ;;
1352 *-*-solaris* | *-*-sunos* | *-sun-mach* | *-sun-bsd* )
1354 case "$canonical" in
1355 m68*-sunos1* ) machine=sun1 ;;
1356 m68*-sunos2* ) machine=sun2 ;;
1357 m68* ) machine=sun3 ;;
1358 i*86*-sun-sunos[[34]]* ) machine=sun386 ;;
1359 i*86-*-* ) machine=intel386 ;;
1360 rs6000* ) machine=rs6000 ;;
1363 dnl Make $canonical even more so.
1364 case "$canonical" in *-sunos5*)
1365 canonical=`echo $canonical | sed -e s/sunos5/solaris2/`;;
1368 dnl On SunOS 4, use /usr/lib/cpp, sans dynodump, /bin/ranlib
1369 dnl On SunOS 5, use cc -E, need dynodump, RANLIB not needed
1370 dnl But, SunOS 5.6 no longer needs dynodump because it has a similar
1371 dnl function integrated.
1372 case "$canonical" in
1374 #test -f /usr/lib/cpp && NON_GNU_CPP=/usr/lib/cpp ;;
1377 #test -f /usr/ccs/lib/cpp && NON_GNU_CPP=/usr/ccs/lib/cpp
1381 case "$canonical" in
1384 os_release=`uname -r | sed -e 's/^\([[0-9]]\)\.\([[0-9]]\).*/\1\2/'`
1385 AC_DEFINE_UNQUOTED(OS_RELEASE, $os_release) ;;
1387 dnl The last Sun386 ran 4.0.
1388 i*86-*-sunos4* ) opsys=sunos4-0 ;;
1389 *-sunos4.0* ) opsys=sunos4-0 ;;
1390 *-sunos4.1.2* ) opsys=sunos4-1-2 ;;
1391 *-sunos4.1.3* ) opsys=sunos4-1-3 ;;
1392 *-sunos4.1.[[4-9]]* ) opsys=sunos4-1-4 ;;
1393 *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
1394 *-mach* ) opsys=mach-bsd4-3 ;;
1398 case "$canonical" in *-sunos4*shr* ) opsys="${opsys}-shr" ;; esac
1400 dnl Watch out for a compiler guaranteed not to work.
1401 test "$opsys $CC" = "sol2 /usr/ucb/cc" && CC=""
1405 m68*-tadpole-sysv* ) machine=tad68k opsys=usg5-3 ;;
1408 tahoe-tahoe-bsd4.2* ) machine=tahoe opsys=bsd4-2 ;;
1409 tahoe-tahoe-bsd4.3* ) machine=tahoe opsys=bsd4-3 ;;
1411 dnl Tandem Integrity S2
1412 mips-tandem-sysv* ) machine=tandem-s2 opsys=usg5-3 ;;
1415 m88k-tektronix-sysv3* ) machine=tekxd88 opsys=usg5-3 ;;
1417 dnl Tektronix 16000 box (6130?)
1418 ns16k-tektronix-bsd* ) machine=ns16000 opsys=bsd4-2 ;;
1420 dnl src/m/tek4300.h hints that this is a m68k machine.
1421 m68*-tektronix-bsd* ) machine=tek4300 opsys=bsd4-3 ;;
1424 titan-titan-sysv* ) machine=titan opsys=usg5-3 ;;
1426 dnl Ustation E30 (SS5E)
1427 m68*-unisys-uniplus* ) machine=ustation opsystem=unipl5-2 ;;
1431 case "$canonical" in
1432 *-sysv[[01]]* | *-sysvr[[01]]* ) opsys=usg5-0 ;;
1433 *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;;
1434 *-mach* ) opsys=mach-bsd4-3 ;;
1439 ns16k-whitechapel-* ) machine=mg1 ;;
1442 m68*-wicat-sysv* ) machine=wicat opsys=usg5-2 ;;
1444 dnl Intel 386 machines where we do not care about the manufacturer
1447 case "$canonical" in
1448 *-isc1.* | *-isc2.[[01]]* ) opsys=386-ix ;;
1449 *-isc2.2* ) opsys=isc2-2 ;;
1450 *-isc4.0* ) opsys=isc4-0 ;;
1451 *-isc4.* ) opsys=isc4-1
1452 GCC_TEST_OPTIONS=-posix
1453 NON_GCC_TEST_OPTIONS=-Xp
1455 *-isc* ) opsys=isc3-0 ;;
1456 *-esix5* ) opsys=esix5r4 NON_GNU_CPP=/usr/lib/cpp ;;
1457 *-esix* ) opsys=esix ;;
1458 *-mach* ) opsys=mach-bsd4-3 ;;
1459 *-xenix* ) opsys=xenix ;;
1460 *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;;
1461 *-bsd386* | *-bsdi1* ) opsys=bsd386 ;;
1462 *-bsdi4* ) opsys=bsdos4 ;;
1463 *-bsdi3* ) opsys=bsdos3 ;;
1464 *-bsdi2.1* ) opsys=bsdos2-1 ;;
1465 *-bsdi2* ) opsys=bsdos2 ;;
1466 *-sco3.2v5* ) opsys=sco5 ;
1467 dnl This is a pain. Like the current USL cc, SCO cc -E
1468 dnl tokenizes as it preprocesses, making configure very
1469 dnl unhappy. Unfortunately, /lib/cpp does not understand
1470 dnl flags like "-b elf", so we have to cheat in order to
1471 dnl pick up the right defines for UNEXEC from the s-file.
1472 dnl 01/05/95 robertl@dgii.com
1473 if test "$dynamic" = "yes" ; then
1474 NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE -D_SCO_ELF" ;
1476 NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ;
1478 *-386bsd* ) opsys=386bsd ;;
1479 *-freebsd* ) opsys=freebsd ;;
1480 *-nextstep* ) opsys=nextstep ;;
1481 *-pc-cygwin* ) opsys=cygwin32 ;;
1482 *-pc-mingw* ) opsys=mingw32 ;
1483 test -z "$with_tty" && with_tty="no";;
1484 dnl Otherwise, we fall through to the generic opsys code at the bottom.
1489 m68k-*-linux* ) machine=m68k opsys=linux ;;
1493 if test -z "$machine" -o -z "$opsys"; then
1494 (echo "$progname: XEmacs hasn't been ported to \`$canonical' systems."
1495 echo "$progname: Check \`etc/MACHINES' for recognized configuration names."
1500 if test -z "$dynamic"; then
1502 hpux* | sunos4* ) dynamic=no ;;
1506 if test "$dynamic" = "yes"; then
1508 hpux* | sunos4* | sco5 ) opsys="${opsys}-shr" ;;
1509 decosf* ) ld_call_shared="-call_shared" ;;
1511 else dnl "$dynamic" = "no"
1514 echo "Static linking is not supported on Solaris 2."
1515 echo "Rerun configure without specifying --dynamic=no."
1517 linux ) ld_call_shared="-Bstatic" ;;
1518 decosf* ) ld_call_shared="-non_shared" ;;
1522 dnl Use xlc by default on AIX
1523 case "$opsys" in aix*) NON_GNU_CC=xlc ;; esac
1525 stack_trace_eye_catcher=`echo ${PROGNAME}_${version}_${canonical} | sed 'y/.-/__/'`
1526 AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher)
1528 machfile="m/${machine}.h"
1529 opsysfile="s/${opsys}.h"
1531 dnl --------------------------------------------------
1532 dnl Determine the compiler, set up for feature testing
1533 dnl --------------------------------------------------
1535 dnl Sun Development environment support
1536 test "$with_sparcworks" = "yes" && with_workshop=yes # compatibility alias
1537 XE_CHECK_FEATURE_DEPENDENCY(workshop, tooltalk)
1538 if test "$with_workshop" = "yes"; then
1540 XE_ADD_OBJS(sunpro.o)
1543 if test "$with_clash_detection" = "yes"; then
1544 AC_DEFINE(CLASH_DETECTION)
1545 XE_ADD_OBJS(filelock.o)
1548 dnl Choose a compiler from (in order)
1549 dnl --compiler, env var CC, with_gcc=no && ${NON_GNU_CC:-cc}, AC_PROG_CC
1550 test -n "$compiler" && CC="$compiler"
1551 if test "$with_gcc" = "no"; then dnl Try to find a non-gcc compiler
1552 case "$CC" in "" | *gcc* ) CC="${NON_GNU_CC-cc}" ;; esac
1555 dnl If we don't set CFLAGS here, AC_PROG_CC will set it.
1556 dnl But we know better what's good for us, so we do our own
1557 dnl computation of real CFLAGS later.
1558 dnl --cflags overrides environment variable CFLAGS
1559 test "${cflags-unset}" != unset && CFLAGS="$cflags"
1560 if test "${CFLAGS-unset}" != unset
1561 then cflags_specified=yes;
1562 else cflags_specified=no;
1565 xe_save_CFLAGS="$CFLAGS"
1567 AC_PROG_CC dnl Autoconf has its own magic for compiler autodetection
1569 dnl Retry using random guesswork if AC_PROG_CC got it wrong...
1570 if test "$with_gcc" = "no" -a "$GCC" = "yes"; then
1573 elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; then
1577 CFLAGS="$xe_save_CFLAGS"
1579 dnl Figure out what C preprocessor to use.
1581 dnl On Sun systems, people sometimes set up the variable CPP
1582 dnl with a value that is a directory, not an executable at all.
1583 dnl Detect that case, and ignore that value.
1584 test -n "$CPP" -a -d "$CPP" && CPP=
1586 test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP"
1592 AC_MSG_CHECKING(for GNU libc)
1593 AC_TRY_COMPILE([#include <features.h>],[
1594 #if ! (defined __GLIBC__ || defined __GNU_LIBRARY__)
1595 #error Not a GNU libc system :-(
1596 ******* ======= ******** &&&&&&&&
1598 ], have_glibc=yes, have_glibc=no)
1599 AC_MSG_RESULT($have_glibc)
1600 dnl I'm tired of pop being broken with GLIBC -slb
1601 dnl Well. then why not fix fucking pop?
1602 test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE)
1605 dnl Identify compilers to enable compiler-specific hacks.
1606 dnl Add support for other compilers HERE!
1607 dnl GCC is already identified elsewhere.
1608 AC_TRY_RUN([int main () {
1609 #if defined __SUNPRO_C
1611 #elif defined __DECC
1617 [case "$conftest_rc" in
1618 11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
1619 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;;
1623 dnl case "$canonical" in
1624 dnl *-sun-sunos* ) test "$CPP" = "acc -E" && CPP="acc -E -Xs" ;;
1627 dnl --------------------------------------------------------------------
1628 dnl Extract some information from the operating system and machine files
1629 dnl --------------------------------------------------------------------
1631 echo "Extracting information from the machine- and system-dependent headers..."
1633 dnl It is not important that this name contain the PID; you cannot run
1634 dnl two configures in the same directory and have anything work
1636 tempcname="conftest.c"
1638 dnl CPP_to_sh(CPP_SYMBOL, SH_VAR, DEFAULT_VALUE)
1641 [#]define [$1]ifelse([$3],,, [ "$3"])
1643 configure___ [$2]=[$1]
1646 dnl CPP_boolean_to_sh(CPP_SYMBOL, SH_VAR)
1647 define([CPP_boolean_to_sh],
1649 configure___ [$2]=yes
1651 configure___ [$2]=no
1653 ])dnl CPP_boolean_to_sh
1655 cat > $tempcname <<EOF
1657 #define C_SWITCH_SITE
1658 #define C_SWITCH_X_SITE
1659 #define LD_SWITCH_SITE
1660 #define LD_SWITCH_X_SITE
1661 #define LD_SWITCH_X_SITE_AUX
1662 #define OS_RELEASE $os_release
1663 #include "$srcdir/src/$opsysfile"
1664 #include "$srcdir/src/$machfile"
1666 CPP_to_sh(LIBS_MACHINE, libs_machine)
1667 CPP_to_sh(LIBS_SYSTEM, libs_system)
1668 CPP_to_sh(LIBS_TERMCAP, libs_termcap)
1669 CPP_to_sh(LIB_STANDARD, libs_standard)
1671 CPP_to_sh(OBJECTS_MACHINE, objects_machine)
1672 CPP_to_sh(OBJECTS_SYSTEM, objects_system)
1674 CPP_to_sh(C_SWITCH_MACHINE, c_switch_machine)
1675 CPP_to_sh(C_SWITCH_SYSTEM, c_switch_system)
1677 CPP_to_sh(LD_SWITCH_MACHINE, ld_switch_machine)
1678 CPP_to_sh(LD_SWITCH_SYSTEM, ld_switch_system)
1680 CPP_to_sh(UNEXEC, unexec, unexec.o)
1682 CPP_to_sh(LD_SWITCH_SHARED, ld_switch_shared, -c)
1684 #ifdef ORDINARY_LINK
1685 #define LD "\$(CC) \$(CFLAGS)"
1686 #else /* no ORDINARY LINK */
1687 #ifdef COFF_ENCAPSULATE
1688 #define LD "\$(CC) -nostdlib"
1689 #else /* not COFF_ENCAPSULATE */
1692 #else /* ! defined (LINKER) */
1694 #endif /* ! defined (LINKER) */
1695 #endif /* ! defined (COFF_ENCAPSULATE) */
1696 #endif /* not ORDINARY_LINK */
1699 CPP_to_sh(LIB_GCC, lib_gcc)
1700 CPP_to_sh(LD_TEXT_START_ADDR, ld_text_start_addr)
1702 #if ! defined (ORDINARY_LINK) && !defined (START_FILES)
1704 #ifdef COFF_ENCAPSULATE
1705 #define START_FILES "pre-crt0.o /usr/local/lib/gcc-crt0.o"
1706 #else /* ! defined (COFF_ENCAPSULATE) */
1707 #define START_FILES "pre-crt0.o /lib/crt0.o"
1708 #endif /* ! defined (COFF_ENCAPSULATE) */
1709 #else /* ! defined (NO_REMAP) */
1710 #define START_FILES "ecrt0.o"
1711 #endif /* ! defined (NO_REMAP) */
1712 #endif /* no ORDINARY_LINK */
1716 configure___ start_files=START_FILES
1718 CPP_boolean_to_sh(ORDINARY_LINK, ordinary_link)
1719 CPP_boolean_to_sh(SYSTEM_MALLOC, system_malloc)
1720 CPP_boolean_to_sh(TERMINFO, have_terminfo)
1721 CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock)
1722 CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf)
1723 CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes)
1726 dnl The value of CPP is a quoted variable reference, so we need to do this
1727 dnl to get its actual value...
1728 CPP=`eval "echo $CPP $CPPFLAGS"`
1731 eval `$CPP -Isrc $tempcname \
1732 | sed -n -e "s/[ TAB]*=[ TAB\"]*/='/" -e "s/[ TAB\"]*\$/'/" -e "s/^configure___//p"`
1733 changequote([, ])dnl
1737 dnl For debugging...
1738 test "$extra_verbose" = "yes" && \
1739 PRINT_VAR(libs_machine libs_system libs_termcap libs_standard
1740 objects_machine objects_system c_switch_machine c_switch_system
1741 ld_switch_machine ld_switch_system unexec ld_switch_shared
1742 ld lib_gcc ld_text_start_addr start_files ordinary_link
1743 have_terminfo mail_use_flock mail_use_lockf) && echo ""
1745 dnl Non-ordinary link usually requires -lc
1746 test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
1748 dnl Compiler-specific hacks
1749 dnl DEC C requires -std
1750 test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site)
1752 dnl Calculalate value of CFLAGS:
1753 dnl Use either command line flag, environment var, or autodetection
1754 if test "$cflags_specified" = "no"; then
1755 dnl Following values of CFLAGS are known to work well.
1756 dnl Should we take debugging options into consideration?
1757 if test "$GCC" = "yes"; then
1758 CFLAGS="-g -O3 -Wall -Wno-switch"
1759 dnl I'm not convinced this is a good idea any more. -sb
1760 dnl test "$opsys $machine" = "linux intel386" && \
1761 dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
1762 elif test "$__SUNPRO_C" = "yes"; then
1764 sol2 ) CFLAGS="-v -xO4" ;;
1765 sunos4* ) CFLAGS="-xO2";;
1767 elif test "$__DECC" = "yes"; then
1769 elif test "$CC" = "xlc"; then
1770 CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
1771 dnl ### Add optimal CFLAGS support for other compilers HERE!
1773 CFLAGS="-O" ;dnl The only POSIX-approved flag
1777 dnl Inform compiler that certain flags are meant for the linker
1778 dnl XE_PROTECT_LINKER_FLAGS(shell_var)
1779 define([XE_PROTECT_LINKER_FLAGS], [
1780 if test "$GCC" = "yes"; then
1781 set x $[$1]; shift; [$1]=""
1782 while test -n "[$]1"; do
1784 -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;;
1785 -L* | -l* | -u* | -Wl* | -pg ) [$1]="$[$1] [$]1" ;;
1787 * ) [$1]="$[$1] -Xlinker [$]1" ;;
1792 XE_PROTECT_LINKER_FLAGS(ld_switch_system)
1793 XE_PROTECT_LINKER_FLAGS(ld_switch_machine)
1794 XE_PROTECT_LINKER_FLAGS(LDFLAGS)
1795 XE_PROTECT_LINKER_FLAGS(ld_call_shared)
1797 dnl Add s&m-determined objects (including unexec) to link line
1798 test -n "$objects_machine" && XE_ADD_OBJS($objects_machine)
1799 test -n "$objects_system" && XE_ADD_OBJS($objects_system)
1800 test -n "$unexec" && XE_ADD_OBJS($unexec)
1802 dnl Dynodump (Solaris 2.x, x<6)
1803 AC_MSG_CHECKING(for dynodump)
1804 if test "$unexec" != "unexsol2.o"; then
1809 XE_APPEND(dynodump, MAKE_SUBDIR)
1810 XE_APPEND(dynodump, SRC_SUBDIR_DEPS)
1812 sparc ) dynodump_arch=sparc ;;
1813 *86* ) dynodump_arch=i386 ;;
1814 powerpc ) dynodump_arch=ppc ;;
1816 dnl Dynodump requires the system linker
1817 test "$GCC" = "yes" && XE_APPEND(-fno-gnu-linker, ld_switch_site)
1820 dnl Feed s&m crud to src/Makefile
1822 dnl Linux/powerpc needs the following magic for some reason
1823 test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
1825 if test "$unexec" = "unexaix.o"; then
1826 dnl AIX needs various hacks to make static linking work.
1827 if test "$dynamic" = "no"; then
1828 start_flags="-Wl,-bnso,-bnodelcsect"
1829 test "$GCC" = "yes" && start_flags="-B/bin/ ${start_flags}"
1830 for f in "/lib/syscalls.exp" "/lib/threads.exp"; do
1831 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; fi
1833 for f in "/usr/lpp/X11/bin/smt.exp" "/usr/bin/X11/smt.exp"; do
1834 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; break; fi
1836 AC_CHECK_LIB(C, terminateAndUnload, XE_APPEND(-lC, libs_system))
1838 elif test -n "$ld_text_start_addr"; then
1839 start_flags="-T $ld_text_start_addr -e __start"
1841 AC_SUBST(start_flags)
1843 AC_SUBST(ld_switch_shared)
1844 AC_SUBST(start_files)
1845 if test "$ordinary_link" = "no" -a "$GCC" = "yes"; then
1846 test -z "$linker" && linker='$(CC) -nostdlib'
1847 test -z "$lib_gcc" && lib_gcc='`$(CC) -print-libgcc-file-name`'
1849 test "$GCC" != "yes" && lib_gcc=
1853 dnl ---------------------------------------------------------------
1854 dnl Add site and system specific flags to compile and link commands
1855 dnl ---------------------------------------------------------------
1857 dnl Allow use of either ":" or spaces for lists of directories
1858 define(COLON_TO_SPACE,
1859 [case "$[$1]" in *:* [)] [$1]="`echo '' $[$1] | sed -e 's/^ //' -e 's/:/ /g'`";; esac])dnl
1861 dnl --site-libraries (multiple dirs)
1862 COLON_TO_SPACE(site_libraries)
1863 if test -n "$site_libraries"; then
1864 for arg in $site_libraries; do
1867 * ) test -d "$arg" || \
1868 XE_DIE("Invalid site library \`$arg': no such directory")
1871 XE_APPEND($arg, ld_switch_site)
1875 dnl --site-includes (multiple dirs)
1876 COLON_TO_SPACE(site_includes)
1877 if test -n "$site_includes"; then
1878 for arg in $site_includes; do
1881 * ) test -d "$arg" || \
1882 XE_DIE("Invalid site include \`$arg': no such directory")
1885 XE_APPEND($arg, c_switch_site)
1889 dnl --site-prefixes (multiple dirs)
1890 dnl --site-prefixes=dir1:dir2 is a convenient shorthand for
1891 dnl --site-libraries=dir1/lib:dir2/lib --site-includes=dir1/include:dir2/include
1892 dnl Site prefixes take precedence over the standard places, but not over
1893 dnl site-includes and site-libraries.
1894 COLON_TO_SPACE(site_prefixes)
1895 if test -n "$site_prefixes"; then
1896 for dir in $site_prefixes; do
1897 lib_dir="${dir}/lib"
1898 inc_dir="${dir}/include"
1899 if test ! -d "$dir"; then
1900 XE_DIE("Invalid site prefix \`$dir': no such directory")
1901 elif test ! -d "$lib_dir"; then
1902 XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'")
1904 if test -d "$inc_dir"; then
1905 XE_APPEND("-I$inc_dir", c_switch_site)
1907 XE_APPEND("-L$lib_dir", ld_switch_site)
1912 dnl GNU software installs by default into /usr/local/{include,lib}
1913 dnl if test -d "/usr/local/include" -a -d "/usr/local/lib"; then
1914 dnl XE_APPEND("-L/usr/local/lib", ld_switch_site)
1915 dnl XE_APPEND("-I/usr/local/include", c_switch_site)
1918 dnl Extra system-specific library directories - please add to list
1919 for dir in "/usr/ccs/lib"; do
1920 test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_site)
1923 dnl --site-runtime-libraries (multiple dirs)
1924 COLON_TO_SPACE(site_runtime_libraries)
1925 if test -n "$site_runtime_libraries"; then
1926 LD_RUN_PATH="`echo $site_runtime_libraries | sed -e 's/ */:/g'`"
1930 dnl -------------------------------------
1931 dnl Compute runtime library path
1932 dnl -------------------------------------
1934 if test "$dynamic" = "no"; then add_runtime_path=no
1935 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
1936 else case "$opsys" in
1937 sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
1938 * ) add_runtime_path=no ;;
1942 if test "$add_runtime_path" = "yes"; then
1943 dnl Try to autodetect runtime library flag (usually -R),
1944 dnl and whether it works (or at least does no harm)
1945 AC_MSG_CHECKING("for runtime libraries flag")
1947 sol2 ) dash_r="-R" ;;
1948 decosf* | linux* | irix*) dash_r="-rpath " ;;
1951 for try_dash_r in "-R" "-R " "-rpath "; do
1952 xe_check_libs="${try_dash_r}/no/such/file-or-directory"
1953 XE_PROTECT_LINKER_FLAGS(xe_check_libs)
1954 AC_TRY_LINK(, , dash_r="$try_dash_r")
1956 test -n "$dash_r" && break
1959 if test -n "$dash_r";
1960 then AC_MSG_RESULT("\"${dash_r}\"")
1961 else AC_MSG_RESULT(NONE)
1965 xe_add_unique_runpath_dir='
1967 for xe_dir in $runpath_dirs; do dnl Uniquify
1968 test "$xe_dir" = "$xe_runpath_dir" && xe_add_p=no
1970 if test "$xe_add_p" = "yes"; then
1971 test -n "$runpath" && runpath="${runpath}:"
1972 runpath="${runpath}${xe_runpath_dir}"
1973 runpath_dirs="$runpath_dirs $xe_runpath_dir"
1977 dnl XE_ADD_RUNPATH_DIR(directory)
1978 define([XE_ADD_RUNPATH_DIR],[{
1980 dnl PRINT_VAR(ld_switch_site ld_switch_x_site runpath xe_runpath_dir LD_RUN_PATH xe_ldflags)
1981 test "$xe_runpath_dir" != "/lib" -a \
1982 "$xe_runpath_dir" != "/usr/lib" -a \
1983 -n "`ls ${xe_runpath_dir}/*.s[[ol]] 2>/dev/null`" && \
1984 eval "$xe_add_unique_runpath_dir"
1987 dnl XE_COMPUTE_RUNPATH()
1988 define([XE_COMPUTE_RUNPATH],[
1989 if test "$add_runtime_path" = "yes" -a -n "$dash_r"; then
1990 dnl Remove runtime paths from current ld switches
1991 ld_switch_site=`echo '' $ld_switch_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"`
1992 ld_switch_x_site=`echo '' $ld_switch_x_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"`
1993 dnl PRINT_VAR(ld_switch_site ld_switch_x_site)
1995 dnl Fix up Runtime path
1996 dnl If LD_RUN_PATH is set in environment, use that.
1997 dnl In this case, assume user has set the right value.
1998 runpath="" runpath_dirs=""
1999 if test -n "$LD_RUN_PATH"; then
2000 runpath="$LD_RUN_PATH"
2001 elif test "$GCC" = "yes"; then
2002 dnl Compute runpath from gcc's -v output
2003 ld_switch_run_save="$ld_switch_run"; ld_switch_run=""
2004 echo "int main(int argc, char *argv[[]]) {return 0;}" > conftest.c
2005 xe_runpath_link='${CC-cc} -o conftest -v $CFLAGS '"$xe_ldflags"' conftest.$ac_ext 2>&1 1>/dev/null'
2006 for arg in `eval "$xe_runpath_link" | grep ' -L'`; do
2007 case "$arg" in P,* | -L* | -R* )
2008 for dir in `echo '' "$arg" | sed -e 's:^ ::' -e 's/^..//' -e 'y/:/ /'`; do
2009 XE_ADD_RUNPATH_DIR("$dir")
2013 ld_switch_run="$ld_switch_run_save"
2016 dnl Add all directories with .so files to runpath
2017 for arg in $ld_switch_site $ld_switch_x_site; do
2018 case "$arg" in -L*) XE_ADD_RUNPATH_DIR(`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'`);; esac
2020 dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available
2021 if test "$opsys $need_motif" = "sol2 yes"; then
2022 xe_runpath_dir="/opt/SUNWdt/lib";
2023 eval "$xe_add_unique_runpath_dir";
2025 fi dnl Compute $runpath
2027 if test -n "$runpath"; then
2028 ld_switch_run="${dash_r}${runpath}"
2029 XE_PROTECT_LINKER_FLAGS(ld_switch_run)
2030 test "$extra_verbose" = "yes" && echo "Setting runpath to $runpath"
2034 XE_COMPUTE_RUNPATH()
2039 dnl -----------------------------------
2040 dnl Do some misc autoconf-special tests
2041 dnl -----------------------------------
2043 dnl Do the opsystem or machine files prohibit the use of the GNU malloc?
2044 dnl Assume not, until told otherwise.
2046 if test "$with_dlmalloc" != "no"; then
2051 after_morecore_hook_exists=yes
2052 AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
2053 AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
2054 AC_MSG_CHECKING(whether __after_morecore_hook exists)
2055 AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
2056 [AC_MSG_RESULT(yes)],
2058 after_morecore_hook_exists=no])
2059 if test "$system_malloc" = "yes" ; then
2062 (The GNU allocators don't work with this system configuration)."
2063 elif test "$with_system_malloc" = "yes" ; then
2066 (User chose not to use GNU allocators)."
2067 elif test "$with_debug_malloc" = "yes" ; then
2070 (User chose to use Debugging Malloc)."
2073 if test "$doug_lea_malloc" = "yes" ; then
2074 if test "$GNU_MALLOC" = yes ; then
2076 (Using Doug Lea's new malloc from the GNU C Library.)"
2078 AC_DEFINE(DOUG_LEA_MALLOC)
2079 if test "$after_morecore_hook_exists" = "no" ; then
2081 (Using Doug Lea's new malloc from the Linux C Library.)"
2082 AC_DEFINE(_NO_MALLOC_WARNING_)
2084 use_minimal_tagbits=yes
2087 dnl #### mcheck is broken in all versions of Linux libc and glibc.
2088 dnl Try this again when 2.1 hits the streets.
2089 dnl Avoid using free-hook.c if support exists for malloc debugging in libc
2090 dnl have_libmcheck=no
2091 dnl if test "$error_check_malloc" = "yes" -a \
2092 dnl "$have_glibc" = "yes" -a \
2093 dnl "$doug_lea_malloc" = "yes"; then
2094 dnl AC_CHECK_HEADERS(mcheck.h)
2095 dnl AC_CHECK_LIB(mcheck, mcheck, have_libmcheck=yes, have_libmcheck=no)
2098 dnl if test "$have_libmcheck" = "yes"; then
2099 dnl AC_DEFINE(HAVE_LIBMCHECK)
2100 dnl libmcheck=-lmcheck
2101 dnl AC_SUBST(libmcheck)
2104 dnl Some other nice autoconf tests. If you add a test here which
2105 dnl should make an entry in src/config.h, do not forget to add an
2106 dnl #undef clause to src/config.h.in for autoconf to modify.
2112 dnl checks for header files
2113 AC_CHECK_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h)
2114 AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h cygwin/version.h)
2115 AC_CHECK_HEADERS(kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
2121 dnl Some systems have utime.h but do not declare the struct anyplace.
2122 AC_MSG_CHECKING(for struct utimbuf)
2123 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
2124 #include <sys/time.h>
2127 #ifdef HAVE_SYS_TIME_H
2128 #include <sys/time.h>
2135 #endif], [static struct utimbuf x; x.actime = x.modtime;],
2137 AC_DEFINE(HAVE_STRUCT_UTIMBUF)],
2140 dnl checks for typedefs
2148 AC_MSG_CHECKING(for struct timeval)
2149 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
2150 #include <sys/time.h>
2153 #ifdef HAVE_SYS_TIME_H
2154 #include <sys/time.h>
2158 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
2161 AC_DEFINE(HAVE_TIMEVAL)],
2165 dnl checks for structure members
2169 dnl checks for compiler characteristics
2172 dnl check for Make feature
2175 dnl check byte order
2178 dnl define SIZEOF_TYPE
2179 AC_CHECK_SIZEOF(short)
2180 if test "$ac_cv_sizeof_short" = 0; then
2182 echo "*** PANIC *** Configure tests are not working - compiler is broken."
2183 echo "*** PANIC *** Please examine config.log for compilation errors."
2186 AC_CHECK_SIZEOF(int)
2187 AC_CHECK_SIZEOF(long)
2188 AC_CHECK_SIZEOF(long long)
2189 AC_CHECK_SIZEOF(void *)
2191 dnl check for long file names
2192 AC_SYS_LONG_FILE_NAMES
2194 dnl -lm is required by LISP_FLOAT_TYPE, among other things
2195 AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin))
2197 dnl Floating operation support is now unconditional
2198 AC_DEFINE(LISP_FLOAT_TYPE)
2200 AC_TRY_LINK([#include <math.h>],
2201 [return atanh(1.0) + asinh(1.0) + acosh(1.0); ],
2202 AC_DEFINE(HAVE_INVERSE_HYPERBOLIC))
2204 dnl Determine type of mail locking from configure args and s&m headers
2205 AC_CHECKING(type of mail spool file locking)
2206 test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock
2207 test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf
2208 if test "$mail_locking" = "lockf"; then AC_DEFINE(REAL_MAIL_USE_LOCKF)
2209 elif test "$mail_locking" = "flock"; then AC_DEFINE(REAL_MAIL_USE_FLOCK)
2210 else mail_locking="dot-locking"
2213 case "$opsys" in decosf*)
2214 AC_CHECK_LIB(pthreads, cma_open)
2215 test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
2216 c_switch_site="$c_switch_site -threads" ;;
2219 AC_MSG_CHECKING(whether the -xildoff compiler flag is required)
2220 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then
2221 if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ;
2222 then AC_MSG_RESULT(no);
2223 else AC_MSG_RESULT(yes); XE_APPEND(-xildoff, ld_switch_site)
2225 else AC_MSG_RESULT(no)
2228 dnl Link with "-z ignore" on Solaris if supported
2229 if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then
2230 AC_MSG_CHECKING(for \"-z ignore\" linker flag)
2231 case "`ld -h 2>&1`" in
2232 *-z\ ignore\|record* ) AC_MSG_RESULT(yes)
2233 XE_PREPEND(-z ignore, ld_switch_site) ;;
2234 *) AC_MSG_RESULT(no) ;;
2238 dnl ----------------------
2239 dnl Choose a window system
2240 dnl ----------------------
2242 AC_CHECKING("for specified window system")
2244 if test "$with_x11" != "no"; then
2245 dnl User-specified --x-includes or --x-libraries implies --with-x11.
2246 test "$x_includes $x_libraries" != "NONE NONE" && \
2247 window_system=x11 with_x11=yes
2249 dnl Autodetection of X11 libraries and includes
2250 dnl -------------------------------------------
2251 dnl AC_PATH_XTRA thinks it can find our X headers and includes, but
2252 dnl it often gets it wrong, so we only use it as a last resort.
2254 dnl $OPENWINHOME implies --x-includes and --x-libraries
2255 dnl Not (yet) handled by autoconf2
2256 if test "$x_includes $x_libraries" = "NONE NONE" \
2257 -a -n "$OPENWINHOME" \
2258 -a "$OPENWINHOME" != "/usr/openwin" \
2259 -a -d "$OPENWINHOME"; then
2260 test -d "$OPENWINHOME/lib" && x_libraries="$OPENWINHOME/lib"
2261 test -d "$OPENWINHOME/include" && x_includes="$OPENWINHOME/include"
2262 test -d "$OPENWINHOME/share/include" && x_includes="$OPENWINHOME/share/include"
2265 if test "$x_includes" = "NONE"; then
2266 dnl AC_PATH_XTRA often guesses /usr/include, when some other
2267 dnl include directory is a MUCH better guess (Linux, HP-UX 10.20).
2268 dnl This is a workaround for idiot (esp. HP) system vendors, who
2269 dnl provide a /usr/include/X11, but DON'T FULLY POPULATE IT.
2270 for dir in "/usr/X11" "/usr/X11R6"; do
2271 if test -d "$dir/include/X11"; then x_includes="$dir/include"; break; fi
2275 if test "$x_libraries" = "NONE"; then
2276 for dir in "/usr/X11/lib" "/usr/X11R6/lib" "/usr/lib/X11R6"; do
2277 if test -r "$dir/libX11.a"; then x_libraries="$dir"; break; fi
2281 AC_PATH_XTRA # Autoconf claims to find X library and include dirs for us.
2282 if test "$no_x" = "yes"
2283 then with_x11=no window_system=none HAVE_X_WINDOWS=no
2284 else with_x11=yes window_system=x11 HAVE_X_WINDOWS=yes
2289 yes ) window_system=x11 HAVE_X_WINDOWS=yes ;;
2290 no ) window_system=none HAVE_X_WINDOWS=no ;;
2293 if test "$with_x11" = "yes"; then
2294 AC_DEFINE(HAVE_X_WINDOWS)
2295 XE_APPEND(lwlib, MAKE_SUBDIR)
2296 XE_APPEND(lwlib, SRC_SUBDIR_DEPS)
2298 dnl Try to find Motif/CDE/Tooltalk dirs
2299 dnl These take precedence over other X libs/includes, so PRE-pend
2300 for lib_dir in "/usr/dt/lib" "/usr/lib/Motif2.1" "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do
2301 inc_dir=`echo $lib_dir | sed -e 's/lib/include/'`
2302 if test -d "$lib_dir" -a -d "$inc_dir"; then
2303 case "$x_libraries" in *"$lib_dir"* ) ;; *)
2304 x_libraries="$lib_dir $x_libraries"
2305 XE_PREPEND(-L${lib_dir}, X_LIBS) ;;
2307 case "$x_includes" in "$inc_dir"* ) ;; *)
2308 x_includes="$inc_dir $x_includes"
2309 XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;;
2311 break; dnl only need ONE Motif implementation!
2315 dnl Contrib X libs/includes do NOT take precedence, so AP-pend
2316 for rel in "X11R6" "X11R5" "X11R4"; do
2317 lib_dir="/usr/contrib/$rel/lib" inc_dir="/usr/contrib/$rel/include"
2318 if test -d "$lib_dir" -a -d "$inc_dir"; then
2319 case "$x_libraries" in *"$lib_dir"* ) ;; *)
2320 x_libraries="$x_libraries $lib_dir"
2321 XE_APPEND(-L${lib_dir}, X_LIBS)
2323 case "$x_includes" in "$inc_dir"* ) ;; *)
2324 x_includes="$x_includes $inc_dir"
2325 XE_APPEND(-I${inc_dir}, X_CFLAGS)
2327 break; dnl Only need ONE X11 implementation !
2331 dnl Avoid version mismatch for shared library libXm.so on osf4
2332 if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi
2334 ld_switch_x_site="$X_LIBS"
2336 XE_COMPUTE_RUNPATH()
2338 if test "$extra_verbose" = "yes"; then
2339 echo; echo "X11 compilation variables:"
2340 PRINT_VAR(x_libraries x_includes X_CFLAGS X_LIBS X_PRE_LIBS X_EXTRA_LIBS)
2344 dnl Set up bitmaps search path.
2345 dnl The original suggestion was to unconditionally to append X11/bitmaps
2346 dnl to each element of $x_includes, I'm pretty sure this is the wrong
2347 dnl thing to do. We test for bitmaps and X11/bitmaps directories on each
2348 dnl element and add them to BITMAPDIR if they exist.
2350 if test "$x_includes" != NONE; then
2351 for i in $x_includes; do
2352 if test -d "$i/bitmaps"; then
2353 bitmapdirs="$i/bitmaps:$bitmapdirs"
2355 if test -d "$i/X11/bitmaps"; then
2356 bitmapdirs="$i/X11/bitmaps:$bitmapdirs"
2359 bitmapdirs=`echo "$bitmapdirs" | sed s/.$//`
2361 test ! -z "$bitmapdirs" && AC_DEFINE_UNQUOTED(BITMAPDIR, "$bitmapdirs")
2363 dnl Autodetect defines extracted from X config by xmkmf, e.g. NARROWPROTO
2364 AC_CHECKING(for X defines extracted by xmkmf)
2366 if mkdir conftestdir; then
2368 cat > Imakefile <<'EOF'
2370 @echo ${PROTO_DEFINES} ${STD_DEFINES}
2372 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
2373 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
2374 xmkmf_defines=`${MAKE-make} xetest 2>/dev/null | grep -v make`
2378 for word in $xmkmf_defines; do
2381 -D* ) word=`echo '' $word | sed -e 's:^ *-D::'`
2382 AC_DEFINE_UNQUOTED($word) ;;
2387 dnl make sure we can find Intrinsic.h
2388 AC_CHECK_HEADER(X11/Intrinsic.h, ,
2389 [AC_MSG_ERROR("Unable to find X11 header files.")])
2391 dnl -lXt and -lX11 are required
2392 dnl Some broken systems require the magic "-b i486-linuxaout" flag
2393 AC_CHECK_LIB(X11, XOpenDisplay, have_lib_x11=yes)
2394 if test "$have_lib_x11" != "yes"; then
2395 AC_CHECK_LIB(X11, XGetFontProperty,
2396 ld_switch_x_site="-b i486-linuxaout $ld_switch_x_site",
2397 [AC_MSG_ERROR("Unable to find X11 libraries.")],
2401 test "$extra_verbose" = "yes" && echo " Setting libs_x to \"-lX11\""
2403 dnl Autodetect -lXext
2404 AC_CHECK_LIB(Xext, XShapeSelectInput, XE_PREPEND(-lXext, libs_x))
2407 AC_CHECK_LIB(Xt, XtOpenDisplay, XE_PREPEND(-lXt, libs_x),
2408 AC_MSG_ERROR("Unable to find X11 libraries."))
2410 AC_MSG_CHECKING(the version of X11 being used)
2411 AC_TRY_RUN([#include <X11/Intrinsic.h>
2412 int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }],
2413 [./conftest foobar; x11_release=$?],[x11_release=4],[x11_release=4])
2414 AC_MSG_RESULT(R${x11_release})
2415 AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
2417 AC_CHECK_HEADERS(X11/Xlocale.h)
2419 dnl remove this - we should avoid checking for specific OS
2420 AC_MSG_CHECKING(for XFree86)
2421 if test -d "/usr/X386/include" -o \
2422 -f "/etc/XF86Config" -o \
2423 -f "/etc/X11/XF86Config" -o \
2424 -f "/usr/X11R6/lib/X11/XF86Config"; then
2426 AC_DEFINE(HAVE_XFREE386)
2431 dnl autodetect -lXmu
2432 test -z "$with_xmu" && { AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile,
2433 with_xmu=yes, with_xmu=no) }
2434 if test "$with_xmu" = "no"; then
2437 XE_PREPEND(-lXmu, libs_x)
2441 dnl Autodetect -lXbsd
2442 dnl #### Someone, please add a better function than main
2443 AC_CHECK_LIB(Xbsd, main, XE_PREPEND(-lXbsd, libs_x))
2445 dnl Problem with the MIT distribution of X on AIX
2446 if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then
2447 dnl X11R6 requires thread-safe code on AIX for some reason
2448 if test "$GCC" = "yes"; then
2449 XE_PREPEND(-mthreads, X_CFLAGS)
2450 XE_PREPEND(-mthreads, libs_x)
2453 "xlc" ) CC="xlc_r" ;;
2454 "xlC" ) CC="xlC_r" ;;
2460 fi dnl $with_x11 = yes
2462 if test "$with_msw" != "no"; then
2463 AC_CHECKING(for MS-Windows)
2464 AC_CHECK_LIB(gdi32,main,with_msw=yes)
2465 if test "$with_msw" = "yes"; then
2466 AC_DEFINE(HAVE_MS_WINDOWS)
2467 install_pp="$blddir/lib-src/installexe.sh"
2468 XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32, libs_system)
2469 test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
2470 if test "$window_system" != x11; then
2472 test "$with_scrollbars" != "no" && with_scrollbars=msw \
2473 && XE_ADD_OBJS(scrollbar-msw.o)
2474 test "$with_menubars" != "no" && with_menubars=msw \
2475 && XE_ADD_OBJS(menubar-msw.o)
2476 test "$with_toolbars" != "no" && with_toolbars=msw \
2477 && XE_ADD_OBJS(toolbar-msw.o)
2478 test "$with_dialogs" != "no" && with_dialogs=msw \
2479 && XE_ADD_OBJS(dialog-msw.o)
2481 test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-msw.o)
2482 test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-msw.o)
2483 test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-msw.o)
2484 test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-msw.o)
2486 dnl check for our special version of select
2487 AC_TRY_RUN([#include <fcntl.h>
2488 int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }],
2489 [AC_DEFINE(HAVE_MSG_SELECT)])
2491 with_file_coding=yes
2492 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)
2496 AC_SUBST(install_pp)
2498 test -z "$window_system" && window_system="none"
2500 dnl Test for features that require a window system - ANY window system
2501 if test "$window_system" = "none"; then
2502 for feature in menubars scrollbars toolbars dialogs dragndrop xface
2504 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
2505 AC_MSG_WARN([--with-$feature ignored: Not valid without window system support])
2507 eval "with_${feature}=no"
2510 test -z "$with_toolbars" && with_toolbars=yes
2513 dnl ### Test for features that require mswindows support - currently none
2514 dnl ### MS-Windows folks: add code here..... (martin)
2515 if test "$with_msw" != "yes"; then
2516 for feature in MARTIN_IS_CLUELESS_ABOUT_MSW_FEATURES
2518 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
2519 AC_MSG_WARN([--with-$feature ignored: Not valid without MS-Windows support])
2521 eval "with_${feature}=no"
2527 dnl Test for features that require X11 support
2528 if test "$with_x11" != "yes"; then
2529 dnl It ought to be reasonable to have no output device at all, and only use
2530 dnl XEmacs in --batch mode.
2531 dnl if test "$with_tty" = "no" ; then
2532 dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
2534 for feature in tooltalk cde offix wmcommand xim xmu
2536 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
2537 AC_MSG_WARN([--with-$feature ignored: Not valid without X support])
2539 eval "with_${feature}=no"
2543 dnl FSF 19.29 has some bitmapdir stuff here.
2546 case "$window_system" in
2547 x11 ) HAVE_X_WINDOWS=yes; echo " Using X11." ;;
2548 msw ) HAVE_X_WINDOWS=no ; echo " Using MS-Windows." ;;
2549 none ) HAVE_X_WINDOWS=no ; echo " Using no window system." ;;
2552 case "$x_libraries" in *X11R4* )
2553 test "$opsys" = "hpux9" && opsysfile="s/hpux9-x11r4.h"
2554 test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h"
2557 dnl Enable or disable proper handling of WM_COMMAND
2558 AC_CHECKING(for WM_COMMAND option);
2559 dnl if test "$with_wmcommand" = "yes"; then
2560 if test "$with_wmcommand" != "no"; then
2561 AC_DEFINE(HAVE_WMCOMMAND)
2564 dnl Autodetect Xauth
2565 dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
2566 test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
2567 test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
2568 test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no) }
2569 test -z "$with_xauth" && with_xauth=yes
2570 if test "$with_xauth" = "yes"; then
2571 AC_DEFINE(HAVE_XAUTH)
2572 XE_SPACE(libs_xauth, $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS)
2574 AC_SUBST(libs_xauth)
2576 dnl This one is for the static initializeds variables in
2577 dnl offix.c, so that the thing is dumped after lastfile.o
2580 dnl Autodetect tooltalk
2581 if test "$with_tooltalk" != "no" ; then
2582 dnl autodetect the location of tt_c.h
2583 dnl tt_c.h might be in Tt or desktop include directories
2584 for dir in "" "Tt/" "desktop/" ; do
2585 AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break)
2587 if test -z "$tt_c_h_path"; then
2588 if test "$with_tooltalk" = "yes"; then
2589 USAGE_ERROR("Unable to find required tooltalk header files.")
2594 if test "$with_tooltalk" != "no" ; then
2595 for extra_libs in "" "-lI18N -lce" "-lcxx"; do
2596 AC_CHECK_LIB(tt, tt_message_create,
2597 tt_libs="-ltt $extra_libs"; break, [:],$extra_libs)
2599 if test -z "$tt_libs"; then
2600 if test "$with_tooltalk" = "yes"; then
2601 USAGE_ERROR("Unable to find required tooltalk libraries.")
2606 test -z "$with_tooltalk" && with_tooltalk=yes
2607 if test "$with_tooltalk" = "yes"; then
2609 AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path")
2610 XE_PREPEND($tt_libs, libs_x)
2611 XE_ADD_OBJS(tooltalk.o)
2615 test -z "$with_cde" && { AC_CHECK_HEADER(Dt/Dt.h, , with_cde=no) }
2616 test -z "$with_cde" && { AC_CHECK_LIB(DtSvc, DtDndDragStart, [:], with_cde=no) }
2617 test -z "$with_cde" && with_cde=yes
2618 if test "$with_dragndrop" = no; then
2619 AC_MSG_WARN([No CDE without generic Drag'n'Drop support])
2622 if test "$with_cde" = "yes" ; then
2624 XE_PREPEND(-lDtSvc, libs_x)
2625 XE_APPEND(CDE, dragndrop_proto)
2626 with_tooltalk=yes # CDE requires Tooltalk
2627 need_motif=yes # CDE requires Motif
2630 dnl Always compile OffiX unless --without-offix is given, no
2631 dnl X11 support is compiled in, no standard Xmu is available,
2632 dnl or dragndrop support is disabled
2633 dnl Because OffiX support currently loses when more than one display
2634 dnl is in use, we now disable it by default -slb 07/10/1998.
2635 test "$window_system" != "x11" && with_offix=no
2636 if test "$with_xmu" != yes -a "$with_x11" = yes; then
2637 AC_MSG_WARN([No OffiX without real Xmu support])
2640 if test "$with_dragndrop" = no; then
2641 AC_MSG_WARN([No OffiX without generic Drag'n'Drop support])
2644 if test "$with_cde" = yes; then
2645 AC_MSG_WARN([CDE already found, disabling OffiX support])
2648 test -z "$with_offix" && with_offix=no
2649 if test "$with_offix" = "yes"; then
2650 AC_DEFINE(HAVE_OFFIX_DND)
2651 XE_APPEND(offix.o, dnd_objs)
2652 XE_APPEND(OffiX, dragndrop_proto)
2655 dnl Autodetect Drag'n'Drop support
2656 dnl always included if CDE, Offix, or MSWindows are defined
2657 AC_MSG_CHECKING(if drag and drop API is needed)
2658 if test "$with_dragndrop" != "no" ; then
2659 if test -n "$dragndrop_proto" ; then
2661 AC_MSG_RESULT([yes (${dragndrop_proto} )])
2662 AC_DEFINE(HAVE_DRAGNDROP)
2663 XE_APPEND(dragdrop.o, extra_objs)
2671 AC_CHECKING(for LDAP)
2672 test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) }
2673 test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) }
2674 if test "$with_ldap" != "no"; then
2675 test -z "$with_umich_ldap" && { AC_CHECK_LIB(ldap, ldap_open, with_umich_ldap=yes, with_umich_ldap=no, -llber) }
2676 test "$with_umich_ldap" = "no" && { AC_CHECK_LIB(ldap10, ldap_set_option, with_ns_ldap=yes, with_ns_ldap=no) }
2677 test -z "$with_ldap" -a \( "$with_umich_ldap" = "yes" -o "$with_ns_ldap" = "yes" \) && with_ldap=yes
2679 if test "$with_ldap" = "yes"; then
2680 AC_DEFINE(HAVE_LDAP)
2681 XE_ADD_OBJS(eldap.o)
2682 if test "$with_umich_ldap" = "yes" ; then
2683 AC_DEFINE(HAVE_UMICH_LDAP)
2684 XE_PREPEND(-llber, LIBS)
2685 XE_PREPEND(-lldap, LIBS)
2686 elif test "$with_ldap" = "yes" -a "$with_ns_ldap" = "yes" ; then
2687 AC_DEFINE(HAVE_NS_LDAP)
2688 XE_PREPEND(-lldap10, LIBS)
2689 elif test "$with_ldap" = "yes" ; then
2690 XE_PREPEND(-lldap, LIBS)
2694 dnl ----------------------
2695 dnl Graphics libraries
2696 dnl ----------------------
2698 if test "$window_system" != "none"; then
2699 AC_CHECKING(for graphics libraries)
2703 if test -z "$with_xpm"; then
2704 AC_MSG_CHECKING(for Xpm - no older than 3.4f)
2706 AC_TRY_RUN([#include <X11/xpm.h>
2707 int main(int c, char **v) {
2709 XpmIncludeVersion != XpmLibraryVersion() ? 1 :
2710 XpmIncludeVersion < 30406 ? 2 : 0 ;}],
2711 [./conftest dummy_arg; xpm_status=$?;
2712 if test "$xpm_status" = "0"; then
2716 if test "$xpm_status" = "1"; then
2717 xpm_problem="Xpm library version and header file version don't match!"
2718 elif test "$xpm_status" = "2"; then
2719 xpm_problem="Xpm library version is too old!"
2721 xpm_problem="Internal xpm detection logic error!"
2724 *** WARNING *** $xpm_problem
2725 I'm not touching that with a 10-foot pole!
2726 If you really want to use the installed version of Xpm, rerun
2727 configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
2731 AC_MSG_RESULT($with_xpm)
2733 if test "$with_xpm" = "yes"; then
2735 XE_PREPEND(-lXpm, libs_x)
2736 AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
2738 AC_TRY_LINK(, [XpmCreatePixmapFromData()],
2742 AC_MSG_RESULT($xpm_for_msw)
2743 if test "$xpm_for_msw" = "yes"; then
2748 dnl Autodetect XFACE
2749 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
2750 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
2751 test -z "$with_xface" && with_xface=yes
2752 if test "$with_xface" = "yes"; then
2753 AC_DEFINE(HAVE_XFACE)
2754 XE_PREPEND(-lcompface, libs_x)
2757 dnl For a brief period we had the GIF code split out into a separate library,
2758 dnl but patent problems, etc. sort of squashed that idea.
2759 dnl We default to building with builtin GIF decoding
2760 if test "$with_gif" != "no"; then
2763 XE_ADD_OBJS(dgif_lib.o gif_io.o)
2766 dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime
2767 dnl So we always search for libz compression support.
2768 if test "$with_png $with_tiff" != "no no"; then
2769 AC_CHECK_LIB(c, inflate, [:], [
2770 AC_CHECK_LIB(z, inflate, [XE_PREPEND(-lz, libs_x)],[
2771 AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])])
2775 test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) }
2776 test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) }
2777 test -z "$with_jpeg" && with_jpeg=yes
2778 if test "$with_jpeg" = "yes"; then
2779 AC_DEFINE(HAVE_JPEG)
2780 XE_PREPEND(-ljpeg, libs_x)
2785 test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) }
2786 test -z "$with_png" && { AC_CHECK_HEADER(png.h, ,with_png=no) }
2787 test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no) }
2788 if test -z "$with_png"; then
2789 AC_MSG_CHECKING(for workable png version information)
2790 xe_check_libs="-lpng -lz"
2791 AC_TRY_RUN([#include <png.h>
2792 int main(int c, char **v) {
2793 if (c == 1) return 0;
2794 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
2795 return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}],
2796 [./conftest dummy_arg; png_status=$?;
2797 if test "$png_status" = "0"; then
2801 if test "$png_status" = "1"; then
2802 png_problem="PNG library version and header file don't match!"
2803 elif test "$png_status" = "2"; then
2804 png_problem="PNG library version too old (pre 1.0.2)!"
2807 *** WARNING *** $png_problem
2808 I'm not touching that with a 10-foot pole!
2809 If you really want to use the installed version of libPNG, rerun
2810 configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
2814 AC_MSG_RESULT($with_png)
2816 if test "$with_png" = "yes"; then
2818 XE_PREPEND(-lpng, libs_x)
2822 test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) }
2823 test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFClientOpen,[:],with_tiff=no) }
2824 test -z "$with_tiff" && with_tiff=yes
2825 if test "$with_tiff" = "yes"; then
2826 AC_DEFINE(HAVE_TIFF)
2827 XE_PREPEND(-ltiff, libs_x)
2831 dnl ----------------------
2832 dnl X-Specific Graphics libraries
2833 dnl ----------------------
2835 if test "$with_x11" = "yes"; then
2837 AC_CHECKING(for X11 graphics libraries)
2839 dnl Autodetect -lXaw
2840 AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no)
2841 dnl if test "$have_xaw" = "yes"; then
2842 dnl AC_CHECK_HEADER(X11/Xaw/Reports.h, [
2843 dnl XE_APPEND(pkg-src/tree-x, MAKE_SUBDIR)
2844 dnl XE_APPEND(pkg-src/tree-x, INSTALL_ARCH_DEP_SUBDIR)])
2847 dnl autodetect Motif - but only add to libs_x later (if necessary)
2848 AC_CHECK_HEADER(Xm/Xm.h,
2849 [AC_CHECK_LIB(Xm, XmStringFree, have_motif=yes, have_motif=no)],
2852 if test "$have_motif" = "yes"; then
2853 dnl autodetect lesstif
2854 AC_MSG_CHECKING(for Lesstif)
2857 #ifdef LESSTIF_VERSION
2860 ], have_lesstif=yes, have_lesstif=no)
2861 AC_MSG_RESULT($have_lesstif)
2864 fi dnl "$with_x11" = "yes"
2866 dnl Finish ensuring that we have values for the various toolkit items.
2867 dnl Not all toolkits support all widgets
2868 dnl if Motif is available we use it for the dialog boxes.
2870 case "$with_menubars" in "" | "yes" | "athena" | "athena3d" )
2871 with_menubars="lucid" ;;
2873 case "$with_dialogs" in "" | "yes" | "lucid" )
2874 if test "$have_motif" = "yes"; then with_dialogs="motif"
2875 elif test "$have_xaw" = "yes"; then with_dialogs="athena"
2876 else with_dialogs=no
2879 case "$with_scrollbars" in "" | "yes" )
2880 with_scrollbars="lucid" ;;
2883 all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars"
2885 case "$all_widgets" in *athena* )
2886 AC_DEFINE(LWLIB_USES_ATHENA)
2887 AC_DEFINE(NEED_ATHENA)
2888 XE_APPEND(lwlib-Xaw.o, lwlib_objs)
2889 XE_PREPEND(-lXaw, libs_x) ;;
2892 case "$all_widgets" in *motif* )
2893 AC_DEFINE(LWLIB_USES_MOTIF)
2894 AC_DEFINE(NEED_MOTIF)
2895 XE_APPEND(lwlib-Xm.o, lwlib_objs)
2899 test "$with_menubars" = "lucid" && XE_APPEND(xlwmenu.o, lwlib_objs)
2900 test "$with_menubars" = "motif" && XE_APPEND(xlwmenu.o, lwlib_objs)
2901 test "$with_scrollbars" = "lucid" && XE_APPEND(xlwscrollbar.o, lwlib_objs)
2902 case "$all_widgets" in *lucid* )
2903 AC_DEFINE(NEED_LUCID)
2904 XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;;
2907 AC_SUBST(lwlib_objs)
2909 case "$with_scrollbars" in athena* ) AC_DEFINE(LWLIB_SCROLLBARS_ATHENA);; esac
2910 case "$with_dialogs" in athena* ) AC_DEFINE(LWLIB_DIALOGS_ATHENA) ;; esac
2911 test "$with_scrollbars" = "athena3d" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
2912 test "$with_dialogs" = "athena3d" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
2914 test "$with_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS)
2915 test "$with_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS)
2916 test "$with_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS)
2917 test "$with_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS)
2919 test "$with_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID)
2920 test "$with_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID)
2922 test "$with_menubars" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF)
2923 test "$with_scrollbars" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF)
2924 test "$with_dialogs" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF)
2926 test "$with_menubars" != "no" && XE_ADD_OBJS(menubar.o)
2927 test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar.o)
2928 test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog.o)
2929 test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar.o)
2931 if test "$with_x11" = "yes"; then
2932 test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-x.o)
2933 test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-x.o)
2934 test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-x.o)
2935 test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-x.o)
2936 test "$all_widgets" != "no no no no" && XE_ADD_OBJS(gui-x.o)
2938 if test \( "$with_sound" = "nas" \) -o \( "$with_sound" = "both" \); then
2939 echo "Attempt to Build NAS sound without X"
2940 echo "Please remove NAS configuration or build with X"
2945 dnl ----------------------
2946 dnl Mule-dependent options
2947 dnl ----------------------
2949 test -z "$with_mule" && with_mule=no
2950 test -z "$with_file_coding" && with_file_coding=no
2952 dnl if test "$with_mule" = "yes" && test ! -d "$srcdir/lisp/mule"; then
2953 dnl echo "Attempt to Build with Mule without Mule/Lisp"
2954 dnl echo "Please install the XEmacs/Mule tarball or"
2955 dnl echo "rerun configure with --with-mule=no"
2959 if test "$with_file_coding" = "yes" && test "$with_mule" = "no"; then
2960 AC_DEFINE(FILE_CODING)
2961 XE_ADD_OBJS(file-coding.o)
2964 if test "$with_mule" = "yes" ; then
2965 AC_CHECKING(for Mule-related features)
2967 AC_DEFINE(FILE_CODING)
2968 XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o file-coding.o)
2970 dnl Use -lintl to get internationalized strerror for Mule
2971 AC_CHECK_HEADERS(libintl.h)
2972 AC_CHECK_LIB(intl, strerror)
2974 if test "$with_utf_2000" = "yes" ; then
2975 AC_DEFINE(CHAR_IS_UCS4)
2977 elif test "$with_ucs4" = "yes" ; then
2978 AC_DEFINE(CHAR_IS_UCS4)
2981 AC_CHECKING(for Mule input methods)
2982 dnl Do we have the XmIm* routines? And if so, do we want to use them?
2983 dnl XIM seems to be flaky except on Solaris...
2984 dnl test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no
2985 case "$with_xim" in "" | "yes" )
2986 AC_CHECKING(for XIM)
2987 AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no)
2988 dnl XIM + Lesstif is not (yet?) usable
2989 if test "$have_motif $have_lesstif" = "yes no"; then
2990 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
2993 if test "$with_xim" != "no"; then
2995 if test "$with_xim" = "xlib"; then
2997 XE_ADD_OBJS(input-method-xlib.o)
2999 if test "$with_xim" = "motif"; then
3000 AC_DEFINE(XIM_MOTIF)
3002 XE_ADD_OBJS(input-method-motif.o)
3004 if test "$with_xim" = "motif"; then
3009 dnl "with_xfs" = "yes"
3010 if test "$with_xfs" = "yes" ; then
3011 AC_CHECKING(for XFontSet)
3012 AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no)
3013 if test "$with_xfs" = "yes" && test "$with_menubars" = "lucid"; then
3014 AC_DEFINE(USE_XFONTSET)
3015 if test "$with_xim" = "no" ; then
3016 XE_ADD_OBJS(input-method-xfs.o)
3022 test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
3023 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) }
3024 dnl Detour to find crypt
3025 if test "$with_wnn" != "no"; then
3026 AC_CHECK_FUNCS(crypt)
3027 test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) }
3029 dnl Back to our regularly scheduled wnn hunting
3030 if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
3031 AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn,
3032 AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4,
3033 AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6,
3034 AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no))))
3036 test -z "$with_wnn" && with_wnn=yes
3037 if test "$with_wnn" = "yes"; then
3039 XE_PREPEND(-l$libwnn, libs_x)
3040 XE_ADD_OBJS(mule-wnnfns.o)
3041 if test "$with_wnn6" != "no"; then
3042 AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes)
3043 test "$with_wnn6" = "yes" && AC_DEFINE(WNN6)
3047 dnl Autodetect canna
3048 canna_includes_found=no
3049 if test "$with_canna" != "no"; then
3050 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
3052 if test "$canna_includes_found" = "no" -a "$with_canna" != "no" -a \
3053 -d "/usr/local/canna/include"; then
3054 save_c_switch_site="$c_switch_site"
3055 c_switch_site="$c_switch_site -I/usr/local/canna/include"
3056 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
3057 if test "$canna_includes_found" != "yes"; then
3058 c_switch_site="$save_c_switch_site"
3063 test -z "$with_canna" && { AC_CHECK_HEADER(canna/RK.h, , with_canna=no) }
3064 test -z "$with_canna" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],with_canna=no) }
3065 test -z "$with_canna" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],with_canna=no) }
3066 test -z "$with_canna" && with_canna=yes
3067 if test "$with_canna" = "yes"; then
3068 AC_DEFINE(HAVE_CANNA)
3069 XE_PREPEND(-lcanna -lRKC, libs_x)
3070 XE_ADD_OBJS(mule-canna.o)
3073 else dnl "$with_mule" = "no"
3074 for feature in xim canna wnn; do
3075 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
3076 AC_MSG_WARN("--with-${feature} ignored: Not valid without Mule support")
3078 eval "with_${feature}=no"
3083 dnl At this point, we know whether we need the motif lib or not.
3084 if test "$need_motif" = "yes" ; then
3085 XE_PREPEND(-lXm, libs_x)
3086 dnl AIX needs the following library for use with Motif
3087 AC_CHECK_LIB(i18n, layout_object_getvalue, [XE_PREPEND(-li18n, libs_x)])
3088 XE_COMPUTE_RUNPATH()
3091 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)
3093 dnl realpath is buggy on linux, decosf and aix4
3095 dnl The realpath() in linux libc (4.6.27) sometimes fails with ELOOP.
3096 dnl The realpath in ELF linux libc's is O.K.
3097 dnl For example, call realpath on a file thirty-five or so directories deep
3098 dnl and you get ELOOP even if no symlinks at all are involved.
3099 dnl Reports as of 11/1997 indicate BSDi has problems too.
3100 dnl The realpath() in UnixWare2.1.3 could not get any pathname fragment in error condition.
3102 linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) XE_ADD_OBJS(realpath.o) ;;
3104 case "$canonical" in
3105 *-*-sysv4.2uw2* ) XE_ADD_OBJS(realpath.o) ;;
3106 * ) AC_CHECK_FUNCS(realpath)
3107 test "$ac_cv_func_realpath" != "yes" && XE_ADD_OBJS(realpath.o) ;;
3111 dnl Check whether the system provides getloadavg (Solaris 7 has it)
3112 AC_CHECK_FUNCS(getloadavg)
3114 if test "$ac_cv_func_getloadavg" != "yes"
3116 XE_ADD_OBJS(getloadavg.o)
3118 dnl Used by getloadavg() - does not require root priveleges
3119 AC_CHECK_LIB(kstat, kstat_open)
3121 dnl Another way to get the load average
3122 AC_CHECK_LIB(kvm, kvm_read)
3125 dnl If netdb.h does not declare h_errno, we must declare it by hand.
3126 AC_MSG_CHECKING(whether netdb declares h_errno)
3127 AC_TRY_LINK([#include <netdb.h>],
3130 AC_DEFINE(HAVE_H_ERRNO)],
3131 [AC_MSG_RESULT(no)])
3133 AC_MSG_CHECKING(for sigsetjmp)
3134 AC_TRY_COMPILE([#include <setjmp.h>],
3135 [sigjmp_buf bar; sigsetjmp (bar, 0);],
3137 AC_DEFINE(HAVE_SIGSETJMP)],
3138 [AC_MSG_RESULT(no)])
3140 AC_MSG_CHECKING(whether localtime caches TZ)
3141 AC_CACHE_VAL(emacs_cv_localtime_cache,
3142 [if test "$ac_cv_func_tzset" = "yes"; then
3143 AC_TRY_RUN([#include <time.h>
3145 # include <stdlib.h>
3147 extern char **environ;
3151 for (to = from = environ; (*to = *from); from++)
3152 if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '='))
3155 char TZ_GMT0[] = "TZ=GMT0";
3156 char TZ_PST8[] = "TZ=PST8";
3159 time_t now = time ((time_t *) 0);
3160 int hour_GMT0, hour_unset;
3161 if (putenv (TZ_GMT0) != 0)
3163 hour_GMT0 = localtime (&now)->tm_hour;
3165 hour_unset = localtime (&now)->tm_hour;
3166 if (putenv (TZ_PST8) != 0)
3168 if (localtime (&now)->tm_hour == hour_GMT0)
3171 if (localtime (&now)->tm_hour != hour_unset)
3174 }], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
3175 [# If we have tzset, assume the worst when cross-compiling.
3176 emacs_cv_localtime_cache=yes])
3178 # If we lack tzset, report that localtime does not cache TZ,
3179 # since we can't invalidate the cache if we don't have tzset.
3180 emacs_cv_localtime_cache=no
3182 AC_MSG_RESULT($emacs_cv_localtime_cache)
3183 if test $emacs_cv_localtime_cache = yes; then
3184 AC_DEFINE(LOCALTIME_CACHE)
3187 if test "$HAVE_TIMEVAL" = "yes"; then
3188 AC_MSG_CHECKING(whether gettimeofday accepts one or two arguments)
3190 #ifdef TIME_WITH_SYS_TIME
3191 #include <sys/time.h>
3194 #ifdef HAVE_SYS_TIME_H
3195 #include <sys/time.h>
3202 struct timeval time;
3203 struct timezone dummy;
3204 gettimeofday (&time, &dummy);
3206 [AC_MSG_RESULT(two)],
3208 AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)])
3213 if test "$ac_cv_c_inline" != "no"; then
3214 AC_DEFINE(HAVE_INLINE)
3215 test "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
3218 dnl HP-UX has a working alloca in libPW.
3219 dnl case "${GCC}${opsys}" in hpux* )
3220 dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
3224 test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
3226 dnl Check whether vfork exists and works correctly. (This does more
3227 dnl than just check for its existence.) If so, it defines HAVE_VFORK_H.
3228 dnl If not, it defines vfork to be fork.
3231 dnl Check whether strcoll exists and works correctly. (This does more
3232 dnl than just check for its existence.) If so, it defines HAVE_STRCOLL.
3235 dnl If `getpgrp' takes no argument (the POSIX.1 version), define
3236 dnl `GETPGRP_VOID'. Otherwise, it is the BSD version, which takes a
3237 dnl process ID as an argument.
3238 AC_CHECK_FUNCS(getpgrp)
3241 dnl We used to call AC_FUNC_MMAP here
3242 dnl Instead we now use following, suggested by Neal Becker
3243 AC_MSG_CHECKING(for working mmap)
3244 case "$opsys" in ultrix* ) have_mmap=no ;; *)
3245 AC_TRY_RUN([#include <stdio.h>
3248 #include <sys/mman.h>
3250 #ifndef MAP_VARIABLE
3251 #define MAP_VARIABLE 0
3255 #define MAP_FAILED -1
3258 int main (int argc, char *argv[])
3262 #ifndef MAP_ANONYMOUS
3263 fd = open ("/dev/zero", O_RDWR);
3266 #define MAP_ANONYMOUS 0
3268 if (mmap(0, 1024, PROT_READ | PROT_WRITE,
3269 MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS,
3270 fd, 0) != (void *) MAP_FAILED)
3272 perror ("conftest: mmap failed");
3274 }], have_mmap=yes, have_mmap=no) ;;
3276 AC_MSG_RESULT($have_mmap)
3277 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
3280 dnl rel_alloc requires either GNU malloc or system malloc with mmap
3281 dnl We only turn rel_alloc on by default if mmap is available.
3282 test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no
3283 test "$rel_alloc" = "default" -a "$have_mmap" = "yes" && rel_alloc=yes
3284 test "$rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC)
3286 dnl Check for terminal I/O variants
3287 dnl TERMIOS systems may have termio.h, but not vice-versa, I think.
3288 AC_CHECK_HEADER(termios.h,
3289 AC_DEFINE(HAVE_TERMIOS)
3290 AC_DEFINE(SIGNALS_VIA_CHARACTERS)
3291 AC_DEFINE(NO_TERMIO),
3292 [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])])
3295 dnl Check for Internet sockets.
3296 AC_CHECK_FUNC(socket,
3297 [AC_CHECK_HEADER(netinet/in.h,
3298 [AC_CHECK_HEADER(arpa/inet.h, [
3299 AC_DEFINE(HAVE_SOCKETS)
3300 AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
3302 #include <sys/types.h>
3303 #include <sys/socket.h>
3306 [static struct sockaddr_un x; x.sun_len = 1;],
3307 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
3308 [AC_MSG_RESULT(no)])
3309 AC_MSG_CHECKING("for ip_mreq struct in netinet/in.h")
3311 #include <sys/types.h>
3312 #include <netinet/in.h>
3314 [static struct ip_mreq x;],
3315 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MULTICAST)],
3316 [AC_MSG_RESULT(no)])])])])
3318 dnl Check for SYS V IPC. (Inferior to sockets.)
3319 AC_CHECK_FUNC(msgget,
3320 [AC_CHECK_HEADER(sys/ipc.h,
3321 [AC_CHECK_HEADER(sys/msg.h,
3322 [AC_DEFINE(HAVE_SYSVIPC)])])])
3324 dnl Check for directory variants
3325 AC_CHECK_HEADER(dirent.h, [AC_DEFINE(SYSV_SYSTEM_DIR)],
3326 [AC_CHECK_HEADER(sys/dir.h, , [AC_DEFINE(NONSYSTEM_DIR_LIBRARY)])])
3328 dnl Check for nlist.h
3329 AC_CHECK_HEADER(nlist.h, AC_DEFINE(NLIST_STRUCT), )
3331 dnl Check for sound of various sorts.
3333 dnl Autodetect native sound
3334 AC_CHECKING("for sound support")
3335 case "$with_sound" in
3336 native | both ) with_native_sound=yes;;
3337 nas | no ) with_native_sound=no;;
3339 test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes
3341 if test "$with_native_sound" != "no"; then
3342 dnl Maybe sound is already on include path...
3343 if test -n "$native_sound_lib"; then
3344 AC_CHECK_HEADER(multimedia/audio_device.h,
3345 [sound_found=yes sound_cflags=""
3346 XE_ADD_OBJS(sunplay.o)])
3349 dnl Autodetect Sun native sound from SUNWaudmo package
3350 if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then
3352 XE_ADD_OBJS(sunplay.o)
3353 if test -d "/usr/demo/SOUND/include"
3354 then sound_cflags="-I/usr/demo/SOUND/include"
3355 else sound_cflags="-I/usr/demo/SOUND"
3357 if test -z "$native_sound_lib" ; then
3358 if test -r "/usr/demo/SOUND/lib/libaudio.a"
3359 then native_sound_lib="/usr/demo/SOUND/lib/libaudio.a"
3360 else native_sound_lib="/usr/demo/SOUND/libaudio.a"
3365 dnl Check for SGI and HP native sound libs
3366 if test -z "$sound_found"; then
3367 case "$canonical" in
3369 if test -z "$native_sound_lib"; then
3370 AC_CHECK_LIB(audio, ALopenport, native_sound_lib="-laudio")
3372 if test -n "$native_sound_lib"; then
3373 sound_found=yes sound_cflags=""
3374 XE_ADD_OBJS(sgiplay.o)
3377 if test -z "$native_sound_lib"; then
3378 AC_CHECK_LIB(Alib, AOpenAudio, native_sound_lib="-lAlib")
3380 if test -n "$native_sound_lib"; then
3382 XE_ADD_OBJS(hpplay.o)
3383 if test "$GCC" = "yes" # Kludge city
3384 then sound_cflags="-Dconst= -Dvolatile= -I/usr/audio/examples"
3385 else sound_cflags="+e -I/usr/audio/examples"
3391 dnl Check for Linux/BSD native sound
3392 if test -z "$sound_found"; then
3393 for dir in "machine" "sys" "linux"; do
3394 AC_CHECK_HEADER(${dir}/soundcard.h,
3396 XE_ADD_OBJS(linuxplay.o)
3397 [AC_DEFINE_UNQUOTED(SOUNDCARD_H_PATH, "${dir}/soundcard.h")]
3402 test "$sound_found" = "yes" && with_native_sound=yes
3405 if test -z "$with_sound"; then
3406 if test "$with_native_sound" = "yes" -o -n "$native_sound_lib"; then
3411 if test "$with_native_sound" = "yes"; then
3412 AC_DEFINE(HAVE_NATIVE_SOUND)
3413 test -n "$native_sound_lib" && XE_PREPEND($native_sound_lib, LIBS)
3416 case "$with_sound" in both | nas )
3417 AC_DEFINE(HAVE_NAS_SOUND)
3419 XE_PREPEND(-laudio, libs_x)
3420 dnl If the nas library does not contain the error jump point,
3421 dnl then we force safer behavior.
3422 AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[AC_DEFINE(NAS_NO_ERROR_JUMP)])
3425 dnl ---------------------
3426 dnl TTY-dependent options
3427 dnl ---------------------
3429 test -z "$with_tty" && with_tty=yes
3431 if test "$with_tty" = "yes" ; then
3432 AC_CHECKING(for TTY-related features)
3434 XE_ADD_OBJS(console-tty.o device-tty.o event-tty.o frame-tty.o objects-tty.o redisplay-tty.o cm.o)
3436 dnl Autodetect ncurses.
3437 if test -z "$with_ncurses"; then
3438 AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no)
3440 if test "$with_ncurses" = "yes"; then
3441 AC_DEFINE(HAVE_NCURSES)
3442 AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h)
3443 AC_CHECK_HEADER(ncurses/term.h, term_h_path=ncurses/term.h)
3444 XE_ADD_OBJS(terminfo.o)
3445 XE_PREPEND(-lncurses, LIBS)
3447 if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
3448 dnl Try again, and check for the bogus ncurses/ include bug.
3449 dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of
3450 dnl <ncurses/unctrl.h>)
3451 save_c_switch_site="$c_switch_site"
3452 c_switch_site="$c_switch_site -I/usr/include/ncurses"
3453 AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h)
3454 if test "$ac_cv_header_ncurses_curses_h" = "yes"
3455 then AC_MSG_WARN("Your system has the bogus ncurses include bug.")
3456 else c_switch_site="$save_c_switch_site"
3459 else dnl "$with_ncurses" = "no"
3460 dnl Autodetect terminfo/-lcurses/-ltermlib/-ltermcap
3461 if test "$have_terminfo" = "yes"; then
3462 XE_ADD_OBJS(terminfo.o)
3463 if test -n "$libs_termcap"; then
3464 XE_PREPEND($libs_termcap, LIBS)
3466 for lib in curses termlib termcap; do
3467 AC_CHECK_LIB($lib, tgetent, XE_PREPEND(-l${lib}, LIBS); break)
3470 else dnl "$have_terminfo" = "no" && "with_ncurses" = "no"
3471 XE_ADD_OBJS(tparam.o)
3472 dnl The HP-UX curses library seems to have a badly broken version of select(2)
3473 dnl that makes "poll: interrupted system call" messages to appear and
3474 dnl Emacs suprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
3475 case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
3476 if test -n "$libs_termcap"; then
3477 XE_PREPEND($libs_termcap, LIBS)
3479 AC_CHECK_LIB(curses, tgetent, XE_PREPEND(-lcurses, LIBS),
3480 AC_CHECK_LIB(termcap, tgetent, XE_PREPEND(-ltermcap, LIBS),
3481 XE_ADD_OBJS(termcap.o)))
3485 AC_DEFINE_UNQUOTED(CURSES_H_PATH, "${curses_h_path-curses.h}")
3486 AC_DEFINE_UNQUOTED(TERM_H_PATH, "${term_h_path-term.h}")
3489 test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) }
3490 test -z "$with_gpm" && { AC_CHECK_LIB(gpm, Gpm_Open, with_gpm=yes, with_gpm=no) }
3491 if test "$with_gpm" = "yes"; then
3493 XE_ADD_OBJS(gpmevent.o)
3494 XE_PREPEND(-lgpm, LIBS)
3497 else dnl "$with_tty" = "no"
3498 for feature in ncurses gpm; do
3499 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
3500 AC_MSG_WARN("--with-${feature} ignored: Not valid without TTY support")
3502 eval "with_${feature}=no"
3506 dnl Do we need event-unixoid.o ?
3507 test "$with_x11" = "yes" -o "$with_tty" = "yes" && XE_ADD_OBJS(event-unixoid.o)
3509 dnl Database support
3510 dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
3511 dnl On FreeBSD, both DB and DBM are part of libc.
3512 dnl By default, we check for DBM support in libgdbm, then libc, then libdbm.
3514 test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
3515 != "no no no" && AC_CHECKING(for database support)
3517 dnl Check for ndbm.h, required for either kind of DBM support.
3518 if test "$with_database_gnudbm $with_database_dbm" != "no no"; then
3519 AC_CHECK_HEADER(ndbm.h, [:], [
3520 test "$with_database_gnudbm" = "yes" -o \
3521 "$with_database_dbm" = "yes" && \
3522 XE_DIE("Required DBM support cannot be provided.")
3523 with_database_gnudbm=no with_database_dbm=no])
3526 dnl Check for DBM support in libgdbm.
3527 if test "$with_database_gnudbm" != "no"; then
3528 AC_CHECK_LIB(gdbm, dbm_open, [
3529 with_database_gnudbm=yes with_database_dbm=no libdbm=-lgdbm], [
3530 if test "$with_database_gnudbm" = "yes"; then
3531 XE_DIE("Required GNU DBM support cannot be provided.")
3533 with_database_gnudbm=no])
3536 dnl Check for DBM support in libc and libdbm.
3537 if test "$with_database_dbm" != "no"; then
3538 AC_CHECK_FUNC(dbm_open, [with_database_dbm=yes libdbm=], [
3539 AC_CHECK_LIB(dbm, dbm_open, [with_database_dbm=yes libdbm=-ldbm], [
3540 test "$with_database_dbm" = "yes" && \
3541 XE_DIE("Required DBM support cannot be provided.")
3542 with_database_dbm=no])])
3545 dnl Tell make about the DBM support we detected.
3546 test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
3547 test "$with_database_gnudbm" = "yes" -o \
3548 "$with_database_dbm" = "yes" && \
3551 dnl Check for Berkeley DB.
3552 if test "$with_database_berkdb" != "no"; then
3553 AC_MSG_CHECKING(for Berkeley db.h)
3554 for path in "db/db.h" "db.h"; do
3555 AC_TRY_COMPILE([#ifdef HAVE_INTTYPES_H
3556 #define __BIT_TYPES_DEFINED__
3557 #include <inttypes.h>
3558 typedef uint8_t u_int8_t;
3559 typedef uint16_t u_int16_t;
3560 typedef uint32_t u_int32_t;
3561 #ifdef WE_DONT_NEED_QUADS
3562 typedef uint64_t u_int64_t;
3566 ],[], db_h_path="$path"; break)
3568 if test -z "$db_h_path"
3569 then AC_MSG_RESULT(no); with_database_berkdb=no
3570 else AC_MSG_RESULT($db_h_path)
3573 if test "$with_database_berkdb" != "no"; then
3574 AC_MSG_CHECKING(for Berkeley DB version)
3576 [#include <$db_h_path>
3577 #if DB_VERSION_MAJOR > 1
3580 ], [AC_MSG_RESULT(2); dbfunc=db_open], [AC_MSG_RESULT(1); dbfunc=dbopen])
3581 AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
3582 AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
3585 if test "$with_database_berkdb" = "yes"; then
3586 AC_DEFINE_UNQUOTED(DB_H_PATH, "$db_h_path")
3587 AC_DEFINE(HAVE_BERKELEY_DB)
3588 test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS)
3589 else with_database_berkdb=no
3593 if test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
3595 AC_DEFINE(HAVE_DATABASE)
3596 XE_ADD_OBJS(database.o)
3600 if test "$with_socks" = "yes"; then
3601 AC_CHECK_LIB(socks, SOCKSinit)
3602 test -n "$ac_cv_lib_socks_SOCKSinit" && AC_DEFINE(HAVE_SOCKS)
3605 dnl Usage tracking (undocumented and likely unused option)
3606 if test "$usage_tracking" = "yes"; then
3607 AC_DEFINE(USAGE_TRACKING)
3608 XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS)
3611 dnl autodetect dll support
3612 AC_CHECK_HEADERS(dlfcn.h, [have_dlfcn=yes
3613 AC_DEFINE(HAVE_DLFCN_H)])
3614 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(dl, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=dl; with_shlib=yes]) }
3615 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, _dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
3616 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
3617 test -z "$with_shlib" && { AC_CHECK_LIB(dld, shl_load, [ AC_DEFINE(HAVE_SHL_LOAD) DLL_LIB=dld; with_shlib=yes]) }
3618 test -z "$with_shlib" && { AC_CHECK_LIB(dld, dld_init, [ AC_DEFINE(HAVE_DLD_INIT) DLL_LIB=dld; with_shlib=yes]) }
3619 if test "$with_shlib" = "yes"; then
3621 if test "$can_build_shared" = "yes"; then
3622 AC_DEFINE(HAVE_SHLIB)
3623 XE_ADD_OBJS(sysdll.o)
3624 XE_ADD_OBJS(emodules.o)
3625 XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
3626 test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS)
3627 AC_CHECK_FUNCS(dlerror _dlerror)
3629 AC_MSG_WARN(disabling shared library support)
3634 dnl Unfortunately, just because we can link doesn't mean we can run.
3635 dnl One of the above link tests may have succeeded but caused resulting
3636 dnl executables to fail to run. Also any tests using AC_TRY_RUN will
3637 dnl have reported incorrect results.
3638 AC_TRY_RUN([int main(int c,char *v[]){return 0;}],[:],[
3640 echo "*** PANIC *** The C compiler can no longer build working executables."
3641 echo "*** PANIC *** Please examine the tail of config.log for runtime errors."
3642 echo "*** PANIC *** The most likely reason for this problem is that configure"
3643 echo "*** PANIC *** links with shared libraries, but those libraries cannot be"
3644 echo "*** PANIC *** found at run time."
3645 echo "*** PANIC ***"
3646 echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig."
3647 echo "*** PANIC *** On other systems, try telling configure where to find the"
3648 echo "*** PANIC *** shared libraries using the --site-runtime-libraries option"
3649 echo "*** PANIC ***"
3650 echo "*** PANIC *** Another way to shoot yourself in the foot is to specify"
3651 echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed"
3652 echo "*** PANIC *** on your system. Don't do that."
3656 if test "$win32_processes" = "yes"; then
3657 XE_ADD_OBJS(process-nt.o)
3659 AC_DEFINE(HAVE_UNIX_PROCESSES)
3660 XE_ADD_OBJS(process-unix.o)
3663 dnl --------------------------------
3664 dnl Compute SUBST-itutable variables
3665 dnl --------------------------------
3667 dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM)
3668 dnl Use XE_SPACE instead of plain assignment statements to remove extraneous blanks
3669 XE_SPACE(CFLAGS, $CFLAGS)
3670 XE_SPACE(extra_objs, $extra_objs)
3671 XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system)
3672 XE_SPACE(c_switch_window_system, $c_switch_x_site $X_CFLAGS)
3673 XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system)
3674 XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_run)
3675 XE_SPACE(ld_switch_window_system, $ld_switch_x_site)
3676 XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system)
3677 XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard)
3678 XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $X_PRE_LIBS)
3679 XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general)
3681 dnl Compute lists of Makefiles and subdirs
3682 AC_SUBST(SRC_SUBDIR_DEPS)
3683 XE_APPEND(src, MAKE_SUBDIR)
3684 internal_makefile_list="Makefile.in"
3686 test -d lock || mkdir lock
3687 for dir in $MAKE_SUBDIR; do
3688 case "$dir" in */* ) dnl Implement mkdir -p
3689 ( for d in `echo $dir | sed 's:/: :g'` ; do
3690 test -d "$d" || mkdir "$d"; cd "$d"
3692 * ) test -d "$dir" || mkdir "$dir" ;;
3694 XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile)
3695 XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in)
3697 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR)
3698 AC_SUBST(MAKE_SUBDIR)
3699 AC_SUBST(SUBDIR_MAKEFILES)
3701 dnl Make s&m symlinks in the src directory, for config.h
3702 for dir in src/s src/m; do
3703 if test ! -d "$dir" ; then
3704 echo Making symbolic link to "$srcdir/$dir"
3705 ${LN_S} "$srcdir/$dir" "$dir"
3709 if test "$extra_verbose" = "yes"; then
3711 PRINT_VAR(extra_objs
3712 c_switch_general c_switch_window_system c_switch_all
3713 ld_switch_general ld_switch_window_system ld_switch_all
3714 ld_libs_general ld_libs_window_system ld_libs_all)
3718 dnl Create some auxiliary files
3719 if test -f $srcdir/src/gdbinit -a ! -f src/gdbinit ; then
3720 echo "creating src/gdbinit"; echo ""
3721 echo "source $srcdir/src/gdbinit" > src/gdbinit
3724 dnl Create top level .sbinit for Sun compilers
3725 if test "$__SUNPRO_C" = "yes"; then
3726 echo "creating .sbinit"; echo ""
3727 ( echo "# For use with Sun WorkShop's Source browser."
3728 echo "# See sbquery(1) and sbinit(4) for more information"
3729 for dir in $MAKE_SUBDIR; do echo "import $dir"; done
3733 dnl There are no more compile tests; remove the core they created.
3736 dnl ----------------------------------------------
3737 dnl Substitute into Makefile, config.h and paths.h
3738 dnl ----------------------------------------------
3740 dnl what sort of things to edit into Makefile, config.h and paths.h
3741 dnl configuration here uncanonicalized to avoid exceeding size limits.
3745 AC_SUBST(configuration)
3756 dnl Yo, Stephen Bourne! I want to marry you!
3760 *\$* ) eval "PREFIX=$PREFIX" ;;
3766 AC_SUBST(exec_prefix)
3767 EXEC_PREFIX=$exec_prefix
3769 case "$EXEC_PREFIX" in
3770 *\$* ) eval "EXEC_PREFIX=$EXEC_PREFIX" ;;
3774 AC_SUBST(EXEC_PREFIX)
3777 AC_SUBST(INFODIR_USER_DEFINED)
3781 *\$* ) eval "INFODIR=$INFODIR" ;;
3788 AC_SUBST(INFOPATH_USER_DEFINED)
3792 *\$* ) eval "INFOPATH=$INFOPATH" ;;
3798 AC_SUBST(package_path)
3799 AC_SUBST(PACKAGE_PATH_USER_DEFINED)
3800 PACKAGE_PATH=$package_path
3802 case "$PACKAGE_PATH" in
3803 *\$* ) eval "PACKAGE_PATH=$PACKAGE_PATH" ;;
3807 AC_SUBST(PACKAGE_PATH)
3810 AC_SUBST(LISPDIR_USER_DEFINED)
3814 *\$* ) eval "LISPDIR=$LISPDIR" ;;
3821 AC_SUBST(MODULEDIR_USER_DEFINED)
3822 MODULEDIR=$moduledir
3824 case "$MODULEDIR" in
3825 *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
3831 AC_SUBST(sitelispdir)
3832 AC_SUBST(SITELISPDIR_USER_DEFINED)
3833 SITELISPDIR=$sitelispdir
3835 case "$SITELISPDIR" in
3836 *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
3840 AC_SUBST(SITELISPDIR)
3842 AC_SUBST(sitemoduledir)
3843 AC_SUBST(SITEMODULEDIR_USER_DEFINED)
3844 SITEMODULEDIR=$sitemoduledir
3846 case "$SITEMODULEDIR" in
3847 *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;;
3851 AC_SUBST(SITEMODULEDIR)
3854 AC_SUBST(ETCDIR_USER_DEFINED)
3858 *\$* ) eval "ETCDIR=$ETCDIR" ;;
3865 AC_SUBST(LOCKDIR_USER_DEFINED)
3869 *\$* ) eval "LOCKDIR=$LOCKDIR" ;;
3875 AC_SUBST(archlibdir)
3876 AC_SUBST(ARCHLIBDIR_USER_DEFINED)
3877 ARCHLIBDIR=$archlibdir
3879 case "$ARCHLIBDIR" in
3880 *\$* ) eval "ARCHLIBDIR=$ARCHLIBDIR" ;;
3884 AC_SUBST(ARCHLIBDIR)
3888 AC_SUBST(extra_objs)
3890 dnl The following flags combine all the information from:
3891 dnl - command line options (user always gets priority)
3892 dnl - user environment variables
3893 dnl - determined by configure
3894 dnl - the s&m header files (required for ellcc)
3897 AC_SUBST(c_switch_general)
3898 AC_SUBST(c_switch_window_system)
3899 AC_SUBST(c_switch_all)
3900 AC_SUBST(ld_switch_general)
3901 AC_SUBST(ld_switch_window_system)
3902 AC_SUBST(ld_switch_all)
3903 AC_SUBST(ld_libs_general)
3904 AC_SUBST(ld_libs_window_system)
3905 AC_SUBST(ld_libs_all)
3909 RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
3910 AC_SUBST(RECURSIVE_MAKE)
3912 AC_SUBST(native_sound_lib)
3913 AC_SUBST(sound_cflags)
3915 AC_SUBST(dynodump_arch)
3917 dnl Preliminary support for using a different compiler for xemacs itself.
3918 dnl Useful for building XEmacs with a C++ or 64-bit compiler.
3923 dnl The default is no
3924 if test "$with_site_lisp" = "no"; then
3925 AC_DEFINE(INHIBIT_SITE_LISP)
3927 dnl The default is yes
3928 if test "$with_site_modules" = "no"; then
3929 AC_DEFINE(INHIBIT_SITE_MODULES)
3932 XE_SPACE(ac_configure_args, $ac_configure_args)
3933 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical")
3934 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
3935 AC_DEFINE_UNQUOTED(config_machfile, "$machfile")
3936 AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
3938 dnl Following are deprecated
3941 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, $null_string)
3942 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, $null_string)
3943 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, $null_string)
3944 AC_DEFINE_UNQUOTED(LD_SWITCH_SITE, $null_string)
3945 AC_DEFINE_UNQUOTED(C_SWITCH_SITE, $null_string)
3947 dnl Note: as a general rule, *only* define things here that are not
3948 dnl autodetected. For things that are autodetected, define them
3949 dnl at the point where the autodetection occurs or would occur,
3950 dnl so that the user gets immediate feedback on the results of the
3953 if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC)
3954 elif test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC)
3955 elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC)
3956 AC_DEFINE(USE_SYSTEM_MALLOC)
3958 test "$with_i18n3" = "yes" && AC_DEFINE(I18N3)
3959 test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
3960 test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
3961 test "$no_doc_file" = "yes" && AC_DEFINE(NO_DOC_FILE)
3962 dnl test "$const_is_losing" = "yes" && AC_DEFINE(CONST_IS_LOSING)
3963 test "$with_purify" = "yes" && AC_DEFINE(PURIFY)
3964 test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY)
3965 test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP)
3966 test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS)
3967 test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD)
3968 test "$use_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE)
3970 dnl -------------------------------
3971 dnl Report on what we decided to do
3972 dnl -------------------------------
3975 dnl /etc/osversion is on SONY NEWS-OS
3976 if test -f /etc/osversion; then dnl SONY NEWS-OS
3977 echo "osversion: `cat /etc/osversion`"
3979 echo "uname -a: `uname -a`"
3982 echo "$0 $quoted_arguments"
3985 if test ! -z ${emacs_beta_version} ; then
3986 if test -z "${emacs_is_beta}" ; then
3987 xemacs_betaname=".${emacs_beta_version}"
3989 xemacs_betaname="-b${emacs_beta_version}"
3995 dnl Start stdout redirection to '| tee -a Installation'
3999 XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" configured for \`$canonical'.
4001 Where should the build process find the source code? $srcdir
4002 What installation prefix should install use? $prefix
4003 What operating system and machine description files should XEmacs use?
4004 \`$opsysfile' and \`$machfile'
4005 What compiler should XEmacs be built with? $CC $CFLAGS
4006 Should XEmacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason}
4007 Should XEmacs use the relocating allocator for buffers? $rel_alloc
4008 What window system should XEmacs use? ${window_system}"
4009 if test "$with_x11" = "yes"; then
4010 echo " Where do we find X Windows header files? $x_includes"
4011 echo " Where do we find X Windows libraries? $x_libraries"
4013 if test -n "$site_includes"; then
4014 echo " Additional header files: $site_includes"
4016 if test -n "$site_libraries"; then
4017 echo " Additional libraries: $site_libraries"
4019 if test -n "$site_prefixes"; then
4020 echo " Additional prefixes: $site_prefixes"
4022 if test -n "$runpath"; then
4023 echo " Runtime library search path: $runpath"
4025 test "$with_dnet" = yes && echo " Compiling in support for DNET."
4026 test "$with_socks" = yes && echo " Compiling in support for SOCKS."
4027 test "$with_xauth" = yes && echo " Compiling in support for XAUTH."
4028 if test "$with_xmu" != yes -a "$with_x11" = yes; then
4029 echo " No Xmu; substituting equivalent routines."
4032 if test "$with_xpm" = yes; then
4033 echo " Compiling in support for XPM images."
4034 elif test "$with_x11" = yes; then
4035 echo " --------------------------------------------------------------------"
4036 echo " WARNING: Compiling without XPM support."
4037 if test "$xpm_problem" != ""; then
4038 echo " Reason: $xpm_problem"
4040 echo " WARNING: You should strongly consider installing XPM."
4041 echo " WARNING: Otherwise toolbars and other graphics will look suboptimal."
4042 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
4043 echo " --------------------------------------------------------------------"
4045 if test "$with_png" = yes; then
4046 echo " Compiling in support for PNG image handling."
4047 elif test "$window_system" != "none"; then
4048 echo " --------------------------------------------------------------------"
4049 echo " WARNING: Compiling without PNG image support."
4050 if test "$png_problem" != ""; then
4051 echo " Reason: $png_problem"
4053 echo " WARNING: You should strongly consider installing the PNG libraries."
4054 echo " WARNING: Otherwise certain images and glyphs may not display."
4055 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
4056 echo " --------------------------------------------------------------------"
4058 test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling."
4059 test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling."
4060 test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling."
4061 test "$with_xface" = yes && echo " Compiling in support for X-Face message headers."
4062 case "$with_sound" in
4063 nas ) echo " Compiling in network sound (NAS) support." ;;
4064 native ) echo " Compiling in native sound support." ;;
4065 both ) echo " Compiling in both network and native sound support." ;;
4067 test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously."
4069 test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB."
4070 test "$with_database_dbm" = yes && echo " Compiling in support for DBM."
4071 test "$with_database_gnudbm" = yes && echo " Compiling in support for GNU DBM."
4073 test "$with_umich_ldap" = yes && echo " Compiling in support for LDAP (UMich libs)."
4074 test "$with_ns_ldap" = yes && echo " Compiling in support for LDAP (Netscape SDK)."
4075 test "$with_ldap" = yes -a "$with_umich_ldap" = no -a "$with_ns_ldap" = no && echo " Compiling in support for LDAP (Generic)."
4077 test "$with_ncurses" = yes && echo " Compiling in support for ncurses."
4078 test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)."
4080 test "$with_mule" = yes && echo " Compiling in Mule (multi-lingual) support."
4081 test "$with_file_coding" = yes && echo " Compiling in File coding support."
4082 test "$with_xim" != no && echo " Compiling in XIM (X11R5+ I18N input method) support."
4083 test "$with_xim" = motif && echo " Using Motif to provide XIM support."
4084 test "$with_xim" = xlib && echo " Using raw Xlib to provide XIM support."
4085 test "$with_xfs" = yes && echo " Using XFontSet to provide bilingual menubar."
4086 test "$with_canna" = yes && echo " Compiling in support for Canna on Mule."
4087 if test "$with_wnn" = yes; then
4088 echo " Compiling in support for the WNN input method on Mule."
4089 test "$with_wnn6" = yes && echo " Using WNN version 6."
4091 test "$with_i18n3" = yes && echo " Compiling in I18N support, level 3 (doesn't currently work)."
4093 test "$with_cde" = yes && echo " Compiling in support for CDE."
4094 test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
4095 test "$with_offix" = yes && echo " Compiling in support for OffiX."
4096 test "$with_dragndrop" = yes && echo " Compiling in EXPERIMENTAL support for Drag'n'Drop ($dragndrop_proto )."
4097 test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop."
4098 test "$with_wmcommand" != no && echo " Compiling in support for proper WM_COMMAND handling."
4099 case "$with_menubars" in
4100 lucid ) echo " Using Lucid menubars." ;;
4101 motif ) echo " Using Motif menubars."
4102 echo " *WARNING* The Motif menubar implementation is currently buggy."
4103 echo " We recommend using the Lucid menubar instead."
4104 echo " Re-run configure with --with-menubars='lucid'." ;;
4106 case "$with_scrollbars" in
4107 lucid ) echo " Using Lucid scrollbars." ;;
4108 motif ) echo " Using Motif scrollbars." ;;
4109 athena ) echo " Using Athena scrollbars." ;;
4110 athena3d ) echo " Using Athena-3d scrollbars." ;;
4112 case "$with_dialogs" in
4114 echo " Using Motif dialog boxes."
4115 if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
4116 echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher."
4117 echo " We recommend using the Athena dialog boxes instead."
4118 echo " Install libXaw and re-run configure with --with-dialogs='athena'."
4119 echo " Read the PROBLEMS file for more information."
4122 athena ) echo " Using Athena dialog boxes." ;;
4123 athena3d ) echo " Using Athena-3d dialog boxes." ;;
4125 test "$with_shlib" = "yes" && echo " Compiling in DLL support."
4126 test "$with_clash_detection" = yes && \
4127 echo " Clash detection will use \"$lockdir\" for locking files."
4128 echo " movemail will use \"$mail_locking\" for locking mail spool files."
4129 test "$with_pop" = yes && echo " Using POP for mail access."
4130 test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication."
4131 test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host."
4132 test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
4133 test "$debug" = yes && echo " Compiling in extra code for debugging."
4134 test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)."
4135 if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc" \
4136 != "no no no no no"; then
4137 echo " WARNING: ---------------------------------------------------------"
4138 echo " WARNING: Compiling in support for runtime error checking."
4139 echo " WARNING: XEmacs will run noticeably more slowly as a result."
4140 echo " WARNING: Error checking is on by default for XEmacs beta releases."
4141 echo " WARNING: ---------------------------------------------------------"
4144 ) | tee -a Installation
4145 dnl echo "The above configure report is appended to \"Installation\" file."
4148 dnl -----------------------------------
4149 dnl Now generate config.h and Makefiles
4150 dnl -----------------------------------
4151 dnl This has to be called in order for this variable to get into config.status
4152 AC_SUBST(internal_makefile_list)
4153 # Remove any trailing slashes in these variables.
4154 test -n "$prefix" &&
4155 prefix=`echo '' "$prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
4156 test -n "$exec_prefix" &&
4157 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
4159 dnl Build Makefile.in's from Makefile.in.in's
4160 dnl except ./Makefile from $srcdir/Makefile.in
4162 for file in $internal_makefile_list; do
4163 test "$file" = src/Makefile.in && \
4164 file="src/Makefile.in:src/Makefile.in.in:src/depend"
4165 ac_output_files="${ac_output_files+$ac_output_files }$file"
4167 ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
4168 if test "$with_shlib" = "yes"; then
4169 ac_output_files="$ac_output_files lib-src/ellcc.h"
4172 AC_OUTPUT($ac_output_files,
4173 [for dir in . $MAKE_SUBDIR; do
4178 sed -e '/^# Generated/d' \
4179 -e 's%/\*\*/#.*%%' \
4181 dnl Delete Makefile.in.in comment lines
4183 dnl Pass through CPP directives unchanged
4188 dnl Quote other lines to protect from CPP substitution
4195 dnl Create a GNUmakefile and Makefile from Makefile.in.
4197 changequote(<<,>>)dnl
4198 dnl CPP_MAKEFILE(CPPFLAGS,filename)
4199 define(<<CPP_MAKEFILE>>,
4200 echo creating $dir/<<$2>>
4201 $CPP -I. -I${top_srcdir}/src <<$1>> junk.c \
4202 dnl Delete line directives inserted by $CPP
4203 | sed -e 's/^\#.*//' \
4204 dnl Delete spurious blanks inserted by $CPP
4205 -e 's/^[ TAB][ TAB]*$//'\
4207 dnl Delete blank lines
4208 | sed -n -e '/^..*$/p' \
4209 dnl Restore lines quoted above to original contents.
4215 chmod 444 Makefile.new
4216 mv -f Makefile.new <<$2>>
4219 CPP_MAKEFILE(,Makefile)
4220 CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile)
4226 dnl Append AC_DEFINE information to lib-src/config.values
4227 dnl (AC_SUBST information is already there (see config.values.sh).
4228 sed < config.status >> lib-src/config.values \
4229 -e '/{ac_dA}.*{ac_dB}.*{ac_dC}.*{ac_dD}$/!d' \
4230 -e 's/\${ac_dA}\(.*\)\${ac_dB}.*\${ac_dC}\(.*\)\${ac_dD}/\1 \2/' \
4231 -e 's/^\([[^ ]]*\) $/\1 ""/' \
4236 top_srcdir="$srcdir"
4237 MAKE_SUBDIR="$MAKE_SUBDIR"