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