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