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