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