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