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