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