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