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