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