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)
|
2940
|
3758 XE_PREPEND("$incpath_xpm", XE_CFLAGS)
|
2651
|
3759 XE_PREPEND("$libpath_xpm", LDFLAGS)
|
|
3760 AC_MSG_CHECKING(for Xpm - no older than 3.4f)
|
|
3761 xe_check_libs=-lXpm
|
|
3762 AC_RUN_IFELSE([AC_LANG_SOURCE([#define XPM_NUMBERS
|
|
3763 #include <X11/xpm.h>
|
|
3764 int main(int c, char **v) {
|
|
3765 return c == 1 ? 0 :
|
|
3766 XpmIncludeVersion != XpmLibraryVersion() ? 1 :
|
|
3767 XpmIncludeVersion < 30406 ? 2 : 0 ;}])],
|
|
3768 [./conftest dummy_arg; xpm_status=$?;
|
|
3769 if test "$xpm_status" = "0"; then
|
|
3770 with_xpm=yes;
|
|
3771 else
|
|
3772 with_xpm=no;
|
|
3773 if test "$xpm_status" = "1"; then
|
|
3774 xpm_problem="Xpm library version and header file version don't match!"
|
|
3775 elif test "$xpm_status" = "2"; then
|
|
3776 xpm_problem="Xpm library version is too old!"
|
|
3777 else
|
|
3778 xpm_problem="Internal xpm detection logic error!"
|
|
3779 fi
|
|
3780 echo "
|
|
3781 *** WARNING *** $xpm_problem
|
|
3782 I'm not touching that with a 10-foot pole!
|
|
3783 If you really want to use the installed version of Xpm, rerun
|
|
3784 configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
|
|
3785 fi],
|
|
3786 [with_xpm=no])
|
|
3787 xe_check_libs=
|
|
3788 AC_MSG_RESULT($with_xpm)
|
|
3789 fi
|
|
3790 if test "$with_xpm" = "yes"; then
|
|
3791 dnl #### This code assumes that if AC_CHECK_LIB fails,
|
|
3792 dnl #### then it will succeed if FOR_MSW is defined,
|
|
3793 dnl #### but doesn't actually verify this assumption.
|
|
3794 AC_DEFINE(HAVE_XPM)
|
|
3795 XE_PREPEND("$libpath_xpm", LDFLAGS)
|
|
3796 XE_PREPEND(-lXpm, libs_x)
|
|
3797 XE_PREPEND("$incpath_xpm", CFLAGS)
|
2940
|
3798 XE_PREPEND("$incpath_xpm", XE_CFLAGS)
|
2651
|
3799 AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
|
|
3800 xe_check_libs=-lXpm
|
|
3801 AC_TRY_LINK(, [XpmCreatePixmapFromData()],
|
|
3802 [xpm_for_msw=no],
|
|
3803 [xpm_for_msw=yes])
|
|
3804 xe_check_libs=
|
|
3805 AC_MSG_RESULT($xpm_for_msw)
|
|
3806 if test "$xpm_for_msw" = "yes"; then
|
|
3807 AC_DEFINE(FOR_MSW)
|
|
3808 fi
|
|
3809 fi
|
|
3810
|
|
3811 dnl Autodetect XFACE
|
|
3812 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
|
|
3813 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
|
|
3814 test -z "$with_xface" && with_xface=yes
|
|
3815 if test "$with_xface" = "yes"; then
|
|
3816 AC_DEFINE(HAVE_XFACE)
|
|
3817 XE_PREPEND(-lcompface, libs_x)
|
|
3818 fi
|
|
3819
|
|
3820 dnl For a brief period we had the GIF code split out into a separate library,
|
|
3821 dnl but patent problems, etc. sort of squashed that idea.
|
|
3822 dnl We default to building with builtin GIF decoding
|
|
3823 if test "$with_gif" != "no"; then
|
|
3824 with_gif="yes"
|
|
3825 AC_DEFINE(HAVE_GIF)
|
|
3826 fi
|
|
3827
|
|
3828 dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime
|
|
3829 dnl So we always search for libz compression support.
|
|
3830 if test "$with_png $with_tiff" != "no no"; then
|
|
3831 AC_CHECK_LIB(c, inflate, [:], [
|
|
3832 AC_CHECK_LIB(z, inflate, [XE_PREPEND(-lz, libs_x)],[
|
|
3833 AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])])
|
|
3834 fi
|
|
3835
|
|
3836 dnl autodetect JPEG
|
|
3837 test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) }
|
|
3838 test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) }
|
|
3839 test -z "$with_jpeg" && with_jpeg=yes
|
|
3840 if test "$with_jpeg" = "yes"; then
|
|
3841 AC_DEFINE(HAVE_JPEG)
|
|
3842 XE_PREPEND(-ljpeg, libs_x)
|
|
3843 fi
|
|
3844
|
|
3845 dnl autodetect PNG
|
|
3846 png_problem=""
|
|
3847 test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) }
|
|
3848 test -z "$with_png" && { AC_CHECK_HEADER(png.h, ,with_png=no) }
|
2667
|
3849 test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no,[-lz]) }
|
2651
|
3850 if test -z "$with_png"; then
|
|
3851 AC_MSG_CHECKING(for workable png version information)
|
|
3852 xe_check_libs="-lpng -lz"
|
|
3853 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <png.h>
|
|
3854 int main(int c, char **v) {
|
|
3855 if (c == 1) return 0;
|
|
3856 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
|
|
3857 return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}])],
|
|
3858 [./conftest dummy_arg; png_status=$?;
|
|
3859 if test "$png_status" = "0"; then
|
|
3860 with_png=yes;
|
|
3861 else
|
|
3862 with_png=no;
|
|
3863 if test "$png_status" = "1"; then
|
|
3864 png_problem="PNG library version and header file don't match!"
|
|
3865 elif test "$png_status" = "2"; then
|
|
3866 png_problem="PNG library version too old (pre 1.0.2)!"
|
|
3867 fi
|
|
3868 echo "
|
|
3869 *** WARNING *** $png_problem
|
|
3870 I'm not touching that with a 10-foot pole!
|
|
3871 If you really want to use the installed version of libPNG, rerun
|
|
3872 configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
|
|
3873 fi],
|
|
3874 [with_png=no])
|
|
3875 xe_check_libs=
|
|
3876 AC_MSG_RESULT($with_png)
|
|
3877 fi
|
|
3878 if test "$with_png" = "yes"; then
|
|
3879 AC_DEFINE(HAVE_PNG)
|
|
3880 XE_PREPEND(-lpng, libs_x)
|
|
3881 fi
|
|
3882
|
|
3883 dnl autodetect TIFF
|
|
3884 test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) }
|
2667
|
3885 test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFClientOpen,[:],with_tiff=no,[-lz]) }
|
2651
|
3886 test -z "$with_tiff" && with_tiff=yes
|
|
3887 if test "$with_tiff" = "yes"; then
|
|
3888 AC_DEFINE(HAVE_TIFF)
|
|
3889 XE_PREPEND(-ltiff, libs_x)
|
|
3890 fi
|
|
3891 fi
|
|
3892
|
|
3893 dnl ----------------------
|
|
3894 dnl GTK-Specific Graphics libraries
|
|
3895 dnl ----------------------
|
|
3896
|
|
3897 if test "$with_gtk" = "yes"; then
|
|
3898 dnl Autodetect XFACE
|
|
3899 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
|
|
3900 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
|
|
3901 test -z "$with_xface" && with_xface=yes
|
|
3902 if test "$with_xface" = "yes"; then
|
|
3903 AC_DEFINE(HAVE_XFACE)
|
|
3904 XE_PREPEND(-lcompface, libs_gtk)
|
|
3905 fi
|
|
3906 fi
|
|
3907
|
|
3908
|
|
3909 dnl ----------------------
|
|
3910 dnl X-Specific Graphics libraries
|
|
3911 dnl ----------------------
|
|
3912
|
|
3913 if test "$with_x11" = "yes"; then
|
|
3914 AC_CHECKING([for X11 graphics libraries])
|
|
3915 fi
|
|
3916
|
|
3917 dnl We don't automatically trigger widgets if athena is present
|
|
3918 dnl because of stability concerns.
|
|
3919 dnl But if the user wants widgets, still offer him autodetections
|
|
3920 case "$enable_widgets" in
|
|
3921 "yes" | "athena") detect_athena=yes ;;
|
|
3922 *) detect_athena=no ;;
|
|
3923 esac
|
|
3924
|
|
3925 if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then
|
|
3926 AC_CHECKING([for the Athena widgets])
|
|
3927
|
|
3928 dnl What in heck did the user actually want?
|
|
3929 case "$with_athena" in
|
|
3930 dnl This is the default, old fashioned flat Athena.
|
|
3931 "xaw" | "") athena_variant=Xaw athena_3d=no ;;
|
|
3932 "3d") athena_variant=Xaw3d athena_3d=yes ;;
|
|
3933 "next") athena_variant=neXtaw athena_3d=yes ;;
|
|
3934 "95") athena_variant=Xaw95 athena_3d=yes ;;
|
|
3935 "xpm") athena_variant=XawXpm athena_3d=yes ;;
|
|
3936 *) XE_DIE("Unknown Athena widget set \`$with_athena'. This should not happen.") ;;
|
|
3937 esac
|
|
3938
|
|
3939 dnl Search for the Athena library...
|
|
3940 if test "$athena_3d" = "no"; then
|
|
3941 AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb,
|
|
3942 [
|
|
3943 dnl Must not be a 3d library...
|
|
3944 AC_CHECK_LIB($athena_variant, threeDClassRec,
|
|
3945 [AC_MSG_WARN([Could not find a non-3d Athena widget library.])],
|
|
3946 athena_lib=$athena_variant)
|
|
3947 ],
|
|
3948 AC_MSG_WARN([Could not find an Athena widget library.]))
|
|
3949 else
|
|
3950 dnl The real configuration, need 3d library
|
|
3951 AC_CHECK_LIB($athena_variant, threeDClassRec, athena_lib=$athena_variant,
|
|
3952 dnl OK, couldn't find it with a proper name, try the standard Athena lib
|
|
3953 dnl If that is 3d, presume the user asked for what they have installed.
|
|
3954 AC_CHECK_LIB(Xaw, threeDClassRec,
|
|
3955 [
|
|
3956 athena_lib=Xaw;
|
|
3957 AC_MSG_WARN([Assuming that libXaw is actually $athena_variant.]);
|
|
3958 ],
|
|
3959 [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])]))
|
|
3960 fi
|
|
3961
|
|
3962 dnl Now we locate the Athena headers that we need.
|
|
3963 if test "$athena_3d" = "no"; then
|
|
3964 AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
|
|
3965 [AC_MSG_WARN([Could not find a non-3d Athena header set.])],
|
|
3966 [AC_CHECK_HEADER(X11/Xaw/XawInit.h,
|
|
3967 [athena_h_path=X11/Xaw],
|
2694
|
3968 [AC_MSG_WARN([Could not find a non-3d Athena header set.])],
|
|
3969 [
|
|
3970 #include <X11/Intrinsic.h>
|
|
3971 ])])
|
2651
|
3972 else
|
|
3973 dnl The three-d Athena headers are so much more slippery.
|
|
3974 dnl Curse this `Lets replace standard libraries' thing that they did. :/
|
|
3975 AC_CHECK_HEADER(X11/$athena_variant/XawInit.h,
|
|
3976 [AC_CHECK_HEADER(X11/$athena_variant/ThreeD.h,
|
|
3977 [athena_h_path=X11/$athena_variant])],[],
|
|
3978 [
|
|
3979 #if HAVE_X11_XFUNCPROTO_H
|
|
3980 #include <X11/Xfuncproto.h>
|
|
3981 #endif
|
2705
|
3982 #include <X11/Intrinsic.h>
|
2651
|
3983 ])
|
|
3984
|
|
3985 dnl Is the variant specific header directory directly under include?
|
|
3986 if test -z "$athena_h_path"; then
|
|
3987 AC_CHECK_HEADER($athena_variant/XawInit.h,
|
|
3988 [AC_CHECK_HEADER($athena_variant/ThreeD.h,
|
|
3989 athena_h_path=$athena_variant)],[],
|
|
3990 [
|
|
3991 #if HAVE_X11_XFUNCPROTO_H
|
|
3992 #include <X11/Xfuncproto.h>
|
|
3993 #endif
|
2694
|
3994 #include <X11/Intrinsic.h>
|
2651
|
3995 ])
|
|
3996 fi
|
|
3997
|
|
3998 dnl If we couldn't find the specific variant, try the generic Athena 3d headers
|
|
3999 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
|
|
4000 AC_CHECK_HEADER(X11/Xaw3d/XawInit.h,
|
|
4001 [AC_CHECK_HEADER(X11/Xaw3d/ThreeD.h,
|
|
4002 [
|
|
4003 AC_MSG_WARN([Assuming that X11/Xaw3d headers are suitable for $athena_variant.])
|
|
4004 athena_h_path=X11/Xaw3d
|
|
4005 ])],[],
|
|
4006 [
|
|
4007 #if HAVE_X11_XFUNCPROTO_H
|
|
4008 #include <X11/Xfuncproto.h>
|
|
4009 #endif
|
2694
|
4010 #include <X11/Intrinsic.h>
|
2651
|
4011 ])
|
|
4012 fi
|
|
4013
|
|
4014 dnl Also generic 3d headers directly under include dir
|
|
4015 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
|
|
4016 AC_CHECK_HEADER(Xaw3d/XawInit.h,
|
|
4017 [AC_CHECK_HEADER(Xaw3d/ThreeD.h,
|
|
4018 [
|
|
4019 AC_MSG_WARN([Assuming that Xaw3d headers are suitable for $athena_variant.])
|
|
4020 athena_h_path=Xaw3d
|
|
4021 ])],[],
|
|
4022 [
|
|
4023 #if HAVE_X11_XFUNCPROTO_H
|
|
4024 #include <X11/Xfuncproto.h>
|
|
4025 #endif
|
2694
|
4026 #include <X11/Intrinsic.h>
|
2651
|
4027 ])
|
|
4028 fi
|
|
4029
|
|
4030 dnl If nothing yet found, see if Xaw is a 3d header set...
|
|
4031 dnl We AC_MSG_WARN if we fail because I am all out of ideas...
|
|
4032 if test -z "$athena_h_path"; then
|
|
4033 AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
|
|
4034 [
|
|
4035 AC_MSG_WARN([Assuming that X11/Xaw headers are suitable for $athena_variant.])
|
|
4036 athena_h_path=X11/Xaw
|
|
4037 ],
|
|
4038 [AC_MSG_WARN([Could not find a suitable 3d Athena header set.])])
|
|
4039 fi
|
|
4040 fi
|
|
4041
|
|
4042 dnl Do we actually have a usable Athena widget set? Please?
|
|
4043 if test -n "$athena_lib" -a -n "$athena_h_path"; then
|
|
4044 have_xaw=yes
|
|
4045 else
|
|
4046 have_xaw=no
|
|
4047 fi
|
|
4048
|
|
4049 else
|
|
4050 have_xaw=no
|
|
4051 fi dnl "$with_x11" = "yes" -a "detect_athena" = "yes"
|
|
4052
|
|
4053 if test "$with_x11" = "yes"; then
|
|
4054 dnl autodetect Motif - but only add to libs_x later (if necessary)
|
|
4055 dnl Use a different function to the earlier test to avoid problems with the
|
|
4056 dnl internal cache.
|
|
4057 AC_CHECK_HEADER(Xm/Xm.h,
|
|
4058 [AC_CHECK_LIB(Xm, XmStringCreate, have_motif=yes, have_motif=no)],
|
|
4059 have_motif=no)
|
|
4060
|
|
4061 if test "$have_motif" = "yes"; then
|
|
4062 dnl autodetect lesstif
|
|
4063 AC_MSG_CHECKING(for Lesstif)
|
|
4064 AC_EGREP_CPP(yes,
|
|
4065 [#include <Xm/Xm.h>
|
|
4066 #ifdef LESSTIF_VERSION
|
|
4067 yes
|
|
4068 #endif
|
|
4069 ], have_lesstif=yes, have_lesstif=no)
|
|
4070 AC_MSG_RESULT($have_lesstif)
|
|
4071 fi
|
|
4072
|
|
4073 fi dnl "$with_x11" = "yes"
|
|
4074
|
|
4075 dnl Finish ensuring that we have values for the various toolkit items.
|
|
4076 dnl Not all toolkits support all widgets
|
|
4077 dnl if Motif is available we use it for the dialog boxes.
|
|
4078
|
|
4079 case "$enable_menubars" in "" | "yes" | "athena" )
|
|
4080 enable_menubars="lucid" ;;
|
|
4081 esac
|
|
4082 case "$enable_dialogs" in "" | "yes" | "lucid" )
|
|
4083 if test "$have_motif" = "yes"; then enable_dialogs="motif"
|
|
4084 elif test "$have_xaw" = "yes"; then enable_dialogs="athena"
|
|
4085 elif test "$with_msw" = "yes"; then enable_dialogs="msw"
|
|
4086 else enable_dialogs=no
|
|
4087 fi ;;
|
|
4088 esac
|
|
4089 case "$enable_scrollbars" in "" | "yes" )
|
|
4090 enable_scrollbars="lucid" ;;
|
|
4091 esac
|
|
4092 case "$enable_widgets" in "" | "yes" | "lucid")
|
|
4093 if test "$have_motif" = "yes"; then enable_widgets="motif"
|
|
4094 elif test "$have_xaw" = "yes"; then enable_widgets="athena"
|
|
4095 elif test "$with_msw" = "yes"; then enable_widgets="msw"
|
|
4096 else enable_widgets=no
|
|
4097 fi ;;
|
|
4098 esac
|
|
4099
|
|
4100 all_widgets="$enable_menubars $enable_scrollbars $enable_dialogs $enable_toolbars $enable_widgets"
|
|
4101
|
|
4102 case "$all_widgets" in
|
|
4103 *athena* )
|
|
4104 if test "$have_xaw" != "yes"; then
|
|
4105 XE_DIE("Could not find a suitable Athena library to build with.")
|
|
4106 fi
|
|
4107
|
|
4108 dnl Add the Lucid widget Athena code
|
|
4109 XE_APPEND(lwlib-Xaw.o, lwlib_objs)
|
|
4110
|
|
4111 dnl Add the Athena widget library we located earlier
|
|
4112 XE_PREPEND(-l$athena_lib, libs_x)
|
|
4113
|
|
4114 dnl Tell lwlib where to find the Athena header files.
|
|
4115 dnl Many people have tried to create a `smart' way of doing this,
|
|
4116 dnl but all have failed. Before changing the following ugly definitions,
|
|
4117 dnl consult the veterans of many a battle.
|
|
4118 AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h")
|
|
4119 AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h")
|
|
4120 AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h")
|
|
4121 AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h")
|
|
4122 AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h")
|
|
4123 AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h")
|
|
4124 AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h")
|
|
4125 AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h")
|
|
4126 AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h")
|
|
4127 AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h")
|
|
4128
|
|
4129 AC_DEFINE(LWLIB_USES_ATHENA)
|
|
4130 AC_DEFINE(NEED_ATHENA)
|
|
4131 need_athena="yes"
|
|
4132
|
|
4133 if test "$athena_3d" = "yes"; then
|
|
4134 AC_DEFINE(HAVE_ATHENA_3D)
|
|
4135 fi
|
|
4136 ;;
|
|
4137 esac
|
|
4138
|
|
4139 case "$all_widgets" in *motif* )
|
|
4140 AC_DEFINE(LWLIB_USES_MOTIF)
|
|
4141 AC_DEFINE(NEED_MOTIF)
|
|
4142 XE_APPEND(lwlib-Xm.o, lwlib_objs)
|
|
4143 need_motif=yes ;;
|
|
4144 esac
|
|
4145
|
|
4146 test "$enable_menubars" = "lucid" && XE_APPEND(xlwmenu.o, lwlib_objs)
|
|
4147 test "$enable_menubars" = "motif" && XE_APPEND(xlwmenu.o, lwlib_objs)
|
|
4148 test "$enable_scrollbars" = "lucid" && XE_APPEND(xlwscrollbar.o, lwlib_objs)
|
|
4149 test "$enable_widgets" != "no" && test "$enable_widgets" != "msw" && \
|
|
4150 XE_APPEND(xlwtabs.o xlwgcs.o, lwlib_objs)
|
|
4151 case "$enable_widgets" in athena* )
|
|
4152 XE_APPEND(xlwradio.o xlwcheckbox.o xlwgauge.o, lwlib_objs);;
|
|
4153 esac
|
|
4154 case "$all_widgets" in *lucid* )
|
|
4155 AC_DEFINE(NEED_LUCID)
|
|
4156 XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;;
|
|
4157 esac
|
|
4158
|
|
4159 AC_SUBST(lwlib_objs)
|
|
4160
|
|
4161 test "$enable_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA)
|
|
4162 test "$enable_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA)
|
|
4163
|
|
4164 if test "$athena_3d" = "yes"; then
|
|
4165 test "$enable_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
|
|
4166 test "$enable_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
|
|
4167 fi
|
|
4168
|
|
4169 case "$enable_widgets" in athena* ) AC_DEFINE(LWLIB_WIDGETS_ATHENA);; esac
|
|
4170 test "$enable_widgets" != "no" && test "$enable_widgets" != "msw" && \
|
|
4171 AC_DEFINE(LWLIB_TABS_LUCID)
|
|
4172
|
|
4173 test "$enable_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS)
|
|
4174 test "$enable_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS)
|
|
4175 test "$enable_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS)
|
|
4176 test "$enable_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS)
|
|
4177 test "$enable_widgets" != "no" && AC_DEFINE(HAVE_WIDGETS)
|
|
4178
|
|
4179 test "$enable_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID)
|
|
4180 test "$enable_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID)
|
|
4181
|
|
4182 test "$enable_menubars" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF)
|
|
4183 test "$enable_scrollbars" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF)
|
|
4184 test "$enable_dialogs" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF)
|
|
4185 test "$enable_widgets" = "motif" && AC_DEFINE(LWLIB_WIDGETS_MOTIF)
|
|
4186
|
|
4187 dnl ----------------------
|
|
4188 dnl Mule-dependent options
|
|
4189 dnl ----------------------
|
|
4190
|
|
4191 test -z "$enable_mule" && enable_mule=no
|
|
4192
|
|
4193 dnl if test "$enable_mule" = "yes" && test ! -d "$srcdir/lisp/mule"; then
|
|
4194 dnl echo "Attempt to Build with Mule without Mule/Lisp"
|
|
4195 dnl echo "Please install the XEmacs/Mule tarball or"
|
|
4196 dnl echo "rerun configure with --with-mule=no"
|
|
4197 dnl exit 1
|
|
4198 dnl fi
|
|
4199
|
|
4200 if test "$enable_default_eol_detection" = "yes"; then
|
|
4201 AC_DEFINE(HAVE_DEFAULT_EOL_DETECTION)
|
|
4202 fi
|
|
4203
|
|
4204 if test "$enable_mule" = "yes" ; then
|
|
4205 AC_CHECKING([for Mule-related features])
|
|
4206 AC_DEFINE(MULE)
|
|
4207
|
|
4208 dnl Use -lintl to get internationalized strerror for Mule
|
|
4209 AC_CHECK_HEADERS(libintl.h)
|
|
4210 AC_CHECK_LIB(intl, strerror)
|
|
4211
|
|
4212 AC_CHECKING([for Mule input methods])
|
|
4213 dnl Do we have the XmIm* routines? And if so, do we want to use them?
|
|
4214 dnl XIM seems to be flaky except on Solaris...
|
|
4215 dnl test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no
|
|
4216 case "$with_xim" in "" | "yes" )
|
|
4217 AC_CHECKING([for XIM])
|
|
4218 AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no)
|
|
4219 dnl XIM + Lesstif is not (yet?) usable
|
|
4220 if test "$have_motif $have_lesstif" = "yes no"; then
|
|
4221 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
|
|
4222 fi ;;
|
|
4223 esac
|
|
4224 if test "$with_xim" != "no"; then
|
|
4225 AC_DEFINE(HAVE_XIM)
|
|
4226 if test "$with_xim" = "xlib"; then
|
|
4227 AC_DEFINE(XIM_XLIB)
|
|
4228 XE_ADD_OBJS(input-method-xlib.o)
|
|
4229 fi
|
|
4230 if test "$with_xim" = "motif"; then
|
|
4231 AC_DEFINE(XIM_MOTIF)
|
|
4232 need_motif=yes
|
|
4233 XE_ADD_OBJS(input-method-motif.o)
|
|
4234 fi
|
|
4235 if test "$with_xim" = "motif"; then
|
|
4236 with_xfs=no
|
|
4237 fi
|
|
4238 fi
|
|
4239
|
|
4240 dnl "with_xfs" = "yes"
|
|
4241 if test "$with_xfs" = "yes" ; then
|
|
4242 AC_CHECKING([for XFontSet])
|
|
4243 AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no)
|
|
4244 if test "$with_xfs" = "yes" && test "$enable_menubars" = "lucid"; then
|
|
4245 AC_DEFINE(USE_XFONTSET)
|
|
4246 if test "$with_xim" = "no" ; then
|
|
4247 XE_ADD_OBJS(input-method-xlib.o)
|
|
4248 fi
|
|
4249 fi
|
|
4250 fi dnl with_xfs
|
|
4251
|
|
4252 dnl Autodetect WNN
|
|
4253 test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
|
|
4254 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) }
|
|
4255 dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h
|
|
4256 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h, ,with_wnn=no) }
|
|
4257 dnl Detour to find crypt
|
|
4258 if test "$with_wnn" != "no"; then
|
|
4259 AC_CHECK_FUNCS(crypt)
|
|
4260 test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) }
|
|
4261 fi
|
|
4262 dnl Back to our regularly scheduled wnn hunting
|
|
4263 if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
|
|
4264 AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn,
|
|
4265 AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4,
|
|
4266 AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6,
|
|
4267 AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no))))
|
|
4268 fi
|
|
4269 test -z "$with_wnn" && with_wnn=yes
|
|
4270 if test "$with_wnn" = "yes"; then
|
|
4271 AC_DEFINE(HAVE_WNN)
|
|
4272 XE_PREPEND(-l$libwnn, libs_x)
|
|
4273 if test "$with_wnn6" != "no"; then
|
|
4274 AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes)
|
|
4275 test "$with_wnn6" = "yes" && AC_DEFINE(WNN6)
|
|
4276 fi
|
|
4277 fi
|
|
4278
|
|
4279 dnl Autodetect canna
|
|
4280 canna_includes_found=no
|
|
4281 if test "$with_canna" != "no"; then
|
|
4282 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
|
|
4283 fi
|
|
4284 if test "$canna_includes_found" = "no" -a "$with_canna" != "no" -a \
|
|
4285 -d "/usr/local/canna/include"; then
|
|
4286 save_c_switch_site="$c_switch_site"
|
|
4287 c_switch_site="$c_switch_site -I/usr/local/canna/include"
|
|
4288 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
|
|
4289 if test "$canna_includes_found" != "yes"; then
|
|
4290 c_switch_site="$save_c_switch_site"
|
|
4291 with_canna="no"
|
|
4292 fi
|
|
4293 fi
|
|
4294
|
|
4295 test -z "$with_canna" && { AC_CHECK_HEADER(canna/RK.h, , with_canna=no) }
|
|
4296 test -z "$with_canna" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],with_canna=no) }
|
|
4297 test -z "$with_canna" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],with_canna=no) }
|
|
4298 test -z "$with_canna" && with_canna=yes
|
|
4299 if test "$with_canna" = "yes"; then
|
|
4300 AC_DEFINE(HAVE_CANNA)
|
|
4301 XE_PREPEND(-lcanna -lRKC, libs_x)
|
|
4302 fi
|
|
4303
|
|
4304 else dnl "$enable_mule" = "no"
|
|
4305 for feature in xim canna wnn; do
|
|
4306 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
|
|
4307 AC_MSG_WARN([--with-${feature} ignored: Not valid without Mule support])
|
|
4308 fi
|
|
4309 eval "with_${feature}=no"
|
|
4310 done
|
|
4311 fi dnl with_mule
|
|
4312
|
|
4313
|
|
4314 dnl At this point, we know whether we need the motif lib or not.
|
|
4315 if test "$need_motif" = "yes" ; then
|
|
4316 XE_PREPEND(-lXm, libs_x)
|
|
4317 dnl AIX needs the following library for use with Motif
|
|
4318 AC_CHECK_LIB(i18n, layout_object_getvalue, [XE_PREPEND(-li18n, libs_x)])
|
|
4319 XE_COMPUTE_RUNPATH()
|
|
4320 fi
|
|
4321
|
|
4322 dnl ----------------------------------------------------------------
|
|
4323 dnl Check for POSIX functions.
|
|
4324 dnl ----------------------------------------------------------------
|
|
4325
|
|
4326 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)
|
|
4327
|
|
4328 dnl getaddrinfo() is borked under hpux11
|
|
4329 if test "$ac_cv_func_getaddrinfo" != "no" ; then
|
|
4330 case "$opsys" in
|
|
4331 hpux11 )
|
|
4332 AC_MSG_WARN([Use of getaddrinfo is disabled for HP-UX 11.XX.])
|
|
4333 ac_cv_func_getaddrinfo=no
|
|
4334 ;;
|
|
4335 esac
|
|
4336 fi
|
|
4337
|
|
4338 dnl ----------------------------------------------------------------
|
|
4339 dnl Check for Unixoid pty/process support.
|
|
4340 dnl ----------------------------------------------------------------
|
|
4341
|
|
4342 dnl There is no "standard" pty allocation method. Every system is different.
|
|
4343 dnl getpt() is the preferred pty allocation method on glibc systems.
|
|
4344 dnl _getpty() is the preferred pty allocation method on SGI systems.
|
|
4345 dnl grantpt(), unlockpt(), ptsname() are defined by Unix98.
|
|
4346 AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp)
|
|
4347
|
|
4348 dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems.
|
|
4349 dnl openpty() might be declared in:
|
|
4350 dnl - pty.h (Tru64 or Linux)
|
|
4351 dnl - libutil.h (FreeBSD)
|
|
4352 dnl - util.h (NetBSD)
|
|
4353 AC_CHECK_FUNC(openpty, have_openpty=yes, [
|
|
4354 AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)])
|
|
4355 if test "$have_openpty" = "yes"; then
|
|
4356 AC_DEFINE(HAVE_OPENPTY)
|
|
4357 AC_CHECK_HEADERS(libutil.h util.h, break)
|
|
4358 test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system)
|
|
4359 fi
|
|
4360
|
|
4361 dnl Check for system-specific pty header files
|
|
4362 dnl Often the TIOCSIG* symbols are hiding there.
|
|
4363 case "$opsys" in
|
|
4364 dnl HPUX pty.h #defines TRUE and FALSE, so just use ptyio.h there.
|
|
4365 hpux*) AC_CHECK_HEADERS(sys/ptyio.h) ;;
|
|
4366 *) AC_CHECK_HEADERS(pty.h)
|
|
4367 test "$ac_cv_header_pty_h" = "no" && AC_CHECK_HEADERS(sys/pty.h)
|
|
4368 ;;
|
|
4369 esac
|
|
4370
|
|
4371 dnl Check for STREAM support functions.
|
|
4372 dnl Confusingly, "str" means both "string" and "SysV Streams".
|
|
4373 AC_CHECK_HEADERS(stropts.h)
|
|
4374 if test "$ac_cv_header_stropts_h" = "yes"; then
|
|
4375 AC_CHECK_FUNCS(isastream)
|
|
4376 AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL
|
|
4377 fi
|
|
4378
|
|
4379 dnl Check whether the system provides getloadavg().
|
|
4380 AC_CHECK_FUNCS(getloadavg)
|
|
4381
|
|
4382 if test "$ac_cv_func_getloadavg" = "yes"; then
|
|
4383 dnl Solaris 8 declares getloadavg() in <sys/loadavg.h>.
|
|
4384 dnl glibc 2.2 declares getloadavg() in <stdlib.h>...
|
|
4385 dnl ...if we #define _GNU_SOURCE, which we do.
|
|
4386 AC_CHECK_HEADERS(sys/loadavg.h)
|
|
4387 else
|
|
4388 dnl We define our own getloadavg() using lower level functions.
|
|
4389 XE_ADD_OBJS(getloadavg.o)
|
|
4390
|
|
4391 dnl Used by getloadavg() - does not require root priveleges
|
|
4392 AC_CHECK_LIB(kstat, kstat_open)
|
|
4393 AC_CHECK_HEADERS(kstat.h)
|
|
4394
|
|
4395 dnl Another way to get the load average
|
|
4396 AC_CHECK_LIB(kvm, kvm_read)
|
|
4397 fi
|
|
4398
|
|
4399 dnl If netdb.h does not declare h_errno, we must declare it by hand.
|
|
4400 AC_MSG_CHECKING(whether netdb declares h_errno)
|
|
4401 AC_TRY_LINK([#include <netdb.h>],
|
|
4402 [return h_errno;],
|
|
4403 [AC_MSG_RESULT(yes)
|
|
4404 AC_DEFINE(HAVE_H_ERRNO)],
|
|
4405 [AC_MSG_RESULT(no)])
|
|
4406
|
|
4407 AC_MSG_CHECKING(for sigsetjmp)
|
|
4408 AC_TRY_COMPILE([#include <setjmp.h>],
|
|
4409 [sigjmp_buf bar; sigsetjmp (bar, 0);],
|
|
4410 [AC_MSG_RESULT(yes)
|
|
4411 AC_DEFINE(HAVE_SIGSETJMP)],
|
|
4412 [AC_MSG_RESULT(no)])
|
|
4413
|
|
4414 AC_MSG_CHECKING(whether localtime caches TZ)
|
|
4415 AC_CACHE_VAL(emacs_cv_localtime_cache,
|
|
4416 [if test "$ac_cv_func_tzset" = "yes"; then
|
|
4417 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <time.h>
|
|
4418 #if STDC_HEADERS
|
|
4419 # include <stdlib.h>
|
|
4420 #endif
|
|
4421 extern char **environ;
|
|
4422 unset_TZ ()
|
|
4423 {
|
|
4424 char **from, **to;
|
|
4425 for (to = from = environ; (*to = *from); from++)
|
|
4426 if (! (to[[0]][[0]] == 'T' && to[[0]][[1]] == 'Z' && to[[0]][[2]] == '='))
|
|
4427 to++;
|
|
4428 }
|
|
4429 char TZ_GMT0[[]] = "TZ=GMT0";
|
|
4430 char TZ_PST8[[]] = "TZ=PST8";
|
|
4431 main()
|
|
4432 {
|
|
4433 time_t now = time ((time_t *) 0);
|
|
4434 int hour_GMT0, hour_unset;
|
|
4435 if (putenv (TZ_GMT0) != 0)
|
|
4436 exit (1);
|
|
4437 hour_GMT0 = localtime (&now)->tm_hour;
|
|
4438 unset_TZ ();
|
|
4439 hour_unset = localtime (&now)->tm_hour;
|
|
4440 if (putenv (TZ_PST8) != 0)
|
|
4441 exit (1);
|
|
4442 if (localtime (&now)->tm_hour == hour_GMT0)
|
|
4443 exit (1);
|
|
4444 unset_TZ ();
|
|
4445 if (localtime (&now)->tm_hour != hour_unset)
|
|
4446 exit (1);
|
|
4447 exit (0);
|
|
4448 }])], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
|
|
4449 [# If we have tzset, assume the worst when cross-compiling.
|
|
4450 emacs_cv_localtime_cache=yes])
|
|
4451 else
|
|
4452 # If we lack tzset, report that localtime does not cache TZ,
|
|
4453 # since we can't invalidate the cache if we don't have tzset.
|
|
4454 emacs_cv_localtime_cache=no
|
|
4455 fi],[:])dnl
|
|
4456 AC_MSG_RESULT($emacs_cv_localtime_cache)
|
|
4457 if test $emacs_cv_localtime_cache = yes; then
|
|
4458 AC_DEFINE(LOCALTIME_CACHE)
|
|
4459 fi
|
|
4460
|
|
4461 if test "$HAVE_TIMEVAL" = "yes"; then
|
|
4462 AC_MSG_CHECKING(whether gettimeofday accepts one or two arguments)
|
|
4463 AC_TRY_LINK([
|
|
4464 #ifdef TIME_WITH_SYS_TIME
|
|
4465 #include <sys/time.h>
|
|
4466 #include <time.h>
|
|
4467 #else
|
|
4468 #ifdef HAVE_SYS_TIME_H
|
|
4469 #include <sys/time.h>
|
|
4470 #else
|
|
4471 #include <time.h>
|
|
4472 #endif
|
|
4473 #endif
|
|
4474 ],
|
|
4475 [
|
|
4476 struct timeval time;
|
|
4477 gettimeofday (&time, 0);
|
|
4478 ],
|
|
4479 [AC_MSG_RESULT(two)],
|
|
4480 [AC_MSG_RESULT(one)
|
|
4481 AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)])
|
|
4482 fi
|
|
4483
|
|
4484
|
|
4485 AC_C_INLINE
|
|
4486 test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
|
|
4487
|
|
4488 dnl check for the typeof extension
|
|
4489 AC_MSG_CHECKING(for typeof)
|
|
4490 AC_TRY_COMPILE(, [int i; __typeof__(i) j;], typeofname="__typeof__",
|
|
4491 [AC_TRY_COMPILE(, [int i; typeof(i) j;], typeofname="typeof",
|
|
4492 typeofname=no)])
|
|
4493 AC_MSG_RESULT($typeofname)
|
|
4494 if test "$typeofname" != "no"; then
|
|
4495 AC_DEFINE_UNQUOTED(TYPEOF, $typeofname)
|
|
4496 fi
|
|
4497
|
|
4498 dnl HP-UX has a working alloca in libPW.
|
|
4499 dnl case "${GCC}${opsys}" in hpux* )
|
|
4500 dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
|
|
4501 dnl esac
|
|
4502
|
|
4503 dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca)
|
|
4504 if test "$__DECC" != "yes"; then
|
|
4505 AC_FUNC_ALLOCA
|
|
4506 test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
|
|
4507 fi
|
|
4508
|
|
4509 AC_MSG_CHECKING(for working alloca in function calls)
|
|
4510 AC_RUN_IFELSE([AC_LANG_SOURCE([
|
|
4511 #if defined (__CYGWIN__)
|
|
4512 #include <alloca.h>
|
|
4513 #elif defined (__GNUC__)
|
|
4514 #define alloca __builtin_alloca
|
|
4515 #elif defined (__DECC)
|
|
4516 #include <alloca.h>
|
|
4517 #pragma intrinsic(alloca)
|
|
4518 #elif defined (HAVE_ALLOCA_H)
|
|
4519 #include <alloca.h>
|
|
4520 #elif defined (_AIX)
|
|
4521 #pragma alloca
|
|
4522 #elif ! defined (alloca)
|
|
4523 #ifdef C_ALLOCA
|
|
4524 #define alloca xemacs_c_alloca
|
|
4525 #else
|
|
4526 void *alloca ();
|
|
4527 #endif /* C_ALLOCA */
|
|
4528 #endif /* !defined (alloca) */
|
|
4529
|
|
4530 void
|
|
4531 f1 (double a, void *ptr, int b)
|
|
4532 {
|
|
4533 unsigned char *ptr2 = (unsigned char *) ptr;
|
|
4534 if (ptr2[[0]] != 0xBF || ptr2[[1]] != 0xBF || ptr2[[3000]] != 0xBF)
|
|
4535 exit (1);
|
|
4536 if (a != 3.1415 || b != -5490)
|
|
4537 exit (1);
|
|
4538 }
|
|
4539
|
|
4540 int
|
|
4541 f2 (short c, void *ptr, long e)
|
|
4542 {
|
|
4543 unsigned char *ptr2 = (unsigned char *) ptr;
|
|
4544 if (ptr2[[0]] != 0xFB || ptr2[[1]] != 0xFB || ptr2[[1000]] != 0xFB)
|
|
4545 exit (1);
|
|
4546 if (c != 665 || e != 776776776)
|
|
4547 exit (1);
|
|
4548 f1 (3.1415, memset (alloca (3001), 0xBF, 3001), -5490);
|
|
4549 return 42;
|
|
4550 }
|
|
4551
|
|
4552 int
|
|
4553 main (int argc, char *argv[])
|
|
4554 {
|
|
4555 if (f2 (665, memset (alloca (1001), 0xFB, 1001), 776776776) != 42)
|
|
4556 return 1;
|
|
4557 return 0;
|
|
4558 }
|
|
4559 ])], working_alloca_in_function_calls=yes, working_alloca_in_function_calls=no)
|
|
4560 AC_MSG_RESULT($working_alloca_in_function_calls)
|
|
4561 test "$working_alloca_in_function_calls" != "yes" && \
|
|
4562 AC_DEFINE(BROKEN_ALLOCA_IN_FUNCTION_CALLS)
|
|
4563
|
|
4564 AC_MSG_CHECKING([for working scanf])
|
|
4565 AC_RUN_IFELSE([AC_LANG_SOURCE([
|
|
4566 int
|
|
4567 main (int argc, char **argv)
|
|
4568 {
|
|
4569 int ret, cp1, cp2, endcount;
|
|
4570 char *p = "0x7d 0x000E ";
|
|
4571 ret = sscanf (p, "%i %i%n", &cp1, &cp2, &endcount);
|
|
4572 /* endcount should be 13 but it's 11 in Cygwin newlib after 6/04;
|
|
4573 this breaks unicode.c */
|
|
4574 return endcount != 13;
|
|
4575 }
|
|
4576 ])], working_scanf=yes, working_scanf=no)
|
|
4577 AC_MSG_RESULT($working_scanf)
|
|
4578 test "$working_scanf" != "yes" && \
|
|
4579 AC_DEFINE(CYGWIN_SCANF_BUG)
|
|
4580
|
|
4581 dnl Check whether strcoll exists and works correctly. (This does more
|
|
4582 dnl than just check for its existence.) If so, it defines HAVE_STRCOLL.
|
|
4583 AC_FUNC_STRCOLL
|
|
4584
|
|
4585 dnl If `getpgrp' takes no argument (the POSIX.1 version), define
|
|
4586 dnl `GETPGRP_VOID'. Otherwise, it is the BSD version, which takes a
|
|
4587 dnl process ID as an argument.
|
|
4588 AC_CHECK_FUNCS(getpgrp)
|
|
4589 AC_FUNC_GETPGRP
|
|
4590
|
|
4591 dnl We used to call AC_FUNC_MMAP here
|
|
4592 dnl Instead we now use following, suggested by Neal Becker
|
|
4593 AC_MSG_CHECKING(for working mmap)
|
|
4594 case "$opsys" in ultrix* ) have_mmap=no ;; *)
|
|
4595 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
|
|
4596 #include <unistd.h>
|
|
4597 #include <fcntl.h>
|
|
4598 #include <sys/mman.h>
|
|
4599
|
|
4600 #ifndef MAP_VARIABLE
|
|
4601 #define MAP_VARIABLE 0
|
|
4602 #endif
|
|
4603
|
|
4604 #ifndef MAP_FAILED
|
|
4605 #define MAP_FAILED -1
|
|
4606 #endif
|
|
4607
|
|
4608 int main (int argc, char *argv[])
|
|
4609 {
|
|
4610 int fd = -1;
|
|
4611 caddr_t p;
|
|
4612 #ifndef MAP_ANONYMOUS
|
|
4613 fd = open ("/dev/zero", O_RDWR);
|
|
4614 if (fd < 0)
|
|
4615 return 1;
|
|
4616 #define MAP_ANONYMOUS 0
|
|
4617 #endif
|
|
4618 if (mmap(0, 1024, PROT_READ | PROT_WRITE,
|
|
4619 MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS,
|
|
4620 fd, 0) != (void *) MAP_FAILED)
|
|
4621 return 0;
|
|
4622 perror ("conftest: mmap failed");
|
|
4623 return 1;
|
|
4624 }])], have_mmap=yes, have_mmap=no) ;;
|
|
4625 esac
|
|
4626 AC_MSG_RESULT($have_mmap)
|
|
4627 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
|
|
4628
|
|
4629 dnl By default we switch off rel-alloc on cygwin as it generally causes us grief
|
|
4630 case "$opsys" in cygwin*)
|
|
4631 test "$with_rel_alloc" = "default" && with_rel_alloc=no ;;
|
|
4632 esac
|
|
4633 dnl rel_alloc requires either GNU malloc or system malloc with mmap
|
|
4634 dnl We only turn rel_alloc on by default if mmap is available.
|
|
4635 test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && with_rel_alloc=no
|
|
4636 if test "$with_rel_alloc $have_mmap" = "default yes"; then
|
|
4637 if test "$doug_lea_malloc" = "yes"; then
|
|
4638 dnl Check if malloc() calls mmap(), making rel_alloc pointless.
|
|
4639 AC_MSG_CHECKING(for M_MMAP_THRESHOLD)
|
|
4640 AC_TRY_COMPILE([#include <malloc.h>],[
|
|
4641 #ifndef M_MMAP_THRESHOLD
|
|
4642 #error No M_MMAP_THRESHOLD :-(
|
|
4643 !@+$%^&*_)(_ - unlikely to compile...
|
|
4644 #endif
|
|
4645 ], [with_rel_alloc=no; AC_MSG_RESULT(yes);], [with_rel_alloc=yes; AC_MSG_RESULT(no);])
|
|
4646 else
|
|
4647 with_rel_alloc=yes
|
|
4648 fi
|
|
4649 fi
|
|
4650 test "$with_rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC)
|
|
4651
|
|
4652 dnl Check for terminal I/O variants
|
|
4653 dnl TERMIOS systems may have termio.h, but not vice-versa, I think.
|
|
4654 AC_CHECK_HEADER(termios.h,
|
|
4655 AC_DEFINE(HAVE_TERMIOS)
|
|
4656 AC_DEFINE(SIGNALS_VIA_CHARACTERS)
|
|
4657 AC_DEFINE(NO_TERMIO),
|
|
4658 [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])])
|
|
4659
|
|
4660
|
|
4661 dnl Check for Internet sockets.
|
|
4662 AC_CHECK_FUNC(socket,
|
|
4663 [AC_CHECK_HEADER(netinet/in.h,
|
|
4664 [AC_CHECK_HEADER(arpa/inet.h, [
|
|
4665 AC_DEFINE(HAVE_SOCKETS)
|
|
4666 AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
|
|
4667 AC_TRY_LINK([
|
|
4668 #include <sys/types.h>
|
|
4669 #include <sys/socket.h>
|
|
4670 #include <sys/un.h>
|
|
4671 ],
|
|
4672 [static struct sockaddr_un x; x.sun_len = 1;],
|
|
4673 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
|
|
4674 [AC_MSG_RESULT(no)])
|
|
4675 AC_MSG_CHECKING("for ip_mreq struct in netinet/in.h")
|
|
4676 AC_TRY_LINK([
|
|
4677 #include <sys/types.h>
|
|
4678 #include <netinet/in.h>
|
|
4679 ],
|
|
4680 [static struct ip_mreq x;],
|
|
4681 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MULTICAST)],
|
|
4682 [AC_MSG_RESULT(no)])])])])
|
|
4683
|
|
4684 dnl Check for SYS V IPC. (Inferior to sockets.)
|
|
4685 AC_CHECK_FUNC(msgget,
|
|
4686 [AC_CHECK_HEADER(sys/ipc.h,
|
|
4687 [AC_CHECK_HEADER(sys/msg.h,
|
|
4688 [AC_DEFINE(HAVE_SYSVIPC)])])])
|
|
4689
|
|
4690 dnl Check for directory variants
|
|
4691 AC_CHECK_HEADER(dirent.h, [AC_DEFINE(SYSV_SYSTEM_DIR)],
|
|
4692 [AC_CHECK_HEADER(sys/dir.h, , [AC_DEFINE(NONSYSTEM_DIR_LIBRARY)])])
|
|
4693
|
|
4694 dnl Check for nlist.h
|
|
4695 AC_CHECK_HEADER(nlist.h, AC_DEFINE(NLIST_STRUCT), )
|
|
4696
|
|
4697 dnl Check for sound of various sorts.
|
|
4698
|
|
4699 dnl Autodetect native sound
|
|
4700 AC_CHECKING([for sound support])
|
|
4701 test -n "$with_native_sound_lib" && enable_sound_native=yes
|
|
4702
|
|
4703 if test "$enable_sound_native" != "no"; then
|
|
4704 dnl Maybe sound is already on include path...
|
|
4705 if test -n "$with_native_sound_lib"; then
|
|
4706 AC_CHECK_HEADER(multimedia/audio_device.h,
|
|
4707 [sound_found=yes sound_cflags=""
|
|
4708 XE_ADD_OBJS(sunplay.o)])
|
|
4709 fi
|
|
4710
|
|
4711 dnl Autodetect Sun native sound from SUNWaudmo package
|
|
4712 if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then
|
|
4713 if test -d "/usr/demo/SOUND/include/multimedia"; then
|
|
4714 sun_sound_cflags="-I/usr/demo/SOUND/include"
|
|
4715 elif test -d "/usr/demo/SOUND/multimedia"; then
|
|
4716 sun_sound_cflags="-I/usr/demo/SOUND"
|
|
4717 fi
|
|
4718
|
|
4719 if test -n "$with_native_sound_lib"; then
|
|
4720 sun_sound_lib="$with_native_sound_lib"
|
|
4721 elif test -r "/usr/demo/SOUND/lib/libaudio.a"; then
|
|
4722 sun_sound_lib="/usr/demo/SOUND/lib/libaudio.a"
|
|
4723 elif test -r "/usr/demo/SOUND/libaudio.a"; then
|
|
4724 sun_sound_lib="/usr/demo/SOUND/libaudio.a"
|
|
4725 fi
|
|
4726
|
|
4727 if test -n "$sun_sound_cflags" -a -n "$sun_sound_lib"; then
|
|
4728 with_native_sound_lib="$sun_sound_lib"
|
|
4729 sound_cflags="$sun_sound_cflags"
|
|
4730 sound_found=yes
|
|
4731 XE_ADD_OBJS(sunplay.o)
|
|
4732 fi
|
|
4733 fi
|
|
4734
|
|
4735 dnl Check for SGI and HP native sound libs
|
|
4736 if test -z "$sound_found"; then
|
|
4737 case "$ac_cv_build" in
|
|
4738 *-sgi-* )
|
|
4739 if test -z "$with_native_sound_lib"; then
|
|
4740 AC_CHECK_LIB(audio, ALopenport, with_native_sound_lib="-laudio")
|
|
4741 fi
|
|
4742 if test -n "$with_native_sound_lib"; then
|
|
4743 sound_found=yes sound_cflags=""
|
|
4744 XE_ADD_OBJS(sgiplay.o)
|
|
4745 fi ;;
|
|
4746 hppa*-hp-hpux* )
|
|
4747 if test -z "$with_native_sound_lib"; then
|
|
4748 AC_CHECK_LIB(Alib, AOpenAudio, with_native_sound_lib="-lAlib")
|
|
4749 fi
|
|
4750 if test -n "$with_native_sound_lib"; then
|
|
4751 sound_found=yes
|
|
4752 XE_ADD_OBJS(hpplay.o)
|
|
4753 if test "$GCC" = "yes" # Kludge city
|
|
4754 then sound_cflags="-Dconst= -Dvolatile= -I/usr/audio/examples"
|
|
4755 else sound_cflags="+e -I/usr/audio/examples"
|
|
4756 fi
|
|
4757 fi ;;
|
|
4758 esac
|
|
4759 fi
|
|
4760
|
|
4761 dnl Win32 Native uses native sound
|
|
4762 if test -z "$sound_found"; then
|
|
4763 if test "$with_msw" = "yes"; then
|
|
4764 sound_found=yes
|
|
4765 with_native_sound_lib=
|
|
4766 XE_ADD_OBJS(ntplay.o)
|
|
4767 fi
|
|
4768 fi
|
|
4769
|
|
4770 dnl Check for Linux/BSD native sound (also on recent Cygwins)
|
|
4771 if test -z "$sound_found"; then
|
|
4772 for dir in "machine" "sys" "linux"; do
|
|
4773 AC_CHECK_HEADER([${dir}/soundcard.h], [
|
|
4774 sound_found=yes
|
2663
|
4775 case "${ac_cv_build}" in
|
2651
|
4776 *netbsd* )
|
|
4777 # #### this is probably not the right way to do this
|
|
4778 # we should port to native NetBSD stuff
|
2663
|
4779
|
|
4780 dnl Aidan says: We have other things to be doing. If some
|
|
4781 dnl energetic NetBSD partisan volunteers, then yeah, cool,
|
|
4782 dnl but as it is, this works, and is unlikely to stop
|
|
4783 dnl working any time soon.
|
|
4784
|
2651
|
4785 AC_CHECK_LIB(ossaudio, _oss_ioctl,
|
2663
|
4786 [with_native_sound_lib=-lossaudio
|
2651
|
4787 AC_MSG_WARN([Using NetBSD-deprecated -lossaudio])],
|
|
4788 [sound_found=no])
|
|
4789 ;;
|
|
4790 dnl Aidan sez: OpenBSD as well can use Linux's sound API, and needs
|
|
4791 dnl the same library. Add here!
|
|
4792 esac
|
|
4793 break])
|
|
4794 done
|
|
4795
|
|
4796 if test "$sound_found" = "yes"; then
|
|
4797 need_miscplay=yes
|
|
4798 XE_ADD_OBJS(linuxplay.o)
|
|
4799 AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, ["${dir}/soundcard.h"])
|
|
4800 fi
|
|
4801 fi
|
|
4802
|
|
4803 if test "$sound_found" = "yes"; then
|
|
4804 enable_sound_native=yes
|
|
4805 else
|
|
4806 if test "$enable_sound_native" = "yes" ; then
|
|
4807 AC_MSG_WARN([No native libraries found. Disabling native sound support.])
|
|
4808 fi
|
|
4809 enable_sound_native=no
|
|
4810 fi
|
|
4811 fi
|
|
4812
|
|
4813 if test "$enable_sound_native" = "yes"; then
|
|
4814 AC_DEFINE(HAVE_NATIVE_SOUND)
|
|
4815 test -n "$with_native_sound_lib" && XE_PREPEND($with_native_sound_lib, LIBS)
|
|
4816 fi
|
|
4817
|
|
4818 dnl NAS Sound support
|
|
4819 if test "$enable_sound_nas" != "no"; then
|
|
4820 AC_CHECK_HEADER(audio/audiolib.h, [
|
|
4821 AC_CHECK_LIB(audio, AuOpenServer, have_nas_sound=yes)])
|
|
4822 if test "$have_nas_sound" = "yes"; then
|
|
4823 enable_sound_nas=yes
|
|
4824 AC_DEFINE(HAVE_NAS_SOUND)
|
|
4825 XE_ADD_OBJS(nas.o)
|
|
4826 XE_PREPEND(-laudio, libs_x)
|
|
4827 dnl If the nas library does not contain the error jump point,
|
|
4828 dnl then we force safer behavior.
|
|
4829 AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[old_nas=yes; AC_DEFINE(NAS_NO_ERROR_JUMP)])
|
|
4830 else
|
|
4831 test "$enable_sound_nas" = "yes" && \
|
|
4832 XE_DIE("Required NAS sound support cannot be provided.")
|
|
4833 enable_sound_nas=no
|
|
4834 fi
|
|
4835 fi
|
|
4836
|
|
4837 dnl ESD Sound support
|
|
4838 if test "$enable_sound_esd" != "no"; then
|
|
4839 AC_CHECK_PROG(have_esd_config, esd-config, yes, no)
|
|
4840 if test "$have_esd_config" = "yes"; then
|
|
4841 save_c_switch_site="$c_switch_site" save_LIBS="$LIBS"
|
|
4842 XE_APPEND(`esd-config --cflags`, c_switch_site)
|
|
4843 XE_PREPEND(`esd-config --libs`, LIBS)
|
|
4844 AC_CHECK_FUNC(esd_play_stream,
|
|
4845 have_esd_sound=yes,
|
|
4846 c_switch_site="$save_c_switch_site" LIBS="$save_LIBS")
|
|
4847 fi
|
|
4848
|
|
4849 if test "$have_esd_sound" = "yes"; then
|
|
4850 enable_sound_esd=yes
|
|
4851 need_miscplay=yes
|
|
4852 XE_ADD_OBJS(esd.o)
|
|
4853 AC_DEFINE(HAVE_ESD_SOUND)
|
|
4854 else
|
|
4855 test "$enable_sound_esd" = "yes" && \
|
|
4856 XE_DIE("Required ESD sound support cannot be provided.")
|
|
4857 enable_sound_esd=no
|
|
4858 fi
|
|
4859 fi
|
|
4860
|
|
4861 test "$need_miscplay" = "yes" && XE_ADD_OBJS(miscplay.o)
|
|
4862
|
|
4863 dnl ---------------------
|
|
4864 dnl TTY-dependent options
|
|
4865 dnl ---------------------
|
|
4866
|
|
4867 test -z "$with_tty" && with_tty=yes
|
|
4868
|
|
4869 if test "$with_tty" = "yes" ; then
|
|
4870 AC_CHECKING([for TTY-related features])
|
|
4871 AC_DEFINE(HAVE_TTY)
|
|
4872
|
|
4873 dnl Autodetect ncurses.
|
|
4874 if test -z "$with_ncurses"; then
|
|
4875 AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no)
|
|
4876 fi
|
|
4877 if test "$with_ncurses" = "yes"; then
|
|
4878 AC_DEFINE(HAVE_NCURSES)
|
|
4879 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
|
|
4880 AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
|
|
4881 XE_ADD_OBJS(terminfo.o)
|
|
4882 XE_PREPEND(-lncurses, LIBS)
|
|
4883
|
|
4884 if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
|
|
4885 dnl Try again, and check for the bogus ncurses/ include bug.
|
|
4886 dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of
|
|
4887 dnl <ncurses/unctrl.h>)
|
|
4888 save_c_switch_site="$c_switch_site"
|
|
4889 c_switch_site="$c_switch_site -I/usr/include/ncurses"
|
|
4890 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
|
|
4891 if test "$ac_cv_header_ncurses_curses_h" = "yes"
|
|
4892 then AC_MSG_WARN([Your system has the bogus ncurses include bug.])
|
|
4893 else c_switch_site="$save_c_switch_site"
|
|
4894 fi
|
|
4895 fi
|
|
4896 else dnl "$with_ncurses" = "no"
|
|
4897 dnl Autodetect terminfo/-lcurses/-ltermlib/-ltermcap
|
|
4898 if test "$have_terminfo" = "yes"; then
|
|
4899 XE_ADD_OBJS(terminfo.o)
|
|
4900 if test -n "$libs_termcap"; then
|
|
4901 XE_PREPEND($libs_termcap, LIBS)
|
|
4902 else
|
|
4903 for lib in curses termlib termcap; do
|
|
4904 AC_CHECK_LIB($lib, tgetent, XE_PREPEND(-l${lib}, LIBS); break)
|
|
4905 done
|
|
4906 fi
|
|
4907 else dnl "$have_terminfo" = "no" && "with_ncurses" = "no"
|
|
4908 XE_ADD_OBJS(tparam.o)
|
|
4909 dnl The HP-UX curses library seems to have a badly broken version of select(2)
|
|
4910 dnl that makes "poll: interrupted system call" messages to appear and
|
|
4911 dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
|
|
4912 case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
|
|
4913 if test -n "$libs_termcap"; then
|
|
4914 XE_PREPEND($libs_termcap, LIBS)
|
|
4915 else
|
|
4916 AC_CHECK_LIB(curses, tgetent, XE_PREPEND(-lcurses, LIBS),
|
|
4917 AC_CHECK_LIB(termcap, tgetent, XE_PREPEND(-ltermcap, LIBS),
|
|
4918 XE_ADD_OBJS(termcap.o)))
|
|
4919 fi
|
|
4920 fi
|
|
4921 fi
|
|
4922 AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}")
|
|
4923 AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}")
|
|
4924
|
|
4925 dnl General Purpose Mouse (libgpm) support
|
|
4926 if test "$with_gpm" != "no"; then
|
|
4927 AC_CHECK_HEADER(gpm.h, [
|
|
4928 AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)])
|
|
4929 if test "$have_gpm" = "yes"; then
|
|
4930 with_gpm=yes
|
|
4931 AC_DEFINE(HAVE_GPM)
|
|
4932 XE_PREPEND(-lgpm, LIBS)
|
|
4933 elif test "$with_gpm" = "yes"; then
|
|
4934 XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."])
|
|
4935 else
|
|
4936 with_gpm=no
|
|
4937 fi
|
|
4938 fi
|
|
4939
|
|
4940 else dnl "$with_tty" = "no"
|
|
4941 for feature in ncurses gpm; do
|
|
4942 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
|
|
4943 AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support])
|
|
4944 fi
|
|
4945 eval "with_${feature}=no"
|
|
4946 done
|
|
4947 fi dnl with_tty
|
|
4948
|
|
4949 dnl Database support
|
|
4950 dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
|
|
4951 dnl On FreeBSD, both DB and DBM are part of libc.
|
|
4952 dnl By default, we check for DBM support in libgdbm, then libc, then libdbm.
|
|
4953
|
|
4954 test "$enable_database_gdbm $enable_database_dbm $enable_database_berkdb" \
|
|
4955 != "no no no" && AC_CHECKING([for database support])
|
|
4956
|
|
4957 dnl Check for ndbm.h, required for either kind of DBM support.
|
|
4958 if test "$enable_database_gdbm $enable_database_dbm" != "no no"; then
|
|
4959 AC_CHECK_HEADER(ndbm.h, [:], [
|
|
4960 test "$enable_database_gdbm" = "yes" -o \
|
|
4961 "$enable_database_dbm" = "yes" && \
|
|
4962 XE_DIE("Required DBM support cannot be provided.")
|
|
4963 enable_database_gdbm=no enable_database_dbm=no])
|
|
4964 fi
|
|
4965
|
|
4966 dnl Check for DBM support in libgdbm.
|
|
4967 if test "$enable_database_gdbm" != "no"; then
|
|
4968 AC_CHECK_LIB(gdbm, dbm_open, [
|
|
4969 enable_database_gdbm=yes enable_database_dbm=no libdbm=-lgdbm], [
|
|
4970 if test "$enable_database_gdbm" = "yes"; then
|
|
4971 XE_DIE("Required GNU DBM support cannot be provided.")
|
|
4972 fi
|
|
4973 enable_database_gdbm=no])
|
|
4974 fi
|
|
4975
|
|
4976 dnl Check for DBM support in libc and libdbm.
|
|
4977 if test "$enable_database_dbm" != "no"; then
|
|
4978 AC_CHECK_FUNC(dbm_open, [enable_database_dbm=yes libdbm=], [
|
|
4979 AC_CHECK_LIB(dbm, dbm_open, [enable_database_dbm=yes libdbm=-ldbm], [
|
|
4980 test "$enable_database_dbm" = "yes" && \
|
|
4981 XE_DIE("Required DBM support cannot be provided.")
|
|
4982 enable_database_dbm=no])])
|
|
4983 fi
|
|
4984
|
|
4985 dnl Tell make about the DBM support we detected.
|
|
4986 test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
|
|
4987 test "$enable_database_gdbm" = "yes" -o \
|
|
4988 "$enable_database_dbm" = "yes" && \
|
|
4989 AC_DEFINE(HAVE_DBM)
|
|
4990
|
|
4991 dnl Check for Berkeley DB.
|
|
4992 if test "$enable_database_berkdb" != "no"; then
|
|
4993 AC_MSG_CHECKING(for Berkeley db.h)
|
|
4994 for header in "db/db.h" "db.h"; do
|
|
4995 AC_TRY_COMPILE([
|
|
4996 #include <stdlib.h>
|
|
4997 #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
|
|
4998 #ifdef HAVE_INTTYPES_H
|
|
4999 #define __BIT_TYPES_DEFINED__
|
|
5000 #include <inttypes.h>
|
|
5001 typedef uint8_t u_int8_t;
|
|
5002 typedef uint16_t u_int16_t;
|
|
5003 typedef uint32_t u_int32_t;
|
|
5004 #ifdef WE_DONT_NEED_QUADS
|
|
5005 typedef uint64_t u_int64_t;
|
|
5006 #endif
|
|
5007 #endif
|
|
5008 #endif
|
|
5009 #include <$header>
|
|
5010 ],[], db_h_file="$header"; break)
|
|
5011 done
|
|
5012 if test -z "$db_h_file"
|
|
5013 then AC_MSG_RESULT(no); enable_database_berkdb=no
|
|
5014 else AC_MSG_RESULT($db_h_file)
|
|
5015 fi
|
|
5016
|
|
5017 if test "$enable_database_berkdb" != "no"; then
|
|
5018 AC_MSG_CHECKING(for Berkeley DB version)
|
|
5019 AC_EGREP_CPP(yes,
|
|
5020 [#include <$db_h_file>
|
|
5021 #if DB_VERSION_MAJOR > 1
|
|
5022 yes
|
|
5023 #endif
|
|
5024 ], [AC_EGREP_CPP(yes,
|
|
5025 [#include <$db_h_file>
|
|
5026 #if DB_VERSION_MAJOR > 2
|
|
5027 yes
|
|
5028 #endif
|
|
5029 ], [AC_EGREP_CPP(yes,
|
|
5030 [#include <$db_h_file>
|
|
5031 #if DB_VERSION_MAJOR > 3
|
|
5032 yes
|
|
5033 #endif
|
|
5034 ], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[
|
|
5035 AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[
|
|
5036 AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[
|
|
5037 AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1])
|
|
5038 AC_CHECK_FUNC($dbfunc, enable_database_berkdb=yes need_libdb=no, [
|
|
5039 AC_CHECK_LIB(db, $dbfunc, enable_database_berkdb=yes need_libdb=yes)])
|
|
5040 fi
|
|
5041
|
|
5042 dnl Berk db 4.1 decorates public functions with version information
|
|
5043 if test "$enable_database_berkdb" != "yes" -a "$dbver" = "4"; then
|
|
5044 rm -f $tempcname
|
|
5045 echo "#include <$db_h_file>" > $tempcname
|
|
5046 echo "configure___ dbfunc=db_create" >> $tempcname
|
|
5047 define(TAB, [ ])dnl
|
|
5048 eval `$CPP -Isrc $tempcname \
|
|
5049 | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"`
|
|
5050 rm -f $tempcname
|
|
5051 AC_MSG_WARN("db_create is really $dbfunc")
|
|
5052 AC_CHECK_LIB(db, $dbfunc, enable_database_berkdb=yes need_libdb=yes)
|
|
5053 fi
|
|
5054
|
|
5055 if test "$enable_database_berkdb" = "yes"; then
|
|
5056 AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file")
|
|
5057 AC_DEFINE(HAVE_BERKELEY_DB)
|
|
5058 test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS)
|
|
5059 else enable_database_berkdb=no
|
|
5060 fi
|
|
5061 fi
|
|
5062
|
|
5063 if test "$enable_database_gdbm $enable_database_dbm $enable_database_berkdb" \
|
|
5064 != "no no no"; then
|
|
5065 AC_DEFINE(HAVE_DATABASE)
|
|
5066 fi
|
|
5067
|
|
5068 dnl Socks support
|
|
5069 if test "$with_socks" = "yes"; then
|
|
5070 AC_CHECK_LIB(socks, SOCKSinit)
|
|
5071 test -n "$ac_cv_lib_socks_SOCKSinit" && AC_DEFINE(HAVE_SOCKS)
|
|
5072 fi
|
|
5073
|
|
5074 dnl Usage tracking (undocumented and likely unused option)
|
|
5075 if test "$usage_tracking" = "yes"; then
|
|
5076 AC_DEFINE(USAGE_TRACKING)
|
|
5077 XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS)
|
|
5078 fi
|
|
5079
|
|
5080 dnl Enhanced number support
|
|
5081 if test "$enable_bignum" = "gmp"; then
|
|
5082 AC_CHECK_HEADER(gmp.h, [
|
|
5083 AC_CHECK_LIB(gmp, __gmpz_init, have_mpz_init=yes)])
|
|
5084 if test "$have_mpz_init" = "yes"; then
|
|
5085 AC_DEFINE(WITH_NUMBER_TYPES)
|
|
5086 AC_DEFINE(WITH_GMP)
|
|
5087 XE_PREPEND(-lgmp, LIBS)
|
|
5088 else
|
|
5089 XE_DIE("Required GMP numeric support cannot be provided.")
|
|
5090 fi
|
|
5091 elif test "$enable_bignum" = "mp"; then
|
|
5092 for library in "" "-lcrypto"; do
|
|
5093 AC_CHECK_HEADER(mp.h, [
|
|
5094 AC_CHECK_LIB(mp, mp_mfree, have_mp_mfree=yes; break, [
|
|
5095 AC_CHECK_LIB(mp, mfree, have_mfree=yes; break, , $library)],
|
|
5096 $library)])
|
|
5097 done
|
|
5098 if test "$have_mp_mfree" = "yes"; then
|
|
5099 AC_DEFINE(MP_PREFIX)
|
|
5100 XE_APPEND(-lmp, LIBS)
|
|
5101 if test "$library" != ""; then
|
|
5102 XE_APPEND($library, LIBS)
|
|
5103 fi
|
|
5104 AC_CHECK_FUNC(mp_move, [AC_DEFINE(HAVE_MP_MOVE)])
|
|
5105 elif test "$have_mfree" = "yes"; then
|
|
5106 XE_APPEND(-lmp, LIBS)
|
|
5107 if test "$library" != ""; then
|
|
5108 XE_APPEND($library, LIBS)
|
|
5109 fi
|
|
5110 AC_CHECK_FUNC(move, [AC_DEFINE(HAVE_MP_MOVE)])
|
|
5111 else
|
|
5112 XE_DIE("Required MP numeric support cannot be provided.")
|
|
5113 fi
|
|
5114 AC_DEFINE(WITH_NUMBER_TYPES)
|
|
5115 AC_DEFINE(WITH_MP)
|
|
5116 fi
|
|
5117
|
|
5118 dnl Unfortunately, just because we can link doesn't mean we can run.
|
|
5119 dnl One of the above link tests may have succeeded but caused resulting
|
|
5120 dnl executables to fail to run. Also any tests using AC_RUN_IFELSE will
|
|
5121 dnl have reported incorrect results.
|
|
5122 AC_RUN_IFELSE([AC_LANG_SOURCE([int main(int c,char *v[]){return 0;}])],[:],[
|
|
5123 echo ""
|
|
5124 echo "*** PANIC *** The C compiler can no longer build working executables."
|
|
5125 echo "*** PANIC *** Please examine the tail of config.log for runtime errors."
|
|
5126 echo "*** PANIC *** The most likely reason for this problem is that configure"
|
|
5127 echo "*** PANIC *** links with shared libraries, but those libraries cannot be"
|
|
5128 echo "*** PANIC *** found at run time."
|
|
5129 echo "*** PANIC ***"
|
|
5130 echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig."
|
|
5131 echo "*** PANIC *** On other systems, try telling configure where to find the"
|
|
5132 echo "*** PANIC *** shared libraries using the --with-site-runtime-libraries option"
|
|
5133 echo "*** PANIC ***"
|
|
5134 echo "*** PANIC *** Another way to shoot yourself in the foot is to specify"
|
|
5135 echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed"
|
|
5136 echo "*** PANIC *** on your system. Don't do that."
|
|
5137 exit 1])
|
|
5138
|
|
5139 dnl Process support
|
|
5140 if test "$win32_processes" != "yes"; then
|
|
5141 AC_DEFINE(HAVE_UNIX_PROCESSES)
|
|
5142 fi
|
|
5143
|
|
5144 dnl --------------------------------
|
|
5145 dnl Compute SUBST-itutable variables
|
|
5146 dnl --------------------------------
|
|
5147
|
|
5148 dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM)
|
|
5149 dnl Use XE_SPACE instead of plain assignment statements to remove extraneous blanks
|
|
5150 if test "$enable_modules" = "yes"; then
|
|
5151 ld_libs_module=
|
|
5152 else
|
|
5153 XE_SPACE(ld_libs_module, $ldap_libs $postgresql_libs)
|
|
5154 fi
|
|
5155
|
|
5156 XE_SPACE(CFLAGS, $CFLAGS)
|
|
5157 XE_SPACE(extra_objs, $extra_objs)
|
|
5158 XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system)
|
|
5159 XE_SPACE(c_switch_window_system, $c_switch_x_site $c_switch_gtk $X_CFLAGS)
|
|
5160 XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system)
|
|
5161 XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_run)
|
|
5162 XE_SPACE(ld_switch_window_system, $ld_switch_x_site)
|
|
5163 XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system)
|
|
5164 XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard)
|
|
5165 XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS)
|
|
5166 XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general $ld_libs_module)
|
|
5167
|
|
5168 dnl For no-module builds, make the src dir last
|
|
5169 if test "$enable_modules" = "no"; then
|
|
5170 XE_APPEND(src, MAKE_SUBDIR)
|
|
5171 fi
|
|
5172
|
|
5173 dnl Compute lists of Makefiles and subdirs
|
|
5174 AC_SUBST(SRC_SUBDIR_DEPS)
|
|
5175 internal_makefile_list="Makefile.in"
|
|
5176 SUBDIR_MAKEFILES=''
|
|
5177 test -d lock || mkdir lock
|
|
5178 for dir in $MAKE_SUBDIR; do
|
|
5179 case "$dir" in */* ) dnl Implement mkdir -p
|
|
5180 ( for d in `echo $dir | sed 's:/: :g'` ; do
|
|
5181 test -d "$d" || mkdir "$d"; cd "$d"
|
|
5182 done ) ;;
|
|
5183 * ) test -d "$dir" || mkdir "$dir" ;;
|
|
5184 esac
|
|
5185 XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile)
|
|
5186 XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in)
|
|
5187 done
|
|
5188 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR)
|
|
5189 AC_SUBST(MAKE_SUBDIR)
|
|
5190 AC_SUBST(SUBDIR_MAKEFILES)
|
|
5191
|
|
5192 dnl Make s&m symlinks in the src directory, for config.h.
|
|
5193 for dir in src/s src/m; do
|
|
5194 if test ! -d "$dir" ; then
|
|
5195 echo Making symbolic link to "$srcdir/$dir"
|
|
5196 ${LN_S} "$srcdir/$dir" "$dir"
|
|
5197 fi
|
|
5198 done
|
|
5199
|
|
5200 dnl Also make modules/common link if needed for the module Makefiles.
|
|
5201 if test "$need_modules_common" = "yes"; then
|
|
5202 for dir in modules/common; do
|
|
5203 if test ! -d "$dir" ; then
|
|
5204 echo Making symbolic link to "$srcdir/$dir"
|
|
5205 ${LN_S} "$srcdir/$dir" "$dir"
|
|
5206 fi
|
|
5207 done
|
|
5208 fi
|
|
5209
|
|
5210 if test "$verbose" = "yes"; then
|
|
5211 echo ""
|
|
5212 PRINT_VAR(extra_objs
|
|
5213 c_switch_general c_switch_window_system c_switch_all
|
|
5214 ld_switch_general ld_switch_window_system ld_switch_all
|
|
5215 ld_libs_general ld_libs_window_system ld_libs_all)
|
|
5216 echo ""
|
|
5217 fi
|
|
5218
|
|
5219 dnl ----------------------------------------------
|
|
5220 dnl Create some auxiliary files for developers.
|
|
5221 dnl ----------------------------------------------
|
|
5222
|
|
5223 dnl Create a .gdbinit useful for debugging XEmacs
|
|
5224 if test -f "$srcdir/src/.gdbinit" -a ! -f "src/.gdbinit"; then
|
|
5225 test "$verbose" = "yes" && echo "creating src/.gdbinit"
|
|
5226 echo "source $srcdir/src/.gdbinit" > "src/.gdbinit"
|
|
5227 fi
|
|
5228
|
|
5229 dnl Create a .dbxrc useful for debugging XEmacs
|
|
5230 if test -f "$srcdir/src/.dbxrc" -a ! -f "src/.dbxrc"; then
|
|
5231 test "$verbose" = "yes" && echo "creating src/.dbxrc"
|
|
5232 echo ". $srcdir/src/.dbxrc" > "src/.dbxrc"
|
|
5233 fi
|
|
5234
|
|
5235 dnl Create a useful TAGS file
|
|
5236 if test -f "$srcdir/TAGS" -a ! -f "TAGS"; then
|
|
5237 test "$verbose" = "yes" && echo "creating TAGS"
|
|
5238 echo "
|
|
5239 $srcdir/TAGS,include" > "TAGS"
|
|
5240 fi
|
|
5241
|
|
5242 dnl Create top level .sbinit for Sun compilers
|
|
5243 if test "$__SUNPRO_C" = "yes"; then
|
|
5244 test "$verbose" = "yes" && echo "creating .sbinit"
|
|
5245 ( echo "# For use with Sun WorkShop's Source browser."
|
|
5246 echo "# See sbquery(1) and sbinit(4) for more information"
|
|
5247 for dir in $MAKE_SUBDIR; do echo "import $dir"; done
|
|
5248 ) > .sbinit
|
|
5249 fi
|
|
5250
|
|
5251 dnl There are no more compile tests; remove the core they created.
|
|
5252 rm -f core
|
|
5253
|
|
5254 dnl ----------------------------------------------
|
|
5255 dnl Substitute into Makefile, config.h and paths.h
|
|
5256 dnl ----------------------------------------------
|
|
5257
|
|
5258 dnl what sort of things to edit into Makefile, config.h and paths.h
|
|
5259 dnl configuration here uncanonicalized to avoid exceeding size limits.
|
|
5260
|
|
5261 AC_SUBST(PROGNAME)
|
|
5262 AC_SUBST(version)
|
|
5263 AC_SUBST(inststaticdir)
|
|
5264 AC_SUBST(instvardir)
|
|
5265 AC_SUBST(srcdir)
|
|
5266 AC_SUBST(bindir)
|
|
5267 AC_SUBST(datadir)
|
|
5268 AC_SUBST(statedir)
|
|
5269 AC_SUBST(libdir)
|
|
5270 AC_SUBST(mandir)
|
|
5271 AC_SUBST(extra_includes)
|
|
5272
|
|
5273 AC_SUBST(prefix)
|
|
5274 AC_SUBST(PREFIX_USER_DEFINED)
|
|
5275 dnl Yo, Stephen Bourne! I want to marry you!
|
|
5276 PREFIX=$prefix
|
|
5277 while true; do
|
|
5278 case "$PREFIX" in
|
|
5279 *\$* ) eval "PREFIX=$PREFIX" ;;
|
|
5280 *) break ;;
|
|
5281 esac
|
|
5282 done
|
|
5283 AC_SUBST(PREFIX)
|
|
5284
|
|
5285 AC_SUBST(exec_prefix)
|
|
5286 AC_SUBST(EXEC_PREFIX_USER_DEFINED)
|
|
5287 EXEC_PREFIX=$exec_prefix
|
|
5288 while true; do
|
|
5289 case "$EXEC_PREFIX" in
|
|
5290 *\$* ) eval "EXEC_PREFIX=$EXEC_PREFIX" ;;
|
|
5291 *) break ;;
|
|
5292 esac
|
|
5293 done
|
|
5294 AC_SUBST(EXEC_PREFIX)
|
|
5295
|
|
5296 AC_SUBST(infodir)
|
|
5297 AC_SUBST(INFODIR_USER_DEFINED)
|
|
5298 INFODIR=$infodir
|
|
5299 while true; do
|
|
5300 case "$INFODIR" in
|
|
5301 *\$* ) eval "INFODIR=$INFODIR" ;;
|
|
5302 *) break ;;
|
|
5303 esac
|
|
5304 done
|
|
5305 AC_SUBST(INFODIR)
|
|
5306
|
|
5307 AC_SUBST(infopath,$with_infopath)
|
|
5308 AC_SUBST(INFOPATH_USER_DEFINED)
|
|
5309 INFOPATH=$with_infopath
|
|
5310 while true; do
|
|
5311 case "$INFOPATH" in
|
|
5312 *\$* ) eval "INFOPATH=$INFOPATH" ;;
|
|
5313 *) break ;;
|
|
5314 esac
|
|
5315 done
|
|
5316 AC_SUBST(INFOPATH)
|
|
5317
|
|
5318 if test -z "$with_package_path" && test -n "$with_package_prefix" ; then
|
|
5319 if test "$enable_mule" = "yes" ; then
|
|
5320 with_package_path="~/.xemacs::${with_package_prefix}/site-packages:${with_package_prefix}/xemacs-packages:${with_package_prefix}/mule-packages"
|
|
5321 else
|
|
5322 with_package_path="~/.xemacs::${with_package_prefix}/site-packages:${with_package_prefix}/xemacs-packages"
|
|
5323 fi
|
|
5324 fi
|
|
5325
|
|
5326 AC_SUBST(package_path,$with_package_path)
|
|
5327 AC_SUBST(PACKAGE_PATH_USER_DEFINED)
|
|
5328 PACKAGE_PATH=$with_package_path
|
|
5329 while true; do
|
|
5330 case "$PACKAGE_PATH" in
|
|
5331 *\$* ) eval "PACKAGE_PATH=$PACKAGE_PATH" ;;
|
|
5332 *) break ;;
|
|
5333 esac
|
|
5334 done
|
|
5335 AC_SUBST(PACKAGE_PATH)
|
|
5336
|
|
5337 AC_SUBST(lispdir, $with_lispdir)
|
|
5338 AC_SUBST(LISPDIR_USER_DEFINED)
|
|
5339 LISPDIR=$with_lispdir
|
|
5340 while true; do
|
|
5341 case "$LISPDIR" in
|
|
5342 *\$* ) eval "LISPDIR=$LISPDIR" ;;
|
|
5343 *) break ;;
|
|
5344 esac
|
|
5345 done
|
|
5346 AC_SUBST(LISPDIR)
|
|
5347
|
|
5348 AC_SUBST(moduledir,$with_moduledir)
|
|
5349 AC_SUBST(MODULEDIR_USER_DEFINED)
|
|
5350 MODULEDIR=$with_moduledir
|
|
5351 while true; do
|
|
5352 case "$MODULEDIR" in
|
|
5353 *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
|
|
5354 *) break ;;
|
|
5355 esac
|
|
5356 done
|
|
5357 AC_SUBST(MODULEDIR)
|
|
5358
|
|
5359 AC_SUBST(sitelispdir,$with_sitelispdir)
|
|
5360 AC_SUBST(SITELISPDIR_USER_DEFINED)
|
|
5361 SITELISPDIR=$sitelispdir
|
|
5362 while true; do
|
|
5363 case "$SITELISPDIR" in
|
|
5364 *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
|
|
5365 *) break ;;
|
|
5366 esac
|
|
5367 done
|
|
5368 AC_SUBST(SITELISPDIR)
|
|
5369
|
|
5370 AC_SUBST(sitemoduledir)
|
|
5371 AC_SUBST(SITEMODULEDIR_USER_DEFINED)
|
|
5372 SITEMODULEDIR=$sitemoduledir
|
|
5373 while true; do
|
|
5374 case "$SITEMODULEDIR" in
|
|
5375 *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;;
|
|
5376 *) break ;;
|
|
5377 esac
|
|
5378 done
|
|
5379 AC_SUBST(SITEMODULEDIR)
|
|
5380
|
|
5381 AC_SUBST(etcdir,$with_etcdir)
|
|
5382 AC_SUBST(ETCDIR_USER_DEFINED)
|
|
5383 ETCDIR=$with_etcdir
|
|
5384 while true; do
|
|
5385 case "$ETCDIR" in
|
|
5386 *\$* ) eval "ETCDIR=$ETCDIR" ;;
|
|
5387 *) break ;;
|
|
5388 esac
|
|
5389 done
|
|
5390 AC_SUBST(ETCDIR)
|
|
5391
|
|
5392 AC_SUBST(archlibdir,$with_archlibdir)
|
|
5393 AC_SUBST(ARCHLIBDIR_USER_DEFINED)
|
|
5394 ARCHLIBDIR=$with_archlibdir
|
|
5395 while true; do
|
|
5396 case "$ARCHLIBDIR" in
|
|
5397 *\$* ) eval "ARCHLIBDIR=$ARCHLIBDIR" ;;
|
|
5398 *) break ;;
|
|
5399 esac
|
|
5400 done
|
|
5401 AC_SUBST(ARCHLIBDIR)
|
|
5402
|
|
5403 AC_SUBST(docdir,$with_docdir)
|
|
5404 AC_SUBST(DOCDIR_USER_DEFINED)
|
|
5405 DOCDIR=$with_docdir
|
|
5406 while true; do
|
|
5407 case "$DOCDIR" in
|
|
5408 *\$* ) eval "DOCDIR=$DOCDIR" ;;
|
|
5409 *) break ;;
|
|
5410 esac
|
|
5411 done
|
|
5412 AC_SUBST(DOCDIR)
|
|
5413
|
|
5414 AC_SUBST(docdir)
|
|
5415 AC_SUBST(bitmapdir)
|
|
5416 AC_SUBST(extra_objs)
|
|
5417
|
|
5418 dnl The following flags combine all the information from:
|
|
5419 dnl - command line options (user always gets priority)
|
|
5420 dnl - user environment variables
|
|
5421 dnl - determined by configure
|
|
5422 dnl - the s&m header files (required for ellcc)
|
|
5423 AC_SUBST(machfile)
|
|
5424 AC_SUBST(opsysfile)
|
|
5425 AC_SUBST(c_switch_general)
|
|
5426 AC_SUBST(c_switch_window_system)
|
|
5427 AC_SUBST(c_switch_all)
|
|
5428 AC_SUBST(ld_switch_general)
|
|
5429 AC_SUBST(ld_switch_window_system)
|
|
5430 AC_SUBST(ld_switch_all)
|
|
5431 AC_SUBST(ld_libs_general)
|
|
5432 AC_SUBST(ld_libs_window_system)
|
|
5433 AC_SUBST(ld_libs_all)
|
|
5434 AC_SUBST(CFLAGS)
|
|
5435 AC_SUBST(CPPFLAGS)
|
|
5436 AC_SUBST(LDFLAGS)
|
|
5437 RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
|
|
5438 AC_SUBST(RECURSIVE_MAKE_ARGS)
|
|
5439
|
|
5440 AC_SUBST(native_sound_lib,$with_native_sound_lib)
|
|
5441 AC_SUBST(sound_cflags)
|
|
5442 AC_SUBST(RANLIB)
|
|
5443 AC_SUBST(dynodump_arch)
|
|
5444
|
|
5445 AC_SUBST(XEMACS_CC)
|
|
5446 AC_SUBST(XE_CFLAGS)
|
|
5447
|
|
5448 dnl The default is yes
|
|
5449 if test "$with_prefix" = "yes"; then
|
|
5450 AC_DEFINE(PREFIX_USER_DEFINED)
|
|
5451 fi
|
|
5452
|
|
5453 dnl The default is no
|
|
5454 if test "$with_site_lisp" = "no"; then
|
|
5455 AC_DEFINE(INHIBIT_SITE_LISP)
|
|
5456 fi
|
|
5457 dnl The default is yes
|
|
5458 if test "$with_site_modules" = "no"; then
|
|
5459 AC_DEFINE(INHIBIT_SITE_MODULES)
|
|
5460 fi
|
|
5461
|
|
5462 XE_SPACE(ac_configure_args, $ac_configure_args)
|
|
5463 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$ac_cv_build")
|
|
5464 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
|
|
5465
|
|
5466 dnl Following are deprecated
|
|
5467
|
|
5468 null_string=""
|
|
5469 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, $null_string)
|
|
5470 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, $null_string)
|
|
5471 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, $null_string)
|
|
5472 AC_DEFINE_UNQUOTED(LD_SWITCH_SITE, $null_string)
|
|
5473 AC_DEFINE_UNQUOTED(C_SWITCH_SITE, $null_string)
|
|
5474
|
|
5475 dnl Note: as a general rule, *only* define things here that are not
|
|
5476 dnl autodetected. For things that are autodetected, define them
|
|
5477 dnl at the point where the autodetection occurs or would occur,
|
|
5478 dnl so that the user gets immediate feedback on the results of the
|
|
5479 dnl autodetection.
|
|
5480
|
|
5481 if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC)
|
|
5482 elif test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC)
|
|
5483 elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC)
|
|
5484 AC_DEFINE(USE_SYSTEM_MALLOC)
|
|
5485 fi
|
|
5486 test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
|
|
5487 test "$enable_external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
|
|
5488 test "$enable_kkcc" = "yes" && AC_DEFINE(USE_KKCC)
|
2720
|
5489 test "$enable_mc_alloc" = "yes" && AC_DEFINE(MC_ALLOC)
|
2651
|
5490 test "$enable_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD)
|
|
5491 test "$with_purify" = "yes" && AC_DEFINE(PURIFY)
|
|
5492 test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY)
|
|
5493 test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP)
|
|
5494 test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS)
|
|
5495 test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD)
|
|
5496 test "$enable_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE)
|
|
5497 test "$enable_pdump" = "yes" && AC_DEFINE(PDUMP)
|
2720
|
5498 test "$enable_dump_in_exec" = "yes" && AC_DEFINE(DUMP_IN_EXEC)
|
2651
|
5499 test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE)
|
|
5500
|
|
5501
|
|
5502
|
|
5503 dnl -------------------------------------------------------------------------
|
|
5504 dnl -------------------------------
|
|
5505 dnl Report on what we decided to do
|
|
5506 dnl -------------------------------
|
|
5507
|
|
5508 dnl #### We should tag this as the _build_ environment.
|
|
5509 dnl Before doing that, though, must check if tools care about line 1.
|
|
5510
|
|
5511 (
|
|
5512 dnl /etc/osversion is on SONY NEWS-OS
|
|
5513 if test -f /etc/osversion; then dnl SONY NEWS-OS
|
|
5514 echo "osversion: `cat /etc/osversion`"
|
|
5515 else
|
|
5516 echo "uname -a: `uname -a`"
|
|
5517 fi
|
|
5518 echo ""
|
|
5519 echo "$progname $ac_configure_args"
|
|
5520 ) > Installation
|
|
5521
|
|
5522 if test ! -z ${emacs_beta_version} ; then
|
|
5523 if test -z "${emacs_is_beta}" ; then
|
|
5524 xemacs_betaname=".${emacs_beta_version}"
|
|
5525 else
|
|
5526 xemacs_betaname="-b${emacs_beta_version}"
|
|
5527 fi
|
|
5528 else
|
|
5529 xemacs_betaname=""
|
|
5530 fi
|
|
5531
|
|
5532 dnl Start stdout redirection to '| tee -a Installation'
|
|
5533 (
|
|
5534 echo "
|
|
5535
|
2938
|
5536 XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" $xemacs_extra_name configured for \`$ac_cv_build'."
|
2651
|
5537
|
|
5538 echo "
|
|
5539 Compilation Environment and Installation Defaults:"
|
|
5540 echo " Source code location: $srcdir"
|
|
5541 echo " Installation prefix: $prefix"
|
|
5542 if test -n "$with_site_includes"; then
|
|
5543 echo " Additional header files: $with_site_includes"
|
|
5544 fi
|
|
5545 if test -n "$with_site_libraries"; then
|
|
5546 echo " Additional libraries: $with_site_libraries"
|
|
5547 fi
|
|
5548 if test -n "$with_site_prefixes"; then
|
|
5549 echo " Additional prefixes: $with_site_prefixes"
|
|
5550 fi
|
|
5551 if test -n "$runpath"; then
|
|
5552 echo " Runtime library search path: $runpath"
|
|
5553 fi
|
|
5554
|
|
5555 if test -n "$opsysfile"
|
|
5556 then echo " Operating system description file: \`$opsysfile'"
|
|
5557 else echo " Not using any operating system description file"
|
|
5558 fi
|
|
5559 if test -n "$machfile"
|
|
5560 then echo " Machine description file: \`$machfile'"
|
|
5561 else echo " Not using any machine description file"
|
|
5562 fi
|
|
5563
|
|
5564 echo " Compiler version: $compiler_version"
|
|
5565 if test -n "$gcc_compiler_specs"; then
|
|
5566 echo " - GCC specs file: $gcc_compiler_specs"
|
|
5567 fi
|
|
5568 echo " - Compiler command: $XEMACS_CC $XE_CFLAGS"
|
|
5569 if test "$CC" != "$XEMACS_CC"; then
|
|
5570 echo " Compiler version for lib-src: (detection code unimplemented)"
|
|
5571 echo " - Compiler command for lib-src: $CC $CFLAGS"
|
|
5572 if test "$xemacs_cc_cc_mismatch" = "yes"; then
|
|
5573 echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully."
|
|
5574 fi
|
|
5575 fi
|
|
5576 echo " libc version: $libc_version"
|
|
5577 echo " Relocating allocator for buffers: $with_rel_alloc"
|
|
5578 echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}"
|
|
5579 case "$ld_switch_site" in
|
|
5580 *nocombreloc*) echo " Linking with \`-z nocombreloc'.
|
|
5581 - Consider configuring with --enable-pdump." ;;
|
|
5582 esac
|
|
5583
|
|
5584 echo "
|
|
5585 Window System:"
|
|
5586 if test "$with_msw" = "yes"; then
|
|
5587 echo " Compiling in support for the Microsoft window system."
|
|
5588 fi
|
|
5589 if test "$with_x11" = "yes"; then
|
|
5590 echo " Compiling in support for the X window system:"
|
|
5591 echo " - X Windows headers location: $x_includes"
|
|
5592 echo " - X Windows libraries location: $x_libraries"
|
|
5593 if test "$with_xauth" != yes; then
|
|
5594 echo " - Xau (X authority) not available."
|
|
5595 fi
|
|
5596 if test "$with_xmu" != yes; then
|
|
5597 echo " - Xmu library not available; substituting equivalent routines."
|
|
5598 fi
|
|
5599 if test "$with_wmcommand" != no; then
|
|
5600 echo " - Handling WM_COMMAND properly."
|
|
5601 fi
|
|
5602 fi
|
|
5603 if test "$need_athena" = "yes"; then
|
|
5604 echo " Compiling in support for the Athena widget set:"
|
|
5605 echo " - Athena headers location: $athena_h_path"
|
|
5606 echo " - Athena library to link: $athena_lib"
|
|
5607 fi
|
|
5608 case "$enable_menubars" in
|
|
5609 gtk ) echo " Using GTK menubars." ;;
|
|
5610 lucid ) echo " Using Lucid menubars." ;;
|
|
5611 motif ) echo " Using Motif menubars."
|
|
5612 echo " *WARNING* The Motif menubar implementation is currently buggy."
|
|
5613 echo " We recommend using the Lucid menubar instead."
|
|
5614 echo " Re-run configure with --enable-menubars='lucid'." ;;
|
|
5615 msw ) echo " Using MS-Windows menubars." ;;
|
|
5616 esac
|
|
5617 case "$enable_scrollbars" in
|
|
5618 gtk ) echo " Using GTK scrollbars." ;;
|
|
5619 lucid ) echo " Using Lucid scrollbars." ;;
|
|
5620 motif ) echo " Using Motif scrollbars." ;;
|
|
5621 athena ) echo " Using Athena scrollbars." ;;
|
|
5622 msw ) echo " Using MS-Windows scrollbars." ;;
|
|
5623 esac
|
|
5624 case "$enable_dialogs" in
|
|
5625 gtk ) echo " Using GTK dialog boxes." ;;
|
|
5626 motif ) echo " Using Motif dialog boxes."
|
|
5627 if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
|
|
5628 echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher."
|
|
5629 echo " We recommend using the Athena dialog boxes instead."
|
|
5630 echo " Install libXaw and re-run configure with --enable-dialogs='athena'."
|
|
5631 echo " Read the PROBLEMS file for more information."
|
|
5632 fi; fi ;;
|
|
5633 athena ) echo " Using Athena dialog boxes." ;;
|
|
5634 msw ) echo " Using MS-Windows dialog boxes." ;;
|
|
5635 esac
|
|
5636 case "$enable_widgets" in
|
|
5637 gtk ) echo " Using GTK native widgets." ;;
|
|
5638 motif ) echo " Using Motif native widgets." ;;
|
|
5639 athena ) echo " Using Athena native widgets." ;;
|
|
5640 msw ) echo " Using MS-Windows native widgets." ;;
|
|
5641 esac
|
|
5642 if test "$with_dragndrop" = yes; then
|
|
5643 echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)."
|
|
5644 echo " - Drag'n'Drop prototype: $dragndrop_proto."
|
|
5645 fi
|
|
5646
|
|
5647 echo "
|
|
5648 TTY:"
|
|
5649 test "$with_ncurses" = yes && echo " Compiling in support for ncurses."
|
|
5650 test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)."
|
|
5651
|
|
5652 echo "
|
|
5653 Images:"
|
|
5654 test "$with_gif" = yes && echo " Compiling in support for GIF images (builtin)."
|
|
5655 if test "$with_xpm" = yes; then
|
|
5656 echo " Compiling in support for XPM images."
|
|
5657 elif test "$with_x11" = yes; then
|
|
5658 echo " WARNING: -----------------------------------------------------------"
|
|
5659 echo " WARNING: Compiling without XPM image support."
|
|
5660 if test "$xpm_problem" != ""; then
|
|
5661 echo " Reason: $xpm_problem"
|
|
5662 fi
|
|
5663 echo " WARNING: You should strongly consider installing XPM."
|
|
5664 echo " WARNING: Otherwise toolbars and other graphics will look suboptimal."
|
|
5665 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
|
|
5666 echo " WARNING: -----------------------------------------------------------"
|
|
5667 fi
|
|
5668 if test "$with_png" = yes; then
|
|
5669 echo " Compiling in support for PNG images."
|
|
5670 elif test "$window_system" != "none"; then
|
|
5671 echo " WARNING: -----------------------------------------------------------"
|
|
5672 echo " WARNING: Compiling without PNG image support."
|
|
5673 if test "$png_problem" != ""; then
|
|
5674 echo " Reason: $png_problem"
|
|
5675 fi
|
|
5676 echo " WARNING: You should strongly consider installing the PNG libraries."
|
|
5677 echo " WARNING: Otherwise certain images and glyphs may not display."
|
|
5678 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
|
|
5679 echo " WARNING: -----------------------------------------------------------"
|
|
5680 fi
|
|
5681 test "$with_jpeg" = yes && echo " Compiling in support for JPEG images."
|
|
5682 test "$with_tiff" = yes && echo " Compiling in support for TIFF images."
|
|
5683 test "$with_xface" = yes && echo " Compiling in support for X-Face message headers."
|
|
5684
|
|
5685 echo "
|
|
5686 Sound:"
|
|
5687 test "$enable_sound_native" = yes && echo " Compiling in support for sound (native)."
|
|
5688 test "$enable_sound_nas" = yes && echo " Compiling in support for NAS (network audio system)."
|
|
5689 test "$old_nas" = yes && echo " - NAS library lacks error trapping; will play synchronously."
|
|
5690 test "$enable_sound_esd" = yes && echo " Compiling in support for ESD (Enlightened Sound Daemon)."
|
|
5691
|
|
5692 echo "
|
|
5693 Databases:"
|
|
5694 test "$enable_database_berkdb" = yes && echo " Compiling in support for Berkeley database."
|
|
5695 test "$enable_database_dbm" = yes && echo " Compiling in support for DBM."
|
|
5696 test "$enable_database_gdbm" = yes && echo " Compiling in support for GNU DBM."
|
|
5697 test "$with_ldap" = yes && echo " Compiling in support for LDAP."
|
|
5698 if test "$with_postgresql" = yes; then
|
|
5699 echo " Compiling in support for PostgreSQL."
|
|
5700 echo " - Using PostgreSQL header file: $libpq_fe_h_file"
|
|
5701 test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings."
|
|
5702 fi
|
|
5703
|
|
5704 echo "
|
|
5705 Internationalization:"
|
|
5706 test "$enable_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)."
|
|
5707 test "$with_xim" != no && echo " Compiling in support for XIM (X11R5+ I18N input method)."
|
|
5708 test "$with_xim" = motif && echo " - Using Motif to provide XIM support."
|
|
5709 test "$with_xim" = xlib && echo " - Using raw Xlib to provide XIM support."
|
|
5710 test "$with_xfs" = yes && echo " - Using XFontSet to provide bilingual menubar."
|
|
5711 test "$with_canna" = yes && echo " Compiling in support for Canna on Mule."
|
|
5712 if test "$with_wnn" = yes; then
|
|
5713 echo " Compiling in support for the WNN input method on Mule."
|
|
5714 test "$with_wnn6" = yes && echo " - Using WNN version 6."
|
|
5715 fi
|
|
5716
|
|
5717 echo "
|
|
5718 Mail:"
|
|
5719 test "$with_pop" = yes && echo " Compiling in support for POP mail retrieval."
|
|
5720 test "$with_kerberos" = yes && echo " Compiling in support for Kerberos POP authentication."
|
|
5721 test "$with_hesiod" = yes && echo " Compiling in support for Hesiod POP server access."
|
|
5722 test -n "$with_mail_locking" && echo " Compiling in support for \"$with_mail_locking\" mail spool file locking method."
|
|
5723
|
|
5724 echo "
|
|
5725 Other Features:"
|
|
5726 test "$with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup."
|
|
5727 test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
|
|
5728 test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop."
|
|
5729 test "$with_socks" = yes && echo " Compiling in support for SOCKS."
|
|
5730 test "$with_dnet" = yes && echo " Compiling in support for DNET."
|
|
5731 test "$enable_modules" = "yes" && echo " Compiling in support for dynamic shared object modules."
|
|
5732 test "$enable_bignum" = "gmp" && echo " Compiling in support for more number types using the GNU MP library."
|
|
5733 test "$enable_bignum" = "mp" && echo " Compiling in support for more number types using the BSD MP library."
|
|
5734 if test "$enable_union_type" = yes ; then
|
|
5735 echo " Using the union type for Lisp_Objects."
|
|
5736 echo " WARNING: ---------------------------------------------------------"
|
|
5737 echo " WARNING: This tends to trigger compiler bugs, especially when"
|
|
5738 echo " WARNING: combined with MULE and ERROR_CHECKING. Crashes have"
|
|
5739 echo " WARNING: been seen with various versions of GCC (up to about 2.95),"
|
|
5740 echo " WARNING: and recently with Visual C++ as well (mid-2003)."
|
|
5741 echo " WARNING: More recent versions may be safer, or not."
|
|
5742 echo " WARNING: ---------------------------------------------------------"
|
|
5743 fi
|
2790
|
5744 if test "$enable_kkcc" = yes ; then
|
|
5745 echo " Using the new GC algorithms."
|
|
5746 echo " WARNING: ---------------------------------------------------------"
|
|
5747 echo " WARNING: The new algorithms are experimental. They are enabled by"
|
|
5748 echo " WARNING: default for this release. Use \`--disable-kkcc' to"
|
|
5749 echo " WARNING: turn it off."
|
|
5750 echo " WARNING: ---------------------------------------------------------"
|
|
5751 fi
|
|
5752 if test "$enable_mc_alloc" = yes ; then
|
|
5753 echo " Using the new allocator."
|
|
5754 echo " WARNING: ---------------------------------------------------------"
|
|
5755 echo " WARNING: The new allocator is experimental. It is enabled by"
|
|
5756 echo " WARNING: default for this release. Use \`--disable-mc-alloc' to"
|
|
5757 echo " WARNING: turn it off."
|
|
5758 echo " WARNING: ---------------------------------------------------------"
|
|
5759 fi
|
2651
|
5760 test "$enable_pdump" = yes && echo " Using the new portable dumper."
|
2720
|
5761 test "$enable_dump_in_exec" = yes && echo " Dumping into executable."
|
2651
|
5762 test "$enable_debug" = yes && echo " Compiling in support for extra debugging code."
|
|
5763 test "$usage_tracking" = yes && echo " Compiling in support for active usage tracking (Sun internal)."
|
|
5764 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" \
|
|
5765 != "no no no no no no no no no"; then
|
|
5766 echo " Compiling in support for runtime error checking."
|
|
5767 echo " WARNING: ---------------------------------------------------------"
|
|
5768 echo " WARNING: XEmacs will run noticeably more slowly as a result."
|
|
5769 echo " WARNING: Error checking is on by default for XEmacs beta releases."
|
|
5770 echo " WARNING: ---------------------------------------------------------"
|
|
5771 fi
|
|
5772 echo ""
|
|
5773 ) | tee -a Installation
|
|
5774 dnl echo "The above configure report is appended to \"Installation\" file."
|
|
5775 echo ""
|
|
5776
|
|
5777 dnl -----------------------------------
|
|
5778 dnl Now generate config.h and Makefiles
|
|
5779 dnl -----------------------------------
|
|
5780 AC_CONFIG_HEADER(src/config.h lwlib/config.h)
|
|
5781
|
|
5782 dnl This has to be called in order for this variable to get into config.status
|
|
5783 AC_SUBST(internal_makefile_list)
|
|
5784 # Remove any trailing slashes in these variables.
|
|
5785 test -n "$prefix" &&
|
|
5786 prefix=`echo '' "$prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
|
|
5787 test -n "$exec_prefix" &&
|
|
5788 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
|
|
5789
|
|
5790 dnl Build Makefile.in's from Makefile.in.in's
|
|
5791 dnl except ./Makefile from $srcdir/Makefile.in
|
|
5792 dnl src/Makefile.in will have src/depend appended to it;
|
|
5793 dnl module Makefiles will have the common text in
|
|
5794 dnl modules/common/Makefile.common appended.
|
|
5795
|
|
5796 for file in $internal_makefile_list; do
|
|
5797 case $file in
|
|
5798 src/Makefile.in ) file="src/Makefile.in:src/Makefile.in.in:src/depend" ;;
|
|
5799 modules/* ) file="${file}:${file}.in:modules/common/Makefile.common" ;;
|
|
5800 esac
|
|
5801 AC_CONFIG_FILES($file)
|
|
5802 done
|
|
5803 AC_CONFIG_FILES(src/paths.h src/xemacs.def.in lib-src/config.values)
|
|
5804 test "$enable_modules" = "yes" && AC_CONFIG_FILES(lib-src/ellcc.h)
|
|
5805
|
|
5806
|
|
5807 dnl Normally []'s are used for quoting but this will cause problems
|
|
5808 dnl since we use brackets in sed. When not inside of a macro definition,
|
|
5809 dnl two brackets become one, but inside of a macro definition you need
|
|
5810 dnl more, or something -- I don't understand, but Martin probably does.
|
|
5811 dnl We put the brackets back later.
|
|
5812 dnl [ben]
|
|
5813
|
|
5814 dnl MAKE_JUNK_C(filename):
|
|
5815 dnl Copy a .in file to junk.c in preparation for passing through the
|
|
5816 dnl C preprocessor. Delete comment lines, pass lines that will be
|
|
5817 dnl interpreted by cpp through directly, and put quotes around remaining
|
|
5818 dnl lines, to avoid problems from overly helpful preprocessors that
|
|
5819 dnl "helpfully" put extra quotes in various places for later use by the
|
|
5820 dnl compiler. Later, the quotes will be removed.
|
|
5821
|
|
5822 m4_define([MAKE_JUNK_C],
|
|
5823 [ rm -f junk.c
|
|
5824 < $1 \
|
|
5825 sed -e '/^# Generated/d' \
|
|
5826 -e 's%/\*\*/#.*%%' \
|
|
5827 -e 's/^ *# */#/' \
|
|
5828 dnl Delete Makefile.in.in comment lines
|
|
5829 -e '/^##/d' \
|
|
5830 dnl Pass through CPP directives unchanged
|
|
5831 -e '/^#/ {
|
|
5832 p
|
|
5833 d
|
|
5834 }' \
|
|
5835 dnl Quote other lines to protect from CPP substitution
|
|
5836 -e '/./ {
|
|
5837 s/\([[\"]]\)/\\\1/g
|
|
5838 s/^/"/
|
|
5839 s/$/"/
|
|
5840 }' > junk.c;
|
|
5841 ])dnl MAKE_JUNK_C
|
|
5842
|
|
5843 dnl CPP_MAKEFILE(CPPFLAGS,filename):
|
|
5844 dnl Pass junk.c through the preprocessor and put the result in FILENAME.
|
|
5845
|
|
5846 m4_define([CPP_MAKEFILE],
|
|
5847 [echo creating $dir/$2
|
|
5848 $CPP -I. -I${srcdir}/src $1 junk.c \
|
|
5849 dnl Delete line directives inserted by $CPP
|
|
5850 | sed -e 's/^\#.*//' \
|
|
5851 dnl Delete spurious blanks inserted by $CPP
|
|
5852 -e 's/^[[ TAB]][[ TAB]]*$//'\
|
|
5853 -e 's/^ /TAB/' \
|
|
5854 dnl Delete blank lines
|
|
5855 -e '/^[[ ]]*$/d' \
|
|
5856 dnl Restore lines quoted above to original contents.
|
|
5857 -e '/^\"/ {
|
|
5858 s/\\\([[\"]]\)/\1/g
|
|
5859 s/^[[ TAB]]*\"//
|
|
5860 s/\"[[ TAB]]*$//
|
|
5861 }' > Makefile.new
|
|
5862 chmod 444 Makefile.new
|
|
5863 mv -f Makefile.new $2
|
|
5864 ])dnl CPP_MAKEFILE
|
|
5865
|
|
5866 AC_CONFIG_COMMANDS([default],
|
|
5867 [for dir in . $MAKE_SUBDIR; do
|
|
5868 (
|
|
5869 cd $dir
|
|
5870
|
|
5871 dnl Create a GNUmakefile and Makefile from Makefile.in.
|
|
5872 dnl Create xemacs.def from xemacs.def.in in the same fashion,
|
|
5873 dnl if it exists (i.e. in the src/ directory).
|
|
5874 MAKE_JUNK_C(Makefile.in)
|
|
5875 CPP_MAKEFILE(,Makefile)
|
|
5876 CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile)
|
|
5877 if test -r "xemacs.def.in"; then
|
|
5878 dnl #### We should be using MAKE_JUNK_C instead of the next two lines.
|
|
5879 dnl #### But the comments in xemacs.def.in need to be converted from C-style
|
|
5880 dnl #### to lines beginning with ##.
|
|
5881 rm -f junk.c
|
|
5882 cp xemacs.def.in junk.c
|
|
5883 CPP_MAKEFILE(,xemacs.def)
|
|
5884 fi
|
|
5885 rm -f junk.c
|
|
5886 )
|
|
5887 done
|
|
5888
|
|
5889 dnl Append AC_DEFINE information to lib-src/config.values
|
|
5890 dnl (AC_SUBST information is already there (see config.values.sh).
|
|
5891 sed < config.status >> lib-src/config.values \
|
|
5892 -e '/{ac_dA}.*{ac_dB}.*{ac_dC}.*{ac_dD}$/!d' \
|
|
5893 -e 's/\${ac_dA}\(.*\)\${ac_dB}.*\${ac_dC}\(.*\)\${ac_dD}/\1 \2/' \
|
|
5894 -e 's/^\([[^ ]]*\) $/\1 ""/' \
|
|
5895 -e 's/ 1$/ t/'
|
|
5896
|
|
5897 ],
|
|
5898 [CPP="$CPP"
|
|
5899 MAKE_SUBDIR="$MAKE_SUBDIR"
|
|
5900 ])dnl
|
|
5901
|
|
5902 AC_OUTPUT()dnl
|
|
5903
|