Mercurial > hg > xemacs-beta
annotate configure.ac @ 5016:2ade80e8c640
enable more warnings and fix them
-------------------- ChangeLog entries follow: --------------------
ChangeLog addition:
2010-02-08 Ben Wing <ben@xemacs.org>
* configure:
* configure.ac (TAB):
Various warnings that used to be present had mistakenly gotten
turned off. Turn them back on.
lwlib/ChangeLog addition:
2010-02-08 Ben Wing <ben@xemacs.org>
* xt-wrappers.h:
* xt-wrappers.h (Xt_SET_VALUE):
* xt-wrappers.h (Xt_GET_VALUE):
Rename var to avoid shadowing problems.
src/ChangeLog addition:
2010-02-08 Ben Wing <ben@xemacs.org>
* alloc.c:
Add prototypes for debugging functions.
* alloc.c (compact_string_chars): Make static.
* console-x.c (x_initially_selected_for_input):
* console-x.h:
* console-x.h (X_ERROR_OCCURRED):
Delete x_has_keysym() prototype from console-x.c, move to console-x.h.
* eval.c (multiple_value_call):
Real bug: Fix shadowing local vars.
* event-unixoid.c (read_event_from_tty_or_stream_desc):
* event-unixoid.c (signal_fake_event):
* lread.c (check_if_suppressed):
* strftime.c (strftime):
Fix stupid global shadowing warnings.
* event-unixoid.c (signal_fake_event):
* event-unixoid.c (drain_signal_event_pipe):
Use Rawbyte, not char.
* frame.h: Remove old prototype.
* gc.c:
* gc.c (show_gc_cursor_and_message):
* gc.c (remove_gc_cursor_and_message):
* gc.c (gc_prepare):
* gc.c (gc_finish_mark):
* gc.c (gc_finalize):
* gc.c (gc_sweep):
* gc.c (gc_finish):
* gc.c (gc_suspend_mark_phase):
* gc.c (gc_resume_mark_phase):
* gc.c (gc_mark):
* gc.c (gc_resume_mark):
Make fns static.
* glyphs-eimage.c (gif_decode_error_string):
Fix non-prototype.
* lisp.h:
Hack around global shadowing warnings involving `index'.
* intl-win32.c (wcsncpy):
* number-gmp.c (bigfloat_to_string):
* objects-msw.c (mswindows_font_spec_matches_charset_stage_2):
* specifier.c (call_charset_predicate):
* specifier.c (DEFINE_SPECIFIER_TAG_FROB):
Declarations cannot follow statements in standard C.
* search.c (search_buffer): Fix local shadowing warnings.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Mon, 08 Feb 2010 21:28:57 -0600 |
parents | 97c45e3ad810 |
children | 6f2158fa75ed 861f2601a38b |
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" | |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2056 dnl |
2651 | 2057 dnl Warning flags that may differ for gcc and g++ (xemacs_compiler) |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2058 dnl |
2651 | 2059 dnl With g++, -Wshadow produces five zillion utterly random warnings -- |
2060 dnl a local var named `buffer' conflicts with `struct buffer' for | |
2061 dnl example. Even with gcc, -Wshadow is questionable because of its | |
2062 dnl complaints about parameters with the same names as global functions. | |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2063 dnl There is no -Wmissing-declarations, -Wmissing-prototypes, or |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2064 dnl -Wstrict-prototypes under g++. |
2651 | 2065 dnl But gcc warns about -Weffc++ in C compiles. |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2066 dnl |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2067 dnl with_cflags_warning_c is for C-only warnings. |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2068 dnl with_cflags_warning_cxx is for C++-only warnings. |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2069 dnl with_cflags_warning_c_xe is for C-only warnings and only when |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2070 dnl compiling the source tree (i.e. when --xemacs-compiler is used). |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2071 with_cflags_warning_c="-Wshadow -Wmissing-declarations" |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2072 with_cflags_warning_c="$with_cflags_warning_c -Wmissing-prototypes -Wstrict-prototypes" |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2073 with_cflags_warning_cxx="-Weffc++" |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2074 with_cflags_warning_c_xe="" |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2075 dnl -Wunused-parameter only appeared in gcc 3. |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2076 dnl -Wdeclaration-after-statement only appeared in gcc 3.4, and is C-only. |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2077 dnl -Wunused-parameter is too annoying for use in lib-src, partly because |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2078 dnl the UNUSED() decl is in compiler.h and we don't include that in any |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2079 dnl of the lib-src files. |
2651 | 2080 dnl With g++, there is no effective way to use -Wunused-parameter without |
2081 dnl some very ugly code changes. | |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2082 if test "$__GCC" -ge 3; then |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2083 with_cflags_warning_c_xe="$with_cflags_warning_c_xe -Wunused-parameter" |
3494 | 2084 if test "$__GCC" -gt 3 || test "$__GCC_MINOR" -ge 4; then |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2085 with_cflags_warning_c="$with_cflags_warning_c -Wdeclaration-after-statement" |
3494 | 2086 fi |
2651 | 2087 fi |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2088 dnl **** If more gcc/g++ flags are added, add them above, not below |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2089 dnl |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2090 dnl Now set warnings for the source tree (xe_cflags_warning) and for |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2091 dnl lib-src (with_cflags_warning). Note that if we didn't set |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2092 dnl xe_cflags_warning, it would automatically be initialized from |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2093 dnl with_cflags_warning. |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2094 if test "$XEMACS_CC_GPP" = "yes"; then |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2095 xe_cflags_warning="$with_cflags_warning $with_cflags_warning_cxx" |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2096 else |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2097 xe_cflags_warning="$with_cflags_warning $with_cflags_warning_c $with_cflags_warning_c_xe" |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2098 fi |
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2099 with_cflags_warning="$with_cflags_warning $with_cflags_warning_c" |
2651 | 2100 elif test "$__ICC" = "yes"; then |
5016
2ade80e8c640
enable more warnings and fix them
Ben Wing <ben@xemacs.org>
parents:
4991
diff
changeset
|
2101 dnl This will apply to both source tree and lib-src |
2651 | 2102 with_cflags_warning="-Wall -w1 -we147" |
2103 dnl ### Add optimal with_cflags_warning support for other compilers HERE! | |
2104 fi | |
2105 fi | |
2106 test -z "$xe_cflags_warning" && xe_cflags_warning="$with_cflags_warning" | |
2107 AC_MSG_RESULT([${xe_cflags_warning}]) | |
2108 | |
2109 AC_MSG_CHECKING([for preferred warning flags for CC]) | |
2110 AC_MSG_RESULT([${with_cflags_warning}]) | |
2111 | |
2112 dnl Calculate remaining cflags. | |
2113 dnl Use either command line flag, environment var, or autodetection | |
2114 | |
2115 AC_MSG_CHECKING([for remaining CFLAGS]) | |
2116 | |
2117 if test "$cflags_specified" = "no"; then | |
2118 dnl Following values of CFLAGS are known to work well. | |
2119 if test "$CC" = "xlc"; then | |
2120 CFLAGS="-qro" | |
2121 dnl ### Add optimal CFLAGS support for other compilers HERE! | |
2122 fi | |
2123 fi | |
2124 AC_MSG_RESULT([${CFLAGS}]) | |
2125 | |
2126 dnl Now combine all C flags. Put the warning and optimization flags first | |
2127 dnl so that user-specified flags will override. | |
2128 dnl Do XE_CFLAGS before adding flags to CFLAGS. | |
2129 dnl Flags for XEMACS_CC: | |
2130 | |
2131 XE_CFLAGS="$xe_cflags_warning $with_cflags_debugging $with_cflags_optimization $CFLAGS" | |
2132 dnl Flags for CC: | |
2133 CFLAGS="$with_cflags_warning $with_cflags_debugging $with_cflags_optimization $CFLAGS" | |
2134 | |
2135 AC_MSG_CHECKING([total value of XE_CFLAGS]) | |
2136 AC_MSG_RESULT([${XE_CFLAGS}]) | |
2137 AC_MSG_CHECKING([total value of CFLAGS]) | |
2138 AC_MSG_RESULT([${CFLAGS}]) | |
2139 | |
2140 dnl Search for GCC specific build problems we know about | |
2141 if test "$GCC" = "yes"; then | |
2142 AC_MSG_CHECKING(for buggy gcc versions) | |
2143 GCC_VERSION=`$CC --version` | |
2144 case `uname -s`:`uname -m`:$GCC_VERSION in | |
2145 dnl egcs 2.90.21 (egcs-1.00 release) | |
2146 dnl egcs 2.90.29 (egcs-1.0.3 release) | |
2147 *:sun4*:2.8.1|*:sun4*:egcs-2.90.*) | |
2148 dnl Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures | |
2149 dnl without also using `-fno-schedule-insns'. | |
2150 case "$CFLAGS" in | |
2151 *-O2*|*-O3*) | |
2152 case "$CFLAGS" in | |
2153 *-fno-schedule-insns*) ;; | |
2154 *) | |
2155 AC_MSG_RESULT(yes) | |
2156 AC_MSG_WARN([Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures]) | |
2157 AC_MSG_WARN([without also using -fno-schedule-insns.]) | |
2158 AC_MSG_ERROR([Aborting due to known problem]) | |
2159 ;; | |
2160 esac | |
2161 ;; | |
2162 esac | |
2163 ;; | |
2164 dnl egcs-2.91.57 (egcs-1.1 release) | |
2165 dnl egcs-2.91.66 (egcs-1.1.2 release) | |
2166 Linux:alpha:egcs-2.91.*) | |
2167 AC_MSG_RESULT(yes) | |
2168 AC_MSG_WARN([There have been reports of egcs-1.1 not compiling XEmacs correctly on]) | |
2169 AC_MSG_WARN([Alpha Linux. There have also been reports that egcs-1.0.3a is O.K.]) | |
2170 AC_MSG_ERROR([Aborting due to known problem]) | |
2171 ;; | |
2172 *:i*86*:2.7.2*) | |
2173 case "$CFLAGS" in | |
2174 *-O2*|*-O3*) | |
2175 case "$GCC_VERSION" in | |
2176 2.7.2) | |
2177 case "$CFLAGS" in | |
2178 *-fno-strength-reduce*) ;; | |
2179 *) | |
2180 AC_MSG_RESULT(yes) | |
2181 AC_MSG_WARN([Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using]) | |
2182 AC_MSG_WARN([-fno-strength-reduce.]) | |
2183 AC_MSG_ERROR([Aborting due to known problem]) | |
2184 ;; | |
2185 esac | |
2186 ;; | |
2187 esac | |
2188 case "$CFLAGS" in | |
2189 *-fno-caller-saves*) ;; | |
2190 *) | |
2191 AC_MSG_RESULT(yes) | |
2192 AC_MSG_WARN([Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using]) | |
2193 AC_MSG_WARN([-fno-caller-saves.]) | |
2194 AC_MSG_ERROR([Aborting due to known problem]) | |
2195 ;; | |
2196 esac | |
2197 ;; | |
2198 esac | |
2199 ;; | |
2200 esac | |
2201 AC_MSG_RESULT(no) | |
2202 fi | |
2203 | |
2204 dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump. | |
2205 dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf | |
2206 dnl a usage message, that's often good enough. Please report it, though. | |
2207 dnl #### Should make this Solaris-friendly. | |
2208 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
|
2209 if test "$with_pdump" != "yes"; then |
3312 | 2210 AC_MSG_CHECKING([for "-z nocombreloc" linker flag]) |
2651 | 2211 case "`ld --help 2>&1`" in |
2212 *-z\ nocombreloc* ) AC_MSG_RESULT(yes) | |
2213 XE_PREPEND(-z nocombreloc, ld_switch_site) ;; | |
2214 *) AC_MSG_RESULT(no) ;; | |
2215 esac | |
2216 fi | |
2217 | |
2218 dnl Inform compiler that certain flags are meant for the linker | |
2219 XE_PROTECT_LINKER_FLAGS(ld_switch_system) | |
2220 XE_PROTECT_LINKER_FLAGS(ld_switch_machine) | |
2221 XE_PROTECT_LINKER_FLAGS(ld_switch_site) | |
2222 XE_PROTECT_LINKER_FLAGS(LDFLAGS) | |
2223 XE_PROTECT_LINKER_FLAGS(ld_call_shared) | |
2224 | |
2225 dnl Add s&m-determined objects (including unexec) to link line | |
2226 test -n "$objects_machine" && XE_ADD_OBJS($objects_machine) | |
2227 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
|
2228 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
|
2229 test "$with_pdump" = "yes" && XE_ADD_OBJS(dumper.o) |
2651 | 2230 |
2231 dnl Feed s&m crud to src/Makefile | |
2232 | |
2233 dnl Linux/powerpc needs the following magic for some reason | |
2234 dnl [Not needed with YellowDog 2.3 and causes link problems with YellowDog 3.0, | |
2235 dnl the two most popular PowerPC distributions.] | |
2236 dnl test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript" | |
2237 | |
2238 AC_LANG(C) | |
2239 if test "$unexec" = "unexaix.o"; then | |
2240 dnl AIX needs various hacks to make static linking work. | |
2241 if test "$with_dynamic" = "no"; then | |
2242 start_flags="-Wl,-bnso,-bnodelcsect" | |
2243 test "$GCC" = "yes" && start_flags="-B/bin/ ${start_flags}" | |
2244 for f in "/lib/syscalls.exp" "/lib/threads.exp"; do | |
2245 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; fi | |
2246 done | |
2247 for f in "/usr/lpp/X11/bin/smt.exp" "/usr/bin/X11/smt.exp"; do | |
2248 if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; break; fi | |
2249 done | |
2250 AC_CHECK_LIB([c], [terminateAndUnload], [XE_APPEND(-lC, libs_system)]) | |
2251 fi | |
2252 elif test -n "$ld_text_start_addr"; then | |
2253 start_flags="-T $ld_text_start_addr -e __start" | |
2254 fi | |
2255 AC_SUBST(start_flags) | |
2256 | |
2257 AC_SUBST(ld_switch_shared) | |
2258 AC_SUBST(start_files) | |
2259 if test "$ordinary_link" = "no" -a "$GCC" = "yes"; then | |
2260 test -z "$linker" && linker='$(CC) -nostdlib' | |
2261 test -z "$lib_gcc" && lib_gcc='`$(CC) -print-libgcc-file-name`' | |
2262 fi | |
2263 test "$GCC" != "yes" && lib_gcc= | |
2264 AC_SUBST(ld) | |
2265 AC_SUBST(lib_gcc) | |
2266 | |
2267 dnl --------------------------------------------------------------- | |
2268 dnl Get version information for: | |
2269 dnl C compiler, libc | |
2270 dnl #### should do CC compiler, too, if different from XEMACS_CC | |
2271 dnl --------------------------------------------------------------- | |
2272 | |
2273 compiler_version="" | |
2274 gcc_compiler_specs="" | |
2275 libc_version="" | |
2276 | |
2277 AC_MSG_CHECKING([for compiler version information]) | |
2278 | |
2279 dnl First try portable compilers, then crack system secrets | |
2280 dnl #### Is this code correct if $XEMACS_CC != $CC? XEMACS_CC hasn't been | |
2281 dnl run through the AC_PROG_CC mill. | |
2282 dnl Would anybody really build libsrc with GCC and XEmacs with non-GCC? | |
2283 if test "$GCC" = "yes"; then | |
2692 | 2284 compiler_version=`$XEMACS_CC --version | sed 1q` |
2285 gcc_compiler_specs=`$XEMACS_CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | sed 1q` | |
2651 | 2286 else case "$XEMACS_CC" in |
2287 dnl The Intel cc compiler | |
2288 ic*) | |
2692 | 2289 compiler_version=`icc -V 2>&1 | sed 1q` |
2651 | 2290 ;; |
2291 dnl non-gcc machine-specific magic - contributions welcome | |
2292 *) case "$ac_cv_build" in | |
2293 *-*-aix* ) | |
2294 dnl Yes, it's this ugly for AIX... | |
2295 realcc=`which $XEMACS_CC` | |
2296 dnl Might be a symlink created by replaceCset command | |
2297 if test -L $realcc ; then | |
2298 ccdir=`dirname $realcc` | |
2299 ccprog=`/bin/ls -l $realcc | sed 's/.* \([[^ ]]\)/\1/'` | |
2300 dnl This doesn't handle ../../xlc type stuff, but I've not seen one... | |
2301 case $ccprog in | |
2302 */*) realcc=$ccprog;; | |
2303 *) realcc=$ccdir/$ccprog;; | |
2304 esac | |
2305 fi | |
2306 lpp=`lslpp -wqc $realcc | cut -f2 -d:` | |
2307 if test ! -z "$lpp" ; then | |
2308 lppstr=`lslpp -Lqc $lpp` | |
2309 lpplev=`echo "$lppstr" | cut -f3 -d:` | |
2310 lppdesc=`echo "$lppstr" | cut -f8 -d:` | |
2311 fi | |
2312 if test ! -z "$lpplev" ; then | |
2313 compiler_version="$lpp $lpplev - $lppdesc" | |
2314 fi | |
2315 ;; | |
2316 | |
2317 *-*-solaris*) | |
2692 | 2318 compiler_version=`$XEMACS_CC -V 2>&1 | sed 1q` |
2651 | 2319 ;; |
2320 | |
2321 alpha*-dec-osf*) | |
2322 compiler_version=`$XEMACS_CC -V | tr '\n' ' '` | |
2323 ;; | |
2324 | |
2325 mips-sgi-irix*) | |
2326 compiler_version=`$XEMACS_CC -version` | |
2327 ;; | |
2328 esac | |
2329 esac | |
2330 fi | |
2331 | |
2332 dnl Awww, shucks. | |
2333 if test -z "$compiler_version"; then | |
2334 compiler_version="detection failed (please report this)" | |
2335 fi | |
2336 AC_MSG_RESULT([$compiler_version]) | |
2337 | |
2338 AC_MSG_CHECKING(for standard C library version information) | |
2339 | |
2340 case "$ac_cv_build" in | |
2341 *-*-linux*) | |
2342 dnl #### who would ever _not_ be running the distro's libc? | |
2343 dnl Maybe it would be better to get/augment this info with ldd? | |
2344 if test -f /etc/redhat-release ; then | |
2345 libc_version=`rpm -q glibc` | |
2346 elif test -f /etc/debian_version ; then | |
2347 libc_version=`dpkg-query --showformat='${version}' --show libc6` | |
2348 libc_version="GNU libc $libc_version (Debian)" | |
2349 dnl need SuSE et al checks here... | |
2350 fi | |
2351 dnl #### Tested on Debian, does this actually work elsewhere? ;-) | |
2352 if test -z "$libc_version"; then | |
2353 libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'` | |
2354 fi | |
2355 ;; | |
2356 | |
2357 *-*-aix*) | |
2358 libc_version="bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`" | |
2359 ;; | |
2360 | |
2361 *-*-solaris*) | |
2362 libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'` | |
2363 libc_version="SUNWcsl $libc" | |
2364 | |
2365 ;; | |
2366 | |
2367 mips-sgi-irix*) | |
2368 libc_version="IRIX libc `uname -sRm`" | |
2369 ;; | |
2370 | |
2371 alpha*-dec-osf*) | |
2372 dnl Another ugly case | |
2373 (cd /usr/.smdb.; | |
2374 libc_version=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','` | |
2375 ) | |
2376 ;; | |
2377 esac | |
2378 | |
2379 dnl Awww, shucks. | |
2380 if test -z "libc_version"; then | |
2381 libc_version="detection failed (please report this)" | |
2382 fi | |
2383 AC_MSG_RESULT([$libc_version]) | |
2384 | |
2385 dnl --------------------------------------------------------------- | |
2386 dnl Add site and system specific flags to compile and link commands | |
2387 dnl --------------------------------------------------------------- | |
2388 | |
2389 dnl --with-site-libraries (multiple dirs) | |
2390 COLON_TO_SPACE(with_site_libraries) | |
2391 if test -n "$with_site_libraries"; then | |
2392 for arg in $with_site_libraries; do | |
2393 case "$arg" in | |
2394 -* ) ;; | |
2395 * ) test -d "$arg" || \ | |
2396 XE_DIE("Invalid site library \`$arg': no such directory") | |
2397 arg="-L${arg}" ;; | |
2398 esac | |
2399 XE_APPEND($arg, ld_switch_site) | |
2400 done | |
2401 fi | |
2402 | |
2403 dnl --with-site-includes (multiple dirs) | |
2404 COLON_TO_SPACE(with_site_includes) | |
2405 if test -n "$with_site_includes"; then | |
2406 for arg in $with_site_includes; do | |
2407 case "$arg" in | |
2408 -* ) ;; | |
2409 * ) test -d "$arg" || \ | |
2410 XE_DIE("Invalid site include \`$arg': no such directory") | |
2411 arg="-I${arg}" ;; | |
2412 esac | |
2413 XE_APPEND($arg, c_switch_site) | |
2414 done | |
2415 fi | |
2416 | |
2417 dnl --with-site-prefixes (multiple dirs) | |
2418 dnl --with-site-prefixes=dir1:dir2 is a convenient shorthand for | |
2419 dnl --with-site-libraries=dir1/lib:dir2/lib --with-site-includes=dir1/include:dir2/include | |
2420 dnl Site prefixes take precedence over the standard places, but not over | |
2421 dnl with-site-includes and with-site-libraries. | |
2422 COLON_TO_SPACE(with_site_prefixes) | |
2423 if test -n "$with_site_prefixes"; then | |
2424 for dir in $with_site_prefixes; do | |
2425 lib_dir="${dir}/lib" | |
2426 inc_dir="${dir}/include" | |
2427 if test ! -d "$dir"; then | |
2428 XE_DIE("Invalid site prefix \`$dir': no such directory") | |
2429 elif test ! -d "$lib_dir"; then | |
2430 XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'") | |
2431 else | |
2432 if test -d "$inc_dir"; then | |
2433 XE_APPEND("-I$inc_dir", c_switch_site) | |
2434 fi | |
2435 XE_APPEND("-L$lib_dir", ld_switch_site) | |
2436 fi | |
2437 done | |
2438 fi | |
2439 | |
2440 dnl GNU software installs by default into /usr/local/{include,lib} | |
2441 dnl if test -d "/usr/local/include" -a -d "/usr/local/lib"; then | |
2442 dnl XE_APPEND("-L/usr/local/lib", ld_switch_site) | |
2443 dnl XE_APPEND("-I/usr/local/include", c_switch_site) | |
2444 dnl fi | |
2445 | |
2446 dnl Extra system-specific library directories - please add to list | |
2447 for dir in "/usr/ccs/lib"; do | |
2448 test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system) | |
2449 done | |
2450 | |
2451 dnl --with-site-runtime-libraries (multiple dirs) | |
2452 COLON_TO_SPACE(with_site_runtime_libraries) | |
2453 if test -n "$with_site_runtime_libraries"; then | |
2454 LD_RUN_PATH="`echo $with_site_runtime_libraries | sed -e 's/ */:/g'`" | |
2455 export LD_RUN_PATH | |
2456 fi | |
2457 | |
2458 dnl Linux systems have dynamic runtime library directories listed in | |
2459 dnl /etc/ld.so.conf. Since those are used at run time, it seems pretty | |
2460 dnl safe to use them at link time, and less controversial than forcing | |
2461 dnl the run-time to use the link-time libraries. This also helps avoid | |
2462 dnl mismatches between the link-time and run-time libraries. | |
2463 | |
2464 dnl #### Unfortunately, there are horrible libc4 and libc5 libraries | |
2465 dnl listed in /etc/ld.so.conf on some systems, and including them on | |
2466 dnl the link path leads to linking in utterly broken libc's. | |
2467 dnl There are many clever ways of approaching this problem, | |
2468 dnl but finding one that actually works... | |
2469 | |
2470 dnl if test -z "$LD_RUN_PATH" -a -r "/etc/ld.so.conf"; then | |
2471 dnl for dir in `cat /etc/ld.so.conf`; do | |
2472 dnl test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system) | |
2473 dnl done | |
2474 dnl add_runtime_path=no | |
2475 dnl fi | |
2476 | |
2477 dnl ------------------------------------- | |
2478 dnl Compute runtime library path | |
2479 dnl ------------------------------------- | |
2480 | |
2481 if test -n "$add_runtime_path"; then :; | |
2482 elif test "$with_dynamic" = "no"; then add_runtime_path=no | |
2483 elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes | |
2484 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
|
2485 sol2 | irix* | *bsd* ) add_runtime_path=yes ;; |
2651 | 2486 * ) add_runtime_path=no ;; |
2487 esac | |
2488 fi | |
2489 | |
2490 if test "$add_runtime_path" = "yes"; then | |
2491 dnl Try to autodetect runtime library flag (usually -R), | |
2492 dnl and whether it works (or at least does no harm) | |
3312 | 2493 AC_MSG_CHECKING([for runtime libraries flag]) |
2651 | 2494 case "$opsys" in |
2495 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
|
2496 linux* | irix*) dash_r="-rpath " ;; |
2651 | 2497 *) |
2498 dash_r="" | |
2499 for try_dash_r in "-R" "-R " "-rpath "; do | |
2500 xe_check_libs="${try_dash_r}/no/such/file-or-directory" | |
2501 XE_PROTECT_LINKER_FLAGS(xe_check_libs) | |
3312 | 2502 AC_LINK_IFELSE([], dash_r="$try_dash_r") |
2651 | 2503 xe_check_libs="" |
2504 test -n "$dash_r" && break | |
2505 done ;; | |
2506 esac | |
2507 if test -n "$dash_r"; | |
3312 | 2508 then AC_MSG_RESULT(["${dash_r}"]) |
2651 | 2509 else AC_MSG_RESULT(NONE) |
2510 fi | |
2511 fi | |
2512 | |
2513 xe_add_unique_runpath_dir=' | |
2514 xe_add_p=yes | |
2515 for xe_dir in $runpath_dirs; do dnl Uniquify | |
2516 test "$xe_dir" = "$xe_runpath_dir" && xe_add_p=no | |
2517 done | |
2518 if test "$xe_add_p" = "yes"; then | |
2519 test -n "$runpath" && runpath="${runpath}:" | |
2520 runpath="${runpath}${xe_runpath_dir}" | |
2521 runpath_dirs="$runpath_dirs $xe_runpath_dir" | |
2522 fi' | |
2523 | |
2524 XE_COMPUTE_RUNPATH() | |
2525 | |
2526 dnl ----------------------------------- | |
2527 dnl Do some misc autoconf-special tests | |
2528 dnl ----------------------------------- | |
2529 | |
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
|
2530 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
|
2531 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
|
2532 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
|
2533 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
|
2534 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
|
2535 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
|
2536 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
|
2537 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
|
2538 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
|
2539 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
|
2540 |
2651 | 2541 dnl Do the opsystem or machine files prohibit the use of the GNU malloc? |
2542 dnl Assume not, until told otherwise. | |
2543 GNU_MALLOC=yes | |
2544 if test "$with_dlmalloc" != "no"; then | |
2545 doug_lea_malloc=yes | |
2546 else | |
2547 doug_lea_malloc=no | |
2548 fi | |
2549 after_morecore_hook_exists=yes | |
2550 AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no) | |
2551 AC_MSG_CHECKING(whether __after_morecore_hook exists) | |
3312 | 2552 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern void (* __after_morecore_hook)();], |
2553 [__after_morecore_hook = 0])], | |
2651 | 2554 [AC_MSG_RESULT(yes)], |
2555 [AC_MSG_RESULT(no) | |
2556 after_morecore_hook_exists=no]) | |
2557 if test "$system_malloc" = "yes" ; then | |
2558 GNU_MALLOC=no | |
2559 GNU_MALLOC_reason=" | |
2560 - The GNU allocators don't work with this system configuration." | |
2561 elif test "$with_system_malloc" = "yes" ; then | |
2562 GNU_MALLOC=no | |
2563 GNU_MALLOC_reason=" | |
2564 - User chose not to use GNU allocators." | |
2565 elif test "$with_debug_malloc" = "yes" ; then | |
2566 GNU_MALLOC=no | |
2567 GNU_MALLOC_reason=" | |
2568 - User chose to use Debugging Malloc." | |
2569 fi | |
2570 | |
2571 if test "$doug_lea_malloc" = "yes" -a "$GNU_MALLOC" = "yes" ; then | |
2572 GNU_MALLOC_reason=" | |
2573 - Using Doug Lea's new malloc from the GNU C Library." | |
2574 AC_DEFINE(DOUG_LEA_MALLOC) | |
2575 if test "$after_morecore_hook_exists" = "no" ; then | |
2576 GNU_MALLOC_reason=" | |
2577 - Using Doug Lea's new malloc from the Linux C Library." | |
2578 AC_DEFINE(_NO_MALLOC_WARNING_) | |
2579 fi | |
2580 fi | |
2581 | |
2582 dnl #### mcheck is broken in all versions of Linux libc and glibc. | |
2583 dnl Try this again when 2.1 hits the streets. | |
2584 dnl Avoid using free-hook.c if support exists for malloc debugging in libc | |
2585 dnl have_libmcheck=no | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
2586 dnl if test "$with_error_checking_malloc" = "yes" -a \ |
2651 | 2587 dnl "$have_glibc" = "yes" -a \ |
2588 dnl "$doug_lea_malloc" = "yes"; then | |
2589 dnl AC_CHECK_HEADERS(mcheck.h) | |
2590 dnl AC_CHECK_LIB(mcheck, mcheck, have_libmcheck=yes, have_libmcheck=no) | |
2591 dnl fi | |
2592 | |
2593 dnl if test "$have_libmcheck" = "yes"; then | |
2594 dnl AC_DEFINE(HAVE_LIBMCHECK) | |
2595 dnl libmcheck=-lmcheck | |
2596 dnl AC_SUBST(libmcheck) | |
2597 dnl fi | |
2598 | |
2599 dnl Some other nice autoconf tests. If you add a test here which | |
2600 dnl should make an entry in src/config.h, do not forget to add an | |
2601 dnl #undef clause to src/config.h.in for autoconf to modify. | |
2602 | |
3862 | 2603 dnl Sun likes to hide these utilities. Steve Baur asked that we make |
2604 dnl the failure occur at configure time, not at use time. | |
2605 AC_CHECK_PROG(AR,ar,ar,not_found) | |
2606 if test "$AR" = "not_found"; then | |
2607 XE_DIE(["ar not found -- is PATH set correctly?"]) | |
2608 fi | |
2609 dnl These tests don't necessarily check that the program exists. | |
2651 | 2610 AC_PROG_RANLIB |
2611 AC_PROG_INSTALL | |
2612 AC_PROG_YACC | |
2613 | |
2614 dnl checks for header files | |
2615 AC_CHECK_HEADERS(dnl | |
2616 a.out.h dnl | |
2617 elf.h dnl | |
2618 cygwin/version.h dnl | |
2619 fcntl.h dnl | |
2620 libgen.h dnl | |
2621 locale.h dnl | |
2622 wchar.h dnl | |
2623 mach/mach.h dnl | |
2624 sys/param.h dnl | |
2625 sys/pstat.h dnl | |
2626 sys/resource.h dnl | |
2627 sys/time.h dnl | |
2628 sys/timeb.h dnl | |
2629 sys/times.h dnl | |
2630 sys/un.h dnl | |
2631 sys/vlimit.h dnl | |
2632 ulimit.h dnl | |
2633 ) | |
2634 AC_HEADER_SYS_WAIT | |
2635 AC_HEADER_STDC | |
2636 AC_HEADER_TIME | |
2637 AC_CHECK_DECLS([sys_siglist],,, | |
2638 [#include <signal.h> | |
2639 /* NetBSD declares sys_siglist in unistd.h. */ | |
2640 #if HAVE_UNISTD_H | |
2641 # include <unistd.h> | |
2642 #endif | |
667 | 2643 ]) |
2651 | 2644 |
2645 | |
2646 dnl ---------------------------------------------------------------- | |
2647 dnl Checking for utime() or utimes(). | |
2648 dnl We prefer utime, since it is more standard. | |
2649 dnl Some systems have utime.h but do not declare the struct anyplace, | |
2650 dnl so we use a more sophisticated test for utime than AC_CHECK_FUNCS. | |
2651 dnl ---------------------------------------------------------------- | |
2652 AC_MSG_CHECKING(for utime) | |
3312 | 2653 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h> |
2651 | 2654 #include <utime.h>], |
3312 | 2655 [struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x);])], |
2651 | 2656 [AC_MSG_RESULT(yes) |
2657 AC_DEFINE(HAVE_UTIME)], | |
2658 [AC_MSG_RESULT(no) | |
2659 dnl We don't have utime(); how about utimes()? | |
2660 AC_CHECK_FUNCS(utimes)]) | |
2661 | |
2662 | |
2663 dnl checks for typedefs | |
2664 AC_TYPE_SIGNAL | |
2665 AC_TYPE_SIZE_T | |
2666 AC_TYPE_PID_T | |
2667 AC_TYPE_UID_T | |
2668 AC_TYPE_MODE_T | |
2669 AC_TYPE_OFF_T | |
3862 | 2670 dnl #### Translated from deprecated 2.13-ism. |
2671 dnl We probably want to DTRT with #ifdef HAVE_SSIZE_T in src/config.h.in. | |
2672 dnl Specifically, we should typedef st sizeof(ssize_t) == sizeof(size_t). | |
2673 AC_CHECK_TYPE([ssize_t],, | |
2674 [AC_DEFINE_UNQUOTED([ssize_t], [int], | |
2675 [Define to `int' if | |
2676 <sys/types.h> does not define.])]) | |
2651 | 2677 |
2678 dnl not AC_CHECK_TYPE; lisp.h does hairy conditional typedef | |
2679 if test "$ac_cv_header_inttypes_h" != "yes"; then | |
2680 AC_MSG_CHECKING(for intptr_t in sys/types.h) | |
3312 | 2681 AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <sys/types.h> |
2651 | 2682 intptr_t x; |
3312 | 2683 ])],[AC_MSG_RESULT(yes) |
2651 | 2684 AC_DEFINE(HAVE_INTPTR_T_IN_SYS_TYPES_H,1)], |
2685 [AC_MSG_RESULT(no)]) | |
2686 fi | |
2687 | |
2688 dnl check for Unix98 socklen_t | |
2689 AC_MSG_CHECKING(for socklen_t) | |
3312 | 2690 AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <sys/types.h> |
2651 | 2691 #include <sys/socket.h> |
2692 socklen_t x; | |
3312 | 2693 ])],[AC_MSG_RESULT(yes)],[ |
2694 AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include <sys/types.h> | |
2651 | 2695 #include <sys/socket.h> |
2696 int accept (int, struct sockaddr *, size_t *); | |
3312 | 2697 ])],[ |
2651 | 2698 AC_MSG_RESULT(size_t) |
2699 AC_DEFINE(socklen_t,size_t)], [ | |
2700 AC_MSG_RESULT(int) | |
2701 AC_DEFINE(socklen_t,int)])]) | |
2702 | |
2703 AC_MSG_CHECKING(for struct timeval) | |
3312 | 2704 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#ifdef TIME_WITH_SYS_TIME |
2651 | 2705 #include <sys/time.h> |
2706 #include <time.h> | |
2707 #else | |
2708 #ifdef HAVE_SYS_TIME_H | |
2709 #include <sys/time.h> | |
2710 #else | |
2711 #include <time.h> | |
2712 #endif | |
3312 | 2713 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;])], |
2651 | 2714 [AC_MSG_RESULT(yes) |
2715 HAVE_TIMEVAL=yes | |
2716 AC_DEFINE(HAVE_TIMEVAL)], | |
2717 [AC_MSG_RESULT(no) | |
2718 HAVE_TIMEVAL=no]) | |
2719 | |
2720 dnl checks for structure members | |
2721 AC_STRUCT_TM | |
2722 AC_STRUCT_TIMEZONE | |
2723 | |
2724 dnl checks for compiler characteristics | |
2725 AC_C_CONST | |
2726 | |
2727 dnl check for Make feature | |
2728 AC_PROG_MAKE_SET | |
2729 | |
2730 dnl check byte order | |
2731 AC_C_BIGENDIAN | |
2732 | |
2733 dnl define SIZEOF_TYPE | |
2734 AC_CHECK_SIZEOF(short) | |
2735 if test "$ac_cv_sizeof_short" = 0; then | |
2736 echo "" | |
2737 echo "*** PANIC *** Configure tests are not working - compiler is broken." | |
2738 echo "*** PANIC *** Please examine config.log for compilation errors." | |
2739 exit 1 | |
2740 fi | |
2741 AC_CHECK_SIZEOF(int) | |
2742 AC_CHECK_SIZEOF(long) | |
2743 AC_CHECK_SIZEOF(long long) | |
2744 AC_CHECK_SIZEOF(void *) | |
2745 AC_CHECK_SIZEOF(double) | |
2746 | |
2747 dnl check for long file names | |
2748 AC_SYS_LONG_FILE_NAMES | |
2749 | |
2750 dnl -lm is required for floating point support, among other things | |
2751 AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin)) | |
2752 | |
3312 | 2753 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <math.h>], |
2754 [return atanh(1.0) + asinh(1.0) + acosh(1.0); ])], | |
2651 | 2755 AC_DEFINE(HAVE_INVERSE_HYPERBOLIC)) |
2756 | |
2757 dnl See if mkstemp is available | |
2758 AC_CHECK_FUNCS(mkstemp) | |
2759 | |
2760 dnl Determine type of mail locking from configure args and s&m headers | |
3312 | 2761 AC_MSG_CHECKING([type of mail spool file locking]) |
2762 AC_MSG_RESULT() | |
2651 | 2763 AC_CHECK_FUNCS(lockf flock) |
2764 dnl The mail_use_xxx variables are set according to the s&m headers. | |
2765 test -z "$with_mail_locking" -a "$mail_use_flock" = "yes" && with_mail_locking=flock | |
2766 test -z "$with_mail_locking" -a "$mail_use_lockf" = "yes" && with_mail_locking=lockf | |
2767 test -z "$with_mail_locking" -a "$mail_use_locking" = "yes" && with_mail_locking=locking | |
2768 if test -z "$with_mail_locking"; then | |
2769 case "$opsys" in cygwin* | mingw*) | |
2770 with_mail_locking=pop ;; | |
2771 esac | |
2772 fi | |
2773 | |
2774 if test "$with_mail_locking" = "lockf"; then AC_DEFINE(MAIL_LOCK_LOCKF) | |
2775 elif test "$with_mail_locking" = "flock"; then AC_DEFINE(MAIL_LOCK_FLOCK) | |
2776 elif test "$with_mail_locking" = "locking"; then AC_DEFINE(MAIL_LOCK_LOCKING) | |
2777 elif test "$with_mail_locking" = "pop"; then | |
2778 with_pop=yes | |
2779 with_mail_locking= | |
2780 elif test "$with_mail_locking" = "mmdf"; then AC_DEFINE(MAIL_LOCK_MMDF) | |
2781 else with_mail_locking="file"; AC_DEFINE(MAIL_LOCK_DOT) | |
2782 fi | |
2783 test "$with_mail_locking" = "lockf" -a "$ac_cv_func_lockf" != "yes" && \ | |
2784 XE_DIE("lockf mail locking requested but not available.") | |
2785 test "$with_mail_locking" = "flock" -a "$ac_cv_func_flock" != "yes" && \ | |
2786 XE_DIE("flock mail locking requested but not available.") | |
2787 test "$with_mail_locking" = "locking" -a "$ac_cv_func_locking" != "yes" && \ | |
2788 XE_DIE("locking mail locking requested but not available.") | |
2789 | |
2790 dnl ---------------------------------------------------------------- | |
2791 dnl Miscellaneous flags | |
2792 dnl ---------------------------------------------------------------- | |
2793 | |
2794 AC_MSG_CHECKING(whether the -xildoff compiler flag is required) | |
2795 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then | |
2796 if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; | |
2797 then AC_MSG_RESULT(no); | |
2798 else AC_MSG_RESULT(yes); XE_APPEND(-xildoff, ld_switch_site) | |
2799 fi | |
2800 else AC_MSG_RESULT(no) | |
2801 fi | |
2802 | |
2803 dnl Link with "-z ignore" on Solaris if supported | |
2804 if test "$opsys" = "sol2"; then | |
2805 if test "$os_release" -ge 506; then | |
3312 | 2806 AC_MSG_CHECKING([for "-z ignore" linker flag]) |
2651 | 2807 case "`ld -h 2>&1`" in |
2808 *-z\ ignore\|record* ) AC_MSG_RESULT(yes) | |
2809 XE_PREPEND(-z ignore, ld_switch_site) ;; | |
2810 *) AC_MSG_RESULT(no) ;; | |
2811 esac | |
2812 fi | |
2813 fi | |
2814 | |
2815 dnl ---------------------- | |
2816 dnl Choose a window system | |
2817 dnl ---------------------- | |
2818 | |
3312 | 2819 AC_MSG_CHECKING([for specified window system]) |
2820 AC_MSG_RESULT() | |
2651 | 2821 |
2822 dnl Autodetection of Gdk libraries and includes | |
2823 dnl ------------------------------------------- | |
2824 dnl On some systems (FreeBSD springs to mind), they use | |
2825 dnl versions on the utility routines, so instead of gtk-config | |
2826 dnl you must use gtk12-config, etc, etc. | |
2827 | |
2828 GNOME_CONFIG=no | |
2829 GTK_CONFIG=no | |
2830 | |
2831 if test "$with_gnome" != "no"; then | |
2832 AC_MSG_CHECKING(for GNOME configuration script) | |
2833 for possible in gnome-config | |
2834 do | |
2835 possible_version=`${possible} --version 2> /dev/null` | |
2836 if test "x${possible_version}" != "x"; then | |
2837 GNOME_CONFIG="${possible}" | |
2838 with_gnome=yes | |
2839 with_gtk=yes | |
2840 break | |
2841 fi | |
2842 done | |
2843 AC_MSG_RESULT([${GNOME_CONFIG}]) | |
2844 fi | |
2845 | |
2846 if test "${GNOME_CONFIG}" != "no"; then | |
2847 GNOME_LIBS=`${GNOME_CONFIG} --libs gnomeui` | |
2848 GNOME_CFLAGS=`${GNOME_CONFIG} --cflags gnomeui` | |
2849 AC_DEFINE(HAVE_GNOME) | |
2850 XE_APPEND(${GNOME_LIBS}, libs_gtk) | |
2851 XE_APPEND(${GNOME_CFLAGS}, c_switch_gtk) | |
2852 fi | |
2853 | |
2854 if test "$with_gtk" != "no";then | |
2855 AC_MSG_CHECKING(for GTK configuration script) | |
2856 for possible in gtk12-config gtk14-config gtk-config | |
2857 do | |
2858 possible_version=`${possible} --version 2> /dev/null` | |
2859 if test "x${possible_version}" != "x"; then | |
2860 GTK_CONFIG="${possible}" | |
2861 case "${possible_version}" in | |
2862 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;; | |
2863 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;; | |
2864 1.2.*) | |
2865 with_gtk=yes | |
2866 break | |
2867 ;; | |
2868 *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);; | |
2869 esac | |
2870 fi | |
2871 done | |
2872 AC_MSG_RESULT([${GTK_CONFIG}]) | |
2873 fi | |
2874 | |
2875 if test "${GTK_CONFIG}" != "no"; then | |
2876 AC_MSG_CHECKING(gtk version) | |
2877 GTK_VERSION=`${GTK_CONFIG} --version` | |
2878 AC_MSG_RESULT(${GTK_VERSION}) | |
2879 | |
2880 AC_MSG_CHECKING(gtk libs) | |
2881 GTK_LIBS=`${GTK_CONFIG} --libs` | |
2882 XE_APPEND(${GTK_LIBS}, libs_gtk) | |
2883 AC_MSG_RESULT(${GTK_LIBS}) | |
2884 | |
2885 AC_MSG_CHECKING(gtk cflags) | |
2886 GTK_CFLAGS=`${GTK_CONFIG} --cflags` | |
2887 if test "$GCC" = "yes"; then | |
2888 GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow" | |
2889 fi | |
2890 XE_APPEND(${GTK_CFLAGS}, c_switch_gtk) | |
2891 AC_MSG_RESULT(${GTK_CFLAGS}) | |
2892 | |
2893 AC_CHECK_LIB(gdk_imlib, main, XE_PREPEND(-lgdk_imlib, libs_gtk)) | |
2894 AC_CHECK_LIB(Imlib, Imlib_init, XE_APPEND(-lImlib, libs_gtk)) | |
2895 AC_CHECK_FUNCS(gdk_imlib_init) | |
2896 | |
2897 AC_DEFINE(HAVE_XPM) | |
2898 AC_DEFINE(HAVE_GTK) | |
2899 AC_SUBST(GTK_CONFIG) | |
2900 | |
2901 window_system=gtk | |
2902 with_gtk=yes | |
2903 if test "$with_x11" != "no"; then | |
2904 AC_MSG_WARN([Configuring GTK, forcing with_x11 to no]) | |
2905 with_x11=no | |
2906 fi | |
2907 | |
2908 for feature in scrollbars toolbars menubars dialogs widgets | |
2909 do | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
2910 eval "feature_value=\${with_${feature}}" |
2651 | 2911 case "${feature_value}" in |
2912 yes|no|gtk|"" ) | |
2913 ;; | |
2914 * ) | |
2915 feature_conflict_with_gtk=yes | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
2916 AC_MSG_WARN([--with-${feature}=${feature_value} is incompatible with --with-gtk]) ;; |
2651 | 2917 esac |
2918 done | |
2919 if test "${feature_conflict_with_gtk}" = "yes"; then | |
2920 XE_DIE(["One or more GUI toolkit features conflict with GTK"]) | |
2921 fi | |
2922 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
2923 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
|
2924 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
|
2925 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
|
2926 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
|
2927 test "${with_widgets}" != "no" && with_widgets=gtk |
2651 | 2928 |
2929 dnl Check for libglade support (it rocks) | |
2930 OLD_CFLAGS="${CFLAGS}" | |
2931 OLD_CPPFLAGS="${CPPFLAGS}" | |
2932 OLD_LDFLAGS="${LDFLAGS}" | |
2933 CFLAGS="${GTK_CFLAGS} ${CFLAGS}" | |
2934 CPPFLAGS="${GTK_CFLAGS} ${CFLAGS}" | |
2935 LDFLAGS="${LDFLAGS} ${GTK_LIBS}" | |
2936 AC_CHECK_HEADERS(glade/glade.h glade.h) | |
2937 AC_CHECK_LIB(xml, main, XE_PREPEND(-lxml, libs_gtk)) | |
2938 AC_CHECK_LIB(glade, main, XE_PREPEND(-lglade, libs_gtk)) | |
2939 AC_CHECK_LIB(glade-gnome, main, XE_PREPEND(-lglade-gnome, libs_gtk)) | |
2940 AC_EGREP_HEADER([char \*txtdomain;], [glade/glade-xml.h], | |
2941 [AC_MSG_RESULT(yes) | |
2942 AC_DEFINE(LIBGLADE_XML_TXTDOMAIN,1)], | |
2943 [AC_MSG_RESULT(no)]) | |
2944 CFLAGS="${OLD_CFLAGS}" | |
2945 CPPFLAGS="${OLD_CPPFLAGS}" | |
2946 LDFLAGS="${OLD_LDFLAGS}" | |
2947 fi | |
2948 | |
2949 dnl We may eventually prefer gtk/gdk over vanilla X11... | |
2950 | |
2951 if test "$with_x11" != "no"; then | |
2952 dnl User-specified --x-includes or --x-libraries implies --with-x11. | |
2953 test "$x_includes $x_libraries" != "NONE NONE" && \ | |
2954 window_system=x11 with_x11=yes | |
2955 | |
2956 dnl Autodetection of X11 libraries and includes | |
2957 dnl ------------------------------------------- | |
2958 dnl AC_PATH_XTRA thinks it can find our X headers and includes, but | |
2959 dnl it often gets it wrong, so we only use it as a last resort. | |
2960 | |
2961 dnl $OPENWINHOME implies --x-includes and --x-libraries | |
2962 dnl Not (yet) handled by autoconf2 | |
2963 if test "$x_includes $x_libraries" = "NONE NONE" \ | |
2964 -a -n "$OPENWINHOME" \ | |
2965 -a "$OPENWINHOME" != "/usr/openwin" \ | |
2966 -a -d "$OPENWINHOME"; then | |
2967 test -d "$OPENWINHOME/lib" && x_libraries="$OPENWINHOME/lib" | |
2968 test -d "$OPENWINHOME/include" && x_includes="$OPENWINHOME/include" | |
2969 test -d "$OPENWINHOME/share/include" && x_includes="$OPENWINHOME/share/include" | |
2970 fi | |
2971 | |
2972 if test "$x_includes" = "NONE"; then | |
2973 dnl AC_PATH_XTRA often guesses /usr/include, when some other | |
2974 dnl include directory is a MUCH better guess (Linux, HP-UX 10.20). | |
2975 dnl This is a workaround for idiot (esp. HP) system vendors, who | |
2976 dnl provide a /usr/include/X11, but DON'T FULLY POPULATE IT. | |
2977 for dir in "/usr/X11" "/usr/X11R6"; do | |
2978 if test -d "$dir/include/X11"; then x_includes="$dir/include"; break; fi | |
2979 done | |
2980 fi | |
2981 | |
2982 if test "$x_libraries" = "NONE"; then | |
2983 for dir in "/usr/X11/lib" "/usr/X11R6/lib" "/usr/lib/X11R6"; do | |
2984 if test -r "$dir/libX11.a"; then x_libraries="$dir"; break; fi | |
2985 done | |
2986 fi | |
2987 | |
2988 AC_PATH_XTRA # Autoconf claims to find X library and include dirs for us. | |
2989 if test "$no_x" = "yes" | |
2990 then with_x11=no window_system=none HAVE_X_WINDOWS=no | |
2991 else with_x11=yes window_system=x11 HAVE_X_WINDOWS=yes | |
2992 fi | |
2993 fi | |
2994 | |
2995 dnl #### wmperry:: !x11 != NONE | |
2996 dnl case "$with_x11" in | |
2997 dnl yes ) window_system=x11 HAVE_X_WINDOWS=yes ;; | |
2998 dnl no ) window_system=none HAVE_X_WINDOWS=no ;; | |
2999 dnl esac | |
3000 | |
3001 if test "$with_x11" = "yes"; then | |
3002 AC_DEFINE(HAVE_X_WINDOWS) | |
3003 XE_APPEND(lwlib, MAKE_SUBDIR) | |
3004 XE_APPEND(lwlib, SRC_SUBDIR_DEPS) | |
3005 | |
3006 dnl Look for Motif, but only if not found in $x_includes and $x_libraries | |
3007 AC_CHECK_HEADER(Xm/Xm.h, [AC_CHECK_LIB(Xm, XmStringFree, got_motif=yes)]) | |
3008 | |
3009 if test "$got_motif" != "yes"; then | |
3010 dnl Try to find Motif/CDE/Tooltalk dirs | |
3011 dnl These take precedence over other X libs/includes, so PRE-pend | |
3012 for lib_dir in "/usr/dt/lib" "/usr/lib/Motif2.1" \ | |
3013 "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do | |
3014 inc_dir=`echo $lib_dir | sed -e 's/lib/include/'` | |
3015 if test -d "$lib_dir" -a -d "$inc_dir"; then | |
3016 case "$x_libraries" in *"$lib_dir"* ) ;; *) | |
3017 x_libraries="$lib_dir $x_libraries" | |
3018 XE_PREPEND(-L${lib_dir}, X_LIBS) ;; | |
3019 esac | |
3020 case "$x_includes" in "$inc_dir"* ) ;; *) | |
3021 x_includes="$inc_dir $x_includes" | |
3022 XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;; | |
3023 esac | |
3024 break; dnl only need ONE Motif implementation! | |
3025 fi | |
3026 done | |
3027 fi | |
3028 | |
3029 dnl Contrib X libs/includes do NOT take precedence, so AP-pend | |
3030 for rel in "X11R6" "X11R5" "X11R4"; do | |
3031 lib_dir="/usr/contrib/$rel/lib" inc_dir="/usr/contrib/$rel/include" | |
3032 if test -d "$lib_dir" -a -d "$inc_dir"; then | |
3033 case "$x_libraries" in *"$lib_dir"* ) ;; *) | |
3034 x_libraries="$x_libraries $lib_dir" | |
3035 XE_APPEND(-L${lib_dir}, X_LIBS) | |
3036 esac | |
3037 case "$x_includes" in "$inc_dir"* ) ;; *) | |
3038 x_includes="$x_includes $inc_dir" | |
3039 XE_APPEND(-I${inc_dir}, X_CFLAGS) | |
3040 esac | |
3041 break; dnl Only need ONE X11 implementation ! | |
3042 fi | |
3043 done | |
3044 | |
3045 ld_switch_x_site="$X_LIBS" | |
3046 | |
3047 XE_COMPUTE_RUNPATH() | |
3048 | |
3049 if test "$verbose" = "yes"; then | |
3050 echo; echo "X11 compilation variables:" | |
3051 PRINT_VAR(x_libraries x_includes X_CFLAGS X_LIBS X_PRE_LIBS X_EXTRA_LIBS) | |
3052 echo | |
3053 fi | |
3054 | |
3055 dnl Set up bitmaps search path. | |
3056 dnl The original suggestion was to unconditionally to append X11/bitmaps | |
3057 dnl to each element of $x_includes, I'm pretty sure this is the wrong | |
3058 dnl thing to do. We test for bitmaps and X11/bitmaps directories on each | |
3059 dnl element and add them to BITMAPDIR if they exist. | |
3060 bitmapdirs= | |
3061 if test "$x_includes" != NONE; then | |
3062 for i in $x_includes; do | |
3063 if test -d "$i/bitmaps"; then | |
3064 bitmapdirs="$i/bitmaps:$bitmapdirs" | |
3065 fi | |
3066 if test -d "$i/X11/bitmaps"; then | |
3067 bitmapdirs="$i/X11/bitmaps:$bitmapdirs" | |
3068 fi | |
3069 done | |
3070 bitmapdirs=`echo "$bitmapdirs" | sed s/.$//` | |
3071 fi | |
3072 test ! -z "$bitmapdirs" && AC_DEFINE_UNQUOTED(BITMAPDIR, "$bitmapdirs") | |
3073 | |
3074 dnl Autodetect defines extracted from X config by xmkmf, e.g. NARROWPROTO | |
3312 | 3075 AC_MSG_CHECKING([for X defines extracted by xmkmf]) |
3076 AC_MSG_RESULT() | |
2651 | 3077 rm -fr conftestdir |
3078 if mkdir conftestdir; then | |
3079 cd conftestdir | |
3080 cat > Imakefile <<'EOF' | |
3081 xetest: | |
3082 @echo ${PROTO_DEFINES} ${STD_DEFINES} | |
3083 EOF | |
3084 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then | |
3085 # GNU make sometimes prints "make[1]: Entering...", which would confuse us. | |
3086 xmkmf_defines=`${MAKE-make} xetest 2>/dev/null | grep -v make` | |
3087 fi | |
3088 cd .. | |
3089 rm -fr conftestdir | |
3090 for word in $xmkmf_defines; do | |
3091 case "$word" in | |
3092 -D__STDC__*) ;; | |
3093 -D* ) | |
3094 sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'` | |
3095 case "$word" in | |
3096 -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;; | |
3097 * ) val=1 ;; | |
3098 esac | |
3099 dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above. | |
3100 if grep "^#define $sym " confdefs.h >/dev/null; then :; else | |
3101 if test "$val" = "1" | |
3102 then AC_DEFINE_UNQUOTED($sym) | |
3103 else AC_DEFINE_UNQUOTED($sym,$val) | |
3104 fi | |
3105 fi ;; | |
3106 esac | |
3107 done | |
3108 fi | |
3109 | |
3110 dnl make sure we can find Intrinsic.h | |
3111 AC_CHECK_HEADER(X11/Intrinsic.h, , | |
3112 [AC_MSG_ERROR([Unable to find X11 header files.])]) | |
3113 | |
3114 dnl -lXt and -lX11 are required | |
3115 dnl Some broken systems require the magic "-b i486-linuxaout" flag | |
3116 AC_CHECK_LIB(X11, XOpenDisplay, have_lib_x11=yes) | |
3117 if test "$have_lib_x11" != "yes"; then | |
3118 AC_CHECK_LIB(X11, XGetFontProperty, | |
3119 ld_switch_x_site="-b i486-linuxaout $ld_switch_x_site", | |
3120 [AC_MSG_ERROR([Unable to find X11 libraries.])], | |
3121 -b i486-linuxaout) | |
3122 fi | |
3123 libs_x="-lX11" | |
3124 test "$verbose" = "yes" && echo " Setting libs_x to \"-lX11\"" | |
3125 | |
3126 dnl Autodetect -lXext | |
3127 AC_CHECK_LIB(Xext, XShapeSelectInput, XE_PREPEND(-lXext, libs_x)) | |
3128 | |
3129 dnl Require -lXt | |
3130 AC_CHECK_LIB(Xt, XtOpenDisplay, XE_PREPEND(-lXt, libs_x), | |
3131 AC_MSG_ERROR([Unable to find X11 libraries.])) | |
3132 | |
3133 AC_MSG_CHECKING(the version of X11 being used) | |
3134 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
|
3135 int main(int c, char **v) { return c>1 ? XlibSpecificationRelease : 0; }])], |
2651 | 3136 [./conftest foobar; x11_release=$?],[x11_release=4],[x11_release=4]) |
3137 AC_MSG_RESULT(R${x11_release}) | |
3138 AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release}) | |
3139 | |
3140 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
|
3141 case "$with_widgets" in |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3142 "" | "no") with_widgets=no ;; |
2651 | 3143 *) XE_DIE("Widget support requires X11R5 or greater") ;; |
3144 esac | |
3145 fi | |
3146 | |
3147 AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable) | |
3148 | |
3149 AC_CHECK_HEADERS(X11/Xlocale.h X11/Xfuncproto.h) | |
3150 | |
3151 dnl XFree86 has a non-standard prototype for this X11R6 function | |
3152 AC_CHECK_FUNCS(XRegisterIMInstantiateCallback) | |
3153 AC_MSG_CHECKING(for standard XRegisterIMInstantiateCallback prototype) | |
3312 | 3154 AC_COMPILE_IFELSE([AC_LANG_SOURCE([ |
2651 | 3155 #define NeedFunctionPrototypes 1 |
3156 #include <X11/Xlib.h> | |
3157 extern Bool XRegisterIMInstantiateCallback( | |
3158 Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*); | |
3312 | 3159 ])], |
2651 | 3160 [AC_MSG_RESULT(yes)], |
3161 [AC_MSG_RESULT(no) | |
3162 AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)]) | |
3163 | |
3164 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
|
3165 AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile, with_xmu=yes, with_xmu=no) |
2651 | 3166 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
|
3167 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
|
3168 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
|
3169 this to xemacs-beta@xemacs.org. As a workaround, revert to XEmacs 21.5.29.]) |
2651 | 3170 else |
3171 XE_PREPEND(-lXmu, libs_x) | |
3172 fi | |
3173 | |
3174 dnl Autodetect -lXbsd | |
3175 dnl #### Someone, please add a better function than main | |
3176 AC_CHECK_LIB(Xbsd, main, XE_PREPEND(-lXbsd, libs_x)) | |
3177 | |
3178 dnl Problem with the MIT distribution of X on AIX | |
3179 if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then | |
3180 dnl X11R6 requires thread-safe code on AIX for some reason | |
3181 if test "$GCC" = "yes"; then | |
3182 XE_PREPEND(-mthreads, X_CFLAGS) | |
3183 XE_PREPEND(-mthreads, libs_x) | |
3184 else | |
3185 case "$CC" in | |
3186 "xlc" ) CC="xlc_r" ;; | |
3187 "xlC" ) CC="xlC_r" ;; | |
3188 "cc" ) CC="cc_r" ;; | |
3189 esac | |
3190 fi | |
3191 fi | |
3192 | |
3094 | 3193 dnl include xft/AA support? |
3194 dnl #### need to check for includes here (especially, freetype.h for v.2) | |
3195 | |
3196 if test "$with_xft_emacs" = "yes"; then | |
3312 | 3197 AC_MSG_CHECKING([for Xrender, fontconfig, and Xft]) |
3094 | 3198 xft_includes_found=no |
4152 | 3199 dnl try pkg-config |
3200 xft_config_prog="pkg-config xft" | |
3201 xft_config_ok=`$xft_config_prog --cflags 2>/dev/null` | |
3202 if test "$?" = 0 ; then | |
3203 xft_cflags=`$xft_config_prog --cflags` | |
3204 xft_libs=`$xft_config_prog --libs` | |
3205 c_switch_site="$c_switch_site $xft_cflags" | |
3206 ld_switch_site="$ld_switch_site $xft_libs" | |
3207 xft_includes_found=yes | |
3208 else | |
3209 AC_CHECK_HEADERS([freetype/config/ftheader.h], | |
3210 [xft_includes_found=yes], | |
3211 [ | |
3212 dnl #### How about /sw/include, and /opt/local/include? | |
3213 dnl these directories need to be the parent of the freetype directory | |
3214 for freetype_include_top in "/usr/local/include/freetype2" \ | |
3215 "/usr/X11R6/include/freetype2" \ | |
3216 "/usr/include/freetype2" | |
3217 do | |
3218 if test -d $freetype_include_top; then | |
3219 AC_MSG_CHECKING([in ${freetype_include_top}]) | |
3220 dnl disable autoconf's fucking cache; why these fuckheads think it | |
3221 dnl is better to be broken than to be slow, I don't know! | |
3222 dnl #### there's gotta be a better-looking way to do this!! | |
3223 unset "$as_ac_Header" | |
3224 save_c_switch_site="$c_switch_site" | |
3225 c_switch_site="$c_switch_site -I${freetype_include_top}" | |
3226 AC_CHECK_HEADERS([freetype/config/ftheader.h], | |
3227 [xft_includes_found=yes], | |
3228 [c_switch_site=$save_c_switch_site]) | |
3229 fi | |
3230 done]) | |
3231 fi | |
3158 | 3232 if test "$xft_includes_found" != "yes"; then |
3233 XE_DIE(["Unable to find headers for --with-xft"]) | |
3234 else | |
3235 AC_CHECK_LIB(Xrender, XRenderQueryExtension, XE_PREPEND(-lXrender, libs_x), | |
3236 [XE_DIE(["Unable to find libXrender for --with-xft"])]) | |
3237 AC_CHECK_LIB(fontconfig, FcPatternCreate, XE_PREPEND(-lfontconfig, libs_x), | |
3238 [XE_DIE(["Unable to find libfontconfig for --with-xft"])]) | |
3239 AC_CHECK_LIB(Xft, XftFontOpen, XE_PREPEND(-lXft, libs_x), | |
3240 [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
|
3241 |
dfd878799ef0
Autoconfiscate the recent fontconfig spelling change.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4152
diff
changeset
|
3242 AC_CHECK_FUNCS(FcConfigGetRescanInterval) |
dfd878799ef0
Autoconfiscate the recent fontconfig spelling change.
Aidan Kehoe <kehoea@parhasard.net>
parents:
4152
diff
changeset
|
3243 AC_CHECK_FUNCS(FcConfigSetRescanInterval) |
3354 | 3244 dnl #### detect fontconfig properly!!!! |
3245 with_fontconfig=yes | |
3246 AC_DEFINE(HAVE_FONTCONFIG) | |
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
4848
diff
changeset
|
3247 AC_DEFINE(HAVE_XFT) |
3158 | 3248 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
|
3249 dnl of HAVE_XFT_MENUBARS, HAVE_XFT_TABS, and HAVE_XFT_GAUGES. |
3158 | 3250 unset xft_includes_found |
3251 fi | |
3094 | 3252 fi |
3253 | |
2651 | 3254 fi dnl $with_x11 = yes |
3255 | |
3256 if test "$with_msw" != "no"; then | |
3312 | 3257 AC_MSG_CHECKING([for MS-Windows]) |
3258 AC_MSG_RESULT() | |
2651 | 3259 AC_CHECK_LIB(gdi32,main,with_msw=yes) |
3260 if test "$with_msw" = "yes"; then | |
3261 AC_DEFINE(HAVE_MS_WINDOWS) | |
3262 | |
3263 dnl The net installer only works with MS-Windows currently | |
3264 if test "$with_netinstall" = "yes"; then | |
3265 XE_APPEND(netinstall, MAKE_SUBDIR) | |
3266 XE_APPEND(netinstall, SRC_SUBDIR_DEPS) | |
3267 XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR) | |
3268 fi | |
3269 | |
3270 install_pp="$srcdir/lib-src/installexe.sh" | |
3271 XE_APPEND(-limm32 -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr, libs_system) | |
3272 if test "$with_dragndrop" != no; then | |
3273 XE_APPEND(msw, dragndrop_proto) | |
3274 with_dragndrop=yes | |
3275 fi | |
3276 if test "$window_system" != x11; then | |
3277 window_system=msw | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3278 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
|
3279 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
|
3280 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
|
3281 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
|
3282 test "$with_widgets" != "no" && with_widgets=msw |
2651 | 3283 fi |
3284 dnl check for our special version of select | |
3285 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <fcntl.h> | |
3286 int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }])], | |
3287 [AC_DEFINE(HAVE_MSG_SELECT)]) | |
3288 fi | |
3289 fi | |
3290 | |
3291 AC_SUBST(install_pp) | |
3292 | |
3293 test -z "$with_dragndrop" && with_dragndrop="$with_dragndrop_default" | |
3294 test -z "$window_system" && window_system="none" | |
3295 | |
3296 dnl Test for features that require a window system - ANY window system | |
3297 if test "$window_system" = "none"; then | |
3298 for feature in menubars scrollbars toolbars dialogs dragndrop xface | |
3299 do | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3300 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
|
3301 AC_MSG_WARN([--with-$feature ignored: Not valid without window system support]) |
2651 | 3302 fi |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3303 eval "with_${feature}=no" |
2651 | 3304 done |
3305 else | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3306 test -z "$with_toolbars" && with_toolbars=yes |
2651 | 3307 fi |
3308 | |
3309 dnl ### Test for features that require mswindows support - currently none | |
3310 dnl ### MS-Windows folks: add code here..... (martin) | |
3311 if test "$with_msw" != "yes"; then | |
3312 for feature in MARTIN_IS_CLUELESS_ABOUT_MSW_FEATURES | |
3313 do | |
3314 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then | |
3315 AC_MSG_WARN([--with-$feature ignored: Not valid without MS-Windows support]) | |
3316 fi | |
3317 eval "with_${feature}=no" | |
3318 done | |
3319 else | |
3320 : | |
3321 fi | |
3322 | |
3323 dnl Test for features that require X11 support | |
3324 if test "$with_x11" != "yes"; then | |
3325 dnl It ought to be reasonable to have no output device at all, and only use | |
3326 dnl XEmacs in --batch mode. | |
3327 dnl if test "$with_tty" = "no" ; then | |
3328 dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.]) | |
3329 dnl fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3330 for feature in with_tooltalk with_cde with_wmcommand with_xim with_sound_nas |
2651 | 3331 do |
3332 if eval "test -n \"\$${feature}\" -a \"\$${feature}\" != \"no\"" ; then | |
3333 AC_MSG_WARN([--$feature ignored: Not valid without X support]) | |
3334 fi | |
3335 eval "${feature}=no" | |
3336 done | |
3337 fi | |
3338 | |
3339 dnl Balloon Help requires the Shape extension, not available everywhere, | |
3340 dnl for example not on AIX 4.3. | |
3341 if test "$with_x11" = "yes"; then | |
3342 AC_CHECK_HEADER(X11/extensions/shape.h, [ | |
3343 AC_DEFINE(HAVE_BALLOON_HELP) | |
2741 | 3344 ],[], |
3345 [ | |
3346 #include <X11/Xlib.h> | |
3347 #include <X11/Xutil.h> | |
3348 ]) | |
2651 | 3349 fi |
3350 | |
3351 dnl FSF 19.29 has some bitmapdir stuff here. | |
3352 bitmapdir= | |
3353 | |
3354 case "$window_system" in | |
3355 x11 ) HAVE_X_WINDOWS=yes; echo " Using X11." ;; | |
3356 msw ) HAVE_X_WINDOWS=no ; echo " Using MS-Windows." ;; | |
3357 gtk ) | |
3358 HAVE_X_WINDOWS=no | |
3359 test "$with_gnome" = "yes" && echo " Using GNOME." | |
3360 test "$with_gnome" = "no" && echo " Using GTK." | |
3361 ;; | |
3362 none ) HAVE_X_WINDOWS=no ; echo " Using no window system." ;; | |
3363 esac | |
3364 | |
3365 dnl Enable or disable proper handling of WM_COMMAND | |
3312 | 3366 AC_MSG_CHECKING([for WM_COMMAND option]) |
2651 | 3367 dnl if test "$with_wmcommand" = "yes"; then |
3368 if test "$with_wmcommand" != "no"; then | |
3369 AC_DEFINE(HAVE_WMCOMMAND) | |
3312 | 3370 AC_MSG_RESULT(yes) |
3371 else | |
3372 AC_MSG_RESULT(no) | |
2651 | 3373 fi |
3374 | |
3375 dnl Autodetect Xauth | |
3376 dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs | |
3377 test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no | |
3378 test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) } | |
3379 test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no) } | |
3380 test -z "$with_xauth" && with_xauth=yes | |
3381 if test "$with_xauth" = "yes"; then | |
3382 AC_DEFINE(HAVE_XAUTH) | |
3383 XE_SPACE(libs_xauth, $GTK_LIBS $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS) | |
3384 fi | |
3385 AC_SUBST(libs_xauth) | |
3386 | |
3387 dnl This one is for the static initializeds variables in | |
3388 dnl offix.c, so that the thing is dumped after lastfile.o | |
3389 AC_SUBST(dnd_objs) | |
3390 | |
3391 dnl Autodetect dll support | |
3392 | |
3393 dnl If g++ is used, we have to explicitly link modules with -lstdc++ on Cygwin | |
3394 dnl to avoid undefined symbol errors. This will never hurt, so just do it on | |
3395 dnl all platforms in case others have the same brain damage. | |
4932 | 3396 if test "$XEMACS_CC_GPP" = "yes"; then |
2651 | 3397 LIBSTDCPP=-lstdc++ |
3398 else | |
3399 LIBSTDCPP= | |
3400 fi | |
3401 AC_SUBST(LIBSTDCPP) | |
3402 | |
3403 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
|
3404 if test "$with_modules" != "no"; then |
3312 | 3405 AC_MSG_CHECKING([for module support]) |
3406 AC_MSG_RESULT() | |
2651 | 3407 |
3408 case "$opsys" in | |
3409 mingw* | cygwin* ) have_dl=yes ;; | |
3410 darwin ) have_dl=yes | |
3411 AC_DEFINE(HAVE_DYLD) | |
3412 ;; | |
3413 * ) | |
3414 dnl Check for the ELFish dlopen() | |
3415 AC_CHECK_HEADER(dlfcn.h, [ | |
3416 AC_MSG_CHECKING([for dlopen in -lc]) | |
3312 | 3417 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dlfcn.h>], |
3418 [dlopen ("", 0);])], [ have_dl=yes ; AC_MSG_RESULT($have_dl)], [ | |
2741 | 3419 AC_MSG_RESULT([no]) |
2651 | 3420 AC_MSG_CHECKING([for dlopen in -ldl]) |
3421 ac_save_LIBS="$LIBS" | |
3422 LIBS="$LIBS -ldl" | |
3312 | 3423 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dlfcn.h>], |
3424 [dlopen ("", 0);])], [ have_dl=yes; AC_MSG_RESULT($have_dl)], [ | |
2741 | 3425 AC_MSG_RESULT([no]) |
2651 | 3426 AC_MSG_CHECKING([for dlopen in -lsvld]) |
3427 LIBS="$ac_save_LIBS -lsvld" | |
3312 | 3428 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dlfcn.h>], |
3429 [dlopen ("", 0);])], [ have_dl=yes; AC_MSG_RESULT($have_dl) ], | |
2741 | 3430 [LIBS="$ac_save_LIBS" ; AC_MSG_RESULT([no])])])])]) |
2651 | 3431 if test "$have_dl" = "yes"; then |
3432 AC_DEFINE(HAVE_DLOPEN) | |
3433 else | |
3434 dnl Check for HP/UX shl_load | |
3435 AC_CHECK_HEADER(dl.h, [ | |
3436 AC_MSG_CHECKING([for shl_load in -lc]) | |
3312 | 3437 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dl.h>], |
3438 [shl_load ("", 0, 0);])], [have_dl=yes; AC_MSG_RESULT($have_dl)], [ | |
2741 | 3439 AC_MSG_RESULT([no]) |
2651 | 3440 AC_MSG_CHECKING([for shl_load in -ldl]) |
3441 ac_save_LIBS="$LIBS" | |
3442 LIBS="$LIBS -ldld" | |
3312 | 3443 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <dl.h>], |
3444 [shl_load ("", 0, 0);])], [have_dl=yes], | |
2741 | 3445 [LIBS="$ac_save_LIBS"; AC_MSG_RESULT([no])])])]) |
2651 | 3446 if test "$have_dl" = "yes"; then |
3447 AC_DEFINE(HAVE_SHL_LOAD) | |
3448 else | |
3449 dnl Check for libtool's libltdl | |
3450 AC_CHECK_HEADER(ltdl.h, [ | |
3451 AC_MSG_CHECKING([for lt_dlinit in -lltdl]) | |
3452 ac_save_LIBS="$LIBS" | |
3453 LIBS="$LIBS -lltdl" | |
3312 | 3454 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <ltdl.h>], |
3455 [lt_dlinit ();])], [have_dl=yes], [LIBS="$ac_save_LIBS"])]) | |
2741 | 3456 AC_MSG_RESULT($have_dl) |
2651 | 3457 if test "$have_dl" = "yes"; then |
3458 AC_DEFINE(HAVE_LTDL) | |
3459 fi | |
3460 dnl end !HP/UX | |
3461 fi | |
3462 dnl end !dlopen | |
3463 fi | |
3464 ac_save_LIBS= | |
3465 dnl end !darwin | |
3466 esac | |
3467 | |
3468 if test -n "$have_dl"; then | |
3469 dnl XE_SHLIB_STUFF (in aclocal.m4) defines $can_build_shared | |
3470 XE_SHLIB_STUFF | |
3471 fi | |
3472 | |
3473 if test "$can_build_shared" = "yes"; then | |
3474 AC_DEFINE(HAVE_SHLIB) | |
3475 dnl src must be built before modules on MacOSX and Windows platforms, since | |
3476 dnl the binary must be available to properly link the modules | |
3477 dnl For no-module builds, this is added *after* the module directories | |
3478 XE_APPEND(src, MAKE_SUBDIR) | |
3479 XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR) | |
3480 test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS) | |
3481 AC_CHECK_FUNCS(dlerror _dlerror) | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3482 with_modules=yes |
2651 | 3483 MOD_CC="../../lib-src/ellcc" |
3484 MODCFLAGS="\$(CFLAGS) --mode=compile --mod-output=\$@ -I../../src -I\$(srcdir)/../../src" | |
3485 INSTALLPATH="\$(moduledir)" | |
3486 MOD_INSTALL_PROGRAM=${INSTALL_PROGRAM} | |
3487 OBJECT_TO_BUILD="\$(MODNAME).ell" | |
3488 else | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3489 if test "$with_modules" = "yes"; then |
2651 | 3490 XE_DIE("Required module support cannot be provided.") |
3491 else | |
3492 echo " No module support." | |
3493 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3494 with_modules=no |
2651 | 3495 fi |
3496 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3497 if test "$with_modules" != "yes"; then |
2651 | 3498 MOD_CC="$XEMACS_CC" |
3499 MODCFLAGS="\$(XE_CFLAGS) -I../../src -I\$(srcdir)/../../src" | |
3500 INSTALLPATH="" | |
3501 MOD_INSTALL_PROGRAM="true" | |
3502 OBJECT_TO_BUILD="\$(MODNAME).o" | |
3503 fi | |
3504 MODARCHDIR= | |
3505 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
|
3506 AC_SUBST(with_modules, $with_modules) |
2651 | 3507 AC_SUBST(MOD_CC) |
3508 AC_SUBST(MODARCHDIR) | |
3509 AC_SUBST(MAKE_DOCFILE) | |
3510 AC_SUBST(MODCFLAGS) | |
3511 AC_SUBST(INSTALLPATH) | |
3512 AC_SUBST(MOD_INSTALL_PROGRAM) | |
3513 AC_SUBST(OBJECT_TO_BUILD) | |
3514 | |
3515 dnl Autodetect tooltalk | |
3516 if test "$with_tooltalk" != "no" ; then | |
3517 dnl autodetect the location of tt_c.h | |
3518 dnl tt_c.h might be in Tt or desktop include directories | |
3519 for dir in "" "Tt/" "desktop/" ; do | |
3520 AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break) | |
3521 done | |
3522 if test -z "$tt_c_h_file"; then | |
3523 if test "$with_tooltalk" = "yes"; then | |
3524 USAGE_ERROR("Unable to find required tooltalk header files.") | |
3525 fi | |
3526 with_tooltalk=no | |
3527 fi | |
3528 fi | |
3529 if test "$with_tooltalk" != "no" ; then | |
3530 for extra_libs in "" "-lI18N -lce" "-lcxx"; do | |
3531 AC_CHECK_LIB(tt, tt_message_create, | |
3532 tt_libs="-ltt $extra_libs"; break, [:],$extra_libs) | |
3533 done | |
3534 if test -z "$tt_libs"; then | |
3535 if test "$with_tooltalk" = "yes"; then | |
3536 USAGE_ERROR("Unable to find required tooltalk libraries.") | |
3537 fi | |
3538 with_tooltalk=no | |
3539 fi | |
3540 fi | |
3541 test -z "$with_tooltalk" && with_tooltalk=yes | |
3542 if test "$with_tooltalk" = "yes"; then | |
3543 AC_DEFINE(TOOLTALK) | |
3544 AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file") | |
3545 XE_PREPEND($tt_libs, libs_x) | |
3546 fi | |
3547 | |
3548 dnl Autodetect CDE | |
3549 test -z "$with_cde" && { AC_CHECK_HEADER(Dt/Dt.h, , with_cde=no) } | |
3550 test -z "$with_cde" && { AC_CHECK_LIB(DtSvc, DtDndDragStart, [:], with_cde=no) } | |
3551 if test "$with_dragndrop" = "no" ; then | |
3552 if test "$with_cde" = "yes" ; then | |
3312 | 3553 AC_MSG_WARN([--with-cde forced to `no'; no generic Drag'n'Drop support]) |
2651 | 3554 fi |
3555 with_cde=no | |
3556 fi | |
3557 test -z "$with_cde" && with_cde=yes | |
3558 if test "$with_cde" = "yes" ; then | |
3559 AC_DEFINE(HAVE_CDE) | |
3560 XE_PREPEND(-lDtSvc, libs_x) | |
3561 XE_APPEND(CDE, dragndrop_proto) | |
3562 with_tooltalk=yes # CDE requires Tooltalk | |
3563 need_motif=yes # CDE requires Motif | |
3564 fi | |
3565 | |
3566 if test "$with_gtk" = "yes"; then | |
3567 XE_APPEND(GTK, dragndrop_proto) | |
3568 fi | |
3569 | |
3570 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
|
3571 dnl always included if CDE or MSWindows is defined |
2651 | 3572 if test "$with_dragndrop" != "no" ; then |
3573 AC_MSG_CHECKING(if drag and drop API is needed) | |
3574 if test -n "$dragndrop_proto" ; then | |
3575 with_dragndrop=yes | |
3576 AC_MSG_RESULT([yes (${dragndrop_proto} )]) | |
3577 AC_DEFINE(HAVE_DRAGNDROP) | |
3578 XE_APPEND(dragdrop.o, extra_objs) | |
3579 else | |
3580 with_dragndrop=no | |
3581 AC_MSG_RESULT(no) | |
3582 fi | |
3583 fi | |
3584 | |
3585 dnl Autodetect LDAP | |
3312 | 3586 AC_MSG_CHECKING([for LDAP]) |
3587 AC_MSG_RESULT() | |
2651 | 3588 ldap_libs= |
3589 test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) } | |
3590 test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) } | |
3591 if test "$with_ldap" != "no"; then | |
3592 AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes) | |
3593 dnl Check for other libraries we need to link with to get the main routines. | |
3594 test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) } | |
3595 test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) } | |
3596 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) } | |
3597 dnl Recently, we need -lber even though the main routines are elsewhere, | |
3598 dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just | |
3599 dnl check for that (it's a variable not a fun but that doesn't seem to | |
3600 dnl matter in these checks) and stick in -lber if so. Can't hurt (even to | |
3601 dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who | |
3602 dnl #### understands LDAP needs to fix this properly. | |
3603 test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) } | |
3604 fi | |
3605 if test "$with_ldap" = "yes"; then | |
3606 AC_DEFINE(HAVE_LDAP) | |
3607 if test "$with_ldap_des" = "yes" ; then | |
3608 XE_PREPEND(-ldes, ldap_libs) | |
3609 fi | |
3610 if test "$with_ldap_krb" = "yes" ; then | |
3611 XE_PREPEND(-lkrb, ldap_libs) | |
3612 fi | |
3613 if test "$with_ldap_lber" = "yes" ; then | |
3614 XE_PREPEND(-llber, ldap_libs) | |
3615 fi | |
3616 XE_PREPEND(-lldap, ldap_libs) | |
3617 save_LIBS="$LIBS" LIBS="$LIBS $ldap_libs" | |
3618 AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result) | |
3619 LIBS="$save_LIBS" | |
3620 XE_APPEND(modules/ldap, MAKE_SUBDIR) | |
3621 need_modules_common=yes | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3622 if test "$with_modules" = "yes"; then |
2651 | 3623 XE_APPEND(modules/ldap, INSTALL_ARCH_DEP_SUBDIR) |
3624 fi | |
3625 fi | |
3626 AC_SUBST(ldap_libs) | |
3627 | |
3628 dnl Autodetect PostgreSQL | |
3629 dnl On many Linux systems, PostgreSQL is packaged to be installed in /usr; | |
3630 dnl in this case, configure will easily detect it there. | |
3631 dnl | |
3632 dnl If PostgreSQL is installed into a different prefix, | |
3633 dnl (such as the default /usr/local/pgsql when building from source), | |
3634 dnl that prefix must be specified using the --with-site-prefixes flag. | |
3635 postgresql_libs= | |
3636 if test "$with_postgresql" != "no"; then | |
3312 | 3637 AC_MSG_CHECKING([for PostgreSQL]) |
3638 AC_MSG_RESULT() | |
2651 | 3639 |
3640 dnl Look for these standard header file locations, known to be used on Linux | |
3641 for header_dir in "" "pgsql/" "postgresql/"; do | |
3642 AC_CHECK_HEADER(${header_dir}libpq-fe.h, | |
3643 libpq_fe_h_file=${header_dir}libpq-fe.h; break) | |
3644 done | |
3645 | |
3050 | 3646 pq_libs= |
3647 extra_libs= | |
3648 if test -n "$libpq_fe_h_file"; then | |
3649 dnl #### Would it be nicer to do this with a loop? | |
3650 dnl It seems unlikely that checking for SSL/crypto support can hurt, | |
3651 dnl even if it's found. | |
3652 AC_CHECK_LIB(pq, PQconnectdb,[pq_libs="-lpq"],[ | |
3653 unset ac_cv_lib_pq_PQconnectdb; | |
3654 AC_CHECK_LIB(pq, PQconnectdb,[pq_libs="-lpq -lcrypto -lssl"],, | |
3655 [-lcrypto -lssl])]) | |
3656 if test -z "$pq_libs"; then | |
3657 have_libpq="no" | |
3658 else | |
3659 have_libpq="yes" | |
3660 fi | |
3661 fi | |
2651 | 3662 |
3663 if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes"; then | |
3664 with_postgresql=yes | |
3665 AC_DEFINE(HAVE_POSTGRESQL) | |
3666 AC_CHECK_LIB(pq,PQconnectStart, [ | |
3667 with_postgresqlv7=yes; | |
3050 | 3668 AC_DEFINE(HAVE_POSTGRESQLV7)], [:], $extra_libs) |
2651 | 3669 AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file") |
3050 | 3670 XE_PREPEND([$pq_libs], postgresql_libs) |
2651 | 3671 XE_APPEND(modules/postgresql, MAKE_SUBDIR) |
3672 need_modules_common=yes | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3673 if test "$with_modules" = "yes"; then |
2651 | 3674 XE_APPEND(modules/postgresql, INSTALL_ARCH_DEP_SUBDIR) |
3675 fi | |
3676 elif test "$with_postgresql" = "yes"; then | |
3677 XE_DIE("Required PostgreSQL support cannot be provided. Check --with-site-prefixes.") | |
3678 fi | |
3679 fi | |
3680 AC_SUBST(postgresql_libs) | |
3681 | |
3682 dnl ---------------------- | |
3683 dnl Graphics libraries | |
3684 dnl ---------------------- | |
3685 | |
3686 if test "$window_system" != "none"; then | |
3312 | 3687 AC_MSG_CHECKING([for graphics libraries]) |
3688 AC_MSG_RESULT() | |
2651 | 3689 |
3690 dnl add special code to handle xpm-nox on Cygwin (csw) | |
3691 dnl -- should only happen if CYGWIN && WITH_XPM && WITH_MSW && !WITH_X | |
3692 libpath_xpm= | |
3693 incpath_xpm= | |
3727 | 3694 libname_xpm="-lXpm" |
2651 | 3695 case "$opsys" in |
3696 cygwin*) | |
3228 | 3697 cygwin_top=`eval gcc -print-search-dirs | sed -ne s'/install: //p'` |
3698 cygwin_top=`eval "cd $cygwin_top/../../../..; pwd"` | |
2651 | 3699 case "$window_system" in |
3700 dnl use "standard" search pattern | |
3701 x11) ;; | |
3702 dnl hardcode "standard" non-X11 xpm lib/inc dirs | |
3703 msw) libpath_xpm="-L${cygwin_top}/lib/noX" | |
3704 incpath_xpm="-I${cygwin_top}/include/noX" | |
3727 | 3705 libname_xpm="-lXpm-noX" |
2651 | 3706 ;; |
3707 dnl not supported on cygwin (yet?) | |
3708 gtk) ;; | |
3709 dnl probably not reached... | |
3710 none) ;; | |
3711 dnl ditto | |
3712 *) ;; | |
3713 esac | |
3714 ;; | |
3715 dnl use "standard" search pattern for all other OS's | |
3716 *) ;; | |
3717 esac | |
3718 dnl Autodetect Xpm | |
3719 xpm_problem="" | |
3720 if test -z "$with_xpm"; then | |
3721 XE_PREPEND("$incpath_xpm", CFLAGS) | |
2940 | 3722 XE_PREPEND("$incpath_xpm", XE_CFLAGS) |
2651 | 3723 XE_PREPEND("$libpath_xpm", LDFLAGS) |
3724 AC_MSG_CHECKING(for Xpm - no older than 3.4f) | |
3727 | 3725 xe_check_libs="$libname_xpm" |
2651 | 3726 AC_RUN_IFELSE([AC_LANG_SOURCE([#define XPM_NUMBERS |
3727 #include <X11/xpm.h> | |
3728 int main(int c, char **v) { | |
3729 return c == 1 ? 0 : | |
3730 XpmIncludeVersion != XpmLibraryVersion() ? 1 : | |
3731 XpmIncludeVersion < 30406 ? 2 : 0 ;}])], | |
3732 [./conftest dummy_arg; xpm_status=$?; | |
3733 if test "$xpm_status" = "0"; then | |
3734 with_xpm=yes; | |
3735 else | |
3736 with_xpm=no; | |
3737 if test "$xpm_status" = "1"; then | |
3738 xpm_problem="Xpm library version and header file version don't match!" | |
3739 elif test "$xpm_status" = "2"; then | |
3740 xpm_problem="Xpm library version is too old!" | |
3741 else | |
3742 xpm_problem="Internal xpm detection logic error!" | |
3743 fi | |
3744 echo " | |
3745 *** WARNING *** $xpm_problem | |
3746 I'm not touching that with a 10-foot pole! | |
3747 If you really want to use the installed version of Xpm, rerun | |
3748 configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!" | |
3749 fi], | |
3750 [with_xpm=no]) | |
3751 xe_check_libs= | |
3752 AC_MSG_RESULT($with_xpm) | |
3753 fi | |
3754 if test "$with_xpm" = "yes"; then | |
3755 dnl #### This code assumes that if AC_CHECK_LIB fails, | |
3756 dnl #### then it will succeed if FOR_MSW is defined, | |
3757 dnl #### but doesn't actually verify this assumption. | |
3758 AC_DEFINE(HAVE_XPM) | |
3759 XE_PREPEND("$libpath_xpm", LDFLAGS) | |
3727 | 3760 XE_PREPEND("$libname_xpm", libs_x) |
2651 | 3761 XE_PREPEND("$incpath_xpm", CFLAGS) |
2940 | 3762 XE_PREPEND("$incpath_xpm", XE_CFLAGS) |
3312 | 3763 AC_MSG_CHECKING([for "FOR_MSW" xpm]) |
3727 | 3764 xe_check_libs="$libname_xpm" |
3316 | 3765 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[XpmCreatePixmapFromData();])], |
2651 | 3766 [xpm_for_msw=no], |
3767 [xpm_for_msw=yes]) | |
3768 xe_check_libs= | |
3769 AC_MSG_RESULT($xpm_for_msw) | |
3770 if test "$xpm_for_msw" = "yes"; then | |
3771 AC_DEFINE(FOR_MSW) | |
3772 fi | |
3773 fi | |
3774 | |
3775 dnl Autodetect XFACE | |
3776 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) } | |
3777 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) } | |
3778 test -z "$with_xface" && with_xface=yes | |
3779 if test "$with_xface" = "yes"; then | |
3780 AC_DEFINE(HAVE_XFACE) | |
3781 XE_PREPEND(-lcompface, libs_x) | |
3782 fi | |
3783 | |
4708
1cecc3e9f0a0
Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents:
4699
diff
changeset
|
3784 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
|
3785 test -z "$with_gif" && { AC_CHECK_HEADER(gif_lib.h, , with_gif=no) } |
2651 | 3786 if test "$with_gif" != "no"; then |
3787 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
|
3788 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
|
3789 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
|
3790 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
|
3791 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
|
3792 [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
|
3793 [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
|
3794 [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
|
3795 fi |
1cecc3e9f0a0
Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents:
4699
diff
changeset
|
3796 if test "$with_gif" != "no"; then |
2651 | 3797 AC_DEFINE(HAVE_GIF) |
3798 fi | |
3799 | |
3800 dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime | |
3801 dnl So we always search for libz compression support. | |
3802 if test "$with_png $with_tiff" != "no no"; then | |
3803 AC_CHECK_LIB(c, inflate, [:], [ | |
3804 AC_CHECK_LIB(z, inflate, [XE_PREPEND(-lz, libs_x)],[ | |
3805 AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])]) | |
3806 fi | |
3807 | |
3808 dnl autodetect JPEG | |
3809 test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) } | |
3810 test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) } | |
3811 test -z "$with_jpeg" && with_jpeg=yes | |
3812 if test "$with_jpeg" = "yes"; then | |
3813 AC_DEFINE(HAVE_JPEG) | |
3814 XE_PREPEND(-ljpeg, libs_x) | |
3815 fi | |
3816 | |
3817 dnl autodetect PNG | |
3818 png_problem="" | |
3819 test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) } | |
3820 test -z "$with_png" && { AC_CHECK_HEADER(png.h, ,with_png=no) } | |
2667 | 3821 test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no,[-lz]) } |
2651 | 3822 if test -z "$with_png"; then |
3823 AC_MSG_CHECKING(for workable png version information) | |
3824 xe_check_libs="-lpng -lz" | |
3825 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <png.h> | |
3826 int main(int c, char **v) { | |
3827 if (c == 1) return 0; | |
3828 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1; | |
3829 return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}])], | |
3830 [./conftest dummy_arg; png_status=$?; | |
3831 if test "$png_status" = "0"; then | |
3832 with_png=yes; | |
3833 else | |
3834 with_png=no; | |
3835 if test "$png_status" = "1"; then | |
3836 png_problem="PNG library version and header file don't match!" | |
3837 elif test "$png_status" = "2"; then | |
3838 png_problem="PNG library version too old (pre 1.0.2)!" | |
3839 fi | |
3840 echo " | |
3841 *** WARNING *** $png_problem | |
3842 I'm not touching that with a 10-foot pole! | |
3843 If you really want to use the installed version of libPNG, rerun | |
3844 configure and add '--with-png=yes', but don't blame me if XEmacs crashes!" | |
3845 fi], | |
3846 [with_png=no]) | |
3847 xe_check_libs= | |
3848 AC_MSG_RESULT($with_png) | |
3849 fi | |
3850 if test "$with_png" = "yes"; then | |
3851 AC_DEFINE(HAVE_PNG) | |
3852 XE_PREPEND(-lpng, libs_x) | |
3853 fi | |
3854 | |
3855 dnl autodetect TIFF | |
3856 test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) } | |
2667 | 3857 test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFClientOpen,[:],with_tiff=no,[-lz]) } |
2651 | 3858 test -z "$with_tiff" && with_tiff=yes |
3859 if test "$with_tiff" = "yes"; then | |
3860 AC_DEFINE(HAVE_TIFF) | |
3861 XE_PREPEND(-ltiff, libs_x) | |
3862 fi | |
3863 fi | |
3864 | |
3865 dnl ---------------------- | |
3866 dnl GTK-Specific Graphics libraries | |
3867 dnl ---------------------- | |
3868 | |
3869 if test "$with_gtk" = "yes"; then | |
3870 dnl Autodetect XFACE | |
3871 test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) } | |
3872 test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) } | |
3873 test -z "$with_xface" && with_xface=yes | |
3874 if test "$with_xface" = "yes"; then | |
3875 AC_DEFINE(HAVE_XFACE) | |
3876 XE_PREPEND(-lcompface, libs_gtk) | |
3877 fi | |
3878 fi | |
3879 | |
3880 dnl ---------------------- | |
3881 dnl X-Specific Graphics libraries | |
3882 dnl ---------------------- | |
3883 | |
3884 if test "$with_x11" = "yes"; then | |
3312 | 3885 AC_MSG_CHECKING([for X11 graphics libraries]) |
3886 AC_MSG_RESULT() | |
2651 | 3887 fi |
3888 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3889 case "$with_widgets" in |
3019 | 3890 "" | "yes" | "athena") detect_athena=yes ;; |
2651 | 3891 *) detect_athena=no ;; |
3892 esac | |
3893 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
3894 case "$with_dialogs" in |
3019 | 3895 "" | "yes" | "athena") detect_athena=yes ;; |
3896 esac | |
3897 | |
2651 | 3898 if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then |
3312 | 3899 AC_MSG_CHECKING([for the Athena widgets]) |
3900 AC_MSG_RESULT() | |
2651 | 3901 |
3902 dnl What in heck did the user actually want? | |
3903 case "$with_athena" in | |
3904 dnl This is the default, old fashioned flat Athena. | |
3905 "xaw" | "") athena_variant=Xaw athena_3d=no ;; | |
3906 "3d") athena_variant=Xaw3d athena_3d=yes ;; | |
3907 "next") athena_variant=neXtaw athena_3d=yes ;; | |
3908 "95") athena_variant=Xaw95 athena_3d=yes ;; | |
3909 "xpm") athena_variant=XawXpm athena_3d=yes ;; | |
3910 *) XE_DIE("Unknown Athena widget set \`$with_athena'. This should not happen.") ;; | |
3911 esac | |
3912 | |
3913 dnl Search for the Athena library... | |
3914 if test "$athena_3d" = "no"; then | |
3915 AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb, | |
3916 [ | |
3917 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
|
3918 AC_CHECK_LIB($athena_variant, XawSme3dComputeTopShadowRGB, |
2651 | 3919 [AC_MSG_WARN([Could not find a non-3d Athena widget library.])], |
3920 athena_lib=$athena_variant) | |
3921 ], | |
3922 AC_MSG_WARN([Could not find an Athena widget library.])) | |
3923 else | |
3924 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
|
3925 AC_CHECK_LIB($athena_variant, XawSme3dComputeTopShadowRGB, athena_lib=$athena_variant, |
2651 | 3926 dnl OK, couldn't find it with a proper name, try the standard Athena lib |
3927 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
|
3928 AC_CHECK_LIB(Xaw, XawSme3dComputeTopShadowRGB, |
2651 | 3929 [ |
3930 athena_lib=Xaw; | |
3931 AC_MSG_WARN([Assuming that libXaw is actually $athena_variant.]); | |
3932 ], | |
3933 [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])])) | |
3934 fi | |
3935 | |
3936 dnl Now we locate the Athena headers that we need. | |
3937 if test "$athena_3d" = "no"; then | |
3938 AC_CHECK_HEADER(X11/Xaw/ThreeD.h, | |
3939 [AC_MSG_WARN([Could not find a non-3d Athena header set.])], | |
3940 [AC_CHECK_HEADER(X11/Xaw/XawInit.h, | |
3941 [athena_h_path=X11/Xaw], | |
2694 | 3942 [AC_MSG_WARN([Could not find a non-3d Athena header set.])], |
3943 [ | |
3944 #include <X11/Intrinsic.h> | |
3945 ])]) | |
2651 | 3946 else |
3947 dnl The three-d Athena headers are so much more slippery. | |
3948 dnl Curse this `Lets replace standard libraries' thing that they did. :/ | |
3949 AC_CHECK_HEADER(X11/$athena_variant/XawInit.h, | |
3950 [AC_CHECK_HEADER(X11/$athena_variant/ThreeD.h, | |
3951 [athena_h_path=X11/$athena_variant])],[], | |
3952 [ | |
3953 #if HAVE_X11_XFUNCPROTO_H | |
3954 #include <X11/Xfuncproto.h> | |
3955 #endif | |
2705 | 3956 #include <X11/Intrinsic.h> |
2651 | 3957 ]) |
3958 | |
3959 dnl Is the variant specific header directory directly under include? | |
3960 if test -z "$athena_h_path"; then | |
3961 AC_CHECK_HEADER($athena_variant/XawInit.h, | |
3962 [AC_CHECK_HEADER($athena_variant/ThreeD.h, | |
3963 athena_h_path=$athena_variant)],[], | |
3964 [ | |
3965 #if HAVE_X11_XFUNCPROTO_H | |
3966 #include <X11/Xfuncproto.h> | |
3967 #endif | |
2694 | 3968 #include <X11/Intrinsic.h> |
2651 | 3969 ]) |
3970 fi | |
3971 | |
3972 dnl If we couldn't find the specific variant, try the generic Athena 3d headers | |
3973 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then | |
3974 AC_CHECK_HEADER(X11/Xaw3d/XawInit.h, | |
3975 [AC_CHECK_HEADER(X11/Xaw3d/ThreeD.h, | |
3976 [ | |
3977 AC_MSG_WARN([Assuming that X11/Xaw3d headers are suitable for $athena_variant.]) | |
3978 athena_h_path=X11/Xaw3d | |
3979 ])],[], | |
3980 [ | |
3981 #if HAVE_X11_XFUNCPROTO_H | |
3982 #include <X11/Xfuncproto.h> | |
3983 #endif | |
2694 | 3984 #include <X11/Intrinsic.h> |
2651 | 3985 ]) |
3986 fi | |
3987 | |
3988 dnl Also generic 3d headers directly under include dir | |
3989 if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then | |
3990 AC_CHECK_HEADER(Xaw3d/XawInit.h, | |
3991 [AC_CHECK_HEADER(Xaw3d/ThreeD.h, | |
3992 [ | |
3993 AC_MSG_WARN([Assuming that Xaw3d headers are suitable for $athena_variant.]) | |
3994 athena_h_path=Xaw3d | |
3995 ])],[], | |
3996 [ | |
3997 #if HAVE_X11_XFUNCPROTO_H | |
3998 #include <X11/Xfuncproto.h> | |
3999 #endif | |
2694 | 4000 #include <X11/Intrinsic.h> |
2651 | 4001 ]) |
4002 fi | |
4003 | |
4004 dnl If nothing yet found, see if Xaw is a 3d header set... | |
4005 dnl We AC_MSG_WARN if we fail because I am all out of ideas... | |
4006 if test -z "$athena_h_path"; then | |
4007 AC_CHECK_HEADER(X11/Xaw/ThreeD.h, | |
4008 [ | |
4009 AC_MSG_WARN([Assuming that X11/Xaw headers are suitable for $athena_variant.]) | |
4010 athena_h_path=X11/Xaw | |
4011 ], | |
4012 [AC_MSG_WARN([Could not find a suitable 3d Athena header set.])]) | |
4013 fi | |
4014 fi | |
4015 | |
4016 dnl Do we actually have a usable Athena widget set? Please? | |
4017 if test -n "$athena_lib" -a -n "$athena_h_path"; then | |
4018 have_xaw=yes | |
4019 else | |
4020 have_xaw=no | |
4021 fi | |
4022 | |
4023 else | |
4024 have_xaw=no | |
4025 fi dnl "$with_x11" = "yes" -a "detect_athena" = "yes" | |
4026 | |
4027 if test "$with_x11" = "yes"; then | |
4028 dnl autodetect Motif - but only add to libs_x later (if necessary) | |
4029 dnl Use a different function to the earlier test to avoid problems with the | |
4030 dnl internal cache. | |
4031 AC_CHECK_HEADER(Xm/Xm.h, | |
4032 [AC_CHECK_LIB(Xm, XmStringCreate, have_motif=yes, have_motif=no)], | |
4033 have_motif=no) | |
4034 | |
4035 if test "$have_motif" = "yes"; then | |
4036 dnl autodetect lesstif | |
4037 AC_MSG_CHECKING(for Lesstif) | |
4038 AC_EGREP_CPP(yes, | |
4039 [#include <Xm/Xm.h> | |
4040 #ifdef LESSTIF_VERSION | |
4041 yes | |
4042 #endif | |
4043 ], have_lesstif=yes, have_lesstif=no) | |
4044 AC_MSG_RESULT($have_lesstif) | |
4045 fi | |
4046 | |
4047 fi dnl "$with_x11" = "yes" | |
4048 | |
4049 dnl Finish ensuring that we have values for the various toolkit items. | |
4050 dnl Not all toolkits support all widgets | |
3019 | 4051 |
4052 dnl Avoid using Motif :-( | |
4053 case "$opsys" in | |
3738 | 4054 *linux* | *darwin* | *bsd* | *cygwin* ) lucid_prefers_motif="no" ;; |
3019 | 4055 * ) lucid_prefers_motif="yes" ;; |
4056 esac | |
2651 | 4057 |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4058 case "$with_menubars" in "" | "yes" | "athena" ) |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4059 with_menubars="lucid" ;; |
2651 | 4060 esac |
3094 | 4061 dnl this is not in xft reloaded #3 |
4062 if test "$with_xft_menubars" != "no" ; then | |
4063 if test "$with_xft_emacs" = "yes" -a "$with_menubars" != "no" ; then | |
4064 with_xft_menubars="yes" | |
4065 else | |
4066 with_xft_menubars="no" | |
4067 fi | |
4068 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4069 case "$with_dialogs" in "" | "yes" | "lucid" ) |
3019 | 4070 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
|
4071 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
|
4072 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
|
4073 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
|
4074 else with_dialogs=no |
3019 | 4075 fi |
4076 else | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4077 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
|
4078 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
|
4079 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
|
4080 else with_dialogs=no |
3019 | 4081 fi |
2651 | 4082 fi ;; |
4083 esac | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4084 case "$with_scrollbars" in "" | "yes" ) |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4085 with_scrollbars="lucid" ;; |
2651 | 4086 esac |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4087 case "$with_widgets" in "" | "yes" | "lucid") |
3019 | 4088 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
|
4089 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
|
4090 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
|
4091 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
|
4092 else with_widgets=no |
3019 | 4093 fi |
4094 else | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4095 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
|
4096 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
|
4097 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
|
4098 else with_widgets=no |
3019 | 4099 fi |
2651 | 4100 fi ;; |
4101 esac | |
3094 | 4102 dnl this is not in xft reloaded #3 |
4103 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
|
4104 if test "$with_xft_emacs" = "yes" -a "$with_widgets" != "no" ; then |
3094 | 4105 with_xft_tabs="yes" |
4106 else | |
4107 with_xft_tabs="no" | |
4108 fi | |
4109 fi | |
4110 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
|
4111 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
|
4112 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
|
4113 with_xft_gauges="yes" |
3094 | 4114 else |
4497
f863b2ee146f
Rename xft_gauge to xft_gauges.
Mats Lidell <matsl@xemacs.org>
parents:
4496
diff
changeset
|
4115 with_xft_gauges="no" |
3094 | 4116 fi |
4117 fi | |
2651 | 4118 |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4119 all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_widgets" |
2651 | 4120 |
4121 case "$all_widgets" in | |
4122 *athena* ) | |
4123 if test "$have_xaw" != "yes"; then | |
4124 XE_DIE("Could not find a suitable Athena library to build with.") | |
4125 fi | |
4126 | |
4127 dnl Add the Lucid widget Athena code | |
4128 XE_APPEND(lwlib-Xaw.o, lwlib_objs) | |
4129 | |
4130 dnl Add the Athena widget library we located earlier | |
4131 XE_PREPEND(-l$athena_lib, libs_x) | |
4132 | |
4133 dnl Tell lwlib where to find the Athena header files. | |
4134 dnl Many people have tried to create a `smart' way of doing this, | |
4135 dnl but all have failed. Before changing the following ugly definitions, | |
4136 dnl consult the veterans of many a battle. | |
4137 AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h") | |
4138 AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h") | |
4139 AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h") | |
4140 AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h") | |
4141 AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h") | |
4142 AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h") | |
4143 AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h") | |
4144 AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h") | |
4145 AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h") | |
4146 AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h") | |
4147 | |
4148 AC_DEFINE(LWLIB_USES_ATHENA) | |
4149 AC_DEFINE(NEED_ATHENA) | |
4150 need_athena="yes" | |
4151 | |
4152 if test "$athena_3d" = "yes"; then | |
4153 AC_DEFINE(HAVE_ATHENA_3D) | |
4154 fi | |
4155 ;; | |
4156 esac | |
4157 | |
4158 case "$all_widgets" in *motif* ) | |
4159 AC_DEFINE(LWLIB_USES_MOTIF) | |
4160 AC_DEFINE(NEED_MOTIF) | |
4161 XE_APPEND(lwlib-Xm.o, lwlib_objs) | |
4162 need_motif=yes ;; | |
4163 esac | |
4164 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4165 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
|
4166 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
|
4167 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
|
4168 test "$with_widgets" != "no" && test "$with_widgets" != "msw" && \ |
2651 | 4169 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
|
4170 case "$with_widgets" in athena* ) |
2651 | 4171 XE_APPEND(xlwradio.o xlwcheckbox.o xlwgauge.o, lwlib_objs);; |
4172 esac | |
4173 case "$all_widgets" in *lucid* ) | |
4174 AC_DEFINE(NEED_LUCID) | |
4175 XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;; | |
4176 esac | |
4177 | |
4178 AC_SUBST(lwlib_objs) | |
4179 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4180 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
|
4181 test "$with_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA) |
2651 | 4182 |
4183 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
|
4184 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
|
4185 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
|
4186 fi |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4187 |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4188 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
|
4189 test "$with_widgets" != "no" && test "$with_widgets" != "msw" && \ |
2651 | 4190 AC_DEFINE(LWLIB_TABS_LUCID) |
4191 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4192 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
|
4193 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
|
4194 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
|
4195 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
|
4196 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
|
4197 |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4198 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
|
4199 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
|
4200 |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4201 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
|
4202 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
|
4203 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
|
4204 test "$with_widgets" = "motif" && AC_DEFINE(LWLIB_WIDGETS_MOTIF) |
2651 | 4205 |
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
4848
diff
changeset
|
4206 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
|
4207 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
|
4208 test "$with_xft_gauges" = "yes" && AC_DEFINE(HAVE_XFT_GAUGES) |
3094 | 4209 |
2651 | 4210 dnl ---------------------- |
4211 dnl Mule-dependent options | |
4212 dnl ---------------------- | |
4213 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4214 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
|
4215 |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4216 dnl if test "$with_mule" = "yes" && test ! -d "$srcdir/lisp/mule"; then |
2651 | 4217 dnl echo "Attempt to Build with Mule without Mule/Lisp" |
4218 dnl echo "Please install the XEmacs/Mule tarball or" | |
4219 dnl echo "rerun configure with --with-mule=no" | |
4220 dnl exit 1 | |
4221 dnl fi | |
4222 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4223 if test "$with_default_eol_detection" = "yes"; then |
2651 | 4224 AC_DEFINE(HAVE_DEFAULT_EOL_DETECTION) |
4225 fi | |
4226 | |
2973 | 4227 dnl initialize _libs variables for possible modules at top level |
4228 canna_libs= | |
4229 wnn_libs= | |
4230 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4231 if test "$with_mule" = "yes" ; then |
3312 | 4232 AC_MSG_CHECKING([for Mule-related features]) |
2651 | 4233 AC_DEFINE(MULE) |
4234 | |
4235 dnl Use -lintl to get internationalized strerror for Mule | |
4236 AC_CHECK_HEADERS(libintl.h) | |
4237 AC_CHECK_LIB(intl, strerror) | |
4238 | |
3312 | 4239 AC_MSG_CHECKING([for Mule input methods]) |
2651 | 4240 dnl Do we have the XmIm* routines? And if so, do we want to use them? |
4241 case "$with_xim" in "" | "yes" ) | |
3312 | 4242 AC_MSG_CHECKING([for XIM]) |
2651 | 4243 AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no) |
4244 dnl XIM + Lesstif is not (yet?) usable | |
3019 | 4245 dnl Only use Motif if linking Motif anyway, or don't have xlib XIM |
4246 if test "$need_motif $have_lesstif" = "yes no"; then | |
4247 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) | |
3248 | 4248 dnl #### This is always false. |
4249 dnl Not clear what we want, although "yes no yes" is insufficient. | |
3019 | 4250 elif test "$have_motif $have_lesstif $with_xim" = "yes no no"; then |
2651 | 4251 AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) |
4252 fi ;; | |
4253 esac | |
4254 if test "$with_xim" != "no"; then | |
4255 AC_DEFINE(HAVE_XIM) | |
4256 if test "$with_xim" = "xlib"; then | |
4257 AC_DEFINE(XIM_XLIB) | |
4258 XE_ADD_OBJS(input-method-xlib.o) | |
4259 fi | |
4260 if test "$with_xim" = "motif"; then | |
4261 AC_DEFINE(XIM_MOTIF) | |
4262 need_motif=yes | |
4263 XE_ADD_OBJS(input-method-motif.o) | |
4264 fi | |
4265 if test "$with_xim" = "motif"; then | |
4266 with_xfs=no | |
4267 fi | |
4268 fi | |
4269 | |
4270 dnl "with_xfs" = "yes" | |
4271 if test "$with_xfs" = "yes" ; then | |
3312 | 4272 AC_MSG_CHECKING([for XFontSet]) |
2651 | 4273 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
|
4274 if test "$with_xfs" = "yes" && test "$with_menubars" = "lucid"; then |
2651 | 4275 AC_DEFINE(USE_XFONTSET) |
4276 if test "$with_xim" = "no" ; then | |
4277 XE_ADD_OBJS(input-method-xlib.o) | |
4278 fi | |
4279 fi | |
4280 fi dnl with_xfs | |
4281 | |
4282 dnl Autodetect WNN | |
4283 test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support | |
4284 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) } | |
4285 dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h | |
4286 test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h, ,with_wnn=no) } | |
4287 dnl Detour to find crypt | |
4288 if test "$with_wnn" != "no"; then | |
4289 AC_CHECK_FUNCS(crypt) | |
4290 test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) } | |
4291 fi | |
4292 dnl Back to our regularly scheduled wnn hunting | |
4293 if test -z "$with_wnn" -o "$with_wnn" = "yes"; then | |
4294 AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn, | |
4295 AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4, | |
4296 AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6, | |
4297 AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no)))) | |
4298 fi | |
4299 test -z "$with_wnn" && with_wnn=yes | |
4300 if test "$with_wnn" = "yes"; then | |
4301 AC_DEFINE(HAVE_WNN) | |
4302 XE_PREPEND(-l$libwnn, libs_x) | |
4303 if test "$with_wnn6" != "no"; then | |
4304 AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes) | |
4305 test "$with_wnn6" = "yes" && AC_DEFINE(WNN6) | |
4306 fi | |
4307 fi | |
4308 | |
3830 | 4309 dnl Configure canna |
2973 | 4310 dnl canna_libs variable is initialized at toplevel |
3830 | 4311 dnl #### the hard-coding of /usr/local/canna/include is bogus and |
4312 dnl my Mac OS X 10.4 system needs /usr/local/canna/lib, too | |
4313 dnl #### this whole mess should be in modules/canna, no? maybe not | |
4314 have_canna=no | |
2651 | 4315 if test "$with_canna" != "no"; then |
4316 save_c_switch_site="$c_switch_site" | |
3830 | 4317 for canna_include_path in "" " -I/usr/local/canna/include"; do |
4318 for canna_wchar_aware in "" " -DCANNA_NEW_WCHAR_AWARE=1"; do | |
4319 c_switch_site="$save_c_switch_site$canna_include_path$canna_wchar_aware" | |
4320 # defeat autoconf's cache mechanism | |
4321 $as_unset ac_cv_header_canna_jrkanji_h | |
4322 $as_unset ac_cv_header_canna_RK_h | |
4323 # using $ac_header_compiler is a hack, but autoconf doesn't let us | |
4324 # get at this information otherwise :-( | |
4325 AC_CHECK_HEADER(canna/jrkanji.h,[AC_CHECK_HEADER(canna/RK.h,have_canna=$ac_header_compiler)]) | |
4326 test "$have_canna" = "yes" && break | |
4327 AC_MSG_WARN([You may ignore any *Present but not compiled* message | |
4328 from autoconf. We detect that condition and recheck, but there | |
4329 is no way to suppress autoconf's message.]) | |
4330 done | |
4331 test "$have_canna" = "yes" && break | |
4332 done | |
4333 if test "$have_canna" = "yes"; then | |
4334 c_switch_site="$save_c_switch_site$canna_include_path" | |
4335 else | |
2651 | 4336 c_switch_site="$save_c_switch_site" |
4337 fi | |
4338 fi | |
4339 | |
3830 | 4340 test "$have_canna" = "yes" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],have_canna=no) } |
4341 test "$have_canna" = "yes" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],have_canna=no) } | |
4342 if test "$have_canna" = "yes"; then | |
2651 | 4343 AC_DEFINE(HAVE_CANNA) |
3830 | 4344 test -n "$canna_wchar_aware" && AC_DEFINE(CANNA_NEW_WCHAR_AWARE) |
2973 | 4345 XE_APPEND(modules/canna, MAKE_SUBDIR) |
4346 need_modules_common=yes | |
4347 if test "$with_modules" = "yes"; then | |
4348 XE_APPEND(modules/canna, INSTALL_ARCH_DEP_SUBDIR) | |
4349 fi | |
4350 XE_PREPEND(-lcanna -lRKC, canna_libs) | |
3830 | 4351 elif test "$with_canna" != "no"; then |
4352 AC_MSG_WARN([Canna configuration failed. If you expected success, | |
4353 maybe you need --with-site-prefixes=/usr/local/canna?]) | |
2651 | 4354 fi |
2973 | 4355 AC_SUBST(canna_libs) |
2651 | 4356 |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4357 else dnl "$with_mule" = "no" |
2651 | 4358 for feature in xim canna wnn; do |
4359 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then | |
4360 AC_MSG_WARN([--with-${feature} ignored: Not valid without Mule support]) | |
4361 fi | |
4362 eval "with_${feature}=no" | |
4363 done | |
4364 fi dnl with_mule | |
4365 | |
4366 | |
4367 dnl At this point, we know whether we need the motif lib or not. | |
4368 if test "$need_motif" = "yes" ; then | |
4369 XE_PREPEND(-lXm, libs_x) | |
4370 dnl AIX needs the following library for use with Motif | |
4371 AC_CHECK_LIB(i18n, layout_object_getvalue, [XE_PREPEND(-li18n, libs_x)]) | |
4372 XE_COMPUTE_RUNPATH() | |
4373 fi | |
4374 | |
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
|
4375 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
|
4376 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
|
4377 *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
|
4378 ;; |
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
|
4379 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
|
4380 |
2651 | 4381 dnl ---------------------------------------------------------------- |
4382 dnl Check for POSIX functions. | |
4383 dnl ---------------------------------------------------------------- | |
4384 | |
4385 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) | |
4386 | |
4387 dnl getaddrinfo() is borked under hpux11 | |
4388 if test "$ac_cv_func_getaddrinfo" != "no" ; then | |
4389 case "$opsys" in | |
4390 hpux11 ) | |
4391 AC_MSG_WARN([Use of getaddrinfo is disabled for HP-UX 11.XX.]) | |
4392 ac_cv_func_getaddrinfo=no | |
4393 ;; | |
4394 esac | |
4395 fi | |
4396 | |
3092 | 4397 dnl check for vdb-related stuff |
4398 if test "$check_vdb_posix" = "yes" ; then | |
4399 dnl no mprotect, no vdb | |
4400 AC_CHECK_FUNC(mprotect,AC_DEFINE(HAVE_MPROTECT) have_vdb_mprotect=yes,) | |
4401 | |
4402 dnl sigaction needs either struct siginfo or siginfo_t | |
4403 AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_SIGACTION) have_vdb_sigaction=yes, | |
4404 have_vdb_sigaction=no) | |
4405 AC_CHECK_MEMBER(struct siginfo.si_addr, | |
4406 AC_DEFINE(HAVE_STRUCT_SIGINFO_SI_ADDR) have_si_addr=yes,, | |
4407 [#include <signal.h>]) | |
4408 AC_CHECK_MEMBER(siginfo_t.si_addr, | |
4409 AC_DEFINE(HAVE_SIGINFO_T_SI_ADDR) have_si_addr=yes,, | |
4410 [#include <signal.h>]) | |
4411 if test "$have_si_addr" != "yes" ; then | |
4412 have_vdb_sigaction=no | |
4413 fi | |
4414 | |
4415 dnl signal needs struct sigcontext | |
4416 AC_CHECK_FUNC(signal, AC_DEFINE(HAVE_SIGNAL) have_vdb_signal=yes,) | |
4417 AC_CHECK_MEMBER(struct sigcontext.cr2, | |
4418 AC_DEFINE(HAVE_STRUCT_SIGCONTEXT_CR2) have_cr2=yes,, | |
4419 [#include <signal.h>]) | |
4420 | |
4421 if test "$have_cr2" != "yes" ; then | |
4422 have_vdb_signal=no | |
4423 fi | |
4424 | |
4425 if test "$have_vdb_mprotect" != "yes" ; then | |
4426 have_vdb_sigaction=no | |
4427 have_vdb_signal=no | |
4428 fi | |
4429 | |
4430 if test "$have_vdb_sigaction" != "yes" -a "$have_vdb_signal" != "yes" ; then | |
4431 have_vdb_posix=no | |
4432 have_vdb_fake=yes | |
3102 | 4433 XE_DIE("No working write-barrier implementation found for this system. |
4434 Please report this and provide information about your system.") | |
3092 | 4435 else |
4436 have_vdb_posix=yes | |
4437 have_vdb_fake=no | |
4438 fi | |
4439 fi | |
4440 | |
2651 | 4441 dnl ---------------------------------------------------------------- |
4442 dnl Check for Unixoid pty/process support. | |
4443 dnl ---------------------------------------------------------------- | |
4444 | |
4445 dnl There is no "standard" pty allocation method. Every system is different. | |
4446 dnl getpt() is the preferred pty allocation method on glibc systems. | |
4447 dnl _getpty() is the preferred pty allocation method on SGI systems. | |
4448 dnl grantpt(), unlockpt(), ptsname() are defined by Unix98. | |
4449 AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp) | |
4450 | |
4451 dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems. | |
4452 dnl openpty() might be declared in: | |
4453 dnl - pty.h (Tru64 or Linux) | |
4454 dnl - libutil.h (FreeBSD) | |
4455 dnl - util.h (NetBSD) | |
4456 AC_CHECK_FUNC(openpty, have_openpty=yes, [ | |
4457 AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)]) | |
4458 if test "$have_openpty" = "yes"; then | |
4459 AC_DEFINE(HAVE_OPENPTY) | |
4460 AC_CHECK_HEADERS(libutil.h util.h, break) | |
4461 test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system) | |
4462 fi | |
4463 | |
4464 dnl Check for system-specific pty header files | |
4465 dnl Often the TIOCSIG* symbols are hiding there. | |
4466 case "$opsys" in | |
4467 dnl HPUX pty.h #defines TRUE and FALSE, so just use ptyio.h there. | |
4468 hpux*) AC_CHECK_HEADERS(sys/ptyio.h) ;; | |
4469 *) AC_CHECK_HEADERS(pty.h) | |
4470 test "$ac_cv_header_pty_h" = "no" && AC_CHECK_HEADERS(sys/pty.h) | |
4471 ;; | |
4472 esac | |
4473 | |
4474 dnl Check for STREAM support functions. | |
4475 dnl Confusingly, "str" means both "string" and "SysV Streams". | |
4476 AC_CHECK_HEADERS(stropts.h) | |
4477 if test "$ac_cv_header_stropts_h" = "yes"; then | |
4478 AC_CHECK_FUNCS(isastream) | |
4479 AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL | |
4480 fi | |
4481 | |
4482 dnl Check whether the system provides getloadavg(). | |
4483 AC_CHECK_FUNCS(getloadavg) | |
4484 | |
4485 if test "$ac_cv_func_getloadavg" = "yes"; then | |
4486 dnl Solaris 8 declares getloadavg() in <sys/loadavg.h>. | |
4487 dnl glibc 2.2 declares getloadavg() in <stdlib.h>... | |
4488 dnl ...if we #define _GNU_SOURCE, which we do. | |
4489 AC_CHECK_HEADERS(sys/loadavg.h) | |
4490 else | |
4491 dnl We define our own getloadavg() using lower level functions. | |
4492 XE_ADD_OBJS(getloadavg.o) | |
4493 | |
4494 dnl Used by getloadavg() - does not require root priveleges | |
4495 AC_CHECK_LIB(kstat, kstat_open) | |
4496 AC_CHECK_HEADERS(kstat.h) | |
4497 | |
4498 dnl Another way to get the load average | |
4499 AC_CHECK_LIB(kvm, kvm_read) | |
4500 fi | |
4501 | |
4502 dnl If netdb.h does not declare h_errno, we must declare it by hand. | |
4503 AC_MSG_CHECKING(whether netdb declares h_errno) | |
3312 | 4504 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>], |
4505 [return h_errno;])], | |
2651 | 4506 [AC_MSG_RESULT(yes) |
4507 AC_DEFINE(HAVE_H_ERRNO)], | |
4508 [AC_MSG_RESULT(no)]) | |
4509 | |
4510 AC_MSG_CHECKING(for sigsetjmp) | |
3312 | 4511 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <setjmp.h>], |
4512 [sigjmp_buf bar; sigsetjmp (bar, 0);])], | |
2651 | 4513 [AC_MSG_RESULT(yes) |
4514 AC_DEFINE(HAVE_SIGSETJMP)], | |
4515 [AC_MSG_RESULT(no)]) | |
4516 | |
4517 AC_MSG_CHECKING(whether localtime caches TZ) | |
4518 AC_CACHE_VAL(emacs_cv_localtime_cache, | |
4519 [if test "$ac_cv_func_tzset" = "yes"; then | |
4520 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <time.h> | |
4521 #if STDC_HEADERS | |
4522 # include <stdlib.h> | |
4523 #endif | |
4524 extern char **environ; | |
4525 unset_TZ () | |
4526 { | |
4527 char **from, **to; | |
4528 for (to = from = environ; (*to = *from); from++) | |
4529 if (! (to[[0]][[0]] == 'T' && to[[0]][[1]] == 'Z' && to[[0]][[2]] == '=')) | |
4530 to++; | |
4531 } | |
4532 char TZ_GMT0[[]] = "TZ=GMT0"; | |
4533 char TZ_PST8[[]] = "TZ=PST8"; | |
4534 main() | |
4535 { | |
4536 time_t now = time ((time_t *) 0); | |
4537 int hour_GMT0, hour_unset; | |
4538 if (putenv (TZ_GMT0) != 0) | |
4539 exit (1); | |
4540 hour_GMT0 = localtime (&now)->tm_hour; | |
4541 unset_TZ (); | |
4542 hour_unset = localtime (&now)->tm_hour; | |
4543 if (putenv (TZ_PST8) != 0) | |
4544 exit (1); | |
4545 if (localtime (&now)->tm_hour == hour_GMT0) | |
4546 exit (1); | |
4547 unset_TZ (); | |
4548 if (localtime (&now)->tm_hour != hour_unset) | |
4549 exit (1); | |
4550 exit (0); | |
4551 }])], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes, | |
4552 [# If we have tzset, assume the worst when cross-compiling. | |
4553 emacs_cv_localtime_cache=yes]) | |
4554 else | |
4555 # If we lack tzset, report that localtime does not cache TZ, | |
4556 # since we can't invalidate the cache if we don't have tzset. | |
4557 emacs_cv_localtime_cache=no | |
4558 fi],[:])dnl | |
4559 AC_MSG_RESULT($emacs_cv_localtime_cache) | |
4560 if test $emacs_cv_localtime_cache = yes; then | |
4561 AC_DEFINE(LOCALTIME_CACHE) | |
4562 fi | |
4563 | |
4564 if test "$HAVE_TIMEVAL" = "yes"; then | |
4565 AC_MSG_CHECKING(whether gettimeofday accepts one or two arguments) | |
3312 | 4566 AC_LINK_IFELSE([AC_LANG_PROGRAM([ |
2651 | 4567 #ifdef TIME_WITH_SYS_TIME |
4568 #include <sys/time.h> | |
4569 #include <time.h> | |
4570 #else | |
4571 #ifdef HAVE_SYS_TIME_H | |
4572 #include <sys/time.h> | |
4573 #else | |
4574 #include <time.h> | |
4575 #endif | |
4576 #endif | |
4577 ], | |
4578 [ | |
4579 struct timeval time; | |
4580 gettimeofday (&time, 0); | |
3312 | 4581 ])], |
2651 | 4582 [AC_MSG_RESULT(two)], |
4583 [AC_MSG_RESULT(one) | |
4584 AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)]) | |
4585 fi | |
4586 | |
4587 | |
4588 AC_C_INLINE | |
4589 test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o) | |
4590 | |
4591 dnl check for the typeof extension | |
4592 AC_MSG_CHECKING(for typeof) | |
3312 | 4593 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i; __typeof__(i) j;])], |
4594 typeofname="__typeof__", | |
4595 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i; typeof(i) j;])], | |
4596 typeofname="typeof", | |
2651 | 4597 typeofname=no)]) |
4598 AC_MSG_RESULT($typeofname) | |
4599 if test "$typeofname" != "no"; then | |
4600 AC_DEFINE_UNQUOTED(TYPEOF, $typeofname) | |
4601 fi | |
4602 | |
4603 dnl HP-UX has a working alloca in libPW. | |
4604 dnl case "${GCC}${opsys}" in hpux* ) | |
4605 dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)]) | |
4606 dnl esac | |
4607 | |
4608 dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca) | |
4609 if test "$__DECC" != "yes"; then | |
4610 AC_FUNC_ALLOCA | |
4611 test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA) | |
4612 fi | |
4613 | |
4614 AC_MSG_CHECKING(for working alloca in function calls) | |
4615 AC_RUN_IFELSE([AC_LANG_SOURCE([ | |
4616 #if defined (__CYGWIN__) | |
4617 #include <alloca.h> | |
4618 #elif defined (__GNUC__) | |
4619 #define alloca __builtin_alloca | |
4620 #elif defined (__DECC) | |
4621 #include <alloca.h> | |
4622 #pragma intrinsic(alloca) | |
4623 #elif defined (HAVE_ALLOCA_H) | |
4624 #include <alloca.h> | |
4625 #elif defined (_AIX) | |
4626 #pragma alloca | |
4627 #elif ! defined (alloca) | |
4628 #ifdef C_ALLOCA | |
4629 #define alloca xemacs_c_alloca | |
4630 #else | |
4631 void *alloca (); | |
4632 #endif /* C_ALLOCA */ | |
4633 #endif /* !defined (alloca) */ | |
4634 | |
4635 void | |
4636 f1 (double a, void *ptr, int b) | |
4637 { | |
4638 unsigned char *ptr2 = (unsigned char *) ptr; | |
4639 if (ptr2[[0]] != 0xBF || ptr2[[1]] != 0xBF || ptr2[[3000]] != 0xBF) | |
4640 exit (1); | |
4641 if (a != 3.1415 || b != -5490) | |
4642 exit (1); | |
4643 } | |
4644 | |
4645 int | |
4646 f2 (short c, void *ptr, long e) | |
4647 { | |
4648 unsigned char *ptr2 = (unsigned char *) ptr; | |
4649 if (ptr2[[0]] != 0xFB || ptr2[[1]] != 0xFB || ptr2[[1000]] != 0xFB) | |
4650 exit (1); | |
4651 if (c != 665 || e != 776776776) | |
4652 exit (1); | |
4653 f1 (3.1415, memset (alloca (3001), 0xBF, 3001), -5490); | |
4654 return 42; | |
4655 } | |
4656 | |
4657 int | |
4588
6a6689b96f00
Adopt Martin's suggestion of "char **argv" throughout configure.ac.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4543
diff
changeset
|
4658 main (int argc, char **argv) |
2651 | 4659 { |
4660 if (f2 (665, memset (alloca (1001), 0xFB, 1001), 776776776) != 42) | |
4661 return 1; | |
4662 return 0; | |
4663 } | |
4664 ])], working_alloca_in_function_calls=yes, working_alloca_in_function_calls=no) | |
4665 AC_MSG_RESULT($working_alloca_in_function_calls) | |
4666 test "$working_alloca_in_function_calls" != "yes" && \ | |
4667 AC_DEFINE(BROKEN_ALLOCA_IN_FUNCTION_CALLS) | |
4668 | |
4669 AC_MSG_CHECKING([for working scanf]) | |
4670 AC_RUN_IFELSE([AC_LANG_SOURCE([ | |
4671 int | |
4672 main (int argc, char **argv) | |
4673 { | |
4674 int ret, cp1, cp2, endcount; | |
4675 char *p = "0x7d 0x000E "; | |
4676 ret = sscanf (p, "%i %i%n", &cp1, &cp2, &endcount); | |
4677 /* endcount should be 13 but it's 11 in Cygwin newlib after 6/04; | |
4678 this breaks unicode.c */ | |
4679 return endcount != 13; | |
4680 } | |
4681 ])], working_scanf=yes, working_scanf=no) | |
4682 AC_MSG_RESULT($working_scanf) | |
4683 test "$working_scanf" != "yes" && \ | |
4684 AC_DEFINE(CYGWIN_SCANF_BUG) | |
4685 | |
4686 dnl Check whether strcoll exists and works correctly. (This does more | |
4687 dnl than just check for its existence.) If so, it defines HAVE_STRCOLL. | |
4688 AC_FUNC_STRCOLL | |
4689 | |
4690 dnl If `getpgrp' takes no argument (the POSIX.1 version), define | |
4691 dnl `GETPGRP_VOID'. Otherwise, it is the BSD version, which takes a | |
4692 dnl process ID as an argument. | |
4693 AC_CHECK_FUNCS(getpgrp) | |
4694 AC_FUNC_GETPGRP | |
4695 | |
4696 dnl We used to call AC_FUNC_MMAP here | |
4697 dnl Instead we now use following, suggested by Neal Becker | |
4698 AC_MSG_CHECKING(for working mmap) | |
4699 AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h> | |
4700 #include <unistd.h> | |
4701 #include <fcntl.h> | |
4702 #include <sys/mman.h> | |
4703 | |
4704 #ifndef MAP_VARIABLE | |
4705 #define MAP_VARIABLE 0 | |
4706 #endif | |
4707 | |
4708 #ifndef MAP_FAILED | |
4709 #define MAP_FAILED -1 | |
4710 #endif | |
4711 | |
4588
6a6689b96f00
Adopt Martin's suggestion of "char **argv" throughout configure.ac.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4543
diff
changeset
|
4712 int main (int argc, char **argv) |
2651 | 4713 { |
4714 int fd = -1; | |
4715 caddr_t p; | |
4716 #ifndef MAP_ANONYMOUS | |
4717 fd = open ("/dev/zero", O_RDWR); | |
4718 if (fd < 0) | |
4719 return 1; | |
4720 #define MAP_ANONYMOUS 0 | |
4721 #endif | |
4722 if (mmap(0, 1024, PROT_READ | PROT_WRITE, | |
4723 MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS, | |
4724 fd, 0) != (void *) MAP_FAILED) | |
4725 return 0; | |
4726 perror ("conftest: mmap failed"); | |
4727 return 1; | |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
4738
diff
changeset
|
4728 }])], have_mmap=yes, have_mmap=no) |
2651 | 4729 AC_MSG_RESULT($have_mmap) |
4730 test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP) | |
4731 | |
4732 dnl By default we switch off rel-alloc on cygwin as it generally causes us grief | |
4733 case "$opsys" in cygwin*) | |
4734 test "$with_rel_alloc" = "default" && with_rel_alloc=no ;; | |
4735 esac | |
4736 dnl rel_alloc requires either GNU malloc or system malloc with mmap | |
4737 dnl We only turn rel_alloc on by default if mmap is available. | |
4738 test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && with_rel_alloc=no | |
4739 if test "$with_rel_alloc $have_mmap" = "default yes"; then | |
4740 if test "$doug_lea_malloc" = "yes"; then | |
4741 dnl Check if malloc() calls mmap(), making rel_alloc pointless. | |
4742 AC_MSG_CHECKING(for M_MMAP_THRESHOLD) | |
3312 | 4743 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <malloc.h>],[ |
2651 | 4744 #ifndef M_MMAP_THRESHOLD |
4745 #error No M_MMAP_THRESHOLD :-( | |
4746 !@+$%^&*_)(_ - unlikely to compile... | |
4747 #endif | |
3312 | 4748 ])], [with_rel_alloc=no; AC_MSG_RESULT(yes);], |
4749 [with_rel_alloc=yes; AC_MSG_RESULT(no);]) | |
2651 | 4750 else |
4751 with_rel_alloc=yes | |
4752 fi | |
4753 fi | |
4754 test "$with_rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC) | |
4755 | |
4756 dnl Check for terminal I/O variants | |
4757 dnl TERMIOS systems may have termio.h, but not vice-versa, I think. | |
4758 AC_CHECK_HEADER(termios.h, | |
4759 AC_DEFINE(HAVE_TERMIOS) | |
4760 AC_DEFINE(SIGNALS_VIA_CHARACTERS) | |
4761 AC_DEFINE(NO_TERMIO), | |
4762 [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])]) | |
4763 | |
4764 | |
4765 dnl Check for Internet sockets. | |
4766 AC_CHECK_FUNC(socket, | |
4767 [AC_CHECK_HEADER(netinet/in.h, | |
4768 [AC_CHECK_HEADER(arpa/inet.h, [ | |
4769 AC_DEFINE(HAVE_SOCKETS) | |
3312 | 4770 AC_MSG_CHECKING([for sun_len member in struct sockaddr_un]) |
4771 AC_LINK_IFELSE([AC_LANG_PROGRAM([ | |
2651 | 4772 #include <sys/types.h> |
4773 #include <sys/socket.h> | |
4774 #include <sys/un.h> | |
4775 ], | |
3312 | 4776 [static struct sockaddr_un x; x.sun_len = 1;])], |
2651 | 4777 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)], |
4778 [AC_MSG_RESULT(no)]) | |
3312 | 4779 AC_MSG_CHECKING([for ip_mreq struct in netinet/in.h]) |
4780 AC_LINK_IFELSE([AC_LANG_PROGRAM([ | |
2651 | 4781 #include <sys/types.h> |
4782 #include <netinet/in.h> | |
4783 ], | |
3312 | 4784 [static struct ip_mreq x;])], |
2651 | 4785 [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MULTICAST)], |
4786 [AC_MSG_RESULT(no)])])])]) | |
4787 | |
4788 dnl Check for SYS V IPC. (Inferior to sockets.) | |
4789 AC_CHECK_FUNC(msgget, | |
4790 [AC_CHECK_HEADER(sys/ipc.h, | |
4791 [AC_CHECK_HEADER(sys/msg.h, | |
4792 [AC_DEFINE(HAVE_SYSVIPC)])])]) | |
4793 | |
4794 dnl Check for directory variants | |
4795 AC_CHECK_HEADER(dirent.h, [AC_DEFINE(SYSV_SYSTEM_DIR)], | |
4796 [AC_CHECK_HEADER(sys/dir.h, , [AC_DEFINE(NONSYSTEM_DIR_LIBRARY)])]) | |
4797 | |
4798 dnl Check for nlist.h | |
4799 AC_CHECK_HEADER(nlist.h, AC_DEFINE(NLIST_STRUCT), ) | |
4800 | |
4801 dnl Check for sound of various sorts. | |
3312 | 4802 AC_MSG_CHECKING([for sound support]) |
4803 AC_MSG_RESULT() | |
2651 | 4804 |
4805 dnl Autodetect native sound | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4806 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
|
4807 |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4808 if test "$with_sound_native" != "no"; then |
2651 | 4809 dnl Maybe sound is already on include path... |
4810 if test -n "$with_native_sound_lib"; then | |
4811 AC_CHECK_HEADER(multimedia/audio_device.h, | |
4812 [sound_found=yes sound_cflags="" | |
4813 XE_ADD_OBJS(sunplay.o)]) | |
4814 fi | |
4815 | |
4816 dnl Autodetect Sun native sound from SUNWaudmo package | |
4817 if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then | |
4818 if test -d "/usr/demo/SOUND/include/multimedia"; then | |
4819 sun_sound_cflags="-I/usr/demo/SOUND/include" | |
4820 elif test -d "/usr/demo/SOUND/multimedia"; then | |
4821 sun_sound_cflags="-I/usr/demo/SOUND" | |
4822 fi | |
4823 | |
4824 if test -n "$with_native_sound_lib"; then | |
4825 sun_sound_lib="$with_native_sound_lib" | |
4826 elif test -r "/usr/demo/SOUND/lib/libaudio.a"; then | |
4827 sun_sound_lib="/usr/demo/SOUND/lib/libaudio.a" | |
4828 elif test -r "/usr/demo/SOUND/libaudio.a"; then | |
4829 sun_sound_lib="/usr/demo/SOUND/libaudio.a" | |
4830 fi | |
4831 | |
4832 if test -n "$sun_sound_cflags" -a -n "$sun_sound_lib"; then | |
4833 with_native_sound_lib="$sun_sound_lib" | |
4834 sound_cflags="$sun_sound_cflags" | |
4835 sound_found=yes | |
4836 XE_ADD_OBJS(sunplay.o) | |
4837 fi | |
4838 fi | |
4839 | |
4840 dnl Check for SGI and HP native sound libs | |
4841 if test -z "$sound_found"; then | |
4842 case "$ac_cv_build" in | |
4843 *-sgi-* ) | |
4844 if test -z "$with_native_sound_lib"; then | |
4845 AC_CHECK_LIB(audio, ALopenport, with_native_sound_lib="-laudio") | |
4846 fi | |
4847 if test -n "$with_native_sound_lib"; then | |
4848 sound_found=yes sound_cflags="" | |
4849 XE_ADD_OBJS(sgiplay.o) | |
4850 fi ;; | |
4851 hppa*-hp-hpux* ) | |
4852 if test -z "$with_native_sound_lib"; then | |
4853 AC_CHECK_LIB(Alib, AOpenAudio, with_native_sound_lib="-lAlib") | |
4854 fi | |
4855 if test -n "$with_native_sound_lib"; then | |
4856 sound_found=yes | |
4857 XE_ADD_OBJS(hpplay.o) | |
4858 if test "$GCC" = "yes" # Kludge city | |
4859 then sound_cflags="-Dconst= -Dvolatile= -I/usr/audio/examples" | |
4860 else sound_cflags="+e -I/usr/audio/examples" | |
4861 fi | |
4862 fi ;; | |
4863 esac | |
4864 fi | |
4865 | |
3060 | 4866 dnl Win32 uses native sound |
2651 | 4867 if test -z "$sound_found"; then |
3060 | 4868 case "$opsys" in cygwin* | mingw* ) |
2651 | 4869 sound_found=yes |
4870 with_native_sound_lib= | |
4871 XE_ADD_OBJS(ntplay.o) | |
3060 | 4872 ;; |
4873 esac | |
2651 | 4874 fi |
4875 | |
4876 dnl Check for Linux/BSD native sound (also on recent Cygwins) | |
4877 if test -z "$sound_found"; then | |
4878 for dir in "machine" "sys" "linux"; do | |
4879 AC_CHECK_HEADER([${dir}/soundcard.h], [ | |
4880 sound_found=yes | |
2663 | 4881 case "${ac_cv_build}" in |
2651 | 4882 *netbsd* ) |
4883 # #### this is probably not the right way to do this | |
4884 # we should port to native NetBSD stuff | |
2663 | 4885 |
4886 dnl Aidan says: We have other things to be doing. If some | |
4887 dnl energetic NetBSD partisan volunteers, then yeah, cool, | |
4888 dnl but as it is, this works, and is unlikely to stop | |
4889 dnl working any time soon. | |
4890 | |
2651 | 4891 AC_CHECK_LIB(ossaudio, _oss_ioctl, |
2663 | 4892 [with_native_sound_lib=-lossaudio |
2651 | 4893 AC_MSG_WARN([Using NetBSD-deprecated -lossaudio])], |
4894 [sound_found=no]) | |
4895 ;; | |
4896 dnl Aidan sez: OpenBSD as well can use Linux's sound API, and needs | |
4897 dnl the same library. Add here! | |
4898 esac | |
4899 break]) | |
4900 done | |
4901 | |
4902 if test "$sound_found" = "yes"; then | |
4903 need_miscplay=yes | |
4904 XE_ADD_OBJS(linuxplay.o) | |
4905 AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, ["${dir}/soundcard.h"]) | |
4906 fi | |
4907 fi | |
4908 | |
4909 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
|
4910 with_sound_native=yes |
2651 | 4911 else |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4912 if test "$with_sound_native" = "yes" ; then |
2651 | 4913 AC_MSG_WARN([No native libraries found. Disabling native sound support.]) |
4914 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4915 with_sound_native=no |
2651 | 4916 fi |
4917 fi | |
4918 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4919 if test "$with_sound_native" = "yes"; then |
2651 | 4920 AC_DEFINE(HAVE_NATIVE_SOUND) |
4921 test -n "$with_native_sound_lib" && XE_PREPEND($with_native_sound_lib, LIBS) | |
4922 fi | |
4923 | |
3308 | 4924 dnl ALSA sound support |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4925 if test "$with_sound_alsa" != "no"; then |
3309 | 4926 AC_CHECK_HEADER([alsa/input.h], [ |
3308 | 4927 AC_CHECK_LIB(asound, snd_pcm_open, have_alsa_sound=yes)]) |
4928 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
|
4929 with_sound_alsa=yes |
3308 | 4930 AC_DEFINE(HAVE_ALSA_SOUND) |
4931 XE_ADD_OBJS(alsaplay.o) | |
4932 XE_PREPEND(-lasound, LIBS) | |
4933 else | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4934 test "$with_sound_alsa" = "yes" && \ |
3308 | 4935 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
|
4936 with_sound_alsa=no |
3308 | 4937 fi |
4938 fi | |
4939 | |
2651 | 4940 dnl NAS Sound support |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4941 if test "$with_sound_nas" != "no"; then |
2651 | 4942 AC_CHECK_HEADER(audio/audiolib.h, [ |
4943 AC_CHECK_LIB(audio, AuOpenServer, have_nas_sound=yes)]) | |
4944 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
|
4945 with_sound_nas=yes |
2651 | 4946 AC_DEFINE(HAVE_NAS_SOUND) |
4947 XE_ADD_OBJS(nas.o) | |
4948 XE_PREPEND(-laudio, libs_x) | |
4949 dnl If the nas library does not contain the error jump point, | |
4950 dnl then we force safer behavior. | |
4951 AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[old_nas=yes; AC_DEFINE(NAS_NO_ERROR_JUMP)]) | |
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_nas" = "yes" && \ |
2651 | 4954 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
|
4955 with_sound_nas=no |
2651 | 4956 fi |
4957 fi | |
4958 | |
4959 dnl ESD Sound support | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4960 if test "$with_sound_esd" != "no"; then |
2651 | 4961 AC_CHECK_PROG(have_esd_config, esd-config, yes, no) |
4962 if test "$have_esd_config" = "yes"; then | |
4963 save_c_switch_site="$c_switch_site" save_LIBS="$LIBS" | |
4964 XE_APPEND(`esd-config --cflags`, c_switch_site) | |
4965 XE_PREPEND(`esd-config --libs`, LIBS) | |
4966 AC_CHECK_FUNC(esd_play_stream, | |
4967 have_esd_sound=yes, | |
4968 c_switch_site="$save_c_switch_site" LIBS="$save_LIBS") | |
4969 fi | |
4970 | |
4971 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
|
4972 with_sound_esd=yes |
2651 | 4973 need_miscplay=yes |
4974 XE_ADD_OBJS(esd.o) | |
4975 AC_DEFINE(HAVE_ESD_SOUND) | |
4976 else | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
4977 test "$with_sound_esd" = "yes" && \ |
2651 | 4978 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
|
4979 with_sound_esd=no |
2651 | 4980 fi |
4981 fi | |
4982 | |
4983 test "$need_miscplay" = "yes" && XE_ADD_OBJS(miscplay.o) | |
4984 | |
4985 dnl --------------------- | |
4986 dnl TTY-dependent options | |
4987 dnl --------------------- | |
4988 | |
4989 test -z "$with_tty" && with_tty=yes | |
4990 | |
4991 if test "$with_tty" = "yes" ; then | |
3312 | 4992 AC_MSG_CHECKING([for TTY-related features]) |
4993 AC_MSG_RESULT() | |
2651 | 4994 AC_DEFINE(HAVE_TTY) |
4995 | |
4996 dnl Autodetect ncurses. | |
4997 if test -z "$with_ncurses"; then | |
4998 AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no) | |
4999 fi | |
5000 if test "$with_ncurses" = "yes"; then | |
5001 AC_DEFINE(HAVE_NCURSES) | |
5002 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) | |
5003 AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) | |
5004 XE_ADD_OBJS(terminfo.o) | |
5005 XE_PREPEND(-lncurses, LIBS) | |
5006 | |
5007 if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then | |
5008 dnl Try again, and check for the bogus ncurses/ include bug. | |
5009 dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of | |
5010 dnl <ncurses/unctrl.h>) | |
5011 save_c_switch_site="$c_switch_site" | |
5012 c_switch_site="$c_switch_site -I/usr/include/ncurses" | |
5013 AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) | |
5014 if test "$ac_cv_header_ncurses_curses_h" = "yes" | |
5015 then AC_MSG_WARN([Your system has the bogus ncurses include bug.]) | |
5016 else c_switch_site="$save_c_switch_site" | |
5017 fi | |
5018 fi | |
5019 else dnl "$with_ncurses" = "no" | |
5020 dnl Autodetect terminfo/-lcurses/-ltermlib/-ltermcap | |
5021 if test "$have_terminfo" = "yes"; then | |
5022 XE_ADD_OBJS(terminfo.o) | |
5023 if test -n "$libs_termcap"; then | |
5024 XE_PREPEND($libs_termcap, LIBS) | |
5025 else | |
5026 for lib in curses termlib termcap; do | |
5027 AC_CHECK_LIB($lib, tgetent, XE_PREPEND(-l${lib}, LIBS); break) | |
5028 done | |
5029 fi | |
5030 else dnl "$have_terminfo" = "no" && "with_ncurses" = "no" | |
5031 XE_ADD_OBJS(tparam.o) | |
5032 dnl The HP-UX curses library seems to have a badly broken version of select(2) | |
5033 dnl that makes "poll: interrupted system call" messages to appear and | |
5034 dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */ | |
5035 case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac | |
5036 if test -n "$libs_termcap"; then | |
5037 XE_PREPEND($libs_termcap, LIBS) | |
5038 else | |
5039 AC_CHECK_LIB(curses, tgetent, XE_PREPEND(-lcurses, LIBS), | |
5040 AC_CHECK_LIB(termcap, tgetent, XE_PREPEND(-ltermcap, LIBS), | |
5041 XE_ADD_OBJS(termcap.o))) | |
5042 fi | |
5043 fi | |
5044 fi | |
5045 AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}") | |
5046 AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}") | |
5047 | |
5048 dnl General Purpose Mouse (libgpm) support | |
5049 if test "$with_gpm" != "no"; then | |
5050 AC_CHECK_HEADER(gpm.h, [ | |
5051 AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)]) | |
5052 if test "$have_gpm" = "yes"; then | |
5053 with_gpm=yes | |
5054 AC_DEFINE(HAVE_GPM) | |
5055 XE_PREPEND(-lgpm, LIBS) | |
5056 elif test "$with_gpm" = "yes"; then | |
5057 XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."]) | |
5058 else | |
5059 with_gpm=no | |
5060 fi | |
5061 fi | |
5062 | |
5063 else dnl "$with_tty" = "no" | |
5064 for feature in ncurses gpm; do | |
5065 if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then | |
5066 AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support]) | |
5067 fi | |
5068 eval "with_${feature}=no" | |
5069 done | |
5070 fi dnl with_tty | |
5071 | |
5072 dnl Database support | |
5073 dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support. | |
5074 dnl On FreeBSD, both DB and DBM are part of libc. | |
5075 dnl By default, we check for DBM support in libgdbm, then libc, then libdbm. | |
5076 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5077 test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ |
3312 | 5078 != "no no no" && AC_MSG_CHECKING([for database support]) && \ |
5079 AC_MSG_RESULT() | |
2651 | 5080 |
5081 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
|
5082 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
|
5083 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
|
5084 ndbm_h_file="" |
0e1461b592ce
Check for gdbm/ndbm.h, too.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4661
diff
changeset
|
5085 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
|
5086 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
|
5087 test "$with_database_gdbm" = "yes" -o \ |
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5088 "$with_database_dbm" = "yes" && \ |
2651 | 5089 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
|
5090 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
|
5091 fi |
2651 | 5092 fi |
5093 | |
5094 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
|
5095 if test "$with_database_gdbm" != "no"; then |
2651 | 5096 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
|
5097 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
|
5098 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
|
5099 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
|
5100 if test "$with_database_gdbm" = "yes"; then |
2651 | 5101 XE_DIE("Required GNU DBM support cannot be provided.") |
5102 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5103 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
|
5104 ]) |
2651 | 5105 fi |
5106 | |
5107 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
|
5108 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
|
5109 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
|
5110 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
|
5111 test "$with_database_dbm" = "yes" && \ |
2651 | 5112 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
|
5113 with_database_dbm=no])]) |
2651 | 5114 fi |
5115 | |
5116 dnl Tell make about the DBM support we detected. | |
5117 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
|
5118 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
|
5119 "$with_database_dbm" = "yes"; then |
4699
0e1461b592ce
Check for gdbm/ndbm.h, too.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4661
diff
changeset
|
5120 AC_DEFINE_UNQUOTED(NDBM_H_FILE,"$ndbm_h_file") |
2651 | 5121 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
|
5122 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
|
5123 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
|
5124 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
|
5125 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
|
5126 AC_MSG_RESULT() |
97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
5127 AC_LANG_PUSH(C++) |
97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
5128 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
|
5129 [dbm_close((DBM *) 0);])], |
97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
5130 [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
|
5131 AC_MSG_RESULT(yes) |
97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
5132 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
|
5133 [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
|
5134 AC_MSG_RESULT(no)]) |
97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
5135 AC_LANG_POP() |
97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
5136 else |
97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
Ben Wing <ben@xemacs.org>
parents:
4969
diff
changeset
|
5137 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
|
5138 fi |
4699
0e1461b592ce
Check for gdbm/ndbm.h, too.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4661
diff
changeset
|
5139 $as_unset ndbm_h_file |
0e1461b592ce
Check for gdbm/ndbm.h, too.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4661
diff
changeset
|
5140 fi |
2651 | 5141 |
3739 | 5142 dnl Check for u_int*_t typedefs. |
5143 AC_CHECK_TYPES([u_int8_t, u_int16_t, u_int32_t]) | |
5144 | |
2651 | 5145 dnl Check for Berkeley DB. |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5146 if test "$with_database_berkdb" != "no"; then |
2651 | 5147 AC_MSG_CHECKING(for Berkeley db.h) |
5148 for header in "db/db.h" "db.h"; do | |
3312 | 5149 AC_COMPILE_IFELSE([AC_LANG_SOURCE([ |
2651 | 5150 #include <stdlib.h> |
5151 #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1) | |
5152 #ifdef HAVE_INTTYPES_H | |
5153 #define __BIT_TYPES_DEFINED__ | |
5154 #include <inttypes.h> | |
3739 | 5155 #if !HAVE_U_INT8_T |
2651 | 5156 typedef uint8_t u_int8_t; |
3739 | 5157 #endif |
5158 #if !HAVE_U_INT16_T | |
2651 | 5159 typedef uint16_t u_int16_t; |
3739 | 5160 #endif |
5161 #if !HAVE_U_INT32_T | |
2651 | 5162 typedef uint32_t u_int32_t; |
3739 | 5163 #endif |
2651 | 5164 #ifdef WE_DONT_NEED_QUADS |
3739 | 5165 #if !HAVE_U_INT64_T |
2651 | 5166 typedef uint64_t u_int64_t; |
5167 #endif | |
5168 #endif | |
5169 #endif | |
3739 | 5170 #endif |
2651 | 5171 #include <$header> |
3312 | 5172 ])], db_h_file="$header"; break) |
2651 | 5173 done |
5174 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
|
5175 then AC_MSG_RESULT(no); with_database_berkdb=no |
2651 | 5176 else AC_MSG_RESULT($db_h_file) |
5177 fi | |
5178 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5179 if test "$with_database_berkdb" != "no"; then |
2651 | 5180 AC_MSG_CHECKING(for Berkeley DB version) |
5181 AC_EGREP_CPP(yes, | |
5182 [#include <$db_h_file> | |
5183 #if DB_VERSION_MAJOR > 1 | |
5184 yes | |
5185 #endif | |
5186 ], [AC_EGREP_CPP(yes, | |
5187 [#include <$db_h_file> | |
5188 #if DB_VERSION_MAJOR > 2 | |
5189 yes | |
5190 #endif | |
5191 ], [AC_EGREP_CPP(yes, | |
5192 [#include <$db_h_file> | |
5193 #if DB_VERSION_MAJOR > 3 | |
5194 yes | |
5195 #endif | |
5196 ], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[ | |
5197 AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[ | |
5198 AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[ | |
5199 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
|
5200 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
|
5201 AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)]) |
2651 | 5202 fi |
5203 | |
5204 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
|
5205 if test "$with_database_berkdb" = "yes" -a "$dbver" = "4"; then |
2651 | 5206 rm -f $tempcname |
5207 echo "#include <$db_h_file>" > $tempcname | |
5208 echo "configure___ dbfunc=db_create" >> $tempcname | |
5209 define(TAB, [ ])dnl | |
5210 eval `$CPP -Isrc $tempcname \ | |
5211 | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"` | |
5212 rm -f $tempcname | |
5213 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
|
5214 AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes) |
2651 | 5215 fi |
5216 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5217 if test "$with_database_berkdb" = "yes"; then |
2651 | 5218 AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file") |
5219 AC_DEFINE(HAVE_BERKELEY_DB) | |
5220 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
|
5221 else with_database_berkdb=no |
2651 | 5222 fi |
5223 fi | |
5224 | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5225 if test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ |
2651 | 5226 != "no no no"; then |
5227 AC_DEFINE(HAVE_DATABASE) | |
5228 fi | |
5229 | |
5230 dnl Socks support | |
5231 if test "$with_socks" = "yes"; then | |
5232 AC_CHECK_LIB(socks, SOCKSinit) | |
5233 test -n "$ac_cv_lib_socks_SOCKSinit" && AC_DEFINE(HAVE_SOCKS) | |
5234 fi | |
5235 | |
5236 dnl Usage tracking (undocumented and likely unused option) | |
5237 if test "$usage_tracking" = "yes"; then | |
5238 AC_DEFINE(USAGE_TRACKING) | |
5239 XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS) | |
5240 fi | |
5241 | |
5242 dnl Enhanced number support | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5243 if test "$with_bignum" = "gmp"; then |
2651 | 5244 AC_CHECK_HEADER(gmp.h, [ |
5245 AC_CHECK_LIB(gmp, __gmpz_init, have_mpz_init=yes)]) | |
5246 if test "$have_mpz_init" = "yes"; then | |
5247 AC_DEFINE(WITH_NUMBER_TYPES) | |
5248 AC_DEFINE(WITH_GMP) | |
5249 XE_PREPEND(-lgmp, LIBS) | |
5250 else | |
5251 XE_DIE("Required GMP numeric support cannot be provided.") | |
5252 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5253 elif test "$with_bignum" = "mp"; then |
2651 | 5254 for library in "" "-lcrypto"; do |
5255 AC_CHECK_HEADER(mp.h, [ | |
5256 AC_CHECK_LIB(mp, mp_mfree, have_mp_mfree=yes; break, [ | |
5257 AC_CHECK_LIB(mp, mfree, have_mfree=yes; break, , $library)], | |
5258 $library)]) | |
5259 done | |
5260 if test "$have_mp_mfree" = "yes"; then | |
5261 AC_DEFINE(MP_PREFIX) | |
5262 XE_APPEND(-lmp, LIBS) | |
5263 if test "$library" != ""; then | |
5264 XE_APPEND($library, LIBS) | |
5265 fi | |
5266 AC_CHECK_FUNC(mp_move, [AC_DEFINE(HAVE_MP_MOVE)]) | |
5267 elif test "$have_mfree" = "yes"; then | |
5268 XE_APPEND(-lmp, LIBS) | |
5269 if test "$library" != ""; then | |
5270 XE_APPEND($library, LIBS) | |
5271 fi | |
5272 AC_CHECK_FUNC(move, [AC_DEFINE(HAVE_MP_MOVE)]) | |
5273 else | |
5274 XE_DIE("Required MP numeric support cannot be provided.") | |
5275 fi | |
5276 AC_DEFINE(WITH_NUMBER_TYPES) | |
5277 AC_DEFINE(WITH_MP) | |
5278 fi | |
5279 | |
5280 dnl Unfortunately, just because we can link doesn't mean we can run. | |
5281 dnl One of the above link tests may have succeeded but caused resulting | |
5282 dnl executables to fail to run. Also any tests using AC_RUN_IFELSE will | |
5283 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
|
5284 AC_RUN_IFELSE([AC_LANG_SOURCE([int main(int c,char **v){return 0;}])],[:],[ |
2651 | 5285 echo "" |
5286 echo "*** PANIC *** The C compiler can no longer build working executables." | |
5287 echo "*** PANIC *** Please examine the tail of config.log for runtime errors." | |
5288 echo "*** PANIC *** The most likely reason for this problem is that configure" | |
5289 echo "*** PANIC *** links with shared libraries, but those libraries cannot be" | |
5290 echo "*** PANIC *** found at run time." | |
5291 echo "*** PANIC ***" | |
5292 echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig." | |
5293 echo "*** PANIC *** On other systems, try telling configure where to find the" | |
5294 echo "*** PANIC *** shared libraries using the --with-site-runtime-libraries option" | |
5295 echo "*** PANIC ***" | |
5296 echo "*** PANIC *** Another way to shoot yourself in the foot is to specify" | |
5297 echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed" | |
5298 echo "*** PANIC *** on your system. Don't do that." | |
5299 exit 1]) | |
5300 | |
5301 dnl Process support | |
5302 if test "$win32_processes" != "yes"; then | |
5303 AC_DEFINE(HAVE_UNIX_PROCESSES) | |
5304 fi | |
5305 | |
5306 dnl -------------------------------- | |
5307 dnl Compute SUBST-itutable variables | |
5308 dnl -------------------------------- | |
5309 | |
5310 dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM) | |
5311 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
|
5312 if test "$with_modules" = "yes"; then |
2651 | 5313 ld_libs_module= |
5314 else | |
2973 | 5315 XE_SPACE(ld_libs_module, $ldap_libs $postgresql_libs $canna_libs) |
2651 | 5316 fi |
5317 | |
5318 XE_SPACE(CFLAGS, $CFLAGS) | |
5319 XE_SPACE(extra_objs, $extra_objs) | |
5320 XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system) | |
5321 XE_SPACE(c_switch_window_system, $c_switch_x_site $c_switch_gtk $X_CFLAGS) | |
5322 XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system) | |
5323 XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_run) | |
5324 XE_SPACE(ld_switch_window_system, $ld_switch_x_site) | |
5325 XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system) | |
5326 XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard) | |
5327 XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS) | |
5328 XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general $ld_libs_module) | |
5329 | |
5330 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
|
5331 if test "$with_modules" = "no"; then |
2651 | 5332 XE_APPEND(src, MAKE_SUBDIR) |
5333 fi | |
5334 | |
5335 dnl Compute lists of Makefiles and subdirs | |
5336 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
|
5337 internal_makefile_list="Makefile.in src/.gdbinit.in" |
2651 | 5338 SUBDIR_MAKEFILES='' |
5339 test -d lock || mkdir lock | |
5340 for dir in $MAKE_SUBDIR; do | |
5341 case "$dir" in */* ) dnl Implement mkdir -p | |
5342 ( for d in `echo $dir | sed 's:/: :g'` ; do | |
5343 test -d "$d" || mkdir "$d"; cd "$d" | |
5344 done ) ;; | |
5345 * ) test -d "$dir" || mkdir "$dir" ;; | |
5346 esac | |
5347 XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile) | |
5348 XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in) | |
5349 done | |
5350 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR) | |
5351 AC_SUBST(MAKE_SUBDIR) | |
5352 AC_SUBST(SUBDIR_MAKEFILES) | |
5353 | |
5354 dnl Make s&m symlinks in the src directory, for config.h. | |
5355 for dir in src/s src/m; do | |
5356 if test ! -d "$dir" ; then | |
5357 echo Making symbolic link to "$srcdir/$dir" | |
5358 ${LN_S} "$srcdir/$dir" "$dir" | |
5359 fi | |
5360 done | |
5361 | |
5362 dnl Also make modules/common link if needed for the module Makefiles. | |
5363 if test "$need_modules_common" = "yes"; then | |
5364 for dir in modules/common; do | |
5365 if test ! -d "$dir" ; then | |
5366 echo Making symbolic link to "$srcdir/$dir" | |
5367 ${LN_S} "$srcdir/$dir" "$dir" | |
5368 fi | |
5369 done | |
5370 fi | |
5371 | |
5372 if test "$verbose" = "yes"; then | |
5373 echo "" | |
5374 PRINT_VAR(extra_objs | |
5375 c_switch_general c_switch_window_system c_switch_all | |
5376 ld_switch_general ld_switch_window_system ld_switch_all | |
5377 ld_libs_general ld_libs_window_system ld_libs_all) | |
5378 echo "" | |
5379 fi | |
5380 | |
5381 dnl ---------------------------------------------- | |
5382 dnl Create some auxiliary files for developers. | |
5383 dnl ---------------------------------------------- | |
5384 | |
3418 | 5385 dnl Unlike TAGS, debugger init files depend on config.h. |
5386 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
|
5387 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
|
5388 dnl its source is in src/.gdbinit.in.in. |
2651 | 5389 |
5390 dnl Create a .dbxrc useful for debugging XEmacs | |
3418 | 5391 if test -f "$srcdir/etc/dbxrc.in"; then |
3092 | 5392 test "$verbose" = "yes" && echo "creating src/.dbxrc.in" |
3418 | 5393 echo ". $srcdir/etc/dbxrc.in" > "src/.dbxrc.in" |
2651 | 5394 fi |
5395 | |
5396 dnl Create a useful TAGS file | |
5397 if test -f "$srcdir/TAGS" -a ! -f "TAGS"; then | |
5398 test "$verbose" = "yes" && echo "creating TAGS" | |
5399 echo " | |
5400 $srcdir/TAGS,include" > "TAGS" | |
5401 fi | |
5402 | |
5403 dnl Create top level .sbinit for Sun compilers | |
5404 if test "$__SUNPRO_C" = "yes"; then | |
5405 test "$verbose" = "yes" && echo "creating .sbinit" | |
5406 ( echo "# For use with Sun WorkShop's Source browser." | |
5407 echo "# See sbquery(1) and sbinit(4) for more information" | |
5408 for dir in $MAKE_SUBDIR; do echo "import $dir"; done | |
5409 ) > .sbinit | |
5410 fi | |
5411 | |
5412 dnl There are no more compile tests; remove the core they created. | |
5413 rm -f core | |
5414 | |
5415 dnl ---------------------------------------------- | |
5416 dnl Substitute into Makefile, config.h and paths.h | |
5417 dnl ---------------------------------------------- | |
5418 | |
5419 dnl what sort of things to edit into Makefile, config.h and paths.h | |
5420 dnl configuration here uncanonicalized to avoid exceeding size limits. | |
5421 | |
5422 AC_SUBST(PROGNAME) | |
5423 AC_SUBST(version) | |
3972 | 5424 AC_SUBST(verbose_version) |
2651 | 5425 AC_SUBST(inststaticdir) |
5426 AC_SUBST(instvardir) | |
5427 AC_SUBST(srcdir) | |
5428 AC_SUBST(bindir) | |
4118 | 5429 AC_SUBST(datarootdir) |
2651 | 5430 AC_SUBST(datadir) |
5431 AC_SUBST(statedir) | |
5432 AC_SUBST(libdir) | |
5433 AC_SUBST(mandir) | |
5434 AC_SUBST(extra_includes) | |
5435 | |
5436 AC_SUBST(prefix) | |
5437 AC_SUBST(PREFIX_USER_DEFINED) | |
4660
32be564c53dd
More accurate tests for explicitly-set paths.
Mike Sperber <sperber@deinprogramm.de>
parents:
4656
diff
changeset
|
5438 XE_EXPAND_VARIABLE(prefix,PREFIX) |
4661
24224362882c
Expand @PREFIX@ in paths.h.
Mike Sperber <sperber@deinprogramm.de>
parents:
4660
diff
changeset
|
5439 AC_SUBST(PREFIX) |
2651 | 5440 |
5441 AC_SUBST(exec_prefix) | |
5442 AC_SUBST(EXEC_PREFIX_USER_DEFINED) | |
4660
32be564c53dd
More accurate tests for explicitly-set paths.
Mike Sperber <sperber@deinprogramm.de>
parents:
4656
diff
changeset
|
5443 XE_EXPAND_VARIABLE(exec_prefix,EXEC_PREFIX) |
2651 | 5444 AC_SUBST(EXEC_PREFIX) |
5445 | |
5446 AC_SUBST(infodir) | |
5447 AC_SUBST(INFODIR_USER_DEFINED) | |
3729 | 5448 XE_EXPAND_VARIABLE(infodir,INFODIR) |
2651 | 5449 AC_SUBST(INFODIR) |
5450 | |
5451 AC_SUBST(infopath,$with_infopath) | |
5452 AC_SUBST(INFOPATH_USER_DEFINED) | |
3729 | 5453 XE_EXPAND_VARIABLE(with_info_path,INFOPATH) |
4455
49f8ed034500
Fix path-configuration glitches:
Mike Sperber <sperber@deinprogramm.de>
parents:
4450
diff
changeset
|
5454 AC_SUBST(INFOPATH) |
2651 | 5455 |
3179 | 5456 test -n "$with_user_packages" && with_early_packages=$with_user_packages |
5457 AC_SUBST(early_packages,$with_early_packages) | |
5458 AC_SUBST(EARLY_PACKAGE_DIRECTORIES_USER_DEFINED) | |
3729 | 5459 XE_EXPAND_VARIABLE(with_early_packages,EARLY_PACKAGE_DIRECTORIES) |
3179 | 5460 AC_SUBST(EARLY_PACKAGE_DIRECTORIES) |
5461 | |
5462 test -n "$with_system_packages" && with_late_packages=$with_system_packages | |
5463 AC_SUBST(late_packages,$with_late_packages) | |
5464 AC_SUBST(LATE_PACKAGE_DIRECTORIES_USER_DEFINED) | |
3729 | 5465 XE_EXPAND_VARIABLE(with_late_packages,LATE_PACKAGE_DIRECTORIES) |
3179 | 5466 AC_SUBST(LATE_PACKAGE_DIRECTORIES) |
5467 | |
5468 test -n "$with_legacy_packages" && with_last_packages=$with_legacy_packages | |
5469 AC_SUBST(last_packages,$with_last_packages) | |
5470 AC_SUBST(LAST_PACKAGE_DIRECTORIES_USER_DEFINED) | |
3729 | 5471 XE_EXPAND_VARIABLE(with_last_packages,LAST_PACKAGE_DIRECTORIES) |
3179 | 5472 AC_SUBST(LAST_PACKAGE_DIRECTORIES) |
2651 | 5473 |
5474 AC_SUBST(package_path,$with_package_path) | |
5475 AC_SUBST(PACKAGE_PATH_USER_DEFINED) | |
3729 | 5476 XE_EXPAND_VARIABLE(with_package_path,PACKAGE_PATH) |
2651 | 5477 AC_SUBST(PACKAGE_PATH) |
5478 | |
5479 AC_SUBST(lispdir, $with_lispdir) | |
5480 AC_SUBST(LISPDIR_USER_DEFINED) | |
3729 | 5481 XE_EXPAND_VARIABLE(with_lispdir,LISPDIR) |
2651 | 5482 AC_SUBST(LISPDIR) |
5483 | |
5484 AC_SUBST(moduledir,$with_moduledir) | |
5485 AC_SUBST(MODULEDIR_USER_DEFINED) | |
3729 | 5486 XE_EXPAND_VARIABLE(with_moduledir,MODULEDIR) |
2651 | 5487 AC_SUBST(MODULEDIR) |
5488 | |
5489 AC_SUBST(sitelispdir,$with_sitelispdir) | |
5490 AC_SUBST(SITELISPDIR_USER_DEFINED) | |
3729 | 5491 XE_EXPAND_VARIABLE(sitelispdir,SITELISPDIR) |
2651 | 5492 AC_SUBST(SITELISPDIR) |
5493 | |
5494 AC_SUBST(sitemoduledir) | |
5495 AC_SUBST(SITEMODULEDIR_USER_DEFINED) | |
3729 | 5496 XE_EXPAND_VARIABLE(sitemoduledir,SITEMODULEDIR) |
2651 | 5497 AC_SUBST(SITEMODULEDIR) |
5498 | |
5499 AC_SUBST(etcdir,$with_etcdir) | |
5500 AC_SUBST(ETCDIR_USER_DEFINED) | |
3729 | 5501 XE_EXPAND_VARIABLE(with_etcdir,ETCDIR) |
2651 | 5502 AC_SUBST(ETCDIR) |
5503 | |
5504 AC_SUBST(archlibdir,$with_archlibdir) | |
5505 AC_SUBST(ARCHLIBDIR_USER_DEFINED) | |
5506 ARCHLIBDIR=$with_archlibdir | |
3729 | 5507 XE_EXPAND_VARIABLE(with_archlibdir,ARCHLIBDIR) |
2651 | 5508 AC_SUBST(ARCHLIBDIR) |
5509 | |
5510 AC_SUBST(docdir,$with_docdir) | |
5511 AC_SUBST(DOCDIR_USER_DEFINED) | |
3729 | 5512 XE_EXPAND_VARIABLE(with_docdir,DOCDIR) |
2651 | 5513 AC_SUBST(DOCDIR) |
5514 | |
5515 AC_SUBST(docdir) | |
5516 AC_SUBST(bitmapdir) | |
5517 AC_SUBST(extra_objs) | |
5518 | |
5519 dnl The following flags combine all the information from: | |
5520 dnl - command line options (user always gets priority) | |
5521 dnl - user environment variables | |
5522 dnl - determined by configure | |
5523 dnl - the s&m header files (required for ellcc) | |
5524 AC_SUBST(machfile) | |
5525 AC_SUBST(opsysfile) | |
5526 AC_SUBST(c_switch_general) | |
5527 AC_SUBST(c_switch_window_system) | |
5528 AC_SUBST(c_switch_all) | |
5529 AC_SUBST(ld_switch_general) | |
5530 AC_SUBST(ld_switch_window_system) | |
5531 AC_SUBST(ld_switch_all) | |
5532 AC_SUBST(ld_libs_general) | |
5533 AC_SUBST(ld_libs_window_system) | |
5534 AC_SUBST(ld_libs_all) | |
5535 AC_SUBST(CFLAGS) | |
5536 AC_SUBST(CPPFLAGS) | |
5537 AC_SUBST(LDFLAGS) | |
5538 RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" | |
5539 AC_SUBST(RECURSIVE_MAKE_ARGS) | |
5540 | |
5541 AC_SUBST(native_sound_lib,$with_native_sound_lib) | |
5542 AC_SUBST(sound_cflags) | |
5543 AC_SUBST(RANLIB) | |
5544 | |
5545 AC_SUBST(XEMACS_CC) | |
5546 AC_SUBST(XE_CFLAGS) | |
5547 | |
5548 dnl The default is yes | |
5549 if test "$with_prefix" = "yes"; then | |
5550 AC_DEFINE(PREFIX_USER_DEFINED) | |
5551 fi | |
5552 | |
5553 dnl The default is no | |
5554 if test "$with_site_lisp" = "no"; then | |
5555 AC_DEFINE(INHIBIT_SITE_LISP) | |
5556 fi | |
5557 dnl The default is yes | |
5558 if test "$with_site_modules" = "no"; then | |
5559 AC_DEFINE(INHIBIT_SITE_MODULES) | |
5560 fi | |
5561 | |
5562 XE_SPACE(ac_configure_args, $ac_configure_args) | |
3765 | 5563 dnl Put back the leading space to work around problems with |
5564 dnl 'config.status --recheck' under autoconf 2.60 and 2.61. | |
5565 ac_configure_args=" $ac_configure_args" | |
2651 | 5566 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$ac_cv_build") |
5567 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args") | |
5568 | |
5569 dnl Following are deprecated | |
5570 | |
5571 null_string="" | |
5572 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, $null_string) | |
5573 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, $null_string) | |
5574 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, $null_string) | |
5575 AC_DEFINE_UNQUOTED(LD_SWITCH_SITE, $null_string) | |
5576 AC_DEFINE_UNQUOTED(C_SWITCH_SITE, $null_string) | |
5577 | |
5578 dnl Note: as a general rule, *only* define things here that are not | |
5579 dnl autodetected. For things that are autodetected, define them | |
5580 dnl at the point where the autodetection occurs or would occur, | |
5581 dnl so that the user gets immediate feedback on the results of the | |
5582 dnl autodetection. | |
5583 | |
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
|
5584 if test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC) |
2651 | 5585 elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC) |
5586 AC_DEFINE(USE_SYSTEM_MALLOC) | |
5587 fi | |
4932 | 5588 test "$GCC" = "yes" && AC_DEFINE(USE_GCC) |
5589 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
|
5590 test "$with_external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET) |
4932 | 5591 test "$with_kkcc" = "yes" && AC_DEFINE(USE_KKCC) |
5592 test "$with_newgc" = "yes" && AC_DEFINE(NEW_GC) | |
5593 test "$have_vdb_posix" = "yes" && AC_DEFINE(VDB_POSIX) | |
5594 test "$have_vdb_fake" = "yes" && AC_DEFINE(VDB_FAKE) | |
5595 test "$with_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) | |
5596 test "$with_purify" = "yes" && AC_DEFINE(PURIFY) | |
5597 test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) | |
5598 test "$with_valgrind" = "yes" && AC_DEFINE(USE_VALGRIND) | |
5599 test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) | |
5600 test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS) | |
5601 test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD) | |
5602 test "$with_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE) | |
5603 test "$with_pdump" = "yes" && AC_DEFINE(PDUMP) | |
5604 test "$with_dump_in_exec" = "yes" && AC_DEFINE(DUMP_IN_EXEC) | |
5605 test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE) | |
2651 | 5606 |
5607 | |
5608 | |
5609 dnl ------------------------------------------------------------------------- | |
5610 dnl ------------------------------- | |
5611 dnl Report on what we decided to do | |
5612 dnl ------------------------------- | |
5613 | |
5614 dnl #### We should tag this as the _build_ environment. | |
5615 dnl Before doing that, though, must check if tools care about line 1. | |
5616 | |
5617 ( | |
5618 dnl /etc/osversion is on SONY NEWS-OS | |
5619 if test -f /etc/osversion; then dnl SONY NEWS-OS | |
5620 echo "osversion: `cat /etc/osversion`" | |
5621 else | |
5622 echo "uname -a: `uname -a`" | |
5623 fi | |
5624 echo "" | |
5625 echo "$progname $ac_configure_args" | |
5626 ) > Installation | |
5627 | |
5628 if test ! -z ${emacs_beta_version} ; then | |
5629 if test -z "${emacs_is_beta}" ; then | |
5630 xemacs_betaname=".${emacs_beta_version}" | |
5631 else | |
5632 xemacs_betaname="-b${emacs_beta_version}" | |
5633 fi | |
5634 else | |
5635 xemacs_betaname="" | |
5636 fi | |
5637 | |
5638 dnl Start stdout redirection to '| tee -a Installation' | |
5639 ( | |
5640 echo " | |
5641 | |
2938 | 5642 XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" $xemacs_extra_name configured for \`$ac_cv_build'." |
2651 | 5643 |
5644 echo " | |
5645 Compilation Environment and Installation Defaults:" | |
5646 echo " Source code location: $srcdir" | |
5647 echo " Installation prefix: $prefix" | |
5648 if test -n "$with_site_includes"; then | |
5649 echo " Additional header files: $with_site_includes" | |
5650 fi | |
5651 if test -n "$with_site_libraries"; then | |
5652 echo " Additional libraries: $with_site_libraries" | |
5653 fi | |
5654 if test -n "$with_site_prefixes"; then | |
5655 echo " Additional prefixes: $with_site_prefixes" | |
5656 fi | |
5657 if test -n "$runpath"; then | |
5658 echo " Runtime library search path: $runpath" | |
5659 fi | |
5660 | |
5661 if test -n "$opsysfile" | |
5662 then echo " Operating system description file: \`$opsysfile'" | |
5663 else echo " Not using any operating system description file" | |
5664 fi | |
5665 if test -n "$machfile" | |
5666 then echo " Machine description file: \`$machfile'" | |
5667 else echo " Not using any machine description file" | |
5668 fi | |
5669 | |
5670 echo " Compiler version: $compiler_version" | |
5671 if test -n "$gcc_compiler_specs"; then | |
5672 echo " - GCC specs file: $gcc_compiler_specs" | |
5673 fi | |
5674 echo " - Compiler command: $XEMACS_CC $XE_CFLAGS" | |
5675 if test "$CC" != "$XEMACS_CC"; then | |
5676 echo " Compiler version for lib-src: (detection code unimplemented)" | |
5677 echo " - Compiler command for lib-src: $CC $CFLAGS" | |
5678 if test "$xemacs_cc_cc_mismatch" = "yes"; then | |
5679 echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully." | |
5680 fi | |
5681 fi | |
5682 echo " libc version: $libc_version" | |
5683 echo " Relocating allocator for buffers: $with_rel_alloc" | |
5684 echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" | |
5685 case "$ld_switch_site" in | |
5686 *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
|
5687 - Consider configuring with --with-pdump." ;; |
2651 | 5688 esac |
5689 | |
5690 echo " | |
5691 Window System:" | |
5692 if test "$with_msw" = "yes"; then | |
5693 echo " Compiling in support for the Microsoft window system." | |
5694 fi | |
5695 if test "$with_x11" = "yes"; then | |
5696 echo " Compiling in support for the X window system:" | |
5697 echo " - X Windows headers location: $x_includes" | |
5698 echo " - X Windows libraries location: $x_libraries" | |
5699 if test "$with_xauth" != yes; then | |
5700 echo " - Xau (X authority) not available." | |
5701 fi | |
5702 if test "$with_wmcommand" != no; then | |
5703 echo " - Handling WM_COMMAND properly." | |
5704 fi | |
3354 | 5705 if test "$with_fontconfig" = "yes"; then |
5706 echo " - Using fontconfig to manage fonts." | |
5707 fi | |
3166 | 5708 if test "$with_xft_emacs" = "yes"; then |
3094 | 5709 echo " - Compiling in support for Xft antialiased fonts (EXPERIMENTAL)." |
5710 fi | |
2651 | 5711 fi |
3019 | 5712 if test "$need_motif" = "yes" ; then |
5713 echo " Compiling in support for Motif." | |
5714 if test "$have_lesstif" = "yes"; then | |
5715 echo " - Using LessTif implementation." | |
5716 fi | |
5717 echo " *WARNING* Many versions of Motif are buggy, requiring workarounds." | |
5718 echo " You are likely to experience slow redisplay." | |
5719 echo " You may need to install vendor patches to Motif." | |
5720 echo " See PROBLEMS for more information." | |
5721 fi | |
2651 | 5722 if test "$need_athena" = "yes"; then |
5723 echo " Compiling in support for the Athena widget set:" | |
5724 echo " - Athena headers location: $athena_h_path" | |
5725 echo " - Athena library to link: $athena_lib" | |
5726 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5727 case "$with_menubars" in |
2651 | 5728 gtk ) echo " Using GTK menubars." ;; |
5729 lucid ) echo " Using Lucid menubars." ;; | |
5730 motif ) echo " Using Motif menubars." | |
5731 echo " *WARNING* The Motif menubar implementation is currently buggy." | |
5732 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
|
5733 echo " Re-run configure with --with-menubars='lucid'." ;; |
2651 | 5734 msw ) echo " Using MS-Windows menubars." ;; |
5735 esac | |
3094 | 5736 if test "$with_xft_menubars" = "yes"; then |
5737 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
|
5738 echo " WARNING: This Xft feature will be replaced with a face." |
3094 | 5739 fi |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5740 case "$with_scrollbars" in |
2651 | 5741 gtk ) echo " Using GTK scrollbars." ;; |
5742 lucid ) echo " Using Lucid scrollbars." ;; | |
5743 motif ) echo " Using Motif scrollbars." ;; | |
5744 athena ) echo " Using Athena scrollbars." ;; | |
5745 msw ) echo " Using MS-Windows scrollbars." ;; | |
5746 esac | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5747 case "$with_dialogs" in |
2651 | 5748 gtk ) echo " Using GTK dialog boxes." ;; |
5749 motif ) echo " Using Motif dialog boxes." | |
5750 if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then | |
5751 echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher." | |
5752 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
|
5753 echo " Install libXaw and re-run configure with --with-dialogs='athena'." |
2651 | 5754 echo " Read the PROBLEMS file for more information." |
5755 fi; fi ;; | |
5756 athena ) echo " Using Athena dialog boxes." ;; | |
5757 msw ) echo " Using MS-Windows dialog boxes." ;; | |
5758 esac | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5759 case "$with_widgets" in |
2651 | 5760 gtk ) echo " Using GTK native widgets." ;; |
5761 motif ) echo " Using Motif native widgets." ;; | |
5762 athena ) echo " Using Athena native widgets." ;; | |
5763 msw ) echo " Using MS-Windows native widgets." ;; | |
5764 esac | |
3094 | 5765 if test "$with_xft_tabs" = "yes"; then |
5766 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
|
5767 echo " WARNING: This Xft feature will be replaced with a face." |
3094 | 5768 fi |
4497
f863b2ee146f
Rename xft_gauge to xft_gauges.
Mats Lidell <matsl@xemacs.org>
parents:
4496
diff
changeset
|
5769 if test "$with_xft_gauges" = "yes"; then |
3094 | 5770 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
|
5771 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
|
5772 echo " WARNING: This Xft feature not yet implemented; setting ignored." |
3094 | 5773 fi |
2651 | 5774 if test "$with_dragndrop" = yes; then |
5775 echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)." | |
5776 echo " - Drag'n'Drop prototype: $dragndrop_proto." | |
5777 fi | |
5778 | |
5779 echo " | |
5780 TTY:" | |
5781 test "$with_ncurses" = yes && echo " Compiling in support for ncurses." | |
5782 test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)." | |
5783 | |
5784 echo " | |
5785 Images:" | |
4708
1cecc3e9f0a0
Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents:
4699
diff
changeset
|
5786 test "$with_gif" = yes && echo " Compiling in support for GIF images." |
2651 | 5787 if test "$with_xpm" = yes; then |
5788 echo " Compiling in support for XPM images." | |
5789 elif test "$with_x11" = yes; then | |
5790 echo " WARNING: -----------------------------------------------------------" | |
5791 echo " WARNING: Compiling without XPM image support." | |
5792 if test "$xpm_problem" != ""; then | |
5793 echo " Reason: $xpm_problem" | |
5794 fi | |
5795 echo " WARNING: You should strongly consider installing XPM." | |
5796 echo " WARNING: Otherwise toolbars and other graphics will look suboptimal." | |
5797 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" | |
5798 echo " WARNING: -----------------------------------------------------------" | |
5799 fi | |
5800 if test "$with_png" = yes; then | |
5801 echo " Compiling in support for PNG images." | |
5802 elif test "$window_system" != "none"; then | |
5803 echo " WARNING: -----------------------------------------------------------" | |
5804 echo " WARNING: Compiling without PNG image support." | |
5805 if test "$png_problem" != ""; then | |
5806 echo " Reason: $png_problem" | |
5807 fi | |
5808 echo " WARNING: You should strongly consider installing the PNG libraries." | |
5809 echo " WARNING: Otherwise certain images and glyphs may not display." | |
5810 echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" | |
5811 echo " WARNING: -----------------------------------------------------------" | |
5812 fi | |
5813 test "$with_jpeg" = yes && echo " Compiling in support for JPEG images." | |
5814 test "$with_tiff" = yes && echo " Compiling in support for TIFF images." | |
5815 test "$with_xface" = yes && echo " Compiling in support for X-Face message headers." | |
5816 | |
5817 echo " | |
5818 Sound:" | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5819 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
|
5820 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
|
5821 test "$with_sound_nas" = yes && echo " Compiling in support for NAS (network audio system)." |
2651 | 5822 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
|
5823 test "$with_sound_esd" = yes && echo " Compiling in support for ESD (Enlightened Sound Daemon)." |
2651 | 5824 |
5825 echo " | |
5826 Databases:" | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5827 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
|
5828 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
|
5829 test "$with_database_gdbm" = yes && echo " Compiling in support for GNU DBM." |
2651 | 5830 test "$with_ldap" = yes && echo " Compiling in support for LDAP." |
5831 if test "$with_postgresql" = yes; then | |
5832 echo " Compiling in support for PostgreSQL." | |
5833 echo " - Using PostgreSQL header file: $libpq_fe_h_file" | |
5834 test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings." | |
5835 fi | |
5836 | |
5837 echo " | |
5838 Internationalization:" | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5839 test "$with_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)." |
2651 | 5840 test "$with_xim" != no && echo " Compiling in support for XIM (X11R5+ I18N input method)." |
5841 test "$with_xim" = motif && echo " - Using Motif to provide XIM support." | |
5842 test "$with_xim" = xlib && echo " - Using raw Xlib to provide XIM support." | |
5843 test "$with_xfs" = yes && echo " - Using XFontSet to provide bilingual menubar." | |
3830 | 5844 test "$have_canna" = yes && echo " Compiling in support for Canna on Mule." |
2651 | 5845 if test "$with_wnn" = yes; then |
5846 echo " Compiling in support for the WNN input method on Mule." | |
5847 test "$with_wnn6" = yes && echo " - Using WNN version 6." | |
5848 fi | |
5849 | |
5850 echo " | |
5851 Mail:" | |
5852 test "$with_pop" = yes && echo " Compiling in support for POP mail retrieval." | |
5853 test "$with_kerberos" = yes && echo " Compiling in support for Kerberos POP authentication." | |
5854 test "$with_hesiod" = yes && echo " Compiling in support for Hesiod POP server access." | |
5855 test -n "$with_mail_locking" && echo " Compiling in support for \"$with_mail_locking\" mail spool file locking method." | |
5856 | |
5857 echo " | |
5858 Other Features:" | |
5859 test "$with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup." | |
5860 test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk." | |
5861 test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop." | |
5862 test "$with_socks" = yes && echo " Compiling in support for SOCKS." | |
5863 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
|
5864 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
|
5865 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
|
5866 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
|
5867 if test "$with_union_type" = yes ; then |
2651 | 5868 echo " Using the union type for Lisp_Objects." |
5869 echo " WARNING: ---------------------------------------------------------" | |
5870 echo " WARNING: This tends to trigger compiler bugs, especially when" | |
5871 echo " WARNING: combined with MULE and ERROR_CHECKING. Crashes have" | |
5872 echo " WARNING: been seen with various versions of GCC (up to about 2.95)," | |
5873 echo " WARNING: and recently with Visual C++ as well (mid-2003)." | |
5874 echo " WARNING: More recent versions may be safer, or not." | |
5875 echo " WARNING: ---------------------------------------------------------" | |
5876 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5877 if test "$with_kkcc" = yes ; then |
3263 | 5878 echo " Using the new GC mark algorithms (KKCC)." |
2790 | 5879 echo " WARNING: ---------------------------------------------------------" |
5880 echo " WARNING: The new algorithms are experimental. They are enabled by" | |
5881 echo " WARNING: default for this release. Use \`--disable-kkcc' to" | |
5882 echo " WARNING: turn it off." | |
5883 echo " WARNING: ---------------------------------------------------------" | |
5884 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5885 test "$with_newgc" = yes && echo " Using the new incremental garbage collector and the new allocator." |
3092 | 5886 if test "$have_vdb_posix" = yes ; then |
5887 if test "$have_vdb_sigaction" = yes ; then | |
5888 echo " Using POSIX sigaction() to install fault handler." | |
5889 else | |
5890 echo " Using POSIX signal() to install vdb fault handler." | |
5891 fi | |
5892 fi | |
5893 if test "$have_vdb_win32" = yes ; then | |
5894 echo " Using special WIN32 vdb fault handler." | |
5895 fi | |
5896 if test "$have_vdb_mach" = yes ; then | |
5897 echo " Using mach exception mechanism as vdb fault handler." | |
5898 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5899 if test "$have_vdb_fake" = yes && test "$with_vdb" == fake; then |
3092 | 5900 echo " Virtual dirty bit write barrier manually disabled." |
5901 fi | |
4842
1d775c6304d1
Use with-FOO consistently instead of enable-FOO
Ben Wing <ben@xemacs.org>
parents:
4834
diff
changeset
|
5902 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
|
5903 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
|
5904 test "$with_debug" = yes && echo " Compiling in support for extra debugging code." |
2651 | 5905 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
|
5906 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 | 5907 != "no no no no no no no no no"; then |
5908 echo " Compiling in support for runtime error checking." | |
5909 echo " WARNING: ---------------------------------------------------------" | |
5910 echo " WARNING: XEmacs will run noticeably more slowly as a result." | |
5911 echo " WARNING: Error checking is on by default for XEmacs beta releases." | |
5912 echo " WARNING: ---------------------------------------------------------" | |
5913 fi | |
4803
5d120deb60ca
Enable rudimentary support for valgrind, including functions that tell valgrind
Jerry James <james@xemacs.org>
parents:
4790
diff
changeset
|
5914 test "$with_valgrind" = yes && echo " Compiling in support for memory debugging with Valgrind." |
2651 | 5915 echo "" |
5916 ) | tee -a Installation | |
5917 dnl echo "The above configure report is appended to \"Installation\" file." | |
5918 echo "" | |
5919 | |
5920 dnl ----------------------------------- | |
5921 dnl Now generate config.h and Makefiles | |
5922 dnl ----------------------------------- | |
5923 AC_CONFIG_HEADER(src/config.h lwlib/config.h) | |
5924 | |
5925 dnl This has to be called in order for this variable to get into config.status | |
5926 AC_SUBST(internal_makefile_list) | |
5927 # Remove any trailing slashes in these variables. | |
5928 test -n "$prefix" && | |
5929 prefix=`echo '' "$prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'` | |
5930 test -n "$exec_prefix" && | |
5931 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'` | |
5932 | |
5933 dnl Build Makefile.in's from Makefile.in.in's | |
5934 dnl except ./Makefile from $srcdir/Makefile.in | |
5935 dnl src/Makefile.in will have src/depend appended to it; | |
5936 dnl module Makefiles will have the common text in | |
5937 dnl modules/common/Makefile.common appended. | |
5938 | |
3481 | 5939 dnl this actually should be conditional on having perl (ie, effectively |
5940 dnl unconditional on sane systems) | |
5941 if test -r $srcdir/src/depend; then :; | |
5942 else | |
5943 echo "creating $srcdir/src/depend" | |
5944 perl $srcdir/src/make-src-depend > $srcdir/src/depend | |
5945 fi | |
5946 | |
2651 | 5947 for file in $internal_makefile_list; do |
5948 case $file in | |
5949 src/Makefile.in ) file="src/Makefile.in:src/Makefile.in.in:src/depend" ;; | |
5950 modules/* ) file="${file}:${file}.in:modules/common/Makefile.common" ;; | |
5951 esac | |
5952 AC_CONFIG_FILES($file) | |
5953 done | |
5954 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
|
5955 test "$with_modules" = "yes" && AC_CONFIG_FILES(lib-src/ellcc.h) |
2651 | 5956 |
5957 | |
5958 dnl Normally []'s are used for quoting but this will cause problems | |
5959 dnl since we use brackets in sed. When not inside of a macro definition, | |
5960 dnl two brackets become one, but inside of a macro definition you need | |
5961 dnl more, or something -- I don't understand, but Martin probably does. | |
5962 dnl We put the brackets back later. | |
5963 dnl [ben] | |
3418 | 5964 dnl To insert comments that will remain in the generated file, we use the |
5965 dnl imake XCOMM convention. Lines beginning with "XCOMM " exactly (no | |
5966 dnl leading whitespace, one trailing ASCII space, case sensitive) will be | |
5967 dnl transformed to shell/make/gdb comments in the generated file. | |
5968 dnl [sjt] | |
2651 | 5969 |
5970 dnl MAKE_JUNK_C(filename): | |
5971 dnl Copy a .in file to junk.c in preparation for passing through the | |
5972 dnl C preprocessor. Delete comment lines, pass lines that will be | |
5973 dnl interpreted by cpp through directly, and put quotes around remaining | |
5974 dnl lines, to avoid problems from overly helpful preprocessors that | |
5975 dnl "helpfully" put extra quotes in various places for later use by the | |
5976 dnl compiler. Later, the quotes will be removed. | |
5977 | |
5978 m4_define([MAKE_JUNK_C], | |
5979 [ rm -f junk.c | |
5980 < $1 \ | |
5981 sed -e '/^# Generated/d' \ | |
5982 -e 's%/\*\*/#.*%%' \ | |
5983 -e 's/^ *# */#/' \ | |
5984 dnl Delete Makefile.in.in comment lines | |
5985 -e '/^##/d' \ | |
5986 dnl Pass through CPP directives unchanged | |
5987 -e '/^#/ { | |
5988 p | |
5989 d | |
5990 }' \ | |
5991 dnl Quote other lines to protect from CPP substitution | |
5992 -e '/./ { | |
5993 s/\([[\"]]\)/\\\1/g | |
5994 s/^/"/ | |
5995 s/$/"/ | |
5996 }' > junk.c; | |
5997 ])dnl MAKE_JUNK_C | |
5998 | |
5999 dnl CPP_MAKEFILE(CPPFLAGS,filename): | |
6000 dnl Pass junk.c through the preprocessor and put the result in FILENAME. | |
6001 | |
6002 m4_define([CPP_MAKEFILE], | |
6003 [echo creating $dir/$2 | |
6004 $CPP -I. -I${srcdir}/src $1 junk.c \ | |
6005 dnl Delete line directives inserted by $CPP | |
6006 | sed -e 's/^\#.*//' \ | |
6007 dnl Delete spurious blanks inserted by $CPP | |
6008 -e 's/^[[ TAB]][[ TAB]]*$//'\ | |
6009 -e 's/^ /TAB/' \ | |
6010 dnl Delete blank lines | |
6011 -e '/^[[ ]]*$/d' \ | |
6012 dnl Restore lines quoted above to original contents. | |
6013 -e '/^\"/ { | |
6014 s/\\\([[\"]]\)/\1/g | |
6015 s/^[[ TAB]]*\"// | |
6016 s/\"[[ TAB]]*$// | |
3418 | 6017 }' \ |
6018 dnl Convert comments -- must come after the unquoting operations | |
6019 -e 's/^XCOMM /\# /' > Makefile.new | |
2651 | 6020 chmod 444 Makefile.new |
6021 mv -f Makefile.new $2 | |
6022 ])dnl CPP_MAKEFILE | |
6023 | |
6024 AC_CONFIG_COMMANDS([default], | |
6025 [for dir in . $MAKE_SUBDIR; do | |
6026 ( | |
6027 cd $dir | |
6028 | |
6029 dnl Create a GNUmakefile and Makefile from Makefile.in. | |
6030 dnl Create xemacs.def from xemacs.def.in in the same fashion, | |
3418 | 6031 dnl if it exists (i.e. in the src/ directory). Ditto for the |
6032 dnl debugger init files (in the src/ directory). | |
2651 | 6033 MAKE_JUNK_C(Makefile.in) |
6034 CPP_MAKEFILE(,Makefile) | |
6035 CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile) | |
3092 | 6036 if test -r ".gdbinit.in"; then |
6037 MAKE_JUNK_C(.gdbinit.in) | |
6038 CPP_MAKEFILE(,.gdbinit) | |
6039 fi | |
6040 if test -r ".dbxrc.in"; then | |
6041 MAKE_JUNK_C(.dbxrc.in) | |
6042 CPP_MAKEFILE(,.dbxrc) | |
6043 fi | |
2651 | 6044 if test -r "xemacs.def.in"; then |
6045 dnl #### We should be using MAKE_JUNK_C instead of the next two lines. | |
6046 dnl #### But the comments in xemacs.def.in need to be converted from C-style | |
6047 dnl #### to lines beginning with ##. | |
6048 rm -f junk.c | |
6049 cp xemacs.def.in junk.c | |
6050 CPP_MAKEFILE(,xemacs.def) | |
6051 fi | |
6052 rm -f junk.c | |
6053 ) | |
6054 done | |
6055 | |
6056 dnl Append AC_DEFINE information to lib-src/config.values | |
6057 dnl (AC_SUBST information is already there (see config.values.sh). | |
6058 sed < config.status >> lib-src/config.values \ | |
6059 -e '/{ac_dA}.*{ac_dB}.*{ac_dC}.*{ac_dD}$/!d' \ | |
6060 -e 's/\${ac_dA}\(.*\)\${ac_dB}.*\${ac_dC}\(.*\)\${ac_dD}/\1 \2/' \ | |
6061 -e 's/^\([[^ ]]*\) $/\1 ""/' \ | |
6062 -e 's/ 1$/ t/' | |
6063 | |
6064 ], | |
6065 [CPP="$CPP" | |
6066 MAKE_SUBDIR="$MAKE_SUBDIR" | |
6067 ])dnl | |
6068 | |
6069 AC_OUTPUT()dnl | |
6070 |