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