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