Mercurial > hg > xemacs-beta
annotate configure.ac @ 4450:ac6231e0c1df
Automated merge with file:/Sources/xemacs-21.5-checked-out
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 07 May 2008 21:21:08 +0200 |
parents | 13ce402e1736 e4225b6d9389 |
children | 49f8ed034500 |
rev | line source |
---|---|
2651 | 1 dnl XEmacs config script for autoconf 2.5. |
2 dnl ------------------------------------------------------------------------- | |
3 dnl Overrides of standard autoconf macros. | |
4 | |
5 # AC_LANG(C) | |
6 # ---------- | |
7 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. | |
8 m4_define([AC_LANG(C)], | |
9 [ac_ext=c | |
10 xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS' | |
11 xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site $ld_switch_run' | |
12 xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard' | |
13 ac_cpp='$CPP '"$xe_cppflags" | |
2667 | 14 ac_compile='$CC -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext >&AS_MESSAGE_LOG_FD' |
2651 | 15 ac_link='$CC -o conftest$ac_exeext $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' >&AS_MESSAGE_LOG_FD' |
16 ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
17 ]) | |
3003 | 18 dnl |
2651 | 19 dnl ------------------------------------------------------------------------- |
20 dnl Autoconf startup. | |
3003 | 21 dnl |
22 dnl Due to a dependence on the implementation of certain internal autoconf | |
23 dnl macros, die if any version other than 2.59 is used. | |
2651 | 24 AC_PREREQ(2.59)dnl |
3050 | 25 AC_INIT([XEmacs],[21.5],[xemacs-beta@xemacs.org])dnl |
26 AC_CONFIG_SRCDIR(src/lisp.h)dnl | |
3003 | 27 dnl |
2651 | 28 dnl ------------------------------------------------------------------------- |
29 dnl Local copyright notices. | |
30 | |
31 AC_COPYRIGHT( | |
3073 | 32 [Configuration script for XEmacs. Largely divergent from FSF. |
33 Guess values for system-dependent variables and create Makefiles. | |
34 | |
3418 | 35 Copyright (C) 1992-1999, 2001-2006 Free Software Foundation, Inc. |
3073 | 36 Copyright (C) 1993, 1994, 1995 Board of Trustees, University of Illinois. |
37 Copyright (C) 1996, 1997 Sun Microsystems, Inc. | |
38 Copyright (C) 1995, 1996, 2002, 2003, 2004 Ben Wing. | |
39 Copyright (C) 2000, 2001 Martin Buchholz. | |
40 Copyright (C) 1998, 1999 J. Kean Johnston. | |
41 Copyright (C) 2005 Malcolm Purvis | |
42 | |
43 Don't edit this script! | |
44 This script was automatically generated by the `autoconf' program | |
45 from the file `./configure.ac'. To rebuild it, execute the command: | |
46 | |
47 autoconf | |
48 | |
49 in the this directory. You must have autoconf version 2.59. | |
50 | |
51 This file is part of XEmacs. | |
52 | |
53 XEmacs is free software; you can redistribute it and/or modify it | |
54 under the terms of the GNU General Public License as published by | |
55 the Free Software Foundation; either version 2, or (at your | |
56 option) any later version. | |
57 | |
58 XEmacs is distributed in the hope that it will be useful, but | |
59 WITHOUT ANY WARRANTY; without even the implied warranty of | |
60 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
61 General Public License for more details. | |
62 | |
63 You should have received a copy of the GNU General Public License | |
64 along with XEmacs; see the file COPYING. If not, write to the Free | |
65 Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
66 Boston, MA 02110-1301, USA. | |
67 | |
68 For usage, run `./configure --help' | |
69 For more detailed information on building and installing XEmacs, | |
70 read the file `INSTALL'. | |
71 | |
72 If configure succeeds, it leaves its status in config.status. | |
73 A log of configuration tests can be found in config.log. | |
74 If configure fails after disturbing the status quo, | |
75 config.status is removed. | |
2651 | 76 ]) |
77 | |
78 dnl ------------------------------------------------------------------------- | |
79 dnl Program name (sanitize $0) | |
80 dnl Remove any more than one leading "." element from the path name. | |
81 dnl config.status prepends another "./" at each use. This confuses | |
82 dnl move-if-change. | |
83 dnl | |
84 dnl Unfortunately, some seds (Ultrix's) don't allow you to apply * to a | |
85 dnl \( \) group. Bleah. Remove the level config.status adds, at least. | |
86 dnl | |
87 dnl If there's reason to prefer $0 over this, make sure you fix all the | |
88 dnl uses in this script!! | |
89 progname="`echo $0 | sed 's:^\./\./:\./:'`" | |
3003 | 90 dnl |
2651 | 91 dnl ------------------------------------------------------------------------- |
92 dnl Local macros | |
3003 | 93 dnl |
2651 | 94 define([USAGE_ERROR], |
95 [(echo "$progname: Usage error:" | |
96 echo " " $1 | |
3003 | 97 echo " Use \`$progname --help' to show usage.") >&2 && exit 1])dnl |
98 dnl | |
2651 | 99 dnl PRINT_VAR(var var ...) prints values of shell variables |
100 define([PRINT_VAR],[for var in patsubst([$1],[[ | |
3003 | 101 ]+],[ ]); do eval "echo \"$var = '\$$var'\""; done])dnl |
102 dnl | |
2651 | 103 dnl XE_ADD_OBJS(foo.o) |
104 define([XE_ADD_OBJS], | |
105 [extra_objs="$extra_objs [$1]" && dnl | |
106 if test "$verbose" = "yes"; then | |
107 echo " xemacs will be linked with \"[$1]\"" | |
108 fi])dnl XE_ADD_OBJS | |
3003 | 109 dnl |
2651 | 110 dnl XE_APPEND(value, varname) |
111 define([XE_APPEND], | |
112 [[$2]="$[$2] [$1]" && dnl | |
3003 | 113 if test "$verbose" = "yes"; then echo " Appending \"[$1]\" to \$[$2]"; fi])dnl |
114 dnl | |
2651 | 115 dnl XE_PREPEND(value, varname) |
116 define([XE_PREPEND], | |
117 [[$2]="[$1] $[$2]" && dnl | |
3003 | 118 if test "$verbose" = "yes"; then echo " Prepending \"[$1]\" to \$[$2]"; fi])dnl |
119 dnl | |
2651 | 120 dnl XE_DIE(message) |
3003 | 121 define([XE_DIE], [{ echo "Error:" $1 >&2; exit 1; }])dnl |
122 dnl | |
2651 | 123 dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2) |
124 define([XE_CHECK_FEATURE_DEPENDENCY], | |
125 [if test "$with_[$1] $with_[$2]" = "yes no"; then | |
126 USAGE_ERROR("--with-[$1] requires --with-[$2]") | |
127 elif test "$with_[$2]" = "no" ; then with_[$1]=no | |
128 elif test "$with_[$1]" = "yes"; then with_[$2]=yes | |
129 fi | |
3003 | 130 ])dnl |
131 dnl | |
2651 | 132 dnl XE_STRIP_4TH_COMPONENT(var) |
133 dnl Changes i986-pc-linux-gnu to i986-pc-linux, as God (not RMS) intended. | |
134 define([XE_STRIP_4TH_COMPONENT], | |
3003 | 135 [$1=`echo "$$1" | sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'`])dnl |
136 dnl | |
2651 | 137 dnl Do our best to deal with automounter brokenness |
138 dnl CANONICALIZE_PATH(varname) | |
139 define([CANONICALIZE_PATH], | |
140 [if test -d "/net"; then | |
141 if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi | |
142 $1=`echo "[$]$1" | \ | |
143 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` | |
144 fi])dnl | |
3003 | 145 dnl |
2651 | 146 dnl XE_PROTECT_LINKER_FLAGS(shell_var) |
147 define([XE_PROTECT_LINKER_FLAGS], [ | |
148 if test "$GCC" = "yes"; then | |
149 set x $[$1]; shift; [$1]="" | |
150 while test -n "[$]1"; do | |
151 case [$]1 in | |
152 -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;; | |
153 -L* | -l* | -u* | -Wl* | -pg ) [$1]="$[$1] [$]1" ;; | |
154 -Xlinker* ) ;; | |
155 * ) [$1]="$[$1] -Xlinker [$]1" ;; | |
156 esac | |
157 shift | |
158 done | |
159 fi])dnl | |
3003 | 160 dnl |
2651 | 161 dnl Allow use of either ":" or spaces for lists of directories |
162 define(COLON_TO_SPACE, | |
163 [case "$[$1]" in *:* [)] [$1]="`echo '' $[$1] | sed -e 's/^ //' -e 's/:/ /g'`";; esac])dnl | |
3003 | 164 dnl |
2651 | 165 dnl XE_ADD_RUNPATH_DIR(directory) |
166 define([XE_ADD_RUNPATH_DIR],[{ | |
167 xe_runpath_dir=$1 | |
168 dnl PRINT_VAR(ld_switch_site ld_switch_x_site runpath xe_runpath_dir LD_RUN_PATH xe_ldflags) | |
169 test "$xe_runpath_dir" != "/lib" -a \ | |
170 "$xe_runpath_dir" != "/usr/lib" -a \ | |
171 -n "`ls ${xe_runpath_dir}/*.s[[ol]] 2>/dev/null`" && \ | |
172 eval "$xe_add_unique_runpath_dir" | |
173 }])dnl | |
3003 | 174 dnl |
2651 | 175 dnl XE_COMPUTE_RUNPATH() |
176 define([XE_COMPUTE_RUNPATH],[ | |
177 if test "$add_runtime_path" = "yes" -a -n "$dash_r"; then | |
178 dnl Remove runtime paths from current ld switches | |
179 ld_switch_site=`echo '' $ld_switch_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"` | |
180 ld_switch_x_site=`echo '' $ld_switch_x_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"` | |
181 dnl PRINT_VAR(ld_switch_site ld_switch_x_site) | |
182 | |
183 dnl Fix up Runtime path | |
184 dnl If LD_RUN_PATH is set in environment, use that. | |
185 dnl In this case, assume user has set the right value. | |
186 runpath="" runpath_dirs="" | |
187 if test -n "$LD_RUN_PATH"; then | |
188 runpath="$LD_RUN_PATH" | |
189 elif test "$GCC" = "yes"; then | |
190 dnl Compute runpath from gcc's -v output | |
191 ld_switch_run_save="$ld_switch_run"; ld_switch_run="" | |
192 echo "int main(int argc, char *argv[[]]) {return 0;}" > conftest.c | |
193 xe_runpath_link='${CC-cc} -o conftest -v $CFLAGS '"$xe_ldflags"' conftest.$ac_ext 2>&1 1>/dev/null' | |
194 for arg in `eval "$xe_runpath_link" | grep ' -L'`; do | |
195 case "$arg" in P,* | -L* | -R* ) | |
196 for dir in `echo '' "$arg" | sed -e 's:^ ::' -e 's/^..//' -e 'y/:/ /'`; do | |
197 XE_ADD_RUNPATH_DIR("$dir") | |
198 done ;; | |
199 esac | |
200 done | |
201 ld_switch_run="$ld_switch_run_save" | |
202 rm -f conftest* | |
203 else | |
204 dnl Add all directories with .so files to runpath | |
205 for arg in $ld_switch_site $ld_switch_x_site; do | |
206 case "$arg" in -L*) XE_ADD_RUNPATH_DIR(`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'`);; esac | |
207 done | |
208 dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available | |
3019 | 209 dnl #### this test always fails here as need_motif is null |
2651 | 210 if test "$opsys $need_motif" = "sol2 yes"; then |
211 xe_runpath_dir="/opt/SUNWdt/lib"; | |
212 eval "$xe_add_unique_runpath_dir"; | |
213 fi | |
214 fi dnl Compute $runpath | |
215 | |
216 if test -n "$runpath"; then | |
217 ld_switch_run="${dash_r}${runpath}" | |
218 XE_PROTECT_LINKER_FLAGS(ld_switch_run) | |
219 test "$verbose" = "yes" && echo "Setting runpath to $runpath" | |
220 fi | |
221 fi | |
222 ])dnl | |
3003 | 223 dnl |
2651 | 224 dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n |
225 dnl So we use the following instead. | |
226 dnl XE_SPACE(var, words) | |
227 define([XE_SPACE],[ | |
228 T="" | |
229 for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done | |
230 $1="$T" | |
231 ])dnl XE_SPACE | |
3683 | 232 dnl Autoconf 2.59 and 2.60 have slightly different versions of m4_cdr that |
233 dnl return different values for an empty list. XE_CDR is a copy of the 2.60 | |
234 dnl version which will be used with both versions. | |
235 define([XE_CDR], | |
236 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], | |
237 [$#], 1, [], | |
238 [m4_dquote(m4_shift($@))])])dnl | |
3003 | 239 dnl |
240 dnl XE_MERGED_ARG(FEATURE, HELP-STRING, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) | |
241 dnl ------------------------------------------------------------------------ | |
242 dnl | |
243 dnl Arguments that can be specified with either --enable or --with. The | |
244 dnl majority of XEmacs arguments do not fit neatly into the division between | |
245 dnl --enable and --with, so allow those to be specified by either argument. | |
246 dnl The value is stored in both enable_FEATURE and with_FEATURE. | |
247 AC_DEFUN([XE_MERGED_ARG], | |
248 [m4_divert_once([HELP_ENABLE], [[ | |
249 Optional Features: | |
250 --with-FEATURE[=ARG] include FEATURE [ARG=yes] | |
251 --enable-FEATURE[=ARG] alias for --with-FEATURE | |
252 --without-FEATURE do not use FEATURE (same as --with-FEATURE=no) | |
253 --disable-FEATURE alias for --without-FEATURE]])dnl | |
254 m4_divert_once([HELP_ENABLE], m4_bpatsubst([[$2]],[--enable\([^ ]+\) ],[--with\1 ]))dnl | |
3764 | 255 dnl Register both forms with the option checking list. |
256 dnl Options are only checked with autoconf > 2.61. | |
257 m4_append_uniq([_AC_USER_OPTS], [enable_]m4_bpatsubst([$1], -, _), [:])dnl | |
258 m4_append_uniq([_AC_USER_OPTS], [with_]m4_bpatsubst([$1], -, _), [:])dnl | |
3003 | 259 # If --with-$1 or --without-$1 were given then copy the value to the |
260 # equivalent enable_$1 variable. | |
261 if test "[${with_]m4_bpatsubst([$1], -, _)+set}" = set; then | |
262 [enable_]m4_bpatsubst([$1], -, _)="[$with_]m4_bpatsubst([$1], -, _)" | |
263 fi; | |
264 # If -enable-$1 or --disable-$1 were given then copy the value to the | |
265 # equivalent with_$1 variable. | |
266 if test "[${enable_]m4_bpatsubst([$1], -, _)+set}" = set; then | |
267 [with_]m4_bpatsubst([$1], -, _)="[$enable_]m4_bpatsubst([$1], -, _)" | |
268 fi; | |
269 # Check whether --with-$1 or --without-$1 was given. | |
270 if test "[${with_]m4_bpatsubst([$1], -, _)+set}" = set; then | |
271 enableval="[$with_]m4_bpatsubst([$1], -, _)" | |
272 withval="[$with_]m4_bpatsubst([$1], -, _)" | |
273 $3 | |
274 m4_ifvaln([$4], [else | |
275 $4])dnl | |
276 fi; dnl | |
277 ])dnl XE_MERGED_ARG | |
278 dnl | |
3073 | 279 dnl XE_HELP_SUBSECTION(HEADING) |
280 dnl -------------------------- | |
281 dnl | |
282 dnl Add subsection headings to the help text for XE_MERGED_ARG options. | |
283 dnl | |
284 AC_DEFUN([XE_HELP_SUBSECTION], | |
285 [m4_divert_once([HELP_ENABLE], [[ | |
286 Optional Features: | |
287 --with-FEATURE[=ARG] include FEATURE [ARG=yes] | |
288 --enable-FEATURE[=ARG] alias for --with-FEATURE | |
289 --without-FEATURE do not use FEATURE (same as --with-FEATURE=no) | |
290 --disable-FEATURE alias for --without-FEATURE]])dnl | |
291 dnl NOTE: The next eol adds a blank line before the heading. | |
292 m4_divert_once([HELP_ENABLE], [[ | |
293 $1]])dnl | |
3161 | 294 dnl Add an underscore |
3073 | 295 dnl NOTE: The next eol adds a blank line after the underscore. |
296 m4_divert_text([HELP_ENABLE], patsubst([$1], [.], [-]) | |
297 )])dnl | |
298 dnl | |
2651 | 299 dnl XEmacs keyword option support |
300 dnl ============================= | |
301 dnl | |
302 dnl A "keyword" option is one that accepts one of a number of pre-defined | |
303 dnl values. For example --with-mail-locking=flock. | |
304 dnl The descriptions below provide prototypes and little more. | |
305 dnl | |
306 dnl For more information, | |
307 dnl (Info-goto-node "(internals)The configure Script") | |
308 dnl To edit the documentation, | |
309 dnl (progn (find-file "man/internals/internals.texi")) | |
310 dnl and search for "@node The configure Script". | |
311 dnl | |
312 dnl XE_PARSE_KEYWORD_OPTION(prefix, cmdline-flag) | |
313 dnl --------------------------------------------- | |
314 dnl | |
315 dnl Internal macro to parse the option values. If an undeclared option is | |
316 dnl found then an error is generated. | |
317 dnl | |
318 define([XE_PARSE_KEYWORD_OPTION], | |
319 [_[$1]_bogus=yes | |
320 for x in XE_KEYWORD_LIST ; do | |
3003 | 321 if test $x = $with_[$1] ; then |
2651 | 322 _[$1]_bogus=no |
323 fi | |
324 done | |
325 if test "$_[$1]_bogus" = "yes" ; then | |
326 USAGE_ERROR(["The [$2] option must have one of these values: m4_translit(XE_KEYWORD_VALUES,[:],[,])."]) | |
327 fi | |
328 unset _[$1]_bogus | |
329 undefine([XE_KEYWORD_LIST])dnl | |
3003 | 330 undefine([XE_KEYWORD_VALUES])])dnl |
2651 | 331 dnl |
332 dnl XE_KEYWORD(keyword) | |
333 dnl -------------------------------- | |
334 dnl | |
335 dnl | |
336 define([XE_KEYWORD], | |
337 [m4_append([XE_KEYWORD_LIST],[$1],[ ])dnl | |
338 dnl Separate with a ':' instead of a ',' (see the parsing code above) to avoid | |
3161 | 339 dnl confusion with macro parameter lists. |
2651 | 340 m4_append([XE_KEYWORD_VALUES],[\`$1'],[:])dnl |
3003 | 341 ])dnl |
2651 | 342 dnl |
3003 | 343 dnl XE_KEYWORD_ARG(PACKAGE, HELP-STRING, ACTION-IF-TRUE, ACTION-IF-FALSE, |
2651 | 344 dnl [XE_KEYWORD(keyword), ....]) |
345 dnl -------------------------------------------------------------------------- | |
346 dnl | |
3003 | 347 dnl Expanded version of XE_MERGED_ARG for keyword options. All the parameters |
2651 | 348 dnl are required. |
349 dnl | |
3003 | 350 define([XE_KEYWORD_ARG], |
2651 | 351 [m4_map([XE_KEYWORD],m4_shiftn(4, $@)) |
3003 | 352 XE_MERGED_ARG([$1],[$2], |
353 [XE_PARSE_KEYWORD_OPTION(patsubst([$1], -, _), [--with-$1]) | |
2651 | 354 $3 |
3003 | 355 ],[$4])])dnl |
2651 | 356 dnl |
357 dnl XEmacs complex option support | |
358 dnl ============================= | |
359 dnl | |
360 dnl A "complex option" is one that takes a number of related values. | |
361 dnl For example, we might use "--with-xft=all,nomenubars" for compatibility | |
362 dnl with XFontSet i18n of menubars. (Silly, Xft looks much better than XFS.) | |
363 dnl | |
364 dnl The descriptions below provide prototypes and little more. | |
365 dnl For more information, | |
366 dnl (Info-goto-node "(internals)The configure Script") | |
367 dnl To edit the documentation, | |
368 dnl (progn (find-file "man/internals/internals.texi")) | |
369 dnl and search for "@node The configure Script". | |
370 dnl | |
371 dnl XE_EXPAND_COMPLEX_OPTION(prefix, component, yesno) | |
372 dnl --------------------------------------------------- | |
373 dnl | |
374 dnl Internal macro create the option's shell variable containing the default | |
375 dnl value and to note the values in an option list. | |
376 dnl | |
377 define([XE_EXPAND_COMPLEX_OPTION], | |
3147 | 378 [_[$1]_[$2]_default=[$3] |
2651 | 379 m4_append([XE_COMPONENT_LIST],[$2],[ ])dnl |
380 dnl Separate with a ':' instead of a ',' (see <prefix>_default below) to avoid | |
3161 | 381 dnl confusion with macro parameter lists. |
2651 | 382 m4_append([XE_COMPONENT_DEFAULT],[m4_if([$3],no,no)[$2]],[:])dnl |
383 ])dnl | |
384 dnl | |
385 dnl XE_EXPAND_COMPLEX_OPTIONS(prefix, option_list) | |
386 dnl ---------------------------------------------- | |
387 dnl | |
388 dnl Internal macro to recursively expand all the options in the option list. | |
389 dnl | |
390 define([XE_EXPAND_COMPLEX_OPTIONS], | |
3683 | 391 [m4_if([$2], [], [], |
2651 | 392 [XE_EXPAND_COMPLEX_OPTION([$1], m4_fst($2))[]dnl |
3683 | 393 XE_EXPAND_COMPLEX_OPTIONS([$1], XE_CDR($2))])])dnl |
2651 | 394 dnl |
395 dnl XE_INIT_COMPLEX_OPTION(prefix, option_list) | |
396 dnl ------------------------------------------- | |
397 dnl | |
398 dnl Internal macro to initialise the complex option shell variables. | |
399 dnl Variables of the form <prefix>_<option> contain the default value for that | |
400 dnl option. <prefix>_types contains a space-separated list of all the options | |
401 dnl and <prefix>_default contains a comma-separated list of all the default | |
402 dnl values. | |
403 dnl | |
404 define([XE_INIT_COMPLEX_OPTION], | |
3003 | 405 [_[$1]_notfirst="" |
2651 | 406 dnl |
3147 | 407 XE_EXPAND_COMPLEX_OPTIONS($@)dnl |
2651 | 408 _[$1]_types="XE_COMPONENT_LIST" |
409 _[$1]_default="m4_translit(XE_COMPONENT_DEFAULT,[:],[,])" | |
410 dnl Undefine these macros so that they can be reused by later complex | |
411 dnl options. | |
3147 | 412 undefine([XE_COMPONENT_LIST])dnl |
413 undefine([XE_COMPONENT_DEFAULT])dnl | |
3003 | 414 ])dnl |
415 dnl | |
2651 | 416 dnl XE_PARSE_COMPLEX_OPTION(prefix, cmdline-flag) |
417 dnl --------------------------------------------- | |
418 dnl | |
419 dnl Internal macro to parse the option values. If an undeclared option is | |
3073 | 420 dnl found then an error is generated. Because something has been supplied on |
421 dnl the command line initialise all the complex options to 'no' rather than | |
3147 | 422 dnl the default. In this way --enable-complex=foo will give the expected |
3073 | 423 dnl value (no) for bar. |
2651 | 424 dnl |
3147 | 425 dnl #### I think we should add a couple more features. |
426 dnl First, at the end of XE_PARSE_COMPLEX_OPTION check for contradictory args, | |
427 dnl specifically if `all' is specified but the options are all individually | |
428 dnl disabled, or if `none' is specified but the options are all individually | |
429 dnl enabled, we should _warn_ about this situation. | |
430 dnl Second, we should provide an XE_VALIDATE_COMPLEX_OPTION macro to be used | |
431 dnl at the end of detection. If any feature is `yes' but we don't have it, | |
432 dnl then we should XE_DIE. | |
433 dnl | |
2651 | 434 define([XE_PARSE_COMPLEX_OPTION], |
3147 | 435 [dnl Initialize variables for COMPLEX_OPTION [$1]. Leading underscore or |
436 dnl single letter variables are internal to the XE_PARSE_COMPLEX_OPTION macro. | |
437 _[$1]_all_default="" | |
438 _require_[$1]="" | |
439 dnl check first arg for default spec | |
440 case "$with_[$1]" in | |
441 n | no | non | none ) _[$1]_all_default=no ;; | |
442 n,* | no,* | non,* | none,* ) _[$1]_all_default=no ;; | |
443 a | al | all | both ) _[$1]_all_default=yes ;; | |
444 a,* | al,* | all,* | both,* ) _[$1]_all_default=yes ;; | |
445 y | yes ) _require_[$1]=yes ;; | |
446 esac | |
447 dnl if first arg was a default spec, trim it | |
448 if test -n "$_[$1]_all_default$_require_[$1]"; then | |
449 _with_[$1]_args=`echo $with_[$1] | sed -e 's/^[[a-z]]*\(,\(.*\)\)\{0,1\}$/\2/'` | |
450 else | |
451 _with_[$1]_args=$with_[$1] | |
452 fi | |
453 dnl set default for each type | |
454 for y in $_[$1]_types; do | |
455 if test -n "$_[$1]_all_default" ; then | |
456 eval "with_[$1]_${y}=$_[$1]_all_default" | |
457 else | |
458 eval "with_[$1]_$y=\$_[$1]_${y}_default" | |
459 fi | |
3073 | 460 done |
3147 | 461 dnl parse the command line arg and set types found appropriately |
462 for x in `echo "$_with_[$1]_args" | sed -e 's/,/ /g'` ; do | |
2651 | 463 _[$1]_found="" |
3147 | 464 for y in $_[$1]_types; do |
465 if test "$x" = "$y"; then | |
466 _[$1]_found=yes | |
467 eval "with_[$1]_$y=yes" | |
468 elif test "$x" = "no$y"; then | |
469 _[$1]_found=yes | |
470 eval "with_[$1]_$y=no" | |
471 fi | |
472 done | |
473 test -z "$_[$1]_found" && \ | |
474 USAGE_ERROR(["\ | |
475 Invalid type list supplied. Valid types for the [$2] option are: | |
476 $_[$1]_types. | |
477 A prefix of \"no\" (eg, \"notype\" for \"type\") turns a type off. | |
478 Types not explicitly specified or negated take their defaults. | |
479 The list of defaults is \"$_[$1]_default\". Prefixing \`all' or | |
480 \`none' to the list sets all defaults to on and off respectively. | |
481 \`yes' as the sole argument is equivalent to omitting the argument."]) | |
2651 | 482 done |
3147 | 483 dnl copy values to enable_FEATURE_TYPE. Cleanup default vars. |
484 for y in $_[$1]_types; do | |
485 eval "enable_[$1]_$y=\$with_[$1]_$y" | |
486 unset _[$1]_${y}_default | |
487 done | |
488 dnl clean up | |
489 unset _[$1]_types _[$1]_default _[$1]_all_default _[$1]_use_defaults | |
490 unset _with_[$1]_args _[$1]_found x y _require_[$1] | |
3003 | 491 ])dnl |
492 dnl | |
2651 | 493 dnl XE_COMPLEX_OPTION(option, yesno) |
494 dnl -------------------------------- | |
495 dnl | |
496 dnl Declare a complex option and its default value. The value MUST be either | |
497 dnl yes or no or "" (which means maybe). | |
498 dnl | |
499 define([XE_COMPLEX_OPTION],[[$1,$2]]) | |
500 dnl | |
501 dnl XE_COMPLEX_OPTION_HELP_STRING(flag, long, short, components, libraries) | |
502 dnl ----------------------------------------------------------------------- | |
503 dnl Boilerplate help string for complex options. | |
504 dnl #### This doesn't read so well for alternative libraries like sound. | |
505 dnl | |
506 define([XE_COMPLEX_OPTION_HELP_STRING], | |
3312 | 507 [AS_HELP_STRING([$1],[Compile with support for $2. Components that can use |
2651 | 508 $3 are $4. Prefix component with `no' to disable its use of $3. Requires |
3003 | 509 $5 support. Default is $6.])])dnl |
2651 | 510 dnl |
3003 | 511 dnl XE_COMPLEX_ARG(PACKAGE, HELP-STRING, ACTION-IF-TRUE, ACTION-IF-FALSE, |
2651 | 512 dnl [XE_COMPLEX_OPTION(a,yes), ....]) |
513 dnl -------------------------------------------------------------------------- | |
514 dnl | |
3003 | 515 dnl Expanded version of XE_MERGED_ARG for complex options. All the parameters |
2651 | 516 dnl are required. |
517 dnl | |
3003 | 518 define([XE_COMPLEX_ARG], |
519 [XE_INIT_COMPLEX_OPTION(patsubst([$1], -, _), m4_shiftn(4, $@)) | |
520 XE_MERGED_ARG([$1],[$2], | |
521 [XE_PARSE_COMPLEX_OPTION(patsubst([$1], -, _), [--with-$1]) | |
2651 | 522 $3 |
3147 | 523 ],[ |
524 # set default for each type | |
3149 | 525 for y in [$_]patsubst([$1], -, _)[_types]; do |
526 eval "[with_]patsubst([$1], -, _)[_$y]=[\$_]patsubst([$1], -, _)[_${y}_default]" | |
527 eval "[enable_]patsubst([$1], -, _)[_$y]=[\$_]patsubst([$1], -, _)[_${y}_default]" | |
528 unset [_]patsubst([$1], -, _)[_${y}_default] | |
3147 | 529 done |
530 $4])])dnl | |
2651 | 531 dnl |
532 dnl ------------------------------------------------------------------------- | |
533 XE_APPEND(lib-src, MAKE_SUBDIR) | |
534 XE_APPEND(lib-src, INSTALL_ARCH_DEP_SUBDIR) | |
535 with_dragndrop_default="no" | |
536 dnl ------------------------------------------------------------------------- | |
537 dnl Command line argument processing. | |
3312 | 538 dnl Note that AS_HELP_STRING compresses whitespace, wraps, and indents the |
2651 | 539 dnl string to fit the --help display; there's no need to preformat. |
540 dnl | |
541 dnl I think these will be caught by autoconf internal checks, | |
542 dnl only --with-* are unchecked | |
543 dnl --external-widget --enable-external-widget | |
544 dnl --native-sound-lib=LIB --with-native-sound-lib | |
545 dnl --mail-locking=TYPE --with-mail-locking | |
546 dnl --rel-alloc --with-rel-alloc | |
547 dnl --use-number-lib --enable-bignum | |
548 dnl --debug --enable-debug | |
549 dnl --error-checking --enable-error-checking | |
550 dnl --memory-usage-stats --enable-memory-usage-stats | |
551 dnl --quick-build --enable-quick-build | |
552 dnl --use-union-type --enable-union-type | |
553 dnl --pdump --enable-pdump | |
554 dnl --use-kkcc --enable-kkcc | |
3003 | 555 dnl |
2651 | 556 dnl parse flags |
3073 | 557 XE_HELP_SUBSECTION([Compilation options]) |
558 XE_MERGED_ARG([compiler], | |
3312 | 559 AS_HELP_STRING([--with-compiler],[C compiler to use]), |
3073 | 560 [], []) |
561 XE_MERGED_ARG([xemacs-compiler], | |
3312 | 562 AS_HELP_STRING([--with-xemacs-compiler], |
3073 | 563 [compiler to use to compile just the xemacs executable and C modules. |
564 If you want to compile XEmacs as C++, use e.g. | |
565 `--with-xemacs-compiler=g++'. This turns on a lot of | |
566 additional error-checking.]), | |
567 [], []) | |
568 XE_MERGED_ARG([gcc], | |
3312 | 569 AS_HELP_STRING([--with-gcc],[Use GCC to compile XEmacs.]), |
3073 | 570 [], []) |
571 XE_MERGED_ARG([cflags], | |
3312 | 572 AS_HELP_STRING([--with-cflags=FLAGS], |
3073 | 573 [Compiler flags. These flags will be placed after any flags inserted for warnings, debugging or optimization; setting this does not disable the insertion of those flags. Use configure settings such as `--with-optimization=no' or `enable-debug=no' to turn them off, or override them with `--with-cflags-optimization', `--with-cflags-debugging', or `with-cflags-warning'.]), |
574 [], []) | |
575 XE_MERGED_ARG([cflags-warning], | |
3312 | 576 AS_HELP_STRING([--with-cflags-warning=FLAGS],[Override compiler flags used to control warnings. |
3073 | 577 Normally, don't set this, as XEmacs already turns on |
578 the maximum safe warning level.]), | |
579 [], []) | |
580 XE_MERGED_ARG([optimization], | |
3312 | 581 AS_HELP_STRING([--with-optimization],[Control whether compilation is optimized. By default, optimization is on in release versions and off in beta versions, since it can interfere with proper stack backtraces.]), |
3073 | 582 [], []) |
583 XE_MERGED_ARG([cflags-optimization], | |
3312 | 584 AS_HELP_STRING([--with-cflags-optimization=FLAGS], |
3073 | 585 [Override compiler flags used to control optimization. If blank, forces no optimization; if non-blank, forces optimization. Normally, don't set this; XEmacs automatically sets the maximum safe optimization flags appropriate for the compiler being invoked. If you just want to turn optimization on or off, use `with-optimization' instead.]), |
586 [], []) | |
587 XE_MERGED_ARG([cflags-debugging], | |
3312 | 588 AS_HELP_STRING([--with-cflags-debugging=FLAGS], |
3073 | 589 [Override compiler flags used to add debugging information to the executable. Normally, debugging information is added whenever possible (i.e. unless optimization is turned on and the compiler does not permit debugging and optimization simultaneously).]), |
590 [], []) | |
591 XE_MERGED_ARG([cpp], | |
3312 | 592 AS_HELP_STRING([--with-cpp],[C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc -E)]), |
3073 | 593 [CPP="$with_cpp"], []) |
594 XE_MERGED_ARG([cppflags], | |
3312 | 595 AS_HELP_STRING([--with-cppflags],[C preprocessor flags (e.g. -I/foo or -Dfoo=bar)]), |
3073 | 596 [CPPFLAGS="$with_cppflags"], []) |
597 XE_MERGED_ARG([libs=LIBS], | |
3312 | 598 AS_HELP_STRING([--with-libs],[Additional libraries (e.g. -lfoo)]), |
3073 | 599 [LIBS="$with_libs"], []) |
600 XE_MERGED_ARG([ldflags=FLAGS], | |
3312 | 601 AS_HELP_STRING([--with-ldflags],[Additional linker flags (e.g. -L/foo)]), |
3073 | 602 [LDFLAGS="$with_ldflags"], []) |
603 XE_MERGED_ARG([site-includes], | |
3312 | 604 AS_HELP_STRING([--with-site-includes=PATHS],[Prepend to include search path.]), |
3073 | 605 [], []) |
606 XE_MERGED_ARG([site-libraries], | |
3312 | 607 AS_HELP_STRING([--with-site-libraries=PATHS],[Prepend to library search path.]), |
3073 | 608 [], []) |
609 XE_MERGED_ARG([site-prefixes], | |
3312 | 610 AS_HELP_STRING([--with-site-prefixes=PATHS],[Prepend to include and library search paths, with /include and /lib added. Comes after site-includes and site-libraries, if any.]), |
3073 | 611 [], []) |
612 XE_MERGED_ARG([site-runtime-libraries], | |
3312 | 613 AS_HELP_STRING([--with-site-runtime-libraries=PATHS],[Prepend to the runtime library search path]), |
3073 | 614 [], []) |
615 XE_MERGED_ARG([dynamic], | |
3312 | 616 AS_HELP_STRING([--with-dynamic],[Link dynamically if supported by system. 'No' forces static linking.]), |
3073 | 617 [], []) |
618 dnl | |
619 XE_HELP_SUBSECTION([Installation options]) | |
3003 | 620 XE_MERGED_ARG([prefix], |
3312 | 621 AS_HELP_STRING([--with-prefix=no],[Don't compile the value for `prefix' into the executable.]), |
2651 | 622 [true], [with_prefix=yes]) |
3073 | 623 XE_MERGED_ARG([netinstall], |
3312 | 624 AS_HELP_STRING([--with-netinstall],[Support for installation over the internet. |
3073 | 625 Only functional on the MS Windows platforms.]), |
626 [], [with_netinstall="no"]) | |
627 XE_MERGED_ARG([statedir], | |
3312 | 628 AS_HELP_STRING([--with-statedir=DIR],[]), |
3073 | 629 [], [with_statedir='${prefix}/lib']) |
630 XE_MERGED_ARG([lispdir], | |
3312 | 631 AS_HELP_STRING([--with-lispdir=DIR],[]), |
3073 | 632 [AC_DEFINE(LISPDIR_USER_DEFINED)], [with_lispdir='${datadir}/${instvardir}/lisp']) |
633 XE_MERGED_ARG([archlibdir], | |
3312 | 634 AS_HELP_STRING([--with-archlibdir=DIR],[]), |
3073 | 635 [AC_DEFINE(ARCHLIBDIR_USER_DEFINED)], [with_archlibdir='${libdir}/${instvardir}/${configuration}']) |
636 XE_MERGED_ARG([moduledir], | |
3312 | 637 AS_HELP_STRING([--with-moduledir=DIR],[]), |
3073 | 638 [AC_DEFINE(MODULEDIR_USER_DEFINED)], [with_moduledir='${libdir}/${instvardir}/${configuration}/modules']) |
639 XE_MERGED_ARG([etcdir], | |
3312 | 640 AS_HELP_STRING([--with-etcdir=DIR],[]), |
3073 | 641 [AC_DEFINE(ETCDIR_USER_DEFINED)], [with_etcdir='${datadir}/${instvardir}/etc']) |
642 XE_MERGED_ARG([docdir], | |
3312 | 643 AS_HELP_STRING([--with-docdir=DIR],[]), |
3073 | 644 [AC_DEFINE(DOCDIR_USER_DEFINED)], [with_docdir='${archlibdir}']) |
645 dnl | |
646 XE_HELP_SUBSECTION([Run-time path-searching options]) | |
3003 | 647 XE_MERGED_ARG([site-lisp], |
3312 | 648 AS_HELP_STRING([--with-site-lisp=no],[Allow for a site-lisp directory in the XEmacs hierarchy searched before the installation packages.]), |
2651 | 649 [true], [with_site_lisp=no]) |
3003 | 650 XE_MERGED_ARG([site-modules], |
3312 | 651 AS_HELP_STRING([--with-site-modules=no],[Disable site-modules directory in the XEmacs hierarchy, which is searched before the installation modules.]), |
2651 | 652 [], []) |
3179 | 653 XE_MERGED_ARG([early-packages], |
3312 | 654 AS_HELP_STRING([--with-early-packages=DIR],[Specify location of early/user packages (instead of ~/.xemacs; same as --with-user-packages).]), |
3179 | 655 [AC_DEFINE(EARLY_PACKAGE_DIRECTORIES_USER_DEFINED)], []) |
656 XE_MERGED_ARG([user-packages], | |
3312 | 657 AS_HELP_STRING([--with-user-packages=DIR],[Specify location of early/user packages (instead of ~/.xemacs; same as --with-early-packages).]), |
3179 | 658 [AC_DEFINE(EARLY_PACKAGE_DIRECTORIES_USER_DEFINED)], []) |
659 XE_MERGED_ARG([late-packages], | |
3312 | 660 AS_HELP_STRING([--with-late-packages=DIR],[Specify location of late/system packages (instead of default location; same as --with-system-packages).]), |
3179 | 661 [AC_DEFINE(LATE_PACKAGE_DIRECTORIES_USER_DEFINED)], []) |
662 XE_MERGED_ARG([system-packages], | |
3518 | 663 AS_HELP_STRING([--with-system-packages=DIR],[Specify location of late/system packages (instead of default location; same as --with-late-packages).]), |
3179 | 664 [AC_DEFINE(LATE_PACKAGE_DIRECTORIES_USER_DEFINED)], []) |
665 XE_MERGED_ARG([last-packages], | |
3312 | 666 AS_HELP_STRING([--with-last-packages=DIR],[Specify location of last/legacy packages (instead of default location; same as --with-legacy-packages).]), |
3179 | 667 [AC_DEFINE(LAST_PACKAGE_DIRECTORIES_USER_DEFINED)], []) |
668 XE_MERGED_ARG([legacy-packages], | |
4350
50889296c05c
Fix typo of "late packages" for "last packages".
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4328
diff
changeset
|
669 AS_HELP_STRING([--with-legacy-packages=DIR],[Specify location of last/legacy packages (instead of default location; same as --with-last-packages).]), |
50889296c05c
Fix typo of "late packages" for "last packages".
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4328
diff
changeset
|
670 [AC_DEFINE(LAST_PACKAGE_DIRECTORIES_USER_DEFINED)], []) |
3073 | 671 XE_MERGED_ARG([package-path], |
3312 | 672 AS_HELP_STRING([--with-package-path=PATH],[Search path for package directories.]), |
3073 | 673 [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], []) |
674 XE_MERGED_ARG([infopath], | |
3312 | 675 AS_HELP_STRING([--with-infopath=PATH],[Location of info directories]), |
3073 | 676 [AC_DEFINE(INFOPATH_USER_DEFINED)], []) |
677 dnl | |
678 XE_HELP_SUBSECTION([Window-system options]) | |
3354 | 679 dnl Enable when fontconfig support is factored out of Xft. |
680 dnl XE_MERGED_ARG([fontconfig], | |
681 dnl AS_HELP_STRING([--with-fontconfig], | |
682 dnl [Use fontconfig library to configure fonts.], | |
683 dnl [],[]) | |
3094 | 684 dnl if you change defaults, make sure to fix arg 6 of the OPTION_HELP macro. |
685 XE_COMPLEX_ARG([xft], | |
686 [XE_COMPLEX_OPTION_HELP_STRING([--with-xft], | |
687 [Xft client-side font rendering and anti-aliasing], | |
688 [Xft], | |
689 [`emacs' (buffers), `menubars', `tabs', and `gauges'], | |
690 [X11, Xft, Xrender, freetype, and fontconfig], | |
3098 | 691 [`noemacs, nomenubars, notabs, nogauges'])], |
3094 | 692 [],[], |
3098 | 693 [XE_COMPLEX_OPTION([emacs],[no]), |
694 XE_COMPLEX_OPTION([menubars],[no]), | |
695 XE_COMPLEX_OPTION([tabs],[no]), | |
696 XE_COMPLEX_OPTION([gauges],[no])]) | |
3003 | 697 XE_MERGED_ARG([gtk], |
3312 | 698 AS_HELP_STRING([--with-gtk],[Support GTK on the X Window System. (EXPERIMENTAL)]), |
2651 | 699 [true], [with_gtk=no]) |
3003 | 700 XE_MERGED_ARG([gnome], |
3312 | 701 AS_HELP_STRING([--with-gnome],[Support GNOME on the X Window System. (EXPERIMENTAL)]), |
2651 | 702 [true], [with_gnome=no]) |
3003 | 703 XE_MERGED_ARG([msw], |
3312 | 704 AS_HELP_STRING([--with-msw],[Support MS Windows as a window system (only under Cygwin and MinGW). `--with-msw=no' may be needed on *nix systems with Wine installed.]), |
2651 | 705 [], []) |
3073 | 706 XE_MERGED_ARG([toolbars], |
3312 | 707 AS_HELP_STRING([--enable-toolbars],[Enable toolbar support. Default: yes.]), |
2651 | 708 [], []) |
3073 | 709 XE_MERGED_ARG([wmcommand], |
3312 | 710 AS_HELP_STRING([--with-wmcommand],[Compile without realized leader window which will |
3073 | 711 keep the WM_COMMAND property.]), |
2651 | 712 [], []) |
3073 | 713 XE_KEYWORD_ARG([athena], |
3312 | 714 AS_HELP_STRING([--with-athena=TYPE],[Use TYPE Athena widgets (`xaw', `3d', `next', `95', or `xpm').]), |
3073 | 715 [],[],[xaw,3d,next,95,xpm])dnl |
716 XE_KEYWORD_ARG([menubars], | |
3312 | 717 AS_HELP_STRING([--enable-menubars=TYPE],[Use TYPE menubars ('yes', '`no', `lucid', `motif', `athena', `gtk', or `msw'). The Lucid |
3073 | 718 widgets emulate Motif (mostly) but are faster. |
719 *WARNING* The Motif menubar is currently broken. | |
720 Lucid menubars are the default.]), | |
721 [], [],[yes,no,lucid,motif,athena,gtk,msw]) | |
722 XE_KEYWORD_ARG([scrollbars], | |
3312 | 723 AS_HELP_STRING([--enable-scrollbars=TYPE],[Use TYPE scrollbars 'yes', '`no', `lucid', `motif', `athena', `gtk', or `msw'). |
3073 | 724 Lucid scrollbars are the default.]), |
725 [], [],[yes,no,lucid,motif,athena,gtk,msw]) | |
726 XE_KEYWORD_ARG([dialogs], | |
3312 | 727 AS_HELP_STRING([--enable-dialogs=TYPE],[Use TYPE dialog boxes 'yes', '`no', `lucid', `motif', `athena', `gtk', or `msw'). |
3073 | 728 There are no true Lucid dialogs; Motif dialogs will be |
729 used if Motif can be found, else Athena is used.]), | |
730 [], [],[yes,no,lucid,motif,athena,gtk,msw]) | |
731 XE_KEYWORD_ARG([widgets], | |
3312 | 732 AS_HELP_STRING([--enable-widgets=TYPE],[Use TYPE native widgets ('yes', '`no', `lucid', `motif', `athena', `gtk', or `msw'). |
3073 | 733 Other widget types are currently unsupported. |
734 There are no true Lucid widgets; Motif widgets will be | |
735 used if Motif can be found, else Athena is used.]), | |
736 [], [],[yes,no,lucid,motif,athena,gtk,msw]) | |
3003 | 737 XE_MERGED_ARG([dragndrop], |
3312 | 738 AS_HELP_STRING([--with-dragndrop],[Compile in the generic drag and drop API. This is automatically added if one of the drag and drop |
2651 | 739 protocols is found (currently CDE, OffiX, MSWindows, |
740 and GTK). | |
741 *WARNING* The Drag'n'drop support is under development | |
742 and is considered experimental.]), | |
743 [], []) | |
3003 | 744 XE_MERGED_ARG([cde], |
3312 | 745 AS_HELP_STRING([--with-cde],[Compile in support for CDE drag and drop.]), |
2651 | 746 [], []) |
3003 | 747 XE_MERGED_ARG([offix], |
3312 | 748 AS_HELP_STRING([--with-offix],[Compile in support for OffiX drag and drop. |
2651 | 749 *WARNING* If you compile in OffiX, you may not be |
750 able to use multiple X displays success- | |
751 fully. If the two servers are from | |
752 different vendors, the results may be | |
753 unpredictable.]), | |
754 [], []) | |
3073 | 755 XE_MERGED_ARG([xmu], |
3312 | 756 AS_HELP_STRING([--with-xmu],[Use Xmu utilities. Default: yes.]), |
3073 | 757 [], []) |
758 XE_MERGED_ARG([external-widget], | |
3312 | 759 AS_HELP_STRING([--enable-external-widget],[Support XEmacs server for text widgets in other applications.]), |
3073 | 760 [], []) |
761 dnl | |
762 XE_HELP_SUBSECTION([TTY (character terminal) options]) | |
763 XE_MERGED_ARG([tty], | |
3312 | 764 AS_HELP_STRING([--with-tty],[Enable TTY support. Default: yes.]), |
3073 | 765 [], []) |
766 XE_MERGED_ARG([ncurses], | |
3312 | 767 AS_HELP_STRING([--with-ncurses],[Use the ncurses library for tty support.]), |
3073 | 768 [], []) |
3003 | 769 XE_MERGED_ARG([gpm], |
3312 | 770 AS_HELP_STRING([--with-gpm],[Compile in GPM mouse support for ttys.]), |
2651 | 771 [], []) |
3073 | 772 dnl |
773 XE_HELP_SUBSECTION([Image options]) | |
3003 | 774 XE_MERGED_ARG([xpm], |
3312 | 775 AS_HELP_STRING([--with-xpm],[Compile with support for XPM images. PRACTICALLY |
2651 | 776 REQUIRED. Although this library is nonstandard and |
777 a real hassle to build, many basic things (e.g. | |
778 toolbars) depend on it, and you will run into | |
779 many problems without it.]), | |
780 [], []) | |
3073 | 781 XE_MERGED_ARG([png], |
3312 | 782 AS_HELP_STRING([--with-png],[Compile with support for PNG images. Recommended |
3073 | 783 because the images on the About page are not viewable |
784 without it.]), | |
785 [], []) | |
786 XE_MERGED_ARG([jpeg], | |
3312 | 787 AS_HELP_STRING([--with-jpeg],[Compile with support for JPEG images. Useful if |
3073 | 788 you are using a mail, news reader, or web browser |
789 in XEmacs, so that JPEG images can be displayed.]), | |
790 [], []) | |
791 XE_MERGED_ARG([tiff], | |
3312 | 792 AS_HELP_STRING([--with-tiff],[Compile with support for TIFF images. Possibly |
3073 | 793 useful, for the same reason as JPEG images.]), |
794 [], []) | |
3003 | 795 XE_MERGED_ARG([xface], |
3312 | 796 AS_HELP_STRING([--with-xface],[Compile with support for X-Face mail headers. |
2651 | 797 Requires the compface package.]), |
798 [], []) | |
3003 | 799 XE_MERGED_ARG([gif], |
3312 | 800 AS_HELP_STRING([--with-gif],[Compile without the (builtin) support for GIF images.]), |
2651 | 801 [], []) |
3073 | 802 dnl |
803 XE_HELP_SUBSECTION([Sound options]) | |
804 XE_COMPLEX_ARG([sound], | |
3312 | 805 AS_HELP_STRING([--enable-sound=TYPE],[Compile with sound support. |
3308 | 806 Valid types are `native', `alsa', `nas' and `esd'. |
3073 | 807 Prefix a type with 'no' to disable. |
808 The first type can be `none' or `all'. `none' means | |
3308 | 809 `nonative,noalsa,nonas,noesd'. `all' means |
810 `native,alsa,nas,esd'. Later options override earlier | |
811 ones for the same TYPE. The default is to autodetect | |
812 all sound support except for ESD which defaults to | |
813 off.]), | |
3073 | 814 [], |
815 [enable_sound_nas=""], | |
816 [XE_COMPLEX_OPTION([native],[""]), | |
3308 | 817 XE_COMPLEX_OPTION([alsa],[""]), |
3073 | 818 XE_COMPLEX_OPTION([nas],[""]), |
819 XE_COMPLEX_OPTION([esd],[no])]) | |
820 XE_MERGED_ARG([native-sound-lib], | |
3312 | 821 AS_HELP_STRING([--with-native-sound-lib],[Path to sound library (for systems with name conflicts).]), |
2651 | 822 [], []) |
3073 | 823 dnl |
824 XE_HELP_SUBSECTION([Internationalization options]) | |
3003 | 825 XE_MERGED_ARG([mule], |
3312 | 826 AS_HELP_STRING([--enable-mule],[Compile with Mule (Multi-Lingual Emacs) support, |
2651 | 827 needed to support non-Latin-1 (including Asian) |
828 languages.]), | |
829 [], []) | |
3073 | 830 XE_KEYWORD_ARG([xim], |
3312 | 831 AS_HELP_STRING([--with-xim==TYPE],[Enable XIM support. TYPE is `yes', `no', `xlib', or `motif']), |
3073 | 832 [],[],[yes,no,xlib,motif])dnl |
3003 | 833 XE_MERGED_ARG([canna], |
3312 | 834 AS_HELP_STRING([--with-canna],[Support the Canna Japanese input method. Requires Mule.]), |
2651 | 835 [], []) |
3003 | 836 XE_MERGED_ARG([wnn], |
3312 | 837 AS_HELP_STRING([--with-wnn],[Support the Wnn Asian language input |
2651 | 838 method. Requires Mule.]), |
839 [], []) | |
3003 | 840 XE_MERGED_ARG([wnn6], |
3312 | 841 AS_HELP_STRING([--with-wnn6],[Support the Wnn6 Asian language input |
2651 | 842 method (proprietary). Requires Mule.]), |
843 [], []) | |
3073 | 844 XE_MERGED_ARG([xfs], |
3312 | 845 AS_HELP_STRING([--with-xfs],[Enable XFontSet support for internationalized |
3094 | 846 menubar. Incompatible with `--with-xim=motif' and `--with-xft'. |
3073 | 847 `--enable-menubars=lucid' (the default) is desirable.]), |
848 [], []) | |
849 dnl | |
850 XE_HELP_SUBSECTION([File-related options]) | |
851 XE_MERGED_ARG([default-eol-detection], | |
3312 | 852 AS_HELP_STRING([--enable-default-eol-detection],[Turns on by default auto-detection of end-of-line type |
3073 | 853 when reading a file. Applies to those platforms where |
854 auto-detection is off by default (non-Mule Unix). Has | |
855 no effect otherwise.]), | |
856 [], []) | |
857 XE_MERGED_ARG([clash-detection], | |
3312 | 858 AS_HELP_STRING([--enable-clash-detection],[Disable use of lock files to detect multiple edits |
3073 | 859 of the same file.]), |
2651 | 860 [], []) |
3073 | 861 XE_MERGED_ARG([zlib], |
3312 | 862 AS_HELP_STRING([--with-zlib],[Support inflate (de)compression internally.]), |
2651 | 863 [], []) |
3073 | 864 dnl |
865 XE_HELP_SUBSECTION([Database options]) | |
866 XE_COMPLEX_ARG([database], | |
3312 | 867 AS_HELP_STRING([--enable-database=TYPE],[Compile with database support. Valid types are |
3073 | 868 `no' or a comma-separated list of one or more |
4412
2f000e022a8b
Fix misspelling of option 'gdbm'.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4401
diff
changeset
|
869 of `berkdb' and either `dbm' or `gdbm'.]), |
3073 | 870 [ |
871 if test "$enable_database_dbm" = "yes" -a "$enable_database_gdbm" = "yes"; then | |
4412
2f000e022a8b
Fix misspelling of option 'gdbm'.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4401
diff
changeset
|
872 USAGE_ERROR("Only one of \`dbm' and \`gdbm' may be specified |
3073 | 873 with the \`--with-database' option.") |
874 fi | |
875 ], | |
876 [], | |
877 [XE_COMPLEX_OPTION([berkdb],[""]), | |
878 XE_COMPLEX_OPTION([dbm],[""]), | |
879 XE_COMPLEX_OPTION([gdbm],[""])]) | |
3003 | 880 XE_MERGED_ARG([ldap], |
3312 | 881 AS_HELP_STRING([--with-ldap],[Support the LDAP protocol.]), |
2651 | 882 [], []) |
3003 | 883 XE_MERGED_ARG([postgresql], |
3312 | 884 AS_HELP_STRING([--with-postgresql],[Support the PostgreSQL RDBMS.]), |
2651 | 885 [], []) |
3073 | 886 dnl |
887 XE_HELP_SUBSECTION([Mail options]) | |
888 XE_KEYWORD_ARG([mail-locking], | |
3312 | 889 AS_HELP_STRING([--with-mail-locking=TYPE],[Specify the locking to be used by movemail to prevent |
3073 | 890 concurrent updates of mail spool files. Valid types |
891 are `lockf', `flock', `file', `locking', `mmdf' or `pop'.]), | |
892 [],[],[lockf,flock,file,locking,mmdf,pop])dnl | |
3003 | 893 XE_MERGED_ARG([pop], |
3312 | 894 AS_HELP_STRING([--with-pop],[Support POP for mail retrieval.]), |
2651 | 895 [], []) |
3003 | 896 XE_MERGED_ARG([kerberos], |
3312 | 897 AS_HELP_STRING([--with-kerberos],[Support Kerberos-authenticated POP.]), |
2651 | 898 [], []) |
3003 | 899 XE_MERGED_ARG([hesiod], |
3312 | 900 AS_HELP_STRING([--with-hesiod],[Support Hesiod to get the POP server host.]), |
2651 | 901 [], []) |
3073 | 902 dnl |
903 XE_HELP_SUBSECTION([Networking options]) | |
904 XE_MERGED_ARG([tooltalk], | |
3312 | 905 AS_HELP_STRING([--with-tooltalk],[Support the ToolTalk IPC protocol.]), |
2651 | 906 [], []) |
3073 | 907 XE_MERGED_ARG([socks], |
3312 | 908 AS_HELP_STRING([--with-socks],[Compile with support for SOCKS (an Internet proxy).]), |
3073 | 909 [], []) |
910 XE_MERGED_ARG([dnet], | |
3312 | 911 AS_HELP_STRING([--with-dnet],[Compile with support for DECnet.]), |
2651 | 912 [], []) |
3003 | 913 XE_MERGED_ARG([ipv6-cname], |
3312 | 914 AS_HELP_STRING([--with-ipv6-cname],[Try IPv6 information first when canonicalizing host names. This option has no effect unless system supports getaddrinfo(3) and getnameinfo(3).]), |
2651 | 915 [], [with_ipv6_cname="no"]) |
3073 | 916 dnl |
917 XE_HELP_SUBSECTION([Memory allocation options]) | |
918 XE_MERGED_ARG([rel-alloc], | |
3312 | 919 AS_HELP_STRING([--with-rel-alloc],[Enable the relocating allocator.]), |
3073 | 920 [], [with_rel_alloc='default']) |
921 XE_MERGED_ARG([dlmalloc], | |
3312 | 922 AS_HELP_STRING([--with-dlmalloc],[Use Doug Lea's malloc implementation.]), |
3073 | 923 [], [with_dlmalloc='default']) |
924 XE_MERGED_ARG([system-malloc], | |
3312 | 925 AS_HELP_STRING([--with-system-malloc],[Use the system malloc, not the one distributed with XEmacs.]), |
3073 | 926 [], [with_system_malloc='default']) |
927 XE_MERGED_ARG([debug-malloc], | |
3312 | 928 AS_HELP_STRING([--with-debug-malloc],[Use a debugging malloc.]), |
2651 | 929 [], []) |
3003 | 930 XE_MERGED_ARG([pdump], |
3312 | 931 AS_HELP_STRING([--enable-pdump],[Enable portable LISP preloader.]), |
2651 | 932 [], []) |
3003 | 933 XE_MERGED_ARG([dump-in-exec], |
3312 | 934 AS_HELP_STRING([--enable-dump-in-exec],[Enable dumping into executable (enabled by default |
2720 | 935 for `pdump', not enabled by default in combination |
3263 | 936 with `newgc').]), |
2720 | 937 [], []) |
3073 | 938 XE_MERGED_ARG([kkcc], |
3312 | 939 AS_HELP_STRING([--enable-kkcc],[Enable experimental new GC mark algorithms.]), |
3073 | 940 [], [enable_kkcc=yes]) |
3263 | 941 |
3092 | 942 XE_MERGED_ARG([newgc], |
3312 | 943 AS_HELP_STRING([--enable-newgc],[Enable new incremental garbage collector and new allocator.]), |
3092 | 944 [], []) |
945 XE_COMPLEX_ARG([vdb], | |
3312 | 946 AS_HELP_STRING([--enable-vdb=TYPE],[Override auto-detection of |
3092 | 947 virtual-dirty-bit write-barrier implementation for the |
948 new garbage collector. TYPE must be one of "auto" (for | |
949 auto-detection), "posix", "win32", "mach", or "fake" | |
950 (uses the new garbage collector but disables | |
951 incremental collections). The default is to | |
952 use auto-detection.]), | |
953 [], [enable_vdb="auto"],[auto,posix,win32,mach,fake,no]) | |
3073 | 954 dnl |
955 XE_HELP_SUBSECTION([Emacs Lisp options]) | |
956 XE_MERGED_ARG([modules], | |
3312 | 957 AS_HELP_STRING([--enable-modules],[Compile in experimental support for dynamically |
3073 | 958 loaded libraries (Dynamic Shared Objects).]), |
959 [], []) | |
960 XE_KEYWORD_ARG([bignum], | |
3312 | 961 AS_HELP_STRING([--enable-bignum=TYPE],[Compile in support for bignums, ratios, or bigfloats |
3073 | 962 using library support. TYPE must be one of "gmp" |
963 (for GNU MP), "mp" (for BSD MP), or "no" (disabled).]), | |
964 [], [enable_bignum="no"],[no,gmp,mp]) | |
965 dnl | |
966 XE_HELP_SUBSECTION([Platform Specific options]) | |
967 XE_MERGED_ARG([workshop], | |
3312 | 968 AS_HELP_STRING([--with-workshop],[Support the Sun WorkShop (formerly Sparcworks) |
3073 | 969 development environment.]), |
970 [], []) | |
971 XE_MERGED_ARG([sparcworks], | |
3312 | 972 AS_HELP_STRING([--with-sparcworks],[Alias for --with-workshop]), |
3073 | 973 [], []) |
974 XE_MERGED_ARG([infodock], | |
3312 | 975 AS_HELP_STRING([--with-infodock],[Support the Infodock version of XEmacs. Infodock is a SourceForge project).]), |
3073 | 976 [], []) |
977 dnl | |
978 XE_HELP_SUBSECTION([Debugging options]) | |
3003 | 979 XE_MERGED_ARG([debug], |
3312 | 980 AS_HELP_STRING([--enable-debug],[Enable additional debugging information. No time cost.]), |
2651 | 981 [], []) |
3959 | 982 dnl Keep TESTS sorted to help with syncing doc to reality. |
3073 | 983 XE_COMPLEX_ARG([error-checking], |
3312 | 984 AS_HELP_STRING([--enable-error-checking=TESTS],[Compile with internal error-checking added. |
3073 | 985 Causes noticeable loss of speed. Valid TESTS |
3959 | 986 are `byte_code', `display', `extents', `gc', `glyphs', `malloc', `structures' `text', `types'.]), |
3073 | 987 [], [], |
3959 | 988 [XE_COMPLEX_OPTION([byte_code],[""]), |
989 XE_COMPLEX_OPTION([display],[""]), | |
990 XE_COMPLEX_OPTION([extents],[""]), | |
3073 | 991 XE_COMPLEX_OPTION([gc],[""]), |
3959 | 992 XE_COMPLEX_OPTION([glyphs],[""]), |
3073 | 993 XE_COMPLEX_OPTION([malloc],[""]), |
3961 | 994 XE_COMPLEX_OPTION([structures],[""]), |
3959 | 995 XE_COMPLEX_OPTION([text],[""]), |
3961 | 996 XE_COMPLEX_OPTION([types],[""])]) |
3003 | 997 XE_MERGED_ARG([assertions], |
3312 | 998 AS_HELP_STRING([--enable-assertions],[Compile in runtime assertions.]), |
2651 | 999 [], []) |
3003 | 1000 XE_MERGED_ARG([memory-usage-stats], |
3312 | 1001 AS_HELP_STRING([--enable-memory-usage-stats],[Enable LISP memory usage API.]), |
2651 | 1002 [], []) |
3003 | 1003 XE_MERGED_ARG([quick-build], |
3312 | 1004 AS_HELP_STRING([--enable-quick-build],[Speed up the build cycle by leaving out steps where |
2651 | 1005 XEmacs will still work (more or less) without them. |
1006 Potentially dangerous if you don't know what you're | |
1007 doing. This (1) doesn't garbage-collect after loading | |
1008 each file during dumping, (2) doesn't | |
1009 automatically rebuild the DOC file (remove it by hand | |
1010 to get it rebuilt), (3) Removes config.h, lisp.h and | |
1011 associated files from the dependency lists, so changes | |
1012 to these files don't automatically cause all .c files | |
1013 to be rebuilt.]), | |
1014 [], []) | |
3073 | 1015 XE_MERGED_ARG([union-type], |
3312 | 1016 AS_HELP_STRING([--enable-union-type],[Use union definition of Lisp_Object type. Known to trigger bugs in some compilers.]), |
2651 | 1017 [], []) |
3073 | 1018 XE_MERGED_ARG([quantify], |
3312 | 1019 AS_HELP_STRING([--with-quantify],[Support performance debugging using Quantify.]), |
3073 | 1020 [], []) |
1021 XE_MERGED_ARG([purify], | |
3312 | 1022 AS_HELP_STRING([--with-purify],[Support memory debugging using Purify.]), |
3073 | 1023 [], []) |
2651 | 1024 dnl ------------------------------------------------------------------------- |
1025 dnl Final command line argument checks. | |
1026 | |
1027 dnl --with-quantify or --with-purify imply --with-system-malloc | |
1028 if test "$with_purify" = "yes" -o "$with_quantify" = "yes"; then | |
1029 test "$with_system_malloc" = "default" && with_system_malloc=yes | |
1030 fi | |
1031 | |
1032 dnl CDE requires tooltalk | |
1033 XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk) | |
1034 | |
3094 | 1035 dnl Xft sanity checking |
1036 dnl #### Maybe we should XE_DIE here instead? Or fix the UI so that | |
1037 dnl emacs is always implicit? (I worry that --without-xft would be weird.) | |
1038 if test \( "$with_xft_menubars" = "yes" -o "$with_xft_tabs" = "yes" \ | |
1039 -o "$with_xft_gauges" = "yes" \) -a "$with_xft_emacs" = "no"; then | |
1040 AC_MSG_WARN([Forcing --with-xft=emacs because Xft is enabled]) | |
1041 with_xft_emacs=yes | |
1042 fi | |
1043 | |
1044 dnl XFS and Xft in menubars conflict | |
1045 if test "$with_xfs" = "yes" -a "$with_xft_menubars" = "yes"; then | |
1046 USAGE_ERROR("XFS and Xft in the menubars are incompatible!") | |
1047 fi | |
1048 | |
2651 | 1049 dnl ------------------------------------------------------------------------- |
1050 dnl Local paths | |
1051 test "x$prefix" = xNONE && prefix=$ac_default_prefix | |
1052 # Let make expand exec_prefix. | |
1053 if test "x$exec_prefix" = xNONE | |
1054 then | |
1055 exec_prefix='${prefix}' | |
1056 else | |
1057 AC_DEFINE(EXEC_PREFIX_USER_DEFINED) | |
1058 fi | |
3729 | 1059 |
1060 define([XE_EXPAND_VARIABLE], | |
1061 [$2=[$]$1 | |
1062 while true; do | |
1063 case "[$]$2" in | |
1064 *\[$]* ) eval "$2=[$]$2" ;; | |
1065 *) break ;; | |
1066 esac | |
1067 done])dnl XE_EXPAND_VARIABLE | |
1068 | |
1069 XE_EXPAND_VARIABLE(prefix,prefix_expanded) | |
1070 XE_EXPAND_VARIABLE(datadir,datadir_expanded) | |
1071 | |
1072 if test "x$datadir_expanded" != "x$prefix_expanded/share" | |
2651 | 1073 then |
1074 AC_DEFINE(INFODIR_USER_DEFINED) | |
1075 AC_DEFINE(LISPDIR_USER_DEFINED) | |
4092 | 1076 AC_DEFINE(ETCDIR_USER_DEFINED) |
1077 fi | |
1078 | |
1079 if test "x$lib_expanded" != "x$prefix_expanded/lib" | |
1080 then | |
2651 | 1081 AC_DEFINE(MODULEDIR_USER_DEFINED) |
4092 | 1082 AC_DEFINE(ARCHLIBDIR_USER_DEFINED) |
2651 | 1083 AC_DEFINE(DOCDIR_USER_DEFINED) |
1084 fi | |
3729 | 1085 |
1086 XE_EXPAND_VARIABLE(exec_prefix,exec_prefix_expanded) | |
1087 XE_EXPAND_VARIABLE(libdir,libdir_expanded) | |
1088 | |
1089 if test "x$libdir_expanded" != "x$exec_prefix_expanded/lib" | |
2651 | 1090 then |
1091 AC_DEFINE(ARCHLIBDIR_USER_DEFINED) | |
1092 fi | |
3729 | 1093 |
1094 XE_EXPAND_VARIABLE(mandir,mandir_expanded) | |
1095 | |
1096 if test "x$mandir_expanded" = "x$prefix_expanded/man" | |
2651 | 1097 then |
4118 | 1098 mandir='${datarootdir}/man/man1' |
2651 | 1099 fi |
3729 | 1100 |
1101 XE_EXPAND_VARIABLE(infodir,infodir_expanded) | |
1102 | |
1103 if test "x$infodir_expanded" != "x${prefix_expanded}/info" | |
2651 | 1104 then |
1105 AC_DEFINE(INFODIR_USER_DEFINED) | |
1106 else | |
4118 | 1107 infodir='${datarootdir}/${instvardir}/info' |
2651 | 1108 fi |
1109 | |
1110 with_sitelispdir='${datadir}/${inststaticdir}/site-lisp' | |
1111 inststaticdir='${PROGNAME}' | |
1112 instvardir='${PROGNAME}-${version}' | |
1113 sitemoduledir='${libdir}/${inststaticdir}/site-modules' | |
1114 | |
1115 AC_SUBST(inststaticdir) | |
1116 AC_SUBST(statedir,$with_statedir) | |
1117 | |
1118 dnl ------------------------------------------------------------------------- | |
1119 | |
1120 AC_PROG_LN_S | |
1121 | |
1122 dnl Make symlinks for etc, lisp, and info directories while the path | |
1123 dnl is still relative. We do not symlink lock because someone may | |
1124 dnl have stuck the source on a read-only partition. Instead we | |
1125 dnl create it as an actual directory later on if it does not already | |
1126 dnl exist. | |
1127 for dir in lisp etc man info tests; do | |
1128 if test ! -d "$dir" ; then | |
1129 echo Making symbolic link to "$srcdir/$dir" | |
1130 ${LN_S} "$srcdir/$dir" "$dir" | |
1131 fi | |
1132 done | |
1133 | |
1134 dnl Calculate canonical name for blddir (i.e. current directory). | |
1135 dnl PWD may already be the preferable absolute name for ".", | |
1136 dnl but we can't trust it - it is sometimes inaccurate. | |
1137 absolute_pwd="`pwd`"; | |
1138 if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd" | |
1139 then blddir="$PWD" | |
1140 else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir) | |
1141 fi | |
1142 AC_SUBST(blddir) | |
1143 | |
1144 dnl Make srcdir absolute, if not already. It is important to | |
1145 dnl avoid running the path through pwd unnecessary, since pwd can | |
1146 dnl give you automounter prefixes, which can go away. | |
1147 case "$srcdir" in | |
1148 /* ) ;; | |
1149 . ) srcdir="$blddir" ;; | |
1150 * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;; | |
1151 esac | |
1152 | |
1153 dnl Check if the source directory already has a configured system in it. | |
1154 if test `pwd` != `sh -c cd $srcdir && pwd` \ | |
1155 && test -f "$srcdir/src/config.h"; then | |
1156 (echo "$progname: WARNING: The directory tree \`$srcdir' is being used" | |
1157 echo " as a build directory right now; it has been configured in its own" | |
1158 echo " right. To configure in another directory as well, you MUST" | |
1159 echo " use GNU make. If you do not have GNU make, then you must" | |
1160 echo " now do \`make distclean' in $srcdir," | |
1161 echo " and then run $progname again.") >&2 | |
1162 extrasub='/^VPATH[[ ]]*=/c\ | |
1163 vpath %.c $(srcdir)\ | |
1164 vpath %.h $(srcdir)\ | |
1165 vpath %.y $(srcdir)\ | |
1166 vpath %.l $(srcdir)\ | |
1167 vpath %.s $(srcdir)\ | |
1168 vpath %.in $(srcdir)' | |
1169 fi | |
1170 | |
2741 | 1171 dnl ------------------------------------------------------------------------- |
1172 AC_CONFIG_AUX_DIR_DEFAULT | |
1173 AC_CANONICAL_BUILD | |
1174 dnl ------------------------------------------------------------------------- | |
1175 | |
2651 | 1176 dnl ---------------------------------------- |
1177 dnl Find out which version of XEmacs this is | |
1178 dnl ---------------------------------------- | |
4419
eb82fbb675ea
Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents:
4412
diff
changeset
|
1179 dnl This should be the same code as in Makefile.in.in |
eb82fbb675ea
Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents:
4412
diff
changeset
|
1180 cp "$srcdir/version.sh.in" "$srcdir/version.sh" |
eb82fbb675ea
Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents:
4412
diff
changeset
|
1181 if test -d "$srcdir/.hg"; then |
eb82fbb675ea
Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents:
4412
diff
changeset
|
1182 (cd "$srcdir"; hg identify | cut -d " " -f 1 >> version.sh) |
eb82fbb675ea
Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents:
4412
diff
changeset
|
1183 fi |
2651 | 1184 . "$srcdir/version.sh" || exit 1; |
1185 dnl Must do the following first to determine verbosity for AC_DEFINE | |
1186 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi | |
1187 : "${verbose=$beta}" | |
1188 version="${emacs_major_version}.${emacs_minor_version}" | |
1189 AC_DEFINE_UNQUOTED(EMACS_MAJOR_VERSION, $emacs_major_version) | |
1190 AC_DEFINE_UNQUOTED(EMACS_MINOR_VERSION, $emacs_minor_version) | |
1191 if test -n "$emacs_beta_version" ; then | |
1192 if test "$beta" = "yes"; then | |
1193 version="${version}-b${emacs_beta_version}" | |
1194 AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version) | |
1195 else | |
1196 version="${version}.${emacs_beta_version}" | |
1197 AC_DEFINE_UNQUOTED(EMACS_PATCH_LEVEL, $emacs_beta_version) | |
1198 fi | |
1199 fi | |
1200 AC_DEFINE_UNQUOTED(XEMACS_CODENAME, "$xemacs_codename") | |
3972 | 1201 dnl for etags |
1202 verbose_version=$version | |
2651 | 1203 if test "$xemacs_extra_name" != ""; then |
1204 AC_DEFINE_UNQUOTED(XEMACS_EXTRA_NAME, "$xemacs_extra_name") | |
3972 | 1205 verbose_version="$verbose_version $xemacs_extra_name" |
2651 | 1206 fi |
1207 if test "$xemacs_release_date" != ""; then | |
1208 AC_DEFINE_UNQUOTED(XEMACS_RELEASE_DATE, "$xemacs_release_date") | |
1209 fi | |
1210 AC_DEFINE_UNQUOTED(EMACS_VERSION, "$version") | |
1211 | |
1212 if test "$with_infodock" = "yes"; then | |
1213 if test ! -f ../../ID-INSTALL; then | |
1214 echo "Cannot build InfoDock without InfoDock sources" | |
1215 with_infodock=no | |
1216 fi | |
1217 fi | |
1218 | |
1219 if test "$with_infodock" = "yes"; then | |
1220 dnl InfoDock version numbers. XEmacs will use the same style of numbering | |
1221 dnl after the release of XEmacs 21.0. | |
1222 AC_DEFINE_UNQUOTED(INFODOCK_MAJOR_VERSION, $infodock_major_version) | |
1223 AC_DEFINE_UNQUOTED(INFODOCK_MINOR_VERSION, $infodock_minor_version) | |
1224 AC_DEFINE_UNQUOTED(INFODOCK_BUILD_VERSION, $infodock_build_version) | |
1225 version=${infodock_major_version}.${infodock_minor_version}.${infodock_build_version} | |
1226 PROGNAME=infodock | |
4448
fd8a9a4d81d9
Support #!, to allow XEmacs to be called as a script interpreter.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4401
diff
changeset
|
1227 SHEBANG_PROGNAME=infodock-script |
2651 | 1228 CPPFLAGS="$CPPFLAGS -DINFODOCK" |
1229 else | |
1230 PROGNAME=xemacs | |
4448
fd8a9a4d81d9
Support #!, to allow XEmacs to be called as a script interpreter.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4401
diff
changeset
|
1231 SHEBANG_PROGNAME=xemacs-script |
2651 | 1232 fi |
1233 | |
4449
13ce402e1736
Call AC_SUBST on SHEBANG_PATHNAME, for #! support.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4448
diff
changeset
|
1234 AC_SUBST(SHEBANG_PROGNAME) |
2651 | 1235 |
1236 AC_DEFINE_UNQUOTED(EMACS_PROGNAME, "$PROGNAME") | |
1237 | |
4448
fd8a9a4d81d9
Support #!, to allow XEmacs to be called as a script interpreter.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4401
diff
changeset
|
1238 AC_DEFINE_UNQUOTED(SHEBANG_PROGNAME, "${PROGNAME}-script") |
fd8a9a4d81d9
Support #!, to allow XEmacs to be called as a script interpreter.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4401
diff
changeset
|
1239 |
2651 | 1240 dnl ---------------------------------- |
1241 dnl Error checking and debugging flags | |
1242 dnl ---------------------------------- | |
1243 dnl Error checking default to "yes" in beta versions, to "no" in releases. | |
1244 dnl Same goes for --enable-debug and --extra-verbosity. | |
1245 if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi | |
1246 test "${enable_error_checking_extents:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_EXTENTS) | |
1247 test "${enable_error_checking_types:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_TYPES) | |
1248 test "${enable_error_checking_text:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_TEXT) | |
1249 test "${enable_error_checking_gc:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_GC) | |
1250 test "${enable_error_checking_malloc:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_MALLOC) | |
1251 test "${enable_error_checking_byte_code:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_BYTE_CODE) | |
1252 test "${enable_error_checking_glyphs:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_GLYPHS) | |
1253 test "${enable_error_checking_display:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_DISPLAY) | |
1254 test "${enable_error_checking_structures:=$beta}" = yes && AC_DEFINE(ERROR_CHECK_STRUCTURES) | |
1255 dnl enable_debug=yes must be set when error checking is present. This should be | |
1256 dnl fixed up. | |
1257 dnl enable_debug implies other options | |
1258 if test "${enable_debug:=$beta}" = "yes"; then | |
1259 enable_assertions=yes | |
1260 enable_memory_usage_stats=yes | |
1261 AC_DEFINE(DEBUG_XEMACS) | |
1262 fi | |
1263 test "$enable_assertions" = "yes" && AC_DEFINE(USE_ASSERTIONS) | |
1264 test "$enable_memory_usage_stats" = "yes" && AC_DEFINE(MEMORY_USAGE_STATS) | |
1265 | |
1266 dnl ------------------------------ | |
1267 dnl Determine the s&m files to use | |
1268 dnl ------------------------------ | |
1269 dnl Given the configuration name, set machfile and opsysfile to the | |
1270 dnl names of the m/*.h and s/*.h files we should use. | |
1271 | |
1272 dnl Canonicalize the configuration name. | |
1273 XE_STRIP_4TH_COMPONENT(ac_cv_build_alias) | |
1274 XE_STRIP_4TH_COMPONENT(ac_cv_build) | |
1275 AC_SUBST(configuration, $ac_cv_build) | |
1276 | |
1277 dnl If you add support for a new configuration, add code to this | |
1278 dnl switch statement to recognize your configuration name and select | |
1279 dnl the appropriate operating system and machine description files. | |
1280 | |
1281 dnl You would hope that you could choose an m/*.h file pretty much | |
1282 dnl based on the machine portion of the configuration name, and an s- | |
1283 dnl file based on the operating system portion. However, it turns out | |
1284 dnl that each m/*.h file is pretty manufacturer-specific - for | |
1285 dnl example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are | |
1286 dnl all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS | |
1287 dnl machines. So we basically have to have a special case for each | |
1288 dnl configuration name. | |
1289 | |
1290 dnl As far as handling version numbers on operating systems is | |
1291 dnl concerned, make sure things will fail in a fixable way. If | |
1292 dnl /etc/MACHINES says nothing about version numbers, be | |
1293 dnl prepared to handle anything reasonably. If version numbers | |
1294 dnl matter, be sure /etc/MACHINES says something about it. | |
1295 | |
1296 dnl Eric Raymond says we should accept strings like "sysvr4" to mean | |
1297 dnl "System V Release 4"; he writes, "The old convention encouraged" | |
1298 dnl "confusion between `system' and `release' levels'." | |
1299 | |
1300 machine='' opsys='' | |
1301 | |
1302 dnl Straightforward machine determination | |
1303 case "$ac_cv_build" in | |
1304 sparc-*-* ) machine=sparc ;; | |
1305 alpha*-*-* ) machine=alpha ;; | |
1306 vax-*-* ) machine=vax ;; | |
1307 mips-dec-* ) machine=pmax ;; | |
1308 mips-sgi-irix6* ) machine=iris6d ;; | |
1309 mips-sgi-* ) machine=iris4d ;; | |
1310 mips*-linux ) machine=mips ;; | |
1311 romp-ibm-* ) machine=ibmrt ;; | |
1312 rs6000-ibm-aix* ) machine=ibmrs6000 ;; | |
1313 powerpc-ibm-aix* ) machine=ibmrs6000 ;; | |
1314 powerpc*-* ) machine=powerpc ;; | |
1315 hppa-*-* ) machine=hp800 ;; | |
1316 m88k-dg-* ) machine=aviion ;; | |
1317 m68*-sony-* ) machine=news ;; | |
1318 mips-sony-* ) machine=news-risc ;; | |
1319 clipper-* ) machine=clipper ;; | |
1320 arm* ) machine=arm ;; | |
1321 ns32k-* ) machine=ns32000 ;; | |
1322 esac | |
1323 | |
1324 dnl Straightforward OS determination | |
1325 case "$ac_cv_build" in | |
1326 *-*-linux* ) opsys=linux ;; | |
1327 *-*-netbsd* ) opsys=netbsd ;; | |
1328 *-*-openbsd* ) opsys=openbsd ;; | |
1329 *-*-nextstep* ) opsys=nextstep ;; | |
1330 *-*-vms ) opsys=vms ;; | |
1331 | |
1332 dnl DEC OSF | |
1333 *-dec-osf1.3 | *-dec-osf2* ) opsys=decosf1-3 ;; | |
1334 *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;; | |
1335 *-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;; | |
1336 *-dec-osf3* ) opsys=decosf3-1 ;; | |
1337 *-dec-osf[[4-9]]* ) opsys=decosf4-0 ;; | |
1338 | |
1339 dnl DEC Ultrix | |
1340 *-*-ultrix[[0-3]].* | *-*-ultrix4.0* ) opsys=bsd4-2 ;; | |
1341 *-*-ultrix4.[[12]]* ) opsys=bsd4-3 ;; | |
1342 *-*-ultrix* ) opsys=ultrix4-3 ;; | |
1343 | |
1344 dnl AIX | |
1345 *-*-aix3.1* ) opsys=aix3-1 ;; | |
1346 *-*-aix3.2.5 ) opsys=aix3-2-5 ;; | |
1347 *-*-aix3* ) opsys=aix3-2 ;; | |
1348 *-*-aix4.0* ) opsys=aix4 ;; | |
1349 *-*-aix4.1* ) opsys=aix4-1 ;; | |
1350 *-*-aix[[4-9]]* ) opsys=aix4-2 ;; | |
1351 | |
1352 dnl Other generic OSes | |
1353 *-gnu* ) opsys=gnu ;; | |
1354 *-*-bsd4.[[01]] ) opsys=bsd4-1 ;; | |
1355 *-*-bsd4.2 ) opsys=bsd4-2 ;; | |
1356 *-*-bsd4.3 ) opsys=bsd4-3 ;; | |
1357 *-*-aos4.2 ) opsys=bsd4-2 ;; | |
1358 *-*-aos* ) opsys=bsd4-3 ;; | |
1359 *-*-sysv0 | *-*-sysvr0 ) opsys=usg5-0 ;; | |
1360 *-*-sysv2 | *-*-sysvr2 ) opsys=usg5-2 ;; | |
1361 *-*-sysv2.2 | *-*-sysvr2.2 ) opsys=usg5-2-2 ;; | |
1362 *-*-sysv3* | *-*-sysvr3* ) opsys=usg5-3 ;; | |
1363 *-*-sysv4.1* | *-*-sysvr4.1* )opsys=usg5-4 NON_GNU_CPP=/usr/lib/cpp ;; | |
1364 *-*-sysv4.[[2-9]]* | *-sysvr4.[[2-9]]* ) | |
1365 if test -z "$NON_GNU_CPP" ; then | |
1366 for prog in "/usr/ccs/lib/cpp" "/lib/cpp"; do | |
1367 if test -f "$prog"; then NON_GNU_CPP="$prog"; break; fi | |
1368 done | |
1369 fi | |
1370 opsys=usg5-4-2 ;; | |
1371 *-sysv4* | *-sysvr4* ) opsys=usg5-4 ;; | |
1372 *-*-mach_bsd4.3* ) opsys=mach-bsd4-3 ;; | |
1373 esac | |
1374 | |
1375 case "$ac_cv_build" in | |
1376 | |
1377 dnl NetBSD ports | |
1378 *-*-netbsd* ) | |
2663 | 1379 case "${ac_cv_build}" in |
2651 | 1380 i[[3-9]]86-*-netbsd*) machine=intel386 ;; |
1381 hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* ) | |
1382 dnl Yes, this is somewhat bogus. | |
1383 machine=hp9000s300 ;; | |
1384 pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;; | |
1385 pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;; | |
1386 esac | |
1387 ;; | |
1388 | |
1389 dnl OpenBSD ports | |
1390 *-*-openbsd* ) | |
1391 case "${ac_cv_build}" in | |
1392 i386-*-openbsd*) machine=intel386 ;; | |
1393 m68k-*-openbsd*) machine=hp9000s300 ;; | |
1394 mipsel-*-openbsd*) machine=pmax ;; | |
1395 esac | |
1396 ;; | |
1397 | |
1398 dnl Acorn RISCiX: | |
1399 arm-acorn-riscix1.1* ) machine=acorn opsys=riscix1-1 ;; | |
1400 arm-acorn-riscix1.2* | arm-acorn-riscix ) machine=acorn opsys=riscix1-2 ;; | |
1401 | |
1402 dnl Alliant machines | |
1403 fx80-alliant-* ) machine=alliant4 opsys=bsd4-2 ;; | |
1404 i860-alliant-* ) machine=alliant-2800 opsys=bsd4-3 ;; | |
1405 | |
1406 dnl Altos 3068 | |
1407 m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;; | |
1408 | |
1409 dnl Amdahl UTS | |
1410 580-amdahl-sysv* ) machine=amdahl opsys=usg5-2-2 ;; | |
1411 | |
1412 dnl Apollo, Domain/OS | |
1413 m68*-apollo-* ) machine=apollo opsys=bsd4-3 ;; | |
1414 | |
1415 dnl AT&T 3b2, 3b5, 3b15, 3b20 | |
1416 we32k-att-sysv* ) machine=att3b opsys=usg5-2-2 ;; | |
1417 | |
1418 dnl AT&T 3b1 - The Mighty Unix PC! | |
1419 m68*-att-sysv* ) machine=7300 opsys=usg5-2-2 ;; | |
1420 | |
1421 dnl Bull machines | |
1422 rs6000-bull-bosx* ) machine=ibmrs6000 opsys=aix3-2 ;; # dpx20 | |
1423 m68*-bull-sysv3* ) machine=dpx2 opsys=usg5-3 ;; # dpx2 | |
1424 m68*-bull-sysv2* ) machine=sps7 opsys=usg5-2 ;; # sps7 | |
1425 | |
1426 dnl CCI 5/32, 6/32 -- see "Tahoe". | |
1427 | |
1428 dnl Celerity | |
1429 celerity-celerity-bsd* ) machine=celerity opsys=bsd4-2 ;; | |
1430 | |
1431 dnl Convex | |
1432 *-convex-bsd* | *-convex-convexos* ) | |
1433 machine=convex opsys=bsd4-3 | |
1434 NON_GNU_CPP="cc -E -P" | |
1435 ;; | |
1436 | |
1437 dnl Cubix QBx/386 | |
1438 i[[3-9]]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;; | |
1439 | |
1440 dnl Darwin, a.k.a. MacOS X (based on Mach and Freebsd) | |
1441 *-*-darwin*) | |
1442 opsys=darwin | |
1443 ;; | |
1444 | |
1445 dnl Data General AViiON Machines | |
1446 i586-dg-dgux*R4* | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;; | |
1447 m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) opsys=dgux5-4r3 ;; | |
1448 m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* ) opsys=dgux5-4r2 ;; | |
1449 m88k-dg-dgux* ) opsys=dgux ;; | |
1450 | |
1451 dnl Motorola Delta machines | |
1452 m68k-motorola-sysv* | m68000-motorola-sysv* ) machine=delta opsys=usg5-3 ;; | |
1453 m88k-motorola-sysv4* ) | |
1454 dnl jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110 | |
1455 dnl needs POSIX_SIGNALS and therefore needs usg5-4-2. | |
1456 dnl I hope there are not other 4.0 versions for this machine | |
1457 dnl which really need usg5-4 instead. | |
1458 machine=delta88k opsys=usg5-4-2 | |
1459 ;; | |
1460 m88k-motorola-sysv* | m88k-motorola-m88kbcs* ) machine=delta88k opsys=usg5-3 ;; | |
1461 | |
1462 dnl Dual machines | |
1463 m68*-dual-sysv* ) machine=dual opsys=usg5-2 ;; | |
1464 m68*-dual-uniplus* ) machine=dual opsys=unipl5-2 ;; | |
1465 | |
1466 dnl Encore machines | |
1467 ns16k-encore-bsd* ) machine=ns16000 opsys=umax ;; | |
1468 | |
1469 dnl Gould Power Node and NP1 | |
1470 pn-gould-bsd4.2* ) machine=gould opsys=bsd4-2 ;; | |
1471 pn-gould-bsd4.3* ) machine=gould opsys=bsd4-3 ;; | |
1472 np1-gould-bsd* ) machine=gould-np1 opsys=bsd4-3 ;; | |
1473 | |
1474 dnl Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000 | |
1475 dnl as far as XEmacs is concerned). | |
1476 m88k-harris-cxux* ) | |
1477 dnl Build needs to be different on 7.0 and later releases | |
1478 case "`uname -r`" in | |
1479 [[56]].[[0-9]] ) machine=nh4000 opsys=cxux ;; | |
1480 [[7]].[[0-9]] ) machine=nh4000 opsys=cxux7 ;; | |
1481 esac | |
1482 NON_GNU_CPP="/lib/cpp" | |
1483 ;; | |
1484 dnl Harris ecx or gcx running CX/UX (Series 1200, Series 3000) | |
1485 m68k-harris-cxux* ) machine=nh3000 opsys=cxux ;; | |
1486 dnl Harris power pc NightHawk running Power UNIX (Series 6000) | |
1487 powerpc-harris-powerunix ) machine=nh6000 opsys=powerunix NON_GNU_CPP="cc -Xo -E -P" ;; | |
1488 | |
1489 dnl Honeywell XPS100 | |
1490 xps*-honeywell-sysv* ) machine=xps100 opsys=usg5-2 ;; | |
1491 | |
1492 dnl HP 9000 series 200 or 300 | |
1493 m68*-hp-bsd* ) machine=hp9000s300 opsys=bsd4-3 ;; | |
1494 | |
1495 dnl HP-UX | |
1496 *-hp-hpux* ) | |
1497 dnl Figure out machine and opsys orthogonally | |
1498 case "$ac_cv_build" in | |
1499 m68* ) machine=hp9000s300 ;; | |
1500 hppa* ) machine=hp800 ;; | |
1501 esac | |
1502 | |
1503 case "$ac_cv_build" in | |
1504 *-hp-hpux7* ) opsys=hpux ;; | |
1505 *-hp-hpux8* ) opsys=hpux8 ;; | |
1506 *-hp-hpux9* ) opsys=hpux9 ;; | |
1507 *-hp-hpux10* ) opsys=hpux10 ;; | |
1508 *-hp-hpux11* ) opsys=hpux11 ;; | |
1509 * ) opsys=hpux ;; | |
1510 esac | |
1511 | |
1512 dnl HP has a broken "strcat" | |
1513 case "$opsys" in hpux9 | hpux10 ) XE_ADD_OBJS(strcat.o) ;; esac | |
1514 | |
1515 if test "$opsys" = "hpux10" -o "$opsys" = "hpux11"; then \ | |
1516 ansi_flag="-Ae"; else ansi_flag="-Aa"; fi | |
1517 NON_GNU_CC="cc $ansi_flag" NON_GNU_CPP="cc $ansi_flag -E" | |
1518 | |
1519 case "$ac_cv_build" in *-hp-hpux*shr* ) opsys="${opsys}-shr" ;; esac | |
1520 ;; | |
1521 | |
1522 dnl Orion machines | |
1523 orion-orion-bsd* ) machine=orion opsys=bsd4-2 ;; | |
1524 clipper-orion-bsd* ) machine=orion105 opsys=bsd4-2 ;; | |
1525 | |
1526 dnl IBM machines | |
1527 i[[3-9]]86-ibm-aix1.1* ) machine=ibmps2-aix opsys=usg5-2-2 ;; | |
1528 i[[3-9]]86-ibm-aix1.[[23]]* | i[[3-9]]86-ibm-aix* ) machine=ibmps2-aix opsys=usg5-3 ;; | |
1529 i370-ibm-aix*) machine=ibm370aix opsys=usg5-3 ;; | |
1530 romp-ibm-aos* ) opsys=bsd4-3 ;; | |
1531 romp-ibm-bsd* ) opsys=bsd4-3 ;; | |
1532 romp-ibm-mach* ) opsys=mach-bsd4-3 ;; | |
1533 | |
1534 dnl Integrated Solutions "Optimum V" | |
1535 m68*-isi-bsd4.2* ) machine=isi-ov opsys=bsd4-2 ;; | |
1536 m68*-isi-bsd4.3* ) machine=isi-ov opsys=bsd4-3 ;; | |
1537 | |
1538 dnl Intel 386 machines where we do care about the manufacturer | |
1539 i[[3-9]]86-intsys-sysv* ) machine=is386 opsys=usg5-2-2 ;; | |
1540 | |
1541 dnl Prime EXL | |
1542 i[[3-9]]86-prime-sysv* ) machine=i386 opsys=usg5-3 ;; | |
1543 | |
1544 dnl Sequent Symmetry running Dynix | |
1545 i[[3-9]]86-sequent-bsd* ) machine=symmetry opsys=bsd4-3 ;; | |
1546 | |
1547 dnl Sequent Symmetry running DYNIX/ptx | |
1548 i[[3-9]]86-sequent-ptx* ) machine=sequent-ptx opsys=ptx NON_GNU_CPP="/lib/cpp" ;; | |
1549 | |
1550 dnl Unspecified sysv on an ncr machine defaults to svr4.2. | |
1551 dnl (Plain usg5-4 does not turn on POSIX signals, which we need.) | |
1552 i[[3-9]]86-ncr-sysv* ) machine=ncr386 opsys=usg5-4-2 ;; | |
1553 | |
1554 dnl Intel Paragon OSF/1 | |
1555 i860-intel-osf1* ) machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp ;; | |
1556 | |
1557 dnl Intel 860 | |
1558 i860-*-sysv4* ) machine=i860 opsys=usg5-4 NON_GNU_CC="/bin/cc" NON_GNU_CPP="/usr/ccs/lib/cpp" ;; | |
1559 | |
1560 dnl Masscomp machines | |
1561 m68*-masscomp-rtu* ) machine=masscomp opsys=rtu ;; | |
1562 | |
1563 dnl Megatest machines | |
1564 m68*-megatest-bsd* ) machine=mega68 opsys=bsd4-2 ;; | |
1565 | |
1566 dnl Workstations sold by MIPS | |
1567 dnl This is not necessarily all workstations using the MIPS processor - | |
1568 dnl Irises are produced by SGI, and DECstations by DEC. | |
1569 mips-mips-usg* ) machine=mips4 ;; | |
1570 mips-mips-riscos4 ) | |
1571 machine=mips4 | |
1572 NON_GNU_CC="cc -systype bsd43" | |
1573 NON_GNU_CPP="cc -systype bsd43 -E" | |
1574 case "$ac_cv_build" in | |
1575 mips-mips-riscos4* ) opsys=bsd4-3 ;; | |
1576 mips-mips-riscos5* ) opsys=riscos5 ;; | |
1577 esac | |
1578 ;; | |
1579 mips-mips-bsd* ) machine=mips opsys=bsd4-3 ;; | |
1580 mips-mips-* ) machine=mips opsys=usg5-2-2 ;; | |
1581 | |
1582 dnl NeXT | |
1583 m68*-next-* | m68k-*-nextstep* ) machine=m68k opsys=nextstep ;; | |
1584 | |
1585 dnl The complete machine from National Semiconductor | |
1586 ns32k-ns-genix* ) machine=ns32000 opsys=usg5-2 ;; | |
1587 | |
1588 dnl NCR machines | |
1589 m68*-ncr-sysv2* | m68*-ncr-sysvr2* ) machine=tower32 opsys=usg5-2-2 ;; | |
1590 m68*-ncr-sysv3* | m68*-ncr-sysvr3* ) machine=tower32v3 opsys=usg5-3 ;; | |
1591 | |
1592 dnl Nixdorf Targon 31 | |
1593 m68*-nixdorf-sysv* ) machine=targon31 opsys=usg5-2-2 ;; | |
1594 | |
1595 dnl Nu (TI or LMI) | |
1596 m68*-nu-sysv* ) machine=nu opsys=usg5-2 ;; | |
1597 | |
1598 dnl Plexus | |
1599 m68*-plexus-sysv* ) machine=plexus opsys=usg5-2 ;; | |
1600 | |
1601 dnl Pyramid machines | |
1602 pyramid-pyramid-bsd* ) machine=pyramid opsys=bsd4-2 ;; | |
1603 | |
1604 dnl Sequent Balance | |
1605 ns32k-sequent-bsd4.2* ) machine=sequent opsys=bsd4-2 ;; | |
1606 ns32k-sequent-bsd4.3* ) machine=sequent opsys=bsd4-3 ;; | |
1607 | |
1608 dnl Siemens Nixdorf | |
1609 mips-siemens-sysv* | mips-sni-sysv*) | |
1610 machine=mips-siemens opsys=usg5-4 | |
1611 NON_GNU_CC=/usr/ccs/bin/cc | |
1612 NON_GNU_CPP=/usr/ccs/lib/cpp | |
1613 ;; | |
1614 | |
1615 dnl NEC | |
1616 mips-nec-sysv*) | |
1617 machine=mips-nec | |
1618 NON_GNU_CC=/usr/ccs/bin/cc | |
1619 NON_GNU_CPP=/usr/ccs/lib/cpp | |
1620 ;; | |
1621 | |
1622 dnl Silicon Graphics machines | |
1623 dnl Iris 2500 and Iris 2500 Turbo (aka the Iris 3030) | |
1624 m68*-sgi-iris3.5* ) machine=irist opsys=iris3-5 ;; | |
1625 m68*-sgi-iris3.6* | m68*-sgi-iris*) machine=irist opsys=iris3-6 ;; | |
1626 dnl Iris 4D | |
1627 mips-sgi-irix3.* ) opsys=irix3-3 ;; | |
1628 mips-sgi-irix4.* ) opsys=irix4-0 ;; | |
1629 mips-sgi-irix6* ) opsys=irix6-0 ;; | |
1630 mips-sgi-irix5.1* ) opsys=irix5-1 ;; | |
1631 mips-sgi-irix5.2* ) opsys=irix5-2 ;; | |
1632 mips-sgi-irix5.* ) opsys=irix5-3 ;; | |
1633 mips-sgi-irix* ) opsys=irix5-0 ;; | |
1634 | |
1635 dnl SONY machines | |
1636 *-sony-newsos[[34]]* | *-sony-news[[34]]* ) opsys=bsd4-3 ;; | |
1637 *-sony-news* ) opsys=newsos5 ;; | |
1638 | |
1639 dnl Stride | |
1640 m68*-stride-sysv* ) machine=stride opsys=usg5-2 ;; | |
1641 | |
1642 dnl Suns | |
1643 *-*-solaris* | *-*-sunos* | *-sun-mach* | *-sun-bsd* ) | |
1644 dnl Hardware type | |
1645 case "$ac_cv_build" in | |
1646 m68*-sunos1* ) machine=sun1 ;; | |
1647 m68*-sunos2* ) machine=sun2 ;; | |
1648 m68* ) machine=sun3 ;; | |
1649 i*86*-sun-sunos[[34]]* ) machine=sun386 ;; | |
1650 i*86-*-* ) machine=intel386 ;; | |
1651 rs6000* ) machine=rs6000 ;; | |
1652 esac | |
1653 | |
1654 dnl Make $canonical even more so. | |
1655 case "$ac_cv_build" in *-sunos5*) | |
1656 ac_cv_build=`echo $ac_cv_build | sed -e s/sunos5/solaris2/`;; | |
1657 esac | |
1658 | |
1659 dnl On SunOS 4, use /usr/lib/cpp, sans dynodump, /bin/ranlib | |
1660 dnl On SunOS 5, use cc -E, need dynodump, RANLIB not needed | |
1661 dnl But, SunOS 5.6 no longer needs dynodump because it has a similar | |
1662 dnl function integrated. | |
1663 case "$ac_cv_build" in | |
1664 *-sunos4* ) | |
1665 #test -f /usr/lib/cpp && NON_GNU_CPP=/usr/lib/cpp ;; | |
1666 : ;; | |
1667 *-solaris2* ) | |
1668 #test -f /usr/ccs/lib/cpp && NON_GNU_CPP=/usr/ccs/lib/cpp | |
1669 RANLIB=':' ;; | |
1670 esac | |
1671 | |
1672 case "$ac_cv_build" in | |
1673 *-solaris* ) | |
1674 opsys=sol2 | |
1675 os_release_major=`uname -r | sed -e 's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\1/'` | |
1676 os_release_minor=`uname -r | sed -e 's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\2/'` | |
1677 case "$os_release_minor" in [[0-9]]) | |
1678 os_release_minor="0${os_release_minor}";; | |
1679 esac | |
1680 os_release="${os_release_major}${os_release_minor}" | |
1681 AC_DEFINE_UNQUOTED(OS_RELEASE, $os_release) ;; | |
1682 | |
1683 dnl The last Sun386 ran 4.0. | |
1684 i*86-*-sunos4* ) opsys=sunos4-0 ;; | |
1685 *-sunos4.0* ) opsys=sunos4-0 ;; | |
1686 *-sunos4.1.2* ) opsys=sunos4-1-2 ;; | |
1687 *-sunos4.1.3* ) opsys=sunos4-1-3 ;; | |
1688 *-sunos4.1.[[4-9]]* ) opsys=sunos4-1-4 ;; | |
1689 *-sunos4* | *-sunos ) opsys=sunos4-1 ;; | |
1690 *-mach* ) opsys=mach-bsd4-3 ;; | |
1691 * ) opsys=bsd4-2 ;; | |
1692 esac | |
1693 | |
1694 case "$ac_cv_build" in *-sunos4*shr* ) opsys="${opsys}-shr" ;; esac | |
1695 | |
1696 dnl Watch out for a compiler guaranteed not to work. | |
1697 test "$opsys $CC" = "sol2 /usr/ucb/cc" && CC="" | |
1698 ;; | |
1699 | |
1700 dnl Tadpole 68k | |
1701 m68*-tadpole-sysv* ) machine=tad68k opsys=usg5-3 ;; | |
1702 | |
1703 dnl Tahoe machines | |
1704 tahoe-tahoe-bsd4.2* ) machine=tahoe opsys=bsd4-2 ;; | |
1705 tahoe-tahoe-bsd4.3* ) machine=tahoe opsys=bsd4-3 ;; | |
1706 | |
1707 dnl Tandem Integrity S2 | |
1708 mips-tandem-sysv* ) machine=tandem-s2 opsys=usg5-3 ;; | |
1709 | |
1710 dnl Tektronix XD88 | |
1711 m88k-tektronix-sysv3* ) machine=tekxd88 opsys=usg5-3 ;; | |
1712 | |
1713 dnl Tektronix 16000 box (6130?) | |
1714 ns16k-tektronix-bsd* ) machine=ns16000 opsys=bsd4-2 ;; | |
1715 dnl Tektronix 4300 | |
1716 dnl src/m/tek4300.h hints that this is a m68k machine. | |
1717 m68*-tektronix-bsd* ) machine=tek4300 opsys=bsd4-3 ;; | |
1718 | |
1719 dnl Titan P2 or P3 | |
1720 titan-titan-sysv* ) machine=titan opsys=usg5-3 ;; | |
1721 | |
1722 dnl Ustation E30 (SS5E) | |
1723 m68*-unisys-uniplus* ) machine=ustation opsystem=unipl5-2 ;; | |
1724 | |
1725 dnl Vaxen. | |
1726 vax-dec-* ) | |
1727 case "$ac_cv_build" in | |
1728 *-sysv[[01]]* | *-sysvr[[01]]* ) opsys=usg5-0 ;; | |
1729 *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;; | |
1730 *-mach* ) opsys=mach-bsd4-3 ;; | |
1731 esac | |
1732 ;; | |
1733 | |
1734 dnl Whitechapel MG1 | |
1735 ns16k-whitechapel-* ) machine=mg1 ;; | |
1736 | |
1737 dnl Wicat | |
1738 m68*-wicat-sysv* ) machine=wicat opsys=usg5-2 ;; | |
1739 | |
1740 dnl Intel 386 machines where we do not care about the manufacturer | |
1741 i[[3-9]]86-*-* ) | |
1742 machine=intel386 | |
1743 case "$ac_cv_build" in | |
1744 *-isc1.* | *-isc2.[[01]]* ) opsys=386-ix ;; | |
1745 *-isc2.2* ) opsys=isc2-2 ;; | |
1746 *-isc4.0* ) opsys=isc4-0 ;; | |
1747 *-isc4.* ) opsys=isc4-1 | |
1748 GCC_TEST_OPTIONS=-posix | |
1749 NON_GCC_TEST_OPTIONS=-Xp | |
1750 ;; | |
1751 *-isc* ) opsys=isc3-0 ;; | |
1752 *-esix5* ) opsys=esix5r4 NON_GNU_CPP=/usr/lib/cpp ;; | |
1753 *-esix* ) opsys=esix ;; | |
1754 *-mach* ) opsys=mach-bsd4-3 ;; | |
1755 *-xenix* ) opsys=xenix ;; | |
1756 *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;; | |
1757 *-bsd386* | *-bsdi1* ) opsys=bsd386 ;; | |
1758 *-bsdi4* ) opsys=bsdos4 ;; | |
1759 *-bsdi3* ) opsys=bsdos3 ;; | |
1760 *-bsdi2.1* ) opsys=bsdos2-1 ;; | |
1761 *-bsdi2* ) opsys=bsdos2 ;; | |
1762 *-sco3.2v5* ) opsys=sco5 ;; | |
1763 *-sysv5* ) opsys=sco7 ;; | |
1764 *-386bsd* ) opsys=386bsd ;; | |
1765 *-freebsd* ) opsys=freebsd ;; | |
1766 *-nextstep* ) opsys=nextstep ;; | |
1767 *-pc-cygwin* ) opsys=cygwin32 ;; | |
1768 *-pc-mingw* ) opsys=mingw32 ; | |
1769 test -z "$with_tty" && with_tty="no";; | |
1770 dnl Otherwise, we fall through to the generic opsys code at the bottom. | |
1771 esac | |
1772 ;; | |
1773 | |
1774 dnl Linux/68k | |
1775 m68k-*-linux* ) machine=m68k opsys=linux ;; | |
1776 | |
1777 esac | |
1778 | |
1779 dnl Initialize machine from $canonical if not in our database above. | |
1780 test -z "$machine" && machine=`echo $ac_cv_build | sed 's/-.*$//'` | |
1781 | |
1782 dnl Initialize opsys from `uname -s` if not in our database above. | |
1783 test -z "$opsys" && opsys=`uname -s | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` | |
1784 | |
1785 dnl Use configure-time autodetection if s&m not available | |
1786 if test -r "${srcdir}/src/m/${machine}.h"; then | |
1787 machfile="m/${machine}.h" | |
1788 AC_DEFINE_UNQUOTED(config_machfile, "$machfile") | |
1789 else | |
1790 echo "XEmacs has no builtin knowledge of \`$machine' machines." | |
1791 echo "Using configure-time autodetection only." | |
1792 fi | |
1793 | |
1794 if test -r "${srcdir}/src/s/${opsys}.h"; then | |
1795 opsysfile="s/${opsys}.h" | |
1796 AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile") | |
1797 else | |
1798 echo "XEmacs has no builtin knowledge of \`$opsys' operating systems." | |
1799 echo "Using configure-time autodetection only." | |
1800 fi | |
1801 | |
1802 | |
1803 dnl -------------------------------------------------------------- | |
1804 dnl $opsys detection complete; defaults depending on $opsys follow | |
1805 dnl -------------------------------------------------------------- | |
1806 | |
1807 if test -z "$enable_pdump"; then | |
1808 case "$opsys" in | |
1809 linux* ) enable_pdump=yes ;; dnl glibc 2.3.1 seems to hose unexec | |
1810 darwin ) enable_pdump=yes ;; dnl No "native" working dumper available | |
1811 cygwin* ) enable_pdump=yes ;; dnl unexec is broken | |
1812 * ) enable_pdump=no ;; | |
1813 esac | |
1814 fi | |
1815 | |
3092 | 1816 if test "$enable_newgc" = "yes"; then |
1817 if test "$enable_vdb" = "auto"; then | |
1818 case "$opsys" in | |
3520 | 1819 darwin ) case "$machine" in |
4424
42711a251efd
Look for all x86 machines to determine which write barrier to use on MacOSX.
Marcus Crestani <crestani@informatik.uni-tuebingen.de>
parents:
4419
diff
changeset
|
1820 i[[3-9]]86 ) check_vdb_posix=yes ;; |
3520 | 1821 * ) AC_DEFINE(VDB_MACH) have_vdb_mach=yes ;; |
1822 esac ;; | |
3092 | 1823 cygwin* ) AC_DEFINE(VDB_WIN32) have_vdb_win32=yes ;; |
1824 linux* ) check_vdb_posix=yes ;; | |
1825 freebsd ) check_vdb_posix=yes ;; | |
1826 dnl if not sure, try posix first, maybe we are lucky | |
1827 * ) check_vdb_posix=yes ;; | |
1828 esac | |
1829 else | |
1830 case "$enable_vdb" in | |
1831 mach ) AC_DEFINE(VDB_MACH) have_vdb_mach=yes ;; | |
1832 win32 ) AC_DEFINE(VDB_WIN32) have_vdb_win32=yes ;; | |
1833 posix ) check_vdb_posix=yes ;; | |
1834 fake ) have_vdb_fake=yes ;; | |
1835 no ) have_vdb_fake=yes ;; | |
1836 esac | |
1837 fi | |
1838 fi | |
1839 | |
2651 | 1840 if test -z "$with_dynamic"; then |
1841 case "$opsys" in | |
1842 hpux* | sunos4* ) with_dynamic=no ;; | |
1843 *) with_dynamic=yes ;; | |
1844 esac | |
1845 fi | |
1846 if test "$with_dynamic" = "yes"; then | |
1847 case "$opsys" in | |
1848 hpux* | sunos4* | sco5 ) opsys="${opsys}-shr" ;; | |
1849 decosf* ) ld_call_shared="-call_shared" ;; | |
1850 darwin ) AC_DEFINE(DLSYM_NEEDS_UNDERSCORE) ;; | |
1851 esac | |
1852 else dnl "$with_dynamic" = "no" | |
1853 case "$opsys" in | |
1854 sol2 ) | |
1855 echo "Static linking is not supported on Solaris 2." | |
1856 echo "Rerun configure without specifying --without-dynamic." | |
1857 exit 1 ;; | |
1858 linux ) ld_call_shared="-Bstatic" ;; | |
1859 decosf* ) ld_call_shared="-non_shared" ;; | |
1860 esac | |
1861 fi | |
1862 | |
1863 dnl Tools configuration | |
1864 case "$opsys" in | |
1865 aix* ) NON_GNU_CC=xlc ;; dnl Use xlc by default on AIX | |
1866 darwin ) RANLIB="ranlib -c" ;; dnl Avoid link error in lwlib-config.c | |
1867 esac | |
1868 | |
1869 stack_trace_eye_catcher=`echo ${PROGNAME}_${version}_${ac_cv_build} | sed 'y/.-/__/'` | |
1870 AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher) | |
1871 | |
1872 dnl -------------------------------------------------- | |
1873 dnl Determine the compiler, set up for feature testing | |
1874 dnl -------------------------------------------------- | |
1875 | |
1876 dnl Sun Development environment support | |
1877 test "$with_sparcworks" = "yes" && with_workshop=yes # compatibility alias | |
1878 XE_CHECK_FEATURE_DEPENDENCY(workshop, tooltalk) | |
1879 if test "$with_workshop" = "yes"; then | |
1880 AC_DEFINE(SUNPRO) | |
1881 fi | |
1882 | |
1883 if test "$enable_clash_detection" != "no"; then | |
1884 AC_DEFINE(CLASH_DETECTION) | |
1885 fi | |
1886 | |
1887 dnl Choose a compiler from (in order) | |
2680 | 1888 dnl --with-compiler, env var CC, with_gcc=no && ${NON_GNU_CC:-cc}, AC_PROG_CC |
2651 | 1889 test -n "$with_compiler" && CC="$with_compiler" |
1890 if test "$with_gcc" = "no"; then dnl Try to find a non-gcc compiler | |
1891 case "$CC" in "" | *gcc* ) CC="${NON_GNU_CC-cc}" ;; esac | |
1892 fi | |
1893 | |
1894 dnl If we don't set CFLAGS here, AC_PROG_CC will set it. | |
1895 dnl But we know better what's good for us, so we do our own | |
1896 dnl computation of real CFLAGS later. | |
1897 dnl --with_cflags overrides environment variable CFLAGS | |
1898 test "${with_cflags-unset}" != unset && CFLAGS="$with_cflags" | |
1899 if test "${CFLAGS-unset}" != unset | |
1900 then cflags_specified=yes; | |
1901 else cflags_specified=no; | |
1902 fi | |
1903 | |
1904 if test "${with_cflags_warning-unset}" != unset | |
1905 then cflags_warning_specified=yes; | |
1906 else cflags_warning_specified=no; | |
1907 fi | |
1908 | |
2667 | 1909 if test "${with_cflags_optimization-unset}" != unset |
2651 | 1910 then cflags_optimization_specified=yes; |
1911 else cflags_optimization_specified=no; | |
1912 fi | |
1913 | |
2667 | 1914 if test "${with_cflags_debugging-unset}" != unset |
2651 | 1915 then cflags_debugging_specified=yes; |
1916 else cflags_debugging_specified=no; | |
1917 fi | |
1918 | |
1919 xe_save_CFLAGS="$CFLAGS" | |
1920 | |
1921 AC_AIX dnl Defines _ALL_SOURCE on AIX. | |
1922 | |
1923 AC_PROG_CC dnl Autoconf has its own magic for compiler autodetection | |
1924 | |
1925 dnl Retry using random guesswork if AC_PROG_CC got it wrong... | |
1926 if test "$with_gcc" = "no" -a "$GCC" = "yes"; then | |
1927 CC=${NON_GNU_CC-cc} | |
1928 AC_PROG_CC | |
1929 elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; then | |
1930 CC=gcc | |
1931 AC_PROG_CC | |
1932 fi | |
1933 CFLAGS="$xe_save_CFLAGS" | |
1934 | |
1935 dnl Determine GCC version. | |
1936 if test "$GCC" = "yes"; then | |
1937 AC_RUN_IFELSE([AC_LANG_SOURCE([int main () { | |
3494 | 1938 return __GNUC__; |
1939 }])], [:], [__GCC="$?"]) | |
1940 AC_RUN_IFELSE([AC_LANG_SOURCE([int main () { | |
1941 return __GNUC_MINOR__; | |
1942 }])], [:], [__GCC_MINOR="$?"]) | |
1943 __GCC_VERSION=$__GCC"."$__GCC_MINOR | |
1944 echo "You appear to be using GCC version" $__GCC_VERSION | |
2651 | 1945 fi |
1946 | |
1947 dnl Support for using a different compiler for xemacs itself. | |
1948 dnl Useful for building XEmacs with a C++ compiler. | |
1949 dnl For example, `configure --compiler=gcc --xemacs-compiler=g++ | |
1950 | |
1951 dnl The compiler used to build xemacs, as opposed to the compiler | |
1952 dnl used by configure and lib-src, is determined from the following | |
1953 dnl sources, in order of priority: | |
2680 | 1954 dnl o --with-xemacs-compiler configure flag |
2651 | 1955 dnl o XEMACS_CC environment variable |
1956 dnl o same as the regular compiler, (determined previously) | |
1957 | |
1958 dnl We don't do AC_PROG_CC for XEMACS_CC; if we can't trust these people.... | |
1959 test -n "$with_xemacs_compiler" && XEMACS_CC="$with_xemacs_compiler" | |
1960 : ${XEMACS_CC:="$CC"} | |
1961 | |
1962 dnl Figure out what C preprocessor to use. | |
1963 | |
1964 dnl On Sun systems, people sometimes set up the variable CPP | |
1965 dnl with a value that is a directory, not an executable at all. | |
1966 dnl Detect that case, and ignore that value. | |
1967 test -n "$CPP" -a -d "$CPP" && CPP= | |
1968 | |
1969 test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP" | |
1970 | |
1971 AC_PROG_CPP | |
1972 | |
1973 dnl -------------------------------------------------------------------- | |
1974 dnl Compiler feature macros | |
1975 dnl -------------------------------------------------------------------- | |
1976 | |
1977 dnl We want feature macros defined here *and* in config.h.in, so that | |
1978 dnl the compilation environment at configure time and compile time agree. | |
1979 | |
1980 AC_MSG_CHECKING(for GNU libc) | |
3312 | 1981 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <features.h>],[ |
2651 | 1982 #if ! (defined __GLIBC__ || defined __GNU_LIBRARY__) |
1983 #error Not a GNU libc system :-( | |
1984 ******* ======= ******** &&&&&&&& | |
1985 #endif | |
3312 | 1986 ])], have_glibc=yes, have_glibc=no) |
2651 | 1987 AC_MSG_RESULT($have_glibc) |
1988 dnl I'm tired of pop being broken with GLIBC -slb | |
1989 dnl Well. then why not fix fucking pop? | |
1990 test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE) | |
1991 | |
1992 dnl We'd like to use vendor extensions, where available. | |
1993 dnl We'd like to use functions from the latest Unix98 standards. | |
1994 dnl See http://www.opengroup.org/onlinepubs/007908799/xsh/compilation.html | |
1995 case "$opsys" in | |
1996 sol2) | |
1997 AC_DEFINE(__EXTENSIONS__) | |
1998 dnl Solaris 2 before 2.5 had some bugs with feature test macro interaction. | |
1999 if test "$os_release" -ge 505; then | |
2000 AC_DEFINE(_XOPEN_SOURCE,500) | |
2001 AC_DEFINE(_XOPEN_SOURCE_EXTENDED) | |
2002 fi ;; | |
2003 linux) | |
2004 AC_DEFINE(_POSIX_C_SOURCE,199506L) | |
2005 dnl #### should this be 600? | |
2006 AC_DEFINE(_XOPEN_SOURCE,500) | |
2007 AC_DEFINE(_XOPEN_SOURCE_EXTENDED) | |
2008 ;; | |
2009 freebsd4*) | |
2010 AC_DEFINE(_POSIX_C_SOURCE,199506L) | |
2011 dnl #### Do we want these too? Apparently yes for _XOPEN_SOURCE=500. | |
2012 AC_DEFINE(_XOPEN_SOURCE,500) | |
2013 dnl AC_DEFINE(_XOPEN_SOURCE_EXTENDED) | |
2014 ;; | |
2015 esac | |
2016 | |
2017 dnl Identify compilers to enable compiler-specific hacks. | |
2018 dnl Add support for other compilers HERE! | |
2019 dnl GCC is already identified elsewhere. | |
2020 AC_RUN_IFELSE([AC_LANG_SOURCE([int main () { | |
2021 #if defined __SUNPRO_C | |
2022 return 11; | |
2023 #elif defined __DECC | |
2024 return 12; | |
2025 #elif defined __USLC__ && defined __SCO_VERSION__ | |
2026 return 13; | |
2027 #elif defined __INTEL_COMPILER | |
2028 return 14; | |
2029 #else | |
2030 return 0; | |
2031 #endif | |
2032 }])], [], | |
2033 [case "$?" in | |
2034 11) echo "You appear to be using the SunPro C compiler." ; __SUNPRO_C=yes ;; | |
2035 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;; | |
2036 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;; | |
2037 14) echo "You appear to be using the Intel C++ compiler."; __ICC=yes | |
2038 dnl Newer versions of icc claim to be GCC | |
2039 GCC=no ;; | |
2040 esac]) | |
2041 | |
2042 dnl -------------------------------------------------------------------- | |
2043 dnl Extract some information from the operating system and machine files | |
2044 dnl -------------------------------------------------------------------- | |
2045 | |
2046 echo "Extracting information from the machine- and system-dependent headers..." | |
2047 | |
2048 dnl It is not important that this name contain the PID; you cannot run | |
2049 dnl two configures in the same directory and have anything work | |
2050 dnl anyway. | |
2051 tempcname="conftest.c" | |
2052 | |
2053 dnl CPP_to_sh(CPP_SYMBOL, SH_VAR, DEFAULT_VALUE) | |
2054 define([CPP_to_sh], | |
2055 [[#]ifndef [$1] | |
2056 [#]define [$1]ifelse([$3],,, [ "$3"]) | |
2057 [#]endif | |
2058 configure___ [$2]=[$1] | |
2059 ])dnl CPP_to_sh | |
2060 | |
2061 dnl CPP_boolean_to_sh(CPP_SYMBOL, SH_VAR) | |
2062 define([CPP_boolean_to_sh], | |
2063 [[#]ifdef [$1] | |
2064 configure___ [$2]=yes | |
2065 [#]else | |
2066 configure___ [$2]=no | |
2067 [#]endif | |
2068 ])dnl CPP_boolean_to_sh | |
2069 | |
2070 cat > $tempcname < confdefs.h | |
2071 cat >> $tempcname <<EOF | |
2072 #define NOT_C_CODE | |
2073 #define C_SWITCH_SITE | |
2074 #define C_SWITCH_X_SITE | |
2075 #define LD_SWITCH_SITE | |
2076 #define LD_SWITCH_X_SITE | |
2077 #define LD_SWITCH_X_SITE_AUX | |
2078 #define OS_RELEASE $os_release | |
2079 | |
2080 #ifdef config_opsysfile | |
2081 #include "$srcdir/src/$opsysfile" | |
2082 #endif | |
2083 | |
2084 #ifdef config_machfile | |
2085 #include "$srcdir/src/$machfile" | |
2086 #endif | |
2087 | |
2088 CPP_to_sh(LIBS_MACHINE, libs_machine) | |
2089 CPP_to_sh(LIBS_SYSTEM, libs_system) | |
2090 CPP_to_sh(LIBS_TERMCAP, libs_termcap) | |
2091 CPP_to_sh(LIB_STANDARD, libs_standard) | |
2092 | |
2093 CPP_to_sh(OBJECTS_MACHINE, objects_machine) | |
2094 CPP_to_sh(OBJECTS_SYSTEM, objects_system) | |
2095 | |
2096 CPP_to_sh(C_SWITCH_MACHINE, c_switch_machine) | |
2097 CPP_to_sh(C_SWITCH_SYSTEM, c_switch_system) | |
2098 | |
2099 CPP_to_sh(LD_SWITCH_MACHINE, ld_switch_machine) | |
2100 CPP_to_sh(LD_SWITCH_SYSTEM, ld_switch_system) | |
2101 | |
2102 CPP_to_sh(UNEXEC, unexec) | |
2103 | |
2104 CPP_to_sh(SYSTEM_TYPE, system_type) | |
2105 | |
2106 CPP_to_sh(LD_SWITCH_SHARED, ld_switch_shared, -c) | |
2107 | |
2108 #define ORDINARY_LD "\$(CC) \$(CFLAGS)" | |
2109 configure___ ordinary_ld=ORDINARY_LD | |
2110 | |
2111 #ifdef ORDINARY_LINK | |
2112 #define LD ORDINARY_LD | |
2113 #else /* no ORDINARY LINK */ | |
2114 #ifdef COFF_ENCAPSULATE | |
2115 #define LD "\$(CC) -nostdlib" | |
2116 #else /* not COFF_ENCAPSULATE */ | |
2117 #ifdef LINKER | |
2118 #define LD LINKER | |
2119 #else /* ! defined (LINKER) */ | |
2120 #define LD "ld" | |
2121 #endif /* ! defined (LINKER) */ | |
2122 #endif /* ! defined (COFF_ENCAPSULATE) */ | |
2123 #endif /* not ORDINARY_LINK */ | |
2124 configure___ ld=LD | |
2125 | |
2126 CPP_to_sh(LIB_GCC, lib_gcc) | |
2127 CPP_to_sh(LD_TEXT_START_ADDR, ld_text_start_addr) | |
2128 | |
2129 #if ! defined (ORDINARY_LINK) && !defined (START_FILES) | |
2130 #ifdef NO_REMAP | |
2131 #ifdef COFF_ENCAPSULATE | |
2132 #define START_FILES "pre-crt0.o /usr/local/lib/gcc-crt0.o" | |
2133 #else /* ! defined (COFF_ENCAPSULATE) */ | |
2134 #define START_FILES "pre-crt0.o /lib/crt0.o" | |
2135 #endif /* ! defined (COFF_ENCAPSULATE) */ | |
2136 #else /* ! defined (NO_REMAP) */ | |
2137 #define START_FILES "ecrt0.o" | |
2138 #endif /* ! defined (NO_REMAP) */ | |
2139 #endif /* no ORDINARY_LINK */ | |
2140 #ifndef START_FILES | |
2141 #define START_FILES | |
2142 #endif | |
2143 configure___ start_files=START_FILES | |
2144 | |
2145 CPP_boolean_to_sh(ORDINARY_LINK, ordinary_link) | |
2146 CPP_boolean_to_sh(SYSTEM_MALLOC, system_malloc) | |
2147 CPP_boolean_to_sh(TERMINFO, have_terminfo) | |
2148 dnl The MAIL_USE_xxx variables come from the s&m headers | |
2149 CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock) | |
2150 CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf) | |
2151 CPP_boolean_to_sh(MAIL_USE_LOCKING, mail_use_locking) | |
2152 CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes) | |
2153 EOF | |
2154 | |
2155 dnl The value of CPP is a quoted variable reference, so we need to do this | |
2156 dnl to get its actual value... | |
2157 CPP=`eval "echo $CPP $CPPFLAGS"` | |
2158 define(TAB, [ ])dnl | |
2159 eval `$CPP -Isrc $tempcname \ | |
2160 | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"` | |
2161 | |
2162 rm $tempcname | |
2163 | |
2164 dnl s&m files shouldn't be required to define anything, or even to exist. | |
2165 dnl So we default SYSTEM_TYPE to the obvious documented standard, `uname -s`, | |
2166 dnl appropriately emacsulated. | |
2167 test -z "$system_type" && \ | |
2168 AC_DEFINE_UNQUOTED(SYSTEM_TYPE,"`uname -s | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`") | |
2169 | |
2170 dnl If the s&m files don't define a system-specific dumper, simply use pdump. | |
2171 dnl Sometime in the future, we'll remove all definitions of UNEXEC | |
2172 dnl from all the s&m files. | |
2173 test -z "$unexec" && enable_pdump=yes | |
2174 | |
2175 if test "$enable_pdump" = "yes"; then | |
2176 ordinary_link="yes" | |
2177 ld="${ordinary_ld}" | |
2178 start_files= | |
2179 libs_standard= | |
2180 unexec= | |
2181 lib_gcc= | |
2182 fi | |
2183 | |
3263 | 2184 dnl Enable KKCC by default |
2790 | 2185 test -z "$enable_kkcc" && enable_kkcc=yes |
2186 | |
2720 | 2187 dnl Dump into executable |
2188 if test -z "$enable_dump_in_exec"; then | |
2189 if test "$enable_pdump" = "yes"; then | |
3263 | 2190 if test "$enable_newgc" = "yes"; then |
2720 | 2191 enable_dump_in_exec=no |
2192 else | |
2193 enable_dump_in_exec=yes | |
2194 fi | |
2195 fi | |
2196 fi | |
2197 | |
3092 | 2198 dnl New incremental garbage collector |
2199 if test "$enable_newgc" = "yes"; then | |
2200 enable_kkcc=yes | |
2201 fi | |
2202 | |
2651 | 2203 dnl For debugging... |
2204 test "$verbose" = "yes" && \ | |
2205 PRINT_VAR(libs_machine libs_system libs_termcap libs_standard | |
2206 objects_machine objects_system c_switch_machine c_switch_system | |
2207 ld_switch_machine ld_switch_system unexec ld_switch_shared | |
2208 ld lib_gcc ld_text_start_addr start_files ordinary_link | |
2209 have_terminfo mail_use_flock mail_use_lockf) && echo "" | |
2210 | |
2211 dnl Pick up mingw include path | |
2212 dnl We only cope with headers in mingw, not mingw32: no previous version of | |
2213 dnl XEmacs supported mingw and cygnus have made this incompatible change | |
2214 dnl so we just go with the flow. | |
2215 case "$opsys" in mingw* | cygwin*) | |
3228 | 2216 cygwin_include=`eval gcc -print-search-dirs | sed -ne s'/install: //p'` |
2217 cygwin_include=`eval "cd $cygwin_include/../../../..; pwd"` | |
2218 cygwin_include="-I$cygwin_include/include" ; | |
2651 | 2219 extra_includes="$cygwin_include/mingw $cygwin_include" ; |
2220 case "$opsys" in mingw*) | |
2221 XE_APPEND($extra_includes, c_switch_system) ;; | |
2222 esac | |
2223 ;; | |
2224 esac | |
2225 | |
2226 dnl Non-ordinary link usually requires -lc | |
2227 test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc" | |
2228 | |
2229 dnl ----------------------- | |
2230 dnl Compiler-specific hacks | |
2231 dnl ----------------------- | |
2232 | |
2233 dnl DEC C `-std1' means ANSI C mode | |
2234 test "$__DECC" = "yes" && XE_APPEND(-std1, c_switch_site) | |
2235 | |
2236 dnl Some versions of SCO native compiler need -Kalloca | |
2237 if test "$__USLC__" = yes; then | |
2238 AC_MSG_CHECKING(for whether the -Kalloca compiler flag is needed) | |
2239 need_kalloca=no | |
3317 | 2240 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [void *x = alloca(4);])], [:], [ |
2651 | 2241 xe_save_c_switch_system="$c_switch_system" |
2242 c_switch_system="$c_switch_system -Kalloca" | |
3317 | 2243 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [void *x = alloca(4);])], |
3312 | 2244 [ need_kalloca=yes ]) |
2651 | 2245 c_switch_system="$xe_save_c_switch_system"]) |
2246 AC_MSG_RESULT($need_kalloca) | |
2247 test "$need_kalloca" = "yes" && XE_APPEND(-Kalloca,c_switch_system) | |
2248 fi | |
2249 | |
2250 dnl If we're specifying XEMACS_CC, it'd better be in the same family | |
2251 dnl as CC or the following flag calculations are bogus. | |
2252 dnl #### We may want to actually error and abort here, but I am not sure. | |
2253 if test "$CC" != "$XEMACS_CC"; then | |
2254 if test "$XEMACS_CC" = "g++" -a "$GCC" != "yes"; then | |
2255 AC_MSG_WARN([CC and g++ are mismatched; XE_CFLAGS may be wrong]) | |
2256 xemacs_cc_cc_mismatch=yes | |
2257 elif test -n "$GCC" -a "$XEMACS_CC" != "g++"; then | |
2258 AC_MSG_WARN([gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong]) | |
2259 xemacs_cc_cc_mismatch=yes | |
2260 dnl #### Add other detectable mismatches here. | |
2261 else | |
2262 xemacs_cc_cc_mismatch=no | |
2263 fi | |
2264 fi | |
2265 | |
2266 dnl Calculate optimization flags. These will be off by default in beta | |
2267 dnl versions and on in release versions. | |
2268 | |
2667 | 2269 if test -z "$with_optimization"; then |
2992 | 2270 # If user set --with-cflags-optimization, use it to unilaterally |
2271 # determine whether optimization should be enabled. | |
2272 if test "$cflags_optimization_specified" = "yes" ; then | |
3443 | 2273 if test -z "$with_cflags_optimization" ; then |
2992 | 2274 with_optimization=no |
2275 else | |
2276 with_optimization=yes | |
2277 fi | |
2278 elif test -z "$emacs_is_beta" ; then | |
2667 | 2279 with_optimization=yes |
2280 else | |
2651 | 2281 with_optimization=no |
2282 fi | |
2283 fi | |
2284 | |
2285 | |
2286 dnl #### We should be checking C_OPTIMIZE_SWITCH in m/*, s/*. | |
2287 | |
2288 AC_MSG_CHECKING([for preferred optimization flags]) | |
2289 if test "$with_optimization" = "yes" ; then | |
2290 if test "$cflags_optimization_specified" = "no"; then | |
2291 dnl Following values of cflags_optimization are known to work well. | |
2292 dnl Should we take debugging options into consideration? | |
2293 if test "$GCC" = "yes"; then | |
2294 with_cflags_optimization="-O3" | |
2295 elif test "$__SUNPRO_C" = "yes"; then | |
2296 case "$opsys" in | |
2297 sol2 ) with_cflags_optimization="-xO4" ;; | |
2298 sunos4* ) with_cflags_optimization="-xO2" ;; | |
2299 esac | |
2300 elif test "$__DECC" = "yes"; then | |
2301 with_cflags_optimization="-O3" | |
2302 elif test "$CC" = "xlc"; then | |
2303 dnl see http://www.nersc.gov/vendor_docs/ibm/vac/sc094959.pdf | |
2304 with_cflags_optimization="-O3 -qstrict -qnoansialias -qlibansi -qmaxmem=20000" | |
2305 elif test "$__ICC" = "yes"; then | |
2306 with_cflags_optimization="-O3 -Ob2" | |
2307 dnl ### Add optimal cflags_optimization support for other compilers HERE! | |
2308 else | |
2309 with_cflags_optimization="-O" ;dnl The only POSIX-approved flag | |
2310 fi | |
2311 fi | |
2312 else | |
2313 with_cflags_optimization= | |
2314 fi | |
2315 | |
2316 AC_MSG_RESULT([${with_cflags_optimization}]) | |
2317 | |
2318 dnl #### We should be checking C_DEBUG_SWITCH in m/*, s/*. | |
2319 | |
2320 AC_MSG_CHECKING([for preferred debugging flags]) | |
2321 if test "$cflags_debugging_specified" = "no"; then | |
2322 dnl ### Add optimal debugging support for other compilers HERE! | |
2323 with_cflags_debugging="-g" | |
2324 | |
2325 debugging_ok_with_optimization=no | |
2326 if test "$GCC" = "yes" -o "$CC" = "xlc" -o "$__ICC" = "yes"; then | |
2327 debugging_ok_with_optimization=yes | |
2328 fi | |
2329 | |
2330 if test "$with_optimization" = "yes" -a "$debugging_ok_with_optimization" = "no"; then | |
2331 with_cflags_debugging= | |
2332 fi | |
2333 fi | |
2334 AC_MSG_RESULT([${with_cflags_debugging}]) | |
2335 | |
2336 dnl Calculate warning flags. We separate the flags for warnings from | |
2337 dnl the other flags because we want to force the warnings to be seen | |
2338 dnl by everyone who doesn't specifically override them. | |
2339 | |
2340 AC_MSG_CHECKING([for preferred warning flags for XEMACS_CC]) | |
2341 | |
2342 dnl If this stays nil, it will be set to cflags_warning before use. | |
2343 xe_cflags_warning="" | |
2344 | |
2345 if test "$cflags_warning_specified" = "no"; then | |
2346 dnl Following warning flags are known to work well. | |
2347 if test "$__SUNPRO_C" = "yes"; then | |
2348 case "$opsys" in | |
2349 sol2 ) with_cflags_warning="-v" ;; | |
2350 esac | |
2351 elif test "$CC" = "xlc"; then | |
2352 with_cflags_warning="-qinfo" | |
2353 elif test "$GCC" = "yes"; then | |
2354 with_cflags_warning="-Wall -Wno-switch -Wundef" | |
2355 dnl This is not very useful, as it issues warnings that may appear | |
2356 dnl or disappear rather randomly, cannot easily be fixed, and are | |
2357 dnl not a big deal. If you want it, add it yourself. | |
2358 dnl with_cflags_warning="$with_cflags_warning -Winline" | |
2359 | |
2360 dnl Yuck, bad compares have been worth at least 3 crashes! | |
2361 dnl Warnings about char subscripts are pretty pointless, though, | |
2362 dnl and we use them in various places. | |
2363 with_cflags_warning="$with_cflags_warning -Wsign-compare -Wno-char-subscripts" | |
3494 | 2364 test "$__GCC" -ge 3 && with_cflags_warning="$with_cflags_warning -Wpacked" |
2651 | 2365 dnl glibc is intentionally not `-Wpointer-arith'-clean. |
2366 dnl Ulrich Drepper has rejected patches to fix the glibc header files. | |
2367 test "$have_glibc" != "yes" && \ | |
2368 with_cflags_warning="$with_cflags_warning -Wpointer-arith" | |
2369 dnl Warning flags that may differ for gcc and g++ (xemacs_compiler) | |
2370 dnl With g++, -Wshadow produces five zillion utterly random warnings -- | |
2371 dnl a local var named `buffer' conflicts with `struct buffer' for | |
2372 dnl example. Even with gcc, -Wshadow is questionable because of its | |
2373 dnl complaints about parameters with the same names as global functions. | |
2374 dnl There is no -Wmissing-declarations under g++. | |
2375 dnl But gcc warns about -Weffc++ in C compiles. | |
2376 dnl With g++, there is no effective way to use -Wunused-parameter without | |
2377 dnl some very ugly code changes. | |
2378 if test "$with_xemacs_compiler" = "g++"; then | |
2379 xe_cflags_warning="$with_cflags_warning -Weffc++" | |
3494 | 2380 elif test "$__GCC" -ge 3; then |
2651 | 2381 xe_cflags_warning="$with_cflags_warning -Wunused-parameter" |
3494 | 2382 if test "$__GCC" -gt 3 || test "$__GCC_MINOR" -ge 4; then |
2383 with_cflags_warning="$with_cflags_warning -Wdeclaration-after-statement" | |
2384 fi | |
2651 | 2385 fi |
2386 with_cflags_warning="$with_cflags_warning -Wshadow -Wmissing-declarations" | |
2387 with_cflags_warning="$with_cflags_warning -Wmissing-prototypes -Wstrict-prototypes" | |
2388 dnl **** If more gcc/g++ flags are added, from here on must handle | |
2389 dnl **** with_cflags_warning and xe_cflags_warning in parallel | |
2390 elif test "$__ICC" = "yes"; then | |
2391 with_cflags_warning="-Wall -w1 -we147" | |
2392 dnl ### Add optimal with_cflags_warning support for other compilers HERE! | |
2393 fi | |
2394 fi | |
2395 test -z "$xe_cflags_warning" && xe_cflags_warning="$with_cflags_warning" | |
2396 AC_MSG_RESULT([${xe_cflags_warning}]) | |
2397 | |
2398 AC_MSG_CHECKING([for preferred warning flags for CC]) | |
2399 AC_MSG_RESULT([${with_cflags_warning}]) | |
2400 | |
2401 dnl Calculate remaining cflags. | |
2402 dnl Use either command line flag, environment var, or autodetection | |
2403 | |
2404 AC_MSG_CHECKING([for remaining CFLAGS]) | |
2405 | |
2406 if test "$cflags_specified" = "no"; then | |
2407 dnl Following values of CFLAGS are known to work well. | |
2408 if test "$CC" = "xlc"; then | |
2409 CFLAGS="-qro" | |
2410 dnl ### Add optimal CFLAGS support for other compilers HERE! | |
2411 fi | |
2412 fi | |
2413 AC_MSG_RESULT([${CFLAGS}]) | |
2414 | |
2415 dnl Now combine all C flags. Put the warning and optimization flags first | |
2416 dnl so that user-specified flags will override. | |
2417 dnl Do XE_CFLAGS before adding flags to CFLAGS. | |
2418 dnl Flags for XEMACS_CC: | |
2419 | |
2420 XE_CFLAGS="$xe_cflags_warning $with_cflags_debugging $with_cflags_optimization $CFLAGS" | |
2421 dnl Flags for CC: | |
2422 CFLAGS="$with_cflags_warning $with_cflags_debugging $with_cflags_optimization $CFLAGS" | |
2423 | |
2424 AC_MSG_CHECKING([total value of XE_CFLAGS]) | |
2425 AC_MSG_RESULT([${XE_CFLAGS}]) | |
2426 AC_MSG_CHECKING([total value of CFLAGS]) | |
2427 AC_MSG_RESULT([${CFLAGS}]) | |
2428 | |
2429 dnl Search for GCC specific build problems we know about | |
2430 if test "$GCC" = "yes"; then | |
2431 AC_MSG_CHECKING(for buggy gcc versions) | |
2432 GCC_VERSION=`$CC --version` | |
2433 case `uname -s`:`uname -m`:$GCC_VERSION in | |
2434 dnl egcs 2.90.21 (egcs-1.00 release) | |
2435 dnl egcs 2.90.29 (egcs-1.0.3 release) | |
2436 *:sun4*:2.8.1|*:sun4*:egcs-2.90.*) | |
2437 dnl Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures | |
2438 dnl without also using `-fno-schedule-insns'. | |
2439 case "$CFLAGS" in | |
2440 *-O2*|*-O3*) | |
2441 case "$CFLAGS" in | |
2442 *-fno-schedule-insns*) ;; | |
2443 *) | |
2444 AC_MSG_RESULT(yes) | |
2445 AC_MSG_WARN([Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures]) | |
2446 AC_MSG_WARN([without also using -fno-schedule-insns.]) | |
2447 AC_MSG_ERROR([Aborting due to known problem]) | |
2448 ;; | |
2449 esac | |
2450 ;; | |
2451 esac | |
2452 ;; | |
2453 dnl egcs-2.91.57 (egcs-1.1 release) | |
2454 dnl egcs-2.91.66 (egcs-1.1.2 release) | |
2455 Linux:alpha:egcs-2.91.*) | |
2456 AC_MSG_RESULT(yes) | |
2457 AC_MSG_WARN([There have been reports of egcs-1.1 not compiling XEmacs correctly on]) | |
2458 AC_MSG_WARN([Alpha Linux. There have also been reports that egcs-1.0.3a is O.K.]) | |
2459 AC_MSG_ERROR([Aborting due to known problem]) | |
2460 ;; | |
2461 *:i*86*:2.7.2*) | |
2462 case "$CFLAGS" in | |
2463 *-O2*|*-O3*) | |
2464 case "$GCC_VERSION" in | |
2465 2.7.2) | |
2466 case "$CFLAGS" in | |
2467 *-fno-strength-reduce*) ;; | |
2468 *) | |
2469 AC_MSG_RESULT(yes) | |
2470 AC_MSG_WARN([Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using]) | |
2471 AC_MSG_WARN([-fno-strength-reduce.]) | |
2472 AC_MSG_ERROR([Aborting due to known problem]) | |
2473 ;; | |
2474 esac | |
2475 ;; | |
2476 esac | |
2477 case "$CFLAGS" in | |
2478 *-fno-caller-saves*) ;; | |
2479 *) | |
2480 AC_MSG_RESULT(yes) | |
2481 AC_MSG_WARN([Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using]) | |
2482 AC_MSG_WARN([-fno-caller-saves.]) | |
2483 AC_MSG_ERROR([Aborting due to known problem]) | |
2484 ;; | |
2485 esac | |
2486 ;; | |
2487 esac | |
2488 ;; | |
2489 esac | |
2490 AC_MSG_RESULT(no) | |
2491 fi | |
2492 | |
2493 dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump. | |
2494 dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf | |
2495 dnl a usage message, that's often good enough. Please report it, though. | |
2496 dnl #### Should make this Solaris-friendly. | |
2497 dnl Link with -z nocombreloc for now. | |
2498 if test "$enable_pdump" != "yes"; then | |
3312 | 2499 AC_MSG_CHECKING([for "-z nocombreloc" linker flag]) |
2651 | 2500 case "`ld --help 2>&1`" in |
2501 *-z\ nocombreloc* ) AC_MSG_RESULT(yes) | |
2502 XE_PREPEND(-z nocombreloc, ld_switch_site) ;; | |
2503 *) AC_MSG_RESULT(no) ;; | |
2504 esac | |
2505 fi | |
2506 | |
2507 dnl Inform compiler that certain flags are meant for the linker | |
2508 XE_PROTECT_LINKER_FLAGS(ld_switch_system) | |
2509 XE_PROTECT_LINKER_FLAGS(ld_switch_machine) | |
2510 XE_PROTECT_LINKER_FLAGS(ld_switch_site) | |
2511 XE_PROTECT_LINKER_FLAGS(LDFLAGS) | |
2512 XE_PROTECT_LINKER_FLAGS(ld_call_shared) | |
2513 | |
2514 dnl Add s&m-determined objects (including unexec) to link line | |
2515 test -n "$objects_machine" && XE_ADD_OBJS($objects_machine) | |
2516 test -n "$objects_system" && XE_ADD_OBJS($objects_system) | |
2517 test -n "$unexec" && test ! "$enable_pdump" = "yes" && XE_ADD_OBJS($unexec) | |
2518 test "$enable_pdump" = "yes" && XE_ADD_OBJS(dumper.o) | |
2519 | |
2520 dnl Dynodump (Solaris 2.x, x<6) | |
2521 AC_MSG_CHECKING(for dynodump) | |
2522 if test "$unexec" != "unexsol2.o"; then | |
2523 AC_MSG_RESULT(no) | |
2524 else | |
2525 AC_MSG_RESULT(yes) | |
2526 AC_DEFINE(DYNODUMP) | |
2527 XE_APPEND(dynodump, MAKE_SUBDIR) | |
2528 XE_APPEND(dynodump, SRC_SUBDIR_DEPS) | |
2529 case "$machine" in | |
2530 sparc ) dynodump_arch=sparc ;; | |
2531 *86* ) dynodump_arch=i386 ;; | |
2532 powerpc ) dynodump_arch=ppc ;; | |
2533 esac | |
2534 fi | |
2535 | |
2536 dnl Feed s&m crud to src/Makefile | |
2537 | |
2538 dnl Linux/powerpc needs the following magic for some reason | |
2539 dnl [Not needed with YellowDog 2.3 and causes link problems with YellowDog 3.0, | |
2540 dnl the two most popular PowerPC distributions.] | |
2541 dnl test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript" | |
2542 | |
2543 AC_LANG(C) | |
2544 if test "$unexec" = "unexaix.o"; then | |
2545 dnl AIX needs various hacks to make static linking work. | |
2546 if test "$with_dynamic" = "no"; then | |
2547 start_flags="-Wl,-bnso,-bnodelcsect" | |
2548 test "$GCC" = "yes" && start_flags="-B/bin/ ${start_flags}" | |
2549 for f in "/lib/syscalls.exp" "/lib/threads.exp"; do | |
2550 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; fi | |
2551 done | |
2552 for f in "/usr/lpp/X11/bin/smt.exp" "/usr/bin/X11/smt.exp"; do | |
2553 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; break; fi | |
2554 done | |
2555 AC_CHECK_LIB([c], [terminateAndUnload], [XE_APPEND(-lC, libs_system)]) | |
2556 fi | |
2557 elif test -n "$ld_text_start_addr"; then | |
2558 start_flags="-T $ld_text_start_addr -e __start" | |
2559 fi | |
2560 AC_SUBST(start_flags) | |
2561 | |
2562 AC_SUBST(ld_switch_shared) | |
2563 AC_SUBST(start_files) | |
2564 if test "$ordinary_link" = "no" -a "$GCC" = "yes"; then | |
2565 test -z "$linker" && linker='$(CC) -nostdlib' | |
2566 test -z "$lib_gcc" && lib_gcc='`$(CC) -print-libgcc-file-name`' | |
2567 fi | |
2568 test "$GCC" != "yes" && lib_gcc= | |
2569 AC_SUBST(ld) | |
2570 AC_SUBST(lib_gcc) | |
2571 | |
2572 dnl --------------------------------------------------------------- | |
2573 dnl Get version information for: | |
2574 dnl C compiler, libc | |
2575 dnl #### should do CC compiler, too, if different from XEMACS_CC | |
2576 dnl --------------------------------------------------------------- | |
2577 | |
2578 compiler_version="" | |
2579 gcc_compiler_specs="" | |
2580 libc_version="" | |
2581 | |
2582 AC_MSG_CHECKING([for compiler version information]) | |
2583 | |
2584 dnl First try portable compilers, then crack system secrets | |
2585 dnl #### Is this code correct if $XEMACS_CC != $CC? XEMACS_CC hasn't been | |
2586 dnl run through the AC_PROG_CC mill. | |
2587 dnl Would anybody really build libsrc with GCC and XEmacs with non-GCC? | |
2588 if test "$GCC" = "yes"; then | |
2692 | 2589 compiler_version=`$XEMACS_CC --version | sed 1q` |
2590 gcc_compiler_specs=`$XEMACS_CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | sed 1q` | |
2651 | 2591 else case "$XEMACS_CC" in |
2592 dnl The Intel cc compiler | |
2593 ic*) | |
2692 | 2594 compiler_version=`icc -V 2>&1 | sed 1q` |
2651 | 2595 ;; |
2596 dnl non-gcc machine-specific magic - contributions welcome | |
2597 *) case "$ac_cv_build" in | |
2598 *-*-aix* ) | |
2599 dnl Yes, it's this ugly for AIX... | |
2600 realcc=`which $XEMACS_CC` | |
2601 dnl Might be a symlink created by replaceCset command | |
2602 if test -L $realcc ; then | |
2603 ccdir=`dirname $realcc` | |
2604 ccprog=`/bin/ls -l $realcc | sed 's/.* \([[^ ]]\)/\1/'` | |
2605 dnl This doesn't handle ../../xlc type stuff, but I've not seen one... | |
2606 case $ccprog in | |
2607 */*) realcc=$ccprog;; | |
2608 *) realcc=$ccdir/$ccprog;; | |
2609 esac | |
2610 fi | |
2611 lpp=`lslpp -wqc $realcc | cut -f2 -d:` | |
2612 if test ! -z "$lpp" ; then | |
2613 lppstr=`lslpp -Lqc $lpp` | |
2614 lpplev=`echo "$lppstr" | cut -f3 -d:` | |
2615 lppdesc=`echo "$lppstr" | cut -f8 -d:` | |
2616 fi | |
2617 if test ! -z "$lpplev" ; then | |
2618 compiler_version="$lpp $lpplev - $lppdesc" | |
2619 fi | |
2620 ;; | |
2621 | |
2622 *-*-solaris*) | |
2692 | 2623 compiler_version=`$XEMACS_CC -V 2>&1 | sed 1q` |
2651 | 2624 ;; |
2625 | |
2626 alpha*-dec-osf*) | |
2627 compiler_version=`$XEMACS_CC -V | tr '\n' ' '` | |
2628 ;; | |
2629 | |
2630 mips-sgi-irix*) | |
2631 compiler_version=`$XEMACS_CC -version` | |
2632 ;; | |
2633 esac | |
2634 esac | |
2635 fi | |
2636 | |
2637 dnl Awww, shucks. | |
2638 if test -z "$compiler_version"; then | |
2639 compiler_version="detection failed (please report this)" | |
2640 fi | |
2641 AC_MSG_RESULT([$compiler_version]) | |
2642 | |
2643 AC_MSG_CHECKING(for standard C library version information) | |
2644 | |
2645 case "$ac_cv_build" in | |
2646 *-*-linux*) | |
2647 dnl #### who would ever _not_ be running the distro's libc? | |
2648 dnl Maybe it would be better to get/augment this info with ldd? | |
2649 if test -f /etc/redhat-release ; then | |
2650 libc_version=`rpm -q glibc` | |
2651 elif test -f /etc/debian_version ; then | |
2652 libc_version=`dpkg-query --showformat='${version}' --show libc6` | |
2653 libc_version="GNU libc $libc_version (Debian)" | |
2654 dnl need SuSE et al checks here... | |
2655 fi | |
2656 dnl #### Tested on Debian, does this actually work elsewhere? ;-) | |
2657 if test -z "$libc_version"; then | |
2658 libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'` | |
2659 fi | |
2660 ;; | |
2661 | |
2662 *-*-aix*) | |
2663 libc_version="bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`" | |
2664 ;; | |
2665 | |
2666 *-*-solaris*) | |
2667 libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'` | |
2668 libc_version="SUNWcsl $libc" | |
2669 | |
2670 ;; | |
2671 | |
2672 mips-sgi-irix*) | |
2673 libc_version="IRIX libc `uname -sRm`" | |
2674 ;; | |
2675 | |
2676 alpha*-dec-osf*) | |
2677 dnl Another ugly case | |
2678 (cd /usr/.smdb.; | |
2679 libc_version=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','` | |
2680 ) | |
2681 ;; | |
2682 esac | |
2683 | |
2684 dnl Awww, shucks. | |
2685 if test -z "libc_version"; then | |
2686 libc_version="detection failed (please report this)" | |
2687 fi | |
2688 AC_MSG_RESULT([$libc_version]) | |
2689 | |
2690 dnl --------------------------------------------------------------- | |
2691 dnl Add site and system specific flags to compile and link commands | |
2692 dnl --------------------------------------------------------------- | |
2693 | |
2694 dnl --with-site-libraries (multiple dirs) | |
2695 COLON_TO_SPACE(with_site_libraries) | |
2696 if test -n "$with_site_libraries"; then | |
2697 for arg in $with_site_libraries; do | |
2698 case "$arg" in | |
2699 -* ) ;; | |
2700 * ) test -d "$arg" || \ | |
2701 XE_DIE("Invalid site library \`$arg': no such directory") | |
2702 arg="-L${arg}" ;; | |
2703 esac | |
2704 XE_APPEND($arg, ld_switch_site) | |
2705 done | |
2706 fi | |
2707 | |
2708 dnl --with-site-includes (multiple dirs) | |
2709 COLON_TO_SPACE(with_site_includes) | |
2710 if test -n "$with_site_includes"; then | |
2711 for arg in $with_site_includes; do | |
2712 case "$arg" in | |
2713 -* ) ;; | |
2714 * ) test -d "$arg" || \ | |
2715 XE_DIE("Invalid site include \`$arg': no such directory") | |
2716 arg="-I${arg}" ;; | |
2717 esac | |
2718 XE_APPEND($arg, c_switch_site) | |
2719 done | |
2720 fi | |
2721 | |
2722 dnl --with-site-prefixes (multiple dirs) | |
2723 dnl --with-site-prefixes=dir1:dir2 is a convenient shorthand for | |
2724 dnl --with-site-libraries=dir1/lib:dir2/lib --with-site-includes=dir1/include:dir2/include | |
2725 dnl Site prefixes take precedence over the standard places, but not over | |
2726 dnl with-site-includes and with-site-libraries. | |
2727 COLON_TO_SPACE(with_site_prefixes) | |
2728 if test -n "$with_site_prefixes"; then | |
2729 for dir in $with_site_prefixes; do | |
2730 lib_dir="${dir}/lib" | |
2731 inc_dir="${dir}/include" | |
2732 if test ! -d "$dir"; then | |
2733 XE_DIE("Invalid site prefix \`$dir': no such directory") | |
2734 elif test ! -d "$lib_dir"; then | |
2735 XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'") | |
2736 else | |
2737 if test -d "$inc_dir"; then | |
2738 XE_APPEND("-I$inc_dir", c_switch_site) | |
2739 fi | |
2740 XE_APPEND("-L$lib_dir", ld_switch_site) | |
2741 fi | |
2742 done | |
2743 fi | |
2744 | |
2745 dnl GNU software installs by default into /usr/local/{include,lib} | |
2746 dnl if test -d "/usr/local/include" -a -d "/usr/local/lib"; then | |
2747 dnl XE_APPEND("-L/usr/local/lib", ld_switch_site) | |
2748 dnl XE_APPEND("-I/usr/local/include", c_switch_site) | |
2749 dnl fi | |
2750 | |
2751 dnl Extra system-specific library directories - please add to list | |
2752 for dir in "/usr/ccs/lib"; do | |
2753 test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system) | |
2754 done | |
2755 | |
2756 dnl --with-site-runtime-libraries (multiple dirs) | |
2757 COLON_TO_SPACE(with_site_runtime_libraries) | |
2758 if test -n "$with_site_runtime_libraries"; then | |
2759 LD_RUN_PATH="`echo $with_site_runtime_libraries | sed -e 's/ */:/g'`" | |
2760 export LD_RUN_PATH | |
2761 fi | |
2762 | |
2763 dnl Linux systems have dynamic runtime library directories listed in | |
2764 dnl /etc/ld.so.conf. Since those are used at run time, it seems pretty | |
2765 dnl safe to use them at link time, and less controversial than forcing | |
2766 dnl the run-time to use the link-time libraries. This also helps avoid | |
2767 dnl mismatches between the link-time and run-time libraries. | |
2768 | |
2769 dnl #### Unfortunately, there are horrible libc4 and libc5 libraries | |
2770 dnl listed in /etc/ld.so.conf on some systems, and including them on | |
2771 dnl the link path leads to linking in utterly broken libc's. | |
2772 dnl There are many clever ways of approaching this problem, | |
2773 dnl but finding one that actually works... | |
2774 | |
2775 dnl if test -z "$LD_RUN_PATH" -a -r "/etc/ld.so.conf"; then | |
2776 dnl for dir in `cat /etc/ld.so.conf`; do | |
2777 dnl test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system) | |
2778 dnl done | |
2779 dnl add_runtime_path=no | |
2780 dnl fi | |
2781 | |
2782 dnl ------------------------------------- | |
2783 dnl Compute runtime library path | |
2784 dnl ------------------------------------- | |
2785 | |
2786 if test -n "$add_runtime_path"; then :; | |
2787 elif test "$with_dynamic" = "no"; then add_runtime_path=no | |
2788 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes | |
2789 else case "$opsys" in | |
2790 sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;; | |
2791 * ) add_runtime_path=no ;; | |
2792 esac | |
2793 fi | |
2794 | |
2795 if test "$add_runtime_path" = "yes"; then | |
2796 dnl Try to autodetect runtime library flag (usually -R), | |
2797 dnl and whether it works (or at least does no harm) | |
3312 | 2798 AC_MSG_CHECKING([for runtime libraries flag]) |
2651 | 2799 case "$opsys" in |
2800 sol2 ) dash_r="-R" ;; | |
2801 decosf* | linux* | irix*) dash_r="-rpath " ;; | |
2802 *) | |
2803 dash_r="" | |
2804 for try_dash_r in "-R" "-R " "-rpath "; do | |
2805 xe_check_libs="${try_dash_r}/no/such/file-or-directory" | |
2806 XE_PROTECT_LINKER_FLAGS(xe_check_libs) | |
3312 | 2807 AC_LINK_IFELSE([], dash_r="$try_dash_r") |
2651 | 2808 xe_check_libs="" |
2809 test -n "$dash_r" && break | |
2810 done ;; | |
2811 esac | |
2812 if test -n "$dash_r"; | |
3312 | 2813 then AC_MSG_RESULT(["${dash_r}"]) |
2651 | 2814 else AC_MSG_RESULT(NONE) |
2815 fi | |
2816 fi | |
2817 | |
2818 xe_add_unique_runpath_dir=' | |
2819 xe_add_p=yes | |
2820 for xe_dir in $runpath_dirs; do dnl Uniquify | |
2821 test "$xe_dir" = "$xe_runpath_dir" && xe_add_p=no | |
2822 done | |
2823 if test "$xe_add_p" = "yes"; then | |
2824 test -n "$runpath" && runpath="${runpath}:" | |
2825 runpath="${runpath}${xe_runpath_dir}" | |
2826 runpath_dirs="$runpath_dirs $xe_runpath_dir" | |
2827 fi' | |
2828 | |
2829 XE_COMPUTE_RUNPATH() | |
2830 | |
2831 dnl ----------------------------------- | |
2832 dnl Do some misc autoconf-special tests | |
2833 dnl ----------------------------------- | |
2834 | |
2835 dnl Do the opsystem or machine files prohibit the use of the GNU malloc? | |
2836 dnl Assume not, until told otherwise. | |
2837 GNU_MALLOC=yes | |
2838 if test "$with_dlmalloc" != "no"; then | |
2839 doug_lea_malloc=yes | |
2840 else | |
2841 doug_lea_malloc=no | |
2842 fi | |
2843 after_morecore_hook_exists=yes | |
2844 AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no) | |
2845 AC_MSG_CHECKING(whether __after_morecore_hook exists) | |
3312 | 2846 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern void (* __after_morecore_hook)();], |
2847 [__after_morecore_hook = 0])], | |
2651 | 2848 [AC_MSG_RESULT(yes)], |
2849 [AC_MSG_RESULT(no) | |
2850 after_morecore_hook_exists=no]) | |
2851 if test "$system_malloc" = "yes" ; then | |
2852 GNU_MALLOC=no | |
2853 GNU_MALLOC_reason=" | |
2854 - The GNU allocators don't work with this system configuration." | |
2855 elif test "$with_system_malloc" = "yes" ; then | |
2856 GNU_MALLOC=no | |
2857 GNU_MALLOC_reason=" | |
2858 - User chose not to use GNU allocators." | |
2859 elif test "$with_debug_malloc" = "yes" ; then | |
2860 GNU_MALLOC=no | |
2861 GNU_MALLOC_reason=" | |
2862 - User chose to use Debugging Malloc." | |
2863 fi | |
2864 | |
2865 if test "$doug_lea_malloc" = "yes" -a "$GNU_MALLOC" = "yes" ; then | |
2866 GNU_MALLOC_reason=" | |
2867 - Using Doug Lea's new malloc from the GNU C Library." | |
2868 AC_DEFINE(DOUG_LEA_MALLOC) | |
2869 if test "$after_morecore_hook_exists" = "no" ; then | |
2870 GNU_MALLOC_reason=" | |
2871 - Using Doug Lea's new malloc from the Linux C Library." | |
2872 AC_DEFINE(_NO_MALLOC_WARNING_) | |
2873 fi | |
2874 fi | |
2875 | |
2876 dnl #### mcheck is broken in all versions of Linux libc and glibc. | |
2877 dnl Try this again when 2.1 hits the streets. | |
2878 dnl Avoid using free-hook.c if support exists for malloc debugging in libc | |
2879 dnl have_libmcheck=no | |
2880 dnl if test "$enable_error_checking_malloc" = "yes" -a \ | |
2881 dnl "$have_glibc" = "yes" -a \ | |
2882 dnl "$doug_lea_malloc" = "yes"; then | |
2883 dnl AC_CHECK_HEADERS(mcheck.h) | |
2884 dnl AC_CHECK_LIB(mcheck, mcheck, have_libmcheck=yes, have_libmcheck=no) | |
2885 dnl fi | |
2886 | |
2887 dnl if test "$have_libmcheck" = "yes"; then | |
2888 dnl AC_DEFINE(HAVE_LIBMCHECK) | |
2889 dnl libmcheck=-lmcheck | |
2890 dnl AC_SUBST(libmcheck) | |
2891 dnl fi | |
2892 | |
2893 dnl Some other nice autoconf tests. If you add a test here which | |
2894 dnl should make an entry in src/config.h, do not forget to add an | |
2895 dnl #undef clause to src/config.h.in for autoconf to modify. | |
2896 | |
3862 | 2897 dnl Sun likes to hide these utilities. Steve Baur asked that we make |
2898 dnl the failure occur at configure time, not at use time. | |
2899 AC_CHECK_PROG(AR,ar,ar,not_found) | |
2900 if test "$AR" = "not_found"; then | |
2901 XE_DIE(["ar not found -- is PATH set correctly?"]) | |
2902 fi | |
2903 dnl These tests don't necessarily check that the program exists. | |
2651 | 2904 AC_PROG_RANLIB |
2905 AC_PROG_INSTALL | |
2906 AC_PROG_YACC | |
2907 | |
2908 dnl checks for header files | |
2909 AC_CHECK_HEADERS(dnl | |
2910 a.out.h dnl | |
2911 elf.h dnl | |
2912 cygwin/version.h dnl | |
2913 fcntl.h dnl | |
2914 libgen.h dnl | |
2915 locale.h dnl | |
2916 wchar.h dnl | |
2917 mach/mach.h dnl | |
2918 sys/param.h dnl | |
2919 sys/pstat.h dnl | |
2920 sys/resource.h dnl | |
2921 sys/time.h dnl | |
2922 sys/timeb.h dnl | |
2923 sys/times.h dnl | |
2924 sys/un.h dnl | |
2925 sys/vlimit.h dnl | |
2926 ulimit.h dnl | |
2927 ) | |
2928 AC_HEADER_SYS_WAIT | |
2929 AC_HEADER_STDC | |
2930 AC_HEADER_TIME | |
2931 AC_CHECK_DECLS([sys_siglist],,, | |
2932 [#include <signal.h> | |
2933 /* NetBSD declares sys_siglist in unistd.h. */ | |
2934 #if HAVE_UNISTD_H | |
2935 # include <unistd.h> | |
2936 #endif | |
667 | 2937 ]) |
2651 | 2938 |
2939 | |
2940 dnl ---------------------------------------------------------------- | |
2941 dnl Checking for utime() or utimes(). | |
2942 dnl We prefer utime, since it is more standard. | |
2943 dnl Some systems have utime.h but do not declare the struct anyplace, | |
2944 dnl so we use a more sophisticated test for utime than AC_CHECK_FUNCS. | |
2945 dnl ---------------------------------------------------------------- | |
2946 AC_MSG_CHECKING(for utime) | |
3312 | 2947 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h> |
2651 | 2948 #include <utime.h>], |
3312 | 2949 [struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x);])], |
2651 | 2950 [AC_MSG_RESULT(yes) |
2951 AC_DEFINE(HAVE_UTIME)], | |
2952 [AC_MSG_RESULT(no) | |
2953 dnl We don't have utime(); how about utimes()? | |
2954 AC_CHECK_FUNCS(utimes)]) | |
2955 | |
2956 | |
2957 dnl checks for typedefs | |
2958 AC_TYPE_SIGNAL | |
2959 AC_TYPE_SIZE_T | |
2960 AC_TYPE_PID_T | |
2961 AC_TYPE_UID_T | |
2962 AC_TYPE_MODE_T | |
2963 AC_TYPE_OFF_T | |
3862 | 2964 dnl #### Translated from deprecated 2.13-ism. |
2965 dnl We probably want to DTRT with #ifdef HAVE_SSIZE_T in src/config.h.in. | |
2966 dnl Specifically, we should typedef st sizeof(ssize_t) == sizeof(size_t). | |
2967 AC_CHECK_TYPE([ssize_t],, | |
2968 [AC_DEFINE_UNQUOTED([ssize_t], [int], | |
2969 [Define to `int' if | |
2970 <sys/types.h> does not define.])]) | |
2651 | 2971 |
2972 dnl not AC_CHECK_TYPE; lisp.h does hairy conditional typedef | |
2973 if test "$ac_cv_header_inttypes_h" != "yes"; then | |
2974 AC_MSG_CHECKING(for intptr_t in sys/types.h) | |
3312 | 2975 AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <sys/types.h> |
2651 | 2976 intptr_t x; |
3312 | 2977 ])],[AC_MSG_RESULT(yes) |
2651 | 2978 AC_DEFINE(HAVE_INTPTR_T_IN_SYS_TYPES_H,1)], |
2979 [AC_MSG_RESULT(no)]) | |
2980 fi | |
2981 | |
2982 dnl check for Unix98 socklen_t | |
2983 AC_MSG_CHECKING(for socklen_t) | |
3312 | 2984 AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <sys/types.h> |
2651 | 2985 #include <sys/socket.h> |
2986 socklen_t x; | |
3312 | 2987 ])],[AC_MSG_RESULT(yes)],[ |
2988 AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <sys/types.h> | |
2651 | 2989 #include <sys/socket.h> |
2990 int accept (int, struct sockaddr *, size_t *); | |
3312 | 2991 ])],[ |
2651 | 2992 AC_MSG_RESULT(size_t) |
2993 AC_DEFINE(socklen_t,size_t)], [ | |
2994 AC_MSG_RESULT(int) | |
2995 AC_DEFINE(socklen_t,int)])]) | |
2996 | |
2997 AC_MSG_CHECKING(for struct timeval) | |
3312 | 2998 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#ifdef TIME_WITH_SYS_TIME |
2651 | 2999 #include <sys/time.h> |
3000 #include <time.h> | |
3001 #else | |
3002 #ifdef HAVE_SYS_TIME_H | |
3003 #include <sys/time.h> | |
3004 #else | |
3005 #include <time.h> | |
3006 #endif | |
3312 | 3007 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;])], |
2651 | 3008 [AC_MSG_RESULT(yes) |
3009 HAVE_TIMEVAL=yes | |
3010 AC_DEFINE(HAVE_TIMEVAL)], | |
3011 [AC_MSG_RESULT(no) | |
3012 HAVE_TIMEVAL=no]) | |
3013 | |
3014 dnl checks for structure members | |
3015 AC_STRUCT_TM | |
3016 AC_STRUCT_TIMEZONE | |
3017 | |
3018 dnl checks for compiler characteristics | |
3019 AC_C_CONST | |
3020 | |
3021 dnl check for Make feature | |
3022 AC_PROG_MAKE_SET | |
3023 | |
3024 dnl check byte order | |
3025 AC_C_BIGENDIAN | |
3026 | |
3027 dnl define SIZEOF_TYPE | |
3028 AC_CHECK_SIZEOF(short) | |
3029 if test "$ac_cv_sizeof_short" = 0; then | |
3030 echo "" | |
3031 echo "*** PANIC *** Configure tests are not working - compiler is broken." | |
3032 echo "*** PANIC *** Please examine config.log for compilation errors." | |
3033 exit 1 | |
3034 fi | |
3035 AC_CHECK_SIZEOF(int) | |
3036 AC_CHECK_SIZEOF(long) | |
3037 AC_CHECK_SIZEOF(long long) | |
3038 AC_CHECK_SIZEOF(void *) | |
3039 AC_CHECK_SIZEOF(double) | |
3040 | |
3041 dnl check for long file names | |
3042 AC_SYS_LONG_FILE_NAMES | |
3043 | |
3044 dnl -lm is required for floating point support, among other things | |
3045 AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin)) | |
3046 | |
3312 | 3047 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <math.h>], |
3048 [return atanh(1.0) + asinh(1.0) + acosh(1.0); ])], | |
2651 | 3049 AC_DEFINE(HAVE_INVERSE_HYPERBOLIC)) |
3050 | |
3051 dnl See if mkstemp is available | |
3052 AC_CHECK_FUNCS(mkstemp) | |
3053 | |
3054 dnl Determine type of mail locking from configure args and s&m headers | |
3312 | 3055 AC_MSG_CHECKING([type of mail spool file locking]) |
3056 AC_MSG_RESULT() | |
2651 | 3057 AC_CHECK_FUNCS(lockf flock) |
3058 dnl The mail_use_xxx variables are set according to the s&m headers. | |
3059 test -z "$with_mail_locking" -a "$mail_use_flock" = "yes" && with_mail_locking=flock | |
3060 test -z "$with_mail_locking" -a "$mail_use_lockf" = "yes" && with_mail_locking=lockf | |
3061 test -z "$with_mail_locking" -a "$mail_use_locking" = "yes" && with_mail_locking=locking | |
3062 if test -z "$with_mail_locking"; then | |
3063 case "$opsys" in cygwin* | mingw*) | |
3064 with_mail_locking=pop ;; | |
3065 esac | |
3066 fi | |
3067 | |
3068 if test "$with_mail_locking" = "lockf"; then AC_DEFINE(MAIL_LOCK_LOCKF) | |
3069 elif test "$with_mail_locking" = "flock"; then AC_DEFINE(MAIL_LOCK_FLOCK) | |
3070 elif test "$with_mail_locking" = "locking"; then AC_DEFINE(MAIL_LOCK_LOCKING) | |
3071 elif test "$with_mail_locking" = "pop"; then | |
3072 with_pop=yes | |
3073 with_mail_locking= | |
3074 elif test "$with_mail_locking" = "mmdf"; then AC_DEFINE(MAIL_LOCK_MMDF) | |
3075 else with_mail_locking="file"; AC_DEFINE(MAIL_LOCK_DOT) | |
3076 fi | |
3077 test "$with_mail_locking" = "lockf" -a "$ac_cv_func_lockf" != "yes" && \ | |
3078 XE_DIE("lockf mail locking requested but not available.") | |
3079 test "$with_mail_locking" = "flock" -a "$ac_cv_func_flock" != "yes" && \ | |
3080 XE_DIE("flock mail locking requested but not available.") | |
3081 test "$with_mail_locking" = "locking" -a "$ac_cv_func_locking" != "yes" && \ | |
3082 XE_DIE("locking mail locking requested but not available.") | |
3083 | |
3084 case "$opsys" in decosf*) | |
3085 AC_CHECK_LIB(pthreads, cma_open) | |
3086 test "$ac_cv_lib_pthreads_cma_open" = "yes" && \ | |
3087 c_switch_site="$c_switch_site -threads" ;; | |
3088 esac | |
3089 | |
3090 dnl ---------------------------------------------------------------- | |
3091 dnl Miscellaneous flags | |
3092 dnl ---------------------------------------------------------------- | |
3093 | |
3094 AC_MSG_CHECKING(whether the -xildoff compiler flag is required) | |
3095 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then | |
3096 if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; | |
3097 then AC_MSG_RESULT(no); | |
3098 else AC_MSG_RESULT(yes); XE_APPEND(-xildoff, ld_switch_site) | |
3099 fi | |
3100 else AC_MSG_RESULT(no) | |
3101 fi | |
3102 | |
3103 dnl Link with "-z ignore" on Solaris if supported | |
3104 if test "$opsys" = "sol2"; then | |
3105 if test "$os_release" -ge 506; then | |
3312 | 3106 AC_MSG_CHECKING([for "-z ignore" linker flag]) |
2651 | 3107 case "`ld -h 2>&1`" in |
3108 *-z\ ignore\|record* ) AC_MSG_RESULT(yes) | |
3109 XE_PREPEND(-z ignore, ld_switch_site) ;; | |
3110 *) AC_MSG_RESULT(no) ;; | |
3111 esac | |
3112 fi | |
3113 fi | |
3114 | |
3115 dnl ---------------------- | |
3116 dnl Choose a window system | |
3117 dnl ---------------------- | |
3118 | |
3312 | 3119 AC_MSG_CHECKING([for specified window system]) |
3120 AC_MSG_RESULT() | |
2651 | 3121 |
3122 dnl Autodetection of Gdk libraries and includes | |
3123 dnl ------------------------------------------- | |
3124 dnl On some systems (FreeBSD springs to mind), they use | |
3125 dnl versions on the utility routines, so instead of gtk-config | |
3126 dnl you must use gtk12-config, etc, etc. | |
3127 | |
3128 GNOME_CONFIG=no | |
3129 GTK_CONFIG=no | |
3130 | |
3131 if test "$with_gnome" != "no"; then | |
3132 AC_MSG_CHECKING(for GNOME configuration script) | |
3133 for possible in gnome-config | |
3134 do | |
3135 possible_version=`${possible} --version 2> /dev/null` | |
3136 if test "x${possible_version}" != "x"; then | |
3137 GNOME_CONFIG="${possible}" | |
3138 with_gnome=yes | |
3139 with_gtk=yes | |
3140 break | |
3141 fi | |
3142 done | |
3143 AC_MSG_RESULT([${GNOME_CONFIG}]) | |
3144 fi | |
3145 | |
3146 if test "${GNOME_CONFIG}" != "no"; then | |
3147 GNOME_LIBS=`${GNOME_CONFIG} --libs gnomeui` | |
3148 GNOME_CFLAGS=`${GNOME_CONFIG} --cflags gnomeui` | |
3149 AC_DEFINE(HAVE_GNOME) | |
3150 XE_APPEND(${GNOME_LIBS}, libs_gtk) | |
3151 XE_APPEND(${GNOME_CFLAGS}, c_switch_gtk) | |
3152 fi | |
3153 | |
3154 if test "$with_gtk" != "no";then | |
3155 AC_MSG_CHECKING(for GTK configuration script) | |
3156 for possible in gtk12-config gtk14-config gtk-config | |
3157 do | |
3158 possible_version=`${possible} --version 2> /dev/null` | |
3159 if test "x${possible_version}" != "x"; then | |
3160 GTK_CONFIG="${possible}" | |
3161 case "${possible_version}" in | |
3162 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;; | |
3163 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;; | |
3164 1.2.*) | |
3165 with_gtk=yes | |
3166 break | |
3167 ;; | |
3168 *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);; | |
3169 esac | |
3170 fi | |
3171 done | |
3172 AC_MSG_RESULT([${GTK_CONFIG}]) | |
3173 fi | |
3174 | |
3175 if test "${GTK_CONFIG}" != "no"; then | |
3176 AC_MSG_CHECKING(gtk version) | |
3177 GTK_VERSION=`${GTK_CONFIG} --version` | |
3178 AC_MSG_RESULT(${GTK_VERSION}) | |
3179 | |
3180 AC_MSG_CHECKING(gtk libs) | |
3181 GTK_LIBS=`${GTK_CONFIG} --libs` | |
3182 XE_APPEND(${GTK_LIBS}, libs_gtk) | |
3183 AC_MSG_RESULT(${GTK_LIBS}) | |
3184 | |
3185 AC_MSG_CHECKING(gtk cflags) | |
3186 GTK_CFLAGS=`${GTK_CONFIG} --cflags` | |
3187 if test "$GCC" = "yes"; then | |
3188 GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow" | |
3189 fi | |
3190 XE_APPEND(${GTK_CFLAGS}, c_switch_gtk) | |
3191 AC_MSG_RESULT(${GTK_CFLAGS}) | |
3192 | |
3193 AC_CHECK_LIB(gdk_imlib, main, XE_PREPEND(-lgdk_imlib, libs_gtk)) | |
3194 AC_CHECK_LIB(Imlib, Imlib_init, XE_APPEND(-lImlib, libs_gtk)) | |
3195 AC_CHECK_FUNCS(gdk_imlib_init) | |
3196 | |
3197 AC_DEFINE(HAVE_XPM) | |
3198 AC_DEFINE(HAVE_GTK) | |
3199 AC_SUBST(GTK_CONFIG) | |
3200 | |
3201 window_system=gtk | |
3202 with_gtk=yes | |
3203 if test "$with_x11" != "no"; then | |
3204 AC_MSG_WARN([Configuring GTK, forcing with_x11 to no]) | |
3205 with_x11=no | |
3206 fi | |
3207 | |
3208 for feature in scrollbars toolbars menubars dialogs widgets | |
3209 do | |
3210 eval "feature_value=\${enable_${feature}}" | |
3211 case "${feature_value}" in | |
3212 yes|no|gtk|"" ) | |
3213 ;; | |
3214 * ) | |
3215 feature_conflict_with_gtk=yes | |
3216 AC_MSG_WARN([--enable-${feature}=${feature_value} is incompatible with --with-gtk]) ;; | |
3217 esac | |
3218 done | |
3219 if test "${feature_conflict_with_gtk}" = "yes"; then | |
3220 XE_DIE(["One or more GUI toolkit features conflict with GTK"]) | |
3221 fi | |
3222 | |
3223 test "${enable_scrollbars}" != "no" && enable_scrollbars=gtk | |
3224 test "${enable_toolbars}" != "no" && enable_toolbars=gtk | |
3225 test "${enable_menubars}" != "no" && enable_menubars=gtk | |
3226 test "${enable_dialogs}" != "no" && enable_dialogs=gtk | |
3227 test "${enable_widgets}" != "no" && enable_widgets=gtk | |
3228 | |
3229 dnl Check for libglade support (it rocks) | |
3230 OLD_CFLAGS="${CFLAGS}" | |
3231 OLD_CPPFLAGS="${CPPFLAGS}" | |
3232 OLD_LDFLAGS="${LDFLAGS}" | |
3233 CFLAGS="${GTK_CFLAGS} ${CFLAGS}" | |
3234 CPPFLAGS="${GTK_CFLAGS} ${CFLAGS}" | |
3235 LDFLAGS="${LDFLAGS} ${GTK_LIBS}" | |
3236 AC_CHECK_HEADERS(glade/glade.h glade.h) | |
3237 AC_CHECK_LIB(xml, main, XE_PREPEND(-lxml, libs_gtk)) | |
3238 AC_CHECK_LIB(glade, main, XE_PREPEND(-lglade, libs_gtk)) | |
3239 AC_CHECK_LIB(glade-gnome, main, XE_PREPEND(-lglade-gnome, libs_gtk)) | |
3240 AC_EGREP_HEADER([char \*txtdomain;], [glade/glade-xml.h], | |
3241 [AC_MSG_RESULT(yes) | |
3242 AC_DEFINE(LIBGLADE_XML_TXTDOMAIN,1)], | |
3243 [AC_MSG_RESULT(no)]) | |
3244 CFLAGS="${OLD_CFLAGS}" | |
3245 CPPFLAGS="${OLD_CPPFLAGS}" | |
3246 LDFLAGS="${OLD_LDFLAGS}" | |
3247 fi | |
3248 | |
3249 dnl We may eventually prefer gtk/gdk over vanilla X11... | |
3250 | |
3251 if test "$with_x11" != "no"; then | |
3252 dnl User-specified --x-includes or --x-libraries implies --with-x11. | |
3253 test "$x_includes $x_libraries" != "NONE NONE" && \ | |
3254 window_system=x11 with_x11=yes | |
3255 | |
3256 dnl Autodetection of X11 libraries and includes | |
3257 dnl ------------------------------------------- | |
3258 dnl AC_PATH_XTRA thinks it can find our X headers and includes, but | |
3259 dnl it often gets it wrong, so we only use it as a last resort. | |
3260 | |
3261 dnl $OPENWINHOME implies --x-includes and --x-libraries | |
3262 dnl Not (yet) handled by autoconf2 | |
3263 if test "$x_includes $x_libraries" = "NONE NONE" \ | |
3264 -a -n "$OPENWINHOME" \ | |
3265 -a "$OPENWINHOME" != "/usr/openwin" \ | |
3266 -a -d "$OPENWINHOME"; then | |
3267 test -d "$OPENWINHOME/lib" && x_libraries="$OPENWINHOME/lib" | |
3268 test -d "$OPENWINHOME/include" && x_includes="$OPENWINHOME/include" | |
3269 test -d "$OPENWINHOME/share/include" && x_includes="$OPENWINHOME/share/include" | |
3270 fi | |
3271 | |
3272 if test "$x_includes" = "NONE"; then | |
3273 dnl AC_PATH_XTRA often guesses /usr/include, when some other | |
3274 dnl include directory is a MUCH better guess (Linux, HP-UX 10.20). | |
3275 dnl This is a workaround for idiot (esp. HP) system vendors, who | |
3276 dnl provide a /usr/include/X11, but DON'T FULLY POPULATE IT. | |
3277 for dir in "/usr/X11" "/usr/X11R6"; do | |
3278 if test -d "$dir/include/X11"; then x_includes="$dir/include"; break; fi | |
3279 done | |
3280 fi | |
3281 | |
3282 if test "$x_libraries" = "NONE"; then | |
3283 for dir in "/usr/X11/lib" "/usr/X11R6/lib" "/usr/lib/X11R6"; do | |
3284 if test -r "$dir/libX11.a"; then x_libraries="$dir"; break; fi | |
3285 done | |
3286 fi | |
3287 | |
3288 AC_PATH_XTRA # Autoconf claims to find X library and include dirs for us. | |
3289 if test "$no_x" = "yes" | |
3290 then with_x11=no window_system=none HAVE_X_WINDOWS=no | |
3291 else with_x11=yes window_system=x11 HAVE_X_WINDOWS=yes | |
3292 fi | |
3293 fi | |
3294 | |
3295 dnl #### wmperry:: !x11 != NONE | |
3296 dnl case "$with_x11" in | |
3297 dnl yes ) window_system=x11 HAVE_X_WINDOWS=yes ;; | |
3298 dnl no ) window_system=none HAVE_X_WINDOWS=no ;; | |
3299 dnl esac | |
3300 | |
3301 if test "$with_x11" = "yes"; then | |
3302 AC_DEFINE(HAVE_X_WINDOWS) | |
3303 XE_APPEND(lwlib, MAKE_SUBDIR) | |
3304 XE_APPEND(lwlib, SRC_SUBDIR_DEPS) | |
3305 | |
3306 dnl Look for Motif, but only if not found in $x_includes and $x_libraries | |
3307 AC_CHECK_HEADER(Xm/Xm.h, [AC_CHECK_LIB(Xm, XmStringFree, got_motif=yes)]) | |
3308 | |
3309 if test "$got_motif" != "yes"; then | |
3310 dnl Try to find Motif/CDE/Tooltalk dirs | |
3311 dnl These take precedence over other X libs/includes, so PRE-pend | |
3312 for lib_dir in "/usr/dt/lib" "/usr/lib/Motif2.1" \ | |
3313 "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do | |
3314 inc_dir=`echo $lib_dir | sed -e 's/lib/include/'` | |
3315 if test -d "$lib_dir" -a -d "$inc_dir"; then | |
3316 case "$x_libraries" in *"$lib_dir"* ) ;; *) | |
3317 x_libraries="$lib_dir $x_libraries" | |
3318 XE_PREPEND(-L${lib_dir}, X_LIBS) ;; | |
3319 esac | |
3320 case "$x_includes" in "$inc_dir"* ) ;; *) | |
3321 x_includes="$inc_dir $x_includes" | |
3322 XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;; | |
3323 esac | |
3324 break; dnl only need ONE Motif implementation! | |
3325 fi | |
3326 done | |
3327 fi | |
3328 | |
3329 dnl Contrib X libs/includes do NOT take precedence, so AP-pend | |
3330 for rel in "X11R6" "X11R5" "X11R4"; do | |
3331 lib_dir="/usr/contrib/$rel/lib" inc_dir="/usr/contrib/$rel/include" | |
3332 if test -d "$lib_dir" -a -d "$inc_dir"; then | |
3333 case "$x_libraries" in *"$lib_dir"* ) ;; *) | |
3334 x_libraries="$x_libraries $lib_dir" | |
3335 XE_APPEND(-L${lib_dir}, X_LIBS) | |
3336 esac | |
3337 case "$x_includes" in "$inc_dir"* ) ;; *) | |
3338 x_includes="$x_includes $inc_dir" | |
3339 XE_APPEND(-I${inc_dir}, X_CFLAGS) | |
3340 esac | |
3341 break; dnl Only need ONE X11 implementation ! | |
3342 fi | |
3343 done | |
3344 | |
3345 dnl Avoid version mismatch for shared library libXm.so on osf4 | |
3346 case "$opsys" in | |
3347 decosf*) if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi ;; | |
3348 esac | |
3349 | |
3350 ld_switch_x_site="$X_LIBS" | |
3351 | |
3352 XE_COMPUTE_RUNPATH() | |
3353 | |
3354 if test "$verbose" = "yes"; then | |
3355 echo; echo "X11 compilation variables:" | |
3356 PRINT_VAR(x_libraries x_includes X_CFLAGS X_LIBS X_PRE_LIBS X_EXTRA_LIBS) | |
3357 echo | |
3358 fi | |
3359 | |
3360 dnl Set up bitmaps search path. | |
3361 dnl The original suggestion was to unconditionally to append X11/bitmaps | |
3362 dnl to each element of $x_includes, I'm pretty sure this is the wrong | |
3363 dnl thing to do. We test for bitmaps and X11/bitmaps directories on each | |
3364 dnl element and add them to BITMAPDIR if they exist. | |
3365 bitmapdirs= | |
3366 if test "$x_includes" != NONE; then | |
3367 for i in $x_includes; do | |
3368 if test -d "$i/bitmaps"; then | |
3369 bitmapdirs="$i/bitmaps:$bitmapdirs" | |
3370 fi | |
3371 if test -d "$i/X11/bitmaps"; then | |
3372 bitmapdirs="$i/X11/bitmaps:$bitmapdirs" | |
3373 fi | |
3374 done | |
3375 bitmapdirs=`echo "$bitmapdirs" | sed s/.$//` | |
3376 fi | |
3377 test ! -z "$bitmapdirs" && AC_DEFINE_UNQUOTED(BITMAPDIR, "$bitmapdirs") | |
3378 | |
3379 dnl Autodetect defines extracted from X config by xmkmf, e.g. NARROWPROTO | |
3312 | 3380 AC_MSG_CHECKING([for X defines extracted by xmkmf]) |
3381 AC_MSG_RESULT() | |
2651 | 3382 rm -fr conftestdir |
3383 if mkdir conftestdir; then | |
3384 cd conftestdir | |
3385 cat > Imakefile <<'EOF' | |
3386 xetest: | |
3387 @echo ${PROTO_DEFINES} ${STD_DEFINES} | |
3388 EOF | |
3389 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then | |
3390 # GNU make sometimes prints "make[1]: Entering...", which would confuse us. | |
3391 xmkmf_defines=`${MAKE-make} xetest 2>/dev/null | grep -v make` | |
3392 fi | |
3393 cd .. | |
3394 rm -fr conftestdir | |
3395 for word in $xmkmf_defines; do | |
3396 case "$word" in | |
3397 -D__STDC__*) ;; | |
3398 -D* ) | |
3399 sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'` | |
3400 case "$word" in | |
3401 -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;; | |
3402 * ) val=1 ;; | |
3403 esac | |
3404 dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above. | |
3405 if grep "^#define $sym " confdefs.h >/dev/null; then :; else | |
3406 if test "$val" = "1" | |
3407 then AC_DEFINE_UNQUOTED($sym) | |
3408 else AC_DEFINE_UNQUOTED($sym,$val) | |
3409 fi | |
3410 fi ;; | |
3411 esac | |
3412 done | |
3413 fi | |
3414 | |
3415 dnl make sure we can find Intrinsic.h | |
3416 AC_CHECK_HEADER(X11/Intrinsic.h, , | |
3417 [AC_MSG_ERROR([Unable to find X11 header files.])]) | |
3418 | |
3419 dnl -lXt and -lX11 are required | |
3420 dnl Some broken systems require the magic "-b i486-linuxaout" flag | |
3421 AC_CHECK_LIB(X11, XOpenDisplay, have_lib_x11=yes) | |
3422 if test "$have_lib_x11" != "yes"; then | |
3423 AC_CHECK_LIB(X11, XGetFontProperty, | |
3424 ld_switch_x_site="-b i486-linuxaout $ld_switch_x_site", | |
3425 [AC_MSG_ERROR([Unable to find X11 libraries.])], | |
3426 -b i486-linuxaout) | |
3427 fi | |
3428 libs_x="-lX11" | |
3429 test "$verbose" = "yes" && echo " Setting libs_x to \"-lX11\"" | |
3430 | |
3431 dnl Autodetect -lXext | |
3432 AC_CHECK_LIB(Xext, XShapeSelectInput, XE_PREPEND(-lXext, libs_x)) | |
3433 | |
3434 dnl Require -lXt | |
3435 AC_CHECK_LIB(Xt, XtOpenDisplay, XE_PREPEND(-lXt, libs_x), | |
3436 AC_MSG_ERROR([Unable to find X11 libraries.])) | |
3437 | |
3438 AC_MSG_CHECKING(the version of X11 being used) | |
3439 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <X11/Intrinsic.h> | |
3440 int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }])], | |
3441 [./conftest foobar; x11_release=$?],[x11_release=4],[x11_release=4]) | |
3442 AC_MSG_RESULT(R${x11_release}) | |
3443 AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release}) | |
3444 | |
3445 if test "${x11_release}" = "4"; then | |
3446 case "$enable_widgets" in | |
3447 "" | "no") enable_widgets=no ;; | |
3448 *) XE_DIE("Widget support requires X11R5 or greater") ;; | |
3449 esac | |
3450 fi | |
3451 | |
3452 AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable) | |
3453 | |
3454 AC_CHECK_HEADERS(X11/Xlocale.h X11/Xfuncproto.h) | |
3455 | |
3456 dnl XFree86 has a non-standard prototype for this X11R6 function | |
3457 AC_CHECK_FUNCS(XRegisterIMInstantiateCallback) | |
3458 AC_MSG_CHECKING(for standard XRegisterIMInstantiateCallback prototype) | |
3312 | 3459 AC_COMPILE_IFELSE([AC_LANG_SOURCE([ |
2651 | 3460 #define NeedFunctionPrototypes 1 |
3461 #include <X11/Xlib.h> | |
3462 extern Bool XRegisterIMInstantiateCallback( | |
3463 Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*); | |
3312 | 3464 ])], |
2651 | 3465 [AC_MSG_RESULT(yes)], |
3466 [AC_MSG_RESULT(no) | |
3467 AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)]) | |
3468 | |
3469 dnl autodetect -lXmu | |
3470 test -z "$with_xmu" && { AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile, | |
3471 with_xmu=yes, with_xmu=no) } | |
3472 if test "$with_xmu" = "no"; then | |
3473 XE_ADD_OBJS(xmu.o) | |
3474 else | |
3475 XE_PREPEND(-lXmu, libs_x) | |
3476 AC_DEFINE(HAVE_XMU) | |
3477 fi | |
3478 | |
3479 dnl Autodetect -lXbsd | |
3480 dnl #### Someone, please add a better function than main | |
3481 AC_CHECK_LIB(Xbsd, main, XE_PREPEND(-lXbsd, libs_x)) | |
3482 | |
3483 dnl Problem with the MIT distribution of X on AIX | |
3484 if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then | |
3485 dnl X11R6 requires thread-safe code on AIX for some reason | |
3486 if test "$GCC" = "yes"; then | |
3487 XE_PREPEND(-mthreads, X_CFLAGS) | |
3488 XE_PREPEND(-mthreads, libs_x) | |
3489 else | |
3490 case "$CC" in | |
3491 "xlc" ) CC="xlc_r" ;; | |
3492 "xlC" ) CC="xlC_r" ;; | |
3493 "cc" ) CC="cc_r" ;; | |
3494 esac | |
3495 fi | |
3496 fi | |
3497 | |
3094 | 3498 dnl include xft/AA support? |
3499 dnl #### need to check for includes here (especially, freetype.h for v.2) | |
3500 | |
3501 if test "$with_xft_emacs" = "yes"; then | |
3312 | 3502 AC_MSG_CHECKING([for Xrender, fontconfig, and Xft]) |
3094 | 3503 xft_includes_found=no |
4152 | 3504 dnl try pkg-config |
3505 xft_config_prog="pkg-config xft" | |
3506 xft_config_ok=`$xft_config_prog --cflags 2>/dev/null` | |
3507 if test "$?" = 0 ; then | |
3508 xft_cflags=`$xft_config_prog --cflags` | |
3509 xft_libs=`$xft_config_prog --libs` | |
3510 c_switch_site="$c_switch_site $xft_cflags" | |
3511 ld_switch_site="$ld_switch_site $xft_libs" | |
3512 xft_includes_found=yes | |
3513 else | |
3514 AC_CHECK_HEADERS([freetype/config/ftheader.h], | |
3515 [xft_includes_found=yes], | |
3516 [ | |
3517 dnl #### How about /sw/include, and /opt/local/include? | |
3518 dnl these directories need to be the parent of the freetype directory | |
3519 for freetype_include_top in "/usr/local/include/freetype2" \ | |
3520 "/usr/X11R6/include/freetype2" \ | |
3521 "/usr/include/freetype2" | |
3522 do | |
3523 if test -d $freetype_include_top; then | |
3524 AC_MSG_CHECKING([in ${freetype_include_top}]) | |
3525 dnl disable autoconf's fucking cache; why these fuckheads think it | |
3526 dnl is better to be broken than to be slow, I don't know! | |
3527 dnl #### there's gotta be a better-looking way to do this!! | |
3528 unset "$as_ac_Header" | |
3529 save_c_switch_site="$c_switch_site" | |
3530 c_switch_site="$c_switch_site -I${freetype_include_top}" | |
3531 AC_CHECK_HEADERS([freetype/config/ftheader.h], | |
3532 [xft_includes_found=yes], | |
3533 [c_switch_site=$save_c_switch_site]) | |
3534 fi | |
3535 done]) | |
3536 fi | |
3158 | 3537 if test "$xft_includes_found" != "yes"; then |
3538 XE_DIE(["Unable to find headers for --with-xft"]) | |
3539 else | |
3540 AC_CHECK_LIB(Xrender, XRenderQueryExtension, XE_PREPEND(-lXrender, libs_x), | |
3541 [XE_DIE(["Unable to find libXrender for --with-xft"])]) | |
3542 AC_CHECK_LIB(fontconfig, FcPatternCreate, XE_PREPEND(-lfontconfig, libs_x), | |
3543 [XE_DIE(["Unable to find libfontconfig for --with-xft"])]) | |
3544 AC_CHECK_LIB(Xft, XftFontOpen, XE_PREPEND(-lXft, libs_x), | |
3545 [XE_DIE(["Unable to find libXft for --with-xft"])]) | |
4328
dfd878799ef0
Autoconfiscate the recent fontconfig spelling change.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4152
diff
changeset
|
3546 |
dfd878799ef0
Autoconfiscate the recent fontconfig spelling change.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4152
diff
changeset
|
3547 AC_CHECK_FUNCS(FcConfigGetRescanInterval) |
dfd878799ef0
Autoconfiscate the recent fontconfig spelling change.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4152
diff
changeset
|
3548 AC_CHECK_FUNCS(FcConfigSetRescanInterval) |
3354 | 3549 dnl #### detect fontconfig properly!!!! |
3550 with_fontconfig=yes | |
3551 AC_DEFINE(HAVE_FONTCONFIG) | |
3158 | 3552 AC_DEFINE(USE_XFT) |
3553 dnl Due to interactions with other libraries, must postpone AC_DEFINE | |
3554 dnl of USE_XFT_MENUBARS, USE_XFT_TABS, and USE_XFT_GAUGE. | |
3555 unset xft_includes_found | |
3556 fi | |
3094 | 3557 fi |
3558 | |
2651 | 3559 fi dnl $with_x11 = yes |
3560 | |
3561 if test "$with_msw" != "no"; then | |
3312 | 3562 AC_MSG_CHECKING([for MS-Windows]) |
3563 AC_MSG_RESULT() | |
2651 | 3564 AC_CHECK_LIB(gdi32,main,with_msw=yes) |
3565 if test "$with_msw" = "yes"; then | |
3566 AC_DEFINE(HAVE_MS_WINDOWS) | |
3567 | |
3568 dnl The net installer only works with MS-Windows currently | |
3569 if test "$with_netinstall" = "yes"; then | |
3570 XE_APPEND(netinstall, MAKE_SUBDIR) | |
3571 XE_APPEND(netinstall, SRC_SUBDIR_DEPS) | |
3572 XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR) | |
3573 fi | |
3574 | |
3575 install_pp="$srcdir/lib-src/installexe.sh" | |
3576 XE_APPEND(-limm32 -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr, libs_system) | |
3577 if test "$with_dragndrop" != no; then | |
3578 XE_APPEND(msw, dragndrop_proto) | |
3579 with_dragndrop=yes | |
3580 fi | |
3581 if test "$window_system" != x11; then | |
3582 window_system=msw | |
3583 test "$enable_scrollbars" != "no" && enable_scrollbars=msw | |
3584 test "$enable_menubars" != "no" && enable_menubars=msw | |
3585 test "$enable_toolbars" != "no" && enable_toolbars=msw | |
3586 test "$enable_dialogs" != "no" && enable_dialogs=msw | |
3587 test "$enable_widgets" != "no" && enable_widgets=msw | |
3588 fi | |
3589 dnl check for our special version of select | |
3590 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <fcntl.h> | |
3591 int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }])], | |
3592 [AC_DEFINE(HAVE_MSG_SELECT)]) | |
3593 fi | |
3594 fi | |
3595 | |
3596 AC_SUBST(install_pp) | |
3597 | |
3598 test -z "$with_dragndrop" && with_dragndrop="$with_dragndrop_default" | |
3599 test -z "$window_system" && window_system="none" | |
3600 | |
3601 dnl Test for features that require a window system - ANY window system | |
3602 if test "$window_system" = "none"; then | |
3603 for feature in menubars scrollbars toolbars dialogs dragndrop xface | |
3604 do | |
3605 if eval "test -n \"\$enable_${feature}\" -a \"\$enable_${feature}\" != no" ; then | |
3606 AC_MSG_WARN([--enable-$feature ignored: Not valid without window system support]) | |
3607 fi | |
3608 eval "enable_${feature}=no" | |
3609 done | |
3610 else | |
3611 test -z "$enable_toolbars" && enable_toolbars=yes | |
3612 fi | |
3613 | |
3614 dnl ### Test for features that require mswindows support - currently none | |
3615 dnl ### MS-Windows folks: add code here..... (martin) | |
3616 if test "$with_msw" != "yes"; then | |
3617 for feature in MARTIN_IS_CLUELESS_ABOUT_MSW_FEATURES | |
3618 do | |
3619 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then | |
3620 AC_MSG_WARN([--with-$feature ignored: Not valid without MS-Windows support]) | |
3621 fi | |
3622 eval "with_${feature}=no" | |
3623 done | |
3624 else | |
3625 : | |
3626 fi | |
3627 | |
3628 dnl Test for features that require X11 support | |
3629 if test "$with_x11" != "yes"; then | |
3630 dnl It ought to be reasonable to have no output device at all, and only use | |
3631 dnl XEmacs in --batch mode. | |
3632 dnl if test "$with_tty" = "no" ; then | |
3633 dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.]) | |
3634 dnl fi | |
3635 for feature in with_tooltalk with_cde with_offix with_wmcommand with_xim with_xmu enable_sound_nas | |
3636 do | |
3637 if eval "test -n \"\$${feature}\" -a \"\$${feature}\" != \"no\"" ; then | |
3638 AC_MSG_WARN([--$feature ignored: Not valid without X support]) | |
3639 fi | |
3640 eval "${feature}=no" | |
3641 done | |
3642 fi | |
3643 | |
3644 dnl Balloon Help requires the Shape extension, not available everywhere, | |
3645 dnl for example not on AIX 4.3. | |
3646 if test "$with_x11" = "yes"; then | |
3647 AC_CHECK_HEADER(X11/extensions/shape.h, [ | |
3648 AC_DEFINE(HAVE_BALLOON_HELP) | |
2741 | 3649 ],[], |
3650 [ | |
3651 #include <X11/Xlib.h> | |
3652 #include <X11/Xutil.h> | |
3653 ]) | |
2651 | 3654 fi |
3655 | |
3656 dnl FSF 19.29 has some bitmapdir stuff here. | |
3657 bitmapdir= | |
3658 | |
3659 case "$window_system" in | |
3660 x11 ) HAVE_X_WINDOWS=yes; echo " Using X11." ;; | |
3661 msw ) HAVE_X_WINDOWS=no ; echo " Using MS-Windows." ;; | |
3662 gtk ) | |
3663 HAVE_X_WINDOWS=no | |
3664 test "$with_gnome" = "yes" && echo " Using GNOME." | |
3665 test "$with_gnome" = "no" && echo " Using GTK." | |
3666 ;; | |
3667 none ) HAVE_X_WINDOWS=no ; echo " Using no window system." ;; | |
3668 esac | |
3669 | |
3670 case "$x_libraries" in *X11R4* ) | |
3671 test "$opsys" = "hpux9" && opsysfile="s/hpux9-x11r4.h" | |
3672 test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h" | |
3673 esac | |
3674 | |
3675 dnl Enable or disable proper handling of WM_COMMAND | |
3312 | 3676 AC_MSG_CHECKING([for WM_COMMAND option]) |
2651 | 3677 dnl if test "$with_wmcommand" = "yes"; then |
3678 if test "$with_wmcommand" != "no"; then | |
3679 AC_DEFINE(HAVE_WMCOMMAND) | |
3312 | 3680 AC_MSG_RESULT(yes) |
3681 else | |
3682 AC_MSG_RESULT(no) | |
2651 | 3683 fi |
3684 | |
3685 dnl Autodetect Xauth | |
3686 dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs | |
3687 test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no | |
3688 test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) } | |
3689 test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no) } | |
3690 test -z "$with_xauth" && with_xauth=yes | |
3691 if test "$with_xauth" = "yes"; then | |
3692 AC_DEFINE(HAVE_XAUTH) | |
3693 XE_SPACE(libs_xauth, $GTK_LIBS $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS) | |
3694 fi | |
3695 AC_SUBST(libs_xauth) | |
3696 | |
3697 dnl This one is for the static initializeds variables in | |
3698 dnl offix.c, so that the thing is dumped after lastfile.o | |
3699 AC_SUBST(dnd_objs) | |
3700 | |
3701 dnl Autodetect dll support | |
3702 | |
3703 dnl If g++ is used, we have to explicitly link modules with -lstdc++ on Cygwin | |
3704 dnl to avoid undefined symbol errors. This will never hurt, so just do it on | |
3705 dnl all platforms in case others have the same brain damage. | |
3706 if test "$with_xemacs_compiler" = "g++"; then | |
3707 LIBSTDCPP=-lstdc++ | |
3708 else | |
3709 LIBSTDCPP= | |
3710 fi | |
3711 AC_SUBST(LIBSTDCPP) | |
3712 | |
3713 dnl This must come before the detection code for anything that is in a module | |
3714 if test "$enable_modules" != "no"; then | |
3312 | 3715 AC_MSG_CHECKING([for module support]) |
3716 AC_MSG_RESULT() | |
2651 | 3717 |
3718 case "$opsys" in | |
3719 mingw* | cygwin* ) have_dl=yes ;; | |
3720 darwin ) have_dl=yes | |
3721 AC_DEFINE(HAVE_DYLD) | |
3722 ;; | |
3723 * ) | |
3724 dnl Check for the ELFish dlopen() | |
3725 AC_CHECK_HEADER(dlfcn.h, [ | |
3726 AC_MSG_CHECKING([for dlopen in -lc]) | |
3312 | 3727 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dlfcn.h>], |
3728 [dlopen ("", 0);])], [ have_dl=yes ; AC_MSG_RESULT($have_dl)], [ | |
2741 | 3729 AC_MSG_RESULT([no]) |
2651 | 3730 AC_MSG_CHECKING([for dlopen in -ldl]) |
3731 ac_save_LIBS="$LIBS" | |
3732 LIBS="$LIBS -ldl" | |
3312 | 3733 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dlfcn.h>], |
3734 [dlopen ("", 0);])], [ have_dl=yes; AC_MSG_RESULT($have_dl)], [ | |
2741 | 3735 AC_MSG_RESULT([no]) |
2651 | 3736 AC_MSG_CHECKING([for dlopen in -lsvld]) |
3737 LIBS="$ac_save_LIBS -lsvld" | |
3312 | 3738 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dlfcn.h>], |
3739 [dlopen ("", 0);])], [ have_dl=yes; AC_MSG_RESULT($have_dl) ], | |
2741 | 3740 [LIBS="$ac_save_LIBS" ; AC_MSG_RESULT([no])])])])]) |
2651 | 3741 if test "$have_dl" = "yes"; then |
3742 AC_DEFINE(HAVE_DLOPEN) | |
3743 else | |
3744 dnl Check for HP/UX shl_load | |
3745 AC_CHECK_HEADER(dl.h, [ | |
3746 AC_MSG_CHECKING([for shl_load in -lc]) | |
3312 | 3747 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dl.h>], |
3748 [shl_load ("", 0, 0);])], [have_dl=yes; AC_MSG_RESULT($have_dl)], [ | |
2741 | 3749 AC_MSG_RESULT([no]) |
2651 | 3750 AC_MSG_CHECKING([for shl_load in -ldl]) |
3751 ac_save_LIBS="$LIBS" | |
3752 LIBS="$LIBS -ldld" | |
3312 | 3753 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dl.h>], |
3754 [shl_load ("", 0, 0);])], [have_dl=yes], | |
2741 | 3755 [LIBS="$ac_save_LIBS"; AC_MSG_RESULT([no])])])]) |
2651 | 3756 if test "$have_dl" = "yes"; then |
3757 AC_DEFINE(HAVE_SHL_LOAD) | |
3758 else | |
3759 dnl Check for libtool's libltdl | |
3760 AC_CHECK_HEADER(ltdl.h, [ | |
3761 AC_MSG_CHECKING([for lt_dlinit in -lltdl]) | |
3762 ac_save_LIBS="$LIBS" | |
3763 LIBS="$LIBS -lltdl" | |
3312 | 3764 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <ltdl.h>], |
3765 [lt_dlinit ();])], [have_dl=yes], [LIBS="$ac_save_LIBS"])]) | |
2741 | 3766 AC_MSG_RESULT($have_dl) |
2651 | 3767 if test "$have_dl" = "yes"; then |
3768 AC_DEFINE(HAVE_LTDL) | |
3769 fi | |
3770 dnl end !HP/UX | |
3771 fi | |
3772 dnl end !dlopen | |
3773 fi | |
3774 ac_save_LIBS= | |
3775 dnl end !darwin | |
3776 esac | |
3777 | |
3778 if test -n "$have_dl"; then | |
3779 dnl XE_SHLIB_STUFF (in aclocal.m4) defines $can_build_shared | |
3780 XE_SHLIB_STUFF | |
3781 fi | |
3782 | |
3783 if test "$can_build_shared" = "yes"; then | |
3784 AC_DEFINE(HAVE_SHLIB) | |
3785 dnl src must be built before modules on MacOSX and Windows platforms, since | |
3786 dnl the binary must be available to properly link the modules | |
3787 dnl For no-module builds, this is added *after* the module directories | |
3788 XE_APPEND(src, MAKE_SUBDIR) | |
3789 XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR) | |
3790 test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS) | |
3791 AC_CHECK_FUNCS(dlerror _dlerror) | |
3792 enable_modules=yes | |
3793 MOD_CC="../../lib-src/ellcc" | |
3794 MODCFLAGS="\$(CFLAGS) --mode=compile --mod-output=\$@ -I../../src -I\$(srcdir)/../../src" | |
3795 INSTALLPATH="\$(moduledir)" | |
3796 MOD_INSTALL_PROGRAM=${INSTALL_PROGRAM} | |
3797 OBJECT_TO_BUILD="\$(MODNAME).ell" | |
3798 else | |
3799 if test "$enable_modules" = "yes"; then | |
3800 XE_DIE("Required module support cannot be provided.") | |
3801 else | |
3802 echo " No module support." | |
3803 fi | |
3804 enable_modules=no | |
3805 fi | |
3806 fi | |
3807 if test "$enable_modules" != "yes"; then | |
3808 MOD_CC="$XEMACS_CC" | |
3809 MODCFLAGS="\$(XE_CFLAGS) -I../../src -I\$(srcdir)/../../src" | |
3810 INSTALLPATH="" | |
3811 MOD_INSTALL_PROGRAM="true" | |
3812 OBJECT_TO_BUILD="\$(MODNAME).o" | |
3813 fi | |
3814 MODARCHDIR= | |
3815 MAKE_DOCFILE="../../lib-src/make-docfile" | |
3816 AC_SUBST(with_modules, $enable_modules) | |
3817 AC_SUBST(MOD_CC) | |
3818 AC_SUBST(MODARCHDIR) | |
3819 AC_SUBST(MAKE_DOCFILE) | |
3820 AC_SUBST(MODCFLAGS) | |
3821 AC_SUBST(INSTALLPATH) | |
3822 AC_SUBST(MOD_INSTALL_PROGRAM) | |
3823 AC_SUBST(OBJECT_TO_BUILD) | |
3824 | |
3825 dnl Autodetect tooltalk | |
3826 if test "$with_tooltalk" != "no" ; then | |
3827 dnl autodetect the location of tt_c.h | |
3828 dnl tt_c.h might be in Tt or desktop include directories | |
3829 for dir in "" "Tt/" "desktop/" ; do | |
3830 AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break) | |
3831 done | |
3832 if test -z "$tt_c_h_file"; then | |
3833 if test "$with_tooltalk" = "yes"; then | |
3834 USAGE_ERROR("Unable to find required tooltalk header files.") | |
3835 fi | |
3836 with_tooltalk=no | |
3837 fi | |
3838 fi | |
3839 if test "$with_tooltalk" != "no" ; then | |
3840 for extra_libs in "" "-lI18N -lce" "-lcxx"; do | |
3841 AC_CHECK_LIB(tt, tt_message_create, | |
3842 tt_libs="-ltt $extra_libs"; break, [:],$extra_libs) | |
3843 done | |
3844 if test -z "$tt_libs"; then | |
3845 if test "$with_tooltalk" = "yes"; then | |
3846 USAGE_ERROR("Unable to find required tooltalk libraries.") | |
3847 fi | |
3848 with_tooltalk=no | |
3849 fi | |
3850 fi | |
3851 test -z "$with_tooltalk" && with_tooltalk=yes | |
3852 if test "$with_tooltalk" = "yes"; then | |
3853 AC_DEFINE(TOOLTALK) | |
3854 AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file") | |
3855 XE_PREPEND($tt_libs, libs_x) | |
3856 fi | |
3857 | |
3858 dnl Autodetect CDE | |
3859 test -z "$with_cde" && { AC_CHECK_HEADER(Dt/Dt.h, , with_cde=no) } | |
3860 test -z "$with_cde" && { AC_CHECK_LIB(DtSvc, DtDndDragStart, [:], with_cde=no) } | |
3861 if test "$with_dragndrop" = "no" ; then | |
3862 if test "$with_cde" = "yes" ; then | |
3312 | 3863 AC_MSG_WARN([--with-cde forced to `no'; no generic Drag'n'Drop support]) |
2651 | 3864 fi |
3865 with_cde=no | |
3866 fi | |
3867 test -z "$with_cde" && with_cde=yes | |
3868 if test "$with_cde" = "yes" ; then | |
3869 AC_DEFINE(HAVE_CDE) | |
3870 XE_PREPEND(-lDtSvc, libs_x) | |
3871 XE_APPEND(CDE, dragndrop_proto) | |
3872 with_tooltalk=yes # CDE requires Tooltalk | |
3873 need_motif=yes # CDE requires Motif | |
3874 fi | |
3875 | |
3876 dnl Always compile OffiX unless --without-offix is given, no | |
3877 dnl X11 support is compiled in, no standard Xmu is available, | |
3878 dnl or dragndrop support is disabled | |
3879 dnl Because OffiX support currently loses when more than one display | |
3880 dnl is in use, we now disable it by default -slb 07/10/1998. | |
3881 test "$window_system" != "x11" && with_offix=no | |
3882 if test "$with_xmu" != yes -a "$with_x11" = yes; then | |
3883 if test "$with_offix" = "yes" ; then | |
3312 | 3884 AC_MSG_WARN([--with-offix forced to `no'; no real Xmu support]) |
2651 | 3885 fi |
3886 with_offix=no | |
3887 fi | |
3888 if test "$with_dragndrop" = no; then | |
3889 if test "$with_offix" = "yes" ; then | |
3312 | 3890 AC_MSG_WARN([--with-offix forced to `no'; no generic Drag'n'Drop support]) |
2651 | 3891 fi |
3892 with_offix=no | |
3893 fi | |
3894 if test "$with_cde" = yes; then | |
3895 if test "$with_offix" = "yes" ; then | |
3312 | 3896 AC_MSG_WARN([--with-offix forced to `no'; CDE already found]) |
2651 | 3897 fi |
3898 with_offix=no | |
3899 fi | |
3900 test -z "$with_offix" && with_offix=no | |
3901 if test "$with_offix" = "yes"; then | |
3902 AC_DEFINE(HAVE_OFFIX_DND) | |
3903 XE_APPEND(offix.o, dnd_objs) | |
3904 XE_APPEND(OffiX, dragndrop_proto) | |
3905 fi | |
3906 if test "$with_gtk" = "yes"; then | |
3907 XE_APPEND(GTK, dragndrop_proto) | |
3908 fi | |
3909 | |
3910 dnl Autodetect Drag'n'Drop support | |
3911 dnl always included if CDE, Offix, or MSWindows are defined | |
3912 if test "$with_dragndrop" != "no" ; then | |
3913 AC_MSG_CHECKING(if drag and drop API is needed) | |
3914 if test -n "$dragndrop_proto" ; then | |
3915 with_dragndrop=yes | |
3916 AC_MSG_RESULT([yes (${dragndrop_proto} )]) | |
3917 AC_DEFINE(HAVE_DRAGNDROP) | |
3918 XE_APPEND(dragdrop.o, extra_objs) | |
3919 else | |
3920 with_dragndrop=no | |
3921 AC_MSG_RESULT(no) | |
3922 fi | |
3923 fi | |
3924 | |
3925 dnl Autodetect LDAP | |
3312 | 3926 AC_MSG_CHECKING([for LDAP]) |
3927 AC_MSG_RESULT() | |
2651 | 3928 ldap_libs= |
3929 test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) } | |
3930 test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) } | |
3931 if test "$with_ldap" != "no"; then | |
3932 AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes) | |
3933 dnl Check for other libraries we need to link with to get the main routines. | |
3934 test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) } | |
3935 test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) } | |
3936 test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) } | |
3937 dnl Recently, we need -lber even though the main routines are elsewhere, | |
3938 dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just | |
3939 dnl check for that (it's a variable not a fun but that doesn't seem to | |
3940 dnl matter in these checks) and stick in -lber if so. Can't hurt (even to | |
3941 dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who | |
3942 dnl #### understands LDAP needs to fix this properly. | |
3943 test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) } | |
3944 fi | |
3945 if test "$with_ldap" = "yes"; then | |
3946 AC_DEFINE(HAVE_LDAP) | |
3947 if test "$with_ldap_des" = "yes" ; then | |
3948 XE_PREPEND(-ldes, ldap_libs) | |
3949 fi | |
3950 if test "$with_ldap_krb" = "yes" ; then | |
3951 XE_PREPEND(-lkrb, ldap_libs) | |
3952 fi | |
3953 if test "$with_ldap_lber" = "yes" ; then | |
3954 XE_PREPEND(-llber, ldap_libs) | |
3955 fi | |
3956 XE_PREPEND(-lldap, ldap_libs) | |
3957 save_LIBS="$LIBS" LIBS="$LIBS $ldap_libs" | |
3958 AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result) | |
3959 LIBS="$save_LIBS" | |
3960 XE_APPEND(modules/ldap, MAKE_SUBDIR) | |
3961 need_modules_common=yes | |
3962 if test "$enable_modules" = "yes"; then | |
3963 XE_APPEND(modules/ldap, INSTALL_ARCH_DEP_SUBDIR) | |
3964 fi | |
3965 fi | |
3966 AC_SUBST(ldap_libs) | |
3967 | |
3968 dnl Autodetect PostgreSQL | |
3969 dnl On many Linux systems, PostgreSQL is packaged to be installed in /usr; | |
3970 dnl in this case, configure will easily detect it there. | |
3971 dnl | |
3972 dnl If PostgreSQL is installed into a different prefix, | |
3973 dnl (such as the default /usr/local/pgsql when building from source), | |
3974 dnl that prefix must be specified using the --with-site-prefixes flag. | |
3975 postgresql_libs= | |
3976 if test "$with_postgresql" != "no"; then | |
3312 | 3977 AC_MSG_CHECKING([for PostgreSQL]) |
3978 AC_MSG_RESULT() | |
2651 | 3979 |
3980 dnl Look for these standard header file locations, known to be used on Linux | |
3981 for header_dir in "" "pgsql/" "postgresql/"; do | |
3982 AC_CHECK_HEADER(${header_dir}libpq-fe.h, | |
3983 libpq_fe_h_file=${header_dir}libpq-fe.h; break) | |
3984 done | |
3985 | |
3050 | 3986 pq_libs= |
3987 extra_libs= | |
3988 if test -n "$libpq_fe_h_file"; then | |
3989 dnl #### Would it be nicer to do this with a loop? | |
3990 dnl It seems unlikely that checking for SSL/crypto support can hurt, | |
3991 dnl even if it's found. | |
3992 AC_CHECK_LIB(pq, PQconnectdb,[pq_libs="-lpq"],[ | |
3993 unset ac_cv_lib_pq_PQconnectdb; | |
3994 AC_CHECK_LIB(pq, PQconnectdb,[pq_libs="-lpq -lcrypto -lssl"],, | |
3995 [-lcrypto -lssl])]) | |
3996 if test -z "$pq_libs"; then | |
3997 have_libpq="no" | |
3998 else | |
3999 have_libpq="yes" | |
4000 fi | |
4001 fi | |
2651 | 4002 |
4003 if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes"; then | |
4004 with_postgresql=yes | |
4005 AC_DEFINE(HAVE_POSTGRESQL) | |
4006 AC_CHECK_LIB(pq,PQconnectStart, [ | |
4007 with_postgresqlv7=yes; | |
3050 | 4008 AC_DEFINE(HAVE_POSTGRESQLV7)], [:], $extra_libs) |
2651 | 4009 AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file") |
3050 | 4010 XE_PREPEND([$pq_libs], postgresql_libs) |
2651 | 4011 XE_APPEND(modules/postgresql, MAKE_SUBDIR) |
4012 need_modules_common=yes | |
4013 if test "$enable_modules" = "yes"; then | |
4014 XE_APPEND(modules/postgresql, INSTALL_ARCH_DEP_SUBDIR) | |
4015 fi | |
4016 elif test "$with_postgresql" = "yes"; then | |
4017 XE_DIE("Required PostgreSQL support cannot be provided. Check --with-site-prefixes.") | |
4018 fi | |
4019 fi | |
4020 AC_SUBST(postgresql_libs) | |
4021 | |
4022 dnl ---------------------- | |
4023 dnl Graphics libraries | |
4024 dnl ---------------------- | |
4025 | |
4026 if test "$window_system" != "none"; then | |
3312 | 4027 AC_MSG_CHECKING([for graphics libraries]) |
4028 AC_MSG_RESULT() | |
2651 | 4029 |
4030 dnl add special code to handle xpm-nox on Cygwin (csw) | |
4031 dnl -- should only happen if CYGWIN && WITH_XPM && WITH_MSW && !WITH_X | |
4032 libpath_xpm= | |
4033 incpath_xpm= | |
3727 | 4034 libname_xpm="-lXpm" |
2651 | 4035 case "$opsys" in |
4036 cygwin*) | |
3228 | 4037 cygwin_top=`eval gcc -print-search-dirs | sed -ne s'/install: //p'` |
4038 cygwin_top=`eval "cd $cygwin_top/../../../..; pwd"` | |
2651 | 4039 case "$window_system" in |
4040 dnl use "standard" search pattern | |
4041 x11) ;; | |
4042 dnl hardcode "standard" non-X11 xpm lib/inc dirs | |
4043 msw) libpath_xpm="-L${cygwin_top}/lib/noX" | |
4044 incpath_xpm="-I${cygwin_top}/include/noX" | |
3727 | 4045 libname_xpm="-lXpm-noX" |
2651 | 4046 ;; |
4047 dnl not supported on cygwin (yet?) | |
4048 gtk) ;; | |
4049 dnl probably not reached... | |
4050 none) ;; | |
4051 dnl ditto | |
4052 *) ;; | |
4053 esac | |
4054 ;; | |
4055 dnl use "standard" search pattern for all other OS's | |
4056 *) ;; | |
4057 esac | |
4058 dnl Autodetect Xpm | |
4059 xpm_problem="" | |
4060 if test -z "$with_xpm"; then | |
4061 XE_PREPEND("$incpath_xpm", CFLAGS) | |
2940 | 4062 XE_PREPEND("$incpath_xpm", XE_CFLAGS) |
2651 | 4063 XE_PREPEND("$libpath_xpm", LDFLAGS) |
4064 AC_MSG_CHECKING(for Xpm - no older than 3.4f) | |
3727 | 4065 xe_check_libs="$libname_xpm" |
2651 | 4066 AC_RUN_IFELSE([AC_LANG_SOURCE([#define XPM_NUMBERS |
4067 #include <X11/xpm.h> | |
4068 int main(int c, char **v) { | |
4069 return c == 1 ? 0 : | |
4070 XpmIncludeVersion != XpmLibraryVersion() ? 1 : | |
4071 XpmIncludeVersion < 30406 ? 2 : 0 ;}])], | |
4072 [./conftest dummy_arg; xpm_status=$?; | |
4073 if test "$xpm_status" = "0"; then | |
4074 with_xpm=yes; | |
4075 else | |
4076 with_xpm=no; | |
4077 if test "$xpm_status" = "1"; then | |
4078 xpm_problem="Xpm library version and header file version don't match!" | |
4079 elif test "$xpm_status" = "2"; then | |
4080 xpm_problem="Xpm library version is too old!" | |
4081 else | |
4082 xpm_problem="Internal xpm detection logic error!" | |
4083 fi | |
4084 echo " | |
4085 *** WARNING *** $xpm_problem | |
4086 I'm not touching that with a 10-foot pole! | |
4087 If you really want to use the installed version of Xpm, rerun | |
4088 configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!" | |
4089 fi], | |
4090 [with_xpm=no]) | |
4091 xe_check_libs= | |
4092 AC_MSG_RESULT($with_xpm) | |
4093 fi | |
4094 if test "$with_xpm" = "yes"; then | |
4095 dnl #### This code assumes that if AC_CHECK_LIB fails, | |
4096 dnl #### then it will succeed if FOR_MSW is defined, | |
4097 dnl #### but doesn't actually verify this assumption. | |
4098 AC_DEFINE(HAVE_XPM) | |
4099 XE_PREPEND("$libpath_xpm", LDFLAGS) | |
3727 | 4100 XE_PREPEND("$libname_xpm", libs_x) |
2651 | 4101 XE_PREPEND("$incpath_xpm", CFLAGS) |
2940 | 4102 XE_PREPEND("$incpath_xpm", XE_CFLAGS) |
3312 | 4103 AC_MSG_CHECKING([for "FOR_MSW" xpm]) |
3727 | 4104 xe_check_libs="$libname_xpm" |
3316 | 4105 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[XpmCreatePixmapFromData();])], |
2651 | 4106 [xpm_for_msw=no], |
4107 [xpm_for_msw=yes]) | |
4108 xe_check_libs= | |
4109 AC_MSG_RESULT($xpm_for_msw) | |
4110 if test "$xpm_for_msw" = "yes"; then | |
4111 AC_DEFINE(FOR_MSW) | |
4112 fi | |
4113 fi | |
4114 | |
4115 dnl Autodetect XFACE | |
4116 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) } | |
4117 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) } | |
4118 test -z "$with_xface" && with_xface=yes | |
4119 if test "$with_xface" = "yes"; then | |
4120 AC_DEFINE(HAVE_XFACE) | |
4121 XE_PREPEND(-lcompface, libs_x) | |
4122 fi | |
4123 | |
4124 dnl For a brief period we had the GIF code split out into a separate library, | |
4125 dnl but patent problems, etc. sort of squashed that idea. | |
4126 dnl We default to building with builtin GIF decoding | |
4127 if test "$with_gif" != "no"; then | |
4128 with_gif="yes" | |
4129 AC_DEFINE(HAVE_GIF) | |
4130 fi | |
4131 | |
4132 dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime | |
4133 dnl So we always search for libz compression support. | |
4134 if test "$with_png $with_tiff" != "no no"; then | |
4135 AC_CHECK_LIB(c, inflate, [:], [ | |
4136 AC_CHECK_LIB(z, inflate, [XE_PREPEND(-lz, libs_x)],[ | |
4137 AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])]) | |
4138 fi | |
4139 | |
4140 dnl autodetect JPEG | |
4141 test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) } | |
4142 test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) } | |
4143 test -z "$with_jpeg" && with_jpeg=yes | |
4144 if test "$with_jpeg" = "yes"; then | |
4145 AC_DEFINE(HAVE_JPEG) | |
4146 XE_PREPEND(-ljpeg, libs_x) | |
4147 fi | |
4148 | |
4149 dnl autodetect PNG | |
4150 png_problem="" | |
4151 test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) } | |
4152 test -z "$with_png" && { AC_CHECK_HEADER(png.h, ,with_png=no) } | |
2667 | 4153 test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no,[-lz]) } |
2651 | 4154 if test -z "$with_png"; then |
4155 AC_MSG_CHECKING(for workable png version information) | |
4156 xe_check_libs="-lpng -lz" | |
4157 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <png.h> | |
4158 int main(int c, char **v) { | |
4159 if (c == 1) return 0; | |
4160 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1; | |
4161 return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}])], | |
4162 [./conftest dummy_arg; png_status=$?; | |
4163 if test "$png_status" = "0"; then | |
4164 with_png=yes; | |
4165 else | |
4166 with_png=no; | |
4167 if test "$png_status" = "1"; then | |
4168 png_problem="PNG library version and header file don't match!" | |
4169 elif test "$png_status" = "2"; then | |
4170 png_problem="PNG library version too old (pre 1.0.2)!" | |
4171 fi | |
4172 echo " | |
4173 *** WARNING *** $png_problem | |
4174 I'm not touching that with a 10-foot pole! | |
4175 If you really want to use the installed version of libPNG, rerun | |
4176 configure and add '--with-png=yes', but don't blame me if XEmacs crashes!" | |
4177 fi], | |
4178 [with_png=no]) | |
4179 xe_check_libs= | |
4180 AC_MSG_RESULT($with_png) | |
4181 fi | |
4182 if test "$with_png" = "yes"; then | |
4183 AC_DEFINE(HAVE_PNG) | |
4184 XE_PREPEND(-lpng, libs_x) | |
4185 fi | |
4186 | |
4187 dnl autodetect TIFF | |
4188 test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) } | |
2667 | 4189 test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFClientOpen,[:],with_tiff=no,[-lz]) } |
2651 | 4190 test -z "$with_tiff" && with_tiff=yes |
4191 if test "$with_tiff" = "yes"; then | |
4192 AC_DEFINE(HAVE_TIFF) | |
4193 XE_PREPEND(-ltiff, libs_x) | |
4194 fi | |
4195 fi | |
4196 | |
4197 dnl ---------------------- | |
4198 dnl GTK-Specific Graphics libraries | |
4199 dnl ---------------------- | |
4200 | |
4201 if test "$with_gtk" = "yes"; then | |
4202 dnl Autodetect XFACE | |
4203 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) } | |
4204 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) } | |
4205 test -z "$with_xface" && with_xface=yes | |
4206 if test "$with_xface" = "yes"; then | |
4207 AC_DEFINE(HAVE_XFACE) | |
4208 XE_PREPEND(-lcompface, libs_gtk) | |
4209 fi | |
4210 fi | |
4211 | |
4212 dnl ---------------------- | |
4213 dnl X-Specific Graphics libraries | |
4214 dnl ---------------------- | |
4215 | |
4216 if test "$with_x11" = "yes"; then | |
3312 | 4217 AC_MSG_CHECKING([for X11 graphics libraries]) |
4218 AC_MSG_RESULT() | |
2651 | 4219 fi |
4220 | |
4221 case "$enable_widgets" in | |
3019 | 4222 "" | "yes" | "athena") detect_athena=yes ;; |
2651 | 4223 *) detect_athena=no ;; |
4224 esac | |
4225 | |
3019 | 4226 case "$enable_dialogs" in |
4227 "" | "yes" | "athena") detect_athena=yes ;; | |
4228 esac | |
4229 | |
2651 | 4230 if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then |
3312 | 4231 AC_MSG_CHECKING([for the Athena widgets]) |
4232 AC_MSG_RESULT() | |
2651 | 4233 |
4234 dnl What in heck did the user actually want? | |
4235 case "$with_athena" in | |
4236 dnl This is the default, old fashioned flat Athena. | |
4237 "xaw" | "") athena_variant=Xaw athena_3d=no ;; | |
4238 "3d") athena_variant=Xaw3d athena_3d=yes ;; | |
4239 "next") athena_variant=neXtaw athena_3d=yes ;; | |
4240 "95") athena_variant=Xaw95 athena_3d=yes ;; | |
4241 "xpm") athena_variant=XawXpm athena_3d=yes ;; | |
4242 *) XE_DIE("Unknown Athena widget set \`$with_athena'. This should not happen.") ;; | |
4243 esac | |
4244 | |
4245 dnl Search for the Athena library... | |
4246 if test "$athena_3d" = "no"; then | |
4247 AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb, | |
4248 [ | |
4249 dnl Must not be a 3d library... | |
4440
e4225b6d9389
AC_CHECK_LIB needs a function symbol. <87zls98qtk.fsf@uwakimon.sk.tsukuba.ac.jp>
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4424
diff
changeset
|
4250 AC_CHECK_LIB($athena_variant, XawSme3dComputeTopShadowRGB, |
2651 | 4251 [AC_MSG_WARN([Could not find a non-3d Athena widget library.])], |
4252 athena_lib=$athena_variant) | |
4253 ], | |
4254 AC_MSG_WARN([Could not find an Athena widget library.])) | |
4255 else | |
4256 dnl The real configuration, need 3d library | |
4440
e4225b6d9389
AC_CHECK_LIB needs a function symbol. <87zls98qtk.fsf@uwakimon.sk.tsukuba.ac.jp>
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4424
diff
changeset
|
4257 AC_CHECK_LIB($athena_variant, XawSme3dComputeTopShadowRGB, athena_lib=$athena_variant, |
2651 | 4258 dnl OK, couldn't find it with a proper name, try the standard Athena lib |
4259 dnl If that is 3d, presume the user asked for what they have installed. | |
4440
e4225b6d9389
AC_CHECK_LIB needs a function symbol. <87zls98qtk.fsf@uwakimon.sk.tsukuba.ac.jp>
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4424
diff
changeset
|
4260 AC_CHECK_LIB(Xaw, XawSme3dComputeTopShadowRGB, |
2651 | 4261 [ |
4262 athena_lib=Xaw; | |
4263 AC_MSG_WARN([Assuming that libXaw is actually $athena_variant.]); | |
4264 ], | |
4265 [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])])) | |
4266 fi | |
4267 | |
4268 dnl Now we locate the Athena headers that we need. | |
4269 if test "$athena_3d" = "no"; then | |
4270 AC_CHECK_HEADER(X11/Xaw/ThreeD.h, | |
4271 [AC_MSG_WARN([Could not find a non-3d Athena header set.])], | |
4272 [AC_CHECK_HEADER(X11/Xaw/XawInit.h, | |
4273 [athena_h_path=X11/Xaw], | |
2694 | 4274 [AC_MSG_WARN([Could not find a non-3d Athena header set.])], |
4275 [ | |
4276 #include <X11/Intrinsic.h> | |
4277 ])]) | |
2651 | 4278 else |
4279 dnl The three-d Athena headers are so much more slippery. | |
4280 dnl Curse this `Lets replace standard libraries' thing that they did. :/ | |
4281 AC_CHECK_HEADER(X11/$athena_variant/XawInit.h, | |
4282 [AC_CHECK_HEADER(X11/$athena_variant/ThreeD.h, | |
4283 [athena_h_path=X11/$athena_variant])],[], | |
4284 [ | |
4285 #if HAVE_X11_XFUNCPROTO_H | |
4286 #include <X11/Xfuncproto.h> | |
4287 #endif | |
2705 | 4288 #include <X11/Intrinsic.h> |
2651 | 4289 ]) |
4290 | |
4291 dnl Is the variant specific header directory directly under include? | |
4292 if test -z "$athena_h_path"; then | |
4293 AC_CHECK_HEADER($athena_variant/XawInit.h, | |
4294 [AC_CHECK_HEADER($athena_variant/ThreeD.h, | |
4295 athena_h_path=$athena_variant)],[], | |
4296 [ | |
4297 #if HAVE_X11_XFUNCPROTO_H | |
4298 #include <X11/Xfuncproto.h> | |
4299 #endif | |
2694 | 4300 #include <X11/Intrinsic.h> |
2651 | 4301 ]) |
4302 fi | |
4303 | |
4304 dnl If we couldn't find the specific variant, try the generic Athena 3d headers | |
4305 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then | |
4306 AC_CHECK_HEADER(X11/Xaw3d/XawInit.h, | |
4307 [AC_CHECK_HEADER(X11/Xaw3d/ThreeD.h, | |
4308 [ | |
4309 AC_MSG_WARN([Assuming that X11/Xaw3d headers are suitable for $athena_variant.]) | |
4310 athena_h_path=X11/Xaw3d | |
4311 ])],[], | |
4312 [ | |
4313 #if HAVE_X11_XFUNCPROTO_H | |
4314 #include <X11/Xfuncproto.h> | |
4315 #endif | |
2694 | 4316 #include <X11/Intrinsic.h> |
2651 | 4317 ]) |
4318 fi | |
4319 | |
4320 dnl Also generic 3d headers directly under include dir | |
4321 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then | |
4322 AC_CHECK_HEADER(Xaw3d/XawInit.h, | |
4323 [AC_CHECK_HEADER(Xaw3d/ThreeD.h, | |
4324 [ | |
4325 AC_MSG_WARN([Assuming that Xaw3d headers are suitable for $athena_variant.]) | |
4326 athena_h_path=Xaw3d | |
4327 ])],[], | |
4328 [ | |
4329 #if HAVE_X11_XFUNCPROTO_H | |
4330 #include <X11/Xfuncproto.h> | |
4331 #endif | |
2694 | 4332 #include <X11/Intrinsic.h> |
2651 | 4333 ]) |
4334 fi | |
4335 | |
4336 dnl If nothing yet found, see if Xaw is a 3d header set... | |
4337 dnl We AC_MSG_WARN if we fail because I am all out of ideas... | |
4338 if test -z "$athena_h_path"; then | |
4339 AC_CHECK_HEADER(X11/Xaw/ThreeD.h, | |
4340 [ | |
4341 AC_MSG_WARN([Assuming that X11/Xaw headers are suitable for $athena_variant.]) | |
4342 athena_h_path=X11/Xaw | |
4343 ], | |
4344 [AC_MSG_WARN([Could not find a suitable 3d Athena header set.])]) | |
4345 fi | |
4346 fi | |
4347 | |
4348 dnl Do we actually have a usable Athena widget set? Please? | |
4349 if test -n "$athena_lib" -a -n "$athena_h_path"; then | |
4350 have_xaw=yes | |
4351 else | |
4352 have_xaw=no | |
4353 fi | |
4354 | |
4355 else | |
4356 have_xaw=no | |
4357 fi dnl "$with_x11" = "yes" -a "detect_athena" = "yes" | |
4358 | |
4359 if test "$with_x11" = "yes"; then | |
4360 dnl autodetect Motif - but only add to libs_x later (if necessary) | |
4361 dnl Use a different function to the earlier test to avoid problems with the | |
4362 dnl internal cache. | |
4363 AC_CHECK_HEADER(Xm/Xm.h, | |
4364 [AC_CHECK_LIB(Xm, XmStringCreate, have_motif=yes, have_motif=no)], | |
4365 have_motif=no) | |
4366 | |
4367 if test "$have_motif" = "yes"; then | |
4368 dnl autodetect lesstif | |
4369 AC_MSG_CHECKING(for Lesstif) | |
4370 AC_EGREP_CPP(yes, | |
4371 [#include <Xm/Xm.h> | |
4372 #ifdef LESSTIF_VERSION | |
4373 yes | |
4374 #endif | |
4375 ], have_lesstif=yes, have_lesstif=no) | |
4376 AC_MSG_RESULT($have_lesstif) | |
4377 fi | |
4378 | |
4379 fi dnl "$with_x11" = "yes" | |
4380 | |
4381 dnl Finish ensuring that we have values for the various toolkit items. | |
4382 dnl Not all toolkits support all widgets | |
3019 | 4383 |
4384 dnl Avoid using Motif :-( | |
4385 case "$opsys" in | |
3738 | 4386 *linux* | *darwin* | *bsd* | *cygwin* ) lucid_prefers_motif="no" ;; |
3019 | 4387 * ) lucid_prefers_motif="yes" ;; |
4388 esac | |
2651 | 4389 |
4390 case "$enable_menubars" in "" | "yes" | "athena" ) | |
4391 enable_menubars="lucid" ;; | |
4392 esac | |
3094 | 4393 dnl this is not in xft reloaded #3 |
4394 if test "$with_xft_menubars" != "no" ; then | |
4395 if test "$with_xft_emacs" = "yes" -a "$with_menubars" != "no" ; then | |
4396 with_xft_menubars="yes" | |
4397 else | |
4398 with_xft_menubars="no" | |
4399 fi | |
4400 fi | |
2651 | 4401 case "$enable_dialogs" in "" | "yes" | "lucid" ) |
3019 | 4402 if test "$lucid_prefers_motif" = "yes"; then |
4403 if test "$have_motif" = "yes"; then enable_dialogs="motif" | |
4404 elif test "$have_xaw" = "yes"; then enable_dialogs="athena" | |
4405 elif test "$with_msw" = "yes"; then enable_dialogs="msw" | |
4406 else enable_dialogs=no | |
4407 fi | |
4408 else | |
4409 if test "$have_xaw" = "yes"; then enable_dialogs="athena" | |
4410 elif test "$have_motif" = "yes"; then enable_dialogs="motif" | |
4411 elif test "$with_msw" = "yes"; then enable_dialogs="msw" | |
4412 else enable_dialogs=no | |
4413 fi | |
2651 | 4414 fi ;; |
4415 esac | |
4416 case "$enable_scrollbars" in "" | "yes" ) | |
4417 enable_scrollbars="lucid" ;; | |
4418 esac | |
4419 case "$enable_widgets" in "" | "yes" | "lucid") | |
3019 | 4420 if test "$lucid_prefers_motif" = "yes"; then |
4421 if test "$have_motif" = "yes"; then enable_widgets="motif" | |
4422 elif test "$have_xaw" = "yes"; then enable_widgets="athena" | |
4423 elif test "$with_msw" = "yes"; then enable_widgets="msw" | |
4424 else enable_widgets=no | |
4425 fi | |
4426 else | |
4427 if test "$have_xaw" = "yes"; then enable_widgets="athena" | |
4428 elif test "$have_motif" = "yes"; then enable_widgets="motif" | |
4429 elif test "$with_msw" = "yes"; then enable_widgets="msw" | |
4430 else enable_widgets=no | |
4431 fi | |
2651 | 4432 fi ;; |
4433 esac | |
3094 | 4434 dnl this is not in xft reloaded #3 |
4435 if test "$with_xft_tabs" != "no" ; then | |
4436 if test "$with_xft_emacs" = "yes" -a "$enable_widgets" != "no" ; then | |
4437 with_xft_tabs="yes" | |
4438 else | |
4439 with_xft_tabs="no" | |
4440 fi | |
4441 fi | |
4442 dnl this is not in xft reloaded #3 | |
4443 if test "$with_xft_gauge" != "no" ; then | |
4444 if test "$with_xft_emacs" = "yes" -a "$enable_widgets" != "no" ; then | |
4445 with_xft_gauge="yes" | |
4446 else | |
4447 with_xft_gauge="no" | |
4448 fi | |
4449 fi | |
2651 | 4450 |
4451 all_widgets="$enable_menubars $enable_scrollbars $enable_dialogs $enable_toolbars $enable_widgets" | |
4452 | |
4453 case "$all_widgets" in | |
4454 *athena* ) | |
4455 if test "$have_xaw" != "yes"; then | |
4456 XE_DIE("Could not find a suitable Athena library to build with.") | |
4457 fi | |
4458 | |
4459 dnl Add the Lucid widget Athena code | |
4460 XE_APPEND(lwlib-Xaw.o, lwlib_objs) | |
4461 | |
4462 dnl Add the Athena widget library we located earlier | |
4463 XE_PREPEND(-l$athena_lib, libs_x) | |
4464 | |
4465 dnl Tell lwlib where to find the Athena header files. | |
4466 dnl Many people have tried to create a `smart' way of doing this, | |
4467 dnl but all have failed. Before changing the following ugly definitions, | |
4468 dnl consult the veterans of many a battle. | |
4469 AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h") | |
4470 AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h") | |
4471 AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h") | |
4472 AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h") | |
4473 AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h") | |
4474 AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h") | |
4475 AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h") | |
4476 AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h") | |
4477 AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h") | |
4478 AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h") | |
4479 | |
4480 AC_DEFINE(LWLIB_USES_ATHENA) | |
4481 AC_DEFINE(NEED_ATHENA) | |
4482 need_athena="yes" | |
4483 | |
4484 if test "$athena_3d" = "yes"; then | |
4485 AC_DEFINE(HAVE_ATHENA_3D) | |
4486 fi | |
4487 ;; | |
4488 esac | |
4489 | |
4490 case "$all_widgets" in *motif* ) | |
4491 AC_DEFINE(LWLIB_USES_MOTIF) | |
4492 AC_DEFINE(NEED_MOTIF) | |
4493 XE_APPEND(lwlib-Xm.o, lwlib_objs) | |
4494 need_motif=yes ;; | |
4495 esac | |
4496 | |
4497 test "$enable_menubars" = "lucid" && XE_APPEND(xlwmenu.o, lwlib_objs) | |
4498 test "$enable_menubars" = "motif" && XE_APPEND(xlwmenu.o, lwlib_objs) | |
4499 test "$enable_scrollbars" = "lucid" && XE_APPEND(xlwscrollbar.o, lwlib_objs) | |
4500 test "$enable_widgets" != "no" && test "$enable_widgets" != "msw" && \ | |
4501 XE_APPEND(xlwtabs.o xlwgcs.o, lwlib_objs) | |
4502 case "$enable_widgets" in athena* ) | |
4503 XE_APPEND(xlwradio.o xlwcheckbox.o xlwgauge.o, lwlib_objs);; | |
4504 esac | |
4505 case "$all_widgets" in *lucid* ) | |
4506 AC_DEFINE(NEED_LUCID) | |
4507 XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;; | |
4508 esac | |
4509 | |
4510 AC_SUBST(lwlib_objs) | |
4511 | |
4512 test "$enable_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA) | |
4513 test "$enable_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA) | |
4514 | |
4515 if test "$athena_3d" = "yes"; then | |
4516 test "$enable_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D) | |
4517 test "$enable_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D) | |
4518 fi | |
4519 | |
4520 case "$enable_widgets" in athena* ) AC_DEFINE(LWLIB_WIDGETS_ATHENA);; esac | |
4521 test "$enable_widgets" != "no" && test "$enable_widgets" != "msw" && \ | |
4522 AC_DEFINE(LWLIB_TABS_LUCID) | |
4523 | |
4524 test "$enable_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS) | |
4525 test "$enable_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS) | |
4526 test "$enable_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS) | |
4527 test "$enable_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS) | |
4528 test "$enable_widgets" != "no" && AC_DEFINE(HAVE_WIDGETS) | |
4529 | |
4530 test "$enable_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID) | |
4531 test "$enable_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID) | |
4532 | |
4533 test "$enable_menubars" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF) | |
4534 test "$enable_scrollbars" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF) | |
4535 test "$enable_dialogs" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF) | |
4536 test "$enable_widgets" = "motif" && AC_DEFINE(LWLIB_WIDGETS_MOTIF) | |
4537 | |
3094 | 4538 test "$with_xft_menubars" = "yes" && AC_DEFINE(USE_XFT_MENUBARS) |
4539 test "$with_xft_tabs" = "yes" && AC_DEFINE(USE_XFT_TABS) | |
4540 test "$with_xft_gauge" = "yes" && AC_DEFINE(USE_XFT_GAUGE) | |
4541 | |
2651 | 4542 dnl ---------------------- |
4543 dnl Mule-dependent options | |
4544 dnl ---------------------- | |
4545 | |
4546 test -z "$enable_mule" && enable_mule=no | |
4547 | |
4548 dnl if test "$enable_mule" = "yes" && test ! -d "$srcdir/lisp/mule"; then | |
4549 dnl echo "Attempt to Build with Mule without Mule/Lisp" | |
4550 dnl echo "Please install the XEmacs/Mule tarball or" | |
4551 dnl echo "rerun configure with --with-mule=no" | |
4552 dnl exit 1 | |
4553 dnl fi | |
4554 | |
4555 if test "$enable_default_eol_detection" = "yes"; then | |
4556 AC_DEFINE(HAVE_DEFAULT_EOL_DETECTION) | |
4557 fi | |
4558 | |
2973 | 4559 dnl initialize _libs variables for possible modules at top level |
4560 canna_libs= | |
4561 wnn_libs= | |
4562 | |
2651 | 4563 if test "$enable_mule" = "yes" ; then |
3312 | 4564 AC_MSG_CHECKING([for Mule-related features]) |
2651 | 4565 AC_DEFINE(MULE) |
4566 | |
4567 dnl Use -lintl to get internationalized strerror for Mule | |
4568 AC_CHECK_HEADERS(libintl.h) | |
4569 AC_CHECK_LIB(intl, strerror) | |
4570 | |
3312 | 4571 AC_MSG_CHECKING([for Mule input methods]) |
2651 | 4572 dnl Do we have the XmIm* routines? And if so, do we want to use them? |
4573 case "$with_xim" in "" | "yes" ) | |
3312 | 4574 AC_MSG_CHECKING([for XIM]) |
2651 | 4575 AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no) |
4576 dnl XIM + Lesstif is not (yet?) usable | |
3019 | 4577 dnl Only use Motif if linking Motif anyway, or don't have xlib XIM |
4578 if test "$need_motif $have_lesstif" = "yes no"; then | |
4579 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) | |
3248 | 4580 dnl #### This is always false. |
4581 dnl Not clear what we want, although "yes no yes" is insufficient. | |
3019 | 4582 elif test "$have_motif $have_lesstif $with_xim" = "yes no no"; then |
2651 | 4583 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) |
4584 fi ;; | |
4585 esac | |
4586 if test "$with_xim" != "no"; then | |
4587 AC_DEFINE(HAVE_XIM) | |
4588 if test "$with_xim" = "xlib"; then | |
4589 AC_DEFINE(XIM_XLIB) | |
4590 XE_ADD_OBJS(input-method-xlib.o) | |
4591 fi | |
4592 if test "$with_xim" = "motif"; then | |
4593 AC_DEFINE(XIM_MOTIF) | |
4594 need_motif=yes | |
4595 XE_ADD_OBJS(input-method-motif.o) | |
4596 fi | |
4597 if test "$with_xim" = "motif"; then | |
4598 with_xfs=no | |
4599 fi | |
4600 fi | |
4601 | |
4602 dnl "with_xfs" = "yes" | |
4603 if test "$with_xfs" = "yes" ; then | |
3312 | 4604 AC_MSG_CHECKING([for XFontSet]) |
2651 | 4605 AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no) |
4606 if test "$with_xfs" = "yes" && test "$enable_menubars" = "lucid"; then | |
4607 AC_DEFINE(USE_XFONTSET) | |
4608 if test "$with_xim" = "no" ; then | |
4609 XE_ADD_OBJS(input-method-xlib.o) | |
4610 fi | |
4611 fi | |
4612 fi dnl with_xfs | |
4613 | |
4614 dnl Autodetect WNN | |
4615 test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support | |
4616 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) } | |
4617 dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h | |
4618 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h, ,with_wnn=no) } | |
4619 dnl Detour to find crypt | |
4620 if test "$with_wnn" != "no"; then | |
4621 AC_CHECK_FUNCS(crypt) | |
4622 test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) } | |
4623 fi | |
4624 dnl Back to our regularly scheduled wnn hunting | |
4625 if test -z "$with_wnn" -o "$with_wnn" = "yes"; then | |
4626 AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn, | |
4627 AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4, | |
4628 AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6, | |
4629 AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no)))) | |
4630 fi | |
4631 test -z "$with_wnn" && with_wnn=yes | |
4632 if test "$with_wnn" = "yes"; then | |
4633 AC_DEFINE(HAVE_WNN) | |
4634 XE_PREPEND(-l$libwnn, libs_x) | |
4635 if test "$with_wnn6" != "no"; then | |
4636 AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes) | |
4637 test "$with_wnn6" = "yes" && AC_DEFINE(WNN6) | |
4638 fi | |
4639 fi | |
4640 | |
3830 | 4641 dnl Configure canna |
2973 | 4642 dnl canna_libs variable is initialized at toplevel |
3830 | 4643 dnl #### the hard-coding of /usr/local/canna/include is bogus and |
4644 dnl my Mac OS X 10.4 system needs /usr/local/canna/lib, too | |
4645 dnl #### this whole mess should be in modules/canna, no? maybe not | |
4646 have_canna=no | |
2651 | 4647 if test "$with_canna" != "no"; then |
4648 save_c_switch_site="$c_switch_site" | |
3830 | 4649 for canna_include_path in "" " -I/usr/local/canna/include"; do |
4650 for canna_wchar_aware in "" " -DCANNA_NEW_WCHAR_AWARE=1"; do | |
4651 c_switch_site="$save_c_switch_site$canna_include_path$canna_wchar_aware" | |
4652 # defeat autoconf's cache mechanism | |
4653 $as_unset ac_cv_header_canna_jrkanji_h | |
4654 $as_unset ac_cv_header_canna_RK_h | |
4655 # using $ac_header_compiler is a hack, but autoconf doesn't let us | |
4656 # get at this information otherwise :-( | |
4657 AC_CHECK_HEADER(canna/jrkanji.h,[AC_CHECK_HEADER(canna/RK.h,have_canna=$ac_header_compiler)]) | |
4658 test "$have_canna" = "yes" && break | |
4659 AC_MSG_WARN([You may ignore any *Present but not compiled* message | |
4660 from autoconf. We detect that condition and recheck, but there | |
4661 is no way to suppress autoconf's message.]) | |
4662 done | |
4663 test "$have_canna" = "yes" && break | |
4664 done | |
4665 if test "$have_canna" = "yes"; then | |
4666 c_switch_site="$save_c_switch_site$canna_include_path" | |
4667 else | |
2651 | 4668 c_switch_site="$save_c_switch_site" |
4669 fi | |
4670 fi | |
4671 | |
3830 | 4672 test "$have_canna" = "yes" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],have_canna=no) } |
4673 test "$have_canna" = "yes" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],have_canna=no) } | |
4674 if test "$have_canna" = "yes"; then | |
2651 | 4675 AC_DEFINE(HAVE_CANNA) |
3830 | 4676 test -n "$canna_wchar_aware" && AC_DEFINE(CANNA_NEW_WCHAR_AWARE) |
2973 | 4677 XE_APPEND(modules/canna, MAKE_SUBDIR) |
4678 need_modules_common=yes | |
4679 if test "$with_modules" = "yes"; then | |
4680 XE_APPEND(modules/canna, INSTALL_ARCH_DEP_SUBDIR) | |
4681 fi | |
4682 XE_PREPEND(-lcanna -lRKC, canna_libs) | |
3830 | 4683 elif test "$with_canna" != "no"; then |
4684 AC_MSG_WARN([Canna configuration failed. If you expected success, | |
4685 maybe you need --with-site-prefixes=/usr/local/canna?]) | |
2651 | 4686 fi |
2973 | 4687 AC_SUBST(canna_libs) |
2651 | 4688 |
4689 else dnl "$enable_mule" = "no" | |
4690 for feature in xim canna wnn; do | |
4691 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then | |
4692 AC_MSG_WARN([--with-${feature} ignored: Not valid without Mule support]) | |
4693 fi | |
4694 eval "with_${feature}=no" | |
4695 done | |
4696 fi dnl with_mule | |
4697 | |
4698 | |
4699 dnl At this point, we know whether we need the motif lib or not. | |
4700 if test "$need_motif" = "yes" ; then | |
4701 XE_PREPEND(-lXm, libs_x) | |
4702 dnl AIX needs the following library for use with Motif | |
4703 AC_CHECK_LIB(i18n, layout_object_getvalue, [XE_PREPEND(-li18n, libs_x)]) | |
4704 XE_COMPUTE_RUNPATH() | |
4705 fi | |
4706 | |
4707 dnl ---------------------------------------------------------------- | |
4708 dnl Check for POSIX functions. | |
4709 dnl ---------------------------------------------------------------- | |
4710 | |
4711 AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp fsync ftime ftruncate getaddrinfo gethostname getnameinfo getpagesize getrlimit gettimeofday getcwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setsid sigblock sighold sigprocmask snprintf strerror strlwr strupr symlink tzset ulimit umask usleep vlimit vsnprintf waitpid wcscmp wcslen) | |
4712 | |
4713 dnl getaddrinfo() is borked under hpux11 | |
4714 if test "$ac_cv_func_getaddrinfo" != "no" ; then | |
4715 case "$opsys" in | |
4716 hpux11 ) | |
4717 AC_MSG_WARN([Use of getaddrinfo is disabled for HP-UX 11.XX.]) | |
4718 ac_cv_func_getaddrinfo=no | |
4719 ;; | |
4720 esac | |
4721 fi | |
4722 | |
3092 | 4723 dnl check for vdb-related stuff |
4724 if test "$check_vdb_posix" = "yes" ; then | |
4725 dnl no mprotect, no vdb | |
4726 AC_CHECK_FUNC(mprotect,AC_DEFINE(HAVE_MPROTECT) have_vdb_mprotect=yes,) | |
4727 | |
4728 dnl sigaction needs either struct siginfo or siginfo_t | |
4729 AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_SIGACTION) have_vdb_sigaction=yes, | |
4730 have_vdb_sigaction=no) | |
4731 AC_CHECK_MEMBER(struct siginfo.si_addr, | |
4732 AC_DEFINE(HAVE_STRUCT_SIGINFO_SI_ADDR) have_si_addr=yes,, | |
4733 [#include <signal.h>]) | |
4734 AC_CHECK_MEMBER(siginfo_t.si_addr, | |
4735 AC_DEFINE(HAVE_SIGINFO_T_SI_ADDR) have_si_addr=yes,, | |
4736 [#include <signal.h>]) | |
4737 if test "$have_si_addr" != "yes" ; then | |
4738 have_vdb_sigaction=no | |
4739 fi | |
4740 | |
4741 dnl signal needs struct sigcontext | |
4742 AC_CHECK_FUNC(signal, AC_DEFINE(HAVE_SIGNAL) have_vdb_signal=yes,) | |
4743 AC_CHECK_MEMBER(struct sigcontext.cr2, | |
4744 AC_DEFINE(HAVE_STRUCT_SIGCONTEXT_CR2) have_cr2=yes,, | |
4745 [#include <signal.h>]) | |
4746 | |
4747 if test "$have_cr2" != "yes" ; then | |
4748 have_vdb_signal=no | |
4749 fi | |
4750 | |
4751 if test "$have_vdb_mprotect" != "yes" ; then | |
4752 have_vdb_sigaction=no | |
4753 have_vdb_signal=no | |
4754 fi | |
4755 | |
4756 if test "$have_vdb_sigaction" != "yes" -a "$have_vdb_signal" != "yes" ; then | |
4757 have_vdb_posix=no | |
4758 have_vdb_fake=yes | |
3102 | 4759 XE_DIE("No working write-barrier implementation found for this system. |
4760 Please report this and provide information about your system.") | |
3092 | 4761 else |
4762 have_vdb_posix=yes | |
4763 have_vdb_fake=no | |
4764 fi | |
4765 fi | |
4766 | |
2651 | 4767 dnl ---------------------------------------------------------------- |
4768 dnl Check for Unixoid pty/process support. | |
4769 dnl ---------------------------------------------------------------- | |
4770 | |
4771 dnl There is no "standard" pty allocation method. Every system is different. | |
4772 dnl getpt() is the preferred pty allocation method on glibc systems. | |
4773 dnl _getpty() is the preferred pty allocation method on SGI systems. | |
4774 dnl grantpt(), unlockpt(), ptsname() are defined by Unix98. | |
4775 AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp) | |
4776 | |
4777 dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems. | |
4778 dnl openpty() might be declared in: | |
4779 dnl - pty.h (Tru64 or Linux) | |
4780 dnl - libutil.h (FreeBSD) | |
4781 dnl - util.h (NetBSD) | |
4782 AC_CHECK_FUNC(openpty, have_openpty=yes, [ | |
4783 AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)]) | |
4784 if test "$have_openpty" = "yes"; then | |
4785 AC_DEFINE(HAVE_OPENPTY) | |
4786 AC_CHECK_HEADERS(libutil.h util.h, break) | |
4787 test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system) | |
4788 fi | |
4789 | |
4790 dnl Check for system-specific pty header files | |
4791 dnl Often the TIOCSIG* symbols are hiding there. | |
4792 case "$opsys" in | |
4793 dnl HPUX pty.h #defines TRUE and FALSE, so just use ptyio.h there. | |
4794 hpux*) AC_CHECK_HEADERS(sys/ptyio.h) ;; | |
4795 *) AC_CHECK_HEADERS(pty.h) | |
4796 test "$ac_cv_header_pty_h" = "no" && AC_CHECK_HEADERS(sys/pty.h) | |
4797 ;; | |
4798 esac | |
4799 | |
4800 dnl Check for STREAM support functions. | |
4801 dnl Confusingly, "str" means both "string" and "SysV Streams". | |
4802 AC_CHECK_HEADERS(stropts.h) | |
4803 if test "$ac_cv_header_stropts_h" = "yes"; then | |
4804 AC_CHECK_FUNCS(isastream) | |
4805 AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL | |
4806 fi | |
4807 | |
4808 dnl Check whether the system provides getloadavg(). | |
4809 AC_CHECK_FUNCS(getloadavg) | |
4810 | |
4811 if test "$ac_cv_func_getloadavg" = "yes"; then | |
4812 dnl Solaris 8 declares getloadavg() in <sys/loadavg.h>. | |
4813 dnl glibc 2.2 declares getloadavg() in <stdlib.h>... | |
4814 dnl ...if we #define _GNU_SOURCE, which we do. | |
4815 AC_CHECK_HEADERS(sys/loadavg.h) | |
4816 else | |
4817 dnl We define our own getloadavg() using lower level functions. | |
4818 XE_ADD_OBJS(getloadavg.o) | |
4819 | |
4820 dnl Used by getloadavg() - does not require root priveleges | |
4821 AC_CHECK_LIB(kstat, kstat_open) | |
4822 AC_CHECK_HEADERS(kstat.h) | |
4823 | |
4824 dnl Another way to get the load average | |
4825 AC_CHECK_LIB(kvm, kvm_read) | |
4826 fi | |
4827 | |
4828 dnl If netdb.h does not declare h_errno, we must declare it by hand. | |
4829 AC_MSG_CHECKING(whether netdb declares h_errno) | |
3312 | 4830 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>], |
4831 [return h_errno;])], | |
2651 | 4832 [AC_MSG_RESULT(yes) |
4833 AC_DEFINE(HAVE_H_ERRNO)], | |
4834 [AC_MSG_RESULT(no)]) | |
4835 | |
4836 AC_MSG_CHECKING(for sigsetjmp) | |
3312 | 4837 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <setjmp.h>], |
4838 [sigjmp_buf bar; sigsetjmp (bar, 0);])], | |
2651 | 4839 [AC_MSG_RESULT(yes) |
4840 AC_DEFINE(HAVE_SIGSETJMP)], | |
4841 [AC_MSG_RESULT(no)]) | |
4842 | |
4843 AC_MSG_CHECKING(whether localtime caches TZ) | |
4844 AC_CACHE_VAL(emacs_cv_localtime_cache, | |
4845 [if test "$ac_cv_func_tzset" = "yes"; then | |
4846 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <time.h> | |
4847 #if STDC_HEADERS | |
4848 # include <stdlib.h> | |
4849 #endif | |
4850 extern char **environ; | |
4851 unset_TZ () | |
4852 { | |
4853 char **from, **to; | |
4854 for (to = from = environ; (*to = *from); from++) | |
4855 if (! (to[[0]][[0]] == 'T' && to[[0]][[1]] == 'Z' && to[[0]][[2]] == '=')) | |
4856 to++; | |
4857 } | |
4858 char TZ_GMT0[[]] = "TZ=GMT0"; | |
4859 char TZ_PST8[[]] = "TZ=PST8"; | |
4860 main() | |
4861 { | |
4862 time_t now = time ((time_t *) 0); | |
4863 int hour_GMT0, hour_unset; | |
4864 if (putenv (TZ_GMT0) != 0) | |
4865 exit (1); | |
4866 hour_GMT0 = localtime (&now)->tm_hour; | |
4867 unset_TZ (); | |
4868 hour_unset = localtime (&now)->tm_hour; | |
4869 if (putenv (TZ_PST8) != 0) | |
4870 exit (1); | |
4871 if (localtime (&now)->tm_hour == hour_GMT0) | |
4872 exit (1); | |
4873 unset_TZ (); | |
4874 if (localtime (&now)->tm_hour != hour_unset) | |
4875 exit (1); | |
4876 exit (0); | |
4877 }])], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes, | |
4878 [# If we have tzset, assume the worst when cross-compiling. | |
4879 emacs_cv_localtime_cache=yes]) | |
4880 else | |
4881 # If we lack tzset, report that localtime does not cache TZ, | |
4882 # since we can't invalidate the cache if we don't have tzset. | |
4883 emacs_cv_localtime_cache=no | |
4884 fi],[:])dnl | |
4885 AC_MSG_RESULT($emacs_cv_localtime_cache) | |
4886 if test $emacs_cv_localtime_cache = yes; then | |
4887 AC_DEFINE(LOCALTIME_CACHE) | |
4888 fi | |
4889 | |
4890 if test "$HAVE_TIMEVAL" = "yes"; then | |
4891 AC_MSG_CHECKING(whether gettimeofday accepts one or two arguments) | |
3312 | 4892 AC_LINK_IFELSE([AC_LANG_PROGRAM([ |
2651 | 4893 #ifdef TIME_WITH_SYS_TIME |
4894 #include <sys/time.h> | |
4895 #include <time.h> | |
4896 #else | |
4897 #ifdef HAVE_SYS_TIME_H | |
4898 #include <sys/time.h> | |
4899 #else | |
4900 #include <time.h> | |
4901 #endif | |
4902 #endif | |
4903 ], | |
4904 [ | |
4905 struct timeval time; | |
4906 gettimeofday (&time, 0); | |
3312 | 4907 ])], |
2651 | 4908 [AC_MSG_RESULT(two)], |
4909 [AC_MSG_RESULT(one) | |
4910 AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)]) | |
4911 fi | |
4912 | |
4913 | |
4914 AC_C_INLINE | |
4915 test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o) | |
4916 | |
4917 dnl check for the typeof extension | |
4918 AC_MSG_CHECKING(for typeof) | |
3312 | 4919 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i; __typeof__(i) j;])], |
4920 typeofname="__typeof__", | |
4921 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i; typeof(i) j;])], | |
4922 typeofname="typeof", | |
2651 | 4923 typeofname=no)]) |
4924 AC_MSG_RESULT($typeofname) | |
4925 if test "$typeofname" != "no"; then | |
4926 AC_DEFINE_UNQUOTED(TYPEOF, $typeofname) | |
4927 fi | |
4928 | |
4929 dnl HP-UX has a working alloca in libPW. | |
4930 dnl case "${GCC}${opsys}" in hpux* ) | |
4931 dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)]) | |
4932 dnl esac | |
4933 | |
4934 dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca) | |
4935 if test "$__DECC" != "yes"; then | |
4936 AC_FUNC_ALLOCA | |
4937 test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA) | |
4938 fi | |
4939 | |
4940 AC_MSG_CHECKING(for working alloca in function calls) | |
4941 AC_RUN_IFELSE([AC_LANG_SOURCE([ | |
4942 #if defined (__CYGWIN__) | |
4943 #include <alloca.h> | |
4944 #elif defined (__GNUC__) | |
4945 #define alloca __builtin_alloca | |
4946 #elif defined (__DECC) | |
4947 #include <alloca.h> | |
4948 #pragma intrinsic(alloca) | |
4949 #elif defined (HAVE_ALLOCA_H) | |
4950 #include <alloca.h> | |
4951 #elif defined (_AIX) | |
4952 #pragma alloca | |
4953 #elif ! defined (alloca) | |
4954 #ifdef C_ALLOCA | |
4955 #define alloca xemacs_c_alloca | |
4956 #else | |
4957 void *alloca (); | |
4958 #endif /* C_ALLOCA */ | |
4959 #endif /* !defined (alloca) */ | |
4960 | |
4961 void | |
4962 f1 (double a, void *ptr, int b) | |
4963 { | |
4964 unsigned char *ptr2 = (unsigned char *) ptr; | |
4965 if (ptr2[[0]] != 0xBF || ptr2[[1]] != 0xBF || ptr2[[3000]] != 0xBF) | |
4966 exit (1); | |
4967 if (a != 3.1415 || b != -5490) | |
4968 exit (1); | |
4969 } | |
4970 | |
4971 int | |
4972 f2 (short c, void *ptr, long e) | |
4973 { | |
4974 unsigned char *ptr2 = (unsigned char *) ptr; | |
4975 if (ptr2[[0]] != 0xFB || ptr2[[1]] != 0xFB || ptr2[[1000]] != 0xFB) | |
4976 exit (1); | |
4977 if (c != 665 || e != 776776776) | |
4978 exit (1); | |
4979 f1 (3.1415, memset (alloca (3001), 0xBF, 3001), -5490); | |
4980 return 42; | |
4981 } | |
4982 | |
4983 int | |
4984 main (int argc, char *argv[]) | |
4985 { | |
4986 if (f2 (665, memset (alloca (1001), 0xFB, 1001), 776776776) != 42) | |
4987 return 1; | |
4988 return 0; | |
4989 } | |
4990 ])], working_alloca_in_function_calls=yes, working_alloca_in_function_calls=no) | |
4991 AC_MSG_RESULT($working_alloca_in_function_calls) | |
4992 test "$working_alloca_in_function_calls" != "yes" && \ | |
4993 AC_DEFINE(BROKEN_ALLOCA_IN_FUNCTION_CALLS) | |
4994 | |
4995 AC_MSG_CHECKING([for working scanf]) | |
4996 AC_RUN_IFELSE([AC_LANG_SOURCE([ | |
4997 int | |
4998 main (int argc, char **argv) | |
4999 { | |
5000 int ret, cp1, cp2, endcount; | |
5001 char *p = "0x7d 0x000E "; | |
5002 ret = sscanf (p, "%i %i%n", &cp1, &cp2, &endcount); | |
5003 /* endcount should be 13 but it's 11 in Cygwin newlib after 6/04; | |
5004 this breaks unicode.c */ | |
5005 return endcount != 13; | |
5006 } | |
5007 ])], working_scanf=yes, working_scanf=no) | |
5008 AC_MSG_RESULT($working_scanf) | |
5009 test "$working_scanf" != "yes" && \ | |
5010 AC_DEFINE(CYGWIN_SCANF_BUG) | |
5011 | |
5012 dnl Check whether strcoll exists and works correctly. (This does more | |
5013 dnl than just check for its existence.) If so, it defines HAVE_STRCOLL. | |
5014 AC_FUNC_STRCOLL | |
5015 | |
5016 dnl If `getpgrp' takes no argument (the POSIX.1 version), define | |
5017 dnl `GETPGRP_VOID'. Otherwise, it is the BSD version, which takes a | |
5018 dnl process ID as an argument. | |
5019 AC_CHECK_FUNCS(getpgrp) | |
5020 AC_FUNC_GETPGRP | |
5021 | |
5022 dnl We used to call AC_FUNC_MMAP here | |
5023 dnl Instead we now use following, suggested by Neal Becker | |
5024 AC_MSG_CHECKING(for working mmap) | |
5025 case "$opsys" in ultrix* ) have_mmap=no ;; *) | |
5026 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h> | |
5027 #include <unistd.h> | |
5028 #include <fcntl.h> | |
5029 #include <sys/mman.h> | |
5030 | |
5031 #ifndef MAP_VARIABLE | |
5032 #define MAP_VARIABLE 0 | |
5033 #endif | |
5034 | |
5035 #ifndef MAP_FAILED | |
5036 #define MAP_FAILED -1 | |
5037 #endif | |
5038 | |
5039 int main (int argc, char *argv[]) | |
5040 { | |
5041 int fd = -1; | |
5042 caddr_t p; | |
5043 #ifndef MAP_ANONYMOUS | |
5044 fd = open ("/dev/zero", O_RDWR); | |
5045 if (fd < 0) | |
5046 return 1; | |
5047 #define MAP_ANONYMOUS 0 | |
5048 #endif | |
5049 if (mmap(0, 1024, PROT_READ | PROT_WRITE, | |
5050 MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS, | |
5051 fd, 0) != (void *) MAP_FAILED) | |
5052 return 0; | |
5053 perror ("conftest: mmap failed"); | |
5054 return 1; | |
5055 }])], have_mmap=yes, have_mmap=no) ;; | |
5056 esac | |
5057 AC_MSG_RESULT($have_mmap) | |
5058 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP) | |
5059 | |
5060 dnl By default we switch off rel-alloc on cygwin as it generally causes us grief | |
5061 case "$opsys" in cygwin*) | |
5062 test "$with_rel_alloc" = "default" && with_rel_alloc=no ;; | |
5063 esac | |
5064 dnl rel_alloc requires either GNU malloc or system malloc with mmap | |
5065 dnl We only turn rel_alloc on by default if mmap is available. | |
5066 test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && with_rel_alloc=no | |
5067 if test "$with_rel_alloc $have_mmap" = "default yes"; then | |
5068 if test "$doug_lea_malloc" = "yes"; then | |
5069 dnl Check if malloc() calls mmap(), making rel_alloc pointless. | |
5070 AC_MSG_CHECKING(for M_MMAP_THRESHOLD) | |
3312 | 5071 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <malloc.h>],[ |
2651 | 5072 #ifndef M_MMAP_THRESHOLD |
5073 #error No M_MMAP_THRESHOLD :-( | |
5074 !@+$%^&*_)(_ - unlikely to compile... | |
5075 #endif | |
3312 | 5076 ])], [with_rel_alloc=no; AC_MSG_RESULT(yes);], |
5077 [with_rel_alloc=yes; AC_MSG_RESULT(no);]) | |
2651 | 5078 else |
5079 with_rel_alloc=yes | |
5080 fi | |
5081 fi | |
5082 test "$with_rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC) | |
5083 | |
5084 dnl Check for terminal I/O variants | |
5085 dnl TERMIOS systems may have termio.h, but not vice-versa, I think. | |
5086 AC_CHECK_HEADER(termios.h, | |
5087 AC_DEFINE(HAVE_TERMIOS) | |
5088 AC_DEFINE(SIGNALS_VIA_CHARACTERS) | |
5089 AC_DEFINE(NO_TERMIO), | |
5090 [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])]) | |
5091 | |
5092 | |
5093 dnl Check for Internet sockets. | |
5094 AC_CHECK_FUNC(socket, | |
5095 [AC_CHECK_HEADER(netinet/in.h, | |
5096 [AC_CHECK_HEADER(arpa/inet.h, [ | |
5097 AC_DEFINE(HAVE_SOCKETS) | |
3312 | 5098 AC_MSG_CHECKING([for sun_len member in struct sockaddr_un]) |
5099 AC_LINK_IFELSE([AC_LANG_PROGRAM([ | |
2651 | 5100 #include <sys/types.h> |
5101 #include <sys/socket.h> | |
5102 #include <sys/un.h> | |
5103 ], | |
3312 | 5104 [static struct sockaddr_un x; x.sun_len = 1;])], |
2651 | 5105 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)], |
5106 [AC_MSG_RESULT(no)]) | |
3312 | 5107 AC_MSG_CHECKING([for ip_mreq struct in netinet/in.h]) |
5108 AC_LINK_IFELSE([AC_LANG_PROGRAM([ | |
2651 | 5109 #include <sys/types.h> |
5110 #include <netinet/in.h> | |
5111 ], | |
3312 | 5112 [static struct ip_mreq x;])], |
2651 | 5113 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MULTICAST)], |
5114 [AC_MSG_RESULT(no)])])])]) | |
5115 | |
5116 dnl Check for SYS V IPC. (Inferior to sockets.) | |
5117 AC_CHECK_FUNC(msgget, | |
5118 [AC_CHECK_HEADER(sys/ipc.h, | |
5119 [AC_CHECK_HEADER(sys/msg.h, | |
5120 [AC_DEFINE(HAVE_SYSVIPC)])])]) | |
5121 | |
5122 dnl Check for directory variants | |
5123 AC_CHECK_HEADER(dirent.h, [AC_DEFINE(SYSV_SYSTEM_DIR)], | |
5124 [AC_CHECK_HEADER(sys/dir.h, , [AC_DEFINE(NONSYSTEM_DIR_LIBRARY)])]) | |
5125 | |
5126 dnl Check for nlist.h | |
5127 AC_CHECK_HEADER(nlist.h, AC_DEFINE(NLIST_STRUCT), ) | |
5128 | |
5129 dnl Check for sound of various sorts. | |
3312 | 5130 AC_MSG_CHECKING([for sound support]) |
5131 AC_MSG_RESULT() | |
2651 | 5132 |
5133 dnl Autodetect native sound | |
5134 test -n "$with_native_sound_lib" && enable_sound_native=yes | |
5135 | |
5136 if test "$enable_sound_native" != "no"; then | |
5137 dnl Maybe sound is already on include path... | |
5138 if test -n "$with_native_sound_lib"; then | |
5139 AC_CHECK_HEADER(multimedia/audio_device.h, | |
5140 [sound_found=yes sound_cflags="" | |
5141 XE_ADD_OBJS(sunplay.o)]) | |
5142 fi | |
5143 | |
5144 dnl Autodetect Sun native sound from SUNWaudmo package | |
5145 if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then | |
5146 if test -d "/usr/demo/SOUND/include/multimedia"; then | |
5147 sun_sound_cflags="-I/usr/demo/SOUND/include" | |
5148 elif test -d "/usr/demo/SOUND/multimedia"; then | |
5149 sun_sound_cflags="-I/usr/demo/SOUND" | |
5150 fi | |
5151 | |
5152 if test -n "$with_native_sound_lib"; then | |
5153 sun_sound_lib="$with_native_sound_lib" | |
5154 elif test -r "/usr/demo/SOUND/lib/libaudio.a"; then | |
5155 sun_sound_lib="/usr/demo/SOUND/lib/libaudio.a" | |
5156 elif test -r "/usr/demo/SOUND/libaudio.a"; then | |
5157 sun_sound_lib="/usr/demo/SOUND/libaudio.a" | |
5158 fi | |
5159 | |
5160 if test -n "$sun_sound_cflags" -a -n "$sun_sound_lib"; then | |
5161 with_native_sound_lib="$sun_sound_lib" | |
5162 sound_cflags="$sun_sound_cflags" | |
5163 sound_found=yes | |
5164 XE_ADD_OBJS(sunplay.o) | |
5165 fi | |
5166 fi | |
5167 | |
5168 dnl Check for SGI and HP native sound libs | |
5169 if test -z "$sound_found"; then | |
5170 case "$ac_cv_build" in | |
5171 *-sgi-* ) | |
5172 if test -z "$with_native_sound_lib"; then | |
5173 AC_CHECK_LIB(audio, ALopenport, with_native_sound_lib="-laudio") | |
5174 fi | |
5175 if test -n "$with_native_sound_lib"; then | |
5176 sound_found=yes sound_cflags="" | |
5177 XE_ADD_OBJS(sgiplay.o) | |
5178 fi ;; | |
5179 hppa*-hp-hpux* ) | |
5180 if test -z "$with_native_sound_lib"; then | |
5181 AC_CHECK_LIB(Alib, AOpenAudio, with_native_sound_lib="-lAlib") | |
5182 fi | |
5183 if test -n "$with_native_sound_lib"; then | |
5184 sound_found=yes | |
5185 XE_ADD_OBJS(hpplay.o) | |
5186 if test "$GCC" = "yes" # Kludge city | |
5187 then sound_cflags="-Dconst= -Dvolatile= -I/usr/audio/examples" | |
5188 else sound_cflags="+e -I/usr/audio/examples" | |
5189 fi | |
5190 fi ;; | |
5191 esac | |
5192 fi | |
5193 | |
3060 | 5194 dnl Win32 uses native sound |
2651 | 5195 if test -z "$sound_found"; then |
3060 | 5196 case "$opsys" in cygwin* | mingw* ) |
2651 | 5197 sound_found=yes |
5198 with_native_sound_lib= | |
5199 XE_ADD_OBJS(ntplay.o) | |
3060 | 5200 ;; |
5201 esac | |
2651 | 5202 fi |
5203 | |
5204 dnl Check for Linux/BSD native sound (also on recent Cygwins) | |
5205 if test -z "$sound_found"; then | |
5206 for dir in "machine" "sys" "linux"; do | |
5207 AC_CHECK_HEADER([${dir}/soundcard.h], [ | |
5208 sound_found=yes | |
2663 | 5209 case "${ac_cv_build}" in |
2651 | 5210 *netbsd* ) |
5211 # #### this is probably not the right way to do this | |
5212 # we should port to native NetBSD stuff | |
2663 | 5213 |
5214 dnl Aidan says: We have other things to be doing. If some | |
5215 dnl energetic NetBSD partisan volunteers, then yeah, cool, | |
5216 dnl but as it is, this works, and is unlikely to stop | |
5217 dnl working any time soon. | |
5218 | |
2651 | 5219 AC_CHECK_LIB(ossaudio, _oss_ioctl, |
2663 | 5220 [with_native_sound_lib=-lossaudio |
2651 | 5221 AC_MSG_WARN([Using NetBSD-deprecated -lossaudio])], |
5222 [sound_found=no]) | |
5223 ;; | |
5224 dnl Aidan sez: OpenBSD as well can use Linux's sound API, and needs | |
5225 dnl the same library. Add here! | |
5226 esac | |
5227 break]) | |
5228 done | |
5229 | |
5230 if test "$sound_found" = "yes"; then | |
5231 need_miscplay=yes | |
5232 XE_ADD_OBJS(linuxplay.o) | |
5233 AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, ["${dir}/soundcard.h"]) | |
5234 fi | |
5235 fi | |
5236 | |
5237 if test "$sound_found" = "yes"; then | |
5238 enable_sound_native=yes | |
5239 else | |
5240 if test "$enable_sound_native" = "yes" ; then | |
5241 AC_MSG_WARN([No native libraries found. Disabling native sound support.]) | |
5242 fi | |
5243 enable_sound_native=no | |
5244 fi | |
5245 fi | |
5246 | |
5247 if test "$enable_sound_native" = "yes"; then | |
5248 AC_DEFINE(HAVE_NATIVE_SOUND) | |
5249 test -n "$with_native_sound_lib" && XE_PREPEND($with_native_sound_lib, LIBS) | |
5250 fi | |
5251 | |
3308 | 5252 dnl ALSA sound support |
5253 if test "$enable_sound_alsa" != "no"; then | |
3309 | 5254 AC_CHECK_HEADER([alsa/input.h], [ |
3308 | 5255 AC_CHECK_LIB(asound, snd_pcm_open, have_alsa_sound=yes)]) |
5256 if test "$have_alsa_sound" = "yes"; then | |
5257 enable_sound_alsa=yes | |
5258 AC_DEFINE(HAVE_ALSA_SOUND) | |
5259 XE_ADD_OBJS(alsaplay.o) | |
5260 XE_PREPEND(-lasound, LIBS) | |
5261 else | |
5262 test "$enable_sound_alsa" = "yes" && \ | |
5263 XE_DIE("Required ALSA sound support cannot be provided.") | |
5264 enable_sound_alsa=no | |
5265 fi | |
5266 fi | |
5267 | |
2651 | 5268 dnl NAS Sound support |
5269 if test "$enable_sound_nas" != "no"; then | |
5270 AC_CHECK_HEADER(audio/audiolib.h, [ | |
5271 AC_CHECK_LIB(audio, AuOpenServer, have_nas_sound=yes)]) | |
5272 if test "$have_nas_sound" = "yes"; then | |
5273 enable_sound_nas=yes | |
5274 AC_DEFINE(HAVE_NAS_SOUND) | |
5275 XE_ADD_OBJS(nas.o) | |
5276 XE_PREPEND(-laudio, libs_x) | |
5277 dnl If the nas library does not contain the error jump point, | |
5278 dnl then we force safer behavior. | |
5279 AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[old_nas=yes; AC_DEFINE(NAS_NO_ERROR_JUMP)]) | |
5280 else | |
5281 test "$enable_sound_nas" = "yes" && \ | |
5282 XE_DIE("Required NAS sound support cannot be provided.") | |
5283 enable_sound_nas=no | |
5284 fi | |
5285 fi | |
5286 | |
5287 dnl ESD Sound support | |
5288 if test "$enable_sound_esd" != "no"; then | |
5289 AC_CHECK_PROG(have_esd_config, esd-config, yes, no) | |
5290 if test "$have_esd_config" = "yes"; then | |
5291 save_c_switch_site="$c_switch_site" save_LIBS="$LIBS" | |
5292 XE_APPEND(`esd-config --cflags`, c_switch_site) | |
5293 XE_PREPEND(`esd-config --libs`, LIBS) | |
5294 AC_CHECK_FUNC(esd_play_stream, | |
5295 have_esd_sound=yes, | |
5296 c_switch_site="$save_c_switch_site" LIBS="$save_LIBS") | |
5297 fi | |
5298 | |
5299 if test "$have_esd_sound" = "yes"; then | |
5300 enable_sound_esd=yes | |
5301 need_miscplay=yes | |
5302 XE_ADD_OBJS(esd.o) | |
5303 AC_DEFINE(HAVE_ESD_SOUND) | |
5304 else | |
5305 test "$enable_sound_esd" = "yes" && \ | |
5306 XE_DIE("Required ESD sound support cannot be provided.") | |
5307 enable_sound_esd=no | |
5308 fi | |
5309 fi | |
5310 | |
5311 test "$need_miscplay" = "yes" && XE_ADD_OBJS(miscplay.o) | |
5312 | |
5313 dnl --------------------- | |
5314 dnl TTY-dependent options | |
5315 dnl --------------------- | |
5316 | |
5317 test -z "$with_tty" && with_tty=yes | |
5318 | |
5319 if test "$with_tty" = "yes" ; then | |
3312 | 5320 AC_MSG_CHECKING([for TTY-related features]) |
5321 AC_MSG_RESULT() | |
2651 | 5322 AC_DEFINE(HAVE_TTY) |
5323 | |
5324 dnl Autodetect ncurses. | |
5325 if test -z "$with_ncurses"; then | |
5326 AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no) | |
5327 fi | |
5328 if test "$with_ncurses" = "yes"; then | |
5329 AC_DEFINE(HAVE_NCURSES) | |
5330 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) | |
5331 AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) | |
5332 XE_ADD_OBJS(terminfo.o) | |
5333 XE_PREPEND(-lncurses, LIBS) | |
5334 | |
5335 if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then | |
5336 dnl Try again, and check for the bogus ncurses/ include bug. | |
5337 dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of | |
5338 dnl <ncurses/unctrl.h>) | |
5339 save_c_switch_site="$c_switch_site" | |
5340 c_switch_site="$c_switch_site -I/usr/include/ncurses" | |
5341 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) | |
5342 if test "$ac_cv_header_ncurses_curses_h" = "yes" | |
5343 then AC_MSG_WARN([Your system has the bogus ncurses include bug.]) | |
5344 else c_switch_site="$save_c_switch_site" | |
5345 fi | |
5346 fi | |
5347 else dnl "$with_ncurses" = "no" | |
5348 dnl Autodetect terminfo/-lcurses/-ltermlib/-ltermcap | |
5349 if test "$have_terminfo" = "yes"; then | |
5350 XE_ADD_OBJS(terminfo.o) | |
5351 if test -n "$libs_termcap"; then | |
5352 XE_PREPEND($libs_termcap, LIBS) | |
5353 else | |
5354 for lib in curses termlib termcap; do | |
5355 AC_CHECK_LIB($lib, tgetent, XE_PREPEND(-l${lib}, LIBS); break) | |
5356 done | |
5357 fi | |
5358 else dnl "$have_terminfo" = "no" && "with_ncurses" = "no" | |
5359 XE_ADD_OBJS(tparam.o) | |
5360 dnl The HP-UX curses library seems to have a badly broken version of select(2) | |
5361 dnl that makes "poll: interrupted system call" messages to appear and | |
5362 dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */ | |
5363 case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac | |
5364 if test -n "$libs_termcap"; then | |
5365 XE_PREPEND($libs_termcap, LIBS) | |
5366 else | |
5367 AC_CHECK_LIB(curses, tgetent, XE_PREPEND(-lcurses, LIBS), | |
5368 AC_CHECK_LIB(termcap, tgetent, XE_PREPEND(-ltermcap, LIBS), | |
5369 XE_ADD_OBJS(termcap.o))) | |
5370 fi | |
5371 fi | |
5372 fi | |
5373 AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}") | |
5374 AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}") | |
5375 | |
5376 dnl General Purpose Mouse (libgpm) support | |
5377 if test "$with_gpm" != "no"; then | |
5378 AC_CHECK_HEADER(gpm.h, [ | |
5379 AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)]) | |
5380 if test "$have_gpm" = "yes"; then | |
5381 with_gpm=yes | |
5382 AC_DEFINE(HAVE_GPM) | |
5383 XE_PREPEND(-lgpm, LIBS) | |
5384 elif test "$with_gpm" = "yes"; then | |
5385 XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."]) | |
5386 else | |
5387 with_gpm=no | |
5388 fi | |
5389 fi | |
5390 | |
5391 else dnl "$with_tty" = "no" | |
5392 for feature in ncurses gpm; do | |
5393 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then | |
5394 AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support]) | |
5395 fi | |
5396 eval "with_${feature}=no" | |
5397 done | |
5398 fi dnl with_tty | |
5399 | |
5400 dnl Database support | |
5401 dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support. | |
5402 dnl On FreeBSD, both DB and DBM are part of libc. | |
5403 dnl By default, we check for DBM support in libgdbm, then libc, then libdbm. | |
5404 | |
5405 test "$enable_database_gdbm $enable_database_dbm $enable_database_berkdb" \ | |
3312 | 5406 != "no no no" && AC_MSG_CHECKING([for database support]) && \ |
5407 AC_MSG_RESULT() | |
2651 | 5408 |
5409 dnl Check for ndbm.h, required for either kind of DBM support. | |
5410 if test "$enable_database_gdbm $enable_database_dbm" != "no no"; then | |
5411 AC_CHECK_HEADER(ndbm.h, [:], [ | |
5412 test "$enable_database_gdbm" = "yes" -o \ | |
5413 "$enable_database_dbm" = "yes" && \ | |
5414 XE_DIE("Required DBM support cannot be provided.") | |
5415 enable_database_gdbm=no enable_database_dbm=no]) | |
5416 fi | |
5417 | |
5418 dnl Check for DBM support in libgdbm. | |
5419 if test "$enable_database_gdbm" != "no"; then | |
5420 AC_CHECK_LIB(gdbm, dbm_open, [ | |
5421 enable_database_gdbm=yes enable_database_dbm=no libdbm=-lgdbm], [ | |
4401
01970033faa6
Configure fixes from Hans de Graaff, as used in Gentoo.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4350
diff
changeset
|
5422 AC_CHECK_LIB(gdbm_compat, dbm_open, [ |
01970033faa6
Configure fixes from Hans de Graaff, as used in Gentoo.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4350
diff
changeset
|
5423 enable_database_gdbm=yes enable_database_dbm=no libdbm="-lgdbm_compat -lgdbm"], [ |
2651 | 5424 if test "$enable_database_gdbm" = "yes"; then |
5425 XE_DIE("Required GNU DBM support cannot be provided.") | |
5426 fi | |
4401
01970033faa6
Configure fixes from Hans de Graaff, as used in Gentoo.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4350
diff
changeset
|
5427 enable_database_gdbm=no], -lgdbm) |
01970033faa6
Configure fixes from Hans de Graaff, as used in Gentoo.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4350
diff
changeset
|
5428 ]) |
2651 | 5429 fi |
5430 | |
5431 dnl Check for DBM support in libc and libdbm. | |
5432 if test "$enable_database_dbm" != "no"; then | |
5433 AC_CHECK_FUNC(dbm_open, [enable_database_dbm=yes libdbm=], [ | |
5434 AC_CHECK_LIB(dbm, dbm_open, [enable_database_dbm=yes libdbm=-ldbm], [ | |
5435 test "$enable_database_dbm" = "yes" && \ | |
5436 XE_DIE("Required DBM support cannot be provided.") | |
5437 enable_database_dbm=no])]) | |
5438 fi | |
5439 | |
5440 dnl Tell make about the DBM support we detected. | |
5441 test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS) | |
5442 test "$enable_database_gdbm" = "yes" -o \ | |
5443 "$enable_database_dbm" = "yes" && \ | |
5444 AC_DEFINE(HAVE_DBM) | |
5445 | |
3739 | 5446 dnl Check for u_int*_t typedefs. |
5447 AC_CHECK_TYPES([u_int8_t, u_int16_t, u_int32_t]) | |
5448 | |
2651 | 5449 dnl Check for Berkeley DB. |
5450 if test "$enable_database_berkdb" != "no"; then | |
5451 AC_MSG_CHECKING(for Berkeley db.h) | |
5452 for header in "db/db.h" "db.h"; do | |
3312 | 5453 AC_COMPILE_IFELSE([AC_LANG_SOURCE([ |
2651 | 5454 #include <stdlib.h> |
5455 #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1) | |
5456 #ifdef HAVE_INTTYPES_H | |
5457 #define __BIT_TYPES_DEFINED__ | |
5458 #include <inttypes.h> | |
3739 | 5459 #if !HAVE_U_INT8_T |
2651 | 5460 typedef uint8_t u_int8_t; |
3739 | 5461 #endif |
5462 #if !HAVE_U_INT16_T | |
2651 | 5463 typedef uint16_t u_int16_t; |
3739 | 5464 #endif |
5465 #if !HAVE_U_INT32_T | |
2651 | 5466 typedef uint32_t u_int32_t; |
3739 | 5467 #endif |
2651 | 5468 #ifdef WE_DONT_NEED_QUADS |
3739 | 5469 #if !HAVE_U_INT64_T |
2651 | 5470 typedef uint64_t u_int64_t; |
5471 #endif | |
5472 #endif | |
5473 #endif | |
3739 | 5474 #endif |
2651 | 5475 #include <$header> |
3312 | 5476 ])], db_h_file="$header"; break) |
2651 | 5477 done |
5478 if test -z "$db_h_file" | |
5479 then AC_MSG_RESULT(no); enable_database_berkdb=no | |
5480 else AC_MSG_RESULT($db_h_file) | |
5481 fi | |
5482 | |
5483 if test "$enable_database_berkdb" != "no"; then | |
5484 AC_MSG_CHECKING(for Berkeley DB version) | |
5485 AC_EGREP_CPP(yes, | |
5486 [#include <$db_h_file> | |
5487 #if DB_VERSION_MAJOR > 1 | |
5488 yes | |
5489 #endif | |
5490 ], [AC_EGREP_CPP(yes, | |
5491 [#include <$db_h_file> | |
5492 #if DB_VERSION_MAJOR > 2 | |
5493 yes | |
5494 #endif | |
5495 ], [AC_EGREP_CPP(yes, | |
5496 [#include <$db_h_file> | |
5497 #if DB_VERSION_MAJOR > 3 | |
5498 yes | |
5499 #endif | |
5500 ], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[ | |
5501 AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[ | |
5502 AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[ | |
5503 AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1]) | |
5504 AC_CHECK_FUNC($dbfunc, enable_database_berkdb=yes need_libdb=no, [ | |
5505 AC_CHECK_LIB(db, $dbfunc, enable_database_berkdb=yes need_libdb=yes)]) | |
5506 fi | |
5507 | |
5508 dnl Berk db 4.1 decorates public functions with version information | |
4401
01970033faa6
Configure fixes from Hans de Graaff, as used in Gentoo.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4350
diff
changeset
|
5509 if test "$enable_database_berkdb" = "yes" -a "$dbver" = "4"; then |
2651 | 5510 rm -f $tempcname |
5511 echo "#include <$db_h_file>" > $tempcname | |
5512 echo "configure___ dbfunc=db_create" >> $tempcname | |
5513 define(TAB, [ ])dnl | |
5514 eval `$CPP -Isrc $tempcname \ | |
5515 | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"` | |
5516 rm -f $tempcname | |
5517 AC_MSG_WARN("db_create is really $dbfunc") | |
5518 AC_CHECK_LIB(db, $dbfunc, enable_database_berkdb=yes need_libdb=yes) | |
5519 fi | |
5520 | |
5521 if test "$enable_database_berkdb" = "yes"; then | |
5522 AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file") | |
5523 AC_DEFINE(HAVE_BERKELEY_DB) | |
5524 test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS) | |
5525 else enable_database_berkdb=no | |
5526 fi | |
5527 fi | |
5528 | |
5529 if test "$enable_database_gdbm $enable_database_dbm $enable_database_berkdb" \ | |
5530 != "no no no"; then | |
5531 AC_DEFINE(HAVE_DATABASE) | |
5532 fi | |
5533 | |
5534 dnl Socks support | |
5535 if test "$with_socks" = "yes"; then | |
5536 AC_CHECK_LIB(socks, SOCKSinit) | |
5537 test -n "$ac_cv_lib_socks_SOCKSinit" && AC_DEFINE(HAVE_SOCKS) | |
5538 fi | |
5539 | |
5540 dnl Usage tracking (undocumented and likely unused option) | |
5541 if test "$usage_tracking" = "yes"; then | |
5542 AC_DEFINE(USAGE_TRACKING) | |
5543 XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS) | |
5544 fi | |
5545 | |
5546 dnl Enhanced number support | |
5547 if test "$enable_bignum" = "gmp"; then | |
5548 AC_CHECK_HEADER(gmp.h, [ | |
5549 AC_CHECK_LIB(gmp, __gmpz_init, have_mpz_init=yes)]) | |
5550 if test "$have_mpz_init" = "yes"; then | |
5551 AC_DEFINE(WITH_NUMBER_TYPES) | |
5552 AC_DEFINE(WITH_GMP) | |
5553 XE_PREPEND(-lgmp, LIBS) | |
5554 else | |
5555 XE_DIE("Required GMP numeric support cannot be provided.") | |
5556 fi | |
5557 elif test "$enable_bignum" = "mp"; then | |
5558 for library in "" "-lcrypto"; do | |
5559 AC_CHECK_HEADER(mp.h, [ | |
5560 AC_CHECK_LIB(mp, mp_mfree, have_mp_mfree=yes; break, [ | |
5561 AC_CHECK_LIB(mp, mfree, have_mfree=yes; break, , $library)], | |
5562 $library)]) | |
5563 done | |
5564 if test "$have_mp_mfree" = "yes"; then | |
5565 AC_DEFINE(MP_PREFIX) | |
5566 XE_APPEND(-lmp, LIBS) | |
5567 if test "$library" != ""; then | |
5568 XE_APPEND($library, LIBS) | |
5569 fi | |
5570 AC_CHECK_FUNC(mp_move, [AC_DEFINE(HAVE_MP_MOVE)]) | |
5571 elif test "$have_mfree" = "yes"; then | |
5572 XE_APPEND(-lmp, LIBS) | |
5573 if test "$library" != ""; then | |
5574 XE_APPEND($library, LIBS) | |
5575 fi | |
5576 AC_CHECK_FUNC(move, [AC_DEFINE(HAVE_MP_MOVE)]) | |
5577 else | |
5578 XE_DIE("Required MP numeric support cannot be provided.") | |
5579 fi | |
5580 AC_DEFINE(WITH_NUMBER_TYPES) | |
5581 AC_DEFINE(WITH_MP) | |
5582 fi | |
5583 | |
5584 dnl Unfortunately, just because we can link doesn't mean we can run. | |
5585 dnl One of the above link tests may have succeeded but caused resulting | |
5586 dnl executables to fail to run. Also any tests using AC_RUN_IFELSE will | |
5587 dnl have reported incorrect results. | |
5588 AC_RUN_IFELSE([AC_LANG_SOURCE([int main(int c,char *v[]){return 0;}])],[:],[ | |
5589 echo "" | |
5590 echo "*** PANIC *** The C compiler can no longer build working executables." | |
5591 echo "*** PANIC *** Please examine the tail of config.log for runtime errors." | |
5592 echo "*** PANIC *** The most likely reason for this problem is that configure" | |
5593 echo "*** PANIC *** links with shared libraries, but those libraries cannot be" | |
5594 echo "*** PANIC *** found at run time." | |
5595 echo "*** PANIC ***" | |
5596 echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig." | |
5597 echo "*** PANIC *** On other systems, try telling configure where to find the" | |
5598 echo "*** PANIC *** shared libraries using the --with-site-runtime-libraries option" | |
5599 echo "*** PANIC ***" | |
5600 echo "*** PANIC *** Another way to shoot yourself in the foot is to specify" | |
5601 echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed" | |
5602 echo "*** PANIC *** on your system. Don't do that." | |
5603 exit 1]) | |
5604 | |
5605 dnl Process support | |
5606 if test "$win32_processes" != "yes"; then | |
5607 AC_DEFINE(HAVE_UNIX_PROCESSES) | |
5608 fi | |
5609 | |
5610 dnl -------------------------------- | |
5611 dnl Compute SUBST-itutable variables | |
5612 dnl -------------------------------- | |
5613 | |
5614 dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM) | |
5615 dnl Use XE_SPACE instead of plain assignment statements to remove extraneous blanks | |
5616 if test "$enable_modules" = "yes"; then | |
5617 ld_libs_module= | |
5618 else | |
2973 | 5619 XE_SPACE(ld_libs_module, $ldap_libs $postgresql_libs $canna_libs) |
2651 | 5620 fi |
5621 | |
5622 XE_SPACE(CFLAGS, $CFLAGS) | |
5623 XE_SPACE(extra_objs, $extra_objs) | |
5624 XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system) | |
5625 XE_SPACE(c_switch_window_system, $c_switch_x_site $c_switch_gtk $X_CFLAGS) | |
5626 XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system) | |
5627 XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_run) | |
5628 XE_SPACE(ld_switch_window_system, $ld_switch_x_site) | |
5629 XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system) | |
5630 XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard) | |
5631 XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS) | |
5632 XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general $ld_libs_module) | |
5633 | |
5634 dnl For no-module builds, make the src dir last | |
5635 if test "$enable_modules" = "no"; then | |
5636 XE_APPEND(src, MAKE_SUBDIR) | |
5637 fi | |
5638 | |
5639 dnl Compute lists of Makefiles and subdirs | |
5640 AC_SUBST(SRC_SUBDIR_DEPS) | |
5641 internal_makefile_list="Makefile.in" | |
5642 SUBDIR_MAKEFILES='' | |
5643 test -d lock || mkdir lock | |
5644 for dir in $MAKE_SUBDIR; do | |
5645 case "$dir" in */* ) dnl Implement mkdir -p | |
5646 ( for d in `echo $dir | sed 's:/: :g'` ; do | |
5647 test -d "$d" || mkdir "$d"; cd "$d" | |
5648 done ) ;; | |
5649 * ) test -d "$dir" || mkdir "$dir" ;; | |
5650 esac | |
5651 XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile) | |
5652 XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in) | |
5653 done | |
5654 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR) | |
5655 AC_SUBST(MAKE_SUBDIR) | |
5656 AC_SUBST(SUBDIR_MAKEFILES) | |
5657 | |
5658 dnl Make s&m symlinks in the src directory, for config.h. | |
5659 for dir in src/s src/m; do | |
5660 if test ! -d "$dir" ; then | |
5661 echo Making symbolic link to "$srcdir/$dir" | |
5662 ${LN_S} "$srcdir/$dir" "$dir" | |
5663 fi | |
5664 done | |
5665 | |
5666 dnl Also make modules/common link if needed for the module Makefiles. | |
5667 if test "$need_modules_common" = "yes"; then | |
5668 for dir in modules/common; do | |
5669 if test ! -d "$dir" ; then | |
5670 echo Making symbolic link to "$srcdir/$dir" | |
5671 ${LN_S} "$srcdir/$dir" "$dir" | |
5672 fi | |
5673 done | |
5674 fi | |
5675 | |
5676 if test "$verbose" = "yes"; then | |
5677 echo "" | |
5678 PRINT_VAR(extra_objs | |
5679 c_switch_general c_switch_window_system c_switch_all | |
5680 ld_switch_general ld_switch_window_system ld_switch_all | |
5681 ld_libs_general ld_libs_window_system ld_libs_all) | |
5682 echo "" | |
5683 fi | |
5684 | |
5685 dnl ---------------------------------------------- | |
5686 dnl Create some auxiliary files for developers. | |
5687 dnl ---------------------------------------------- | |
5688 | |
3418 | 5689 dnl Unlike TAGS, debugger init files depend on config.h. |
5690 dnl Regenerate them locally on every configure. | |
2651 | 5691 dnl Create a .gdbinit useful for debugging XEmacs |
3418 | 5692 if test -f "$srcdir/etc/gdbinit.in"; then |
3092 | 5693 test "$verbose" = "yes" && echo "creating src/.gdbinit.in" |
3418 | 5694 cp $srcdir/etc/gdbinit.in src/.gdbinit.in |
2651 | 5695 fi |
5696 | |
5697 dnl Create a .dbxrc useful for debugging XEmacs | |
3418 | 5698 if test -f "$srcdir/etc/dbxrc.in"; then |
3092 | 5699 test "$verbose" = "yes" && echo "creating src/.dbxrc.in" |
3418 | 5700 echo ". $srcdir/etc/dbxrc.in" > "src/.dbxrc.in" |
2651 | 5701 fi |
5702 | |
5703 dnl Create a useful TAGS file | |
5704 if test -f "$srcdir/TAGS" -a ! -f "TAGS"; then | |
5705 test "$verbose" = "yes" && echo "creating TAGS" | |
5706 echo " | |
5707 $srcdir/TAGS,include" > "TAGS" | |
5708 fi | |
5709 | |
5710 dnl Create top level .sbinit for Sun compilers | |
5711 if test "$__SUNPRO_C" = "yes"; then | |
5712 test "$verbose" = "yes" && echo "creating .sbinit" | |
5713 ( echo "# For use with Sun WorkShop's Source browser." | |
5714 echo "# See sbquery(1) and sbinit(4) for more information" | |
5715 for dir in $MAKE_SUBDIR; do echo "import $dir"; done | |
5716 ) > .sbinit | |
5717 fi | |
5718 | |
5719 dnl There are no more compile tests; remove the core they created. | |
5720 rm -f core | |
5721 | |
5722 dnl ---------------------------------------------- | |
5723 dnl Substitute into Makefile, config.h and paths.h | |
5724 dnl ---------------------------------------------- | |
5725 | |
5726 dnl what sort of things to edit into Makefile, config.h and paths.h | |
5727 dnl configuration here uncanonicalized to avoid exceeding size limits. | |
5728 | |
5729 AC_SUBST(PROGNAME) | |
5730 AC_SUBST(version) | |
3972 | 5731 AC_SUBST(verbose_version) |
2651 | 5732 AC_SUBST(inststaticdir) |
5733 AC_SUBST(instvardir) | |
5734 AC_SUBST(srcdir) | |
5735 AC_SUBST(bindir) | |
4118 | 5736 AC_SUBST(datarootdir) |
2651 | 5737 AC_SUBST(datadir) |
5738 AC_SUBST(statedir) | |
5739 AC_SUBST(libdir) | |
5740 AC_SUBST(mandir) | |
5741 AC_SUBST(extra_includes) | |
5742 | |
5743 AC_SUBST(prefix) | |
5744 AC_SUBST(PREFIX_USER_DEFINED) | |
5745 dnl Yo, Stephen Bourne! I want to marry you! | |
5746 PREFIX=$prefix | |
5747 while true; do | |
5748 case "$PREFIX" in | |
5749 *\$* ) eval "PREFIX=$PREFIX" ;; | |
5750 *) break ;; | |
5751 esac | |
5752 done | |
5753 AC_SUBST(PREFIX) | |
5754 | |
5755 AC_SUBST(exec_prefix) | |
5756 AC_SUBST(EXEC_PREFIX_USER_DEFINED) | |
5757 EXEC_PREFIX=$exec_prefix | |
5758 while true; do | |
5759 case "$EXEC_PREFIX" in | |
5760 *\$* ) eval "EXEC_PREFIX=$EXEC_PREFIX" ;; | |
5761 *) break ;; | |
5762 esac | |
5763 done | |
5764 AC_SUBST(EXEC_PREFIX) | |
5765 | |
5766 AC_SUBST(infodir) | |
5767 AC_SUBST(INFODIR_USER_DEFINED) | |
3729 | 5768 XE_EXPAND_VARIABLE(infodir,INFODIR) |
2651 | 5769 AC_SUBST(INFODIR) |
5770 | |
5771 AC_SUBST(infopath,$with_infopath) | |
5772 AC_SUBST(INFOPATH_USER_DEFINED) | |
3729 | 5773 XE_EXPAND_VARIABLE(with_info_path,INFOPATH) |
2651 | 5774 |
3179 | 5775 test -n "$with_user_packages" && with_early_packages=$with_user_packages |
5776 AC_SUBST(early_packages,$with_early_packages) | |
5777 AC_SUBST(EARLY_PACKAGE_DIRECTORIES_USER_DEFINED) | |
3729 | 5778 XE_EXPAND_VARIABLE(with_early_packages,EARLY_PACKAGE_DIRECTORIES) |
3179 | 5779 AC_SUBST(EARLY_PACKAGE_DIRECTORIES) |
5780 | |
5781 test -n "$with_system_packages" && with_late_packages=$with_system_packages | |
5782 AC_SUBST(late_packages,$with_late_packages) | |
5783 AC_SUBST(LATE_PACKAGE_DIRECTORIES_USER_DEFINED) | |
3729 | 5784 XE_EXPAND_VARIABLE(with_late_packages,LATE_PACKAGE_DIRECTORIES) |
3179 | 5785 AC_SUBST(LATE_PACKAGE_DIRECTORIES) |
5786 | |
5787 test -n "$with_legacy_packages" && with_last_packages=$with_legacy_packages | |
5788 AC_SUBST(last_packages,$with_last_packages) | |
5789 AC_SUBST(LAST_PACKAGE_DIRECTORIES_USER_DEFINED) | |
3729 | 5790 XE_EXPAND_VARIABLE(with_last_packages,LAST_PACKAGE_DIRECTORIES) |
3179 | 5791 AC_SUBST(LAST_PACKAGE_DIRECTORIES) |
2651 | 5792 |
5793 AC_SUBST(package_path,$with_package_path) | |
5794 AC_SUBST(PACKAGE_PATH_USER_DEFINED) | |
3729 | 5795 XE_EXPAND_VARIABLE(with_package_path,PACKAGE_PATH) |
2651 | 5796 AC_SUBST(PACKAGE_PATH) |
5797 | |
5798 AC_SUBST(lispdir, $with_lispdir) | |
5799 AC_SUBST(LISPDIR_USER_DEFINED) | |
3729 | 5800 XE_EXPAND_VARIABLE(with_lispdir,LISPDIR) |
2651 | 5801 AC_SUBST(LISPDIR) |
5802 | |
5803 AC_SUBST(moduledir,$with_moduledir) | |
5804 AC_SUBST(MODULEDIR_USER_DEFINED) | |
3729 | 5805 XE_EXPAND_VARIABLE(with_moduledir,MODULEDIR) |
2651 | 5806 AC_SUBST(MODULEDIR) |
5807 | |
5808 AC_SUBST(sitelispdir,$with_sitelispdir) | |
5809 AC_SUBST(SITELISPDIR_USER_DEFINED) | |
3729 | 5810 XE_EXPAND_VARIABLE(sitelispdir,SITELISPDIR) |
2651 | 5811 AC_SUBST(SITELISPDIR) |
5812 | |
5813 AC_SUBST(sitemoduledir) | |
5814 AC_SUBST(SITEMODULEDIR_USER_DEFINED) | |
3729 | 5815 XE_EXPAND_VARIABLE(sitemoduledir,SITEMODULEDIR) |
2651 | 5816 AC_SUBST(SITEMODULEDIR) |
5817 | |
5818 AC_SUBST(etcdir,$with_etcdir) | |
5819 AC_SUBST(ETCDIR_USER_DEFINED) | |
3729 | 5820 XE_EXPAND_VARIABLE(with_etcdir,ETCDIR) |
2651 | 5821 AC_SUBST(ETCDIR) |
5822 | |
5823 AC_SUBST(archlibdir,$with_archlibdir) | |
5824 AC_SUBST(ARCHLIBDIR_USER_DEFINED) | |
5825 ARCHLIBDIR=$with_archlibdir | |
3729 | 5826 XE_EXPAND_VARIABLE(with_archlibdir,ARCHLIBDIR) |
2651 | 5827 AC_SUBST(ARCHLIBDIR) |
5828 | |
5829 AC_SUBST(docdir,$with_docdir) | |
5830 AC_SUBST(DOCDIR_USER_DEFINED) | |
3729 | 5831 XE_EXPAND_VARIABLE(with_docdir,DOCDIR) |
2651 | 5832 AC_SUBST(DOCDIR) |
5833 | |
5834 AC_SUBST(docdir) | |
5835 AC_SUBST(bitmapdir) | |
5836 AC_SUBST(extra_objs) | |
5837 | |
5838 dnl The following flags combine all the information from: | |
5839 dnl - command line options (user always gets priority) | |
5840 dnl - user environment variables | |
5841 dnl - determined by configure | |
5842 dnl - the s&m header files (required for ellcc) | |
5843 AC_SUBST(machfile) | |
5844 AC_SUBST(opsysfile) | |
5845 AC_SUBST(c_switch_general) | |
5846 AC_SUBST(c_switch_window_system) | |
5847 AC_SUBST(c_switch_all) | |
5848 AC_SUBST(ld_switch_general) | |
5849 AC_SUBST(ld_switch_window_system) | |
5850 AC_SUBST(ld_switch_all) | |
5851 AC_SUBST(ld_libs_general) | |
5852 AC_SUBST(ld_libs_window_system) | |
5853 AC_SUBST(ld_libs_all) | |
5854 AC_SUBST(CFLAGS) | |
5855 AC_SUBST(CPPFLAGS) | |
5856 AC_SUBST(LDFLAGS) | |
5857 RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" | |
5858 AC_SUBST(RECURSIVE_MAKE_ARGS) | |
5859 | |
5860 AC_SUBST(native_sound_lib,$with_native_sound_lib) | |
5861 AC_SUBST(sound_cflags) | |
5862 AC_SUBST(RANLIB) | |
5863 AC_SUBST(dynodump_arch) | |
5864 | |
5865 AC_SUBST(XEMACS_CC) | |
5866 AC_SUBST(XE_CFLAGS) | |
5867 | |
5868 dnl The default is yes | |
5869 if test "$with_prefix" = "yes"; then | |
5870 AC_DEFINE(PREFIX_USER_DEFINED) | |
5871 fi | |
5872 | |
5873 dnl The default is no | |
5874 if test "$with_site_lisp" = "no"; then | |
5875 AC_DEFINE(INHIBIT_SITE_LISP) | |
5876 fi | |
5877 dnl The default is yes | |
5878 if test "$with_site_modules" = "no"; then | |
5879 AC_DEFINE(INHIBIT_SITE_MODULES) | |
5880 fi | |
5881 | |
5882 XE_SPACE(ac_configure_args, $ac_configure_args) | |
3765 | 5883 dnl Put back the leading space to work around problems with |
5884 dnl 'config.status --recheck' under autoconf 2.60 and 2.61. | |
5885 ac_configure_args=" $ac_configure_args" | |
2651 | 5886 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$ac_cv_build") |
5887 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args") | |
5888 | |
5889 dnl Following are deprecated | |
5890 | |
5891 null_string="" | |
5892 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, $null_string) | |
5893 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, $null_string) | |
5894 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, $null_string) | |
5895 AC_DEFINE_UNQUOTED(LD_SWITCH_SITE, $null_string) | |
5896 AC_DEFINE_UNQUOTED(C_SWITCH_SITE, $null_string) | |
5897 | |
5898 dnl Note: as a general rule, *only* define things here that are not | |
5899 dnl autodetected. For things that are autodetected, define them | |
5900 dnl at the point where the autodetection occurs or would occur, | |
5901 dnl so that the user gets immediate feedback on the results of the | |
5902 dnl autodetection. | |
5903 | |
5904 if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC) | |
5905 elif test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC) | |
5906 elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC) | |
5907 AC_DEFINE(USE_SYSTEM_MALLOC) | |
5908 fi | |
5909 test "$GCC" = "yes" && AC_DEFINE(USE_GCC) | |
5910 test "$enable_external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET) | |
5911 test "$enable_kkcc" = "yes" && AC_DEFINE(USE_KKCC) | |
3092 | 5912 test "$enable_newgc" = "yes" && AC_DEFINE(NEW_GC) |
5913 test "$have_vdb_posix" = "yes" && AC_DEFINE(VDB_POSIX) | |
5914 test "$have_vdb_fake" = "yes" && AC_DEFINE(VDB_FAKE) | |
2651 | 5915 test "$enable_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) |
5916 test "$with_purify" = "yes" && AC_DEFINE(PURIFY) | |
5917 test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) | |
5918 test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) | |
5919 test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS) | |
5920 test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD) | |
5921 test "$enable_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE) | |
5922 test "$enable_pdump" = "yes" && AC_DEFINE(PDUMP) | |
2720 | 5923 test "$enable_dump_in_exec" = "yes" && AC_DEFINE(DUMP_IN_EXEC) |
2651 | 5924 test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE) |
5925 | |
5926 | |
5927 | |
5928 dnl ------------------------------------------------------------------------- | |
5929 dnl ------------------------------- | |
5930 dnl Report on what we decided to do | |
5931 dnl ------------------------------- | |
5932 | |
5933 dnl #### We should tag this as the _build_ environment. | |
5934 dnl Before doing that, though, must check if tools care about line 1. | |
5935 | |
5936 ( | |
5937 dnl /etc/osversion is on SONY NEWS-OS | |
5938 if test -f /etc/osversion; then dnl SONY NEWS-OS | |
5939 echo "osversion: `cat /etc/osversion`" | |
5940 else | |
5941 echo "uname -a: `uname -a`" | |
5942 fi | |
5943 echo "" | |
5944 echo "$progname $ac_configure_args" | |
5945 ) > Installation | |
5946 | |
5947 if test ! -z ${emacs_beta_version} ; then | |
5948 if test -z "${emacs_is_beta}" ; then | |
5949 xemacs_betaname=".${emacs_beta_version}" | |
5950 else | |
5951 xemacs_betaname="-b${emacs_beta_version}" | |
5952 fi | |
5953 else | |
5954 xemacs_betaname="" | |
5955 fi | |
5956 | |
5957 dnl Start stdout redirection to '| tee -a Installation' | |
5958 ( | |
5959 echo " | |
5960 | |
2938 | 5961 XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" $xemacs_extra_name configured for \`$ac_cv_build'." |
2651 | 5962 |
5963 echo " | |
5964 Compilation Environment and Installation Defaults:" | |
5965 echo " Source code location: $srcdir" | |
5966 echo " Installation prefix: $prefix" | |
5967 if test -n "$with_site_includes"; then | |
5968 echo " Additional header files: $with_site_includes" | |
5969 fi | |
5970 if test -n "$with_site_libraries"; then | |
5971 echo " Additional libraries: $with_site_libraries" | |
5972 fi | |
5973 if test -n "$with_site_prefixes"; then | |
5974 echo " Additional prefixes: $with_site_prefixes" | |
5975 fi | |
5976 if test -n "$runpath"; then | |
5977 echo " Runtime library search path: $runpath" | |
5978 fi | |
5979 | |
5980 if test -n "$opsysfile" | |
5981 then echo " Operating system description file: \`$opsysfile'" | |
5982 else echo " Not using any operating system description file" | |
5983 fi | |
5984 if test -n "$machfile" | |
5985 then echo " Machine description file: \`$machfile'" | |
5986 else echo " Not using any machine description file" | |
5987 fi | |
5988 | |
5989 echo " Compiler version: $compiler_version" | |
5990 if test -n "$gcc_compiler_specs"; then | |
5991 echo " - GCC specs file: $gcc_compiler_specs" | |
5992 fi | |
5993 echo " - Compiler command: $XEMACS_CC $XE_CFLAGS" | |
5994 if test "$CC" != "$XEMACS_CC"; then | |
5995 echo " Compiler version for lib-src: (detection code unimplemented)" | |
5996 echo " - Compiler command for lib-src: $CC $CFLAGS" | |
5997 if test "$xemacs_cc_cc_mismatch" = "yes"; then | |
5998 echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully." | |
5999 fi | |
6000 fi | |
6001 echo " libc version: $libc_version" | |
6002 echo " Relocating allocator for buffers: $with_rel_alloc" | |
6003 echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" | |
6004 case "$ld_switch_site" in | |
6005 *nocombreloc*) echo " Linking with \`-z nocombreloc'. | |
6006 - Consider configuring with --enable-pdump." ;; | |
6007 esac | |
6008 | |
6009 echo " | |
6010 Window System:" | |
6011 if test "$with_msw" = "yes"; then | |
6012 echo " Compiling in support for the Microsoft window system." | |
6013 fi | |
6014 if test "$with_x11" = "yes"; then | |
6015 echo " Compiling in support for the X window system:" | |
6016 echo " - X Windows headers location: $x_includes" | |
6017 echo " - X Windows libraries location: $x_libraries" | |
6018 if test "$with_xauth" != yes; then | |
6019 echo " - Xau (X authority) not available." | |
6020 fi | |
6021 if test "$with_xmu" != yes; then | |
6022 echo " - Xmu library not available; substituting equivalent routines." | |
6023 fi | |
6024 if test "$with_wmcommand" != no; then | |
6025 echo " - Handling WM_COMMAND properly." | |
6026 fi | |
3354 | 6027 if test "$with_fontconfig" = "yes"; then |
6028 echo " - Using fontconfig to manage fonts." | |
6029 fi | |
3166 | 6030 if test "$with_xft_emacs" = "yes"; then |
3094 | 6031 echo " - Compiling in support for Xft antialiased fonts (EXPERIMENTAL)." |
6032 fi | |
2651 | 6033 fi |
3019 | 6034 if test "$need_motif" = "yes" ; then |
6035 echo " Compiling in support for Motif." | |
6036 if test "$have_lesstif" = "yes"; then | |
6037 echo " - Using LessTif implementation." | |
6038 fi | |
6039 echo " *WARNING* Many versions of Motif are buggy, requiring workarounds." | |
6040 echo " You are likely to experience slow redisplay." | |
6041 echo " You may need to install vendor patches to Motif." | |
6042 echo " See PROBLEMS for more information." | |
6043 fi | |
2651 | 6044 if test "$need_athena" = "yes"; then |
6045 echo " Compiling in support for the Athena widget set:" | |
6046 echo " - Athena headers location: $athena_h_path" | |
6047 echo " - Athena library to link: $athena_lib" | |
6048 fi | |
6049 case "$enable_menubars" in | |
6050 gtk ) echo " Using GTK menubars." ;; | |
6051 lucid ) echo " Using Lucid menubars." ;; | |
6052 motif ) echo " Using Motif menubars." | |
6053 echo " *WARNING* The Motif menubar implementation is currently buggy." | |
6054 echo " We recommend using the Lucid menubar instead." | |
6055 echo " Re-run configure with --enable-menubars='lucid'." ;; | |
6056 msw ) echo " Using MS-Windows menubars." ;; | |
6057 esac | |
3094 | 6058 if test "$with_xft_menubars" = "yes"; then |
6059 echo " - Using Xft to render antialiased fonts in menubars." | |
6060 echo " WARNING: This feature will be replaced with a face." | |
6061 fi | |
2651 | 6062 case "$enable_scrollbars" in |
6063 gtk ) echo " Using GTK scrollbars." ;; | |
6064 lucid ) echo " Using Lucid scrollbars." ;; | |
6065 motif ) echo " Using Motif scrollbars." ;; | |
6066 athena ) echo " Using Athena scrollbars." ;; | |
6067 msw ) echo " Using MS-Windows scrollbars." ;; | |
6068 esac | |
6069 case "$enable_dialogs" in | |
6070 gtk ) echo " Using GTK dialog boxes." ;; | |
6071 motif ) echo " Using Motif dialog boxes." | |
6072 if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then | |
6073 echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher." | |
6074 echo " We recommend using the Athena dialog boxes instead." | |
6075 echo " Install libXaw and re-run configure with --enable-dialogs='athena'." | |
6076 echo " Read the PROBLEMS file for more information." | |
6077 fi; fi ;; | |
6078 athena ) echo " Using Athena dialog boxes." ;; | |
6079 msw ) echo " Using MS-Windows dialog boxes." ;; | |
6080 esac | |
6081 case "$enable_widgets" in | |
6082 gtk ) echo " Using GTK native widgets." ;; | |
6083 motif ) echo " Using Motif native widgets." ;; | |
6084 athena ) echo " Using Athena native widgets." ;; | |
6085 msw ) echo " Using MS-Windows native widgets." ;; | |
6086 esac | |
3094 | 6087 if test "$with_xft_tabs" = "yes"; then |
6088 echo " - Using Xft to render antialiased fonts in tab controls." | |
6089 echo " WARNING: This feature will be replaced with a face." | |
6090 fi | |
6091 if test "$with_xft_gauge" = "yes"; then | |
6092 echo " - Using Xft to render antialiased fonts in progress bars." | |
6093 echo " WARNING: This feature will be replaced with a face." | |
6094 echo " WARNING: This feature not yet implemented; setting ignored." | |
6095 fi | |
2651 | 6096 if test "$with_dragndrop" = yes; then |
6097 echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)." | |
6098 echo " - Drag'n'Drop prototype: $dragndrop_proto." | |
6099 fi | |
6100 | |
6101 echo " | |
6102 TTY:" | |
6103 test "$with_ncurses" = yes && echo " Compiling in support for ncurses." | |
6104 test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)." | |
6105 | |
6106 echo " | |
6107 Images:" | |
6108 test "$with_gif" = yes && echo " Compiling in support for GIF images (builtin)." | |
6109 if test "$with_xpm" = yes; then | |
6110 echo " Compiling in support for XPM images." | |
6111 elif test "$with_x11" = yes; then | |
6112 echo " WARNING: -----------------------------------------------------------" | |
6113 echo " WARNING: Compiling without XPM image support." | |
6114 if test "$xpm_problem" != ""; then | |
6115 echo " Reason: $xpm_problem" | |
6116 fi | |
6117 echo " WARNING: You should strongly consider installing XPM." | |
6118 echo " WARNING: Otherwise toolbars and other graphics will look suboptimal." | |
6119 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" | |
6120 echo " WARNING: -----------------------------------------------------------" | |
6121 fi | |
6122 if test "$with_png" = yes; then | |
6123 echo " Compiling in support for PNG images." | |
6124 elif test "$window_system" != "none"; then | |
6125 echo " WARNING: -----------------------------------------------------------" | |
6126 echo " WARNING: Compiling without PNG image support." | |
6127 if test "$png_problem" != ""; then | |
6128 echo " Reason: $png_problem" | |
6129 fi | |
6130 echo " WARNING: You should strongly consider installing the PNG libraries." | |
6131 echo " WARNING: Otherwise certain images and glyphs may not display." | |
6132 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" | |
6133 echo " WARNING: -----------------------------------------------------------" | |
6134 fi | |
6135 test "$with_jpeg" = yes && echo " Compiling in support for JPEG images." | |
6136 test "$with_tiff" = yes && echo " Compiling in support for TIFF images." | |
6137 test "$with_xface" = yes && echo " Compiling in support for X-Face message headers." | |
6138 | |
6139 echo " | |
6140 Sound:" | |
6141 test "$enable_sound_native" = yes && echo " Compiling in support for sound (native)." | |
3308 | 6142 test "$enable_sound_alsa" = yes && echo " Compiling in support for ALSA (Advanced Linux Sound Architecture)." |
2651 | 6143 test "$enable_sound_nas" = yes && echo " Compiling in support for NAS (network audio system)." |
6144 test "$old_nas" = yes && echo " - NAS library lacks error trapping; will play synchronously." | |
6145 test "$enable_sound_esd" = yes && echo " Compiling in support for ESD (Enlightened Sound Daemon)." | |
6146 | |
6147 echo " | |
6148 Databases:" | |
6149 test "$enable_database_berkdb" = yes && echo " Compiling in support for Berkeley database." | |
6150 test "$enable_database_dbm" = yes && echo " Compiling in support for DBM." | |
6151 test "$enable_database_gdbm" = yes && echo " Compiling in support for GNU DBM." | |
6152 test "$with_ldap" = yes && echo " Compiling in support for LDAP." | |
6153 if test "$with_postgresql" = yes; then | |
6154 echo " Compiling in support for PostgreSQL." | |
6155 echo " - Using PostgreSQL header file: $libpq_fe_h_file" | |
6156 test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings." | |
6157 fi | |
6158 | |
6159 echo " | |
6160 Internationalization:" | |
6161 test "$enable_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)." | |
6162 test "$with_xim" != no && echo " Compiling in support for XIM (X11R5+ I18N input method)." | |
6163 test "$with_xim" = motif && echo " - Using Motif to provide XIM support." | |
6164 test "$with_xim" = xlib && echo " - Using raw Xlib to provide XIM support." | |
6165 test "$with_xfs" = yes && echo " - Using XFontSet to provide bilingual menubar." | |
3830 | 6166 test "$have_canna" = yes && echo " Compiling in support for Canna on Mule." |
2651 | 6167 if test "$with_wnn" = yes; then |
6168 echo " Compiling in support for the WNN input method on Mule." | |
6169 test "$with_wnn6" = yes && echo " - Using WNN version 6." | |
6170 fi | |
6171 | |
6172 echo " | |
6173 Mail:" | |
6174 test "$with_pop" = yes && echo " Compiling in support for POP mail retrieval." | |
6175 test "$with_kerberos" = yes && echo " Compiling in support for Kerberos POP authentication." | |
6176 test "$with_hesiod" = yes && echo " Compiling in support for Hesiod POP server access." | |
6177 test -n "$with_mail_locking" && echo " Compiling in support for \"$with_mail_locking\" mail spool file locking method." | |
6178 | |
6179 echo " | |
6180 Other Features:" | |
6181 test "$with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup." | |
6182 test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk." | |
6183 test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop." | |
6184 test "$with_socks" = yes && echo " Compiling in support for SOCKS." | |
6185 test "$with_dnet" = yes && echo " Compiling in support for DNET." | |
6186 test "$enable_modules" = "yes" && echo " Compiling in support for dynamic shared object modules." | |
6187 test "$enable_bignum" = "gmp" && echo " Compiling in support for more number types using the GNU MP library." | |
6188 test "$enable_bignum" = "mp" && echo " Compiling in support for more number types using the BSD MP library." | |
6189 if test "$enable_union_type" = yes ; then | |
6190 echo " Using the union type for Lisp_Objects." | |
6191 echo " WARNING: ---------------------------------------------------------" | |
6192 echo " WARNING: This tends to trigger compiler bugs, especially when" | |
6193 echo " WARNING: combined with MULE and ERROR_CHECKING. Crashes have" | |
6194 echo " WARNING: been seen with various versions of GCC (up to about 2.95)," | |
6195 echo " WARNING: and recently with Visual C++ as well (mid-2003)." | |
6196 echo " WARNING: More recent versions may be safer, or not." | |
6197 echo " WARNING: ---------------------------------------------------------" | |
6198 fi | |
2790 | 6199 if test "$enable_kkcc" = yes ; then |
3263 | 6200 echo " Using the new GC mark algorithms (KKCC)." |
2790 | 6201 echo " WARNING: ---------------------------------------------------------" |
6202 echo " WARNING: The new algorithms are experimental. They are enabled by" | |
6203 echo " WARNING: default for this release. Use \`--disable-kkcc' to" | |
6204 echo " WARNING: turn it off." | |
6205 echo " WARNING: ---------------------------------------------------------" | |
6206 fi | |
3263 | 6207 test "$enable_newgc" = yes && echo " Using the new incremental garbage collector and the new allocator." |
3092 | 6208 if test "$have_vdb_posix" = yes ; then |
6209 if test "$have_vdb_sigaction" = yes ; then | |
6210 echo " Using POSIX sigaction() to install fault handler." | |
6211 else | |
6212 echo " Using POSIX signal() to install vdb fault handler." | |
6213 fi | |
6214 fi | |
6215 if test "$have_vdb_win32" = yes ; then | |
6216 echo " Using special WIN32 vdb fault handler." | |
6217 fi | |
6218 if test "$have_vdb_mach" = yes ; then | |
6219 echo " Using mach exception mechanism as vdb fault handler." | |
6220 fi | |
6221 if test "$have_vdb_fake" = yes && test "$enable_vdb" == fake; then | |
6222 echo " Virtual dirty bit write barrier manually disabled." | |
6223 fi | |
2651 | 6224 test "$enable_pdump" = yes && echo " Using the new portable dumper." |
2720 | 6225 test "$enable_dump_in_exec" = yes && echo " Dumping into executable." |
2651 | 6226 test "$enable_debug" = yes && echo " Compiling in support for extra debugging code." |
6227 test "$usage_tracking" = yes && echo " Compiling in support for active usage tracking (Sun internal)." | |
6228 if test "$enable_error_checking_extents $enable_error_checking_types $enable_error_checking_text $enable_error_checking_gc $enable_error_checking_malloc $enable_error_checking_glyphs $enable_error_checking_byte_code $enable_error_checking_display $enable_error_checking_structures" \ | |
6229 != "no no no no no no no no no"; then | |
6230 echo " Compiling in support for runtime error checking." | |
6231 echo " WARNING: ---------------------------------------------------------" | |
6232 echo " WARNING: XEmacs will run noticeably more slowly as a result." | |
6233 echo " WARNING: Error checking is on by default for XEmacs beta releases." | |
6234 echo " WARNING: ---------------------------------------------------------" | |
6235 fi | |
6236 echo "" | |
6237 ) | tee -a Installation | |
6238 dnl echo "The above configure report is appended to \"Installation\" file." | |
6239 echo "" | |
6240 | |
6241 dnl ----------------------------------- | |
6242 dnl Now generate config.h and Makefiles | |
6243 dnl ----------------------------------- | |
6244 AC_CONFIG_HEADER(src/config.h lwlib/config.h) | |
6245 | |
6246 dnl This has to be called in order for this variable to get into config.status | |
6247 AC_SUBST(internal_makefile_list) | |
6248 # Remove any trailing slashes in these variables. | |
6249 test -n "$prefix" && | |
6250 prefix=`echo '' "$prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'` | |
6251 test -n "$exec_prefix" && | |
6252 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'` | |
6253 | |
6254 dnl Build Makefile.in's from Makefile.in.in's | |
6255 dnl except ./Makefile from $srcdir/Makefile.in | |
6256 dnl src/Makefile.in will have src/depend appended to it; | |
6257 dnl module Makefiles will have the common text in | |
6258 dnl modules/common/Makefile.common appended. | |
6259 | |
3481 | 6260 dnl this actually should be conditional on having perl (ie, effectively |
6261 dnl unconditional on sane systems) | |
6262 if test -r $srcdir/src/depend; then :; | |
6263 else | |
6264 echo "creating $srcdir/src/depend" | |
6265 perl $srcdir/src/make-src-depend > $srcdir/src/depend | |
6266 fi | |
6267 | |
2651 | 6268 for file in $internal_makefile_list; do |
6269 case $file in | |
6270 src/Makefile.in ) file="src/Makefile.in:src/Makefile.in.in:src/depend" ;; | |
6271 modules/* ) file="${file}:${file}.in:modules/common/Makefile.common" ;; | |
6272 esac | |
6273 AC_CONFIG_FILES($file) | |
6274 done | |
6275 AC_CONFIG_FILES(src/paths.h src/xemacs.def.in lib-src/config.values) | |
6276 test "$enable_modules" = "yes" && AC_CONFIG_FILES(lib-src/ellcc.h) | |
6277 | |
6278 | |
6279 dnl Normally []'s are used for quoting but this will cause problems | |
6280 dnl since we use brackets in sed. When not inside of a macro definition, | |
6281 dnl two brackets become one, but inside of a macro definition you need | |
6282 dnl more, or something -- I don't understand, but Martin probably does. | |
6283 dnl We put the brackets back later. | |
6284 dnl [ben] | |
3418 | 6285 dnl To insert comments that will remain in the generated file, we use the |
6286 dnl imake XCOMM convention. Lines beginning with "XCOMM " exactly (no | |
6287 dnl leading whitespace, one trailing ASCII space, case sensitive) will be | |
6288 dnl transformed to shell/make/gdb comments in the generated file. | |
6289 dnl [sjt] | |
2651 | 6290 |
6291 dnl MAKE_JUNK_C(filename): | |
6292 dnl Copy a .in file to junk.c in preparation for passing through the | |
6293 dnl C preprocessor. Delete comment lines, pass lines that will be | |
6294 dnl interpreted by cpp through directly, and put quotes around remaining | |
6295 dnl lines, to avoid problems from overly helpful preprocessors that | |
6296 dnl "helpfully" put extra quotes in various places for later use by the | |
6297 dnl compiler. Later, the quotes will be removed. | |
6298 | |
6299 m4_define([MAKE_JUNK_C], | |
6300 [ rm -f junk.c | |
6301 < $1 \ | |
6302 sed -e '/^# Generated/d' \ | |
6303 -e 's%/\*\*/#.*%%' \ | |
6304 -e 's/^ *# */#/' \ | |
6305 dnl Delete Makefile.in.in comment lines | |
6306 -e '/^##/d' \ | |
6307 dnl Pass through CPP directives unchanged | |
6308 -e '/^#/ { | |
6309 p | |
6310 d | |
6311 }' \ | |
6312 dnl Quote other lines to protect from CPP substitution | |
6313 -e '/./ { | |
6314 s/\([[\"]]\)/\\\1/g | |
6315 s/^/"/ | |
6316 s/$/"/ | |
6317 }' > junk.c; | |
6318 ])dnl MAKE_JUNK_C | |
6319 | |
6320 dnl CPP_MAKEFILE(CPPFLAGS,filename): | |
6321 dnl Pass junk.c through the preprocessor and put the result in FILENAME. | |
6322 | |
6323 m4_define([CPP_MAKEFILE], | |
6324 [echo creating $dir/$2 | |
6325 $CPP -I. -I${srcdir}/src $1 junk.c \ | |
6326 dnl Delete line directives inserted by $CPP | |
6327 | sed -e 's/^\#.*//' \ | |
6328 dnl Delete spurious blanks inserted by $CPP | |
6329 -e 's/^[[ TAB]][[ TAB]]*$//'\ | |
6330 -e 's/^ /TAB/' \ | |
6331 dnl Delete blank lines | |
6332 -e '/^[[ ]]*$/d' \ | |
6333 dnl Restore lines quoted above to original contents. | |
6334 -e '/^\"/ { | |
6335 s/\\\([[\"]]\)/\1/g | |
6336 s/^[[ TAB]]*\"// | |
6337 s/\"[[ TAB]]*$// | |
3418 | 6338 }' \ |
6339 dnl Convert comments -- must come after the unquoting operations | |
6340 -e 's/^XCOMM /\# /' > Makefile.new | |
2651 | 6341 chmod 444 Makefile.new |
6342 mv -f Makefile.new $2 | |
6343 ])dnl CPP_MAKEFILE | |
6344 | |
6345 AC_CONFIG_COMMANDS([default], | |
6346 [for dir in . $MAKE_SUBDIR; do | |
6347 ( | |
6348 cd $dir | |
6349 | |
6350 dnl Create a GNUmakefile and Makefile from Makefile.in. | |
6351 dnl Create xemacs.def from xemacs.def.in in the same fashion, | |
3418 | 6352 dnl if it exists (i.e. in the src/ directory). Ditto for the |
6353 dnl debugger init files (in the src/ directory). | |
2651 | 6354 MAKE_JUNK_C(Makefile.in) |
6355 CPP_MAKEFILE(,Makefile) | |
6356 CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile) | |
3092 | 6357 if test -r ".gdbinit.in"; then |
6358 MAKE_JUNK_C(.gdbinit.in) | |
6359 CPP_MAKEFILE(,.gdbinit) | |
6360 fi | |
6361 if test -r ".dbxrc.in"; then | |
6362 MAKE_JUNK_C(.dbxrc.in) | |
6363 CPP_MAKEFILE(,.dbxrc) | |
6364 fi | |
2651 | 6365 if test -r "xemacs.def.in"; then |
6366 dnl #### We should be using MAKE_JUNK_C instead of the next two lines. | |
6367 dnl #### But the comments in xemacs.def.in need to be converted from C-style | |
6368 dnl #### to lines beginning with ##. | |
6369 rm -f junk.c | |
6370 cp xemacs.def.in junk.c | |
6371 CPP_MAKEFILE(,xemacs.def) | |
6372 fi | |
6373 rm -f junk.c | |
6374 ) | |
6375 done | |
6376 | |
6377 dnl Append AC_DEFINE information to lib-src/config.values | |
6378 dnl (AC_SUBST information is already there (see config.values.sh). | |
6379 sed < config.status >> lib-src/config.values \ | |
6380 -e '/{ac_dA}.*{ac_dB}.*{ac_dC}.*{ac_dD}$/!d' \ | |
6381 -e 's/\${ac_dA}\(.*\)\${ac_dB}.*\${ac_dC}\(.*\)\${ac_dD}/\1 \2/' \ | |
6382 -e 's/^\([[^ ]]*\) $/\1 ""/' \ | |
6383 -e 's/ 1$/ t/' | |
6384 | |
6385 ], | |
6386 [CPP="$CPP" | |
6387 MAKE_SUBDIR="$MAKE_SUBDIR" | |
6388 ])dnl | |
6389 | |
6390 AC_OUTPUT()dnl | |
6391 |