2651
|
1 dnl XEmacs config script for autoconf 2.5.
|
|
2 dnl -------------------------------------------------------------------------
|
|
3 dnl Overrides of standard autoconf macros.
|
|
4
|
|
5 # AC_LANG(C)
|
|
6 # ----------
|
|
7 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
|
8 m4_define([AC_LANG(C)],
|
|
9 [ac_ext=c
|
|
10 xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
|
|
11 xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site $ld_switch_run'
|
|
12 xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard'
|
|
13 ac_cpp='$CPP '"$xe_cppflags"
|
2667
|
14 ac_compile='$CC -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
|
2651
|
15 ac_link='$CC -o conftest$ac_exeext $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' >&AS_MESSAGE_LOG_FD'
|
|
16 ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|
17 ])
|
|
18
|
|
19 dnl -------------------------------------------------------------------------
|
|
20 dnl Autoconf startup.
|
|
21
|
|
22 AC_PREREQ(2.59)dnl
|
|
23 AC_INIT(src/lisp.h)dnl
|
|
24
|
|
25 dnl -------------------------------------------------------------------------
|
|
26 dnl Local copyright notices.
|
|
27
|
|
28 AC_COPYRIGHT(
|
|
29 [#### Configuration script for XEmacs. Largely divergent from FSF.
|
|
30 #### Guess values for system-dependent variables and create Makefiles.
|
|
31 #### Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
|
|
32 #### Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
|
|
33 #### Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
34 #### Copyright (C) 1993, 1994, 1995 Board of Trustees, University of Illinois.
|
|
35 #### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
|
|
36 #### Copyright (C) 1995, 1996, 2002, 2003, 2004 Ben Wing.
|
|
37 #### Copyright (C) 2000, 2001 Martin Buchholz.
|
|
38 #### Copyright (C) 1998, 1999 J. Kean Johnston.
|
|
39 #### Copyright (C) 2005 Malcolm Purvis
|
|
40
|
|
41 ### Don't edit this script!
|
|
42 ### This script was automatically generated by the `autoconf' program
|
|
43 ### from the file `./configure.in'.
|
|
44 ### To rebuild it, execute the command
|
|
45 ### autoconf
|
|
46 ### in the this directory. You must have autoconf version 2.50 or later.
|
|
47 ### Note: this script has been tested only with autoconf version 2.5x.
|
|
48
|
|
49 ### This file is part of XEmacs.
|
|
50
|
|
51 ### XEmacs is free software; you can redistribute it and/or modify it
|
|
52 ### under the terms of the GNU General Public License as published by
|
|
53 ### the Free Software Foundation; either version 2, or (at your
|
|
54 ### option) any later version.
|
|
55
|
|
56 ### XEmacs is distributed in the hope that it will be useful, but
|
|
57 ### WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
58 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
59 ### General Public License for more details.
|
|
60
|
|
61 ### You should have received a copy of the GNU General Public License
|
|
62 ### along with XEmacs; see the file COPYING. If not, write to the Free
|
|
63 ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
64 ### 02111-1307, USA.
|
|
65
|
|
66 ### For usage, run `./configure --help'
|
|
67 ### For more detailed information on building and installing XEmacs,
|
|
68 ### read the file `INSTALL'.
|
|
69 ###
|
|
70 ### If configure succeeds, it leaves its status in config.status.
|
|
71 ### A log of configuration tests can be found in config.log.
|
|
72 ### If configure fails after disturbing the status quo,
|
|
73 ### config.status is removed.
|
|
74 ])
|
|
75
|
|
76 dnl -------------------------------------------------------------------------
|
|
77 dnl Program name (sanitize $0)
|
|
78 dnl Remove any more than one leading "." element from the path name.
|
|
79 dnl config.status prepends another "./" at each use. This confuses
|
|
80 dnl move-if-change.
|
|
81 dnl
|
|
82 dnl Unfortunately, some seds (Ultrix's) don't allow you to apply * to a
|
|
83 dnl \( \) group. Bleah. Remove the level config.status adds, at least.
|
|
84 dnl
|
|
85 dnl If there's reason to prefer $0 over this, make sure you fix all the
|
|
86 dnl uses in this script!!
|
|
87 progname="`echo $0 | sed 's:^\./\./:\./:'`"
|
|
88
|
|
89 dnl -------------------------------------------------------------------------
|
|
90 dnl Local macros
|
|
91
|
|
92 define([USAGE_ERROR],
|
|
93 [(echo "$progname: Usage error:"
|
|
94 echo " " $1
|
|
95 echo " Use \`$progname --help' to show usage.") >&2 && exit 1])
|
|
96
|
|
97 dnl PRINT_VAR(var var ...) prints values of shell variables
|
|
98 define([PRINT_VAR],[for var in patsubst([$1],[[
|
|
99 ]+],[ ]); do eval "echo \"$var = '\$$var'\""; done])
|
|
100
|
|
101 dnl XE_ADD_OBJS(foo.o)
|
|
102 define([XE_ADD_OBJS],
|
|
103 [extra_objs="$extra_objs [$1]" && dnl
|
|
104 if test "$verbose" = "yes"; then
|
|
105 echo " xemacs will be linked with \"[$1]\""
|
|
106 fi])dnl XE_ADD_OBJS
|
|
107
|
|
108 dnl XE_APPEND(value, varname)
|
|
109 define([XE_APPEND],
|
|
110 [[$2]="$[$2] [$1]" && dnl
|
|
111 if test "$verbose" = "yes"; then echo " Appending \"[$1]\" to \$[$2]"; fi])
|
|
112
|
|
113 dnl XE_PREPEND(value, varname)
|
|
114 define([XE_PREPEND],
|
|
115 [[$2]="[$1] $[$2]" && dnl
|
|
116 if test "$verbose" = "yes"; then echo " Prepending \"[$1]\" to \$[$2]"; fi])
|
|
117
|
|
118 dnl XE_DIE(message)
|
|
119 define([XE_DIE], [{ echo "Error:" $1 >&2; exit 1; }])
|
|
120
|
|
121 dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2)
|
|
122 define([XE_CHECK_FEATURE_DEPENDENCY],
|
|
123 [if test "$with_[$1] $with_[$2]" = "yes no"; then
|
|
124 USAGE_ERROR("--with-[$1] requires --with-[$2]")
|
|
125 elif test "$with_[$2]" = "no" ; then with_[$1]=no
|
|
126 elif test "$with_[$1]" = "yes"; then with_[$2]=yes
|
|
127 fi
|
|
128 ])
|
|
129
|
|
130 dnl XE_STRIP_4TH_COMPONENT(var)
|
|
131 dnl Changes i986-pc-linux-gnu to i986-pc-linux, as God (not RMS) intended.
|
|
132 define([XE_STRIP_4TH_COMPONENT],
|
|
133 [$1=`echo "$$1" | sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'`])
|
|
134
|
|
135 dnl Do our best to deal with automounter brokenness
|
|
136 dnl CANONICALIZE_PATH(varname)
|
|
137 define([CANONICALIZE_PATH],
|
|
138 [if test -d "/net"; then
|
|
139 if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi
|
|
140 $1=`echo "[$]$1" | \
|
|
141 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
|
|
142 fi])dnl
|
|
143
|
|
144 dnl XE_PROTECT_LINKER_FLAGS(shell_var)
|
|
145 define([XE_PROTECT_LINKER_FLAGS], [
|
|
146 if test "$GCC" = "yes"; then
|
|
147 set x $[$1]; shift; [$1]=""
|
|
148 while test -n "[$]1"; do
|
|
149 case [$]1 in
|
|
150 -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;;
|
|
151 -L* | -l* | -u* | -Wl* | -pg ) [$1]="$[$1] [$]1" ;;
|
|
152 -Xlinker* ) ;;
|
|
153 * ) [$1]="$[$1] -Xlinker [$]1" ;;
|
|
154 esac
|
|
155 shift
|
|
156 done
|
|
157 fi])dnl
|
|
158
|
|
159 dnl Allow use of either ":" or spaces for lists of directories
|
|
160 define(COLON_TO_SPACE,
|
|
161 [case "$[$1]" in *:* [)] [$1]="`echo '' $[$1] | sed -e 's/^ //' -e 's/:/ /g'`";; esac])dnl
|
|
162
|
|
163 dnl XE_ADD_RUNPATH_DIR(directory)
|
|
164 define([XE_ADD_RUNPATH_DIR],[{
|
|
165 xe_runpath_dir=$1
|
|
166 dnl PRINT_VAR(ld_switch_site ld_switch_x_site runpath xe_runpath_dir LD_RUN_PATH xe_ldflags)
|
|
167 test "$xe_runpath_dir" != "/lib" -a \
|
|
168 "$xe_runpath_dir" != "/usr/lib" -a \
|
|
169 -n "`ls ${xe_runpath_dir}/*.s[[ol]] 2>/dev/null`" && \
|
|
170 eval "$xe_add_unique_runpath_dir"
|
|
171 }])dnl
|
|
172
|
|
173 dnl XE_COMPUTE_RUNPATH()
|
|
174 define([XE_COMPUTE_RUNPATH],[
|
|
175 if test "$add_runtime_path" = "yes" -a -n "$dash_r"; then
|
|
176 dnl Remove runtime paths from current ld switches
|
|
177 ld_switch_site=`echo '' $ld_switch_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"`
|
|
178 ld_switch_x_site=`echo '' $ld_switch_x_site | sed -e 's:^ ::' -e "s/$dash_r[[^ ]]*//g"`
|
|
179 dnl PRINT_VAR(ld_switch_site ld_switch_x_site)
|
|
180
|
|
181 dnl Fix up Runtime path
|
|
182 dnl If LD_RUN_PATH is set in environment, use that.
|
|
183 dnl In this case, assume user has set the right value.
|
|
184 runpath="" runpath_dirs=""
|
|
185 if test -n "$LD_RUN_PATH"; then
|
|
186 runpath="$LD_RUN_PATH"
|
|
187 elif test "$GCC" = "yes"; then
|
|
188 dnl Compute runpath from gcc's -v output
|
|
189 ld_switch_run_save="$ld_switch_run"; ld_switch_run=""
|
|
190 echo "int main(int argc, char *argv[[]]) {return 0;}" > conftest.c
|
|
191 xe_runpath_link='${CC-cc} -o conftest -v $CFLAGS '"$xe_ldflags"' conftest.$ac_ext 2>&1 1>/dev/null'
|
|
192 for arg in `eval "$xe_runpath_link" | grep ' -L'`; do
|
|
193 case "$arg" in P,* | -L* | -R* )
|
|
194 for dir in `echo '' "$arg" | sed -e 's:^ ::' -e 's/^..//' -e 'y/:/ /'`; do
|
|
195 XE_ADD_RUNPATH_DIR("$dir")
|
|
196 done ;;
|
|
197 esac
|
|
198 done
|
|
199 ld_switch_run="$ld_switch_run_save"
|
|
200 rm -f conftest*
|
|
201 else
|
|
202 dnl Add all directories with .so files to runpath
|
|
203 for arg in $ld_switch_site $ld_switch_x_site; do
|
|
204 case "$arg" in -L*) XE_ADD_RUNPATH_DIR(`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'`);; esac
|
|
205 done
|
|
206 dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available
|
|
207 if test "$opsys $need_motif" = "sol2 yes"; then
|
|
208 xe_runpath_dir="/opt/SUNWdt/lib";
|
|
209 eval "$xe_add_unique_runpath_dir";
|
|
210 fi
|
|
211 fi dnl Compute $runpath
|
|
212
|
|
213 if test -n "$runpath"; then
|
|
214 ld_switch_run="${dash_r}${runpath}"
|
|
215 XE_PROTECT_LINKER_FLAGS(ld_switch_run)
|
|
216 test "$verbose" = "yes" && echo "Setting runpath to $runpath"
|
|
217 fi
|
|
218 fi
|
|
219 ])dnl
|
|
220
|
|
221 dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
|
|
222 dnl So we use the following instead.
|
|
223 dnl XE_SPACE(var, words)
|
|
224 define([XE_SPACE],[
|
|
225 T=""
|
|
226 for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
|
|
227 $1="$T"
|
|
228 ])dnl XE_SPACE
|
|
229
|
|
230 dnl XEmacs keyword option support
|
|
231 dnl =============================
|
|
232 dnl
|
|
233 dnl A "keyword" option is one that accepts one of a number of pre-defined
|
|
234 dnl values. For example --with-mail-locking=flock.
|
|
235 dnl The descriptions below provide prototypes and little more.
|
|
236 dnl
|
|
237 dnl For more information,
|
|
238 dnl (Info-goto-node "(internals)The configure Script")
|
|
239 dnl To edit the documentation,
|
|
240 dnl (progn (find-file "man/internals/internals.texi"))
|
|
241 dnl and search for "@node The configure Script".
|
|
242 dnl
|
|
243 dnl XE_PARSE_KEYWORD_OPTION(prefix, cmdline-flag)
|
|
244 dnl ---------------------------------------------
|
|
245 dnl
|
|
246 dnl Internal macro to parse the option values. If an undeclared option is
|
|
247 dnl found then an error is generated.
|
|
248 dnl
|
|
249 define([XE_PARSE_KEYWORD_OPTION],
|
|
250 [_[$1]_bogus=yes
|
|
251 for x in XE_KEYWORD_LIST ; do
|
|
252 if test $x = $[$1] ; then
|
|
253 _[$1]_bogus=no
|
|
254 fi
|
|
255 done
|
|
256 if test "$_[$1]_bogus" = "yes" ; then
|
|
257 USAGE_ERROR(["The [$2] option must have one of these values: m4_translit(XE_KEYWORD_VALUES,[:],[,])."])
|
|
258 fi
|
|
259 unset _[$1]_bogus
|
|
260 undefine([XE_KEYWORD_LIST])dnl
|
|
261 undefine([XE_KEYWORD_VALUES])])
|
|
262 dnl
|
|
263 dnl XE_KEYWORD(keyword)
|
|
264 dnl --------------------------------
|
|
265 dnl
|
|
266 dnl
|
|
267 define([XE_KEYWORD],
|
|
268 [m4_append([XE_KEYWORD_LIST],[$1],[ ])dnl
|
|
269 dnl Separate with a ':' instead of a ',' (see the parsing code above) to avoid
|
|
270 dnl confusion with marco parameter lists.
|
|
271 m4_append([XE_KEYWORD_VALUES],[\`$1'],[:])dnl
|
|
272 ])
|
|
273 dnl
|
|
274 dnl XE_KEYWORD_ARG_WITH(PACKAGE, HELP-STRING, ACTION-IF-TRUE, ACTION-IF-FALSE,
|
|
275 dnl [XE_KEYWORD(keyword), ....])
|
|
276 dnl --------------------------------------------------------------------------
|
|
277 dnl
|
|
278 dnl Expanded version of AC_ARG_WITH for keyword options. All the parameters
|
|
279 dnl are required.
|
|
280 dnl
|
|
281 define([XE_KEYWORD_ARG_WITH],
|
|
282 [m4_map([XE_KEYWORD],m4_shiftn(4, $@))
|
|
283 AC_ARG_WITH([$1],[$2],
|
|
284 [XE_PARSE_KEYWORD_OPTION([with_]patsubst([$1], -, _), [--with-$1])
|
|
285 $3
|
|
286 ],[$4])])
|
|
287 dnl
|
|
288 dnl XE_KEYWORD_ARG_ENABLE(FEATURE, HELP-STRING, ACTION-IF-TRUE, ACTION-IF-FALSE,
|
|
289 dnl [XE_KEYWORD(keyword), ....])
|
|
290 dnl --------------------------------------------------------------------------
|
|
291 dnl
|
|
292 dnl Expanded version of AC_ARG_ENABLE for keyword options. All the parameters
|
|
293 dnl are required.
|
|
294 dnl
|
|
295 define([XE_KEYWORD_ARG_ENABLE],
|
|
296 [m4_map([XE_KEYWORD],m4_shiftn(4, $@))
|
|
297 AC_ARG_ENABLE([$1],[$2],
|
|
298 [XE_PARSE_KEYWORD_OPTION([enable_]patsubst([$1], -, _), [--enable-$1])
|
|
299 $3
|
|
300 ],[$4])])
|
|
301 dnl
|
|
302 dnl XEmacs complex option support
|
|
303 dnl =============================
|
|
304 dnl
|
|
305 dnl A "complex option" is one that takes a number of related values.
|
|
306 dnl For example, we might use "--with-xft=all,nomenubars" for compatibility
|
|
307 dnl with XFontSet i18n of menubars. (Silly, Xft looks much better than XFS.)
|
|
308 dnl
|
|
309 dnl The descriptions below provide prototypes and little more.
|
|
310 dnl For more information,
|
|
311 dnl (Info-goto-node "(internals)The configure Script")
|
|
312 dnl To edit the documentation,
|
|
313 dnl (progn (find-file "man/internals/internals.texi"))
|
|
314 dnl and search for "@node The configure Script".
|
|
315 dnl
|
|
316 dnl XE_EXPAND_COMPLEX_OPTION(prefix, component, yesno)
|
|
317 dnl ---------------------------------------------------
|
|
318 dnl
|
|
319 dnl Internal macro create the option's shell variable containing the default
|
|
320 dnl value and to note the values in an option list.
|
|
321 dnl
|
|
322 define([XE_EXPAND_COMPLEX_OPTION],
|
|
323 [[$1]_[$2]=[$3]
|
|
324 m4_append([XE_COMPONENT_LIST],[$2],[ ])dnl
|
|
325 dnl Separate with a ':' instead of a ',' (see <prefix>_default below) to avoid
|
|
326 dnl confusion with marco parameter lists.
|
|
327 m4_append([XE_COMPONENT_DEFAULT],[m4_if([$3],no,no)[$2]],[:])dnl
|
|
328 ])dnl
|
|
329 dnl
|
|
330 dnl XE_EXPAND_COMPLEX_OPTIONS(prefix, option_list)
|
|
331 dnl ----------------------------------------------
|
|
332 dnl
|
|
333 dnl Internal macro to recursively expand all the options in the option list.
|
|
334 dnl
|
|
335 define([XE_EXPAND_COMPLEX_OPTIONS],
|
|
336 [m4_if([$2], [[]], [],
|
|
337 [XE_EXPAND_COMPLEX_OPTION([$1], m4_fst($2))[]dnl
|
|
338 XE_EXPAND_COMPLEX_OPTIONS([$1], m4_cdr($2))])])
|
|
339 dnl
|
|
340 dnl XE_INIT_COMPLEX_OPTION(prefix, option_list)
|
|
341 dnl -------------------------------------------
|
|
342 dnl
|
|
343 dnl Internal macro to initialise the complex option shell variables.
|
|
344 dnl Variables of the form <prefix>_<option> contain the default value for that
|
|
345 dnl option. <prefix>_types contains a space-separated list of all the options
|
|
346 dnl and <prefix>_default contains a comma-separated list of all the default
|
|
347 dnl values.
|
|
348 dnl
|
|
349 define([XE_INIT_COMPLEX_OPTION],
|
|
350 [[$1]_notfirst=""
|
|
351 dnl
|
|
352 XE_EXPAND_COMPLEX_OPTIONS($@)
|
|
353 _[$1]_types="XE_COMPONENT_LIST"
|
|
354 _[$1]_default="m4_translit(XE_COMPONENT_DEFAULT,[:],[,])"
|
|
355 dnl Undefine these macros so that they can be reused by later complex
|
|
356 dnl options.
|
|
357 undefine([XE_COMPONENT_LIST])
|
|
358 undefine([XE_COMPONENT_DEFAULT])
|
|
359 ])
|
|
360
|
|
361 dnl XE_PARSE_COMPLEX_OPTION(prefix, cmdline-flag)
|
|
362 dnl ---------------------------------------------
|
|
363 dnl
|
|
364 dnl Internal macro to parse the option values. If an undeclared option is
|
|
365 dnl found then an error is generated.
|
|
366 dnl
|
|
367 define([XE_PARSE_COMPLEX_OPTION],
|
|
368 [for x in `echo "$[$1]" | sed -e 's/,/ /g'` ; do
|
|
369 _[$1]_all_default=""
|
|
370 _[$1]_found=""
|
|
371 case "$x" in
|
|
372 n | no | non | none ) _[$1]_all_default=no ;;
|
|
373 a | al | all | both ) _[$1]_all_default=yes ;;
|
|
374 esac
|
|
375
|
|
376 if test -z "$_[$1]_all_default"; then
|
|
377 for y in $_[$1]_types; do
|
|
378 dnl echo "testing x='$x' against y='$y'"
|
|
379 if test "$x" = "$y"; then
|
|
380 dnl echo "$x" = "$y"
|
|
381 _[$1]_found=yes
|
|
382 dnl echo eval `echo "[$1]_$y=yes"`
|
|
383 eval "[$1]_$y=yes"
|
|
384 elif test "$x" = "no$y"; then
|
|
385 dnl echo "$x" = "no$y"
|
|
386 _[$1]_found=yes
|
|
387 dnl echo eval `echo "[$1]_$y=no"`
|
|
388 eval "[$1]_$y=no"
|
|
389 fi
|
|
390 done
|
|
391 test -z "$_[$1]_found" && _[$1]_bogus=yes
|
|
392 fi
|
|
393 if test "$_[$1]_bogus" = "yes" -o \
|
|
394 \( -n "$_[$1]_all_default" -a -n "$_[$1]_notfirst" \) ; then
|
|
395 USAGE_ERROR(["Valid values for the [$2] option are:
|
|
396 $_[$1]_types. With prefix \"no\", switch it off.
|
|
397 Defaults may be overridden with \`all' or \`none' first in the list.
|
|
398 Hardcoded default is: $_[$1]_default."])
|
|
399 elif test -n "$_[$1]_all_default" ; then
|
|
400 for y in $_[$1]_types; do
|
|
401 eval "[$1]_$y=$_[$1]_all_default"
|
|
402 done
|
|
403 fi
|
|
404 _[$1]_notfirst=yes
|
|
405 done
|
|
406 unset _[$1]_bogus _[$1]_found _[$1]_notfirst _[$1]_types
|
|
407 unset _[$1]_default _[$1]_all_default x y
|
|
408 ])
|
|
409
|
|
410 dnl XE_COMPLEX_OPTION(option, yesno)
|
|
411 dnl --------------------------------
|
|
412 dnl
|
|
413 dnl Declare a complex option and its default value. The value MUST be either
|
|
414 dnl yes or no or "" (which means maybe).
|
|
415 dnl
|
|
416 define([XE_COMPLEX_OPTION],[[$1,$2]])
|
|
417 dnl
|
|
418 dnl XE_COMPLEX_OPTION_HELP_STRING(flag, long, short, components, libraries)
|
|
419 dnl -----------------------------------------------------------------------
|
|
420 dnl Boilerplate help string for complex options.
|
|
421 dnl #### This doesn't read so well for alternative libraries like sound.
|
|
422 dnl
|
|
423 define([XE_COMPLEX_OPTION_HELP_STRING],
|
|
424 [AC_HELP_STRING([$1],[Compile with support for $2. Components that can use
|
|
425 $3 are $4. Prefix component with `no' to disable its use of $3. Requires
|
|
426 $5 support. Default is $6.])])
|
|
427 dnl
|
|
428 dnl XE_COMPLEX_ARG_WITH(PACKAGE, HELP-STRING, ACTION-IF-TRUE, ACTION-IF-FALSE,
|
|
429 dnl [XE_COMPLEX_OPTION(a,yes), ....])
|
|
430 dnl --------------------------------------------------------------------------
|
|
431 dnl
|
|
432 dnl Expanded version of AC_ARG_WITH for complex options. All the parameters
|
|
433 dnl are required.
|
|
434 dnl
|
|
435 define([XE_COMPLEX_ARG_WITH],
|
|
436 [XE_INIT_COMPLEX_OPTION([with_]patsubst([$1], -, _), m4_shiftn(4, $@))
|
|
437 AC_ARG_WITH([$1],[$2],
|
|
438 [XE_PARSE_COMPLEX_OPTION([with_]patsubst([$1], -, _), [--with-$1])
|
|
439 $3
|
|
440 ],[$4])])
|
|
441 dnl
|
|
442 dnl XE_COMPLEX_ARG_ENABLE(FEATURE, HELP-STRING, ACTION-IF-TRUE, ACTION-IF-FALSE,
|
|
443 dnl [XE_COMPLEX_OPTION, ....])
|
|
444 dnl --------------------------------------------------------------------------
|
|
445 dnl
|
|
446 dnl Expanded version of AC_ARG_ENABLE for complex options. All the parameters
|
|
447 dnl are required.
|
|
448 dnl
|
|
449 define([XE_COMPLEX_ARG_ENABLE],
|
|
450 [XE_INIT_COMPLEX_OPTION([enable_]patsubst([$1], -, _), m4_shiftn(4, $@))
|
|
451 AC_ARG_ENABLE([$1],[$2],
|
|
452 [XE_PARSE_COMPLEX_OPTION([enable_]patsubst([$1], -, _), [--enable-$1])
|
|
453 $3
|
|
454 ],[$4])])
|
|
455 dnl
|
|
456 dnl -------------------------------------------------------------------------
|
|
457 XE_APPEND(lib-src, MAKE_SUBDIR)
|
|
458 XE_APPEND(lib-src, INSTALL_ARCH_DEP_SUBDIR)
|
|
459 with_dragndrop_default="no"
|
|
460 dnl -------------------------------------------------------------------------
|
|
461 dnl Command line argument processing.
|
|
462 dnl Note that AC_HELP_STRING compresses whitespace, wraps, and indents the
|
|
463 dnl string to fit the --help display; there's no need to preformat.
|
|
464 dnl
|
|
465 dnl Error-checking on old-style flags
|
|
466 AC_ARG_WITH([mule],[],[XE_DIE([--enable-mule, NOT --with-mule])],[])
|
|
467 AC_ARG_WITH([menubars],[],[XE_DIE([--enable-menubars, NOT --with-menubars])],[])
|
|
468 AC_ARG_WITH([scrollbars],[],[XE_DIE([--enable-scrollbars, NOT --with-scrollbars])],[])
|
|
469 AC_ARG_WITH([dialogs],[],[XE_DIE([--enable-dialogs, NOT --with-dialogs])],[])
|
|
470 AC_ARG_WITH([widgets],[],[XE_DIE([--enable-widgets, NOT --with-widgets])],[])
|
|
471 AC_ARG_WITH([sound],[],[XE_DIE([--enable-sound, NOT --with-sound])],[])
|
|
472 AC_ARG_WITH([default-eol-detection],[],[XE_DIE([--enable-default-eol-detection, NOT --with-default-eol-detection])],[])
|
|
473 AC_ARG_WITH([clash-detection],[],[XE_DIE([--enable-clash-detection, NOT --with-clash-detection])],[])
|
|
474 AC_ARG_WITH([database],[],[XE_DIE([--enable-database, NOT --with-database])],[])
|
|
475 AC_ARG_WITH([modules],[],[XE_DIE([--enable-modules, NOT --with-modules])],[])
|
|
476 AC_ARG_WITH([toolbars],[],[XE_DIE([--enable-toolbars, NOT --with-toolbars])],[])
|
|
477
|
|
478 dnl I think these will be caught by autoconf internal checks,
|
|
479 dnl only --with-* are unchecked
|
|
480 dnl --external-widget --enable-external-widget
|
|
481 dnl --native-sound-lib=LIB --with-native-sound-lib
|
|
482 dnl --mail-locking=TYPE --with-mail-locking
|
|
483 dnl --rel-alloc --with-rel-alloc
|
|
484 dnl --use-number-lib --enable-bignum
|
|
485 dnl --debug --enable-debug
|
|
486 dnl --error-checking --enable-error-checking
|
|
487 dnl --memory-usage-stats --enable-memory-usage-stats
|
|
488 dnl --quick-build --enable-quick-build
|
|
489 dnl --use-union-type --enable-union-type
|
|
490 dnl --pdump --enable-pdump
|
|
491 dnl --use-kkcc --enable-kkcc
|
|
492
|
|
493 dnl parse flags
|
|
494 AC_ARG_WITH([prefix],
|
2680
|
495 AC_HELP_STRING([--with-prefix=no],[Don't compile the value for `prefix' into the executable.]),
|
2651
|
496 [true], [with_prefix=yes])
|
|
497 AC_ARG_WITH([site-lisp],
|
|
498 AC_HELP_STRING([--with-site-lisp=no],[Allow for a site-lisp directory in the XEmacs hierarchy searched before the installation packages.]),
|
|
499 [true], [with_site_lisp=no])
|
|
500 AC_ARG_WITH([site-modules],
|
|
501 AC_HELP_STRING([--with-site-modules],[Disable site-modules directory in the XEmacs hierarchy, which is searched before the installation modules.]),
|
|
502 [], [])
|
|
503 AC_ARG_WITH([gtk],
|
|
504 AC_HELP_STRING([--with-gtk],[Support GTK on the X Window System. (EXPERIMENTAL)]),
|
|
505 [true], [with_gtk=no])
|
|
506 AC_ARG_WITH([gnome],
|
|
507 AC_HELP_STRING([--with-gnome],[Support GNOME on the X Window System. (EXPERIMENTAL)]),
|
|
508 [true], [with_gnome=no])
|
|
509 AC_ARG_WITH([msw],
|
|
510 AC_HELP_STRING([--with-msw],[Support MS Windows as a window system (only under Cygwin and MinGW). `--with-msw=no' may be needed on *nix systems with Wine installed.]),
|
|
511 [], [])
|
|
512 AC_ARG_WITH([gcc],
|
|
513 AC_HELP_STRING([--with-gcc],[Use GCC to compile XEmacs.]),
|
|
514 [], [])
|
|
515 AC_ARG_WITH([dynamic],
|
|
516 AC_HELP_STRING([--with-dynamic],[Link dynamically if supported by system. 'No' forces static linking.]),
|
|
517 [], [])
|
|
518 AC_ARG_WITH([ncurses],
|
|
519 AC_HELP_STRING([--with-ncurses],[Use the ncurses library for tty support.]),
|
|
520 [], [])
|
|
521 AC_ARG_WITH([dnet],
|
|
522 AC_HELP_STRING([--with-dnet],[Compile with support for DECnet.]),
|
|
523 [], [])
|
|
524 AC_ARG_WITH([socks],
|
|
525 AC_HELP_STRING([--with-socks],[Compile with support for SOCKS (an Internet proxy).]),
|
|
526 [], [])
|
|
527 AC_ARG_WITH([dragndrop],
|
|
528 AC_HELP_STRING([--with-dragndrop],[Compile in the generic drag and drop API. This is automatically added if one of the drag and drop
|
|
529 protocols is found (currently CDE, OffiX, MSWindows,
|
|
530 and GTK).
|
|
531 *WARNING* The Drag'n'drop support is under development
|
|
532 and is considered experimental.]),
|
|
533 [], [])
|
|
534 AC_ARG_WITH([cde],
|
|
535 AC_HELP_STRING([--with-cde],[Compile in support for CDE drag and drop.]),
|
|
536 [], [])
|
|
537 AC_ARG_WITH([offix],
|
|
538 AC_HELP_STRING([--with-offix],[Compile in support for OffiX drag and drop.
|
|
539 *WARNING* If you compile in OffiX, you may not be
|
|
540 able to use multiple X displays success-
|
|
541 fully. If the two servers are from
|
|
542 different vendors, the results may be
|
|
543 unpredictable.]),
|
|
544 [], [])
|
|
545 AC_ARG_WITH([gpm],
|
|
546 AC_HELP_STRING([--with-gpm],[Compile in GPM mouse support for ttys.]),
|
|
547 [], [])
|
|
548 AC_ARG_WITH([xpm],
|
|
549 AC_HELP_STRING([--with-xpm],[Compile with support for XPM images. PRACTICALLY
|
|
550 REQUIRED. Although this library is nonstandard and
|
|
551 a real hassle to build, many basic things (e.g.
|
|
552 toolbars) depend on it, and you will run into
|
|
553 many problems without it.]),
|
|
554 [], [])
|
|
555 AC_ARG_WITH([xface],
|
|
556 AC_HELP_STRING([--with-xface],[Compile with support for X-Face mail headers.
|
|
557 Requires the compface package.]),
|
|
558 [], [])
|
|
559 AC_ARG_WITH([gif],
|
|
560 AC_HELP_STRING([--with-gif],[Compile without the (builtin) support for GIF images.]),
|
|
561 [], [])
|
|
562 AC_ARG_WITH([jpeg],
|
|
563 AC_HELP_STRING([--with-jpeg],[Compile with support for JPEG images. Useful if
|
|
564 you are using a mail, news reader, or web browser
|
|
565 in XEmacs, so that JPEG images can be displayed.]),
|
|
566 [], [])
|
|
567 AC_ARG_WITH([png],
|
|
568 AC_HELP_STRING([--with-png],[Compile with support for PNG images. Recommended
|
|
569 because the images on the About page are not viewable
|
|
570 without it.]),
|
|
571 [], [])
|
|
572 AC_ARG_WITH([tiff],
|
|
573 AC_HELP_STRING([--with-tiff],[Compile with support for TIFF images. Possibly
|
|
574 useful, for the same reason as JPEG images.]),
|
|
575 [], [])
|
|
576 AC_ARG_WITH([zlib],
|
|
577 AC_HELP_STRING([--with-zlib],[Support inflate (de)compression internally.]),
|
|
578 [], [])
|
|
579 AC_ARG_WITH([wmcommand],
|
|
580 AC_HELP_STRING([--with-wmcommand],[Compile without realized leader window which will
|
|
581 keep the WM_COMMAND property.]),
|
|
582 [], [])
|
|
583 AC_ARG_WITH([xmu],
|
|
584 AC_HELP_STRING([--with-xmu],[Use Xmu utilities. Default: yes.]),
|
|
585 [], [])
|
|
586 AC_ARG_WITH([purify],
|
|
587 AC_HELP_STRING([--with-purify],[Support memory debugging using Purify.]),
|
|
588 [], [])
|
|
589 AC_ARG_WITH([quantify],
|
|
590 AC_HELP_STRING([--with-quantify],[Support performance debugging using Quantify.]),
|
|
591 [], [])
|
|
592 AC_ARG_ENABLE([toolbars],
|
|
593 AC_HELP_STRING([--with-toolbars],[Enable toolbar support. Default: yes.]),
|
|
594 [], [])
|
|
595 AC_ARG_WITH([tty],
|
|
596 AC_HELP_STRING([--with-tty],[Enable TTY support. Default: yes.]),
|
|
597 [], [])
|
|
598 AC_ARG_WITH([xfs],
|
|
599 AC_HELP_STRING([--with-xfs],[Enable XFontSet support for internationalized
|
|
600 menubar. Incompatible with `--with-xim=motif'.
|
|
601 `--enable-menubars=lucid' (the default) is desirable.]),
|
|
602 [], [])
|
|
603 AC_ARG_ENABLE([mule],
|
|
604 AC_HELP_STRING([--enable-mule],[Compile with Mule (MUlti-Lingual Emacs) support,
|
|
605 needed to support non-Latin-1 (including Asian)
|
|
606 languages.]),
|
|
607 [], [])
|
|
608 AC_ARG_ENABLE([default-eol-detection],
|
|
609 AC_HELP_STRING([--enable-default-eol-detection],[Turns on by default auto-detection of end-of-line type
|
|
610 when reading a file. Applies to those platforms where
|
|
611 auto-detection is off by default (non-Mule Unix). Has
|
|
612 no effect otherwise.]),
|
|
613 [], [])
|
|
614 AC_ARG_WITH([canna],
|
|
615 AC_HELP_STRING([--with-canna],[Support the Canna Japanese input method. Requires Mule.]),
|
|
616 [], [])
|
|
617 AC_ARG_WITH([wnn],
|
|
618 AC_HELP_STRING([--with-wnn],[Support the Wnn Asian language input
|
|
619 method. Requires Mule.]),
|
|
620 [], [])
|
|
621 AC_ARG_WITH([wnn6],
|
|
622 AC_HELP_STRING([--with-wnn6],[Support the Wnn6 Asian language input
|
|
623 method (proprietary). Requires Mule.]),
|
|
624 [], [])
|
|
625 AC_ARG_WITH([workshop],
|
|
626 AC_HELP_STRING([--with-workshop],[Support the Sun WorkShop (formerly Sparcworks)
|
|
627 development environment.]),
|
|
628 [], [])
|
|
629 AC_ARG_WITH([sparcworks],
|
|
630 AC_HELP_STRING([--with-sparcworks],[Alias for --with-workshop]),
|
|
631 [], [])
|
|
632 AC_ARG_WITH([tooltalk],
|
|
633 AC_HELP_STRING([--with-tooltalk],[Support the ToolTalk IPC protocol.]),
|
|
634 [], [])
|
|
635 AC_ARG_WITH([ldap],
|
|
636 AC_HELP_STRING([--with-ldap],[Support the LDAP protocol.]),
|
|
637 [], [])
|
|
638 AC_ARG_WITH([postgresql],
|
|
639 AC_HELP_STRING([--with-postgresql],[Support the PostgreSQL RDBMS.]),
|
|
640 [], [])
|
|
641 AC_ARG_WITH([pop],
|
|
642 AC_HELP_STRING([--with-pop],[Support POP for mail retrieval.]),
|
|
643 [], [])
|
|
644 AC_ARG_WITH([kerberos],
|
|
645 AC_HELP_STRING([--with-kerberos],[Support Kerberos-authenticated POP.]),
|
|
646 [], [])
|
|
647 AC_ARG_WITH([hesiod],
|
|
648 AC_HELP_STRING([--with-hesiod],[Support Hesiod to get the POP server host.]),
|
|
649 [], [])
|
|
650 AC_ARG_WITH([infodock],
|
|
651 AC_HELP_STRING([--with-infodock],[Support the Infodock version of XEmacs. Infodock is a SourceForge project).]),
|
|
652 [], [])
|
|
653 AC_ARG_WITH([native-sound-lib],
|
|
654 AC_HELP_STRING([--with-native-sound-lib],[Path to sound library (for systems with name conflicts).]),
|
|
655 [], [])
|
|
656 AC_ARG_WITH([netinstall],
|
|
657 AC_HELP_STRING([--with-netinstall],[Support for installation over the internet.
|
|
658 Only functional on the MS Windows platforms.]),
|
|
659 [], [with_netinstall="no"])
|
|
660 AC_ARG_WITH([optimization],
|
|
661 AC_HELP_STRING([--with-optimization],[Control whether compilation is optimized. By default, optimization is on in release versions and off in beta versions, since it can interfere with proper stack backtraces.]),
|
|
662 [], [])
|
|
663 AC_ARG_WITH([ipv6-cname],
|
|
664 AC_HELP_STRING([--with-ipv6-cname],[Try IPv6 information first when canonicalizing host names. This option has no effect unless system supports getaddrinfo(3) and getnameinfo(3).]),
|
|
665 [], [with_ipv6_cname="no"])
|
|
666 AC_ARG_WITH([site-includes],
|
|
667 AC_HELP_STRING([--with-site-includes],[Prepend to include search path.]),
|
|
668 [], [])
|
|
669 AC_ARG_WITH([site-libraries],
|
|
670 AC_HELP_STRING([--with-site-libraries],[Prepend to library search path.]),
|
|
671 [], [])
|
|
672 AC_ARG_WITH([site-prefixes],
|
|
673 AC_HELP_STRING([--with-site-prefixes],[Prepend to include and library search paths, with /include and /lib added. Comes after site-includes and site-libraries, if any.]),
|
|
674 [], [])
|
|
675 AC_ARG_WITH([statedir],
|
|
676 AC_HELP_STRING([--with-statedir],[]),
|
|
677 [], [with_statedir='${prefix}/lib'])
|
|
678 AC_ARG_WITH([lispdir],
|
|
679 AC_HELP_STRING([--with-lispdir],[]),
|
|
680 [AC_DEFINE(LISPDIR_USER_DEFINED)], [with_lispdir='${datadir}/${instvardir}/lisp'])
|
|
681 AC_ARG_WITH([archlibdir],
|
|
682 AC_HELP_STRING([--with-archlibdir],[]),
|
|
683 [AC_DEFINE(ARCHLIBDIR_USER_DEFINED)], [with_archlibdir='${libdir}/${instvardir}/${configuration}'])
|
|
684 AC_ARG_WITH([moduledir],
|
|
685 AC_HELP_STRING([--with-moduledir],[]),
|
|
686 [AC_DEFINE(MODULEDIR_USER_DEFINED)], [with_moduledir='${libdir}/${instvardir}/${configuration}/modules'])
|
|
687 AC_ARG_WITH([etcdir],
|
|
688 AC_HELP_STRING([--with-etcdir],[]),
|
|
689 [AC_DEFINE(ETCDIR_USER_DEFINED)], [with_etcdir='${datadir}/${instvardir}/etc'])
|
|
690 AC_ARG_WITH([infopath],
|
|
691 AC_HELP_STRING([--with-infopath],[]),
|
|
692 [AC_DEFINE(INFOPATH_USER_DEFINED)], [])
|
|
693 AC_ARG_WITH([docdir],
|
|
694 AC_HELP_STRING([--with-docdir],[]),
|
|
695 [AC_DEFINE(DOCDIR_USER_DEFINED)], [with_docdir='${archlibdir}'])
|
|
696 AC_ARG_WITH([site-runtime-libraries],
|
|
697 AC_HELP_STRING([--with-site-runtime-libraries],[]),
|
|
698 [], [])
|
|
699 AC_ARG_WITH([package-prefix],
|
|
700 AC_HELP_STRING([--with-package-prefix],[Specify packages root.]),
|
|
701 [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
|
|
702 AC_ARG_WITH([package-path],
|
|
703 AC_HELP_STRING([--with-package-path],[Search path for package hierarchies.]),
|
|
704 [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
|
|
705 AC_ARG_ENABLE([external-widget],
|
|
706 AC_HELP_STRING([--enable-external-widget],[Support XEmacs server for text widgets in other applications.]),
|
|
707 [], [])
|
|
708 AC_ARG_ENABLE([kkcc],
|
|
709 AC_HELP_STRING([--enable-kkcc],[Enable new GC algorithms.]),
|
|
710 [], [])
|
|
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.
|
2680
|
754 `--with-xemacs-compiler=g++'. This turns on a lot of
|
2651
|
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
|
2680
|
821 with the \`--enable-database' option.")
|
2651
|
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* )
|
2663
|
1203 case "${ac_cv_build}" in
|
2651
|
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)
|
2680
|
1688 dnl --with-compiler, env var CC, with_gcc=no && ${NON_GNU_CC:-cc}, AC_PROG_CC
|
2651
|
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
|
2667
|
1709 if test "${with_cflags_optimization-unset}" != unset
|
2651
|
1710 then cflags_optimization_specified=yes;
|
|
1711 else cflags_optimization_specified=no;
|
|
1712 fi
|
|
1713
|
2667
|
1714 if test "${with_cflags_debugging-unset}" != unset
|
2651
|
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:
|
2680
|
1756 dnl o --with-xemacs-compiler configure flag
|
2651
|
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
|
2667
|
2051 if test -z "$with_optimization"; then
|
|
2052 if test -z "$emacs_is_beta" -o "$cflags_optimization_specified" = "yes"; then
|
|
2053 with_optimization=yes
|
|
2054 else
|
2651
|
2055 with_optimization=no
|
|
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 fi
|
|
2306
|
|
2307 dnl Feed s&m crud to src/Makefile
|
|
2308
|
|
2309 dnl Linux/powerpc needs the following magic for some reason
|
|
2310 dnl [Not needed with YellowDog 2.3 and causes link problems with YellowDog 3.0,
|
|
2311 dnl the two most popular PowerPC distributions.]
|
|
2312 dnl test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
|
|
2313
|
|
2314 AC_LANG(C)
|
|
2315 if test "$unexec" = "unexaix.o"; then
|
|
2316 dnl AIX needs various hacks to make static linking work.
|
|
2317 if test "$with_dynamic" = "no"; then
|
|
2318 start_flags="-Wl,-bnso,-bnodelcsect"
|
|
2319 test "$GCC" = "yes" && start_flags="-B/bin/ ${start_flags}"
|
|
2320 for f in "/lib/syscalls.exp" "/lib/threads.exp"; do
|
|
2321 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; fi
|
|
2322 done
|
|
2323 for f in "/usr/lpp/X11/bin/smt.exp" "/usr/bin/X11/smt.exp"; do
|
|
2324 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; break; fi
|
|
2325 done
|
|
2326 AC_CHECK_LIB([c], [terminateAndUnload], [XE_APPEND(-lC, libs_system)])
|
|
2327 fi
|
|
2328 elif test -n "$ld_text_start_addr"; then
|
|
2329 start_flags="-T $ld_text_start_addr -e __start"
|
|
2330 fi
|
|
2331 AC_SUBST(start_flags)
|
|
2332
|
|
2333 AC_SUBST(ld_switch_shared)
|
|
2334 AC_SUBST(start_files)
|
|
2335 if test "$ordinary_link" = "no" -a "$GCC" = "yes"; then
|
|
2336 test -z "$linker" && linker='$(CC) -nostdlib'
|
|
2337 test -z "$lib_gcc" && lib_gcc='`$(CC) -print-libgcc-file-name`'
|
|
2338 fi
|
|
2339 test "$GCC" != "yes" && lib_gcc=
|
|
2340 AC_SUBST(ld)
|
|
2341 AC_SUBST(lib_gcc)
|
|
2342
|
|
2343 dnl ---------------------------------------------------------------
|
|
2344 dnl Get version information for:
|
|
2345 dnl C compiler, libc
|
|
2346 dnl #### should do CC compiler, too, if different from XEMACS_CC
|
|
2347 dnl ---------------------------------------------------------------
|
|
2348
|
|
2349 compiler_version=""
|
|
2350 gcc_compiler_specs=""
|
|
2351 libc_version=""
|
|
2352
|
|
2353 AC_MSG_CHECKING([for compiler version information])
|
|
2354
|
|
2355 dnl First try portable compilers, then crack system secrets
|
|
2356 dnl #### Is this code correct if $XEMACS_CC != $CC? XEMACS_CC hasn't been
|
|
2357 dnl run through the AC_PROG_CC mill.
|
|
2358 dnl Would anybody really build libsrc with GCC and XEmacs with non-GCC?
|
|
2359 if test "$GCC" = "yes"; then
|
2692
|
2360 compiler_version=`$XEMACS_CC --version | sed 1q`
|
|
2361 gcc_compiler_specs=`$XEMACS_CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | sed 1q`
|
2651
|
2362 else case "$XEMACS_CC" in
|
|
2363 dnl The Intel cc compiler
|
|
2364 ic*)
|
2692
|
2365 compiler_version=`icc -V 2>&1 | sed 1q`
|
2651
|
2366 ;;
|
|
2367 dnl non-gcc machine-specific magic - contributions welcome
|
|
2368 *) case "$ac_cv_build" in
|
|
2369 *-*-aix* )
|
|
2370 dnl Yes, it's this ugly for AIX...
|
|
2371 realcc=`which $XEMACS_CC`
|
|
2372 dnl Might be a symlink created by replaceCset command
|
|
2373 if test -L $realcc ; then
|
|
2374 ccdir=`dirname $realcc`
|
|
2375 ccprog=`/bin/ls -l $realcc | sed 's/.* \([[^ ]]\)/\1/'`
|
|
2376 dnl This doesn't handle ../../xlc type stuff, but I've not seen one...
|
|
2377 case $ccprog in
|
|
2378 */*) realcc=$ccprog;;
|
|
2379 *) realcc=$ccdir/$ccprog;;
|
|
2380 esac
|
|
2381 fi
|
|
2382 lpp=`lslpp -wqc $realcc | cut -f2 -d:`
|
|
2383 if test ! -z "$lpp" ; then
|
|
2384 lppstr=`lslpp -Lqc $lpp`
|
|
2385 lpplev=`echo "$lppstr" | cut -f3 -d:`
|
|
2386 lppdesc=`echo "$lppstr" | cut -f8 -d:`
|
|
2387 fi
|
|
2388 if test ! -z "$lpplev" ; then
|
|
2389 compiler_version="$lpp $lpplev - $lppdesc"
|
|
2390 fi
|
|
2391 ;;
|
|
2392
|
|
2393 *-*-solaris*)
|
2692
|
2394 compiler_version=`$XEMACS_CC -V 2>&1 | sed 1q`
|
2651
|
2395 ;;
|
|
2396
|
|
2397 alpha*-dec-osf*)
|
|
2398 compiler_version=`$XEMACS_CC -V | tr '\n' ' '`
|
|
2399 ;;
|
|
2400
|
|
2401 mips-sgi-irix*)
|
|
2402 compiler_version=`$XEMACS_CC -version`
|
|
2403 ;;
|
|
2404 esac
|
|
2405 esac
|
|
2406 fi
|
|
2407
|
|
2408 dnl Awww, shucks.
|
|
2409 if test -z "$compiler_version"; then
|
|
2410 compiler_version="detection failed (please report this)"
|
|
2411 fi
|
|
2412 AC_MSG_RESULT([$compiler_version])
|
|
2413
|
|
2414 AC_MSG_CHECKING(for standard C library version information)
|
|
2415
|
|
2416 case "$ac_cv_build" in
|
|
2417 *-*-linux*)
|
|
2418 dnl #### who would ever _not_ be running the distro's libc?
|
|
2419 dnl Maybe it would be better to get/augment this info with ldd?
|
|
2420 if test -f /etc/redhat-release ; then
|
|
2421 libc_version=`rpm -q glibc`
|
|
2422 elif test -f /etc/debian_version ; then
|
|
2423 libc_version=`dpkg-query --showformat='${version}' --show libc6`
|
|
2424 libc_version="GNU libc $libc_version (Debian)"
|
|
2425 dnl need SuSE et al checks here...
|
|
2426 fi
|
|
2427 dnl #### Tested on Debian, does this actually work elsewhere? ;-)
|
|
2428 if test -z "$libc_version"; then
|
|
2429 libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
|
|
2430 fi
|
|
2431 ;;
|
|
2432
|
|
2433 *-*-aix*)
|
|
2434 libc_version="bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`"
|
|
2435 ;;
|
|
2436
|
|
2437 *-*-solaris*)
|
|
2438 libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'`
|
|
2439 libc_version="SUNWcsl $libc"
|
|
2440
|
|
2441 ;;
|
|
2442
|
|
2443 mips-sgi-irix*)
|
|
2444 libc_version="IRIX libc `uname -sRm`"
|
|
2445 ;;
|
|
2446
|
|
2447 alpha*-dec-osf*)
|
|
2448 dnl Another ugly case
|
|
2449 (cd /usr/.smdb.;
|
|
2450 libc_version=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','`
|
|
2451 )
|
|
2452 ;;
|
|
2453 esac
|
|
2454
|
|
2455 dnl Awww, shucks.
|
|
2456 if test -z "libc_version"; then
|
|
2457 libc_version="detection failed (please report this)"
|
|
2458 fi
|
|
2459 AC_MSG_RESULT([$libc_version])
|
|
2460
|
|
2461 dnl ---------------------------------------------------------------
|
|
2462 dnl Add site and system specific flags to compile and link commands
|
|
2463 dnl ---------------------------------------------------------------
|
|
2464
|
|
2465 dnl --with-site-libraries (multiple dirs)
|
|
2466 COLON_TO_SPACE(with_site_libraries)
|
|
2467 if test -n "$with_site_libraries"; then
|
|
2468 for arg in $with_site_libraries; do
|
|
2469 case "$arg" in
|
|
2470 -* ) ;;
|
|
2471 * ) test -d "$arg" || \
|
|
2472 XE_DIE("Invalid site library \`$arg': no such directory")
|
|
2473 arg="-L${arg}" ;;
|
|
2474 esac
|
|
2475 XE_APPEND($arg, ld_switch_site)
|
|
2476 done
|
|
2477 fi
|
|
2478
|
|
2479 dnl --with-site-includes (multiple dirs)
|
|
2480 COLON_TO_SPACE(with_site_includes)
|
|
2481 if test -n "$with_site_includes"; then
|
|
2482 for arg in $with_site_includes; do
|
|
2483 case "$arg" in
|
|
2484 -* ) ;;
|
|
2485 * ) test -d "$arg" || \
|
|
2486 XE_DIE("Invalid site include \`$arg': no such directory")
|
|
2487 arg="-I${arg}" ;;
|
|
2488 esac
|
|
2489 XE_APPEND($arg, c_switch_site)
|
|
2490 done
|
|
2491 fi
|
|
2492
|
|
2493 dnl --with-site-prefixes (multiple dirs)
|
|
2494 dnl --with-site-prefixes=dir1:dir2 is a convenient shorthand for
|
|
2495 dnl --with-site-libraries=dir1/lib:dir2/lib --with-site-includes=dir1/include:dir2/include
|
|
2496 dnl Site prefixes take precedence over the standard places, but not over
|
|
2497 dnl with-site-includes and with-site-libraries.
|
|
2498 COLON_TO_SPACE(with_site_prefixes)
|
|
2499 if test -n "$with_site_prefixes"; then
|
|
2500 for dir in $with_site_prefixes; do
|
|
2501 lib_dir="${dir}/lib"
|
|
2502 inc_dir="${dir}/include"
|
|
2503 if test ! -d "$dir"; then
|
|
2504 XE_DIE("Invalid site prefix \`$dir': no such directory")
|
|
2505 elif test ! -d "$lib_dir"; then
|
|
2506 XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'")
|
|
2507 else
|
|
2508 if test -d "$inc_dir"; then
|
|
2509 XE_APPEND("-I$inc_dir", c_switch_site)
|
|
2510 fi
|
|
2511 XE_APPEND("-L$lib_dir", ld_switch_site)
|
|
2512 fi
|
|
2513 done
|
|
2514 fi
|
|
2515
|
|
2516 dnl GNU software installs by default into /usr/local/{include,lib}
|
|
2517 dnl if test -d "/usr/local/include" -a -d "/usr/local/lib"; then
|
|
2518 dnl XE_APPEND("-L/usr/local/lib", ld_switch_site)
|
|
2519 dnl XE_APPEND("-I/usr/local/include", c_switch_site)
|
|
2520 dnl fi
|
|
2521
|
|
2522 dnl Extra system-specific library directories - please add to list
|
|
2523 for dir in "/usr/ccs/lib"; do
|
|
2524 test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system)
|
|
2525 done
|
|
2526
|
|
2527 dnl --with-site-runtime-libraries (multiple dirs)
|
|
2528 COLON_TO_SPACE(with_site_runtime_libraries)
|
|
2529 if test -n "$with_site_runtime_libraries"; then
|
|
2530 LD_RUN_PATH="`echo $with_site_runtime_libraries | sed -e 's/ */:/g'`"
|
|
2531 export LD_RUN_PATH
|
|
2532 fi
|
|
2533
|
|
2534 dnl Linux systems have dynamic runtime library directories listed in
|
|
2535 dnl /etc/ld.so.conf. Since those are used at run time, it seems pretty
|
|
2536 dnl safe to use them at link time, and less controversial than forcing
|
|
2537 dnl the run-time to use the link-time libraries. This also helps avoid
|
|
2538 dnl mismatches between the link-time and run-time libraries.
|
|
2539
|
|
2540 dnl #### Unfortunately, there are horrible libc4 and libc5 libraries
|
|
2541 dnl listed in /etc/ld.so.conf on some systems, and including them on
|
|
2542 dnl the link path leads to linking in utterly broken libc's.
|
|
2543 dnl There are many clever ways of approaching this problem,
|
|
2544 dnl but finding one that actually works...
|
|
2545
|
|
2546 dnl if test -z "$LD_RUN_PATH" -a -r "/etc/ld.so.conf"; then
|
|
2547 dnl for dir in `cat /etc/ld.so.conf`; do
|
|
2548 dnl test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system)
|
|
2549 dnl done
|
|
2550 dnl add_runtime_path=no
|
|
2551 dnl fi
|
|
2552
|
|
2553 dnl -------------------------------------
|
|
2554 dnl Compute runtime library path
|
|
2555 dnl -------------------------------------
|
|
2556
|
|
2557 if test -n "$add_runtime_path"; then :;
|
|
2558 elif test "$with_dynamic" = "no"; then add_runtime_path=no
|
|
2559 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
|
|
2560 else case "$opsys" in
|
|
2561 sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
|
|
2562 * ) add_runtime_path=no ;;
|
|
2563 esac
|
|
2564 fi
|
|
2565
|
|
2566 if test "$add_runtime_path" = "yes"; then
|
|
2567 dnl Try to autodetect runtime library flag (usually -R),
|
|
2568 dnl and whether it works (or at least does no harm)
|
|
2569 AC_MSG_CHECKING("for runtime libraries flag")
|
|
2570 case "$opsys" in
|
|
2571 sol2 ) dash_r="-R" ;;
|
|
2572 decosf* | linux* | irix*) dash_r="-rpath " ;;
|
|
2573 *)
|
|
2574 dash_r=""
|
|
2575 for try_dash_r in "-R" "-R " "-rpath "; do
|
|
2576 xe_check_libs="${try_dash_r}/no/such/file-or-directory"
|
|
2577 XE_PROTECT_LINKER_FLAGS(xe_check_libs)
|
|
2578 AC_TRY_LINK(, , dash_r="$try_dash_r")
|
|
2579 xe_check_libs=""
|
|
2580 test -n "$dash_r" && break
|
|
2581 done ;;
|
|
2582 esac
|
|
2583 if test -n "$dash_r";
|
|
2584 then AC_MSG_RESULT("\"${dash_r}\"")
|
|
2585 else AC_MSG_RESULT(NONE)
|
|
2586 fi
|
|
2587 fi
|
|
2588
|
|
2589 xe_add_unique_runpath_dir='
|
|
2590 xe_add_p=yes
|
|
2591 for xe_dir in $runpath_dirs; do dnl Uniquify
|
|
2592 test "$xe_dir" = "$xe_runpath_dir" && xe_add_p=no
|
|
2593 done
|
|
2594 if test "$xe_add_p" = "yes"; then
|
|
2595 test -n "$runpath" && runpath="${runpath}:"
|
|
2596 runpath="${runpath}${xe_runpath_dir}"
|
|
2597 runpath_dirs="$runpath_dirs $xe_runpath_dir"
|
|
2598 fi'
|
|
2599
|
|
2600 XE_COMPUTE_RUNPATH()
|
|
2601
|
|
2602 dnl -----------------------------------
|
|
2603 dnl Do some misc autoconf-special tests
|
|
2604 dnl -----------------------------------
|
|
2605
|
|
2606 dnl Do the opsystem or machine files prohibit the use of the GNU malloc?
|
|
2607 dnl Assume not, until told otherwise.
|
|
2608 GNU_MALLOC=yes
|
|
2609 if test "$with_dlmalloc" != "no"; then
|
|
2610 doug_lea_malloc=yes
|
|
2611 else
|
|
2612 doug_lea_malloc=no
|
|
2613 fi
|
|
2614 after_morecore_hook_exists=yes
|
|
2615 AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
|
|
2616 AC_MSG_CHECKING(whether __after_morecore_hook exists)
|
|
2617 AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
|
|
2618 [AC_MSG_RESULT(yes)],
|
|
2619 [AC_MSG_RESULT(no)
|
|
2620 after_morecore_hook_exists=no])
|
|
2621 if test "$system_malloc" = "yes" ; then
|
|
2622 GNU_MALLOC=no
|
|
2623 GNU_MALLOC_reason="
|
|
2624 - The GNU allocators don't work with this system configuration."
|
|
2625 elif test "$with_system_malloc" = "yes" ; then
|
|
2626 GNU_MALLOC=no
|
|
2627 GNU_MALLOC_reason="
|
|
2628 - User chose not to use GNU allocators."
|
|
2629 elif test "$with_debug_malloc" = "yes" ; then
|
|
2630 GNU_MALLOC=no
|
|
2631 GNU_MALLOC_reason="
|
|
2632 - User chose to use Debugging Malloc."
|
|
2633 fi
|
|
2634
|
|
2635 if test "$doug_lea_malloc" = "yes" -a "$GNU_MALLOC" = "yes" ; then
|
|
2636 GNU_MALLOC_reason="
|
|
2637 - Using Doug Lea's new malloc from the GNU C Library."
|
|
2638 AC_DEFINE(DOUG_LEA_MALLOC)
|
|
2639 if test "$after_morecore_hook_exists" = "no" ; then
|
|
2640 GNU_MALLOC_reason="
|
|
2641 - Using Doug Lea's new malloc from the Linux C Library."
|
|
2642 AC_DEFINE(_NO_MALLOC_WARNING_)
|
|
2643 fi
|
|
2644 fi
|
|
2645
|
|
2646 dnl #### mcheck is broken in all versions of Linux libc and glibc.
|
|
2647 dnl Try this again when 2.1 hits the streets.
|
|
2648 dnl Avoid using free-hook.c if support exists for malloc debugging in libc
|
|
2649 dnl have_libmcheck=no
|
|
2650 dnl if test "$enable_error_checking_malloc" = "yes" -a \
|
|
2651 dnl "$have_glibc" = "yes" -a \
|
|
2652 dnl "$doug_lea_malloc" = "yes"; then
|
|
2653 dnl AC_CHECK_HEADERS(mcheck.h)
|
|
2654 dnl AC_CHECK_LIB(mcheck, mcheck, have_libmcheck=yes, have_libmcheck=no)
|
|
2655 dnl fi
|
|
2656
|
|
2657 dnl if test "$have_libmcheck" = "yes"; then
|
|
2658 dnl AC_DEFINE(HAVE_LIBMCHECK)
|
|
2659 dnl libmcheck=-lmcheck
|
|
2660 dnl AC_SUBST(libmcheck)
|
|
2661 dnl fi
|
|
2662
|
|
2663 dnl Some other nice autoconf tests. If you add a test here which
|
|
2664 dnl should make an entry in src/config.h, do not forget to add an
|
|
2665 dnl #undef clause to src/config.h.in for autoconf to modify.
|
|
2666
|
|
2667 AC_PROG_RANLIB
|
|
2668 AC_PROG_INSTALL
|
|
2669 AC_PROG_YACC
|
|
2670
|
|
2671 dnl checks for header files
|
|
2672 AC_CHECK_HEADERS(dnl
|
|
2673 a.out.h dnl
|
|
2674 elf.h dnl
|
|
2675 cygwin/version.h dnl
|
|
2676 fcntl.h dnl
|
|
2677 inttypes.h dnl
|
|
2678 libgen.h dnl
|
|
2679 locale.h dnl
|
|
2680 wchar.h dnl
|
|
2681 mach/mach.h dnl
|
|
2682 sys/param.h dnl
|
|
2683 sys/pstat.h dnl
|
|
2684 sys/resource.h dnl
|
|
2685 sys/time.h dnl
|
|
2686 sys/timeb.h dnl
|
|
2687 sys/times.h dnl
|
|
2688 sys/un.h dnl
|
|
2689 sys/vlimit.h dnl
|
|
2690 ulimit.h dnl
|
|
2691 unistd.h dnl
|
|
2692 )
|
|
2693 AC_HEADER_SYS_WAIT
|
|
2694 AC_HEADER_STDC
|
|
2695 AC_HEADER_TIME
|
|
2696 AC_CHECK_DECLS([sys_siglist],,,
|
|
2697 [#include <signal.h>
|
|
2698 /* NetBSD declares sys_siglist in unistd.h. */
|
|
2699 #if HAVE_UNISTD_H
|
|
2700 # include <unistd.h>
|
|
2701 #endif
|
667
|
2702 ])
|
2651
|
2703
|
|
2704
|
|
2705 dnl ----------------------------------------------------------------
|
|
2706 dnl Checking for utime() or utimes().
|
|
2707 dnl We prefer utime, since it is more standard.
|
|
2708 dnl Some systems have utime.h but do not declare the struct anyplace,
|
|
2709 dnl so we use a more sophisticated test for utime than AC_CHECK_FUNCS.
|
|
2710 dnl ----------------------------------------------------------------
|
|
2711 AC_MSG_CHECKING(for utime)
|
|
2712 AC_TRY_COMPILE([#include <sys/types.h>
|
|
2713 #include <utime.h>],
|
|
2714 [struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x);],
|
|
2715 [AC_MSG_RESULT(yes)
|
|
2716 AC_DEFINE(HAVE_UTIME)],
|
|
2717 [AC_MSG_RESULT(no)
|
|
2718 dnl We don't have utime(); how about utimes()?
|
|
2719 AC_CHECK_FUNCS(utimes)])
|
|
2720
|
|
2721
|
|
2722 dnl checks for typedefs
|
|
2723 AC_TYPE_SIGNAL
|
|
2724 AC_TYPE_SIZE_T
|
|
2725 AC_TYPE_PID_T
|
|
2726 AC_TYPE_UID_T
|
|
2727 AC_TYPE_MODE_T
|
|
2728 AC_TYPE_OFF_T
|
|
2729 AC_CHECK_TYPE(ssize_t, int)
|
|
2730
|
|
2731 dnl not AC_CHECK_TYPE; lisp.h does hairy conditional typedef
|
|
2732 if test "$ac_cv_header_inttypes_h" != "yes"; then
|
|
2733 AC_MSG_CHECKING(for intptr_t in sys/types.h)
|
|
2734 AC_TRY_COMPILE([#include <sys/types.h>
|
|
2735 intptr_t x;
|
|
2736 ],[],[AC_MSG_RESULT(yes)
|
|
2737 AC_DEFINE(HAVE_INTPTR_T_IN_SYS_TYPES_H,1)],
|
|
2738 [AC_MSG_RESULT(no)])
|
|
2739 fi
|
|
2740
|
|
2741 dnl check for Unix98 socklen_t
|
|
2742 AC_MSG_CHECKING(for socklen_t)
|
|
2743 AC_TRY_COMPILE([#include <sys/types.h>
|
|
2744 #include <sys/socket.h>
|
|
2745 socklen_t x;
|
|
2746 ],[],[AC_MSG_RESULT(yes)],[
|
|
2747 AC_TRY_COMPILE([#include <sys/types.h>
|
|
2748 #include <sys/socket.h>
|
|
2749 int accept (int, struct sockaddr *, size_t *);
|
|
2750 ],[],[
|
|
2751 AC_MSG_RESULT(size_t)
|
|
2752 AC_DEFINE(socklen_t,size_t)], [
|
|
2753 AC_MSG_RESULT(int)
|
|
2754 AC_DEFINE(socklen_t,int)])])
|
|
2755
|
|
2756 AC_MSG_CHECKING(for struct timeval)
|
|
2757 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
|
|
2758 #include <sys/time.h>
|
|
2759 #include <time.h>
|
|
2760 #else
|
|
2761 #ifdef HAVE_SYS_TIME_H
|
|
2762 #include <sys/time.h>
|
|
2763 #else
|
|
2764 #include <time.h>
|
|
2765 #endif
|
|
2766 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
|
|
2767 [AC_MSG_RESULT(yes)
|
|
2768 HAVE_TIMEVAL=yes
|
|
2769 AC_DEFINE(HAVE_TIMEVAL)],
|
|
2770 [AC_MSG_RESULT(no)
|
|
2771 HAVE_TIMEVAL=no])
|
|
2772
|
|
2773 dnl checks for structure members
|
|
2774 AC_STRUCT_TM
|
|
2775 AC_STRUCT_TIMEZONE
|
|
2776
|
|
2777 dnl checks for compiler characteristics
|
|
2778 AC_C_CONST
|
|
2779
|
|
2780 dnl check for Make feature
|
|
2781 AC_PROG_MAKE_SET
|
|
2782
|
|
2783 dnl check byte order
|
|
2784 AC_C_BIGENDIAN
|
|
2785
|
|
2786 dnl define SIZEOF_TYPE
|
|
2787 AC_CHECK_SIZEOF(short)
|
|
2788 if test "$ac_cv_sizeof_short" = 0; then
|
|
2789 echo ""
|
|
2790 echo "*** PANIC *** Configure tests are not working - compiler is broken."
|
|
2791 echo "*** PANIC *** Please examine config.log for compilation errors."
|
|
2792 exit 1
|
|
2793 fi
|
|
2794 AC_CHECK_SIZEOF(int)
|
|
2795 AC_CHECK_SIZEOF(long)
|
|
2796 AC_CHECK_SIZEOF(long long)
|
|
2797 AC_CHECK_SIZEOF(void *)
|
|
2798 AC_CHECK_SIZEOF(double)
|
|
2799
|
|
2800 dnl check for long file names
|
|
2801 AC_SYS_LONG_FILE_NAMES
|
|
2802
|
|
2803 dnl -lm is required for floating point support, among other things
|
|
2804 AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin))
|
|
2805
|
|
2806 AC_TRY_LINK([#include <math.h>],
|
|
2807 [return atanh(1.0) + asinh(1.0) + acosh(1.0); ],
|
|
2808 AC_DEFINE(HAVE_INVERSE_HYPERBOLIC))
|
|
2809
|
|
2810 dnl See if mkstemp is available
|
|
2811 AC_CHECK_FUNCS(mkstemp)
|
|
2812
|
|
2813 dnl Determine type of mail locking from configure args and s&m headers
|
|
2814 AC_CHECKING([type of mail spool file locking])
|
|
2815 AC_CHECK_FUNCS(lockf flock)
|
|
2816 dnl The mail_use_xxx variables are set according to the s&m headers.
|
|
2817 test -z "$with_mail_locking" -a "$mail_use_flock" = "yes" && with_mail_locking=flock
|
|
2818 test -z "$with_mail_locking" -a "$mail_use_lockf" = "yes" && with_mail_locking=lockf
|
|
2819 test -z "$with_mail_locking" -a "$mail_use_locking" = "yes" && with_mail_locking=locking
|
|
2820 if test -z "$with_mail_locking"; then
|
|
2821 case "$opsys" in cygwin* | mingw*)
|
|
2822 with_mail_locking=pop ;;
|
|
2823 esac
|
|
2824 fi
|
|
2825
|
|
2826 if test "$with_mail_locking" = "lockf"; then AC_DEFINE(MAIL_LOCK_LOCKF)
|
|
2827 elif test "$with_mail_locking" = "flock"; then AC_DEFINE(MAIL_LOCK_FLOCK)
|
|
2828 elif test "$with_mail_locking" = "locking"; then AC_DEFINE(MAIL_LOCK_LOCKING)
|
|
2829 elif test "$with_mail_locking" = "pop"; then
|
|
2830 with_pop=yes
|
|
2831 with_mail_locking=
|
|
2832 elif test "$with_mail_locking" = "mmdf"; then AC_DEFINE(MAIL_LOCK_MMDF)
|
|
2833 else with_mail_locking="file"; AC_DEFINE(MAIL_LOCK_DOT)
|
|
2834 fi
|
|
2835 test "$with_mail_locking" = "lockf" -a "$ac_cv_func_lockf" != "yes" && \
|
|
2836 XE_DIE("lockf mail locking requested but not available.")
|
|
2837 test "$with_mail_locking" = "flock" -a "$ac_cv_func_flock" != "yes" && \
|
|
2838 XE_DIE("flock mail locking requested but not available.")
|
|
2839 test "$with_mail_locking" = "locking" -a "$ac_cv_func_locking" != "yes" && \
|
|
2840 XE_DIE("locking mail locking requested but not available.")
|
|
2841
|
|
2842 case "$opsys" in decosf*)
|
|
2843 AC_CHECK_LIB(pthreads, cma_open)
|
|
2844 test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
|
|
2845 c_switch_site="$c_switch_site -threads" ;;
|
|
2846 esac
|
|
2847
|
|
2848 dnl ----------------------------------------------------------------
|
|
2849 dnl Miscellaneous flags
|
|
2850 dnl ----------------------------------------------------------------
|
|
2851
|
|
2852 AC_MSG_CHECKING(whether the -xildoff compiler flag is required)
|
|
2853 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then
|
|
2854 if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ;
|
|
2855 then AC_MSG_RESULT(no);
|
|
2856 else AC_MSG_RESULT(yes); XE_APPEND(-xildoff, ld_switch_site)
|
|
2857 fi
|
|
2858 else AC_MSG_RESULT(no)
|
|
2859 fi
|
|
2860
|
|
2861 dnl Link with "-z ignore" on Solaris if supported
|
|
2862 if test "$opsys" = "sol2"; then
|
|
2863 if test "$os_release" -ge 506; then
|
|
2864 AC_MSG_CHECKING(for \"-z ignore\" linker flag)
|
|
2865 case "`ld -h 2>&1`" in
|
|
2866 *-z\ ignore\|record* ) AC_MSG_RESULT(yes)
|
|
2867 XE_PREPEND(-z ignore, ld_switch_site) ;;
|
|
2868 *) AC_MSG_RESULT(no) ;;
|
|
2869 esac
|
|
2870 fi
|
|
2871 fi
|
|
2872
|
|
2873 dnl ----------------------
|
|
2874 dnl Choose a window system
|
|
2875 dnl ----------------------
|
|
2876
|
|
2877 AC_CHECKING([for specified window system])
|
|
2878
|
|
2879 dnl Autodetection of Gdk libraries and includes
|
|
2880 dnl -------------------------------------------
|
|
2881 dnl On some systems (FreeBSD springs to mind), they use
|
|
2882 dnl versions on the utility routines, so instead of gtk-config
|
|
2883 dnl you must use gtk12-config, etc, etc.
|
|
2884
|
|
2885 GNOME_CONFIG=no
|
|
2886 GTK_CONFIG=no
|
|
2887
|
|
2888 if test "$with_gnome" != "no"; then
|
|
2889 AC_MSG_CHECKING(for GNOME configuration script)
|
|
2890 for possible in gnome-config
|
|
2891 do
|
|
2892 possible_version=`${possible} --version 2> /dev/null`
|
|
2893 if test "x${possible_version}" != "x"; then
|
|
2894 GNOME_CONFIG="${possible}"
|
|
2895 with_gnome=yes
|
|
2896 with_gtk=yes
|
|
2897 break
|
|
2898 fi
|
|
2899 done
|
|
2900 AC_MSG_RESULT([${GNOME_CONFIG}])
|
|
2901 fi
|
|
2902
|
|
2903 if test "${GNOME_CONFIG}" != "no"; then
|
|
2904 GNOME_LIBS=`${GNOME_CONFIG} --libs gnomeui`
|
|
2905 GNOME_CFLAGS=`${GNOME_CONFIG} --cflags gnomeui`
|
|
2906 AC_DEFINE(HAVE_GNOME)
|
|
2907 XE_APPEND(${GNOME_LIBS}, libs_gtk)
|
|
2908 XE_APPEND(${GNOME_CFLAGS}, c_switch_gtk)
|
|
2909 fi
|
|
2910
|
|
2911 if test "$with_gtk" != "no";then
|
|
2912 AC_MSG_CHECKING(for GTK configuration script)
|
|
2913 for possible in gtk12-config gtk14-config gtk-config
|
|
2914 do
|
|
2915 possible_version=`${possible} --version 2> /dev/null`
|
|
2916 if test "x${possible_version}" != "x"; then
|
|
2917 GTK_CONFIG="${possible}"
|
|
2918 case "${possible_version}" in
|
|
2919 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;;
|
|
2920 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;;
|
|
2921 1.2.*)
|
|
2922 with_gtk=yes
|
|
2923 break
|
|
2924 ;;
|
|
2925 *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);;
|
|
2926 esac
|
|
2927 fi
|
|
2928 done
|
|
2929 AC_MSG_RESULT([${GTK_CONFIG}])
|
|
2930 fi
|
|
2931
|
|
2932 if test "${GTK_CONFIG}" != "no"; then
|
|
2933 AC_MSG_CHECKING(gtk version)
|
|
2934 GTK_VERSION=`${GTK_CONFIG} --version`
|
|
2935 AC_MSG_RESULT(${GTK_VERSION})
|
|
2936
|
|
2937 AC_MSG_CHECKING(gtk libs)
|
|
2938 GTK_LIBS=`${GTK_CONFIG} --libs`
|
|
2939 XE_APPEND(${GTK_LIBS}, libs_gtk)
|
|
2940 AC_MSG_RESULT(${GTK_LIBS})
|
|
2941
|
|
2942 AC_MSG_CHECKING(gtk cflags)
|
|
2943 GTK_CFLAGS=`${GTK_CONFIG} --cflags`
|
|
2944 if test "$GCC" = "yes"; then
|
|
2945 GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow"
|
|
2946 fi
|
|
2947 XE_APPEND(${GTK_CFLAGS}, c_switch_gtk)
|
|
2948 AC_MSG_RESULT(${GTK_CFLAGS})
|
|
2949
|
|
2950 AC_CHECK_LIB(gdk_imlib, main, XE_PREPEND(-lgdk_imlib, libs_gtk))
|
|
2951 AC_CHECK_LIB(Imlib, Imlib_init, XE_APPEND(-lImlib, libs_gtk))
|
|
2952 AC_CHECK_FUNCS(gdk_imlib_init)
|
|
2953
|
|
2954 AC_DEFINE(HAVE_XPM)
|
|
2955 AC_DEFINE(HAVE_GTK)
|
|
2956 AC_SUBST(GTK_CONFIG)
|
|
2957
|
|
2958 window_system=gtk
|
|
2959 with_gtk=yes
|
|
2960 if test "$with_x11" != "no"; then
|
|
2961 AC_MSG_WARN([Configuring GTK, forcing with_x11 to no])
|
|
2962 with_x11=no
|
|
2963 fi
|
|
2964
|
|
2965 for feature in scrollbars toolbars menubars dialogs widgets
|
|
2966 do
|
|
2967 eval "feature_value=\${enable_${feature}}"
|
|
2968 case "${feature_value}" in
|
|
2969 yes|no|gtk|"" )
|
|
2970 ;;
|
|
2971 * )
|
|
2972 feature_conflict_with_gtk=yes
|
|
2973 AC_MSG_WARN([--enable-${feature}=${feature_value} is incompatible with --with-gtk]) ;;
|
|
2974 esac
|
|
2975 done
|
|
2976 if test "${feature_conflict_with_gtk}" = "yes"; then
|
|
2977 XE_DIE(["One or more GUI toolkit features conflict with GTK"])
|
|
2978 fi
|
|
2979
|
|
2980 test "${enable_scrollbars}" != "no" && enable_scrollbars=gtk
|
|
2981 test "${enable_toolbars}" != "no" && enable_toolbars=gtk
|
|
2982 test "${enable_menubars}" != "no" && enable_menubars=gtk
|
|
2983 test "${enable_dialogs}" != "no" && enable_dialogs=gtk
|
|
2984 test "${enable_widgets}" != "no" && enable_widgets=gtk
|
|
2985
|
|
2986 dnl Check for libglade support (it rocks)
|
|
2987 OLD_CFLAGS="${CFLAGS}"
|
|
2988 OLD_CPPFLAGS="${CPPFLAGS}"
|
|
2989 OLD_LDFLAGS="${LDFLAGS}"
|
|
2990 CFLAGS="${GTK_CFLAGS} ${CFLAGS}"
|
|
2991 CPPFLAGS="${GTK_CFLAGS} ${CFLAGS}"
|
|
2992 LDFLAGS="${LDFLAGS} ${GTK_LIBS}"
|
|
2993 AC_CHECK_HEADERS(glade/glade.h glade.h)
|
|
2994 AC_CHECK_LIB(xml, main, XE_PREPEND(-lxml, libs_gtk))
|
|
2995 AC_CHECK_LIB(glade, main, XE_PREPEND(-lglade, libs_gtk))
|
|
2996 AC_CHECK_LIB(glade-gnome, main, XE_PREPEND(-lglade-gnome, libs_gtk))
|
|
2997 AC_EGREP_HEADER([char \*txtdomain;], [glade/glade-xml.h],
|
|
2998 [AC_MSG_RESULT(yes)
|
|
2999 AC_DEFINE(LIBGLADE_XML_TXTDOMAIN,1)],
|
|
3000 [AC_MSG_RESULT(no)])
|
|
3001 CFLAGS="${OLD_CFLAGS}"
|
|
3002 CPPFLAGS="${OLD_CPPFLAGS}"
|
|
3003 LDFLAGS="${OLD_LDFLAGS}"
|
|
3004 fi
|
|
3005
|
|
3006 dnl We may eventually prefer gtk/gdk over vanilla X11...
|
|
3007
|
|
3008 if test "$with_x11" != "no"; then
|
|
3009 dnl User-specified --x-includes or --x-libraries implies --with-x11.
|
|
3010 test "$x_includes $x_libraries" != "NONE NONE" && \
|
|
3011 window_system=x11 with_x11=yes
|
|
3012
|
|
3013 dnl Autodetection of X11 libraries and includes
|
|
3014 dnl -------------------------------------------
|
|
3015 dnl AC_PATH_XTRA thinks it can find our X headers and includes, but
|
|
3016 dnl it often gets it wrong, so we only use it as a last resort.
|
|
3017
|
|
3018 dnl $OPENWINHOME implies --x-includes and --x-libraries
|
|
3019 dnl Not (yet) handled by autoconf2
|
|
3020 if test "$x_includes $x_libraries" = "NONE NONE" \
|
|
3021 -a -n "$OPENWINHOME" \
|
|
3022 -a "$OPENWINHOME" != "/usr/openwin" \
|
|
3023 -a -d "$OPENWINHOME"; then
|
|
3024 test -d "$OPENWINHOME/lib" && x_libraries="$OPENWINHOME/lib"
|
|
3025 test -d "$OPENWINHOME/include" && x_includes="$OPENWINHOME/include"
|
|
3026 test -d "$OPENWINHOME/share/include" && x_includes="$OPENWINHOME/share/include"
|
|
3027 fi
|
|
3028
|
|
3029 if test "$x_includes" = "NONE"; then
|
|
3030 dnl AC_PATH_XTRA often guesses /usr/include, when some other
|
|
3031 dnl include directory is a MUCH better guess (Linux, HP-UX 10.20).
|
|
3032 dnl This is a workaround for idiot (esp. HP) system vendors, who
|
|
3033 dnl provide a /usr/include/X11, but DON'T FULLY POPULATE IT.
|
|
3034 for dir in "/usr/X11" "/usr/X11R6"; do
|
|
3035 if test -d "$dir/include/X11"; then x_includes="$dir/include"; break; fi
|
|
3036 done
|
|
3037 fi
|
|
3038
|
|
3039 if test "$x_libraries" = "NONE"; then
|
|
3040 for dir in "/usr/X11/lib" "/usr/X11R6/lib" "/usr/lib/X11R6"; do
|
|
3041 if test -r "$dir/libX11.a"; then x_libraries="$dir"; break; fi
|
|
3042 done
|
|
3043 fi
|
|
3044
|
|
3045 AC_PATH_XTRA # Autoconf claims to find X library and include dirs for us.
|
|
3046 if test "$no_x" = "yes"
|
|
3047 then with_x11=no window_system=none HAVE_X_WINDOWS=no
|
|
3048 else with_x11=yes window_system=x11 HAVE_X_WINDOWS=yes
|
|
3049 fi
|
|
3050 fi
|
|
3051
|
|
3052 dnl #### wmperry:: !x11 != NONE
|
|
3053 dnl case "$with_x11" in
|
|
3054 dnl yes ) window_system=x11 HAVE_X_WINDOWS=yes ;;
|
|
3055 dnl no ) window_system=none HAVE_X_WINDOWS=no ;;
|
|
3056 dnl esac
|
|
3057
|
|
3058 if test "$with_x11" = "yes"; then
|
|
3059 AC_DEFINE(HAVE_X_WINDOWS)
|
|
3060 XE_APPEND(lwlib, MAKE_SUBDIR)
|
|
3061 XE_APPEND(lwlib, SRC_SUBDIR_DEPS)
|
|
3062
|
|
3063 dnl Look for Motif, but only if not found in $x_includes and $x_libraries
|
|
3064 AC_CHECK_HEADER(Xm/Xm.h, [AC_CHECK_LIB(Xm, XmStringFree, got_motif=yes)])
|
|
3065
|
|
3066 if test "$got_motif" != "yes"; then
|
|
3067 dnl Try to find Motif/CDE/Tooltalk dirs
|
|
3068 dnl These take precedence over other X libs/includes, so PRE-pend
|
|
3069 for lib_dir in "/usr/dt/lib" "/usr/lib/Motif2.1" \
|
|
3070 "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do
|
|
3071 inc_dir=`echo $lib_dir | sed -e 's/lib/include/'`
|
|
3072 if test -d "$lib_dir" -a -d "$inc_dir"; then
|
|
3073 case "$x_libraries" in *"$lib_dir"* ) ;; *)
|
|
3074 x_libraries="$lib_dir $x_libraries"
|
|
3075 XE_PREPEND(-L${lib_dir}, X_LIBS) ;;
|
|
3076 esac
|
|
3077 case "$x_includes" in "$inc_dir"* ) ;; *)
|
|
3078 x_includes="$inc_dir $x_includes"
|
|
3079 XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;;
|
|
3080 esac
|
|
3081 break; dnl only need ONE Motif implementation!
|
|
3082 fi
|
|
3083 done
|
|
3084 fi
|
|
3085
|
|
3086 dnl Contrib X libs/includes do NOT take precedence, so AP-pend
|
|
3087 for rel in "X11R6" "X11R5" "X11R4"; do
|
|
3088 lib_dir="/usr/contrib/$rel/lib" inc_dir="/usr/contrib/$rel/include"
|
|
3089 if test -d "$lib_dir" -a -d "$inc_dir"; then
|
|
3090 case "$x_libraries" in *"$lib_dir"* ) ;; *)
|
|
3091 x_libraries="$x_libraries $lib_dir"
|
|
3092 XE_APPEND(-L${lib_dir}, X_LIBS)
|
|
3093 esac
|
|
3094 case "$x_includes" in "$inc_dir"* ) ;; *)
|
|
3095 x_includes="$x_includes $inc_dir"
|
|
3096 XE_APPEND(-I${inc_dir}, X_CFLAGS)
|
|
3097 esac
|
|
3098 break; dnl Only need ONE X11 implementation !
|
|
3099 fi
|
|
3100 done
|
|
3101
|
|
3102 dnl Avoid version mismatch for shared library libXm.so on osf4
|
|
3103 case "$opsys" in
|
|
3104 decosf*) if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi ;;
|
|
3105 esac
|
|
3106
|
|
3107 ld_switch_x_site="$X_LIBS"
|
|
3108
|
|
3109 XE_COMPUTE_RUNPATH()
|
|
3110
|
|
3111 if test "$verbose" = "yes"; then
|
|
3112 echo; echo "X11 compilation variables:"
|
|
3113 PRINT_VAR(x_libraries x_includes X_CFLAGS X_LIBS X_PRE_LIBS X_EXTRA_LIBS)
|
|
3114 echo
|
|
3115 fi
|
|
3116
|
|
3117 dnl Set up bitmaps search path.
|
|
3118 dnl The original suggestion was to unconditionally to append X11/bitmaps
|
|
3119 dnl to each element of $x_includes, I'm pretty sure this is the wrong
|
|
3120 dnl thing to do. We test for bitmaps and X11/bitmaps directories on each
|
|
3121 dnl element and add them to BITMAPDIR if they exist.
|
|
3122 bitmapdirs=
|
|
3123 if test "$x_includes" != NONE; then
|
|
3124 for i in $x_includes; do
|
|
3125 if test -d "$i/bitmaps"; then
|
|
3126 bitmapdirs="$i/bitmaps:$bitmapdirs"
|
|
3127 fi
|
|
3128 if test -d "$i/X11/bitmaps"; then
|
|
3129 bitmapdirs="$i/X11/bitmaps:$bitmapdirs"
|
|
3130 fi
|
|
3131 done
|
|
3132 bitmapdirs=`echo "$bitmapdirs" | sed s/.$//`
|
|
3133 fi
|
|
3134 test ! -z "$bitmapdirs" && AC_DEFINE_UNQUOTED(BITMAPDIR, "$bitmapdirs")
|
|
3135
|
|
3136 dnl Autodetect defines extracted from X config by xmkmf, e.g. NARROWPROTO
|
|
3137 AC_CHECKING([for X defines extracted by xmkmf])
|
|
3138 rm -fr conftestdir
|
|
3139 if mkdir conftestdir; then
|
|
3140 cd conftestdir
|
|
3141 cat > Imakefile <<'EOF'
|
|
3142 xetest:
|
|
3143 @echo ${PROTO_DEFINES} ${STD_DEFINES}
|
|
3144 EOF
|
|
3145 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
|
|
3146 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
|
|
3147 xmkmf_defines=`${MAKE-make} xetest 2>/dev/null | grep -v make`
|
|
3148 fi
|
|
3149 cd ..
|
|
3150 rm -fr conftestdir
|
|
3151 for word in $xmkmf_defines; do
|
|
3152 case "$word" in
|
|
3153 -D__STDC__*) ;;
|
|
3154 -D* )
|
|
3155 sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'`
|
|
3156 case "$word" in
|
|
3157 -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
|
|
3158 * ) val=1 ;;
|
|
3159 esac
|
|
3160 dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
|
|
3161 if grep "^#define $sym " confdefs.h >/dev/null; then :; else
|
|
3162 if test "$val" = "1"
|
|
3163 then AC_DEFINE_UNQUOTED($sym)
|
|
3164 else AC_DEFINE_UNQUOTED($sym,$val)
|
|
3165 fi
|
|
3166 fi ;;
|
|
3167 esac
|
|
3168 done
|
|
3169 fi
|
|
3170
|
|
3171 dnl make sure we can find Intrinsic.h
|
|
3172 AC_CHECK_HEADER(X11/Intrinsic.h, ,
|
|
3173 [AC_MSG_ERROR([Unable to find X11 header files.])])
|
|
3174
|
|
3175 dnl -lXt and -lX11 are required
|
|
3176 dnl Some broken systems require the magic "-b i486-linuxaout" flag
|
|
3177 AC_CHECK_LIB(X11, XOpenDisplay, have_lib_x11=yes)
|
|
3178 if test "$have_lib_x11" != "yes"; then
|
|
3179 AC_CHECK_LIB(X11, XGetFontProperty,
|
|
3180 ld_switch_x_site="-b i486-linuxaout $ld_switch_x_site",
|
|
3181 [AC_MSG_ERROR([Unable to find X11 libraries.])],
|
|
3182 -b i486-linuxaout)
|
|
3183 fi
|
|
3184 libs_x="-lX11"
|
|
3185 test "$verbose" = "yes" && echo " Setting libs_x to \"-lX11\""
|
|
3186
|
|
3187 dnl Autodetect -lXext
|
|
3188 AC_CHECK_LIB(Xext, XShapeSelectInput, XE_PREPEND(-lXext, libs_x))
|
|
3189
|
|
3190 dnl Require -lXt
|
|
3191 AC_CHECK_LIB(Xt, XtOpenDisplay, XE_PREPEND(-lXt, libs_x),
|
|
3192 AC_MSG_ERROR([Unable to find X11 libraries.]))
|
|
3193
|
|
3194 AC_MSG_CHECKING(the version of X11 being used)
|
|
3195 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <X11/Intrinsic.h>
|
|
3196 int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }])],
|
|
3197 [./conftest foobar; x11_release=$?],[x11_release=4],[x11_release=4])
|
|
3198 AC_MSG_RESULT(R${x11_release})
|
|
3199 AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
|
|
3200
|
|
3201 if test "${x11_release}" = "4"; then
|
|
3202 case "$enable_widgets" in
|
|
3203 "" | "no") enable_widgets=no ;;
|
|
3204 *) XE_DIE("Widget support requires X11R5 or greater") ;;
|
|
3205 esac
|
|
3206 fi
|
|
3207
|
|
3208 AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable)
|
|
3209
|
|
3210 AC_CHECK_HEADERS(X11/Xlocale.h X11/Xfuncproto.h)
|
|
3211
|
|
3212 dnl XFree86 has a non-standard prototype for this X11R6 function
|
|
3213 AC_CHECK_FUNCS(XRegisterIMInstantiateCallback)
|
|
3214 AC_MSG_CHECKING(for standard XRegisterIMInstantiateCallback prototype)
|
|
3215 AC_TRY_COMPILE([
|
|
3216 #define NeedFunctionPrototypes 1
|
|
3217 #include <X11/Xlib.h>
|
|
3218 extern Bool XRegisterIMInstantiateCallback(
|
|
3219 Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*);
|
|
3220 ], [],
|
|
3221 [AC_MSG_RESULT(yes)],
|
|
3222 [AC_MSG_RESULT(no)
|
|
3223 AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)])
|
|
3224
|
|
3225 dnl autodetect -lXmu
|
|
3226 test -z "$with_xmu" && { AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile,
|
|
3227 with_xmu=yes, with_xmu=no) }
|
|
3228 if test "$with_xmu" = "no"; then
|
|
3229 XE_ADD_OBJS(xmu.o)
|
|
3230 else
|
|
3231 XE_PREPEND(-lXmu, libs_x)
|
|
3232 AC_DEFINE(HAVE_XMU)
|
|
3233 fi
|
|
3234
|
|
3235 dnl Autodetect -lXbsd
|
|
3236 dnl #### Someone, please add a better function than main
|
|
3237 AC_CHECK_LIB(Xbsd, main, XE_PREPEND(-lXbsd, libs_x))
|
|
3238
|
|
3239 dnl Problem with the MIT distribution of X on AIX
|
|
3240 if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then
|
|
3241 dnl X11R6 requires thread-safe code on AIX for some reason
|
|
3242 if test "$GCC" = "yes"; then
|
|
3243 XE_PREPEND(-mthreads, X_CFLAGS)
|
|
3244 XE_PREPEND(-mthreads, libs_x)
|
|
3245 else
|
|
3246 case "$CC" in
|
|
3247 "xlc" ) CC="xlc_r" ;;
|
|
3248 "xlC" ) CC="xlC_r" ;;
|
|
3249 "cc" ) CC="cc_r" ;;
|
|
3250 esac
|
|
3251 fi
|
|
3252 fi
|
|
3253
|
|
3254 fi dnl $with_x11 = yes
|
|
3255
|
|
3256 if test "$with_msw" != "no"; then
|
|
3257 AC_CHECKING([for MS-Windows])
|
|
3258 AC_CHECK_LIB(gdi32,main,with_msw=yes)
|
|
3259 if test "$with_msw" = "yes"; then
|
|
3260 AC_DEFINE(HAVE_MS_WINDOWS)
|
|
3261
|
|
3262 dnl The net installer only works with MS-Windows currently
|
|
3263 if test "$with_netinstall" = "yes"; then
|
|
3264 XE_APPEND(netinstall, MAKE_SUBDIR)
|
|
3265 XE_APPEND(netinstall, SRC_SUBDIR_DEPS)
|
|
3266 XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR)
|
|
3267 fi
|
|
3268
|
|
3269 install_pp="$srcdir/lib-src/installexe.sh"
|
|
3270 XE_APPEND(-limm32 -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr, libs_system)
|
|
3271 if test "$with_dragndrop" != no; then
|
|
3272 XE_APPEND(msw, dragndrop_proto)
|
|
3273 with_dragndrop=yes
|
|
3274 fi
|
|
3275 if test "$window_system" != x11; then
|
|
3276 window_system=msw
|
|
3277 test "$enable_scrollbars" != "no" && enable_scrollbars=msw
|
|
3278 test "$enable_menubars" != "no" && enable_menubars=msw
|
|
3279 test "$enable_toolbars" != "no" && enable_toolbars=msw
|
|
3280 test "$enable_dialogs" != "no" && enable_dialogs=msw
|
|
3281 test "$enable_widgets" != "no" && enable_widgets=msw
|
|
3282 fi
|
|
3283 dnl check for our special version of select
|
|
3284 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <fcntl.h>
|
|
3285 int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }])],
|
|
3286 [AC_DEFINE(HAVE_MSG_SELECT)])
|
|
3287 fi
|
|
3288 fi
|
|
3289
|
|
3290 AC_SUBST(install_pp)
|
|
3291
|
|
3292 test -z "$with_dragndrop" && with_dragndrop="$with_dragndrop_default"
|
|
3293 test -z "$window_system" && window_system="none"
|
|
3294
|
|
3295 dnl Test for features that require a window system - ANY window system
|
|
3296 if test "$window_system" = "none"; then
|
|
3297 for feature in menubars scrollbars toolbars dialogs dragndrop xface
|
|
3298 do
|
|
3299 if eval "test -n \"\$enable_${feature}\" -a \"\$enable_${feature}\" != no" ; then
|
|
3300 AC_MSG_WARN([--enable-$feature ignored: Not valid without window system support])
|
|
3301 fi
|
|
3302 eval "enable_${feature}=no"
|
|
3303 done
|
|
3304 else
|
|
3305 test -z "$enable_toolbars" && enable_toolbars=yes
|
|
3306 fi
|
|
3307
|
|
3308 dnl ### Test for features that require mswindows support - currently none
|
|
3309 dnl ### MS-Windows folks: add code here..... (martin)
|
|
3310 if test "$with_msw" != "yes"; then
|
|
3311 for feature in MARTIN_IS_CLUELESS_ABOUT_MSW_FEATURES
|
|
3312 do
|
|
3313 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
|
|
3314 AC_MSG_WARN([--with-$feature ignored: Not valid without MS-Windows support])
|
|
3315 fi
|
|
3316 eval "with_${feature}=no"
|
|
3317 done
|
|
3318 else
|
|
3319 :
|
|
3320 fi
|
|
3321
|
|
3322 dnl Test for features that require X11 support
|
|
3323 if test "$with_x11" != "yes"; then
|
|
3324 dnl It ought to be reasonable to have no output device at all, and only use
|
|
3325 dnl XEmacs in --batch mode.
|
|
3326 dnl if test "$with_tty" = "no" ; then
|
|
3327 dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
|
|
3328 dnl fi
|
|
3329 for feature in with_tooltalk with_cde with_offix with_wmcommand with_xim with_xmu enable_sound_nas
|
|
3330 do
|
|
3331 if eval "test -n \"\$${feature}\" -a \"\$${feature}\" != \"no\"" ; then
|
|
3332 AC_MSG_WARN([--$feature ignored: Not valid without X support])
|
|
3333 fi
|
|
3334 eval "${feature}=no"
|
|
3335 done
|
|
3336 fi
|
|
3337
|
|
3338 dnl Balloon Help requires the Shape extension, not available everywhere,
|
|
3339 dnl for example not on AIX 4.3.
|
|
3340 if test "$with_x11" = "yes"; then
|
|
3341 AC_CHECK_HEADER(X11/extensions/shape.h, [
|
|
3342 AC_DEFINE(HAVE_BALLOON_HELP)
|
|
3343 ])
|
|
3344 fi
|
|
3345
|
|
3346 dnl FSF 19.29 has some bitmapdir stuff here.
|
|
3347 bitmapdir=
|
|
3348
|
|
3349 case "$window_system" in
|
|
3350 x11 ) HAVE_X_WINDOWS=yes; echo " Using X11." ;;
|
|
3351 msw ) HAVE_X_WINDOWS=no ; echo " Using MS-Windows." ;;
|
|
3352 gtk )
|
|
3353 HAVE_X_WINDOWS=no
|
|
3354 test "$with_gnome" = "yes" && echo " Using GNOME."
|
|
3355 test "$with_gnome" = "no" && echo " Using GTK."
|
|
3356 ;;
|
|
3357 none ) HAVE_X_WINDOWS=no ; echo " Using no window system." ;;
|
|
3358 esac
|
|
3359
|
|
3360 case "$x_libraries" in *X11R4* )
|
|
3361 test "$opsys" = "hpux9" && opsysfile="s/hpux9-x11r4.h"
|
|
3362 test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h"
|
|
3363 esac
|
|
3364
|
|
3365 dnl Enable or disable proper handling of WM_COMMAND
|
|
3366 AC_CHECKING([for WM_COMMAND option])
|
|
3367 dnl if test "$with_wmcommand" = "yes"; then
|
|
3368 if test "$with_wmcommand" != "no"; then
|
|
3369 AC_DEFINE(HAVE_WMCOMMAND)
|
|
3370 fi
|
|
3371
|
|
3372 dnl Autodetect Xauth
|
|
3373 dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
|
|
3374 test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
|
|
3375 test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
|
|
3376 test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no) }
|
|
3377 test -z "$with_xauth" && with_xauth=yes
|
|
3378 if test "$with_xauth" = "yes"; then
|
|
3379 AC_DEFINE(HAVE_XAUTH)
|
|
3380 XE_SPACE(libs_xauth, $GTK_LIBS $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS)
|
|
3381 fi
|
|
3382 AC_SUBST(libs_xauth)
|
|
3383
|
|
3384 dnl This one is for the static initializeds variables in
|
|
3385 dnl offix.c, so that the thing is dumped after lastfile.o
|
|
3386 AC_SUBST(dnd_objs)
|
|
3387
|
|
3388 dnl Autodetect dll support
|
|
3389
|
|
3390 dnl If g++ is used, we have to explicitly link modules with -lstdc++ on Cygwin
|
|
3391 dnl to avoid undefined symbol errors. This will never hurt, so just do it on
|
|
3392 dnl all platforms in case others have the same brain damage.
|
|
3393 if test "$with_xemacs_compiler" = "g++"; then
|
|
3394 LIBSTDCPP=-lstdc++
|
|
3395 else
|
|
3396 LIBSTDCPP=
|
|
3397 fi
|
|
3398 AC_SUBST(LIBSTDCPP)
|
|
3399
|
|
3400 dnl This must come before the detection code for anything that is in a module
|
|
3401 if test "$enable_modules" != "no"; then
|
|
3402 AC_CHECKING([for module support])
|
|
3403
|
|
3404 case "$opsys" in
|
|
3405 mingw* | cygwin* ) have_dl=yes ;;
|
|
3406 darwin ) have_dl=yes
|
|
3407 AC_DEFINE(HAVE_DYLD)
|
|
3408 ;;
|
|
3409 * )
|
|
3410 dnl Check for the ELFish dlopen()
|
|
3411 AC_CHECK_HEADER(dlfcn.h, [
|
|
3412 AC_MSG_CHECKING([for dlopen in -lc])
|
|
3413 AC_TRY_LINK([#include <dlfcn.h>],dnl
|
|
3414 [dlopen ("", 0);], [ have_dl=yes ], [
|
|
3415 AC_MSG_CHECKING([for dlopen in -ldl])
|
|
3416 ac_save_LIBS="$LIBS"
|
|
3417 LIBS="$LIBS -ldl"
|
|
3418 AC_TRY_LINK([#include <dlfcn.h>],dnl
|
|
3419 [dlopen ("", 0);], [ have_dl=yes ], [
|
|
3420 AC_MSG_CHECKING([for dlopen in -lsvld])
|
|
3421 LIBS="$ac_save_LIBS -lsvld"
|
|
3422 AC_TRY_LINK([#include <dlfcn.h>],dnl
|
|
3423 [dlopen ("", 0);], [ have_dl=yes ], [LIBS="$ac_save_LIBS"])])])])
|
|
3424 if test "$have_dl" = "yes"; then
|
|
3425 AC_DEFINE(HAVE_DLOPEN)
|
|
3426 else
|
|
3427 dnl Check for HP/UX shl_load
|
|
3428 AC_CHECK_HEADER(dl.h, [
|
|
3429 AC_MSG_CHECKING([for shl_load in -lc])
|
|
3430 AC_TRY_LINK([#include <dl.h>],dnl
|
|
3431 [shl_load ("", 0, 0);], [have_dl=yes], [
|
|
3432 AC_MSG_CHECKING([for shl_load in -ldl])
|
|
3433 ac_save_LIBS="$LIBS"
|
|
3434 LIBS="$LIBS -ldld"
|
|
3435 AC_TRY_LINK([#include <dl.h>],dnl
|
|
3436 [shl_load ("", 0, 0);], [have_dl=yes], [LIBS="$ac_save_LIBS"])])])
|
|
3437 if test "$have_dl" = "yes"; then
|
|
3438 AC_DEFINE(HAVE_SHL_LOAD)
|
|
3439 else
|
|
3440 dnl Check for libtool's libltdl
|
|
3441 AC_CHECK_HEADER(ltdl.h, [
|
|
3442 AC_MSG_CHECKING([for lt_dlinit in -lltdl])
|
|
3443 ac_save_LIBS="$LIBS"
|
|
3444 LIBS="$LIBS -lltdl"
|
|
3445 AC_TRY_LINK([#include <ltdl.h>],dnl
|
|
3446 [lt_dlinit ();], [have_dl=yes], [LIBS="$ac_save_LIBS"])])
|
|
3447 if test "$have_dl" = "yes"; then
|
|
3448 AC_DEFINE(HAVE_LTDL)
|
|
3449 fi
|
|
3450 dnl end !HP/UX
|
|
3451 fi
|
|
3452 dnl end !dlopen
|
|
3453 fi
|
|
3454 ac_save_LIBS=
|
|
3455 dnl end !darwin
|
|
3456 esac
|
|
3457
|
|
3458 if test -n "$have_dl"; then
|
|
3459 dnl XE_SHLIB_STUFF (in aclocal.m4) defines $can_build_shared
|
|
3460 XE_SHLIB_STUFF
|
|
3461 fi
|
|
3462
|
|
3463 if test "$can_build_shared" = "yes"; then
|
|
3464 AC_DEFINE(HAVE_SHLIB)
|
|
3465 dnl src must be built before modules on MacOSX and Windows platforms, since
|
|
3466 dnl the binary must be available to properly link the modules
|
|
3467 dnl For no-module builds, this is added *after* the module directories
|
|
3468 XE_APPEND(src, MAKE_SUBDIR)
|
|
3469 XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
|
|
3470 test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS)
|
|
3471 AC_CHECK_FUNCS(dlerror _dlerror)
|
|
3472 enable_modules=yes
|
|
3473 MOD_CC="../../lib-src/ellcc"
|
|
3474 MODCFLAGS="\$(CFLAGS) --mode=compile --mod-output=\$@ -I../../src -I\$(srcdir)/../../src"
|
|
3475 INSTALLPATH="\$(moduledir)"
|
|
3476 MOD_INSTALL_PROGRAM=${INSTALL_PROGRAM}
|
|
3477 OBJECT_TO_BUILD="\$(MODNAME).ell"
|
|
3478 else
|
|
3479 if test "$enable_modules" = "yes"; then
|
|
3480 XE_DIE("Required module support cannot be provided.")
|
|
3481 else
|
|
3482 echo " No module support."
|
|
3483 fi
|
|
3484 enable_modules=no
|
|
3485 fi
|
|
3486 fi
|
|
3487 if test "$enable_modules" != "yes"; then
|
|
3488 MOD_CC="$XEMACS_CC"
|
|
3489 MODCFLAGS="\$(XE_CFLAGS) -I../../src -I\$(srcdir)/../../src"
|
|
3490 INSTALLPATH=""
|
|
3491 MOD_INSTALL_PROGRAM="true"
|
|
3492 OBJECT_TO_BUILD="\$(MODNAME).o"
|
|
3493 fi
|
|
3494 MODARCHDIR=
|
|
3495 MAKE_DOCFILE="../../lib-src/make-docfile"
|
|
3496 AC_SUBST(with_modules, $enable_modules)
|
|
3497 AC_SUBST(MOD_CC)
|
|
3498 AC_SUBST(MODARCHDIR)
|
|
3499 AC_SUBST(MAKE_DOCFILE)
|
|
3500 AC_SUBST(MODCFLAGS)
|
|
3501 AC_SUBST(INSTALLPATH)
|
|
3502 AC_SUBST(MOD_INSTALL_PROGRAM)
|
|
3503 AC_SUBST(OBJECT_TO_BUILD)
|
|
3504
|
|
3505 dnl Autodetect tooltalk
|
|
3506 if test "$with_tooltalk" != "no" ; then
|
|
3507 dnl autodetect the location of tt_c.h
|
|
3508 dnl tt_c.h might be in Tt or desktop include directories
|
|
3509 for dir in "" "Tt/" "desktop/" ; do
|
|
3510 AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break)
|
|
3511 done
|
|
3512 if test -z "$tt_c_h_file"; then
|
|
3513 if test "$with_tooltalk" = "yes"; then
|
|
3514 USAGE_ERROR("Unable to find required tooltalk header files.")
|
|
3515 fi
|
|
3516 with_tooltalk=no
|
|
3517 fi
|
|
3518 fi
|
|
3519 if test "$with_tooltalk" != "no" ; then
|
|
3520 for extra_libs in "" "-lI18N -lce" "-lcxx"; do
|
|
3521 AC_CHECK_LIB(tt, tt_message_create,
|
|
3522 tt_libs="-ltt $extra_libs"; break, [:],$extra_libs)
|
|
3523 done
|
|
3524 if test -z "$tt_libs"; then
|
|
3525 if test "$with_tooltalk" = "yes"; then
|
|
3526 USAGE_ERROR("Unable to find required tooltalk libraries.")
|
|
3527 fi
|
|
3528 with_tooltalk=no
|
|
3529 fi
|
|
3530 fi
|
|
3531 test -z "$with_tooltalk" && with_tooltalk=yes
|
|
3532 if test "$with_tooltalk" = "yes"; then
|
|
3533 AC_DEFINE(TOOLTALK)
|
|
3534 AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file")
|
|
3535 XE_PREPEND($tt_libs, libs_x)
|
|
3536 fi
|
|
3537
|
|
3538 dnl Autodetect CDE
|
|
3539 test -z "$with_cde" && { AC_CHECK_HEADER(Dt/Dt.h, , with_cde=no) }
|
|
3540 test -z "$with_cde" && { AC_CHECK_LIB(DtSvc, DtDndDragStart, [:], with_cde=no) }
|
|
3541 if test "$with_dragndrop" = "no" ; then
|
|
3542 if test "$with_cde" = "yes" ; then
|
|
3543 AC_MSG_WARN([--with-cde forced to \`no'; no generic Drag'n'Drop support])
|
|
3544 fi
|
|
3545 with_cde=no
|
|
3546 fi
|
|
3547 test -z "$with_cde" && with_cde=yes
|
|
3548 if test "$with_cde" = "yes" ; then
|
|
3549 AC_DEFINE(HAVE_CDE)
|
|
3550 XE_PREPEND(-lDtSvc, libs_x)
|
|
3551 XE_APPEND(CDE, dragndrop_proto)
|
|
3552 with_tooltalk=yes # CDE requires Tooltalk
|
|
3553 need_motif=yes # CDE requires Motif
|
|
3554 fi
|
|
3555
|
|
3556 dnl Always compile OffiX unless --without-offix is given, no
|
|
3557 dnl X11 support is compiled in, no standard Xmu is available,
|
|
3558 dnl or dragndrop support is disabled
|
|
3559 dnl Because OffiX support currently loses when more than one display
|
|
3560 dnl is in use, we now disable it by default -slb 07/10/1998.
|
|
3561 test "$window_system" != "x11" && with_offix=no
|
|
3562 if test "$with_xmu" != yes -a "$with_x11" = yes; then
|
|
3563 if test "$with_offix" = "yes" ; then
|
|
3564 AC_MSG_WARN([--with-offix forced to \`no'; no real Xmu support])
|
|
3565 fi
|
|
3566 with_offix=no
|
|
3567 fi
|
|
3568 if test "$with_dragndrop" = no; then
|
|
3569 if test "$with_offix" = "yes" ; then
|
|
3570 AC_MSG_WARN([--with-offix forced to \`no'; no generic Drag'n'Drop support])
|
|
3571 fi
|
|
3572 with_offix=no
|
|
3573 fi
|
|
3574 if test "$with_cde" = yes; then
|
|
3575 if test "$with_offix" = "yes" ; then
|
|
3576 AC_MSG_WARN([--with-offix forced to \`no'; CDE already found])
|
|
3577 fi
|
|
3578 with_offix=no
|
|
3579 fi
|
|
3580 test -z "$with_offix" && with_offix=no
|
|
3581 if test "$with_offix" = "yes"; then
|
|
3582 AC_DEFINE(HAVE_OFFIX_DND)
|
|
3583 XE_APPEND(offix.o, dnd_objs)
|
|
3584 XE_APPEND(OffiX, dragndrop_proto)
|
|
3585 fi
|
|
3586 if test "$with_gtk" = "yes"; then
|
|
3587 XE_APPEND(GTK, dragndrop_proto)
|
|
3588 fi
|
|
3589
|
|
3590 dnl Autodetect Drag'n'Drop support
|
|
3591 dnl always included if CDE, Offix, or MSWindows are defined
|
|
3592 if test "$with_dragndrop" != "no" ; then
|
|
3593 AC_MSG_CHECKING(if drag and drop API is needed)
|
|
3594 if test -n "$dragndrop_proto" ; then
|
|
3595 with_dragndrop=yes
|
|
3596 AC_MSG_RESULT([yes (${dragndrop_proto} )])
|
|
3597 AC_DEFINE(HAVE_DRAGNDROP)
|
|
3598 XE_APPEND(dragdrop.o, extra_objs)
|
|
3599 else
|
|
3600 with_dragndrop=no
|
|
3601 AC_MSG_RESULT(no)
|
|
3602 fi
|
|
3603 fi
|
|
3604
|
|
3605 dnl Autodetect LDAP
|
|
3606 AC_CHECKING([for LDAP])
|
|
3607 ldap_libs=
|
|
3608 test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) }
|
|
3609 test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) }
|
|
3610 if test "$with_ldap" != "no"; then
|
|
3611 AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes)
|
|
3612 dnl Check for other libraries we need to link with to get the main routines.
|
|
3613 test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) }
|
|
3614 test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) }
|
|
3615 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) }
|
|
3616 dnl Recently, we need -lber even though the main routines are elsewhere,
|
|
3617 dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just
|
|
3618 dnl check for that (it's a variable not a fun but that doesn't seem to
|
|
3619 dnl matter in these checks) and stick in -lber if so. Can't hurt (even to
|
|
3620 dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who
|
|
3621 dnl #### understands LDAP needs to fix this properly.
|
|
3622 test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) }
|
|
3623 fi
|
|
3624 if test "$with_ldap" = "yes"; then
|
|
3625 AC_DEFINE(HAVE_LDAP)
|
|
3626 if test "$with_ldap_des" = "yes" ; then
|
|
3627 XE_PREPEND(-ldes, ldap_libs)
|
|
3628 fi
|
|
3629 if test "$with_ldap_krb" = "yes" ; then
|
|
3630 XE_PREPEND(-lkrb, ldap_libs)
|
|
3631 fi
|
|
3632 if test "$with_ldap_lber" = "yes" ; then
|
|
3633 XE_PREPEND(-llber, ldap_libs)
|
|
3634 fi
|
|
3635 XE_PREPEND(-lldap, ldap_libs)
|
|
3636 save_LIBS="$LIBS" LIBS="$LIBS $ldap_libs"
|
|
3637 AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
|
|
3638 LIBS="$save_LIBS"
|
|
3639 XE_APPEND(modules/ldap, MAKE_SUBDIR)
|
|
3640 need_modules_common=yes
|
|
3641 if test "$enable_modules" = "yes"; then
|
|
3642 XE_APPEND(modules/ldap, INSTALL_ARCH_DEP_SUBDIR)
|
|
3643 fi
|
|
3644 fi
|
|
3645 AC_SUBST(ldap_libs)
|
|
3646
|
|
3647 dnl Autodetect PostgreSQL
|
|
3648 dnl On many Linux systems, PostgreSQL is packaged to be installed in /usr;
|
|
3649 dnl in this case, configure will easily detect it there.
|
|
3650 dnl
|
|
3651 dnl If PostgreSQL is installed into a different prefix,
|
|
3652 dnl (such as the default /usr/local/pgsql when building from source),
|
|
3653 dnl that prefix must be specified using the --with-site-prefixes flag.
|
|
3654 postgresql_libs=
|
|
3655 if test "$with_postgresql" != "no"; then
|
|
3656 AC_CHECKING([for PostgreSQL])
|
|
3657
|
|
3658 dnl Look for these standard header file locations, known to be used on Linux
|
|
3659 for header_dir in "" "pgsql/" "postgresql/"; do
|
|
3660 AC_CHECK_HEADER(${header_dir}libpq-fe.h,
|
|
3661 libpq_fe_h_file=${header_dir}libpq-fe.h; break)
|
|
3662 done
|
|
3663
|
|
3664 test -n "$libpq_fe_h_file" && { AC_CHECK_LIB(pq,PQconnectdb,have_libpq=yes) }
|
|
3665
|
|
3666 if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes"; then
|
|
3667 with_postgresql=yes
|
|
3668 AC_DEFINE(HAVE_POSTGRESQL)
|
|
3669 AC_CHECK_LIB(pq,PQconnectStart, [
|
|
3670 with_postgresqlv7=yes;
|
|
3671 AC_DEFINE(HAVE_POSTGRESQLV7)])
|
|
3672 AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file")
|
|
3673 XE_PREPEND(-lpq, postgresql_libs)
|
|
3674 XE_APPEND(modules/postgresql, MAKE_SUBDIR)
|
|
3675 need_modules_common=yes
|
|
3676 if test "$enable_modules" = "yes"; then
|
|
3677 XE_APPEND(modules/postgresql, INSTALL_ARCH_DEP_SUBDIR)
|
|
3678 fi
|
|
3679 elif test "$with_postgresql" = "yes"; then
|
|
3680 XE_DIE("Required PostgreSQL support cannot be provided. Check --with-site-prefixes.")
|
|
3681 fi
|
|
3682 fi
|
|
3683 AC_SUBST(postgresql_libs)
|
|
3684
|
|
3685 dnl ----------------------
|
|
3686 dnl Graphics libraries
|
|
3687 dnl ----------------------
|
|
3688
|
|
3689 if test "$window_system" != "none"; then
|
|
3690 AC_CHECKING([for graphics libraries])
|
|
3691
|
|
3692 dnl add special code to handle xpm-nox on Cygwin (csw)
|
|
3693 dnl -- should only happen if CYGWIN && WITH_XPM && WITH_MSW && !WITH_X
|
|
3694 libpath_xpm=
|
|
3695 incpath_xpm=
|
|
3696 case "$opsys" in
|
|
3697 cygwin*)
|
|
3698 cygwin_top=`eval "gcc -print-file-name=libc.a"` ;
|
|
3699 cygwin_top=`eval "dirname ${cygwin_top}"`;
|
|
3700 cygwin_top="${cygwin_top}/..";
|
|
3701 case "$window_system" in
|
|
3702 dnl use "standard" search pattern
|
|
3703 x11) ;;
|
|
3704 dnl hardcode "standard" non-X11 xpm lib/inc dirs
|
|
3705 msw) libpath_xpm="-L${cygwin_top}/lib/noX"
|
|
3706 incpath_xpm="-I${cygwin_top}/include/noX"
|
|
3707 ;;
|
|
3708 dnl not supported on cygwin (yet?)
|
|
3709 gtk) ;;
|
|
3710 dnl probably not reached...
|
|
3711 none) ;;
|
|
3712 dnl ditto
|
|
3713 *) ;;
|
|
3714 esac
|
|
3715 ;;
|
|
3716 dnl use "standard" search pattern for all other OS's
|
|
3717 *) ;;
|
|
3718 esac
|
|
3719 dnl Autodetect Xpm
|
|
3720 xpm_problem=""
|
|
3721 if test -z "$with_xpm"; then
|
|
3722 XE_PREPEND("$incpath_xpm", CFLAGS)
|
|
3723 XE_PREPEND("$libpath_xpm", LDFLAGS)
|
|
3724 AC_MSG_CHECKING(for Xpm - no older than 3.4f)
|
|
3725 xe_check_libs=-lXpm
|
|
3726 AC_RUN_IFELSE([AC_LANG_SOURCE([#define XPM_NUMBERS
|
|
3727 #include <X11/xpm.h>
|
|
3728 int main(int c, char **v) {
|
|
3729 return c == 1 ? 0 :
|
|
3730 XpmIncludeVersion != XpmLibraryVersion() ? 1 :
|
|
3731 XpmIncludeVersion < 30406 ? 2 : 0 ;}])],
|
|
3732 [./conftest dummy_arg; xpm_status=$?;
|
|
3733 if test "$xpm_status" = "0"; then
|
|
3734 with_xpm=yes;
|
|
3735 else
|
|
3736 with_xpm=no;
|
|
3737 if test "$xpm_status" = "1"; then
|
|
3738 xpm_problem="Xpm library version and header file version don't match!"
|
|
3739 elif test "$xpm_status" = "2"; then
|
|
3740 xpm_problem="Xpm library version is too old!"
|
|
3741 else
|
|
3742 xpm_problem="Internal xpm detection logic error!"
|
|
3743 fi
|
|
3744 echo "
|
|
3745 *** WARNING *** $xpm_problem
|
|
3746 I'm not touching that with a 10-foot pole!
|
|
3747 If you really want to use the installed version of Xpm, rerun
|
|
3748 configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
|
|
3749 fi],
|
|
3750 [with_xpm=no])
|
|
3751 xe_check_libs=
|
|
3752 AC_MSG_RESULT($with_xpm)
|
|
3753 fi
|
|
3754 if test "$with_xpm" = "yes"; then
|
|
3755 dnl #### This code assumes that if AC_CHECK_LIB fails,
|
|
3756 dnl #### then it will succeed if FOR_MSW is defined,
|
|
3757 dnl #### but doesn't actually verify this assumption.
|
|
3758 AC_DEFINE(HAVE_XPM)
|
|
3759 XE_PREPEND("$libpath_xpm", LDFLAGS)
|
|
3760 XE_PREPEND(-lXpm, libs_x)
|
|
3761 XE_PREPEND("$incpath_xpm", CFLAGS)
|
|
3762 AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
|
|
3763 xe_check_libs=-lXpm
|
|
3764 AC_TRY_LINK(, [XpmCreatePixmapFromData()],
|
|
3765 [xpm_for_msw=no],
|
|
3766 [xpm_for_msw=yes])
|
|
3767 xe_check_libs=
|
|
3768 AC_MSG_RESULT($xpm_for_msw)
|
|
3769 if test "$xpm_for_msw" = "yes"; then
|
|
3770 AC_DEFINE(FOR_MSW)
|
|
3771 fi
|
|
3772 fi
|
|
3773
|
|
3774 dnl Autodetect XFACE
|
|
3775 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
|
|
3776 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
|
|
3777 test -z "$with_xface" && with_xface=yes
|
|
3778 if test "$with_xface" = "yes"; then
|
|
3779 AC_DEFINE(HAVE_XFACE)
|
|
3780 XE_PREPEND(-lcompface, libs_x)
|
|
3781 fi
|
|
3782
|
|
3783 dnl For a brief period we had the GIF code split out into a separate library,
|
|
3784 dnl but patent problems, etc. sort of squashed that idea.
|
|
3785 dnl We default to building with builtin GIF decoding
|
|
3786 if test "$with_gif" != "no"; then
|
|
3787 with_gif="yes"
|
|
3788 AC_DEFINE(HAVE_GIF)
|
|
3789 fi
|
|
3790
|
|
3791 dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime
|
|
3792 dnl So we always search for libz compression support.
|
|
3793 if test "$with_png $with_tiff" != "no no"; then
|
|
3794 AC_CHECK_LIB(c, inflate, [:], [
|
|
3795 AC_CHECK_LIB(z, inflate, [XE_PREPEND(-lz, libs_x)],[
|
|
3796 AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])])
|
|
3797 fi
|
|
3798
|
|
3799 dnl autodetect JPEG
|
|
3800 test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) }
|
|
3801 test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) }
|
|
3802 test -z "$with_jpeg" && with_jpeg=yes
|
|
3803 if test "$with_jpeg" = "yes"; then
|
|
3804 AC_DEFINE(HAVE_JPEG)
|
|
3805 XE_PREPEND(-ljpeg, libs_x)
|
|
3806 fi
|
|
3807
|
|
3808 dnl autodetect PNG
|
|
3809 png_problem=""
|
|
3810 test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) }
|
|
3811 test -z "$with_png" && { AC_CHECK_HEADER(png.h, ,with_png=no) }
|
2667
|
3812 test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no,[-lz]) }
|
2651
|
3813 if test -z "$with_png"; then
|
|
3814 AC_MSG_CHECKING(for workable png version information)
|
|
3815 xe_check_libs="-lpng -lz"
|
|
3816 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <png.h>
|
|
3817 int main(int c, char **v) {
|
|
3818 if (c == 1) return 0;
|
|
3819 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
|
|
3820 return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}])],
|
|
3821 [./conftest dummy_arg; png_status=$?;
|
|
3822 if test "$png_status" = "0"; then
|
|
3823 with_png=yes;
|
|
3824 else
|
|
3825 with_png=no;
|
|
3826 if test "$png_status" = "1"; then
|
|
3827 png_problem="PNG library version and header file don't match!"
|
|
3828 elif test "$png_status" = "2"; then
|
|
3829 png_problem="PNG library version too old (pre 1.0.2)!"
|
|
3830 fi
|
|
3831 echo "
|
|
3832 *** WARNING *** $png_problem
|
|
3833 I'm not touching that with a 10-foot pole!
|
|
3834 If you really want to use the installed version of libPNG, rerun
|
|
3835 configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
|
|
3836 fi],
|
|
3837 [with_png=no])
|
|
3838 xe_check_libs=
|
|
3839 AC_MSG_RESULT($with_png)
|
|
3840 fi
|
|
3841 if test "$with_png" = "yes"; then
|
|
3842 AC_DEFINE(HAVE_PNG)
|
|
3843 XE_PREPEND(-lpng, libs_x)
|
|
3844 fi
|
|
3845
|
|
3846 dnl autodetect TIFF
|
|
3847 test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) }
|
2667
|
3848 test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFClientOpen,[:],with_tiff=no,[-lz]) }
|
2651
|
3849 test -z "$with_tiff" && with_tiff=yes
|
|
3850 if test "$with_tiff" = "yes"; then
|
|
3851 AC_DEFINE(HAVE_TIFF)
|
|
3852 XE_PREPEND(-ltiff, libs_x)
|
|
3853 fi
|
|
3854 fi
|
|
3855
|
|
3856 dnl ----------------------
|
|
3857 dnl GTK-Specific Graphics libraries
|
|
3858 dnl ----------------------
|
|
3859
|
|
3860 if test "$with_gtk" = "yes"; then
|
|
3861 dnl Autodetect XFACE
|
|
3862 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
|
|
3863 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
|
|
3864 test -z "$with_xface" && with_xface=yes
|
|
3865 if test "$with_xface" = "yes"; then
|
|
3866 AC_DEFINE(HAVE_XFACE)
|
|
3867 XE_PREPEND(-lcompface, libs_gtk)
|
|
3868 fi
|
|
3869 fi
|
|
3870
|
|
3871
|
|
3872 dnl ----------------------
|
|
3873 dnl X-Specific Graphics libraries
|
|
3874 dnl ----------------------
|
|
3875
|
|
3876 if test "$with_x11" = "yes"; then
|
|
3877 AC_CHECKING([for X11 graphics libraries])
|
|
3878 fi
|
|
3879
|
|
3880 dnl We don't automatically trigger widgets if athena is present
|
|
3881 dnl because of stability concerns.
|
|
3882 dnl But if the user wants widgets, still offer him autodetections
|
|
3883 case "$enable_widgets" in
|
|
3884 "yes" | "athena") detect_athena=yes ;;
|
|
3885 *) detect_athena=no ;;
|
|
3886 esac
|
|
3887
|
|
3888 if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then
|
|
3889 AC_CHECKING([for the Athena widgets])
|
|
3890
|
|
3891 dnl What in heck did the user actually want?
|
|
3892 case "$with_athena" in
|
|
3893 dnl This is the default, old fashioned flat Athena.
|
|
3894 "xaw" | "") athena_variant=Xaw athena_3d=no ;;
|
|
3895 "3d") athena_variant=Xaw3d athena_3d=yes ;;
|
|
3896 "next") athena_variant=neXtaw athena_3d=yes ;;
|
|
3897 "95") athena_variant=Xaw95 athena_3d=yes ;;
|
|
3898 "xpm") athena_variant=XawXpm athena_3d=yes ;;
|
|
3899 *) XE_DIE("Unknown Athena widget set \`$with_athena'. This should not happen.") ;;
|
|
3900 esac
|
|
3901
|
|
3902 dnl Search for the Athena library...
|
|
3903 if test "$athena_3d" = "no"; then
|
|
3904 AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb,
|
|
3905 [
|
|
3906 dnl Must not be a 3d library...
|
|
3907 AC_CHECK_LIB($athena_variant, threeDClassRec,
|
|
3908 [AC_MSG_WARN([Could not find a non-3d Athena widget library.])],
|
|
3909 athena_lib=$athena_variant)
|
|
3910 ],
|
|
3911 AC_MSG_WARN([Could not find an Athena widget library.]))
|
|
3912 else
|
|
3913 dnl The real configuration, need 3d library
|
|
3914 AC_CHECK_LIB($athena_variant, threeDClassRec, athena_lib=$athena_variant,
|
|
3915 dnl OK, couldn't find it with a proper name, try the standard Athena lib
|
|
3916 dnl If that is 3d, presume the user asked for what they have installed.
|
|
3917 AC_CHECK_LIB(Xaw, threeDClassRec,
|
|
3918 [
|
|
3919 athena_lib=Xaw;
|
|
3920 AC_MSG_WARN([Assuming that libXaw is actually $athena_variant.]);
|
|
3921 ],
|
|
3922 [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])]))
|
|
3923 fi
|
|
3924
|
|
3925 dnl Now we locate the Athena headers that we need.
|
|
3926 if test "$athena_3d" = "no"; then
|
|
3927 AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
|
|
3928 [AC_MSG_WARN([Could not find a non-3d Athena header set.])],
|
|
3929 [AC_CHECK_HEADER(X11/Xaw/XawInit.h,
|
|
3930 [athena_h_path=X11/Xaw],
|
|
3931 [AC_MSG_WARN([Could not find a non-3d Athena header set.])])])
|
|
3932 else
|
|
3933 dnl The three-d Athena headers are so much more slippery.
|
|
3934 dnl Curse this `Lets replace standard libraries' thing that they did. :/
|
|
3935 AC_CHECK_HEADER(X11/$athena_variant/XawInit.h,
|
|
3936 [AC_CHECK_HEADER(X11/$athena_variant/ThreeD.h,
|
|
3937 [athena_h_path=X11/$athena_variant])],[],
|
|
3938 [
|
|
3939 #if HAVE_X11_XFUNCPROTO_H
|
|
3940 #include <X11/Xfuncproto.h>
|
|
3941 #endif
|
|
3942 ])
|
|
3943
|
|
3944 dnl Is the variant specific header directory directly under include?
|
|
3945 if test -z "$athena_h_path"; then
|
|
3946 AC_CHECK_HEADER($athena_variant/XawInit.h,
|
|
3947 [AC_CHECK_HEADER($athena_variant/ThreeD.h,
|
|
3948 athena_h_path=$athena_variant)],[],
|
|
3949 [
|
|
3950 #if HAVE_X11_XFUNCPROTO_H
|
|
3951 #include <X11/Xfuncproto.h>
|
|
3952 #endif
|
|
3953 ])
|
|
3954 fi
|
|
3955
|
|
3956 dnl If we couldn't find the specific variant, try the generic Athena 3d headers
|
|
3957 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
|
|
3958 AC_CHECK_HEADER(X11/Xaw3d/XawInit.h,
|
|
3959 [AC_CHECK_HEADER(X11/Xaw3d/ThreeD.h,
|
|
3960 [
|
|
3961 AC_MSG_WARN([Assuming that X11/Xaw3d headers are suitable for $athena_variant.])
|
|
3962 athena_h_path=X11/Xaw3d
|
|
3963 ])],[],
|
|
3964 [
|
|
3965 #if HAVE_X11_XFUNCPROTO_H
|
|
3966 #include <X11/Xfuncproto.h>
|
|
3967 #endif
|
|
3968 ])
|
|
3969 fi
|
|
3970
|
|
3971 dnl Also generic 3d headers directly under include dir
|
|
3972 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
|
|
3973 AC_CHECK_HEADER(Xaw3d/XawInit.h,
|
|
3974 [AC_CHECK_HEADER(Xaw3d/ThreeD.h,
|
|
3975 [
|
|
3976 AC_MSG_WARN([Assuming that Xaw3d headers are suitable for $athena_variant.])
|
|
3977 athena_h_path=Xaw3d
|
|
3978 ])],[],
|
|
3979 [
|
|
3980 #if HAVE_X11_XFUNCPROTO_H
|
|
3981 #include <X11/Xfuncproto.h>
|
|
3982 #endif
|
|
3983 ])
|
|
3984 fi
|
|
3985
|
|
3986 dnl If nothing yet found, see if Xaw is a 3d header set...
|
|
3987 dnl We AC_MSG_WARN if we fail because I am all out of ideas...
|
|
3988 if test -z "$athena_h_path"; then
|
|
3989 AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
|
|
3990 [
|
|
3991 AC_MSG_WARN([Assuming that X11/Xaw headers are suitable for $athena_variant.])
|
|
3992 athena_h_path=X11/Xaw
|
|
3993 ],
|
|
3994 [AC_MSG_WARN([Could not find a suitable 3d Athena header set.])])
|
|
3995 fi
|
|
3996 fi
|
|
3997
|
|
3998 dnl Do we actually have a usable Athena widget set? Please?
|
|
3999 if test -n "$athena_lib" -a -n "$athena_h_path"; then
|
|
4000 have_xaw=yes
|
|
4001 else
|
|
4002 have_xaw=no
|
|
4003 fi
|
|
4004
|
|
4005 else
|
|
4006 have_xaw=no
|
|
4007 fi dnl "$with_x11" = "yes" -a "detect_athena" = "yes"
|
|
4008
|
|
4009 if test "$with_x11" = "yes"; then
|
|
4010 dnl autodetect Motif - but only add to libs_x later (if necessary)
|
|
4011 dnl Use a different function to the earlier test to avoid problems with the
|
|
4012 dnl internal cache.
|
|
4013 AC_CHECK_HEADER(Xm/Xm.h,
|
|
4014 [AC_CHECK_LIB(Xm, XmStringCreate, have_motif=yes, have_motif=no)],
|
|
4015 have_motif=no)
|
|
4016
|
|
4017 if test "$have_motif" = "yes"; then
|
|
4018 dnl autodetect lesstif
|
|
4019 AC_MSG_CHECKING(for Lesstif)
|
|
4020 AC_EGREP_CPP(yes,
|
|
4021 [#include <Xm/Xm.h>
|
|
4022 #ifdef LESSTIF_VERSION
|
|
4023 yes
|
|
4024 #endif
|
|
4025 ], have_lesstif=yes, have_lesstif=no)
|
|
4026 AC_MSG_RESULT($have_lesstif)
|
|
4027 fi
|
|
4028
|
|
4029 fi dnl "$with_x11" = "yes"
|
|
4030
|
|
4031 dnl Finish ensuring that we have values for the various toolkit items.
|
|
4032 dnl Not all toolkits support all widgets
|
|
4033 dnl if Motif is available we use it for the dialog boxes.
|
|
4034
|
|
4035 case "$enable_menubars" in "" | "yes" | "athena" )
|
|
4036 enable_menubars="lucid" ;;
|
|
4037 esac
|
|
4038 case "$enable_dialogs" in "" | "yes" | "lucid" )
|
|
4039 if test "$have_motif" = "yes"; then enable_dialogs="motif"
|
|
4040 elif test "$have_xaw" = "yes"; then enable_dialogs="athena"
|
|
4041 elif test "$with_msw" = "yes"; then enable_dialogs="msw"
|
|
4042 else enable_dialogs=no
|
|
4043 fi ;;
|
|
4044 esac
|
|
4045 case "$enable_scrollbars" in "" | "yes" )
|
|
4046 enable_scrollbars="lucid" ;;
|
|
4047 esac
|
|
4048 case "$enable_widgets" in "" | "yes" | "lucid")
|
|
4049 if test "$have_motif" = "yes"; then enable_widgets="motif"
|
|
4050 elif test "$have_xaw" = "yes"; then enable_widgets="athena"
|
|
4051 elif test "$with_msw" = "yes"; then enable_widgets="msw"
|
|
4052 else enable_widgets=no
|
|
4053 fi ;;
|
|
4054 esac
|
|
4055
|
|
4056 all_widgets="$enable_menubars $enable_scrollbars $enable_dialogs $enable_toolbars $enable_widgets"
|
|
4057
|
|
4058 case "$all_widgets" in
|
|
4059 *athena* )
|
|
4060 if test "$have_xaw" != "yes"; then
|
|
4061 XE_DIE("Could not find a suitable Athena library to build with.")
|
|
4062 fi
|
|
4063
|
|
4064 dnl Add the Lucid widget Athena code
|
|
4065 XE_APPEND(lwlib-Xaw.o, lwlib_objs)
|
|
4066
|
|
4067 dnl Add the Athena widget library we located earlier
|
|
4068 XE_PREPEND(-l$athena_lib, libs_x)
|
|
4069
|
|
4070 dnl Tell lwlib where to find the Athena header files.
|
|
4071 dnl Many people have tried to create a `smart' way of doing this,
|
|
4072 dnl but all have failed. Before changing the following ugly definitions,
|
|
4073 dnl consult the veterans of many a battle.
|
|
4074 AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h")
|
|
4075 AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h")
|
|
4076 AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h")
|
|
4077 AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h")
|
|
4078 AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h")
|
|
4079 AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h")
|
|
4080 AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h")
|
|
4081 AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h")
|
|
4082 AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h")
|
|
4083 AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h")
|
|
4084
|
|
4085 AC_DEFINE(LWLIB_USES_ATHENA)
|
|
4086 AC_DEFINE(NEED_ATHENA)
|
|
4087 need_athena="yes"
|
|
4088
|
|
4089 if test "$athena_3d" = "yes"; then
|
|
4090 AC_DEFINE(HAVE_ATHENA_3D)
|
|
4091 fi
|
|
4092 ;;
|
|
4093 esac
|
|
4094
|
|
4095 case "$all_widgets" in *motif* )
|
|
4096 AC_DEFINE(LWLIB_USES_MOTIF)
|
|
4097 AC_DEFINE(NEED_MOTIF)
|
|
4098 XE_APPEND(lwlib-Xm.o, lwlib_objs)
|
|
4099 need_motif=yes ;;
|
|
4100 esac
|
|
4101
|
|
4102 test "$enable_menubars" = "lucid" && XE_APPEND(xlwmenu.o, lwlib_objs)
|
|
4103 test "$enable_menubars" = "motif" && XE_APPEND(xlwmenu.o, lwlib_objs)
|
|
4104 test "$enable_scrollbars" = "lucid" && XE_APPEND(xlwscrollbar.o, lwlib_objs)
|
|
4105 test "$enable_widgets" != "no" && test "$enable_widgets" != "msw" && \
|
|
4106 XE_APPEND(xlwtabs.o xlwgcs.o, lwlib_objs)
|
|
4107 case "$enable_widgets" in athena* )
|
|
4108 XE_APPEND(xlwradio.o xlwcheckbox.o xlwgauge.o, lwlib_objs);;
|
|
4109 esac
|
|
4110 case "$all_widgets" in *lucid* )
|
|
4111 AC_DEFINE(NEED_LUCID)
|
|
4112 XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;;
|
|
4113 esac
|
|
4114
|
|
4115 AC_SUBST(lwlib_objs)
|
|
4116
|
|
4117 test "$enable_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA)
|
|
4118 test "$enable_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA)
|
|
4119
|
|
4120 if test "$athena_3d" = "yes"; then
|
|
4121 test "$enable_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
|
|
4122 test "$enable_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
|
|
4123 fi
|
|
4124
|
|
4125 case "$enable_widgets" in athena* ) AC_DEFINE(LWLIB_WIDGETS_ATHENA);; esac
|
|
4126 test "$enable_widgets" != "no" && test "$enable_widgets" != "msw" && \
|
|
4127 AC_DEFINE(LWLIB_TABS_LUCID)
|
|
4128
|
|
4129 test "$enable_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS)
|
|
4130 test "$enable_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS)
|
|
4131 test "$enable_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS)
|
|
4132 test "$enable_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS)
|
|
4133 test "$enable_widgets" != "no" && AC_DEFINE(HAVE_WIDGETS)
|
|
4134
|
|
4135 test "$enable_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID)
|
|
4136 test "$enable_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID)
|
|
4137
|
|
4138 test "$enable_menubars" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF)
|
|
4139 test "$enable_scrollbars" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF)
|
|
4140 test "$enable_dialogs" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF)
|
|
4141 test "$enable_widgets" = "motif" && AC_DEFINE(LWLIB_WIDGETS_MOTIF)
|
|
4142
|
|
4143 dnl ----------------------
|
|
4144 dnl Mule-dependent options
|
|
4145 dnl ----------------------
|
|
4146
|
|
4147 test -z "$enable_mule" && enable_mule=no
|
|
4148
|
|
4149 dnl if test "$enable_mule" = "yes" && test ! -d "$srcdir/lisp/mule"; then
|
|
4150 dnl echo "Attempt to Build with Mule without Mule/Lisp"
|
|
4151 dnl echo "Please install the XEmacs/Mule tarball or"
|
|
4152 dnl echo "rerun configure with --with-mule=no"
|
|
4153 dnl exit 1
|
|
4154 dnl fi
|
|
4155
|
|
4156 if test "$enable_default_eol_detection" = "yes"; then
|
|
4157 AC_DEFINE(HAVE_DEFAULT_EOL_DETECTION)
|
|
4158 fi
|
|
4159
|
|
4160 if test "$enable_mule" = "yes" ; then
|
|
4161 AC_CHECKING([for Mule-related features])
|
|
4162 AC_DEFINE(MULE)
|
|
4163
|
|
4164 dnl Use -lintl to get internationalized strerror for Mule
|
|
4165 AC_CHECK_HEADERS(libintl.h)
|
|
4166 AC_CHECK_LIB(intl, strerror)
|
|
4167
|
|
4168 AC_CHECKING([for Mule input methods])
|
|
4169 dnl Do we have the XmIm* routines? And if so, do we want to use them?
|
|
4170 dnl XIM seems to be flaky except on Solaris...
|
|
4171 dnl test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no
|
|
4172 case "$with_xim" in "" | "yes" )
|
|
4173 AC_CHECKING([for XIM])
|
|
4174 AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no)
|
|
4175 dnl XIM + Lesstif is not (yet?) usable
|
|
4176 if test "$have_motif $have_lesstif" = "yes no"; then
|
|
4177 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
|
|
4178 fi ;;
|
|
4179 esac
|
|
4180 if test "$with_xim" != "no"; then
|
|
4181 AC_DEFINE(HAVE_XIM)
|
|
4182 if test "$with_xim" = "xlib"; then
|
|
4183 AC_DEFINE(XIM_XLIB)
|
|
4184 XE_ADD_OBJS(input-method-xlib.o)
|
|
4185 fi
|
|
4186 if test "$with_xim" = "motif"; then
|
|
4187 AC_DEFINE(XIM_MOTIF)
|
|
4188 need_motif=yes
|
|
4189 XE_ADD_OBJS(input-method-motif.o)
|
|
4190 fi
|
|
4191 if test "$with_xim" = "motif"; then
|
|
4192 with_xfs=no
|
|
4193 fi
|
|
4194 fi
|
|
4195
|
|
4196 dnl "with_xfs" = "yes"
|
|
4197 if test "$with_xfs" = "yes" ; then
|
|
4198 AC_CHECKING([for XFontSet])
|
|
4199 AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no)
|
|
4200 if test "$with_xfs" = "yes" && test "$enable_menubars" = "lucid"; then
|
|
4201 AC_DEFINE(USE_XFONTSET)
|
|
4202 if test "$with_xim" = "no" ; then
|
|
4203 XE_ADD_OBJS(input-method-xlib.o)
|
|
4204 fi
|
|
4205 fi
|
|
4206 fi dnl with_xfs
|
|
4207
|
|
4208 dnl Autodetect WNN
|
|
4209 test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
|
|
4210 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) }
|
|
4211 dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h
|
|
4212 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h, ,with_wnn=no) }
|
|
4213 dnl Detour to find crypt
|
|
4214 if test "$with_wnn" != "no"; then
|
|
4215 AC_CHECK_FUNCS(crypt)
|
|
4216 test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) }
|
|
4217 fi
|
|
4218 dnl Back to our regularly scheduled wnn hunting
|
|
4219 if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
|
|
4220 AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn,
|
|
4221 AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4,
|
|
4222 AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6,
|
|
4223 AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no))))
|
|
4224 fi
|
|
4225 test -z "$with_wnn" && with_wnn=yes
|
|
4226 if test "$with_wnn" = "yes"; then
|
|
4227 AC_DEFINE(HAVE_WNN)
|
|
4228 XE_PREPEND(-l$libwnn, libs_x)
|
|
4229 if test "$with_wnn6" != "no"; then
|
|
4230 AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes)
|
|
4231 test "$with_wnn6" = "yes" && AC_DEFINE(WNN6)
|
|
4232 fi
|
|
4233 fi
|
|
4234
|
|
4235 dnl Autodetect canna
|
|
4236 canna_includes_found=no
|
|
4237 if test "$with_canna" != "no"; then
|
|
4238 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
|
|
4239 fi
|
|
4240 if test "$canna_includes_found" = "no" -a "$with_canna" != "no" -a \
|
|
4241 -d "/usr/local/canna/include"; then
|
|
4242 save_c_switch_site="$c_switch_site"
|
|
4243 c_switch_site="$c_switch_site -I/usr/local/canna/include"
|
|
4244 AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
|
|
4245 if test "$canna_includes_found" != "yes"; then
|
|
4246 c_switch_site="$save_c_switch_site"
|
|
4247 with_canna="no"
|
|
4248 fi
|
|
4249 fi
|
|
4250
|
|
4251 test -z "$with_canna" && { AC_CHECK_HEADER(canna/RK.h, , with_canna=no) }
|
|
4252 test -z "$with_canna" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],with_canna=no) }
|
|
4253 test -z "$with_canna" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],with_canna=no) }
|
|
4254 test -z "$with_canna" && with_canna=yes
|
|
4255 if test "$with_canna" = "yes"; then
|
|
4256 AC_DEFINE(HAVE_CANNA)
|
|
4257 XE_PREPEND(-lcanna -lRKC, libs_x)
|
|
4258 fi
|
|
4259
|
|
4260 else dnl "$enable_mule" = "no"
|
|
4261 for feature in xim canna wnn; do
|
|
4262 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
|
|
4263 AC_MSG_WARN([--with-${feature} ignored: Not valid without Mule support])
|
|
4264 fi
|
|
4265 eval "with_${feature}=no"
|
|
4266 done
|
|
4267 fi dnl with_mule
|
|
4268
|
|
4269
|
|
4270 dnl At this point, we know whether we need the motif lib or not.
|
|
4271 if test "$need_motif" = "yes" ; then
|
|
4272 XE_PREPEND(-lXm, libs_x)
|
|
4273 dnl AIX needs the following library for use with Motif
|
|
4274 AC_CHECK_LIB(i18n, layout_object_getvalue, [XE_PREPEND(-li18n, libs_x)])
|
|
4275 XE_COMPUTE_RUNPATH()
|
|
4276 fi
|
|
4277
|
|
4278 dnl ----------------------------------------------------------------
|
|
4279 dnl Check for POSIX functions.
|
|
4280 dnl ----------------------------------------------------------------
|
|
4281
|
|
4282 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)
|
|
4283
|
|
4284 dnl getaddrinfo() is borked under hpux11
|
|
4285 if test "$ac_cv_func_getaddrinfo" != "no" ; then
|
|
4286 case "$opsys" in
|
|
4287 hpux11 )
|
|
4288 AC_MSG_WARN([Use of getaddrinfo is disabled for HP-UX 11.XX.])
|
|
4289 ac_cv_func_getaddrinfo=no
|
|
4290 ;;
|
|
4291 esac
|
|
4292 fi
|
|
4293
|
|
4294 dnl ----------------------------------------------------------------
|
|
4295 dnl Check for Unixoid pty/process support.
|
|
4296 dnl ----------------------------------------------------------------
|
|
4297
|
|
4298 dnl There is no "standard" pty allocation method. Every system is different.
|
|
4299 dnl getpt() is the preferred pty allocation method on glibc systems.
|
|
4300 dnl _getpty() is the preferred pty allocation method on SGI systems.
|
|
4301 dnl grantpt(), unlockpt(), ptsname() are defined by Unix98.
|
|
4302 AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp)
|
|
4303
|
|
4304 dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems.
|
|
4305 dnl openpty() might be declared in:
|
|
4306 dnl - pty.h (Tru64 or Linux)
|
|
4307 dnl - libutil.h (FreeBSD)
|
|
4308 dnl - util.h (NetBSD)
|
|
4309 AC_CHECK_FUNC(openpty, have_openpty=yes, [
|
|
4310 AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)])
|
|
4311 if test "$have_openpty" = "yes"; then
|
|
4312 AC_DEFINE(HAVE_OPENPTY)
|
|
4313 AC_CHECK_HEADERS(libutil.h util.h, break)
|
|
4314 test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system)
|
|
4315 fi
|
|
4316
|
|
4317 dnl Check for system-specific pty header files
|
|
4318 dnl Often the TIOCSIG* symbols are hiding there.
|
|
4319 case "$opsys" in
|
|
4320 dnl HPUX pty.h #defines TRUE and FALSE, so just use ptyio.h there.
|
|
4321 hpux*) AC_CHECK_HEADERS(sys/ptyio.h) ;;
|
|
4322 *) AC_CHECK_HEADERS(pty.h)
|
|
4323 test "$ac_cv_header_pty_h" = "no" && AC_CHECK_HEADERS(sys/pty.h)
|
|
4324 ;;
|
|
4325 esac
|
|
4326
|
|
4327 dnl Check for STREAM support functions.
|
|
4328 dnl Confusingly, "str" means both "string" and "SysV Streams".
|
|
4329 AC_CHECK_HEADERS(stropts.h)
|
|
4330 if test "$ac_cv_header_stropts_h" = "yes"; then
|
|
4331 AC_CHECK_FUNCS(isastream)
|
|
4332 AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL
|
|
4333 fi
|
|
4334
|
|
4335 dnl Check whether the system provides getloadavg().
|
|
4336 AC_CHECK_FUNCS(getloadavg)
|
|
4337
|
|
4338 if test "$ac_cv_func_getloadavg" = "yes"; then
|
|
4339 dnl Solaris 8 declares getloadavg() in <sys/loadavg.h>.
|
|
4340 dnl glibc 2.2 declares getloadavg() in <stdlib.h>...
|
|
4341 dnl ...if we #define _GNU_SOURCE, which we do.
|
|
4342 AC_CHECK_HEADERS(sys/loadavg.h)
|
|
4343 else
|
|
4344 dnl We define our own getloadavg() using lower level functions.
|
|
4345 XE_ADD_OBJS(getloadavg.o)
|
|
4346
|
|
4347 dnl Used by getloadavg() - does not require root priveleges
|
|
4348 AC_CHECK_LIB(kstat, kstat_open)
|
|
4349 AC_CHECK_HEADERS(kstat.h)
|
|
4350
|
|
4351 dnl Another way to get the load average
|
|
4352 AC_CHECK_LIB(kvm, kvm_read)
|
|
4353 fi
|
|
4354
|
|
4355 dnl If netdb.h does not declare h_errno, we must declare it by hand.
|
|
4356 AC_MSG_CHECKING(whether netdb declares h_errno)
|
|
4357 AC_TRY_LINK([#include <netdb.h>],
|
|
4358 [return h_errno;],
|
|
4359 [AC_MSG_RESULT(yes)
|
|
4360 AC_DEFINE(HAVE_H_ERRNO)],
|
|
4361 [AC_MSG_RESULT(no)])
|
|
4362
|
|
4363 AC_MSG_CHECKING(for sigsetjmp)
|
|
4364 AC_TRY_COMPILE([#include <setjmp.h>],
|
|
4365 [sigjmp_buf bar; sigsetjmp (bar, 0);],
|
|
4366 [AC_MSG_RESULT(yes)
|
|
4367 AC_DEFINE(HAVE_SIGSETJMP)],
|
|
4368 [AC_MSG_RESULT(no)])
|
|
4369
|
|
4370 AC_MSG_CHECKING(whether localtime caches TZ)
|
|
4371 AC_CACHE_VAL(emacs_cv_localtime_cache,
|
|
4372 [if test "$ac_cv_func_tzset" = "yes"; then
|
|
4373 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <time.h>
|
|
4374 #if STDC_HEADERS
|
|
4375 # include <stdlib.h>
|
|
4376 #endif
|
|
4377 extern char **environ;
|
|
4378 unset_TZ ()
|
|
4379 {
|
|
4380 char **from, **to;
|
|
4381 for (to = from = environ; (*to = *from); from++)
|
|
4382 if (! (to[[0]][[0]] == 'T' && to[[0]][[1]] == 'Z' && to[[0]][[2]] == '='))
|
|
4383 to++;
|
|
4384 }
|
|
4385 char TZ_GMT0[[]] = "TZ=GMT0";
|
|
4386 char TZ_PST8[[]] = "TZ=PST8";
|
|
4387 main()
|
|
4388 {
|
|
4389 time_t now = time ((time_t *) 0);
|
|
4390 int hour_GMT0, hour_unset;
|
|
4391 if (putenv (TZ_GMT0) != 0)
|
|
4392 exit (1);
|
|
4393 hour_GMT0 = localtime (&now)->tm_hour;
|
|
4394 unset_TZ ();
|
|
4395 hour_unset = localtime (&now)->tm_hour;
|
|
4396 if (putenv (TZ_PST8) != 0)
|
|
4397 exit (1);
|
|
4398 if (localtime (&now)->tm_hour == hour_GMT0)
|
|
4399 exit (1);
|
|
4400 unset_TZ ();
|
|
4401 if (localtime (&now)->tm_hour != hour_unset)
|
|
4402 exit (1);
|
|
4403 exit (0);
|
|
4404 }])], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
|
|
4405 [# If we have tzset, assume the worst when cross-compiling.
|
|
4406 emacs_cv_localtime_cache=yes])
|
|
4407 else
|
|
4408 # If we lack tzset, report that localtime does not cache TZ,
|
|
4409 # since we can't invalidate the cache if we don't have tzset.
|
|
4410 emacs_cv_localtime_cache=no
|
|
4411 fi],[:])dnl
|
|
4412 AC_MSG_RESULT($emacs_cv_localtime_cache)
|
|
4413 if test $emacs_cv_localtime_cache = yes; then
|
|
4414 AC_DEFINE(LOCALTIME_CACHE)
|
|
4415 fi
|
|
4416
|
|
4417 if test "$HAVE_TIMEVAL" = "yes"; then
|
|
4418 AC_MSG_CHECKING(whether gettimeofday accepts one or two arguments)
|
|
4419 AC_TRY_LINK([
|
|
4420 #ifdef TIME_WITH_SYS_TIME
|
|
4421 #include <sys/time.h>
|
|
4422 #include <time.h>
|
|
4423 #else
|
|
4424 #ifdef HAVE_SYS_TIME_H
|
|
4425 #include <sys/time.h>
|
|
4426 #else
|
|
4427 #include <time.h>
|
|
4428 #endif
|
|
4429 #endif
|
|
4430 ],
|
|
4431 [
|
|
4432 struct timeval time;
|
|
4433 gettimeofday (&time, 0);
|
|
4434 ],
|
|
4435 [AC_MSG_RESULT(two)],
|
|
4436 [AC_MSG_RESULT(one)
|
|
4437 AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)])
|
|
4438 fi
|
|
4439
|
|
4440
|
|
4441 AC_C_INLINE
|
|
4442 test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
|
|
4443
|
|
4444 dnl check for the typeof extension
|
|
4445 AC_MSG_CHECKING(for typeof)
|
|
4446 AC_TRY_COMPILE(, [int i; __typeof__(i) j;], typeofname="__typeof__",
|
|
4447 [AC_TRY_COMPILE(, [int i; typeof(i) j;], typeofname="typeof",
|
|
4448 typeofname=no)])
|
|
4449 AC_MSG_RESULT($typeofname)
|
|
4450 if test "$typeofname" != "no"; then
|
|
4451 AC_DEFINE_UNQUOTED(TYPEOF, $typeofname)
|
|
4452 fi
|
|
4453
|
|
4454 dnl HP-UX has a working alloca in libPW.
|
|
4455 dnl case "${GCC}${opsys}" in hpux* )
|
|
4456 dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
|
|
4457 dnl esac
|
|
4458
|
|
4459 dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca)
|
|
4460 if test "$__DECC" != "yes"; then
|
|
4461 AC_FUNC_ALLOCA
|
|
4462 test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
|
|
4463 fi
|
|
4464
|
|
4465 AC_MSG_CHECKING(for working alloca in function calls)
|
|
4466 AC_RUN_IFELSE([AC_LANG_SOURCE([
|
|
4467 #if defined (__CYGWIN__)
|
|
4468 #include <alloca.h>
|
|
4469 #elif defined (__GNUC__)
|
|
4470 #define alloca __builtin_alloca
|
|
4471 #elif defined (__DECC)
|
|
4472 #include <alloca.h>
|
|
4473 #pragma intrinsic(alloca)
|
|
4474 #elif defined (HAVE_ALLOCA_H)
|
|
4475 #include <alloca.h>
|
|
4476 #elif defined (_AIX)
|
|
4477 #pragma alloca
|
|
4478 #elif ! defined (alloca)
|
|
4479 #ifdef C_ALLOCA
|
|
4480 #define alloca xemacs_c_alloca
|
|
4481 #else
|
|
4482 void *alloca ();
|
|
4483 #endif /* C_ALLOCA */
|
|
4484 #endif /* !defined (alloca) */
|
|
4485
|
|
4486 void
|
|
4487 f1 (double a, void *ptr, int b)
|
|
4488 {
|
|
4489 unsigned char *ptr2 = (unsigned char *) ptr;
|
|
4490 if (ptr2[[0]] != 0xBF || ptr2[[1]] != 0xBF || ptr2[[3000]] != 0xBF)
|
|
4491 exit (1);
|
|
4492 if (a != 3.1415 || b != -5490)
|
|
4493 exit (1);
|
|
4494 }
|
|
4495
|
|
4496 int
|
|
4497 f2 (short c, void *ptr, long e)
|
|
4498 {
|
|
4499 unsigned char *ptr2 = (unsigned char *) ptr;
|
|
4500 if (ptr2[[0]] != 0xFB || ptr2[[1]] != 0xFB || ptr2[[1000]] != 0xFB)
|
|
4501 exit (1);
|
|
4502 if (c != 665 || e != 776776776)
|
|
4503 exit (1);
|
|
4504 f1 (3.1415, memset (alloca (3001), 0xBF, 3001), -5490);
|
|
4505 return 42;
|
|
4506 }
|
|
4507
|
|
4508 int
|
|
4509 main (int argc, char *argv[])
|
|
4510 {
|
|
4511 if (f2 (665, memset (alloca (1001), 0xFB, 1001), 776776776) != 42)
|
|
4512 return 1;
|
|
4513 return 0;
|
|
4514 }
|
|
4515 ])], working_alloca_in_function_calls=yes, working_alloca_in_function_calls=no)
|
|
4516 AC_MSG_RESULT($working_alloca_in_function_calls)
|
|
4517 test "$working_alloca_in_function_calls" != "yes" && \
|
|
4518 AC_DEFINE(BROKEN_ALLOCA_IN_FUNCTION_CALLS)
|
|
4519
|
|
4520 AC_MSG_CHECKING([for working scanf])
|
|
4521 AC_RUN_IFELSE([AC_LANG_SOURCE([
|
|
4522 int
|
|
4523 main (int argc, char **argv)
|
|
4524 {
|
|
4525 int ret, cp1, cp2, endcount;
|
|
4526 char *p = "0x7d 0x000E ";
|
|
4527 ret = sscanf (p, "%i %i%n", &cp1, &cp2, &endcount);
|
|
4528 /* endcount should be 13 but it's 11 in Cygwin newlib after 6/04;
|
|
4529 this breaks unicode.c */
|
|
4530 return endcount != 13;
|
|
4531 }
|
|
4532 ])], working_scanf=yes, working_scanf=no)
|
|
4533 AC_MSG_RESULT($working_scanf)
|
|
4534 test "$working_scanf" != "yes" && \
|
|
4535 AC_DEFINE(CYGWIN_SCANF_BUG)
|
|
4536
|
|
4537 dnl Check whether strcoll exists and works correctly. (This does more
|
|
4538 dnl than just check for its existence.) If so, it defines HAVE_STRCOLL.
|
|
4539 AC_FUNC_STRCOLL
|
|
4540
|
|
4541 dnl If `getpgrp' takes no argument (the POSIX.1 version), define
|
|
4542 dnl `GETPGRP_VOID'. Otherwise, it is the BSD version, which takes a
|
|
4543 dnl process ID as an argument.
|
|
4544 AC_CHECK_FUNCS(getpgrp)
|
|
4545 AC_FUNC_GETPGRP
|
|
4546
|
|
4547 dnl We used to call AC_FUNC_MMAP here
|
|
4548 dnl Instead we now use following, suggested by Neal Becker
|
|
4549 AC_MSG_CHECKING(for working mmap)
|
|
4550 case "$opsys" in ultrix* ) have_mmap=no ;; *)
|
|
4551 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
|
|
4552 #include <unistd.h>
|
|
4553 #include <fcntl.h>
|
|
4554 #include <sys/mman.h>
|
|
4555
|
|
4556 #ifndef MAP_VARIABLE
|
|
4557 #define MAP_VARIABLE 0
|
|
4558 #endif
|
|
4559
|
|
4560 #ifndef MAP_FAILED
|
|
4561 #define MAP_FAILED -1
|
|
4562 #endif
|
|
4563
|
|
4564 int main (int argc, char *argv[])
|
|
4565 {
|
|
4566 int fd = -1;
|
|
4567 caddr_t p;
|
|
4568 #ifndef MAP_ANONYMOUS
|
|
4569 fd = open ("/dev/zero", O_RDWR);
|
|
4570 if (fd < 0)
|
|
4571 return 1;
|
|
4572 #define MAP_ANONYMOUS 0
|
|
4573 #endif
|
|
4574 if (mmap(0, 1024, PROT_READ | PROT_WRITE,
|
|
4575 MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS,
|
|
4576 fd, 0) != (void *) MAP_FAILED)
|
|
4577 return 0;
|
|
4578 perror ("conftest: mmap failed");
|
|
4579 return 1;
|
|
4580 }])], have_mmap=yes, have_mmap=no) ;;
|
|
4581 esac
|
|
4582 AC_MSG_RESULT($have_mmap)
|
|
4583 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
|
|
4584
|
|
4585 dnl By default we switch off rel-alloc on cygwin as it generally causes us grief
|
|
4586 case "$opsys" in cygwin*)
|
|
4587 test "$with_rel_alloc" = "default" && with_rel_alloc=no ;;
|
|
4588 esac
|
|
4589 dnl rel_alloc requires either GNU malloc or system malloc with mmap
|
|
4590 dnl We only turn rel_alloc on by default if mmap is available.
|
|
4591 test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && with_rel_alloc=no
|
|
4592 if test "$with_rel_alloc $have_mmap" = "default yes"; then
|
|
4593 if test "$doug_lea_malloc" = "yes"; then
|
|
4594 dnl Check if malloc() calls mmap(), making rel_alloc pointless.
|
|
4595 AC_MSG_CHECKING(for M_MMAP_THRESHOLD)
|
|
4596 AC_TRY_COMPILE([#include <malloc.h>],[
|
|
4597 #ifndef M_MMAP_THRESHOLD
|
|
4598 #error No M_MMAP_THRESHOLD :-(
|
|
4599 !@+$%^&*_)(_ - unlikely to compile...
|
|
4600 #endif
|
|
4601 ], [with_rel_alloc=no; AC_MSG_RESULT(yes);], [with_rel_alloc=yes; AC_MSG_RESULT(no);])
|
|
4602 else
|
|
4603 with_rel_alloc=yes
|
|
4604 fi
|
|
4605 fi
|
|
4606 test "$with_rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC)
|
|
4607
|
|
4608 dnl Check for terminal I/O variants
|
|
4609 dnl TERMIOS systems may have termio.h, but not vice-versa, I think.
|
|
4610 AC_CHECK_HEADER(termios.h,
|
|
4611 AC_DEFINE(HAVE_TERMIOS)
|
|
4612 AC_DEFINE(SIGNALS_VIA_CHARACTERS)
|
|
4613 AC_DEFINE(NO_TERMIO),
|
|
4614 [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])])
|
|
4615
|
|
4616
|
|
4617 dnl Check for Internet sockets.
|
|
4618 AC_CHECK_FUNC(socket,
|
|
4619 [AC_CHECK_HEADER(netinet/in.h,
|
|
4620 [AC_CHECK_HEADER(arpa/inet.h, [
|
|
4621 AC_DEFINE(HAVE_SOCKETS)
|
|
4622 AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
|
|
4623 AC_TRY_LINK([
|
|
4624 #include <sys/types.h>
|
|
4625 #include <sys/socket.h>
|
|
4626 #include <sys/un.h>
|
|
4627 ],
|
|
4628 [static struct sockaddr_un x; x.sun_len = 1;],
|
|
4629 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
|
|
4630 [AC_MSG_RESULT(no)])
|
|
4631 AC_MSG_CHECKING("for ip_mreq struct in netinet/in.h")
|
|
4632 AC_TRY_LINK([
|
|
4633 #include <sys/types.h>
|
|
4634 #include <netinet/in.h>
|
|
4635 ],
|
|
4636 [static struct ip_mreq x;],
|
|
4637 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MULTICAST)],
|
|
4638 [AC_MSG_RESULT(no)])])])])
|
|
4639
|
|
4640 dnl Check for SYS V IPC. (Inferior to sockets.)
|
|
4641 AC_CHECK_FUNC(msgget,
|
|
4642 [AC_CHECK_HEADER(sys/ipc.h,
|
|
4643 [AC_CHECK_HEADER(sys/msg.h,
|
|
4644 [AC_DEFINE(HAVE_SYSVIPC)])])])
|
|
4645
|
|
4646 dnl Check for directory variants
|
|
4647 AC_CHECK_HEADER(dirent.h, [AC_DEFINE(SYSV_SYSTEM_DIR)],
|
|
4648 [AC_CHECK_HEADER(sys/dir.h, , [AC_DEFINE(NONSYSTEM_DIR_LIBRARY)])])
|
|
4649
|
|
4650 dnl Check for nlist.h
|
|
4651 AC_CHECK_HEADER(nlist.h, AC_DEFINE(NLIST_STRUCT), )
|
|
4652
|
|
4653 dnl Check for sound of various sorts.
|
|
4654
|
|
4655 dnl Autodetect native sound
|
|
4656 AC_CHECKING([for sound support])
|
|
4657 test -n "$with_native_sound_lib" && enable_sound_native=yes
|
|
4658
|
|
4659 if test "$enable_sound_native" != "no"; then
|
|
4660 dnl Maybe sound is already on include path...
|
|
4661 if test -n "$with_native_sound_lib"; then
|
|
4662 AC_CHECK_HEADER(multimedia/audio_device.h,
|
|
4663 [sound_found=yes sound_cflags=""
|
|
4664 XE_ADD_OBJS(sunplay.o)])
|
|
4665 fi
|
|
4666
|
|
4667 dnl Autodetect Sun native sound from SUNWaudmo package
|
|
4668 if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then
|
|
4669 if test -d "/usr/demo/SOUND/include/multimedia"; then
|
|
4670 sun_sound_cflags="-I/usr/demo/SOUND/include"
|
|
4671 elif test -d "/usr/demo/SOUND/multimedia"; then
|
|
4672 sun_sound_cflags="-I/usr/demo/SOUND"
|
|
4673 fi
|
|
4674
|
|
4675 if test -n "$with_native_sound_lib"; then
|
|
4676 sun_sound_lib="$with_native_sound_lib"
|
|
4677 elif test -r "/usr/demo/SOUND/lib/libaudio.a"; then
|
|
4678 sun_sound_lib="/usr/demo/SOUND/lib/libaudio.a"
|
|
4679 elif test -r "/usr/demo/SOUND/libaudio.a"; then
|
|
4680 sun_sound_lib="/usr/demo/SOUND/libaudio.a"
|
|
4681 fi
|
|
4682
|
|
4683 if test -n "$sun_sound_cflags" -a -n "$sun_sound_lib"; then
|
|
4684 with_native_sound_lib="$sun_sound_lib"
|
|
4685 sound_cflags="$sun_sound_cflags"
|
|
4686 sound_found=yes
|
|
4687 XE_ADD_OBJS(sunplay.o)
|
|
4688 fi
|
|
4689 fi
|
|
4690
|
|
4691 dnl Check for SGI and HP native sound libs
|
|
4692 if test -z "$sound_found"; then
|
|
4693 case "$ac_cv_build" in
|
|
4694 *-sgi-* )
|
|
4695 if test -z "$with_native_sound_lib"; then
|
|
4696 AC_CHECK_LIB(audio, ALopenport, with_native_sound_lib="-laudio")
|
|
4697 fi
|
|
4698 if test -n "$with_native_sound_lib"; then
|
|
4699 sound_found=yes sound_cflags=""
|
|
4700 XE_ADD_OBJS(sgiplay.o)
|
|
4701 fi ;;
|
|
4702 hppa*-hp-hpux* )
|
|
4703 if test -z "$with_native_sound_lib"; then
|
|
4704 AC_CHECK_LIB(Alib, AOpenAudio, with_native_sound_lib="-lAlib")
|
|
4705 fi
|
|
4706 if test -n "$with_native_sound_lib"; then
|
|
4707 sound_found=yes
|
|
4708 XE_ADD_OBJS(hpplay.o)
|
|
4709 if test "$GCC" = "yes" # Kludge city
|
|
4710 then sound_cflags="-Dconst= -Dvolatile= -I/usr/audio/examples"
|
|
4711 else sound_cflags="+e -I/usr/audio/examples"
|
|
4712 fi
|
|
4713 fi ;;
|
|
4714 esac
|
|
4715 fi
|
|
4716
|
|
4717 dnl Win32 Native uses native sound
|
|
4718 if test -z "$sound_found"; then
|
|
4719 if test "$with_msw" = "yes"; then
|
|
4720 sound_found=yes
|
|
4721 with_native_sound_lib=
|
|
4722 XE_ADD_OBJS(ntplay.o)
|
|
4723 fi
|
|
4724 fi
|
|
4725
|
|
4726 dnl Check for Linux/BSD native sound (also on recent Cygwins)
|
|
4727 if test -z "$sound_found"; then
|
|
4728 for dir in "machine" "sys" "linux"; do
|
|
4729 AC_CHECK_HEADER([${dir}/soundcard.h], [
|
|
4730 sound_found=yes
|
2663
|
4731 case "${ac_cv_build}" in
|
2651
|
4732 *netbsd* )
|
|
4733 # #### this is probably not the right way to do this
|
|
4734 # we should port to native NetBSD stuff
|
2663
|
4735
|
|
4736 dnl Aidan says: We have other things to be doing. If some
|
|
4737 dnl energetic NetBSD partisan volunteers, then yeah, cool,
|
|
4738 dnl but as it is, this works, and is unlikely to stop
|
|
4739 dnl working any time soon.
|
|
4740
|
2651
|
4741 AC_CHECK_LIB(ossaudio, _oss_ioctl,
|
2663
|
4742 [with_native_sound_lib=-lossaudio
|
2651
|
4743 AC_MSG_WARN([Using NetBSD-deprecated -lossaudio])],
|
|
4744 [sound_found=no])
|
|
4745 ;;
|
|
4746 dnl Aidan sez: OpenBSD as well can use Linux's sound API, and needs
|
|
4747 dnl the same library. Add here!
|
|
4748 esac
|
|
4749 break])
|
|
4750 done
|
|
4751
|
|
4752 if test "$sound_found" = "yes"; then
|
|
4753 need_miscplay=yes
|
|
4754 XE_ADD_OBJS(linuxplay.o)
|
|
4755 AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, ["${dir}/soundcard.h"])
|
|
4756 fi
|
|
4757 fi
|
|
4758
|
|
4759 if test "$sound_found" = "yes"; then
|
|
4760 enable_sound_native=yes
|
|
4761 else
|
|
4762 if test "$enable_sound_native" = "yes" ; then
|
|
4763 AC_MSG_WARN([No native libraries found. Disabling native sound support.])
|
|
4764 fi
|
|
4765 enable_sound_native=no
|
|
4766 fi
|
|
4767 fi
|
|
4768
|
|
4769 if test "$enable_sound_native" = "yes"; then
|
|
4770 AC_DEFINE(HAVE_NATIVE_SOUND)
|
|
4771 test -n "$with_native_sound_lib" && XE_PREPEND($with_native_sound_lib, LIBS)
|
|
4772 fi
|
|
4773
|
|
4774 dnl NAS Sound support
|
|
4775 if test "$enable_sound_nas" != "no"; then
|
|
4776 AC_CHECK_HEADER(audio/audiolib.h, [
|
|
4777 AC_CHECK_LIB(audio, AuOpenServer, have_nas_sound=yes)])
|
|
4778 if test "$have_nas_sound" = "yes"; then
|
|
4779 enable_sound_nas=yes
|
|
4780 AC_DEFINE(HAVE_NAS_SOUND)
|
|
4781 XE_ADD_OBJS(nas.o)
|
|
4782 XE_PREPEND(-laudio, libs_x)
|
|
4783 dnl If the nas library does not contain the error jump point,
|
|
4784 dnl then we force safer behavior.
|
|
4785 AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[old_nas=yes; AC_DEFINE(NAS_NO_ERROR_JUMP)])
|
|
4786 else
|
|
4787 test "$enable_sound_nas" = "yes" && \
|
|
4788 XE_DIE("Required NAS sound support cannot be provided.")
|
|
4789 enable_sound_nas=no
|
|
4790 fi
|
|
4791 fi
|
|
4792
|
|
4793 dnl ESD Sound support
|
|
4794 if test "$enable_sound_esd" != "no"; then
|
|
4795 AC_CHECK_PROG(have_esd_config, esd-config, yes, no)
|
|
4796 if test "$have_esd_config" = "yes"; then
|
|
4797 save_c_switch_site="$c_switch_site" save_LIBS="$LIBS"
|
|
4798 XE_APPEND(`esd-config --cflags`, c_switch_site)
|
|
4799 XE_PREPEND(`esd-config --libs`, LIBS)
|
|
4800 AC_CHECK_FUNC(esd_play_stream,
|
|
4801 have_esd_sound=yes,
|
|
4802 c_switch_site="$save_c_switch_site" LIBS="$save_LIBS")
|
|
4803 fi
|
|
4804
|
|
4805 if test "$have_esd_sound" = "yes"; then
|
|
4806 enable_sound_esd=yes
|
|
4807 need_miscplay=yes
|
|
4808 XE_ADD_OBJS(esd.o)
|
|
4809 AC_DEFINE(HAVE_ESD_SOUND)
|
|
4810 else
|
|
4811 test "$enable_sound_esd" = "yes" && \
|
|
4812 XE_DIE("Required ESD sound support cannot be provided.")
|
|
4813 enable_sound_esd=no
|
|
4814 fi
|
|
4815 fi
|
|
4816
|
|
4817 test "$need_miscplay" = "yes" && XE_ADD_OBJS(miscplay.o)
|
|
4818
|
|
4819 dnl ---------------------
|
|
4820 dnl TTY-dependent options
|
|
4821 dnl ---------------------
|
|
4822
|
|
4823 test -z "$with_tty" && with_tty=yes
|
|
4824
|
|
4825 if test "$with_tty" = "yes" ; then
|
|
4826 AC_CHECKING([for TTY-related features])
|
|
4827 AC_DEFINE(HAVE_TTY)
|
|
4828
|
|
4829 dnl Autodetect ncurses.
|
|
4830 if test -z "$with_ncurses"; then
|
|
4831 AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no)
|
|
4832 fi
|
|
4833 if test "$with_ncurses" = "yes"; then
|
|
4834 AC_DEFINE(HAVE_NCURSES)
|
|
4835 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
|
|
4836 AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
|
|
4837 XE_ADD_OBJS(terminfo.o)
|
|
4838 XE_PREPEND(-lncurses, LIBS)
|
|
4839
|
|
4840 if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
|
|
4841 dnl Try again, and check for the bogus ncurses/ include bug.
|
|
4842 dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of
|
|
4843 dnl <ncurses/unctrl.h>)
|
|
4844 save_c_switch_site="$c_switch_site"
|
|
4845 c_switch_site="$c_switch_site -I/usr/include/ncurses"
|
|
4846 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
|
|
4847 if test "$ac_cv_header_ncurses_curses_h" = "yes"
|
|
4848 then AC_MSG_WARN([Your system has the bogus ncurses include bug.])
|
|
4849 else c_switch_site="$save_c_switch_site"
|
|
4850 fi
|
|
4851 fi
|
|
4852 else dnl "$with_ncurses" = "no"
|
|
4853 dnl Autodetect terminfo/-lcurses/-ltermlib/-ltermcap
|
|
4854 if test "$have_terminfo" = "yes"; then
|
|
4855 XE_ADD_OBJS(terminfo.o)
|
|
4856 if test -n "$libs_termcap"; then
|
|
4857 XE_PREPEND($libs_termcap, LIBS)
|
|
4858 else
|
|
4859 for lib in curses termlib termcap; do
|
|
4860 AC_CHECK_LIB($lib, tgetent, XE_PREPEND(-l${lib}, LIBS); break)
|
|
4861 done
|
|
4862 fi
|
|
4863 else dnl "$have_terminfo" = "no" && "with_ncurses" = "no"
|
|
4864 XE_ADD_OBJS(tparam.o)
|
|
4865 dnl The HP-UX curses library seems to have a badly broken version of select(2)
|
|
4866 dnl that makes "poll: interrupted system call" messages to appear and
|
|
4867 dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
|
|
4868 case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
|
|
4869 if test -n "$libs_termcap"; then
|
|
4870 XE_PREPEND($libs_termcap, LIBS)
|
|
4871 else
|
|
4872 AC_CHECK_LIB(curses, tgetent, XE_PREPEND(-lcurses, LIBS),
|
|
4873 AC_CHECK_LIB(termcap, tgetent, XE_PREPEND(-ltermcap, LIBS),
|
|
4874 XE_ADD_OBJS(termcap.o)))
|
|
4875 fi
|
|
4876 fi
|
|
4877 fi
|
|
4878 AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}")
|
|
4879 AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}")
|
|
4880
|
|
4881 dnl General Purpose Mouse (libgpm) support
|
|
4882 if test "$with_gpm" != "no"; then
|
|
4883 AC_CHECK_HEADER(gpm.h, [
|
|
4884 AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)])
|
|
4885 if test "$have_gpm" = "yes"; then
|
|
4886 with_gpm=yes
|
|
4887 AC_DEFINE(HAVE_GPM)
|
|
4888 XE_PREPEND(-lgpm, LIBS)
|
|
4889 elif test "$with_gpm" = "yes"; then
|
|
4890 XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."])
|
|
4891 else
|
|
4892 with_gpm=no
|
|
4893 fi
|
|
4894 fi
|
|
4895
|
|
4896 else dnl "$with_tty" = "no"
|
|
4897 for feature in ncurses gpm; do
|
|
4898 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
|
|
4899 AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support])
|
|
4900 fi
|
|
4901 eval "with_${feature}=no"
|
|
4902 done
|
|
4903 fi dnl with_tty
|
|
4904
|
|
4905 dnl Database support
|
|
4906 dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
|
|
4907 dnl On FreeBSD, both DB and DBM are part of libc.
|
|
4908 dnl By default, we check for DBM support in libgdbm, then libc, then libdbm.
|
|
4909
|
|
4910 test "$enable_database_gdbm $enable_database_dbm $enable_database_berkdb" \
|
|
4911 != "no no no" && AC_CHECKING([for database support])
|
|
4912
|
|
4913 dnl Check for ndbm.h, required for either kind of DBM support.
|
|
4914 if test "$enable_database_gdbm $enable_database_dbm" != "no no"; then
|
|
4915 AC_CHECK_HEADER(ndbm.h, [:], [
|
|
4916 test "$enable_database_gdbm" = "yes" -o \
|
|
4917 "$enable_database_dbm" = "yes" && \
|
|
4918 XE_DIE("Required DBM support cannot be provided.")
|
|
4919 enable_database_gdbm=no enable_database_dbm=no])
|
|
4920 fi
|
|
4921
|
|
4922 dnl Check for DBM support in libgdbm.
|
|
4923 if test "$enable_database_gdbm" != "no"; then
|
|
4924 AC_CHECK_LIB(gdbm, dbm_open, [
|
|
4925 enable_database_gdbm=yes enable_database_dbm=no libdbm=-lgdbm], [
|
|
4926 if test "$enable_database_gdbm" = "yes"; then
|
|
4927 XE_DIE("Required GNU DBM support cannot be provided.")
|
|
4928 fi
|
|
4929 enable_database_gdbm=no])
|
|
4930 fi
|
|
4931
|
|
4932 dnl Check for DBM support in libc and libdbm.
|
|
4933 if test "$enable_database_dbm" != "no"; then
|
|
4934 AC_CHECK_FUNC(dbm_open, [enable_database_dbm=yes libdbm=], [
|
|
4935 AC_CHECK_LIB(dbm, dbm_open, [enable_database_dbm=yes libdbm=-ldbm], [
|
|
4936 test "$enable_database_dbm" = "yes" && \
|
|
4937 XE_DIE("Required DBM support cannot be provided.")
|
|
4938 enable_database_dbm=no])])
|
|
4939 fi
|
|
4940
|
|
4941 dnl Tell make about the DBM support we detected.
|
|
4942 test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
|
|
4943 test "$enable_database_gdbm" = "yes" -o \
|
|
4944 "$enable_database_dbm" = "yes" && \
|
|
4945 AC_DEFINE(HAVE_DBM)
|
|
4946
|
|
4947 dnl Check for Berkeley DB.
|
|
4948 if test "$enable_database_berkdb" != "no"; then
|
|
4949 AC_MSG_CHECKING(for Berkeley db.h)
|
|
4950 for header in "db/db.h" "db.h"; do
|
|
4951 AC_TRY_COMPILE([
|
|
4952 #include <stdlib.h>
|
|
4953 #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
|
|
4954 #ifdef HAVE_INTTYPES_H
|
|
4955 #define __BIT_TYPES_DEFINED__
|
|
4956 #include <inttypes.h>
|
|
4957 typedef uint8_t u_int8_t;
|
|
4958 typedef uint16_t u_int16_t;
|
|
4959 typedef uint32_t u_int32_t;
|
|
4960 #ifdef WE_DONT_NEED_QUADS
|
|
4961 typedef uint64_t u_int64_t;
|
|
4962 #endif
|
|
4963 #endif
|
|
4964 #endif
|
|
4965 #include <$header>
|
|
4966 ],[], db_h_file="$header"; break)
|
|
4967 done
|
|
4968 if test -z "$db_h_file"
|
|
4969 then AC_MSG_RESULT(no); enable_database_berkdb=no
|
|
4970 else AC_MSG_RESULT($db_h_file)
|
|
4971 fi
|
|
4972
|
|
4973 if test "$enable_database_berkdb" != "no"; then
|
|
4974 AC_MSG_CHECKING(for Berkeley DB version)
|
|
4975 AC_EGREP_CPP(yes,
|
|
4976 [#include <$db_h_file>
|
|
4977 #if DB_VERSION_MAJOR > 1
|
|
4978 yes
|
|
4979 #endif
|
|
4980 ], [AC_EGREP_CPP(yes,
|
|
4981 [#include <$db_h_file>
|
|
4982 #if DB_VERSION_MAJOR > 2
|
|
4983 yes
|
|
4984 #endif
|
|
4985 ], [AC_EGREP_CPP(yes,
|
|
4986 [#include <$db_h_file>
|
|
4987 #if DB_VERSION_MAJOR > 3
|
|
4988 yes
|
|
4989 #endif
|
|
4990 ], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[
|
|
4991 AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[
|
|
4992 AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[
|
|
4993 AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1])
|
|
4994 AC_CHECK_FUNC($dbfunc, enable_database_berkdb=yes need_libdb=no, [
|
|
4995 AC_CHECK_LIB(db, $dbfunc, enable_database_berkdb=yes need_libdb=yes)])
|
|
4996 fi
|
|
4997
|
|
4998 dnl Berk db 4.1 decorates public functions with version information
|
|
4999 if test "$enable_database_berkdb" != "yes" -a "$dbver" = "4"; then
|
|
5000 rm -f $tempcname
|
|
5001 echo "#include <$db_h_file>" > $tempcname
|
|
5002 echo "configure___ dbfunc=db_create" >> $tempcname
|
|
5003 define(TAB, [ ])dnl
|
|
5004 eval `$CPP -Isrc $tempcname \
|
|
5005 | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"`
|
|
5006 rm -f $tempcname
|
|
5007 AC_MSG_WARN("db_create is really $dbfunc")
|
|
5008 AC_CHECK_LIB(db, $dbfunc, enable_database_berkdb=yes need_libdb=yes)
|
|
5009 fi
|
|
5010
|
|
5011 if test "$enable_database_berkdb" = "yes"; then
|
|
5012 AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file")
|
|
5013 AC_DEFINE(HAVE_BERKELEY_DB)
|
|
5014 test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS)
|
|
5015 else enable_database_berkdb=no
|
|
5016 fi
|
|
5017 fi
|
|
5018
|
|
5019 if test "$enable_database_gdbm $enable_database_dbm $enable_database_berkdb" \
|
|
5020 != "no no no"; then
|
|
5021 AC_DEFINE(HAVE_DATABASE)
|
|
5022 fi
|
|
5023
|
|
5024 dnl Socks support
|
|
5025 if test "$with_socks" = "yes"; then
|
|
5026 AC_CHECK_LIB(socks, SOCKSinit)
|
|
5027 test -n "$ac_cv_lib_socks_SOCKSinit" && AC_DEFINE(HAVE_SOCKS)
|
|
5028 fi
|
|
5029
|
|
5030 dnl Usage tracking (undocumented and likely unused option)
|
|
5031 if test "$usage_tracking" = "yes"; then
|
|
5032 AC_DEFINE(USAGE_TRACKING)
|
|
5033 XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS)
|
|
5034 fi
|
|
5035
|
|
5036 dnl Enhanced number support
|
|
5037 if test "$enable_bignum" = "gmp"; then
|
|
5038 AC_CHECK_HEADER(gmp.h, [
|
|
5039 AC_CHECK_LIB(gmp, __gmpz_init, have_mpz_init=yes)])
|
|
5040 if test "$have_mpz_init" = "yes"; then
|
|
5041 AC_DEFINE(WITH_NUMBER_TYPES)
|
|
5042 AC_DEFINE(WITH_GMP)
|
|
5043 XE_PREPEND(-lgmp, LIBS)
|
|
5044 else
|
|
5045 XE_DIE("Required GMP numeric support cannot be provided.")
|
|
5046 fi
|
|
5047 elif test "$enable_bignum" = "mp"; then
|
|
5048 for library in "" "-lcrypto"; do
|
|
5049 AC_CHECK_HEADER(mp.h, [
|
|
5050 AC_CHECK_LIB(mp, mp_mfree, have_mp_mfree=yes; break, [
|
|
5051 AC_CHECK_LIB(mp, mfree, have_mfree=yes; break, , $library)],
|
|
5052 $library)])
|
|
5053 done
|
|
5054 if test "$have_mp_mfree" = "yes"; then
|
|
5055 AC_DEFINE(MP_PREFIX)
|
|
5056 XE_APPEND(-lmp, LIBS)
|
|
5057 if test "$library" != ""; then
|
|
5058 XE_APPEND($library, LIBS)
|
|
5059 fi
|
|
5060 AC_CHECK_FUNC(mp_move, [AC_DEFINE(HAVE_MP_MOVE)])
|
|
5061 elif test "$have_mfree" = "yes"; then
|
|
5062 XE_APPEND(-lmp, LIBS)
|
|
5063 if test "$library" != ""; then
|
|
5064 XE_APPEND($library, LIBS)
|
|
5065 fi
|
|
5066 AC_CHECK_FUNC(move, [AC_DEFINE(HAVE_MP_MOVE)])
|
|
5067 else
|
|
5068 XE_DIE("Required MP numeric support cannot be provided.")
|
|
5069 fi
|
|
5070 AC_DEFINE(WITH_NUMBER_TYPES)
|
|
5071 AC_DEFINE(WITH_MP)
|
|
5072 fi
|
|
5073
|
|
5074 dnl Unfortunately, just because we can link doesn't mean we can run.
|
|
5075 dnl One of the above link tests may have succeeded but caused resulting
|
|
5076 dnl executables to fail to run. Also any tests using AC_RUN_IFELSE will
|
|
5077 dnl have reported incorrect results.
|
|
5078 AC_RUN_IFELSE([AC_LANG_SOURCE([int main(int c,char *v[]){return 0;}])],[:],[
|
|
5079 echo ""
|
|
5080 echo "*** PANIC *** The C compiler can no longer build working executables."
|
|
5081 echo "*** PANIC *** Please examine the tail of config.log for runtime errors."
|
|
5082 echo "*** PANIC *** The most likely reason for this problem is that configure"
|
|
5083 echo "*** PANIC *** links with shared libraries, but those libraries cannot be"
|
|
5084 echo "*** PANIC *** found at run time."
|
|
5085 echo "*** PANIC ***"
|
|
5086 echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig."
|
|
5087 echo "*** PANIC *** On other systems, try telling configure where to find the"
|
|
5088 echo "*** PANIC *** shared libraries using the --with-site-runtime-libraries option"
|
|
5089 echo "*** PANIC ***"
|
|
5090 echo "*** PANIC *** Another way to shoot yourself in the foot is to specify"
|
|
5091 echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed"
|
|
5092 echo "*** PANIC *** on your system. Don't do that."
|
|
5093 exit 1])
|
|
5094
|
|
5095 dnl Process support
|
|
5096 if test "$win32_processes" != "yes"; then
|
|
5097 AC_DEFINE(HAVE_UNIX_PROCESSES)
|
|
5098 fi
|
|
5099
|
|
5100 dnl --------------------------------
|
|
5101 dnl Compute SUBST-itutable variables
|
|
5102 dnl --------------------------------
|
|
5103
|
|
5104 dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM)
|
|
5105 dnl Use XE_SPACE instead of plain assignment statements to remove extraneous blanks
|
|
5106 if test "$enable_modules" = "yes"; then
|
|
5107 ld_libs_module=
|
|
5108 else
|
|
5109 XE_SPACE(ld_libs_module, $ldap_libs $postgresql_libs)
|
|
5110 fi
|
|
5111
|
|
5112 XE_SPACE(CFLAGS, $CFLAGS)
|
|
5113 XE_SPACE(extra_objs, $extra_objs)
|
|
5114 XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system)
|
|
5115 XE_SPACE(c_switch_window_system, $c_switch_x_site $c_switch_gtk $X_CFLAGS)
|
|
5116 XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system)
|
|
5117 XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_run)
|
|
5118 XE_SPACE(ld_switch_window_system, $ld_switch_x_site)
|
|
5119 XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system)
|
|
5120 XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard)
|
|
5121 XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS)
|
|
5122 XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general $ld_libs_module)
|
|
5123
|
|
5124 dnl For no-module builds, make the src dir last
|
|
5125 if test "$enable_modules" = "no"; then
|
|
5126 XE_APPEND(src, MAKE_SUBDIR)
|
|
5127 fi
|
|
5128
|
|
5129 dnl Compute lists of Makefiles and subdirs
|
|
5130 AC_SUBST(SRC_SUBDIR_DEPS)
|
|
5131 internal_makefile_list="Makefile.in"
|
|
5132 SUBDIR_MAKEFILES=''
|
|
5133 test -d lock || mkdir lock
|
|
5134 for dir in $MAKE_SUBDIR; do
|
|
5135 case "$dir" in */* ) dnl Implement mkdir -p
|
|
5136 ( for d in `echo $dir | sed 's:/: :g'` ; do
|
|
5137 test -d "$d" || mkdir "$d"; cd "$d"
|
|
5138 done ) ;;
|
|
5139 * ) test -d "$dir" || mkdir "$dir" ;;
|
|
5140 esac
|
|
5141 XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile)
|
|
5142 XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in)
|
|
5143 done
|
|
5144 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR)
|
|
5145 AC_SUBST(MAKE_SUBDIR)
|
|
5146 AC_SUBST(SUBDIR_MAKEFILES)
|
|
5147
|
|
5148 dnl Make s&m symlinks in the src directory, for config.h.
|
|
5149 for dir in src/s src/m; do
|
|
5150 if test ! -d "$dir" ; then
|
|
5151 echo Making symbolic link to "$srcdir/$dir"
|
|
5152 ${LN_S} "$srcdir/$dir" "$dir"
|
|
5153 fi
|
|
5154 done
|
|
5155
|
|
5156 dnl Also make modules/common link if needed for the module Makefiles.
|
|
5157 if test "$need_modules_common" = "yes"; then
|
|
5158 for dir in modules/common; do
|
|
5159 if test ! -d "$dir" ; then
|
|
5160 echo Making symbolic link to "$srcdir/$dir"
|
|
5161 ${LN_S} "$srcdir/$dir" "$dir"
|
|
5162 fi
|
|
5163 done
|
|
5164 fi
|
|
5165
|
|
5166 if test "$verbose" = "yes"; then
|
|
5167 echo ""
|
|
5168 PRINT_VAR(extra_objs
|
|
5169 c_switch_general c_switch_window_system c_switch_all
|
|
5170 ld_switch_general ld_switch_window_system ld_switch_all
|
|
5171 ld_libs_general ld_libs_window_system ld_libs_all)
|
|
5172 echo ""
|
|
5173 fi
|
|
5174
|
|
5175 dnl ----------------------------------------------
|
|
5176 dnl Create some auxiliary files for developers.
|
|
5177 dnl ----------------------------------------------
|
|
5178
|
|
5179 dnl Create a .gdbinit useful for debugging XEmacs
|
|
5180 if test -f "$srcdir/src/.gdbinit" -a ! -f "src/.gdbinit"; then
|
|
5181 test "$verbose" = "yes" && echo "creating src/.gdbinit"
|
|
5182 echo "source $srcdir/src/.gdbinit" > "src/.gdbinit"
|
|
5183 fi
|
|
5184
|
|
5185 dnl Create a .dbxrc useful for debugging XEmacs
|
|
5186 if test -f "$srcdir/src/.dbxrc" -a ! -f "src/.dbxrc"; then
|
|
5187 test "$verbose" = "yes" && echo "creating src/.dbxrc"
|
|
5188 echo ". $srcdir/src/.dbxrc" > "src/.dbxrc"
|
|
5189 fi
|
|
5190
|
|
5191 dnl Create a useful TAGS file
|
|
5192 if test -f "$srcdir/TAGS" -a ! -f "TAGS"; then
|
|
5193 test "$verbose" = "yes" && echo "creating TAGS"
|
|
5194 echo "
|
|
5195 $srcdir/TAGS,include" > "TAGS"
|
|
5196 fi
|
|
5197
|
|
5198 dnl Create top level .sbinit for Sun compilers
|
|
5199 if test "$__SUNPRO_C" = "yes"; then
|
|
5200 test "$verbose" = "yes" && echo "creating .sbinit"
|
|
5201 ( echo "# For use with Sun WorkShop's Source browser."
|
|
5202 echo "# See sbquery(1) and sbinit(4) for more information"
|
|
5203 for dir in $MAKE_SUBDIR; do echo "import $dir"; done
|
|
5204 ) > .sbinit
|
|
5205 fi
|
|
5206
|
|
5207 dnl There are no more compile tests; remove the core they created.
|
|
5208 rm -f core
|
|
5209
|
|
5210 dnl ----------------------------------------------
|
|
5211 dnl Substitute into Makefile, config.h and paths.h
|
|
5212 dnl ----------------------------------------------
|
|
5213
|
|
5214 dnl what sort of things to edit into Makefile, config.h and paths.h
|
|
5215 dnl configuration here uncanonicalized to avoid exceeding size limits.
|
|
5216
|
|
5217 AC_SUBST(PROGNAME)
|
|
5218 AC_SUBST(version)
|
|
5219 AC_SUBST(inststaticdir)
|
|
5220 AC_SUBST(instvardir)
|
|
5221 AC_SUBST(srcdir)
|
|
5222 AC_SUBST(bindir)
|
|
5223 AC_SUBST(datadir)
|
|
5224 AC_SUBST(statedir)
|
|
5225 AC_SUBST(libdir)
|
|
5226 AC_SUBST(mandir)
|
|
5227 AC_SUBST(extra_includes)
|
|
5228
|
|
5229 AC_SUBST(prefix)
|
|
5230 AC_SUBST(PREFIX_USER_DEFINED)
|
|
5231 dnl Yo, Stephen Bourne! I want to marry you!
|
|
5232 PREFIX=$prefix
|
|
5233 while true; do
|
|
5234 case "$PREFIX" in
|
|
5235 *\$* ) eval "PREFIX=$PREFIX" ;;
|
|
5236 *) break ;;
|
|
5237 esac
|
|
5238 done
|
|
5239 AC_SUBST(PREFIX)
|
|
5240
|
|
5241 AC_SUBST(exec_prefix)
|
|
5242 AC_SUBST(EXEC_PREFIX_USER_DEFINED)
|
|
5243 EXEC_PREFIX=$exec_prefix
|
|
5244 while true; do
|
|
5245 case "$EXEC_PREFIX" in
|
|
5246 *\$* ) eval "EXEC_PREFIX=$EXEC_PREFIX" ;;
|
|
5247 *) break ;;
|
|
5248 esac
|
|
5249 done
|
|
5250 AC_SUBST(EXEC_PREFIX)
|
|
5251
|
|
5252 AC_SUBST(infodir)
|
|
5253 AC_SUBST(INFODIR_USER_DEFINED)
|
|
5254 INFODIR=$infodir
|
|
5255 while true; do
|
|
5256 case "$INFODIR" in
|
|
5257 *\$* ) eval "INFODIR=$INFODIR" ;;
|
|
5258 *) break ;;
|
|
5259 esac
|
|
5260 done
|
|
5261 AC_SUBST(INFODIR)
|
|
5262
|
|
5263 AC_SUBST(infopath,$with_infopath)
|
|
5264 AC_SUBST(INFOPATH_USER_DEFINED)
|
|
5265 INFOPATH=$with_infopath
|
|
5266 while true; do
|
|
5267 case "$INFOPATH" in
|
|
5268 *\$* ) eval "INFOPATH=$INFOPATH" ;;
|
|
5269 *) break ;;
|
|
5270 esac
|
|
5271 done
|
|
5272 AC_SUBST(INFOPATH)
|
|
5273
|
|
5274 if test -z "$with_package_path" && test -n "$with_package_prefix" ; then
|
|
5275 if test "$enable_mule" = "yes" ; then
|
|
5276 with_package_path="~/.xemacs::${with_package_prefix}/site-packages:${with_package_prefix}/xemacs-packages:${with_package_prefix}/mule-packages"
|
|
5277 else
|
|
5278 with_package_path="~/.xemacs::${with_package_prefix}/site-packages:${with_package_prefix}/xemacs-packages"
|
|
5279 fi
|
|
5280 fi
|
|
5281
|
|
5282 AC_SUBST(package_path,$with_package_path)
|
|
5283 AC_SUBST(PACKAGE_PATH_USER_DEFINED)
|
|
5284 PACKAGE_PATH=$with_package_path
|
|
5285 while true; do
|
|
5286 case "$PACKAGE_PATH" in
|
|
5287 *\$* ) eval "PACKAGE_PATH=$PACKAGE_PATH" ;;
|
|
5288 *) break ;;
|
|
5289 esac
|
|
5290 done
|
|
5291 AC_SUBST(PACKAGE_PATH)
|
|
5292
|
|
5293 AC_SUBST(lispdir, $with_lispdir)
|
|
5294 AC_SUBST(LISPDIR_USER_DEFINED)
|
|
5295 LISPDIR=$with_lispdir
|
|
5296 while true; do
|
|
5297 case "$LISPDIR" in
|
|
5298 *\$* ) eval "LISPDIR=$LISPDIR" ;;
|
|
5299 *) break ;;
|
|
5300 esac
|
|
5301 done
|
|
5302 AC_SUBST(LISPDIR)
|
|
5303
|
|
5304 AC_SUBST(moduledir,$with_moduledir)
|
|
5305 AC_SUBST(MODULEDIR_USER_DEFINED)
|
|
5306 MODULEDIR=$with_moduledir
|
|
5307 while true; do
|
|
5308 case "$MODULEDIR" in
|
|
5309 *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
|
|
5310 *) break ;;
|
|
5311 esac
|
|
5312 done
|
|
5313 AC_SUBST(MODULEDIR)
|
|
5314
|
|
5315 AC_SUBST(sitelispdir,$with_sitelispdir)
|
|
5316 AC_SUBST(SITELISPDIR_USER_DEFINED)
|
|
5317 SITELISPDIR=$sitelispdir
|
|
5318 while true; do
|
|
5319 case "$SITELISPDIR" in
|
|
5320 *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
|
|
5321 *) break ;;
|
|
5322 esac
|
|
5323 done
|
|
5324 AC_SUBST(SITELISPDIR)
|
|
5325
|
|
5326 AC_SUBST(sitemoduledir)
|
|
5327 AC_SUBST(SITEMODULEDIR_USER_DEFINED)
|
|
5328 SITEMODULEDIR=$sitemoduledir
|
|
5329 while true; do
|
|
5330 case "$SITEMODULEDIR" in
|
|
5331 *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;;
|
|
5332 *) break ;;
|
|
5333 esac
|
|
5334 done
|
|
5335 AC_SUBST(SITEMODULEDIR)
|
|
5336
|
|
5337 AC_SUBST(etcdir,$with_etcdir)
|
|
5338 AC_SUBST(ETCDIR_USER_DEFINED)
|
|
5339 ETCDIR=$with_etcdir
|
|
5340 while true; do
|
|
5341 case "$ETCDIR" in
|
|
5342 *\$* ) eval "ETCDIR=$ETCDIR" ;;
|
|
5343 *) break ;;
|
|
5344 esac
|
|
5345 done
|
|
5346 AC_SUBST(ETCDIR)
|
|
5347
|
|
5348 AC_SUBST(archlibdir,$with_archlibdir)
|
|
5349 AC_SUBST(ARCHLIBDIR_USER_DEFINED)
|
|
5350 ARCHLIBDIR=$with_archlibdir
|
|
5351 while true; do
|
|
5352 case "$ARCHLIBDIR" in
|
|
5353 *\$* ) eval "ARCHLIBDIR=$ARCHLIBDIR" ;;
|
|
5354 *) break ;;
|
|
5355 esac
|
|
5356 done
|
|
5357 AC_SUBST(ARCHLIBDIR)
|
|
5358
|
|
5359 AC_SUBST(docdir,$with_docdir)
|
|
5360 AC_SUBST(DOCDIR_USER_DEFINED)
|
|
5361 DOCDIR=$with_docdir
|
|
5362 while true; do
|
|
5363 case "$DOCDIR" in
|
|
5364 *\$* ) eval "DOCDIR=$DOCDIR" ;;
|
|
5365 *) break ;;
|
|
5366 esac
|
|
5367 done
|
|
5368 AC_SUBST(DOCDIR)
|
|
5369
|
|
5370 AC_SUBST(docdir)
|
|
5371 AC_SUBST(bitmapdir)
|
|
5372 AC_SUBST(extra_objs)
|
|
5373
|
|
5374 dnl The following flags combine all the information from:
|
|
5375 dnl - command line options (user always gets priority)
|
|
5376 dnl - user environment variables
|
|
5377 dnl - determined by configure
|
|
5378 dnl - the s&m header files (required for ellcc)
|
|
5379 AC_SUBST(machfile)
|
|
5380 AC_SUBST(opsysfile)
|
|
5381 AC_SUBST(c_switch_general)
|
|
5382 AC_SUBST(c_switch_window_system)
|
|
5383 AC_SUBST(c_switch_all)
|
|
5384 AC_SUBST(ld_switch_general)
|
|
5385 AC_SUBST(ld_switch_window_system)
|
|
5386 AC_SUBST(ld_switch_all)
|
|
5387 AC_SUBST(ld_libs_general)
|
|
5388 AC_SUBST(ld_libs_window_system)
|
|
5389 AC_SUBST(ld_libs_all)
|
|
5390 AC_SUBST(CFLAGS)
|
|
5391 AC_SUBST(CPPFLAGS)
|
|
5392 AC_SUBST(LDFLAGS)
|
|
5393 RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
|
|
5394 AC_SUBST(RECURSIVE_MAKE_ARGS)
|
|
5395
|
|
5396 AC_SUBST(native_sound_lib,$with_native_sound_lib)
|
|
5397 AC_SUBST(sound_cflags)
|
|
5398 AC_SUBST(RANLIB)
|
|
5399 AC_SUBST(dynodump_arch)
|
|
5400
|
|
5401 AC_SUBST(XEMACS_CC)
|
|
5402 AC_SUBST(XE_CFLAGS)
|
|
5403
|
|
5404 dnl The default is yes
|
|
5405 if test "$with_prefix" = "yes"; then
|
|
5406 AC_DEFINE(PREFIX_USER_DEFINED)
|
|
5407 fi
|
|
5408
|
|
5409 dnl The default is no
|
|
5410 if test "$with_site_lisp" = "no"; then
|
|
5411 AC_DEFINE(INHIBIT_SITE_LISP)
|
|
5412 fi
|
|
5413 dnl The default is yes
|
|
5414 if test "$with_site_modules" = "no"; then
|
|
5415 AC_DEFINE(INHIBIT_SITE_MODULES)
|
|
5416 fi
|
|
5417
|
|
5418 XE_SPACE(ac_configure_args, $ac_configure_args)
|
|
5419 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$ac_cv_build")
|
|
5420 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
|
|
5421
|
|
5422 dnl Following are deprecated
|
|
5423
|
|
5424 null_string=""
|
|
5425 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, $null_string)
|
|
5426 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, $null_string)
|
|
5427 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, $null_string)
|
|
5428 AC_DEFINE_UNQUOTED(LD_SWITCH_SITE, $null_string)
|
|
5429 AC_DEFINE_UNQUOTED(C_SWITCH_SITE, $null_string)
|
|
5430
|
|
5431 dnl Note: as a general rule, *only* define things here that are not
|
|
5432 dnl autodetected. For things that are autodetected, define them
|
|
5433 dnl at the point where the autodetection occurs or would occur,
|
|
5434 dnl so that the user gets immediate feedback on the results of the
|
|
5435 dnl autodetection.
|
|
5436
|
|
5437 if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC)
|
|
5438 elif test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC)
|
|
5439 elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC)
|
|
5440 AC_DEFINE(USE_SYSTEM_MALLOC)
|
|
5441 fi
|
|
5442 test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
|
|
5443 test "$enable_external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
|
|
5444 test "$enable_kkcc" = "yes" && AC_DEFINE(USE_KKCC)
|
|
5445 test "$enable_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD)
|
|
5446 test "$with_purify" = "yes" && AC_DEFINE(PURIFY)
|
|
5447 test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY)
|
|
5448 test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP)
|
|
5449 test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS)
|
|
5450 test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD)
|
|
5451 test "$enable_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE)
|
|
5452 test "$enable_pdump" = "yes" && AC_DEFINE(PDUMP)
|
|
5453 test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE)
|
|
5454
|
|
5455
|
|
5456
|
|
5457 dnl -------------------------------------------------------------------------
|
|
5458 dnl -------------------------------
|
|
5459 dnl Report on what we decided to do
|
|
5460 dnl -------------------------------
|
|
5461
|
|
5462 dnl #### We should tag this as the _build_ environment.
|
|
5463 dnl Before doing that, though, must check if tools care about line 1.
|
|
5464
|
|
5465 (
|
|
5466 dnl /etc/osversion is on SONY NEWS-OS
|
|
5467 if test -f /etc/osversion; then dnl SONY NEWS-OS
|
|
5468 echo "osversion: `cat /etc/osversion`"
|
|
5469 else
|
|
5470 echo "uname -a: `uname -a`"
|
|
5471 fi
|
|
5472 echo ""
|
|
5473 echo "$progname $ac_configure_args"
|
|
5474 ) > Installation
|
|
5475
|
|
5476 if test ! -z ${emacs_beta_version} ; then
|
|
5477 if test -z "${emacs_is_beta}" ; then
|
|
5478 xemacs_betaname=".${emacs_beta_version}"
|
|
5479 else
|
|
5480 xemacs_betaname="-b${emacs_beta_version}"
|
|
5481 fi
|
|
5482 else
|
|
5483 xemacs_betaname=""
|
|
5484 fi
|
|
5485
|
|
5486 dnl Start stdout redirection to '| tee -a Installation'
|
|
5487 (
|
|
5488 echo "
|
|
5489
|
|
5490 XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" $xemacs_extra_name configured for \`$ac_cv_build'.
|
|
5491 "
|
|
5492 echo " WARNING: --------------------------------------------------------------"
|
|
5493 echo " WARNING: This was produced from a new autoconf-2.5 based configuration."
|
|
5494 echo " WARNING: If this configuration seems buggy then copy etc/configure-2.13"
|
|
5495 echo " WARNING: to configure and try again. Also please report the bug."
|
|
5496 echo " WARNING: --------------------------------------------------------------"
|
|
5497
|
|
5498 echo "
|
|
5499 Compilation Environment and Installation Defaults:"
|
|
5500 echo " Source code location: $srcdir"
|
|
5501 echo " Installation prefix: $prefix"
|
|
5502 if test -n "$with_site_includes"; then
|
|
5503 echo " Additional header files: $with_site_includes"
|
|
5504 fi
|
|
5505 if test -n "$with_site_libraries"; then
|
|
5506 echo " Additional libraries: $with_site_libraries"
|
|
5507 fi
|
|
5508 if test -n "$with_site_prefixes"; then
|
|
5509 echo " Additional prefixes: $with_site_prefixes"
|
|
5510 fi
|
|
5511 if test -n "$runpath"; then
|
|
5512 echo " Runtime library search path: $runpath"
|
|
5513 fi
|
|
5514
|
|
5515 if test -n "$opsysfile"
|
|
5516 then echo " Operating system description file: \`$opsysfile'"
|
|
5517 else echo " Not using any operating system description file"
|
|
5518 fi
|
|
5519 if test -n "$machfile"
|
|
5520 then echo " Machine description file: \`$machfile'"
|
|
5521 else echo " Not using any machine description file"
|
|
5522 fi
|
|
5523
|
|
5524 echo " Compiler version: $compiler_version"
|
|
5525 if test -n "$gcc_compiler_specs"; then
|
|
5526 echo " - GCC specs file: $gcc_compiler_specs"
|
|
5527 fi
|
|
5528 echo " - Compiler command: $XEMACS_CC $XE_CFLAGS"
|
|
5529 if test "$CC" != "$XEMACS_CC"; then
|
|
5530 echo " Compiler version for lib-src: (detection code unimplemented)"
|
|
5531 echo " - Compiler command for lib-src: $CC $CFLAGS"
|
|
5532 if test "$xemacs_cc_cc_mismatch" = "yes"; then
|
|
5533 echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully."
|
|
5534 fi
|
|
5535 fi
|
|
5536 echo " libc version: $libc_version"
|
|
5537 echo " Relocating allocator for buffers: $with_rel_alloc"
|
|
5538 echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}"
|
|
5539 case "$ld_switch_site" in
|
|
5540 *nocombreloc*) echo " Linking with \`-z nocombreloc'.
|
|
5541 - Consider configuring with --enable-pdump." ;;
|
|
5542 esac
|
|
5543
|
|
5544 echo "
|
|
5545 Window System:"
|
|
5546 if test "$with_msw" = "yes"; then
|
|
5547 echo " Compiling in support for the Microsoft window system."
|
|
5548 fi
|
|
5549 if test "$with_x11" = "yes"; then
|
|
5550 echo " Compiling in support for the X window system:"
|
|
5551 echo " - X Windows headers location: $x_includes"
|
|
5552 echo " - X Windows libraries location: $x_libraries"
|
|
5553 if test "$with_xauth" != yes; then
|
|
5554 echo " - Xau (X authority) not available."
|
|
5555 fi
|
|
5556 if test "$with_xmu" != yes; then
|
|
5557 echo " - Xmu library not available; substituting equivalent routines."
|
|
5558 fi
|
|
5559 if test "$with_wmcommand" != no; then
|
|
5560 echo " - Handling WM_COMMAND properly."
|
|
5561 fi
|
|
5562 fi
|
|
5563 if test "$need_athena" = "yes"; then
|
|
5564 echo " Compiling in support for the Athena widget set:"
|
|
5565 echo " - Athena headers location: $athena_h_path"
|
|
5566 echo " - Athena library to link: $athena_lib"
|
|
5567 fi
|
|
5568 case "$enable_menubars" in
|
|
5569 gtk ) echo " Using GTK menubars." ;;
|
|
5570 lucid ) echo " Using Lucid menubars." ;;
|
|
5571 motif ) echo " Using Motif menubars."
|
|
5572 echo " *WARNING* The Motif menubar implementation is currently buggy."
|
|
5573 echo " We recommend using the Lucid menubar instead."
|
|
5574 echo " Re-run configure with --enable-menubars='lucid'." ;;
|
|
5575 msw ) echo " Using MS-Windows menubars." ;;
|
|
5576 esac
|
|
5577 case "$enable_scrollbars" in
|
|
5578 gtk ) echo " Using GTK scrollbars." ;;
|
|
5579 lucid ) echo " Using Lucid scrollbars." ;;
|
|
5580 motif ) echo " Using Motif scrollbars." ;;
|
|
5581 athena ) echo " Using Athena scrollbars." ;;
|
|
5582 msw ) echo " Using MS-Windows scrollbars." ;;
|
|
5583 esac
|
|
5584 case "$enable_dialogs" in
|
|
5585 gtk ) echo " Using GTK dialog boxes." ;;
|
|
5586 motif ) echo " Using Motif dialog boxes."
|
|
5587 if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
|
|
5588 echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher."
|
|
5589 echo " We recommend using the Athena dialog boxes instead."
|
|
5590 echo " Install libXaw and re-run configure with --enable-dialogs='athena'."
|
|
5591 echo " Read the PROBLEMS file for more information."
|
|
5592 fi; fi ;;
|
|
5593 athena ) echo " Using Athena dialog boxes." ;;
|
|
5594 msw ) echo " Using MS-Windows dialog boxes." ;;
|
|
5595 esac
|
|
5596 case "$enable_widgets" in
|
|
5597 gtk ) echo " Using GTK native widgets." ;;
|
|
5598 motif ) echo " Using Motif native widgets." ;;
|
|
5599 athena ) echo " Using Athena native widgets." ;;
|
|
5600 msw ) echo " Using MS-Windows native widgets." ;;
|
|
5601 esac
|
|
5602 if test "$with_dragndrop" = yes; then
|
|
5603 echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)."
|
|
5604 echo " - Drag'n'Drop prototype: $dragndrop_proto."
|
|
5605 fi
|
|
5606
|
|
5607 echo "
|
|
5608 TTY:"
|
|
5609 test "$with_ncurses" = yes && echo " Compiling in support for ncurses."
|
|
5610 test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)."
|
|
5611
|
|
5612 echo "
|
|
5613 Images:"
|
|
5614 test "$with_gif" = yes && echo " Compiling in support for GIF images (builtin)."
|
|
5615 if test "$with_xpm" = yes; then
|
|
5616 echo " Compiling in support for XPM images."
|
|
5617 elif test "$with_x11" = yes; then
|
|
5618 echo " WARNING: -----------------------------------------------------------"
|
|
5619 echo " WARNING: Compiling without XPM image support."
|
|
5620 if test "$xpm_problem" != ""; then
|
|
5621 echo " Reason: $xpm_problem"
|
|
5622 fi
|
|
5623 echo " WARNING: You should strongly consider installing XPM."
|
|
5624 echo " WARNING: Otherwise toolbars and other graphics will look suboptimal."
|
|
5625 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
|
|
5626 echo " WARNING: -----------------------------------------------------------"
|
|
5627 fi
|
|
5628 if test "$with_png" = yes; then
|
|
5629 echo " Compiling in support for PNG images."
|
|
5630 elif test "$window_system" != "none"; then
|
|
5631 echo " WARNING: -----------------------------------------------------------"
|
|
5632 echo " WARNING: Compiling without PNG image support."
|
|
5633 if test "$png_problem" != ""; then
|
|
5634 echo " Reason: $png_problem"
|
|
5635 fi
|
|
5636 echo " WARNING: You should strongly consider installing the PNG libraries."
|
|
5637 echo " WARNING: Otherwise certain images and glyphs may not display."
|
|
5638 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
|
|
5639 echo " WARNING: -----------------------------------------------------------"
|
|
5640 fi
|
|
5641 test "$with_jpeg" = yes && echo " Compiling in support for JPEG images."
|
|
5642 test "$with_tiff" = yes && echo " Compiling in support for TIFF images."
|
|
5643 test "$with_xface" = yes && echo " Compiling in support for X-Face message headers."
|
|
5644
|
|
5645 echo "
|
|
5646 Sound:"
|
|
5647 test "$enable_sound_native" = yes && echo " Compiling in support for sound (native)."
|
|
5648 test "$enable_sound_nas" = yes && echo " Compiling in support for NAS (network audio system)."
|
|
5649 test "$old_nas" = yes && echo " - NAS library lacks error trapping; will play synchronously."
|
|
5650 test "$enable_sound_esd" = yes && echo " Compiling in support for ESD (Enlightened Sound Daemon)."
|
|
5651
|
|
5652 echo "
|
|
5653 Databases:"
|
|
5654 test "$enable_database_berkdb" = yes && echo " Compiling in support for Berkeley database."
|
|
5655 test "$enable_database_dbm" = yes && echo " Compiling in support for DBM."
|
|
5656 test "$enable_database_gdbm" = yes && echo " Compiling in support for GNU DBM."
|
|
5657 test "$with_ldap" = yes && echo " Compiling in support for LDAP."
|
|
5658 if test "$with_postgresql" = yes; then
|
|
5659 echo " Compiling in support for PostgreSQL."
|
|
5660 echo " - Using PostgreSQL header file: $libpq_fe_h_file"
|
|
5661 test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings."
|
|
5662 fi
|
|
5663
|
|
5664 echo "
|
|
5665 Internationalization:"
|
|
5666 test "$enable_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)."
|
|
5667 test "$with_xim" != no && echo " Compiling in support for XIM (X11R5+ I18N input method)."
|
|
5668 test "$with_xim" = motif && echo " - Using Motif to provide XIM support."
|
|
5669 test "$with_xim" = xlib && echo " - Using raw Xlib to provide XIM support."
|
|
5670 test "$with_xfs" = yes && echo " - Using XFontSet to provide bilingual menubar."
|
|
5671 test "$with_canna" = yes && echo " Compiling in support for Canna on Mule."
|
|
5672 if test "$with_wnn" = yes; then
|
|
5673 echo " Compiling in support for the WNN input method on Mule."
|
|
5674 test "$with_wnn6" = yes && echo " - Using WNN version 6."
|
|
5675 fi
|
|
5676
|
|
5677 echo "
|
|
5678 Mail:"
|
|
5679 test "$with_pop" = yes && echo " Compiling in support for POP mail retrieval."
|
|
5680 test "$with_kerberos" = yes && echo " Compiling in support for Kerberos POP authentication."
|
|
5681 test "$with_hesiod" = yes && echo " Compiling in support for Hesiod POP server access."
|
|
5682 test -n "$with_mail_locking" && echo " Compiling in support for \"$with_mail_locking\" mail spool file locking method."
|
|
5683
|
|
5684 echo "
|
|
5685 Other Features:"
|
|
5686 test "$with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup."
|
|
5687 test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
|
|
5688 test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop."
|
|
5689 test "$with_socks" = yes && echo " Compiling in support for SOCKS."
|
|
5690 test "$with_dnet" = yes && echo " Compiling in support for DNET."
|
|
5691 test "$enable_modules" = "yes" && echo " Compiling in support for dynamic shared object modules."
|
|
5692 test "$enable_bignum" = "gmp" && echo " Compiling in support for more number types using the GNU MP library."
|
|
5693 test "$enable_bignum" = "mp" && echo " Compiling in support for more number types using the BSD MP library."
|
|
5694 if test "$enable_union_type" = yes ; then
|
|
5695 echo " Using the union type for Lisp_Objects."
|
|
5696 echo " WARNING: ---------------------------------------------------------"
|
|
5697 echo " WARNING: This tends to trigger compiler bugs, especially when"
|
|
5698 echo " WARNING: combined with MULE and ERROR_CHECKING. Crashes have"
|
|
5699 echo " WARNING: been seen with various versions of GCC (up to about 2.95),"
|
|
5700 echo " WARNING: and recently with Visual C++ as well (mid-2003)."
|
|
5701 echo " WARNING: More recent versions may be safer, or not."
|
|
5702 echo " WARNING: ---------------------------------------------------------"
|
|
5703 fi
|
|
5704 test "$enable_kkcc" = yes && echo " Using the new GC algorithms."
|
|
5705 test "$enable_pdump" = yes && echo " Using the new portable dumper."
|
|
5706 test "$enable_debug" = yes && echo " Compiling in support for extra debugging code."
|
|
5707 test "$usage_tracking" = yes && echo " Compiling in support for active usage tracking (Sun internal)."
|
|
5708 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" \
|
|
5709 != "no no no no no no no no no"; then
|
|
5710 echo " Compiling in support for runtime error checking."
|
|
5711 echo " WARNING: ---------------------------------------------------------"
|
|
5712 echo " WARNING: XEmacs will run noticeably more slowly as a result."
|
|
5713 echo " WARNING: Error checking is on by default for XEmacs beta releases."
|
|
5714 echo " WARNING: ---------------------------------------------------------"
|
|
5715 fi
|
|
5716 echo ""
|
|
5717 ) | tee -a Installation
|
|
5718 dnl echo "The above configure report is appended to \"Installation\" file."
|
|
5719 echo ""
|
|
5720
|
|
5721 dnl -----------------------------------
|
|
5722 dnl Now generate config.h and Makefiles
|
|
5723 dnl -----------------------------------
|
|
5724 AC_CONFIG_HEADER(src/config.h lwlib/config.h)
|
|
5725
|
|
5726 dnl This has to be called in order for this variable to get into config.status
|
|
5727 AC_SUBST(internal_makefile_list)
|
|
5728 # Remove any trailing slashes in these variables.
|
|
5729 test -n "$prefix" &&
|
|
5730 prefix=`echo '' "$prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
|
|
5731 test -n "$exec_prefix" &&
|
|
5732 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
|
|
5733
|
|
5734 dnl Build Makefile.in's from Makefile.in.in's
|
|
5735 dnl except ./Makefile from $srcdir/Makefile.in
|
|
5736 dnl src/Makefile.in will have src/depend appended to it;
|
|
5737 dnl module Makefiles will have the common text in
|
|
5738 dnl modules/common/Makefile.common appended.
|
|
5739
|
|
5740 for file in $internal_makefile_list; do
|
|
5741 case $file in
|
|
5742 src/Makefile.in ) file="src/Makefile.in:src/Makefile.in.in:src/depend" ;;
|
|
5743 modules/* ) file="${file}:${file}.in:modules/common/Makefile.common" ;;
|
|
5744 esac
|
|
5745 AC_CONFIG_FILES($file)
|
|
5746 done
|
|
5747 AC_CONFIG_FILES(src/paths.h src/xemacs.def.in lib-src/config.values)
|
|
5748 test "$enable_modules" = "yes" && AC_CONFIG_FILES(lib-src/ellcc.h)
|
|
5749
|
|
5750
|
|
5751 dnl Normally []'s are used for quoting but this will cause problems
|
|
5752 dnl since we use brackets in sed. When not inside of a macro definition,
|
|
5753 dnl two brackets become one, but inside of a macro definition you need
|
|
5754 dnl more, or something -- I don't understand, but Martin probably does.
|
|
5755 dnl We put the brackets back later.
|
|
5756 dnl [ben]
|
|
5757
|
|
5758 dnl MAKE_JUNK_C(filename):
|
|
5759 dnl Copy a .in file to junk.c in preparation for passing through the
|
|
5760 dnl C preprocessor. Delete comment lines, pass lines that will be
|
|
5761 dnl interpreted by cpp through directly, and put quotes around remaining
|
|
5762 dnl lines, to avoid problems from overly helpful preprocessors that
|
|
5763 dnl "helpfully" put extra quotes in various places for later use by the
|
|
5764 dnl compiler. Later, the quotes will be removed.
|
|
5765
|
|
5766 m4_define([MAKE_JUNK_C],
|
|
5767 [ rm -f junk.c
|
|
5768 < $1 \
|
|
5769 sed -e '/^# Generated/d' \
|
|
5770 -e 's%/\*\*/#.*%%' \
|
|
5771 -e 's/^ *# */#/' \
|
|
5772 dnl Delete Makefile.in.in comment lines
|
|
5773 -e '/^##/d' \
|
|
5774 dnl Pass through CPP directives unchanged
|
|
5775 -e '/^#/ {
|
|
5776 p
|
|
5777 d
|
|
5778 }' \
|
|
5779 dnl Quote other lines to protect from CPP substitution
|
|
5780 -e '/./ {
|
|
5781 s/\([[\"]]\)/\\\1/g
|
|
5782 s/^/"/
|
|
5783 s/$/"/
|
|
5784 }' > junk.c;
|
|
5785 ])dnl MAKE_JUNK_C
|
|
5786
|
|
5787 dnl CPP_MAKEFILE(CPPFLAGS,filename):
|
|
5788 dnl Pass junk.c through the preprocessor and put the result in FILENAME.
|
|
5789
|
|
5790 m4_define([CPP_MAKEFILE],
|
|
5791 [echo creating $dir/$2
|
|
5792 $CPP -I. -I${srcdir}/src $1 junk.c \
|
|
5793 dnl Delete line directives inserted by $CPP
|
|
5794 | sed -e 's/^\#.*//' \
|
|
5795 dnl Delete spurious blanks inserted by $CPP
|
|
5796 -e 's/^[[ TAB]][[ TAB]]*$//'\
|
|
5797 -e 's/^ /TAB/' \
|
|
5798 dnl Delete blank lines
|
|
5799 -e '/^[[ ]]*$/d' \
|
|
5800 dnl Restore lines quoted above to original contents.
|
|
5801 -e '/^\"/ {
|
|
5802 s/\\\([[\"]]\)/\1/g
|
|
5803 s/^[[ TAB]]*\"//
|
|
5804 s/\"[[ TAB]]*$//
|
|
5805 }' > Makefile.new
|
|
5806 chmod 444 Makefile.new
|
|
5807 mv -f Makefile.new $2
|
|
5808 ])dnl CPP_MAKEFILE
|
|
5809
|
|
5810 AC_CONFIG_COMMANDS([default],
|
|
5811 [for dir in . $MAKE_SUBDIR; do
|
|
5812 (
|
|
5813 cd $dir
|
|
5814
|
|
5815 dnl Create a GNUmakefile and Makefile from Makefile.in.
|
|
5816 dnl Create xemacs.def from xemacs.def.in in the same fashion,
|
|
5817 dnl if it exists (i.e. in the src/ directory).
|
|
5818 MAKE_JUNK_C(Makefile.in)
|
|
5819 CPP_MAKEFILE(,Makefile)
|
|
5820 CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile)
|
|
5821 if test -r "xemacs.def.in"; then
|
|
5822 dnl #### We should be using MAKE_JUNK_C instead of the next two lines.
|
|
5823 dnl #### But the comments in xemacs.def.in need to be converted from C-style
|
|
5824 dnl #### to lines beginning with ##.
|
|
5825 rm -f junk.c
|
|
5826 cp xemacs.def.in junk.c
|
|
5827 CPP_MAKEFILE(,xemacs.def)
|
|
5828 fi
|
|
5829 rm -f junk.c
|
|
5830 )
|
|
5831 done
|
|
5832
|
|
5833 dnl Append AC_DEFINE information to lib-src/config.values
|
|
5834 dnl (AC_SUBST information is already there (see config.values.sh).
|
|
5835 sed < config.status >> lib-src/config.values \
|
|
5836 -e '/{ac_dA}.*{ac_dB}.*{ac_dC}.*{ac_dD}$/!d' \
|
|
5837 -e 's/\${ac_dA}\(.*\)\${ac_dB}.*\${ac_dC}\(.*\)\${ac_dD}/\1 \2/' \
|
|
5838 -e 's/^\([[^ ]]*\) $/\1 ""/' \
|
|
5839 -e 's/ 1$/ t/'
|
|
5840
|
|
5841 ],
|
|
5842 [CPP="$CPP"
|
|
5843 MAKE_SUBDIR="$MAKE_SUBDIR"
|
|
5844 ])dnl
|
|
5845
|
|
5846 AC_OUTPUT()dnl
|
|
5847
|