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}'
360 docdir='${archlibdir}'
363 with_site_modules='yes'
369 dnl const_is_losing is removed - we rely on AC_C_CONST instead.
370 dnl We accept (and ignore) the --const-is-losing option for compatibility.
371 dnl const_is_losing='yes'
372 cpp='' cppflags='' libs='' ldflags=''
377 with_system_malloc='default'
378 with_dlmalloc='default'
380 dnl use_assertions should be 'yes' by default. Too many people in this
381 dnl world have core dumps turned off by default or \"cannot find where the
382 dnl core file went\". At least we should get some useful output ...
384 dnl the following is set to yes or no later.
390 dnl ------------------
391 dnl Options Processing
392 dnl ------------------
394 define([USAGE_ERROR],
395 [(echo "$progname: Usage error:"
397 echo " Use \`$progname --help' to show usage.") >&2 && exit 1])
399 dnl Record all the arguments, so we can save them in config.status.
402 dnl Shell Magic: Quote the quoted arguments in ARGUMENTS. At a later date,
403 dnl in order to get the arguments back in $@, we have to do an
404 dnl 'eval set x "$quoted_arguments"; shift'
405 dnl # We use sed to turn embedded ' into '"'"'. I truly hate sh quoting.
406 quoted_sed_magic=s/"'"/"'"'"'"'"'"'"'"/g
410 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
411 | --no-cr | --no-c) ;;
412 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
413 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
415 quoted_i="`echo '' $i | sed -e 's:^ ::' -e $quoted_sed_magic`"
416 quoted_arguments="$quoted_arguments '$quoted_i'" ;;
420 dnl Do not use shift -- that destroys the argument list, which autoconf needs
421 dnl to produce config.status. It turns out that "set - $arguments" does not
423 dnl However, it also turns out that many shells cannot expand ${10} at all.
424 dnl So using an index variable does not work either. It is possible to use
425 dnl some shell magic to make 'set x "$arguments"; shift' work portably.
426 while test $# != 0; do
429 --no-create|--no-recursion) ;;
430 dnl Anything starting with a hyphen we assume is an option.
432 dnl Separate the switch name from the value it is being given.
435 opt=`echo '' $arg | sed -e 's:^ ::' -e 's:^-*\([[^=]]*\)=.*$:\1:'`
436 val=`echo '' $arg | sed -e 's:^ ::' -e 's:^-*[[^=]]*=\(.*\)$:\1:'`
439 dnl special case these strings since echo may silently eat them:
440 dnl --help ) opt=help val=yes valomitted=yes ;;
441 dnl --version ) opt=version val=yes valomitted=yes ;;
442 dnl -e ) opt=e val=yes valomitted=yes ;;
443 dnl -E ) opt=E val=yes valomitted=yes ;;
444 dnl -n ) opt=n val=yes valomitted=yes ;;
446 dnl If FOO is a boolean argument, --FOO is equivalent to
447 dnl --FOO=yes. Otherwise, the value comes from the next
448 dnl argument - see below.
449 opt=`echo '' $arg | sed -e 's:^ ::' -e 's:^-*\(.*\)$:\1:'`
450 val="yes" valomitted=yes
454 dnl translate "-" in option string to "_"
456 opt="`echo '' $opt | sed -e 's:^ ::' | tr - _`"
458 dnl Support --without-FOO as a synonym for --with-FOO=no
459 case "${valomitted}-${opt}" in yes-without_* )
460 opt=`echo $opt | sed 's/without/with/'`
461 valomitted="no" val="no" ;;
464 dnl Process the option.
467 dnl Process (many) boolean options
470 with_site_modules | \
519 memory_usage_stats | \
520 with_clash_detection | \
523 dnl Make sure the value given was either "yes" or "no".
525 y | ye | yes ) val=yes ;;
527 * ) USAGE_ERROR("The \`--$optname' option requires a boolean value: \`yes' or \`no'.") ;;
529 eval "$opt=\"$val\"" ;;
532 dnl Options that take a user-supplied value, as in --x-includes=/usr/X11R6/include
533 dnl The cache-file option is ignored (for compatibility with other configures)
549 site_runtime_libraries )
550 dnl If the value was omitted, get it from the next argument.
551 if test "$valomitted" = "yes" ; then
552 dnl Get the next argument from the argument list, if there is one.
553 if test "$#" = 0 ; then
554 USAGE_ERROR("The \`--$optname' option requires a value.");
561 dnl Options that take "yes", "no", or "default" values
564 with_debug_malloc | use_debug_malloc | \
565 with_system_malloc | use_system_malloc )
567 y | ye | yes ) val=yes ;;
569 d | de | def | defa | defau | defaul | default ) val=default ;;
570 * ) USAGE_ERROR(["The \`--$optname' option requires one of these values:
571 \`yes', \`no', or \`default'."]) ;;
573 case "$opt" in use_* ) opt="`echo $opt | sed s/use/with/`" ;; esac
577 dnl Has the user requested database support?
579 with_database_berkdb=no
581 with_database_gnudbm=no
582 for x in `echo "$val" | sed -e 's/,/ /g'` ; do
585 b | be | ber | berk | berkd | berkdb ) with_database_berkdb=yes ;;
586 d | db | dbm ) with_database_dbm=yes ;;
587 g | gn | gnu | gnud | gnudb | gnudbm ) with_database_gnudbm=yes ;;
588 * ) USAGE_ERROR(["The \`--$optname' option value
589 must be either \`no' or a comma-separated list
590 of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."]) ;;
593 if test "$with_database_dbm" = "yes" -a \
594 "$with_database_gnudbm" = "yes"; then
595 USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
596 with the \`--$optname' option.")
600 dnl Has the user requested sound support?
602 dnl value can be native, nas or both. yes is allowed
603 dnl as a backwards compatible synonym for native
605 y | ye | yes ) val=native ;;
606 n | no | non | none ) val=no;;
607 na | nat | nati | nativ | native ) val=native ;;
608 ne | net | neta | netau | netaud | netaudi | netaudio | nas ) val=nas ;;
609 b | bo | bot | both ) val=both;;
610 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
611 \`native', \`nas', \`both', or \`none'."]) ;;
616 dnl Has the user requested XIM support?
619 y | ye | yes ) val=yes ;;
620 n | no | non | none ) val=no ;;
621 x | xl | xli | xlib ) val=xlib ;;
622 m | mo | mot | moti | motif ) val=motif ;;
623 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
624 \`motif', \`xlib', \`yes', or \`no'."]) ;;
629 dnl Mail locking specification
635 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
636 \`lockf', \`flock', or \`file'."]) ;;
641 dnl Has the user requested error-checking?
643 dnl value can be all, none, and/or a list of categories to check.
644 dnl Example: --error-checking=all,noextents,nobufpos
645 dnl Example: --error-checking=none,malloc,gc
647 for x in `echo "$val" | sed -e 's/,/ /g'` ; do
649 dnl all and none are only permitted as the first in the list.
650 n | no | non | none ) new_default=no ;;
651 a | al | all ) new_default=yes ;;
653 extents ) error_check_extents=yes ;;
654 noextents ) error_check_extents=no ;;
656 typecheck ) error_check_typecheck=yes ;;
657 notypecheck ) error_check_typecheck=no ;;
659 bufpos ) error_check_bufpos=yes ;;
660 nobufpos ) error_check_bufpos=no ;;
662 gc ) error_check_gc=yes ;;
663 nogc ) error_check_gc=no ;;
665 malloc ) error_check_malloc=yes ;;
666 nomalloc ) error_check_malloc=no ;;
668 byte_code ) error_check_byte_code=yes ;;
669 nobyte_code ) error_check_byte_code=no ;;
671 * ) bogus_error_check=yes ;;
673 if test "$bogus_error_check" -o \
674 \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then
675 if test "$error_check_default" = yes ; then
676 types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', and \`nobyte-code'."
678 types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', and \`byte-code'."
680 USAGE_ERROR(["Valid types for the \`--$optname' option are:
682 elif test -n "$new_default" ; then
683 error_check_extents=$new_default
684 error_check_typecheck=$new_default
685 error_check_bufpos=$new_default
686 error_check_gc=$new_default
687 error_check_malloc=$new_default
688 error_check_byte_code=$new_default
689 new_default= # reset this
695 dnl Has the user tried to tell us where the X files are?
696 dnl I think these are dopey, but no less than three alpha
697 dnl testers, at large sites, have said they have their X files
698 dnl installed in odd places.
700 dnl Has the user specified one of the path options?
701 prefix | exec_prefix | bindir | datadir | statedir | libdir | \
702 mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \
703 archlibdir | docdir | package_path )
704 dnl If the value was omitted, get it from the next argument.
705 if test "$valomitted" = "yes"; then
706 if test "$#" = 0; then
707 USAGE_ERROR("The \`--$optname' option requires a value.");
713 dnl You need to synchronize this with the way the
714 dnl default values are built.
716 dnl prefix is taken care of by --with-prefix
717 exec_prefix ) AC_DEFINE(EXEC_PREFIX_USER_DEFINED) ;;
718 lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;;
719 sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
720 moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;;
721 etcdir ) AC_DEFINE(ETCDIR_USER_DEFINED) ;;
722 infodir ) AC_DEFINE(INFODIR_USER_DEFINED) ;;
723 infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;;
724 package_path ) AC_DEFINE(PACKAGE_PATH_USER_DEFINED) ;;
726 AC_DEFINE(INFODIR_USER_DEFINED)
727 AC_DEFINE(LISPDIR_USER_DEFINED)
728 AC_DEFINE(MODULEDIR_USER_DEFINED)
729 AC_DEFINE(ETCDIR_USER_DEFINED) ;;
730 statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;;
731 docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;;
732 exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
736 dnl --no-create added by autoconf for use by config.status
739 dnl Has the user asked for some help?
740 "usage" | "help" ) ${PAGER-more} ${srcdir}/configure.usage; exit 0 ;;
742 dnl Has the user specified the toolkit(s) to use for GUI elements?
744 "with_scrollbars" | \
748 l | lu | luc | luci | lucid ) val=lucid ;;
749 m | mo | mot | moti | motif ) val=motif ;;
750 athena3d | athena-3d ) val=athena3d ;;
751 a | at | ath | athe | athen | athena ) val=athena ;;
752 n | no | non | none ) val=no ;;
753 * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
754 \`lucid', \`motif', \`athena', \`athena3d', or \`no'."]) ;;
759 dnl Obsolete legacy argument? Warn, but otherwise ignore.
762 AC_MSG_WARN([Obsolete option \`--$optname' ignored.])
765 dnl Unrecognized option? No mercy for user errors.
766 * ) USAGE_ERROR("Unrecognized option: $arg") ;;
771 dnl Assume anything with multiple hyphens is a configuration name.
772 *-*-*) configuration="$arg" ;;
774 dnl Unrecognized argument? No mercy for user errors.
775 *) USAGE_ERROR("Unrecognized argument: $arg") ;;
780 dnl -------------------------
781 dnl Finish options processing
782 dnl -------------------------
784 dnl Several options are equivalent to, and override, environment variables.
785 test -n "$cpp" && CPP="$cpp"
786 test -n "$cppflags" && CPPFLAGS="$cppflags"
787 test -n "$libs" && LIBS="$libs"
788 test -n "$ldflags" && LDFLAGS="$ldflags"
790 dnl Get the arguments back. See the diatribe on Shell Magic above.
791 eval set x "$quoted_arguments"; shift
793 dnl --extra-verbose implies --verbose
794 test "$extra_verbose" = "yes" && verbose=yes
796 dnl with_x is an obsolete synonym for with_x11
797 test -n "$with_x" && with_x11="$with_x"
799 dnl --with-quantify or --with-purify imply --use-system-malloc
800 if test "$with_purify" = "yes" -o "$with_quantify" = "yes"; then
801 test "$with_system_malloc" = "default" && with_system_malloc=yes
804 dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2)
805 define([XE_CHECK_FEATURE_DEPENDENCY],
806 [if test "$with_$1 $with_$2" = "yes no"; then
807 USAGE_ERROR("--with-$1 requires --with-$2")
808 elif test "$with_$2" = "no" ; then with_$1=no
809 elif test "$with_$1" = "yes"; then with_$2=yes
813 dnl CDE requires tooltalk
814 XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk)
816 dnl Find the source directory.
819 dnl If srcdir is not specified, see if "." or ".." might work.
821 for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[[^/]]*$||'`" "." ".." ; do
822 if test -f "$dir/src/lisp.h" -a \
823 -f "$dir/lisp/version.el" ; then
828 if test -z "$srcdir" ; then
829 USAGE_ERROR(["Neither the current directory nor its parent seem to
830 contain the XEmacs sources. If you do not want to build XEmacs in its
831 source tree, you should run \`$progname' in the directory in which
832 you wish to build XEmacs, using the \`--srcdir' option to say where the
833 sources may be found."])
837 dnl Otherwise, check if the directory they specified is okay.
839 if test ! -f "$srcdir/src/lisp.h" -o \
840 ! -f "$srcdir/lisp/version.el" ; then
841 USAGE_ERROR(["The directory specified with the \`--srcdir' option,
842 \`$srcdir', doesn't seem to contain the XEmacs sources. You should
843 either run the \`$progname' script at the top of the XEmacs source
844 tree, or use the \`--srcdir' option to specify the XEmacs source directory."])
849 dnl ###########################################################################
850 if test -z "$configuration"; then
851 dnl Guess the configuration
852 configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess`
853 if test -z "$configuration"; then
854 USAGE_ERROR(["XEmacs has not been ported to this host type.
855 Try explicitly specifying the CONFIGURATION when rerunning configure."])
861 dnl Make symlinks for etc, lisp, and info directories while the path
862 dnl is still relative. We do not symlink lock because someone may
863 dnl have stuck the source on a read-only partition. Instead we
864 dnl create it as an actual directory later on if it does not already
866 for dir in lisp etc man info; do
867 if test ! -d "$dir" ; then
868 echo Making symbolic link to "$srcdir/$dir"
869 ${LN_S} "$srcdir/$dir" "$dir"
873 dnl Do our best to deal with automounter brokenness
874 dnl CANONICALIZE_PATH(varname)
875 define([CANONICALIZE_PATH],
876 [if test -d "/net"; then
877 if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi
879 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
882 dnl Calculate canonical name for blddir (i.e. current directory).
883 dnl PWD may already be the preferable absolute name for ".",
884 dnl but we can't trust it - it is sometimes inaccurate.
885 absolute_pwd="`pwd`";
886 if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd"
888 else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir)
892 dnl Make srcdir absolute, if not already. It is important to
893 dnl avoid running the path through pwd unnecessary, since pwd can
894 dnl give you automounter prefixes, which can go away.
897 . ) srcdir="$blddir" ;;
898 * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;;
901 dnl Check if the source directory already has a configured system in it.
902 if test `pwd` != `sh -c cd $srcdir && pwd` \
903 && test -f "$srcdir/src/config.h"; then
904 (echo "$progname: WARNING: The directory tree \`$srcdir' is being used"
905 echo " as a build directory right now; it has been configured in its own"
906 echo " right. To configure in another directory as well, you MUST"
907 echo " use GNU make. If you do not have GNU make, then you must"
908 echo " now do \`make distclean' in $srcdir,"
909 echo " and then run $progname again.") >&2
910 extrasub='/^VPATH[[ ]]*=/c\
916 vpath %.in $(srcdir)'
919 dnl ----------------------------------------
920 dnl Find out which version of XEmacs this is
921 dnl ----------------------------------------
922 . "$srcdir/version.sh" || exit 1;
923 dnl Must do the following first to determine verbosity for AC_DEFINE
924 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
925 : "${extra_verbose=$beta}"
926 version="${emacs_major_version}.${emacs_minor_version}"
927 AC_DEFINE_UNQUOTED(EMACS_MAJOR_VERSION, $emacs_major_version)
928 AC_DEFINE_UNQUOTED(EMACS_MINOR_VERSION, $emacs_minor_version)
929 if test -n "$emacs_beta_version" ; then
930 if test "$beta" = "yes"; then
931 version="${version}-b${emacs_beta_version}"
932 AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version)
934 version="${version}.${emacs_beta_version}"
935 AC_DEFINE_UNQUOTED(EMACS_PATCH_LEVEL, $emacs_beta_version)
938 AC_DEFINE_UNQUOTED(XEMACS_CODENAME, "$xemacs_codename")
939 AC_DEFINE_UNQUOTED(EMACS_VERSION, "$version")
941 if test "$with_infodock" = "yes"; then
942 if test ! -f ../../ID-INSTALL; then
943 echo "Cannot build InfoDock without InfoDock sources"
948 if test "$with_infodock" = "yes"; then
949 dnl InfoDock version numbers. XEmacs will use the same style of numbering
950 dnl after the release of XEmacs 21.0.
951 AC_DEFINE_UNQUOTED(INFODOCK_MAJOR_VERSION, $infodock_major_version)
952 AC_DEFINE_UNQUOTED(INFODOCK_MINOR_VERSION, $infodock_minor_version)
953 AC_DEFINE_UNQUOTED(INFODOCK_BUILD_VERSION, $infodock_build_version)
954 version=${infodock_major_version}.${infodock_minor_version}.${infodock_build_version}
956 CPPFLAGS="$CPPFLAGS -DINFODOCK"
961 dnl ----------------------------------
962 dnl Error checking and debugging flags
963 dnl ----------------------------------
964 dnl Error checking default to "yes" in beta versions, to "no" in releases.
965 dnl Same goes for --debug and --extra-verbosity.
966 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
967 test "${error_check_extents=$beta}" = yes && AC_DEFINE(ERROR_CHECK_EXTENTS)
968 test "${error_check_typecheck=$beta}" = yes && AC_DEFINE(ERROR_CHECK_TYPECHECK)
969 test "${error_check_bufpos=$beta}" = yes && AC_DEFINE(ERROR_CHECK_BUFPOS)
970 test "${error_check_gc=$beta}" = yes && AC_DEFINE(ERROR_CHECK_GC)
971 test "${error_check_malloc=$beta}" = yes && AC_DEFINE(ERROR_CHECK_MALLOC)
972 test "${error_check_byte_code=$beta}" = yes && AC_DEFINE(ERROR_CHECK_BYTE_CODE)
973 dnl debug=yes must be set when error checking is present. This should be
975 dnl debug implies other options
976 if test "${debug:=$beta}" = "yes"; then
977 use_assertions=yes memory_usage_stats=yes
979 AC_DEFINE(DEBUG_XEMACS)
981 test "$use_assertions" = "yes" && AC_DEFINE(USE_ASSERTIONS)
982 test "$memory_usage_stats" = "yes" && AC_DEFINE(MEMORY_USAGE_STATS)
984 dnl ------------------------------
985 dnl Determine the s&m files to use
986 dnl ------------------------------
987 dnl Given the configuration name, set machfile and opsysfile to the
988 dnl names of the m/*.h and s/*.h files we should use.
990 dnl Canonicalize the configuration name.
991 AC_MSG_CHECKING("host system type")
992 dnl allow -workshop suffix on configuration name
993 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'`
994 canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"`
995 XE_STRIP_4TH_COMPONENT(configuration)
996 XE_STRIP_4TH_COMPONENT(canonical)
997 AC_MSG_RESULT($configuration)
999 dnl If you add support for a new configuration, add code to this
1000 dnl switch statement to recognize your configuration name and select
1001 dnl the appropriate operating system and machine description files.
1003 dnl You would hope that you could choose an m/*.h file pretty much
1004 dnl based on the machine portion of the configuration name, and an s-
1005 dnl file based on the operating system portion. However, it turns out
1006 dnl that each m/*.h file is pretty manufacturer-specific - for
1007 dnl example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
1008 dnl all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
1009 dnl machines. So we basically have to have a special case for each
1010 dnl configuration name.
1012 dnl As far as handling version numbers on operating systems is
1013 dnl concerned, make sure things will fail in a fixable way. If
1014 dnl /etc/MACHINES says nothing about version numbers, be
1015 dnl prepared to handle anything reasonably. If version numbers
1016 dnl matter, be sure /etc/MACHINES says something about it.
1018 dnl Eric Raymond says we should accept strings like "sysvr4" to mean
1019 dnl "System V Release 4"; he writes, "The old convention encouraged"
1020 dnl "confusion between `system' and `release' levels'."
1024 dnl Straightforward machine determination
1025 case "$canonical" in
1026 sparc-*-* ) machine=sparc ;;
1027 alpha*-*-* ) machine=alpha ;;
1028 vax-*-* ) machine=vax ;;
1029 mips-dec-* ) machine=pmax ;;
1030 mips-sgi-* ) machine=iris4d ;;
1031 romp-ibm-* ) machine=ibmrt ;;
1032 rs6000-ibm-aix* ) machine=ibmrs6000 ;;
1033 powerpc-ibm-aix* ) machine=ibmrs6000 ;;
1034 powerpc*-* ) machine=powerpc ;;
1035 hppa-*-* ) machine=hp800 ;;
1036 m88k-dg-* ) machine=aviion ;;
1037 m68*-sony-* ) machine=news ;;
1038 mips-sony-* ) machine=news-risc ;;
1039 clipper-* ) machine=clipper ;;
1040 arm-* ) machine=arm ;;
1041 ns32k-* ) machine=ns32000 ;;
1044 dnl Straightforward OS determination
1045 case "$canonical" in
1046 *-*-linux* ) opsys=linux ;;
1047 *-*-netbsd* ) opsys=netbsd ;;
1048 *-*-openbsd* ) opsys=openbsd ;;
1049 *-*-nextstep* ) opsys=nextstep ;;
1050 *-*-vms ) opsys=vms ;;
1053 *-dec-osf1.3 | *-dec-osf2* ) opsys=decosf1-3 ;;
1054 *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;;
1055 *-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;;
1056 *-dec-osf3* ) opsys=decosf3-1 ;;
1057 *-dec-osf4* ) opsys=decosf4-0 ;;
1060 *-*-ultrix[[0-3]].* | *-*-ultrix4.0* ) opsys=bsd4-2 ;;
1061 *-*-ultrix4.[[12]]* ) opsys=bsd4-3 ;;
1062 *-*-ultrix* ) opsys=ultrix4-3 ;;
1065 *-*-aix3.1* ) opsys=aix3-1 ;;
1066 *-*-aix3.2.5 ) opsys=aix3-2-5 ;;
1067 *-*-aix3* ) opsys=aix3-2 ;;
1068 *-*-aix4.0* ) opsys=aix4 ;;
1069 *-*-aix4.1* ) opsys=aix4-1 ;;
1070 *-*-aix4* ) opsys=aix4-2 ;;
1072 dnl Other generic OSes
1073 *-gnu* ) opsys=gnu ;;
1074 *-*-bsd4.[[01]] ) opsys=bsd4-1 ;;
1075 *-*-bsd4.2 ) opsys=bsd4-2 ;;
1076 *-*-bsd4.3 ) opsys=bsd4-3 ;;
1077 *-*-aos4.2 ) opsys=bsd4-2 ;;
1078 *-*-aos* ) opsys=bsd4-3 ;;
1079 *-*-sysv0 | *-*-sysvr0 ) opsys=usg5-0 ;;
1080 *-*-sysv2 | *-*-sysvr2 ) opsys=usg5-2 ;;
1081 *-*-sysv2.2 | *-*-sysvr2.2 ) opsys=usg5-2-2 ;;
1082 *-*-sysv3* | *-*-sysvr3* ) opsys=usg5-3 ;;
1083 *-*-sysv4.1* | *-*-sysvr4.1* )opsys=usg5-4 NON_GNU_CPP=/usr/lib/cpp ;;
1084 *-*-sysv4.[[2-9]]* | *-sysvr4.[[2-9]]* )
1085 if test -z "$NON_GNU_CPP" ; then
1086 for prog in "/usr/ccs/lib/cpp" "/lib/cpp"; do
1087 if test -f "$prog"; then NON_GNU_CPP="$prog"; break; fi
1091 *-sysv4* | *-sysvr4* ) opsys=usg5-4 ;;
1092 *-*-mach_bsd4.3* ) opsys=mach-bsd4-3 ;;
1095 case "$canonical" in
1099 case "$canonical" in
1100 i[[3-9]]86-*-netbsd*) machine=intel386 ;;
1101 hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* )
1102 dnl Yes, this is somewhat bogus.
1103 machine=hp9000s300 ;;
1104 pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;;
1105 pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;;
1111 case "${canonical}" in
1112 i386-*-openbsd*) machine=intel386 ;;
1113 m68k-*-openbsd*) machine=hp9000s300 ;;
1114 mipsel-*-openbsd*) machine=pmax ;;
1119 arm-acorn-riscix1.1* ) machine=acorn opsys=riscix1-1 ;;
1120 arm-acorn-riscix1.2* | arm-acorn-riscix ) machine=acorn opsys=riscix1-2 ;;
1122 dnl Alliant machines
1123 fx80-alliant-* ) machine=alliant4 opsys=bsd4-2 ;;
1124 i860-alliant-* ) machine=alliant-2800 opsys=bsd4-3 ;;
1127 m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;;
1130 580-amdahl-sysv* ) machine=amdahl opsys=usg5-2-2 ;;
1132 dnl Apollo, Domain/OS
1133 m68*-apollo-* ) machine=apollo opsys=bsd4-3 ;;
1135 dnl AT&T 3b2, 3b5, 3b15, 3b20
1136 we32k-att-sysv* ) machine=att3b opsys=usg5-2-2 ;;
1138 dnl AT&T 3b1 - The Mighty Unix PC!
1139 m68*-att-sysv* ) machine=7300 opsys=usg5-2-2 ;;
1142 rs6000-bull-bosx* ) machine=ibmrs6000 opsys=aix3-2 ;; # dpx20
1143 m68*-bull-sysv3* ) machine=dpx2 opsys=usg5-3 ;; # dpx2
1144 m68*-bull-sysv2* ) machine=sps7 opsys=usg5-2 ;; # sps7
1146 dnl CCI 5/32, 6/32 -- see "Tahoe".
1149 celerity-celerity-bsd* ) machine=celerity opsys=bsd4-2 ;;
1152 *-convex-bsd* | *-convex-convexos* )
1153 machine=convex opsys=bsd4-3
1154 NON_GNU_CPP="cc -E -P"
1158 i[[3-9]]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;;
1160 dnl Data General AViiON Machines
1161 i586-dg-dgux*R4* | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;;
1162 m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) opsys=dgux5-4r3 ;;
1163 m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* ) opsys=dgux5-4r2 ;;
1164 m88k-dg-dgux* ) opsys=dgux ;;
1166 dnl Motorola Delta machines
1167 m68k-motorola-sysv* | m68000-motorola-sysv* ) machine=delta opsys=usg5-3 ;;
1168 m88k-motorola-sysv4* )
1169 dnl jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110
1170 dnl needs POSIX_SIGNALS and therefore needs usg5-4-2.
1171 dnl I hope there are not other 4.0 versions for this machine
1172 dnl which really need usg5-4 instead.
1173 machine=delta88k opsys=usg5-4-2
1175 m88k-motorola-sysv* | m88k-motorola-m88kbcs* ) machine=delta88k opsys=usg5-3 ;;
1178 m68*-dual-sysv* ) machine=dual opsys=usg5-2 ;;
1179 m68*-dual-uniplus* ) machine=dual opsys=unipl5-2 ;;
1182 ns16k-encore-bsd* ) machine=ns16000 opsys=umax ;;
1184 dnl Gould Power Node and NP1
1185 pn-gould-bsd4.2* ) machine=gould opsys=bsd4-2 ;;
1186 pn-gould-bsd4.3* ) machine=gould opsys=bsd4-3 ;;
1187 np1-gould-bsd* ) machine=gould-np1 opsys=bsd4-3 ;;
1189 dnl Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
1190 dnl as far as XEmacs is concerned).
1192 dnl Build needs to be different on 7.0 and later releases
1193 case "`uname -r`" in
1194 [[56]].[[0-9]] ) machine=nh4000 opsys=cxux ;;
1195 [[7]].[[0-9]] ) machine=nh4000 opsys=cxux7 ;;
1197 NON_GNU_CPP="/lib/cpp"
1199 dnl Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
1200 m68k-harris-cxux* ) machine=nh3000 opsys=cxux ;;
1201 dnl Harris power pc NightHawk running Power UNIX (Series 6000)
1202 powerpc-harris-powerunix ) machine=nh6000 opsys=powerunix NON_GNU_CPP="cc -Xo -E -P" ;;
1204 dnl Honeywell XPS100
1205 xps*-honeywell-sysv* ) machine=xps100 opsys=usg5-2 ;;
1207 dnl HP 9000 series 200 or 300
1208 m68*-hp-bsd* ) machine=hp9000s300 opsys=bsd4-3 ;;
1212 dnl Figure out machine and opsys orthogonally
1213 case "$canonical" in
1214 m68* ) machine=hp9000s300 ;;
1215 hppa* ) machine=hp800 ;;
1218 case "$canonical" in
1219 *-hp-hpux7* ) opsys=hpux ;;
1220 *-hp-hpux8* ) opsys=hpux8 ;;
1221 *-hp-hpux9* ) opsys=hpux9 ;;
1222 *-hp-hpux10* ) opsys=hpux10 ;;
1223 *-hp-hpux11* ) opsys=hpux11 ;;
1227 dnl HP has a broken "strcat"
1228 case "$opsys" in hpux9 | hpux10 ) XE_ADD_OBJS(strcat.o) ;; esac
1230 if test "$opsys" = "hpux10" -o "$opsys" = "hpux11"; then \
1231 ansi_flag="-Ae"; else ansi_flag="-Aa"; fi
1232 NON_GNU_CC="cc $ansi_flag" NON_GNU_CPP="cc $ansi_flag -E"
1234 case "$canonical" in *-hp-hpux*shr* ) opsys="${opsys}-shr" ;; esac
1238 orion-orion-bsd* ) machine=orion opsys=bsd4-2 ;;
1239 clipper-orion-bsd* ) machine=orion105 opsys=bsd4-2 ;;
1242 i[[3-9]]86-ibm-aix1.1* ) machine=ibmps2-aix opsys=usg5-2-2 ;;
1243 i[[3-9]]86-ibm-aix1.[[23]]* | i[[3-9]]86-ibm-aix* ) machine=ibmps2-aix opsys=usg5-3 ;;
1244 i370-ibm-aix*) machine=ibm370aix opsys=usg5-3 ;;
1245 romp-ibm-aos* ) opsys=bsd4-3 ;;
1246 romp-ibm-bsd* ) opsys=bsd4-3 ;;
1247 romp-ibm-mach* ) opsys=mach-bsd4-3 ;;
1249 dnl Integrated Solutions "Optimum V"
1250 m68*-isi-bsd4.2* ) machine=isi-ov opsys=bsd4-2 ;;
1251 m68*-isi-bsd4.3* ) machine=isi-ov opsys=bsd4-3 ;;
1253 dnl Intel 386 machines where we do care about the manufacturer
1254 i[[3-9]]86-intsys-sysv* ) machine=is386 opsys=usg5-2-2 ;;
1257 i[[3-9]]86-prime-sysv* ) machine=i386 opsys=usg5-3 ;;
1259 dnl Sequent Symmetry running Dynix
1260 i[[3-9]]86-sequent-bsd* ) machine=symmetry opsys=bsd4-3 ;;
1262 dnl Sequent Symmetry running DYNIX/ptx
1263 i[[3-9]]86-sequent-ptx* ) machine=sequent-ptx opsys=ptx NON_GNU_CPP="/lib/cpp" ;;
1265 dnl Unspecified sysv on an ncr machine defaults to svr4.2.
1266 dnl (Plain usg5-4 does not turn on POSIX signals, which we need.)
1267 i[[3-9]]86-ncr-sysv* ) machine=ncr386 opsys=usg5-4-2 ;;
1269 dnl Intel Paragon OSF/1
1270 i860-intel-osf1* ) machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp ;;
1273 i860-*-sysv4* ) machine=i860 opsys=usg5-4 NON_GNU_CC="/bin/cc" NON_GNU_CPP="/usr/ccs/lib/cpp" ;;
1275 dnl Masscomp machines
1276 m68*-masscomp-rtu* ) machine=masscomp opsys=rtu ;;
1278 dnl Megatest machines
1279 m68*-megatest-bsd* ) machine=mega68 opsys=bsd4-2 ;;
1281 dnl Workstations sold by MIPS
1282 dnl This is not necessarily all workstations using the MIPS processor -
1283 dnl Irises are produced by SGI, and DECstations by DEC.
1284 mips-mips-usg* ) machine=mips4 ;;
1287 NON_GNU_CC="cc -systype bsd43"
1288 NON_GNU_CPP="cc -systype bsd43 -E"
1289 case "$canonical" in
1290 mips-mips-riscos4* ) opsys=bsd4-3 ;;
1291 mips-mips-riscos5* ) opsys=riscos5 ;;
1294 mips-mips-bsd* ) machine=mips opsys=bsd4-3 ;;
1295 mips-mips-* ) machine=mips opsys=usg5-2-2 ;;
1298 m68*-next-* | m68k-*-nextstep* ) machine=m68k opsys=nextstep ;;
1300 dnl The complete machine from National Semiconductor
1301 ns32k-ns-genix* ) machine=ns32000 opsys=usg5-2 ;;
1304 m68*-ncr-sysv2* | m68*-ncr-sysvr2* ) machine=tower32 opsys=usg5-2-2 ;;
1305 m68*-ncr-sysv3* | m68*-ncr-sysvr3* ) machine=tower32v3 opsys=usg5-3 ;;
1307 dnl Nixdorf Targon 31
1308 m68*-nixdorf-sysv* ) machine=targon31 opsys=usg5-2-2 ;;
1311 m68*-nu-sysv* ) machine=nu opsys=usg5-2 ;;
1314 m68*-plexus-sysv* ) machine=plexus opsys=usg5-2 ;;
1316 dnl Pyramid machines
1317 pyramid-pyramid-bsd* ) machine=pyramid opsys=bsd4-2 ;;
1320 ns32k-sequent-bsd4.2* ) machine=sequent opsys=bsd4-2 ;;
1321 ns32k-sequent-bsd4.3* ) machine=sequent opsys=bsd4-3 ;;
1324 mips-siemens-sysv* | mips-sni-sysv*)
1325 machine=mips-siemens opsys=usg5-4
1326 NON_GNU_CC=/usr/ccs/bin/cc
1327 NON_GNU_CPP=/usr/ccs/lib/cpp
1333 NON_GNU_CC=/usr/ccs/bin/cc
1334 NON_GNU_CPP=/usr/ccs/lib/cpp
1337 dnl Silicon Graphics machines
1338 dnl Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
1339 m68*-sgi-iris3.5* ) machine=irist opsys=iris3-5 ;;
1340 m68*-sgi-iris3.6* | m68*-sgi-iris*) machine=irist opsys=iris3-6 ;;
1342 mips-sgi-irix3.* ) opsys=irix3-3 ;;
1343 mips-sgi-irix4.* ) opsys=irix4-0 ;;
1344 mips-sgi-irix6* ) opsys=irix6-0 ;;
1345 mips-sgi-irix5.1* ) opsys=irix5-1 ;;
1346 mips-sgi-irix5.2* ) opsys=irix5-2 ;;
1347 mips-sgi-irix5.* ) opsys=irix5-3 ;;
1348 mips-sgi-irix* ) opsys=irix5-0 ;;
1351 *-sony-newsos[[34]]* | *-sony-news[[34]]* ) opsys=bsd4-3 ;;
1352 *-sony-news* ) opsys=newsos5 ;;
1355 m68*-stride-sysv* ) machine=stride opsys=usg5-2 ;;
1358 *-*-solaris* | *-*-sunos* | *-sun-mach* | *-sun-bsd* )
1360 case "$canonical" in
1361 m68*-sunos1* ) machine=sun1 ;;
1362 m68*-sunos2* ) machine=sun2 ;;
1363 m68* ) machine=sun3 ;;
1364 i*86*-sun-sunos[[34]]* ) machine=sun386 ;;
1365 i*86-*-* ) machine=intel386 ;;
1366 rs6000* ) machine=rs6000 ;;
1369 dnl Make $canonical even more so.
1370 case "$canonical" in *-sunos5*)
1371 canonical=`echo $canonical | sed -e s/sunos5/solaris2/`;;
1374 dnl On SunOS 4, use /usr/lib/cpp, sans dynodump, /bin/ranlib
1375 dnl On SunOS 5, use cc -E, need dynodump, RANLIB not needed
1376 dnl But, SunOS 5.6 no longer needs dynodump because it has a similar
1377 dnl function integrated.
1378 case "$canonical" in
1380 #test -f /usr/lib/cpp && NON_GNU_CPP=/usr/lib/cpp ;;
1383 #test -f /usr/ccs/lib/cpp && NON_GNU_CPP=/usr/ccs/lib/cpp
1387 case "$canonical" in
1390 os_release=`uname -r | sed -e 's/^\([[0-9]]\)\.\([[0-9]]\).*/\1\2/'`
1391 AC_DEFINE_UNQUOTED(OS_RELEASE, $os_release) ;;
1393 dnl The last Sun386 ran 4.0.
1394 i*86-*-sunos4* ) opsys=sunos4-0 ;;
1395 *-sunos4.0* ) opsys=sunos4-0 ;;
1396 *-sunos4.1.2* ) opsys=sunos4-1-2 ;;
1397 *-sunos4.1.3* ) opsys=sunos4-1-3 ;;
1398 *-sunos4.1.[[4-9]]* ) opsys=sunos4-1-4 ;;
1399 *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
1400 *-mach* ) opsys=mach-bsd4-3 ;;
1404 case "$canonical" in *-sunos4*shr* ) opsys="${opsys}-shr" ;; esac
1406 dnl Watch out for a compiler guaranteed not to work.
1407 test "$opsys $CC" = "sol2 /usr/ucb/cc" && CC=""
1411 m68*-tadpole-sysv* ) machine=tad68k opsys=usg5-3 ;;
1414 tahoe-tahoe-bsd4.2* ) machine=tahoe opsys=bsd4-2 ;;
1415 tahoe-tahoe-bsd4.3* ) machine=tahoe opsys=bsd4-3 ;;
1417 dnl Tandem Integrity S2
1418 mips-tandem-sysv* ) machine=tandem-s2 opsys=usg5-3 ;;
1421 m88k-tektronix-sysv3* ) machine=tekxd88 opsys=usg5-3 ;;
1423 dnl Tektronix 16000 box (6130?)
1424 ns16k-tektronix-bsd* ) machine=ns16000 opsys=bsd4-2 ;;
1426 dnl src/m/tek4300.h hints that this is a m68k machine.
1427 m68*-tektronix-bsd* ) machine=tek4300 opsys=bsd4-3 ;;
1430 titan-titan-sysv* ) machine=titan opsys=usg5-3 ;;
1432 dnl Ustation E30 (SS5E)
1433 m68*-unisys-uniplus* ) machine=ustation opsystem=unipl5-2 ;;
1437 case "$canonical" in
1438 *-sysv[[01]]* | *-sysvr[[01]]* ) opsys=usg5-0 ;;
1439 *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;;
1440 *-mach* ) opsys=mach-bsd4-3 ;;
1445 ns16k-whitechapel-* ) machine=mg1 ;;
1448 m68*-wicat-sysv* ) machine=wicat opsys=usg5-2 ;;
1450 dnl Intel 386 machines where we do not care about the manufacturer
1453 case "$canonical" in
1454 *-isc1.* | *-isc2.[[01]]* ) opsys=386-ix ;;
1455 *-isc2.2* ) opsys=isc2-2 ;;
1456 *-isc4.0* ) opsys=isc4-0 ;;
1457 *-isc4.* ) opsys=isc4-1
1458 GCC_TEST_OPTIONS=-posix
1459 NON_GCC_TEST_OPTIONS=-Xp
1461 *-isc* ) opsys=isc3-0 ;;
1462 *-esix5* ) opsys=esix5r4 NON_GNU_CPP=/usr/lib/cpp ;;
1463 *-esix* ) opsys=esix ;;
1464 *-mach* ) opsys=mach-bsd4-3 ;;
1465 *-xenix* ) opsys=xenix ;;
1466 *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;;
1467 *-bsd386* | *-bsdi1* ) opsys=bsd386 ;;
1468 *-bsdi4* ) opsys=bsdos4 ;;
1469 *-bsdi3* ) opsys=bsdos3 ;;
1470 *-bsdi2.1* ) opsys=bsdos2-1 ;;
1471 *-bsdi2* ) opsys=bsdos2 ;;
1472 *-sco3.2v5* ) opsys=sco5 ;
1473 dnl This is a pain. Like the current USL cc, SCO cc -E
1474 dnl tokenizes as it preprocesses, making configure very
1475 dnl unhappy. Unfortunately, /lib/cpp does not understand
1476 dnl flags like "-b elf", so we have to cheat in order to
1477 dnl pick up the right defines for UNEXEC from the s-file.
1478 dnl 01/05/95 robertl@dgii.com
1479 if test "$dynamic" = "yes" ; then
1480 NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE -D_SCO_ELF" ;
1482 NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ;
1484 *-386bsd* ) opsys=386bsd ;;
1485 *-freebsd* ) opsys=freebsd ;;
1486 *-nextstep* ) opsys=nextstep ;;
1487 *-pc-cygwin* ) opsys=cygwin32 ;;
1488 *-pc-mingw* ) opsys=mingw32 ;
1489 test -z "$with_tty" && with_tty="no";;
1490 dnl Otherwise, we fall through to the generic opsys code at the bottom.
1495 m68k-*-linux* ) machine=m68k opsys=linux ;;
1499 if test -z "$machine" -o -z "$opsys"; then
1500 (echo "$progname: XEmacs hasn't been ported to \`$canonical' systems."
1501 echo "$progname: Check \`etc/MACHINES' for recognized configuration names."
1506 if test -z "$dynamic"; then
1508 hpux* | sunos4* ) dynamic=no ;;
1512 if test "$dynamic" = "yes"; then
1514 hpux* | sunos4* | sco5 ) opsys="${opsys}-shr" ;;
1515 decosf* ) ld_call_shared="-call_shared" ;;
1517 else dnl "$dynamic" = "no"
1520 echo "Static linking is not supported on Solaris 2."
1521 echo "Rerun configure without specifying --dynamic=no."
1523 linux ) ld_call_shared="-Bstatic" ;;
1524 decosf* ) ld_call_shared="-non_shared" ;;
1528 dnl Use xlc by default on AIX
1529 case "$opsys" in aix*) NON_GNU_CC=xlc ;; esac
1531 stack_trace_eye_catcher=`echo ${PROGNAME}_${version}_${canonical} | sed 'y/.-/__/'`
1532 AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher)
1534 machfile="m/${machine}.h"
1535 opsysfile="s/${opsys}.h"
1537 dnl --------------------------------------------------
1538 dnl Determine the compiler, set up for feature testing
1539 dnl --------------------------------------------------
1541 dnl Sun Development environment support
1542 test "$with_sparcworks" = "yes" && with_workshop=yes # compatibility alias
1543 XE_CHECK_FEATURE_DEPENDENCY(workshop, tooltalk)
1544 if test "$with_workshop" = "yes"; then
1546 XE_ADD_OBJS(sunpro.o)
1549 if test "$with_clash_detection" = "yes"; then
1550 AC_DEFINE(CLASH_DETECTION)
1551 XE_ADD_OBJS(filelock.o)
1554 dnl Choose a compiler from (in order)
1555 dnl --compiler, env var CC, with_gcc=no && ${NON_GNU_CC:-cc}, AC_PROG_CC
1556 test -n "$compiler" && CC="$compiler"
1557 if test "$with_gcc" = "no"; then dnl Try to find a non-gcc compiler
1558 case "$CC" in "" | *gcc* ) CC="${NON_GNU_CC-cc}" ;; esac
1561 dnl If we don't set CFLAGS here, AC_PROG_CC will set it.
1562 dnl But we know better what's good for us, so we do our own
1563 dnl computation of real CFLAGS later.
1564 dnl --cflags overrides environment variable CFLAGS
1565 test "${cflags-unset}" != unset && CFLAGS="$cflags"
1566 if test "${CFLAGS-unset}" != unset
1567 then cflags_specified=yes;
1568 else cflags_specified=no;
1571 xe_save_CFLAGS="$CFLAGS"
1573 AC_PROG_CC dnl Autoconf has its own magic for compiler autodetection
1575 dnl Retry using random guesswork if AC_PROG_CC got it wrong...
1576 if test "$with_gcc" = "no" -a "$GCC" = "yes"; then
1579 elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; then
1583 CFLAGS="$xe_save_CFLAGS"
1585 dnl Figure out what C preprocessor to use.
1587 dnl On Sun systems, people sometimes set up the variable CPP
1588 dnl with a value that is a directory, not an executable at all.
1589 dnl Detect that case, and ignore that value.
1590 test -n "$CPP" -a -d "$CPP" && CPP=
1592 test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP"
1598 AC_MSG_CHECKING(for GNU libc)
1599 AC_TRY_COMPILE([#include <features.h>],[
1600 #if ! (defined __GLIBC__ || defined __GNU_LIBRARY__)
1601 #error Not a GNU libc system :-(
1602 ******* ======= ******** &&&&&&&&
1604 ], have_glibc=yes, have_glibc=no)
1605 AC_MSG_RESULT($have_glibc)
1606 dnl I'm tired of pop being broken with GLIBC -slb
1607 dnl Well. then why not fix fucking pop?
1608 test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE)
1611 dnl Identify compilers to enable compiler-specific hacks.
1612 dnl Add support for other compilers HERE!
1613 dnl GCC is already identified elsewhere.
1614 AC_TRY_RUN([int main () {
1615 #if defined __SUNPRO_C
1617 #elif defined __DECC
1623 [case "$conftest_rc" in
1624 11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
1625 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;;
1629 dnl case "$canonical" in
1630 dnl *-sun-sunos* ) test "$CPP" = "acc -E" && CPP="acc -E -Xs" ;;
1633 dnl --------------------------------------------------------------------
1634 dnl Extract some information from the operating system and machine files
1635 dnl --------------------------------------------------------------------
1637 echo "Extracting information from the machine- and system-dependent headers..."
1639 dnl It is not important that this name contain the PID; you cannot run
1640 dnl two configures in the same directory and have anything work
1642 tempcname="conftest.c"
1644 dnl CPP_to_sh(CPP_SYMBOL, SH_VAR, DEFAULT_VALUE)
1647 [#]define [$1]ifelse([$3],,, [ "$3"])
1649 configure___ [$2]=[$1]
1652 dnl CPP_boolean_to_sh(CPP_SYMBOL, SH_VAR)
1653 define([CPP_boolean_to_sh],
1655 configure___ [$2]=yes
1657 configure___ [$2]=no
1659 ])dnl CPP_boolean_to_sh
1661 cat > $tempcname <<EOF
1663 #define C_SWITCH_SITE
1664 #define C_SWITCH_X_SITE
1665 #define LD_SWITCH_SITE
1666 #define LD_SWITCH_X_SITE
1667 #define LD_SWITCH_X_SITE_AUX
1668 #define OS_RELEASE $os_release
1669 #include "$srcdir/src/$opsysfile"
1670 #include "$srcdir/src/$machfile"
1672 CPP_to_sh(LIBS_MACHINE, libs_machine)
1673 CPP_to_sh(LIBS_SYSTEM, libs_system)
1674 CPP_to_sh(LIBS_TERMCAP, libs_termcap)
1675 CPP_to_sh(LIB_STANDARD, libs_standard)
1677 CPP_to_sh(OBJECTS_MACHINE, objects_machine)
1678 CPP_to_sh(OBJECTS_SYSTEM, objects_system)
1680 CPP_to_sh(C_SWITCH_MACHINE, c_switch_machine)
1681 CPP_to_sh(C_SWITCH_SYSTEM, c_switch_system)
1683 CPP_to_sh(LD_SWITCH_MACHINE, ld_switch_machine)
1684 CPP_to_sh(LD_SWITCH_SYSTEM, ld_switch_system)
1686 CPP_to_sh(UNEXEC, unexec, unexec.o)
1688 CPP_to_sh(LD_SWITCH_SHARED, ld_switch_shared, -c)
1690 #ifdef ORDINARY_LINK
1691 #define LD "\$(CC) \$(CFLAGS)"
1692 #else /* no ORDINARY LINK */
1693 #ifdef COFF_ENCAPSULATE
1694 #define LD "\$(CC) -nostdlib"
1695 #else /* not COFF_ENCAPSULATE */
1698 #else /* ! defined (LINKER) */
1700 #endif /* ! defined (LINKER) */
1701 #endif /* ! defined (COFF_ENCAPSULATE) */
1702 #endif /* not ORDINARY_LINK */
1705 CPP_to_sh(LIB_GCC, lib_gcc)
1706 CPP_to_sh(LD_TEXT_START_ADDR, ld_text_start_addr)
1708 #if ! defined (ORDINARY_LINK) && !defined (START_FILES)
1710 #ifdef COFF_ENCAPSULATE
1711 #define START_FILES "pre-crt0.o /usr/local/lib/gcc-crt0.o"
1712 #else /* ! defined (COFF_ENCAPSULATE) */
1713 #define START_FILES "pre-crt0.o /lib/crt0.o"
1714 #endif /* ! defined (COFF_ENCAPSULATE) */
1715 #else /* ! defined (NO_REMAP) */
1716 #define START_FILES "ecrt0.o"
1717 #endif /* ! defined (NO_REMAP) */
1718 #endif /* no ORDINARY_LINK */
1722 configure___ start_files=START_FILES
1724 CPP_boolean_to_sh(ORDINARY_LINK, ordinary_link)
1725 CPP_boolean_to_sh(SYSTEM_MALLOC, system_malloc)
1726 CPP_boolean_to_sh(TERMINFO, have_terminfo)
1727 CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock)
1728 CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf)
1729 CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes)
1732 dnl The value of CPP is a quoted variable reference, so we need to do this
1733 dnl to get its actual value...
1734 CPP=`eval "echo $CPP $CPPFLAGS"`
1737 eval `$CPP -Isrc $tempcname \
1738 | sed -n -e "s/[ TAB]*=[ TAB\"]*/='/" -e "s/[ TAB\"]*\$/'/" -e "s/^configure___//p"`
1739 changequote([, ])dnl
1743 dnl For debugging...
1744 test "$extra_verbose" = "yes" && \
1745 PRINT_VAR(libs_machine libs_system libs_termcap libs_standard
1746 objects_machine objects_system c_switch_machine c_switch_system
1747 ld_switch_machine ld_switch_system unexec ld_switch_shared
1748 ld lib_gcc ld_text_start_addr start_files ordinary_link
1749 have_terminfo mail_use_flock mail_use_lockf) && echo ""
1751 dnl Non-ordinary link usually requires -lc
1752 test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
1754 dnl Compiler-specific hacks
1755 dnl DEC C requires -std
1756 test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site)
1758 dnl Calculalate value of CFLAGS:
1759 dnl Use either command line flag, environment var, or autodetection
1760 if test "$cflags_specified" = "no"; then
1761 dnl Following values of CFLAGS are known to work well.
1762 dnl Should we take debugging options into consideration?
1763 if test "$GCC" = "yes"; then
1764 CFLAGS="-g -O3 -Wall -Wno-switch"
1765 dnl I'm not convinced this is a good idea any more. -sb
1766 dnl test "$opsys $machine" = "linux intel386" && \
1767 dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
1768 elif test "$__SUNPRO_C" = "yes"; then
1770 sol2 ) CFLAGS="-v -xO4" ;;
1771 sunos4* ) CFLAGS="-xO2";;
1773 elif test "$__DECC" = "yes"; then
1775 elif test "$CC" = "xlc"; then
1776 CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
1777 dnl ### Add optimal CFLAGS support for other compilers HERE!
1779 CFLAGS="-O" ;dnl The only POSIX-approved flag
1783 dnl Inform compiler that certain flags are meant for the linker
1784 dnl XE_PROTECT_LINKER_FLAGS(shell_var)
1785 define([XE_PROTECT_LINKER_FLAGS], [
1786 if test "$GCC" = "yes"; then
1787 set x $[$1]; shift; [$1]=""
1788 while test -n "[$]1"; do
1790 -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;;
1791 -L* | -l* | -u* | -Wl* | -pg ) [$1]="$[$1] [$]1" ;;
1793 * ) [$1]="$[$1] -Xlinker [$]1" ;;
1798 XE_PROTECT_LINKER_FLAGS(ld_switch_system)
1799 XE_PROTECT_LINKER_FLAGS(ld_switch_machine)
1800 XE_PROTECT_LINKER_FLAGS(LDFLAGS)
1801 XE_PROTECT_LINKER_FLAGS(ld_call_shared)
1803 dnl Add s&m-determined objects (including unexec) to link line
1804 test -n "$objects_machine" && XE_ADD_OBJS($objects_machine)
1805 test -n "$objects_system" && XE_ADD_OBJS($objects_system)
1806 test -n "$unexec" && XE_ADD_OBJS($unexec)
1808 dnl Dynodump (Solaris 2.x, x<6)
1809 AC_MSG_CHECKING(for dynodump)
1810 if test "$unexec" != "unexsol2.o"; then
1815 XE_APPEND(dynodump, MAKE_SUBDIR)
1816 XE_APPEND(dynodump, SRC_SUBDIR_DEPS)
1818 sparc ) dynodump_arch=sparc ;;
1819 *86* ) dynodump_arch=i386 ;;
1820 powerpc ) dynodump_arch=ppc ;;
1822 dnl Dynodump requires the system linker
1823 test "$GCC" = "yes" && XE_APPEND(-fno-gnu-linker, ld_switch_site)
1826 dnl Feed s&m crud to src/Makefile
1828 dnl Linux/powerpc needs the following magic for some reason
1829 test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
1831 if test "$unexec" = "unexaix.o"; then
1832 dnl AIX needs various hacks to make static linking work.
1833 if test "$dynamic" = "no"; then
1834 start_flags="-Wl,-bnso,-bnodelcsect"
1835 test "$GCC" = "yes" && start_flags="-B/bin/ ${start_flags}"
1836 for f in "/lib/syscalls.exp" "/lib/threads.exp"; do
1837 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; fi
1839 for f in "/usr/lpp/X11/bin/smt.exp" "/usr/bin/X11/smt.exp"; do
1840 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; break; fi
1842 AC_CHECK_LIB(C, terminateAndUnload, XE_APPEND(-lC, libs_system))
1844 elif test -n "$ld_text_start_addr"; then
1845 start_flags="-T $ld_text_start_addr -e __start"
1847 AC_SUBST(start_flags)
1849 AC_SUBST(ld_switch_shared)
1850 AC_SUBST(start_files)
1851 if test "$ordinary_link" = "no" -a "$GCC" = "yes"; then
1852 test -z "$linker" && linker='$(CC) -nostdlib'
1853 test -z "$lib_gcc" && lib_gcc='`$(CC) -print-libgcc-file-name`'
1855 test "$GCC" != "yes" && lib_gcc=
1859 dnl ---------------------------------------------------------------
1860 dnl Add site and system specific flags to compile and link commands
1861 dnl ---------------------------------------------------------------
1863 dnl Allow use of either ":" or spaces for lists of directories
1864 define(COLON_TO_SPACE,
1865 [case "$[$1]" in *:* [)] [$1]="`echo '' $[$1] | sed -e 's/^ //' -e 's/:/ /g'`";; esac])dnl
1867 dnl --site-libraries (multiple dirs)
1868 COLON_TO_SPACE(site_libraries)
1869 if test -n "$site_libraries"; then
1870 for arg in $site_libraries; do
1873 * ) test -d "$arg" || \
1874 XE_DIE("Invalid site library \`$arg': no such directory")
1877 XE_APPEND($arg, ld_switch_site)
1881 dnl --site-includes (multiple dirs)
1882 COLON_TO_SPACE(site_includes)
1883 if test -n "$site_includes"; then
1884 for arg in $site_includes; do
1887 * ) test -d "$arg" || \
1888 XE_DIE("Invalid site include \`$arg': no such directory")
1891 XE_APPEND($arg, c_switch_site)
1895 dnl --site-prefixes (multiple dirs)
1896 dnl --site-prefixes=dir1:dir2 is a convenient shorthand for
1897 dnl --site-libraries=dir1/lib:dir2/lib --site-includes=dir1/include:dir2/include
1898 dnl Site prefixes take precedence over the standard places, but not over
1899 dnl site-includes and site-libraries.
1900 COLON_TO_SPACE(site_prefixes)
1901 if test -n "$site_prefixes"; then
1902 for dir in $site_prefixes; do
1903 lib_dir="${dir}/lib"
1904 inc_dir="${dir}/include"
1905 if test ! -d "$dir"; then
1906 XE_DIE("Invalid site prefix \`$dir': no such directory")
1907 elif test ! -d "$lib_dir"; then
1908 XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'")
1910 if test -d "$inc_dir"; then
1911 XE_APPEND("-I$inc_dir", c_switch_site)
1913 XE_APPEND("-L$lib_dir", ld_switch_site)
1918 dnl GNU software installs by default into /usr/local/{include,lib}
1919 dnl if test -d "/usr/local/include" -a -d "/usr/local/lib"; then
1920 dnl XE_APPEND("-L/usr/local/lib", ld_switch_site)
1921 dnl XE_APPEND("-I/usr/local/include", c_switch_site)
1924 dnl Extra system-specific library directories - please add to list
1925 for dir in "/usr/ccs/lib"; do
1926 test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_site)
1929 dnl --site-runtime-libraries (multiple dirs)
1930 COLON_TO_SPACE(site_runtime_libraries)
1931 if test -n "$site_runtime_libraries"; then
1932 LD_RUN_PATH="`echo $site_runtime_libraries | sed -e 's/ */:/g'`"
1936 dnl -------------------------------------
1937 dnl Compute runtime library path
1938 dnl -------------------------------------
1940 if test "$dynamic" = "no"; then add_runtime_path=no
1941 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
1942 else case "$opsys" in
1943 sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
1944 * ) add_runtime_path=no ;;
1948 if test "$add_runtime_path" = "yes"; then
1949 dnl Try to autodetect runtime library flag (usually -R),
1950 dnl and whether it works (or at least does no harm)
1951 AC_MSG_CHECKING("for runtime libraries flag")
1953 sol2 ) dash_r="-R" ;;
1954 decosf* | linux* | irix*) dash_r="-rpath " ;;
1957 for try_dash_r in "-R" "-R " "-rpath "; do
1958 xe_check_libs="${try_dash_r}/no/such/file-or-directory"
1959 XE_PROTECT_LINKER_FLAGS(xe_check_libs)
1960 AC_TRY_LINK(, , dash_r="$try_dash_r")
1962 test -n "$dash_r" && break
1965 if test -n "$dash_r";
1966 then AC_MSG_RESULT("\"${dash_r}\"")
1967 else AC_MSG_RESULT(NONE)
1971 xe_add_unique_runpath_dir='
1973 for xe_dir in $runpath_dirs; do dnl Uniquify
1974 test "$xe_dir" = "$xe_runpath_dir" && xe_add_p=no
1976 if test "$xe_add_p" = "yes"; then
1977 test -n "$runpath" && runpath="${runpath}:"
1978 runpath="${runpath}${xe_runpath_dir}"
1979 runpath_dirs="$runpath_dirs $xe_runpath_dir"
1983 dnl XE_ADD_RUNPATH_DIR(directory)
1984 define([XE_ADD_RUNPATH_DIR],[{
1986 dnl PRINT_VAR(ld_switch_site ld_switch_x_site runpath xe_runpath_dir LD_RUN_PATH xe_ldflags)
1987 test "$xe_runpath_dir" != "/lib" -a \
1988 "$xe_runpath_dir" != "/usr/lib" -a \
1989 -n "`ls ${xe_runpath_dir}/*.s[[ol]] 2>/dev/null`" && \
1990 eval "$xe_add_unique_runpath_dir"
1993 dnl XE_COMPUTE_RUNPATH()
1994 define([XE_COMPUTE_RUNPATH],[
1995 if test "$add_runtime_path" = "yes" -a -n "$dash_r"; then
1996 dnl Remove runtime paths from current ld switches
1997 ld_switch_site=`echo '' $ld_switch_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"`
1998 ld_switch_x_site=`echo '' $ld_switch_x_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"`
1999 dnl PRINT_VAR(ld_switch_site ld_switch_x_site)
2001 dnl Fix up Runtime path
2002 dnl If LD_RUN_PATH is set in environment, use that.
2003 dnl In this case, assume user has set the right value.
2004 runpath="" runpath_dirs=""
2005 if test -n "$LD_RUN_PATH"; then
2006 runpath="$LD_RUN_PATH"
2007 elif test "$GCC" = "yes"; then
2008 dnl Compute runpath from gcc's -v output
2009 ld_switch_run_save="$ld_switch_run"; ld_switch_run=""
2010 echo "int main(int argc, char *argv[[]]) {return 0;}" > conftest.c
2011 xe_runpath_link='${CC-cc} -o conftest -v $CFLAGS '"$xe_ldflags"' conftest.$ac_ext 2>&1 1>/dev/null'
2012 for arg in `eval "$xe_runpath_link" | grep ' -L'`; do
2013 case "$arg" in P,* | -L* | -R* )
2014 for dir in `echo '' "$arg" | sed -e 's:^ ::' -e 's/^..//' -e 'y/:/ /'`; do
2015 XE_ADD_RUNPATH_DIR("$dir")
2019 ld_switch_run="$ld_switch_run_save"
2022 dnl Add all directories with .so files to runpath
2023 for arg in $ld_switch_site $ld_switch_x_site; do
2024 case "$arg" in -L*) XE_ADD_RUNPATH_DIR(`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'`);; esac
2026 dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available
2027 if test "$opsys $need_motif" = "sol2 yes"; then
2028 xe_runpath_dir="/opt/SUNWdt/lib";
2029 eval "$xe_add_unique_runpath_dir";
2031 fi dnl Compute $runpath
2033 if test -n "$runpath"; then
2034 ld_switch_run="${dash_r}${runpath}"
2035 XE_PROTECT_LINKER_FLAGS(ld_switch_run)
2036 test "$extra_verbose" = "yes" && echo "Setting runpath to $runpath"
2040 XE_COMPUTE_RUNPATH()
2045 dnl -----------------------------------
2046 dnl Do some misc autoconf-special tests
2047 dnl -----------------------------------
2049 dnl Do the opsystem or machine files prohibit the use of the GNU malloc?
2050 dnl Assume not, until told otherwise.
2052 if test "$with_dlmalloc" != "no"; then
2057 after_morecore_hook_exists=yes
2058 AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
2059 AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
2060 AC_MSG_CHECKING(whether __after_morecore_hook exists)
2061 AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
2062 [AC_MSG_RESULT(yes)],
2064 after_morecore_hook_exists=no])
2065 if test "$system_malloc" = "yes" ; then
2068 (The GNU allocators don't work with this system configuration)."
2069 elif test "$with_system_malloc" = "yes" ; then
2072 (User chose not to use GNU allocators)."
2073 elif test "$with_debug_malloc" = "yes" ; then
2076 (User chose to use Debugging Malloc)."
2079 if test "$doug_lea_malloc" = "yes" ; then
2080 if test "$GNU_MALLOC" = yes ; then
2082 (Using Doug Lea's new malloc from the GNU C Library.)"
2084 AC_DEFINE(DOUG_LEA_MALLOC)
2085 if test "$after_morecore_hook_exists" = "no" ; then
2087 (Using Doug Lea's new malloc from the Linux C Library.)"
2088 AC_DEFINE(_NO_MALLOC_WARNING_)
2090 use_minimal_tagbits=yes
2093 dnl #### mcheck is broken in all versions of Linux libc and glibc.
2094 dnl Try this again when 2.1 hits the streets.
2095 dnl Avoid using free-hook.c if support exists for malloc debugging in libc
2096 dnl have_libmcheck=no
2097 dnl if test "$error_check_malloc" = "yes" -a \
2098 dnl "$have_glibc" = "yes" -a \
2099 dnl "$doug_lea_malloc" = "yes"; then
2100 dnl AC_CHECK_HEADERS(mcheck.h)
2101 dnl AC_CHECK_LIB(mcheck, mcheck, have_libmcheck=yes, have_libmcheck=no)
2104 dnl if test "$have_libmcheck" = "yes"; then
2105 dnl AC_DEFINE(HAVE_LIBMCHECK)
2106 dnl libmcheck=-lmcheck
2107 dnl AC_SUBST(libmcheck)
2110 dnl Some other nice autoconf tests. If you add a test here which
2111 dnl should make an entry in src/config.h, do not forget to add an
2112 dnl #undef clause to src/config.h.in for autoconf to modify.
2118 dnl checks for header files
2119 AC_CHECK_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h)
2120 AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h cygwin/version.h)
2121 AC_CHECK_HEADERS(kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
2127 dnl Some systems have utime.h but do not declare the struct anyplace.
2128 AC_MSG_CHECKING(for struct utimbuf)
2129 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
2130 #include <sys/time.h>
2133 #ifdef HAVE_SYS_TIME_H
2134 #include <sys/time.h>
2141 #endif], [static struct utimbuf x; x.actime = x.modtime;],
2143 AC_DEFINE(HAVE_STRUCT_UTIMBUF)],
2146 dnl checks for typedefs
2154 AC_MSG_CHECKING(for struct timeval)
2155 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
2156 #include <sys/time.h>
2159 #ifdef HAVE_SYS_TIME_H
2160 #include <sys/time.h>
2164 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
2167 AC_DEFINE(HAVE_TIMEVAL)],
2171 dnl checks for structure members
2175 dnl checks for compiler characteristics
2178 dnl check for Make feature
2181 dnl check byte order
2184 dnl define SIZEOF_TYPE
2185 AC_CHECK_SIZEOF(short)
2186 if test "$ac_cv_sizeof_short" = 0; then
2188 echo "*** PANIC *** Configure tests are not working - compiler is broken."
2189 echo "*** PANIC *** Please examine config.log for compilation errors."
2192 AC_CHECK_SIZEOF(int)
2193 AC_CHECK_SIZEOF(long)
2194 AC_CHECK_SIZEOF(long long)
2195 AC_CHECK_SIZEOF(void *)
2197 dnl check for long file names
2198 AC_SYS_LONG_FILE_NAMES
2200 dnl -lm is required by LISP_FLOAT_TYPE, among other things
2201 AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin))
2203 dnl Floating operation support is now unconditional
2204 AC_DEFINE(LISP_FLOAT_TYPE)
2206 AC_TRY_LINK([#include <math.h>],
2207 [return atanh(1.0) + asinh(1.0) + acosh(1.0); ],
2208 AC_DEFINE(HAVE_INVERSE_HYPERBOLIC))
2210 dnl Determine type of mail locking from configure args and s&m headers
2211 AC_CHECKING(type of mail spool file locking)
2212 test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock
2213 test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf
2214 if test "$mail_locking" = "lockf"; then AC_DEFINE(REAL_MAIL_USE_LOCKF)
2215 elif test "$mail_locking" = "flock"; then AC_DEFINE(REAL_MAIL_USE_FLOCK)
2216 else mail_locking="dot-locking"
2219 case "$opsys" in decosf*)
2220 AC_CHECK_LIB(pthreads, cma_open)
2221 test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
2222 c_switch_site="$c_switch_site -threads" ;;
2225 AC_MSG_CHECKING(whether the -xildoff compiler flag is required)
2226 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then
2227 if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ;
2228 then AC_MSG_RESULT(no);
2229 else AC_MSG_RESULT(yes); XE_APPEND(-xildoff, ld_switch_site)
2231 else AC_MSG_RESULT(no)
2234 dnl Link with "-z ignore" on Solaris if supported
2235 if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then
2236 AC_MSG_CHECKING(for \"-z ignore\" linker flag)
2237 case "`ld -h 2>&1`" in
2238 *-z\ ignore\|record* ) AC_MSG_RESULT(yes)
2239 XE_PREPEND(-z ignore, ld_switch_site) ;;
2240 *) AC_MSG_RESULT(no) ;;
2244 dnl ----------------------
2245 dnl Choose a window system
2246 dnl ----------------------
2248 AC_CHECKING("for specified window system")
2250 if test "$with_x11" != "no"; then
2251 dnl User-specified --x-includes or --x-libraries implies --with-x11.
2252 test "$x_includes $x_libraries" != "NONE NONE" && \
2253 window_system=x11 with_x11=yes
2255 dnl Autodetection of X11 libraries and includes
2256 dnl -------------------------------------------
2257 dnl AC_PATH_XTRA thinks it can find our X headers and includes, but
2258 dnl it often gets it wrong, so we only use it as a last resort.
2260 dnl $OPENWINHOME implies --x-includes and --x-libraries
2261 dnl Not (yet) handled by autoconf2
2262 if test "$x_includes $x_libraries" = "NONE NONE" \
2263 -a -n "$OPENWINHOME" \
2264 -a "$OPENWINHOME" != "/usr/openwin" \
2265 -a -d "$OPENWINHOME"; then
2266 test -d "$OPENWINHOME/lib" && x_libraries="$OPENWINHOME/lib"
2267 test -d "$OPENWINHOME/include" && x_includes="$OPENWINHOME/include"
2268 test -d "$OPENWINHOME/share/include" && x_includes="$OPENWINHOME/share/include"
2271 if test "$x_includes" = "NONE"; then
2272 dnl AC_PATH_XTRA often guesses /usr/include, when some other
2273 dnl include directory is a MUCH better guess (Linux, HP-UX 10.20).
2274 dnl This is a workaround for idiot (esp. HP) system vendors, who
2275 dnl provide a /usr/include/X11, but DON'T FULLY POPULATE IT.
2276 for dir in "/usr/X11" "/usr/X11R6"; do
2277 if test -d "$dir/include/X11"; then x_includes="$dir/include"; break; fi
2281 if test "$x_libraries" = "NONE"; then
2282 for dir in "/usr/X11/lib" "/usr/X11R6/lib" "/usr/lib/X11R6"; do
2283 if test -r "$dir/libX11.a"; then x_libraries="$dir"; break; fi
2287 AC_PATH_XTRA # Autoconf claims to find X library and include dirs for us.
2288 if test "$no_x" = "yes"
2289 then with_x11=no window_system=none HAVE_X_WINDOWS=no
2290 else with_x11=yes window_system=x11 HAVE_X_WINDOWS=yes
2295 yes ) window_system=x11 HAVE_X_WINDOWS=yes ;;
2296 no ) window_system=none HAVE_X_WINDOWS=no ;;
2299 if test "$with_x11" = "yes"; then
2300 AC_DEFINE(HAVE_X_WINDOWS)
2301 XE_APPEND(lwlib, MAKE_SUBDIR)
2302 XE_APPEND(lwlib, SRC_SUBDIR_DEPS)
2304 dnl Try to find Motif/CDE/Tooltalk dirs
2305 dnl These take precedence over other X libs/includes, so PRE-pend
2306 for lib_dir in "/usr/dt/lib" "/usr/lib/Motif2.1" "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do
2307 inc_dir=`echo $lib_dir | sed -e 's/lib/include/'`
2308 if test -d "$lib_dir" -a -d "$inc_dir"; then
2309 case "$x_libraries" in *"$lib_dir"* ) ;; *)
2310 x_libraries="$lib_dir $x_libraries"
2311 XE_PREPEND(-L${lib_dir}, X_LIBS) ;;
2313 case "$x_includes" in "$inc_dir"* ) ;; *)
2314 x_includes="$inc_dir $x_includes"
2315 XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;;
2317 break; dnl only need ONE Motif implementation!
2321 dnl Contrib X libs/includes do NOT take precedence, so AP-pend
2322 for rel in "X11R6" "X11R5" "X11R4"; do
2323 lib_dir="/usr/contrib/$rel/lib" inc_dir="/usr/contrib/$rel/include"
2324 if test -d "$lib_dir" -a -d "$inc_dir"; then
2325 case "$x_libraries" in *"$lib_dir"* ) ;; *)
2326 x_libraries="$x_libraries $lib_dir"
2327 XE_APPEND(-L${lib_dir}, X_LIBS)
2329 case "$x_includes" in "$inc_dir"* ) ;; *)
2330 x_includes="$x_includes $inc_dir"
2331 XE_APPEND(-I${inc_dir}, X_CFLAGS)
2333 break; dnl Only need ONE X11 implementation !
2337 dnl Avoid version mismatch for shared library libXm.so on osf4
2338 if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi
2340 ld_switch_x_site="$X_LIBS"
2342 XE_COMPUTE_RUNPATH()
2344 if test "$extra_verbose" = "yes"; then
2345 echo; echo "X11 compilation variables:"
2346 PRINT_VAR(x_libraries x_includes X_CFLAGS X_LIBS X_PRE_LIBS X_EXTRA_LIBS)
2350 dnl Set up bitmaps search path.
2351 dnl The original suggestion was to unconditionally to append X11/bitmaps
2352 dnl to each element of $x_includes, I'm pretty sure this is the wrong
2353 dnl thing to do. We test for bitmaps and X11/bitmaps directories on each
2354 dnl element and add them to BITMAPDIR if they exist.
2356 if test "$x_includes" != NONE; then
2357 for i in $x_includes; do
2358 if test -d "$i/bitmaps"; then
2359 bitmapdirs="$i/bitmaps:$bitmapdirs"
2361 if test -d "$i/X11/bitmaps"; then
2362 bitmapdirs="$i/X11/bitmaps:$bitmapdirs"
2365 bitmapdirs=`echo "$bitmapdirs" | sed s/.$//`
2367 test ! -z "$bitmapdirs" && AC_DEFINE_UNQUOTED(BITMAPDIR, "$bitmapdirs")
2369 dnl Autodetect defines extracted from X config by xmkmf, e.g. NARROWPROTO
2370 AC_CHECKING(for X defines extracted by xmkmf)
2372 if mkdir conftestdir; then
2374 cat > Imakefile <<'EOF'
2376 @echo ${PROTO_DEFINES} ${STD_DEFINES}
2378 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
2379 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
2380 xmkmf_defines=`${MAKE-make} xetest 2>/dev/null | grep -v make`
2384 for word in $xmkmf_defines; do
2387 -D* ) word=`echo '' $word | sed -e 's:^ *-D::'`
2388 AC_DEFINE_UNQUOTED($word) ;;
2393 dnl make sure we can find Intrinsic.h
2394 AC_CHECK_HEADER(X11/Intrinsic.h, ,
2395 [AC_MSG_ERROR("Unable to find X11 header files.")])
2397 dnl -lXt and -lX11 are required
2398 dnl Some broken systems require the magic "-b i486-linuxaout" flag
2399 AC_CHECK_LIB(X11, XOpenDisplay, have_lib_x11=yes)
2400 if test "$have_lib_x11" != "yes"; then
2401 AC_CHECK_LIB(X11, XGetFontProperty,
2402 ld_switch_x_site="-b i486-linuxaout $ld_switch_x_site",
2403 [AC_MSG_ERROR("Unable to find X11 libraries.")],
2407 test "$extra_verbose" = "yes" && echo " Setting libs_x to \"-lX11\""
2409 dnl Autodetect -lXext
2410 AC_CHECK_LIB(Xext, XShapeSelectInput, XE_PREPEND(-lXext, libs_x))
2413 AC_CHECK_LIB(Xt, XtOpenDisplay, XE_PREPEND(-lXt, libs_x),
2414 AC_MSG_ERROR("Unable to find X11 libraries."))
2416 AC_MSG_CHECKING(the version of X11 being used)
2417 AC_TRY_RUN([#include <X11/Intrinsic.h>
2418 int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }],
2419 [./conftest foobar; x11_release=$?],[x11_release=4],[x11_release=4])
2420 AC_MSG_RESULT(R${x11_release})
2421 AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
2423 AC_CHECK_HEADERS(X11/Xlocale.h)
2425 dnl remove this - we should avoid checking for specific OS
2426 AC_MSG_CHECKING(for XFree86)
2427 if test -d "/usr/X386/include" -o \
2428 -f "/etc/XF86Config" -o \
2429 -f "/etc/X11/XF86Config" -o \
2430 -f "/usr/X11R6/lib/X11/XF86Config"; then
2432 AC_DEFINE(HAVE_XFREE386)
2437 dnl autodetect -lXmu
2438 test -z "$with_xmu" && { AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile,
2439 with_xmu=yes, with_xmu=no) }
2440 if test "$with_xmu" = "no"; then
2443 XE_PREPEND(-lXmu, libs_x)
2447 dnl Autodetect -lXbsd
2448 dnl #### Someone, please add a better function than main
2449 AC_CHECK_LIB(Xbsd, main, XE_PREPEND(-lXbsd, libs_x))
2451 dnl Problem with the MIT distribution of X on AIX
2452 if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then
2453 dnl X11R6 requires thread-safe code on AIX for some reason
2454 if test "$GCC" = "yes"; then
2455 XE_PREPEND(-mthreads, X_CFLAGS)
2456 XE_PREPEND(-mthreads, libs_x)
2459 "xlc" ) CC="xlc_r" ;;
2460 "xlC" ) CC="xlC_r" ;;
2466 fi dnl $with_x11 = yes
2468 if test "$with_msw" != "no"; then
2469 AC_CHECKING(for MS-Windows)
2470 AC_CHECK_LIB(gdi32,main,with_msw=yes)
2471 if test "$with_msw" = "yes"; then
2472 AC_DEFINE(HAVE_MS_WINDOWS)
2473 install_pp="$blddir/lib-src/installexe.sh"
2474 XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32, libs_system)
2475 test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
2476 if test "$window_system" != x11; then
2478 test "$with_scrollbars" != "no" && with_scrollbars=msw \
2479 && XE_ADD_OBJS(scrollbar-msw.o)
2480 test "$with_menubars" != "no" && with_menubars=msw \
2481 && XE_ADD_OBJS(menubar-msw.o)
2482 test "$with_toolbars" != "no" && with_toolbars=msw \
2483 && XE_ADD_OBJS(toolbar-msw.o)
2484 test "$with_dialogs" != "no" && with_dialogs=msw \
2485 && XE_ADD_OBJS(dialog-msw.o)
2487 test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-msw.o)
2488 test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-msw.o)
2489 test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-msw.o)
2490 test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-msw.o)
2492 dnl check for our special version of select
2493 AC_TRY_RUN([#include <fcntl.h>
2494 int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }],
2495 [AC_DEFINE(HAVE_MSG_SELECT)])
2497 with_file_coding=yes
2498 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)
2502 AC_SUBST(install_pp)
2504 test -z "$window_system" && window_system="none"
2506 dnl Test for features that require a window system - ANY window system
2507 if test "$window_system" = "none"; then
2508 for feature in menubars scrollbars toolbars dialogs dragndrop xface
2510 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
2511 AC_MSG_WARN([--with-$feature ignored: Not valid without window system support])
2513 eval "with_${feature}=no"
2516 test -z "$with_toolbars" && with_toolbars=yes
2519 dnl ### Test for features that require mswindows support - currently none
2520 dnl ### MS-Windows folks: add code here..... (martin)
2521 if test "$with_msw" != "yes"; then
2522 for feature in MARTIN_IS_CLUELESS_ABOUT_MSW_FEATURES
2524 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
2525 AC_MSG_WARN([--with-$feature ignored: Not valid without MS-Windows support])
2527 eval "with_${feature}=no"
2533 dnl Test for features that require X11 support
2534 if test "$with_x11" != "yes"; then
2535 dnl It ought to be reasonable to have no output device at all, and only use
2536 dnl XEmacs in --batch mode.
2537 dnl if test "$with_tty" = "no" ; then
2538 dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
2540 for feature in tooltalk cde offix wmcommand xim xmu
2542 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
2543 AC_MSG_WARN([--with-$feature ignored: Not valid without X support])
2545 eval "with_${feature}=no"
2549 dnl FSF 19.29 has some bitmapdir stuff here.
2552 case "$window_system" in
2553 x11 ) HAVE_X_WINDOWS=yes; echo " Using X11." ;;
2554 msw ) HAVE_X_WINDOWS=no ; echo " Using MS-Windows." ;;
2555 none ) HAVE_X_WINDOWS=no ; echo " Using no window system." ;;
2558 case "$x_libraries" in *X11R4* )
2559 test "$opsys" = "hpux9" && opsysfile="s/hpux9-x11r4.h"
2560 test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h"
2563 dnl Enable or disable proper handling of WM_COMMAND
2564 AC_CHECKING(for WM_COMMAND option);
2565 dnl if test "$with_wmcommand" = "yes"; then
2566 if test "$with_wmcommand" != "no"; then
2567 AC_DEFINE(HAVE_WMCOMMAND)
2570 dnl Autodetect Xauth
2571 dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
2572 test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
2573 test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
2574 test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no) }
2575 test -z "$with_xauth" && with_xauth=yes
2576 if test "$with_xauth" = "yes"; then
2577 AC_DEFINE(HAVE_XAUTH)
2578 XE_SPACE(libs_xauth, $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS)
2580 AC_SUBST(libs_xauth)
2582 dnl This one is for the static initializeds variables in
2583 dnl offix.c, so that the thing is dumped after lastfile.o
2586 dnl Autodetect tooltalk
2587 if test "$with_tooltalk" != "no" ; then
2588 dnl autodetect the location of tt_c.h
2589 dnl tt_c.h might be in Tt or desktop include directories
2590 for dir in "" "Tt/" "desktop/" ; do
2591 AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break)
2593 if test -z "$tt_c_h_path"; then
2594 if test "$with_tooltalk" = "yes"; then
2595 USAGE_ERROR("Unable to find required tooltalk header files.")
2600 if test "$with_tooltalk" != "no" ; then
2601 for extra_libs in "" "-lI18N -lce" "-lcxx"; do
2602 AC_CHECK_LIB(tt, tt_message_create,
2603 tt_libs="-ltt $extra_libs"; break, [:],$extra_libs)
2605 if test -z "$tt_libs"; then
2606 if test "$with_tooltalk" = "yes"; then
2607 USAGE_ERROR("Unable to find required tooltalk libraries.")
2612 test -z "$with_tooltalk" && with_tooltalk=yes
2613 if test "$with_tooltalk" = "yes"; then
2615 AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path")
2616 XE_PREPEND($tt_libs, libs_x)
2617 XE_ADD_OBJS(tooltalk.o)
2621 test -z "$with_cde" && { AC_CHECK_HEADER(Dt/Dt.h, , with_cde=no) }
2622 test -z "$with_cde" && { AC_CHECK_LIB(DtSvc, DtDndDragStart, [:], with_cde=no) }
2623 test -z "$with_cde" && with_cde=yes
2624 if test "$with_dragndrop" = no; then
2625 AC_MSG_WARN([No CDE without generic Drag'n'Drop support])
2628 if test "$with_cde" = "yes" ; then
2630 XE_PREPEND(-lDtSvc, libs_x)
2631 XE_APPEND(CDE, dragndrop_proto)
2632 with_tooltalk=yes # CDE requires Tooltalk
2633 need_motif=yes # CDE requires Motif
2636 dnl Always compile OffiX unless --without-offix is given, no
2637 dnl X11 support is compiled in, no standard Xmu is available,
2638 dnl or dragndrop support is disabled
2639 dnl Because OffiX support currently loses when more than one display
2640 dnl is in use, we now disable it by default -slb 07/10/1998.
2641 test "$window_system" != "x11" && with_offix=no
2642 if test "$with_xmu" != yes -a "$with_x11" = yes; then
2643 AC_MSG_WARN([No OffiX without real Xmu support])
2646 if test "$with_dragndrop" = no; then
2647 AC_MSG_WARN([No OffiX without generic Drag'n'Drop support])
2650 if test "$with_cde" = yes; then
2651 AC_MSG_WARN([CDE already found, disabling OffiX support])
2654 test -z "$with_offix" && with_offix=no
2655 if test "$with_offix" = "yes"; then
2656 AC_DEFINE(HAVE_OFFIX_DND)
2657 XE_APPEND(offix.o, dnd_objs)
2658 XE_APPEND(OffiX, dragndrop_proto)
2661 dnl Autodetect Drag'n'Drop support
2662 dnl always included if CDE, Offix, or MSWindows are defined
2663 AC_MSG_CHECKING(if drag and drop API is needed)
2664 if test "$with_dragndrop" != "no" ; then
2665 if test -n "$dragndrop_proto" ; then
2667 AC_MSG_RESULT([yes (${dragndrop_proto} )])
2668 AC_DEFINE(HAVE_DRAGNDROP)
2669 XE_APPEND(dragdrop.o, extra_objs)
2677 AC_CHECKING(for LDAP)
2678 test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) }
2679 test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) }
2680 if test "$with_ldap" != "no"; then
2681 AC_CHECK_LIB(ldap, ldap_search, with_ldap_nolber=yes, with_ldap_nolber=no)
2682 test "$with_ldap_nolber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_lber=yes, with_ldap_lber=no, -llber) }
2683 test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" \) && with_ldap=yes
2685 if test "$with_ldap" = "yes"; then
2686 AC_DEFINE(HAVE_LDAP)
2687 XE_ADD_OBJS(eldap.o)
2688 if test "$with_ldap_nolber" = "yes" ; then
2689 XE_PREPEND(-lldap, LIBS)
2691 XE_PREPEND(-llber, LIBS)
2692 XE_PREPEND(-lldap, LIBS)
2694 AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
2697 dnl ----------------------
2698 dnl Graphics libraries
2699 dnl ----------------------
2701 if test "$window_system" != "none"; then
2702 AC_CHECKING(for graphics libraries)
2706 if test -z "$with_xpm"; then
2707 AC_MSG_CHECKING(for Xpm - no older than 3.4f)
2709 AC_TRY_RUN([#include <X11/xpm.h>
2710 int main(int c, char **v) {
2712 XpmIncludeVersion != XpmLibraryVersion() ? 1 :
2713 XpmIncludeVersion < 30406 ? 2 : 0 ;}],
2714 [./conftest dummy_arg; xpm_status=$?;
2715 if test "$xpm_status" = "0"; then
2719 if test "$xpm_status" = "1"; then
2720 xpm_problem="Xpm library version and header file version don't match!"
2721 elif test "$xpm_status" = "2"; then
2722 xpm_problem="Xpm library version is too old!"
2724 xpm_problem="Internal xpm detection logic error!"
2727 *** WARNING *** $xpm_problem
2728 I'm not touching that with a 10-foot pole!
2729 If you really want to use the installed version of Xpm, rerun
2730 configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
2734 AC_MSG_RESULT($with_xpm)
2736 if test "$with_xpm" = "yes"; then
2738 XE_PREPEND(-lXpm, libs_x)
2739 AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
2741 AC_TRY_LINK(, [XpmCreatePixmapFromData()],
2745 AC_MSG_RESULT($xpm_for_msw)
2746 if test "$xpm_for_msw" = "yes"; then
2751 dnl Autodetect XFACE
2752 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
2753 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
2754 test -z "$with_xface" && with_xface=yes
2755 if test "$with_xface" = "yes"; then
2756 AC_DEFINE(HAVE_XFACE)
2757 XE_PREPEND(-lcompface, libs_x)
2760 dnl For a brief period we had the GIF code split out into a separate library,
2761 dnl but patent problems, etc. sort of squashed that idea.
2762 dnl We default to building with builtin GIF decoding
2763 if test "$with_gif" != "no"; then
2766 XE_ADD_OBJS(dgif_lib.o gif_io.o)
2769 dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime
2770 dnl So we always search for libz compression support.
2771 if test "$with_png $with_tiff" != "no no"; then
2772 AC_CHECK_LIB(c, inflate, [:], [
2773 AC_CHECK_LIB(z, inflate, [XE_PREPEND(-lz, libs_x)],[
2774 AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])])
2778 test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) }
2779 test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) }
2780 test -z "$with_jpeg" && with_jpeg=yes
2781 if test "$with_jpeg" = "yes"; then
2782 AC_DEFINE(HAVE_JPEG)
2783 XE_PREPEND(-ljpeg, libs_x)
2788 test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) }
2789 test -z "$with_png" && { AC_CHECK_HEADER(png.h, ,with_png=no) }
2790 test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no) }
2791 if test -z "$with_png"; then
2792 AC_MSG_CHECKING(for workable png version information)
2793 xe_check_libs="-lpng -lz"
2794 AC_TRY_RUN([#include <png.h>
2795 int main(int c, char **v) {
2796 if (c == 1) return 0;
2797 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
2798 return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}],
2799 [./conftest dummy_arg; png_status=$?;
2800 if test "$png_status" = "0"; then
2804 if test "$png_status" = "1"; then
2805 png_problem="PNG library version and header file don't match!"
2806 elif test "$png_status" = "2"; then
2807 png_problem="PNG library version too old (pre 1.0.2)!"
2810 *** WARNING *** $png_problem
2811 I'm not touching that with a 10-foot pole!
2812 If you really want to use the installed version of libPNG, rerun
2813 configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
2817 AC_MSG_RESULT($with_png)
2819 if test "$with_png" = "yes"; then
2821 XE_PREPEND(-lpng, libs_x)
2825 test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) }
2826 test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFClientOpen,[:],with_tiff=no) }
2827 test -z "$with_tiff" && with_tiff=yes
2828 if test "$with_tiff" = "yes"; then
2829 AC_DEFINE(HAVE_TIFF)
2830 XE_PREPEND(-ltiff, libs_x)
2834 dnl ----------------------
2835 dnl X-Specific Graphics libraries
2836 dnl ----------------------
2838 if test "$with_x11" = "yes"; then
2840 AC_CHECKING(for X11 graphics libraries)
2842 dnl Autodetect -lXaw
2843 AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no)
2844 dnl if test "$have_xaw" = "yes"; then
2845 dnl AC_CHECK_HEADER(X11/Xaw/Reports.h, [
2846 dnl XE_APPEND(pkg-src/tree-x, MAKE_SUBDIR)
2847 dnl XE_APPEND(pkg-src/tree-x, INSTALL_ARCH_DEP_SUBDIR)])
2850 dnl autodetect Motif - but only add to libs_x later (if necessary)
2851 AC_CHECK_HEADER(Xm/Xm.h,
2852 [AC_CHECK_LIB(Xm, XmStringFree, have_motif=yes, have_motif=no)],
2855 if test "$have_motif" = "yes"; then
2856 dnl autodetect lesstif
2857 AC_MSG_CHECKING(for Lesstif)
2860 #ifdef LESSTIF_VERSION
2863 ], have_lesstif=yes, have_lesstif=no)
2864 AC_MSG_RESULT($have_lesstif)
2867 fi dnl "$with_x11" = "yes"
2869 dnl Finish ensuring that we have values for the various toolkit items.
2870 dnl Not all toolkits support all widgets
2871 dnl if Motif is available we use it for the dialog boxes.
2873 case "$with_menubars" in "" | "yes" | "athena" | "athena3d" )
2874 with_menubars="lucid" ;;
2876 case "$with_dialogs" in "" | "yes" | "lucid" )
2877 if test "$have_motif" = "yes"; then with_dialogs="motif"
2878 elif test "$have_xaw" = "yes"; then with_dialogs="athena"
2879 else with_dialogs=no
2882 case "$with_scrollbars" in "" | "yes" )
2883 with_scrollbars="lucid" ;;
2885 case "$with_widgets" in "" | "yes" )
2886 if test "$have_motif" = "yes"; then with_widgets="motif"
2887 else with_widgets=no
2891 all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_widgets"
2893 case "$all_widgets" in *athena* )
2894 AC_DEFINE(LWLIB_USES_ATHENA)
2895 AC_DEFINE(NEED_ATHENA)
2896 XE_APPEND(lwlib-Xaw.o, lwlib_objs)
2897 XE_PREPEND(-lXaw, libs_x) ;;
2900 case "$all_widgets" in *motif* )
2901 AC_DEFINE(LWLIB_USES_MOTIF)
2902 AC_DEFINE(NEED_MOTIF)
2903 XE_APPEND(lwlib-Xm.o, lwlib_objs)
2907 test "$with_menubars" = "lucid" && XE_APPEND(xlwmenu.o, lwlib_objs)
2908 test "$with_menubars" = "motif" && XE_APPEND(xlwmenu.o, lwlib_objs)
2909 test "$with_scrollbars" = "lucid" && XE_APPEND(xlwscrollbar.o, lwlib_objs)
2910 case "$all_widgets" in *lucid* )
2911 AC_DEFINE(NEED_LUCID)
2912 XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;;
2915 AC_SUBST(lwlib_objs)
2917 case "$with_scrollbars" in athena* ) AC_DEFINE(LWLIB_SCROLLBARS_ATHENA);; esac
2918 case "$with_dialogs" in athena* ) AC_DEFINE(LWLIB_DIALOGS_ATHENA) ;; esac
2919 test "$with_scrollbars" = "athena3d" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
2920 test "$with_dialogs" = "athena3d" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
2922 test "$with_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS)
2923 test "$with_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS)
2924 test "$with_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS)
2925 test "$with_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS)
2927 test "$with_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID)
2928 test "$with_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID)
2930 test "$with_menubars" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF)
2931 test "$with_scrollbars" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF)
2932 test "$with_dialogs" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF)
2934 test "$with_menubars" != "no" && XE_ADD_OBJS(menubar.o)
2935 test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar.o)
2936 test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog.o)
2937 test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar.o)
2939 if test "$with_x11" = "yes"; then
2940 test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-x.o)
2941 test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-x.o)
2942 test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-x.o)
2943 test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-x.o)
2944 test "$all_widgets" != "no no no no no" && XE_ADD_OBJS(gui-x.o)
2946 if test \( "$with_sound" = "nas" \) -o \( "$with_sound" = "both" \); then
2947 echo "Attempt to Build NAS sound without X"
2948 echo "Please remove NAS configuration or build with X"
2953 dnl ----------------------
2954 dnl Mule-dependent options
2955 dnl ----------------------
2957 test -z "$with_mule" && with_mule=no
2958 test -z "$with_file_coding" && with_file_coding=no
2960 dnl if test "$with_mule" = "yes" && test ! -d "$srcdir/lisp/mule"; then
2961 dnl echo "Attempt to Build with Mule without Mule/Lisp"
2962 dnl echo "Please install the XEmacs/Mule tarball or"
2963 dnl echo "rerun configure with --with-mule=no"
2967 if test "$with_file_coding" = "yes" && test "$with_mule" = "no"; then
2968 AC_DEFINE(FILE_CODING)
2969 XE_ADD_OBJS(file-coding.o)
2972 if test "$with_mule" = "yes" ; then
2973 AC_CHECKING(for Mule-related features)
2975 AC_DEFINE(FILE_CODING)
2976 XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o file-coding.o)
2978 dnl Use -lintl to get internationalized strerror for Mule
2979 AC_CHECK_HEADERS(libintl.h)
2980 AC_CHECK_LIB(intl, strerror)
2982 AC_CHECKING(for Mule input methods)
2983 dnl Do we have the XmIm* routines? And if so, do we want to use them?
2984 dnl XIM seems to be flaky except on Solaris...
2985 dnl test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no
2986 case "$with_xim" in "" | "yes" )
2987 AC_CHECKING(for XIM)
2988 AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no)
2989 dnl XIM + Lesstif is not (yet?) usable
2990 if test "$have_motif $have_lesstif" = "yes no"; then
2991 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
2994 if test "$with_xim" != "no"; then
2996 if test "$with_xim" = "xlib"; then
2998 XE_ADD_OBJS(input-method-xlib.o)
3000 if test "$with_xim" = "motif"; then
3001 AC_DEFINE(XIM_MOTIF)
3003 XE_ADD_OBJS(input-method-motif.o)
3005 if test "$with_xim" = "motif"; then
3010 dnl "with_xfs" = "yes"
3011 if test "$with_xfs" = "yes" ; then
3012 AC_CHECKING(for XFontSet)
3013 AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no)
3014 if test "$with_xfs" = "yes" && test "$with_menubars" = "lucid"; then
3015 AC_DEFINE(USE_XFONTSET)
3016 if test "$with_xim" = "no" ; then
3017 XE_ADD_OBJS(input-method-xfs.o)
3023 test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
3024 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) }
3025 dnl Detour to find crypt
3026 if test "$with_wnn" != "no"; then
3027 AC_CHECK_FUNCS(crypt)
3028 test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) }
3030 dnl Back to our regularly scheduled wnn hunting
3031 if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
3032 AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn,
3033 AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4,
3034 AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6,
3035 AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no))))
3037 test -z "$with_wnn" && with_wnn=yes
3038 if test "$with_wnn" = "yes"; then
3040 XE_PREPEND(-l$libwnn, libs_x)
3041 XE_ADD_OBJS(mule-wnnfns.o)
3042 if test "$with_wnn6" != "no"; then
3043 AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes)
3044 test "$with_wnn6" = "yes" && AC_DEFINE(WNN6)
3048 dnl Autodetect canna
3049 canna_includes_found=no
3050 if test "$with_canna" != "no"; then
3051 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
3053 if test "$canna_includes_found" = "no" -a "$with_canna" != "no" -a \
3054 -d "/usr/local/canna/include"; then
3055 save_c_switch_site="$c_switch_site"
3056 c_switch_site="$c_switch_site -I/usr/local/canna/include"
3057 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
3058 if test "$canna_includes_found" != "yes"; then
3059 c_switch_site="$save_c_switch_site"
3064 test -z "$with_canna" && { AC_CHECK_HEADER(canna/RK.h, , with_canna=no) }
3065 test -z "$with_canna" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],with_canna=no) }
3066 test -z "$with_canna" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],with_canna=no) }
3067 test -z "$with_canna" && with_canna=yes
3068 if test "$with_canna" = "yes"; then
3069 AC_DEFINE(HAVE_CANNA)
3070 XE_PREPEND(-lcanna -lRKC, libs_x)
3071 XE_ADD_OBJS(mule-canna.o)
3074 else dnl "$with_mule" = "no"
3075 for feature in xim canna wnn; do
3076 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
3077 AC_MSG_WARN("--with-${feature} ignored: Not valid without Mule support")
3079 eval "with_${feature}=no"
3084 dnl At this point, we know whether we need the motif lib or not.
3085 if test "$need_motif" = "yes" ; then
3086 XE_PREPEND(-lXm, libs_x)
3087 dnl AIX needs the following library for use with Motif
3088 AC_CHECK_LIB(i18n, layout_object_getvalue, [XE_PREPEND(-li18n, libs_x)])
3089 XE_COMPUTE_RUNPATH()
3092 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)
3094 dnl realpath is buggy on linux, decosf and aix4
3096 dnl The realpath() in linux libc (4.6.27) sometimes fails with ELOOP.
3097 dnl The realpath in ELF linux libc's is O.K.
3098 dnl For example, call realpath on a file thirty-five or so directories deep
3099 dnl and you get ELOOP even if no symlinks at all are involved.
3100 dnl Reports as of 11/1997 indicate BSDi has problems too.
3101 dnl The realpath() in UnixWare2.1.3 could not get any pathname fragment in error condition.
3103 linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) XE_ADD_OBJS(realpath.o) ;;
3105 case "$canonical" in
3106 *-*-sysv4.2uw2* ) XE_ADD_OBJS(realpath.o) ;;
3107 * ) AC_CHECK_FUNCS(realpath)
3108 test "$ac_cv_func_realpath" != "yes" && XE_ADD_OBJS(realpath.o) ;;
3112 dnl Check whether the system provides getloadavg (Solaris 7 has it)
3113 AC_CHECK_FUNCS(getloadavg)
3115 if test "$ac_cv_func_getloadavg" != "yes"
3117 XE_ADD_OBJS(getloadavg.o)
3119 dnl Used by getloadavg() - does not require root priveleges
3120 AC_CHECK_LIB(kstat, kstat_open)
3122 dnl Another way to get the load average
3123 AC_CHECK_LIB(kvm, kvm_read)
3126 dnl If netdb.h does not declare h_errno, we must declare it by hand.
3127 AC_MSG_CHECKING(whether netdb declares h_errno)
3128 AC_TRY_LINK([#include <netdb.h>],
3131 AC_DEFINE(HAVE_H_ERRNO)],
3132 [AC_MSG_RESULT(no)])
3134 AC_MSG_CHECKING(for sigsetjmp)
3135 AC_TRY_COMPILE([#include <setjmp.h>],
3136 [sigjmp_buf bar; sigsetjmp (bar, 0);],
3138 AC_DEFINE(HAVE_SIGSETJMP)],
3139 [AC_MSG_RESULT(no)])
3141 AC_MSG_CHECKING(whether localtime caches TZ)
3142 AC_CACHE_VAL(emacs_cv_localtime_cache,
3143 [if test "$ac_cv_func_tzset" = "yes"; then
3144 AC_TRY_RUN([#include <time.h>
3146 # include <stdlib.h>
3148 extern char **environ;
3152 for (to = from = environ; (*to = *from); from++)
3153 if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '='))
3156 char TZ_GMT0[] = "TZ=GMT0";
3157 char TZ_PST8[] = "TZ=PST8";
3160 time_t now = time ((time_t *) 0);
3161 int hour_GMT0, hour_unset;
3162 if (putenv (TZ_GMT0) != 0)
3164 hour_GMT0 = localtime (&now)->tm_hour;
3166 hour_unset = localtime (&now)->tm_hour;
3167 if (putenv (TZ_PST8) != 0)
3169 if (localtime (&now)->tm_hour == hour_GMT0)
3172 if (localtime (&now)->tm_hour != hour_unset)
3175 }], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
3176 [# If we have tzset, assume the worst when cross-compiling.
3177 emacs_cv_localtime_cache=yes])
3179 # If we lack tzset, report that localtime does not cache TZ,
3180 # since we can't invalidate the cache if we don't have tzset.
3181 emacs_cv_localtime_cache=no
3183 AC_MSG_RESULT($emacs_cv_localtime_cache)
3184 if test $emacs_cv_localtime_cache = yes; then
3185 AC_DEFINE(LOCALTIME_CACHE)
3188 if test "$HAVE_TIMEVAL" = "yes"; then
3189 AC_MSG_CHECKING(whether gettimeofday accepts one or two arguments)
3191 #ifdef TIME_WITH_SYS_TIME
3192 #include <sys/time.h>
3195 #ifdef HAVE_SYS_TIME_H
3196 #include <sys/time.h>
3203 struct timeval time;
3204 struct timezone dummy;
3205 gettimeofday (&time, &dummy);
3207 [AC_MSG_RESULT(two)],
3209 AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)])
3214 if test "$ac_cv_c_inline" != "no"; then
3215 AC_DEFINE(HAVE_INLINE)
3216 test "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
3219 dnl HP-UX has a working alloca in libPW.
3220 dnl case "${GCC}${opsys}" in hpux* )
3221 dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
3225 test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
3227 dnl Check whether vfork exists and works correctly. (This does more
3228 dnl than just check for its existence.) If so, it defines HAVE_VFORK_H.
3229 dnl If not, it defines vfork to be fork.
3232 dnl Check whether strcoll exists and works correctly. (This does more
3233 dnl than just check for its existence.) If so, it defines HAVE_STRCOLL.
3236 dnl If `getpgrp' takes no argument (the POSIX.1 version), define
3237 dnl `GETPGRP_VOID'. Otherwise, it is the BSD version, which takes a
3238 dnl process ID as an argument.
3239 AC_CHECK_FUNCS(getpgrp)
3242 dnl We used to call AC_FUNC_MMAP here
3243 dnl Instead we now use following, suggested by Neal Becker
3244 AC_MSG_CHECKING(for working mmap)
3245 case "$opsys" in ultrix* ) have_mmap=no ;; *)
3246 AC_TRY_RUN([#include <stdio.h>
3249 #include <sys/mman.h>
3251 #ifndef MAP_VARIABLE
3252 #define MAP_VARIABLE 0
3256 #define MAP_FAILED -1
3259 int main (int argc, char *argv[])
3263 #ifndef MAP_ANONYMOUS
3264 fd = open ("/dev/zero", O_RDWR);
3267 #define MAP_ANONYMOUS 0
3269 if (mmap(0, 1024, PROT_READ | PROT_WRITE,
3270 MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS,
3271 fd, 0) != (void *) MAP_FAILED)
3273 perror ("conftest: mmap failed");
3275 }], have_mmap=yes, have_mmap=no) ;;
3277 AC_MSG_RESULT($have_mmap)
3278 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
3281 dnl rel_alloc requires either GNU malloc or system malloc with mmap
3282 dnl We only turn rel_alloc on by default if mmap is available.
3283 test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no
3284 test "$rel_alloc" = "default" -a "$have_mmap" = "yes" && rel_alloc=yes
3285 test "$rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC)
3287 dnl Check for terminal I/O variants
3288 dnl TERMIOS systems may have termio.h, but not vice-versa, I think.
3289 AC_CHECK_HEADER(termios.h,
3290 AC_DEFINE(HAVE_TERMIOS)
3291 AC_DEFINE(SIGNALS_VIA_CHARACTERS)
3292 AC_DEFINE(NO_TERMIO),
3293 [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])])
3296 dnl Check for Internet sockets.
3297 AC_CHECK_FUNC(socket,
3298 [AC_CHECK_HEADER(netinet/in.h,
3299 [AC_CHECK_HEADER(arpa/inet.h, [
3300 AC_DEFINE(HAVE_SOCKETS)
3301 AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
3303 #include <sys/types.h>
3304 #include <sys/socket.h>
3307 [static struct sockaddr_un x; x.sun_len = 1;],
3308 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
3309 [AC_MSG_RESULT(no)])
3310 AC_MSG_CHECKING("for ip_mreq struct in netinet/in.h")
3312 #include <sys/types.h>
3313 #include <netinet/in.h>
3315 [static struct ip_mreq x;],
3316 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MULTICAST)],
3317 [AC_MSG_RESULT(no)])])])])
3319 dnl Check for SYS V IPC. (Inferior to sockets.)
3320 AC_CHECK_FUNC(msgget,
3321 [AC_CHECK_HEADER(sys/ipc.h,
3322 [AC_CHECK_HEADER(sys/msg.h,
3323 [AC_DEFINE(HAVE_SYSVIPC)])])])
3325 dnl Check for directory variants
3326 AC_CHECK_HEADER(dirent.h, [AC_DEFINE(SYSV_SYSTEM_DIR)],
3327 [AC_CHECK_HEADER(sys/dir.h, , [AC_DEFINE(NONSYSTEM_DIR_LIBRARY)])])
3329 dnl Check for nlist.h
3330 AC_CHECK_HEADER(nlist.h, AC_DEFINE(NLIST_STRUCT), )
3332 dnl Check for sound of various sorts.
3334 dnl Autodetect native sound
3335 AC_CHECKING("for sound support")
3336 case "$with_sound" in
3337 native | both ) with_native_sound=yes;;
3338 nas | no ) with_native_sound=no;;
3340 test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes
3342 if test "$with_native_sound" != "no"; then
3343 dnl Maybe sound is already on include path...
3344 if test -n "$native_sound_lib"; then
3345 AC_CHECK_HEADER(multimedia/audio_device.h,
3346 [sound_found=yes sound_cflags=""
3347 XE_ADD_OBJS(sunplay.o)])
3350 dnl Autodetect Sun native sound from SUNWaudmo package
3351 if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then
3353 XE_ADD_OBJS(sunplay.o)
3354 if test -d "/usr/demo/SOUND/include"
3355 then sound_cflags="-I/usr/demo/SOUND/include"
3356 else sound_cflags="-I/usr/demo/SOUND"
3358 if test -z "$native_sound_lib" ; then
3359 if test -r "/usr/demo/SOUND/lib/libaudio.a"
3360 then native_sound_lib="/usr/demo/SOUND/lib/libaudio.a"
3361 else native_sound_lib="/usr/demo/SOUND/libaudio.a"
3366 dnl Check for SGI and HP native sound libs
3367 if test -z "$sound_found"; then
3368 case "$canonical" in
3370 if test -z "$native_sound_lib"; then
3371 AC_CHECK_LIB(audio, ALopenport, native_sound_lib="-laudio")
3373 if test -n "$native_sound_lib"; then
3374 sound_found=yes sound_cflags=""
3375 XE_ADD_OBJS(sgiplay.o)
3378 if test -z "$native_sound_lib"; then
3379 AC_CHECK_LIB(Alib, AOpenAudio, native_sound_lib="-lAlib")
3381 if test -n "$native_sound_lib"; then
3383 XE_ADD_OBJS(hpplay.o)
3384 if test "$GCC" = "yes" # Kludge city
3385 then sound_cflags="-Dconst= -Dvolatile= -I/usr/audio/examples"
3386 else sound_cflags="+e -I/usr/audio/examples"
3392 dnl Check for Linux/BSD native sound
3393 if test -z "$sound_found"; then
3394 for dir in "machine" "sys" "linux"; do
3395 AC_CHECK_HEADER(${dir}/soundcard.h,
3397 XE_ADD_OBJS(linuxplay.o)
3398 [AC_DEFINE_UNQUOTED(SOUNDCARD_H_PATH, "${dir}/soundcard.h")]
3403 test "$sound_found" = "yes" && with_native_sound=yes
3406 if test -z "$with_sound"; then
3407 if test "$with_native_sound" = "yes" -o -n "$native_sound_lib"; then
3412 if test "$with_native_sound" = "yes"; then
3413 AC_DEFINE(HAVE_NATIVE_SOUND)
3414 test -n "$native_sound_lib" && XE_PREPEND($native_sound_lib, LIBS)
3417 case "$with_sound" in both | nas )
3418 AC_DEFINE(HAVE_NAS_SOUND)
3420 XE_PREPEND(-laudio, libs_x)
3421 dnl If the nas library does not contain the error jump point,
3422 dnl then we force safer behavior.
3423 AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[AC_DEFINE(NAS_NO_ERROR_JUMP)])
3426 dnl ---------------------
3427 dnl TTY-dependent options
3428 dnl ---------------------
3430 test -z "$with_tty" && with_tty=yes
3432 if test "$with_tty" = "yes" ; then
3433 AC_CHECKING(for TTY-related features)
3435 XE_ADD_OBJS(console-tty.o device-tty.o event-tty.o frame-tty.o objects-tty.o redisplay-tty.o cm.o)
3437 dnl Autodetect ncurses.
3438 if test -z "$with_ncurses"; then
3439 AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no)
3441 if test "$with_ncurses" = "yes"; then
3442 AC_DEFINE(HAVE_NCURSES)
3443 AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h)
3444 AC_CHECK_HEADER(ncurses/term.h, term_h_path=ncurses/term.h)
3445 XE_ADD_OBJS(terminfo.o)
3446 XE_PREPEND(-lncurses, LIBS)
3448 if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
3449 dnl Try again, and check for the bogus ncurses/ include bug.
3450 dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of
3451 dnl <ncurses/unctrl.h>)
3452 save_c_switch_site="$c_switch_site"
3453 c_switch_site="$c_switch_site -I/usr/include/ncurses"
3454 AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h)
3455 if test "$ac_cv_header_ncurses_curses_h" = "yes"
3456 then AC_MSG_WARN("Your system has the bogus ncurses include bug.")
3457 else c_switch_site="$save_c_switch_site"
3460 else dnl "$with_ncurses" = "no"
3461 dnl Autodetect terminfo/-lcurses/-ltermlib/-ltermcap
3462 if test "$have_terminfo" = "yes"; then
3463 XE_ADD_OBJS(terminfo.o)
3464 if test -n "$libs_termcap"; then
3465 XE_PREPEND($libs_termcap, LIBS)
3467 for lib in curses termlib termcap; do
3468 AC_CHECK_LIB($lib, tgetent, XE_PREPEND(-l${lib}, LIBS); break)
3471 else dnl "$have_terminfo" = "no" && "with_ncurses" = "no"
3472 XE_ADD_OBJS(tparam.o)
3473 dnl The HP-UX curses library seems to have a badly broken version of select(2)
3474 dnl that makes "poll: interrupted system call" messages to appear and
3475 dnl Emacs suprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
3476 case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
3477 if test -n "$libs_termcap"; then
3478 XE_PREPEND($libs_termcap, LIBS)
3480 AC_CHECK_LIB(curses, tgetent, XE_PREPEND(-lcurses, LIBS),
3481 AC_CHECK_LIB(termcap, tgetent, XE_PREPEND(-ltermcap, LIBS),
3482 XE_ADD_OBJS(termcap.o)))
3486 AC_DEFINE_UNQUOTED(CURSES_H_PATH, "${curses_h_path-curses.h}")
3487 AC_DEFINE_UNQUOTED(TERM_H_PATH, "${term_h_path-term.h}")
3490 test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) }
3491 test -z "$with_gpm" && { AC_CHECK_LIB(gpm, Gpm_Open, with_gpm=yes, with_gpm=no) }
3492 if test "$with_gpm" = "yes"; then
3494 XE_ADD_OBJS(gpmevent.o)
3495 XE_PREPEND(-lgpm, LIBS)
3498 else dnl "$with_tty" = "no"
3499 for feature in ncurses gpm; do
3500 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
3501 AC_MSG_WARN("--with-${feature} ignored: Not valid without TTY support")
3503 eval "with_${feature}=no"
3507 dnl Do we need event-unixoid.o ?
3508 test "$with_x11" = "yes" -o "$with_tty" = "yes" && XE_ADD_OBJS(event-unixoid.o)
3510 dnl Database support
3511 dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
3512 dnl On FreeBSD, both DB and DBM are part of libc.
3513 dnl By default, we check for DBM support in libgdbm, then libc, then libdbm.
3515 test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
3516 != "no no no" && AC_CHECKING(for database support)
3518 dnl Check for ndbm.h, required for either kind of DBM support.
3519 if test "$with_database_gnudbm $with_database_dbm" != "no no"; then
3520 AC_CHECK_HEADER(ndbm.h, [:], [
3521 test "$with_database_gnudbm" = "yes" -o \
3522 "$with_database_dbm" = "yes" && \
3523 XE_DIE("Required DBM support cannot be provided.")
3524 with_database_gnudbm=no with_database_dbm=no])
3527 dnl Check for DBM support in libgdbm.
3528 if test "$with_database_gnudbm" != "no"; then
3529 AC_CHECK_LIB(gdbm, dbm_open, [
3530 with_database_gnudbm=yes with_database_dbm=no libdbm=-lgdbm], [
3531 if test "$with_database_gnudbm" = "yes"; then
3532 XE_DIE("Required GNU DBM support cannot be provided.")
3534 with_database_gnudbm=no])
3537 dnl Check for DBM support in libc and libdbm.
3538 if test "$with_database_dbm" != "no"; then
3539 AC_CHECK_FUNC(dbm_open, [with_database_dbm=yes libdbm=], [
3540 AC_CHECK_LIB(dbm, dbm_open, [with_database_dbm=yes libdbm=-ldbm], [
3541 test "$with_database_dbm" = "yes" && \
3542 XE_DIE("Required DBM support cannot be provided.")
3543 with_database_dbm=no])])
3546 dnl Tell make about the DBM support we detected.
3547 test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
3548 test "$with_database_gnudbm" = "yes" -o \
3549 "$with_database_dbm" = "yes" && \
3552 dnl Check for Berkeley DB.
3553 if test "$with_database_berkdb" != "no"; then
3554 AC_MSG_CHECKING(for Berkeley db.h)
3555 for path in "db/db.h" "db.h"; do
3556 AC_TRY_COMPILE([#ifdef HAVE_INTTYPES_H
3557 #define __BIT_TYPES_DEFINED__
3558 #include <inttypes.h>
3559 typedef uint8_t u_int8_t;
3560 typedef uint16_t u_int16_t;
3561 typedef uint32_t u_int32_t;
3562 #ifdef WE_DONT_NEED_QUADS
3563 typedef uint64_t u_int64_t;
3567 ],[], db_h_path="$path"; break)
3569 if test -z "$db_h_path"
3570 then AC_MSG_RESULT(no); with_database_berkdb=no
3571 else AC_MSG_RESULT($db_h_path)
3574 if test "$with_database_berkdb" != "no"; then
3575 AC_MSG_CHECKING(for Berkeley DB version)
3577 [#include <$db_h_path>
3578 #if DB_VERSION_MAJOR > 1
3581 ], [AC_MSG_RESULT(2); dbfunc=db_open], [AC_MSG_RESULT(1); dbfunc=dbopen])
3582 AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
3583 AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
3586 if test "$with_database_berkdb" = "yes"; then
3587 AC_DEFINE_UNQUOTED(DB_H_PATH, "$db_h_path")
3588 AC_DEFINE(HAVE_BERKELEY_DB)
3589 test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS)
3590 else with_database_berkdb=no
3594 if test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
3596 AC_DEFINE(HAVE_DATABASE)
3597 XE_ADD_OBJS(database.o)
3601 if test "$with_socks" = "yes"; then
3602 AC_CHECK_LIB(socks, SOCKSinit)
3603 test -n "$ac_cv_lib_socks_SOCKSinit" && AC_DEFINE(HAVE_SOCKS)
3606 dnl Usage tracking (undocumented and likely unused option)
3607 if test "$usage_tracking" = "yes"; then
3608 AC_DEFINE(USAGE_TRACKING)
3609 XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS)
3612 dnl autodetect dll support
3613 AC_CHECK_HEADERS(dlfcn.h, [have_dlfcn=yes
3614 AC_DEFINE(HAVE_DLFCN_H)])
3615 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(dl, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=dl; 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" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
3618 test -z "$with_shlib" && { AC_CHECK_LIB(dld, shl_load, [ AC_DEFINE(HAVE_SHL_LOAD) DLL_LIB=dld; with_shlib=yes]) }
3619 test -z "$with_shlib" && { AC_CHECK_LIB(dld, dld_init, [ AC_DEFINE(HAVE_DLD_INIT) DLL_LIB=dld; with_shlib=yes]) }
3620 if test "$with_shlib" = "yes"; then
3622 if test "$can_build_shared" = "yes"; then
3623 AC_DEFINE(HAVE_SHLIB)
3624 XE_ADD_OBJS(sysdll.o)
3625 XE_ADD_OBJS(emodules.o)
3626 XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
3627 test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS)
3628 AC_CHECK_FUNCS(dlerror _dlerror)
3630 AC_MSG_WARN(disabling shared library support)
3635 dnl Unfortunately, just because we can link doesn't mean we can run.
3636 dnl One of the above link tests may have succeeded but caused resulting
3637 dnl executables to fail to run. Also any tests using AC_TRY_RUN will
3638 dnl have reported incorrect results.
3639 AC_TRY_RUN([int main(int c,char *v[]){return 0;}],[:],[
3641 echo "*** PANIC *** The C compiler can no longer build working executables."
3642 echo "*** PANIC *** Please examine the tail of config.log for runtime errors."
3643 echo "*** PANIC *** The most likely reason for this problem is that configure"
3644 echo "*** PANIC *** links with shared libraries, but those libraries cannot be"
3645 echo "*** PANIC *** found at run time."
3646 echo "*** PANIC ***"
3647 echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig."
3648 echo "*** PANIC *** On other systems, try telling configure where to find the"
3649 echo "*** PANIC *** shared libraries using the --site-runtime-libraries option"
3650 echo "*** PANIC ***"
3651 echo "*** PANIC *** Another way to shoot yourself in the foot is to specify"
3652 echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed"
3653 echo "*** PANIC *** on your system. Don't do that."
3657 if test "$win32_processes" = "yes"; then
3658 XE_ADD_OBJS(process-nt.o)
3660 AC_DEFINE(HAVE_UNIX_PROCESSES)
3661 XE_ADD_OBJS(process-unix.o)
3664 dnl --------------------------------
3665 dnl Compute SUBST-itutable variables
3666 dnl --------------------------------
3668 dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM)
3669 dnl Use XE_SPACE instead of plain assignment statements to remove extraneous blanks
3670 XE_SPACE(CFLAGS, $CFLAGS)
3671 XE_SPACE(extra_objs, $extra_objs)
3672 XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system)
3673 XE_SPACE(c_switch_window_system, $c_switch_x_site $X_CFLAGS)
3674 XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system)
3675 XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_run)
3676 XE_SPACE(ld_switch_window_system, $ld_switch_x_site)
3677 XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system)
3678 XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard)
3679 XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $X_PRE_LIBS)
3680 XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general)
3682 dnl Compute lists of Makefiles and subdirs
3683 AC_SUBST(SRC_SUBDIR_DEPS)
3684 XE_APPEND(src, MAKE_SUBDIR)
3685 internal_makefile_list="Makefile.in"
3687 test -d lock || mkdir lock
3688 for dir in $MAKE_SUBDIR; do
3689 case "$dir" in */* ) dnl Implement mkdir -p
3690 ( for d in `echo $dir | sed 's:/: :g'` ; do
3691 test -d "$d" || mkdir "$d"; cd "$d"
3693 * ) test -d "$dir" || mkdir "$dir" ;;
3695 XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile)
3696 XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in)
3698 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR)
3699 AC_SUBST(MAKE_SUBDIR)
3700 AC_SUBST(SUBDIR_MAKEFILES)
3702 dnl Make s&m symlinks in the src directory, for config.h
3703 for dir in src/s src/m; do
3704 if test ! -d "$dir" ; then
3705 echo Making symbolic link to "$srcdir/$dir"
3706 ${LN_S} "$srcdir/$dir" "$dir"
3710 if test "$extra_verbose" = "yes"; then
3712 PRINT_VAR(extra_objs
3713 c_switch_general c_switch_window_system c_switch_all
3714 ld_switch_general ld_switch_window_system ld_switch_all
3715 ld_libs_general ld_libs_window_system ld_libs_all)
3719 dnl Create some auxiliary files
3720 if test -f $srcdir/src/gdbinit -a ! -f src/gdbinit ; then
3721 echo "creating src/gdbinit"; echo ""
3722 echo "source $srcdir/src/gdbinit" > src/gdbinit
3725 dnl Create top level .sbinit for Sun compilers
3726 if test "$__SUNPRO_C" = "yes"; then
3727 echo "creating .sbinit"; echo ""
3728 ( echo "# For use with Sun WorkShop's Source browser."
3729 echo "# See sbquery(1) and sbinit(4) for more information"
3730 for dir in $MAKE_SUBDIR; do echo "import $dir"; done
3734 dnl There are no more compile tests; remove the core they created.
3737 dnl ----------------------------------------------
3738 dnl Substitute into Makefile, config.h and paths.h
3739 dnl ----------------------------------------------
3741 dnl what sort of things to edit into Makefile, config.h and paths.h
3742 dnl configuration here uncanonicalized to avoid exceeding size limits.
3746 AC_SUBST(configuration)
3757 AC_SUBST(PREFIX_USER_DEFINED)
3758 dnl Yo, Stephen Bourne! I want to marry you!
3762 *\$* ) eval "PREFIX=$PREFIX" ;;
3768 AC_SUBST(exec_prefix)
3769 AC_SUBST(EXEC_PREFIX_USER_DEFINED)
3770 EXEC_PREFIX=$exec_prefix
3772 case "$EXEC_PREFIX" in
3773 *\$* ) eval "EXEC_PREFIX=$EXEC_PREFIX" ;;
3777 AC_SUBST(EXEC_PREFIX)
3780 AC_SUBST(INFODIR_USER_DEFINED)
3784 *\$* ) eval "INFODIR=$INFODIR" ;;
3791 AC_SUBST(INFOPATH_USER_DEFINED)
3795 *\$* ) eval "INFOPATH=$INFOPATH" ;;
3801 AC_SUBST(package_path)
3802 AC_SUBST(PACKAGE_PATH_USER_DEFINED)
3803 PACKAGE_PATH=$package_path
3805 case "$PACKAGE_PATH" in
3806 *\$* ) eval "PACKAGE_PATH=$PACKAGE_PATH" ;;
3810 AC_SUBST(PACKAGE_PATH)
3813 AC_SUBST(LISPDIR_USER_DEFINED)
3817 *\$* ) eval "LISPDIR=$LISPDIR" ;;
3824 AC_SUBST(MODULEDIR_USER_DEFINED)
3825 MODULEDIR=$moduledir
3827 case "$MODULEDIR" in
3828 *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
3834 AC_SUBST(sitelispdir)
3835 AC_SUBST(SITELISPDIR_USER_DEFINED)
3836 SITELISPDIR=$sitelispdir
3838 case "$SITELISPDIR" in
3839 *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
3843 AC_SUBST(SITELISPDIR)
3845 AC_SUBST(sitemoduledir)
3846 AC_SUBST(SITEMODULEDIR_USER_DEFINED)
3847 SITEMODULEDIR=$sitemoduledir
3849 case "$SITEMODULEDIR" in
3850 *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;;
3854 AC_SUBST(SITEMODULEDIR)
3857 AC_SUBST(ETCDIR_USER_DEFINED)
3861 *\$* ) eval "ETCDIR=$ETCDIR" ;;
3868 AC_SUBST(LOCKDIR_USER_DEFINED)
3872 *\$* ) eval "LOCKDIR=$LOCKDIR" ;;
3879 AC_SUBST(DOCDIR_USER_DEFINED)
3883 *\$* ) eval "DOCDIR=$DOCDIR" ;;
3889 AC_SUBST(archlibdir)
3890 AC_SUBST(ARCHLIBDIR_USER_DEFINED)
3891 ARCHLIBDIR=$archlibdir
3893 case "$ARCHLIBDIR" in
3894 *\$* ) eval "ARCHLIBDIR=$ARCHLIBDIR" ;;
3898 AC_SUBST(ARCHLIBDIR)
3902 AC_SUBST(extra_objs)
3904 dnl The following flags combine all the information from:
3905 dnl - command line options (user always gets priority)
3906 dnl - user environment variables
3907 dnl - determined by configure
3908 dnl - the s&m header files (required for ellcc)
3911 AC_SUBST(c_switch_general)
3912 AC_SUBST(c_switch_window_system)
3913 AC_SUBST(c_switch_all)
3914 AC_SUBST(ld_switch_general)
3915 AC_SUBST(ld_switch_window_system)
3916 AC_SUBST(ld_switch_all)
3917 AC_SUBST(ld_libs_general)
3918 AC_SUBST(ld_libs_window_system)
3919 AC_SUBST(ld_libs_all)
3923 RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
3924 AC_SUBST(RECURSIVE_MAKE)
3926 AC_SUBST(native_sound_lib)
3927 AC_SUBST(sound_cflags)
3929 AC_SUBST(dynodump_arch)
3931 dnl Preliminary support for using a different compiler for xemacs itself.
3932 dnl Useful for building XEmacs with a C++ or 64-bit compiler.
3936 dnl The default is yes
3937 if test "$with_prefix" = "yes"; then
3938 AC_DEFINE(PREFIX_USER_DEFINED)
3941 dnl The default is no
3942 if test "$with_site_lisp" = "no"; then
3943 AC_DEFINE(INHIBIT_SITE_LISP)
3945 dnl The default is yes
3946 if test "$with_site_modules" = "no"; then
3947 AC_DEFINE(INHIBIT_SITE_MODULES)
3950 XE_SPACE(ac_configure_args, $ac_configure_args)
3951 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical")
3952 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
3953 AC_DEFINE_UNQUOTED(config_machfile, "$machfile")
3954 AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
3956 dnl Following are deprecated
3959 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, $null_string)
3960 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, $null_string)
3961 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, $null_string)
3962 AC_DEFINE_UNQUOTED(LD_SWITCH_SITE, $null_string)
3963 AC_DEFINE_UNQUOTED(C_SWITCH_SITE, $null_string)
3965 dnl Note: as a general rule, *only* define things here that are not
3966 dnl autodetected. For things that are autodetected, define them
3967 dnl at the point where the autodetection occurs or would occur,
3968 dnl so that the user gets immediate feedback on the results of the
3971 if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC)
3972 elif test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC)
3973 elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC)
3974 AC_DEFINE(USE_SYSTEM_MALLOC)
3976 test "$with_i18n3" = "yes" && AC_DEFINE(I18N3)
3977 test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
3978 test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
3979 test "$no_doc_file" = "yes" && AC_DEFINE(NO_DOC_FILE)
3980 dnl test "$const_is_losing" = "yes" && AC_DEFINE(CONST_IS_LOSING)
3981 test "$with_purify" = "yes" && AC_DEFINE(PURIFY)
3982 test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY)
3983 test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP)
3984 test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS)
3985 test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD)
3986 test "$use_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE)
3988 dnl -------------------------------
3989 dnl Report on what we decided to do
3990 dnl -------------------------------
3993 dnl /etc/osversion is on SONY NEWS-OS
3994 if test -f /etc/osversion; then dnl SONY NEWS-OS
3995 echo "osversion: `cat /etc/osversion`"
3997 echo "uname -a: `uname -a`"
4000 echo "$0 $quoted_arguments"
4003 if test ! -z ${emacs_beta_version} ; then
4004 if test -z "${emacs_is_beta}" ; then
4005 xemacs_betaname=".${emacs_beta_version}"
4007 xemacs_betaname="-b${emacs_beta_version}"
4013 dnl Start stdout redirection to '| tee -a Installation'
4017 XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" configured for \`$canonical'.
4019 Where should the build process find the source code? $srcdir
4020 What installation prefix should install use? $prefix
4021 What operating system and machine description files should XEmacs use?
4022 \`$opsysfile' and \`$machfile'
4023 What compiler should XEmacs be built with? $CC $CFLAGS
4024 Should XEmacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason}
4025 Should XEmacs use the relocating allocator for buffers? $rel_alloc
4026 What window system should XEmacs use? ${window_system}"
4027 if test "$with_x11" = "yes"; then
4028 echo " Where do we find X Windows header files? $x_includes"
4029 echo " Where do we find X Windows libraries? $x_libraries"
4031 if test -n "$site_includes"; then
4032 echo " Additional header files: $site_includes"
4034 if test -n "$site_libraries"; then
4035 echo " Additional libraries: $site_libraries"
4037 if test -n "$site_prefixes"; then
4038 echo " Additional prefixes: $site_prefixes"
4040 if test -n "$runpath"; then
4041 echo " Runtime library search path: $runpath"
4043 test "$with_dnet" = yes && echo " Compiling in support for DNET."
4044 test "$with_socks" = yes && echo " Compiling in support for SOCKS."
4045 test "$with_xauth" = yes && echo " Compiling in support for XAUTH."
4046 if test "$with_xmu" != yes -a "$with_x11" = yes; then
4047 echo " No Xmu; substituting equivalent routines."
4050 if test "$with_xpm" = yes; then
4051 echo " Compiling in support for XPM images."
4052 elif test "$with_x11" = yes; then
4053 echo " --------------------------------------------------------------------"
4054 echo " WARNING: Compiling without XPM support."
4055 if test "$xpm_problem" != ""; then
4056 echo " Reason: $xpm_problem"
4058 echo " WARNING: You should strongly consider installing XPM."
4059 echo " WARNING: Otherwise toolbars and other graphics will look suboptimal."
4060 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
4061 echo " --------------------------------------------------------------------"
4063 if test "$with_png" = yes; then
4064 echo " Compiling in support for PNG image handling."
4065 elif test "$window_system" != "none"; then
4066 echo " --------------------------------------------------------------------"
4067 echo " WARNING: Compiling without PNG image support."
4068 if test "$png_problem" != ""; then
4069 echo " Reason: $png_problem"
4071 echo " WARNING: You should strongly consider installing the PNG libraries."
4072 echo " WARNING: Otherwise certain images and glyphs may not display."
4073 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
4074 echo " --------------------------------------------------------------------"
4076 test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling."
4077 test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling."
4078 test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling."
4079 test "$with_xface" = yes && echo " Compiling in support for X-Face message headers."
4080 case "$with_sound" in
4081 nas ) echo " Compiling in network sound (NAS) support." ;;
4082 native ) echo " Compiling in native sound support." ;;
4083 both ) echo " Compiling in both network and native sound support." ;;
4085 test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously."
4087 test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB."
4088 test "$with_database_dbm" = yes && echo " Compiling in support for DBM."
4089 test "$with_database_gnudbm" = yes && echo " Compiling in support for GNU DBM."
4091 test "$with_ldap" = yes && echo " Compiling in support for LDAP."
4093 test "$with_ncurses" = yes && echo " Compiling in support for ncurses."
4094 test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)."
4096 test "$with_mule" = yes && echo " Compiling in Mule (multi-lingual) support."
4097 test "$with_file_coding" = yes && echo " Compiling in File coding support."
4098 test "$with_xim" != no && echo " Compiling in XIM (X11R5+ I18N input method) support."
4099 test "$with_xim" = motif && echo " Using Motif to provide XIM support."
4100 test "$with_xim" = xlib && echo " Using raw Xlib to provide XIM support."
4101 test "$with_xfs" = yes && echo " Using XFontSet to provide bilingual menubar."
4102 test "$with_canna" = yes && echo " Compiling in support for Canna on Mule."
4103 if test "$with_wnn" = yes; then
4104 echo " Compiling in support for the WNN input method on Mule."
4105 test "$with_wnn6" = yes && echo " Using WNN version 6."
4107 test "$with_i18n3" = yes && echo " Compiling in I18N support, level 3 (doesn't currently work)."
4109 test "$with_cde" = yes && echo " Compiling in support for CDE."
4110 test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
4111 test "$with_offix" = yes && echo " Compiling in support for OffiX."
4112 test "$with_dragndrop" = yes && echo " Compiling in EXPERIMENTAL support for Drag'n'Drop ($dragndrop_proto )."
4113 test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop."
4114 test "$with_wmcommand" != no && echo " Compiling in support for proper WM_COMMAND handling."
4115 case "$with_menubars" in
4116 lucid ) echo " Using Lucid menubars." ;;
4117 motif ) echo " Using Motif menubars."
4118 echo " *WARNING* The Motif menubar implementation is currently buggy."
4119 echo " We recommend using the Lucid menubar instead."
4120 echo " Re-run configure with --with-menubars='lucid'." ;;
4122 case "$with_scrollbars" in
4123 lucid ) echo " Using Lucid scrollbars." ;;
4124 motif ) echo " Using Motif scrollbars." ;;
4125 athena ) echo " Using Athena scrollbars." ;;
4126 athena3d ) echo " Using Athena-3d scrollbars." ;;
4128 case "$with_dialogs" in
4130 echo " Using Motif dialog boxes."
4131 if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
4132 echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher."
4133 echo " We recommend using the Athena dialog boxes instead."
4134 echo " Install libXaw and re-run configure with --with-dialogs='athena'."
4135 echo " Read the PROBLEMS file for more information."
4138 athena ) echo " Using Athena dialog boxes." ;;
4139 athena3d ) echo " Using Athena-3d dialog boxes." ;;
4141 test "$with_shlib" = "yes" && echo " Compiling in DLL support."
4142 test "$with_clash_detection" = yes && \
4143 echo " Clash detection will use \"$lockdir\" for locking files."
4144 echo " movemail will use \"$mail_locking\" for locking mail spool files."
4145 test "$with_pop" = yes && echo " Using POP for mail access."
4146 test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication."
4147 test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host."
4148 test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
4149 test "$debug" = yes && echo " Compiling in extra code for debugging."
4150 test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)."
4151 if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc" \
4152 != "no no no no no"; then
4153 echo " WARNING: ---------------------------------------------------------"
4154 echo " WARNING: Compiling in support for runtime error checking."
4155 echo " WARNING: XEmacs will run noticeably more slowly as a result."
4156 echo " WARNING: Error checking is on by default for XEmacs beta releases."
4157 echo " WARNING: ---------------------------------------------------------"
4160 ) | tee -a Installation
4161 dnl echo "The above configure report is appended to \"Installation\" file."
4164 dnl -----------------------------------
4165 dnl Now generate config.h and Makefiles
4166 dnl -----------------------------------
4167 dnl This has to be called in order for this variable to get into config.status
4168 AC_SUBST(internal_makefile_list)
4169 # Remove any trailing slashes in these variables.
4170 test -n "$prefix" &&
4171 prefix=`echo '' "$prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
4172 test -n "$exec_prefix" &&
4173 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
4175 dnl Build Makefile.in's from Makefile.in.in's
4176 dnl except ./Makefile from $srcdir/Makefile.in
4178 for file in $internal_makefile_list; do
4179 test "$file" = src/Makefile.in && \
4180 file="src/Makefile.in:src/Makefile.in.in:src/depend"
4181 ac_output_files="${ac_output_files+$ac_output_files }$file"
4183 ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
4184 if test "$with_shlib" = "yes"; then
4185 ac_output_files="$ac_output_files lib-src/ellcc.h"
4188 AC_OUTPUT($ac_output_files,
4189 [for dir in . $MAKE_SUBDIR; do
4194 sed -e '/^# Generated/d' \
4195 -e 's%/\*\*/#.*%%' \
4197 dnl Delete Makefile.in.in comment lines
4199 dnl Pass through CPP directives unchanged
4204 dnl Quote other lines to protect from CPP substitution
4211 dnl Create a GNUmakefile and Makefile from Makefile.in.
4213 changequote(<<,>>)dnl
4214 dnl CPP_MAKEFILE(CPPFLAGS,filename)
4215 define(<<CPP_MAKEFILE>>,
4216 echo creating $dir/<<$2>>
4217 $CPP -I. -I${top_srcdir}/src <<$1>> junk.c \
4218 dnl Delete line directives inserted by $CPP
4219 | sed -e 's/^\#.*//' \
4220 dnl Delete spurious blanks inserted by $CPP
4221 -e 's/^[ TAB][ TAB]*$//'\
4223 dnl Delete blank lines
4224 | sed -n -e '/^..*$/p' \
4225 dnl Restore lines quoted above to original contents.
4231 chmod 444 Makefile.new
4232 mv -f Makefile.new <<$2>>
4235 CPP_MAKEFILE(,Makefile)
4236 CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile)
4242 dnl Append AC_DEFINE information to lib-src/config.values
4243 dnl (AC_SUBST information is already there (see config.values.sh).
4244 sed < config.status >> lib-src/config.values \
4245 -e '/{ac_dA}.*{ac_dB}.*{ac_dC}.*{ac_dD}$/!d' \
4246 -e 's/\${ac_dA}\(.*\)\${ac_dB}.*\${ac_dC}\(.*\)\${ac_dD}/\1 \2/' \
4247 -e 's/^\([[^ ]]*\) $/\1 ""/' \
4252 top_srcdir="$srcdir"
4253 MAKE_SUBDIR="$MAKE_SUBDIR"