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