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