2003/09/10 05:36:20
[org.ibex.core.git] / upstream / gcc-3.3 / patches / darwin.patch
1 diff -Nur ../boehm-gc/ChangeLog boehm-gc/ChangeLog
2 --- ../boehm-gc/ChangeLog       Tue Jan 21 22:02:28 2003
3 +++ boehm-gc/ChangeLog  Tue May 13 17:08:56 2003
4 @@ -1,3 +1,69 @@
5 +2003-05-13  Release Manager
6 +
7 +       * GCC 3.3 Released.
8 +
9 +2003-05-13  Release Manager
10 +
11 +       * GCC 3.3 Released.
12 +
13 +2003-05-13  Release Manager
14 +
15 +       * GCC 3.3 Released.
16 +
17 +2003-05-13  Release Manager
18 +
19 +       * GCC 3.3 Released.
20 +
21 +2003-04-28  Mohan Embar  <gnustuff@thisiscool.com>
22 +
23 +       * configure.in: define GC_DLL under mingw if --enable-shared
24 +       * configure: rebuilt
25 +       * win32_threads.c: add #ifdef GC_DLL around DllMain
26 +
27 +2003-04-09  Tom Tromey  <tromey@redhat.com>
28 +
29 +       * include/private/gcconfig.h (LINUX_STACKBOTTOM): Define for
30 +       POWERPC.
31 +       (STACK_GRAN, HEURISTIC1): Don't define for POWERPC.
32 +
33 +2003-03-04  Hans Boehm <Hans.Boehm@hp.com>
34 +       * include/private/gcconfig.h (GC_data_start): declare when needed.
35 +       * include/private/gc_priv.h: Include gcconfig.h after ptr_t
36 +       declaration.
37 +
38 +2003-03-03  Hans Boehm  <Hans.Boehm@hp.com>
39 +       * mark_rts.c (GC_cond_register_dynamic_libraries): add.
40 +       (GC_push_roots): explicitly mark free list headers, register
41 +       dynamic libraries only if !REGISTER_LIBRARIES_EARLY.
42 +       * alloc.c (GC_stopped_mark): Conditionally call
43 +       GC_cond_register_dynamic_libraries().
44 +       (GC_collect_a_little_inner, GC_try_to_collect_inner): Check GC_dont_gc.
45 +       * dyn_load.c (GC_register_main_static_data): define.
46 +       (GC_register_dyn_libraries (Linux /proc, Linux ELF versions)):
47 +       no longer skip main data. Register main data for static executable.
48 +       * misc.c (GC_REGISTER_MAIN_STATIC_DATA): define.
49 +       (GC_init_inner): Make main data registration conditional.
50 +       * include/private/gc_priv.h (GC_register_main_static_data): declare.
51 +       * include/private/gcconfig.h (REGISTER_LIBRARIES_EARLY): define
52 +       for LINUX.
53 +
54 +2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
55 +
56 +       * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
57 +       config.status.
58 +       * configure: Rebuilt.
59 +
60 +2003-02-11  Andreas Tobler  <a.tobler@schweiz.ch>
61 +
62 +       * include/private/gcconfig.h: undefine MPROTECT_VDB for MACOSX
63 +
64 +2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
65 +
66 +       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
67 +       Remove USE_LIBDIR conditional.
68 +       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
69 +       * Makefile.in, configure: Rebuilt.
70 +
71  2002-12-31  Tom Tromey  <tromey@redhat.com>
72  
73         For PR libgcj/8933:
74 diff -Nur ../boehm-gc/Makefile.am boehm-gc/Makefile.am
75 --- ../boehm-gc/Makefile.am     Mon May 26 13:08:40 2003
76 +++ boehm-gc/Makefile.am        Mon Jan 27 17:44:52 2003
77 @@ -16,38 +16,22 @@
78  MULTIDO = true
79  MULTICLEAN = true
80  
81 -## Install a library built with a cross compiler in tooldir, not
82 -## libdir.
83 -if USE_LIBDIR
84 -toolexeclibdir = $(libdir)$(MULTISUBDIR)
85 -else
86 -toolexecdir = $(exec_prefix)/$(target_alias)
87 -toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
88 -endif
89 -
90  noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
91  
92  GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
93  dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
94 -malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
95 +linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
96  obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
97  solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
98 -backgraph.c win32_threads.c \
99 -pthread_support.c pthread_stop_world.c darwin_stop_world.c
100 +backgraph.c win32_threads.c
101  
102 -EXTRA_GC_SOURCES = alpha_mach_dep.S \
103 -    mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_darwin_mach_dep.s \
104 -    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
105 -    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
106 -
107 -if POWERPC_DARWIN
108 -asm_libgc_sources = powerpc_darwin_mach_dep.s
109 -else
110 -asm_libgc_sources = 
111 -endif
112 +EXTRA_GC_SOURCES = alpha_mach_dep.s \
113 +mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
114 +rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
115 +sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
116  
117 -libgcjgc_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
118 -libgcjgc_convenience_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
119 +libgcjgc_la_SOURCES = $(GC_SOURCES)
120 +libgcjgc_convenience_la_SOURCES = $(GC_SOURCES)
121  EXTRA_libgcjgc_la_SOURCES = $(EXTRA_GC_SOURCES)
122  EXTRA_libgcjgc_convenience_la_SOURCES = $(EXTRA_GC_SOURCES)
123  
124 @@ -93,6 +77,8 @@
125         $(AM_CPPFLAGS) $(CPPFLAGS) \
126         $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) 
127  LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
128 +
129 +AM_CFLAGS = @GC_CFLAGS@
130  
131  # Work around what appears to be a GNU make bug handling MAKEFLAGS
132  # values defined in terms of make variables, as is the case for CC and
133 diff -Nur ../boehm-gc/Makefile.in boehm-gc/Makefile.in
134 --- ../boehm-gc/Makefile.in     Mon May 26 13:08:48 2003
135 +++ boehm-gc/Makefile.in        Tue May 13 17:18:14 2003
136 @@ -1,8 +1,6 @@
137 -# Makefile.in generated by automake 1.6.3 from Makefile.am.
138 -# @configure_input@
139 +# Makefile.in generated automatically by automake 1.4 from Makefile.am
140  
141 -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
142 -# Free Software Foundation, Inc.
143 +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
144  # This Makefile.in is free software; the Free Software Foundation
145  # gives unlimited permission to copy and/or distribute it,
146  # with or without modifications, as long as this notice is preserved.
147 @@ -12,7 +10,7 @@
148  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
149  # PARTICULAR PURPOSE.
150  
151 -@SET_MAKE@
152 +
153  SHELL = @SHELL@
154  
155  srcdir = @srcdir@
156 @@ -33,9 +31,13 @@
157  mandir = @mandir@
158  includedir = @includedir@
159  oldincludedir = /usr/include
160 +
161 +DESTDIR =
162 +
163  pkgdatadir = $(datadir)/@PACKAGE@
164  pkglibdir = $(libdir)/@PACKAGE@
165  pkgincludedir = $(includedir)/@PACKAGE@
166 +
167  top_builddir = .
168  
169  ACLOCAL = @ACLOCAL@
170 @@ -43,16 +45,12 @@
171  AUTOMAKE = @AUTOMAKE@
172  AUTOHEADER = @AUTOHEADER@
173  
174 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
175  INSTALL = @INSTALL@
176 -INSTALL_PROGRAM = @INSTALL_PROGRAM@
177 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
178  INSTALL_DATA = @INSTALL_DATA@
179 -install_sh_DATA = $(install_sh) -c -m 644
180 -install_sh_PROGRAM = $(install_sh) -c
181 -install_sh_SCRIPT = $(install_sh) -c
182  INSTALL_SCRIPT = @INSTALL_SCRIPT@
183 -INSTALL_HEADER = $(INSTALL_DATA)
184  transform = @program_transform_name@
185 +
186  NORMAL_INSTALL = :
187  PRE_INSTALL = :
188  POST_INSTALL = :
189 @@ -65,48 +63,38 @@
190  host_triplet = @host@
191  target_alias = @target_alias@
192  target_triplet = @target@
193 -
194 -EXEEXT = @EXEEXT@
195 -OBJEXT = @OBJEXT@
196 -PATH_SEPARATOR = @PATH_SEPARATOR@
197 -AMTAR = @AMTAR@
198  AR = @AR@
199  AS = @AS@
200 -AWK = @AWK@
201  CC = @CC@
202  CPP = @CPP@
203  CXX = @CXX@
204  CXXCPP = @CXXCPP@
205  CXXINCLUDES = @CXXINCLUDES@
206 -DEPDIR = @DEPDIR@
207  DLLTOOL = @DLLTOOL@
208 -ECHO = @ECHO@
209 -EGREP = @EGREP@
210 +EXEEXT = @EXEEXT@
211  EXTRA_TEST_LIBS = @EXTRA_TEST_LIBS@
212 -F77 = @F77@
213  GCJ = @GCJ@
214  GCJFLAGS = @GCJFLAGS@
215  GC_CFLAGS = @GC_CFLAGS@
216  INCLUDES = @INCLUDES@
217 -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
218  LIBTOOL = @LIBTOOL@
219  LN_S = @LN_S@
220  MAINT = @MAINT@
221 +MAKEINFO = @MAKEINFO@
222  MY_CFLAGS = @MY_CFLAGS@
223  OBJDUMP = @OBJDUMP@
224 +OBJEXT = @OBJEXT@
225  PACKAGE = @PACKAGE@
226  RANLIB = @RANLIB@
227 -RC = @RC@
228  STRIP = @STRIP@
229  THREADLIBS = @THREADLIBS@
230  VERSION = @VERSION@
231  addobjs = @addobjs@
232 -am__include = @am__include@
233 -am__quote = @am__quote@
234  gc_basedir = @gc_basedir@
235 -install_sh = @install_sh@
236  mkinstalldirs = @mkinstalldirs@
237  target_all = @target_all@
238 +toolexecdir = @toolexecdir@
239 +toolexeclibdir = @toolexeclibdir@
240  
241  AUTOMAKE_OPTIONS = cygnus
242  
243 @@ -120,32 +108,24 @@
244  MULTIDO = true
245  MULTICLEAN = true
246  
247 -@USE_LIBDIR_TRUE@toolexeclibdir = $(libdir)$(MULTISUBDIR)
248 -@USE_LIBDIR_FALSE@toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
249 -@USE_LIBDIR_FALSE@toolexecdir = $(exec_prefix)/$(target_alias)
250 -
251  noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
252  
253  GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
254  dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
255 -malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
256 +linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
257  obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
258  solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
259 -backgraph.c win32_threads.c \
260 -pthread_support.c pthread_stop_world.c darwin_stop_world.c
261 -
262 +backgraph.c win32_threads.c
263  
264 -EXTRA_GC_SOURCES = alpha_mach_dep.S \
265 -    mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_darwin_mach_dep.s \
266 -    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
267 -    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
268  
269 +EXTRA_GC_SOURCES = alpha_mach_dep.s \
270 +mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
271 +rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
272 +sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
273  
274 -@POWERPC_DARWIN_TRUE@asm_libgc_sources = powerpc_darwin_mach_dep.s
275 -@POWERPC_DARWIN_FALSE@asm_libgc_sources = 
276  
277 -libgcjgc_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
278 -libgcjgc_convenience_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
279 +libgcjgc_la_SOURCES = $(GC_SOURCES)
280 +libgcjgc_convenience_la_SOURCES = $(GC_SOURCES)
281  EXTRA_libgcjgc_la_SOURCES = $(EXTRA_GC_SOURCES)
282  EXTRA_libgcjgc_convenience_la_SOURCES = $(EXTRA_GC_SOURCES)
283  
284 @@ -159,11 +139,12 @@
285  libgcjgc_convenience_la_DEPENDENCIES = @addobjs@
286  
287  AM_CXXFLAGS = @GC_CFLAGS@
288 +
289  AM_CFLAGS = @GC_CFLAGS@
290  
291  check_PROGRAMS = gctest
292 -
293  #      Using $< in the above seems to fail with the HP/UX on Itanium make.
294 +
295  gctest_OBJECTS = test.o
296  gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(EXTRA_TEST_LIBS)
297  gctest_LDFLAGS = -shared-libgcc
298 @@ -223,127 +204,104 @@
299  CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
300  
301  MAKEOVERRIDES = 
302 -subdir = .
303  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
304 -CONFIG_CLEAN_FILES =
305 -LTLIBRARIES = $(noinst_LTLIBRARIES)
306 +CONFIG_CLEAN_FILES = 
307 +LTLIBRARIES =  $(noinst_LTLIBRARIES)
308  
309 -am__objects_1 = allchblk.lo alloc.lo blacklst.lo checksums.lo dbg_mlc.lo \
310 -       dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo \
311 -       irix_threads.lo malloc.lo mallocx.lo mark.lo mark_rts.lo \
312 -       misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo \
313 -       ptr_chck.lo real_malloc.lo reclaim.lo solaris_pthreads.lo \
314 -       solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo \
315 -       backgraph.lo win32_threads.lo pthread_support.lo \
316 -       pthread_stop_world.lo darwin_stop_world.lo
317 -@POWERPC_DARWIN_TRUE@am__objects_2 = powerpc_darwin_mach_dep.lo
318 -@POWERPC_DARWIN_FALSE@am__objects_2 =
319 -am_libgcjgc_la_OBJECTS = $(am__objects_1) $(am__objects_2)
320 -libgcjgc_la_OBJECTS = $(am_libgcjgc_la_OBJECTS)
321 -libgcjgc_convenience_la_LDFLAGS =
322 -am_libgcjgc_convenience_la_OBJECTS = $(am__objects_1) $(am__objects_2)
323 -libgcjgc_convenience_la_OBJECTS = $(am_libgcjgc_convenience_la_OBJECTS)
324 -check_PROGRAMS = gctest$(EXEEXT)
325 -gctest_DEPENDENCIES = ./libgcjgc.la
326  
327 -DEFS = @DEFS@
328 -DEFAULT_INCLUDES =  -I. -I$(srcdir)
329 +DEFS = @DEFS@ -I. -I$(srcdir) 
330  CPPFLAGS = @CPPFLAGS@
331  LDFLAGS = @LDFLAGS@
332  LIBS = @LIBS@
333 -depcomp =
334 -am__depfiles_maybe =
335 -CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
336 -LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
337 -       $(CCASFLAGS)
338 -CCASFLAGS = @CCASFLAGS@
339 -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
340 -       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
341 -CCLD = $(CC)
342 +libgcjgc_la_OBJECTS =  allchblk.lo alloc.lo blacklst.lo checksums.lo \
343 +dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo \
344 +irix_threads.lo linux_threads.lo malloc.lo mallocx.lo mark.lo \
345 +mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo \
346 +ptr_chck.lo real_malloc.lo reclaim.lo solaris_pthreads.lo \
347 +solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo \
348 +win32_threads.lo
349 +libgcjgc_convenience_la_LDFLAGS = 
350 +libgcjgc_convenience_la_OBJECTS =  allchblk.lo alloc.lo blacklst.lo \
351 +checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
352 +headers.lo irix_threads.lo linux_threads.lo malloc.lo mallocx.lo \
353 +mark.lo mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo \
354 +pcr_interface.lo ptr_chck.lo real_malloc.lo reclaim.lo \
355 +solaris_pthreads.lo solaris_threads.lo specific.lo stubborn.lo \
356 +typd_mlc.lo backgraph.lo win32_threads.lo
357 +check_PROGRAMS =  gctest$(EXEEXT)
358 +gctest_DEPENDENCIES =  ./libgcjgc.la
359  CFLAGS = @CFLAGS@
360 -DIST_SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) \
361 -       $(libgcjgc_convenience_la_SOURCES) \
362 -       $(EXTRA_libgcjgc_convenience_la_SOURCES)
363 -
364 -RECURSIVE_TARGETS = info-recursive dvi-recursive \
365 -       uninstall-info-recursive all-recursive install-data-recursive \
366 -       install-exec-recursive installdirs-recursive install-recursive \
367 -       uninstall-recursive check-recursive installcheck-recursive
368 -SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES) $(EXTRA_libgcjgc_convenience_la_SOURCES)
369 +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
370 +CCLD = $(CC)
371 +DIST_COMMON =  ChangeLog Makefile.am Makefile.in acinclude.m4 aclocal.m4 \
372 +config.guess config.sub configure configure.in install-sh ltconfig \
373 +ltmain.sh mkinstalldirs
374 +
375 +
376 +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
377  
378 -all: all-recursive
379 +TAR = gtar
380 +GZIP_ENV = --best
381 +SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES) $(EXTRA_libgcjgc_convenience_la_SOURCES)
382 +OBJECTS = $(libgcjgc_la_OBJECTS) $(libgcjgc_convenience_la_OBJECTS)
383  
384 +all: all-redirect
385  .SUFFIXES:
386  .SUFFIXES: .S .c .lo .o .obj .s
387 +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
388 +       cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
389 +
390 +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
391 +       cd $(top_builddir) \
392 +         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
393  
394 -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
395 - configure.lineno
396 -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
397 -       cd $(top_srcdir) && \
398 -         $(AUTOMAKE) --cygnus  Makefile
399 -Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
400 -       cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
401 +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in  acinclude.m4
402 +       cd $(srcdir) && $(ACLOCAL)
403  
404 -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
405 +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
406         $(SHELL) ./config.status --recheck
407 -$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
408 +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
409         cd $(srcdir) && $(AUTOCONF)
410  
411 -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
412 -       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
413 +mostlyclean-noinstLTLIBRARIES:
414  
415  clean-noinstLTLIBRARIES:
416         -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
417 -       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
418 -         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
419 -         test -z "$dir" && dir=.; \
420 -         echo "rm -f \"$${dir}/so_locations\""; \
421 -         rm -f "$${dir}/so_locations"; \
422 -       done
423 -libgcjgc.la: $(libgcjgc_la_OBJECTS) $(libgcjgc_la_DEPENDENCIES) 
424 -       $(LINK)  $(libgcjgc_la_LDFLAGS) $(libgcjgc_la_OBJECTS) $(libgcjgc_la_LIBADD) $(LIBS)
425 -libgcjgc_convenience.la: $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_DEPENDENCIES) 
426 -       $(LINK)  $(libgcjgc_convenience_la_LDFLAGS) $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_LIBADD) $(LIBS)
427  
428 -clean-checkPROGRAMS:
429 -       @list='$(check_PROGRAMS)'; for p in $$list; do \
430 -         f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
431 -         echo " rm -f $$p $$f"; \
432 -         rm -f $$p $$f ; \
433 -       done
434 -gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES) 
435 -       @rm -f gctest$(EXEEXT)
436 -       $(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
437 +distclean-noinstLTLIBRARIES:
438  
439 -mostlyclean-compile:
440 -       -rm -f *.$(OBJEXT) core *.core
441 +maintainer-clean-noinstLTLIBRARIES:
442  
443 -distclean-compile:
444 -       -rm -f *.tab.c
445 +.c.o:
446 +       $(COMPILE) -c $<
447 +
448 +# FIXME: We should only use cygpath when building on Windows,
449 +# and only if it is available.
450 +.c.obj:
451 +       $(COMPILE) -c `cygpath -w $<`
452 +
453 +.s.o:
454 +       $(COMPILE) -c $<
455  
456  .S.o:
457 -       $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
458 +       $(COMPILE) -c $<
459  
460 -.S.obj:
461 -       $(CCASCOMPILE) -c `cygpath -w $<`
462 +mostlyclean-compile:
463 +       -rm -f *.o core *.core
464 +       -rm -f *.$(OBJEXT)
465  
466 -.S.lo:
467 -       $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
468 +clean-compile:
469  
470 -.c.o:
471 -       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
472 +distclean-compile:
473 +       -rm -f *.tab.c
474  
475 -.c.obj:
476 -       $(COMPILE) -c `cygpath -w $<`
477 +maintainer-clean-compile:
478  
479  .c.lo:
480 -       $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
481 +       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
482  
483 -.s.o:
484 -       $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
485 -
486 -.s.obj:
487 -       $(CCASCOMPILE) -c `cygpath -w $<`
488 +.S.lo:
489 +       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
490  
491  mostlyclean-libtool:
492         -rm -f *.lo
493 @@ -352,8 +310,27 @@
494         -rm -rf .libs _libs
495  
496  distclean-libtool:
497 -       -rm -f libtool
498 -uninstall-info-am:
499 +
500 +maintainer-clean-libtool:
501 +
502 +libgcjgc.la: $(libgcjgc_la_OBJECTS) $(libgcjgc_la_DEPENDENCIES)
503 +       $(LINK)  $(libgcjgc_la_LDFLAGS) $(libgcjgc_la_OBJECTS) $(libgcjgc_la_LIBADD) $(LIBS)
504 +
505 +libgcjgc_convenience.la: $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_DEPENDENCIES)
506 +       $(LINK)  $(libgcjgc_convenience_la_LDFLAGS) $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_LIBADD) $(LIBS)
507 +
508 +mostlyclean-checkPROGRAMS:
509 +
510 +clean-checkPROGRAMS:
511 +       -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
512 +
513 +distclean-checkPROGRAMS:
514 +
515 +maintainer-clean-checkPROGRAMS:
516 +
517 +gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES)
518 +       @rm -f gctest$(EXEEXT)
519 +       $(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
520  
521  # This directory's subdirectories are mostly independent; you can cd
522  # into them and run `make' without going through this Makefile.
523 @@ -361,8 +338,13 @@
524  # (1) if the variable is set in `config.status', edit `config.status'
525  #     (which will cause the Makefiles to be regenerated when you run `make');
526  # (2) otherwise, pass the desired values on the `make' command line.
527 -$(RECURSIVE_TARGETS):
528 -       @set fnord $$MAKEFLAGS; amf=$$2; \
529 +
530 +@SET_MAKE@
531 +
532 +all-recursive install-data-recursive install-exec-recursive \
533 +installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
534 +check-recursive installcheck-recursive info-recursive dvi-recursive:
535 +       @set fnord $(MAKEFLAGS); amf=$$2; \
536         dot_seen=no; \
537         target=`echo $@ | sed s/-recursive//`; \
538         list='$(SUBDIRS)'; for subdir in $$list; do \
539 @@ -382,18 +364,13 @@
540  
541  mostlyclean-recursive clean-recursive distclean-recursive \
542  maintainer-clean-recursive:
543 -       @set fnord $$MAKEFLAGS; amf=$$2; \
544 +       @set fnord $(MAKEFLAGS); amf=$$2; \
545         dot_seen=no; \
546 -       case "$@" in \
547 -         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
548 -         *) list='$(SUBDIRS)' ;; \
549 -       esac; \
550 -       rev=''; for subdir in $$list; do \
551 -         if test "$$subdir" = "."; then :; else \
552 -           rev="$$subdir $$rev"; \
553 -         fi; \
554 +       rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
555 +         rev="$$subdir $$rev"; \
556 +         test "$$subdir" = "." && dot_seen=yes; \
557         done; \
558 -       rev="$$rev ."; \
559 +       test "$$dot_seen" = "no" && rev=". $$rev"; \
560         target=`echo $@ | sed s/-recursive//`; \
561         for subdir in $$rev; do \
562           echo "Making $$target in $$subdir"; \
563 @@ -410,186 +387,211 @@
564           test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
565         done
566  
567 -ETAGS = etags
568 -ETAGSFLAGS =
569 -
570  tags: TAGS
571  
572 -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
573 -       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
574 -       unique=`for i in $$list; do \
575 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
576 -         done | \
577 -         $(AWK) '    { files[$$0] = 1; } \
578 +ID: $(HEADERS) $(SOURCES) $(LISP)
579 +       list='$(SOURCES) $(HEADERS)'; \
580 +       unique=`for i in $$list; do echo $$i; done | \
581 +         awk '    { files[$$0] = 1; } \
582                END { for (i in files) print i; }'`; \
583 -       mkid -fID $$unique
584 +       here=`pwd` && cd $(srcdir) \
585 +         && mkid -f$$here/ID $$unique $(LISP)
586  
587 -TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
588 -               $(TAGS_FILES) $(LISP)
589 +TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
590         tags=; \
591         here=`pwd`; \
592         list='$(SUBDIRS)'; for subdir in $$list; do \
593 -         if test "$$subdir" = .; then :; else \
594 +   if test "$$subdir" = .; then :; else \
595             test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
596 -         fi; \
597 +   fi; \
598         done; \
599 -       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
600 -       unique=`for i in $$list; do \
601 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
602 -         done | \
603 -         $(AWK) '    { files[$$0] = 1; } \
604 +       list='$(SOURCES) $(HEADERS)'; \
605 +       unique=`for i in $$list; do echo $$i; done | \
606 +         awk '    { files[$$0] = 1; } \
607                END { for (i in files) print i; }'`; \
608 -       test -z "$(ETAGS_ARGS)$$tags$$unique" \
609 -         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
610 -            $$tags $$unique
611 -
612 -GTAGS:
613 -       here=`$(am__cd) $(top_builddir) && pwd` \
614 -         && cd $(top_srcdir) \
615 -         && gtags -i $(GTAGS_ARGS) $$here
616 +       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
617 +         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
618 +
619 +mostlyclean-tags:
620 +
621 +clean-tags:
622  
623  distclean-tags:
624 -       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
625 +       -rm -f TAGS ID
626 +
627 +maintainer-clean-tags:
628  
629 +distdir = $(PACKAGE)-$(VERSION)
630 +top_distdir = $(distdir)
631 +
632 +# This target untars the dist file and tries a VPATH configuration.  Then
633 +# it guarantees that the distribution is self-contained by making another
634 +# tarfile.
635 +distcheck: dist
636 +       -rm -rf $(distdir)
637 +       GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
638 +       mkdir $(distdir)/=build
639 +       mkdir $(distdir)/=inst
640 +       dc_install_base=`cd $(distdir)/=inst && pwd`; \
641 +       cd $(distdir)/=build \
642 +         && ../configure --srcdir=.. --prefix=$$dc_install_base \
643 +         && $(MAKE) $(AM_MAKEFLAGS) \
644 +         && $(MAKE) $(AM_MAKEFLAGS) dvi \
645 +         && $(MAKE) $(AM_MAKEFLAGS) check \
646 +         && $(MAKE) $(AM_MAKEFLAGS) install \
647 +         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
648 +         && $(MAKE) $(AM_MAKEFLAGS) dist
649 +       -rm -rf $(distdir)
650 +       @banner="$(distdir).tar.gz is ready for distribution"; \
651 +       dashes=`echo "$$banner" | sed s/./=/g`; \
652 +       echo "$$dashes"; \
653 +       echo "$$banner"; \
654 +       echo "$$dashes"
655 +dist: distdir
656 +       -chmod -R a+r $(distdir)
657 +       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
658 +       -rm -rf $(distdir)
659 +dist-all: distdir
660 +       -chmod -R a+r $(distdir)
661 +       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
662 +       -rm -rf $(distdir)
663 +distdir: $(DISTFILES)
664 +       -rm -rf $(distdir)
665 +       mkdir $(distdir)
666 +       -chmod 777 $(distdir)
667 +       @for file in $(DISTFILES); do \
668 +         if test -f $$file; then d=.; else d=$(srcdir); fi; \
669 +         if test -d $$d/$$file; then \
670 +           cp -pr $$d/$$file $(distdir)/$$file; \
671 +         else \
672 +           test -f $(distdir)/$$file \
673 +           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
674 +           || cp -p $$d/$$file $(distdir)/$$file || :; \
675 +         fi; \
676 +       done
677 +       for subdir in $(SUBDIRS); do \
678 +         if test "$$subdir" = .; then :; else \
679 +           test -d $(distdir)/$$subdir \
680 +           || mkdir $(distdir)/$$subdir \
681 +           || exit 1; \
682 +           chmod 777 $(distdir)/$$subdir; \
683 +           (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
684 +             || exit 1; \
685 +         fi; \
686 +       done
687  check-TESTS: $(TESTS)
688 -       @failed=0; all=0; xfail=0; xpass=0; \
689 +       @failed=0; all=0; \
690         srcdir=$(srcdir); export srcdir; \
691 -       list='$(TESTS)'; \
692 -       if test -n "$$list"; then \
693 -         for tst in $$list; do \
694 -           if test -f ./$$tst; then dir=./; \
695 -           elif test -f $$tst; then dir=; \
696 -           else dir="$(srcdir)/"; fi; \
697 -           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
698 -             all=`expr $$all + 1`; \
699 -             case " $(XFAIL_TESTS) " in \
700 -             *" $$tst "*) \
701 -               xpass=`expr $$xpass + 1`; \
702 -               failed=`expr $$failed + 1`; \
703 -               echo "XPASS: $$tst"; \
704 -             ;; \
705 -             *) \
706 -               echo "PASS: $$tst"; \
707 -             ;; \
708 -             esac; \
709 -           elif test $$? -ne 77; then \
710 -             all=`expr $$all + 1`; \
711 -             case " $(XFAIL_TESTS) " in \
712 -             *" $$tst "*) \
713 -               xfail=`expr $$xfail + 1`; \
714 -               echo "XFAIL: $$tst"; \
715 -             ;; \
716 -             *) \
717 -               failed=`expr $$failed + 1`; \
718 -               echo "FAIL: $$tst"; \
719 -             ;; \
720 -             esac; \
721 -           fi; \
722 -         done; \
723 -         if test "$$failed" -eq 0; then \
724 -           if test "$$xfail" -eq 0; then \
725 -             banner="All $$all tests passed"; \
726 -           else \
727 -             banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
728 -           fi; \
729 -         else \
730 -           if test "$$xpass" -eq 0; then \
731 -             banner="$$failed of $$all tests failed"; \
732 -           else \
733 -             banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
734 -           fi; \
735 +       for tst in $(TESTS); do \
736 +         if test -f $$tst; then dir=.; \
737 +         else dir="$(srcdir)"; fi; \
738 +         if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
739 +           all=`expr $$all + 1`; \
740 +           echo "PASS: $$tst"; \
741 +         elif test $$? -ne 77; then \
742 +           all=`expr $$all + 1`; \
743 +           failed=`expr $$failed + 1`; \
744 +           echo "FAIL: $$tst"; \
745           fi; \
746 -         dashes=`echo "$$banner" | sed s/./=/g`; \
747 -         echo "$$dashes"; \
748 -         echo "$$banner"; \
749 -         echo "$$dashes"; \
750 -         test "$$failed" -eq 0; \
751 -       else :; fi
752 +       done; \
753 +       if test "$$failed" -eq 0; then \
754 +         banner="All $$all tests passed"; \
755 +       else \
756 +         banner="$$failed of $$all tests failed"; \
757 +       fi; \
758 +       dashes=`echo "$$banner" | sed s/./=/g`; \
759 +       echo "$$dashes"; \
760 +       echo "$$banner"; \
761 +       echo "$$dashes"; \
762 +       test "$$failed" -eq 0
763 +info-am:
764 +info: info-recursive
765 +dvi-am:
766 +dvi: dvi-recursive
767  check-am: $(check_PROGRAMS)
768         $(MAKE) $(AM_MAKEFLAGS) check-TESTS
769  check: check-recursive
770 +installcheck-am:
771 +installcheck: installcheck-recursive
772 +install-info-am: 
773 +install-info: install-info-recursive
774 +install-exec-am:
775 +install-exec: install-exec-recursive
776 +
777 +install-data-am:
778 +install-data: install-data-recursive
779 +
780 +install-am: all-am
781 +       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
782 +install: install-recursive
783 +uninstall-am:
784 +uninstall: uninstall-recursive
785  all-am: Makefile $(LTLIBRARIES)
786 +all-redirect: all-recursive
787 +install-strip:
788 +       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
789  installdirs: installdirs-recursive
790  installdirs-am:
791  
792 -install: install-recursive
793 -install-exec: install-exec-recursive
794 -install-data: install-data-recursive
795 -uninstall: uninstall-recursive
796  
797 -installcheck: installcheck-recursive
798 -install-strip:
799 -       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
800 -         INSTALL_STRIP_FLAG=-s \
801 -         `test -z '$(STRIP)' || \
802 -           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
803  mostlyclean-generic:
804  
805  clean-generic:
806  
807  distclean-generic:
808         -rm -f Makefile $(CONFIG_CLEAN_FILES)
809 +       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
810  
811  maintainer-clean-generic:
812 -       @echo "This command is intended for maintainers to use"
813 -       @echo "it deletes files that may require special tools to rebuild."
814 -clean: clean-recursive
815 -
816 -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
817 -       clean-noinstLTLIBRARIES mostlyclean-am
818 -
819 -distclean: distclean-recursive
820 -       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
821 -distclean-am: clean-am distclean-compile distclean-generic \
822 -       distclean-libtool distclean-tags
823 -
824 -dvi: dvi-recursive
825 -
826 -dvi-am:
827 -
828 -info: info-recursive
829 +mostlyclean-am:  mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
830 +               mostlyclean-libtool mostlyclean-checkPROGRAMS \
831 +               mostlyclean-tags mostlyclean-generic
832  
833 -info-am:
834 +mostlyclean: mostlyclean-recursive
835  
836 -install-data-am:
837 +clean-am:  clean-noinstLTLIBRARIES clean-compile clean-libtool \
838 +               clean-checkPROGRAMS clean-tags clean-generic \
839 +               mostlyclean-am
840  
841 -install-exec-am:
842 +clean: clean-recursive
843  
844 -install-info:
845 +distclean-am:  distclean-noinstLTLIBRARIES distclean-compile \
846 +               distclean-libtool distclean-checkPROGRAMS \
847 +               distclean-tags distclean-generic clean-am
848 +       -rm -f libtool
849  
850 -install-man:
851 +distclean: distclean-recursive
852 +       -rm -f config.status
853  
854 -installcheck-am:
855 +maintainer-clean-am:  maintainer-clean-noinstLTLIBRARIES \
856 +               maintainer-clean-compile maintainer-clean-libtool \
857 +               maintainer-clean-checkPROGRAMS maintainer-clean-tags \
858 +               maintainer-clean-generic distclean-am
859 +       @echo "This command is intended for maintainers to use;"
860 +       @echo "it deletes files that may require special tools to rebuild."
861  
862  maintainer-clean: maintainer-clean-recursive
863 -       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
864 -       -rm -rf autom4te.cache
865 -maintainer-clean-am: distclean-am maintainer-clean-generic
866 -
867 -mostlyclean: mostlyclean-recursive
868 -
869 -mostlyclean-am: mostlyclean-compile mostlyclean-generic \
870 -       mostlyclean-libtool
871 +       -rm -f config.status
872  
873 -uninstall-am:
874 -
875 -uninstall-info: uninstall-info-recursive
876 -
877 -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-TESTS check-am \
878 -       clean clean-checkPROGRAMS clean-generic clean-libtool \
879 -       clean-noinstLTLIBRARIES clean-recursive distclean \
880 -       distclean-compile distclean-generic distclean-libtool \
881 -       distclean-recursive distclean-tags dvi dvi-am dvi-recursive \
882 -       info info-am info-recursive install install-am install-data \
883 -       install-data-am install-data-recursive install-exec \
884 -       install-exec-am install-exec-recursive install-info \
885 -       install-info-am install-man install-recursive install-strip \
886 -       installcheck installcheck-am installdirs installdirs-am \
887 -       installdirs-recursive maintainer-clean maintainer-clean-generic \
888 -       maintainer-clean-recursive mostlyclean mostlyclean-compile \
889 -       mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
890 -       tags tags-recursive uninstall uninstall-am uninstall-info-am \
891 -       uninstall-info-recursive uninstall-recursive
892 +.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
893 +clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
894 +mostlyclean-compile distclean-compile clean-compile \
895 +maintainer-clean-compile mostlyclean-libtool distclean-libtool \
896 +clean-libtool maintainer-clean-libtool mostlyclean-checkPROGRAMS \
897 +distclean-checkPROGRAMS clean-checkPROGRAMS \
898 +maintainer-clean-checkPROGRAMS install-data-recursive \
899 +uninstall-data-recursive install-exec-recursive \
900 +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
901 +all-recursive check-recursive installcheck-recursive info-recursive \
902 +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
903 +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
904 +distclean-tags clean-tags maintainer-clean-tags distdir check-TESTS \
905 +info-am info dvi-am dvi check check-am installcheck-am installcheck \
906 +install-info-am install-info install-exec-am install-exec \
907 +install-data-am install-data install-am install uninstall-am uninstall \
908 +all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
909 +distclean-generic clean-generic maintainer-clean-generic clean \
910 +mostlyclean distclean maintainer-clean
911  
912  # The following hack produces a warning from automake, but we need it in order 
913  # to build a file from a subdirectory. FIXME.
914 @@ -624,6 +626,7 @@
915         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
916  maintainer-clean-multi:
917         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
918 +
919  # Tell versions [3.59,3.63) of GNU make to not export all variables.
920  # Otherwise a system limit (for SysV at least) may be exceeded.
921  .NOEXPORT:
922 diff -Nur ../boehm-gc/allchblk.c boehm-gc/allchblk.c
923 --- ../boehm-gc/allchblk.c      Mon May 26 12:48:52 2003
924 +++ boehm-gc/allchblk.c Mon Apr  8 17:39:15 2002
925 @@ -47,16 +47,12 @@
926  struct hblk * GC_hblkfreelist[N_HBLK_FLS+1] = { 0 };
927  
928  #ifndef USE_MUNMAP
929 -
930    word GC_free_bytes[N_HBLK_FLS+1] = { 0 };
931         /* Number of free bytes on each list.   */
932  
933    /* Is bytes + the number of free bytes on lists n .. N_HBLK_FLS      */
934    /* > GC_max_large_allocd_bytes?                                      */
935 -# ifdef __GNUC__
936 -  __inline__
937 -# endif
938 -  static GC_bool GC_enough_large_bytes_left(bytes,n)
939 +  GC_bool GC_enough_large_bytes_left(bytes,n)
940    word bytes;
941    int n;
942    {
943 @@ -587,11 +583,11 @@
944             if (!GC_use_entire_heap
945                 && size_avail != size_needed
946                 && USED_HEAP_SIZE >= GC_requested_heapsize
947 -               && !TRUE_INCREMENTAL && GC_should_collect()) {
948 +               && !GC_incremental && GC_should_collect()) {
949  #              ifdef USE_MUNMAP
950                     continue;
951  #              else
952 -                   /* If we have enough large blocks left to cover any */
953 +                   /* If we enough large blocks left to cover any      */
954                     /* previous request for large blocks, we go ahead   */
955                     /* and split.  Assuming a steady state, that should */
956                     /* be safe.  It means that we can use the full      */
957 @@ -599,12 +595,6 @@
958                     if (!GC_enough_large_bytes_left(GC_large_allocd_bytes, n)) {
959                       continue;
960                     } 
961 -                   /* If we are deallocating lots of memory from       */
962 -                   /* finalizers, fail and collect sooner rather       */
963 -                   /* than later.                                      */
964 -                   if (GC_finalizer_mem_freed > (GC_heapsize >> 4))  {
965 -                     continue;
966 -                   }
967  #              endif /* !USE_MUNMAP */
968             }
969             /* If the next heap block is obviously better, go on.       */
970 diff -Nur ../boehm-gc/alloc.c boehm-gc/alloc.c
971 --- ../boehm-gc/alloc.c Mon May 26 12:48:52 2003
972 +++ boehm-gc/alloc.c    Mon Mar  3 22:38:30 2003
973 @@ -72,13 +72,6 @@
974  GC_bool GC_need_full_gc = FALSE;
975                            /* Need full GC do to heap growth.   */
976  
977 -#ifdef THREADS
978 -  GC_bool GC_world_stopped = FALSE;
979 -# define IF_THREADS(x) x
980 -#else
981 -# define IF_THREADS(x)
982 -#endif
983 -
984  word GC_used_heap_size_after_full = 0;
985  
986  char * GC_copyright[] =
987 @@ -126,6 +119,7 @@
988      unsigned long time_diff;
989      
990      if ((count++ & 3) != 0) return(0);
991 +#ifndef NO_CLOCK
992      GET_TIME(current_time);
993      time_diff = MS_TIME_DIFF(current_time,GC_start_time);
994      if (time_diff >= GC_time_limit) {
995 @@ -138,6 +132,7 @@
996  #      endif
997         return(1);
998      }
999 +#endif
1000      return(0);
1001    }
1002  #endif /* !SMALL_CONFIG */
1003 @@ -165,7 +160,7 @@
1004                                + (GC_large_free_bytes >> 2)
1005                                    /* use a bit more of large empty heap */
1006                                + total_root_size);
1007 -    if (TRUE_INCREMENTAL) {
1008 +    if (GC_incremental) {
1009          return scan_size / (2 * GC_free_space_divisor);
1010      } else {
1011          return scan_size / GC_free_space_divisor;
1012 @@ -187,8 +182,7 @@
1013      /* managed object should not alter result, assuming the client     */
1014      /* is playing by the rules.                                                */
1015      result = (signed_word)GC_words_allocd
1016 -            - (signed_word)GC_mem_freed 
1017 -            + (signed_word)GC_finalizer_mem_freed - expl_managed;
1018 +            - (signed_word)GC_mem_freed - expl_managed;
1019      if (result > (signed_word)GC_words_allocd) {
1020          result = GC_words_allocd;
1021         /* probably client bug or unfortunate scheduling */
1022 @@ -256,6 +250,7 @@
1023  
1024      if (GC_should_collect()) {
1025          if (!GC_incremental) {
1026 +           GC_notify_full_gc();
1027              GC_gcollect_inner();
1028              n_partial_gcs = 0;
1029              return;
1030 @@ -307,14 +302,10 @@
1031  /*
1032   * Stop the world garbage collection.  Assumes lock held, signals disabled.
1033   * If stop_func is not GC_never_stop_func, then abort if stop_func returns TRUE.
1034 - * Return TRUE if we successfully completed the collection.
1035   */
1036  GC_bool GC_try_to_collect_inner(stop_func)
1037  GC_stop_func stop_func;
1038  {
1039 -#   ifdef CONDPRINT
1040 -        CLOCK_TYPE start_time, current_time;
1041 -#   endif
1042      if (GC_dont_gc) return FALSE;
1043      if (GC_incremental && GC_collection_in_progress()) {
1044  #   ifdef CONDPRINT
1045 @@ -329,10 +320,8 @@
1046             GC_collect_a_little_inner(1);
1047         }
1048      }
1049 -    if (stop_func == GC_never_stop_func) GC_notify_full_gc();
1050  #   ifdef CONDPRINT
1051        if (GC_print_stats) {
1052 -        if (GC_print_stats) GET_TIME(start_time);
1053         GC_printf2(
1054            "Initiating full world-stop collection %lu after %ld allocd bytes\n",
1055            (unsigned long) GC_gc_no+1,
1056 @@ -371,13 +360,6 @@
1057        return(FALSE);
1058      }
1059      GC_finish_collection();
1060 -#   if defined(CONDPRINT)
1061 -      if (GC_print_stats) {
1062 -        GET_TIME(current_time);
1063 -        GC_printf1("Complete collection took %lu msecs\n",
1064 -                   MS_TIME_DIFF(current_time,start_time));
1065 -      }
1066 -#   endif
1067      return(TRUE);
1068  }
1069  
1070 @@ -448,7 +430,6 @@
1071      result = (int)GC_collection_in_progress();
1072      UNLOCK();
1073      ENABLE_SIGNALS();
1074 -    if (!result && GC_debugging_started) GC_print_all_smashed();
1075      return(result);
1076  }
1077  
1078 @@ -467,17 +448,16 @@
1079         CLOCK_TYPE start_time, current_time;
1080  #   endif
1081         
1082 +#   if defined(REGISTER_LIBRARIES_EARLY)
1083 +        GC_cond_register_dynamic_libraries();
1084 +#   endif
1085 +    STOP_WORLD();
1086  #   ifdef PRINTTIMES
1087         GET_TIME(start_time);
1088  #   endif
1089  #   if defined(CONDPRINT) && !defined(PRINTTIMES)
1090         if (GC_print_stats) GET_TIME(start_time);
1091  #   endif
1092 -#   if defined(REGISTER_LIBRARIES_EARLY)
1093 -        GC_cond_register_dynamic_libraries();
1094 -#   endif
1095 -    STOP_WORLD();
1096 -    IF_THREADS(GC_world_stopped = TRUE);
1097  #   ifdef CONDPRINT
1098        if (GC_print_stats) {
1099         GC_printf1("--> Marking for collection %lu ",
1100 @@ -508,7 +488,6 @@
1101                       }
1102  #                  endif
1103                     GC_deficit = i; /* Give the mutator a chance. */
1104 -                    IF_THREADS(GC_world_stopped = FALSE);
1105                     START_WORLD();
1106                     return(FALSE);
1107             }
1108 @@ -542,8 +521,6 @@
1109              (*GC_check_heap)();
1110          }
1111      
1112 -    IF_THREADS(GC_world_stopped = FALSE);
1113 -    START_WORLD();
1114  #   ifdef PRINTTIMES
1115         GET_TIME(current_time);
1116         GC_printf1("World-stopped marking took %lu msecs\n",
1117 @@ -557,6 +534,7 @@
1118         }
1119  #     endif
1120  #   endif
1121 +    START_WORLD();
1122      return(TRUE);
1123  }
1124  
1125 @@ -633,7 +611,6 @@
1126           GC_print_address_map();
1127         }
1128  #   endif
1129 -    COND_DUMP;
1130      if (GC_find_leak) {
1131        /* Mark all objects on the free list.  All objects should be */
1132        /* marked when we're done.                                  */
1133 @@ -730,7 +707,6 @@
1134        GC_words_allocd = 0;
1135        GC_words_wasted = 0;
1136        GC_mem_freed = 0;
1137 -      GC_finalizer_mem_freed = 0;
1138        
1139  #   ifdef USE_MUNMAP
1140        GC_unmap_old();
1141 @@ -754,7 +730,6 @@
1142      int result;
1143      DCL_LOCK_STATE;
1144      
1145 -    if (GC_debugging_started) GC_print_all_smashed();
1146      GC_INVOKE_FINALIZERS();
1147      DISABLE_SIGNALS();
1148      LOCK();
1149 @@ -766,17 +741,14 @@
1150      EXIT_GC();
1151      UNLOCK();
1152      ENABLE_SIGNALS();
1153 -    if(result) {
1154 -        if (GC_debugging_started) GC_print_all_smashed();
1155 -        GC_INVOKE_FINALIZERS();
1156 -    }
1157 +    if(result) GC_INVOKE_FINALIZERS();
1158      return(result);
1159  }
1160  
1161  void GC_gcollect GC_PROTO(())
1162  {
1163 +    GC_notify_full_gc();
1164      (void)GC_try_to_collect(GC_never_stop_func);
1165 -    if (GC_have_errors) GC_print_all_errors();
1166  }
1167  
1168  word GC_n_heap_sects = 0;      /* Number of sections currently in heap. */
1169 @@ -978,6 +950,7 @@
1170  {
1171      if (!GC_incremental && !GC_dont_gc &&
1172         (GC_dont_expand && GC_words_allocd > 0 || GC_should_collect())) {
1173 +      GC_notify_full_gc();
1174        GC_gcollect_inner();
1175      } else {
1176        word blocks_to_get = GC_heapsize/(HBLKSIZE*GC_free_space_divisor)
1177 @@ -1002,6 +975,7 @@
1178          && !GC_expand_hp_inner(needed_blocks)) {
1179         if (GC_fail_count++ < GC_max_retries) {
1180             WARN("Out of Memory!  Trying to continue ...\n", 0);
1181 +           GC_notify_full_gc();
1182             GC_gcollect_inner();
1183         } else {
1184  #          if !defined(AMIGA) || !defined(GC_AMIGA_FASTALLOC)
1185 @@ -1031,38 +1005,29 @@
1186  word sz;
1187  int kind;
1188  {
1189 -    ptr_t * flh = &(GC_obj_kinds[kind].ok_freelist[sz]);
1190 -    GC_bool tried_minor = FALSE;
1191 +    register ptr_t * flh = &(GC_obj_kinds[kind].ok_freelist[sz]);
1192      
1193      if (sz == 0) return(0);
1194  
1195      while (*flh == 0) {
1196        ENTER_GC();
1197        /* Do our share of marking work */
1198 -        if(TRUE_INCREMENTAL) GC_collect_a_little_inner(1);
1199 +        if(GC_incremental && !GC_dont_gc) GC_collect_a_little_inner(1);
1200        /* Sweep blocks for objects of this size */
1201 -        GC_continue_reclaim(sz, kind);
1202 +          GC_continue_reclaim(sz, kind);
1203        EXIT_GC();
1204        if (*flh == 0) {
1205          GC_new_hblk(sz, kind);
1206        }
1207        if (*flh == 0) {
1208          ENTER_GC();
1209 -       if (GC_incremental && GC_time_limit == GC_TIME_UNLIMITED
1210 -           && ! tried_minor ) {
1211 -           GC_collect_a_little_inner(1);
1212 -           tried_minor = TRUE;
1213 -       } else {
1214 -          if (!GC_collect_or_expand((word)1,FALSE)) {
1215 +        if (!GC_collect_or_expand((word)1,FALSE)) {
1216             EXIT_GC();
1217             return(0);
1218 -         }
1219         }
1220         EXIT_GC();
1221        }
1222      }
1223 -    /* Successful allocation; reset failure count.     */
1224 -    GC_fail_count = 0;
1225      
1226      return(*flh);
1227  }
1228 diff -Nur ../boehm-gc/alpha_mach_dep.s boehm-gc/alpha_mach_dep.s
1229 --- ../boehm-gc/alpha_mach_dep.s        Mon May 26 12:48:52 2003
1230 +++ boehm-gc/alpha_mach_dep.s   Fri Aug 17 11:30:45 2001
1231 @@ -1,4 +1,3 @@
1232 - # $Id: darwin.patch,v 1.5 2003/09/10 04:36:20 megacz Exp $
1233         .arch ev6
1234  
1235          .text
1236 diff -Nur ../boehm-gc/autom4te.cache/output.0 boehm-gc/autom4te.cache/output.0
1237 --- ../boehm-gc/autom4te.cache/output.0 Mon May 26 13:14:22 2003
1238 +++ boehm-gc/autom4te.cache/output.0    Wed Dec 31 16:00:00 1969
1239 @@ -1,5049 +0,0 @@
1240 -@%:@! /bin/sh
1241 -@%:@ Guess values for system-dependent variables and create Makefiles.
1242 -@%:@ Generated by GNU Autoconf 2.57.
1243 -@%:@ 
1244 -@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
1245 -@%:@ Free Software Foundation, Inc.
1246 -@%:@ This configure script is free software; the Free Software Foundation
1247 -@%:@ gives unlimited permission to copy, distribute and modify it.
1248 -## --------------------- ##
1249 -## M4sh Initialization.  ##
1250 -## --------------------- ##
1251 -
1252 -# Be Bourne compatible
1253 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
1254 -  emulate sh
1255 -  NULLCMD=:
1256 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
1257 -  # is contrary to our usage.  Disable this feature.
1258 -  alias -g '${1+"$@"}'='"$@"'
1259 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
1260 -  set -o posix
1261 -fi
1262 -
1263 -# Support unset when possible.
1264 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
1265 -  as_unset=unset
1266 -else
1267 -  as_unset=false
1268 -fi
1269 -
1270 -
1271 -# Work around bugs in pre-3.0 UWIN ksh.
1272 -$as_unset ENV MAIL MAILPATH
1273 -PS1='$ '
1274 -PS2='> '
1275 -PS4='+ '
1276 -
1277 -# NLS nuisances.
1278 -for as_var in \
1279 -  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
1280 -  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
1281 -  LC_TELEPHONE LC_TIME
1282 -do
1283 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
1284 -    eval $as_var=C; export $as_var
1285 -  else
1286 -    $as_unset $as_var
1287 -  fi
1288 -done
1289 -
1290 -# Required to use basename.
1291 -if expr a : '\(a\)' >/dev/null 2>&1; then
1292 -  as_expr=expr
1293 -else
1294 -  as_expr=false
1295 -fi
1296 -
1297 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
1298 -  as_basename=basename
1299 -else
1300 -  as_basename=false
1301 -fi
1302 -
1303 -
1304 -# Name of the executable.
1305 -as_me=`$as_basename "$0" ||
1306 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
1307 -        X"$0" : 'X\(//\)$' \| \
1308 -        X"$0" : 'X\(/\)$' \| \
1309 -        .     : '\(.\)' 2>/dev/null ||
1310 -echo X/"$0" |
1311 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
1312 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
1313 -         /^X\/\(\/\).*/{ s//\1/; q; }
1314 -         s/.*/./; q'`
1315 -
1316 -
1317 -# PATH needs CR, and LINENO needs CR and PATH.
1318 -# Avoid depending upon Character Ranges.
1319 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
1320 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1321 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
1322 -as_cr_digits='0123456789'
1323 -as_cr_alnum=$as_cr_Letters$as_cr_digits
1324 -
1325 -# The user is always right.
1326 -if test "${PATH_SEPARATOR+set}" != set; then
1327 -  echo "#! /bin/sh" >conf$$.sh
1328 -  echo  "exit 0"   >>conf$$.sh
1329 -  chmod +x conf$$.sh
1330 -  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
1331 -    PATH_SEPARATOR=';'
1332 -  else
1333 -    PATH_SEPARATOR=:
1334 -  fi
1335 -  rm -f conf$$.sh
1336 -fi
1337 -
1338 -
1339 -  as_lineno_1=$LINENO
1340 -  as_lineno_2=$LINENO
1341 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
1342 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
1343 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
1344 -  # Find who we are.  Look in the path if we contain no path at all
1345 -  # relative or not.
1346 -  case $0 in
1347 -    *[\\/]* ) as_myself=$0 ;;
1348 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1349 -for as_dir in $PATH
1350 -do
1351 -  IFS=$as_save_IFS
1352 -  test -z "$as_dir" && as_dir=.
1353 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
1354 -done
1355 -
1356 -       ;;
1357 -  esac
1358 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
1359 -  # in which case we are not to be found in the path.
1360 -  if test "x$as_myself" = x; then
1361 -    as_myself=$0
1362 -  fi
1363 -  if test ! -f "$as_myself"; then
1364 -    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
1365 -   { (exit 1); exit 1; }; }
1366 -  fi
1367 -  case $CONFIG_SHELL in
1368 -  '')
1369 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1370 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
1371 -do
1372 -  IFS=$as_save_IFS
1373 -  test -z "$as_dir" && as_dir=.
1374 -  for as_base in sh bash ksh sh5; do
1375 -        case $as_dir in
1376 -        /*)
1377 -          if ("$as_dir/$as_base" -c '
1378 -  as_lineno_1=$LINENO
1379 -  as_lineno_2=$LINENO
1380 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
1381 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
1382 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
1383 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
1384 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
1385 -            CONFIG_SHELL=$as_dir/$as_base
1386 -            export CONFIG_SHELL
1387 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
1388 -          fi;;
1389 -        esac
1390 -       done
1391 -done
1392 -;;
1393 -  esac
1394 -
1395 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
1396 -  # uniformly replaced by the line number.  The first 'sed' inserts a
1397 -  # line-number line before each line; the second 'sed' does the real
1398 -  # work.  The second script uses 'N' to pair each line-number line
1399 -  # with the numbered line, and appends trailing '-' during
1400 -  # substitution so that $LINENO is not a special case at line end.
1401 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
1402 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
1403 -  sed '=' <$as_myself |
1404 -    sed '
1405 -      N
1406 -      s,$,-,
1407 -      : loop
1408 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
1409 -      t loop
1410 -      s,-$,,
1411 -      s,^['$as_cr_digits']*\n,,
1412 -    ' >$as_me.lineno &&
1413 -  chmod +x $as_me.lineno ||
1414 -    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
1415 -   { (exit 1); exit 1; }; }
1416 -
1417 -  # Don't try to exec as it changes $[0], causing all sort of problems
1418 -  # (the dirname of $[0] is not the place where we might find the
1419 -  # original and so on.  Autoconf is especially sensible to this).
1420 -  . ./$as_me.lineno
1421 -  # Exit status is that of the last command.
1422 -  exit
1423 -}
1424 -
1425 -
1426 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
1427 -  *c*,-n*) ECHO_N= ECHO_C='
1428 -' ECHO_T='     ' ;;
1429 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
1430 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
1431 -esac
1432 -
1433 -if expr a : '\(a\)' >/dev/null 2>&1; then
1434 -  as_expr=expr
1435 -else
1436 -  as_expr=false
1437 -fi
1438 -
1439 -rm -f conf$$ conf$$.exe conf$$.file
1440 -echo >conf$$.file
1441 -if ln -s conf$$.file conf$$ 2>/dev/null; then
1442 -  # We could just check for DJGPP; but this test a) works b) is more generic
1443 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
1444 -  if test -f conf$$.exe; then
1445 -    # Don't use ln at all; we don't have any links
1446 -    as_ln_s='cp -p'
1447 -  else
1448 -    as_ln_s='ln -s'
1449 -  fi
1450 -elif ln conf$$.file conf$$ 2>/dev/null; then
1451 -  as_ln_s=ln
1452 -else
1453 -  as_ln_s='cp -p'
1454 -fi
1455 -rm -f conf$$ conf$$.exe conf$$.file
1456 -
1457 -if mkdir -p . 2>/dev/null; then
1458 -  as_mkdir_p=:
1459 -else
1460 -  as_mkdir_p=false
1461 -fi
1462 -
1463 -as_executable_p="test -f"
1464 -
1465 -# Sed expression to map a string onto a valid CPP name.
1466 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
1467 -
1468 -# Sed expression to map a string onto a valid variable name.
1469 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
1470 -
1471 -
1472 -# IFS
1473 -# We need space, tab and new line, in precisely that order.
1474 -as_nl='
1475 -'
1476 -IFS="  $as_nl"
1477 -
1478 -# CDPATH.
1479 -$as_unset CDPATH
1480 -
1481 -
1482 -# Name of the host.
1483 -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
1484 -# so uname gets run too.
1485 -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
1486 -
1487 -exec 6>&1
1488 -
1489 -#
1490 -# Initializations.
1491 -#
1492 -ac_default_prefix=/usr/local
1493 -ac_config_libobj_dir=.
1494 -cross_compiling=no
1495 -subdirs=
1496 -MFLAGS=
1497 -MAKEFLAGS=
1498 -SHELL=${CONFIG_SHELL-/bin/sh}
1499 -
1500 -# Maximum number of lines to put in a shell here document.
1501 -# This variable seems obsolete.  It should probably be removed, and
1502 -# only ac_max_sed_lines should be used.
1503 -: ${ac_max_here_lines=38}
1504 -
1505 -# Identity of this package.
1506 -PACKAGE_NAME=
1507 -PACKAGE_TARNAME=
1508 -PACKAGE_VERSION=
1509 -PACKAGE_STRING=
1510 -PACKAGE_BUGREPORT=
1511 -
1512 -ac_unique_file="gcj_mlc.c"
1513 -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS gc_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os mkinstalldirs INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE CC CXX AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GC_CFLAGS LN_S STRIP ac_ct_STRIP LIBTOOL CXXCPP CPPFLAGS THREADLIBS POWERPC_DARWIN_TRUE POWERPC_DARWIN_FALSE EXTRA_TEST_LIBS target_all INCLUDES CXXINCLUDES addobjs MY_CFLAGS USE_LIBDIR_TRUE USE_LIBDIR_FALSE LIB@&t@OBJS LTLIBOBJS'
1514 -ac_subst_files=''
1515 -
1516 -# Initialize some variables set by options.
1517 -ac_init_help=
1518 -ac_init_version=false
1519 -# The variables have the same names as the options, with
1520 -# dashes changed to underlines.
1521 -cache_file=/dev/null
1522 -exec_prefix=NONE
1523 -no_create=
1524 -no_recursion=
1525 -prefix=NONE
1526 -program_prefix=NONE
1527 -program_suffix=NONE
1528 -program_transform_name=s,x,x,
1529 -silent=
1530 -site=
1531 -srcdir=
1532 -verbose=
1533 -x_includes=NONE
1534 -x_libraries=NONE
1535 -
1536 -# Installation directory options.
1537 -# These are left unexpanded so users can "make install exec_prefix=/foo"
1538 -# and all the variables that are supposed to be based on exec_prefix
1539 -# by default will actually change.
1540 -# Use braces instead of parens because sh, perl, etc. also accept them.
1541 -bindir='${exec_prefix}/bin'
1542 -sbindir='${exec_prefix}/sbin'
1543 -libexecdir='${exec_prefix}/libexec'
1544 -datadir='${prefix}/share'
1545 -sysconfdir='${prefix}/etc'
1546 -sharedstatedir='${prefix}/com'
1547 -localstatedir='${prefix}/var'
1548 -libdir='${exec_prefix}/lib'
1549 -includedir='${prefix}/include'
1550 -oldincludedir='/usr/include'
1551 -infodir='${prefix}/info'
1552 -mandir='${prefix}/man'
1553 -
1554 -ac_prev=
1555 -for ac_option
1556 -do
1557 -  # If the previous option needs an argument, assign it.
1558 -  if test -n "$ac_prev"; then
1559 -    eval "$ac_prev=\$ac_option"
1560 -    ac_prev=
1561 -    continue
1562 -  fi
1563 -
1564 -  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
1565 -
1566 -  # Accept the important Cygnus configure options, so we can diagnose typos.
1567 -
1568 -  case $ac_option in
1569 -
1570 -  -bindir | --bindir | --bindi | --bind | --bin | --bi)
1571 -    ac_prev=bindir ;;
1572 -  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
1573 -    bindir=$ac_optarg ;;
1574 -
1575 -  -build | --build | --buil | --bui | --bu)
1576 -    ac_prev=build_alias ;;
1577 -  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
1578 -    build_alias=$ac_optarg ;;
1579 -
1580 -  -cache-file | --cache-file | --cache-fil | --cache-fi \
1581 -  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
1582 -    ac_prev=cache_file ;;
1583 -  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
1584 -  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
1585 -    cache_file=$ac_optarg ;;
1586 -
1587 -  --config-cache | -C)
1588 -    cache_file=config.cache ;;
1589 -
1590 -  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
1591 -    ac_prev=datadir ;;
1592 -  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
1593 -  | --da=*)
1594 -    datadir=$ac_optarg ;;
1595 -
1596 -  -disable-* | --disable-*)
1597 -    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
1598 -    # Reject names that are not valid shell variable names.
1599 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1600 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
1601 -   { (exit 1); exit 1; }; }
1602 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
1603 -    eval "enable_$ac_feature=no" ;;
1604 -
1605 -  -enable-* | --enable-*)
1606 -    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
1607 -    # Reject names that are not valid shell variable names.
1608 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1609 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
1610 -   { (exit 1); exit 1; }; }
1611 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
1612 -    case $ac_option in
1613 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
1614 -      *) ac_optarg=yes ;;
1615 -    esac
1616 -    eval "enable_$ac_feature='$ac_optarg'" ;;
1617 -
1618 -  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
1619 -  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
1620 -  | --exec | --exe | --ex)
1621 -    ac_prev=exec_prefix ;;
1622 -  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
1623 -  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
1624 -  | --exec=* | --exe=* | --ex=*)
1625 -    exec_prefix=$ac_optarg ;;
1626 -
1627 -  -gas | --gas | --ga | --g)
1628 -    # Obsolete; use --with-gas.
1629 -    with_gas=yes ;;
1630 -
1631 -  -help | --help | --hel | --he | -h)
1632 -    ac_init_help=long ;;
1633 -  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
1634 -    ac_init_help=recursive ;;
1635 -  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
1636 -    ac_init_help=short ;;
1637 -
1638 -  -host | --host | --hos | --ho)
1639 -    ac_prev=host_alias ;;
1640 -  -host=* | --host=* | --hos=* | --ho=*)
1641 -    host_alias=$ac_optarg ;;
1642 -
1643 -  -includedir | --includedir | --includedi | --included | --include \
1644 -  | --includ | --inclu | --incl | --inc)
1645 -    ac_prev=includedir ;;
1646 -  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
1647 -  | --includ=* | --inclu=* | --incl=* | --inc=*)
1648 -    includedir=$ac_optarg ;;
1649 -
1650 -  -infodir | --infodir | --infodi | --infod | --info | --inf)
1651 -    ac_prev=infodir ;;
1652 -  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
1653 -    infodir=$ac_optarg ;;
1654 -
1655 -  -libdir | --libdir | --libdi | --libd)
1656 -    ac_prev=libdir ;;
1657 -  -libdir=* | --libdir=* | --libdi=* | --libd=*)
1658 -    libdir=$ac_optarg ;;
1659 -
1660 -  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1661 -  | --libexe | --libex | --libe)
1662 -    ac_prev=libexecdir ;;
1663 -  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1664 -  | --libexe=* | --libex=* | --libe=*)
1665 -    libexecdir=$ac_optarg ;;
1666 -
1667 -  -localstatedir | --localstatedir | --localstatedi | --localstated \
1668 -  | --localstate | --localstat | --localsta | --localst \
1669 -  | --locals | --local | --loca | --loc | --lo)
1670 -    ac_prev=localstatedir ;;
1671 -  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1672 -  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
1673 -  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
1674 -    localstatedir=$ac_optarg ;;
1675 -
1676 -  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1677 -    ac_prev=mandir ;;
1678 -  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1679 -    mandir=$ac_optarg ;;
1680 -
1681 -  -nfp | --nfp | --nf)
1682 -    # Obsolete; use --without-fp.
1683 -    with_fp=no ;;
1684 -
1685 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1686 -  | --no-cr | --no-c | -n)
1687 -    no_create=yes ;;
1688 -
1689 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1690 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1691 -    no_recursion=yes ;;
1692 -
1693 -  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1694 -  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1695 -  | --oldin | --oldi | --old | --ol | --o)
1696 -    ac_prev=oldincludedir ;;
1697 -  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1698 -  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1699 -  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1700 -    oldincludedir=$ac_optarg ;;
1701 -
1702 -  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1703 -    ac_prev=prefix ;;
1704 -  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1705 -    prefix=$ac_optarg ;;
1706 -
1707 -  -program-prefix | --program-prefix | --program-prefi | --program-pref \
1708 -  | --program-pre | --program-pr | --program-p)
1709 -    ac_prev=program_prefix ;;
1710 -  -program-prefix=* | --program-prefix=* | --program-prefi=* \
1711 -  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1712 -    program_prefix=$ac_optarg ;;
1713 -
1714 -  -program-suffix | --program-suffix | --program-suffi | --program-suff \
1715 -  | --program-suf | --program-su | --program-s)
1716 -    ac_prev=program_suffix ;;
1717 -  -program-suffix=* | --program-suffix=* | --program-suffi=* \
1718 -  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1719 -    program_suffix=$ac_optarg ;;
1720 -
1721 -  -program-transform-name | --program-transform-name \
1722 -  | --program-transform-nam | --program-transform-na \
1723 -  | --program-transform-n | --program-transform- \
1724 -  | --program-transform | --program-transfor \
1725 -  | --program-transfo | --program-transf \
1726 -  | --program-trans | --program-tran \
1727 -  | --progr-tra | --program-tr | --program-t)
1728 -    ac_prev=program_transform_name ;;
1729 -  -program-transform-name=* | --program-transform-name=* \
1730 -  | --program-transform-nam=* | --program-transform-na=* \
1731 -  | --program-transform-n=* | --program-transform-=* \
1732 -  | --program-transform=* | --program-transfor=* \
1733 -  | --program-transfo=* | --program-transf=* \
1734 -  | --program-trans=* | --program-tran=* \
1735 -  | --progr-tra=* | --program-tr=* | --program-t=*)
1736 -    program_transform_name=$ac_optarg ;;
1737 -
1738 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1739 -  | -silent | --silent | --silen | --sile | --sil)
1740 -    silent=yes ;;
1741 -
1742 -  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1743 -    ac_prev=sbindir ;;
1744 -  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1745 -  | --sbi=* | --sb=*)
1746 -    sbindir=$ac_optarg ;;
1747 -
1748 -  -sharedstatedir | --sharedstatedir | --sharedstatedi \
1749 -  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1750 -  | --sharedst | --shareds | --shared | --share | --shar \
1751 -  | --sha | --sh)
1752 -    ac_prev=sharedstatedir ;;
1753 -  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1754 -  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1755 -  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1756 -  | --sha=* | --sh=*)
1757 -    sharedstatedir=$ac_optarg ;;
1758 -
1759 -  -site | --site | --sit)
1760 -    ac_prev=site ;;
1761 -  -site=* | --site=* | --sit=*)
1762 -    site=$ac_optarg ;;
1763 -
1764 -  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1765 -    ac_prev=srcdir ;;
1766 -  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1767 -    srcdir=$ac_optarg ;;
1768 -
1769 -  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1770 -  | --syscon | --sysco | --sysc | --sys | --sy)
1771 -    ac_prev=sysconfdir ;;
1772 -  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1773 -  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1774 -    sysconfdir=$ac_optarg ;;
1775 -
1776 -  -target | --target | --targe | --targ | --tar | --ta | --t)
1777 -    ac_prev=target_alias ;;
1778 -  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1779 -    target_alias=$ac_optarg ;;
1780 -
1781 -  -v | -verbose | --verbose | --verbos | --verbo | --verb)
1782 -    verbose=yes ;;
1783 -
1784 -  -version | --version | --versio | --versi | --vers | -V)
1785 -    ac_init_version=: ;;
1786 -
1787 -  -with-* | --with-*)
1788 -    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1789 -    # Reject names that are not valid shell variable names.
1790 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1791 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
1792 -   { (exit 1); exit 1; }; }
1793 -    ac_package=`echo $ac_package| sed 's/-/_/g'`
1794 -    case $ac_option in
1795 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
1796 -      *) ac_optarg=yes ;;
1797 -    esac
1798 -    eval "with_$ac_package='$ac_optarg'" ;;
1799 -
1800 -  -without-* | --without-*)
1801 -    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1802 -    # Reject names that are not valid shell variable names.
1803 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1804 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
1805 -   { (exit 1); exit 1; }; }
1806 -    ac_package=`echo $ac_package | sed 's/-/_/g'`
1807 -    eval "with_$ac_package=no" ;;
1808 -
1809 -  --x)
1810 -    # Obsolete; use --with-x.
1811 -    with_x=yes ;;
1812 -
1813 -  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1814 -  | --x-incl | --x-inc | --x-in | --x-i)
1815 -    ac_prev=x_includes ;;
1816 -  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1817 -  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1818 -    x_includes=$ac_optarg ;;
1819 -
1820 -  -x-libraries | --x-libraries | --x-librarie | --x-librari \
1821 -  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1822 -    ac_prev=x_libraries ;;
1823 -  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1824 -  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1825 -    x_libraries=$ac_optarg ;;
1826 -
1827 -  -*) { echo "$as_me: error: unrecognized option: $ac_option
1828 -Try \`$0 --help' for more information." >&2
1829 -   { (exit 1); exit 1; }; }
1830 -    ;;
1831 -
1832 -  *=*)
1833 -    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1834 -    # Reject names that are not valid shell variable names.
1835 -    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
1836 -      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
1837 -   { (exit 1); exit 1; }; }
1838 -    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
1839 -    eval "$ac_envvar='$ac_optarg'"
1840 -    export $ac_envvar ;;
1841 -
1842 -  *)
1843 -    # FIXME: should be removed in autoconf 3.0.
1844 -    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1845 -    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1846 -      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1847 -    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
1848 -    ;;
1849 -
1850 -  esac
1851 -done
1852 -
1853 -if test -n "$ac_prev"; then
1854 -  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1855 -  { echo "$as_me: error: missing argument to $ac_option" >&2
1856 -   { (exit 1); exit 1; }; }
1857 -fi
1858 -
1859 -# Be sure to have absolute paths.
1860 -for ac_var in exec_prefix prefix
1861 -do
1862 -  eval ac_val=$`echo $ac_var`
1863 -  case $ac_val in
1864 -    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
1865 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
1866 -   { (exit 1); exit 1; }; };;
1867 -  esac
1868 -done
1869 -
1870 -# Be sure to have absolute paths.
1871 -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
1872 -              localstatedir libdir includedir oldincludedir infodir mandir
1873 -do
1874 -  eval ac_val=$`echo $ac_var`
1875 -  case $ac_val in
1876 -    [\\/$]* | ?:[\\/]* ) ;;
1877 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
1878 -   { (exit 1); exit 1; }; };;
1879 -  esac
1880 -done
1881 -
1882 -# There might be people who depend on the old broken behavior: `$host'
1883 -# used to hold the argument of --host etc.
1884 -# FIXME: To remove some day.
1885 -build=$build_alias
1886 -host=$host_alias
1887 -target=$target_alias
1888 -
1889 -# FIXME: To remove some day.
1890 -if test "x$host_alias" != x; then
1891 -  if test "x$build_alias" = x; then
1892 -    cross_compiling=maybe
1893 -    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
1894 -    If a cross compiler is detected then cross compile mode will be used." >&2
1895 -  elif test "x$build_alias" != "x$host_alias"; then
1896 -    cross_compiling=yes
1897 -  fi
1898 -fi
1899 -
1900 -ac_tool_prefix=
1901 -test -n "$host_alias" && ac_tool_prefix=$host_alias-
1902 -
1903 -test "$silent" = yes && exec 6>/dev/null
1904 -
1905 -
1906 -# Find the source files, if location was not specified.
1907 -if test -z "$srcdir"; then
1908 -  ac_srcdir_defaulted=yes
1909 -  # Try the directory containing this script, then its parent.
1910 -  ac_confdir=`(dirname "$0") 2>/dev/null ||
1911 -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1912 -         X"$0" : 'X\(//\)[^/]' \| \
1913 -         X"$0" : 'X\(//\)$' \| \
1914 -         X"$0" : 'X\(/\)' \| \
1915 -         .     : '\(.\)' 2>/dev/null ||
1916 -echo X"$0" |
1917 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
1918 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
1919 -         /^X\(\/\/\)$/{ s//\1/; q; }
1920 -         /^X\(\/\).*/{ s//\1/; q; }
1921 -         s/.*/./; q'`
1922 -  srcdir=$ac_confdir
1923 -  if test ! -r $srcdir/$ac_unique_file; then
1924 -    srcdir=..
1925 -  fi
1926 -else
1927 -  ac_srcdir_defaulted=no
1928 -fi
1929 -if test ! -r $srcdir/$ac_unique_file; then
1930 -  if test "$ac_srcdir_defaulted" = yes; then
1931 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
1932 -   { (exit 1); exit 1; }; }
1933 -  else
1934 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
1935 -   { (exit 1); exit 1; }; }
1936 -  fi
1937 -fi
1938 -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
1939 -  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
1940 -   { (exit 1); exit 1; }; }
1941 -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
1942 -ac_env_build_alias_set=${build_alias+set}
1943 -ac_env_build_alias_value=$build_alias
1944 -ac_cv_env_build_alias_set=${build_alias+set}
1945 -ac_cv_env_build_alias_value=$build_alias
1946 -ac_env_host_alias_set=${host_alias+set}
1947 -ac_env_host_alias_value=$host_alias
1948 -ac_cv_env_host_alias_set=${host_alias+set}
1949 -ac_cv_env_host_alias_value=$host_alias
1950 -ac_env_target_alias_set=${target_alias+set}
1951 -ac_env_target_alias_value=$target_alias
1952 -ac_cv_env_target_alias_set=${target_alias+set}
1953 -ac_cv_env_target_alias_value=$target_alias
1954 -ac_env_CXXCPP_set=${CXXCPP+set}
1955 -ac_env_CXXCPP_value=$CXXCPP
1956 -ac_cv_env_CXXCPP_set=${CXXCPP+set}
1957 -ac_cv_env_CXXCPP_value=$CXXCPP
1958 -ac_env_CPPFLAGS_set=${CPPFLAGS+set}
1959 -ac_env_CPPFLAGS_value=$CPPFLAGS
1960 -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
1961 -ac_cv_env_CPPFLAGS_value=$CPPFLAGS
1962 -
1963 -#
1964 -# Report the --help message.
1965 -#
1966 -if test "$ac_init_help" = "long"; then
1967 -  # Omit some internal or obsolete options to make the list less imposing.
1968 -  # This message is too long to be a string in the A/UX 3.1 sh.
1969 -  cat <<_ACEOF
1970 -\`configure' configures this package to adapt to many kinds of systems.
1971 -
1972 -Usage: $0 [OPTION]... [VAR=VALUE]...
1973 -
1974 -To assign environment variables (e.g., CC, CFLAGS...), specify them as
1975 -VAR=VALUE.  See below for descriptions of some of the useful variables.
1976 -
1977 -Defaults for the options are specified in brackets.
1978 -
1979 -Configuration:
1980 -  -h, --help              display this help and exit
1981 -      --help=short        display options specific to this package
1982 -      --help=recursive    display the short help of all the included packages
1983 -  -V, --version           display version information and exit
1984 -  -q, --quiet, --silent   do not print \`checking...' messages
1985 -      --cache-file=FILE   cache test results in FILE [disabled]
1986 -  -C, --config-cache      alias for \`--cache-file=config.cache'
1987 -  -n, --no-create         do not create output files
1988 -      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
1989 -
1990 -_ACEOF
1991 -
1992 -  cat <<_ACEOF
1993 -Installation directories:
1994 -  --prefix=PREFIX         install architecture-independent files in PREFIX
1995 -                          [$ac_default_prefix]
1996 -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
1997 -                          [PREFIX]
1998 -
1999 -By default, \`make install' will install all the files in
2000 -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
2001 -an installation prefix other than \`$ac_default_prefix' using \`--prefix',
2002 -for instance \`--prefix=\$HOME'.
2003 -
2004 -For better control, use the options below.
2005 -
2006 -Fine tuning of the installation directories:
2007 -  --bindir=DIR           user executables [EPREFIX/bin]
2008 -  --sbindir=DIR          system admin executables [EPREFIX/sbin]
2009 -  --libexecdir=DIR       program executables [EPREFIX/libexec]
2010 -  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
2011 -  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
2012 -  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
2013 -  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
2014 -  --libdir=DIR           object code libraries [EPREFIX/lib]
2015 -  --includedir=DIR       C header files [PREFIX/include]
2016 -  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
2017 -  --infodir=DIR          info documentation [PREFIX/info]
2018 -  --mandir=DIR           man documentation [PREFIX/man]
2019 -_ACEOF
2020 -
2021 -  cat <<\_ACEOF
2022 -
2023 -Program names:
2024 -  --program-prefix=PREFIX            prepend PREFIX to installed program names
2025 -  --program-suffix=SUFFIX            append SUFFIX to installed program names
2026 -  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
2027 -
2028 -System types:
2029 -  --build=BUILD     configure for building on BUILD [guessed]
2030 -  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
2031 -  --target=TARGET   configure for building compilers for TARGET [HOST]
2032 -_ACEOF
2033 -fi
2034 -
2035 -if test -n "$ac_init_help"; then
2036 -
2037 -  cat <<\_ACEOF
2038 -
2039 -Optional Features:
2040 -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
2041 -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
2042 -  --enable-multilib       build many library versions (default)
2043 -  --enable-maintainer-mode enable make rules and dependencies not useful
2044 -                          (and sometimes confusing) to the casual installer
2045 -  --enable-shared=PKGS  build shared libraries default=yes
2046 -  --enable-static=PKGS  build static libraries default=yes
2047 -  --enable-fast-install=PKGS  optimize for fast installation default=yes
2048 -  --disable-libtool-lock  avoid locking (might break parallel builds)
2049 -  --enable-parallel-mark       parallelize marking and free list construction
2050 -  --enable-shared=PKGS  build shared libraries default=no
2051 -  --enable-full-debug  include full support for pointer backtracing etc.
2052 -
2053 -Optional Packages:
2054 -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
2055 -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
2056 -  --with-gnu-ld           assume the C compiler uses GNU ld default=no
2057 -  --with-pic              try to use only PIC/non-PIC objects default=use both
2058 -  --with-target-subdir=SUBDIR
2059 -                          configuring with a cross compiler
2060 -  --with-cross-host=HOST  configuring with a cross compiler
2061 -  --with-ecos             enable runtime eCos target support
2062 -
2063 -Some influential environment variables:
2064 -  CXXCPP      C++ preprocessor
2065 -  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
2066 -              headers in a nonstandard directory <include dir>
2067 -
2068 -Use these variables to override the choices made by `configure' or to help
2069 -it to find libraries and programs with nonstandard names/locations.
2070 -
2071 -_ACEOF
2072 -fi
2073 -
2074 -if test "$ac_init_help" = "recursive"; then
2075 -  # If there are subdirs, report their specific --help.
2076 -  ac_popdir=`pwd`
2077 -  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
2078 -    test -d $ac_dir || continue
2079 -    ac_builddir=.
2080 -
2081 -if test "$ac_dir" != .; then
2082 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
2083 -  # A "../" for each directory in $ac_dir_suffix.
2084 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
2085 -else
2086 -  ac_dir_suffix= ac_top_builddir=
2087 -fi
2088 -
2089 -case $srcdir in
2090 -  .)  # No --srcdir option.  We are building in place.
2091 -    ac_srcdir=.
2092 -    if test -z "$ac_top_builddir"; then
2093 -       ac_top_srcdir=.
2094 -    else
2095 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
2096 -    fi ;;
2097 -  [\\/]* | ?:[\\/]* )  # Absolute path.
2098 -    ac_srcdir=$srcdir$ac_dir_suffix;
2099 -    ac_top_srcdir=$srcdir ;;
2100 -  *) # Relative path.
2101 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
2102 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
2103 -esac
2104 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
2105 -# absolute.
2106 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
2107 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
2108 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
2109 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
2110 -
2111 -    cd $ac_dir
2112 -    # Check for guested configure; otherwise get Cygnus style configure.
2113 -    if test -f $ac_srcdir/configure.gnu; then
2114 -      echo
2115 -      $SHELL $ac_srcdir/configure.gnu  --help=recursive
2116 -    elif test -f $ac_srcdir/configure; then
2117 -      echo
2118 -      $SHELL $ac_srcdir/configure  --help=recursive
2119 -    elif test -f $ac_srcdir/configure.ac ||
2120 -           test -f $ac_srcdir/configure.in; then
2121 -      echo
2122 -      $ac_configure --help
2123 -    else
2124 -      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
2125 -    fi
2126 -    cd $ac_popdir
2127 -  done
2128 -fi
2129 -
2130 -test -n "$ac_init_help" && exit 0
2131 -if $ac_init_version; then
2132 -  cat <<\_ACEOF
2133 -
2134 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
2135 -Free Software Foundation, Inc.
2136 -This configure script is free software; the Free Software Foundation
2137 -gives unlimited permission to copy, distribute and modify it.
2138 -_ACEOF
2139 -  exit 0
2140 -fi
2141 -exec 5>config.log
2142 -cat >&5 <<_ACEOF
2143 -This file contains any messages produced by compilers while
2144 -running configure, to aid debugging if configure makes a mistake.
2145 -
2146 -It was created by $as_me, which was
2147 -generated by GNU Autoconf 2.57.  Invocation command line was
2148 -
2149 -  $ $0 $@
2150 -
2151 -_ACEOF
2152 -{
2153 -cat <<_ASUNAME
2154 -@%:@@%:@ --------- @%:@@%:@
2155 -@%:@@%:@ Platform. @%:@@%:@
2156 -@%:@@%:@ --------- @%:@@%:@
2157 -
2158 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2159 -uname -m = `(uname -m) 2>/dev/null || echo unknown`
2160 -uname -r = `(uname -r) 2>/dev/null || echo unknown`
2161 -uname -s = `(uname -s) 2>/dev/null || echo unknown`
2162 -uname -v = `(uname -v) 2>/dev/null || echo unknown`
2163 -
2164 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2165 -/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
2166 -
2167 -/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
2168 -/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
2169 -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2170 -hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
2171 -/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
2172 -/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
2173 -/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
2174 -
2175 -_ASUNAME
2176 -
2177 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2178 -for as_dir in $PATH
2179 -do
2180 -  IFS=$as_save_IFS
2181 -  test -z "$as_dir" && as_dir=.
2182 -  echo "PATH: $as_dir"
2183 -done
2184 -
2185 -} >&5
2186 -
2187 -cat >&5 <<_ACEOF
2188 -
2189 -
2190 -@%:@@%:@ ----------- @%:@@%:@
2191 -@%:@@%:@ Core tests. @%:@@%:@
2192 -@%:@@%:@ ----------- @%:@@%:@
2193 -
2194 -_ACEOF
2195 -
2196 -
2197 -# Keep a trace of the command line.
2198 -# Strip out --no-create and --no-recursion so they do not pile up.
2199 -# Strip out --silent because we don't want to record it for future runs.
2200 -# Also quote any args containing shell meta-characters.
2201 -# Make two passes to allow for proper duplicate-argument suppression.
2202 -ac_configure_args=
2203 -ac_configure_args0=
2204 -ac_configure_args1=
2205 -ac_sep=
2206 -ac_must_keep_next=false
2207 -for ac_pass in 1 2
2208 -do
2209 -  for ac_arg
2210 -  do
2211 -    case $ac_arg in
2212 -    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2213 -    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2214 -    | -silent | --silent | --silen | --sile | --sil)
2215 -      continue ;;
2216 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
2217 -      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2218 -    esac
2219 -    case $ac_pass in
2220 -    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2221 -    2)
2222 -      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
2223 -      if test $ac_must_keep_next = true; then
2224 -        ac_must_keep_next=false # Got value, back to normal.
2225 -      else
2226 -        case $ac_arg in
2227 -          *=* | --config-cache | -C | -disable-* | --disable-* \
2228 -          | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2229 -          | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2230 -          | -with-* | --with-* | -without-* | --without-* | --x)
2231 -            case "$ac_configure_args0 " in
2232 -              "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2233 -            esac
2234 -            ;;
2235 -          -* ) ac_must_keep_next=true ;;
2236 -        esac
2237 -      fi
2238 -      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
2239 -      # Get rid of the leading space.
2240 -      ac_sep=" "
2241 -      ;;
2242 -    esac
2243 -  done
2244 -done
2245 -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
2246 -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
2247 -
2248 -# When interrupted or exit'd, cleanup temporary files, and complete
2249 -# config.log.  We remove comments because anyway the quotes in there
2250 -# would cause problems or look ugly.
2251 -# WARNING: Be sure not to use single quotes in there, as some shells,
2252 -# such as our DU 5.0 friend, will then `close' the trap.
2253 -trap 'exit_status=$?
2254 -  # Save into config.log some information that might help in debugging.
2255 -  {
2256 -    echo
2257 -
2258 -    cat <<\_ASBOX
2259 -@%:@@%:@ ---------------- @%:@@%:@
2260 -@%:@@%:@ Cache variables. @%:@@%:@
2261 -@%:@@%:@ ---------------- @%:@@%:@
2262 -_ASBOX
2263 -    echo
2264 -    # The following way of writing the cache mishandles newlines in values,
2265 -{
2266 -  (set) 2>&1 |
2267 -    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
2268 -    *ac_space=\ *)
2269 -      sed -n \
2270 -        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
2271 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
2272 -      ;;
2273 -    *)
2274 -      sed -n \
2275 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
2276 -      ;;
2277 -    esac;
2278 -}
2279 -    echo
2280 -
2281 -    cat <<\_ASBOX
2282 -@%:@@%:@ ----------------- @%:@@%:@
2283 -@%:@@%:@ Output variables. @%:@@%:@
2284 -@%:@@%:@ ----------------- @%:@@%:@
2285 -_ASBOX
2286 -    echo
2287 -    for ac_var in $ac_subst_vars
2288 -    do
2289 -      eval ac_val=$`echo $ac_var`
2290 -      echo "$ac_var='"'"'$ac_val'"'"'"
2291 -    done | sort
2292 -    echo
2293 -
2294 -    if test -n "$ac_subst_files"; then
2295 -      cat <<\_ASBOX
2296 -@%:@@%:@ ------------- @%:@@%:@
2297 -@%:@@%:@ Output files. @%:@@%:@
2298 -@%:@@%:@ ------------- @%:@@%:@
2299 -_ASBOX
2300 -      echo
2301 -      for ac_var in $ac_subst_files
2302 -      do
2303 -       eval ac_val=$`echo $ac_var`
2304 -        echo "$ac_var='"'"'$ac_val'"'"'"
2305 -      done | sort
2306 -      echo
2307 -    fi
2308 -
2309 -    if test -s confdefs.h; then
2310 -      cat <<\_ASBOX
2311 -@%:@@%:@ ----------- @%:@@%:@
2312 -@%:@@%:@ confdefs.h. @%:@@%:@
2313 -@%:@@%:@ ----------- @%:@@%:@
2314 -_ASBOX
2315 -      echo
2316 -      sed "/^$/d" confdefs.h | sort
2317 -      echo
2318 -    fi
2319 -    test "$ac_signal" != 0 &&
2320 -      echo "$as_me: caught signal $ac_signal"
2321 -    echo "$as_me: exit $exit_status"
2322 -  } >&5
2323 -  rm -f core core.* *.core &&
2324 -  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
2325 -    exit $exit_status
2326 -     ' 0
2327 -for ac_signal in 1 2 13 15; do
2328 -  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
2329 -done
2330 -ac_signal=0
2331 -
2332 -# confdefs.h avoids OS command line length limits that DEFS can exceed.
2333 -rm -rf conftest* confdefs.h
2334 -# AIX cpp loses on an empty file, so make sure it contains at least a newline.
2335 -echo >confdefs.h
2336 -
2337 -# Predefined preprocessor variables.
2338 -
2339 -cat >>confdefs.h <<_ACEOF
2340 -@%:@define PACKAGE_NAME "$PACKAGE_NAME"
2341 -_ACEOF
2342 -
2343 -
2344 -cat >>confdefs.h <<_ACEOF
2345 -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2346 -_ACEOF
2347 -
2348 -
2349 -cat >>confdefs.h <<_ACEOF
2350 -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
2351 -_ACEOF
2352 -
2353 -
2354 -cat >>confdefs.h <<_ACEOF
2355 -@%:@define PACKAGE_STRING "$PACKAGE_STRING"
2356 -_ACEOF
2357 -
2358 -
2359 -cat >>confdefs.h <<_ACEOF
2360 -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2361 -_ACEOF
2362 -
2363 -
2364 -# Let the site file select an alternate cache file if it wants to.
2365 -# Prefer explicitly selected file to automatically selected ones.
2366 -if test -z "$CONFIG_SITE"; then
2367 -  if test "x$prefix" != xNONE; then
2368 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
2369 -  else
2370 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
2371 -  fi
2372 -fi
2373 -for ac_site_file in $CONFIG_SITE; do
2374 -  if test -r "$ac_site_file"; then
2375 -    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
2376 -echo "$as_me: loading site script $ac_site_file" >&6;}
2377 -    sed 's/^/| /' "$ac_site_file" >&5
2378 -    . "$ac_site_file"
2379 -  fi
2380 -done
2381 -
2382 -if test -r "$cache_file"; then
2383 -  # Some versions of bash will fail to source /dev/null (special
2384 -  # files actually), so we avoid doing that.
2385 -  if test -f "$cache_file"; then
2386 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
2387 -echo "$as_me: loading cache $cache_file" >&6;}
2388 -    case $cache_file in
2389 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
2390 -      *)                      . ./$cache_file;;
2391 -    esac
2392 -  fi
2393 -else
2394 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
2395 -echo "$as_me: creating cache $cache_file" >&6;}
2396 -  >$cache_file
2397 -fi
2398 -
2399 -# Check that the precious variables saved in the cache have kept the same
2400 -# value.
2401 -ac_cache_corrupted=false
2402 -for ac_var in `(set) 2>&1 |
2403 -               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
2404 -  eval ac_old_set=\$ac_cv_env_${ac_var}_set
2405 -  eval ac_new_set=\$ac_env_${ac_var}_set
2406 -  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
2407 -  eval ac_new_val="\$ac_env_${ac_var}_value"
2408 -  case $ac_old_set,$ac_new_set in
2409 -    set,)
2410 -      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2411 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2412 -      ac_cache_corrupted=: ;;
2413 -    ,set)
2414 -      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
2415 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2416 -      ac_cache_corrupted=: ;;
2417 -    ,);;
2418 -    *)
2419 -      if test "x$ac_old_val" != "x$ac_new_val"; then
2420 -        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
2421 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2422 -        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
2423 -echo "$as_me:   former value:  $ac_old_val" >&2;}
2424 -        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
2425 -echo "$as_me:   current value: $ac_new_val" >&2;}
2426 -        ac_cache_corrupted=:
2427 -      fi;;
2428 -  esac
2429 -  # Pass precious variables to config.status.
2430 -  if test "$ac_new_set" = set; then
2431 -    case $ac_new_val in
2432 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
2433 -      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2434 -    *) ac_arg=$ac_var=$ac_new_val ;;
2435 -    esac
2436 -    case " $ac_configure_args " in
2437 -      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
2438 -      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
2439 -    esac
2440 -  fi
2441 -done
2442 -if $ac_cache_corrupted; then
2443 -  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
2444 -echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2445 -  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
2446 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
2447 -   { (exit 1); exit 1; }; }
2448 -fi
2449 -
2450 -ac_ext=c
2451 -ac_cpp='$CPP $CPPFLAGS'
2452 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2453 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2454 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
2455 -
2456 -
2457 -
2458 -
2459 -
2460 -
2461 -
2462 -
2463 -
2464 -
2465 -
2466 -
2467 -
2468 -
2469 -
2470 -
2471 -
2472 -
2473 -
2474 -
2475 -# This works around the fact that libtool configuration may change LD
2476 -# for this particular configuration, but some shells, instead of
2477 -# keeping the changes in LD private, export them just because LD is
2478 -# exported.
2479 -ORIGINAL_LD_FOR_MULTILIBS=$LD
2480 -
2481 -ac_aux_dir=
2482 -for ac_dir in . $srcdir/.; do
2483 -  if test -f $ac_dir/install-sh; then
2484 -    ac_aux_dir=$ac_dir
2485 -    ac_install_sh="$ac_aux_dir/install-sh -c"
2486 -    break
2487 -  elif test -f $ac_dir/install.sh; then
2488 -    ac_aux_dir=$ac_dir
2489 -    ac_install_sh="$ac_aux_dir/install.sh -c"
2490 -    break
2491 -  elif test -f $ac_dir/shtool; then
2492 -    ac_aux_dir=$ac_dir
2493 -    ac_install_sh="$ac_aux_dir/shtool install -c"
2494 -    break
2495 -  fi
2496 -done
2497 -if test -z "$ac_aux_dir"; then
2498 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . $srcdir/." >&5
2499 -echo "$as_me: error: cannot find install-sh or install.sh in . $srcdir/." >&2;}
2500 -   { (exit 1); exit 1; }; }
2501 -fi
2502 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
2503 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
2504 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
2505 -
2506 -
2507 -# Make sure we can run config.sub.
2508 -$ac_config_sub sun4 >/dev/null 2>&1 ||
2509 -  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
2510 -echo "$as_me: error: cannot run $ac_config_sub" >&2;}
2511 -   { (exit 1); exit 1; }; }
2512 -
2513 -echo "$as_me:$LINENO: checking build system type" >&5
2514 -echo $ECHO_N "checking build system type... $ECHO_C" >&6
2515 -if test "${ac_cv_build+set}" = set; then
2516 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2517 -else
2518 -  ac_cv_build_alias=$build_alias
2519 -test -z "$ac_cv_build_alias" &&
2520 -  ac_cv_build_alias=`$ac_config_guess`
2521 -test -z "$ac_cv_build_alias" &&
2522 -  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
2523 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
2524 -   { (exit 1); exit 1; }; }
2525 -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
2526 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
2527 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
2528 -   { (exit 1); exit 1; }; }
2529 -
2530 -fi
2531 -echo "$as_me:$LINENO: result: $ac_cv_build" >&5
2532 -echo "${ECHO_T}$ac_cv_build" >&6
2533 -build=$ac_cv_build
2534 -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2535 -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2536 -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2537 -
2538 -
2539 -echo "$as_me:$LINENO: checking host system type" >&5
2540 -echo $ECHO_N "checking host system type... $ECHO_C" >&6
2541 -if test "${ac_cv_host+set}" = set; then
2542 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2543 -else
2544 -  ac_cv_host_alias=$host_alias
2545 -test -z "$ac_cv_host_alias" &&
2546 -  ac_cv_host_alias=$ac_cv_build_alias
2547 -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
2548 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
2549 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
2550 -   { (exit 1); exit 1; }; }
2551 -
2552 -fi
2553 -echo "$as_me:$LINENO: result: $ac_cv_host" >&5
2554 -echo "${ECHO_T}$ac_cv_host" >&6
2555 -host=$ac_cv_host
2556 -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2557 -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2558 -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2559 -
2560 -
2561 -# Find a good install program.  We prefer a C program (faster),
2562 -# so one script is as good as another.  But avoid the broken or
2563 -# incompatible versions:
2564 -# SysV /etc/install, /usr/sbin/install
2565 -# SunOS /usr/etc/install
2566 -# IRIX /sbin/install
2567 -# AIX /bin/install
2568 -# AmigaOS /C/install, which installs bootblocks on floppy discs
2569 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
2570 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
2571 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
2572 -# ./install, which can be erroneously created by make from ./install.sh.
2573 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
2574 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
2575 -if test -z "$INSTALL"; then
2576 -if test "${ac_cv_path_install+set}" = set; then
2577 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2578 -else
2579 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2580 -for as_dir in $PATH
2581 -do
2582 -  IFS=$as_save_IFS
2583 -  test -z "$as_dir" && as_dir=.
2584 -  # Account for people who put trailing slashes in PATH elements.
2585 -case $as_dir/ in
2586 -  ./ | .// | /cC/* | \
2587 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
2588 -  /usr/ucb/* ) ;;
2589 -  *)
2590 -    # OSF1 and SCO ODT 3.0 have their own names for install.
2591 -    # Don't use installbsd from OSF since it installs stuff as root
2592 -    # by default.
2593 -    for ac_prog in ginstall scoinst install; do
2594 -      for ac_exec_ext in '' $ac_executable_extensions; do
2595 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
2596 -          if test $ac_prog = install &&
2597 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2598 -            # AIX install.  It has an incompatible calling convention.
2599 -            :
2600 -          elif test $ac_prog = install &&
2601 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2602 -            # program-specific install script used by HP pwplus--don't use.
2603 -            :
2604 -          else
2605 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
2606 -            break 3
2607 -          fi
2608 -        fi
2609 -      done
2610 -    done
2611 -    ;;
2612 -esac
2613 -done
2614 -
2615 -
2616 -fi
2617 -  if test "${ac_cv_path_install+set}" = set; then
2618 -    INSTALL=$ac_cv_path_install
2619 -  else
2620 -    # As a last resort, use the slow shell script.  We don't cache a
2621 -    # path for INSTALL within a source directory, because that will
2622 -    # break other packages using the cache if that directory is
2623 -    # removed, or if the path is relative.
2624 -    INSTALL=$ac_install_sh
2625 -  fi
2626 -fi
2627 -echo "$as_me:$LINENO: result: $INSTALL" >&5
2628 -echo "${ECHO_T}$INSTALL" >&6
2629 -
2630 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
2631 -# It thinks the first close brace ends the variable substitution.
2632 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
2633 -
2634 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
2635 -
2636 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
2637 -
2638 -echo "$as_me:$LINENO: checking whether build environment is sane" >&5
2639 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
2640 -# Just in case
2641 -sleep 1
2642 -echo timestamp > conftestfile
2643 -# Do `set' in a subshell so we don't clobber the current shell's
2644 -# arguments.  Must try -L first in case configure is actually a
2645 -# symlink; some systems play weird games with the mod time of symlinks
2646 -# (eg FreeBSD returns the mod time of the symlink's containing
2647 -# directory).
2648 -if (
2649 -   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
2650 -   if test "$*" = "X"; then
2651 -      # -L didn't work.
2652 -      set X `ls -t $srcdir/configure conftestfile`
2653 -   fi
2654 -   if test "$*" != "X $srcdir/configure conftestfile" \
2655 -      && test "$*" != "X conftestfile $srcdir/configure"; then
2656 -
2657 -      # If neither matched, then we have a broken ls.  This can happen
2658 -      # if, for instance, CONFIG_SHELL is bash and it inherits a
2659 -      # broken ls alias from the environment.  This has actually
2660 -      # happened.  Such a system could not be considered "sane".
2661 -      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
2662 -alias in your environment" >&5
2663 -echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
2664 -alias in your environment" >&2;}
2665 -   { (exit 1); exit 1; }; }
2666 -   fi
2667 -
2668 -   test "$2" = conftestfile
2669 -   )
2670 -then
2671 -   # Ok.
2672 -   :
2673 -else
2674 -   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
2675 -Check your system clock" >&5
2676 -echo "$as_me: error: newly created file is older than distributed files!
2677 -Check your system clock" >&2;}
2678 -   { (exit 1); exit 1; }; }
2679 -fi
2680 -rm -f conftest*
2681 -echo "$as_me:$LINENO: result: yes" >&5
2682 -echo "${ECHO_T}yes" >&6
2683 -test "$program_prefix" != NONE &&
2684 -  program_transform_name="s,^,$program_prefix,;$program_transform_name"
2685 -# Use a double $ so make ignores it.
2686 -test "$program_suffix" != NONE &&
2687 -  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
2688 -# Double any \ or $.  echo might interpret backslashes.
2689 -# By default was `s,x,x', remove it if useless.
2690 -cat <<\_ACEOF >conftest.sed
2691 -s/[\\$]/&&/g;s/;s,x,x,$//
2692 -_ACEOF
2693 -program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
2694 -rm conftest.sed
2695 -
2696 -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
2697 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
2698 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
2699 -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
2700 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2701 -else
2702 -  cat >conftest.make <<\_ACEOF
2703 -all:
2704 -       @echo 'ac_maketemp="$(MAKE)"'
2705 -_ACEOF
2706 -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
2707 -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
2708 -if test -n "$ac_maketemp"; then
2709 -  eval ac_cv_prog_make_${ac_make}_set=yes
2710 -else
2711 -  eval ac_cv_prog_make_${ac_make}_set=no
2712 -fi
2713 -rm -f conftest.make
2714 -fi
2715 -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
2716 -  echo "$as_me:$LINENO: result: yes" >&5
2717 -echo "${ECHO_T}yes" >&6
2718 -  SET_MAKE=
2719 -else
2720 -  echo "$as_me:$LINENO: result: no" >&5
2721 -echo "${ECHO_T}no" >&6
2722 -  SET_MAKE="MAKE=${MAKE-make}"
2723 -fi
2724 -
2725 -
2726 -# Check whether --enable-multilib or --disable-multilib was given.
2727 -if test "${enable_multilib+set}" = set; then
2728 -  enableval="$enable_multilib"
2729 -  case "${enableval}" in
2730 -  yes) multilib=yes ;;
2731 -  no)  multilib=no ;;
2732 -  *)   { { echo "$as_me:$LINENO: error: bad value ${enableval} for multilib option" >&5
2733 -echo "$as_me: error: bad value ${enableval} for multilib option" >&2;}
2734 -   { (exit 1); exit 1; }; } ;;
2735 - esac
2736 -else
2737 -  multilib=yes
2738 -fi; 
2739 -
2740 -if test "${srcdir}" = "."; then
2741 -  if test "${with_target_subdir}" != "." -a -n "${with_target_subdir}"; then
2742 -    gc_basedir="${srcdir}/${with_multisrctop}../."
2743 -  else
2744 -    gc_basedir="${srcdir}/${with_multisrctop}."
2745 -  fi
2746 -else
2747 -  gc_basedir="${srcdir}/."
2748 -fi
2749 -
2750 -ac_aux_dir=
2751 -for ac_dir in $gc_basedir/.. $srcdir/$gc_basedir/..; do
2752 -  if test -f $ac_dir/install-sh; then
2753 -    ac_aux_dir=$ac_dir
2754 -    ac_install_sh="$ac_aux_dir/install-sh -c"
2755 -    break
2756 -  elif test -f $ac_dir/install.sh; then
2757 -    ac_aux_dir=$ac_dir
2758 -    ac_install_sh="$ac_aux_dir/install.sh -c"
2759 -    break
2760 -  elif test -f $ac_dir/shtool; then
2761 -    ac_aux_dir=$ac_dir
2762 -    ac_install_sh="$ac_aux_dir/shtool install -c"
2763 -    break
2764 -  fi
2765 -done
2766 -if test -z "$ac_aux_dir"; then
2767 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&5
2768 -echo "$as_me: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&2;}
2769 -   { (exit 1); exit 1; }; }
2770 -fi
2771 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
2772 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
2773 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
2774 -
2775 -if :; then :; else
2776 -  # This overrides the previous occurrence for automake, but not for
2777 -  # autoconf, which is exactly what we want.
2778 -  ac_aux_dir=
2779 -for ac_dir in .. $srcdir/..; do
2780 -  if test -f $ac_dir/install-sh; then
2781 -    ac_aux_dir=$ac_dir
2782 -    ac_install_sh="$ac_aux_dir/install-sh -c"
2783 -    break
2784 -  elif test -f $ac_dir/install.sh; then
2785 -    ac_aux_dir=$ac_dir
2786 -    ac_install_sh="$ac_aux_dir/install.sh -c"
2787 -    break
2788 -  elif test -f $ac_dir/shtool; then
2789 -    ac_aux_dir=$ac_dir
2790 -    ac_install_sh="$ac_aux_dir/shtool install -c"
2791 -    break
2792 -  fi
2793 -done
2794 -if test -z "$ac_aux_dir"; then
2795 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5
2796 -echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;}
2797 -   { (exit 1); exit 1; }; }
2798 -fi
2799 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
2800 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
2801 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
2802 -
2803 -fi
2804 -
2805 -echo "$as_me:$LINENO: checking target system type" >&5
2806 -echo $ECHO_N "checking target system type... $ECHO_C" >&6
2807 -if test "${ac_cv_target+set}" = set; then
2808 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2809 -else
2810 -  ac_cv_target_alias=$target_alias
2811 -test "x$ac_cv_target_alias" = "x" &&
2812 -  ac_cv_target_alias=$ac_cv_host_alias
2813 -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
2814 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
2815 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
2816 -   { (exit 1); exit 1; }; }
2817 -
2818 -fi
2819 -echo "$as_me:$LINENO: result: $ac_cv_target" >&5
2820 -echo "${ECHO_T}$ac_cv_target" >&6
2821 -target=$ac_cv_target
2822 -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2823 -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2824 -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2825 -
2826 -
2827 -# The aliases save the names the user supplied, while $host etc.
2828 -# will get canonicalized.
2829 -test -n "$target_alias" &&
2830 -  test "$program_prefix$program_suffix$program_transform_name" = \
2831 -    NONENONEs,x,x, &&
2832 -  program_prefix=${target_alias}-
2833 -
2834 -# This works around an automake problem.
2835 -mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
2836 -
2837 -
2838 -
2839 -PACKAGE=gc
2840 -
2841 -VERSION=6.0
2842 -
2843 -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
2844 -  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
2845 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
2846 -   { (exit 1); exit 1; }; }
2847 -fi
2848 -
2849 -
2850 -
2851 -missing_dir=`cd $ac_aux_dir && pwd`
2852 -echo "$as_me:$LINENO: checking for working aclocal" >&5
2853 -echo $ECHO_N "checking for working aclocal... $ECHO_C" >&6
2854 -# Run test in a subshell; some versions of sh will print an error if
2855 -# an executable is not found, even if stderr is redirected.
2856 -# Redirect stdin to placate older versions of autoconf.  Sigh.
2857 -if (aclocal --version) < /dev/null > /dev/null 2>&1; then
2858 -   ACLOCAL=aclocal
2859 -   echo "$as_me:$LINENO: result: found" >&5
2860 -echo "${ECHO_T}found" >&6
2861 -else
2862 -   ACLOCAL="$missing_dir/missing aclocal"
2863 -   echo "$as_me:$LINENO: result: missing" >&5
2864 -echo "${ECHO_T}missing" >&6
2865 -fi
2866 -
2867 -echo "$as_me:$LINENO: checking for working autoconf" >&5
2868 -echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6
2869 -# Run test in a subshell; some versions of sh will print an error if
2870 -# an executable is not found, even if stderr is redirected.
2871 -# Redirect stdin to placate older versions of autoconf.  Sigh.
2872 -if (autoconf --version) < /dev/null > /dev/null 2>&1; then
2873 -   AUTOCONF=autoconf
2874 -   echo "$as_me:$LINENO: result: found" >&5
2875 -echo "${ECHO_T}found" >&6
2876 -else
2877 -   AUTOCONF="$missing_dir/missing autoconf"
2878 -   echo "$as_me:$LINENO: result: missing" >&5
2879 -echo "${ECHO_T}missing" >&6
2880 -fi
2881 -
2882 -echo "$as_me:$LINENO: checking for working automake" >&5
2883 -echo $ECHO_N "checking for working automake... $ECHO_C" >&6
2884 -# Run test in a subshell; some versions of sh will print an error if
2885 -# an executable is not found, even if stderr is redirected.
2886 -# Redirect stdin to placate older versions of autoconf.  Sigh.
2887 -if (automake --version) < /dev/null > /dev/null 2>&1; then
2888 -   AUTOMAKE=automake
2889 -   echo "$as_me:$LINENO: result: found" >&5
2890 -echo "${ECHO_T}found" >&6
2891 -else
2892 -   AUTOMAKE="$missing_dir/missing automake"
2893 -   echo "$as_me:$LINENO: result: missing" >&5
2894 -echo "${ECHO_T}missing" >&6
2895 -fi
2896 -
2897 -echo "$as_me:$LINENO: checking for working autoheader" >&5
2898 -echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6
2899 -# Run test in a subshell; some versions of sh will print an error if
2900 -# an executable is not found, even if stderr is redirected.
2901 -# Redirect stdin to placate older versions of autoconf.  Sigh.
2902 -if (autoheader --version) < /dev/null > /dev/null 2>&1; then
2903 -   AUTOHEADER=autoheader
2904 -   echo "$as_me:$LINENO: result: found" >&5
2905 -echo "${ECHO_T}found" >&6
2906 -else
2907 -   AUTOHEADER="$missing_dir/missing autoheader"
2908 -   echo "$as_me:$LINENO: result: missing" >&5
2909 -echo "${ECHO_T}missing" >&6
2910 -fi
2911 -
2912 -echo "$as_me:$LINENO: checking for working makeinfo" >&5
2913 -echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6
2914 -# Run test in a subshell; some versions of sh will print an error if
2915 -# an executable is not found, even if stderr is redirected.
2916 -# Redirect stdin to placate older versions of autoconf.  Sigh.
2917 -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
2918 -   MAKEINFO=makeinfo
2919 -   echo "$as_me:$LINENO: result: found" >&5
2920 -echo "${ECHO_T}found" >&6
2921 -else
2922 -   MAKEINFO="$missing_dir/missing makeinfo"
2923 -   echo "$as_me:$LINENO: result: missing" >&5
2924 -echo "${ECHO_T}missing" >&6
2925 -fi
2926 -
2927 -
2928 -
2929 -# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
2930 -# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
2931 -# are probably using a cross compiler, which will not be able to fully
2932 -# link an executable.  This should really be fixed in autoconf
2933 -# itself.
2934 -
2935 -
2936 -
2937 -
2938 -# Extract the first word of "gcc", so it can be a program name with args.
2939 -set dummy gcc; ac_word=$2
2940 -echo "$as_me:$LINENO: checking for $ac_word" >&5
2941 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
2942 -if test "${ac_cv_prog_CC+set}" = set; then
2943 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2944 -else
2945 -  if test -n "$CC"; then
2946 -  ac_cv_prog_CC="$CC" # Let the user override the test.
2947 -else
2948 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2949 -for as_dir in $PATH
2950 -do
2951 -  IFS=$as_save_IFS
2952 -  test -z "$as_dir" && as_dir=.
2953 -  for ac_exec_ext in '' $ac_executable_extensions; do
2954 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2955 -    ac_cv_prog_CC="gcc"
2956 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
2957 -    break 2
2958 -  fi
2959 -done
2960 -done
2961 -
2962 -fi
2963 -fi
2964 -CC=$ac_cv_prog_CC
2965 -if test -n "$CC"; then
2966 -  echo "$as_me:$LINENO: result: $CC" >&5
2967 -echo "${ECHO_T}$CC" >&6
2968 -else
2969 -  echo "$as_me:$LINENO: result: no" >&5
2970 -echo "${ECHO_T}no" >&6
2971 -fi
2972 -
2973 -if test -z "$CC"; then
2974 -  # Extract the first word of "cc", so it can be a program name with args.
2975 -set dummy cc; ac_word=$2
2976 -echo "$as_me:$LINENO: checking for $ac_word" >&5
2977 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
2978 -if test "${ac_cv_prog_CC+set}" = set; then
2979 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2980 -else
2981 -  if test -n "$CC"; then
2982 -  ac_cv_prog_CC="$CC" # Let the user override the test.
2983 -else
2984 -  ac_prog_rejected=no
2985 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2986 -for as_dir in $PATH
2987 -do
2988 -  IFS=$as_save_IFS
2989 -  test -z "$as_dir" && as_dir=.
2990 -  for ac_exec_ext in '' $ac_executable_extensions; do
2991 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2992 -    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
2993 -       ac_prog_rejected=yes
2994 -       continue
2995 -     fi
2996 -    ac_cv_prog_CC="cc"
2997 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
2998 -    break 2
2999 -  fi
3000 -done
3001 -done
3002 -
3003 -if test $ac_prog_rejected = yes; then
3004 -  # We found a bogon in the path, so make sure we never use it.
3005 -  set dummy $ac_cv_prog_CC
3006 -  shift
3007 -  if test $@%:@ != 0; then
3008 -    # We chose a different compiler from the bogus one.
3009 -    # However, it has the same basename, so the bogon will be chosen
3010 -    # first if we set CC to just the basename; use the full file name.
3011 -    shift
3012 -    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
3013 -  fi
3014 -fi
3015 -fi
3016 -fi
3017 -CC=$ac_cv_prog_CC
3018 -if test -n "$CC"; then
3019 -  echo "$as_me:$LINENO: result: $CC" >&5
3020 -echo "${ECHO_T}$CC" >&6
3021 -else
3022 -  echo "$as_me:$LINENO: result: no" >&5
3023 -echo "${ECHO_T}no" >&6
3024 -fi
3025 -
3026 -  test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
3027 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
3028 -   { (exit 1); exit 1; }; }
3029 -fi
3030 -
3031 -AC_PROG_CC_GNU
3032 -
3033 -if test $ac_cv_c_compiler_gnu = yes; then
3034 -  GCC=yes
3035 -  ac_test_CFLAGS="${CFLAGS+set}"
3036 -  ac_save_CFLAGS="$CFLAGS"
3037 -  CFLAGS=
3038 -  AC_PROG_CC_G
3039 -  if test "$ac_test_CFLAGS" = set; then
3040 -    CFLAGS="$ac_save_CFLAGS"
3041 -  elif test $ac_cv_prog_cc_g = yes; then
3042 -    CFLAGS="-g -O2"
3043 -  else
3044 -    CFLAGS="-O2"
3045 -  fi
3046 -else
3047 -  GCC=
3048 -  test "${CFLAGS+set}" = set || CFLAGS="-g"
3049 -fi
3050 -
3051 -
3052 -# Likewise for AC_PROG_CXX.
3053 -
3054 -
3055 -
3056 -for ac_prog in $CCC c++ g++ gcc CC cxx cc++
3057 -do
3058 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
3059 -set dummy $ac_prog; ac_word=$2
3060 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3061 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3062 -if test "${ac_cv_prog_CXX+set}" = set; then
3063 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3064 -else
3065 -  if test -n "$CXX"; then
3066 -  ac_cv_prog_CXX="$CXX" # Let the user override the test.
3067 -else
3068 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3069 -for as_dir in $PATH
3070 -do
3071 -  IFS=$as_save_IFS
3072 -  test -z "$as_dir" && as_dir=.
3073 -  for ac_exec_ext in '' $ac_executable_extensions; do
3074 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3075 -    ac_cv_prog_CXX="$ac_prog"
3076 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3077 -    break 2
3078 -  fi
3079 -done
3080 -done
3081 -
3082 -fi
3083 -fi
3084 -CXX=$ac_cv_prog_CXX
3085 -if test -n "$CXX"; then
3086 -  echo "$as_me:$LINENO: result: $CXX" >&5
3087 -echo "${ECHO_T}$CXX" >&6
3088 -else
3089 -  echo "$as_me:$LINENO: result: no" >&5
3090 -echo "${ECHO_T}no" >&6
3091 -fi
3092 -
3093 -  test -n "$CXX" && break
3094 -done
3095 -test -n "$CXX" || CXX="gcc"
3096 -
3097 -test -z "$CXX" && { { echo "$as_me:$LINENO: error: no acceptable c++ found in \$PATH" >&5
3098 -echo "$as_me: error: no acceptable c++ found in \$PATH" >&2;}
3099 -   { (exit 1); exit 1; }; }
3100 -
3101 -AC_PROG_CXX_GNU
3102 -
3103 -if test $ac_cv_cxx_compiler_gnu = yes; then
3104 -  GXX=yes
3105 -  ac_test_CXXFLAGS="${CXXFLAGS+set}"
3106 -  ac_save_CXXFLAGS="$CXXFLAGS"
3107 -  CXXFLAGS=
3108 -  AC_PROG_CXX_G
3109 -  if test "$ac_test_CXXFLAGS" = set; then
3110 -    CXXFLAGS="$ac_save_CXXFLAGS"
3111 -  elif test $ac_cv_prog_cxx_g = yes; then
3112 -    CXXFLAGS="-g -O2"
3113 -  else
3114 -    CXXFLAGS="-O2"
3115 -  fi
3116 -else
3117 -  GXX=
3118 -  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
3119 -fi
3120 -
3121 -
3122 -# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
3123 -# run it explicitly here, it will be run implicitly before
3124 -# NEWLIB_CONFIGURE, which doesn't work because that means that it will
3125 -# be run before AC_CANONICAL_HOST.
3126 -
3127 -
3128 -if test -n "$ac_tool_prefix"; then
3129 -  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
3130 -set dummy ${ac_tool_prefix}as; ac_word=$2
3131 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3132 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3133 -if test "${ac_cv_prog_AS+set}" = set; then
3134 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3135 -else
3136 -  if test -n "$AS"; then
3137 -  ac_cv_prog_AS="$AS" # Let the user override the test.
3138 -else
3139 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3140 -for as_dir in $PATH
3141 -do
3142 -  IFS=$as_save_IFS
3143 -  test -z "$as_dir" && as_dir=.
3144 -  for ac_exec_ext in '' $ac_executable_extensions; do
3145 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3146 -    ac_cv_prog_AS="${ac_tool_prefix}as"
3147 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3148 -    break 2
3149 -  fi
3150 -done
3151 -done
3152 -
3153 -fi
3154 -fi
3155 -AS=$ac_cv_prog_AS
3156 -if test -n "$AS"; then
3157 -  echo "$as_me:$LINENO: result: $AS" >&5
3158 -echo "${ECHO_T}$AS" >&6
3159 -else
3160 -  echo "$as_me:$LINENO: result: no" >&5
3161 -echo "${ECHO_T}no" >&6
3162 -fi
3163 -
3164 -fi
3165 -if test -z "$ac_cv_prog_AS"; then
3166 -  ac_ct_AS=$AS
3167 -  # Extract the first word of "as", so it can be a program name with args.
3168 -set dummy as; ac_word=$2
3169 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3170 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3171 -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
3172 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3173 -else
3174 -  if test -n "$ac_ct_AS"; then
3175 -  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
3176 -else
3177 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3178 -for as_dir in $PATH
3179 -do
3180 -  IFS=$as_save_IFS
3181 -  test -z "$as_dir" && as_dir=.
3182 -  for ac_exec_ext in '' $ac_executable_extensions; do
3183 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3184 -    ac_cv_prog_ac_ct_AS="as"
3185 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3186 -    break 2
3187 -  fi
3188 -done
3189 -done
3190 -
3191 -fi
3192 -fi
3193 -ac_ct_AS=$ac_cv_prog_ac_ct_AS
3194 -if test -n "$ac_ct_AS"; then
3195 -  echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
3196 -echo "${ECHO_T}$ac_ct_AS" >&6
3197 -else
3198 -  echo "$as_me:$LINENO: result: no" >&5
3199 -echo "${ECHO_T}no" >&6
3200 -fi
3201 -
3202 -  AS=$ac_ct_AS
3203 -else
3204 -  AS="$ac_cv_prog_AS"
3205 -fi
3206 -
3207 -if test -n "$ac_tool_prefix"; then
3208 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
3209 -set dummy ${ac_tool_prefix}ar; ac_word=$2
3210 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3211 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3212 -if test "${ac_cv_prog_AR+set}" = set; then
3213 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3214 -else
3215 -  if test -n "$AR"; then
3216 -  ac_cv_prog_AR="$AR" # Let the user override the test.
3217 -else
3218 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3219 -for as_dir in $PATH
3220 -do
3221 -  IFS=$as_save_IFS
3222 -  test -z "$as_dir" && as_dir=.
3223 -  for ac_exec_ext in '' $ac_executable_extensions; do
3224 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3225 -    ac_cv_prog_AR="${ac_tool_prefix}ar"
3226 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3227 -    break 2
3228 -  fi
3229 -done
3230 -done
3231 -
3232 -fi
3233 -fi
3234 -AR=$ac_cv_prog_AR
3235 -if test -n "$AR"; then
3236 -  echo "$as_me:$LINENO: result: $AR" >&5
3237 -echo "${ECHO_T}$AR" >&6
3238 -else
3239 -  echo "$as_me:$LINENO: result: no" >&5
3240 -echo "${ECHO_T}no" >&6
3241 -fi
3242 -
3243 -fi
3244 -if test -z "$ac_cv_prog_AR"; then
3245 -  ac_ct_AR=$AR
3246 -  # Extract the first word of "ar", so it can be a program name with args.
3247 -set dummy ar; ac_word=$2
3248 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3249 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3250 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
3251 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3252 -else
3253 -  if test -n "$ac_ct_AR"; then
3254 -  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
3255 -else
3256 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3257 -for as_dir in $PATH
3258 -do
3259 -  IFS=$as_save_IFS
3260 -  test -z "$as_dir" && as_dir=.
3261 -  for ac_exec_ext in '' $ac_executable_extensions; do
3262 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3263 -    ac_cv_prog_ac_ct_AR="ar"
3264 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3265 -    break 2
3266 -  fi
3267 -done
3268 -done
3269 -
3270 -fi
3271 -fi
3272 -ac_ct_AR=$ac_cv_prog_ac_ct_AR
3273 -if test -n "$ac_ct_AR"; then
3274 -  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
3275 -echo "${ECHO_T}$ac_ct_AR" >&6
3276 -else
3277 -  echo "$as_me:$LINENO: result: no" >&5
3278 -echo "${ECHO_T}no" >&6
3279 -fi
3280 -
3281 -  AR=$ac_ct_AR
3282 -else
3283 -  AR="$ac_cv_prog_AR"
3284 -fi
3285 -
3286 -if test -n "$ac_tool_prefix"; then
3287 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
3288 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
3289 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3290 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3291 -if test "${ac_cv_prog_RANLIB+set}" = set; then
3292 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3293 -else
3294 -  if test -n "$RANLIB"; then
3295 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
3296 -else
3297 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3298 -for as_dir in $PATH
3299 -do
3300 -  IFS=$as_save_IFS
3301 -  test -z "$as_dir" && as_dir=.
3302 -  for ac_exec_ext in '' $ac_executable_extensions; do
3303 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3304 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
3305 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3306 -    break 2
3307 -  fi
3308 -done
3309 -done
3310 -
3311 -fi
3312 -fi
3313 -RANLIB=$ac_cv_prog_RANLIB
3314 -if test -n "$RANLIB"; then
3315 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
3316 -echo "${ECHO_T}$RANLIB" >&6
3317 -else
3318 -  echo "$as_me:$LINENO: result: no" >&5
3319 -echo "${ECHO_T}no" >&6
3320 -fi
3321 -
3322 -fi
3323 -if test -z "$ac_cv_prog_RANLIB"; then
3324 -  ac_ct_RANLIB=$RANLIB
3325 -  # Extract the first word of "ranlib", so it can be a program name with args.
3326 -set dummy ranlib; ac_word=$2
3327 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3328 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3329 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
3330 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3331 -else
3332 -  if test -n "$ac_ct_RANLIB"; then
3333 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
3334 -else
3335 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3336 -for as_dir in $PATH
3337 -do
3338 -  IFS=$as_save_IFS
3339 -  test -z "$as_dir" && as_dir=.
3340 -  for ac_exec_ext in '' $ac_executable_extensions; do
3341 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3342 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
3343 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3344 -    break 2
3345 -  fi
3346 -done
3347 -done
3348 -
3349 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
3350 -fi
3351 -fi
3352 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
3353 -if test -n "$ac_ct_RANLIB"; then
3354 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
3355 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
3356 -else
3357 -  echo "$as_me:$LINENO: result: no" >&5
3358 -echo "${ECHO_T}no" >&6
3359 -fi
3360 -
3361 -  RANLIB=$ac_ct_RANLIB
3362 -else
3363 -  RANLIB="$ac_cv_prog_RANLIB"
3364 -fi
3365 -
3366 -
3367 -# Find a good install program.  We prefer a C program (faster),
3368 -# so one script is as good as another.  But avoid the broken or
3369 -# incompatible versions:
3370 -# SysV /etc/install, /usr/sbin/install
3371 -# SunOS /usr/etc/install
3372 -# IRIX /sbin/install
3373 -# AIX /bin/install
3374 -# AmigaOS /C/install, which installs bootblocks on floppy discs
3375 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
3376 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
3377 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
3378 -# ./install, which can be erroneously created by make from ./install.sh.
3379 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
3380 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
3381 -if test -z "$INSTALL"; then
3382 -if test "${ac_cv_path_install+set}" = set; then
3383 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3384 -else
3385 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3386 -for as_dir in $PATH
3387 -do
3388 -  IFS=$as_save_IFS
3389 -  test -z "$as_dir" && as_dir=.
3390 -  # Account for people who put trailing slashes in PATH elements.
3391 -case $as_dir/ in
3392 -  ./ | .// | /cC/* | \
3393 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
3394 -  /usr/ucb/* ) ;;
3395 -  *)
3396 -    # OSF1 and SCO ODT 3.0 have their own names for install.
3397 -    # Don't use installbsd from OSF since it installs stuff as root
3398 -    # by default.
3399 -    for ac_prog in ginstall scoinst install; do
3400 -      for ac_exec_ext in '' $ac_executable_extensions; do
3401 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
3402 -          if test $ac_prog = install &&
3403 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3404 -            # AIX install.  It has an incompatible calling convention.
3405 -            :
3406 -          elif test $ac_prog = install &&
3407 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3408 -            # program-specific install script used by HP pwplus--don't use.
3409 -            :
3410 -          else
3411 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
3412 -            break 3
3413 -          fi
3414 -        fi
3415 -      done
3416 -    done
3417 -    ;;
3418 -esac
3419 -done
3420 -
3421 -
3422 -fi
3423 -  if test "${ac_cv_path_install+set}" = set; then
3424 -    INSTALL=$ac_cv_path_install
3425 -  else
3426 -    # As a last resort, use the slow shell script.  We don't cache a
3427 -    # path for INSTALL within a source directory, because that will
3428 -    # break other packages using the cache if that directory is
3429 -    # removed, or if the path is relative.
3430 -    INSTALL=$ac_install_sh
3431 -  fi
3432 -fi
3433 -echo "$as_me:$LINENO: result: $INSTALL" >&5
3434 -echo "${ECHO_T}$INSTALL" >&6
3435 -
3436 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
3437 -# It thinks the first close brace ends the variable substitution.
3438 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
3439 -
3440 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
3441 -
3442 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
3443 -
3444 -
3445 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
3446 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
3447 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
3448 -if test "${enable_maintainer_mode+set}" = set; then
3449 -  enableval="$enable_maintainer_mode"
3450 -  USE_MAINTAINER_MODE=$enableval
3451 -else
3452 -  USE_MAINTAINER_MODE=no
3453 -fi; 
3454 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
3455 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
3456 -  
3457 -
3458 -if test $USE_MAINTAINER_MODE = yes; then
3459 -  MAINTAINER_MODE_TRUE=
3460 -  MAINTAINER_MODE_FALSE='#'
3461 -else
3462 -  MAINTAINER_MODE_TRUE='#'
3463 -  MAINTAINER_MODE_FALSE=
3464 -fi
3465 -  MAINT=$MAINTAINER_MODE_TRUE
3466 -  
3467 -
3468 -
3469 -# We need AC_EXEEXT to keep automake happy in cygnus mode.  However,
3470 -# at least currently, we never actually build a program, so we never
3471 -# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
3472 -# fails, because we are probably configuring with a cross compiler
3473 -# which can't create executables.  So we include AC_EXEEXT to keep
3474 -# automake happy, but we don't execute it, since we don't care about
3475 -# the result.
3476 -if false; then
3477 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
3478 -  # to nothing, so nothing would remain between `then' and `fi' if it
3479 -  # were not for the `:' below.
3480 -  :
3481 -  
3482 -fi
3483 -
3484 -. ${srcdir}/configure.host
3485 -
3486 -case ${gc_basedir} in
3487 -/* | A-Za-z:/\\*) gc_flagbasedir=${gc_basedir} ;;
3488 -*) gc_flagbasedir='$(top_builddir)/'${gc_basedir} ;;
3489 -esac
3490 -
3491 -gc_cflags="${gc_cflags} -I"'$(top_builddir)'"/./targ-include -I${gc_flagbasedir}/libc/include"
3492 -case "${host}" in
3493 -  *-*-cygwin32*)
3494 -    gc_cflags="${gc_cflags} -I${gc_flagbasedir}/../winsup/include"
3495 -    ;;
3496 -esac
3497 -
3498 -
3499 -GC_CFLAGS=${gc_cflags}
3500 -
3501 -
3502 -
3503 -# Check whether --enable-shared or --disable-shared was given.
3504 -if test "${enable_shared+set}" = set; then
3505 -  enableval="$enable_shared"
3506 -  p=${PACKAGE-default}
3507 -case $enableval in
3508 -yes) enable_shared=yes ;;
3509 -no) enable_shared=no ;;
3510 -*)
3511 -  enable_shared=no
3512 -  # Look at the argument we got.  We use all the common list separators.
3513 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3514 -  for pkg in $enableval; do
3515 -    if test "X$pkg" = "X$p"; then
3516 -      enable_shared=yes
3517 -    fi
3518 -  done
3519 -  IFS="$ac_save_ifs"
3520 -  ;;
3521 -esac
3522 -else
3523 -  enable_shared=yes
3524 -fi; 
3525 -# Check whether --enable-static or --disable-static was given.
3526 -if test "${enable_static+set}" = set; then
3527 -  enableval="$enable_static"
3528 -  p=${PACKAGE-default}
3529 -case $enableval in
3530 -yes) enable_static=yes ;;
3531 -no) enable_static=no ;;
3532 -*)
3533 -  enable_static=no
3534 -  # Look at the argument we got.  We use all the common list separators.
3535 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3536 -  for pkg in $enableval; do
3537 -    if test "X$pkg" = "X$p"; then
3538 -      enable_static=yes
3539 -    fi
3540 -  done
3541 -  IFS="$ac_save_ifs"
3542 -  ;;
3543 -esac
3544 -else
3545 -  enable_static=yes
3546 -fi; 
3547 -# Check whether --enable-fast-install or --disable-fast-install was given.
3548 -if test "${enable_fast_install+set}" = set; then
3549 -  enableval="$enable_fast_install"
3550 -  p=${PACKAGE-default}
3551 -case $enableval in
3552 -yes) enable_fast_install=yes ;;
3553 -no) enable_fast_install=no ;;
3554 -*)
3555 -  enable_fast_install=no
3556 -  # Look at the argument we got.  We use all the common list separators.
3557 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3558 -  for pkg in $enableval; do
3559 -    if test "X$pkg" = "X$p"; then
3560 -      enable_fast_install=yes
3561 -    fi
3562 -  done
3563 -  IFS="$ac_save_ifs"
3564 -  ;;
3565 -esac
3566 -else
3567 -  enable_fast_install=yes
3568 -fi; 
3569 -
3570 -# Check whether --with-gnu-ld or --without-gnu-ld was given.
3571 -if test "${with_gnu_ld+set}" = set; then
3572 -  withval="$with_gnu_ld"
3573 -  test "$withval" = no || with_gnu_ld=yes
3574 -else
3575 -  with_gnu_ld=no
3576 -fi; 
3577 -ac_prog=ld
3578 -if test "$GCC" = yes; then
3579 -  # Check if gcc -print-prog-name=ld gives a path.
3580 -  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
3581 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
3582 -  case $host in
3583 -  *-*-mingw*)
3584 -    # gcc leaves a trailing carriage return which upsets mingw
3585 -    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3586 -  *)
3587 -    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3588 -  esac
3589 -  case $ac_prog in
3590 -    # Accept absolute paths.
3591 -    [\\/]* | [A-Za-z]:[\\/]*)
3592 -      re_direlt='/[^/][^/]*/\.\./'
3593 -      # Canonicalize the path of ld
3594 -      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
3595 -      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3596 -       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
3597 -      done
3598 -      test -z "$LD" && LD="$ac_prog"
3599 -      ;;
3600 -  "")
3601 -    # If it fails, then pretend we aren't using GCC.
3602 -    ac_prog=ld
3603 -    ;;
3604 -  *)
3605 -    # If it is relative, then search for the first ld in PATH.
3606 -    with_gnu_ld=unknown
3607 -    ;;
3608 -  esac
3609 -elif test "$with_gnu_ld" = yes; then
3610 -  echo "$as_me:$LINENO: checking for GNU ld" >&5
3611 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
3612 -else
3613 -  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
3614 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
3615 -fi
3616 -if test "${lt_cv_path_LD+set}" = set; then
3617 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3618 -else
3619 -  if test -z "$LD"; then
3620 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
3621 -  for ac_dir in $PATH; do
3622 -    test -z "$ac_dir" && ac_dir=.
3623 -    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3624 -      lt_cv_path_LD="$ac_dir/$ac_prog"
3625 -      # Check to see if the program is GNU ld.  I'd rather use --version,
3626 -      # but apparently some GNU ld's only accept -v.
3627 -      # Break only if it was the GNU/non-GNU ld that we prefer.
3628 -      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
3629 -       test "$with_gnu_ld" != no && break
3630 -      else
3631 -       test "$with_gnu_ld" != yes && break
3632 -      fi
3633 -    fi
3634 -  done
3635 -  IFS="$ac_save_ifs"
3636 -else
3637 -  lt_cv_path_LD="$LD" # Let the user override the test with a path.
3638 -fi
3639 -fi
3640 -
3641 -LD="$lt_cv_path_LD"
3642 -if test -n "$LD"; then
3643 -  echo "$as_me:$LINENO: result: $LD" >&5
3644 -echo "${ECHO_T}$LD" >&6
3645 -else
3646 -  echo "$as_me:$LINENO: result: no" >&5
3647 -echo "${ECHO_T}no" >&6
3648 -fi
3649 -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
3650 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
3651 -   { (exit 1); exit 1; }; }
3652 -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
3653 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
3654 -if test "${lt_cv_prog_gnu_ld+set}" = set; then
3655 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3656 -else
3657 -  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
3658 -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
3659 -  lt_cv_prog_gnu_ld=yes
3660 -else
3661 -  lt_cv_prog_gnu_ld=no
3662 -fi
3663 -fi
3664 -echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
3665 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
3666 -with_gnu_ld=$lt_cv_prog_gnu_ld
3667 -
3668 -
3669 -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
3670 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
3671 -if test "${lt_cv_ld_reload_flag+set}" = set; then
3672 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3673 -else
3674 -  lt_cv_ld_reload_flag='-r'
3675 -fi
3676 -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
3677 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
3678 -reload_flag=$lt_cv_ld_reload_flag
3679 -test -n "$reload_flag" && reload_flag=" $reload_flag"
3680 -
3681 -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
3682 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
3683 -if test "${lt_cv_path_NM+set}" = set; then
3684 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3685 -else
3686 -  if test -n "$NM"; then
3687 -  # Let the user override the test.
3688 -  lt_cv_path_NM="$NM"
3689 -else
3690 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
3691 -  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
3692 -    test -z "$ac_dir" && ac_dir=.
3693 -    tmp_nm=$ac_dir/${ac_tool_prefix}nm
3694 -    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
3695 -      # Check to see if the nm accepts a BSD-compat flag.
3696 -      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3697 -      #   nm: unknown option "B" ignored
3698 -      # Tru64's nm complains that /dev/null is an invalid object file
3699 -      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
3700 -       lt_cv_path_NM="$tmp_nm -B"
3701 -       break
3702 -      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
3703 -       lt_cv_path_NM="$tmp_nm -p"
3704 -       break
3705 -      else
3706 -       lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3707 -       continue # so that we can try to find one that supports BSD flags
3708 -      fi
3709 -    fi
3710 -  done
3711 -  IFS="$ac_save_ifs"
3712 -  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3713 -fi
3714 -fi
3715 -
3716 -NM="$lt_cv_path_NM"
3717 -echo "$as_me:$LINENO: result: $NM" >&5
3718 -echo "${ECHO_T}$NM" >&6
3719 -
3720 -echo "$as_me:$LINENO: checking whether ln -s works" >&5
3721 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
3722 -LN_S=$as_ln_s
3723 -if test "$LN_S" = "ln -s"; then
3724 -  echo "$as_me:$LINENO: result: yes" >&5
3725 -echo "${ECHO_T}yes" >&6
3726 -else
3727 -  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
3728 -echo "${ECHO_T}no, using $LN_S" >&6
3729 -fi
3730 -
3731 -echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
3732 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
3733 -if test "${lt_cv_deplibs_check_method+set}" = set; then
3734 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3735 -else
3736 -  lt_cv_file_magic_cmd='$MAGIC_CMD'
3737 -lt_cv_file_magic_test_file=
3738 -lt_cv_deplibs_check_method='unknown'
3739 -# Need to set the preceding variable on all platforms that support
3740 -# interlibrary dependencies.
3741 -# 'none' -- dependencies not supported.
3742 -# `unknown' -- same as none, but documents that we really don't know.
3743 -# 'pass_all' -- all dependencies passed with no checks.
3744 -# 'test_compile' -- check by making test program.
3745 -# 'file_magic [regex]' -- check by looking for files in library path
3746 -# which responds to the $file_magic_cmd with a given egrep regex.
3747 -# If you have `file' or equivalent on your system and you're not sure
3748 -# whether `pass_all' will *always* work, you probably want this one.
3749 -
3750 -case $host_os in
3751 -aix*)
3752 -  lt_cv_deplibs_check_method=pass_all
3753 -  ;;
3754 -
3755 -beos*)
3756 -  lt_cv_deplibs_check_method=pass_all
3757 -  ;;
3758 -
3759 -bsdi4*)
3760 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
3761 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
3762 -  lt_cv_file_magic_test_file=/shlib/libc.so
3763 -  ;;
3764 -
3765 -cygwin* | mingw* |pw32*)
3766 -  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3767 -  lt_cv_file_magic_cmd='$OBJDUMP -f'
3768 -  ;;
3769 -
3770 -darwin* | rhapsody*)
3771 -  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
3772 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
3773 -  case "$host_os" in
3774 -  rhapsody* | darwin1.012)
3775 -    lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
3776 -    ;;
3777 -  *) # Darwin 1.3 on
3778 -    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
3779 -    ;;
3780 -  esac
3781 -  ;;
3782 -
3783 -freebsd* )
3784 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3785 -    case $host_cpu in
3786 -    i*86 )
3787 -      # Not sure whether the presence of OpenBSD here was a mistake.
3788 -      # Let's accept both of them until this is cleared up.
3789 -      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
3790 -      lt_cv_file_magic_cmd=/usr/bin/file
3791 -      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3792 -      ;;
3793 -    esac
3794 -  else
3795 -    lt_cv_deplibs_check_method=pass_all
3796 -  fi
3797 -  ;;
3798 -
3799 -gnu*)
3800 -  lt_cv_deplibs_check_method=pass_all
3801 -  ;;
3802 -
3803 -hpux10.20*|hpux11*)
3804 -  case $host_cpu in
3805 -  hppa*)
3806 -    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
3807 -    lt_cv_file_magic_cmd=/usr/bin/file
3808 -    lt_cv_file_magic_test_file=/usr/lib/libc.sl
3809 -    ;;
3810 -  ia64*)
3811 -    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
3812 -    lt_cv_file_magic_cmd=/usr/bin/file
3813 -    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3814 -    ;;
3815 -  esac
3816 -  ;;
3817 -
3818 -irix5* | irix6*)
3819 -  case $host_os in
3820 -  irix5*)
3821 -    # this will be overridden with pass_all, but let us keep it just in case
3822 -    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
3823 -    ;;
3824 -  *)
3825 -    case $LD in
3826 -    *-32|*"-32 ") libmagic=32-bit;;
3827 -    *-n32|*"-n32 ") libmagic=N32;;
3828 -    *-64|*"-64 ") libmagic=64-bit;;
3829 -    *) libmagic=never-match;;
3830 -    esac
3831 -    # this will be overridden with pass_all, but let us keep it just in case
3832 -    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
3833 -    ;;
3834 -  esac
3835 -  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
3836 -  lt_cv_deplibs_check_method=pass_all
3837 -  ;;
3838 -
3839 -# This must be Linux ELF.
3840 -linux-gnu*)
3841 -  case $host_cpu in
3842 -  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
3843 -    lt_cv_deplibs_check_method=pass_all ;;
3844 -  *)
3845 -    # glibc up to 2.1.1 does not perform some relocations on ARM
3846 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
3847 -  esac
3848 -  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
3849 -  ;;
3850 -
3851 -netbsd*)
3852 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3853 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
3854 -  else
3855 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
3856 -  fi
3857 -  ;;
3858 -
3859 -newsos6)
3860 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
3861 -  lt_cv_file_magic_cmd=/usr/bin/file
3862 -  lt_cv_file_magic_test_file=/usr/lib/libnls.so
3863 -  ;;
3864 -
3865 -osf3* | osf4* | osf5*)
3866 -  # this will be overridden with pass_all, but let us keep it just in case
3867 -  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
3868 -  lt_cv_file_magic_test_file=/shlib/libc.so
3869 -  lt_cv_deplibs_check_method=pass_all
3870 -  ;;
3871 -
3872 -sco3.2v5*)
3873 -  lt_cv_deplibs_check_method=pass_all
3874 -  ;;
3875 -
3876 -solaris*)
3877 -  lt_cv_deplibs_check_method=pass_all
3878 -  lt_cv_file_magic_test_file=/lib/libc.so
3879 -  ;;
3880 -
3881 -sysv5uw[78]* | sysv4*uw2*)
3882 -  lt_cv_deplibs_check_method=pass_all
3883 -  ;;
3884 -
3885 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
3886 -  case $host_vendor in
3887 -  ncr)
3888 -    lt_cv_deplibs_check_method=pass_all
3889 -    ;;
3890 -  motorola)
3891 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
3892 -    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3893 -    ;;
3894 -  esac
3895 -  ;;
3896 -esac
3897 -
3898 -fi
3899 -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
3900 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
3901 -file_magic_cmd=$lt_cv_file_magic_cmd
3902 -deplibs_check_method=$lt_cv_deplibs_check_method
3903 -
3904 -
3905 -
3906 -
3907 -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
3908 -
3909 -# Only perform the check for file, if the check method requires it
3910 -case $deplibs_check_method in
3911 -file_magic*)
3912 -  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
3913 -    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
3914 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
3915 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
3916 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3917 -else
3918 -  case $MAGIC_CMD in
3919 -  /*)
3920 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3921 -  ;;
3922 -  ?:/*)
3923 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
3924 -  ;;
3925 -  *)
3926 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
3927 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
3928 -  ac_dummy="/usr/bin:$PATH"
3929 -  for ac_dir in $ac_dummy; do
3930 -    test -z "$ac_dir" && ac_dir=.
3931 -    if test -f $ac_dir/${ac_tool_prefix}file; then
3932 -      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
3933 -      if test -n "$file_magic_test_file"; then
3934 -       case $deplibs_check_method in
3935 -       "file_magic "*)
3936 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
3937 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3938 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3939 -           egrep "$file_magic_regex" > /dev/null; then
3940 -           :
3941 -         else
3942 -           cat <<EOF 1>&2
3943 -
3944 -*** Warning: the command libtool uses to detect shared libraries,
3945 -*** $file_magic_cmd, produces output that libtool cannot recognize.
3946 -*** The result is that libtool may fail to recognize shared libraries
3947 -*** as such.  This will affect the creation of libtool libraries that
3948 -*** depend on shared libraries, but programs linked with such libtool
3949 -*** libraries will work regardless of this problem.  Nevertheless, you
3950 -*** may want to report the problem to your system manager and/or to
3951 -*** bug-libtool@gnu.org
3952 -
3953 -EOF
3954 -         fi ;;
3955 -       esac
3956 -      fi
3957 -      break
3958 -    fi
3959 -  done
3960 -  IFS="$ac_save_ifs"
3961 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
3962 -  ;;
3963 -esac
3964 -fi
3965 -
3966 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3967 -if test -n "$MAGIC_CMD"; then
3968 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
3969 -echo "${ECHO_T}$MAGIC_CMD" >&6
3970 -else
3971 -  echo "$as_me:$LINENO: result: no" >&5
3972 -echo "${ECHO_T}no" >&6
3973 -fi
3974 -
3975 -if test -z "$lt_cv_path_MAGIC_CMD"; then
3976 -  if test -n "$ac_tool_prefix"; then
3977 -    echo "$as_me:$LINENO: checking for file" >&5
3978 -echo $ECHO_N "checking for file... $ECHO_C" >&6
3979 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
3980 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3981 -else
3982 -  case $MAGIC_CMD in
3983 -  /*)
3984 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3985 -  ;;
3986 -  ?:/*)
3987 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
3988 -  ;;
3989 -  *)
3990 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
3991 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
3992 -  ac_dummy="/usr/bin:$PATH"
3993 -  for ac_dir in $ac_dummy; do
3994 -    test -z "$ac_dir" && ac_dir=.
3995 -    if test -f $ac_dir/file; then
3996 -      lt_cv_path_MAGIC_CMD="$ac_dir/file"
3997 -      if test -n "$file_magic_test_file"; then
3998 -       case $deplibs_check_method in
3999 -       "file_magic "*)
4000 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
4001 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4002 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
4003 -           egrep "$file_magic_regex" > /dev/null; then
4004 -           :
4005 -         else
4006 -           cat <<EOF 1>&2
4007 -
4008 -*** Warning: the command libtool uses to detect shared libraries,
4009 -*** $file_magic_cmd, produces output that libtool cannot recognize.
4010 -*** The result is that libtool may fail to recognize shared libraries
4011 -*** as such.  This will affect the creation of libtool libraries that
4012 -*** depend on shared libraries, but programs linked with such libtool
4013 -*** libraries will work regardless of this problem.  Nevertheless, you
4014 -*** may want to report the problem to your system manager and/or to
4015 -*** bug-libtool@gnu.org
4016 -
4017 -EOF
4018 -         fi ;;
4019 -       esac
4020 -      fi
4021 -      break
4022 -    fi
4023 -  done
4024 -  IFS="$ac_save_ifs"
4025 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
4026 -  ;;
4027 -esac
4028 -fi
4029 -
4030 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4031 -if test -n "$MAGIC_CMD"; then
4032 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
4033 -echo "${ECHO_T}$MAGIC_CMD" >&6
4034 -else
4035 -  echo "$as_me:$LINENO: result: no" >&5
4036 -echo "${ECHO_T}no" >&6
4037 -fi
4038 -
4039 -  else
4040 -    MAGIC_CMD=:
4041 -  fi
4042 -fi
4043 -
4044 -  fi
4045 -  ;;
4046 -esac
4047 -
4048 -if test -n "$ac_tool_prefix"; then
4049 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
4050 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
4051 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4052 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4053 -if test "${ac_cv_prog_RANLIB+set}" = set; then
4054 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4055 -else
4056 -  if test -n "$RANLIB"; then
4057 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
4058 -else
4059 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4060 -for as_dir in $PATH
4061 -do
4062 -  IFS=$as_save_IFS
4063 -  test -z "$as_dir" && as_dir=.
4064 -  for ac_exec_ext in '' $ac_executable_extensions; do
4065 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4066 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
4067 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4068 -    break 2
4069 -  fi
4070 -done
4071 -done
4072 -
4073 -fi
4074 -fi
4075 -RANLIB=$ac_cv_prog_RANLIB
4076 -if test -n "$RANLIB"; then
4077 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
4078 -echo "${ECHO_T}$RANLIB" >&6
4079 -else
4080 -  echo "$as_me:$LINENO: result: no" >&5
4081 -echo "${ECHO_T}no" >&6
4082 -fi
4083 -
4084 -fi
4085 -if test -z "$ac_cv_prog_RANLIB"; then
4086 -  ac_ct_RANLIB=$RANLIB
4087 -  # Extract the first word of "ranlib", so it can be a program name with args.
4088 -set dummy ranlib; ac_word=$2
4089 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4090 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4091 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
4092 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4093 -else
4094 -  if test -n "$ac_ct_RANLIB"; then
4095 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
4096 -else
4097 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4098 -for as_dir in $PATH
4099 -do
4100 -  IFS=$as_save_IFS
4101 -  test -z "$as_dir" && as_dir=.
4102 -  for ac_exec_ext in '' $ac_executable_extensions; do
4103 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4104 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
4105 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4106 -    break 2
4107 -  fi
4108 -done
4109 -done
4110 -
4111 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
4112 -fi
4113 -fi
4114 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
4115 -if test -n "$ac_ct_RANLIB"; then
4116 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
4117 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
4118 -else
4119 -  echo "$as_me:$LINENO: result: no" >&5
4120 -echo "${ECHO_T}no" >&6
4121 -fi
4122 -
4123 -  RANLIB=$ac_ct_RANLIB
4124 -else
4125 -  RANLIB="$ac_cv_prog_RANLIB"
4126 -fi
4127 -
4128 -if test -n "$ac_tool_prefix"; then
4129 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
4130 -set dummy ${ac_tool_prefix}strip; ac_word=$2
4131 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4132 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4133 -if test "${ac_cv_prog_STRIP+set}" = set; then
4134 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4135 -else
4136 -  if test -n "$STRIP"; then
4137 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
4138 -else
4139 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4140 -for as_dir in $PATH
4141 -do
4142 -  IFS=$as_save_IFS
4143 -  test -z "$as_dir" && as_dir=.
4144 -  for ac_exec_ext in '' $ac_executable_extensions; do
4145 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4146 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
4147 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4148 -    break 2
4149 -  fi
4150 -done
4151 -done
4152 -
4153 -fi
4154 -fi
4155 -STRIP=$ac_cv_prog_STRIP
4156 -if test -n "$STRIP"; then
4157 -  echo "$as_me:$LINENO: result: $STRIP" >&5
4158 -echo "${ECHO_T}$STRIP" >&6
4159 -else
4160 -  echo "$as_me:$LINENO: result: no" >&5
4161 -echo "${ECHO_T}no" >&6
4162 -fi
4163 -
4164 -fi
4165 -if test -z "$ac_cv_prog_STRIP"; then
4166 -  ac_ct_STRIP=$STRIP
4167 -  # Extract the first word of "strip", so it can be a program name with args.
4168 -set dummy strip; ac_word=$2
4169 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4170 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4171 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
4172 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4173 -else
4174 -  if test -n "$ac_ct_STRIP"; then
4175 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
4176 -else
4177 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4178 -for as_dir in $PATH
4179 -do
4180 -  IFS=$as_save_IFS
4181 -  test -z "$as_dir" && as_dir=.
4182 -  for ac_exec_ext in '' $ac_executable_extensions; do
4183 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4184 -    ac_cv_prog_ac_ct_STRIP="strip"
4185 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4186 -    break 2
4187 -  fi
4188 -done
4189 -done
4190 -
4191 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
4192 -fi
4193 -fi
4194 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
4195 -if test -n "$ac_ct_STRIP"; then
4196 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
4197 -echo "${ECHO_T}$ac_ct_STRIP" >&6
4198 -else
4199 -  echo "$as_me:$LINENO: result: no" >&5
4200 -echo "${ECHO_T}no" >&6
4201 -fi
4202 -
4203 -  STRIP=$ac_ct_STRIP
4204 -else
4205 -  STRIP="$ac_cv_prog_STRIP"
4206 -fi
4207 -
4208 -
4209 -# Check for any special flags to pass to ltconfig.
4210 -libtool_flags="--cache-file=$cache_file"
4211 -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
4212 -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
4213 -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
4214 -test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
4215 -test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
4216 -
4217 -
4218 -# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
4219 -if test "${enable_libtool_lock+set}" = set; then
4220 -  enableval="$enable_libtool_lock"
4221 -  
4222 -fi; 
4223 -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
4224 -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
4225 -
4226 -
4227 -# Check whether --with-pic or --without-pic was given.
4228 -if test "${with_pic+set}" = set; then
4229 -  withval="$with_pic"
4230 -  pic_mode="$withval"
4231 -else
4232 -  pic_mode=default
4233 -fi; 
4234 -test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
4235 -test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
4236 -
4237 -# Some flags need to be propagated to the compiler or linker for good
4238 -# libtool support.
4239 -case $host in
4240 -*-*-irix6*)
4241 -  # Find out which ABI we are using.
4242 -  echo '#line __oline__ "configure"' > conftest.$ac_ext
4243 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4244 -  (eval $ac_compile) 2>&5
4245 -  ac_status=$?
4246 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4247 -  (exit $ac_status); }; then
4248 -    case `/usr/bin/file conftest.$ac_objext` in
4249 -    *32-bit*)
4250 -      LD="${LD-ld} -32"
4251 -      ;;
4252 -    *N32*)
4253 -      LD="${LD-ld} -n32"
4254 -      ;;
4255 -    *64-bit*)
4256 -      LD="${LD-ld} -64"
4257 -      ;;
4258 -    esac
4259 -  fi
4260 -  rm -rf conftest*
4261 -  ;;
4262 -
4263 -ia64-*-hpux*)
4264 -  # Find out which ABI we are using.
4265 -  echo 'int i;' > conftest.$ac_ext
4266 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4267 -  (eval $ac_compile) 2>&5
4268 -  ac_status=$?
4269 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4270 -  (exit $ac_status); }; then
4271 -    case "`/usr/bin/file conftest.o`" in
4272 -    *ELF-32*)
4273 -      HPUX_IA64_MODE="32"
4274 -      ;;
4275 -    *ELF-64*)
4276 -      HPUX_IA64_MODE="64"
4277 -      ;;
4278 -    esac
4279 -  fi
4280 -  rm -rf conftest*
4281 -  ;;
4282 -
4283 -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
4284 -  # Find out which ABI we are using.
4285 -  echo 'int i;' > conftest.$ac_ext
4286 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4287 -  (eval $ac_compile) 2>&5
4288 -  ac_status=$?
4289 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4290 -  (exit $ac_status); }; then
4291 -    case "`/usr/bin/file conftest.o`" in
4292 -    *32-bit*)
4293 -      case $host in
4294 -        x86_64-*linux*)
4295 -          LD="${LD-ld} -m elf_i386"
4296 -          ;;
4297 -        ppc64-*linux*)
4298 -          LD="${LD-ld} -m elf32ppclinux"
4299 -          ;;
4300 -        s390x-*linux*)
4301 -          LD="${LD-ld} -m elf_s390"
4302 -          ;;
4303 -        sparc64-*linux*)
4304 -          LD="${LD-ld} -m elf32_sparc"
4305 -          ;;
4306 -      esac
4307 -      ;;
4308 -    *64-bit*)
4309 -      case $host in
4310 -        x86_64-*linux*)
4311 -          LD="${LD-ld} -m elf_x86_64"
4312 -          ;;
4313 -        ppc*-*linux*|powerpc*-*linux*)
4314 -          LD="${LD-ld} -m elf64ppc"
4315 -          ;;
4316 -        s390*-*linux*)
4317 -          LD="${LD-ld} -m elf64_s390"
4318 -          ;;
4319 -        sparc*-*linux*)
4320 -          LD="${LD-ld} -m elf64_sparc"
4321 -          ;;
4322 -      esac
4323 -      ;;
4324 -    esac
4325 -  fi
4326 -  rm -rf conftest*
4327 -  ;;
4328 -
4329 -*-*-sco3.2v5*)
4330 -  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
4331 -  SAVE_CFLAGS="$CFLAGS"
4332 -  CFLAGS="$CFLAGS -belf"
4333 -  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
4334 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
4335 -if test "${lt_cv_cc_needs_belf+set}" = set; then
4336 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4337 -else
4338 -  
4339 -
4340 -     ac_ext=c
4341 -ac_cpp='$CPP $CPPFLAGS'
4342 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4343 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4344 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4345 -
4346 -     cat >conftest.$ac_ext <<_ACEOF
4347 -#line $LINENO "configure"
4348 -/* confdefs.h.  */
4349 -_ACEOF
4350 -cat confdefs.h >>conftest.$ac_ext
4351 -cat >>conftest.$ac_ext <<_ACEOF
4352 -/* end confdefs.h.  */
4353 -
4354 -int
4355 -main ()
4356 -{
4357 -
4358 -  ;
4359 -  return 0;
4360 -}
4361 -_ACEOF
4362 -rm -f conftest.$ac_objext conftest$ac_exeext
4363 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
4364 -  (eval $ac_link) 2>&5
4365 -  ac_status=$?
4366 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4367 -  (exit $ac_status); } &&
4368 -         { ac_try='test -s conftest$ac_exeext'
4369 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
4370 -  (eval $ac_try) 2>&5
4371 -  ac_status=$?
4372 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4373 -  (exit $ac_status); }; }; then
4374 -  lt_cv_cc_needs_belf=yes
4375 -else
4376 -  echo "$as_me: failed program was:" >&5
4377 -sed 's/^/| /' conftest.$ac_ext >&5
4378 -
4379 -lt_cv_cc_needs_belf=no
4380 -fi
4381 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
4382 -     ac_ext=c
4383 -ac_cpp='$CPP $CPPFLAGS'
4384 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4385 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4386 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4387 -
4388 -fi
4389 -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
4390 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
4391 -  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
4392 -    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
4393 -    CFLAGS="$SAVE_CFLAGS"
4394 -  fi
4395 -  ;;
4396 -
4397 -
4398 -esac
4399 -
4400 -
4401 -# Save cache, so that ltconfig can load it
4402 -cat >confcache <<\_ACEOF
4403 -# This file is a shell script that caches the results of configure
4404 -# tests run on this system so they can be shared between configure
4405 -# scripts and configure runs, see configure's option --config-cache.
4406 -# It is not useful on other systems.  If it contains results you don't
4407 -# want to keep, you may remove or edit it.
4408 -#
4409 -# config.status only pays attention to the cache file if you give it
4410 -# the --recheck option to rerun configure.
4411 -#
4412 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
4413 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
4414 -# following values.
4415 -
4416 -_ACEOF
4417 -
4418 -# The following way of writing the cache mishandles newlines in values,
4419 -# but we know of no workaround that is simple, portable, and efficient.
4420 -# So, don't put newlines in cache variables' values.
4421 -# Ultrix sh set writes to stderr and can't be redirected directly,
4422 -# and sets the high bit in the cache file unless we assign to the vars.
4423 -{
4424 -  (set) 2>&1 |
4425 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
4426 -    *ac_space=\ *)
4427 -      # `set' does not quote correctly, so add quotes (double-quote
4428 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
4429 -      sed -n \
4430 -        "s/'/'\\\\''/g;
4431 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
4432 -      ;;
4433 -    *)
4434 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
4435 -      sed -n \
4436 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
4437 -      ;;
4438 -    esac;
4439 -} |
4440 -  sed '
4441 -     t clear
4442 -     : clear
4443 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
4444 -     t end
4445 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
4446 -     : end' >>confcache
4447 -if diff $cache_file confcache >/dev/null 2>&1; then :; else
4448 -  if test -w $cache_file; then
4449 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
4450 -    cat confcache >$cache_file
4451 -  else
4452 -    echo "not updating unwritable cache $cache_file"
4453 -  fi
4454 -fi
4455 -rm -f confcache
4456 -
4457 -# Actually configure libtool.  ac_aux_dir is where install-sh is found.
4458 -AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
4459 -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
4460 -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
4461 -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
4462 -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
4463 -deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
4464 -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
4465 -$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
4466 -|| { { echo "$as_me:$LINENO: error: libtool configure failed" >&5
4467 -echo "$as_me: error: libtool configure failed" >&2;}
4468 -   { (exit 1); exit 1; }; }
4469 -
4470 -# Reload cache, that may have been modified by ltconfig
4471 -if test -r "$cache_file"; then
4472 -  # Some versions of bash will fail to source /dev/null (special
4473 -  # files actually), so we avoid doing that.
4474 -  if test -f "$cache_file"; then
4475 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
4476 -echo "$as_me: loading cache $cache_file" >&6;}
4477 -    case $cache_file in
4478 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
4479 -      *)                      . ./$cache_file;;
4480 -    esac
4481 -  fi
4482 -else
4483 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
4484 -echo "$as_me: creating cache $cache_file" >&6;}
4485 -  >$cache_file
4486 -fi
4487 -
4488 -
4489 -# This can be used to rebuild libtool when needed
4490 -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
4491 -
4492 -# Always use our own libtool.
4493 -LIBTOOL='$(SHELL) $(top_builddir)/libtool'
4494 -
4495 -# Redirect the config.log output again, so that the ltconfig log is not
4496 -# clobbered by the next message.
4497 -exec 5>>./config.log
4498 -
4499 -ac_ext=cc
4500 -ac_cpp='$CXXCPP $CPPFLAGS'
4501 -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4502 -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4503 -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
4504 -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
4505 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
4506 -if test -z "$CXXCPP"; then
4507 -  if test "${ac_cv_prog_CXXCPP+set}" = set; then
4508 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4509 -else
4510 -      # Double quotes because CXXCPP needs to be expanded
4511 -    for CXXCPP in "$CXX -E" "/lib/cpp"
4512 -    do
4513 -      ac_preproc_ok=false
4514 -for ac_cxx_preproc_warn_flag in '' yes
4515 -do
4516 -  # Use a header file that comes with gcc, so configuring glibc
4517 -  # with a fresh cross-compiler works.
4518 -  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4519 -  # <limits.h> exists even on freestanding compilers.
4520 -  # On the NeXT, cc -E runs the code through the compiler's parser,
4521 -  # not just through cpp. "Syntax error" is here to catch this case.
4522 -  cat >conftest.$ac_ext <<_ACEOF
4523 -#line $LINENO "configure"
4524 -/* confdefs.h.  */
4525 -_ACEOF
4526 -cat confdefs.h >>conftest.$ac_ext
4527 -cat >>conftest.$ac_ext <<_ACEOF
4528 -/* end confdefs.h.  */
4529 -@%:@ifdef __STDC__
4530 -@%:@ include <limits.h>
4531 -@%:@else
4532 -@%:@ include <assert.h>
4533 -@%:@endif
4534 -                     Syntax error
4535 -_ACEOF
4536 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4537 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4538 -  ac_status=$?
4539 -  grep -v '^ *+' conftest.er1 >conftest.err
4540 -  rm -f conftest.er1
4541 -  cat conftest.err >&5
4542 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4543 -  (exit $ac_status); } >/dev/null; then
4544 -  if test -s conftest.err; then
4545 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4546 -  else
4547 -    ac_cpp_err=
4548 -  fi
4549 -else
4550 -  ac_cpp_err=yes
4551 -fi
4552 -if test -z "$ac_cpp_err"; then
4553 -  :
4554 -else
4555 -  echo "$as_me: failed program was:" >&5
4556 -sed 's/^/| /' conftest.$ac_ext >&5
4557 -
4558 -  # Broken: fails on valid input.
4559 -continue
4560 -fi
4561 -rm -f conftest.err conftest.$ac_ext
4562 -
4563 -  # OK, works on sane cases.  Now check whether non-existent headers
4564 -  # can be detected and how.
4565 -  cat >conftest.$ac_ext <<_ACEOF
4566 -#line $LINENO "configure"
4567 -/* confdefs.h.  */
4568 -_ACEOF
4569 -cat confdefs.h >>conftest.$ac_ext
4570 -cat >>conftest.$ac_ext <<_ACEOF
4571 -/* end confdefs.h.  */
4572 -@%:@include <ac_nonexistent.h>
4573 -_ACEOF
4574 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4575 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4576 -  ac_status=$?
4577 -  grep -v '^ *+' conftest.er1 >conftest.err
4578 -  rm -f conftest.er1
4579 -  cat conftest.err >&5
4580 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4581 -  (exit $ac_status); } >/dev/null; then
4582 -  if test -s conftest.err; then
4583 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4584 -  else
4585 -    ac_cpp_err=
4586 -  fi
4587 -else
4588 -  ac_cpp_err=yes
4589 -fi
4590 -if test -z "$ac_cpp_err"; then
4591 -  # Broken: success on invalid input.
4592 -continue
4593 -else
4594 -  echo "$as_me: failed program was:" >&5
4595 -sed 's/^/| /' conftest.$ac_ext >&5
4596 -
4597 -  # Passes both tests.
4598 -ac_preproc_ok=:
4599 -break
4600 -fi
4601 -rm -f conftest.err conftest.$ac_ext
4602 -
4603 -done
4604 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4605 -rm -f conftest.err conftest.$ac_ext
4606 -if $ac_preproc_ok; then
4607 -  break
4608 -fi
4609 -
4610 -    done
4611 -    ac_cv_prog_CXXCPP=$CXXCPP
4612 -  
4613 -fi
4614 -  CXXCPP=$ac_cv_prog_CXXCPP
4615 -else
4616 -  ac_cv_prog_CXXCPP=$CXXCPP
4617 -fi
4618 -echo "$as_me:$LINENO: result: $CXXCPP" >&5
4619 -echo "${ECHO_T}$CXXCPP" >&6
4620 -ac_preproc_ok=false
4621 -for ac_cxx_preproc_warn_flag in '' yes
4622 -do
4623 -  # Use a header file that comes with gcc, so configuring glibc
4624 -  # with a fresh cross-compiler works.
4625 -  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4626 -  # <limits.h> exists even on freestanding compilers.
4627 -  # On the NeXT, cc -E runs the code through the compiler's parser,
4628 -  # not just through cpp. "Syntax error" is here to catch this case.
4629 -  cat >conftest.$ac_ext <<_ACEOF
4630 -#line $LINENO "configure"
4631 -/* confdefs.h.  */
4632 -_ACEOF
4633 -cat confdefs.h >>conftest.$ac_ext
4634 -cat >>conftest.$ac_ext <<_ACEOF
4635 -/* end confdefs.h.  */
4636 -@%:@ifdef __STDC__
4637 -@%:@ include <limits.h>
4638 -@%:@else
4639 -@%:@ include <assert.h>
4640 -@%:@endif
4641 -                     Syntax error
4642 -_ACEOF
4643 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4644 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4645 -  ac_status=$?
4646 -  grep -v '^ *+' conftest.er1 >conftest.err
4647 -  rm -f conftest.er1
4648 -  cat conftest.err >&5
4649 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4650 -  (exit $ac_status); } >/dev/null; then
4651 -  if test -s conftest.err; then
4652 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4653 -  else
4654 -    ac_cpp_err=
4655 -  fi
4656 -else
4657 -  ac_cpp_err=yes
4658 -fi
4659 -if test -z "$ac_cpp_err"; then
4660 -  :
4661 -else
4662 -  echo "$as_me: failed program was:" >&5
4663 -sed 's/^/| /' conftest.$ac_ext >&5
4664 -
4665 -  # Broken: fails on valid input.
4666 -continue
4667 -fi
4668 -rm -f conftest.err conftest.$ac_ext
4669 -
4670 -  # OK, works on sane cases.  Now check whether non-existent headers
4671 -  # can be detected and how.
4672 -  cat >conftest.$ac_ext <<_ACEOF
4673 -#line $LINENO "configure"
4674 -/* confdefs.h.  */
4675 -_ACEOF
4676 -cat confdefs.h >>conftest.$ac_ext
4677 -cat >>conftest.$ac_ext <<_ACEOF
4678 -/* end confdefs.h.  */
4679 -@%:@include <ac_nonexistent.h>
4680 -_ACEOF
4681 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4682 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4683 -  ac_status=$?
4684 -  grep -v '^ *+' conftest.er1 >conftest.err
4685 -  rm -f conftest.er1
4686 -  cat conftest.err >&5
4687 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4688 -  (exit $ac_status); } >/dev/null; then
4689 -  if test -s conftest.err; then
4690 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4691 -  else
4692 -    ac_cpp_err=
4693 -  fi
4694 -else
4695 -  ac_cpp_err=yes
4696 -fi
4697 -if test -z "$ac_cpp_err"; then
4698 -  # Broken: success on invalid input.
4699 -continue
4700 -else
4701 -  echo "$as_me: failed program was:" >&5
4702 -sed 's/^/| /' conftest.$ac_ext >&5
4703 -
4704 -  # Passes both tests.
4705 -ac_preproc_ok=:
4706 -break
4707 -fi
4708 -rm -f conftest.err conftest.$ac_ext
4709 -
4710 -done
4711 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4712 -rm -f conftest.err conftest.$ac_ext
4713 -if $ac_preproc_ok; then
4714 -  :
4715 -else
4716 -  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
4717 -See \`config.log' for more details." >&5
4718 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
4719 -See \`config.log' for more details." >&2;}
4720 -   { (exit 1); exit 1; }; }
4721 -fi
4722 -
4723 -ac_ext=c
4724 -ac_cpp='$CPP $CPPFLAGS'
4725 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4726 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4727 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4728 -
4729 -
4730 -
4731 -LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
4732 -lt_save_CC="$CC"
4733 -lt_save_CFLAGS="$CFLAGS"
4734 -AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
4735 -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
4736 -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
4737 -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
4738 -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
4739 -deplibs_check_method="$deplibs_check_method" \
4740 -file_magic_cmd="$file_magic_cmd" \
4741 -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
4742 ---build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
4743 -|| { { echo "$as_me:$LINENO: error: libtool tag configuration failed" >&5
4744 -echo "$as_me: error: libtool tag configuration failed" >&2;}
4745 -   { (exit 1); exit 1; }; }
4746 -CC="$lt_save_CC"
4747 -CFLAGS="$lt_save_CFLAGS"
4748 -
4749 -# Redirect the config.log output again, so that the ltconfig log is not
4750 -# clobbered by the next message.
4751 -exec 5>>./config.log
4752 -
4753 -  
4754 -
4755 -  
4756 -        
4757 -        
4758 -
4759 -
4760 -# Check whether --with-target-subdir or --without-target-subdir was given.
4761 -if test "${with_target_subdir+set}" = set; then
4762 -  withval="$with_target_subdir"
4763 -  
4764 -fi; 
4765 -
4766 -# Check whether --with-cross-host or --without-cross-host was given.
4767 -if test "${with_cross_host+set}" = set; then
4768 -  withval="$with_cross_host"
4769 -  
4770 -fi; 
4771 -
4772 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
4773 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
4774 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
4775 -if test "${enable_maintainer_mode+set}" = set; then
4776 -  enableval="$enable_maintainer_mode"
4777 -  USE_MAINTAINER_MODE=$enableval
4778 -else
4779 -  USE_MAINTAINER_MODE=no
4780 -fi; 
4781 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
4782 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
4783 -  
4784 -
4785 -if test $USE_MAINTAINER_MODE = yes; then
4786 -  MAINTAINER_MODE_TRUE=
4787 -  MAINTAINER_MODE_FALSE='#'
4788 -else
4789 -  MAINTAINER_MODE_TRUE='#'
4790 -  MAINTAINER_MODE_FALSE=
4791 -fi
4792 -  MAINT=$MAINTAINER_MODE_TRUE
4793 -  
4794 -
4795 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
4796 -# it is actually a problem, because the compiler we're passed can't
4797 -# necessarily do a full link.  So we fool automake here.
4798 -if false; then
4799 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
4800 -  # to nothing, so nothing would remain between `then' and `fi' if it
4801 -  # were not for the `:' below.
4802 -  :
4803 -  
4804 -fi
4805 -
4806 -echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
4807 -echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
4808 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
4809 -if test -z "$THREADS"; then
4810 -   THREADS=no
4811 -fi
4812 -echo "$as_me:$LINENO: result: $THREADS" >&5
4813 -echo "${ECHO_T}$THREADS" >&6
4814 -
4815 -# Check whether --enable-parallel-mark or --disable-parallel-mark was given.
4816 -if test "${enable_parallel_mark+set}" = set; then
4817 -  enableval="$enable_parallel_mark"
4818 -  case "$THREADS" in
4819 -      no | none | single)
4820 -       { { echo "$as_me:$LINENO: error: Parallel mark requires --enable-threads=x spec" >&5
4821 -echo "$as_me: error: Parallel mark requires --enable-threads=x spec" >&2;}
4822 -   { (exit 1); exit 1; }; }
4823 -       ;;
4824 -    esac
4825 -
4826 -fi; 
4827 -
4828 -INCLUDES=-I${srcdir}/include
4829 -THREADLIBS=
4830 -case "$THREADS" in
4831 - no | none | single)
4832 -    THREADS=none
4833 -    ;;
4834 - posix | pthreads)
4835 -    THREADS=posix
4836 -    THREADLIBS=-lpthread
4837 -    case "$host" in
4838 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
4839 -       cat >>confdefs.h <<\_ACEOF
4840 -@%:@define GC_LINUX_THREADS 1
4841 -_ACEOF
4842 -
4843 -       cat >>confdefs.h <<\_ACEOF
4844 -@%:@define _REENTRANT 1
4845 -_ACEOF
4846 -
4847 -        if test "${enable_parallel_mark}"; then
4848 -         cat >>confdefs.h <<\_ACEOF
4849 -@%:@define PARALLEL_MARK 1
4850 -_ACEOF
4851 -
4852 -       fi
4853 -       cat >>confdefs.h <<\_ACEOF
4854 -@%:@define THREAD_LOCAL_ALLOC 1
4855 -_ACEOF
4856 -
4857 -       ;;
4858 -     *-*-linux*)
4859 -       cat >>confdefs.h <<\_ACEOF
4860 -@%:@define GC_LINUX_THREADS 1
4861 -_ACEOF
4862 -
4863 -       cat >>confdefs.h <<\_ACEOF
4864 -@%:@define _REENTRANT 1
4865 -_ACEOF
4866 -
4867 -       ;;
4868 -     *-*-hpux*)
4869 -       { echo "$as_me:$LINENO: WARNING: \"Only HP/UX 11 threads are supported.\"" >&5
4870 -echo "$as_me: WARNING: \"Only HP/UX 11 threads are supported.\"" >&2;}
4871 -       cat >>confdefs.h <<\_ACEOF
4872 -@%:@define GC_HPUX_THREADS 1
4873 -_ACEOF
4874 -
4875 -       cat >>confdefs.h <<\_ACEOF
4876 -@%:@define _POSIX_C_SOURCE 199506L
4877 -_ACEOF
4878 -
4879 -       if test "${enable_parallel_mark}" = yes; then
4880 -         cat >>confdefs.h <<\_ACEOF
4881 -@%:@define PARALLEL_MARK 1
4882 -_ACEOF
4883 -
4884 -       fi
4885 -       cat >>confdefs.h <<\_ACEOF
4886 -@%:@define THREAD_LOCAL_ALLOC 1
4887 -_ACEOF
4888 -
4889 -       THREADLIBS="-lpthread -lrt"
4890 -       ;;
4891 -     *-*-freebsd*)
4892 -       { echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
4893 -echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
4894 -       cat >>confdefs.h <<\_ACEOF
4895 -@%:@define GC_FREEBSD_THREADS 1
4896 -_ACEOF
4897 -
4898 -       INCLUDES="$INCLUDES -pthread"
4899 -       THREADLIBS=-pthread
4900 -       ;;
4901 -     *-*-solaris*)
4902 -       cat >>confdefs.h <<\_ACEOF
4903 -@%:@define GC_SOLARIS_THREADS 1
4904 -_ACEOF
4905 -
4906 -       cat >>confdefs.h <<\_ACEOF
4907 -@%:@define GC_SOLARIS_PTHREADS 1
4908 -_ACEOF
4909 -
4910 -       ;;
4911 -     *-*-irix*)
4912 -       cat >>confdefs.h <<\_ACEOF
4913 -@%:@define GC_IRIX_THREADS 1
4914 -_ACEOF
4915 -
4916 -       ;;
4917 -     *-*-cygwin*)
4918 -       THREADLIBS=
4919 -       ;;
4920 -    esac
4921 -    ;;
4922 -     *-*-darwin*)
4923 -       cat >>confdefs.h <<\_ACEOF
4924 -@%:@define GC_DARWIN_THREADS 1
4925 -_ACEOF
4926 -
4927 -       cat >>confdefs.h <<\_ACEOF
4928 -@%:@define THREAD_LOCAL_ALLOC 1
4929 -_ACEOF
4930 -
4931 -       if test "${enable_parallel_mark}" = yes; then
4932 -         cat >>confdefs.h <<\_ACEOF
4933 -@%:@define PARALLEL_MARK 1
4934 -_ACEOF
4935 -
4936 -       fi
4937 -       ;;
4938 - win32)
4939 -    cat >>confdefs.h <<\_ACEOF
4940 -@%:@define GC_WIN32_THREADS 1
4941 -_ACEOF
4942 -
4943 -    cat >>confdefs.h <<\_ACEOF
4944 -@%:@define NO_GETENV 1
4945 -_ACEOF
4946 -
4947 -    ;;
4948 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
4949 -    { { echo "$as_me:$LINENO: error: thread package $THREADS not yet supported" >&5
4950 -echo "$as_me: error: thread package $THREADS not yet supported" >&2;}
4951 -   { (exit 1); exit 1; }; }
4952 -    ;;
4953 - *)
4954 -    { { echo "$as_me:$LINENO: error: $THREADS is an unknown thread package" >&5
4955 -echo "$as_me: error: $THREADS is an unknown thread package" >&2;}
4956 -   { (exit 1); exit 1; }; }
4957 -    ;;
4958 -esac
4959 -
4960 -
4961 -case "$host" in 
4962 -   powerpc-*-darwin*)
4963 -      powerpc_darwin=true
4964 -      ;;
4965 -esac
4966 -
4967 -
4968 -if test x$powerpc_darwin = xtrue; then
4969 -  POWERPC_DARWIN_TRUE=
4970 -  POWERPC_DARWIN_FALSE='#'
4971 -else
4972 -  POWERPC_DARWIN_TRUE='#'
4973 -  POWERPC_DARWIN_FALSE=
4974 -fi
4975 -
4976 -# We never want libdl on darwin. It is a fake libdl that just ends up making
4977 -# dyld calls anyway
4978 -case "$host" in
4979 -  *-*-darwin*) ;;
4980 -  *) 
4981 -    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
4982 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
4983 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
4984 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4985 -else
4986 -  ac_check_lib_save_LIBS=$LIBS
4987 -LIBS="-ldl  $LIBS"
4988 -cat >conftest.$ac_ext <<_ACEOF
4989 -#line $LINENO "configure"
4990 -/* confdefs.h.  */
4991 -_ACEOF
4992 -cat confdefs.h >>conftest.$ac_ext
4993 -cat >>conftest.$ac_ext <<_ACEOF
4994 -/* end confdefs.h.  */
4995 -
4996 -/* Override any gcc2 internal prototype to avoid an error.  */
4997 -#ifdef __cplusplus
4998 -extern "C"
4999 -#endif
5000 -/* We use char because int might match the return type of a gcc2
5001 -   builtin and then its argument prototype would still apply.  */
5002 -char dlopen ();
5003 -int
5004 -main ()
5005 -{
5006 -dlopen ();
5007 -  ;
5008 -  return 0;
5009 -}
5010 -_ACEOF
5011 -rm -f conftest.$ac_objext conftest$ac_exeext
5012 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
5013 -  (eval $ac_link) 2>&5
5014 -  ac_status=$?
5015 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
5016 -  (exit $ac_status); } &&
5017 -         { ac_try='test -s conftest$ac_exeext'
5018 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
5019 -  (eval $ac_try) 2>&5
5020 -  ac_status=$?
5021 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
5022 -  (exit $ac_status); }; }; then
5023 -  ac_cv_lib_dl_dlopen=yes
5024 -else
5025 -  echo "$as_me: failed program was:" >&5
5026 -sed 's/^/| /' conftest.$ac_ext >&5
5027 -
5028 -ac_cv_lib_dl_dlopen=no
5029 -fi
5030 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
5031 -LIBS=$ac_check_lib_save_LIBS
5032 -fi
5033 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
5034 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
5035 -if test $ac_cv_lib_dl_dlopen = yes; then
5036 -  EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"
5037 -fi
5038 -
5039 -    ;;
5040 -esac
5041 -
5042 -
5043 -
5044 -target_all=libgcjgc.la
5045 -
5046 -
5047 -
5048 -TARGET_ECOS="no"
5049 -
5050 -# Check whether --with-ecos or --without-ecos was given.
5051 -if test "${with_ecos+set}" = set; then
5052 -  withval="$with_ecos"
5053 -  TARGET_ECOS="$with_ecos"
5054 -
5055 -fi; 
5056 -
5057 -addobjs=
5058 -CXXINCLUDES=
5059 -case "$TARGET_ECOS" in
5060 -   no)
5061 -      ;;
5062 -   *)
5063 -      cat >>confdefs.h <<\_ACEOF
5064 -@%:@define ECOS 1
5065 -_ACEOF
5066 -
5067 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
5068 -      addobjs="$addobjs ecos.lo"
5069 -      ;;
5070 -esac
5071 -
5072 -
5073 -
5074 -
5075 -
5076 -machdep=
5077 -case "$host" in
5078 - alpha*-*-openbsd*)
5079 -    machdep="alpha_mach_dep.lo"
5080 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
5081 -       { echo "$as_me:$LINENO: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&5
5082 -echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&2;}
5083 -       # Check whether --enable-shared or --disable-shared was given.
5084 -if test "${enable_shared+set}" = set; then
5085 -  enableval="$enable_shared"
5086 -  p=${PACKAGE-default}
5087 -case $enableval in
5088 -yes) enable_shared=yes ;;
5089 -no) enable_shared=no ;;
5090 -*)
5091 -  enable_shared=no
5092 -  # Look at the argument we got.  We use all the common list separators.
5093 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
5094 -  for pkg in $enableval; do
5095 -    if test "X$pkg" = "X$p"; then
5096 -      enable_shared=yes
5097 -    fi
5098 -  done
5099 -  IFS="$ac_save_ifs"
5100 -  ;;
5101 -esac
5102 -else
5103 -  enable_shared=no
5104 -fi; 
5105 -    fi
5106 -    ;;
5107 - alpha*-*-*)
5108 -    machdep="alpha_mach_dep.lo"
5109 -    ;;
5110 - i?86-*-solaris2.[89]*)
5111 -    cat >>confdefs.h <<\_ACEOF
5112 -@%:@define SOLARIS25_PROC_VDB_BUG_FIXED 1
5113 -_ACEOF
5114 -
5115 -    ;;
5116 - mipstx39-*-elf*)
5117 -    machdep="mips_ultrix_mach_dep.lo"
5118 -    cat >>confdefs.h <<\_ACEOF
5119 -@%:@define STACKBASE __stackbase
5120 -_ACEOF
5121 -
5122 -    cat >>confdefs.h <<\_ACEOF
5123 -@%:@define DATASTART_IS_ETEXT 1
5124 -_ACEOF
5125 -
5126 -    ;;
5127 - mips-dec-ultrix*)
5128 -    machdep="mips_ultrix_mach-dep.lo"
5129 -    ;;
5130 - mips*-*-linux*)
5131 -    ;;
5132 - mips-*-*)
5133 -    machdep="mips_sgi_mach_dep.lo"
5134 -    cat >>confdefs.h <<\_ACEOF
5135 -@%:@define NO_EXECUTE_PERMISSION 1
5136 -_ACEOF
5137 -
5138 -    ;;
5139 - sparc-sun-solaris2.3*)
5140 -    machdep="sparc_mach_dep.lo"
5141 -    cat >>confdefs.h <<\_ACEOF
5142 -@%:@define SUNOS53_SHARED_LIB 1
5143 -_ACEOF
5144 -
5145 -    ;;
5146 - sparc-sun-solaris2.*)
5147 -    machdep="sparc_mach_dep.lo"
5148 -    ;;
5149 - ia64-*-*)
5150 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
5151 -    ;;
5152 -esac
5153 -if test x"$machdep" = x; then
5154 -   machdep="mach_dep.lo"
5155 -fi
5156 -addobjs="$addobjs $machdep"
5157 -
5158 -
5159 -case "$host" in
5160 - sparc-sun-solaris2*)
5161 -    if test "$GCC" = yes; then
5162 -       new_CFLAGS=
5163 -       for i in $CFLAGS; do
5164 -         case "$i" in
5165 -          -O*)
5166 -             ;;
5167 -          *)
5168 -             new_CFLAGS="$new_CFLAGS $i"
5169 -             ;;
5170 -         esac
5171 -       done
5172 -       CFLAGS="$new_CFLAGS"
5173 -    fi
5174 -    ;;
5175 -esac
5176 -
5177 -MY_CFLAGS="$CFLAGS"
5178 -
5179 -
5180 -cat >>confdefs.h <<\_ACEOF
5181 -@%:@define SILENT 1
5182 -_ACEOF
5183 -
5184 -cat >>confdefs.h <<\_ACEOF
5185 -@%:@define NO_SIGNALS 1
5186 -_ACEOF
5187 -
5188 -cat >>confdefs.h <<\_ACEOF
5189 -@%:@define NO_EXECUTE_PERMISSION 1
5190 -_ACEOF
5191 -
5192 -cat >>confdefs.h <<\_ACEOF
5193 -@%:@define ALL_INTERIOR_POINTERS 1
5194 -_ACEOF
5195 -
5196 -
5197 -cat >>confdefs.h <<\_ACEOF
5198 -@%:@define JAVA_FINALIZATION 1
5199 -_ACEOF
5200 -
5201 -cat >>confdefs.h <<\_ACEOF
5202 -@%:@define GC_GCJ_SUPPORT 1
5203 -_ACEOF
5204 -
5205 -cat >>confdefs.h <<\_ACEOF
5206 -@%:@define ATOMIC_UNCOLLECTABLE 1
5207 -_ACEOF
5208 -
5209 -
5210 -if test -n "${with_cross_host}"; then
5211 -   cat >>confdefs.h <<\_ACEOF
5212 -@%:@define NO_SIGSET 1
5213 -_ACEOF
5214 -
5215 -   cat >>confdefs.h <<\_ACEOF
5216 -@%:@define NO_DEBUGGING 1
5217 -_ACEOF
5218 -
5219 -fi
5220 -
5221 -# Check whether --enable-full-debug or --disable-full-debug was given.
5222 -if test "${enable_full_debug+set}" = set; then
5223 -  enableval="$enable_full_debug"
5224 -   if test "$enable_full_debug" = "yes"; then
5225 -    { echo "$as_me:$LINENO: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&5
5226 -echo "$as_me: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&2;}
5227 -    cat >>confdefs.h <<\_ACEOF
5228 -@%:@define KEEP_BACK_PTRS 1
5229 -_ACEOF
5230 -
5231 -    cat >>confdefs.h <<\_ACEOF
5232 -@%:@define DBG_HDRS_ALL 1
5233 -_ACEOF
5234 -
5235 -    case $host in
5236 -      ia64-*-linux* )
5237 -       cat >>confdefs.h <<\_ACEOF
5238 -@%:@define MAKE_BACK_GRAPH 1
5239 -_ACEOF
5240 -
5241 -      ;;
5242 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
5243 -       cat >>confdefs.h <<\_ACEOF
5244 -@%:@define MAKE_BACK_GRAPH 1
5245 -_ACEOF
5246 -
5247 -       { echo "$as_me:$LINENO: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
5248 -echo "$as_me: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&2;}
5249 -       cat >>confdefs.h <<\_ACEOF
5250 -@%:@define SAVE_CALL_COUNT 8
5251 -_ACEOF
5252 -
5253 -      ;;
5254 -    esac 
5255 -  fi
5256 -fi; 
5257 -
5258 -
5259 -
5260 -if test -z "$with_cross_host"; then
5261 -  USE_LIBDIR_TRUE=
5262 -  USE_LIBDIR_FALSE='#'
5263 -else
5264 -  USE_LIBDIR_TRUE='#'
5265 -  USE_LIBDIR_FALSE=
5266 -fi
5267 -
5268 -if test "${multilib}" = "yes"; then
5269 -  multilib_arg="--enable-multilib"
5270 -else
5271 -  multilib_arg=
5272 -fi
5273 -
5274 -                    ac_config_files="$ac_config_files Makefile include/Makefile"
5275 -          ac_config_commands="$ac_config_commands default"
5276 -cat >confcache <<\_ACEOF
5277 -# This file is a shell script that caches the results of configure
5278 -# tests run on this system so they can be shared between configure
5279 -# scripts and configure runs, see configure's option --config-cache.
5280 -# It is not useful on other systems.  If it contains results you don't
5281 -# want to keep, you may remove or edit it.
5282 -#
5283 -# config.status only pays attention to the cache file if you give it
5284 -# the --recheck option to rerun configure.
5285 -#
5286 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
5287 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
5288 -# following values.
5289 -
5290 -_ACEOF
5291 -
5292 -# The following way of writing the cache mishandles newlines in values,
5293 -# but we know of no workaround that is simple, portable, and efficient.
5294 -# So, don't put newlines in cache variables' values.
5295 -# Ultrix sh set writes to stderr and can't be redirected directly,
5296 -# and sets the high bit in the cache file unless we assign to the vars.
5297 -{
5298 -  (set) 2>&1 |
5299 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
5300 -    *ac_space=\ *)
5301 -      # `set' does not quote correctly, so add quotes (double-quote
5302 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
5303 -      sed -n \
5304 -        "s/'/'\\\\''/g;
5305 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
5306 -      ;;
5307 -    *)
5308 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
5309 -      sed -n \
5310 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
5311 -      ;;
5312 -    esac;
5313 -} |
5314 -  sed '
5315 -     t clear
5316 -     : clear
5317 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
5318 -     t end
5319 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
5320 -     : end' >>confcache
5321 -if diff $cache_file confcache >/dev/null 2>&1; then :; else
5322 -  if test -w $cache_file; then
5323 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
5324 -    cat confcache >$cache_file
5325 -  else
5326 -    echo "not updating unwritable cache $cache_file"
5327 -  fi
5328 -fi
5329 -rm -f confcache
5330 -
5331 -test "x$prefix" = xNONE && prefix=$ac_default_prefix
5332 -# Let make expand exec_prefix.
5333 -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
5334 -
5335 -# VPATH may cause trouble with some makes, so we remove $(srcdir),
5336 -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
5337 -# trailing colons and then remove the whole line if VPATH becomes empty
5338 -# (actually we leave an empty line to preserve line numbers).
5339 -if test "x$srcdir" = x.; then
5340 -  ac_vpsub='/^[        ]*VPATH[        ]*=/{
5341 -s/:*\$(srcdir):*/:/;
5342 -s/:*\${srcdir}:*/:/;
5343 -s/:*@srcdir@:*/:/;
5344 -s/^\([^=]*=[   ]*\):*/\1/;
5345 -s/:*$//;
5346 -s/^[^=]*=[     ]*$//;
5347 -}'
5348 -fi
5349 -
5350 -# Transform confdefs.h into DEFS.
5351 -# Protect against shell expansion while executing Makefile rules.
5352 -# Protect against Makefile macro expansion.
5353 -#
5354 -# If the first sed substitution is executed (which looks for macros that
5355 -# take arguments), then we branch to the quote section.  Otherwise,
5356 -# look for a macro that doesn't take arguments.
5357 -cat >confdef2opt.sed <<\_ACEOF
5358 -t clear
5359 -: clear
5360 -s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\),-D\1=\2,g
5361 -t quote
5362 -s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\),-D\1=\2,g
5363 -t quote
5364 -d
5365 -: quote
5366 -s,[    `~#$^&*(){}\\|;'"<>?],\\&,g
5367 -s,\[,\\&,g
5368 -s,\],\\&,g
5369 -s,\$,$$,g
5370 -p
5371 -_ACEOF
5372 -# We use echo to avoid assuming a particular line-breaking character.
5373 -# The extra dot is to prevent the shell from consuming trailing
5374 -# line-breaks from the sub-command output.  A line-break within
5375 -# single-quotes doesn't work because, if this script is created in a
5376 -# platform that uses two characters for line-breaks (e.g., DOS), tr
5377 -# would break.
5378 -ac_LF_and_DOT=`echo; echo .`
5379 -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
5380 -rm -f confdef2opt.sed
5381 -
5382 -
5383 -ac_libobjs=
5384 -ac_ltlibobjs=
5385 -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
5386 -  # 1. Remove the extension, and $U if already installed.
5387 -  ac_i=`echo "$ac_i" |
5388 -         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
5389 -  # 2. Add them.
5390 -  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
5391 -  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
5392 -done
5393 -LIB@&t@OBJS=$ac_libobjs
5394 -
5395 -LTLIBOBJS=$ac_ltlibobjs
5396 -
5397 -
5398 -
5399 -: ${CONFIG_STATUS=./config.status}
5400 -ac_clean_files_save=$ac_clean_files
5401 -ac_clean_files="$ac_clean_files $CONFIG_STATUS"
5402 -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
5403 -echo "$as_me: creating $CONFIG_STATUS" >&6;}
5404 -cat >$CONFIG_STATUS <<_ACEOF
5405 -#! $SHELL
5406 -# Generated by $as_me.
5407 -# Run this file to recreate the current configuration.
5408 -# Compiler output produced by configure, useful for debugging
5409 -# configure, is in config.log if it exists.
5410 -
5411 -debug=false
5412 -ac_cs_recheck=false
5413 -ac_cs_silent=false
5414 -SHELL=\${CONFIG_SHELL-$SHELL}
5415 -_ACEOF
5416 -
5417 -cat >>$CONFIG_STATUS <<\_ACEOF
5418 -## --------------------- ##
5419 -## M4sh Initialization.  ##
5420 -## --------------------- ##
5421 -
5422 -# Be Bourne compatible
5423 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
5424 -  emulate sh
5425 -  NULLCMD=:
5426 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
5427 -  # is contrary to our usage.  Disable this feature.
5428 -  alias -g '${1+"$@"}'='"$@"'
5429 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
5430 -  set -o posix
5431 -fi
5432 -
5433 -# Support unset when possible.
5434 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
5435 -  as_unset=unset
5436 -else
5437 -  as_unset=false
5438 -fi
5439 -
5440 -
5441 -# Work around bugs in pre-3.0 UWIN ksh.
5442 -$as_unset ENV MAIL MAILPATH
5443 -PS1='$ '
5444 -PS2='> '
5445 -PS4='+ '
5446 -
5447 -# NLS nuisances.
5448 -for as_var in \
5449 -  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
5450 -  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
5451 -  LC_TELEPHONE LC_TIME
5452 -do
5453 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
5454 -    eval $as_var=C; export $as_var
5455 -  else
5456 -    $as_unset $as_var
5457 -  fi
5458 -done
5459 -
5460 -# Required to use basename.
5461 -if expr a : '\(a\)' >/dev/null 2>&1; then
5462 -  as_expr=expr
5463 -else
5464 -  as_expr=false
5465 -fi
5466 -
5467 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
5468 -  as_basename=basename
5469 -else
5470 -  as_basename=false
5471 -fi
5472 -
5473 -
5474 -# Name of the executable.
5475 -as_me=`$as_basename "$0" ||
5476 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
5477 -        X"$0" : 'X\(//\)$' \| \
5478 -        X"$0" : 'X\(/\)$' \| \
5479 -        .     : '\(.\)' 2>/dev/null ||
5480 -echo X/"$0" |
5481 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
5482 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
5483 -         /^X\/\(\/\).*/{ s//\1/; q; }
5484 -         s/.*/./; q'`
5485 -
5486 -
5487 -# PATH needs CR, and LINENO needs CR and PATH.
5488 -# Avoid depending upon Character Ranges.
5489 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
5490 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
5491 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
5492 -as_cr_digits='0123456789'
5493 -as_cr_alnum=$as_cr_Letters$as_cr_digits
5494 -
5495 -# The user is always right.
5496 -if test "${PATH_SEPARATOR+set}" != set; then
5497 -  echo "#! /bin/sh" >conf$$.sh
5498 -  echo  "exit 0"   >>conf$$.sh
5499 -  chmod +x conf$$.sh
5500 -  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
5501 -    PATH_SEPARATOR=';'
5502 -  else
5503 -    PATH_SEPARATOR=:
5504 -  fi
5505 -  rm -f conf$$.sh
5506 -fi
5507 -
5508 -
5509 -  as_lineno_1=$LINENO
5510 -  as_lineno_2=$LINENO
5511 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
5512 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
5513 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
5514 -  # Find who we are.  Look in the path if we contain no path at all
5515 -  # relative or not.
5516 -  case $0 in
5517 -    *[\\/]* ) as_myself=$0 ;;
5518 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5519 -for as_dir in $PATH
5520 -do
5521 -  IFS=$as_save_IFS
5522 -  test -z "$as_dir" && as_dir=.
5523 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
5524 -done
5525 -
5526 -       ;;
5527 -  esac
5528 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
5529 -  # in which case we are not to be found in the path.
5530 -  if test "x$as_myself" = x; then
5531 -    as_myself=$0
5532 -  fi
5533 -  if test ! -f "$as_myself"; then
5534 -    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
5535 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
5536 -   { (exit 1); exit 1; }; }
5537 -  fi
5538 -  case $CONFIG_SHELL in
5539 -  '')
5540 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5541 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
5542 -do
5543 -  IFS=$as_save_IFS
5544 -  test -z "$as_dir" && as_dir=.
5545 -  for as_base in sh bash ksh sh5; do
5546 -        case $as_dir in
5547 -        /*)
5548 -          if ("$as_dir/$as_base" -c '
5549 -  as_lineno_1=$LINENO
5550 -  as_lineno_2=$LINENO
5551 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
5552 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
5553 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
5554 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
5555 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
5556 -            CONFIG_SHELL=$as_dir/$as_base
5557 -            export CONFIG_SHELL
5558 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
5559 -          fi;;
5560 -        esac
5561 -       done
5562 -done
5563 -;;
5564 -  esac
5565 -
5566 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
5567 -  # uniformly replaced by the line number.  The first 'sed' inserts a
5568 -  # line-number line before each line; the second 'sed' does the real
5569 -  # work.  The second script uses 'N' to pair each line-number line
5570 -  # with the numbered line, and appends trailing '-' during
5571 -  # substitution so that $LINENO is not a special case at line end.
5572 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
5573 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
5574 -  sed '=' <$as_myself |
5575 -    sed '
5576 -      N
5577 -      s,$,-,
5578 -      : loop
5579 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
5580 -      t loop
5581 -      s,-$,,
5582 -      s,^['$as_cr_digits']*\n,,
5583 -    ' >$as_me.lineno &&
5584 -  chmod +x $as_me.lineno ||
5585 -    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
5586 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
5587 -   { (exit 1); exit 1; }; }
5588 -
5589 -  # Don't try to exec as it changes $[0], causing all sort of problems
5590 -  # (the dirname of $[0] is not the place where we might find the
5591 -  # original and so on.  Autoconf is especially sensible to this).
5592 -  . ./$as_me.lineno
5593 -  # Exit status is that of the last command.
5594 -  exit
5595 -}
5596 -
5597 -
5598 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
5599 -  *c*,-n*) ECHO_N= ECHO_C='
5600 -' ECHO_T='     ' ;;
5601 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
5602 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
5603 -esac
5604 -
5605 -if expr a : '\(a\)' >/dev/null 2>&1; then
5606 -  as_expr=expr
5607 -else
5608 -  as_expr=false
5609 -fi
5610 -
5611 -rm -f conf$$ conf$$.exe conf$$.file
5612 -echo >conf$$.file
5613 -if ln -s conf$$.file conf$$ 2>/dev/null; then
5614 -  # We could just check for DJGPP; but this test a) works b) is more generic
5615 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
5616 -  if test -f conf$$.exe; then
5617 -    # Don't use ln at all; we don't have any links
5618 -    as_ln_s='cp -p'
5619 -  else
5620 -    as_ln_s='ln -s'
5621 -  fi
5622 -elif ln conf$$.file conf$$ 2>/dev/null; then
5623 -  as_ln_s=ln
5624 -else
5625 -  as_ln_s='cp -p'
5626 -fi
5627 -rm -f conf$$ conf$$.exe conf$$.file
5628 -
5629 -if mkdir -p . 2>/dev/null; then
5630 -  as_mkdir_p=:
5631 -else
5632 -  as_mkdir_p=false
5633 -fi
5634 -
5635 -as_executable_p="test -f"
5636 -
5637 -# Sed expression to map a string onto a valid CPP name.
5638 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
5639 -
5640 -# Sed expression to map a string onto a valid variable name.
5641 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
5642 -
5643 -
5644 -# IFS
5645 -# We need space, tab and new line, in precisely that order.
5646 -as_nl='
5647 -'
5648 -IFS="  $as_nl"
5649 -
5650 -# CDPATH.
5651 -$as_unset CDPATH
5652 -
5653 -exec 6>&1
5654 -
5655 -# Open the log real soon, to keep \$[0] and so on meaningful, and to
5656 -# report actual input values of CONFIG_FILES etc. instead of their
5657 -# values after options handling.  Logging --version etc. is OK.
5658 -exec 5>>config.log
5659 -{
5660 -  echo
5661 -  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
5662 -@%:@@%:@ Running $as_me. @%:@@%:@
5663 -_ASBOX
5664 -} >&5
5665 -cat >&5 <<_CSEOF
5666 -
5667 -This file was extended by $as_me, which was
5668 -generated by GNU Autoconf 2.57.  Invocation command line was
5669 -
5670 -  CONFIG_FILES    = $CONFIG_FILES
5671 -  CONFIG_HEADERS  = $CONFIG_HEADERS
5672 -  CONFIG_LINKS    = $CONFIG_LINKS
5673 -  CONFIG_COMMANDS = $CONFIG_COMMANDS
5674 -  $ $0 $@
5675 -
5676 -_CSEOF
5677 -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
5678 -echo >&5
5679 -_ACEOF
5680 -
5681 -# Files that config.status was made for.
5682 -if test -n "$ac_config_files"; then
5683 -  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
5684 -fi
5685 -
5686 -if test -n "$ac_config_headers"; then
5687 -  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
5688 -fi
5689 -
5690 -if test -n "$ac_config_links"; then
5691 -  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
5692 -fi
5693 -
5694 -if test -n "$ac_config_commands"; then
5695 -  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
5696 -fi
5697 -
5698 -cat >>$CONFIG_STATUS <<\_ACEOF
5699 -
5700 -ac_cs_usage="\
5701 -\`$as_me' instantiates files from templates according to the
5702 -current configuration.
5703 -
5704 -Usage: $0 [OPTIONS] [FILE]...
5705 -
5706 -  -h, --help       print this help, then exit
5707 -  -V, --version    print version number, then exit
5708 -  -q, --quiet      do not print progress messages
5709 -  -d, --debug      don't remove temporary files
5710 -      --recheck    update $as_me by reconfiguring in the same conditions
5711 -  --file=FILE[:TEMPLATE]
5712 -                   instantiate the configuration file FILE
5713 -
5714 -Configuration files:
5715 -$config_files
5716 -
5717 -Configuration commands:
5718 -$config_commands
5719 -
5720 -Report bugs to <bug-autoconf@gnu.org>."
5721 -_ACEOF
5722 -
5723 -cat >>$CONFIG_STATUS <<_ACEOF
5724 -ac_cs_version="\\
5725 -config.status
5726 -configured by $0, generated by GNU Autoconf 2.57,
5727 -  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
5728 -
5729 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
5730 -Free Software Foundation, Inc.
5731 -This config.status script is free software; the Free Software Foundation
5732 -gives unlimited permission to copy, distribute and modify it."
5733 -srcdir=$srcdir
5734 -INSTALL="$INSTALL"
5735 -_ACEOF
5736 -
5737 -cat >>$CONFIG_STATUS <<\_ACEOF
5738 -# If no file are specified by the user, then we need to provide default
5739 -# value.  By we need to know if files were specified by the user.
5740 -ac_need_defaults=:
5741 -while test $# != 0
5742 -do
5743 -  case $1 in
5744 -  --*=*)
5745 -    ac_option=`expr "x$1" : 'x\([^=]*\)='`
5746 -    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
5747 -    ac_shift=:
5748 -    ;;
5749 -  -*)
5750 -    ac_option=$1
5751 -    ac_optarg=$2
5752 -    ac_shift=shift
5753 -    ;;
5754 -  *) # This is not an option, so the user has probably given explicit
5755 -     # arguments.
5756 -     ac_option=$1
5757 -     ac_need_defaults=false;;
5758 -  esac
5759 -
5760 -  case $ac_option in
5761 -  # Handling of the options.
5762 -_ACEOF
5763 -cat >>$CONFIG_STATUS <<\_ACEOF
5764 -  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
5765 -    ac_cs_recheck=: ;;
5766 -  --version | --vers* | -V )
5767 -    echo "$ac_cs_version"; exit 0 ;;
5768 -  --he | --h)
5769 -    # Conflict between --help and --header
5770 -    { { echo "$as_me:$LINENO: error: ambiguous option: $1
5771 -Try \`$0 --help' for more information." >&5
5772 -echo "$as_me: error: ambiguous option: $1
5773 -Try \`$0 --help' for more information." >&2;}
5774 -   { (exit 1); exit 1; }; };;
5775 -  --help | --hel | -h )
5776 -    echo "$ac_cs_usage"; exit 0 ;;
5777 -  --debug | --d* | -d )
5778 -    debug=: ;;
5779 -  --file | --fil | --fi | --f )
5780 -    $ac_shift
5781 -    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
5782 -    ac_need_defaults=false;;
5783 -  --header | --heade | --head | --hea )
5784 -    $ac_shift
5785 -    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
5786 -    ac_need_defaults=false;;
5787 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
5788 -  | -silent | --silent | --silen | --sile | --sil | --si | --s)
5789 -    ac_cs_silent=: ;;
5790 -
5791 -  # This is an error.
5792 -  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
5793 -Try \`$0 --help' for more information." >&5
5794 -echo "$as_me: error: unrecognized option: $1
5795 -Try \`$0 --help' for more information." >&2;}
5796 -   { (exit 1); exit 1; }; } ;;
5797 -
5798 -  *) ac_config_targets="$ac_config_targets $1" ;;
5799 -
5800 -  esac
5801 -  shift
5802 -done
5803 -
5804 -ac_configure_extra_args=
5805 -
5806 -if $ac_cs_silent; then
5807 -  exec 6>/dev/null
5808 -  ac_configure_extra_args="$ac_configure_extra_args --silent"
5809 -fi
5810 -
5811 -_ACEOF
5812 -cat >>$CONFIG_STATUS <<_ACEOF
5813 -if \$ac_cs_recheck; then
5814 -  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
5815 -  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
5816 -fi
5817 -
5818 -_ACEOF
5819 -
5820 -cat >>$CONFIG_STATUS <<_ACEOF
5821 -#
5822 -# INIT-COMMANDS section.
5823 -#
5824 -
5825 -srcdir=${srcdir}
5826 -host=${host}
5827 -target=${target}
5828 -with_multisubdir=${with_multisubdir}
5829 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
5830 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
5831 -gc_basedir=${gc_basedir}
5832 -CC="${CC}"
5833 -DEFS="$DEFS"
5834 -
5835 -
5836 -_ACEOF
5837 -
5838 -
5839 -
5840 -cat >>$CONFIG_STATUS <<\_ACEOF
5841 -for ac_config_target in $ac_config_targets
5842 -do
5843 -  case "$ac_config_target" in
5844 -  # Handling of arguments.
5845 -  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
5846 -  "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
5847 -  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
5848 -  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
5849 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
5850 -   { (exit 1); exit 1; }; };;
5851 -  esac
5852 -done
5853 -
5854 -# If the user did not use the arguments to specify the items to instantiate,
5855 -# then the envvar interface is used.  Set only those that are not.
5856 -# We use the long form for the default assignment because of an extremely
5857 -# bizarre bug on SunOS 4.1.3.
5858 -if $ac_need_defaults; then
5859 -  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
5860 -  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
5861 -fi
5862 -
5863 -# Have a temporary directory for convenience.  Make it in the build tree
5864 -# simply because there is no reason to put it here, and in addition,
5865 -# creating and moving files from /tmp can sometimes cause problems.
5866 -# Create a temporary directory, and hook for its removal unless debugging.
5867 -$debug ||
5868 -{
5869 -  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
5870 -  trap '{ (exit 1); exit 1; }' 1 2 13 15
5871 -}
5872 -
5873 -# Create a (secure) tmp directory for tmp files.
5874 -
5875 -{
5876 -  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
5877 -  test -n "$tmp" && test -d "$tmp"
5878 -}  ||
5879 -{
5880 -  tmp=./confstat$$-$RANDOM
5881 -  (umask 077 && mkdir $tmp)
5882 -} ||
5883 -{
5884 -   echo "$me: cannot create a temporary directory in ." >&2
5885 -   { (exit 1); exit 1; }
5886 -}
5887 -
5888 -_ACEOF
5889 -
5890 -cat >>$CONFIG_STATUS <<_ACEOF
5891 -
5892 -#
5893 -# CONFIG_FILES section.
5894 -#
5895 -
5896 -# No need to generate the scripts if there are no CONFIG_FILES.
5897 -# This happens for instance when ./config.status config.h
5898 -if test -n "\$CONFIG_FILES"; then
5899 -  # Protect against being on the right side of a sed subst in config.status.
5900 -  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
5901 -   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
5902 -s,@SHELL@,$SHELL,;t t
5903 -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
5904 -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
5905 -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
5906 -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
5907 -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
5908 -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
5909 -s,@exec_prefix@,$exec_prefix,;t t
5910 -s,@prefix@,$prefix,;t t
5911 -s,@program_transform_name@,$program_transform_name,;t t
5912 -s,@bindir@,$bindir,;t t
5913 -s,@sbindir@,$sbindir,;t t
5914 -s,@libexecdir@,$libexecdir,;t t
5915 -s,@datadir@,$datadir,;t t
5916 -s,@sysconfdir@,$sysconfdir,;t t
5917 -s,@sharedstatedir@,$sharedstatedir,;t t
5918 -s,@localstatedir@,$localstatedir,;t t
5919 -s,@libdir@,$libdir,;t t
5920 -s,@includedir@,$includedir,;t t
5921 -s,@oldincludedir@,$oldincludedir,;t t
5922 -s,@infodir@,$infodir,;t t
5923 -s,@mandir@,$mandir,;t t
5924 -s,@build_alias@,$build_alias,;t t
5925 -s,@host_alias@,$host_alias,;t t
5926 -s,@target_alias@,$target_alias,;t t
5927 -s,@DEFS@,$DEFS,;t t
5928 -s,@ECHO_C@,$ECHO_C,;t t
5929 -s,@ECHO_N@,$ECHO_N,;t t
5930 -s,@ECHO_T@,$ECHO_T,;t t
5931 -s,@LIBS@,$LIBS,;t t
5932 -s,@gc_basedir@,$gc_basedir,;t t
5933 -s,@build@,$build,;t t
5934 -s,@build_cpu@,$build_cpu,;t t
5935 -s,@build_vendor@,$build_vendor,;t t
5936 -s,@build_os@,$build_os,;t t
5937 -s,@host@,$host,;t t
5938 -s,@host_cpu@,$host_cpu,;t t
5939 -s,@host_vendor@,$host_vendor,;t t
5940 -s,@host_os@,$host_os,;t t
5941 -s,@target@,$target,;t t
5942 -s,@target_cpu@,$target_cpu,;t t
5943 -s,@target_vendor@,$target_vendor,;t t
5944 -s,@target_os@,$target_os,;t t
5945 -s,@mkinstalldirs@,$mkinstalldirs,;t t
5946 -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
5947 -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
5948 -s,@INSTALL_DATA@,$INSTALL_DATA,;t t
5949 -s,@PACKAGE@,$PACKAGE,;t t
5950 -s,@VERSION@,$VERSION,;t t
5951 -s,@ACLOCAL@,$ACLOCAL,;t t
5952 -s,@AUTOCONF@,$AUTOCONF,;t t
5953 -s,@AUTOMAKE@,$AUTOMAKE,;t t
5954 -s,@AUTOHEADER@,$AUTOHEADER,;t t
5955 -s,@MAKEINFO@,$MAKEINFO,;t t
5956 -s,@SET_MAKE@,$SET_MAKE,;t t
5957 -s,@CC@,$CC,;t t
5958 -s,@CXX@,$CXX,;t t
5959 -s,@AS@,$AS,;t t
5960 -s,@ac_ct_AS@,$ac_ct_AS,;t t
5961 -s,@AR@,$AR,;t t
5962 -s,@ac_ct_AR@,$ac_ct_AR,;t t
5963 -s,@RANLIB@,$RANLIB,;t t
5964 -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
5965 -s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
5966 -s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
5967 -s,@MAINT@,$MAINT,;t t
5968 -s,@GC_CFLAGS@,$GC_CFLAGS,;t t
5969 -s,@LN_S@,$LN_S,;t t
5970 -s,@STRIP@,$STRIP,;t t
5971 -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
5972 -s,@LIBTOOL@,$LIBTOOL,;t t
5973 -s,@CXXCPP@,$CXXCPP,;t t
5974 -s,@CPPFLAGS@,$CPPFLAGS,;t t
5975 -s,@THREADLIBS@,$THREADLIBS,;t t
5976 -s,@POWERPC_DARWIN_TRUE@,$POWERPC_DARWIN_TRUE,;t t
5977 -s,@POWERPC_DARWIN_FALSE@,$POWERPC_DARWIN_FALSE,;t t
5978 -s,@EXTRA_TEST_LIBS@,$EXTRA_TEST_LIBS,;t t
5979 -s,@target_all@,$target_all,;t t
5980 -s,@INCLUDES@,$INCLUDES,;t t
5981 -s,@CXXINCLUDES@,$CXXINCLUDES,;t t
5982 -s,@addobjs@,$addobjs,;t t
5983 -s,@MY_CFLAGS@,$MY_CFLAGS,;t t
5984 -s,@USE_LIBDIR_TRUE@,$USE_LIBDIR_TRUE,;t t
5985 -s,@USE_LIBDIR_FALSE@,$USE_LIBDIR_FALSE,;t t
5986 -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
5987 -s,@LTLIBOBJS@,$LTLIBOBJS,;t t
5988 -CEOF
5989 -
5990 -_ACEOF
5991 -
5992 -  cat >>$CONFIG_STATUS <<\_ACEOF
5993 -  # Split the substitutions into bite-sized pieces for seds with
5994 -  # small command number limits, like on Digital OSF/1 and HP-UX.
5995 -  ac_max_sed_lines=48
5996 -  ac_sed_frag=1 # Number of current file.
5997 -  ac_beg=1 # First line for current file.
5998 -  ac_end=$ac_max_sed_lines # Line after last line for current file.
5999 -  ac_more_lines=:
6000 -  ac_sed_cmds=
6001 -  while $ac_more_lines; do
6002 -    if test $ac_beg -gt 1; then
6003 -      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
6004 -    else
6005 -      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
6006 -    fi
6007 -    if test ! -s $tmp/subs.frag; then
6008 -      ac_more_lines=false
6009 -    else
6010 -      # The purpose of the label and of the branching condition is to
6011 -      # speed up the sed processing (if there are no `@' at all, there
6012 -      # is no need to browse any of the substitutions).
6013 -      # These are the two extra sed commands mentioned above.
6014 -      (echo ':t
6015 -  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
6016 -      if test -z "$ac_sed_cmds"; then
6017 -       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
6018 -      else
6019 -       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
6020 -      fi
6021 -      ac_sed_frag=`expr $ac_sed_frag + 1`
6022 -      ac_beg=$ac_end
6023 -      ac_end=`expr $ac_end + $ac_max_sed_lines`
6024 -    fi
6025 -  done
6026 -  if test -z "$ac_sed_cmds"; then
6027 -    ac_sed_cmds=cat
6028 -  fi
6029 -fi # test -n "$CONFIG_FILES"
6030 -
6031 -_ACEOF
6032 -cat >>$CONFIG_STATUS <<\_ACEOF
6033 -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
6034 -  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
6035 -  case $ac_file in
6036 -  - | *:- | *:-:* ) # input from stdin
6037 -        cat >$tmp/stdin
6038 -        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
6039 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
6040 -  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
6041 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
6042 -  * )   ac_file_in=$ac_file.in ;;
6043 -  esac
6044 -
6045 -  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
6046 -  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
6047 -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6048 -         X"$ac_file" : 'X\(//\)[^/]' \| \
6049 -         X"$ac_file" : 'X\(//\)$' \| \
6050 -         X"$ac_file" : 'X\(/\)' \| \
6051 -         .     : '\(.\)' 2>/dev/null ||
6052 -echo X"$ac_file" |
6053 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6054 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6055 -         /^X\(\/\/\)$/{ s//\1/; q; }
6056 -         /^X\(\/\).*/{ s//\1/; q; }
6057 -         s/.*/./; q'`
6058 -  { if $as_mkdir_p; then
6059 -    mkdir -p "$ac_dir"
6060 -  else
6061 -    as_dir="$ac_dir"
6062 -    as_dirs=
6063 -    while test ! -d "$as_dir"; do
6064 -      as_dirs="$as_dir $as_dirs"
6065 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
6066 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6067 -         X"$as_dir" : 'X\(//\)[^/]' \| \
6068 -         X"$as_dir" : 'X\(//\)$' \| \
6069 -         X"$as_dir" : 'X\(/\)' \| \
6070 -         .     : '\(.\)' 2>/dev/null ||
6071 -echo X"$as_dir" |
6072 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6073 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6074 -         /^X\(\/\/\)$/{ s//\1/; q; }
6075 -         /^X\(\/\).*/{ s//\1/; q; }
6076 -         s/.*/./; q'`
6077 -    done
6078 -    test ! -n "$as_dirs" || mkdir $as_dirs
6079 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
6080 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
6081 -   { (exit 1); exit 1; }; }; }
6082 -
6083 -  ac_builddir=.
6084 -
6085 -if test "$ac_dir" != .; then
6086 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
6087 -  # A "../" for each directory in $ac_dir_suffix.
6088 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
6089 -else
6090 -  ac_dir_suffix= ac_top_builddir=
6091 -fi
6092 -
6093 -case $srcdir in
6094 -  .)  # No --srcdir option.  We are building in place.
6095 -    ac_srcdir=.
6096 -    if test -z "$ac_top_builddir"; then
6097 -       ac_top_srcdir=.
6098 -    else
6099 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
6100 -    fi ;;
6101 -  [\\/]* | ?:[\\/]* )  # Absolute path.
6102 -    ac_srcdir=$srcdir$ac_dir_suffix;
6103 -    ac_top_srcdir=$srcdir ;;
6104 -  *) # Relative path.
6105 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
6106 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
6107 -esac
6108 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
6109 -# absolute.
6110 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
6111 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
6112 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
6113 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
6114 -
6115 -
6116 -  case $INSTALL in
6117 -  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
6118 -  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
6119 -  esac
6120 -
6121 -  if test x"$ac_file" != x-; then
6122 -    { echo "$as_me:$LINENO: creating $ac_file" >&5
6123 -echo "$as_me: creating $ac_file" >&6;}
6124 -    rm -f "$ac_file"
6125 -  fi
6126 -  # Let's still pretend it is `configure' which instantiates (i.e., don't
6127 -  # use $as_me), people would be surprised to read:
6128 -  #    /* config.h.  Generated by config.status.  */
6129 -  if test x"$ac_file" = x-; then
6130 -    configure_input=
6131 -  else
6132 -    configure_input="$ac_file.  "
6133 -  fi
6134 -  configure_input=$configure_input"Generated from `echo $ac_file_in |
6135 -                                     sed 's,.*/,,'` by configure."
6136 -
6137 -  # First look for the input files in the build tree, otherwise in the
6138 -  # src tree.
6139 -  ac_file_inputs=`IFS=:
6140 -    for f in $ac_file_in; do
6141 -      case $f in
6142 -      -) echo $tmp/stdin ;;
6143 -      [\\/$]*)
6144 -         # Absolute (can't be DOS-style, as IFS=:)
6145 -         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
6146 -echo "$as_me: error: cannot find input file: $f" >&2;}
6147 -   { (exit 1); exit 1; }; }
6148 -         echo $f;;
6149 -      *) # Relative
6150 -         if test -f "$f"; then
6151 -           # Build tree
6152 -           echo $f
6153 -         elif test -f "$srcdir/$f"; then
6154 -           # Source tree
6155 -           echo $srcdir/$f
6156 -         else
6157 -           # /dev/null tree
6158 -           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
6159 -echo "$as_me: error: cannot find input file: $f" >&2;}
6160 -   { (exit 1); exit 1; }; }
6161 -         fi;;
6162 -      esac
6163 -    done` || { (exit 1); exit 1; }
6164 -_ACEOF
6165 -cat >>$CONFIG_STATUS <<_ACEOF
6166 -  sed "$ac_vpsub
6167 -$extrasub
6168 -_ACEOF
6169 -cat >>$CONFIG_STATUS <<\_ACEOF
6170 -:t
6171 -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
6172 -s,@configure_input@,$configure_input,;t t
6173 -s,@srcdir@,$ac_srcdir,;t t
6174 -s,@abs_srcdir@,$ac_abs_srcdir,;t t
6175 -s,@top_srcdir@,$ac_top_srcdir,;t t
6176 -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
6177 -s,@builddir@,$ac_builddir,;t t
6178 -s,@abs_builddir@,$ac_abs_builddir,;t t
6179 -s,@top_builddir@,$ac_top_builddir,;t t
6180 -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
6181 -s,@INSTALL@,$ac_INSTALL,;t t
6182 -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
6183 -  rm -f $tmp/stdin
6184 -  if test x"$ac_file" != x-; then
6185 -    mv $tmp/out $ac_file
6186 -  else
6187 -    cat $tmp/out
6188 -    rm -f $tmp/out
6189 -  fi
6190 -
6191 -done
6192 -_ACEOF
6193 -cat >>$CONFIG_STATUS <<\_ACEOF
6194 -
6195 -#
6196 -# CONFIG_COMMANDS section.
6197 -#
6198 -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
6199 -  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
6200 -  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
6201 -  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
6202 -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6203 -         X"$ac_dest" : 'X\(//\)[^/]' \| \
6204 -         X"$ac_dest" : 'X\(//\)$' \| \
6205 -         X"$ac_dest" : 'X\(/\)' \| \
6206 -         .     : '\(.\)' 2>/dev/null ||
6207 -echo X"$ac_dest" |
6208 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6209 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6210 -         /^X\(\/\/\)$/{ s//\1/; q; }
6211 -         /^X\(\/\).*/{ s//\1/; q; }
6212 -         s/.*/./; q'`
6213 -  ac_builddir=.
6214 -
6215 -if test "$ac_dir" != .; then
6216 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
6217 -  # A "../" for each directory in $ac_dir_suffix.
6218 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
6219 -else
6220 -  ac_dir_suffix= ac_top_builddir=
6221 -fi
6222 -
6223 -case $srcdir in
6224 -  .)  # No --srcdir option.  We are building in place.
6225 -    ac_srcdir=.
6226 -    if test -z "$ac_top_builddir"; then
6227 -       ac_top_srcdir=.
6228 -    else
6229 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
6230 -    fi ;;
6231 -  [\\/]* | ?:[\\/]* )  # Absolute path.
6232 -    ac_srcdir=$srcdir$ac_dir_suffix;
6233 -    ac_top_srcdir=$srcdir ;;
6234 -  *) # Relative path.
6235 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
6236 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
6237 -esac
6238 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
6239 -# absolute.
6240 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
6241 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
6242 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
6243 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
6244 -
6245 -
6246 -  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
6247 -echo "$as_me: executing $ac_dest commands" >&6;}
6248 -  case $ac_dest in
6249 -    default ) 
6250 -echo "$DEFS" > boehm-cflags
6251 -
6252 -if test -n "$CONFIG_FILES"; then
6253 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
6254 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
6255 -fi ;;
6256 -  esac
6257 -done
6258 -_ACEOF
6259 -
6260 -cat >>$CONFIG_STATUS <<\_ACEOF
6261 -
6262 -{ (exit 0); exit 0; }
6263 -_ACEOF
6264 -chmod +x $CONFIG_STATUS
6265 -ac_clean_files=$ac_clean_files_save
6266 -
6267 -
6268 -# configure is writing to config.log, and then calls config.status.
6269 -# config.status does its own redirection, appending to config.log.
6270 -# Unfortunately, on DOS this fails, as config.log is still kept open
6271 -# by configure, so config.status won't be able to write to it; its
6272 -# output is simply discarded.  So we exec the FD to /dev/null,
6273 -# effectively closing config.log, so it can be properly (re)opened and
6274 -# appended to by config.status.  When coming back to configure, we
6275 -# need to make the FD available again.
6276 -if test "$no_create" != yes; then
6277 -  ac_cs_success=:
6278 -  ac_config_status_args=
6279 -  test "$silent" = yes &&
6280 -    ac_config_status_args="$ac_config_status_args --quiet"
6281 -  exec 5>/dev/null
6282 -  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
6283 -  exec 5>>config.log
6284 -  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
6285 -  # would make configure fail if this is the last instruction.
6286 -  $ac_cs_success || { (exit 1); exit 1; }
6287 -fi
6288 -
6289 diff -Nur ../boehm-gc/autom4te.cache/output.1 boehm-gc/autom4te.cache/output.1
6290 --- ../boehm-gc/autom4te.cache/output.1 Sat May 31 15:09:31 2003
6291 +++ boehm-gc/autom4te.cache/output.1    Wed Dec 31 16:00:00 1969
6292 @@ -1,9496 +0,0 @@
6293 -@%:@! /bin/sh
6294 -@%:@ Guess values for system-dependent variables and create Makefiles.
6295 -@%:@ Generated by GNU Autoconf 2.54.
6296 -@%:@ 
6297 -@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
6298 -@%:@ Free Software Foundation, Inc.
6299 -@%:@ This configure script is free software; the Free Software Foundation
6300 -@%:@ gives unlimited permission to copy, distribute and modify it.
6301 -## --------------------- ##
6302 -## M4sh Initialization.  ##
6303 -## --------------------- ##
6304 -
6305 -# Be Bourne compatible
6306 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
6307 -  emulate sh
6308 -  NULLCMD=:
6309 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
6310 -  # is contrary to our usage.  Disable this feature.
6311 -  alias -g '${1+"$@"}'='"$@"'
6312 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
6313 -  set -o posix
6314 -fi
6315 -
6316 -# Support unset when possible.
6317 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
6318 -  as_unset=unset
6319 -else
6320 -  as_unset=false
6321 -fi
6322 -
6323 -
6324 -# Work around bugs in pre-3.0 UWIN ksh.
6325 -$as_unset ENV MAIL MAILPATH
6326 -PS1='$ '
6327 -PS2='> '
6328 -PS4='+ '
6329 -
6330 -# NLS nuisances.
6331 -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
6332 -do
6333 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
6334 -    eval $as_var=C; export $as_var
6335 -  else
6336 -    $as_unset $as_var
6337 -  fi
6338 -done
6339 -
6340 -# Required to use basename.
6341 -if expr a : '\(a\)' >/dev/null 2>&1; then
6342 -  as_expr=expr
6343 -else
6344 -  as_expr=false
6345 -fi
6346 -
6347 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
6348 -  as_basename=basename
6349 -else
6350 -  as_basename=false
6351 -fi
6352 -
6353 -
6354 -# Name of the executable.
6355 -as_me=`$as_basename "$0" ||
6356 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
6357 -        X"$0" : 'X\(//\)$' \| \
6358 -        X"$0" : 'X\(/\)$' \| \
6359 -        .     : '\(.\)' 2>/dev/null ||
6360 -echo X/"$0" |
6361 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
6362 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
6363 -         /^X\/\(\/\).*/{ s//\1/; q; }
6364 -         s/.*/./; q'`
6365 -
6366 -
6367 -# PATH needs CR, and LINENO needs CR and PATH.
6368 -# Avoid depending upon Character Ranges.
6369 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
6370 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
6371 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
6372 -as_cr_digits='0123456789'
6373 -as_cr_alnum=$as_cr_Letters$as_cr_digits
6374 -
6375 -# The user is always right.
6376 -if test "${PATH_SEPARATOR+set}" != set; then
6377 -  echo "#! /bin/sh" >conftest.sh
6378 -  echo  "exit 0"   >>conftest.sh
6379 -  chmod +x conftest.sh
6380 -  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
6381 -    PATH_SEPARATOR=';'
6382 -  else
6383 -    PATH_SEPARATOR=:
6384 -  fi
6385 -  rm -f conftest.sh
6386 -fi
6387 -
6388 -
6389 -  as_lineno_1=$LINENO
6390 -  as_lineno_2=$LINENO
6391 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
6392 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
6393 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
6394 -  # Find who we are.  Look in the path if we contain no path at all
6395 -  # relative or not.
6396 -  case $0 in
6397 -    *[\\/]* ) as_myself=$0 ;;
6398 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6399 -for as_dir in $PATH
6400 -do
6401 -  IFS=$as_save_IFS
6402 -  test -z "$as_dir" && as_dir=.
6403 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
6404 -done
6405 -
6406 -       ;;
6407 -  esac
6408 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
6409 -  # in which case we are not to be found in the path.
6410 -  if test "x$as_myself" = x; then
6411 -    as_myself=$0
6412 -  fi
6413 -  if test ! -f "$as_myself"; then
6414 -    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
6415 -   { (exit 1); exit 1; }; }
6416 -  fi
6417 -  case $CONFIG_SHELL in
6418 -  '')
6419 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6420 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
6421 -do
6422 -  IFS=$as_save_IFS
6423 -  test -z "$as_dir" && as_dir=.
6424 -  for as_base in sh bash ksh sh5; do
6425 -        case $as_dir in
6426 -        /*)
6427 -          if ("$as_dir/$as_base" -c '
6428 -  as_lineno_1=$LINENO
6429 -  as_lineno_2=$LINENO
6430 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
6431 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
6432 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
6433 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
6434 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
6435 -            CONFIG_SHELL=$as_dir/$as_base
6436 -            export CONFIG_SHELL
6437 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
6438 -          fi;;
6439 -        esac
6440 -       done
6441 -done
6442 -;;
6443 -  esac
6444 -
6445 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
6446 -  # uniformly replaced by the line number.  The first 'sed' inserts a
6447 -  # line-number line before each line; the second 'sed' does the real
6448 -  # work.  The second script uses 'N' to pair each line-number line
6449 -  # with the numbered line, and appends trailing '-' during
6450 -  # substitution so that $LINENO is not a special case at line end.
6451 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
6452 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
6453 -  sed '=' <$as_myself |
6454 -    sed '
6455 -      N
6456 -      s,$,-,
6457 -      : loop
6458 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
6459 -      t loop
6460 -      s,-$,,
6461 -      s,^['$as_cr_digits']*\n,,
6462 -    ' >$as_me.lineno &&
6463 -  chmod +x $as_me.lineno ||
6464 -    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
6465 -   { (exit 1); exit 1; }; }
6466 -
6467 -  # Don't try to exec as it changes $[0], causing all sort of problems
6468 -  # (the dirname of $[0] is not the place where we might find the
6469 -  # original and so on.  Autoconf is especially sensible to this).
6470 -  . ./$as_me.lineno
6471 -  # Exit status is that of the last command.
6472 -  exit
6473 -}
6474 -
6475 -
6476 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
6477 -  *c*,-n*) ECHO_N= ECHO_C='
6478 -' ECHO_T='     ' ;;
6479 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
6480 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
6481 -esac
6482 -
6483 -if expr a : '\(a\)' >/dev/null 2>&1; then
6484 -  as_expr=expr
6485 -else
6486 -  as_expr=false
6487 -fi
6488 -
6489 -rm -f conf$$ conf$$.exe conf$$.file
6490 -echo >conf$$.file
6491 -if ln -s conf$$.file conf$$ 2>/dev/null; then
6492 -  # We could just check for DJGPP; but this test a) works b) is more generic
6493 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
6494 -  if test -f conf$$.exe; then
6495 -    # Don't use ln at all; we don't have any links
6496 -    as_ln_s='cp -p'
6497 -  else
6498 -    as_ln_s='ln -s'
6499 -  fi
6500 -elif ln conf$$.file conf$$ 2>/dev/null; then
6501 -  as_ln_s=ln
6502 -else
6503 -  as_ln_s='cp -p'
6504 -fi
6505 -rm -f conf$$ conf$$.exe conf$$.file
6506 -
6507 -if mkdir -p . 2>/dev/null; then
6508 -  as_mkdir_p=:
6509 -else
6510 -  as_mkdir_p=false
6511 -fi
6512 -
6513 -as_executable_p="test -f"
6514 -
6515 -# Sed expression to map a string onto a valid CPP name.
6516 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
6517 -
6518 -# Sed expression to map a string onto a valid variable name.
6519 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
6520 -
6521 -
6522 -# IFS
6523 -# We need space, tab and new line, in precisely that order.
6524 -as_nl='
6525 -'
6526 -IFS="  $as_nl"
6527 -
6528 -# CDPATH.
6529 -$as_unset CDPATH
6530 -
6531 -
6532 -# Find the correct PATH separator.  Usually this is `:', but
6533 -# DJGPP uses `;' like DOS.
6534 -if test "X${PATH_SEPARATOR+set}" != Xset; then
6535 -  UNAME=${UNAME-`uname 2>/dev/null`}
6536 -  case X$UNAME in
6537 -    *-DOS) lt_cv_sys_path_separator=';' ;;
6538 -    *)     lt_cv_sys_path_separator=':' ;;
6539 -  esac
6540 -  PATH_SEPARATOR=$lt_cv_sys_path_separator
6541 -fi
6542 -
6543 -
6544 -# Check that we are running under the correct shell.
6545 -SHELL=${CONFIG_SHELL-/bin/sh}
6546 -
6547 -case X$ECHO in
6548 -X*--fallback-echo)
6549 -  # Remove one level of quotation (which was required for Make).
6550 -  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
6551 -  ;;
6552 -esac
6553 -
6554 -echo=${ECHO-echo}
6555 -if test "X$1" = X--no-reexec; then
6556 -  # Discard the --no-reexec flag, and continue.
6557 -  shift
6558 -elif test "X$1" = X--fallback-echo; then
6559 -  # Avoid inline document here, it may be left over
6560 -  :
6561 -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
6562 -  # Yippee, $echo works!
6563 -  :
6564 -else
6565 -  # Restart under the correct shell.
6566 -  exec $SHELL "$0" --no-reexec ${1+"$@"}
6567 -fi
6568 -
6569 -if test "X$1" = X--fallback-echo; then
6570 -  # used as fallback echo
6571 -  shift
6572 -  cat <<EOF
6573 -
6574 -EOF
6575 -  exit 0
6576 -fi
6577 -
6578 -# The HP-UX ksh and POSIX shell print the target directory to stdout
6579 -# if CDPATH is set.
6580 -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
6581 -
6582 -if test -z "$ECHO"; then
6583 -if test "X${echo_test_string+set}" != Xset; then
6584 -# find a string as large as possible, as long as the shell can cope with it
6585 -  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
6586 -    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
6587 -    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
6588 -       echo_test_string="`eval $cmd`" &&
6589 -       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
6590 -    then
6591 -      break
6592 -    fi
6593 -  done
6594 -fi
6595 -
6596 -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
6597 -   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
6598 -   test "X$echo_testing_string" = "X$echo_test_string"; then
6599 -  :
6600 -else
6601 -  # The Solaris, AIX, and Digital Unix default echo programs unquote
6602 -  # backslashes.  This makes it impossible to quote backslashes using
6603 -  #   echo "$something" | sed 's/\\/\\\\/g'
6604 -  #
6605 -  # So, first we look for a working echo in the user's PATH.
6606 -
6607 -  IFS="${IFS=  }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
6608 -  for dir in $PATH /usr/ucb; do
6609 -    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
6610 -       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
6611 -       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
6612 -       test "X$echo_testing_string" = "X$echo_test_string"; then
6613 -      echo="$dir/echo"
6614 -      break
6615 -    fi
6616 -  done
6617 -  IFS="$save_ifs"
6618 -
6619 -  if test "X$echo" = Xecho; then
6620 -    # We didn't find a better echo, so look for alternatives.
6621 -    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
6622 -       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
6623 -       test "X$echo_testing_string" = "X$echo_test_string"; then
6624 -      # This shell has a builtin print -r that does the trick.
6625 -      echo='print -r'
6626 -    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
6627 -        test "X$CONFIG_SHELL" != X/bin/ksh; then
6628 -      # If we have ksh, try running configure again with it.
6629 -      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
6630 -      export ORIGINAL_CONFIG_SHELL
6631 -      CONFIG_SHELL=/bin/ksh
6632 -      export CONFIG_SHELL
6633 -      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
6634 -    else
6635 -      # Try using printf.
6636 -      echo='printf %s\n'
6637 -      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
6638 -        echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
6639 -        test "X$echo_testing_string" = "X$echo_test_string"; then
6640 -       # Cool, printf works
6641 -       :
6642 -      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
6643 -          test "X$echo_testing_string" = 'X\t' &&
6644 -          echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
6645 -          test "X$echo_testing_string" = "X$echo_test_string"; then
6646 -       CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
6647 -       export CONFIG_SHELL
6648 -       SHELL="$CONFIG_SHELL"
6649 -       export SHELL
6650 -       echo="$CONFIG_SHELL $0 --fallback-echo"
6651 -      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
6652 -          test "X$echo_testing_string" = 'X\t' &&
6653 -          echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
6654 -          test "X$echo_testing_string" = "X$echo_test_string"; then
6655 -       echo="$CONFIG_SHELL $0 --fallback-echo"
6656 -      else
6657 -       # maybe with a smaller string...
6658 -       prev=:
6659 -
6660 -       for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
6661 -         if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
6662 -         then
6663 -           break
6664 -         fi
6665 -         prev="$cmd"
6666 -       done
6667 -
6668 -       if test "$prev" != 'sed 50q "$0"'; then
6669 -         echo_test_string=`eval $prev`
6670 -         export echo_test_string
6671 -         exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
6672 -       else
6673 -         # Oops.  We lost completely, so just stick with echo.
6674 -         echo=echo
6675 -       fi
6676 -      fi
6677 -    fi
6678 -  fi
6679 -fi
6680 -fi
6681 -
6682 -# Copy echo and quote the copy suitably for passing to libtool from
6683 -# the Makefile, instead of quoting the original, which is used later.
6684 -ECHO=$echo
6685 -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
6686 -   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
6687 -fi
6688 -
6689 -
6690 -
6691 -# Name of the host.
6692 -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
6693 -# so uname gets run too.
6694 -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
6695 -
6696 -exec 6>&1
6697 -
6698 -#
6699 -# Initializations.
6700 -#
6701 -ac_default_prefix=/usr/local
6702 -ac_config_libobj_dir=.
6703 -cross_compiling=no
6704 -subdirs=
6705 -MFLAGS=
6706 -MAKEFLAGS=
6707 -SHELL=${CONFIG_SHELL-/bin/sh}
6708 -
6709 -# Maximum number of lines to put in a shell here document.
6710 -# This variable seems obsolete.  It should probably be removed, and
6711 -# only ac_max_sed_lines should be used.
6712 -: ${ac_max_here_lines=38}
6713 -
6714 -# Identity of this package.
6715 -PACKAGE_NAME=
6716 -PACKAGE_TARNAME=
6717 -PACKAGE_VERSION=
6718 -PACKAGE_STRING=
6719 -PACKAGE_BUGREPORT=
6720 -
6721 -ac_unique_file="gcj_mlc.c"
6722 -# Factoring default headers for most tests.
6723 -ac_includes_default="\
6724 -#include <stdio.h>
6725 -#if HAVE_SYS_TYPES_H
6726 -# include <sys/types.h>
6727 -#endif
6728 -#if HAVE_SYS_STAT_H
6729 -# include <sys/stat.h>
6730 -#endif
6731 -#if STDC_HEADERS
6732 -# include <stdlib.h>
6733 -# include <stddef.h>
6734 -#else
6735 -# if HAVE_STDLIB_H
6736 -#  include <stdlib.h>
6737 -# endif
6738 -#endif
6739 -#if HAVE_STRING_H
6740 -# if !STDC_HEADERS && HAVE_MEMORY_H
6741 -#  include <memory.h>
6742 -# endif
6743 -# include <string.h>
6744 -#endif
6745 -#if HAVE_STRINGS_H
6746 -# include <strings.h>
6747 -#endif
6748 -#if HAVE_INTTYPES_H
6749 -# include <inttypes.h>
6750 -#else
6751 -# if HAVE_STDINT_H
6752 -#  include <stdint.h>
6753 -# endif
6754 -#endif
6755 -#if HAVE_UNISTD_H
6756 -# include <unistd.h>
6757 -#endif"
6758 -
6759 -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS gc_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os mkinstalldirs INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GC_CFLAGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE LN_S ECHO CPP EGREP LIBTOOL THREADLIBS POWERPC_DARWIN_TRUE POWERPC_DARWIN_FALSE EXTRA_TEST_LIBS target_all CXX INCLUDES CXXINCLUDES addobjs MY_CFLAGS USE_LIBDIR_TRUE USE_LIBDIR_FALSE LIB@&t@OBJS LTLIBOBJS'
6760 -ac_subst_files=''
6761 -
6762 -# Initialize some variables set by options.
6763 -ac_init_help=
6764 -ac_init_version=false
6765 -# The variables have the same names as the options, with
6766 -# dashes changed to underlines.
6767 -cache_file=/dev/null
6768 -exec_prefix=NONE
6769 -no_create=
6770 -no_recursion=
6771 -prefix=NONE
6772 -program_prefix=NONE
6773 -program_suffix=NONE
6774 -program_transform_name=s,x,x,
6775 -silent=
6776 -site=
6777 -srcdir=
6778 -verbose=
6779 -x_includes=NONE
6780 -x_libraries=NONE
6781 -
6782 -# Installation directory options.
6783 -# These are left unexpanded so users can "make install exec_prefix=/foo"
6784 -# and all the variables that are supposed to be based on exec_prefix
6785 -# by default will actually change.
6786 -# Use braces instead of parens because sh, perl, etc. also accept them.
6787 -bindir='${exec_prefix}/bin'
6788 -sbindir='${exec_prefix}/sbin'
6789 -libexecdir='${exec_prefix}/libexec'
6790 -datadir='${prefix}/share'
6791 -sysconfdir='${prefix}/etc'
6792 -sharedstatedir='${prefix}/com'
6793 -localstatedir='${prefix}/var'
6794 -libdir='${exec_prefix}/lib'
6795 -includedir='${prefix}/include'
6796 -oldincludedir='/usr/include'
6797 -infodir='${prefix}/info'
6798 -mandir='${prefix}/man'
6799 -
6800 -ac_prev=
6801 -for ac_option
6802 -do
6803 -  # If the previous option needs an argument, assign it.
6804 -  if test -n "$ac_prev"; then
6805 -    eval "$ac_prev=\$ac_option"
6806 -    ac_prev=
6807 -    continue
6808 -  fi
6809 -
6810 -  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
6811 -
6812 -  # Accept the important Cygnus configure options, so we can diagnose typos.
6813 -
6814 -  case $ac_option in
6815 -
6816 -  -bindir | --bindir | --bindi | --bind | --bin | --bi)
6817 -    ac_prev=bindir ;;
6818 -  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
6819 -    bindir=$ac_optarg ;;
6820 -
6821 -  -build | --build | --buil | --bui | --bu)
6822 -    ac_prev=build_alias ;;
6823 -  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
6824 -    build_alias=$ac_optarg ;;
6825 -
6826 -  -cache-file | --cache-file | --cache-fil | --cache-fi \
6827 -  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
6828 -    ac_prev=cache_file ;;
6829 -  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
6830 -  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
6831 -    cache_file=$ac_optarg ;;
6832 -
6833 -  --config-cache | -C)
6834 -    cache_file=config.cache ;;
6835 -
6836 -  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
6837 -    ac_prev=datadir ;;
6838 -  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
6839 -  | --da=*)
6840 -    datadir=$ac_optarg ;;
6841 -
6842 -  -disable-* | --disable-*)
6843 -    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
6844 -    # Reject names that are not valid shell variable names.
6845 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
6846 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
6847 -   { (exit 1); exit 1; }; }
6848 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
6849 -    eval "enable_$ac_feature=no" ;;
6850 -
6851 -  -enable-* | --enable-*)
6852 -    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
6853 -    # Reject names that are not valid shell variable names.
6854 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
6855 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
6856 -   { (exit 1); exit 1; }; }
6857 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
6858 -    case $ac_option in
6859 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
6860 -      *) ac_optarg=yes ;;
6861 -    esac
6862 -    eval "enable_$ac_feature='$ac_optarg'" ;;
6863 -
6864 -  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
6865 -  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
6866 -  | --exec | --exe | --ex)
6867 -    ac_prev=exec_prefix ;;
6868 -  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
6869 -  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
6870 -  | --exec=* | --exe=* | --ex=*)
6871 -    exec_prefix=$ac_optarg ;;
6872 -
6873 -  -gas | --gas | --ga | --g)
6874 -    # Obsolete; use --with-gas.
6875 -    with_gas=yes ;;
6876 -
6877 -  -help | --help | --hel | --he | -h)
6878 -    ac_init_help=long ;;
6879 -  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
6880 -    ac_init_help=recursive ;;
6881 -  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
6882 -    ac_init_help=short ;;
6883 -
6884 -  -host | --host | --hos | --ho)
6885 -    ac_prev=host_alias ;;
6886 -  -host=* | --host=* | --hos=* | --ho=*)
6887 -    host_alias=$ac_optarg ;;
6888 -
6889 -  -includedir | --includedir | --includedi | --included | --include \
6890 -  | --includ | --inclu | --incl | --inc)
6891 -    ac_prev=includedir ;;
6892 -  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
6893 -  | --includ=* | --inclu=* | --incl=* | --inc=*)
6894 -    includedir=$ac_optarg ;;
6895 -
6896 -  -infodir | --infodir | --infodi | --infod | --info | --inf)
6897 -    ac_prev=infodir ;;
6898 -  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
6899 -    infodir=$ac_optarg ;;
6900 -
6901 -  -libdir | --libdir | --libdi | --libd)
6902 -    ac_prev=libdir ;;
6903 -  -libdir=* | --libdir=* | --libdi=* | --libd=*)
6904 -    libdir=$ac_optarg ;;
6905 -
6906 -  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
6907 -  | --libexe | --libex | --libe)
6908 -    ac_prev=libexecdir ;;
6909 -  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
6910 -  | --libexe=* | --libex=* | --libe=*)
6911 -    libexecdir=$ac_optarg ;;
6912 -
6913 -  -localstatedir | --localstatedir | --localstatedi | --localstated \
6914 -  | --localstate | --localstat | --localsta | --localst \
6915 -  | --locals | --local | --loca | --loc | --lo)
6916 -    ac_prev=localstatedir ;;
6917 -  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
6918 -  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
6919 -  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
6920 -    localstatedir=$ac_optarg ;;
6921 -
6922 -  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
6923 -    ac_prev=mandir ;;
6924 -  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
6925 -    mandir=$ac_optarg ;;
6926 -
6927 -  -nfp | --nfp | --nf)
6928 -    # Obsolete; use --without-fp.
6929 -    with_fp=no ;;
6930 -
6931 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
6932 -  | --no-cr | --no-c | -n)
6933 -    no_create=yes ;;
6934 -
6935 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
6936 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
6937 -    no_recursion=yes ;;
6938 -
6939 -  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
6940 -  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
6941 -  | --oldin | --oldi | --old | --ol | --o)
6942 -    ac_prev=oldincludedir ;;
6943 -  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
6944 -  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
6945 -  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
6946 -    oldincludedir=$ac_optarg ;;
6947 -
6948 -  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
6949 -    ac_prev=prefix ;;
6950 -  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
6951 -    prefix=$ac_optarg ;;
6952 -
6953 -  -program-prefix | --program-prefix | --program-prefi | --program-pref \
6954 -  | --program-pre | --program-pr | --program-p)
6955 -    ac_prev=program_prefix ;;
6956 -  -program-prefix=* | --program-prefix=* | --program-prefi=* \
6957 -  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
6958 -    program_prefix=$ac_optarg ;;
6959 -
6960 -  -program-suffix | --program-suffix | --program-suffi | --program-suff \
6961 -  | --program-suf | --program-su | --program-s)
6962 -    ac_prev=program_suffix ;;
6963 -  -program-suffix=* | --program-suffix=* | --program-suffi=* \
6964 -  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
6965 -    program_suffix=$ac_optarg ;;
6966 -
6967 -  -program-transform-name | --program-transform-name \
6968 -  | --program-transform-nam | --program-transform-na \
6969 -  | --program-transform-n | --program-transform- \
6970 -  | --program-transform | --program-transfor \
6971 -  | --program-transfo | --program-transf \
6972 -  | --program-trans | --program-tran \
6973 -  | --progr-tra | --program-tr | --program-t)
6974 -    ac_prev=program_transform_name ;;
6975 -  -program-transform-name=* | --program-transform-name=* \
6976 -  | --program-transform-nam=* | --program-transform-na=* \
6977 -  | --program-transform-n=* | --program-transform-=* \
6978 -  | --program-transform=* | --program-transfor=* \
6979 -  | --program-transfo=* | --program-transf=* \
6980 -  | --program-trans=* | --program-tran=* \
6981 -  | --progr-tra=* | --program-tr=* | --program-t=*)
6982 -    program_transform_name=$ac_optarg ;;
6983 -
6984 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
6985 -  | -silent | --silent | --silen | --sile | --sil)
6986 -    silent=yes ;;
6987 -
6988 -  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
6989 -    ac_prev=sbindir ;;
6990 -  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
6991 -  | --sbi=* | --sb=*)
6992 -    sbindir=$ac_optarg ;;
6993 -
6994 -  -sharedstatedir | --sharedstatedir | --sharedstatedi \
6995 -  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
6996 -  | --sharedst | --shareds | --shared | --share | --shar \
6997 -  | --sha | --sh)
6998 -    ac_prev=sharedstatedir ;;
6999 -  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
7000 -  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
7001 -  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
7002 -  | --sha=* | --sh=*)
7003 -    sharedstatedir=$ac_optarg ;;
7004 -
7005 -  -site | --site | --sit)
7006 -    ac_prev=site ;;
7007 -  -site=* | --site=* | --sit=*)
7008 -    site=$ac_optarg ;;
7009 -
7010 -  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
7011 -    ac_prev=srcdir ;;
7012 -  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
7013 -    srcdir=$ac_optarg ;;
7014 -
7015 -  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
7016 -  | --syscon | --sysco | --sysc | --sys | --sy)
7017 -    ac_prev=sysconfdir ;;
7018 -  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
7019 -  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
7020 -    sysconfdir=$ac_optarg ;;
7021 -
7022 -  -target | --target | --targe | --targ | --tar | --ta | --t)
7023 -    ac_prev=target_alias ;;
7024 -  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
7025 -    target_alias=$ac_optarg ;;
7026 -
7027 -  -v | -verbose | --verbose | --verbos | --verbo | --verb)
7028 -    verbose=yes ;;
7029 -
7030 -  -version | --version | --versio | --versi | --vers | -V)
7031 -    ac_init_version=: ;;
7032 -
7033 -  -with-* | --with-*)
7034 -    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
7035 -    # Reject names that are not valid shell variable names.
7036 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7037 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
7038 -   { (exit 1); exit 1; }; }
7039 -    ac_package=`echo $ac_package| sed 's/-/_/g'`
7040 -    case $ac_option in
7041 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
7042 -      *) ac_optarg=yes ;;
7043 -    esac
7044 -    eval "with_$ac_package='$ac_optarg'" ;;
7045 -
7046 -  -without-* | --without-*)
7047 -    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
7048 -    # Reject names that are not valid shell variable names.
7049 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7050 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
7051 -   { (exit 1); exit 1; }; }
7052 -    ac_package=`echo $ac_package | sed 's/-/_/g'`
7053 -    eval "with_$ac_package=no" ;;
7054 -
7055 -  --x)
7056 -    # Obsolete; use --with-x.
7057 -    with_x=yes ;;
7058 -
7059 -  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
7060 -  | --x-incl | --x-inc | --x-in | --x-i)
7061 -    ac_prev=x_includes ;;
7062 -  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
7063 -  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
7064 -    x_includes=$ac_optarg ;;
7065 -
7066 -  -x-libraries | --x-libraries | --x-librarie | --x-librari \
7067 -  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
7068 -    ac_prev=x_libraries ;;
7069 -  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
7070 -  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
7071 -    x_libraries=$ac_optarg ;;
7072 -
7073 -  -*) { echo "$as_me: error: unrecognized option: $ac_option
7074 -Try \`$0 --help' for more information." >&2
7075 -   { (exit 1); exit 1; }; }
7076 -    ;;
7077 -
7078 -  *=*)
7079 -    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
7080 -    # Reject names that are not valid shell variable names.
7081 -    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
7082 -      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
7083 -   { (exit 1); exit 1; }; }
7084 -    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
7085 -    eval "$ac_envvar='$ac_optarg'"
7086 -    export $ac_envvar ;;
7087 -
7088 -  *)
7089 -    # FIXME: should be removed in autoconf 3.0.
7090 -    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
7091 -    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
7092 -      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
7093 -    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
7094 -    ;;
7095 -
7096 -  esac
7097 -done
7098 -
7099 -if test -n "$ac_prev"; then
7100 -  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
7101 -  { echo "$as_me: error: missing argument to $ac_option" >&2
7102 -   { (exit 1); exit 1; }; }
7103 -fi
7104 -
7105 -# Be sure to have absolute paths.
7106 -for ac_var in exec_prefix prefix
7107 -do
7108 -  eval ac_val=$`echo $ac_var`
7109 -  case $ac_val in
7110 -    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
7111 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
7112 -   { (exit 1); exit 1; }; };;
7113 -  esac
7114 -done
7115 -
7116 -# Be sure to have absolute paths.
7117 -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
7118 -              localstatedir libdir includedir oldincludedir infodir mandir
7119 -do
7120 -  eval ac_val=$`echo $ac_var`
7121 -  case $ac_val in
7122 -    [\\/$]* | ?:[\\/]* ) ;;
7123 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
7124 -   { (exit 1); exit 1; }; };;
7125 -  esac
7126 -done
7127 -
7128 -# There might be people who depend on the old broken behavior: `$host'
7129 -# used to hold the argument of --host etc.
7130 -# FIXME: To remove some day.
7131 -build=$build_alias
7132 -host=$host_alias
7133 -target=$target_alias
7134 -
7135 -# FIXME: To remove some day.
7136 -if test "x$host_alias" != x; then
7137 -  if test "x$build_alias" = x; then
7138 -    cross_compiling=maybe
7139 -    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
7140 -    If a cross compiler is detected then cross compile mode will be used." >&2
7141 -  elif test "x$build_alias" != "x$host_alias"; then
7142 -    cross_compiling=yes
7143 -  fi
7144 -fi
7145 -
7146 -ac_tool_prefix=
7147 -test -n "$host_alias" && ac_tool_prefix=$host_alias-
7148 -
7149 -test "$silent" = yes && exec 6>/dev/null
7150 -
7151 -
7152 -# Find the source files, if location was not specified.
7153 -if test -z "$srcdir"; then
7154 -  ac_srcdir_defaulted=yes
7155 -  # Try the directory containing this script, then its parent.
7156 -  ac_confdir=`(dirname "$0") 2>/dev/null ||
7157 -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
7158 -         X"$0" : 'X\(//\)[^/]' \| \
7159 -         X"$0" : 'X\(//\)$' \| \
7160 -         X"$0" : 'X\(/\)' \| \
7161 -         .     : '\(.\)' 2>/dev/null ||
7162 -echo X"$0" |
7163 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
7164 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
7165 -         /^X\(\/\/\)$/{ s//\1/; q; }
7166 -         /^X\(\/\).*/{ s//\1/; q; }
7167 -         s/.*/./; q'`
7168 -  srcdir=$ac_confdir
7169 -  if test ! -r $srcdir/$ac_unique_file; then
7170 -    srcdir=..
7171 -  fi
7172 -else
7173 -  ac_srcdir_defaulted=no
7174 -fi
7175 -if test ! -r $srcdir/$ac_unique_file; then
7176 -  if test "$ac_srcdir_defaulted" = yes; then
7177 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
7178 -   { (exit 1); exit 1; }; }
7179 -  else
7180 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
7181 -   { (exit 1); exit 1; }; }
7182 -  fi
7183 -fi
7184 -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
7185 -  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
7186 -   { (exit 1); exit 1; }; }
7187 -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
7188 -ac_env_build_alias_set=${build_alias+set}
7189 -ac_env_build_alias_value=$build_alias
7190 -ac_cv_env_build_alias_set=${build_alias+set}
7191 -ac_cv_env_build_alias_value=$build_alias
7192 -ac_env_host_alias_set=${host_alias+set}
7193 -ac_env_host_alias_value=$host_alias
7194 -ac_cv_env_host_alias_set=${host_alias+set}
7195 -ac_cv_env_host_alias_value=$host_alias
7196 -ac_env_target_alias_set=${target_alias+set}
7197 -ac_env_target_alias_value=$target_alias
7198 -ac_cv_env_target_alias_set=${target_alias+set}
7199 -ac_cv_env_target_alias_value=$target_alias
7200 -ac_env_CC_set=${CC+set}
7201 -ac_env_CC_value=$CC
7202 -ac_cv_env_CC_set=${CC+set}
7203 -ac_cv_env_CC_value=$CC
7204 -ac_env_CFLAGS_set=${CFLAGS+set}
7205 -ac_env_CFLAGS_value=$CFLAGS
7206 -ac_cv_env_CFLAGS_set=${CFLAGS+set}
7207 -ac_cv_env_CFLAGS_value=$CFLAGS
7208 -ac_env_LDFLAGS_set=${LDFLAGS+set}
7209 -ac_env_LDFLAGS_value=$LDFLAGS
7210 -ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
7211 -ac_cv_env_LDFLAGS_value=$LDFLAGS
7212 -ac_env_CPPFLAGS_set=${CPPFLAGS+set}
7213 -ac_env_CPPFLAGS_value=$CPPFLAGS
7214 -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
7215 -ac_cv_env_CPPFLAGS_value=$CPPFLAGS
7216 -ac_env_CPP_set=${CPP+set}
7217 -ac_env_CPP_value=$CPP
7218 -ac_cv_env_CPP_set=${CPP+set}
7219 -ac_cv_env_CPP_value=$CPP
7220 -
7221 -#
7222 -# Report the --help message.
7223 -#
7224 -if test "$ac_init_help" = "long"; then
7225 -  # Omit some internal or obsolete options to make the list less imposing.
7226 -  # This message is too long to be a string in the A/UX 3.1 sh.
7227 -  cat <<_ACEOF
7228 -\`configure' configures this package to adapt to many kinds of systems.
7229 -
7230 -Usage: $0 [OPTION]... [VAR=VALUE]...
7231 -
7232 -To assign environment variables (e.g., CC, CFLAGS...), specify them as
7233 -VAR=VALUE.  See below for descriptions of some of the useful variables.
7234 -
7235 -Defaults for the options are specified in brackets.
7236 -
7237 -Configuration:
7238 -  -h, --help              display this help and exit
7239 -      --help=short        display options specific to this package
7240 -      --help=recursive    display the short help of all the included packages
7241 -  -V, --version           display version information and exit
7242 -  -q, --quiet, --silent   do not print \`checking...' messages
7243 -      --cache-file=FILE   cache test results in FILE [disabled]
7244 -  -C, --config-cache      alias for \`--cache-file=config.cache'
7245 -  -n, --no-create         do not create output files
7246 -      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
7247 -
7248 -_ACEOF
7249 -
7250 -  cat <<_ACEOF
7251 -Installation directories:
7252 -  --prefix=PREFIX         install architecture-independent files in PREFIX
7253 -                          [$ac_default_prefix]
7254 -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
7255 -                          [PREFIX]
7256 -
7257 -By default, \`make install' will install all the files in
7258 -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
7259 -an installation prefix other than \`$ac_default_prefix' using \`--prefix',
7260 -for instance \`--prefix=\$HOME'.
7261 -
7262 -For better control, use the options below.
7263 -
7264 -Fine tuning of the installation directories:
7265 -  --bindir=DIR           user executables [EPREFIX/bin]
7266 -  --sbindir=DIR          system admin executables [EPREFIX/sbin]
7267 -  --libexecdir=DIR       program executables [EPREFIX/libexec]
7268 -  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
7269 -  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
7270 -  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
7271 -  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
7272 -  --libdir=DIR           object code libraries [EPREFIX/lib]
7273 -  --includedir=DIR       C header files [PREFIX/include]
7274 -  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
7275 -  --infodir=DIR          info documentation [PREFIX/info]
7276 -  --mandir=DIR           man documentation [PREFIX/man]
7277 -_ACEOF
7278 -
7279 -  cat <<\_ACEOF
7280 -
7281 -Program names:
7282 -  --program-prefix=PREFIX            prepend PREFIX to installed program names
7283 -  --program-suffix=SUFFIX            append SUFFIX to installed program names
7284 -  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
7285 -
7286 -System types:
7287 -  --build=BUILD     configure for building on BUILD [guessed]
7288 -  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
7289 -  --target=TARGET   configure for building compilers for TARGET [HOST]
7290 -_ACEOF
7291 -fi
7292 -
7293 -if test -n "$ac_init_help"; then
7294 -
7295 -  cat <<\_ACEOF
7296 -
7297 -Optional Features:
7298 -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
7299 -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
7300 -  --enable-multilib       build many library versions (default)
7301 -  --enable-maintainer-mode enable make rules and dependencies not useful
7302 -                          (and sometimes confusing) to the casual installer
7303 -  --enable-shared=PKGS  build shared libraries default=yes
7304 -  --enable-static=PKGS  build static libraries default=yes
7305 -  --enable-fast-install=PKGS  optimize for fast installation default=yes
7306 -  --disable-dependency-tracking Speeds up one-time builds
7307 -  --enable-dependency-tracking  Do not reject slow dependency extractors
7308 -  --disable-libtool-lock  avoid locking (might break parallel builds)
7309 -  --enable-parallel-mark       parallelize marking and free list construction
7310 -  --enable-shared=PKGS  build shared libraries default=no
7311 -  --enable-full-debug  include full support for pointer backtracing etc.
7312 -
7313 -Optional Packages:
7314 -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
7315 -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
7316 -  --with-gnu-ld           assume the C compiler uses GNU ld default=no
7317 -  --with-pic              try to use only PIC/non-PIC objects default=use both
7318 -  --with-target-subdir=SUBDIR
7319 -                          configuring with a cross compiler
7320 -  --with-cross-host=HOST  configuring with a cross compiler
7321 -  --with-ecos             enable runtime eCos target support
7322 -
7323 -Some influential environment variables:
7324 -  CC          C compiler command
7325 -  CFLAGS      C compiler flags
7326 -  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
7327 -              nonstandard directory <lib dir>
7328 -  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
7329 -              headers in a nonstandard directory <include dir>
7330 -  CPP         C preprocessor
7331 -
7332 -Use these variables to override the choices made by `configure' or to help
7333 -it to find libraries and programs with nonstandard names/locations.
7334 -
7335 -_ACEOF
7336 -fi
7337 -
7338 -if test "$ac_init_help" = "recursive"; then
7339 -  # If there are subdirs, report their specific --help.
7340 -  ac_popdir=`pwd`
7341 -  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
7342 -    test -d $ac_dir || continue
7343 -    ac_builddir=.
7344 -
7345 -if test "$ac_dir" != .; then
7346 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
7347 -  # A "../" for each directory in $ac_dir_suffix.
7348 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
7349 -else
7350 -  ac_dir_suffix= ac_top_builddir=
7351 -fi
7352 -
7353 -case $srcdir in
7354 -  .)  # No --srcdir option.  We are building in place.
7355 -    ac_srcdir=.
7356 -    if test -z "$ac_top_builddir"; then
7357 -       ac_top_srcdir=.
7358 -    else
7359 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
7360 -    fi ;;
7361 -  [\\/]* | ?:[\\/]* )  # Absolute path.
7362 -    ac_srcdir=$srcdir$ac_dir_suffix;
7363 -    ac_top_srcdir=$srcdir ;;
7364 -  *) # Relative path.
7365 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
7366 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
7367 -esac
7368 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
7369 -# absolute.
7370 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
7371 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
7372 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
7373 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
7374 -
7375 -    cd $ac_dir
7376 -    # Check for guested configure; otherwise get Cygnus style configure.
7377 -    if test -f $ac_srcdir/configure.gnu; then
7378 -      echo
7379 -      $SHELL $ac_srcdir/configure.gnu  --help=recursive
7380 -    elif test -f $ac_srcdir/configure; then
7381 -      echo
7382 -      $SHELL $ac_srcdir/configure  --help=recursive
7383 -    elif test -f $ac_srcdir/configure.ac ||
7384 -           test -f $ac_srcdir/configure.in; then
7385 -      echo
7386 -      $ac_configure --help
7387 -    else
7388 -      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
7389 -    fi
7390 -    cd $ac_popdir
7391 -  done
7392 -fi
7393 -
7394 -test -n "$ac_init_help" && exit 0
7395 -if $ac_init_version; then
7396 -  cat <<\_ACEOF
7397 -
7398 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
7399 -Free Software Foundation, Inc.
7400 -This configure script is free software; the Free Software Foundation
7401 -gives unlimited permission to copy, distribute and modify it.
7402 -_ACEOF
7403 -  exit 0
7404 -fi
7405 -exec 5>config.log
7406 -cat >&5 <<_ACEOF
7407 -This file contains any messages produced by compilers while
7408 -running configure, to aid debugging if configure makes a mistake.
7409 -
7410 -It was created by $as_me, which was
7411 -generated by GNU Autoconf 2.54.  Invocation command line was
7412 -
7413 -  $ $0 $@
7414 -
7415 -_ACEOF
7416 -{
7417 -cat <<_ASUNAME
7418 -@%:@@%:@ --------- @%:@@%:@
7419 -@%:@@%:@ Platform. @%:@@%:@
7420 -@%:@@%:@ --------- @%:@@%:@
7421 -
7422 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
7423 -uname -m = `(uname -m) 2>/dev/null || echo unknown`
7424 -uname -r = `(uname -r) 2>/dev/null || echo unknown`
7425 -uname -s = `(uname -s) 2>/dev/null || echo unknown`
7426 -uname -v = `(uname -v) 2>/dev/null || echo unknown`
7427 -
7428 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
7429 -/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
7430 -
7431 -/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
7432 -/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
7433 -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
7434 -hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
7435 -/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
7436 -/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
7437 -/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
7438 -
7439 -_ASUNAME
7440 -
7441 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7442 -for as_dir in $PATH
7443 -do
7444 -  IFS=$as_save_IFS
7445 -  test -z "$as_dir" && as_dir=.
7446 -  echo "PATH: $as_dir"
7447 -done
7448 -
7449 -} >&5
7450 -
7451 -cat >&5 <<_ACEOF
7452 -
7453 -
7454 -@%:@@%:@ ----------- @%:@@%:@
7455 -@%:@@%:@ Core tests. @%:@@%:@
7456 -@%:@@%:@ ----------- @%:@@%:@
7457 -
7458 -_ACEOF
7459 -
7460 -
7461 -# Keep a trace of the command line.
7462 -# Strip out --no-create and --no-recursion so they do not pile up.
7463 -# Also quote any args containing shell meta-characters.
7464 -ac_configure_args=
7465 -ac_sep=
7466 -for ac_arg
7467 -do
7468 -  case $ac_arg in
7469 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
7470 -  | --no-cr | --no-c | -n ) continue ;;
7471 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
7472 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
7473 -    continue ;;
7474 -  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
7475 -    ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
7476 -  esac
7477 -  ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
7478 -  # Get rid of the leading space.
7479 -  ac_sep=" "
7480 -done
7481 -
7482 -# When interrupted or exit'd, cleanup temporary files, and complete
7483 -# config.log.  We remove comments because anyway the quotes in there
7484 -# would cause problems or look ugly.
7485 -# WARNING: Be sure not to use single quotes in there, as some shells,
7486 -# such as our DU 5.0 friend, will then `close' the trap.
7487 -trap 'exit_status=$?
7488 -  # Save into config.log some information that might help in debugging.
7489 -  {
7490 -    echo
7491 -
7492 -    cat <<\_ASBOX
7493 -@%:@@%:@ ---------------- @%:@@%:@
7494 -@%:@@%:@ Cache variables. @%:@@%:@
7495 -@%:@@%:@ ---------------- @%:@@%:@
7496 -_ASBOX
7497 -    echo
7498 -    # The following way of writing the cache mishandles newlines in values,
7499 -{
7500 -  (set) 2>&1 |
7501 -    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
7502 -    *ac_space=\ *)
7503 -      sed -n \
7504 -        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
7505 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
7506 -      ;;
7507 -    *)
7508 -      sed -n \
7509 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
7510 -      ;;
7511 -    esac;
7512 -}
7513 -    echo
7514 -
7515 -    cat <<\_ASBOX
7516 -@%:@@%:@ ----------------- @%:@@%:@
7517 -@%:@@%:@ Output variables. @%:@@%:@
7518 -@%:@@%:@ ----------------- @%:@@%:@
7519 -_ASBOX
7520 -    echo
7521 -    for ac_var in $ac_subst_vars
7522 -    do
7523 -      eval ac_val=$`echo $ac_var`
7524 -      echo "$ac_var='"'"'$ac_val'"'"'"
7525 -    done | sort
7526 -    echo
7527 -
7528 -    if test -n "$ac_subst_files"; then
7529 -      cat <<\_ASBOX
7530 -@%:@@%:@ ------------- @%:@@%:@
7531 -@%:@@%:@ Output files. @%:@@%:@
7532 -@%:@@%:@ ------------- @%:@@%:@
7533 -_ASBOX
7534 -      echo
7535 -      for ac_var in $ac_subst_files
7536 -      do
7537 -       eval ac_val=$`echo $ac_var`
7538 -        echo "$ac_var='"'"'$ac_val'"'"'"
7539 -      done | sort
7540 -      echo
7541 -    fi
7542 -
7543 -    if test -s confdefs.h; then
7544 -      cat <<\_ASBOX
7545 -@%:@@%:@ ----------- @%:@@%:@
7546 -@%:@@%:@ confdefs.h. @%:@@%:@
7547 -@%:@@%:@ ----------- @%:@@%:@
7548 -_ASBOX
7549 -      echo
7550 -      sed "/^$/d" confdefs.h | sort
7551 -      echo
7552 -    fi
7553 -    test "$ac_signal" != 0 &&
7554 -      echo "$as_me: caught signal $ac_signal"
7555 -    echo "$as_me: exit $exit_status"
7556 -  } >&5
7557 -  rm -f core core.* *.core &&
7558 -  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
7559 -    exit $exit_status
7560 -     ' 0
7561 -for ac_signal in 1 2 13 15; do
7562 -  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
7563 -done
7564 -ac_signal=0
7565 -
7566 -# confdefs.h avoids OS command line length limits that DEFS can exceed.
7567 -rm -rf conftest* confdefs.h
7568 -# AIX cpp loses on an empty file, so make sure it contains at least a newline.
7569 -echo >confdefs.h
7570 -
7571 -# Predefined preprocessor variables.
7572 -
7573 -cat >>confdefs.h <<_ACEOF
7574 -@%:@define PACKAGE_NAME "$PACKAGE_NAME"
7575 -_ACEOF
7576 -
7577 -
7578 -cat >>confdefs.h <<_ACEOF
7579 -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
7580 -_ACEOF
7581 -
7582 -
7583 -cat >>confdefs.h <<_ACEOF
7584 -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
7585 -_ACEOF
7586 -
7587 -
7588 -cat >>confdefs.h <<_ACEOF
7589 -@%:@define PACKAGE_STRING "$PACKAGE_STRING"
7590 -_ACEOF
7591 -
7592 -
7593 -cat >>confdefs.h <<_ACEOF
7594 -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
7595 -_ACEOF
7596 -
7597 -
7598 -# Let the site file select an alternate cache file if it wants to.
7599 -# Prefer explicitly selected file to automatically selected ones.
7600 -if test -z "$CONFIG_SITE"; then
7601 -  if test "x$prefix" != xNONE; then
7602 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
7603 -  else
7604 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
7605 -  fi
7606 -fi
7607 -for ac_site_file in $CONFIG_SITE; do
7608 -  if test -r "$ac_site_file"; then
7609 -    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
7610 -echo "$as_me: loading site script $ac_site_file" >&6;}
7611 -    sed 's/^/| /' "$ac_site_file" >&5
7612 -    . "$ac_site_file"
7613 -  fi
7614 -done
7615 -
7616 -if test -r "$cache_file"; then
7617 -  # Some versions of bash will fail to source /dev/null (special
7618 -  # files actually), so we avoid doing that.
7619 -  if test -f "$cache_file"; then
7620 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
7621 -echo "$as_me: loading cache $cache_file" >&6;}
7622 -    case $cache_file in
7623 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
7624 -      *)                      . ./$cache_file;;
7625 -    esac
7626 -  fi
7627 -else
7628 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
7629 -echo "$as_me: creating cache $cache_file" >&6;}
7630 -  >$cache_file
7631 -fi
7632 -
7633 -# Check that the precious variables saved in the cache have kept the same
7634 -# value.
7635 -ac_cache_corrupted=false
7636 -for ac_var in `(set) 2>&1 |
7637 -               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
7638 -  eval ac_old_set=\$ac_cv_env_${ac_var}_set
7639 -  eval ac_new_set=\$ac_env_${ac_var}_set
7640 -  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
7641 -  eval ac_new_val="\$ac_env_${ac_var}_value"
7642 -  case $ac_old_set,$ac_new_set in
7643 -    set,)
7644 -      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
7645 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
7646 -      ac_cache_corrupted=: ;;
7647 -    ,set)
7648 -      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
7649 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
7650 -      ac_cache_corrupted=: ;;
7651 -    ,);;
7652 -    *)
7653 -      if test "x$ac_old_val" != "x$ac_new_val"; then
7654 -        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
7655 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
7656 -        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
7657 -echo "$as_me:   former value:  $ac_old_val" >&2;}
7658 -        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
7659 -echo "$as_me:   current value: $ac_new_val" >&2;}
7660 -        ac_cache_corrupted=:
7661 -      fi;;
7662 -  esac
7663 -  # Pass precious variables to config.status.
7664 -  if test "$ac_new_set" = set; then
7665 -    case $ac_new_val in
7666 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
7667 -      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
7668 -    *) ac_arg=$ac_var=$ac_new_val ;;
7669 -    esac
7670 -    case " $ac_configure_args " in
7671 -      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
7672 -      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
7673 -    esac
7674 -  fi
7675 -done
7676 -if $ac_cache_corrupted; then
7677 -  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
7678 -echo "$as_me: error: changes in the environment can compromise the build" >&2;}
7679 -  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
7680 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
7681 -   { (exit 1); exit 1; }; }
7682 -fi
7683 -
7684 -ac_ext=c
7685 -ac_cpp='$CPP $CPPFLAGS'
7686 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7687 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7688 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
7689 -
7690 -
7691 -
7692 -
7693 -
7694 -
7695 -
7696 -
7697 -
7698 -
7699 -
7700 -
7701 -
7702 -
7703 -
7704 -
7705 -
7706 -
7707 -
7708 -
7709 -# This works around the fact that libtool configuration may change LD
7710 -# for this particular configuration, but some shells, instead of
7711 -# keeping the changes in LD private, export them just because LD is
7712 -# exported.
7713 -ORIGINAL_LD_FOR_MULTILIBS=$LD
7714 -
7715 -ac_aux_dir=
7716 -for ac_dir in . $srcdir/.; do
7717 -  if test -f $ac_dir/install-sh; then
7718 -    ac_aux_dir=$ac_dir
7719 -    ac_install_sh="$ac_aux_dir/install-sh -c"
7720 -    break
7721 -  elif test -f $ac_dir/install.sh; then
7722 -    ac_aux_dir=$ac_dir
7723 -    ac_install_sh="$ac_aux_dir/install.sh -c"
7724 -    break
7725 -  elif test -f $ac_dir/shtool; then
7726 -    ac_aux_dir=$ac_dir
7727 -    ac_install_sh="$ac_aux_dir/shtool install -c"
7728 -    break
7729 -  fi
7730 -done
7731 -if test -z "$ac_aux_dir"; then
7732 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . $srcdir/." >&5
7733 -echo "$as_me: error: cannot find install-sh or install.sh in . $srcdir/." >&2;}
7734 -   { (exit 1); exit 1; }; }
7735 -fi
7736 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
7737 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
7738 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
7739 -
7740 -
7741 -# Make sure we can run config.sub.
7742 -$ac_config_sub sun4 >/dev/null 2>&1 ||
7743 -  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
7744 -echo "$as_me: error: cannot run $ac_config_sub" >&2;}
7745 -   { (exit 1); exit 1; }; }
7746 -
7747 -echo "$as_me:$LINENO: checking build system type" >&5
7748 -echo $ECHO_N "checking build system type... $ECHO_C" >&6
7749 -if test "${ac_cv_build+set}" = set; then
7750 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7751 -else
7752 -  ac_cv_build_alias=$build_alias
7753 -test -z "$ac_cv_build_alias" &&
7754 -  ac_cv_build_alias=`$ac_config_guess`
7755 -test -z "$ac_cv_build_alias" &&
7756 -  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
7757 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
7758 -   { (exit 1); exit 1; }; }
7759 -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
7760 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
7761 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
7762 -   { (exit 1); exit 1; }; }
7763 -
7764 -fi
7765 -echo "$as_me:$LINENO: result: $ac_cv_build" >&5
7766 -echo "${ECHO_T}$ac_cv_build" >&6
7767 -build=$ac_cv_build
7768 -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
7769 -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
7770 -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
7771 -
7772 -
7773 -echo "$as_me:$LINENO: checking host system type" >&5
7774 -echo $ECHO_N "checking host system type... $ECHO_C" >&6
7775 -if test "${ac_cv_host+set}" = set; then
7776 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7777 -else
7778 -  ac_cv_host_alias=$host_alias
7779 -test -z "$ac_cv_host_alias" &&
7780 -  ac_cv_host_alias=$ac_cv_build_alias
7781 -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
7782 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
7783 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
7784 -   { (exit 1); exit 1; }; }
7785 -
7786 -fi
7787 -echo "$as_me:$LINENO: result: $ac_cv_host" >&5
7788 -echo "${ECHO_T}$ac_cv_host" >&6
7789 -host=$ac_cv_host
7790 -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
7791 -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
7792 -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
7793 -
7794 -
7795 -am__api_version="1.6"
7796 -# Find a good install program.  We prefer a C program (faster),
7797 -# so one script is as good as another.  But avoid the broken or
7798 -# incompatible versions:
7799 -# SysV /etc/install, /usr/sbin/install
7800 -# SunOS /usr/etc/install
7801 -# IRIX /sbin/install
7802 -# AIX /bin/install
7803 -# AmigaOS /C/install, which installs bootblocks on floppy discs
7804 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
7805 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
7806 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
7807 -# ./install, which can be erroneously created by make from ./install.sh.
7808 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
7809 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
7810 -if test -z "$INSTALL"; then
7811 -if test "${ac_cv_path_install+set}" = set; then
7812 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7813 -else
7814 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7815 -for as_dir in $PATH
7816 -do
7817 -  IFS=$as_save_IFS
7818 -  test -z "$as_dir" && as_dir=.
7819 -  # Account for people who put trailing slashes in PATH elements.
7820 -case $as_dir/ in
7821 -  ./ | .// | /cC/* | \
7822 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
7823 -  /usr/ucb/* ) ;;
7824 -  *)
7825 -    # OSF1 and SCO ODT 3.0 have their own names for install.
7826 -    # Don't use installbsd from OSF since it installs stuff as root
7827 -    # by default.
7828 -    for ac_prog in ginstall scoinst install; do
7829 -      for ac_exec_ext in '' $ac_executable_extensions; do
7830 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
7831 -          if test $ac_prog = install &&
7832 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
7833 -            # AIX install.  It has an incompatible calling convention.
7834 -            :
7835 -          elif test $ac_prog = install &&
7836 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
7837 -            # program-specific install script used by HP pwplus--don't use.
7838 -            :
7839 -          else
7840 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
7841 -            break 3
7842 -          fi
7843 -        fi
7844 -      done
7845 -    done
7846 -    ;;
7847 -esac
7848 -done
7849 -
7850 -
7851 -fi
7852 -  if test "${ac_cv_path_install+set}" = set; then
7853 -    INSTALL=$ac_cv_path_install
7854 -  else
7855 -    # As a last resort, use the slow shell script.  We don't cache a
7856 -    # path for INSTALL within a source directory, because that will
7857 -    # break other packages using the cache if that directory is
7858 -    # removed, or if the path is relative.
7859 -    INSTALL=$ac_install_sh
7860 -  fi
7861 -fi
7862 -echo "$as_me:$LINENO: result: $INSTALL" >&5
7863 -echo "${ECHO_T}$INSTALL" >&6
7864 -
7865 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
7866 -# It thinks the first close brace ends the variable substitution.
7867 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
7868 -
7869 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
7870 -
7871 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
7872 -
7873 -echo "$as_me:$LINENO: checking whether build environment is sane" >&5
7874 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
7875 -# Just in case
7876 -sleep 1
7877 -echo timestamp > conftest.file
7878 -# Do `set' in a subshell so we don't clobber the current shell's
7879 -# arguments.  Must try -L first in case configure is actually a
7880 -# symlink; some systems play weird games with the mod time of symlinks
7881 -# (eg FreeBSD returns the mod time of the symlink's containing
7882 -# directory).
7883 -if (
7884 -   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
7885 -   if test "$*" = "X"; then
7886 -      # -L didn't work.
7887 -      set X `ls -t $srcdir/configure conftest.file`
7888 -   fi
7889 -   rm -f conftest.file
7890 -   if test "$*" != "X $srcdir/configure conftest.file" \
7891 -      && test "$*" != "X conftest.file $srcdir/configure"; then
7892 -
7893 -      # If neither matched, then we have a broken ls.  This can happen
7894 -      # if, for instance, CONFIG_SHELL is bash and it inherits a
7895 -      # broken ls alias from the environment.  This has actually
7896 -      # happened.  Such a system could not be considered "sane".
7897 -      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
7898 -alias in your environment" >&5
7899 -echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
7900 -alias in your environment" >&2;}
7901 -   { (exit 1); exit 1; }; }
7902 -   fi
7903 -
7904 -   test "$2" = conftest.file
7905 -   )
7906 -then
7907 -   # Ok.
7908 -   :
7909 -else
7910 -   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
7911 -Check your system clock" >&5
7912 -echo "$as_me: error: newly created file is older than distributed files!
7913 -Check your system clock" >&2;}
7914 -   { (exit 1); exit 1; }; }
7915 -fi
7916 -echo "$as_me:$LINENO: result: yes" >&5
7917 -echo "${ECHO_T}yes" >&6
7918 -test "$program_prefix" != NONE &&
7919 -  program_transform_name="s,^,$program_prefix,;$program_transform_name"
7920 -# Use a double $ so make ignores it.
7921 -test "$program_suffix" != NONE &&
7922 -  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
7923 -# Double any \ or $.  echo might interpret backslashes.
7924 -# By default was `s,x,x', remove it if useless.
7925 -cat <<\_ACEOF >conftest.sed
7926 -s/[\\$]/&&/g;s/;s,x,x,$//
7927 -_ACEOF
7928 -program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
7929 -rm conftest.sed
7930 -
7931 -
7932 -# expand $ac_aux_dir to an absolute path
7933 -am_aux_dir=`cd $ac_aux_dir && pwd`
7934 -
7935 -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
7936 -# Use eval to expand $SHELL
7937 -if eval "$MISSING --run true"; then
7938 -  am_missing_run="$MISSING --run "
7939 -else
7940 -  am_missing_run=
7941 -  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
7942 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
7943 -fi
7944 -
7945 -for ac_prog in gawk mawk nawk awk
7946 -do
7947 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
7948 -set dummy $ac_prog; ac_word=$2
7949 -echo "$as_me:$LINENO: checking for $ac_word" >&5
7950 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
7951 -if test "${ac_cv_prog_AWK+set}" = set; then
7952 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7953 -else
7954 -  if test -n "$AWK"; then
7955 -  ac_cv_prog_AWK="$AWK" # Let the user override the test.
7956 -else
7957 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7958 -for as_dir in $PATH
7959 -do
7960 -  IFS=$as_save_IFS
7961 -  test -z "$as_dir" && as_dir=.
7962 -  for ac_exec_ext in '' $ac_executable_extensions; do
7963 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7964 -    ac_cv_prog_AWK="$ac_prog"
7965 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
7966 -    break 2
7967 -  fi
7968 -done
7969 -done
7970 -
7971 -fi
7972 -fi
7973 -AWK=$ac_cv_prog_AWK
7974 -if test -n "$AWK"; then
7975 -  echo "$as_me:$LINENO: result: $AWK" >&5
7976 -echo "${ECHO_T}$AWK" >&6
7977 -else
7978 -  echo "$as_me:$LINENO: result: no" >&5
7979 -echo "${ECHO_T}no" >&6
7980 -fi
7981 -
7982 -  test -n "$AWK" && break
7983 -done
7984 -
7985 -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
7986 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
7987 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
7988 -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
7989 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7990 -else
7991 -  cat >conftest.make <<\_ACEOF
7992 -all:
7993 -       @echo 'ac_maketemp="${MAKE}"'
7994 -_ACEOF
7995 -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
7996 -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
7997 -if test -n "$ac_maketemp"; then
7998 -  eval ac_cv_prog_make_${ac_make}_set=yes
7999 -else
8000 -  eval ac_cv_prog_make_${ac_make}_set=no
8001 -fi
8002 -rm -f conftest.make
8003 -fi
8004 -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
8005 -  echo "$as_me:$LINENO: result: yes" >&5
8006 -echo "${ECHO_T}yes" >&6
8007 -  SET_MAKE=
8008 -else
8009 -  echo "$as_me:$LINENO: result: no" >&5
8010 -echo "${ECHO_T}no" >&6
8011 -  SET_MAKE="MAKE=${MAKE-make}"
8012 -fi
8013 -
8014 -
8015 -# Check whether --enable-multilib or --disable-multilib was given.
8016 -if test "${enable_multilib+set}" = set; then
8017 -  enableval="$enable_multilib"
8018 -  case "${enableval}" in
8019 -  yes) multilib=yes ;;
8020 -  no)  multilib=no ;;
8021 -  *)   { { echo "$as_me:$LINENO: error: bad value ${enableval} for multilib option" >&5
8022 -echo "$as_me: error: bad value ${enableval} for multilib option" >&2;}
8023 -   { (exit 1); exit 1; }; } ;;
8024 - esac
8025 -else
8026 -  multilib=yes
8027 -fi; 
8028 -
8029 -if test "${srcdir}" = "."; then
8030 -  if test "${with_target_subdir}" != "." -a -n "${with_target_subdir}"; then
8031 -    gc_basedir="${srcdir}/${with_multisrctop}../."
8032 -  else
8033 -    gc_basedir="${srcdir}/${with_multisrctop}."
8034 -  fi
8035 -else
8036 -  gc_basedir="${srcdir}/."
8037 -fi
8038 -
8039 -ac_aux_dir=
8040 -for ac_dir in $gc_basedir/.. $srcdir/$gc_basedir/..; do
8041 -  if test -f $ac_dir/install-sh; then
8042 -    ac_aux_dir=$ac_dir
8043 -    ac_install_sh="$ac_aux_dir/install-sh -c"
8044 -    break
8045 -  elif test -f $ac_dir/install.sh; then
8046 -    ac_aux_dir=$ac_dir
8047 -    ac_install_sh="$ac_aux_dir/install.sh -c"
8048 -    break
8049 -  elif test -f $ac_dir/shtool; then
8050 -    ac_aux_dir=$ac_dir
8051 -    ac_install_sh="$ac_aux_dir/shtool install -c"
8052 -    break
8053 -  fi
8054 -done
8055 -if test -z "$ac_aux_dir"; then
8056 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&5
8057 -echo "$as_me: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&2;}
8058 -   { (exit 1); exit 1; }; }
8059 -fi
8060 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
8061 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
8062 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
8063 -
8064 -if :; then :; else
8065 -  # This overrides the previous occurrence for automake, but not for
8066 -  # autoconf, which is exactly what we want.
8067 -  ac_aux_dir=
8068 -for ac_dir in .. $srcdir/..; do
8069 -  if test -f $ac_dir/install-sh; then
8070 -    ac_aux_dir=$ac_dir
8071 -    ac_install_sh="$ac_aux_dir/install-sh -c"
8072 -    break
8073 -  elif test -f $ac_dir/install.sh; then
8074 -    ac_aux_dir=$ac_dir
8075 -    ac_install_sh="$ac_aux_dir/install.sh -c"
8076 -    break
8077 -  elif test -f $ac_dir/shtool; then
8078 -    ac_aux_dir=$ac_dir
8079 -    ac_install_sh="$ac_aux_dir/shtool install -c"
8080 -    break
8081 -  fi
8082 -done
8083 -if test -z "$ac_aux_dir"; then
8084 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5
8085 -echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;}
8086 -   { (exit 1); exit 1; }; }
8087 -fi
8088 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
8089 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
8090 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
8091 -
8092 -fi
8093 -
8094 -echo "$as_me:$LINENO: checking target system type" >&5
8095 -echo $ECHO_N "checking target system type... $ECHO_C" >&6
8096 -if test "${ac_cv_target+set}" = set; then
8097 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8098 -else
8099 -  ac_cv_target_alias=$target_alias
8100 -test "x$ac_cv_target_alias" = "x" &&
8101 -  ac_cv_target_alias=$ac_cv_host_alias
8102 -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
8103 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
8104 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
8105 -   { (exit 1); exit 1; }; }
8106 -
8107 -fi
8108 -echo "$as_me:$LINENO: result: $ac_cv_target" >&5
8109 -echo "${ECHO_T}$ac_cv_target" >&6
8110 -target=$ac_cv_target
8111 -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
8112 -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
8113 -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
8114 -
8115 -
8116 -# The aliases save the names the user supplied, while $host etc.
8117 -# will get canonicalized.
8118 -test -n "$target_alias" &&
8119 -  test "$program_prefix$program_suffix$program_transform_name" = \
8120 -    NONENONEs,x,x, &&
8121 -  program_prefix=${target_alias}-
8122 -
8123 -# This works around an automake problem.
8124 -mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
8125 -
8126 -
8127 - # test to see if srcdir already configured
8128 -if test "`cd $srcdir && pwd`" != "`pwd`" &&
8129 -   test -f $srcdir/config.status; then
8130 -  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
8131 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
8132 -   { (exit 1); exit 1; }; }
8133 -fi
8134 -
8135 -# Define the identity of the package.
8136 - PACKAGE=gc
8137 - VERSION=6.1a1
8138 -
8139 -
8140 -# Some tools Automake needs.
8141 -
8142 -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
8143 -
8144 -
8145 -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
8146 -
8147 -
8148 -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
8149 -
8150 -
8151 -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
8152 -
8153 -
8154 -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
8155 -
8156 -
8157 -AMTAR=${AMTAR-"${am_missing_run}tar"}
8158 -
8159 -install_sh=${install_sh-"$am_aux_dir/install-sh"}
8160 -
8161 -# Installed binaries are usually stripped using `strip' when the user
8162 -# run `make install-strip'.  However `strip' might not be the right
8163 -# tool to use in cross-compilation environments, therefore Automake
8164 -# will honor the `STRIP' environment variable to overrule this program.
8165 -if test "$cross_compiling" != no; then
8166 -  if test -n "$ac_tool_prefix"; then
8167 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
8168 -set dummy ${ac_tool_prefix}strip; ac_word=$2
8169 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8170 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8171 -if test "${ac_cv_prog_STRIP+set}" = set; then
8172 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8173 -else
8174 -  if test -n "$STRIP"; then
8175 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
8176 -else
8177 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8178 -for as_dir in $PATH
8179 -do
8180 -  IFS=$as_save_IFS
8181 -  test -z "$as_dir" && as_dir=.
8182 -  for ac_exec_ext in '' $ac_executable_extensions; do
8183 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8184 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
8185 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8186 -    break 2
8187 -  fi
8188 -done
8189 -done
8190 -
8191 -fi
8192 -fi
8193 -STRIP=$ac_cv_prog_STRIP
8194 -if test -n "$STRIP"; then
8195 -  echo "$as_me:$LINENO: result: $STRIP" >&5
8196 -echo "${ECHO_T}$STRIP" >&6
8197 -else
8198 -  echo "$as_me:$LINENO: result: no" >&5
8199 -echo "${ECHO_T}no" >&6
8200 -fi
8201 -
8202 -fi
8203 -if test -z "$ac_cv_prog_STRIP"; then
8204 -  ac_ct_STRIP=$STRIP
8205 -  # Extract the first word of "strip", so it can be a program name with args.
8206 -set dummy strip; ac_word=$2
8207 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8208 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8209 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
8210 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8211 -else
8212 -  if test -n "$ac_ct_STRIP"; then
8213 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
8214 -else
8215 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8216 -for as_dir in $PATH
8217 -do
8218 -  IFS=$as_save_IFS
8219 -  test -z "$as_dir" && as_dir=.
8220 -  for ac_exec_ext in '' $ac_executable_extensions; do
8221 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8222 -    ac_cv_prog_ac_ct_STRIP="strip"
8223 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8224 -    break 2
8225 -  fi
8226 -done
8227 -done
8228 -
8229 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
8230 -fi
8231 -fi
8232 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
8233 -if test -n "$ac_ct_STRIP"; then
8234 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
8235 -echo "${ECHO_T}$ac_ct_STRIP" >&6
8236 -else
8237 -  echo "$as_me:$LINENO: result: no" >&5
8238 -echo "${ECHO_T}no" >&6
8239 -fi
8240 -
8241 -  STRIP=$ac_ct_STRIP
8242 -else
8243 -  STRIP="$ac_cv_prog_STRIP"
8244 -fi
8245 -
8246 -fi
8247 -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
8248 -
8249 -# We need awk for the "check" target.  The system "awk" is bad on
8250 -# some platforms.
8251 -
8252 -
8253 -
8254 -
8255 -# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
8256 -# run it explicitly here, it will be run implicitly before
8257 -# NEWLIB_CONFIGURE, which doesn't work because that means that it will
8258 -# be run before AC_CANONICAL_HOST.
8259 -
8260 -
8261 -if test -n "$ac_tool_prefix"; then
8262 -  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
8263 -set dummy ${ac_tool_prefix}as; ac_word=$2
8264 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8265 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8266 -if test "${ac_cv_prog_AS+set}" = set; then
8267 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8268 -else
8269 -  if test -n "$AS"; then
8270 -  ac_cv_prog_AS="$AS" # Let the user override the test.
8271 -else
8272 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8273 -for as_dir in $PATH
8274 -do
8275 -  IFS=$as_save_IFS
8276 -  test -z "$as_dir" && as_dir=.
8277 -  for ac_exec_ext in '' $ac_executable_extensions; do
8278 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8279 -    ac_cv_prog_AS="${ac_tool_prefix}as"
8280 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8281 -    break 2
8282 -  fi
8283 -done
8284 -done
8285 -
8286 -fi
8287 -fi
8288 -AS=$ac_cv_prog_AS
8289 -if test -n "$AS"; then
8290 -  echo "$as_me:$LINENO: result: $AS" >&5
8291 -echo "${ECHO_T}$AS" >&6
8292 -else
8293 -  echo "$as_me:$LINENO: result: no" >&5
8294 -echo "${ECHO_T}no" >&6
8295 -fi
8296 -
8297 -fi
8298 -if test -z "$ac_cv_prog_AS"; then
8299 -  ac_ct_AS=$AS
8300 -  # Extract the first word of "as", so it can be a program name with args.
8301 -set dummy as; ac_word=$2
8302 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8303 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8304 -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
8305 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8306 -else
8307 -  if test -n "$ac_ct_AS"; then
8308 -  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
8309 -else
8310 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8311 -for as_dir in $PATH
8312 -do
8313 -  IFS=$as_save_IFS
8314 -  test -z "$as_dir" && as_dir=.
8315 -  for ac_exec_ext in '' $ac_executable_extensions; do
8316 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8317 -    ac_cv_prog_ac_ct_AS="as"
8318 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8319 -    break 2
8320 -  fi
8321 -done
8322 -done
8323 -
8324 -fi
8325 -fi
8326 -ac_ct_AS=$ac_cv_prog_ac_ct_AS
8327 -if test -n "$ac_ct_AS"; then
8328 -  echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
8329 -echo "${ECHO_T}$ac_ct_AS" >&6
8330 -else
8331 -  echo "$as_me:$LINENO: result: no" >&5
8332 -echo "${ECHO_T}no" >&6
8333 -fi
8334 -
8335 -  AS=$ac_ct_AS
8336 -else
8337 -  AS="$ac_cv_prog_AS"
8338 -fi
8339 -
8340 -if test -n "$ac_tool_prefix"; then
8341 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
8342 -set dummy ${ac_tool_prefix}ar; ac_word=$2
8343 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8344 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8345 -if test "${ac_cv_prog_AR+set}" = set; then
8346 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8347 -else
8348 -  if test -n "$AR"; then
8349 -  ac_cv_prog_AR="$AR" # Let the user override the test.
8350 -else
8351 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8352 -for as_dir in $PATH
8353 -do
8354 -  IFS=$as_save_IFS
8355 -  test -z "$as_dir" && as_dir=.
8356 -  for ac_exec_ext in '' $ac_executable_extensions; do
8357 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8358 -    ac_cv_prog_AR="${ac_tool_prefix}ar"
8359 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8360 -    break 2
8361 -  fi
8362 -done
8363 -done
8364 -
8365 -fi
8366 -fi
8367 -AR=$ac_cv_prog_AR
8368 -if test -n "$AR"; then
8369 -  echo "$as_me:$LINENO: result: $AR" >&5
8370 -echo "${ECHO_T}$AR" >&6
8371 -else
8372 -  echo "$as_me:$LINENO: result: no" >&5
8373 -echo "${ECHO_T}no" >&6
8374 -fi
8375 -
8376 -fi
8377 -if test -z "$ac_cv_prog_AR"; then
8378 -  ac_ct_AR=$AR
8379 -  # Extract the first word of "ar", so it can be a program name with args.
8380 -set dummy ar; ac_word=$2
8381 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8382 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8383 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
8384 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8385 -else
8386 -  if test -n "$ac_ct_AR"; then
8387 -  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
8388 -else
8389 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8390 -for as_dir in $PATH
8391 -do
8392 -  IFS=$as_save_IFS
8393 -  test -z "$as_dir" && as_dir=.
8394 -  for ac_exec_ext in '' $ac_executable_extensions; do
8395 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8396 -    ac_cv_prog_ac_ct_AR="ar"
8397 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8398 -    break 2
8399 -  fi
8400 -done
8401 -done
8402 -
8403 -fi
8404 -fi
8405 -ac_ct_AR=$ac_cv_prog_ac_ct_AR
8406 -if test -n "$ac_ct_AR"; then
8407 -  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
8408 -echo "${ECHO_T}$ac_ct_AR" >&6
8409 -else
8410 -  echo "$as_me:$LINENO: result: no" >&5
8411 -echo "${ECHO_T}no" >&6
8412 -fi
8413 -
8414 -  AR=$ac_ct_AR
8415 -else
8416 -  AR="$ac_cv_prog_AR"
8417 -fi
8418 -
8419 -if test -n "$ac_tool_prefix"; then
8420 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
8421 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
8422 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8423 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8424 -if test "${ac_cv_prog_RANLIB+set}" = set; then
8425 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8426 -else
8427 -  if test -n "$RANLIB"; then
8428 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
8429 -else
8430 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8431 -for as_dir in $PATH
8432 -do
8433 -  IFS=$as_save_IFS
8434 -  test -z "$as_dir" && as_dir=.
8435 -  for ac_exec_ext in '' $ac_executable_extensions; do
8436 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8437 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
8438 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8439 -    break 2
8440 -  fi
8441 -done
8442 -done
8443 -
8444 -fi
8445 -fi
8446 -RANLIB=$ac_cv_prog_RANLIB
8447 -if test -n "$RANLIB"; then
8448 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
8449 -echo "${ECHO_T}$RANLIB" >&6
8450 -else
8451 -  echo "$as_me:$LINENO: result: no" >&5
8452 -echo "${ECHO_T}no" >&6
8453 -fi
8454 -
8455 -fi
8456 -if test -z "$ac_cv_prog_RANLIB"; then
8457 -  ac_ct_RANLIB=$RANLIB
8458 -  # Extract the first word of "ranlib", so it can be a program name with args.
8459 -set dummy ranlib; ac_word=$2
8460 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8461 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8462 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
8463 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8464 -else
8465 -  if test -n "$ac_ct_RANLIB"; then
8466 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
8467 -else
8468 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8469 -for as_dir in $PATH
8470 -do
8471 -  IFS=$as_save_IFS
8472 -  test -z "$as_dir" && as_dir=.
8473 -  for ac_exec_ext in '' $ac_executable_extensions; do
8474 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8475 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
8476 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8477 -    break 2
8478 -  fi
8479 -done
8480 -done
8481 -
8482 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
8483 -fi
8484 -fi
8485 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
8486 -if test -n "$ac_ct_RANLIB"; then
8487 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
8488 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
8489 -else
8490 -  echo "$as_me:$LINENO: result: no" >&5
8491 -echo "${ECHO_T}no" >&6
8492 -fi
8493 -
8494 -  RANLIB=$ac_ct_RANLIB
8495 -else
8496 -  RANLIB="$ac_cv_prog_RANLIB"
8497 -fi
8498 -
8499 -
8500 -# Find a good install program.  We prefer a C program (faster),
8501 -# so one script is as good as another.  But avoid the broken or
8502 -# incompatible versions:
8503 -# SysV /etc/install, /usr/sbin/install
8504 -# SunOS /usr/etc/install
8505 -# IRIX /sbin/install
8506 -# AIX /bin/install
8507 -# AmigaOS /C/install, which installs bootblocks on floppy discs
8508 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
8509 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
8510 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
8511 -# ./install, which can be erroneously created by make from ./install.sh.
8512 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
8513 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
8514 -if test -z "$INSTALL"; then
8515 -if test "${ac_cv_path_install+set}" = set; then
8516 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8517 -else
8518 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8519 -for as_dir in $PATH
8520 -do
8521 -  IFS=$as_save_IFS
8522 -  test -z "$as_dir" && as_dir=.
8523 -  # Account for people who put trailing slashes in PATH elements.
8524 -case $as_dir/ in
8525 -  ./ | .// | /cC/* | \
8526 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
8527 -  /usr/ucb/* ) ;;
8528 -  *)
8529 -    # OSF1 and SCO ODT 3.0 have their own names for install.
8530 -    # Don't use installbsd from OSF since it installs stuff as root
8531 -    # by default.
8532 -    for ac_prog in ginstall scoinst install; do
8533 -      for ac_exec_ext in '' $ac_executable_extensions; do
8534 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
8535 -          if test $ac_prog = install &&
8536 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8537 -            # AIX install.  It has an incompatible calling convention.
8538 -            :
8539 -          elif test $ac_prog = install &&
8540 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8541 -            # program-specific install script used by HP pwplus--don't use.
8542 -            :
8543 -          else
8544 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
8545 -            break 3
8546 -          fi
8547 -        fi
8548 -      done
8549 -    done
8550 -    ;;
8551 -esac
8552 -done
8553 -
8554 -
8555 -fi
8556 -  if test "${ac_cv_path_install+set}" = set; then
8557 -    INSTALL=$ac_cv_path_install
8558 -  else
8559 -    # As a last resort, use the slow shell script.  We don't cache a
8560 -    # path for INSTALL within a source directory, because that will
8561 -    # break other packages using the cache if that directory is
8562 -    # removed, or if the path is relative.
8563 -    INSTALL=$ac_install_sh
8564 -  fi
8565 -fi
8566 -echo "$as_me:$LINENO: result: $INSTALL" >&5
8567 -echo "${ECHO_T}$INSTALL" >&6
8568 -
8569 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
8570 -# It thinks the first close brace ends the variable substitution.
8571 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
8572 -
8573 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
8574 -
8575 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
8576 -
8577 -
8578 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
8579 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
8580 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
8581 -if test "${enable_maintainer_mode+set}" = set; then
8582 -  enableval="$enable_maintainer_mode"
8583 -  USE_MAINTAINER_MODE=$enableval
8584 -else
8585 -  USE_MAINTAINER_MODE=no
8586 -fi; 
8587 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
8588 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
8589 -  
8590 -
8591 -if test $USE_MAINTAINER_MODE = yes; then
8592 -  MAINTAINER_MODE_TRUE=
8593 -  MAINTAINER_MODE_FALSE='#'
8594 -else
8595 -  MAINTAINER_MODE_TRUE='#'
8596 -  MAINTAINER_MODE_FALSE=
8597 -fi
8598 -
8599 -  MAINT=$MAINTAINER_MODE_TRUE
8600 -  
8601 -
8602 -
8603 -# We need AC_EXEEXT to keep automake happy in cygnus mode.  However,
8604 -# at least currently, we never actually build a program, so we never
8605 -# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
8606 -# fails, because we are probably configuring with a cross compiler
8607 -# which can't create executables.  So we include AC_EXEEXT to keep
8608 -# automake happy, but we don't execute it, since we don't care about
8609 -# the result.
8610 -if false; then
8611 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
8612 -  # to nothing, so nothing would remain between `then' and `fi' if it
8613 -  # were not for the `:' below.
8614 -  :
8615 -  
8616 -fi
8617 -
8618 -. ${srcdir}/configure.host
8619 -
8620 -case ${gc_basedir} in
8621 -/* | A-Za-z:/\\*) gc_flagbasedir=${gc_basedir} ;;
8622 -*) gc_flagbasedir='$(top_builddir)/'${gc_basedir} ;;
8623 -esac
8624 -
8625 -gc_cflags="${gc_cflags} -I"'$(top_builddir)'"/./targ-include -I${gc_flagbasedir}/libc/include"
8626 -case "${host}" in
8627 -  *-*-cygwin32*)
8628 -    gc_cflags="${gc_cflags} -I${gc_flagbasedir}/../winsup/include"
8629 -    ;;
8630 -esac
8631 -
8632 -
8633 -GC_CFLAGS=${gc_cflags}
8634 -
8635 -
8636 -
8637 -# Check whether --enable-shared or --disable-shared was given.
8638 -if test "${enable_shared+set}" = set; then
8639 -  enableval="$enable_shared"
8640 -  p=${PACKAGE-default}
8641 -case $enableval in
8642 -yes) enable_shared=yes ;;
8643 -no) enable_shared=no ;;
8644 -*)
8645 -  enable_shared=no
8646 -  # Look at the argument we got.  We use all the common list separators.
8647 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8648 -  for pkg in $enableval; do
8649 -    if test "X$pkg" = "X$p"; then
8650 -      enable_shared=yes
8651 -    fi
8652 -  done
8653 -  IFS="$ac_save_ifs"
8654 -  ;;
8655 -esac
8656 -else
8657 -  enable_shared=yes
8658 -fi; 
8659 -# Check whether --enable-static or --disable-static was given.
8660 -if test "${enable_static+set}" = set; then
8661 -  enableval="$enable_static"
8662 -  p=${PACKAGE-default}
8663 -case $enableval in
8664 -yes) enable_static=yes ;;
8665 -no) enable_static=no ;;
8666 -*)
8667 -  enable_static=no
8668 -  # Look at the argument we got.  We use all the common list separators.
8669 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8670 -  for pkg in $enableval; do
8671 -    if test "X$pkg" = "X$p"; then
8672 -      enable_static=yes
8673 -    fi
8674 -  done
8675 -  IFS="$ac_save_ifs"
8676 -  ;;
8677 -esac
8678 -else
8679 -  enable_static=yes
8680 -fi; 
8681 -# Check whether --enable-fast-install or --disable-fast-install was given.
8682 -if test "${enable_fast_install+set}" = set; then
8683 -  enableval="$enable_fast_install"
8684 -  p=${PACKAGE-default}
8685 -case $enableval in
8686 -yes) enable_fast_install=yes ;;
8687 -no) enable_fast_install=no ;;
8688 -*)
8689 -  enable_fast_install=no
8690 -  # Look at the argument we got.  We use all the common list separators.
8691 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8692 -  for pkg in $enableval; do
8693 -    if test "X$pkg" = "X$p"; then
8694 -      enable_fast_install=yes
8695 -    fi
8696 -  done
8697 -  IFS="$ac_save_ifs"
8698 -  ;;
8699 -esac
8700 -else
8701 -  enable_fast_install=yes
8702 -fi; 
8703 -rm -f .deps 2>/dev/null
8704 -mkdir .deps 2>/dev/null
8705 -if test -d .deps; then
8706 -  DEPDIR=.deps
8707 -else
8708 -  # MS-DOS does not allow filenames that begin with a dot.
8709 -  DEPDIR=_deps
8710 -fi
8711 -rmdir .deps 2>/dev/null
8712 -
8713 -
8714 -          ac_config_commands="$ac_config_commands depfiles"
8715 -
8716 -
8717 -am_make=${MAKE-make}
8718 -cat > confinc << 'END'
8719 -doit:
8720 -       @echo done
8721 -END
8722 -# If we don't find an include directive, just comment out the code.
8723 -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
8724 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
8725 -am__include="#"
8726 -am__quote=
8727 -_am_result=none
8728 -# First try GNU make style include.
8729 -echo "include confinc" > confmf
8730 -# We grep out `Entering directory' and `Leaving directory'
8731 -# messages which can occur if `w' ends up in MAKEFLAGS.
8732 -# In particular we don't look at `^make:' because GNU make might
8733 -# be invoked under some other name (usually "gmake"), in which
8734 -# case it prints its new name instead of `make'.
8735 -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
8736 -   am__include=include
8737 -   am__quote=
8738 -   _am_result=GNU
8739 -fi
8740 -# Now try BSD make style include.
8741 -if test "$am__include" = "#"; then
8742 -   echo '.include "confinc"' > confmf
8743 -   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
8744 -      am__include=.include
8745 -      am__quote="\""
8746 -      _am_result=BSD
8747 -   fi
8748 -fi
8749 -
8750 -
8751 -echo "$as_me:$LINENO: result: $_am_result" >&5
8752 -echo "${ECHO_T}$_am_result" >&6
8753 -rm -f confinc confmf
8754 -
8755 -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
8756 -if test "${enable_dependency_tracking+set}" = set; then
8757 -  enableval="$enable_dependency_tracking"
8758 -  
8759 -fi; 
8760 -if test "x$enable_dependency_tracking" != xno; then
8761 -  am_depcomp="$ac_aux_dir/depcomp"
8762 -  AMDEPBACKSLASH='\'
8763 -fi
8764 -
8765 -
8766 -if test "x$enable_dependency_tracking" != xno; then
8767 -  AMDEP_TRUE=
8768 -  AMDEP_FALSE='#'
8769 -else
8770 -  AMDEP_TRUE='#'
8771 -  AMDEP_FALSE=
8772 -fi
8773 -
8774 -
8775 -
8776 -ac_ext=c
8777 -ac_cpp='$CPP $CPPFLAGS'
8778 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
8779 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
8780 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
8781 -if test -n "$ac_tool_prefix"; then
8782 -  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
8783 -set dummy ${ac_tool_prefix}gcc; ac_word=$2
8784 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8785 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8786 -if test "${ac_cv_prog_CC+set}" = set; then
8787 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8788 -else
8789 -  if test -n "$CC"; then
8790 -  ac_cv_prog_CC="$CC" # Let the user override the test.
8791 -else
8792 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8793 -for as_dir in $PATH
8794 -do
8795 -  IFS=$as_save_IFS
8796 -  test -z "$as_dir" && as_dir=.
8797 -  for ac_exec_ext in '' $ac_executable_extensions; do
8798 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8799 -    ac_cv_prog_CC="${ac_tool_prefix}gcc"
8800 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8801 -    break 2
8802 -  fi
8803 -done
8804 -done
8805 -
8806 -fi
8807 -fi
8808 -CC=$ac_cv_prog_CC
8809 -if test -n "$CC"; then
8810 -  echo "$as_me:$LINENO: result: $CC" >&5
8811 -echo "${ECHO_T}$CC" >&6
8812 -else
8813 -  echo "$as_me:$LINENO: result: no" >&5
8814 -echo "${ECHO_T}no" >&6
8815 -fi
8816 -
8817 -fi
8818 -if test -z "$ac_cv_prog_CC"; then
8819 -  ac_ct_CC=$CC
8820 -  # Extract the first word of "gcc", so it can be a program name with args.
8821 -set dummy gcc; ac_word=$2
8822 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8823 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8824 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
8825 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8826 -else
8827 -  if test -n "$ac_ct_CC"; then
8828 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
8829 -else
8830 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8831 -for as_dir in $PATH
8832 -do
8833 -  IFS=$as_save_IFS
8834 -  test -z "$as_dir" && as_dir=.
8835 -  for ac_exec_ext in '' $ac_executable_extensions; do
8836 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8837 -    ac_cv_prog_ac_ct_CC="gcc"
8838 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8839 -    break 2
8840 -  fi
8841 -done
8842 -done
8843 -
8844 -fi
8845 -fi
8846 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
8847 -if test -n "$ac_ct_CC"; then
8848 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
8849 -echo "${ECHO_T}$ac_ct_CC" >&6
8850 -else
8851 -  echo "$as_me:$LINENO: result: no" >&5
8852 -echo "${ECHO_T}no" >&6
8853 -fi
8854 -
8855 -  CC=$ac_ct_CC
8856 -else
8857 -  CC="$ac_cv_prog_CC"
8858 -fi
8859 -
8860 -if test -z "$CC"; then
8861 -  if test -n "$ac_tool_prefix"; then
8862 -  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
8863 -set dummy ${ac_tool_prefix}cc; ac_word=$2
8864 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8865 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8866 -if test "${ac_cv_prog_CC+set}" = set; then
8867 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8868 -else
8869 -  if test -n "$CC"; then
8870 -  ac_cv_prog_CC="$CC" # Let the user override the test.
8871 -else
8872 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8873 -for as_dir in $PATH
8874 -do
8875 -  IFS=$as_save_IFS
8876 -  test -z "$as_dir" && as_dir=.
8877 -  for ac_exec_ext in '' $ac_executable_extensions; do
8878 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8879 -    ac_cv_prog_CC="${ac_tool_prefix}cc"
8880 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8881 -    break 2
8882 -  fi
8883 -done
8884 -done
8885 -
8886 -fi
8887 -fi
8888 -CC=$ac_cv_prog_CC
8889 -if test -n "$CC"; then
8890 -  echo "$as_me:$LINENO: result: $CC" >&5
8891 -echo "${ECHO_T}$CC" >&6
8892 -else
8893 -  echo "$as_me:$LINENO: result: no" >&5
8894 -echo "${ECHO_T}no" >&6
8895 -fi
8896 -
8897 -fi
8898 -if test -z "$ac_cv_prog_CC"; then
8899 -  ac_ct_CC=$CC
8900 -  # Extract the first word of "cc", so it can be a program name with args.
8901 -set dummy cc; ac_word=$2
8902 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8903 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8904 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
8905 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8906 -else
8907 -  if test -n "$ac_ct_CC"; then
8908 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
8909 -else
8910 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8911 -for as_dir in $PATH
8912 -do
8913 -  IFS=$as_save_IFS
8914 -  test -z "$as_dir" && as_dir=.
8915 -  for ac_exec_ext in '' $ac_executable_extensions; do
8916 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8917 -    ac_cv_prog_ac_ct_CC="cc"
8918 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8919 -    break 2
8920 -  fi
8921 -done
8922 -done
8923 -
8924 -fi
8925 -fi
8926 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
8927 -if test -n "$ac_ct_CC"; then
8928 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
8929 -echo "${ECHO_T}$ac_ct_CC" >&6
8930 -else
8931 -  echo "$as_me:$LINENO: result: no" >&5
8932 -echo "${ECHO_T}no" >&6
8933 -fi
8934 -
8935 -  CC=$ac_ct_CC
8936 -else
8937 -  CC="$ac_cv_prog_CC"
8938 -fi
8939 -
8940 -fi
8941 -if test -z "$CC"; then
8942 -  # Extract the first word of "cc", so it can be a program name with args.
8943 -set dummy cc; ac_word=$2
8944 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8945 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8946 -if test "${ac_cv_prog_CC+set}" = set; then
8947 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8948 -else
8949 -  if test -n "$CC"; then
8950 -  ac_cv_prog_CC="$CC" # Let the user override the test.
8951 -else
8952 -  ac_prog_rejected=no
8953 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8954 -for as_dir in $PATH
8955 -do
8956 -  IFS=$as_save_IFS
8957 -  test -z "$as_dir" && as_dir=.
8958 -  for ac_exec_ext in '' $ac_executable_extensions; do
8959 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8960 -    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
8961 -       ac_prog_rejected=yes
8962 -       continue
8963 -     fi
8964 -    ac_cv_prog_CC="cc"
8965 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8966 -    break 2
8967 -  fi
8968 -done
8969 -done
8970 -
8971 -if test $ac_prog_rejected = yes; then
8972 -  # We found a bogon in the path, so make sure we never use it.
8973 -  set dummy $ac_cv_prog_CC
8974 -  shift
8975 -  if test $@%:@ != 0; then
8976 -    # We chose a different compiler from the bogus one.
8977 -    # However, it has the same basename, so the bogon will be chosen
8978 -    # first if we set CC to just the basename; use the full file name.
8979 -    shift
8980 -    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
8981 -  fi
8982 -fi
8983 -fi
8984 -fi
8985 -CC=$ac_cv_prog_CC
8986 -if test -n "$CC"; then
8987 -  echo "$as_me:$LINENO: result: $CC" >&5
8988 -echo "${ECHO_T}$CC" >&6
8989 -else
8990 -  echo "$as_me:$LINENO: result: no" >&5
8991 -echo "${ECHO_T}no" >&6
8992 -fi
8993 -
8994 -fi
8995 -if test -z "$CC"; then
8996 -  if test -n "$ac_tool_prefix"; then
8997 -  for ac_prog in cl
8998 -  do
8999 -    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
9000 -set dummy $ac_tool_prefix$ac_prog; ac_word=$2
9001 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9002 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9003 -if test "${ac_cv_prog_CC+set}" = set; then
9004 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9005 -else
9006 -  if test -n "$CC"; then
9007 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9008 -else
9009 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9010 -for as_dir in $PATH
9011 -do
9012 -  IFS=$as_save_IFS
9013 -  test -z "$as_dir" && as_dir=.
9014 -  for ac_exec_ext in '' $ac_executable_extensions; do
9015 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9016 -    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
9017 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9018 -    break 2
9019 -  fi
9020 -done
9021 -done
9022 -
9023 -fi
9024 -fi
9025 -CC=$ac_cv_prog_CC
9026 -if test -n "$CC"; then
9027 -  echo "$as_me:$LINENO: result: $CC" >&5
9028 -echo "${ECHO_T}$CC" >&6
9029 -else
9030 -  echo "$as_me:$LINENO: result: no" >&5
9031 -echo "${ECHO_T}no" >&6
9032 -fi
9033 -
9034 -    test -n "$CC" && break
9035 -  done
9036 -fi
9037 -if test -z "$CC"; then
9038 -  ac_ct_CC=$CC
9039 -  for ac_prog in cl
9040 -do
9041 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
9042 -set dummy $ac_prog; ac_word=$2
9043 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9044 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9045 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
9046 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9047 -else
9048 -  if test -n "$ac_ct_CC"; then
9049 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
9050 -else
9051 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9052 -for as_dir in $PATH
9053 -do
9054 -  IFS=$as_save_IFS
9055 -  test -z "$as_dir" && as_dir=.
9056 -  for ac_exec_ext in '' $ac_executable_extensions; do
9057 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9058 -    ac_cv_prog_ac_ct_CC="$ac_prog"
9059 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9060 -    break 2
9061 -  fi
9062 -done
9063 -done
9064 -
9065 -fi
9066 -fi
9067 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
9068 -if test -n "$ac_ct_CC"; then
9069 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
9070 -echo "${ECHO_T}$ac_ct_CC" >&6
9071 -else
9072 -  echo "$as_me:$LINENO: result: no" >&5
9073 -echo "${ECHO_T}no" >&6
9074 -fi
9075 -
9076 -  test -n "$ac_ct_CC" && break
9077 -done
9078 -
9079 -  CC=$ac_ct_CC
9080 -fi
9081 -
9082 -fi
9083 -
9084 -
9085 -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5
9086 -echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;}
9087 -   { (exit 1); exit 1; }; }
9088 -
9089 -# Provide some information about the compiler.
9090 -echo "$as_me:$LINENO:" \
9091 -     "checking for C compiler version" >&5
9092 -ac_compiler=`set X $ac_compile; echo $2`
9093 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
9094 -  (eval $ac_compiler --version </dev/null >&5) 2>&5
9095 -  ac_status=$?
9096 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9097 -  (exit $ac_status); }
9098 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
9099 -  (eval $ac_compiler -v </dev/null >&5) 2>&5
9100 -  ac_status=$?
9101 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9102 -  (exit $ac_status); }
9103 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
9104 -  (eval $ac_compiler -V </dev/null >&5) 2>&5
9105 -  ac_status=$?
9106 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9107 -  (exit $ac_status); }
9108 -
9109 -cat >conftest.$ac_ext <<_ACEOF
9110 -#line $LINENO "configure"
9111 -#include "confdefs.h"
9112 -
9113 -int
9114 -main ()
9115 -{
9116 -
9117 -  ;
9118 -  return 0;
9119 -}
9120 -_ACEOF
9121 -ac_clean_files_save=$ac_clean_files
9122 -ac_clean_files="$ac_clean_files a.out a.exe"
9123 -# Try to create an executable without -o first, disregard a.out.
9124 -# It will help us diagnose broken compilers, and finding out an intuition
9125 -# of exeext.
9126 -echo "$as_me:$LINENO: checking for C compiler default output" >&5
9127 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
9128 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
9129 -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
9130 -  (eval $ac_link_default) 2>&5
9131 -  ac_status=$?
9132 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9133 -  (exit $ac_status); }; then
9134 -  # Find the output, starting from the most likely.  This scheme is
9135 -# not robust to junk in `.', hence go to wildcards (a.*) only as a last
9136 -# resort.
9137 -
9138 -# Be careful to initialize this variable, since it used to be cached.
9139 -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
9140 -ac_cv_exeext=
9141 -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do
9142 -  test -f "$ac_file" || continue
9143 -  case $ac_file in
9144 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
9145 -    a.out ) # We found the default executable, but exeext='' is most
9146 -            # certainly right.
9147 -            break;;
9148 -    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
9149 -          # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
9150 -          export ac_cv_exeext
9151 -          break;;
9152 -    * ) break;;
9153 -  esac
9154 -done
9155 -else
9156 -  echo "$as_me: failed program was:" >&5
9157 -cat conftest.$ac_ext >&5
9158 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
9159 -check \`config.log' for details." >&5
9160 -echo "$as_me: error: C compiler cannot create executables
9161 -check \`config.log' for details." >&2;}
9162 -   { (exit 77); exit 77; }; }
9163 -fi
9164 -
9165 -ac_exeext=$ac_cv_exeext
9166 -echo "$as_me:$LINENO: result: $ac_file" >&5
9167 -echo "${ECHO_T}$ac_file" >&6
9168 -
9169 -# Check the compiler produces executables we can run.  If not, either
9170 -# the compiler is broken, or we cross compile.
9171 -echo "$as_me:$LINENO: checking whether the C compiler works" >&5
9172 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
9173 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
9174 -# If not cross compiling, check that we can run a simple program.
9175 -if test "$cross_compiling" != yes; then
9176 -  if { ac_try='./$ac_file'
9177 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9178 -  (eval $ac_try) 2>&5
9179 -  ac_status=$?
9180 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9181 -  (exit $ac_status); }; }; then
9182 -    cross_compiling=no
9183 -  else
9184 -    if test "$cross_compiling" = maybe; then
9185 -       cross_compiling=yes
9186 -    else
9187 -       { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
9188 -If you meant to cross compile, use \`--host'." >&5
9189 -echo "$as_me: error: cannot run C compiled programs.
9190 -If you meant to cross compile, use \`--host'." >&2;}
9191 -   { (exit 1); exit 1; }; }
9192 -    fi
9193 -  fi
9194 -fi
9195 -echo "$as_me:$LINENO: result: yes" >&5
9196 -echo "${ECHO_T}yes" >&6
9197 -
9198 -rm -f a.out a.exe conftest$ac_cv_exeext
9199 -ac_clean_files=$ac_clean_files_save
9200 -# Check the compiler produces executables we can run.  If not, either
9201 -# the compiler is broken, or we cross compile.
9202 -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
9203 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
9204 -echo "$as_me:$LINENO: result: $cross_compiling" >&5
9205 -echo "${ECHO_T}$cross_compiling" >&6
9206 -
9207 -echo "$as_me:$LINENO: checking for suffix of executables" >&5
9208 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
9209 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
9210 -  (eval $ac_link) 2>&5
9211 -  ac_status=$?
9212 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9213 -  (exit $ac_status); }; then
9214 -  # If both `conftest.exe' and `conftest' are `present' (well, observable)
9215 -# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
9216 -# work properly (i.e., refer to `conftest.exe'), while it won't with
9217 -# `rm'.
9218 -for ac_file in conftest.exe conftest conftest.*; do
9219 -  test -f "$ac_file" || continue
9220 -  case $ac_file in
9221 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
9222 -    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
9223 -          export ac_cv_exeext
9224 -          break;;
9225 -    * ) break;;
9226 -  esac
9227 -done
9228 -else
9229 -  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5
9230 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;}
9231 -   { (exit 1); exit 1; }; }
9232 -fi
9233 -
9234 -rm -f conftest$ac_cv_exeext
9235 -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
9236 -echo "${ECHO_T}$ac_cv_exeext" >&6
9237 -
9238 -rm -f conftest.$ac_ext
9239 -EXEEXT=$ac_cv_exeext
9240 -ac_exeext=$EXEEXT
9241 -echo "$as_me:$LINENO: checking for suffix of object files" >&5
9242 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
9243 -if test "${ac_cv_objext+set}" = set; then
9244 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9245 -else
9246 -  cat >conftest.$ac_ext <<_ACEOF
9247 -#line $LINENO "configure"
9248 -#include "confdefs.h"
9249 -
9250 -int
9251 -main ()
9252 -{
9253 -
9254 -  ;
9255 -  return 0;
9256 -}
9257 -_ACEOF
9258 -rm -f conftest.o conftest.obj
9259 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9260 -  (eval $ac_compile) 2>&5
9261 -  ac_status=$?
9262 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9263 -  (exit $ac_status); }; then
9264 -  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
9265 -  case $ac_file in
9266 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
9267 -    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
9268 -       break;;
9269 -  esac
9270 -done
9271 -else
9272 -  echo "$as_me: failed program was:" >&5
9273 -cat conftest.$ac_ext >&5
9274 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5
9275 -echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;}
9276 -   { (exit 1); exit 1; }; }
9277 -fi
9278 -
9279 -rm -f conftest.$ac_cv_objext conftest.$ac_ext
9280 -fi
9281 -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
9282 -echo "${ECHO_T}$ac_cv_objext" >&6
9283 -OBJEXT=$ac_cv_objext
9284 -ac_objext=$OBJEXT
9285 -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
9286 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
9287 -if test "${ac_cv_c_compiler_gnu+set}" = set; then
9288 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9289 -else
9290 -  cat >conftest.$ac_ext <<_ACEOF
9291 -#line $LINENO "configure"
9292 -#include "confdefs.h"
9293 -
9294 -int
9295 -main ()
9296 -{
9297 -#ifndef __GNUC__
9298 -       choke me
9299 -#endif
9300 -
9301 -  ;
9302 -  return 0;
9303 -}
9304 -_ACEOF
9305 -rm -f conftest.$ac_objext
9306 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9307 -  (eval $ac_compile) 2>&5
9308 -  ac_status=$?
9309 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9310 -  (exit $ac_status); } &&
9311 -         { ac_try='test -s conftest.$ac_objext'
9312 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9313 -  (eval $ac_try) 2>&5
9314 -  ac_status=$?
9315 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9316 -  (exit $ac_status); }; }; then
9317 -  ac_compiler_gnu=yes
9318 -else
9319 -  echo "$as_me: failed program was:" >&5
9320 -cat conftest.$ac_ext >&5
9321 -ac_compiler_gnu=no
9322 -fi
9323 -rm -f conftest.$ac_objext conftest.$ac_ext
9324 -ac_cv_c_compiler_gnu=$ac_compiler_gnu
9325 -
9326 -fi
9327 -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
9328 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
9329 -GCC=`test $ac_compiler_gnu = yes && echo yes`
9330 -ac_test_CFLAGS=${CFLAGS+set}
9331 -ac_save_CFLAGS=$CFLAGS
9332 -CFLAGS="-g"
9333 -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
9334 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
9335 -if test "${ac_cv_prog_cc_g+set}" = set; then
9336 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9337 -else
9338 -  cat >conftest.$ac_ext <<_ACEOF
9339 -#line $LINENO "configure"
9340 -#include "confdefs.h"
9341 -
9342 -int
9343 -main ()
9344 -{
9345 -
9346 -  ;
9347 -  return 0;
9348 -}
9349 -_ACEOF
9350 -rm -f conftest.$ac_objext
9351 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9352 -  (eval $ac_compile) 2>&5
9353 -  ac_status=$?
9354 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9355 -  (exit $ac_status); } &&
9356 -         { ac_try='test -s conftest.$ac_objext'
9357 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9358 -  (eval $ac_try) 2>&5
9359 -  ac_status=$?
9360 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9361 -  (exit $ac_status); }; }; then
9362 -  ac_cv_prog_cc_g=yes
9363 -else
9364 -  echo "$as_me: failed program was:" >&5
9365 -cat conftest.$ac_ext >&5
9366 -ac_cv_prog_cc_g=no
9367 -fi
9368 -rm -f conftest.$ac_objext conftest.$ac_ext
9369 -fi
9370 -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
9371 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
9372 -if test "$ac_test_CFLAGS" = set; then
9373 -  CFLAGS=$ac_save_CFLAGS
9374 -elif test $ac_cv_prog_cc_g = yes; then
9375 -  if test "$GCC" = yes; then
9376 -    CFLAGS="-g -O2"
9377 -  else
9378 -    CFLAGS="-g"
9379 -  fi
9380 -else
9381 -  if test "$GCC" = yes; then
9382 -    CFLAGS="-O2"
9383 -  else
9384 -    CFLAGS=
9385 -  fi
9386 -fi
9387 -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
9388 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
9389 -if test "${ac_cv_prog_cc_stdc+set}" = set; then
9390 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9391 -else
9392 -  ac_cv_prog_cc_stdc=no
9393 -ac_save_CC=$CC
9394 -cat >conftest.$ac_ext <<_ACEOF
9395 -#line $LINENO "configure"
9396 -#include "confdefs.h"
9397 -#include <stdarg.h>
9398 -#include <stdio.h>
9399 -#include <sys/types.h>
9400 -#include <sys/stat.h>
9401 -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
9402 -struct buf { int x; };
9403 -FILE * (*rcsopen) (struct buf *, struct stat *, int);
9404 -static char *e (p, i)
9405 -     char **p;
9406 -     int i;
9407 -{
9408 -  return p[i];
9409 -}
9410 -static char *f (char * (*g) (char **, int), char **p, ...)
9411 -{
9412 -  char *s;
9413 -  va_list v;
9414 -  va_start (v,p);
9415 -  s = g (p, va_arg (v,int));
9416 -  va_end (v);
9417 -  return s;
9418 -}
9419 -int test (int i, double x);
9420 -struct s1 {int (*f) (int a);};
9421 -struct s2 {int (*f) (double a);};
9422 -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
9423 -int argc;
9424 -char **argv;
9425 -int
9426 -main ()
9427 -{
9428 -return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
9429 -  ;
9430 -  return 0;
9431 -}
9432 -_ACEOF
9433 -# Don't try gcc -ansi; that turns off useful extensions and
9434 -# breaks some systems' header files.
9435 -# AIX                  -qlanglvl=ansi
9436 -# Ultrix and OSF/1     -std1
9437 -# HP-UX 10.20 and later        -Ae
9438 -# HP-UX older versions -Aa -D_HPUX_SOURCE
9439 -# SVR4                 -Xc -D__EXTENSIONS__
9440 -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
9441 -do
9442 -  CC="$ac_save_CC $ac_arg"
9443 -  rm -f conftest.$ac_objext
9444 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9445 -  (eval $ac_compile) 2>&5
9446 -  ac_status=$?
9447 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9448 -  (exit $ac_status); } &&
9449 -         { ac_try='test -s conftest.$ac_objext'
9450 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9451 -  (eval $ac_try) 2>&5
9452 -  ac_status=$?
9453 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9454 -  (exit $ac_status); }; }; then
9455 -  ac_cv_prog_cc_stdc=$ac_arg
9456 -break
9457 -else
9458 -  echo "$as_me: failed program was:" >&5
9459 -cat conftest.$ac_ext >&5
9460 -fi
9461 -rm -f conftest.$ac_objext 
9462 -done
9463 -rm -f conftest.$ac_ext conftest.$ac_objext
9464 -CC=$ac_save_CC
9465 -
9466 -fi
9467 -
9468 -case "x$ac_cv_prog_cc_stdc" in
9469 -  x|xno)
9470 -    echo "$as_me:$LINENO: result: none needed" >&5
9471 -echo "${ECHO_T}none needed" >&6 ;;
9472 -  *)
9473 -    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
9474 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
9475 -    CC="$CC $ac_cv_prog_cc_stdc" ;;
9476 -esac
9477 -
9478 -# Some people use a C++ compiler to compile C.  Since we use `exit',
9479 -# in C++ we need to declare it.  In case someone uses the same compiler
9480 -# for both compiling C and C++ we need to have the C++ compiler decide
9481 -# the declaration of exit, since it's the most demanding environment.
9482 -cat >conftest.$ac_ext <<_ACEOF
9483 -@%:@ifndef __cplusplus
9484 -  choke me
9485 -@%:@endif
9486 -_ACEOF
9487 -rm -f conftest.$ac_objext
9488 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9489 -  (eval $ac_compile) 2>&5
9490 -  ac_status=$?
9491 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9492 -  (exit $ac_status); } &&
9493 -         { ac_try='test -s conftest.$ac_objext'
9494 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9495 -  (eval $ac_try) 2>&5
9496 -  ac_status=$?
9497 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9498 -  (exit $ac_status); }; }; then
9499 -  for ac_declaration in \
9500 -   ''\
9501 -   '#include <stdlib.h>' \
9502 -   'extern "C" void std::exit (int) throw (); using std::exit;' \
9503 -   'extern "C" void std::exit (int); using std::exit;' \
9504 -   'extern "C" void exit (int) throw ();' \
9505 -   'extern "C" void exit (int);' \
9506 -   'void exit (int);'
9507 -do
9508 -  cat >conftest.$ac_ext <<_ACEOF
9509 -#line $LINENO "configure"
9510 -#include "confdefs.h"
9511 -@%:@include <stdlib.h>
9512 -$ac_declaration
9513 -int
9514 -main ()
9515 -{
9516 -exit (42);
9517 -  ;
9518 -  return 0;
9519 -}
9520 -_ACEOF
9521 -rm -f conftest.$ac_objext
9522 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9523 -  (eval $ac_compile) 2>&5
9524 -  ac_status=$?
9525 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9526 -  (exit $ac_status); } &&
9527 -         { ac_try='test -s conftest.$ac_objext'
9528 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9529 -  (eval $ac_try) 2>&5
9530 -  ac_status=$?
9531 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9532 -  (exit $ac_status); }; }; then
9533 -  :
9534 -else
9535 -  echo "$as_me: failed program was:" >&5
9536 -cat conftest.$ac_ext >&5
9537 -continue
9538 -fi
9539 -rm -f conftest.$ac_objext conftest.$ac_ext
9540 -  cat >conftest.$ac_ext <<_ACEOF
9541 -#line $LINENO "configure"
9542 -#include "confdefs.h"
9543 -$ac_declaration
9544 -int
9545 -main ()
9546 -{
9547 -exit (42);
9548 -  ;
9549 -  return 0;
9550 -}
9551 -_ACEOF
9552 -rm -f conftest.$ac_objext
9553 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9554 -  (eval $ac_compile) 2>&5
9555 -  ac_status=$?
9556 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9557 -  (exit $ac_status); } &&
9558 -         { ac_try='test -s conftest.$ac_objext'
9559 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9560 -  (eval $ac_try) 2>&5
9561 -  ac_status=$?
9562 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9563 -  (exit $ac_status); }; }; then
9564 -  break
9565 -else
9566 -  echo "$as_me: failed program was:" >&5
9567 -cat conftest.$ac_ext >&5
9568 -fi
9569 -rm -f conftest.$ac_objext conftest.$ac_ext
9570 -done
9571 -rm -f conftest*
9572 -if test -n "$ac_declaration"; then
9573 -  echo '#ifdef __cplusplus' >>confdefs.h
9574 -  echo $ac_declaration      >>confdefs.h
9575 -  echo '#endif'             >>confdefs.h
9576 -fi
9577 -
9578 -else
9579 -  echo "$as_me: failed program was:" >&5
9580 -cat conftest.$ac_ext >&5
9581 -fi
9582 -rm -f conftest.$ac_objext conftest.$ac_ext
9583 -ac_ext=c
9584 -ac_cpp='$CPP $CPPFLAGS'
9585 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
9586 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
9587 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
9588 -
9589 -depcc="$CC"   am_compiler_list=
9590 -
9591 -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
9592 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
9593 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
9594 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9595 -else
9596 -  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
9597 -  # We make a subdir and do the tests there.  Otherwise we can end up
9598 -  # making bogus files that we don't know about and never remove.  For
9599 -  # instance it was reported that on HP-UX the gcc test will end up
9600 -  # making a dummy file named `D' -- because `-MD' means `put the output
9601 -  # in D'.
9602 -  mkdir conftest.dir
9603 -  # Copy depcomp to subdir because otherwise we won't find it if we're
9604 -  # using a relative directory.
9605 -  cp "$am_depcomp" conftest.dir
9606 -  cd conftest.dir
9607 -
9608 -  am_cv_CC_dependencies_compiler_type=none
9609 -  if test "$am_compiler_list" = ""; then
9610 -     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
9611 -  fi
9612 -  for depmode in $am_compiler_list; do
9613 -    # We need to recreate these files for each test, as the compiler may
9614 -    # overwrite some of them when testing with obscure command lines.
9615 -    # This happens at least with the AIX C compiler.
9616 -    echo '#include "conftest.h"' > conftest.c
9617 -    echo 'int i;' > conftest.h
9618 -    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
9619 -
9620 -    case $depmode in
9621 -    nosideeffect)
9622 -      # after this tag, mechanisms are not by side-effect, so they'll
9623 -      # only be used when explicitly requested
9624 -      if test "x$enable_dependency_tracking" = xyes; then
9625 -       continue
9626 -      else
9627 -       break
9628 -      fi
9629 -      ;;
9630 -    none) break ;;
9631 -    esac
9632 -    # We check with `-c' and `-o' for the sake of the "dashmstdout"
9633 -    # mode.  It turns out that the SunPro C++ compiler does not properly
9634 -    # handle `-M -o', and we need to detect this.
9635 -    if depmode=$depmode \
9636 -       source=conftest.c object=conftest.o \
9637 -       depfile=conftest.Po tmpdepfile=conftest.TPo \
9638 -       $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
9639 -       grep conftest.h conftest.Po > /dev/null 2>&1 &&
9640 -       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
9641 -      am_cv_CC_dependencies_compiler_type=$depmode
9642 -      break
9643 -    fi
9644 -  done
9645 -
9646 -  cd ..
9647 -  rm -rf conftest.dir
9648 -else
9649 -  am_cv_CC_dependencies_compiler_type=none
9650 -fi
9651 -
9652 -fi
9653 -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
9654 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
9655 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
9656 -
9657 -
9658 -# Find the correct PATH separator.  Usually this is `:', but
9659 -# DJGPP uses `;' like DOS.
9660 -if test "X${PATH_SEPARATOR+set}" != Xset; then
9661 -  UNAME=${UNAME-`uname 2>/dev/null`}
9662 -  case X$UNAME in
9663 -    *-DOS) lt_cv_sys_path_separator=';' ;;
9664 -    *)     lt_cv_sys_path_separator=':' ;;
9665 -  esac
9666 -  PATH_SEPARATOR=$lt_cv_sys_path_separator
9667 -fi
9668 -
9669 -
9670 -# Check whether --with-gnu-ld or --without-gnu-ld was given.
9671 -if test "${with_gnu_ld+set}" = set; then
9672 -  withval="$with_gnu_ld"
9673 -  test "$withval" = no || with_gnu_ld=yes
9674 -else
9675 -  with_gnu_ld=no
9676 -fi; 
9677 -ac_prog=ld
9678 -if test "$GCC" = yes; then
9679 -  # Check if gcc -print-prog-name=ld gives a path.
9680 -  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
9681 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
9682 -  case $host in
9683 -  *-*-mingw*)
9684 -    # gcc leaves a trailing carriage return which upsets mingw
9685 -    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
9686 -  *)
9687 -    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
9688 -  esac
9689 -  case $ac_prog in
9690 -    # Accept absolute paths.
9691 -    [\\/]* | [A-Za-z]:[\\/]*)
9692 -      re_direlt='/[^/][^/]*/\.\./'
9693 -      # Canonicalize the path of ld
9694 -      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
9695 -      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
9696 -       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
9697 -      done
9698 -      test -z "$LD" && LD="$ac_prog"
9699 -      ;;
9700 -  "")
9701 -    # If it fails, then pretend we aren't using GCC.
9702 -    ac_prog=ld
9703 -    ;;
9704 -  *)
9705 -    # If it is relative, then search for the first ld in PATH.
9706 -    with_gnu_ld=unknown
9707 -    ;;
9708 -  esac
9709 -elif test "$with_gnu_ld" = yes; then
9710 -  echo "$as_me:$LINENO: checking for GNU ld" >&5
9711 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
9712 -else
9713 -  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
9714 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
9715 -fi
9716 -if test "${lt_cv_path_LD+set}" = set; then
9717 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9718 -else
9719 -  if test -z "$LD"; then
9720 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
9721 -  for ac_dir in $PATH; do
9722 -    test -z "$ac_dir" && ac_dir=.
9723 -    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
9724 -      lt_cv_path_LD="$ac_dir/$ac_prog"
9725 -      # Check to see if the program is GNU ld.  I'd rather use --version,
9726 -      # but apparently some GNU ld's only accept -v.
9727 -      # Break only if it was the GNU/non-GNU ld that we prefer.
9728 -      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
9729 -       test "$with_gnu_ld" != no && break
9730 -      else
9731 -       test "$with_gnu_ld" != yes && break
9732 -      fi
9733 -    fi
9734 -  done
9735 -  IFS="$ac_save_ifs"
9736 -else
9737 -  lt_cv_path_LD="$LD" # Let the user override the test with a path.
9738 -fi
9739 -fi
9740 -
9741 -LD="$lt_cv_path_LD"
9742 -if test -n "$LD"; then
9743 -  echo "$as_me:$LINENO: result: $LD" >&5
9744 -echo "${ECHO_T}$LD" >&6
9745 -else
9746 -  echo "$as_me:$LINENO: result: no" >&5
9747 -echo "${ECHO_T}no" >&6
9748 -fi
9749 -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
9750 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
9751 -   { (exit 1); exit 1; }; }
9752 -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
9753 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
9754 -if test "${lt_cv_prog_gnu_ld+set}" = set; then
9755 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9756 -else
9757 -  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
9758 -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
9759 -  lt_cv_prog_gnu_ld=yes
9760 -else
9761 -  lt_cv_prog_gnu_ld=no
9762 -fi
9763 -fi
9764 -echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
9765 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
9766 -with_gnu_ld=$lt_cv_prog_gnu_ld
9767 -
9768 -
9769 -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
9770 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
9771 -if test "${lt_cv_ld_reload_flag+set}" = set; then
9772 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9773 -else
9774 -  lt_cv_ld_reload_flag='-r'
9775 -fi
9776 -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
9777 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
9778 -reload_flag=$lt_cv_ld_reload_flag
9779 -test -n "$reload_flag" && reload_flag=" $reload_flag"
9780 -
9781 -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
9782 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
9783 -if test "${lt_cv_path_NM+set}" = set; then
9784 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9785 -else
9786 -  if test -n "$NM"; then
9787 -  # Let the user override the test.
9788 -  lt_cv_path_NM="$NM"
9789 -else
9790 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
9791 -  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
9792 -    test -z "$ac_dir" && ac_dir=.
9793 -    tmp_nm=$ac_dir/${ac_tool_prefix}nm
9794 -    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
9795 -      # Check to see if the nm accepts a BSD-compat flag.
9796 -      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
9797 -      #   nm: unknown option "B" ignored
9798 -      # Tru64's nm complains that /dev/null is an invalid object file
9799 -      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
9800 -       lt_cv_path_NM="$tmp_nm -B"
9801 -       break
9802 -      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
9803 -       lt_cv_path_NM="$tmp_nm -p"
9804 -       break
9805 -      else
9806 -       lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
9807 -       continue # so that we can try to find one that supports BSD flags
9808 -      fi
9809 -    fi
9810 -  done
9811 -  IFS="$ac_save_ifs"
9812 -  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
9813 -fi
9814 -fi
9815 -
9816 -NM="$lt_cv_path_NM"
9817 -echo "$as_me:$LINENO: result: $NM" >&5
9818 -echo "${ECHO_T}$NM" >&6
9819 -
9820 -echo "$as_me:$LINENO: checking whether ln -s works" >&5
9821 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
9822 -LN_S=$as_ln_s
9823 -if test "$LN_S" = "ln -s"; then
9824 -  echo "$as_me:$LINENO: result: yes" >&5
9825 -echo "${ECHO_T}yes" >&6
9826 -else
9827 -  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
9828 -echo "${ECHO_T}no, using $LN_S" >&6
9829 -fi
9830 -
9831 -echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
9832 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
9833 -if test "${lt_cv_deplibs_check_method+set}" = set; then
9834 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9835 -else
9836 -  lt_cv_file_magic_cmd='$MAGIC_CMD'
9837 -lt_cv_file_magic_test_file=
9838 -lt_cv_deplibs_check_method='unknown'
9839 -# Need to set the preceding variable on all platforms that support
9840 -# interlibrary dependencies.
9841 -# 'none' -- dependencies not supported.
9842 -# `unknown' -- same as none, but documents that we really don't know.
9843 -# 'pass_all' -- all dependencies passed with no checks.
9844 -# 'test_compile' -- check by making test program.
9845 -# 'file_magic [[regex]]' -- check by looking for files in library path
9846 -# which responds to the $file_magic_cmd with a given egrep regex.
9847 -# If you have `file' or equivalent on your system and you're not sure
9848 -# whether `pass_all' will *always* work, you probably want this one.
9849 -
9850 -case $host_os in
9851 -aix4* | aix5*)
9852 -  lt_cv_deplibs_check_method=pass_all
9853 -  ;;
9854 -
9855 -beos*)
9856 -  lt_cv_deplibs_check_method=pass_all
9857 -  ;;
9858 -
9859 -bsdi4*)
9860 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
9861 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
9862 -  lt_cv_file_magic_test_file=/shlib/libc.so
9863 -  ;;
9864 -
9865 -cygwin* | mingw* | pw32*)
9866 -  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
9867 -  lt_cv_file_magic_cmd='$OBJDUMP -f'
9868 -  ;;
9869 -
9870 -darwin* | rhapsody*)
9871 -  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
9872 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
9873 -  case "$host_os" in
9874 -  rhapsody* | darwin1.[012])
9875 -    lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
9876 -    ;;
9877 -  *) # Darwin 1.3 on
9878 -    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
9879 -    ;;
9880 -  esac
9881 -  ;;
9882 -
9883 -freebsd*)
9884 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
9885 -    case $host_cpu in
9886 -    i*86 )
9887 -      # Not sure whether the presence of OpenBSD here was a mistake.
9888 -      # Let's accept both of them until this is cleared up.
9889 -      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
9890 -      lt_cv_file_magic_cmd=/usr/bin/file
9891 -      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
9892 -      ;;
9893 -    esac
9894 -  else
9895 -    lt_cv_deplibs_check_method=pass_all
9896 -  fi
9897 -  ;;
9898 -
9899 -gnu*)
9900 -  lt_cv_deplibs_check_method=pass_all
9901 -  ;;
9902 -
9903 -hpux10.20*|hpux11*)
9904 -  lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
9905 -  lt_cv_file_magic_cmd=/usr/bin/file
9906 -  lt_cv_file_magic_test_file=/usr/lib/libc.sl
9907 -  ;;
9908 -
9909 -irix5* | irix6*)
9910 -  case $host_os in
9911 -  irix5*)
9912 -    # this will be overridden with pass_all, but let us keep it just in case
9913 -    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
9914 -    ;;
9915 -  *)
9916 -    case $LD in
9917 -    *-32|*"-32 ") libmagic=32-bit;;
9918 -    *-n32|*"-n32 ") libmagic=N32;;
9919 -    *-64|*"-64 ") libmagic=64-bit;;
9920 -    *) libmagic=never-match;;
9921 -    esac
9922 -    # this will be overridden with pass_all, but let us keep it just in case
9923 -    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
9924 -    ;;
9925 -  esac
9926 -  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
9927 -  lt_cv_deplibs_check_method=pass_all
9928 -  ;;
9929 -
9930 -# This must be Linux ELF.
9931 -linux-gnu*)
9932 -  case $host_cpu in
9933 -  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
9934 -    lt_cv_deplibs_check_method=pass_all ;;
9935 -  *)
9936 -    # glibc up to 2.1.1 does not perform some relocations on ARM
9937 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
9938 -  esac
9939 -  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
9940 -  ;;
9941 -
9942 -netbsd*)
9943 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
9944 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
9945 -  else
9946 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
9947 -  fi
9948 -  ;;
9949 -
9950 -newos6*)
9951 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
9952 -  lt_cv_file_magic_cmd=/usr/bin/file
9953 -  lt_cv_file_magic_test_file=/usr/lib/libnls.so
9954 -  ;;
9955 -
9956 -openbsd*)
9957 -  lt_cv_file_magic_cmd=/usr/bin/file
9958 -  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
9959 -  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
9960 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
9961 -  else
9962 -    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
9963 -  fi
9964 -  ;;
9965 -
9966 -osf3* | osf4* | osf5*)
9967 -  # this will be overridden with pass_all, but let us keep it just in case
9968 -  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
9969 -  lt_cv_file_magic_test_file=/shlib/libc.so
9970 -  lt_cv_deplibs_check_method=pass_all
9971 -  ;;
9972 -
9973 -sco3.2v5*)
9974 -  lt_cv_deplibs_check_method=pass_all
9975 -  ;;
9976 -
9977 -solaris*)
9978 -  lt_cv_deplibs_check_method=pass_all
9979 -  lt_cv_file_magic_test_file=/lib/libc.so
9980 -  ;;
9981 -
9982 -sysv5uw[78]* | sysv4*uw2*)
9983 -  lt_cv_deplibs_check_method=pass_all
9984 -  ;;
9985 -
9986 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
9987 -  case $host_vendor in
9988 -  motorola)
9989 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
9990 -    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
9991 -    ;;
9992 -  ncr)
9993 -    lt_cv_deplibs_check_method=pass_all
9994 -    ;;
9995 -  sequent)
9996 -    lt_cv_file_magic_cmd='/bin/file'
9997 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
9998 -    ;;
9999 -  sni)
10000 -    lt_cv_file_magic_cmd='/bin/file'
10001 -    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
10002 -    lt_cv_file_magic_test_file=/lib/libc.so
10003 -    ;;
10004 -  esac
10005 -  ;;
10006 -esac
10007 -
10008 -fi
10009 -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
10010 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
10011 -file_magic_cmd=$lt_cv_file_magic_cmd
10012 -deplibs_check_method=$lt_cv_deplibs_check_method
10013 -
10014 -
10015 -
10016 -
10017 -
10018 -
10019 -
10020 -# Check for command to grab the raw symbol name followed by C symbol from nm.
10021 -echo "$as_me:$LINENO: checking command to parse $NM output" >&5
10022 -echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6
10023 -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
10024 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10025 -else
10026 -  
10027 -# These are sane defaults that work on at least a few old systems.
10028 -# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
10029 -
10030 -# Character class describing NM global symbol codes.
10031 -symcode='[BCDEGRST]'
10032 -
10033 -# Regexp to match symbols that can be accessed directly from C.
10034 -sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
10035 -
10036 -# Transform the above into a raw symbol and a C symbol.
10037 -symxfrm='\1 \2\3 \3'
10038 -
10039 -# Transform an extracted symbol line into a proper C declaration
10040 -lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
10041 -
10042 -# Transform an extracted symbol line into symbol name and symbol address
10043 -lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
10044 -
10045 -# Define system-specific variables.
10046 -case $host_os in
10047 -aix*)
10048 -  symcode='[BCDT]'
10049 -  ;;
10050 -cygwin* | mingw* | pw32*)
10051 -  symcode='[ABCDGISTW]'
10052 -  ;;
10053 -hpux*) # Its linker distinguishes data from code symbols
10054 -  lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
10055 -  lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
10056 -  ;;
10057 -irix*)
10058 -  symcode='[BCDEGRST]'
10059 -  ;;
10060 -solaris* | sysv5*)
10061 -  symcode='[BDT]'
10062 -  ;;
10063 -sysv4)
10064 -  symcode='[DFNSTU]'
10065 -  ;;
10066 -esac
10067 -
10068 -# Handle CRLF in mingw tool chain
10069 -opt_cr=
10070 -case $host_os in
10071 -mingw*)
10072 -  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
10073 -  ;;
10074 -esac
10075 -
10076 -# If we're using GNU nm, then use its standard symbol codes.
10077 -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
10078 -  symcode='[ABCDGISTW]'
10079 -fi
10080 -
10081 -# Try without a prefix undercore, then with it.
10082 -for ac_symprfx in "" "_"; do
10083 -
10084 -  # Write the raw and C identifiers.
10085 -lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[        ]\($symcode$symcode*\)[         ][      ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
10086 -
10087 -  # Check to see that the pipe works correctly.
10088 -  pipe_works=no
10089 -  rm -f conftest*
10090 -  cat > conftest.$ac_ext <<EOF
10091 -#ifdef __cplusplus
10092 -extern "C" {
10093 -#endif
10094 -char nm_test_var;
10095 -void nm_test_func(){}
10096 -#ifdef __cplusplus
10097 -}
10098 -#endif
10099 -int main(){nm_test_var='a';nm_test_func();return(0);}
10100 -EOF
10101 -
10102 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10103 -  (eval $ac_compile) 2>&5
10104 -  ac_status=$?
10105 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10106 -  (exit $ac_status); }; then
10107 -    # Now try to grab the symbols.
10108 -    nlist=conftest.nm
10109 -    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
10110 -  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
10111 -  ac_status=$?
10112 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10113 -  (exit $ac_status); } && test -s "$nlist"; then
10114 -      # Try sorting and uniquifying the output.
10115 -      if sort "$nlist" | uniq > "$nlist"T; then
10116 -       mv -f "$nlist"T "$nlist"
10117 -      else
10118 -       rm -f "$nlist"T
10119 -      fi
10120 -
10121 -      # Make sure that we snagged all the symbols we need.
10122 -      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
10123 -       if egrep ' nm_test_func$' "$nlist" >/dev/null; then
10124 -         cat <<EOF > conftest.$ac_ext
10125 -#ifdef __cplusplus
10126 -extern "C" {
10127 -#endif
10128 -
10129 -EOF
10130 -         # Now generate the symbol file.
10131 -         eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
10132 -
10133 -         cat <<EOF >> conftest.$ac_ext
10134 -#if defined (__STDC__) && __STDC__
10135 -# define lt_ptr void *
10136 -#else
10137 -# define lt_ptr char *
10138 -# define const
10139 -#endif
10140 -
10141 -/* The mapping between symbol names and symbols. */
10142 -const struct {
10143 -  const char *name;
10144 -  lt_ptr address;
10145 -}
10146 -lt_preloaded_symbols[] =
10147 -{
10148 -EOF
10149 -         sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
10150 -         cat <<\EOF >> conftest.$ac_ext
10151 -  {0, (lt_ptr) 0}
10152 -};
10153 -
10154 -#ifdef __cplusplus
10155 -}
10156 -#endif
10157 -EOF
10158 -         # Now try linking the two files.
10159 -         mv conftest.$ac_objext conftstm.$ac_objext
10160 -         save_LIBS="$LIBS"
10161 -         save_CFLAGS="$CFLAGS"
10162 -         LIBS="conftstm.$ac_objext"
10163 -         CFLAGS="$CFLAGS$no_builtin_flag"
10164 -         if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
10165 -  (eval $ac_link) 2>&5
10166 -  ac_status=$?
10167 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10168 -  (exit $ac_status); } && test -s conftest; then
10169 -           pipe_works=yes
10170 -         fi
10171 -         LIBS="$save_LIBS"
10172 -         CFLAGS="$save_CFLAGS"
10173 -       else
10174 -         echo "cannot find nm_test_func in $nlist" >&5
10175 -       fi
10176 -      else
10177 -       echo "cannot find nm_test_var in $nlist" >&5
10178 -      fi
10179 -    else
10180 -      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
10181 -    fi
10182 -  else
10183 -    echo "$progname: failed program was:" >&5
10184 -    cat conftest.$ac_ext >&5
10185 -  fi
10186 -  rm -f conftest* conftst*
10187 -
10188 -  # Do not use the global_symbol_pipe unless it works.
10189 -  if test "$pipe_works" = yes; then
10190 -    break
10191 -  else
10192 -    lt_cv_sys_global_symbol_pipe=
10193 -  fi
10194 -done
10195 -
10196 -fi
10197 -
10198 -global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
10199 -if test -z "$lt_cv_sys_global_symbol_pipe"; then
10200 -  global_symbol_to_cdecl=
10201 -  global_symbol_to_c_name_address=
10202 -else
10203 -  global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
10204 -  global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
10205 -fi
10206 -if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
10207 -then
10208 -  echo "$as_me:$LINENO: result: failed" >&5
10209 -echo "${ECHO_T}failed" >&6
10210 -else
10211 -  echo "$as_me:$LINENO: result: ok" >&5
10212 -echo "${ECHO_T}ok" >&6
10213 -fi
10214 -
10215 -ac_ext=c
10216 -ac_cpp='$CPP $CPPFLAGS'
10217 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
10218 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
10219 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
10220 -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
10221 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
10222 -# On Suns, sometimes $CPP names a directory.
10223 -if test -n "$CPP" && test -d "$CPP"; then
10224 -  CPP=
10225 -fi
10226 -if test -z "$CPP"; then
10227 -  if test "${ac_cv_prog_CPP+set}" = set; then
10228 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10229 -else
10230 -      # Double quotes because CPP needs to be expanded
10231 -    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
10232 -    do
10233 -      ac_preproc_ok=false
10234 -for ac_c_preproc_warn_flag in '' yes
10235 -do
10236 -  # Use a header file that comes with gcc, so configuring glibc
10237 -  # with a fresh cross-compiler works.
10238 -  # On the NeXT, cc -E runs the code through the compiler's parser,
10239 -  # not just through cpp. "Syntax error" is here to catch this case.
10240 -  cat >conftest.$ac_ext <<_ACEOF
10241 -#line $LINENO "configure"
10242 -#include "confdefs.h"
10243 -@%:@include <assert.h>
10244 -                     Syntax error
10245 -_ACEOF
10246 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10247 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10248 -  ac_status=$?
10249 -  grep -v '^ *+' conftest.er1 >conftest.err
10250 -  rm -f conftest.er1
10251 -  cat conftest.err >&5
10252 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10253 -  (exit $ac_status); } >/dev/null; then
10254 -  if test -s conftest.err; then
10255 -    ac_cpp_err=$ac_c_preproc_warn_flag
10256 -  else
10257 -    ac_cpp_err=
10258 -  fi
10259 -else
10260 -  ac_cpp_err=yes
10261 -fi
10262 -if test -z "$ac_cpp_err"; then
10263 -  :
10264 -else
10265 -  echo "$as_me: failed program was:" >&5
10266 -  cat conftest.$ac_ext >&5
10267 -  # Broken: fails on valid input.
10268 -continue
10269 -fi
10270 -rm -f conftest.err conftest.$ac_ext
10271 -
10272 -  # OK, works on sane cases.  Now check whether non-existent headers
10273 -  # can be detected and how.
10274 -  cat >conftest.$ac_ext <<_ACEOF
10275 -#line $LINENO "configure"
10276 -#include "confdefs.h"
10277 -@%:@include <ac_nonexistent.h>
10278 -_ACEOF
10279 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10280 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10281 -  ac_status=$?
10282 -  grep -v '^ *+' conftest.er1 >conftest.err
10283 -  rm -f conftest.er1
10284 -  cat conftest.err >&5
10285 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10286 -  (exit $ac_status); } >/dev/null; then
10287 -  if test -s conftest.err; then
10288 -    ac_cpp_err=$ac_c_preproc_warn_flag
10289 -  else
10290 -    ac_cpp_err=
10291 -  fi
10292 -else
10293 -  ac_cpp_err=yes
10294 -fi
10295 -if test -z "$ac_cpp_err"; then
10296 -  # Broken: success on invalid input.
10297 -continue
10298 -else
10299 -  echo "$as_me: failed program was:" >&5
10300 -  cat conftest.$ac_ext >&5
10301 -  # Passes both tests.
10302 -ac_preproc_ok=:
10303 -break
10304 -fi
10305 -rm -f conftest.err conftest.$ac_ext
10306 -
10307 -done
10308 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
10309 -rm -f conftest.err conftest.$ac_ext
10310 -if $ac_preproc_ok; then
10311 -  break
10312 -fi
10313 -
10314 -    done
10315 -    ac_cv_prog_CPP=$CPP
10316 -  
10317 -fi
10318 -  CPP=$ac_cv_prog_CPP
10319 -else
10320 -  ac_cv_prog_CPP=$CPP
10321 -fi
10322 -echo "$as_me:$LINENO: result: $CPP" >&5
10323 -echo "${ECHO_T}$CPP" >&6
10324 -ac_preproc_ok=false
10325 -for ac_c_preproc_warn_flag in '' yes
10326 -do
10327 -  # Use a header file that comes with gcc, so configuring glibc
10328 -  # with a fresh cross-compiler works.
10329 -  # On the NeXT, cc -E runs the code through the compiler's parser,
10330 -  # not just through cpp. "Syntax error" is here to catch this case.
10331 -  cat >conftest.$ac_ext <<_ACEOF
10332 -#line $LINENO "configure"
10333 -#include "confdefs.h"
10334 -@%:@include <assert.h>
10335 -                     Syntax error
10336 -_ACEOF
10337 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10338 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10339 -  ac_status=$?
10340 -  grep -v '^ *+' conftest.er1 >conftest.err
10341 -  rm -f conftest.er1
10342 -  cat conftest.err >&5
10343 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10344 -  (exit $ac_status); } >/dev/null; then
10345 -  if test -s conftest.err; then
10346 -    ac_cpp_err=$ac_c_preproc_warn_flag
10347 -  else
10348 -    ac_cpp_err=
10349 -  fi
10350 -else
10351 -  ac_cpp_err=yes
10352 -fi
10353 -if test -z "$ac_cpp_err"; then
10354 -  :
10355 -else
10356 -  echo "$as_me: failed program was:" >&5
10357 -  cat conftest.$ac_ext >&5
10358 -  # Broken: fails on valid input.
10359 -continue
10360 -fi
10361 -rm -f conftest.err conftest.$ac_ext
10362 -
10363 -  # OK, works on sane cases.  Now check whether non-existent headers
10364 -  # can be detected and how.
10365 -  cat >conftest.$ac_ext <<_ACEOF
10366 -#line $LINENO "configure"
10367 -#include "confdefs.h"
10368 -@%:@include <ac_nonexistent.h>
10369 -_ACEOF
10370 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10371 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10372 -  ac_status=$?
10373 -  grep -v '^ *+' conftest.er1 >conftest.err
10374 -  rm -f conftest.er1
10375 -  cat conftest.err >&5
10376 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10377 -  (exit $ac_status); } >/dev/null; then
10378 -  if test -s conftest.err; then
10379 -    ac_cpp_err=$ac_c_preproc_warn_flag
10380 -  else
10381 -    ac_cpp_err=
10382 -  fi
10383 -else
10384 -  ac_cpp_err=yes
10385 -fi
10386 -if test -z "$ac_cpp_err"; then
10387 -  # Broken: success on invalid input.
10388 -continue
10389 -else
10390 -  echo "$as_me: failed program was:" >&5
10391 -  cat conftest.$ac_ext >&5
10392 -  # Passes both tests.
10393 -ac_preproc_ok=:
10394 -break
10395 -fi
10396 -rm -f conftest.err conftest.$ac_ext
10397 -
10398 -done
10399 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
10400 -rm -f conftest.err conftest.$ac_ext
10401 -if $ac_preproc_ok; then
10402 -  :
10403 -else
10404 -  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5
10405 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
10406 -   { (exit 1); exit 1; }; }
10407 -fi
10408 -
10409 -ac_ext=c
10410 -ac_cpp='$CPP $CPPFLAGS'
10411 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
10412 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
10413 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
10414 -
10415 -
10416 -echo "$as_me:$LINENO: checking for egrep" >&5
10417 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6
10418 -if test "${ac_cv_prog_egrep+set}" = set; then
10419 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10420 -else
10421 -  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
10422 -    then ac_cv_prog_egrep='grep -E'
10423 -    else ac_cv_prog_egrep='egrep'
10424 -    fi
10425 -fi
10426 -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
10427 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6
10428 - EGREP=$ac_cv_prog_egrep
10429
10430 -
10431 -echo "$as_me:$LINENO: checking for ANSI C header files" >&5
10432 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
10433 -if test "${ac_cv_header_stdc+set}" = set; then
10434 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10435 -else
10436 -  cat >conftest.$ac_ext <<_ACEOF
10437 -#line $LINENO "configure"
10438 -#include "confdefs.h"
10439 -#include <stdlib.h>
10440 -#include <stdarg.h>
10441 -#include <string.h>
10442 -#include <float.h>
10443 -
10444 -_ACEOF
10445 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10446 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10447 -  ac_status=$?
10448 -  grep -v '^ *+' conftest.er1 >conftest.err
10449 -  rm -f conftest.er1
10450 -  cat conftest.err >&5
10451 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10452 -  (exit $ac_status); } >/dev/null; then
10453 -  if test -s conftest.err; then
10454 -    ac_cpp_err=$ac_c_preproc_warn_flag
10455 -  else
10456 -    ac_cpp_err=
10457 -  fi
10458 -else
10459 -  ac_cpp_err=yes
10460 -fi
10461 -if test -z "$ac_cpp_err"; then
10462 -  ac_cv_header_stdc=yes
10463 -else
10464 -  echo "$as_me: failed program was:" >&5
10465 -  cat conftest.$ac_ext >&5
10466 -  ac_cv_header_stdc=no
10467 -fi
10468 -rm -f conftest.err conftest.$ac_ext
10469 -
10470 -if test $ac_cv_header_stdc = yes; then
10471 -  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
10472 -  cat >conftest.$ac_ext <<_ACEOF
10473 -#line $LINENO "configure"
10474 -#include "confdefs.h"
10475 -#include <string.h>
10476 -
10477 -_ACEOF
10478 -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10479 -  $EGREP "memchr" >/dev/null 2>&1; then
10480 -  :
10481 -else
10482 -  ac_cv_header_stdc=no
10483 -fi
10484 -rm -f conftest*
10485 -
10486 -fi
10487 -
10488 -if test $ac_cv_header_stdc = yes; then
10489 -  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
10490 -  cat >conftest.$ac_ext <<_ACEOF
10491 -#line $LINENO "configure"
10492 -#include "confdefs.h"
10493 -#include <stdlib.h>
10494 -
10495 -_ACEOF
10496 -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10497 -  $EGREP "free" >/dev/null 2>&1; then
10498 -  :
10499 -else
10500 -  ac_cv_header_stdc=no
10501 -fi
10502 -rm -f conftest*
10503 -
10504 -fi
10505 -
10506 -if test $ac_cv_header_stdc = yes; then
10507 -  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
10508 -  if test "$cross_compiling" = yes; then
10509 -  :
10510 -else
10511 -  cat >conftest.$ac_ext <<_ACEOF
10512 -#line $LINENO "configure"
10513 -#include "confdefs.h"
10514 -#include <ctype.h>
10515 -#if ((' ' & 0x0FF) == 0x020)
10516 -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
10517 -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
10518 -#else
10519 -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
10520 -                     || ('j' <= (c) && (c) <= 'r') \
10521 -                     || ('s' <= (c) && (c) <= 'z'))
10522 -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
10523 -#endif
10524 -
10525 -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
10526 -int
10527 -main ()
10528 -{
10529 -  int i;
10530 -  for (i = 0; i < 256; i++)
10531 -    if (XOR (islower (i), ISLOWER (i))
10532 -        || toupper (i) != TOUPPER (i))
10533 -      exit(2);
10534 -  exit (0);
10535 -}
10536 -_ACEOF
10537 -rm -f conftest$ac_exeext
10538 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
10539 -  (eval $ac_link) 2>&5
10540 -  ac_status=$?
10541 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10542 -  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10543 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10544 -  (eval $ac_try) 2>&5
10545 -  ac_status=$?
10546 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10547 -  (exit $ac_status); }; }; then
10548 -  :
10549 -else
10550 -  echo "$as_me: program exited with status $ac_status" >&5
10551 -echo "$as_me: failed program was:" >&5
10552 -cat conftest.$ac_ext >&5
10553 -( exit $ac_status )
10554 -ac_cv_header_stdc=no
10555 -fi
10556 -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
10557 -fi
10558 -fi
10559 -fi
10560 -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
10561 -echo "${ECHO_T}$ac_cv_header_stdc" >&6
10562 -if test $ac_cv_header_stdc = yes; then
10563 -  
10564 -cat >>confdefs.h <<\_ACEOF
10565 -@%:@define STDC_HEADERS 1
10566 -_ACEOF
10567 -
10568 -fi
10569 -
10570 -# On IRIX 5.3, sys/types and inttypes.h are conflicting.
10571 -
10572 -
10573 -
10574 -
10575 -
10576 -
10577 -
10578 -
10579 -
10580 -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
10581 -                  inttypes.h stdint.h unistd.h
10582 -do
10583 -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10584 -echo "$as_me:$LINENO: checking for $ac_header" >&5
10585 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10586 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10587 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10588 -else
10589 -  cat >conftest.$ac_ext <<_ACEOF
10590 -#line $LINENO "configure"
10591 -#include "confdefs.h"
10592 -$ac_includes_default
10593 -
10594 -@%:@include <$ac_header>
10595 -_ACEOF
10596 -rm -f conftest.$ac_objext
10597 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10598 -  (eval $ac_compile) 2>&5
10599 -  ac_status=$?
10600 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10601 -  (exit $ac_status); } &&
10602 -         { ac_try='test -s conftest.$ac_objext'
10603 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10604 -  (eval $ac_try) 2>&5
10605 -  ac_status=$?
10606 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10607 -  (exit $ac_status); }; }; then
10608 -  eval "$as_ac_Header=yes"
10609 -else
10610 -  echo "$as_me: failed program was:" >&5
10611 -cat conftest.$ac_ext >&5
10612 -eval "$as_ac_Header=no"
10613 -fi
10614 -rm -f conftest.$ac_objext conftest.$ac_ext
10615 -fi
10616 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10617 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10618 -if test `eval echo '${'$as_ac_Header'}'` = yes; then
10619 -  cat >>confdefs.h <<_ACEOF
10620 -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
10621 -_ACEOF
10622
10623 -fi
10624 -
10625 -done
10626 -
10627 -
10628 -
10629 -for ac_header in dlfcn.h
10630 -do
10631 -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10632 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10633 -  echo "$as_me:$LINENO: checking for $ac_header" >&5
10634 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10635 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10636 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10637 -fi
10638 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10639 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10640 -else
10641 -  # Is the header compilable?
10642 -echo "$as_me:$LINENO: checking $ac_header usability" >&5
10643 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
10644 -cat >conftest.$ac_ext <<_ACEOF
10645 -#line $LINENO "configure"
10646 -#include "confdefs.h"
10647 -$ac_includes_default
10648 -@%:@include <$ac_header>
10649 -_ACEOF
10650 -rm -f conftest.$ac_objext
10651 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10652 -  (eval $ac_compile) 2>&5
10653 -  ac_status=$?
10654 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10655 -  (exit $ac_status); } &&
10656 -         { ac_try='test -s conftest.$ac_objext'
10657 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10658 -  (eval $ac_try) 2>&5
10659 -  ac_status=$?
10660 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10661 -  (exit $ac_status); }; }; then
10662 -  ac_header_compiler=yes
10663 -else
10664 -  echo "$as_me: failed program was:" >&5
10665 -cat conftest.$ac_ext >&5
10666 -ac_header_compiler=no
10667 -fi
10668 -rm -f conftest.$ac_objext conftest.$ac_ext
10669 -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
10670 -echo "${ECHO_T}$ac_header_compiler" >&6
10671 -
10672 -# Is the header present?
10673 -echo "$as_me:$LINENO: checking $ac_header presence" >&5
10674 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
10675 -cat >conftest.$ac_ext <<_ACEOF
10676 -#line $LINENO "configure"
10677 -#include "confdefs.h"
10678 -@%:@include <$ac_header>
10679 -_ACEOF
10680 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10681 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10682 -  ac_status=$?
10683 -  grep -v '^ *+' conftest.er1 >conftest.err
10684 -  rm -f conftest.er1
10685 -  cat conftest.err >&5
10686 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10687 -  (exit $ac_status); } >/dev/null; then
10688 -  if test -s conftest.err; then
10689 -    ac_cpp_err=$ac_c_preproc_warn_flag
10690 -  else
10691 -    ac_cpp_err=
10692 -  fi
10693 -else
10694 -  ac_cpp_err=yes
10695 -fi
10696 -if test -z "$ac_cpp_err"; then
10697 -  ac_header_preproc=yes
10698 -else
10699 -  echo "$as_me: failed program was:" >&5
10700 -  cat conftest.$ac_ext >&5
10701 -  ac_header_preproc=no
10702 -fi
10703 -rm -f conftest.err conftest.$ac_ext
10704 -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
10705 -echo "${ECHO_T}$ac_header_preproc" >&6
10706 -
10707 -# So?  What about this header?
10708 -case $ac_header_compiler:$ac_header_preproc in
10709 -  yes:no )
10710 -    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
10711 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
10712 -    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
10713 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
10714 -  no:yes )
10715 -    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
10716 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
10717 -    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
10718 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
10719 -    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
10720 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
10721 -esac
10722 -echo "$as_me:$LINENO: checking for $ac_header" >&5
10723 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10724 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10725 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10726 -else
10727 -  eval "$as_ac_Header=$ac_header_preproc"
10728 -fi
10729 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10730 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10731 -
10732 -fi
10733 -if test `eval echo '${'$as_ac_Header'}'` = yes; then
10734 -  cat >>confdefs.h <<_ACEOF
10735 -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
10736 -_ACEOF
10737
10738 -fi
10739 -
10740 -done
10741 -
10742 -
10743 -
10744 -
10745 -
10746 -# Only perform the check for file, if the check method requires it
10747 -case $deplibs_check_method in
10748 -file_magic*)
10749 -  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
10750 -    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
10751 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
10752 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
10753 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10754 -else
10755 -  case $MAGIC_CMD in
10756 -  /*)
10757 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
10758 -  ;;
10759 -  ?:/*)
10760 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
10761 -  ;;
10762 -  *)
10763 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
10764 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
10765 -  ac_dummy="/usr/bin:$PATH"
10766 -  for ac_dir in $ac_dummy; do
10767 -    test -z "$ac_dir" && ac_dir=.
10768 -    if test -f $ac_dir/${ac_tool_prefix}file; then
10769 -      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
10770 -      if test -n "$file_magic_test_file"; then
10771 -       case $deplibs_check_method in
10772 -       "file_magic "*)
10773 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
10774 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10775 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
10776 -           egrep "$file_magic_regex" > /dev/null; then
10777 -           :
10778 -         else
10779 -           cat <<EOF 1>&2
10780 -
10781 -*** Warning: the command libtool uses to detect shared libraries,
10782 -*** $file_magic_cmd, produces output that libtool cannot recognize.
10783 -*** The result is that libtool may fail to recognize shared libraries
10784 -*** as such.  This will affect the creation of libtool libraries that
10785 -*** depend on shared libraries, but programs linked with such libtool
10786 -*** libraries will work regardless of this problem.  Nevertheless, you
10787 -*** may want to report the problem to your system manager and/or to
10788 -*** bug-libtool@gnu.org
10789 -
10790 -EOF
10791 -         fi ;;
10792 -       esac
10793 -      fi
10794 -      break
10795 -    fi
10796 -  done
10797 -  IFS="$ac_save_ifs"
10798 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
10799 -  ;;
10800 -esac
10801 -fi
10802 -
10803 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10804 -if test -n "$MAGIC_CMD"; then
10805 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
10806 -echo "${ECHO_T}$MAGIC_CMD" >&6
10807 -else
10808 -  echo "$as_me:$LINENO: result: no" >&5
10809 -echo "${ECHO_T}no" >&6
10810 -fi
10811 -
10812 -if test -z "$lt_cv_path_MAGIC_CMD"; then
10813 -  if test -n "$ac_tool_prefix"; then
10814 -    echo "$as_me:$LINENO: checking for file" >&5
10815 -echo $ECHO_N "checking for file... $ECHO_C" >&6
10816 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
10817 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10818 -else
10819 -  case $MAGIC_CMD in
10820 -  /*)
10821 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
10822 -  ;;
10823 -  ?:/*)
10824 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
10825 -  ;;
10826 -  *)
10827 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
10828 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
10829 -  ac_dummy="/usr/bin:$PATH"
10830 -  for ac_dir in $ac_dummy; do
10831 -    test -z "$ac_dir" && ac_dir=.
10832 -    if test -f $ac_dir/file; then
10833 -      lt_cv_path_MAGIC_CMD="$ac_dir/file"
10834 -      if test -n "$file_magic_test_file"; then
10835 -       case $deplibs_check_method in
10836 -       "file_magic "*)
10837 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
10838 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10839 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
10840 -           egrep "$file_magic_regex" > /dev/null; then
10841 -           :
10842 -         else
10843 -           cat <<EOF 1>&2
10844 -
10845 -*** Warning: the command libtool uses to detect shared libraries,
10846 -*** $file_magic_cmd, produces output that libtool cannot recognize.
10847 -*** The result is that libtool may fail to recognize shared libraries
10848 -*** as such.  This will affect the creation of libtool libraries that
10849 -*** depend on shared libraries, but programs linked with such libtool
10850 -*** libraries will work regardless of this problem.  Nevertheless, you
10851 -*** may want to report the problem to your system manager and/or to
10852 -*** bug-libtool@gnu.org
10853 -
10854 -EOF
10855 -         fi ;;
10856 -       esac
10857 -      fi
10858 -      break
10859 -    fi
10860 -  done
10861 -  IFS="$ac_save_ifs"
10862 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
10863 -  ;;
10864 -esac
10865 -fi
10866 -
10867 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10868 -if test -n "$MAGIC_CMD"; then
10869 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
10870 -echo "${ECHO_T}$MAGIC_CMD" >&6
10871 -else
10872 -  echo "$as_me:$LINENO: result: no" >&5
10873 -echo "${ECHO_T}no" >&6
10874 -fi
10875 -
10876 -  else
10877 -    MAGIC_CMD=:
10878 -  fi
10879 -fi
10880 -
10881 -  fi
10882 -  ;;
10883 -esac
10884 -
10885 -if test -n "$ac_tool_prefix"; then
10886 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
10887 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
10888 -echo "$as_me:$LINENO: checking for $ac_word" >&5
10889 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
10890 -if test "${ac_cv_prog_RANLIB+set}" = set; then
10891 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10892 -else
10893 -  if test -n "$RANLIB"; then
10894 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
10895 -else
10896 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10897 -for as_dir in $PATH
10898 -do
10899 -  IFS=$as_save_IFS
10900 -  test -z "$as_dir" && as_dir=.
10901 -  for ac_exec_ext in '' $ac_executable_extensions; do
10902 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10903 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
10904 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
10905 -    break 2
10906 -  fi
10907 -done
10908 -done
10909 -
10910 -fi
10911 -fi
10912 -RANLIB=$ac_cv_prog_RANLIB
10913 -if test -n "$RANLIB"; then
10914 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
10915 -echo "${ECHO_T}$RANLIB" >&6
10916 -else
10917 -  echo "$as_me:$LINENO: result: no" >&5
10918 -echo "${ECHO_T}no" >&6
10919 -fi
10920 -
10921 -fi
10922 -if test -z "$ac_cv_prog_RANLIB"; then
10923 -  ac_ct_RANLIB=$RANLIB
10924 -  # Extract the first word of "ranlib", so it can be a program name with args.
10925 -set dummy ranlib; ac_word=$2
10926 -echo "$as_me:$LINENO: checking for $ac_word" >&5
10927 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
10928 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
10929 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10930 -else
10931 -  if test -n "$ac_ct_RANLIB"; then
10932 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
10933 -else
10934 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10935 -for as_dir in $PATH
10936 -do
10937 -  IFS=$as_save_IFS
10938 -  test -z "$as_dir" && as_dir=.
10939 -  for ac_exec_ext in '' $ac_executable_extensions; do
10940 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10941 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
10942 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
10943 -    break 2
10944 -  fi
10945 -done
10946 -done
10947 -
10948 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
10949 -fi
10950 -fi
10951 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
10952 -if test -n "$ac_ct_RANLIB"; then
10953 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
10954 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
10955 -else
10956 -  echo "$as_me:$LINENO: result: no" >&5
10957 -echo "${ECHO_T}no" >&6
10958 -fi
10959 -
10960 -  RANLIB=$ac_ct_RANLIB
10961 -else
10962 -  RANLIB="$ac_cv_prog_RANLIB"
10963 -fi
10964 -
10965 -if test -n "$ac_tool_prefix"; then
10966 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
10967 -set dummy ${ac_tool_prefix}strip; ac_word=$2
10968 -echo "$as_me:$LINENO: checking for $ac_word" >&5
10969 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
10970 -if test "${ac_cv_prog_STRIP+set}" = set; then
10971 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10972 -else
10973 -  if test -n "$STRIP"; then
10974 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
10975 -else
10976 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10977 -for as_dir in $PATH
10978 -do
10979 -  IFS=$as_save_IFS
10980 -  test -z "$as_dir" && as_dir=.
10981 -  for ac_exec_ext in '' $ac_executable_extensions; do
10982 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10983 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
10984 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
10985 -    break 2
10986 -  fi
10987 -done
10988 -done
10989 -
10990 -fi
10991 -fi
10992 -STRIP=$ac_cv_prog_STRIP
10993 -if test -n "$STRIP"; then
10994 -  echo "$as_me:$LINENO: result: $STRIP" >&5
10995 -echo "${ECHO_T}$STRIP" >&6
10996 -else
10997 -  echo "$as_me:$LINENO: result: no" >&5
10998 -echo "${ECHO_T}no" >&6
10999 -fi
11000 -
11001 -fi
11002 -if test -z "$ac_cv_prog_STRIP"; then
11003 -  ac_ct_STRIP=$STRIP
11004 -  # Extract the first word of "strip", so it can be a program name with args.
11005 -set dummy strip; ac_word=$2
11006 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11007 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11008 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
11009 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11010 -else
11011 -  if test -n "$ac_ct_STRIP"; then
11012 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
11013 -else
11014 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11015 -for as_dir in $PATH
11016 -do
11017 -  IFS=$as_save_IFS
11018 -  test -z "$as_dir" && as_dir=.
11019 -  for ac_exec_ext in '' $ac_executable_extensions; do
11020 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11021 -    ac_cv_prog_ac_ct_STRIP="strip"
11022 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11023 -    break 2
11024 -  fi
11025 -done
11026 -done
11027 -
11028 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
11029 -fi
11030 -fi
11031 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
11032 -if test -n "$ac_ct_STRIP"; then
11033 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
11034 -echo "${ECHO_T}$ac_ct_STRIP" >&6
11035 -else
11036 -  echo "$as_me:$LINENO: result: no" >&5
11037 -echo "${ECHO_T}no" >&6
11038 -fi
11039 -
11040 -  STRIP=$ac_ct_STRIP
11041 -else
11042 -  STRIP="$ac_cv_prog_STRIP"
11043 -fi
11044 -
11045 -
11046 -enable_dlopen=no
11047 -enable_win32_dll=no
11048 -
11049 -# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
11050 -if test "${enable_libtool_lock+set}" = set; then
11051 -  enableval="$enable_libtool_lock"
11052 -  
11053 -fi; 
11054 -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
11055 -
11056 -# Some flags need to be propagated to the compiler or linker for good
11057 -# libtool support.
11058 -case $host in
11059 -*-*-irix6*)
11060 -  # Find out which ABI we are using.
11061 -  echo '#line __oline__ "configure"' > conftest.$ac_ext
11062 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11063 -  (eval $ac_compile) 2>&5
11064 -  ac_status=$?
11065 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11066 -  (exit $ac_status); }; then
11067 -    case `/usr/bin/file conftest.$ac_objext` in
11068 -    *32-bit*)
11069 -      LD="${LD-ld} -32"
11070 -      ;;
11071 -    *N32*)
11072 -      LD="${LD-ld} -n32"
11073 -      ;;
11074 -    *64-bit*)
11075 -      LD="${LD-ld} -64"
11076 -      ;;
11077 -    esac
11078 -  fi
11079 -  rm -rf conftest*
11080 -  ;;
11081 -
11082 -*-*-sco3.2v5*)
11083 -  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
11084 -  SAVE_CFLAGS="$CFLAGS"
11085 -  CFLAGS="$CFLAGS -belf"
11086 -  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
11087 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
11088 -if test "${lt_cv_cc_needs_belf+set}" = set; then
11089 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11090 -else
11091 -  
11092 -
11093 -     ac_ext=c
11094 -ac_cpp='$CPP $CPPFLAGS'
11095 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11096 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11097 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
11098 -
11099 -     cat >conftest.$ac_ext <<_ACEOF
11100 -#line $LINENO "configure"
11101 -#include "confdefs.h"
11102 -
11103 -int
11104 -main ()
11105 -{
11106 -
11107 -  ;
11108 -  return 0;
11109 -}
11110 -_ACEOF
11111 -rm -f conftest.$ac_objext conftest$ac_exeext
11112 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
11113 -  (eval $ac_link) 2>&5
11114 -  ac_status=$?
11115 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11116 -  (exit $ac_status); } &&
11117 -         { ac_try='test -s conftest$ac_exeext'
11118 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11119 -  (eval $ac_try) 2>&5
11120 -  ac_status=$?
11121 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11122 -  (exit $ac_status); }; }; then
11123 -  lt_cv_cc_needs_belf=yes
11124 -else
11125 -  echo "$as_me: failed program was:" >&5
11126 -cat conftest.$ac_ext >&5
11127 -lt_cv_cc_needs_belf=no
11128 -fi
11129 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
11130 -     ac_ext=c
11131 -ac_cpp='$CPP $CPPFLAGS'
11132 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11133 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11134 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
11135 -
11136 -fi
11137 -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
11138 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
11139 -  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
11140 -    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
11141 -    CFLAGS="$SAVE_CFLAGS"
11142 -  fi
11143 -  ;;
11144 -
11145 -
11146 -esac
11147 -
11148 -# Sed substitution that helps us do robust quoting.  It backslashifies
11149 -# metacharacters that are still active within double-quoted strings.
11150 -Xsed='sed -e s/^X//'
11151 -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
11152 -
11153 -# Same as above, but do not quote variable references.
11154 -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
11155 -
11156 -# Sed substitution to delay expansion of an escaped shell variable in a
11157 -# double_quote_subst'ed string.
11158 -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
11159 -
11160 -# Constants:
11161 -rm="rm -f"
11162 -
11163 -# Global variables:
11164 -default_ofile=libtool
11165 -can_build_shared=yes
11166 -
11167 -# All known linkers require a `.a' archive for static linking (except M$VC,
11168 -# which needs '.lib').
11169 -libext=a
11170 -ltmain="$ac_aux_dir/ltmain.sh"
11171 -ofile="$default_ofile"
11172 -with_gnu_ld="$lt_cv_prog_gnu_ld"
11173 -need_locks="$enable_libtool_lock"
11174 -
11175 -old_CC="$CC"
11176 -old_CFLAGS="$CFLAGS"
11177 -
11178 -# Set sane defaults for various variables
11179 -test -z "$AR" && AR=ar
11180 -test -z "$AR_FLAGS" && AR_FLAGS=cru
11181 -test -z "$AS" && AS=as
11182 -test -z "$CC" && CC=cc
11183 -test -z "$DLLTOOL" && DLLTOOL=dlltool
11184 -test -z "$LD" && LD=ld
11185 -test -z "$LN_S" && LN_S="ln -s"
11186 -test -z "$MAGIC_CMD" && MAGIC_CMD=file
11187 -test -z "$NM" && NM=nm
11188 -test -z "$OBJDUMP" && OBJDUMP=objdump
11189 -test -z "$RANLIB" && RANLIB=:
11190 -test -z "$STRIP" && STRIP=:
11191 -test -z "$ac_objext" && ac_objext=o
11192 -
11193 -if test x"$host" != x"$build"; then
11194 -  ac_tool_prefix=${host_alias}-
11195 -else
11196 -  ac_tool_prefix=
11197 -fi
11198 -
11199 -# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
11200 -case $host_os in
11201 -linux-gnu*) ;;
11202 -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
11203 -esac
11204 -
11205 -case $host_os in
11206 -aix3*)
11207 -  # AIX sometimes has problems with the GCC collect2 program.  For some
11208 -  # reason, if we set the COLLECT_NAMES environment variable, the problems
11209 -  # vanish in a puff of smoke.
11210 -  if test "X${COLLECT_NAMES+set}" != Xset; then
11211 -    COLLECT_NAMES=
11212 -    export COLLECT_NAMES
11213 -  fi
11214 -  ;;
11215 -esac
11216 -
11217 -# Determine commands to create old-style static archives.
11218 -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
11219 -old_postinstall_cmds='chmod 644 $oldlib'
11220 -old_postuninstall_cmds=
11221 -
11222 -if test -n "$RANLIB"; then
11223 -  case $host_os in
11224 -  openbsd*)
11225 -    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
11226 -    ;;
11227 -  *)
11228 -    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
11229 -    ;;
11230 -  esac
11231 -  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
11232 -fi
11233 -
11234 -# Allow CC to be a program name with arguments.
11235 -set dummy $CC
11236 -compiler="$2"
11237 -
11238 -echo "$as_me:$LINENO: checking for objdir" >&5
11239 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6
11240 -rm -f .libs 2>/dev/null
11241 -mkdir .libs 2>/dev/null
11242 -if test -d .libs; then
11243 -  objdir=.libs
11244 -else
11245 -  # MS-DOS does not allow filenames that begin with a dot.
11246 -  objdir=_libs
11247 -fi
11248 -rmdir .libs 2>/dev/null
11249 -echo "$as_me:$LINENO: result: $objdir" >&5
11250 -echo "${ECHO_T}$objdir" >&6
11251 -
11252 -
11253 -
11254 -# Check whether --with-pic or --without-pic was given.
11255 -if test "${with_pic+set}" = set; then
11256 -  withval="$with_pic"
11257 -  pic_mode="$withval"
11258 -else
11259 -  pic_mode=default
11260 -fi; 
11261 -test -z "$pic_mode" && pic_mode=default
11262 -
11263 -# We assume here that the value for lt_cv_prog_cc_pic will not be cached
11264 -# in isolation, and that seeing it set (from the cache) indicates that
11265 -# the associated values are set (in the cache) correctly too.
11266 -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
11267 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
11268 -if test "${lt_cv_prog_cc_pic+set}" = set; then
11269 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11270 -else
11271 -   lt_cv_prog_cc_pic=
11272 -  lt_cv_prog_cc_shlib=
11273 -  lt_cv_prog_cc_wl=
11274 -  lt_cv_prog_cc_static=
11275 -  lt_cv_prog_cc_no_builtin=
11276 -  lt_cv_prog_cc_can_build_shared=$can_build_shared
11277 -
11278 -  if test "$GCC" = yes; then
11279 -    lt_cv_prog_cc_wl='-Wl,'
11280 -    lt_cv_prog_cc_static='-static'
11281 -
11282 -    case $host_os in
11283 -    aix*)
11284 -      # Below there is a dirty hack to force normal static linking with -ldl
11285 -      # The problem is because libdl dynamically linked with both libc and
11286 -      # libC (AIX C++ library), which obviously doesn't included in libraries
11287 -      # list by gcc. This cause undefined symbols with -static flags.
11288 -      # This hack allows C programs to be linked with "-static -ldl", but
11289 -      # not sure about C++ programs.
11290 -      lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
11291 -      ;;
11292 -    amigaos*)
11293 -      # FIXME: we need at least 68020 code to build shared libraries, but
11294 -      # adding the `-m68020' flag to GCC prevents building anything better,
11295 -      # like `-m68040'.
11296 -      lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
11297 -      ;;
11298 -    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
11299 -      # PIC is the default for these OSes.
11300 -      ;;
11301 -    darwin* | rhapsody*)
11302 -      # PIC is the default on this platform
11303 -      # Common symbols not allowed in MH_DYLIB files
11304 -      lt_cv_prog_cc_pic='-fno-common'
11305 -      ;;
11306 -    cygwin* | mingw* | pw32* | os2*)
11307 -      # This hack is so that the source file can tell whether it is being
11308 -      # built for inclusion in a dll (and should export symbols for example).
11309 -      lt_cv_prog_cc_pic='-DDLL_EXPORT'
11310 -      ;;
11311 -    sysv4*MP*)
11312 -      if test -d /usr/nec; then
11313 -        lt_cv_prog_cc_pic=-Kconform_pic
11314 -      fi
11315 -      ;;
11316 -    *)
11317 -      lt_cv_prog_cc_pic='-fPIC'
11318 -      ;;
11319 -    esac
11320 -  else
11321 -    # PORTME Check for PIC flags for the system compiler.
11322 -    case $host_os in
11323 -    aix3* | aix4* | aix5*)
11324 -      lt_cv_prog_cc_wl='-Wl,'
11325 -      # All AIX code is PIC.
11326 -      if test "$host_cpu" = ia64; then
11327 -       # AIX 5 now supports IA64 processor
11328 -       lt_cv_prog_cc_static='-Bstatic'
11329 -      else
11330 -       lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
11331 -      fi
11332 -      ;;
11333 -
11334 -    hpux9* | hpux10* | hpux11*)
11335 -      # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
11336 -      lt_cv_prog_cc_wl='-Wl,'
11337 -      lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
11338 -      lt_cv_prog_cc_pic='+Z'
11339 -      ;;
11340 -
11341 -    irix5* | irix6*)
11342 -      lt_cv_prog_cc_wl='-Wl,'
11343 -      lt_cv_prog_cc_static='-non_shared'
11344 -      # PIC (with -KPIC) is the default.
11345 -      ;;
11346 -
11347 -    cygwin* | mingw* | pw32* | os2*)
11348 -      # This hack is so that the source file can tell whether it is being
11349 -      # built for inclusion in a dll (and should export symbols for example).
11350 -      lt_cv_prog_cc_pic='-DDLL_EXPORT'
11351 -      ;;
11352 -
11353 -    newsos6)
11354 -      lt_cv_prog_cc_pic='-KPIC'
11355 -      lt_cv_prog_cc_static='-Bstatic'
11356 -      ;;
11357 -
11358 -    osf3* | osf4* | osf5*)
11359 -      # All OSF/1 code is PIC.
11360 -      lt_cv_prog_cc_wl='-Wl,'
11361 -      lt_cv_prog_cc_static='-non_shared'
11362 -      ;;
11363 -
11364 -    sco3.2v5*)
11365 -      lt_cv_prog_cc_pic='-Kpic'
11366 -      lt_cv_prog_cc_static='-dn'
11367 -      lt_cv_prog_cc_shlib='-belf'
11368 -      ;;
11369 -
11370 -    solaris*)
11371 -      lt_cv_prog_cc_pic='-KPIC'
11372 -      lt_cv_prog_cc_static='-Bstatic'
11373 -      lt_cv_prog_cc_wl='-Wl,'
11374 -      ;;
11375 -
11376 -    sunos4*)
11377 -      lt_cv_prog_cc_pic='-PIC'
11378 -      lt_cv_prog_cc_static='-Bstatic'
11379 -      lt_cv_prog_cc_wl='-Qoption ld '
11380 -      ;;
11381 -
11382 -    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
11383 -      lt_cv_prog_cc_pic='-KPIC'
11384 -      lt_cv_prog_cc_static='-Bstatic'
11385 -      if test "x$host_vendor" = xsni; then
11386 -       lt_cv_prog_cc_wl='-LD'
11387 -      else
11388 -       lt_cv_prog_cc_wl='-Wl,'
11389 -      fi
11390 -      ;;
11391 -
11392 -    uts4*)
11393 -      lt_cv_prog_cc_pic='-pic'
11394 -      lt_cv_prog_cc_static='-Bstatic'
11395 -      ;;
11396 -
11397 -    sysv4*MP*)
11398 -      if test -d /usr/nec ;then
11399 -       lt_cv_prog_cc_pic='-Kconform_pic'
11400 -       lt_cv_prog_cc_static='-Bstatic'
11401 -      fi
11402 -      ;;
11403 -
11404 -    *)
11405 -      lt_cv_prog_cc_can_build_shared=no
11406 -      ;;
11407 -    esac
11408 -  fi
11409 -
11410 -fi
11411 -
11412 -if test -z "$lt_cv_prog_cc_pic"; then
11413 -  echo "$as_me:$LINENO: result: none" >&5
11414 -echo "${ECHO_T}none" >&6
11415 -else
11416 -  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
11417 -echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6
11418 -
11419 -  # Check to make sure the pic_flag actually works.
11420 -  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
11421 -echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6
11422 -  if test "${lt_cv_prog_cc_pic_works+set}" = set; then
11423 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11424 -else
11425 -      save_CFLAGS="$CFLAGS"
11426 -    CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
11427 -    cat >conftest.$ac_ext <<_ACEOF
11428 -#line $LINENO "configure"
11429 -#include "confdefs.h"
11430 -
11431 -int
11432 -main ()
11433 -{
11434 -
11435 -  ;
11436 -  return 0;
11437 -}
11438 -_ACEOF
11439 -rm -f conftest.$ac_objext
11440 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11441 -  (eval $ac_compile) 2>&5
11442 -  ac_status=$?
11443 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11444 -  (exit $ac_status); } &&
11445 -         { ac_try='test -s conftest.$ac_objext'
11446 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11447 -  (eval $ac_try) 2>&5
11448 -  ac_status=$?
11449 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11450 -  (exit $ac_status); }; }; then
11451 -        case $host_os in
11452 -      hpux9* | hpux10* | hpux11*)
11453 -       # On HP-UX, both CC and GCC only warn that PIC is supported... then
11454 -       # they create non-PIC objects.  So, if there were any warnings, we
11455 -       # assume that PIC is not supported.
11456 -       if test -s conftest.err; then
11457 -         lt_cv_prog_cc_pic_works=no
11458 -       else
11459 -         lt_cv_prog_cc_pic_works=yes
11460 -       fi
11461 -       ;;
11462 -      *)
11463 -       lt_cv_prog_cc_pic_works=yes
11464 -       ;;
11465 -      esac
11466 -    
11467 -else
11468 -  echo "$as_me: failed program was:" >&5
11469 -cat conftest.$ac_ext >&5
11470 -      lt_cv_prog_cc_pic_works=no
11471 -    
11472 -fi
11473 -rm -f conftest.$ac_objext conftest.$ac_ext
11474 -    CFLAGS="$save_CFLAGS"
11475 -  
11476 -fi
11477 -
11478 -
11479 -  if test "X$lt_cv_prog_cc_pic_works" = Xno; then
11480 -    lt_cv_prog_cc_pic=
11481 -    lt_cv_prog_cc_can_build_shared=no
11482 -  else
11483 -    lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
11484 -  fi
11485 -
11486 -  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
11487 -echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6
11488 -fi
11489 -
11490 -# Check for any special shared library compilation flags.
11491 -if test -n "$lt_cv_prog_cc_shlib"; then
11492 -  { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5
11493 -echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;}
11494 -  if echo "$old_CC $old_CFLAGS " | egrep -e "[         ]$lt_cv_prog_cc_shlib[  ]" >/dev/null; then :
11495 -  else
11496 -   { echo "$as_me:$LINENO: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
11497 -echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
11498 -    lt_cv_prog_cc_can_build_shared=no
11499 -  fi
11500 -fi
11501 -
11502 -echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
11503 -echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6
11504 -if test "${lt_cv_prog_cc_static_works+set}" = set; then
11505 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11506 -else
11507 -    lt_cv_prog_cc_static_works=no
11508 -  save_LDFLAGS="$LDFLAGS"
11509 -  LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
11510 -  cat >conftest.$ac_ext <<_ACEOF
11511 -#line $LINENO "configure"
11512 -#include "confdefs.h"
11513 -
11514 -int
11515 -main ()
11516 -{
11517 -
11518 -  ;
11519 -  return 0;
11520 -}
11521 -_ACEOF
11522 -rm -f conftest.$ac_objext conftest$ac_exeext
11523 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
11524 -  (eval $ac_link) 2>&5
11525 -  ac_status=$?
11526 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11527 -  (exit $ac_status); } &&
11528 -         { ac_try='test -s conftest$ac_exeext'
11529 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11530 -  (eval $ac_try) 2>&5
11531 -  ac_status=$?
11532 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11533 -  (exit $ac_status); }; }; then
11534 -  lt_cv_prog_cc_static_works=yes
11535 -else
11536 -  echo "$as_me: failed program was:" >&5
11537 -cat conftest.$ac_ext >&5
11538 -fi
11539 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
11540 -  LDFLAGS="$save_LDFLAGS"
11541 -
11542 -fi
11543 -
11544 -
11545 -# Belt *and* braces to stop my trousers falling down:
11546 -test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
11547 -echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
11548 -echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6
11549 -
11550 -pic_flag="$lt_cv_prog_cc_pic"
11551 -special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
11552 -wl="$lt_cv_prog_cc_wl"
11553 -link_static_flag="$lt_cv_prog_cc_static"
11554 -no_builtin_flag="$lt_cv_prog_cc_no_builtin"
11555 -can_build_shared="$lt_cv_prog_cc_can_build_shared"
11556 -
11557 -
11558 -# Check to see if options -o and -c are simultaneously supported by compiler
11559 -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
11560 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
11561 -if test "${lt_cv_compiler_c_o+set}" = set; then
11562 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11563 -else
11564 -  
11565 -$rm -r conftest 2>/dev/null
11566 -mkdir conftest
11567 -cd conftest
11568 -echo "int some_variable = 0;" > conftest.$ac_ext
11569 -mkdir out
11570 -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
11571 -# that will create temporary files in the current directory regardless of
11572 -# the output directory.  Thus, making CWD read-only will cause this test
11573 -# to fail, enabling locking or at least warning the user not to do parallel
11574 -# builds.
11575 -chmod -w .
11576 -save_CFLAGS="$CFLAGS"
11577 -CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
11578 -compiler_c_o=no
11579 -if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
11580 -  # The compiler can only warn and ignore the option if not recognized
11581 -  # So say no if there are warnings
11582 -  if test -s out/conftest.err; then
11583 -    lt_cv_compiler_c_o=no
11584 -  else
11585 -    lt_cv_compiler_c_o=yes
11586 -  fi
11587 -else
11588 -  # Append any errors to the config.log.
11589 -  cat out/conftest.err 1>&5
11590 -  lt_cv_compiler_c_o=no
11591 -fi
11592 -CFLAGS="$save_CFLAGS"
11593 -chmod u+w .
11594 -$rm conftest* out/*
11595 -rmdir out
11596 -cd ..
11597 -rmdir conftest
11598 -$rm -r conftest 2>/dev/null
11599 -
11600 -fi
11601 -
11602 -compiler_c_o=$lt_cv_compiler_c_o
11603 -echo "$as_me:$LINENO: result: $compiler_c_o" >&5
11604 -echo "${ECHO_T}$compiler_c_o" >&6
11605 -
11606 -if test x"$compiler_c_o" = x"yes"; then
11607 -  # Check to see if we can write to a .lo
11608 -  echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
11609 -echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6
11610 -  if test "${lt_cv_compiler_o_lo+set}" = set; then
11611 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11612 -else
11613 -  
11614 -  lt_cv_compiler_o_lo=no
11615 -  save_CFLAGS="$CFLAGS"
11616 -  CFLAGS="$CFLAGS -c -o conftest.lo"
11617 -  save_objext="$ac_objext"
11618 -  ac_objext=lo
11619 -  cat >conftest.$ac_ext <<_ACEOF
11620 -#line $LINENO "configure"
11621 -#include "confdefs.h"
11622 -
11623 -int
11624 -main ()
11625 -{
11626 -int some_variable = 0;
11627 -  ;
11628 -  return 0;
11629 -}
11630 -_ACEOF
11631 -rm -f conftest.$ac_objext
11632 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11633 -  (eval $ac_compile) 2>&5
11634 -  ac_status=$?
11635 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11636 -  (exit $ac_status); } &&
11637 -         { ac_try='test -s conftest.$ac_objext'
11638 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11639 -  (eval $ac_try) 2>&5
11640 -  ac_status=$?
11641 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11642 -  (exit $ac_status); }; }; then
11643 -      # The compiler can only warn and ignore the option if not recognized
11644 -    # So say no if there are warnings
11645 -    if test -s conftest.err; then
11646 -      lt_cv_compiler_o_lo=no
11647 -    else
11648 -      lt_cv_compiler_o_lo=yes
11649 -    fi
11650 -  
11651 -else
11652 -  echo "$as_me: failed program was:" >&5
11653 -cat conftest.$ac_ext >&5
11654 -fi
11655 -rm -f conftest.$ac_objext conftest.$ac_ext
11656 -  ac_objext="$save_objext"
11657 -  CFLAGS="$save_CFLAGS"
11658 -  
11659 -fi
11660 -
11661 -  compiler_o_lo=$lt_cv_compiler_o_lo
11662 -  echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
11663 -echo "${ECHO_T}$compiler_o_lo" >&6
11664 -else
11665 -  compiler_o_lo=no
11666 -fi
11667 -
11668 -# Check to see if we can do hard links to lock some files if needed
11669 -hard_links="nottested"
11670 -if test "$compiler_c_o" = no && test "$need_locks" != no; then
11671 -  # do not overwrite the value of need_locks provided by the user
11672 -  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
11673 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
11674 -  hard_links=yes
11675 -  $rm conftest*
11676 -  ln conftest.a conftest.b 2>/dev/null && hard_links=no
11677 -  touch conftest.a
11678 -  ln conftest.a conftest.b 2>&5 || hard_links=no
11679 -  ln conftest.a conftest.b 2>/dev/null && hard_links=no
11680 -  echo "$as_me:$LINENO: result: $hard_links" >&5
11681 -echo "${ECHO_T}$hard_links" >&6
11682 -  if test "$hard_links" = no; then
11683 -    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
11684 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
11685 -    need_locks=warn
11686 -  fi
11687 -else
11688 -  need_locks=no
11689 -fi
11690 -
11691 -if test "$GCC" = yes; then
11692 -  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
11693 -  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
11694 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
11695 -  echo "int some_variable = 0;" > conftest.$ac_ext
11696 -  save_CFLAGS="$CFLAGS"
11697 -  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
11698 -  compiler_rtti_exceptions=no
11699 -  cat >conftest.$ac_ext <<_ACEOF
11700 -#line $LINENO "configure"
11701 -#include "confdefs.h"
11702 -
11703 -int
11704 -main ()
11705 -{
11706 -int some_variable = 0;
11707 -  ;
11708 -  return 0;
11709 -}
11710 -_ACEOF
11711 -rm -f conftest.$ac_objext
11712 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11713 -  (eval $ac_compile) 2>&5
11714 -  ac_status=$?
11715 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11716 -  (exit $ac_status); } &&
11717 -         { ac_try='test -s conftest.$ac_objext'
11718 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11719 -  (eval $ac_try) 2>&5
11720 -  ac_status=$?
11721 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11722 -  (exit $ac_status); }; }; then
11723 -      # The compiler can only warn and ignore the option if not recognized
11724 -    # So say no if there are warnings
11725 -    if test -s conftest.err; then
11726 -      compiler_rtti_exceptions=no
11727 -    else
11728 -      compiler_rtti_exceptions=yes
11729 -    fi
11730 -  
11731 -else
11732 -  echo "$as_me: failed program was:" >&5
11733 -cat conftest.$ac_ext >&5
11734 -fi
11735 -rm -f conftest.$ac_objext conftest.$ac_ext
11736 -  CFLAGS="$save_CFLAGS"
11737 -  echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
11738 -echo "${ECHO_T}$compiler_rtti_exceptions" >&6
11739 -
11740 -  if test "$compiler_rtti_exceptions" = "yes"; then
11741 -    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
11742 -  else
11743 -    no_builtin_flag=' -fno-builtin'
11744 -  fi
11745 -fi
11746 -
11747 -# See if the linker supports building shared libraries.
11748 -echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
11749 -echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6
11750 -
11751 -allow_undefined_flag=
11752 -no_undefined_flag=
11753 -need_lib_prefix=unknown
11754 -need_version=unknown
11755 -# when you set need_version to no, make sure it does not cause -set_version
11756 -# flags to be left without arguments
11757 -archive_cmds=
11758 -archive_expsym_cmds=
11759 -old_archive_from_new_cmds=
11760 -old_archive_from_expsyms_cmds=
11761 -export_dynamic_flag_spec=
11762 -whole_archive_flag_spec=
11763 -thread_safe_flag_spec=
11764 -hardcode_into_libs=no
11765 -hardcode_libdir_flag_spec=
11766 -hardcode_libdir_separator=
11767 -hardcode_direct=no
11768 -hardcode_minus_L=no
11769 -hardcode_shlibpath_var=unsupported
11770 -runpath_var=
11771 -link_all_deplibs=unknown
11772 -always_export_symbols=no
11773 -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
11774 -# include_expsyms should be a list of space-separated symbols to be *always*
11775 -# included in the symbol list
11776 -include_expsyms=
11777 -# exclude_expsyms can be an egrep regular expression of symbols to exclude
11778 -# it will be wrapped by ` (' and `)$', so one must not match beginning or
11779 -# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
11780 -# as well as any symbol that contains `d'.
11781 -exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
11782 -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
11783 -# platforms (ab)use it in PIC code, but their linkers get confused if
11784 -# the symbol is explicitly referenced.  Since portable code cannot
11785 -# rely on this symbol name, it's probably fine to never include it in
11786 -# preloaded symbol tables.
11787 -extract_expsyms_cmds=
11788 -
11789 -case $host_os in
11790 -cygwin* | mingw* | pw32*)
11791 -  # FIXME: the MSVC++ port hasn't been tested in a loooong time
11792 -  # When not using gcc, we currently assume that we are using
11793 -  # Microsoft Visual C++.
11794 -  if test "$GCC" != yes; then
11795 -    with_gnu_ld=no
11796 -  fi
11797 -  ;;
11798 -openbsd*)
11799 -  with_gnu_ld=no
11800 -  ;;
11801 -esac
11802 -
11803 -ld_shlibs=yes
11804 -if test "$with_gnu_ld" = yes; then
11805 -  # If archive_cmds runs LD, not CC, wlarc should be empty
11806 -  wlarc='${wl}'
11807 -
11808 -  # See if GNU ld supports shared libraries.
11809 -  case $host_os in
11810 -  aix3* | aix4* | aix5*)
11811 -    # On AIX, the GNU linker is very broken
11812 -    # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
11813 -    ld_shlibs=no
11814 -    cat <<EOF 1>&2
11815 -
11816 -*** Warning: the GNU linker, at least up to release 2.9.1, is reported
11817 -*** to be unable to reliably create shared libraries on AIX.
11818 -*** Therefore, libtool is disabling shared libraries support.  If you
11819 -*** really care for shared libraries, you may want to modify your PATH
11820 -*** so that a non-GNU linker is found, and then restart.
11821 -
11822 -EOF
11823 -    ;;
11824 -
11825 -  amigaos*)
11826 -    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
11827 -    hardcode_libdir_flag_spec='-L$libdir'
11828 -    hardcode_minus_L=yes
11829 -
11830 -    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
11831 -    # that the semantics of dynamic libraries on AmigaOS, at least up
11832 -    # to version 4, is to share data among multiple programs linked
11833 -    # with the same dynamic library.  Since this doesn't match the
11834 -    # behavior of shared libraries on other platforms, we can use
11835 -    # them.
11836 -    ld_shlibs=no
11837 -    ;;
11838 -
11839 -  beos*)
11840 -    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
11841 -      allow_undefined_flag=unsupported
11842 -      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
11843 -      # support --undefined.  This deserves some investigation.  FIXME
11844 -      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
11845 -    else
11846 -      ld_shlibs=no
11847 -    fi
11848 -    ;;
11849 -
11850 -  cygwin* | mingw* | pw32*)
11851 -    # hardcode_libdir_flag_spec is actually meaningless, as there is
11852 -    # no search path for DLLs.
11853 -    hardcode_libdir_flag_spec='-L$libdir'
11854 -    allow_undefined_flag=unsupported
11855 -    always_export_symbols=yes
11856 -
11857 -    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
11858 -      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
11859 -      test -f $output_objdir/impgen.exe || (cd $output_objdir && \
11860 -      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
11861 -      else $CC -o impgen impgen.c ; fi)~
11862 -      $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
11863 -
11864 -    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
11865 -
11866 -    # cygwin and mingw dlls have different entry points and sets of symbols
11867 -    # to exclude.
11868 -    # FIXME: what about values for MSVC?
11869 -    dll_entry=__cygwin_dll_entry@12
11870 -    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
11871 -    case $host_os in
11872 -    mingw*)
11873 -      # mingw values
11874 -      dll_entry=_DllMainCRTStartup@12
11875 -      dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
11876 -      ;;
11877 -    esac
11878 -
11879 -    # mingw and cygwin differ, and it's simplest to just exclude the union
11880 -    # of the two symbol sets.
11881 -    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
11882 -
11883 -    # recent cygwin and mingw systems supply a stub DllMain which the user
11884 -    # can override, but on older systems we have to supply one (in ltdll.c)
11885 -    if test "x$lt_cv_need_dllmain" = "xyes"; then
11886 -      ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
11887 -      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
11888 -       test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
11889 -    else
11890 -      ltdll_obj=
11891 -      ltdll_cmds=
11892 -    fi
11893 -
11894 -    # Extract the symbol export list from an `--export-all' def file,
11895 -    # then regenerate the def file from the symbol export list, so that
11896 -    # the compiled dll only exports the symbol export list.
11897 -    # Be careful not to strip the DATA tag left be newer dlltools.
11898 -    export_symbols_cmds="$ltdll_cmds"'
11899 -      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
11900 -      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
11901 -
11902 -    # If the export-symbols file already is a .def file (1st line
11903 -    # is EXPORTS), use it as is.
11904 -    # If DATA tags from a recent dlltool are present, honour them!
11905 -    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
11906 -       cp $export_symbols $output_objdir/$soname-def;
11907 -      else
11908 -       echo EXPORTS > $output_objdir/$soname-def;
11909 -       _lt_hint=1;
11910 -       cat $export_symbols | while read symbol; do
11911 -        set dummy \$symbol;
11912 -        case \$# in
11913 -          2) echo "   \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
11914 -          *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
11915 -        esac;
11916 -        _lt_hint=`expr 1 + \$_lt_hint`;
11917 -       done;
11918 -      fi~
11919 -      '"$ltdll_cmds"'
11920 -      $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
11921 -      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
11922 -      $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
11923 -      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
11924 -      $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
11925 -    ;;
11926 -
11927 -  netbsd*)
11928 -    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
11929 -      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
11930 -      wlarc=
11931 -    else
11932 -      archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
11933 -      archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
11934 -    fi
11935 -    ;;
11936 -
11937 -  solaris* | sysv5*)
11938 -    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
11939 -      ld_shlibs=no
11940 -      cat <<EOF 1>&2
11941 -
11942 -*** Warning: The releases 2.8.* of the GNU linker cannot reliably
11943 -*** create shared libraries on Solaris systems.  Therefore, libtool
11944 -*** is disabling shared libraries support.  We urge you to upgrade GNU
11945 -*** binutils to release 2.9.1 or newer.  Another option is to modify
11946 -*** your PATH or compiler configuration so that the native linker is
11947 -*** used, and then restart.
11948 -
11949 -EOF
11950 -    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
11951 -      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
11952 -      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
11953 -    else
11954 -      ld_shlibs=no
11955 -    fi
11956 -    ;;
11957 -
11958 -  sunos4*)
11959 -    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
11960 -    wlarc=
11961 -    hardcode_direct=yes
11962 -    hardcode_shlibpath_var=no
11963 -    ;;
11964 -
11965 -  *)
11966 -    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
11967 -      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
11968 -      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
11969 -    else
11970 -      ld_shlibs=no
11971 -    fi
11972 -    ;;
11973 -  esac
11974 -
11975 -  if test "$ld_shlibs" = yes; then
11976 -    runpath_var=LD_RUN_PATH
11977 -    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
11978 -    export_dynamic_flag_spec='${wl}--export-dynamic'
11979 -    case $host_os in
11980 -    cygwin* | mingw* | pw32*)
11981 -      # dlltool doesn't understand --whole-archive et. al.
11982 -      whole_archive_flag_spec=
11983 -      ;;
11984 -    *)
11985 -      # ancient GNU ld didn't support --whole-archive et. al.
11986 -      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
11987 -       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
11988 -      else
11989 -       whole_archive_flag_spec=
11990 -      fi
11991 -      ;;
11992 -    esac
11993 -  fi
11994 -else
11995 -  # PORTME fill in a description of your system's linker (not GNU ld)
11996 -  case $host_os in
11997 -  aix3*)
11998 -    allow_undefined_flag=unsupported
11999 -    always_export_symbols=yes
12000 -    archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
12001 -    # Note: this linker hardcodes the directories in LIBPATH if there
12002 -    # are no directories specified by -L.
12003 -    hardcode_minus_L=yes
12004 -    if test "$GCC" = yes && test -z "$link_static_flag"; then
12005 -      # Neither direct hardcoding nor static linking is supported with a
12006 -      # broken collect2.
12007 -      hardcode_direct=unsupported
12008 -    fi
12009 -    ;;
12010 -
12011 -  aix4* | aix5*)
12012 -    if test "$host_cpu" = ia64; then
12013 -      # On IA64, the linker does run time linking by default, so we don't
12014 -      # have to do anything special.
12015 -      aix_use_runtimelinking=no
12016 -      exp_sym_flag='-Bexport'
12017 -      no_entry_flag=""
12018 -    else
12019 -      aix_use_runtimelinking=no
12020 -
12021 -      # Test if we are trying to use run time linking or normal
12022 -      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
12023 -      # need to do runtime linking.
12024 -      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
12025 -       for ld_flag in $LDFLAGS; do
12026 -         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
12027 -           aix_use_runtimelinking=yes
12028 -           break
12029 -         fi
12030 -       done
12031 -      esac
12032 -
12033 -      exp_sym_flag='-bexport'
12034 -      no_entry_flag='-bnoentry'
12035 -    fi
12036 -
12037 -    # When large executables or shared objects are built, AIX ld can
12038 -    # have problems creating the table of contents.  If linking a library
12039 -    # or program results in "error TOC overflow" add -mminimal-toc to
12040 -    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
12041 -    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
12042 -
12043 -    hardcode_direct=yes
12044 -    archive_cmds=''
12045 -    hardcode_libdir_separator=':'
12046 -    if test "$GCC" = yes; then
12047 -      case $host_os in aix4.[012]|aix4.[012].*)
12048 -       collect2name=`${CC} -print-prog-name=collect2`
12049 -       if test -f "$collect2name" && \
12050 -         strings "$collect2name" | grep resolve_lib_name >/dev/null
12051 -       then
12052 -         # We have reworked collect2
12053 -         hardcode_direct=yes
12054 -       else
12055 -         # We have old collect2
12056 -         hardcode_direct=unsupported
12057 -         # It fails to find uninstalled libraries when the uninstalled
12058 -         # path is not listed in the libpath.  Setting hardcode_minus_L
12059 -         # to unsupported forces relinking
12060 -         hardcode_minus_L=yes
12061 -         hardcode_libdir_flag_spec='-L$libdir'
12062 -         hardcode_libdir_separator=
12063 -       fi
12064 -      esac
12065 -
12066 -      shared_flag='-shared'
12067 -    else
12068 -      # not using gcc
12069 -      if test "$host_cpu" = ia64; then
12070 -       shared_flag='${wl}-G'
12071 -      else
12072 -       if test "$aix_use_runtimelinking" = yes; then
12073 -         shared_flag='${wl}-G'
12074 -       else
12075 -         shared_flag='${wl}-bM:SRE'
12076 -       fi
12077 -      fi
12078 -    fi
12079 -
12080 -    # It seems that -bexpall can do strange things, so it is better to
12081 -    # generate a list of symbols to export.
12082 -    always_export_symbols=yes
12083 -    if test "$aix_use_runtimelinking" = yes; then
12084 -      # Warning - without using the other runtime loading flags (-brtl),
12085 -      # -berok will link without error, but may produce a broken library.
12086 -      allow_undefined_flag='-berok'
12087 -      hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
12088 -      archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
12089 -    else
12090 -      if test "$host_cpu" = ia64; then
12091 -       hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
12092 -       allow_undefined_flag="-z nodefs"
12093 -       archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
12094 -      else
12095 -       hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
12096 -       # Warning - without using the other run time loading flags,
12097 -       # -berok will link without error, but may produce a broken library.
12098 -       allow_undefined_flag='${wl}-berok'
12099 -       # This is a bit strange, but is similar to how AIX traditionally builds
12100 -       # it's shared libraries.
12101 -       archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
12102 -      fi
12103 -    fi
12104 -    ;;
12105 -
12106 -  amigaos*)
12107 -    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
12108 -    hardcode_libdir_flag_spec='-L$libdir'
12109 -    hardcode_minus_L=yes
12110 -    # see comment about different semantics on the GNU ld section
12111 -    ld_shlibs=no
12112 -    ;;
12113 -
12114 -  cygwin* | mingw* | pw32*)
12115 -    # When not using gcc, we currently assume that we are using
12116 -    # Microsoft Visual C++.
12117 -    # hardcode_libdir_flag_spec is actually meaningless, as there is
12118 -    # no search path for DLLs.
12119 -    hardcode_libdir_flag_spec=' '
12120 -    allow_undefined_flag=unsupported
12121 -    # Tell ltmain to make .lib files, not .a files.
12122 -    libext=lib
12123 -    # FIXME: Setting linknames here is a bad hack.
12124 -    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
12125 -    # The linker will automatically build a .lib file if we build a DLL.
12126 -    old_archive_from_new_cmds='true'
12127 -    # FIXME: Should let the user specify the lib program.
12128 -    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
12129 -    fix_srcfile_path='`cygpath -w "$srcfile"`'
12130 -    ;;
12131 -
12132 -  darwin* | rhapsody*)
12133 -    case "$host_os" in
12134 -    rhapsody* | darwin1.[012])
12135 -      allow_undefined_flag='-undefined suppress'
12136 -      ;;
12137 -    *) # Darwin 1.3 on
12138 -      allow_undefined_flag='-flat_namespace -undefined suppress'
12139 -      ;;
12140 -    esac
12141 -    # FIXME: Relying on posixy $() will cause problems for
12142 -    #        cross-compilation, but unfortunately the echo tests do not
12143 -    #        yet detect zsh echo's removal of \ escapes.
12144 -    archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
12145 -    # We need to add '_' to the symbols in $export_symbols first
12146 -    #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
12147 -    hardcode_direct=yes
12148 -    hardcode_shlibpath_var=no
12149 -    whole_archive_flag_spec='-all_load $convenience'
12150 -    ;;
12151 -
12152 -  freebsd1*)
12153 -    ld_shlibs=no
12154 -    ;;
12155 -
12156 -  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
12157 -  # support.  Future versions do this automatically, but an explicit c++rt0.o
12158 -  # does not break anything, and helps significantly (at the cost of a little
12159 -  # extra space).
12160 -  freebsd2.2*)
12161 -    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
12162 -    hardcode_libdir_flag_spec='-R$libdir'
12163 -    hardcode_direct=yes
12164 -    hardcode_shlibpath_var=no
12165 -    ;;
12166 -
12167 -  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
12168 -  freebsd2*)
12169 -    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12170 -    hardcode_direct=yes
12171 -    hardcode_minus_L=yes
12172 -    hardcode_shlibpath_var=no
12173 -    ;;
12174 -
12175 -  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
12176 -  freebsd*)
12177 -    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
12178 -    hardcode_libdir_flag_spec='-R$libdir'
12179 -    hardcode_direct=yes
12180 -    hardcode_shlibpath_var=no
12181 -    ;;
12182 -
12183 -  hpux9* | hpux10* | hpux11*)
12184 -    case $host_os in
12185 -    hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
12186 -    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
12187 -    esac
12188 -    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
12189 -    hardcode_libdir_separator=:
12190 -    hardcode_direct=yes
12191 -    hardcode_minus_L=yes # Not in the search PATH, but as the default
12192 -                        # location of the library.
12193 -    export_dynamic_flag_spec='${wl}-E'
12194 -    ;;
12195 -
12196 -  irix5* | irix6*)
12197 -    if test "$GCC" = yes; then
12198 -      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12199 -    else
12200 -      archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
12201 -    fi
12202 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12203 -    hardcode_libdir_separator=:
12204 -    link_all_deplibs=yes
12205 -    ;;
12206 -
12207 -  netbsd*)
12208 -    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12209 -      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
12210 -    else
12211 -      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
12212 -    fi
12213 -    hardcode_libdir_flag_spec='-R$libdir'
12214 -    hardcode_direct=yes
12215 -    hardcode_shlibpath_var=no
12216 -    ;;
12217 -
12218 -  newsos6)
12219 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12220 -    hardcode_direct=yes
12221 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12222 -    hardcode_libdir_separator=:
12223 -    hardcode_shlibpath_var=no
12224 -    ;;
12225 -
12226 -  openbsd*)
12227 -    hardcode_direct=yes
12228 -    hardcode_shlibpath_var=no
12229 -    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12230 -      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
12231 -      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
12232 -      export_dynamic_flag_spec='${wl}-E'
12233 -    else
12234 -      case "$host_os" in
12235 -      openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
12236 -       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12237 -       hardcode_libdir_flag_spec='-R$libdir'
12238 -        ;;
12239 -      *)
12240 -        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
12241 -        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
12242 -        ;;
12243 -      esac
12244 -    fi
12245 -    ;;
12246 -
12247 -  os2*)
12248 -    hardcode_libdir_flag_spec='-L$libdir'
12249 -    hardcode_minus_L=yes
12250 -    allow_undefined_flag=unsupported
12251 -    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
12252 -    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
12253 -    ;;
12254 -
12255 -  osf3*)
12256 -    if test "$GCC" = yes; then
12257 -      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
12258 -      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12259 -    else
12260 -      allow_undefined_flag=' -expect_unresolved \*'
12261 -      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
12262 -    fi
12263 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12264 -    hardcode_libdir_separator=:
12265 -    ;;
12266 -
12267 -  osf4* | osf5*)       # as osf3* with the addition of -msym flag
12268 -    if test "$GCC" = yes; then
12269 -      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
12270 -      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12271 -      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12272 -    else
12273 -      allow_undefined_flag=' -expect_unresolved \*'
12274 -      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
12275 -      archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
12276 -      $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
12277 -
12278 -      #Both c and cxx compiler support -rpath directly
12279 -      hardcode_libdir_flag_spec='-rpath $libdir'
12280 -    fi
12281 -    hardcode_libdir_separator=:
12282 -    ;;
12283 -
12284 -  sco3.2v5*)
12285 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12286 -    hardcode_shlibpath_var=no
12287 -    runpath_var=LD_RUN_PATH
12288 -    hardcode_runpath_var=yes
12289 -    export_dynamic_flag_spec='${wl}-Bexport'
12290 -    ;;
12291 -
12292 -  solaris*)
12293 -    # gcc --version < 3.0 without binutils cannot create self contained
12294 -    # shared libraries reliably, requiring libgcc.a to resolve some of
12295 -    # the object symbols generated in some cases.  Libraries that use
12296 -    # assert need libgcc.a to resolve __eprintf, for example.  Linking
12297 -    # a copy of libgcc.a into every shared library to guarantee resolving
12298 -    # such symbols causes other problems:  According to Tim Van Holder
12299 -    # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
12300 -    # (to the application) exception stack for one thing.
12301 -    no_undefined_flag=' -z defs'
12302 -    if test "$GCC" = yes; then
12303 -      case `$CC --version 2>/dev/null` in
12304 -      [12].*)
12305 -       cat <<EOF 1>&2
12306 -
12307 -*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
12308 -*** create self contained shared libraries on Solaris systems, without
12309 -*** introducing a dependency on libgcc.a.  Therefore, libtool is disabling
12310 -*** -no-undefined support, which will at least allow you to build shared
12311 -*** libraries.  However, you may find that when you link such libraries
12312 -*** into an application without using GCC, you have to manually add
12313 -*** \`gcc --print-libgcc-file-name\` to the link command.  We urge you to
12314 -*** upgrade to a newer version of GCC.  Another option is to rebuild your
12315 -*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
12316 -
12317 -EOF
12318 -        no_undefined_flag=
12319 -       ;;
12320 -      esac
12321 -    fi
12322 -    # $CC -shared without GNU ld will not create a library from C++
12323 -    # object files and a static libstdc++, better avoid it by now
12324 -    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
12325 -    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12326 -               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
12327 -    hardcode_libdir_flag_spec='-R$libdir'
12328 -    hardcode_shlibpath_var=no
12329 -    case $host_os in
12330 -    solaris2.[0-5] | solaris2.[0-5].*) ;;
12331 -    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
12332 -      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
12333 -    esac
12334 -    link_all_deplibs=yes
12335 -    ;;
12336 -
12337 -  sunos4*)
12338 -    if test "x$host_vendor" = xsequent; then
12339 -      # Use $CC to link under sequent, because it throws in some extra .o
12340 -      # files that make .init and .fini sections work.
12341 -      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
12342 -    else
12343 -      archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
12344 -    fi
12345 -    hardcode_libdir_flag_spec='-L$libdir'
12346 -    hardcode_direct=yes
12347 -    hardcode_minus_L=yes
12348 -    hardcode_shlibpath_var=no
12349 -    ;;
12350 -
12351 -  sysv4)
12352 -    if test "x$host_vendor" = xsno; then
12353 -      archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
12354 -      hardcode_direct=yes # is this really true???
12355 -    else
12356 -      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12357 -      hardcode_direct=no #Motorola manual says yes, but my tests say they lie
12358 -    fi
12359 -    runpath_var='LD_RUN_PATH'
12360 -    hardcode_shlibpath_var=no
12361 -    ;;
12362 -
12363 -  sysv4.3*)
12364 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12365 -    hardcode_shlibpath_var=no
12366 -    export_dynamic_flag_spec='-Bexport'
12367 -    ;;
12368 -
12369 -  sysv5*)
12370 -    no_undefined_flag=' -z text'
12371 -    # $CC -shared without GNU ld will not create a library from C++
12372 -    # object files and a static libstdc++, better avoid it by now
12373 -    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
12374 -    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12375 -               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
12376 -    hardcode_libdir_flag_spec=
12377 -    hardcode_shlibpath_var=no
12378 -    runpath_var='LD_RUN_PATH'
12379 -    ;;
12380 -
12381 -  uts4*)
12382 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12383 -    hardcode_libdir_flag_spec='-L$libdir'
12384 -    hardcode_shlibpath_var=no
12385 -    ;;
12386 -
12387 -  dgux*)
12388 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12389 -    hardcode_libdir_flag_spec='-L$libdir'
12390 -    hardcode_shlibpath_var=no
12391 -    ;;
12392 -
12393 -  sysv4*MP*)
12394 -    if test -d /usr/nec; then
12395 -      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12396 -      hardcode_shlibpath_var=no
12397 -      runpath_var=LD_RUN_PATH
12398 -      hardcode_runpath_var=yes
12399 -      ld_shlibs=yes
12400 -    fi
12401 -    ;;
12402 -
12403 -  sysv4.2uw2*)
12404 -    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
12405 -    hardcode_direct=yes
12406 -    hardcode_minus_L=no
12407 -    hardcode_shlibpath_var=no
12408 -    hardcode_runpath_var=yes
12409 -    runpath_var=LD_RUN_PATH
12410 -    ;;
12411 -
12412 -  sysv5uw7* | unixware7*)
12413 -    no_undefined_flag='${wl}-z ${wl}text'
12414 -    if test "$GCC" = yes; then
12415 -      archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12416 -    else
12417 -      archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12418 -    fi
12419 -    runpath_var='LD_RUN_PATH'
12420 -    hardcode_shlibpath_var=no
12421 -    ;;
12422 -
12423 -  *)
12424 -    ld_shlibs=no
12425 -    ;;
12426 -  esac
12427 -fi
12428 -echo "$as_me:$LINENO: result: $ld_shlibs" >&5
12429 -echo "${ECHO_T}$ld_shlibs" >&6
12430 -test "$ld_shlibs" = no && can_build_shared=no
12431 -
12432 -# Check hardcoding attributes.
12433 -echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
12434 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
12435 -hardcode_action=
12436 -if test -n "$hardcode_libdir_flag_spec" || \
12437 -   test -n "$runpath_var"; then
12438 -
12439 -  # We can hardcode non-existant directories.
12440 -  if test "$hardcode_direct" != no &&
12441 -     # If the only mechanism to avoid hardcoding is shlibpath_var, we
12442 -     # have to relink, otherwise we might link with an installed library
12443 -     # when we should be linking with a yet-to-be-installed one
12444 -     ## test "$hardcode_shlibpath_var" != no &&
12445 -     test "$hardcode_minus_L" != no; then
12446 -    # Linking always hardcodes the temporary library directory.
12447 -    hardcode_action=relink
12448 -  else
12449 -    # We can link without hardcoding, and we can hardcode nonexisting dirs.
12450 -    hardcode_action=immediate
12451 -  fi
12452 -else
12453 -  # We cannot hardcode anything, or else we can only hardcode existing
12454 -  # directories.
12455 -  hardcode_action=unsupported
12456 -fi
12457 -echo "$as_me:$LINENO: result: $hardcode_action" >&5
12458 -echo "${ECHO_T}$hardcode_action" >&6
12459 -
12460 -striplib=
12461 -old_striplib=
12462 -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
12463 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
12464 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
12465 -  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
12466 -  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
12467 -  echo "$as_me:$LINENO: result: yes" >&5
12468 -echo "${ECHO_T}yes" >&6
12469 -else
12470 -  echo "$as_me:$LINENO: result: no" >&5
12471 -echo "${ECHO_T}no" >&6
12472 -fi
12473 -
12474 -reload_cmds='$LD$reload_flag -o $output$reload_objs'
12475 -test -z "$deplibs_check_method" && deplibs_check_method=unknown
12476 -
12477 -# PORTME Fill in your ld.so characteristics
12478 -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
12479 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
12480 -library_names_spec=
12481 -libname_spec='lib$name'
12482 -soname_spec=
12483 -postinstall_cmds=
12484 -postuninstall_cmds=
12485 -finish_cmds=
12486 -finish_eval=
12487 -shlibpath_var=
12488 -shlibpath_overrides_runpath=unknown
12489 -version_type=none
12490 -dynamic_linker="$host_os ld.so"
12491 -sys_lib_dlsearch_path_spec="/lib /usr/lib"
12492 -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
12493 -
12494 -case $host_os in
12495 -aix3*)
12496 -  version_type=linux
12497 -  library_names_spec='${libname}${release}.so$versuffix $libname.a'
12498 -  shlibpath_var=LIBPATH
12499 -
12500 -  # AIX has no versioning support, so we append a major version to the name.
12501 -  soname_spec='${libname}${release}.so$major'
12502 -  ;;
12503 -
12504 -aix4* | aix5*)
12505 -  version_type=linux
12506 -  if test "$host_cpu" = ia64; then
12507 -    # AIX 5 supports IA64
12508 -    library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
12509 -    shlibpath_var=LD_LIBRARY_PATH
12510 -  else
12511 -    # With GCC up to 2.95.x, collect2 would create an import file
12512 -    # for dependence libraries.  The import file would start with
12513 -    # the line `#! .'.  This would cause the generated library to
12514 -    # depend on `.', always an invalid library.  This was fixed in
12515 -    # development snapshots of GCC prior to 3.0.
12516 -    case $host_os in
12517 -      aix4 | aix4.[01] | aix4.[01].*)
12518 -       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
12519 -            echo ' yes '
12520 -            echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
12521 -         :
12522 -       else
12523 -         can_build_shared=no
12524 -       fi
12525 -       ;;
12526 -    esac
12527 -    # AIX (on Power*) has no versioning support, so currently we can
12528 -    # not hardcode correct soname into executable. Probably we can
12529 -    # add versioning support to collect2, so additional links can
12530 -    # be useful in future.
12531 -    if test "$aix_use_runtimelinking" = yes; then
12532 -      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
12533 -      # instead of lib<name>.a to let people know that these are not
12534 -      # typical AIX shared libraries.
12535 -      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12536 -    else
12537 -      # We preserve .a as extension for shared libraries through AIX4.2
12538 -      # and later when we are not doing run time linking.
12539 -      library_names_spec='${libname}${release}.a $libname.a'
12540 -      soname_spec='${libname}${release}.so$major'
12541 -    fi
12542 -    shlibpath_var=LIBPATH
12543 -  fi
12544 -  ;;
12545 -
12546 -amigaos*)
12547 -  library_names_spec='$libname.ixlibrary $libname.a'
12548 -  # Create ${libname}_ixlibrary.a entries in /sys/libs.
12549 -  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
12550 -  ;;
12551 -
12552 -beos*)
12553 -  library_names_spec='${libname}.so'
12554 -  dynamic_linker="$host_os ld.so"
12555 -  shlibpath_var=LIBRARY_PATH
12556 -  ;;
12557 -
12558 -bsdi4*)
12559 -  version_type=linux
12560 -  need_version=no
12561 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12562 -  soname_spec='${libname}${release}.so$major'
12563 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
12564 -  shlibpath_var=LD_LIBRARY_PATH
12565 -  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
12566 -  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
12567 -  export_dynamic_flag_spec=-rdynamic
12568 -  # the default ld.so.conf also contains /usr/contrib/lib and
12569 -  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
12570 -  # libtool to hard-code these into programs
12571 -  ;;
12572 -
12573 -cygwin* | mingw* | pw32*)
12574 -  version_type=windows
12575 -  need_version=no
12576 -  need_lib_prefix=no
12577 -  case $GCC,$host_os in
12578 -  yes,cygwin*)
12579 -    library_names_spec='$libname.dll.a'
12580 -    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
12581 -    postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
12582 -      dldir=$destdir/`dirname \$dlpath`~
12583 -      test -d \$dldir || mkdir -p \$dldir~
12584 -      $install_prog .libs/$dlname \$dldir/$dlname'
12585 -    postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
12586 -      dlpath=$dir/\$dldll~
12587 -       $rm \$dlpath'
12588 -    ;;
12589 -  yes,mingw*)
12590 -    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
12591 -    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
12592 -    ;;
12593 -  yes,pw32*)
12594 -    library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll'
12595 -    ;;
12596 -  *)
12597 -    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
12598 -    ;;
12599 -  esac
12600 -  dynamic_linker='Win32 ld.exe'
12601 -  # FIXME: first we should search . and the directory the executable is in
12602 -  shlibpath_var=PATH
12603 -  ;;
12604 -
12605 -darwin* | rhapsody*)
12606 -  dynamic_linker="$host_os dyld"
12607 -  version_type=darwin
12608 -  need_lib_prefix=no
12609 -  need_version=no
12610 -  # FIXME: Relying on posixy $() will cause problems for
12611 -  #        cross-compilation, but unfortunately the echo tests do not
12612 -  #        yet detect zsh echo's removal of \ escapes.
12613 -  library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
12614 -  soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
12615 -  shlibpath_overrides_runpath=yes
12616 -  shlibpath_var=DYLD_LIBRARY_PATH
12617 -  ;;
12618 -
12619 -freebsd1*)
12620 -  dynamic_linker=no
12621 -  ;;
12622 -
12623 -freebsd*)
12624 -  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
12625 -  version_type=freebsd-$objformat
12626 -  case $version_type in
12627 -    freebsd-elf*)
12628 -      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
12629 -      need_version=no
12630 -      need_lib_prefix=no
12631 -      ;;
12632 -    freebsd-*)
12633 -      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
12634 -      need_version=yes
12635 -      ;;
12636 -  esac
12637 -  shlibpath_var=LD_LIBRARY_PATH
12638 -  case $host_os in
12639 -  freebsd2*)
12640 -    shlibpath_overrides_runpath=yes
12641 -    ;;
12642 -  *)
12643 -    shlibpath_overrides_runpath=no
12644 -    hardcode_into_libs=yes
12645 -    ;;
12646 -  esac
12647 -  ;;
12648 -
12649 -gnu*)
12650 -  version_type=linux
12651 -  need_lib_prefix=no
12652 -  need_version=no
12653 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
12654 -  soname_spec='${libname}${release}.so$major'
12655 -  shlibpath_var=LD_LIBRARY_PATH
12656 -  hardcode_into_libs=yes
12657 -  ;;
12658 -
12659 -hpux9* | hpux10* | hpux11*)
12660 -  # Give a soname corresponding to the major version so that dld.sl refuses to
12661 -  # link against other versions.
12662 -  dynamic_linker="$host_os dld.sl"
12663 -  version_type=sunos
12664 -  need_lib_prefix=no
12665 -  need_version=no
12666 -  shlibpath_var=SHLIB_PATH
12667 -  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
12668 -  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
12669 -  soname_spec='${libname}${release}.sl$major'
12670 -  # HP-UX runs *really* slowly unless shared libraries are mode 555.
12671 -  postinstall_cmds='chmod 555 $lib'
12672 -  ;;
12673 -
12674 -irix5* | irix6*)
12675 -  version_type=irix
12676 -  need_lib_prefix=no
12677 -  need_version=no
12678 -  soname_spec='${libname}${release}.so$major'
12679 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
12680 -  case $host_os in
12681 -  irix5*)
12682 -    libsuff= shlibsuff=
12683 -    ;;
12684 -  *)
12685 -    case $LD in # libtool.m4 will add one of these switches to LD
12686 -    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
12687 -    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
12688 -    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
12689 -    *) libsuff= shlibsuff= libmagic=never-match;;
12690 -    esac
12691 -    ;;
12692 -  esac
12693 -  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
12694 -  shlibpath_overrides_runpath=no
12695 -  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
12696 -  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
12697 -  ;;
12698 -
12699 -# No shared lib support for Linux oldld, aout, or coff.
12700 -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
12701 -  dynamic_linker=no
12702 -  ;;
12703 -
12704 -# This must be Linux ELF.
12705 -linux-gnu*)
12706 -  version_type=linux
12707 -  need_lib_prefix=no
12708 -  need_version=no
12709 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12710 -  soname_spec='${libname}${release}.so$major'
12711 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
12712 -  shlibpath_var=LD_LIBRARY_PATH
12713 -  shlibpath_overrides_runpath=no
12714 -  # This implies no fast_install, which is unacceptable.
12715 -  # Some rework will be needed to allow for fast_install
12716 -  # before this can be enabled.
12717 -  hardcode_into_libs=yes
12718 -
12719 -  # We used to test for /lib/ld.so.1 and disable shared libraries on
12720 -  # powerpc, because MkLinux only supported shared libraries with the
12721 -  # GNU dynamic linker.  Since this was broken with cross compilers,
12722 -  # most powerpc-linux boxes support dynamic linking these days and
12723 -  # people can always --disable-shared, the test was removed, and we
12724 -  # assume the GNU/Linux dynamic linker is in use.
12725 -  dynamic_linker='GNU/Linux ld.so'
12726 -  ;;
12727 -
12728 -netbsd*)
12729 -  version_type=sunos
12730 -  need_lib_prefix=no
12731 -  need_version=no
12732 -  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12733 -    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
12734 -    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
12735 -    dynamic_linker='NetBSD (a.out) ld.so'
12736 -  else
12737 -    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
12738 -    soname_spec='${libname}${release}.so$major'
12739 -    dynamic_linker='NetBSD ld.elf_so'
12740 -  fi
12741 -  shlibpath_var=LD_LIBRARY_PATH
12742 -  shlibpath_overrides_runpath=yes
12743 -  hardcode_into_libs=yes
12744 -  ;;
12745 -
12746 -newsos6)
12747 -  version_type=linux
12748 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12749 -  shlibpath_var=LD_LIBRARY_PATH
12750 -  shlibpath_overrides_runpath=yes
12751 -  ;;
12752 -
12753 -openbsd*)
12754 -  version_type=sunos
12755 -  need_lib_prefix=no
12756 -  need_version=no
12757 -  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12758 -    case "$host_os" in
12759 -    openbsd2.[89] | openbsd2.[89].*)
12760 -      shlibpath_overrides_runpath=no
12761 -      ;;
12762 -    *)
12763 -      shlibpath_overrides_runpath=yes
12764 -      ;;
12765 -    esac
12766 -  else
12767 -    shlibpath_overrides_runpath=yes
12768 -  fi
12769 -  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
12770 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
12771 -  shlibpath_var=LD_LIBRARY_PATH
12772 -  ;;
12773 -
12774 -os2*)
12775 -  libname_spec='$name'
12776 -  need_lib_prefix=no
12777 -  library_names_spec='$libname.dll $libname.a'
12778 -  dynamic_linker='OS/2 ld.exe'
12779 -  shlibpath_var=LIBPATH
12780 -  ;;
12781 -
12782 -osf3* | osf4* | osf5*)
12783 -  version_type=osf
12784 -  need_version=no
12785 -  soname_spec='${libname}${release}.so'
12786 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
12787 -  shlibpath_var=LD_LIBRARY_PATH
12788 -  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
12789 -  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
12790 -  ;;
12791 -
12792 -sco3.2v5*)
12793 -  version_type=osf
12794 -  soname_spec='${libname}${release}.so$major'
12795 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12796 -  shlibpath_var=LD_LIBRARY_PATH
12797 -  ;;
12798 -
12799 -solaris*)
12800 -  version_type=linux
12801 -  need_lib_prefix=no
12802 -  need_version=no
12803 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12804 -  soname_spec='${libname}${release}.so$major'
12805 -  shlibpath_var=LD_LIBRARY_PATH
12806 -  shlibpath_overrides_runpath=yes
12807 -  hardcode_into_libs=yes
12808 -  # ldd complains unless libraries are executable
12809 -  postinstall_cmds='chmod +x $lib'
12810 -  ;;
12811 -
12812 -sunos4*)
12813 -  version_type=sunos
12814 -  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
12815 -  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
12816 -  shlibpath_var=LD_LIBRARY_PATH
12817 -  shlibpath_overrides_runpath=yes
12818 -  if test "$with_gnu_ld" = yes; then
12819 -    need_lib_prefix=no
12820 -  fi
12821 -  need_version=yes
12822 -  ;;
12823 -
12824 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
12825 -  version_type=linux
12826 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12827 -  soname_spec='${libname}${release}.so$major'
12828 -  shlibpath_var=LD_LIBRARY_PATH
12829 -  case $host_vendor in
12830 -    sni)
12831 -      shlibpath_overrides_runpath=no
12832 -      ;;
12833 -    motorola)
12834 -      need_lib_prefix=no
12835 -      need_version=no
12836 -      shlibpath_overrides_runpath=no
12837 -      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
12838 -      ;;
12839 -  esac
12840 -  ;;
12841 -
12842 -uts4*)
12843 -  version_type=linux
12844 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12845 -  soname_spec='${libname}${release}.so$major'
12846 -  shlibpath_var=LD_LIBRARY_PATH
12847 -  ;;
12848 -
12849 -dgux*)
12850 -  version_type=linux
12851 -  need_lib_prefix=no
12852 -  need_version=no
12853 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12854 -  soname_spec='${libname}${release}.so$major'
12855 -  shlibpath_var=LD_LIBRARY_PATH
12856 -  ;;
12857 -
12858 -sysv4*MP*)
12859 -  if test -d /usr/nec ;then
12860 -    version_type=linux
12861 -    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
12862 -    soname_spec='$libname.so.$major'
12863 -    shlibpath_var=LD_LIBRARY_PATH
12864 -  fi
12865 -  ;;
12866 -
12867 -*)
12868 -  dynamic_linker=no
12869 -  ;;
12870 -esac
12871 -echo "$as_me:$LINENO: result: $dynamic_linker" >&5
12872 -echo "${ECHO_T}$dynamic_linker" >&6
12873 -test "$dynamic_linker" = no && can_build_shared=no
12874 -
12875 -# Report the final consequences.
12876 -echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
12877 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
12878 -echo "$as_me:$LINENO: result: $can_build_shared" >&5
12879 -echo "${ECHO_T}$can_build_shared" >&6
12880 -
12881 -echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
12882 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
12883 -test "$can_build_shared" = "no" && enable_shared=no
12884 -
12885 -# On AIX, shared libraries and static libraries use the same namespace, and
12886 -# are all built from PIC.
12887 -case "$host_os" in
12888 -aix3*)
12889 -  test "$enable_shared" = yes && enable_static=no
12890 -  if test -n "$RANLIB"; then
12891 -    archive_cmds="$archive_cmds~\$RANLIB \$lib"
12892 -    postinstall_cmds='$RANLIB $lib'
12893 -  fi
12894 -  ;;
12895 -
12896 -aix4*)
12897 -  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
12898 -    test "$enable_shared" = yes && enable_static=no
12899 -  fi
12900 -  ;;
12901 -esac
12902 -echo "$as_me:$LINENO: result: $enable_shared" >&5
12903 -echo "${ECHO_T}$enable_shared" >&6
12904 -
12905 -echo "$as_me:$LINENO: checking whether to build static libraries" >&5
12906 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
12907 -# Make sure either enable_shared or enable_static is yes.
12908 -test "$enable_shared" = yes || enable_static=yes
12909 -echo "$as_me:$LINENO: result: $enable_static" >&5
12910 -echo "${ECHO_T}$enable_static" >&6
12911 -
12912 -if test "$hardcode_action" = relink; then
12913 -  # Fast installation is not supported
12914 -  enable_fast_install=no
12915 -elif test "$shlibpath_overrides_runpath" = yes ||
12916 -     test "$enable_shared" = no; then
12917 -  # Fast installation is not necessary
12918 -  enable_fast_install=needless
12919 -fi
12920 -
12921 -variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
12922 -if test "$GCC" = yes; then
12923 -  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
12924 -fi
12925 -
12926 -if test "x$enable_dlopen" != xyes; then
12927 -  enable_dlopen=unknown
12928 -  enable_dlopen_self=unknown
12929 -  enable_dlopen_self_static=unknown
12930 -else
12931 -  lt_cv_dlopen=no
12932 -  lt_cv_dlopen_libs=
12933 -
12934 -  case $host_os in
12935 -  beos*)
12936 -    lt_cv_dlopen="load_add_on"
12937 -    lt_cv_dlopen_libs=
12938 -    lt_cv_dlopen_self=yes
12939 -    ;;
12940 -
12941 -  cygwin* | mingw* | pw32*)
12942 -    lt_cv_dlopen="LoadLibrary"
12943 -    lt_cv_dlopen_libs=
12944 -   ;;
12945 -
12946 -  *)
12947 -    echo "$as_me:$LINENO: checking for shl_load" >&5
12948 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
12949 -if test "${ac_cv_func_shl_load+set}" = set; then
12950 -  echo $ECHO_N "(cached) $ECHO_C" >&6
12951 -else
12952 -  cat >conftest.$ac_ext <<_ACEOF
12953 -#line $LINENO "configure"
12954 -#include "confdefs.h"
12955 -/* System header to define __stub macros and hopefully few prototypes,
12956 -    which can conflict with char shl_load (); below.  */
12957 -#include <assert.h>
12958 -/* Override any gcc2 internal prototype to avoid an error.  */
12959 -#ifdef __cplusplus
12960 -extern "C"
12961 -#endif
12962 -/* We use char because int might match the return type of a gcc2
12963 -   builtin and then its argument prototype would still apply.  */
12964 -char shl_load ();
12965 -char (*f) ();
12966 -
12967 -int
12968 -main ()
12969 -{
12970 -/* The GNU C library defines this for functions which it implements
12971 -    to always fail with ENOSYS.  Some functions are actually named
12972 -    something starting with __ and the normal name is an alias.  */
12973 -#if defined (__stub_shl_load) || defined (__stub___shl_load)
12974 -choke me
12975 -#else
12976 -f = shl_load;
12977 -#endif
12978 -
12979 -  ;
12980 -  return 0;
12981 -}
12982 -_ACEOF
12983 -rm -f conftest.$ac_objext conftest$ac_exeext
12984 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
12985 -  (eval $ac_link) 2>&5
12986 -  ac_status=$?
12987 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
12988 -  (exit $ac_status); } &&
12989 -         { ac_try='test -s conftest$ac_exeext'
12990 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
12991 -  (eval $ac_try) 2>&5
12992 -  ac_status=$?
12993 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
12994 -  (exit $ac_status); }; }; then
12995 -  ac_cv_func_shl_load=yes
12996 -else
12997 -  echo "$as_me: failed program was:" >&5
12998 -cat conftest.$ac_ext >&5
12999 -ac_cv_func_shl_load=no
13000 -fi
13001 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13002 -fi
13003 -echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
13004 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6
13005 -if test $ac_cv_func_shl_load = yes; then
13006 -  lt_cv_dlopen="shl_load"
13007 -else
13008 -  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
13009 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
13010 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then
13011 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13012 -else
13013 -  ac_check_lib_save_LIBS=$LIBS
13014 -LIBS="-ldld  $LIBS"
13015 -cat >conftest.$ac_ext <<_ACEOF
13016 -#line $LINENO "configure"
13017 -#include "confdefs.h"
13018 -
13019 -/* Override any gcc2 internal prototype to avoid an error.  */
13020 -#ifdef __cplusplus
13021 -extern "C"
13022 -#endif
13023 -/* We use char because int might match the return type of a gcc2
13024 -   builtin and then its argument prototype would still apply.  */
13025 -char shl_load ();
13026 -int
13027 -main ()
13028 -{
13029 -shl_load ();
13030 -  ;
13031 -  return 0;
13032 -}
13033 -_ACEOF
13034 -rm -f conftest.$ac_objext conftest$ac_exeext
13035 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13036 -  (eval $ac_link) 2>&5
13037 -  ac_status=$?
13038 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13039 -  (exit $ac_status); } &&
13040 -         { ac_try='test -s conftest$ac_exeext'
13041 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13042 -  (eval $ac_try) 2>&5
13043 -  ac_status=$?
13044 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13045 -  (exit $ac_status); }; }; then
13046 -  ac_cv_lib_dld_shl_load=yes
13047 -else
13048 -  echo "$as_me: failed program was:" >&5
13049 -cat conftest.$ac_ext >&5
13050 -ac_cv_lib_dld_shl_load=no
13051 -fi
13052 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13053 -LIBS=$ac_check_lib_save_LIBS
13054 -fi
13055 -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
13056 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
13057 -if test $ac_cv_lib_dld_shl_load = yes; then
13058 -  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
13059 -else
13060 -  echo "$as_me:$LINENO: checking for dlopen" >&5
13061 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
13062 -if test "${ac_cv_func_dlopen+set}" = set; then
13063 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13064 -else
13065 -  cat >conftest.$ac_ext <<_ACEOF
13066 -#line $LINENO "configure"
13067 -#include "confdefs.h"
13068 -/* System header to define __stub macros and hopefully few prototypes,
13069 -    which can conflict with char dlopen (); below.  */
13070 -#include <assert.h>
13071 -/* Override any gcc2 internal prototype to avoid an error.  */
13072 -#ifdef __cplusplus
13073 -extern "C"
13074 -#endif
13075 -/* We use char because int might match the return type of a gcc2
13076 -   builtin and then its argument prototype would still apply.  */
13077 -char dlopen ();
13078 -char (*f) ();
13079 -
13080 -int
13081 -main ()
13082 -{
13083 -/* The GNU C library defines this for functions which it implements
13084 -    to always fail with ENOSYS.  Some functions are actually named
13085 -    something starting with __ and the normal name is an alias.  */
13086 -#if defined (__stub_dlopen) || defined (__stub___dlopen)
13087 -choke me
13088 -#else
13089 -f = dlopen;
13090 -#endif
13091 -
13092 -  ;
13093 -  return 0;
13094 -}
13095 -_ACEOF
13096 -rm -f conftest.$ac_objext conftest$ac_exeext
13097 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13098 -  (eval $ac_link) 2>&5
13099 -  ac_status=$?
13100 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13101 -  (exit $ac_status); } &&
13102 -         { ac_try='test -s conftest$ac_exeext'
13103 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13104 -  (eval $ac_try) 2>&5
13105 -  ac_status=$?
13106 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13107 -  (exit $ac_status); }; }; then
13108 -  ac_cv_func_dlopen=yes
13109 -else
13110 -  echo "$as_me: failed program was:" >&5
13111 -cat conftest.$ac_ext >&5
13112 -ac_cv_func_dlopen=no
13113 -fi
13114 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13115 -fi
13116 -echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
13117 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6
13118 -if test $ac_cv_func_dlopen = yes; then
13119 -  lt_cv_dlopen="dlopen"
13120 -else
13121 -  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
13122 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
13123 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
13124 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13125 -else
13126 -  ac_check_lib_save_LIBS=$LIBS
13127 -LIBS="-ldl  $LIBS"
13128 -cat >conftest.$ac_ext <<_ACEOF
13129 -#line $LINENO "configure"
13130 -#include "confdefs.h"
13131 -
13132 -/* Override any gcc2 internal prototype to avoid an error.  */
13133 -#ifdef __cplusplus
13134 -extern "C"
13135 -#endif
13136 -/* We use char because int might match the return type of a gcc2
13137 -   builtin and then its argument prototype would still apply.  */
13138 -char dlopen ();
13139 -int
13140 -main ()
13141 -{
13142 -dlopen ();
13143 -  ;
13144 -  return 0;
13145 -}
13146 -_ACEOF
13147 -rm -f conftest.$ac_objext conftest$ac_exeext
13148 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13149 -  (eval $ac_link) 2>&5
13150 -  ac_status=$?
13151 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13152 -  (exit $ac_status); } &&
13153 -         { ac_try='test -s conftest$ac_exeext'
13154 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13155 -  (eval $ac_try) 2>&5
13156 -  ac_status=$?
13157 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13158 -  (exit $ac_status); }; }; then
13159 -  ac_cv_lib_dl_dlopen=yes
13160 -else
13161 -  echo "$as_me: failed program was:" >&5
13162 -cat conftest.$ac_ext >&5
13163 -ac_cv_lib_dl_dlopen=no
13164 -fi
13165 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13166 -LIBS=$ac_check_lib_save_LIBS
13167 -fi
13168 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
13169 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
13170 -if test $ac_cv_lib_dl_dlopen = yes; then
13171 -  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
13172 -else
13173 -  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
13174 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
13175 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then
13176 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13177 -else
13178 -  ac_check_lib_save_LIBS=$LIBS
13179 -LIBS="-lsvld  $LIBS"
13180 -cat >conftest.$ac_ext <<_ACEOF
13181 -#line $LINENO "configure"
13182 -#include "confdefs.h"
13183 -
13184 -/* Override any gcc2 internal prototype to avoid an error.  */
13185 -#ifdef __cplusplus
13186 -extern "C"
13187 -#endif
13188 -/* We use char because int might match the return type of a gcc2
13189 -   builtin and then its argument prototype would still apply.  */
13190 -char dlopen ();
13191 -int
13192 -main ()
13193 -{
13194 -dlopen ();
13195 -  ;
13196 -  return 0;
13197 -}
13198 -_ACEOF
13199 -rm -f conftest.$ac_objext conftest$ac_exeext
13200 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13201 -  (eval $ac_link) 2>&5
13202 -  ac_status=$?
13203 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13204 -  (exit $ac_status); } &&
13205 -         { ac_try='test -s conftest$ac_exeext'
13206 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13207 -  (eval $ac_try) 2>&5
13208 -  ac_status=$?
13209 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13210 -  (exit $ac_status); }; }; then
13211 -  ac_cv_lib_svld_dlopen=yes
13212 -else
13213 -  echo "$as_me: failed program was:" >&5
13214 -cat conftest.$ac_ext >&5
13215 -ac_cv_lib_svld_dlopen=no
13216 -fi
13217 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13218 -LIBS=$ac_check_lib_save_LIBS
13219 -fi
13220 -echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
13221 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
13222 -if test $ac_cv_lib_svld_dlopen = yes; then
13223 -  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
13224 -else
13225 -  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
13226 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
13227 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then
13228 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13229 -else
13230 -  ac_check_lib_save_LIBS=$LIBS
13231 -LIBS="-ldld  $LIBS"
13232 -cat >conftest.$ac_ext <<_ACEOF
13233 -#line $LINENO "configure"
13234 -#include "confdefs.h"
13235 -
13236 -/* Override any gcc2 internal prototype to avoid an error.  */
13237 -#ifdef __cplusplus
13238 -extern "C"
13239 -#endif
13240 -/* We use char because int might match the return type of a gcc2
13241 -   builtin and then its argument prototype would still apply.  */
13242 -char dld_link ();
13243 -int
13244 -main ()
13245 -{
13246 -dld_link ();
13247 -  ;
13248 -  return 0;
13249 -}
13250 -_ACEOF
13251 -rm -f conftest.$ac_objext conftest$ac_exeext
13252 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13253 -  (eval $ac_link) 2>&5
13254 -  ac_status=$?
13255 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13256 -  (exit $ac_status); } &&
13257 -         { ac_try='test -s conftest$ac_exeext'
13258 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13259 -  (eval $ac_try) 2>&5
13260 -  ac_status=$?
13261 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13262 -  (exit $ac_status); }; }; then
13263 -  ac_cv_lib_dld_dld_link=yes
13264 -else
13265 -  echo "$as_me: failed program was:" >&5
13266 -cat conftest.$ac_ext >&5
13267 -ac_cv_lib_dld_dld_link=no
13268 -fi
13269 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13270 -LIBS=$ac_check_lib_save_LIBS
13271 -fi
13272 -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
13273 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
13274 -if test $ac_cv_lib_dld_dld_link = yes; then
13275 -  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
13276 -fi
13277 -
13278 -             
13279 -fi
13280 -
13281 -           
13282 -fi
13283 -
13284 -         
13285 -fi
13286 -
13287 -       
13288 -fi
13289 -
13290 -      
13291 -fi
13292 -
13293 -    ;;
13294 -  esac
13295 -
13296 -  if test "x$lt_cv_dlopen" != xno; then
13297 -    enable_dlopen=yes
13298 -  else
13299 -    enable_dlopen=no
13300 -  fi
13301 -
13302 -  case $lt_cv_dlopen in
13303 -  dlopen)
13304 -    save_CPPFLAGS="$CPPFLAGS"
13305 -        test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
13306 -
13307 -    save_LDFLAGS="$LDFLAGS"
13308 -    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
13309 -
13310 -    save_LIBS="$LIBS"
13311 -    LIBS="$lt_cv_dlopen_libs $LIBS"
13312 -
13313 -    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
13314 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
13315 -if test "${lt_cv_dlopen_self+set}" = set; then
13316 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13317 -else
13318 -         if test "$cross_compiling" = yes; then :
13319 -  lt_cv_dlopen_self=cross
13320 -else
13321 -    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
13322 -  lt_status=$lt_dlunknown
13323 -  cat > conftest.$ac_ext <<EOF
13324 -#line __oline__ "configure"
13325 -#include "confdefs.h"
13326 -
13327 -#if HAVE_DLFCN_H
13328 -#include <dlfcn.h>
13329 -#endif
13330 -
13331 -#include <stdio.h>
13332 -
13333 -#ifdef RTLD_GLOBAL
13334 -#  define LT_DLGLOBAL          RTLD_GLOBAL
13335 -#else
13336 -#  ifdef DL_GLOBAL
13337 -#    define LT_DLGLOBAL                DL_GLOBAL
13338 -#  else
13339 -#    define LT_DLGLOBAL                0
13340 -#  endif
13341 -#endif
13342 -
13343 -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
13344 -   find out it does not work in some platform. */
13345 -#ifndef LT_DLLAZY_OR_NOW
13346 -#  ifdef RTLD_LAZY
13347 -#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
13348 -#  else
13349 -#    ifdef DL_LAZY
13350 -#      define LT_DLLAZY_OR_NOW         DL_LAZY
13351 -#    else
13352 -#      ifdef RTLD_NOW
13353 -#        define LT_DLLAZY_OR_NOW       RTLD_NOW
13354 -#      else
13355 -#        ifdef DL_NOW
13356 -#          define LT_DLLAZY_OR_NOW     DL_NOW
13357 -#        else
13358 -#          define LT_DLLAZY_OR_NOW     0
13359 -#        endif
13360 -#      endif
13361 -#    endif
13362 -#  endif
13363 -#endif
13364 -
13365 -#ifdef __cplusplus
13366 -extern "C" void exit (int);
13367 -#endif
13368 -
13369 -void fnord() { int i=42;}
13370 -int main ()
13371 -{
13372 -  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
13373 -  int status = $lt_dlunknown;
13374 -
13375 -  if (self)
13376 -    {
13377 -      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
13378 -      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
13379 -      /* dlclose (self); */
13380 -    }
13381 -
13382 -    exit (status);
13383 -}
13384 -EOF
13385 -  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13386 -  (eval $ac_link) 2>&5
13387 -  ac_status=$?
13388 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13389 -  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
13390 -    (./conftest; exit; ) 2>/dev/null
13391 -    lt_status=$?
13392 -    case x$lt_status in
13393 -      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
13394 -      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
13395 -      x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
13396 -    esac
13397 -  else :
13398 -    # compilation failed
13399 -    lt_cv_dlopen_self=no
13400 -  fi
13401 -fi
13402 -rm -fr conftest*
13403 -
13404 -    
13405 -fi
13406 -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
13407 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6
13408 -
13409 -    if test "x$lt_cv_dlopen_self" = xyes; then
13410 -      LDFLAGS="$LDFLAGS $link_static_flag"
13411 -      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
13412 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
13413 -if test "${lt_cv_dlopen_self_static+set}" = set; then
13414 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13415 -else
13416 -         if test "$cross_compiling" = yes; then :
13417 -  lt_cv_dlopen_self_static=cross
13418 -else
13419 -    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
13420 -  lt_status=$lt_dlunknown
13421 -  cat > conftest.$ac_ext <<EOF
13422 -#line __oline__ "configure"
13423 -#include "confdefs.h"
13424 -
13425 -#if HAVE_DLFCN_H
13426 -#include <dlfcn.h>
13427 -#endif
13428 -
13429 -#include <stdio.h>
13430 -
13431 -#ifdef RTLD_GLOBAL
13432 -#  define LT_DLGLOBAL          RTLD_GLOBAL
13433 -#else
13434 -#  ifdef DL_GLOBAL
13435 -#    define LT_DLGLOBAL                DL_GLOBAL
13436 -#  else
13437 -#    define LT_DLGLOBAL                0
13438 -#  endif
13439 -#endif
13440 -
13441 -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
13442 -   find out it does not work in some platform. */
13443 -#ifndef LT_DLLAZY_OR_NOW
13444 -#  ifdef RTLD_LAZY
13445 -#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
13446 -#  else
13447 -#    ifdef DL_LAZY
13448 -#      define LT_DLLAZY_OR_NOW         DL_LAZY
13449 -#    else
13450 -#      ifdef RTLD_NOW
13451 -#        define LT_DLLAZY_OR_NOW       RTLD_NOW
13452 -#      else
13453 -#        ifdef DL_NOW
13454 -#          define LT_DLLAZY_OR_NOW     DL_NOW
13455 -#        else
13456 -#          define LT_DLLAZY_OR_NOW     0
13457 -#        endif
13458 -#      endif
13459 -#    endif
13460 -#  endif
13461 -#endif
13462 -
13463 -#ifdef __cplusplus
13464 -extern "C" void exit (int);
13465 -#endif
13466 -
13467 -void fnord() { int i=42;}
13468 -int main ()
13469 -{
13470 -  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
13471 -  int status = $lt_dlunknown;
13472 -
13473 -  if (self)
13474 -    {
13475 -      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
13476 -      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
13477 -      /* dlclose (self); */
13478 -    }
13479 -
13480 -    exit (status);
13481 -}
13482 -EOF
13483 -  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13484 -  (eval $ac_link) 2>&5
13485 -  ac_status=$?
13486 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13487 -  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
13488 -    (./conftest; exit; ) 2>/dev/null
13489 -    lt_status=$?
13490 -    case x$lt_status in
13491 -      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
13492 -      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
13493 -      x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
13494 -    esac
13495 -  else :
13496 -    # compilation failed
13497 -    lt_cv_dlopen_self_static=no
13498 -  fi
13499 -fi
13500 -rm -fr conftest*
13501 -
13502 -      
13503 -fi
13504 -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
13505 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
13506 -    fi
13507 -
13508 -    CPPFLAGS="$save_CPPFLAGS"
13509 -    LDFLAGS="$save_LDFLAGS"
13510 -    LIBS="$save_LIBS"
13511 -    ;;
13512 -  esac
13513 -
13514 -  case $lt_cv_dlopen_self in
13515 -  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
13516 -  *) enable_dlopen_self=unknown ;;
13517 -  esac
13518 -
13519 -  case $lt_cv_dlopen_self_static in
13520 -  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
13521 -  *) enable_dlopen_self_static=unknown ;;
13522 -  esac
13523 -fi
13524 -
13525 -
13526 -if test "$enable_shared" = yes && test "$GCC" = yes; then
13527 -  case $archive_cmds in
13528 -  *'~'*)
13529 -    # FIXME: we may have to deal with multi-command sequences.
13530 -    ;;
13531 -  '$CC '*)
13532 -    # Test whether the compiler implicitly links with -lc since on some
13533 -    # systems, -lgcc has to come before -lc. If gcc already passes -lc
13534 -    # to ld, don't add -lc before -lgcc.
13535 -    echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
13536 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
13537 -    if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
13538 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13539 -else
13540 -  $rm conftest*
13541 -    echo 'static int dummy;' > conftest.$ac_ext
13542 -
13543 -    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
13544 -  (eval $ac_compile) 2>&5
13545 -  ac_status=$?
13546 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13547 -  (exit $ac_status); }; then
13548 -      soname=conftest
13549 -      lib=conftest
13550 -      libobjs=conftest.$ac_objext
13551 -      deplibs=
13552 -      wl=$lt_cv_prog_cc_wl
13553 -      compiler_flags=-v
13554 -      linker_flags=-v
13555 -      verstring=
13556 -      output_objdir=.
13557 -      libname=conftest
13558 -      save_allow_undefined_flag=$allow_undefined_flag
13559 -      allow_undefined_flag=
13560 -      if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
13561 -  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
13562 -  ac_status=$?
13563 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13564 -  (exit $ac_status); }
13565 -      then
13566 -       lt_cv_archive_cmds_need_lc=no
13567 -      else
13568 -       lt_cv_archive_cmds_need_lc=yes
13569 -      fi
13570 -      allow_undefined_flag=$save_allow_undefined_flag
13571 -    else
13572 -      cat conftest.err 1>&5
13573 -    fi
13574 -fi
13575 -
13576 -    echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
13577 -echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
13578 -    ;;
13579 -  esac
13580 -fi
13581 -need_lc=${lt_cv_archive_cmds_need_lc-yes}
13582 -
13583 -# The second clause should only fire when bootstrapping the
13584 -# libtool distribution, otherwise you forgot to ship ltmain.sh
13585 -# with your package, and you will get complaints that there are
13586 -# no rules to generate ltmain.sh.
13587 -if test -f "$ltmain"; then
13588 -  :
13589 -else
13590 -  # If there is no Makefile yet, we rely on a make rule to execute
13591 -  # `config.status --recheck' to rerun these tests and create the
13592 -  # libtool script then.
13593 -  test -f Makefile && make "$ltmain"
13594 -fi
13595 -
13596 -if test -f "$ltmain"; then
13597 -  trap "$rm \"${ofile}T\"; exit 1" 1 2 15
13598 -  $rm -f "${ofile}T"
13599 -
13600 -  echo creating $ofile
13601 -
13602 -  # Now quote all the things that may contain metacharacters while being
13603 -  # careful not to overquote the AC_SUBSTed values.  We take copies of the
13604 -  # variables and quote the copies for generation of the libtool script.
13605 -  for var in echo old_CC old_CFLAGS \
13606 -    AR AR_FLAGS CC LD LN_S NM SHELL \
13607 -    reload_flag reload_cmds wl \
13608 -    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
13609 -    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
13610 -    library_names_spec soname_spec \
13611 -    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
13612 -    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
13613 -    postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
13614 -    old_striplib striplib file_magic_cmd export_symbols_cmds \
13615 -    deplibs_check_method allow_undefined_flag no_undefined_flag \
13616 -    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
13617 -    global_symbol_to_c_name_address \
13618 -    hardcode_libdir_flag_spec hardcode_libdir_separator  \
13619 -    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
13620 -    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
13621 -
13622 -    case $var in
13623 -    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
13624 -    old_postinstall_cmds | old_postuninstall_cmds | \
13625 -    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
13626 -    extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
13627 -    postinstall_cmds | postuninstall_cmds | \
13628 -    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
13629 -      # Double-quote double-evaled strings.
13630 -      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
13631 -      ;;
13632 -    *)
13633 -      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
13634 -      ;;
13635 -    esac
13636 -  done
13637 -
13638 -  cat <<__EOF__ > "${ofile}T"
13639 -#! $SHELL
13640 -
13641 -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
13642 -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
13643 -# NOTE: Changes made to this file will be lost: look at ltmain.sh.
13644 -#
13645 -# Copyright (C) 1996-2000 Free Software Foundation, Inc.
13646 -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
13647 -#
13648 -# This program is free software; you can redistribute it and/or modify
13649 -# it under the terms of the GNU General Public License as published by
13650 -# the Free Software Foundation; either version 2 of the License, or
13651 -# (at your option) any later version.
13652 -#
13653 -# This program is distributed in the hope that it will be useful, but
13654 -# WITHOUT ANY WARRANTY; without even the implied warranty of
13655 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13656 -# General Public License for more details.
13657 -#
13658 -# You should have received a copy of the GNU General Public License
13659 -# along with this program; if not, write to the Free Software
13660 -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
13661 -#
13662 -# As a special exception to the GNU General Public License, if you
13663 -# distribute this file as part of a program that contains a
13664 -# configuration script generated by Autoconf, you may include it under
13665 -# the same distribution terms that you use for the rest of that program.
13666 -
13667 -# Sed that helps us avoid accidentally triggering echo(1) options like -n.
13668 -Xsed="sed -e s/^X//"
13669 -
13670 -# The HP-UX ksh and POSIX shell print the target directory to stdout
13671 -# if CDPATH is set.
13672 -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
13673 -
13674 -# ### BEGIN LIBTOOL CONFIG
13675 -
13676 -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
13677 -
13678 -# Shell to use when invoking shell scripts.
13679 -SHELL=$lt_SHELL
13680 -
13681 -# Whether or not to build shared libraries.
13682 -build_libtool_libs=$enable_shared
13683 -
13684 -# Whether or not to build static libraries.
13685 -build_old_libs=$enable_static
13686 -
13687 -# Whether or not to add -lc for building shared libraries.
13688 -build_libtool_need_lc=$need_lc
13689 -
13690 -# Whether or not to optimize for fast installation.
13691 -fast_install=$enable_fast_install
13692 -
13693 -# The host system.
13694 -host_alias=$host_alias
13695 -host=$host
13696 -
13697 -# An echo program that does not interpret backslashes.
13698 -echo=$lt_echo
13699 -
13700 -# The archiver.
13701 -AR=$lt_AR
13702 -AR_FLAGS=$lt_AR_FLAGS
13703 -
13704 -# The default C compiler.
13705 -CC=$lt_CC
13706 -
13707 -# Is the compiler the GNU C compiler?
13708 -with_gcc=$GCC
13709 -
13710 -# The linker used to build libraries.
13711 -LD=$lt_LD
13712 -
13713 -# Whether we need hard or soft links.
13714 -LN_S=$lt_LN_S
13715 -
13716 -# A BSD-compatible nm program.
13717 -NM=$lt_NM
13718 -
13719 -# A symbol stripping program
13720 -STRIP=$STRIP
13721 -
13722 -# Used to examine libraries when file_magic_cmd begins "file"
13723 -MAGIC_CMD=$MAGIC_CMD
13724 -
13725 -# Used on cygwin: DLL creation program.
13726 -DLLTOOL="$DLLTOOL"
13727 -
13728 -# Used on cygwin: object dumper.
13729 -OBJDUMP="$OBJDUMP"
13730 -
13731 -# Used on cygwin: assembler.
13732 -AS="$AS"
13733 -
13734 -# The name of the directory that contains temporary libtool files.
13735 -objdir=$objdir
13736 -
13737 -# How to create reloadable object files.
13738 -reload_flag=$lt_reload_flag
13739 -reload_cmds=$lt_reload_cmds
13740 -
13741 -# How to pass a linker flag through the compiler.
13742 -wl=$lt_wl
13743 -
13744 -# Object file suffix (normally "o").
13745 -objext="$ac_objext"
13746 -
13747 -# Old archive suffix (normally "a").
13748 -libext="$libext"
13749 -
13750 -# Executable file suffix (normally "").
13751 -exeext="$exeext"
13752 -
13753 -# Additional compiler flags for building library objects.
13754 -pic_flag=$lt_pic_flag
13755 -pic_mode=$pic_mode
13756 -
13757 -# Does compiler simultaneously support -c and -o options?
13758 -compiler_c_o=$lt_compiler_c_o
13759 -
13760 -# Can we write directly to a .lo ?
13761 -compiler_o_lo=$lt_compiler_o_lo
13762 -
13763 -# Must we lock files when doing compilation ?
13764 -need_locks=$lt_need_locks
13765 -
13766 -# Do we need the lib prefix for modules?
13767 -need_lib_prefix=$need_lib_prefix
13768 -
13769 -# Do we need a version for libraries?
13770 -need_version=$need_version
13771 -
13772 -# Whether dlopen is supported.
13773 -dlopen_support=$enable_dlopen
13774 -
13775 -# Whether dlopen of programs is supported.
13776 -dlopen_self=$enable_dlopen_self
13777 -
13778 -# Whether dlopen of statically linked programs is supported.
13779 -dlopen_self_static=$enable_dlopen_self_static
13780 -
13781 -# Compiler flag to prevent dynamic linking.
13782 -link_static_flag=$lt_link_static_flag
13783 -
13784 -# Compiler flag to turn off builtin functions.
13785 -no_builtin_flag=$lt_no_builtin_flag
13786 -
13787 -# Compiler flag to allow reflexive dlopens.
13788 -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
13789 -
13790 -# Compiler flag to generate shared objects directly from archives.
13791 -whole_archive_flag_spec=$lt_whole_archive_flag_spec
13792 -
13793 -# Compiler flag to generate thread-safe objects.
13794 -thread_safe_flag_spec=$lt_thread_safe_flag_spec
13795 -
13796 -# Library versioning type.
13797 -version_type=$version_type
13798 -
13799 -# Format of library name prefix.
13800 -libname_spec=$lt_libname_spec
13801 -
13802 -# List of archive names.  First name is the real one, the rest are links.
13803 -# The last name is the one that the linker finds with -lNAME.
13804 -library_names_spec=$lt_library_names_spec
13805 -
13806 -# The coded name of the library, if different from the real name.
13807 -soname_spec=$lt_soname_spec
13808 -
13809 -# Commands used to build and install an old-style archive.
13810 -RANLIB=$lt_RANLIB
13811 -old_archive_cmds=$lt_old_archive_cmds
13812 -old_postinstall_cmds=$lt_old_postinstall_cmds
13813 -old_postuninstall_cmds=$lt_old_postuninstall_cmds
13814 -
13815 -# Create an old-style archive from a shared archive.
13816 -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
13817 -
13818 -# Create a temporary old-style archive to link instead of a shared archive.
13819 -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
13820 -
13821 -# Commands used to build and install a shared archive.
13822 -archive_cmds=$lt_archive_cmds
13823 -archive_expsym_cmds=$lt_archive_expsym_cmds
13824 -postinstall_cmds=$lt_postinstall_cmds
13825 -postuninstall_cmds=$lt_postuninstall_cmds
13826 -
13827 -# Commands to strip libraries.
13828 -old_striplib=$lt_old_striplib
13829 -striplib=$lt_striplib
13830 -
13831 -# Method to check whether dependent libraries are shared objects.
13832 -deplibs_check_method=$lt_deplibs_check_method
13833 -
13834 -# Command to use when deplibs_check_method == file_magic.
13835 -file_magic_cmd=$lt_file_magic_cmd
13836 -
13837 -# Flag that allows shared libraries with undefined symbols to be built.
13838 -allow_undefined_flag=$lt_allow_undefined_flag
13839 -
13840 -# Flag that forces no undefined symbols.
13841 -no_undefined_flag=$lt_no_undefined_flag
13842 -
13843 -# Commands used to finish a libtool library installation in a directory.
13844 -finish_cmds=$lt_finish_cmds
13845 -
13846 -# Same as above, but a single script fragment to be evaled but not shown.
13847 -finish_eval=$lt_finish_eval
13848 -
13849 -# Take the output of nm and produce a listing of raw symbols and C names.
13850 -global_symbol_pipe=$lt_global_symbol_pipe
13851 -
13852 -# Transform the output of nm in a proper C declaration
13853 -global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
13854 -
13855 -# Transform the output of nm in a C name address pair
13856 -global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
13857 -
13858 -# This is the shared library runtime path variable.
13859 -runpath_var=$runpath_var
13860 -
13861 -# This is the shared library path variable.
13862 -shlibpath_var=$shlibpath_var
13863 -
13864 -# Is shlibpath searched before the hard-coded library search path?
13865 -shlibpath_overrides_runpath=$shlibpath_overrides_runpath
13866 -
13867 -# How to hardcode a shared library path into an executable.
13868 -hardcode_action=$hardcode_action
13869 -
13870 -# Whether we should hardcode library paths into libraries.
13871 -hardcode_into_libs=$hardcode_into_libs
13872 -
13873 -# Flag to hardcode \$libdir into a binary during linking.
13874 -# This must work even if \$libdir does not exist.
13875 -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
13876 -
13877 -# Whether we need a single -rpath flag with a separated argument.
13878 -hardcode_libdir_separator=$lt_hardcode_libdir_separator
13879 -
13880 -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
13881 -# resulting binary.
13882 -hardcode_direct=$hardcode_direct
13883 -
13884 -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
13885 -# resulting binary.
13886 -hardcode_minus_L=$hardcode_minus_L
13887 -
13888 -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
13889 -# the resulting binary.
13890 -hardcode_shlibpath_var=$hardcode_shlibpath_var
13891 -
13892 -# Variables whose values should be saved in libtool wrapper scripts and
13893 -# restored at relink time.
13894 -variables_saved_for_relink="$variables_saved_for_relink"
13895 -
13896 -# Whether libtool must link a program against all its dependency libraries.
13897 -link_all_deplibs=$link_all_deplibs
13898 -
13899 -# Compile-time system search path for libraries
13900 -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
13901 -
13902 -# Run-time system search path for libraries
13903 -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
13904 -
13905 -# Fix the shell variable \$srcfile for the compiler.
13906 -fix_srcfile_path="$fix_srcfile_path"
13907 -
13908 -# Set to yes if exported symbols are required.
13909 -always_export_symbols=$always_export_symbols
13910 -
13911 -# The commands to list exported symbols.
13912 -export_symbols_cmds=$lt_export_symbols_cmds
13913 -
13914 -# The commands to extract the exported symbol list from a shared archive.
13915 -extract_expsyms_cmds=$lt_extract_expsyms_cmds
13916 -
13917 -# Symbols that should not be listed in the preloaded symbols.
13918 -exclude_expsyms=$lt_exclude_expsyms
13919 -
13920 -# Symbols that must always be exported.
13921 -include_expsyms=$lt_include_expsyms
13922 -
13923 -# ### END LIBTOOL CONFIG
13924 -
13925 -__EOF__
13926 -
13927 -  case $host_os in
13928 -  aix3*)
13929 -    cat <<\EOF >> "${ofile}T"
13930 -
13931 -# AIX sometimes has problems with the GCC collect2 program.  For some
13932 -# reason, if we set the COLLECT_NAMES environment variable, the problems
13933 -# vanish in a puff of smoke.
13934 -if test "X${COLLECT_NAMES+set}" != Xset; then
13935 -  COLLECT_NAMES=
13936 -  export COLLECT_NAMES
13937 -fi
13938 -EOF
13939 -    ;;
13940 -  esac
13941 -
13942 -  case $host_os in
13943 -  cygwin* | mingw* | pw32* | os2*)
13944 -    cat <<'EOF' >> "${ofile}T"
13945 -      # This is a source program that is used to create dlls on Windows
13946 -      # Don't remove nor modify the starting and closing comments
13947 -# /* ltdll.c starts here */
13948 -# #define WIN32_LEAN_AND_MEAN
13949 -# #include <windows.h>
13950 -# #undef WIN32_LEAN_AND_MEAN
13951 -# #include <stdio.h>
13952 -#
13953 -# #ifndef __CYGWIN__
13954 -# #  ifdef __CYGWIN32__
13955 -# #    define __CYGWIN__ __CYGWIN32__
13956 -# #  endif
13957 -# #endif
13958 -#
13959 -# #ifdef __cplusplus
13960 -# extern "C" {
13961 -# #endif
13962 -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
13963 -# #ifdef __cplusplus
13964 -# }
13965 -# #endif
13966 -#
13967 -# #ifdef __CYGWIN__
13968 -# #include <cygwin/cygwin_dll.h>
13969 -# DECLARE_CYGWIN_DLL( DllMain );
13970 -# #endif
13971 -# HINSTANCE __hDllInstance_base;
13972 -#
13973 -# BOOL APIENTRY
13974 -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
13975 -# {
13976 -#   __hDllInstance_base = hInst;
13977 -#   return TRUE;
13978 -# }
13979 -# /* ltdll.c ends here */
13980 -       # This is a source program that is used to create import libraries
13981 -       # on Windows for dlls which lack them. Don't remove nor modify the
13982 -       # starting and closing comments
13983 -# /* impgen.c starts here */
13984 -# /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
13985 -#
13986 -#  This file is part of GNU libtool.
13987 -#
13988 -#  This program is free software; you can redistribute it and/or modify
13989 -#  it under the terms of the GNU General Public License as published by
13990 -#  the Free Software Foundation; either version 2 of the License, or
13991 -#  (at your option) any later version.
13992 -#
13993 -#  This program is distributed in the hope that it will be useful,
13994 -#  but WITHOUT ANY WARRANTY; without even the implied warranty of
13995 -#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13996 -#  GNU General Public License for more details.
13997 -#
13998 -#  You should have received a copy of the GNU General Public License
13999 -#  along with this program; if not, write to the Free Software
14000 -#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
14001 -#  */
14002 -#
14003 -# #include <stdio.h>           /* for printf() */
14004 -# #include <unistd.h>          /* for open(), lseek(), read() */
14005 -# #include <fcntl.h>           /* for O_RDONLY, O_BINARY */
14006 -# #include <string.h>          /* for strdup() */
14007 -#
14008 -# /* O_BINARY isn't required (or even defined sometimes) under Unix */
14009 -# #ifndef O_BINARY
14010 -# #define O_BINARY 0
14011 -# #endif
14012 -#
14013 -# static unsigned int
14014 -# pe_get16 (fd, offset)
14015 -#      int fd;
14016 -#      int offset;
14017 -# {
14018 -#   unsigned char b[2];
14019 -#   lseek (fd, offset, SEEK_SET);
14020 -#   read (fd, b, 2);
14021 -#   return b[0] + (b[1]<<8);
14022 -# }
14023 -#
14024 -# static unsigned int
14025 -# pe_get32 (fd, offset)
14026 -#     int fd;
14027 -#     int offset;
14028 -# {
14029 -#   unsigned char b[4];
14030 -#   lseek (fd, offset, SEEK_SET);
14031 -#   read (fd, b, 4);
14032 -#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
14033 -# }
14034 -#
14035 -# static unsigned int
14036 -# pe_as32 (ptr)
14037 -#      void *ptr;
14038 -# {
14039 -#   unsigned char *b = ptr;
14040 -#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
14041 -# }
14042 -#
14043 -# int
14044 -# main (argc, argv)
14045 -#     int argc;
14046 -#     char *argv[];
14047 -# {
14048 -#     int dll;
14049 -#     unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
14050 -#     unsigned long export_rva, export_size, nsections, secptr, expptr;
14051 -#     unsigned long name_rvas, nexp;
14052 -#     unsigned char *expdata, *erva;
14053 -#     char *filename, *dll_name;
14054 -#
14055 -#     filename = argv[1];
14056 -#
14057 -#     dll = open(filename, O_RDONLY|O_BINARY);
14058 -#     if (dll < 1)
14059 -#      return 1;
14060 -#
14061 -#     dll_name = filename;
14062 -#
14063 -#     for (i=0; filename[i]; i++)
14064 -#      if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
14065 -#          dll_name = filename + i +1;
14066 -#
14067 -#     pe_header_offset = pe_get32 (dll, 0x3c);
14068 -#     opthdr_ofs = pe_header_offset + 4 + 20;
14069 -#     num_entries = pe_get32 (dll, opthdr_ofs + 92);
14070 -#
14071 -#     if (num_entries < 1) /* no exports */
14072 -#      return 1;
14073 -#
14074 -#     export_rva = pe_get32 (dll, opthdr_ofs + 96);
14075 -#     export_size = pe_get32 (dll, opthdr_ofs + 100);
14076 -#     nsections = pe_get16 (dll, pe_header_offset + 4 +2);
14077 -#     secptr = (pe_header_offset + 4 + 20 +
14078 -#            pe_get16 (dll, pe_header_offset + 4 + 16));
14079 -#
14080 -#     expptr = 0;
14081 -#     for (i = 0; i < nsections; i++)
14082 -#     {
14083 -#      char sname[8];
14084 -#      unsigned long secptr1 = secptr + 40 * i;
14085 -#      unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
14086 -#      unsigned long vsize = pe_get32 (dll, secptr1 + 16);
14087 -#      unsigned long fptr = pe_get32 (dll, secptr1 + 20);
14088 -#      lseek(dll, secptr1, SEEK_SET);
14089 -#      read(dll, sname, 8);
14090 -#      if (vaddr <= export_rva && vaddr+vsize > export_rva)
14091 -#      {
14092 -#          expptr = fptr + (export_rva - vaddr);
14093 -#          if (export_rva + export_size > vaddr + vsize)
14094 -#              export_size = vsize - (export_rva - vaddr);
14095 -#          break;
14096 -#      }
14097 -#     }
14098 -#
14099 -#     expdata = (unsigned char*)malloc(export_size);
14100 -#     lseek (dll, expptr, SEEK_SET);
14101 -#     read (dll, expdata, export_size);
14102 -#     erva = expdata - export_rva;
14103 -#
14104 -#     nexp = pe_as32 (expdata+24);
14105 -#     name_rvas = pe_as32 (expdata+32);
14106 -#
14107 -#     printf ("EXPORTS\n");
14108 -#     for (i = 0; i<nexp; i++)
14109 -#     {
14110 -#      unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
14111 -#      printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
14112 -#     }
14113 -#
14114 -#     return 0;
14115 -# }
14116 -# /* impgen.c ends here */
14117 -
14118 -EOF
14119 -    ;;
14120 -  esac
14121 -
14122 -  # We use sed instead of cat because bash on DJGPP gets confused if
14123 -  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
14124 -  # text mode, it properly converts lines to CR/LF.  This bash problem
14125 -  # is reportedly fixed, but why not run on old versions too?
14126 -  sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
14127 -
14128 -  mv -f "${ofile}T" "$ofile" || \
14129 -    (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
14130 -  chmod +x "$ofile"
14131 -fi
14132 -
14133 -
14134 -
14135 -
14136 -
14137 -# This can be used to rebuild libtool when needed
14138 -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
14139 -
14140 -# Always use our own libtool.
14141 -LIBTOOL='$(SHELL) $(top_builddir)/libtool'
14142 -
14143 -# Prevent multiple expansion
14144 -
14145 -
14146 -
14147 -
14148 -# Check whether --with-target-subdir or --without-target-subdir was given.
14149 -if test "${with_target_subdir+set}" = set; then
14150 -  withval="$with_target_subdir"
14151 -  
14152 -fi; 
14153 -
14154 -# Check whether --with-cross-host or --without-cross-host was given.
14155 -if test "${with_cross_host+set}" = set; then
14156 -  withval="$with_cross_host"
14157 -  
14158 -fi; 
14159 -
14160 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
14161 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
14162 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
14163 -if test "${enable_maintainer_mode+set}" = set; then
14164 -  enableval="$enable_maintainer_mode"
14165 -  USE_MAINTAINER_MODE=$enableval
14166 -else
14167 -  USE_MAINTAINER_MODE=no
14168 -fi; 
14169 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
14170 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
14171 -  
14172 -
14173 -if test $USE_MAINTAINER_MODE = yes; then
14174 -  MAINTAINER_MODE_TRUE=
14175 -  MAINTAINER_MODE_FALSE='#'
14176 -else
14177 -  MAINTAINER_MODE_TRUE='#'
14178 -  MAINTAINER_MODE_FALSE=
14179 -fi
14180 -
14181 -  MAINT=$MAINTAINER_MODE_TRUE
14182 -  
14183 -
14184 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
14185 -# it is actually a problem, because the compiler we're passed can't
14186 -# necessarily do a full link.  So we fool automake here.
14187 -if false; then
14188 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
14189 -  # to nothing, so nothing would remain between `then' and `fi' if it
14190 -  # were not for the `:' below.
14191 -  :
14192 -  
14193 -fi
14194 -
14195 -echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
14196 -echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
14197 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
14198 -if test -z "$THREADS"; then
14199 -   THREADS=no
14200 -fi
14201 -echo "$as_me:$LINENO: result: $THREADS" >&5
14202 -echo "${ECHO_T}$THREADS" >&6
14203 -
14204 -# Check whether --enable-parallel-mark or --disable-parallel-mark was given.
14205 -if test "${enable_parallel_mark+set}" = set; then
14206 -  enableval="$enable_parallel_mark"
14207 -  case "$THREADS" in
14208 -      no | none | single)
14209 -       { { echo "$as_me:$LINENO: error: Parallel mark requires --enable-threads=x spec" >&5
14210 -echo "$as_me: error: Parallel mark requires --enable-threads=x spec" >&2;}
14211 -   { (exit 1); exit 1; }; }
14212 -       ;;
14213 -    esac
14214 -
14215 -fi; 
14216 -
14217 -INCLUDES=-I${srcdir}/include
14218 -THREADLIBS=
14219 -case "$THREADS" in
14220 - no | none | single)
14221 -    THREADS=none
14222 -    ;;
14223 - posix | pthreads)
14224 -    THREADS=posix
14225 -    THREADLIBS=-lpthread
14226 -    case "$host" in
14227 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
14228 -       cat >>confdefs.h <<\_ACEOF
14229 -@%:@define GC_LINUX_THREADS 1
14230 -_ACEOF
14231 -
14232 -       cat >>confdefs.h <<\_ACEOF
14233 -@%:@define _REENTRANT 1
14234 -_ACEOF
14235 -
14236 -        if test "${enable_parallel_mark}"; then
14237 -         cat >>confdefs.h <<\_ACEOF
14238 -@%:@define PARALLEL_MARK 1
14239 -_ACEOF
14240 -
14241 -       fi
14242 -       cat >>confdefs.h <<\_ACEOF
14243 -@%:@define THREAD_LOCAL_ALLOC 1
14244 -_ACEOF
14245 -
14246 -       ;;
14247 -     *-*-linux*)
14248 -       cat >>confdefs.h <<\_ACEOF
14249 -@%:@define GC_LINUX_THREADS 1
14250 -_ACEOF
14251 -
14252 -       cat >>confdefs.h <<\_ACEOF
14253 -@%:@define _REENTRANT 1
14254 -_ACEOF
14255 -
14256 -       ;;
14257 -     *-*-hpux*)
14258 -       { echo "$as_me:$LINENO: WARNING: \"Only HP/UX 11 threads are supported.\"" >&5
14259 -echo "$as_me: WARNING: \"Only HP/UX 11 threads are supported.\"" >&2;}
14260 -       cat >>confdefs.h <<\_ACEOF
14261 -@%:@define GC_HPUX_THREADS 1
14262 -_ACEOF
14263 -
14264 -       cat >>confdefs.h <<\_ACEOF
14265 -@%:@define _POSIX_C_SOURCE 199506L
14266 -_ACEOF
14267 -
14268 -       if test "${enable_parallel_mark}" = yes; then
14269 -         cat >>confdefs.h <<\_ACEOF
14270 -@%:@define PARALLEL_MARK 1
14271 -_ACEOF
14272 -
14273 -       fi
14274 -       cat >>confdefs.h <<\_ACEOF
14275 -@%:@define THREAD_LOCAL_ALLOC 1
14276 -_ACEOF
14277 -
14278 -       THREADLIBS="-lpthread -lrt"
14279 -       ;;
14280 -     *-*-freebsd*)
14281 -       { echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
14282 -echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
14283 -       cat >>confdefs.h <<\_ACEOF
14284 -@%:@define GC_FREEBSD_THREADS 1
14285 -_ACEOF
14286 -
14287 -       INCLUDES="$INCLUDES -pthread"
14288 -       THREADLIBS=-pthread
14289 -       ;;
14290 -     *-*-solaris*)
14291 -       cat >>confdefs.h <<\_ACEOF
14292 -@%:@define GC_SOLARIS_THREADS 1
14293 -_ACEOF
14294 -
14295 -       cat >>confdefs.h <<\_ACEOF
14296 -@%:@define GC_SOLARIS_PTHREADS 1
14297 -_ACEOF
14298 -
14299 -       ;;
14300 -     *-*-irix*)
14301 -       cat >>confdefs.h <<\_ACEOF
14302 -@%:@define GC_IRIX_THREADS 1
14303 -_ACEOF
14304 -
14305 -       ;;
14306 -     *-*-cygwin*)
14307 -       THREADLIBS=
14308 -       ;;
14309 -     *-*-darwin*)
14310 -       cat >>confdefs.h <<\_ACEOF
14311 -@%:@define GC_DARWIN_THREADS 1
14312 -_ACEOF
14313 -
14314 -       cat >>confdefs.h <<\_ACEOF
14315 -@%:@define THREAD_LOCAL_ALLOC 1
14316 -_ACEOF
14317 -
14318 -       if test "${enable_parallel_mark}" = yes; then
14319 -         cat >>confdefs.h <<\_ACEOF
14320 -@%:@define PARALLEL_MARK 1
14321 -_ACEOF
14322 -
14323 -       fi
14324 -       ;;
14325 -    esac
14326 -    ;;
14327 - win32)
14328 -    cat >>confdefs.h <<\_ACEOF
14329 -@%:@define GC_WIN32_THREADS 1
14330 -_ACEOF
14331 -
14332 -    cat >>confdefs.h <<\_ACEOF
14333 -@%:@define NO_GETENV 1
14334 -_ACEOF
14335 -
14336 -    ;;
14337 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
14338 -    { { echo "$as_me:$LINENO: error: thread package $THREADS not yet supported" >&5
14339 -echo "$as_me: error: thread package $THREADS not yet supported" >&2;}
14340 -   { (exit 1); exit 1; }; }
14341 -    ;;
14342 - *)
14343 -    { { echo "$as_me:$LINENO: error: $THREADS is an unknown thread package" >&5
14344 -echo "$as_me: error: $THREADS is an unknown thread package" >&2;}
14345 -   { (exit 1); exit 1; }; }
14346 -    ;;
14347 -esac
14348 -
14349 -
14350 -case "$host" in 
14351 -   powerpc-*-darwin*)
14352 -      powerpc_darwin=true
14353 -      ;;
14354 -esac
14355 -
14356 -
14357 -if test x$powerpc_darwin = xtrue; then
14358 -  POWERPC_DARWIN_TRUE=
14359 -  POWERPC_DARWIN_FALSE='#'
14360 -else
14361 -  POWERPC_DARWIN_TRUE='#'
14362 -  POWERPC_DARWIN_FALSE=
14363 -fi
14364 -
14365 -
14366 -# We never want libdl on darwin. It is a fake libdl that just ends up making
14367 -# dyld calls anyway
14368 -case "$host" in
14369 -  *-*-darwin*) ;;
14370 -  *) 
14371 -    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
14372 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
14373 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
14374 -  echo $ECHO_N "(cached) $ECHO_C" >&6
14375 -else
14376 -  ac_check_lib_save_LIBS=$LIBS
14377 -LIBS="-ldl  $LIBS"
14378 -cat >conftest.$ac_ext <<_ACEOF
14379 -#line $LINENO "configure"
14380 -#include "confdefs.h"
14381 -
14382 -/* Override any gcc2 internal prototype to avoid an error.  */
14383 -#ifdef __cplusplus
14384 -extern "C"
14385 -#endif
14386 -/* We use char because int might match the return type of a gcc2
14387 -   builtin and then its argument prototype would still apply.  */
14388 -char dlopen ();
14389 -int
14390 -main ()
14391 -{
14392 -dlopen ();
14393 -  ;
14394 -  return 0;
14395 -}
14396 -_ACEOF
14397 -rm -f conftest.$ac_objext conftest$ac_exeext
14398 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
14399 -  (eval $ac_link) 2>&5
14400 -  ac_status=$?
14401 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
14402 -  (exit $ac_status); } &&
14403 -         { ac_try='test -s conftest$ac_exeext'
14404 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
14405 -  (eval $ac_try) 2>&5
14406 -  ac_status=$?
14407 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
14408 -  (exit $ac_status); }; }; then
14409 -  ac_cv_lib_dl_dlopen=yes
14410 -else
14411 -  echo "$as_me: failed program was:" >&5
14412 -cat conftest.$ac_ext >&5
14413 -ac_cv_lib_dl_dlopen=no
14414 -fi
14415 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
14416 -LIBS=$ac_check_lib_save_LIBS
14417 -fi
14418 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
14419 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
14420 -if test $ac_cv_lib_dl_dlopen = yes; then
14421 -  EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"
14422 -fi
14423 -
14424 -    ;;
14425 -esac
14426 -
14427 -
14428 -
14429 -target_all=libgcjgc.la
14430 -
14431 -
14432 -
14433 -TARGET_ECOS="no"
14434 -
14435 -# Check whether --with-ecos or --without-ecos was given.
14436 -if test "${with_ecos+set}" = set; then
14437 -  withval="$with_ecos"
14438 -  TARGET_ECOS="$with_ecos"
14439 -
14440 -fi; 
14441 -
14442 -addobjs=
14443 -CXXINCLUDES=
14444 -case "$TARGET_ECOS" in
14445 -   no)
14446 -      ;;
14447 -   *)
14448 -      cat >>confdefs.h <<\_ACEOF
14449 -@%:@define ECOS 1
14450 -_ACEOF
14451 -
14452 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
14453 -      addobjs="$addobjs ecos.lo"
14454 -      ;;
14455 -esac
14456 -
14457 -
14458 -
14459 -
14460 -
14461 -machdep=
14462 -case "$host" in
14463 - alpha*-*-openbsd*)
14464 -    machdep="alpha_mach_dep.lo"
14465 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
14466 -       { echo "$as_me:$LINENO: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&5
14467 -echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&2;}
14468 -       # Check whether --enable-shared or --disable-shared was given.
14469 -if test "${enable_shared+set}" = set; then
14470 -  enableval="$enable_shared"
14471 -  p=${PACKAGE-default}
14472 -case $enableval in
14473 -yes) enable_shared=yes ;;
14474 -no) enable_shared=no ;;
14475 -*)
14476 -  enable_shared=no
14477 -  # Look at the argument we got.  We use all the common list separators.
14478 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
14479 -  for pkg in $enableval; do
14480 -    if test "X$pkg" = "X$p"; then
14481 -      enable_shared=yes
14482 -    fi
14483 -  done
14484 -  IFS="$ac_save_ifs"
14485 -  ;;
14486 -esac
14487 -else
14488 -  enable_shared=no
14489 -fi; 
14490 -    fi
14491 -    ;;
14492 - alpha*-*-*)
14493 -    machdep="alpha_mach_dep.lo"
14494 -    ;;
14495 - i?86-*-solaris2.[89]*)
14496 -    cat >>confdefs.h <<\_ACEOF
14497 -@%:@define SOLARIS25_PROC_VDB_BUG_FIXED 1
14498 -_ACEOF
14499 -
14500 -    ;;
14501 - mipstx39-*-elf*)
14502 -    machdep="mips_ultrix_mach_dep.lo"
14503 -    cat >>confdefs.h <<\_ACEOF
14504 -@%:@define STACKBASE __stackbase
14505 -_ACEOF
14506 -
14507 -    cat >>confdefs.h <<\_ACEOF
14508 -@%:@define DATASTART_IS_ETEXT 1
14509 -_ACEOF
14510 -
14511 -    ;;
14512 - mips-dec-ultrix*)
14513 -    machdep="mips_ultrix_mach-dep.lo"
14514 -    ;;
14515 - mips*-*-linux*)
14516 -    ;;
14517 - mips-*-*)
14518 -    machdep="mips_sgi_mach_dep.lo"
14519 -    cat >>confdefs.h <<\_ACEOF
14520 -@%:@define NO_EXECUTE_PERMISSION 1
14521 -_ACEOF
14522 -
14523 -    ;;
14524 - sparc-sun-solaris2.3*)
14525 -    machdep="sparc_mach_dep.lo"
14526 -    cat >>confdefs.h <<\_ACEOF
14527 -@%:@define SUNOS53_SHARED_LIB 1
14528 -_ACEOF
14529 -
14530 -    ;;
14531 - sparc-sun-solaris2.*)
14532 -    machdep="sparc_mach_dep.lo"
14533 -    ;;
14534 - ia64-*-*)
14535 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
14536 -    ;;
14537 -esac
14538 -if test x"$machdep" = x; then
14539 -   machdep="mach_dep.lo"
14540 -fi
14541 -addobjs="$addobjs $machdep"
14542 -
14543 -
14544 -case "$host" in
14545 - sparc-sun-solaris2*)
14546 -    if test "$GCC" = yes; then
14547 -       new_CFLAGS=
14548 -       for i in $CFLAGS; do
14549 -         case "$i" in
14550 -          -O*)
14551 -             ;;
14552 -          *)
14553 -             new_CFLAGS="$new_CFLAGS $i"
14554 -             ;;
14555 -         esac
14556 -       done
14557 -       CFLAGS="$new_CFLAGS"
14558 -    fi
14559 -    ;;
14560 -esac
14561 -
14562 -MY_CFLAGS="$CFLAGS"
14563 -
14564 -
14565 -cat >>confdefs.h <<\_ACEOF
14566 -@%:@define SILENT 1
14567 -_ACEOF
14568 -
14569 -cat >>confdefs.h <<\_ACEOF
14570 -@%:@define NO_SIGNALS 1
14571 -_ACEOF
14572 -
14573 -cat >>confdefs.h <<\_ACEOF
14574 -@%:@define NO_EXECUTE_PERMISSION 1
14575 -_ACEOF
14576 -
14577 -cat >>confdefs.h <<\_ACEOF
14578 -@%:@define ALL_INTERIOR_POINTERS 1
14579 -_ACEOF
14580 -
14581 -
14582 -cat >>confdefs.h <<\_ACEOF
14583 -@%:@define JAVA_FINALIZATION 1
14584 -_ACEOF
14585 -
14586 -cat >>confdefs.h <<\_ACEOF
14587 -@%:@define GC_GCJ_SUPPORT 1
14588 -_ACEOF
14589 -
14590 -cat >>confdefs.h <<\_ACEOF
14591 -@%:@define ATOMIC_UNCOLLECTABLE 1
14592 -_ACEOF
14593 -
14594 -
14595 -if test -n "${with_cross_host}"; then
14596 -   cat >>confdefs.h <<\_ACEOF
14597 -@%:@define NO_SIGSET 1
14598 -_ACEOF
14599 -
14600 -   cat >>confdefs.h <<\_ACEOF
14601 -@%:@define NO_DEBUGGING 1
14602 -_ACEOF
14603 -
14604 -fi
14605 -
14606 -# Check whether --enable-full-debug or --disable-full-debug was given.
14607 -if test "${enable_full_debug+set}" = set; then
14608 -  enableval="$enable_full_debug"
14609 -   if test "$enable_full_debug" = "yes"; then
14610 -    { echo "$as_me:$LINENO: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&5
14611 -echo "$as_me: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&2;}
14612 -    cat >>confdefs.h <<\_ACEOF
14613 -@%:@define KEEP_BACK_PTRS 1
14614 -_ACEOF
14615 -
14616 -    cat >>confdefs.h <<\_ACEOF
14617 -@%:@define DBG_HDRS_ALL 1
14618 -_ACEOF
14619 -
14620 -    case $host in
14621 -      ia64-*-linux* )
14622 -       cat >>confdefs.h <<\_ACEOF
14623 -@%:@define MAKE_BACK_GRAPH 1
14624 -_ACEOF
14625 -
14626 -      ;;
14627 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
14628 -       cat >>confdefs.h <<\_ACEOF
14629 -@%:@define MAKE_BACK_GRAPH 1
14630 -_ACEOF
14631 -
14632 -       { echo "$as_me:$LINENO: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
14633 -echo "$as_me: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&2;}
14634 -       cat >>confdefs.h <<\_ACEOF
14635 -@%:@define SAVE_CALL_COUNT 8
14636 -_ACEOF
14637 -
14638 -      ;;
14639 -    esac 
14640 -  fi
14641 -fi; 
14642 -
14643 -
14644 -
14645 -if test -z "$with_cross_host"; then
14646 -  USE_LIBDIR_TRUE=
14647 -  USE_LIBDIR_FALSE='#'
14648 -else
14649 -  USE_LIBDIR_TRUE='#'
14650 -  USE_LIBDIR_FALSE=
14651 -fi
14652 -
14653 -
14654 -if test "${multilib}" = "yes"; then
14655 -  multilib_arg="--enable-multilib"
14656 -else
14657 -  multilib_arg=
14658 -fi
14659 -
14660 -                    ac_config_files="$ac_config_files Makefile include/Makefile"
14661 -          ac_config_commands="$ac_config_commands default"
14662 -cat >confcache <<\_ACEOF
14663 -# This file is a shell script that caches the results of configure
14664 -# tests run on this system so they can be shared between configure
14665 -# scripts and configure runs, see configure's option --config-cache.
14666 -# It is not useful on other systems.  If it contains results you don't
14667 -# want to keep, you may remove or edit it.
14668 -#
14669 -# config.status only pays attention to the cache file if you give it
14670 -# the --recheck option to rerun configure.
14671 -#
14672 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
14673 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
14674 -# following values.
14675 -
14676 -_ACEOF
14677 -
14678 -# The following way of writing the cache mishandles newlines in values,
14679 -# but we know of no workaround that is simple, portable, and efficient.
14680 -# So, don't put newlines in cache variables' values.
14681 -# Ultrix sh set writes to stderr and can't be redirected directly,
14682 -# and sets the high bit in the cache file unless we assign to the vars.
14683 -{
14684 -  (set) 2>&1 |
14685 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
14686 -    *ac_space=\ *)
14687 -      # `set' does not quote correctly, so add quotes (double-quote
14688 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
14689 -      sed -n \
14690 -        "s/'/'\\\\''/g;
14691 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
14692 -      ;;
14693 -    *)
14694 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
14695 -      sed -n \
14696 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
14697 -      ;;
14698 -    esac;
14699 -} |
14700 -  sed '
14701 -     t clear
14702 -     : clear
14703 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
14704 -     t end
14705 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
14706 -     : end' >>confcache
14707 -if cmp -s $cache_file confcache; then :; else
14708 -  if test -w $cache_file; then
14709 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
14710 -    cat confcache >$cache_file
14711 -  else
14712 -    echo "not updating unwritable cache $cache_file"
14713 -  fi
14714 -fi
14715 -rm -f confcache
14716 -
14717 -test "x$prefix" = xNONE && prefix=$ac_default_prefix
14718 -# Let make expand exec_prefix.
14719 -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
14720 -
14721 -# VPATH may cause trouble with some makes, so we remove $(srcdir),
14722 -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
14723 -# trailing colons and then remove the whole line if VPATH becomes empty
14724 -# (actually we leave an empty line to preserve line numbers).
14725 -if test "x$srcdir" = x.; then
14726 -  ac_vpsub='/^[        ]*VPATH[        ]*=/{
14727 -s/:*\$(srcdir):*/:/;
14728 -s/:*\${srcdir}:*/:/;
14729 -s/:*@srcdir@:*/:/;
14730 -s/^\([^=]*=[   ]*\):*/\1/;
14731 -s/:*$//;
14732 -s/^[^=]*=[     ]*$//;
14733 -}'
14734 -fi
14735 -
14736 -# Transform confdefs.h into DEFS.
14737 -# Protect against shell expansion while executing Makefile rules.
14738 -# Protect against Makefile macro expansion.
14739 -#
14740 -# If the first sed substitution is executed (which looks for macros that
14741 -# take arguments), then we branch to the quote section.  Otherwise,
14742 -# look for a macro that doesn't take arguments.
14743 -cat >confdef2opt.sed <<\_ACEOF
14744 -t clear
14745 -: clear
14746 -s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\),-D\1=\2,g
14747 -t quote
14748 -s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\),-D\1=\2,g
14749 -t quote
14750 -d
14751 -: quote
14752 -s,[    `~#$^&*(){}\\|;'"<>?],\\&,g
14753 -s,\[,\\&,g
14754 -s,\],\\&,g
14755 -s,\$,$$,g
14756 -p
14757 -_ACEOF
14758 -# We use echo to avoid assuming a particular line-breaking character.
14759 -# The extra dot is to prevent the shell from consuming trailing
14760 -# line-breaks from the sub-command output.  A line-break within
14761 -# single-quotes doesn't work because, if this script is created in a
14762 -# platform that uses two characters for line-breaks (e.g., DOS), tr
14763 -# would break.
14764 -ac_LF_and_DOT=`echo; echo .`
14765 -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
14766 -rm -f confdef2opt.sed
14767 -
14768 -
14769 -ac_libobjs=
14770 -ac_ltlibobjs=
14771 -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
14772 -  # 1. Remove the extension, and $U if already installed.
14773 -  ac_i=`echo "$ac_i" |
14774 -         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
14775 -  # 2. Add them.
14776 -  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
14777 -  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
14778 -done
14779 -LIB@&t@OBJS=$ac_libobjs
14780 -
14781 -LTLIBOBJS=$ac_ltlibobjs
14782 -
14783 -
14784 -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
14785 -  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
14786 -Usually this means the macro was only invoked conditionally." >&5
14787 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
14788 -Usually this means the macro was only invoked conditionally." >&2;}
14789 -   { (exit 1); exit 1; }; }
14790 -fi
14791 -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
14792 -  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
14793 -Usually this means the macro was only invoked conditionally." >&5
14794 -echo "$as_me: error: conditional \"AMDEP\" was never defined.
14795 -Usually this means the macro was only invoked conditionally." >&2;}
14796 -   { (exit 1); exit 1; }; }
14797 -fi
14798 -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
14799 -  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
14800 -Usually this means the macro was only invoked conditionally." >&5
14801 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
14802 -Usually this means the macro was only invoked conditionally." >&2;}
14803 -   { (exit 1); exit 1; }; }
14804 -fi
14805 -if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
14806 -  { { echo "$as_me:$LINENO: error: conditional \"POWERPC_DARWIN\" was never defined.
14807 -Usually this means the macro was only invoked conditionally." >&5
14808 -echo "$as_me: error: conditional \"POWERPC_DARWIN\" was never defined.
14809 -Usually this means the macro was only invoked conditionally." >&2;}
14810 -   { (exit 1); exit 1; }; }
14811 -fi
14812 -if test -z "${USE_LIBDIR_TRUE}" && test -z "${USE_LIBDIR_FALSE}"; then
14813 -  { { echo "$as_me:$LINENO: error: conditional \"USE_LIBDIR\" was never defined.
14814 -Usually this means the macro was only invoked conditionally." >&5
14815 -echo "$as_me: error: conditional \"USE_LIBDIR\" was never defined.
14816 -Usually this means the macro was only invoked conditionally." >&2;}
14817 -   { (exit 1); exit 1; }; }
14818 -fi
14819 -
14820 -: ${CONFIG_STATUS=./config.status}
14821 -ac_clean_files_save=$ac_clean_files
14822 -ac_clean_files="$ac_clean_files $CONFIG_STATUS"
14823 -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
14824 -echo "$as_me: creating $CONFIG_STATUS" >&6;}
14825 -cat >$CONFIG_STATUS <<_ACEOF
14826 -#! $SHELL
14827 -# Generated by $as_me.
14828 -# Run this file to recreate the current configuration.
14829 -# Compiler output produced by configure, useful for debugging
14830 -# configure, is in config.log if it exists.
14831 -
14832 -debug=false
14833 -SHELL=\${CONFIG_SHELL-$SHELL}
14834 -_ACEOF
14835 -
14836 -cat >>$CONFIG_STATUS <<\_ACEOF
14837 -## --------------------- ##
14838 -## M4sh Initialization.  ##
14839 -## --------------------- ##
14840 -
14841 -# Be Bourne compatible
14842 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
14843 -  emulate sh
14844 -  NULLCMD=:
14845 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
14846 -  # is contrary to our usage.  Disable this feature.
14847 -  alias -g '${1+"$@"}'='"$@"'
14848 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
14849 -  set -o posix
14850 -fi
14851 -
14852 -# Support unset when possible.
14853 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
14854 -  as_unset=unset
14855 -else
14856 -  as_unset=false
14857 -fi
14858 -
14859 -
14860 -# Work around bugs in pre-3.0 UWIN ksh.
14861 -$as_unset ENV MAIL MAILPATH
14862 -PS1='$ '
14863 -PS2='> '
14864 -PS4='+ '
14865 -
14866 -# NLS nuisances.
14867 -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
14868 -do
14869 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
14870 -    eval $as_var=C; export $as_var
14871 -  else
14872 -    $as_unset $as_var
14873 -  fi
14874 -done
14875 -
14876 -# Required to use basename.
14877 -if expr a : '\(a\)' >/dev/null 2>&1; then
14878 -  as_expr=expr
14879 -else
14880 -  as_expr=false
14881 -fi
14882 -
14883 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
14884 -  as_basename=basename
14885 -else
14886 -  as_basename=false
14887 -fi
14888 -
14889 -
14890 -# Name of the executable.
14891 -as_me=`$as_basename "$0" ||
14892 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
14893 -        X"$0" : 'X\(//\)$' \| \
14894 -        X"$0" : 'X\(/\)$' \| \
14895 -        .     : '\(.\)' 2>/dev/null ||
14896 -echo X/"$0" |
14897 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
14898 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
14899 -         /^X\/\(\/\).*/{ s//\1/; q; }
14900 -         s/.*/./; q'`
14901 -
14902 -
14903 -# PATH needs CR, and LINENO needs CR and PATH.
14904 -# Avoid depending upon Character Ranges.
14905 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
14906 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
14907 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
14908 -as_cr_digits='0123456789'
14909 -as_cr_alnum=$as_cr_Letters$as_cr_digits
14910 -
14911 -# The user is always right.
14912 -if test "${PATH_SEPARATOR+set}" != set; then
14913 -  echo "#! /bin/sh" >conftest.sh
14914 -  echo  "exit 0"   >>conftest.sh
14915 -  chmod +x conftest.sh
14916 -  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
14917 -    PATH_SEPARATOR=';'
14918 -  else
14919 -    PATH_SEPARATOR=:
14920 -  fi
14921 -  rm -f conftest.sh
14922 -fi
14923 -
14924 -
14925 -  as_lineno_1=$LINENO
14926 -  as_lineno_2=$LINENO
14927 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
14928 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
14929 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
14930 -  # Find who we are.  Look in the path if we contain no path at all
14931 -  # relative or not.
14932 -  case $0 in
14933 -    *[\\/]* ) as_myself=$0 ;;
14934 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14935 -for as_dir in $PATH
14936 -do
14937 -  IFS=$as_save_IFS
14938 -  test -z "$as_dir" && as_dir=.
14939 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
14940 -done
14941 -
14942 -       ;;
14943 -  esac
14944 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
14945 -  # in which case we are not to be found in the path.
14946 -  if test "x$as_myself" = x; then
14947 -    as_myself=$0
14948 -  fi
14949 -  if test ! -f "$as_myself"; then
14950 -    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
14951 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
14952 -   { (exit 1); exit 1; }; }
14953 -  fi
14954 -  case $CONFIG_SHELL in
14955 -  '')
14956 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14957 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
14958 -do
14959 -  IFS=$as_save_IFS
14960 -  test -z "$as_dir" && as_dir=.
14961 -  for as_base in sh bash ksh sh5; do
14962 -        case $as_dir in
14963 -        /*)
14964 -          if ("$as_dir/$as_base" -c '
14965 -  as_lineno_1=$LINENO
14966 -  as_lineno_2=$LINENO
14967 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
14968 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
14969 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
14970 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
14971 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
14972 -            CONFIG_SHELL=$as_dir/$as_base
14973 -            export CONFIG_SHELL
14974 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
14975 -          fi;;
14976 -        esac
14977 -       done
14978 -done
14979 -;;
14980 -  esac
14981 -
14982 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
14983 -  # uniformly replaced by the line number.  The first 'sed' inserts a
14984 -  # line-number line before each line; the second 'sed' does the real
14985 -  # work.  The second script uses 'N' to pair each line-number line
14986 -  # with the numbered line, and appends trailing '-' during
14987 -  # substitution so that $LINENO is not a special case at line end.
14988 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
14989 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
14990 -  sed '=' <$as_myself |
14991 -    sed '
14992 -      N
14993 -      s,$,-,
14994 -      : loop
14995 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
14996 -      t loop
14997 -      s,-$,,
14998 -      s,^['$as_cr_digits']*\n,,
14999 -    ' >$as_me.lineno &&
15000 -  chmod +x $as_me.lineno ||
15001 -    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
15002 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
15003 -   { (exit 1); exit 1; }; }
15004 -
15005 -  # Don't try to exec as it changes $[0], causing all sort of problems
15006 -  # (the dirname of $[0] is not the place where we might find the
15007 -  # original and so on.  Autoconf is especially sensible to this).
15008 -  . ./$as_me.lineno
15009 -  # Exit status is that of the last command.
15010 -  exit
15011 -}
15012 -
15013 -
15014 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
15015 -  *c*,-n*) ECHO_N= ECHO_C='
15016 -' ECHO_T='     ' ;;
15017 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
15018 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
15019 -esac
15020 -
15021 -if expr a : '\(a\)' >/dev/null 2>&1; then
15022 -  as_expr=expr
15023 -else
15024 -  as_expr=false
15025 -fi
15026 -
15027 -rm -f conf$$ conf$$.exe conf$$.file
15028 -echo >conf$$.file
15029 -if ln -s conf$$.file conf$$ 2>/dev/null; then
15030 -  # We could just check for DJGPP; but this test a) works b) is more generic
15031 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
15032 -  if test -f conf$$.exe; then
15033 -    # Don't use ln at all; we don't have any links
15034 -    as_ln_s='cp -p'
15035 -  else
15036 -    as_ln_s='ln -s'
15037 -  fi
15038 -elif ln conf$$.file conf$$ 2>/dev/null; then
15039 -  as_ln_s=ln
15040 -else
15041 -  as_ln_s='cp -p'
15042 -fi
15043 -rm -f conf$$ conf$$.exe conf$$.file
15044 -
15045 -if mkdir -p . 2>/dev/null; then
15046 -  as_mkdir_p=:
15047 -else
15048 -  as_mkdir_p=false
15049 -fi
15050 -
15051 -as_executable_p="test -f"
15052 -
15053 -# Sed expression to map a string onto a valid CPP name.
15054 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
15055 -
15056 -# Sed expression to map a string onto a valid variable name.
15057 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
15058 -
15059 -
15060 -# IFS
15061 -# We need space, tab and new line, in precisely that order.
15062 -as_nl='
15063 -'
15064 -IFS="  $as_nl"
15065 -
15066 -# CDPATH.
15067 -$as_unset CDPATH
15068 -
15069 -exec 6>&1
15070 -
15071 -# Open the log real soon, to keep \$[0] and so on meaningful, and to
15072 -# report actual input values of CONFIG_FILES etc. instead of their
15073 -# values after options handling.  Logging --version etc. is OK.
15074 -exec 5>>config.log
15075 -{
15076 -  echo
15077 -  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
15078 -@%:@@%:@ Running $as_me. @%:@@%:@
15079 -_ASBOX
15080 -} >&5
15081 -cat >&5 <<_CSEOF
15082 -
15083 -This file was extended by $as_me, which was
15084 -generated by GNU Autoconf 2.54.  Invocation command line was
15085 -
15086 -  CONFIG_FILES    = $CONFIG_FILES
15087 -  CONFIG_HEADERS  = $CONFIG_HEADERS
15088 -  CONFIG_LINKS    = $CONFIG_LINKS
15089 -  CONFIG_COMMANDS = $CONFIG_COMMANDS
15090 -  $ $0 $@
15091 -
15092 -_CSEOF
15093 -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
15094 -echo >&5
15095 -_ACEOF
15096 -
15097 -# Files that config.status was made for.
15098 -if test -n "$ac_config_files"; then
15099 -  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
15100 -fi
15101 -
15102 -if test -n "$ac_config_headers"; then
15103 -  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
15104 -fi
15105 -
15106 -if test -n "$ac_config_links"; then
15107 -  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
15108 -fi
15109 -
15110 -if test -n "$ac_config_commands"; then
15111 -  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
15112 -fi
15113 -
15114 -cat >>$CONFIG_STATUS <<\_ACEOF
15115 -
15116 -ac_cs_usage="\
15117 -\`$as_me' instantiates files from templates according to the
15118 -current configuration.
15119 -
15120 -Usage: $0 [OPTIONS] [FILE]...
15121 -
15122 -  -h, --help       print this help, then exit
15123 -  -V, --version    print version number, then exit
15124 -  -d, --debug      don't remove temporary files
15125 -      --recheck    update $as_me by reconfiguring in the same conditions
15126 -  --file=FILE[:TEMPLATE]
15127 -                   instantiate the configuration file FILE
15128 -
15129 -Configuration files:
15130 -$config_files
15131 -
15132 -Configuration commands:
15133 -$config_commands
15134 -
15135 -Report bugs to <bug-autoconf@gnu.org>."
15136 -_ACEOF
15137 -
15138 -cat >>$CONFIG_STATUS <<_ACEOF
15139 -ac_cs_version="\\
15140 -config.status
15141 -configured by $0, generated by GNU Autoconf 2.54,
15142 -  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
15143 -
15144 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
15145 -Free Software Foundation, Inc.
15146 -This config.status script is free software; the Free Software Foundation
15147 -gives unlimited permission to copy, distribute and modify it."
15148 -srcdir=$srcdir
15149 -INSTALL="$INSTALL"
15150 -_ACEOF
15151 -
15152 -cat >>$CONFIG_STATUS <<\_ACEOF
15153 -# If no file are specified by the user, then we need to provide default
15154 -# value.  By we need to know if files were specified by the user.
15155 -ac_need_defaults=:
15156 -while test $# != 0
15157 -do
15158 -  case $1 in
15159 -  --*=*)
15160 -    ac_option=`expr "x$1" : 'x\([^=]*\)='`
15161 -    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
15162 -    ac_shift=:
15163 -    ;;
15164 -  -*)
15165 -    ac_option=$1
15166 -    ac_optarg=$2
15167 -    ac_shift=shift
15168 -    ;;
15169 -  *) # This is not an option, so the user has probably given explicit
15170 -     # arguments.
15171 -     ac_option=$1
15172 -     ac_need_defaults=false;;
15173 -  esac
15174 -
15175 -  case $ac_option in
15176 -  # Handling of the options.
15177 -_ACEOF
15178 -cat >>$CONFIG_STATUS <<_ACEOF
15179 -  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
15180 -    echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
15181 -    exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
15182 -_ACEOF
15183 -cat >>$CONFIG_STATUS <<\_ACEOF
15184 -  --version | --vers* | -V )
15185 -    echo "$ac_cs_version"; exit 0 ;;
15186 -  --he | --h)
15187 -    # Conflict between --help and --header
15188 -    { { echo "$as_me:$LINENO: error: ambiguous option: $1
15189 -Try \`$0 --help' for more information." >&5
15190 -echo "$as_me: error: ambiguous option: $1
15191 -Try \`$0 --help' for more information." >&2;}
15192 -   { (exit 1); exit 1; }; };;
15193 -  --help | --hel | -h )
15194 -    echo "$ac_cs_usage"; exit 0 ;;
15195 -  --debug | --d* | -d )
15196 -    debug=: ;;
15197 -  --file | --fil | --fi | --f )
15198 -    $ac_shift
15199 -    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
15200 -    ac_need_defaults=false;;
15201 -  --header | --heade | --head | --hea )
15202 -    $ac_shift
15203 -    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
15204 -    ac_need_defaults=false;;
15205 -
15206 -  # This is an error.
15207 -  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
15208 -Try \`$0 --help' for more information." >&5
15209 -echo "$as_me: error: unrecognized option: $1
15210 -Try \`$0 --help' for more information." >&2;}
15211 -   { (exit 1); exit 1; }; } ;;
15212 -
15213 -  *) ac_config_targets="$ac_config_targets $1" ;;
15214 -
15215 -  esac
15216 -  shift
15217 -done
15218 -
15219 -_ACEOF
15220 -
15221 -cat >>$CONFIG_STATUS <<_ACEOF
15222 -#
15223 -# INIT-COMMANDS section.
15224 -#
15225 -
15226 -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
15227 -srcdir=${srcdir}
15228 -host=${host}
15229 -target=${target}
15230 -with_multisubdir=${with_multisubdir}
15231 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
15232 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
15233 -gc_basedir=${gc_basedir}
15234 -CC="${CC}"
15235 -DEFS="$DEFS"
15236 -
15237 -
15238 -_ACEOF
15239 -
15240 -
15241 -
15242 -cat >>$CONFIG_STATUS <<\_ACEOF
15243 -for ac_config_target in $ac_config_targets
15244 -do
15245 -  case "$ac_config_target" in
15246 -  # Handling of arguments.
15247 -  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
15248 -  "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
15249 -  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
15250 -  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
15251 -  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
15252 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
15253 -   { (exit 1); exit 1; }; };;
15254 -  esac
15255 -done
15256 -
15257 -# If the user did not use the arguments to specify the items to instantiate,
15258 -# then the envvar interface is used.  Set only those that are not.
15259 -# We use the long form for the default assignment because of an extremely
15260 -# bizarre bug on SunOS 4.1.3.
15261 -if $ac_need_defaults; then
15262 -  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
15263 -  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
15264 -fi
15265 -
15266 -# Create a temporary directory, and hook for its removal unless debugging.
15267 -$debug ||
15268 -{
15269 -  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
15270 -  trap '{ (exit 1); exit 1; }' 1 2 13 15
15271 -}
15272 -
15273 -# Create a (secure) tmp directory for tmp files.
15274 -: ${TMPDIR=/tmp}
15275 -{
15276 -  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
15277 -  test -n "$tmp" && test -d "$tmp"
15278 -}  ||
15279 -{
15280 -  tmp=$TMPDIR/cs$$-$RANDOM
15281 -  (umask 077 && mkdir $tmp)
15282 -} ||
15283 -{
15284 -   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
15285 -   { (exit 1); exit 1; }
15286 -}
15287 -
15288 -_ACEOF
15289 -
15290 -cat >>$CONFIG_STATUS <<_ACEOF
15291 -
15292 -#
15293 -# CONFIG_FILES section.
15294 -#
15295 -
15296 -# No need to generate the scripts if there are no CONFIG_FILES.
15297 -# This happens for instance when ./config.status config.h
15298 -if test -n "\$CONFIG_FILES"; then
15299 -  # Protect against being on the right side of a sed subst in config.status.
15300 -  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
15301 -   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
15302 -s,@SHELL@,$SHELL,;t t
15303 -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
15304 -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
15305 -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
15306 -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
15307 -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
15308 -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
15309 -s,@exec_prefix@,$exec_prefix,;t t
15310 -s,@prefix@,$prefix,;t t
15311 -s,@program_transform_name@,$program_transform_name,;t t
15312 -s,@bindir@,$bindir,;t t
15313 -s,@sbindir@,$sbindir,;t t
15314 -s,@libexecdir@,$libexecdir,;t t
15315 -s,@datadir@,$datadir,;t t
15316 -s,@sysconfdir@,$sysconfdir,;t t
15317 -s,@sharedstatedir@,$sharedstatedir,;t t
15318 -s,@localstatedir@,$localstatedir,;t t
15319 -s,@libdir@,$libdir,;t t
15320 -s,@includedir@,$includedir,;t t
15321 -s,@oldincludedir@,$oldincludedir,;t t
15322 -s,@infodir@,$infodir,;t t
15323 -s,@mandir@,$mandir,;t t
15324 -s,@build_alias@,$build_alias,;t t
15325 -s,@host_alias@,$host_alias,;t t
15326 -s,@target_alias@,$target_alias,;t t
15327 -s,@DEFS@,$DEFS,;t t
15328 -s,@ECHO_C@,$ECHO_C,;t t
15329 -s,@ECHO_N@,$ECHO_N,;t t
15330 -s,@ECHO_T@,$ECHO_T,;t t
15331 -s,@LIBS@,$LIBS,;t t
15332 -s,@gc_basedir@,$gc_basedir,;t t
15333 -s,@build@,$build,;t t
15334 -s,@build_cpu@,$build_cpu,;t t
15335 -s,@build_vendor@,$build_vendor,;t t
15336 -s,@build_os@,$build_os,;t t
15337 -s,@host@,$host,;t t
15338 -s,@host_cpu@,$host_cpu,;t t
15339 -s,@host_vendor@,$host_vendor,;t t
15340 -s,@host_os@,$host_os,;t t
15341 -s,@target@,$target,;t t
15342 -s,@target_cpu@,$target_cpu,;t t
15343 -s,@target_vendor@,$target_vendor,;t t
15344 -s,@target_os@,$target_os,;t t
15345 -s,@mkinstalldirs@,$mkinstalldirs,;t t
15346 -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
15347 -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
15348 -s,@INSTALL_DATA@,$INSTALL_DATA,;t t
15349 -s,@PACKAGE@,$PACKAGE,;t t
15350 -s,@VERSION@,$VERSION,;t t
15351 -s,@ACLOCAL@,$ACLOCAL,;t t
15352 -s,@AUTOCONF@,$AUTOCONF,;t t
15353 -s,@AUTOMAKE@,$AUTOMAKE,;t t
15354 -s,@AUTOHEADER@,$AUTOHEADER,;t t
15355 -s,@MAKEINFO@,$MAKEINFO,;t t
15356 -s,@AMTAR@,$AMTAR,;t t
15357 -s,@install_sh@,$install_sh,;t t
15358 -s,@STRIP@,$STRIP,;t t
15359 -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
15360 -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
15361 -s,@AWK@,$AWK,;t t
15362 -s,@SET_MAKE@,$SET_MAKE,;t t
15363 -s,@AS@,$AS,;t t
15364 -s,@ac_ct_AS@,$ac_ct_AS,;t t
15365 -s,@AR@,$AR,;t t
15366 -s,@ac_ct_AR@,$ac_ct_AR,;t t
15367 -s,@RANLIB@,$RANLIB,;t t
15368 -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
15369 -s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
15370 -s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
15371 -s,@MAINT@,$MAINT,;t t
15372 -s,@GC_CFLAGS@,$GC_CFLAGS,;t t
15373 -s,@CC@,$CC,;t t
15374 -s,@CFLAGS@,$CFLAGS,;t t
15375 -s,@LDFLAGS@,$LDFLAGS,;t t
15376 -s,@CPPFLAGS@,$CPPFLAGS,;t t
15377 -s,@ac_ct_CC@,$ac_ct_CC,;t t
15378 -s,@EXEEXT@,$EXEEXT,;t t
15379 -s,@OBJEXT@,$OBJEXT,;t t
15380 -s,@DEPDIR@,$DEPDIR,;t t
15381 -s,@am__include@,$am__include,;t t
15382 -s,@am__quote@,$am__quote,;t t
15383 -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
15384 -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
15385 -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
15386 -s,@CCDEPMODE@,$CCDEPMODE,;t t
15387 -s,@LN_S@,$LN_S,;t t
15388 -s,@ECHO@,$ECHO,;t t
15389 -s,@CPP@,$CPP,;t t
15390 -s,@EGREP@,$EGREP,;t t
15391 -s,@LIBTOOL@,$LIBTOOL,;t t
15392 -s,@THREADLIBS@,$THREADLIBS,;t t
15393 -s,@POWERPC_DARWIN_TRUE@,$POWERPC_DARWIN_TRUE,;t t
15394 -s,@POWERPC_DARWIN_FALSE@,$POWERPC_DARWIN_FALSE,;t t
15395 -s,@EXTRA_TEST_LIBS@,$EXTRA_TEST_LIBS,;t t
15396 -s,@target_all@,$target_all,;t t
15397 -s,@CXX@,$CXX,;t t
15398 -s,@INCLUDES@,$INCLUDES,;t t
15399 -s,@CXXINCLUDES@,$CXXINCLUDES,;t t
15400 -s,@addobjs@,$addobjs,;t t
15401 -s,@MY_CFLAGS@,$MY_CFLAGS,;t t
15402 -s,@USE_LIBDIR_TRUE@,$USE_LIBDIR_TRUE,;t t
15403 -s,@USE_LIBDIR_FALSE@,$USE_LIBDIR_FALSE,;t t
15404 -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
15405 -s,@LTLIBOBJS@,$LTLIBOBJS,;t t
15406 -CEOF
15407 -
15408 -_ACEOF
15409 -
15410 -  cat >>$CONFIG_STATUS <<\_ACEOF
15411 -  # Split the substitutions into bite-sized pieces for seds with
15412 -  # small command number limits, like on Digital OSF/1 and HP-UX.
15413 -  ac_max_sed_lines=48
15414 -  ac_sed_frag=1 # Number of current file.
15415 -  ac_beg=1 # First line for current file.
15416 -  ac_end=$ac_max_sed_lines # Line after last line for current file.
15417 -  ac_more_lines=:
15418 -  ac_sed_cmds=
15419 -  while $ac_more_lines; do
15420 -    if test $ac_beg -gt 1; then
15421 -      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
15422 -    else
15423 -      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
15424 -    fi
15425 -    if test ! -s $tmp/subs.frag; then
15426 -      ac_more_lines=false
15427 -    else
15428 -      # The purpose of the label and of the branching condition is to
15429 -      # speed up the sed processing (if there are no `@' at all, there
15430 -      # is no need to browse any of the substitutions).
15431 -      # These are the two extra sed commands mentioned above.
15432 -      (echo ':t
15433 -  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
15434 -      if test -z "$ac_sed_cmds"; then
15435 -       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
15436 -      else
15437 -       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
15438 -      fi
15439 -      ac_sed_frag=`expr $ac_sed_frag + 1`
15440 -      ac_beg=$ac_end
15441 -      ac_end=`expr $ac_end + $ac_max_sed_lines`
15442 -    fi
15443 -  done
15444 -  if test -z "$ac_sed_cmds"; then
15445 -    ac_sed_cmds=cat
15446 -  fi
15447 -fi # test -n "$CONFIG_FILES"
15448 -
15449 -_ACEOF
15450 -cat >>$CONFIG_STATUS <<\_ACEOF
15451 -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
15452 -  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
15453 -  case $ac_file in
15454 -  - | *:- | *:-:* ) # input from stdin
15455 -        cat >$tmp/stdin
15456 -        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
15457 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
15458 -  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
15459 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
15460 -  * )   ac_file_in=$ac_file.in ;;
15461 -  esac
15462 -
15463 -  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
15464 -  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
15465 -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15466 -         X"$ac_file" : 'X\(//\)[^/]' \| \
15467 -         X"$ac_file" : 'X\(//\)$' \| \
15468 -         X"$ac_file" : 'X\(/\)' \| \
15469 -         .     : '\(.\)' 2>/dev/null ||
15470 -echo X"$ac_file" |
15471 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15472 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15473 -         /^X\(\/\/\)$/{ s//\1/; q; }
15474 -         /^X\(\/\).*/{ s//\1/; q; }
15475 -         s/.*/./; q'`
15476 -  { if $as_mkdir_p; then
15477 -    mkdir -p "$ac_dir"
15478 -  else
15479 -    as_dir="$ac_dir"
15480 -    as_dirs=
15481 -    while test ! -d "$as_dir"; do
15482 -      as_dirs="$as_dir $as_dirs"
15483 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
15484 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15485 -         X"$as_dir" : 'X\(//\)[^/]' \| \
15486 -         X"$as_dir" : 'X\(//\)$' \| \
15487 -         X"$as_dir" : 'X\(/\)' \| \
15488 -         .     : '\(.\)' 2>/dev/null ||
15489 -echo X"$as_dir" |
15490 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15491 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15492 -         /^X\(\/\/\)$/{ s//\1/; q; }
15493 -         /^X\(\/\).*/{ s//\1/; q; }
15494 -         s/.*/./; q'`
15495 -    done
15496 -    test ! -n "$as_dirs" || mkdir $as_dirs
15497 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
15498 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
15499 -   { (exit 1); exit 1; }; }; }
15500 -
15501 -  ac_builddir=.
15502 -
15503 -if test "$ac_dir" != .; then
15504 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
15505 -  # A "../" for each directory in $ac_dir_suffix.
15506 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
15507 -else
15508 -  ac_dir_suffix= ac_top_builddir=
15509 -fi
15510 -
15511 -case $srcdir in
15512 -  .)  # No --srcdir option.  We are building in place.
15513 -    ac_srcdir=.
15514 -    if test -z "$ac_top_builddir"; then
15515 -       ac_top_srcdir=.
15516 -    else
15517 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
15518 -    fi ;;
15519 -  [\\/]* | ?:[\\/]* )  # Absolute path.
15520 -    ac_srcdir=$srcdir$ac_dir_suffix;
15521 -    ac_top_srcdir=$srcdir ;;
15522 -  *) # Relative path.
15523 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
15524 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
15525 -esac
15526 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
15527 -# absolute.
15528 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
15529 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
15530 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
15531 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
15532 -
15533 -
15534 -  case $INSTALL in
15535 -  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
15536 -  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
15537 -  esac
15538 -
15539 -  if test x"$ac_file" != x-; then
15540 -    { echo "$as_me:$LINENO: creating $ac_file" >&5
15541 -echo "$as_me: creating $ac_file" >&6;}
15542 -    rm -f "$ac_file"
15543 -  fi
15544 -  # Let's still pretend it is `configure' which instantiates (i.e., don't
15545 -  # use $as_me), people would be surprised to read:
15546 -  #    /* config.h.  Generated by config.status.  */
15547 -  if test x"$ac_file" = x-; then
15548 -    configure_input=
15549 -  else
15550 -    configure_input="$ac_file.  "
15551 -  fi
15552 -  configure_input=$configure_input"Generated from `echo $ac_file_in |
15553 -                                     sed 's,.*/,,'` by configure."
15554 -
15555 -  # First look for the input files in the build tree, otherwise in the
15556 -  # src tree.
15557 -  ac_file_inputs=`IFS=:
15558 -    for f in $ac_file_in; do
15559 -      case $f in
15560 -      -) echo $tmp/stdin ;;
15561 -      [\\/$]*)
15562 -         # Absolute (can't be DOS-style, as IFS=:)
15563 -         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
15564 -echo "$as_me: error: cannot find input file: $f" >&2;}
15565 -   { (exit 1); exit 1; }; }
15566 -         echo $f;;
15567 -      *) # Relative
15568 -         if test -f "$f"; then
15569 -           # Build tree
15570 -           echo $f
15571 -         elif test -f "$srcdir/$f"; then
15572 -           # Source tree
15573 -           echo $srcdir/$f
15574 -         else
15575 -           # /dev/null tree
15576 -           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
15577 -echo "$as_me: error: cannot find input file: $f" >&2;}
15578 -   { (exit 1); exit 1; }; }
15579 -         fi;;
15580 -      esac
15581 -    done` || { (exit 1); exit 1; }
15582 -_ACEOF
15583 -cat >>$CONFIG_STATUS <<_ACEOF
15584 -  sed "$ac_vpsub
15585 -$extrasub
15586 -_ACEOF
15587 -cat >>$CONFIG_STATUS <<\_ACEOF
15588 -:t
15589 -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
15590 -s,@configure_input@,$configure_input,;t t
15591 -s,@srcdir@,$ac_srcdir,;t t
15592 -s,@abs_srcdir@,$ac_abs_srcdir,;t t
15593 -s,@top_srcdir@,$ac_top_srcdir,;t t
15594 -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
15595 -s,@builddir@,$ac_builddir,;t t
15596 -s,@abs_builddir@,$ac_abs_builddir,;t t
15597 -s,@top_builddir@,$ac_top_builddir,;t t
15598 -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
15599 -s,@INSTALL@,$ac_INSTALL,;t t
15600 -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
15601 -  rm -f $tmp/stdin
15602 -  if test x"$ac_file" != x-; then
15603 -    mv $tmp/out $ac_file
15604 -  else
15605 -    cat $tmp/out
15606 -    rm -f $tmp/out
15607 -  fi
15608 -
15609 -done
15610 -_ACEOF
15611 -cat >>$CONFIG_STATUS <<\_ACEOF
15612 -
15613 -#
15614 -# CONFIG_COMMANDS section.
15615 -#
15616 -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
15617 -  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
15618 -  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
15619 -  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
15620 -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15621 -         X"$ac_dest" : 'X\(//\)[^/]' \| \
15622 -         X"$ac_dest" : 'X\(//\)$' \| \
15623 -         X"$ac_dest" : 'X\(/\)' \| \
15624 -         .     : '\(.\)' 2>/dev/null ||
15625 -echo X"$ac_dest" |
15626 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15627 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15628 -         /^X\(\/\/\)$/{ s//\1/; q; }
15629 -         /^X\(\/\).*/{ s//\1/; q; }
15630 -         s/.*/./; q'`
15631 -  ac_builddir=.
15632 -
15633 -if test "$ac_dir" != .; then
15634 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
15635 -  # A "../" for each directory in $ac_dir_suffix.
15636 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
15637 -else
15638 -  ac_dir_suffix= ac_top_builddir=
15639 -fi
15640 -
15641 -case $srcdir in
15642 -  .)  # No --srcdir option.  We are building in place.
15643 -    ac_srcdir=.
15644 -    if test -z "$ac_top_builddir"; then
15645 -       ac_top_srcdir=.
15646 -    else
15647 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
15648 -    fi ;;
15649 -  [\\/]* | ?:[\\/]* )  # Absolute path.
15650 -    ac_srcdir=$srcdir$ac_dir_suffix;
15651 -    ac_top_srcdir=$srcdir ;;
15652 -  *) # Relative path.
15653 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
15654 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
15655 -esac
15656 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
15657 -# absolute.
15658 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
15659 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
15660 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
15661 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
15662 -
15663 -
15664 -  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
15665 -echo "$as_me: executing $ac_dest commands" >&6;}
15666 -  case $ac_dest in
15667 -    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
15668 -  # Strip MF so we end up with the name of the file.
15669 -  mf=`echo "$mf" | sed -e 's/:.*$//'`
15670 -  if (sed 1q $mf | fgrep 'generated by automake') > /dev/null 2>&1; then
15671 -    dirpart=`(dirname "$mf") 2>/dev/null ||
15672 -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15673 -         X"$mf" : 'X\(//\)[^/]' \| \
15674 -         X"$mf" : 'X\(//\)$' \| \
15675 -         X"$mf" : 'X\(/\)' \| \
15676 -         .     : '\(.\)' 2>/dev/null ||
15677 -echo X"$mf" |
15678 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15679 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15680 -         /^X\(\/\/\)$/{ s//\1/; q; }
15681 -         /^X\(\/\).*/{ s//\1/; q; }
15682 -         s/.*/./; q'`
15683 -  else
15684 -    continue
15685 -  fi
15686 -  grep '^DEP_FILES *= *[^ @%:@]' < "$mf" > /dev/null || continue
15687 -  # Extract the definition of DEP_FILES from the Makefile without
15688 -  # running `make'.
15689 -  DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
15690 -  test -z "$DEPDIR" && continue
15691 -  # When using ansi2knr, U may be empty or an underscore; expand it
15692 -  U=`sed -n -e '/^U = / s///p' < "$mf"`
15693 -  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
15694 -  # We invoke sed twice because it is the simplest approach to
15695 -  # changing $(DEPDIR) to its actual value in the expansion.
15696 -  for file in `sed -n -e '
15697 -    /^DEP_FILES = .*\\\\$/ {
15698 -      s/^DEP_FILES = //
15699 -      :loop
15700 -       s/\\\\$//
15701 -       p
15702 -       n
15703 -       /\\\\$/ b loop
15704 -      p
15705 -    }
15706 -    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
15707 -       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
15708 -    # Make sure the directory exists.
15709 -    test -f "$dirpart/$file" && continue
15710 -    fdir=`(dirname "$file") 2>/dev/null ||
15711 -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15712 -         X"$file" : 'X\(//\)[^/]' \| \
15713 -         X"$file" : 'X\(//\)$' \| \
15714 -         X"$file" : 'X\(/\)' \| \
15715 -         .     : '\(.\)' 2>/dev/null ||
15716 -echo X"$file" |
15717 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15718 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15719 -         /^X\(\/\/\)$/{ s//\1/; q; }
15720 -         /^X\(\/\).*/{ s//\1/; q; }
15721 -         s/.*/./; q'`
15722 -    { if $as_mkdir_p; then
15723 -    mkdir -p $dirpart/$fdir
15724 -  else
15725 -    as_dir=$dirpart/$fdir
15726 -    as_dirs=
15727 -    while test ! -d "$as_dir"; do
15728 -      as_dirs="$as_dir $as_dirs"
15729 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
15730 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15731 -         X"$as_dir" : 'X\(//\)[^/]' \| \
15732 -         X"$as_dir" : 'X\(//\)$' \| \
15733 -         X"$as_dir" : 'X\(/\)' \| \
15734 -         .     : '\(.\)' 2>/dev/null ||
15735 -echo X"$as_dir" |
15736 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15737 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15738 -         /^X\(\/\/\)$/{ s//\1/; q; }
15739 -         /^X\(\/\).*/{ s//\1/; q; }
15740 -         s/.*/./; q'`
15741 -    done
15742 -    test ! -n "$as_dirs" || mkdir $as_dirs
15743 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
15744 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
15745 -   { (exit 1); exit 1; }; }; }
15746 -
15747 -    # echo "creating $dirpart/$file"
15748 -    echo '# dummy' > "$dirpart/$file"
15749 -  done
15750 -done
15751 - ;;
15752 -    default ) 
15753 -echo "$DEFS" > boehm-cflags
15754 -
15755 -if test -n "$CONFIG_FILES"; then
15756 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
15757 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
15758 -fi ;;
15759 -  esac
15760 -done
15761 -_ACEOF
15762 -
15763 -cat >>$CONFIG_STATUS <<\_ACEOF
15764 -
15765 -{ (exit 0); exit 0; }
15766 -_ACEOF
15767 -chmod +x $CONFIG_STATUS
15768 -ac_clean_files=$ac_clean_files_save
15769 -
15770 -
15771 -# configure is writing to config.log, and then calls config.status.
15772 -# config.status does its own redirection, appending to config.log.
15773 -# Unfortunately, on DOS this fails, as config.log is still kept open
15774 -# by configure, so config.status won't be able to write to it; its
15775 -# output is simply discarded.  So we exec the FD to /dev/null,
15776 -# effectively closing config.log, so it can be properly (re)opened and
15777 -# appended to by config.status.  When coming back to configure, we
15778 -# need to make the FD available again.
15779 -if test "$no_create" != yes; then
15780 -  ac_cs_success=:
15781 -  exec 5>/dev/null
15782 -  $SHELL $CONFIG_STATUS || ac_cs_success=false
15783 -  exec 5>>config.log
15784 -  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
15785 -  # would make configure fail if this is the last instruction.
15786 -  $ac_cs_success || { (exit 1); exit 1; }
15787 -fi
15788 -
15789 diff -Nur ../boehm-gc/autom4te.cache/requests boehm-gc/autom4te.cache/requests
15790 --- ../boehm-gc/autom4te.cache/requests Sat May 31 15:09:32 2003
15791 +++ boehm-gc/autom4te.cache/requests    Wed Dec 31 16:00:00 1969
15792 @@ -1,198 +0,0 @@
15793 -# This file was created by autom4te-2.54.
15794 -# It contains the lists of macros which have been traced.
15795 -# It can be safely removed.
15796 -
15797 -@request = (
15798 -             bless( [
15799 -                      '0',
15800 -                      0,
15801 -                      [
15802 -                        '/sw/share/autoconf'
15803 -                      ],
15804 -                      [
15805 -                        '/sw/share/autoconf/autoconf/autoconf.m4f',
15806 -                        'aclocal.m4',
15807 -                        'configure.in'
15808 -                      ],
15809 -                      {
15810 -                        'm4_pattern_forbid' => 1,
15811 -                        'AC_C_VOLATILE' => 1,
15812 -                        'AC_TYPE_OFF_T' => 1,
15813 -                        'AC_FUNC_CLOSEDIR_VOID' => 1,
15814 -                        'AC_REPLACE_FNMATCH' => 1,
15815 -                        'AC_PROG_LIBTOOL' => 1,
15816 -                        'AC_FUNC_STAT' => 1,
15817 -                        'AC_FUNC_WAIT3' => 1,
15818 -                        'AC_HEADER_TIME' => 1,
15819 -                        'AC_FUNC_LSTAT' => 1,
15820 -                        'AC_STRUCT_TM' => 1,
15821 -                        'AM_AUTOMAKE_VERSION' => 1,
15822 -                        'AC_FUNC_GETMNTENT' => 1,
15823 -                        'AC_TYPE_MODE_T' => 1,
15824 -                        'AC_FUNC_STRTOD' => 1,
15825 -                        'AC_CHECK_HEADERS' => 1,
15826 -                        'AC_FUNC_STRNLEN' => 1,
15827 -                        'AC_PROG_CXX' => 1,
15828 -                        'AC_PATH_X' => 1,
15829 -                        'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
15830 -                        'AC_PROG_AWK' => 1,
15831 -                        'AC_HEADER_STDC' => 1,
15832 -                        'AC_HEADER_MAJOR' => 1,
15833 -                        'AC_FUNC_ERROR_AT_LINE' => 1,
15834 -                        'AC_PROG_GCC_TRADITIONAL' => 1,
15835 -                        'AC_LIBSOURCE' => 1,
15836 -                        'AC_FUNC_MBRTOWC' => 1,
15837 -                        'AC_STRUCT_ST_BLOCKS' => 1,
15838 -                        'AC_TYPE_SIGNAL' => 1,
15839 -                        'AC_TYPE_UID_T' => 1,
15840 -                        'AC_CONFIG_AUX_DIR' => 1,
15841 -                        'AC_PROG_MAKE_SET' => 1,
15842 -                        'm4_pattern_allow' => 1,
15843 -                        'AC_DEFINE_TRACE_LITERAL' => 1,
15844 -                        'AC_FUNC_STRERROR_R' => 1,
15845 -                        'AC_PROG_CC' => 1,
15846 -                        'AC_FUNC_FORK' => 1,
15847 -                        'AC_DECL_SYS_SIGLIST' => 1,
15848 -                        'AC_FUNC_STRCOLL' => 1,
15849 -                        'AC_FUNC_VPRINTF' => 1,
15850 -                        'AC_PROG_YACC' => 1,
15851 -                        'AC_INIT' => 1,
15852 -                        'AC_STRUCT_TIMEZONE' => 1,
15853 -                        'AC_FUNC_CHOWN' => 1,
15854 -                        'AC_SUBST' => 1,
15855 -                        'AC_FUNC_ALLOCA' => 1,
15856 -                        'AC_CANONICAL_HOST' => 1,
15857 -                        'AC_FUNC_GETPGRP' => 1,
15858 -                        'AC_PROG_RANLIB' => 1,
15859 -                        'AM_INIT_AUTOMAKE' => 1,
15860 -                        'AC_FUNC_SETPGRP' => 1,
15861 -                        'AC_CONFIG_SUBDIRS' => 1,
15862 -                        'AC_FUNC_MMAP' => 1,
15863 -                        'AC_FUNC_REALLOC' => 1,
15864 -                        'AC_TYPE_SIZE_T' => 1,
15865 -                        'AC_CHECK_TYPES' => 1,
15866 -                        'AC_CHECK_MEMBERS' => 1,
15867 -                        'AM_MAINTAINER_MODE' => 1,
15868 -                        'AC_FUNC_UTIME_NULL' => 1,
15869 -                        'AC_FUNC_SELECT_ARGTYPES' => 1,
15870 -                        'AC_FUNC_STRFTIME' => 1,
15871 -                        'AC_HEADER_STAT' => 1,
15872 -                        'AC_C_INLINE' => 1,
15873 -                        'AC_PROG_CPP' => 1,
15874 -                        'AC_TYPE_PID_T' => 1,
15875 -                        'AC_PROG_LEX' => 1,
15876 -                        'AC_C_CONST' => 1,
15877 -                        'AC_CONFIG_FILES' => 1,
15878 -                        'include' => 1,
15879 -                        'AC_FUNC_SETVBUF_REVERSED' => 1,
15880 -                        'AC_PROG_INSTALL' => 1,
15881 -                        'AM_GNU_GETTEXT' => 1,
15882 -                        'AC_CHECK_LIB' => 1,
15883 -                        'AC_FUNC_OBSTACK' => 1,
15884 -                        'AC_FUNC_MALLOC' => 1,
15885 -                        'AC_FUNC_GETGROUPS' => 1,
15886 -                        'AC_FUNC_GETLOADAVG' => 1,
15887 -                        'AH_OUTPUT' => 1,
15888 -                        'AC_FUNC_FSEEKO' => 1,
15889 -                        'AM_PROG_CC_C_O' => 1,
15890 -                        'AC_FUNC_MKTIME' => 1,
15891 -                        'AC_CANONICAL_SYSTEM' => 1,
15892 -                        'AM_CONDITIONAL' => 1,
15893 -                        'AC_CONFIG_HEADERS' => 1,
15894 -                        'AC_HEADER_SYS_WAIT' => 1,
15895 -                        'AC_PROG_LN_S' => 1,
15896 -                        'AC_FUNC_MEMCMP' => 1,
15897 -                        'm4_include' => 1,
15898 -                        'AC_HEADER_DIRENT' => 1,
15899 -                        'AC_CHECK_FUNCS' => 1
15900 -                      }
15901 -                    ], 'Request' ),
15902 -             bless( [
15903 -                      '1',
15904 -                      1,
15905 -                      [
15906 -                        '/sw/share/autoconf-2.54'
15907 -                      ],
15908 -                      [
15909 -                        '--reload-state=/sw/share/autoconf-2.54/autoconf/autoconf.m4f',
15910 -                        'aclocal.m4',
15911 -                        'configure.in'
15912 -                      ],
15913 -                      {
15914 -                        'm4_pattern_forbid' => 1,
15915 -                        'AC_TYPE_OFF_T' => 1,
15916 -                        'AC_PROG_LIBTOOL' => 1,
15917 -                        'AC_FUNC_STAT' => 1,
15918 -                        'AC_HEADER_TIME' => 1,
15919 -                        'AC_FUNC_WAIT3' => 1,
15920 -                        'AC_STRUCT_TM' => 1,
15921 -                        'AC_FUNC_LSTAT' => 1,
15922 -                        'AC_TYPE_MODE_T' => 1,
15923 -                        'AC_FUNC_STRTOD' => 1,
15924 -                        'AC_CHECK_HEADERS' => 1,
15925 -                        'AC_PROG_CXX' => 1,
15926 -                        'AC_PATH_X' => 1,
15927 -                        'AC_PROG_AWK' => 1,
15928 -                        'AC_HEADER_STDC' => 1,
15929 -                        'AC_HEADER_MAJOR' => 1,
15930 -                        'AC_FUNC_ERROR_AT_LINE' => 1,
15931 -                        'AC_PROG_GCC_TRADITIONAL' => 1,
15932 -                        'AC_LIBSOURCE' => 1,
15933 -                        'AC_STRUCT_ST_BLOCKS' => 1,
15934 -                        'AC_TYPE_SIGNAL' => 1,
15935 -                        'AC_TYPE_UID_T' => 1,
15936 -                        'AC_PROG_MAKE_SET' => 1,
15937 -                        'm4_pattern_allow' => 1,
15938 -                        'AC_DEFINE_TRACE_LITERAL' => 1,
15939 -                        'AM_PROG_LIBTOOL' => 1,
15940 -                        'AC_FUNC_STRERROR_R' => 1,
15941 -                        'AC_PROG_CC' => 1,
15942 -                        'AC_FUNC_FORK' => 1,
15943 -                        'AC_DECL_SYS_SIGLIST' => 1,
15944 -                        'AC_FUNC_STRCOLL' => 1,
15945 -                        'AC_FUNC_VPRINTF' => 1,
15946 -                        'AC_PROG_YACC' => 1,
15947 -                        'AC_STRUCT_TIMEZONE' => 1,
15948 -                        'AC_FUNC_CHOWN' => 1,
15949 -                        'AC_SUBST' => 1,
15950 -                        'AC_FUNC_ALLOCA' => 1,
15951 -                        'AC_FUNC_GETPGRP' => 1,
15952 -                        'AC_PROG_RANLIB' => 1,
15953 -                        'AC_FUNC_SETPGRP' => 1,
15954 -                        'AC_FUNC_MMAP' => 1,
15955 -                        'AC_TYPE_SIZE_T' => 1,
15956 -                        'AC_CHECK_TYPES' => 1,
15957 -                        'AC_FUNC_UTIME_NULL' => 1,
15958 -                        'AC_FUNC_STRFTIME' => 1,
15959 -                        'AC_HEADER_STAT' => 1,
15960 -                        'AC_C_INLINE' => 1,
15961 -                        'AC_PROG_CPP' => 1,
15962 -                        'AC_C_CONST' => 1,
15963 -                        'AC_PROG_LEX' => 1,
15964 -                        'AC_TYPE_PID_T' => 1,
15965 -                        'AC_CONFIG_FILES' => 1,
15966 -                        'include' => 1,
15967 -                        'AC_FUNC_SETVBUF_REVERSED' => 1,
15968 -                        'AC_FUNC_FNMATCH' => 1,
15969 -                        'AC_PROG_INSTALL' => 1,
15970 -                        'AM_GNU_GETTEXT' => 1,
15971 -                        'AC_FUNC_OBSTACK' => 1,
15972 -                        'AC_CHECK_LIB' => 1,
15973 -                        'AC_FUNC_MALLOC' => 1,
15974 -                        'AC_FUNC_GETGROUPS' => 1,
15975 -                        'AC_FUNC_GETLOADAVG' => 1,
15976 -                        'AH_OUTPUT' => 1,
15977 -                        'AC_FUNC_FSEEKO' => 1,
15978 -                        'AC_FUNC_MKTIME' => 1,
15979 -                        'AM_CONDITIONAL' => 1,
15980 -                        'AC_CONFIG_HEADERS' => 1,
15981 -                        'AC_HEADER_SYS_WAIT' => 1,
15982 -                        'AC_PROG_LN_S' => 1,
15983 -                        'AC_FUNC_MEMCMP' => 1,
15984 -                        'm4_include' => 1,
15985 -                        'AC_HEADER_DIRENT' => 1,
15986 -                        'AC_CHECK_FUNCS' => 1
15987 -                      }
15988 -                    ], 'Request' )
15989 -           );
15990 -
15991 diff -Nur ../boehm-gc/autom4te.cache/traces.0 boehm-gc/autom4te.cache/traces.0
15992 --- ../boehm-gc/autom4te.cache/traces.0 Mon May 26 13:14:22 2003
15993 +++ boehm-gc/autom4te.cache/traces.0    Wed Dec 31 16:00:00 1969
15994 @@ -1,185 +0,0 @@
15995 -m4trace:configure.in:16: -1- AC_INIT([gcj_mlc.c])
15996 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?A[CHUM]_])
15997 -m4trace:configure.in:16: -1- m4_pattern_forbid([_AC_])
15998 -m4trace:configure.in:16: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
15999 -m4trace:configure.in:16: -1- m4_pattern_allow([^AS_FLAGS$])
16000 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?m4_])
16001 -m4trace:configure.in:16: -1- m4_pattern_forbid([^dnl$])
16002 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?AS_])
16003 -m4trace:configure.in:16: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
16004 -m4trace:configure.in:16: -1- AC_SUBST([PATH_SEPARATOR])
16005 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
16006 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
16007 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
16008 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
16009 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
16010 -m4trace:configure.in:16: -1- AC_SUBST([exec_prefix], [NONE])
16011 -m4trace:configure.in:16: -1- AC_SUBST([prefix], [NONE])
16012 -m4trace:configure.in:16: -1- AC_SUBST([program_transform_name], [s,x,x,])
16013 -m4trace:configure.in:16: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
16014 -m4trace:configure.in:16: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
16015 -m4trace:configure.in:16: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
16016 -m4trace:configure.in:16: -1- AC_SUBST([datadir], ['${prefix}/share'])
16017 -m4trace:configure.in:16: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
16018 -m4trace:configure.in:16: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
16019 -m4trace:configure.in:16: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
16020 -m4trace:configure.in:16: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
16021 -m4trace:configure.in:16: -1- AC_SUBST([includedir], ['${prefix}/include'])
16022 -m4trace:configure.in:16: -1- AC_SUBST([oldincludedir], ['/usr/include'])
16023 -m4trace:configure.in:16: -1- AC_SUBST([infodir], ['${prefix}/info'])
16024 -m4trace:configure.in:16: -1- AC_SUBST([mandir], ['${prefix}/man'])
16025 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
16026 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
16027 -#undef PACKAGE_NAME])
16028 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
16029 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
16030 -#undef PACKAGE_TARNAME])
16031 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
16032 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
16033 -#undef PACKAGE_VERSION])
16034 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
16035 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
16036 -#undef PACKAGE_STRING])
16037 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
16038 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
16039 -#undef PACKAGE_BUGREPORT])
16040 -m4trace:configure.in:16: -1- AC_SUBST([build_alias])
16041 -m4trace:configure.in:16: -1- AC_SUBST([host_alias])
16042 -m4trace:configure.in:16: -1- AC_SUBST([target_alias])
16043 -m4trace:configure.in:16: -1- AC_SUBST([DEFS])
16044 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_C])
16045 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_N])
16046 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_T])
16047 -m4trace:configure.in:16: -1- AC_SUBST([LIBS])
16048 -m4trace:configure.in:25: -1- AC_CONFIG_AUX_DIR([.])
16049 -m4trace:configure.in:27: -1- AC_SUBST([gc_basedir])
16050 -m4trace:configure.in:27: -1- AC_CONFIG_AUX_DIR([$gc_basedir/..])
16051 -m4trace:configure.in:27: -1- AC_CONFIG_AUX_DIR([..])
16052 -m4trace:configure.in:27: -1- AC_CANONICAL_SYSTEM
16053 -m4trace:configure.in:27: -1- AC_CANONICAL_HOST
16054 -m4trace:configure.in:27: -1- AC_SUBST([build], [$ac_cv_build])
16055 -m4trace:configure.in:27: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16056 -m4trace:configure.in:27: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16057 -m4trace:configure.in:27: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16058 -m4trace:configure.in:27: -1- AC_SUBST([host], [$ac_cv_host])
16059 -m4trace:configure.in:27: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16060 -m4trace:configure.in:27: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16061 -m4trace:configure.in:27: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16062 -m4trace:configure.in:27: -1- AC_SUBST([target], [$ac_cv_target])
16063 -m4trace:configure.in:27: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16064 -m4trace:configure.in:27: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16065 -m4trace:configure.in:27: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16066 -m4trace:configure.in:27: -1- AC_SUBST([mkinstalldirs])
16067 -m4trace:configure.in:27: -1- AM_INIT_AUTOMAKE([gc], [6.0], [no-define])
16068 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16069 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16070 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16071 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16072 -m4trace:configure.in:27: -1- AC_SUBST([PACKAGE])
16073 -m4trace:configure.in:27: -1- AC_SUBST([VERSION])
16074 -m4trace:configure.in:27: -2- AC_DEFINE_TRACE_LITERAL([PACKAGE])
16075 -m4trace:configure.in:27: -2- AH_OUTPUT([PACKAGE], [/* Name of package */
16076 -#undef PACKAGE])
16077 -m4trace:configure.in:27: -2- AC_DEFINE_TRACE_LITERAL([VERSION])
16078 -m4trace:configure.in:27: -2- AH_OUTPUT([VERSION], [/* Version number of package */
16079 -#undef VERSION])
16080 -m4trace:configure.in:27: -1- AC_SUBST([ACLOCAL])
16081 -m4trace:configure.in:27: -1- AC_SUBST([AUTOCONF])
16082 -m4trace:configure.in:27: -1- AC_SUBST([AUTOMAKE])
16083 -m4trace:configure.in:27: -1- AC_SUBST([AUTOHEADER])
16084 -m4trace:configure.in:27: -1- AC_SUBST([MAKEINFO])
16085 -m4trace:configure.in:27: -1- AC_PROG_MAKE_SET
16086 -m4trace:configure.in:27: -1- AC_SUBST([SET_MAKE])
16087 -m4trace:configure.in:27: -1- AC_SUBST([CC])
16088 -m4trace:configure.in:27: -1- AC_SUBST([CC])
16089 -m4trace:configure.in:27: -1- AC_SUBST([CXX])
16090 -m4trace:configure.in:27: -1- AC_SUBST([AS])
16091 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AS])
16092 -m4trace:configure.in:27: -1- AC_SUBST([AR])
16093 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AR])
16094 -m4trace:configure.in:27: -1- AC_SUBST([RANLIB])
16095 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_RANLIB])
16096 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16097 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16098 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16099 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16100 -m4trace:configure.in:27: -1- AM_MAINTAINER_MODE
16101 -m4trace:configure.in:27: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16102 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16103 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16104 -m4trace:configure.in:27: -1- AC_SUBST([MAINT])
16105 -m4trace:configure.in:27: -1- AC_SUBST([GC_CFLAGS])
16106 -m4trace:configure.in:29: -1- AC_PROG_LIBTOOL
16107 -m4trace:configure.in:29: -1- AC_PROG_LN_S
16108 -m4trace:configure.in:29: -1- AC_SUBST([LN_S], [$as_ln_s])
16109 -m4trace:configure.in:29: -1- AC_SUBST([RANLIB])
16110 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_RANLIB])
16111 -m4trace:configure.in:29: -1- AC_SUBST([STRIP])
16112 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_STRIP])
16113 -m4trace:configure.in:29: -1- AC_SUBST([LIBTOOL])
16114 -m4trace:configure.in:29: -1- AC_SUBST([CXXCPP])
16115 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16116 -m4trace:configure.in:29: -1- AC_SUBST([CXXCPP])
16117 -m4trace:configure.in:38: -1- AM_MAINTAINER_MODE
16118 -m4trace:configure.in:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16119 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16120 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16121 -m4trace:configure.in:38: -1- AC_SUBST([MAINT])
16122 -m4trace:configure.in:77: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16123 -m4trace:configure.in:78: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16124 -m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16125 -m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16126 -m4trace:configure.in:85: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16127 -m4trace:configure.in:86: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16128 -m4trace:configure.in:90: -1- AC_DEFINE_TRACE_LITERAL([GC_HPUX_THREADS])
16129 -m4trace:configure.in:91: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_C_SOURCE])
16130 -m4trace:configure.in:93: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16131 -m4trace:configure.in:95: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16132 -m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([GC_FREEBSD_THREADS])
16133 -m4trace:configure.in:105: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_THREADS])
16134 -m4trace:configure.in:106: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_PTHREADS])
16135 -m4trace:configure.in:109: -1- AC_DEFINE_TRACE_LITERAL([GC_IRIX_THREADS])
16136 -m4trace:configure.in:117: -1- AC_DEFINE_TRACE_LITERAL([GC_DARWIN_THREADS])
16137 -m4trace:configure.in:118: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16138 -m4trace:configure.in:120: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16139 -m4trace:configure.in:124: -1- AC_DEFINE_TRACE_LITERAL([GC_WIN32_THREADS])
16140 -m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([NO_GETENV])
16141 -m4trace:configure.in:134: -1- AC_SUBST([THREADLIBS])
16142 -m4trace:configure.in:141: -1- AM_CONDITIONAL([POWERPC_DARWIN], [test x$powerpc_darwin = xtrue])
16143 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_TRUE])
16144 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_FALSE])
16145 -m4trace:configure.in:148: -1- AC_CHECK_LIB([dl], [dlopen], [EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"])
16146 -m4trace:configure.in:152: -1- AC_SUBST([EXTRA_TEST_LIBS])
16147 -m4trace:configure.in:155: -1- AC_SUBST([target_all])
16148 -m4trace:configure.in:156: -1- AC_SUBST([target_alias])
16149 -m4trace:configure.in:174: -1- AC_DEFINE_TRACE_LITERAL([ECOS])
16150 -m4trace:configure.in:179: -1- AC_SUBST([CXX])
16151 -m4trace:configure.in:181: -1- AC_SUBST([INCLUDES])
16152 -m4trace:configure.in:182: -1- AC_SUBST([CXXINCLUDES])
16153 -m4trace:configure.in:197: -1- AC_DEFINE_TRACE_LITERAL([SOLARIS25_PROC_VDB_BUG_FIXED])
16154 -m4trace:configure.in:201: -1- AC_DEFINE_TRACE_LITERAL([STACKBASE])
16155 -m4trace:configure.in:202: -1- AC_DEFINE_TRACE_LITERAL([DATASTART_IS_ETEXT])
16156 -m4trace:configure.in:211: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16157 -m4trace:configure.in:215: -1- AC_DEFINE_TRACE_LITERAL([SUNOS53_SHARED_LIB])
16158 -m4trace:configure.in:228: -1- AC_SUBST([addobjs])
16159 -m4trace:configure.in:252: -1- AC_SUBST([MY_CFLAGS])
16160 -m4trace:configure.in:256: -1- AC_DEFINE_TRACE_LITERAL([SILENT])
16161 -m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGNALS])
16162 -m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16163 -m4trace:configure.in:259: -1- AC_DEFINE_TRACE_LITERAL([ALL_INTERIOR_POINTERS])
16164 -m4trace:configure.in:262: -1- AC_DEFINE_TRACE_LITERAL([JAVA_FINALIZATION])
16165 -m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([GC_GCJ_SUPPORT])
16166 -m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([ATOMIC_UNCOLLECTABLE])
16167 -m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGSET])
16168 -m4trace:configure.in:271: -1- AC_DEFINE_TRACE_LITERAL([NO_DEBUGGING])
16169 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([KEEP_BACK_PTRS])
16170 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([DBG_HDRS_ALL])
16171 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16172 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16173 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([SAVE_CALL_COUNT])
16174 -m4trace:configure.in:292: -1- AM_CONDITIONAL([USE_LIBDIR], [test -z "$with_cross_host"])
16175 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_TRUE])
16176 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_FALSE])
16177 -m4trace:configure.in:317: -1- AC_CONFIG_FILES([Makefile include/Makefile])
16178 -m4trace:configure.in:317: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
16179 -m4trace:configure.in:317: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
16180 diff -Nur ../boehm-gc/autom4te.cache/traces.1 boehm-gc/autom4te.cache/traces.1
16181 --- ../boehm-gc/autom4te.cache/traces.1 Sat May 31 15:09:31 2003
16182 +++ boehm-gc/autom4te.cache/traces.1    Wed Dec 31 16:00:00 1969
16183 @@ -1,250 +0,0 @@
16184 -m4trace:aclocal.m4:166: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
16185 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?A[CHUM]_])
16186 -m4trace:configure.in:16: -1- m4_pattern_forbid([_AC_])
16187 -m4trace:configure.in:16: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
16188 -m4trace:configure.in:16: -1- m4_pattern_allow([^AS_FLAGS$])
16189 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?m4_])
16190 -m4trace:configure.in:16: -1- m4_pattern_forbid([^dnl$])
16191 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?AS_])
16192 -m4trace:configure.in:16: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
16193 -m4trace:configure.in:16: -1- AC_SUBST([PATH_SEPARATOR])
16194 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
16195 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
16196 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
16197 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
16198 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
16199 -m4trace:configure.in:16: -1- AC_SUBST([exec_prefix], [NONE])
16200 -m4trace:configure.in:16: -1- AC_SUBST([prefix], [NONE])
16201 -m4trace:configure.in:16: -1- AC_SUBST([program_transform_name], [s,x,x,])
16202 -m4trace:configure.in:16: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
16203 -m4trace:configure.in:16: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
16204 -m4trace:configure.in:16: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
16205 -m4trace:configure.in:16: -1- AC_SUBST([datadir], ['${prefix}/share'])
16206 -m4trace:configure.in:16: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
16207 -m4trace:configure.in:16: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
16208 -m4trace:configure.in:16: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
16209 -m4trace:configure.in:16: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
16210 -m4trace:configure.in:16: -1- AC_SUBST([includedir], ['${prefix}/include'])
16211 -m4trace:configure.in:16: -1- AC_SUBST([oldincludedir], ['/usr/include'])
16212 -m4trace:configure.in:16: -1- AC_SUBST([infodir], ['${prefix}/info'])
16213 -m4trace:configure.in:16: -1- AC_SUBST([mandir], ['${prefix}/man'])
16214 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
16215 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
16216 -#undef PACKAGE_NAME])
16217 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
16218 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
16219 -#undef PACKAGE_TARNAME])
16220 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
16221 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
16222 -#undef PACKAGE_VERSION])
16223 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
16224 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
16225 -#undef PACKAGE_STRING])
16226 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
16227 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
16228 -#undef PACKAGE_BUGREPORT])
16229 -m4trace:configure.in:16: -1- AC_SUBST([build_alias])
16230 -m4trace:configure.in:16: -1- AC_SUBST([host_alias])
16231 -m4trace:configure.in:16: -1- AC_SUBST([target_alias])
16232 -m4trace:configure.in:16: -1- AC_SUBST([DEFS])
16233 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_C])
16234 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_N])
16235 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_T])
16236 -m4trace:configure.in:16: -1- AC_SUBST([LIBS])
16237 -m4trace:configure.in:27: -1- AC_SUBST([gc_basedir])
16238 -m4trace:configure.in:27: -1- AC_SUBST([build], [$ac_cv_build])
16239 -m4trace:configure.in:27: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16240 -m4trace:configure.in:27: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16241 -m4trace:configure.in:27: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16242 -m4trace:configure.in:27: -1- AC_SUBST([host], [$ac_cv_host])
16243 -m4trace:configure.in:27: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16244 -m4trace:configure.in:27: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16245 -m4trace:configure.in:27: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16246 -m4trace:configure.in:27: -1- AC_SUBST([target], [$ac_cv_target])
16247 -m4trace:configure.in:27: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16248 -m4trace:configure.in:27: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16249 -m4trace:configure.in:27: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16250 -m4trace:configure.in:27: -1- AC_SUBST([mkinstalldirs])
16251 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16252 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16253 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16254 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16255 -m4trace:configure.in:27: -1- AC_SUBST([PACKAGE], [gc])
16256 -m4trace:configure.in:27: -1- AC_SUBST([VERSION], [6.1a1])
16257 -m4trace:configure.in:27: -1- AC_SUBST([ACLOCAL])
16258 -m4trace:configure.in:27: -1- AC_SUBST([AUTOCONF])
16259 -m4trace:configure.in:27: -1- AC_SUBST([AUTOMAKE])
16260 -m4trace:configure.in:27: -1- AC_SUBST([AUTOHEADER])
16261 -m4trace:configure.in:27: -1- AC_SUBST([MAKEINFO])
16262 -m4trace:configure.in:27: -1- AC_SUBST([AMTAR])
16263 -m4trace:configure.in:27: -1- AC_SUBST([install_sh])
16264 -m4trace:configure.in:27: -1- AC_SUBST([STRIP])
16265 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_STRIP])
16266 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
16267 -m4trace:configure.in:27: -1- AC_PROG_AWK
16268 -m4trace:configure.in:27: -1- AC_SUBST([AWK])
16269 -m4trace:configure.in:27: -1- AC_PROG_MAKE_SET
16270 -m4trace:configure.in:27: -1- AC_SUBST([SET_MAKE])
16271 -m4trace:configure.in:27: -1- AC_SUBST([AS])
16272 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AS])
16273 -m4trace:configure.in:27: -1- AC_SUBST([AR])
16274 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AR])
16275 -m4trace:configure.in:27: -1- AC_SUBST([RANLIB])
16276 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_RANLIB])
16277 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16278 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16279 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16280 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16281 -m4trace:configure.in:27: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16282 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16283 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16284 -m4trace:configure.in:27: -1- AC_SUBST([MAINT])
16285 -m4trace:configure.in:27: -1- AC_SUBST([GC_CFLAGS])
16286 -m4trace:configure.in:29: -1- AM_PROG_LIBTOOL
16287 -m4trace:configure.in:29: -1- AC_PROG_LIBTOOL
16288 -m4trace:configure.in:29: -1- AC_PROG_CC
16289 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16290 -m4trace:configure.in:29: -1- AC_SUBST([CFLAGS])
16291 -m4trace:configure.in:29: -1- AC_SUBST([LDFLAGS])
16292 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16293 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16294 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16295 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16296 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16297 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16298 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16299 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16300 -m4trace:configure.in:29: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
16301 -m4trace:configure.in:29: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
16302 -m4trace:configure.in:29: -1- AC_SUBST([DEPDIR])
16303 -m4trace:configure.in:29: -1- AC_SUBST([am__include])
16304 -m4trace:configure.in:29: -1- AC_SUBST([am__quote])
16305 -m4trace:configure.in:29: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
16306 -m4trace:configure.in:29: -1- AC_SUBST([AMDEP_TRUE])
16307 -m4trace:configure.in:29: -1- AC_SUBST([AMDEP_FALSE])
16308 -m4trace:configure.in:29: -1- AC_SUBST([AMDEPBACKSLASH])
16309 -m4trace:configure.in:29: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
16310 -m4trace:configure.in:29: -1- AC_PROG_LN_S
16311 -m4trace:configure.in:29: -1- AC_SUBST([LN_S], [$as_ln_s])
16312 -m4trace:configure.in:29: -1- AC_SUBST([ECHO])
16313 -m4trace:configure.in:29: -1- AC_SUBST([RANLIB])
16314 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_RANLIB])
16315 -m4trace:configure.in:29: -1- AC_SUBST([STRIP])
16316 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_STRIP])
16317 -m4trace:configure.in:29: -1- AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], [AC_CHECK_FUNC([dlopen],
16318 -             [lt_cv_dlopen="dlopen"],
16319 -         [AC_CHECK_LIB([dl], [dlopen],
16320 -               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
16321 -           [AC_CHECK_LIB([svld], [dlopen],
16322 -                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
16323 -             [AC_CHECK_LIB([dld], [dld_link],
16324 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16325 -             ])
16326 -           ])
16327 -         ])
16328 -       ])
16329 -m4trace:configure.in:29: -1- AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen],
16330 -                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
16331 -             [AC_CHECK_LIB([dld], [dld_link],
16332 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16333 -             ])
16334 -           ])
16335 -m4trace:configure.in:29: -1- AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link],
16336 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16337 -             ])
16338 -m4trace:configure.in:29: -1- AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16339 -m4trace:configure.in:29: -1- AC_CHECK_HEADERS([dlfcn.h])
16340 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
16341 -#undef HAVE_DLFCN_H])
16342 -m4trace:configure.in:29: -1- AC_HEADER_STDC
16343 -m4trace:configure.in:29: -1- AC_PROG_CPP
16344 -m4trace:configure.in:29: -1- AC_SUBST([CPP])
16345 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16346 -m4trace:configure.in:29: -1- AC_SUBST([CPP])
16347 -m4trace:configure.in:29: -1- AC_SUBST([EGREP])
16348 -m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
16349 -m4trace:configure.in:29: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
16350 -#undef STDC_HEADERS])
16351 -m4trace:configure.in:29: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
16352 -                  inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
16353 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
16354 -#undef HAVE_SYS_TYPES_H])
16355 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
16356 -#undef HAVE_SYS_STAT_H])
16357 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
16358 -#undef HAVE_STDLIB_H])
16359 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
16360 -#undef HAVE_STRING_H])
16361 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
16362 -#undef HAVE_MEMORY_H])
16363 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
16364 -#undef HAVE_STRINGS_H])
16365 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
16366 -#undef HAVE_INTTYPES_H])
16367 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
16368 -#undef HAVE_STDINT_H])
16369 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
16370 -#undef HAVE_UNISTD_H])
16371 -m4trace:configure.in:29: -1- AC_SUBST([LIBTOOL])
16372 -m4trace:configure.in:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16373 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16374 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16375 -m4trace:configure.in:38: -1- AC_SUBST([MAINT])
16376 -m4trace:configure.in:77: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16377 -m4trace:configure.in:78: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16378 -m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16379 -m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16380 -m4trace:configure.in:85: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16381 -m4trace:configure.in:86: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16382 -m4trace:configure.in:90: -1- AC_DEFINE_TRACE_LITERAL([GC_HPUX_THREADS])
16383 -m4trace:configure.in:91: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_C_SOURCE])
16384 -m4trace:configure.in:93: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16385 -m4trace:configure.in:95: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16386 -m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([GC_FREEBSD_THREADS])
16387 -m4trace:configure.in:105: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_THREADS])
16388 -m4trace:configure.in:106: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_PTHREADS])
16389 -m4trace:configure.in:109: -1- AC_DEFINE_TRACE_LITERAL([GC_IRIX_THREADS])
16390 -m4trace:configure.in:115: -1- AC_DEFINE_TRACE_LITERAL([GC_DARWIN_THREADS])
16391 -m4trace:configure.in:116: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16392 -m4trace:configure.in:118: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16393 -m4trace:configure.in:124: -1- AC_DEFINE_TRACE_LITERAL([GC_WIN32_THREADS])
16394 -m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([NO_GETENV])
16395 -m4trace:configure.in:134: -1- AC_SUBST([THREADLIBS])
16396 -m4trace:configure.in:141: -1- AM_CONDITIONAL([POWERPC_DARWIN], [test x$powerpc_darwin = xtrue])
16397 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_TRUE])
16398 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_FALSE])
16399 -m4trace:configure.in:148: -1- AC_CHECK_LIB([dl], [dlopen], [EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"])
16400 -m4trace:configure.in:152: -1- AC_SUBST([EXTRA_TEST_LIBS])
16401 -m4trace:configure.in:155: -1- AC_SUBST([target_all])
16402 -m4trace:configure.in:156: -1- AC_SUBST([target_alias])
16403 -m4trace:configure.in:174: -1- AC_DEFINE_TRACE_LITERAL([ECOS])
16404 -m4trace:configure.in:179: -1- AC_SUBST([CXX])
16405 -m4trace:configure.in:181: -1- AC_SUBST([INCLUDES])
16406 -m4trace:configure.in:182: -1- AC_SUBST([CXXINCLUDES])
16407 -m4trace:configure.in:197: -1- AC_DEFINE_TRACE_LITERAL([SOLARIS25_PROC_VDB_BUG_FIXED])
16408 -m4trace:configure.in:201: -1- AC_DEFINE_TRACE_LITERAL([STACKBASE])
16409 -m4trace:configure.in:202: -1- AC_DEFINE_TRACE_LITERAL([DATASTART_IS_ETEXT])
16410 -m4trace:configure.in:211: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16411 -m4trace:configure.in:215: -1- AC_DEFINE_TRACE_LITERAL([SUNOS53_SHARED_LIB])
16412 -m4trace:configure.in:228: -1- AC_SUBST([addobjs])
16413 -m4trace:configure.in:252: -1- AC_SUBST([MY_CFLAGS])
16414 -m4trace:configure.in:256: -1- AC_DEFINE_TRACE_LITERAL([SILENT])
16415 -m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGNALS])
16416 -m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16417 -m4trace:configure.in:259: -1- AC_DEFINE_TRACE_LITERAL([ALL_INTERIOR_POINTERS])
16418 -m4trace:configure.in:262: -1- AC_DEFINE_TRACE_LITERAL([JAVA_FINALIZATION])
16419 -m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([GC_GCJ_SUPPORT])
16420 -m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([ATOMIC_UNCOLLECTABLE])
16421 -m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGSET])
16422 -m4trace:configure.in:271: -1- AC_DEFINE_TRACE_LITERAL([NO_DEBUGGING])
16423 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([KEEP_BACK_PTRS])
16424 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([DBG_HDRS_ALL])
16425 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16426 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16427 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([SAVE_CALL_COUNT])
16428 -m4trace:configure.in:292: -1- AM_CONDITIONAL([USE_LIBDIR], [test -z "$with_cross_host"])
16429 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_TRUE])
16430 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_FALSE])
16431 -m4trace:configure.in:317: -1- AC_CONFIG_FILES([Makefile include/Makefile])
16432 -m4trace:configure.in:317: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
16433 -m4trace:configure.in:317: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
16434 diff -Nur ../boehm-gc/backgraph.c boehm-gc/backgraph.c
16435 --- ../boehm-gc/backgraph.c     Mon May 26 12:48:52 2003
16436 +++ boehm-gc/backgraph.c        Wed Jan 30 18:48:45 2002
16437 @@ -307,7 +307,6 @@
16438      }
16439    while (currentp < (word *)(p + gc_descr)) {
16440      word current = *currentp++;
16441 -    FIXUP_POINTER(current);
16442      if (current >= (word)GC_least_plausible_heap_addr && 
16443         current <= (word)GC_greatest_plausible_heap_addr) {
16444         ptr_t target = GC_base((GC_PTR)current);
16445 diff -Nur ../boehm-gc/configure boehm-gc/configure
16446 --- ../boehm-gc/configure       Sat May 31 21:21:37 2003
16447 +++ boehm-gc/configure  Tue May 13 17:18:14 2003
16448 @@ -61,6 +61,7 @@
16449  program_transform_name=s,x,x,
16450  silent=
16451  site=
16452 +sitefile=
16453  srcdir=
16454  target=NONE
16455  verbose=
16456 @@ -175,6 +176,7 @@
16457    --help                  print this message
16458    --no-create             do not create output files
16459    --quiet, --silent       do not print \`checking...' messages
16460 +  --site-file=FILE        use FILE as the site file
16461    --version               print the version of autoconf that created configure
16462  Directory and file names:
16463    --prefix=PREFIX         install architecture-independent files in PREFIX
16464 @@ -345,6 +347,11 @@
16465    -site=* | --site=* | --sit=*)
16466      site="$ac_optarg" ;;
16467  
16468 +  -site-file | --site-file | --site-fil | --site-fi | --site-f)
16469 +    ac_prev=sitefile ;;
16470 +  -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
16471 +    sitefile="$ac_optarg" ;;
16472 +
16473    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
16474      ac_prev=srcdir ;;
16475    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
16476 @@ -510,12 +517,16 @@
16477  srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
16478  
16479  # Prefer explicitly selected file to automatically selected ones.
16480 -if test -z "$CONFIG_SITE"; then
16481 -  if test "x$prefix" != xNONE; then
16482 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
16483 -  else
16484 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
16485 +if test -z "$sitefile"; then
16486 +  if test -z "$CONFIG_SITE"; then
16487 +    if test "x$prefix" != xNONE; then
16488 +      CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
16489 +    else
16490 +      CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
16491 +    fi
16492    fi
16493 +else
16494 +  CONFIG_SITE="$sitefile"
16495  fi
16496  for ac_site_file in $CONFIG_SITE; do
16497    if test -r "$ac_site_file"; then
16498 @@ -593,7 +604,7 @@
16499  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
16500  # ./install, which can be erroneously created by make from ./install.sh.
16501  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
16502 -echo "configure:597: checking for a BSD compatible install" >&5
16503 +echo "configure:608: checking for a BSD compatible install" >&5
16504  if test -z "$INSTALL"; then
16505  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
16506    echo $ac_n "(cached) $ac_c" 1>&6
16507 @@ -646,7 +657,7 @@
16508  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
16509  
16510  echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
16511 -echo "configure:650: checking whether build environment is sane" >&5
16512 +echo "configure:661: checking whether build environment is sane" >&5
16513  # Just in case
16514  sleep 1
16515  echo timestamp > conftestfile
16516 @@ -703,7 +714,7 @@
16517  test "$program_transform_name" = "" && program_transform_name="s,x,x,"
16518  
16519  echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
16520 -echo "configure:707: checking whether ${MAKE-make} sets \${MAKE}" >&5
16521 +echo "configure:718: checking whether ${MAKE-make} sets \${MAKE}" >&5
16522  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
16523  if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
16524    echo $ac_n "(cached) $ac_c" 1>&6
16525 @@ -736,12 +747,12 @@
16526  fi
16527  
16528  echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
16529 -echo "configure:740: checking for Cygwin environment" >&5
16530 +echo "configure:751: checking for Cygwin environment" >&5
16531  if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
16532    echo $ac_n "(cached) $ac_c" 1>&6
16533  else
16534    cat > conftest.$ac_ext <<EOF
16535 -#line 745 "configure"
16536 +#line 756 "configure"
16537  #include "confdefs.h"
16538  
16539  int main() {
16540 @@ -752,7 +763,7 @@
16541  return __CYGWIN__;
16542  ; return 0; }
16543  EOF
16544 -if { (eval echo configure:756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16545 +if { (eval echo configure:767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16546    rm -rf conftest*
16547    ac_cv_cygwin=yes
16548  else
16549 @@ -769,19 +780,19 @@
16550  CYGWIN=
16551  test "$ac_cv_cygwin" = yes && CYGWIN=yes
16552  echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
16553 -echo "configure:773: checking for mingw32 environment" >&5
16554 +echo "configure:784: checking for mingw32 environment" >&5
16555  if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
16556    echo $ac_n "(cached) $ac_c" 1>&6
16557  else
16558    cat > conftest.$ac_ext <<EOF
16559 -#line 778 "configure"
16560 +#line 789 "configure"
16561  #include "confdefs.h"
16562  
16563  int main() {
16564  return __MINGW32__;
16565  ; return 0; }
16566  EOF
16567 -if { (eval echo configure:785: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16568 +if { (eval echo configure:796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16569    rm -rf conftest*
16570    ac_cv_mingw32=yes
16571  else
16572 @@ -892,7 +903,7 @@
16573  fi
16574  
16575  echo $ac_n "checking host system type""... $ac_c" 1>&6
16576 -echo "configure:896: checking host system type" >&5
16577 +echo "configure:907: checking host system type" >&5
16578  
16579  host_alias=$host
16580  case "$host_alias" in
16581 @@ -913,7 +924,7 @@
16582  echo "$ac_t""$host" 1>&6
16583  
16584  echo $ac_n "checking target system type""... $ac_c" 1>&6
16585 -echo "configure:917: checking target system type" >&5
16586 +echo "configure:928: checking target system type" >&5
16587  
16588  target_alias=$target
16589  case "$target_alias" in
16590 @@ -931,7 +942,7 @@
16591  echo "$ac_t""$target" 1>&6
16592  
16593  echo $ac_n "checking build system type""... $ac_c" 1>&6
16594 -echo "configure:935: checking build system type" >&5
16595 +echo "configure:946: checking build system type" >&5
16596  
16597  build_alias=$build
16598  case "$build_alias" in
16599 @@ -971,7 +982,7 @@
16600  
16601  missing_dir=`cd $ac_aux_dir && pwd`
16602  echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
16603 -echo "configure:975: checking for working aclocal" >&5
16604 +echo "configure:986: checking for working aclocal" >&5
16605  # Run test in a subshell; some versions of sh will print an error if
16606  # an executable is not found, even if stderr is redirected.
16607  # Redirect stdin to placate older versions of autoconf.  Sigh.
16608 @@ -984,7 +995,7 @@
16609  fi
16610  
16611  echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
16612 -echo "configure:988: checking for working autoconf" >&5
16613 +echo "configure:999: checking for working autoconf" >&5
16614  # Run test in a subshell; some versions of sh will print an error if
16615  # an executable is not found, even if stderr is redirected.
16616  # Redirect stdin to placate older versions of autoconf.  Sigh.
16617 @@ -997,7 +1008,7 @@
16618  fi
16619  
16620  echo $ac_n "checking for working automake""... $ac_c" 1>&6
16621 -echo "configure:1001: checking for working automake" >&5
16622 +echo "configure:1012: checking for working automake" >&5
16623  # Run test in a subshell; some versions of sh will print an error if
16624  # an executable is not found, even if stderr is redirected.
16625  # Redirect stdin to placate older versions of autoconf.  Sigh.
16626 @@ -1010,7 +1021,7 @@
16627  fi
16628  
16629  echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
16630 -echo "configure:1014: checking for working autoheader" >&5
16631 +echo "configure:1025: checking for working autoheader" >&5
16632  # Run test in a subshell; some versions of sh will print an error if
16633  # an executable is not found, even if stderr is redirected.
16634  # Redirect stdin to placate older versions of autoconf.  Sigh.
16635 @@ -1023,7 +1034,7 @@
16636  fi
16637  
16638  echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
16639 -echo "configure:1027: checking for working makeinfo" >&5
16640 +echo "configure:1038: checking for working makeinfo" >&5
16641  # Run test in a subshell; some versions of sh will print an error if
16642  # an executable is not found, even if stderr is redirected.
16643  # Redirect stdin to placate older versions of autoconf.  Sigh.
16644 @@ -1049,7 +1060,7 @@
16645  # Extract the first word of "gcc", so it can be a program name with args.
16646  set dummy gcc; ac_word=$2
16647  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16648 -echo "configure:1053: checking for $ac_word" >&5
16649 +echo "configure:1064: checking for $ac_word" >&5
16650  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
16651    echo $ac_n "(cached) $ac_c" 1>&6
16652  else
16653 @@ -1079,7 +1090,7 @@
16654    # Extract the first word of "cc", so it can be a program name with args.
16655  set dummy cc; ac_word=$2
16656  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16657 -echo "configure:1083: checking for $ac_word" >&5
16658 +echo "configure:1094: checking for $ac_word" >&5
16659  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
16660    echo $ac_n "(cached) $ac_c" 1>&6
16661  else
16662 @@ -1128,7 +1139,7 @@
16663  fi
16664  
16665  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
16666 -echo "configure:1132: checking whether we are using GNU C" >&5
16667 +echo "configure:1143: checking whether we are using GNU C" >&5
16668  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
16669    echo $ac_n "(cached) $ac_c" 1>&6
16670  else
16671 @@ -1137,7 +1148,7 @@
16672    yes;
16673  #endif
16674  EOF
16675 -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1141: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
16676 +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
16677    ac_cv_prog_gcc=yes
16678  else
16679    ac_cv_prog_gcc=no
16680 @@ -1152,7 +1163,7 @@
16681    ac_save_CFLAGS="$CFLAGS"
16682    CFLAGS=
16683    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
16684 -echo "configure:1156: checking whether ${CC-cc} accepts -g" >&5
16685 +echo "configure:1167: checking whether ${CC-cc} accepts -g" >&5
16686  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
16687    echo $ac_n "(cached) $ac_c" 1>&6
16688  else
16689 @@ -1189,7 +1200,7 @@
16690  # Extract the first word of "$ac_prog", so it can be a program name with args.
16691  set dummy $ac_prog; ac_word=$2
16692  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16693 -echo "configure:1193: checking for $ac_word" >&5
16694 +echo "configure:1204: checking for $ac_word" >&5
16695  if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
16696    echo $ac_n "(cached) $ac_c" 1>&6
16697  else
16698 @@ -1222,7 +1233,7 @@
16699  test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
16700  
16701  echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
16702 -echo "configure:1226: checking whether we are using GNU C++" >&5
16703 +echo "configure:1237: checking whether we are using GNU C++" >&5
16704  if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
16705    echo $ac_n "(cached) $ac_c" 1>&6
16706  else
16707 @@ -1231,7 +1242,7 @@
16708    yes;
16709  #endif
16710  EOF
16711 -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
16712 +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
16713    ac_cv_prog_gxx=yes
16714  else
16715    ac_cv_prog_gxx=no
16716 @@ -1246,7 +1257,7 @@
16717    ac_save_CXXFLAGS="$CXXFLAGS"
16718    CXXFLAGS=
16719    echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
16720 -echo "configure:1250: checking whether ${CXX-g++} accepts -g" >&5
16721 +echo "configure:1261: checking whether ${CXX-g++} accepts -g" >&5
16722  if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
16723    echo $ac_n "(cached) $ac_c" 1>&6
16724  else
16725 @@ -1279,7 +1290,7 @@
16726  # NEWLIB_CONFIGURE, which doesn't work because that means that it will
16727  # be run before AC_CANONICAL_HOST.
16728  echo $ac_n "checking build system type""... $ac_c" 1>&6
16729 -echo "configure:1283: checking build system type" >&5
16730 +echo "configure:1294: checking build system type" >&5
16731  
16732  build_alias=$build
16733  case "$build_alias" in
16734 @@ -1300,7 +1311,7 @@
16735  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
16736  set dummy ${ac_tool_prefix}as; ac_word=$2
16737  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16738 -echo "configure:1304: checking for $ac_word" >&5
16739 +echo "configure:1315: checking for $ac_word" >&5
16740  if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
16741    echo $ac_n "(cached) $ac_c" 1>&6
16742  else
16743 @@ -1332,7 +1343,7 @@
16744  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
16745  set dummy ${ac_tool_prefix}ar; ac_word=$2
16746  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16747 -echo "configure:1336: checking for $ac_word" >&5
16748 +echo "configure:1347: checking for $ac_word" >&5
16749  if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
16750    echo $ac_n "(cached) $ac_c" 1>&6
16751  else
16752 @@ -1364,7 +1375,7 @@
16753  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
16754  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
16755  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16756 -echo "configure:1368: checking for $ac_word" >&5
16757 +echo "configure:1379: checking for $ac_word" >&5
16758  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
16759    echo $ac_n "(cached) $ac_c" 1>&6
16760  else
16761 @@ -1396,7 +1407,7 @@
16762    # Extract the first word of "ranlib", so it can be a program name with args.
16763  set dummy ranlib; ac_word=$2
16764  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16765 -echo "configure:1400: checking for $ac_word" >&5
16766 +echo "configure:1411: checking for $ac_word" >&5
16767  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
16768    echo $ac_n "(cached) $ac_c" 1>&6
16769  else
16770 @@ -1441,7 +1452,7 @@
16771  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
16772  # ./install, which can be erroneously created by make from ./install.sh.
16773  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
16774 -echo "configure:1445: checking for a BSD compatible install" >&5
16775 +echo "configure:1456: checking for a BSD compatible install" >&5
16776  if test -z "$INSTALL"; then
16777  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
16778    echo $ac_n "(cached) $ac_c" 1>&6
16779 @@ -1495,7 +1506,7 @@
16780  
16781  
16782  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
16783 -echo "configure:1499: checking whether to enable maintainer-specific portions of Makefiles" >&5
16784 +echo "configure:1510: checking whether to enable maintainer-specific portions of Makefiles" >&5
16785      # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
16786  if test "${enable_maintainer_mode+set}" = set; then
16787    enableval="$enable_maintainer_mode"
16788 @@ -1533,7 +1544,7 @@
16789    
16790  
16791  echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
16792 -echo "configure:1537: checking for executable suffix" >&5
16793 +echo "configure:1548: checking for executable suffix" >&5
16794  if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
16795    echo $ac_n "(cached) $ac_c" 1>&6
16796  else
16797 @@ -1543,10 +1554,10 @@
16798    rm -f conftest*
16799    echo 'int main () { return 0; }' > conftest.$ac_ext
16800    ac_cv_exeext=
16801 -  if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
16802 +  if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
16803      for file in conftest.*; do
16804        case $file in
16805 -      *.c | *.o | *.obj) ;;
16806 +      *.c | *.o | *.obj | *.ilk | *.pdb) ;;
16807        *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
16808        esac
16809      done
16810 @@ -1665,7 +1676,7 @@
16811  if test "$GCC" = yes; then
16812    # Check if gcc -print-prog-name=ld gives a path.
16813    echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
16814 -echo "configure:1669: checking for ld used by GCC" >&5
16815 +echo "configure:1680: checking for ld used by GCC" >&5
16816    case $host in
16817    *-*-mingw*)
16818      # gcc leaves a trailing carriage return which upsets mingw
16819 @@ -1695,10 +1706,10 @@
16820    esac
16821  elif test "$with_gnu_ld" = yes; then
16822    echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
16823 -echo "configure:1699: checking for GNU ld" >&5
16824 +echo "configure:1710: checking for GNU ld" >&5
16825  else
16826    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
16827 -echo "configure:1702: checking for non-GNU ld" >&5
16828 +echo "configure:1713: checking for non-GNU ld" >&5
16829  fi
16830  if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
16831    echo $ac_n "(cached) $ac_c" 1>&6
16832 @@ -1733,7 +1744,7 @@
16833  fi
16834  test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
16835  echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
16836 -echo "configure:1737: checking if the linker ($LD) is GNU ld" >&5
16837 +echo "configure:1748: checking if the linker ($LD) is GNU ld" >&5
16838  if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
16839    echo $ac_n "(cached) $ac_c" 1>&6
16840  else
16841 @@ -1750,7 +1761,7 @@
16842  
16843  
16844  echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
16845 -echo "configure:1754: checking for $LD option to reload object files" >&5
16846 +echo "configure:1765: checking for $LD option to reload object files" >&5
16847  if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
16848    echo $ac_n "(cached) $ac_c" 1>&6
16849  else
16850 @@ -1762,7 +1773,7 @@
16851  test -n "$reload_flag" && reload_flag=" $reload_flag"
16852  
16853  echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
16854 -echo "configure:1766: checking for BSD-compatible nm" >&5
16855 +echo "configure:1777: checking for BSD-compatible nm" >&5
16856  if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
16857    echo $ac_n "(cached) $ac_c" 1>&6
16858  else
16859 @@ -1800,7 +1811,7 @@
16860  echo "$ac_t""$NM" 1>&6
16861  
16862  echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
16863 -echo "configure:1804: checking whether ln -s works" >&5
16864 +echo "configure:1815: checking whether ln -s works" >&5
16865  if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
16866    echo $ac_n "(cached) $ac_c" 1>&6
16867  else
16868 @@ -1821,7 +1832,7 @@
16869  fi
16870  
16871  echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
16872 -echo "configure:1825: checking how to recognise dependant libraries" >&5
16873 +echo "configure:1836: checking how to recognise dependant libraries" >&5
16874  if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
16875    echo $ac_n "(cached) $ac_c" 1>&6
16876  else
16877 @@ -1994,13 +2005,13 @@
16878  deplibs_check_method=$lt_cv_deplibs_check_method
16879  
16880  echo $ac_n "checking for object suffix""... $ac_c" 1>&6
16881 -echo "configure:1998: checking for object suffix" >&5
16882 +echo "configure:2009: checking for object suffix" >&5
16883  if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
16884    echo $ac_n "(cached) $ac_c" 1>&6
16885  else
16886    rm -f conftest*
16887  echo 'int i = 1;' > conftest.$ac_ext
16888 -if { (eval echo configure:2004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16889 +if { (eval echo configure:2015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16890    for ac_file in conftest.*; do
16891      case $ac_file in
16892      *.c) ;;
16893 @@ -2024,7 +2035,7 @@
16894  file_magic*)
16895    if test "$file_magic_cmd" = '$MAGIC_CMD'; then
16896      echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
16897 -echo "configure:2028: checking for ${ac_tool_prefix}file" >&5
16898 +echo "configure:2039: checking for ${ac_tool_prefix}file" >&5
16899  if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
16900    echo $ac_n "(cached) $ac_c" 1>&6
16901  else
16902 @@ -2086,7 +2097,7 @@
16903  if test -z "$lt_cv_path_MAGIC_CMD"; then
16904    if test -n "$ac_tool_prefix"; then
16905      echo $ac_n "checking for file""... $ac_c" 1>&6
16906 -echo "configure:2090: checking for file" >&5
16907 +echo "configure:2101: checking for file" >&5
16908  if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
16909    echo $ac_n "(cached) $ac_c" 1>&6
16910  else
16911 @@ -2157,7 +2168,7 @@
16912  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
16913  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
16914  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16915 -echo "configure:2161: checking for $ac_word" >&5
16916 +echo "configure:2172: checking for $ac_word" >&5
16917  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
16918    echo $ac_n "(cached) $ac_c" 1>&6
16919  else
16920 @@ -2189,7 +2200,7 @@
16921    # Extract the first word of "ranlib", so it can be a program name with args.
16922  set dummy ranlib; ac_word=$2
16923  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16924 -echo "configure:2193: checking for $ac_word" >&5
16925 +echo "configure:2204: checking for $ac_word" >&5
16926  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
16927    echo $ac_n "(cached) $ac_c" 1>&6
16928  else
16929 @@ -2224,7 +2235,7 @@
16930  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
16931  set dummy ${ac_tool_prefix}strip; ac_word=$2
16932  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16933 -echo "configure:2228: checking for $ac_word" >&5
16934 +echo "configure:2239: checking for $ac_word" >&5
16935  if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
16936    echo $ac_n "(cached) $ac_c" 1>&6
16937  else
16938 @@ -2256,7 +2267,7 @@
16939    # Extract the first word of "strip", so it can be a program name with args.
16940  set dummy strip; ac_word=$2
16941  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16942 -echo "configure:2260: checking for $ac_word" >&5
16943 +echo "configure:2271: checking for $ac_word" >&5
16944  if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
16945    echo $ac_n "(cached) $ac_c" 1>&6
16946  else
16947 @@ -2323,8 +2334,21 @@
16948  case $host in
16949  *-*-irix6*)
16950    # Find out which ABI we are using.
16951 -  echo '#line 2327 "configure"' > conftest.$ac_ext
16952 -  if { (eval echo configure:2328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16953 +  echo '#line 2338 "configure"' > conftest.$ac_ext
16954 +  if { (eval echo configure:2339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16955 +   if test "$lt_cv_prog_gnu_ld" = yes; then
16956 +    case `/usr/bin/file conftest.$ac_objext` in
16957 +    *32-bit*)
16958 +      LD="${LD-ld} -melf32bsmip"
16959 +      ;;
16960 +    *N32*)
16961 +      LD="${LD-ld} -melf32bmipn32"
16962 +      ;;
16963 +    *64-bit*)
16964 +      LD="${LD-ld} -melf64bmip"
16965 +      ;;
16966 +    esac
16967 +   else
16968      case `/usr/bin/file conftest.$ac_objext` in
16969      *32-bit*)
16970        LD="${LD-ld} -32"
16971 @@ -2336,6 +2360,7 @@
16972        LD="${LD-ld} -64"
16973        ;;
16974      esac
16975 +   fi
16976    fi
16977    rm -rf conftest*
16978    ;;
16979 @@ -2343,7 +2368,7 @@
16980  ia64-*-hpux*)
16981    # Find out which ABI we are using.
16982    echo 'int i;' > conftest.$ac_ext
16983 -  if { (eval echo configure:2347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16984 +  if { (eval echo configure:2372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16985      case "`/usr/bin/file conftest.o`" in
16986      *ELF-32*)
16987        HPUX_IA64_MODE="32"
16988 @@ -2359,7 +2384,7 @@
16989  x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
16990    # Find out which ABI we are using.
16991    echo 'int i;' > conftest.$ac_ext
16992 -  if { (eval echo configure:2363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16993 +  if { (eval echo configure:2388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16994      case "`/usr/bin/file conftest.o`" in
16995      *32-bit*)
16996        case $host in
16997 @@ -2403,7 +2428,7 @@
16998    SAVE_CFLAGS="$CFLAGS"
16999    CFLAGS="$CFLAGS -belf"
17000    echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
17001 -echo "configure:2407: checking whether the C compiler needs -belf" >&5
17002 +echo "configure:2432: checking whether the C compiler needs -belf" >&5
17003  if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
17004    echo $ac_n "(cached) $ac_c" 1>&6
17005  else
17006 @@ -2416,14 +2441,14 @@
17007  cross_compiling=$ac_cv_prog_cc_cross
17008  
17009       cat > conftest.$ac_ext <<EOF
17010 -#line 2420 "configure"
17011 +#line 2445 "configure"
17012  #include "confdefs.h"
17013  
17014  int main() {
17015  
17016  ; return 0; }
17017  EOF
17018 -if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17019 +if { (eval echo configure:2452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17020    rm -rf conftest*
17021    lt_cv_cc_needs_belf=yes
17022  else
17023 @@ -2453,7 +2478,7 @@
17024  esac
17025  
17026  echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
17027 -echo "configure:2457: checking how to run the C++ preprocessor" >&5
17028 +echo "configure:2482: checking how to run the C++ preprocessor" >&5
17029  if test -z "$CXXCPP"; then
17030  if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
17031    echo $ac_n "(cached) $ac_c" 1>&6
17032 @@ -2466,12 +2491,12 @@
17033  cross_compiling=$ac_cv_prog_cxx_cross
17034    CXXCPP="${CXX-g++} -E"
17035    cat > conftest.$ac_ext <<EOF
17036 -#line 2470 "configure"
17037 +#line 2495 "configure"
17038  #include "confdefs.h"
17039  #include <stdlib.h>
17040  EOF
17041  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
17042 -{ (eval echo configure:2475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
17043 +{ (eval echo configure:2500: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
17044  ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
17045  if test -z "$ac_err"; then
17046    :
17047 @@ -2618,7 +2643,7 @@
17048  
17049  
17050  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
17051 -echo "configure:2622: checking whether to enable maintainer-specific portions of Makefiles" >&5
17052 +echo "configure:2647: checking whether to enable maintainer-specific portions of Makefiles" >&5
17053      # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
17054  if test "${enable_maintainer_mode+set}" = set; then
17055    enableval="$enable_maintainer_mode"
17056 @@ -2651,7 +2676,7 @@
17057    
17058  
17059  echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
17060 -echo "configure:2655: checking for executable suffix" >&5
17061 +echo "configure:2680: checking for executable suffix" >&5
17062  if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
17063    echo $ac_n "(cached) $ac_c" 1>&6
17064  else
17065 @@ -2661,10 +2686,10 @@
17066    rm -f conftest*
17067    echo 'int main () { return 0; }' > conftest.$ac_ext
17068    ac_cv_exeext=
17069 -  if { (eval echo configure:2665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17070 +  if { (eval echo configure:2690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17071      for file in conftest.*; do
17072        case $file in
17073 -      *.c | *.o | *.obj) ;;
17074 +      *.c | *.o | *.obj | *.ilk | *.pdb) ;;
17075        *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
17076        esac
17077      done
17078 @@ -2684,7 +2709,7 @@
17079  fi
17080  
17081  echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6
17082 -echo "configure:2688: checking for thread model used by GCC" >&5
17083 +echo "configure:2713: checking for thread model used by GCC" >&5
17084  THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
17085  if test -z "$THREADS"; then
17086     THREADS=no
17087 @@ -2793,22 +2818,6 @@
17088       *-*-cygwin*)
17089         THREADLIBS=
17090         ;;
17091 -     *-*-darwin*)
17092 -       cat >> confdefs.h <<\EOF
17093 -#define GC_DARWIN_THREADS 1
17094 -EOF
17095 -
17096 -       cat >> confdefs.h <<\EOF
17097 -#define THREAD_LOCAL_ALLOC 1
17098 -EOF
17099 -
17100 -       if test "${enable_parallel_mark}" = yes; then
17101 -         cat >> confdefs.h <<\EOF
17102 -#define PARALLEL_MARK 1
17103 -EOF
17104 -
17105 -       fi
17106 -       ;;
17107      esac
17108      ;;
17109   win32)
17110 @@ -2820,6 +2829,12 @@
17111  #define NO_GETENV 1
17112  EOF
17113  
17114 +    if test $enable_shared = yes; then
17115 +      cat >> confdefs.h <<\EOF
17116 +#define GC_DLL 1
17117 +EOF
17118 +
17119 +    fi
17120      ;;
17121   decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17122      { echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
17123 @@ -2830,28 +2845,8 @@
17124  esac
17125  
17126  
17127 -case "$host" in 
17128 -   powerpc-*-darwin*)
17129 -      powerpc_darwin=true
17130 -      ;;
17131 -esac
17132 -
17133 -
17134 -if test x$powerpc_darwin = xtrue; then
17135 -  POWERPC_DARWIN_TRUE=
17136 -  POWERPC_DARWIN_FALSE='#'
17137 -else
17138 -  POWERPC_DARWIN_TRUE='#'
17139 -  POWERPC_DARWIN_FALSE=
17140 -fi
17141 -
17142 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17143 -# dyld calls anyway
17144 -case "$host" in
17145 -  *-*-darwin*) ;;
17146 -  *) 
17147 -    echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
17148 -echo "configure:2855: checking for dlopen in -ldl" >&5
17149 +echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
17150 +echo "configure:2850: checking for dlopen in -ldl" >&5
17151  ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
17152  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
17153    echo $ac_n "(cached) $ac_c" 1>&6
17154 @@ -2859,7 +2854,7 @@
17155    ac_save_LIBS="$LIBS"
17156  LIBS="-ldl  $LIBS"
17157  cat > conftest.$ac_ext <<EOF
17158 -#line 2863 "configure"
17159 +#line 2858 "configure"
17160  #include "confdefs.h"
17161  /* Override any gcc2 internal prototype to avoid an error.  */
17162  /* We use char because int might match the return type of a gcc2
17163 @@ -2870,7 +2865,7 @@
17164  dlopen()
17165  ; return 0; }
17166  EOF
17167 -if { (eval echo configure:2874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17168 +if { (eval echo configure:2869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17169    rm -rf conftest*
17170    eval "ac_cv_lib_$ac_lib_var=yes"
17171  else
17172 @@ -2890,9 +2885,6 @@
17173    echo "$ac_t""no" 1>&6
17174  fi
17175  
17176 -    ;;
17177 -esac
17178 -
17179  
17180  
17181  target_all=libgcjgc.la
17182 @@ -3108,15 +3100,17 @@
17183  fi
17184  
17185  
17186 -
17187 -
17188 -if test -z "$with_cross_host"; then
17189 -  USE_LIBDIR_TRUE=
17190 -  USE_LIBDIR_FALSE='#'
17191 +if test -n "$with_cross_host" &&
17192 +   test x"$with_cross_host" != x"no"; then
17193 +  toolexecdir='$(exec_prefix)/$(target_alias)'
17194 +  toolexeclibdir='$(toolexecdir)/lib'
17195  else
17196 -  USE_LIBDIR_TRUE='#'
17197 -  USE_LIBDIR_FALSE=
17198 +  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
17199 +  toolexeclibdir='$(libdir)'
17200  fi
17201 +toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
17202 +
17203 +
17204  
17205  if test "${multilib}" = "yes"; then
17206    multilib_arg="--enable-multilib"
17207 @@ -3313,16 +3307,14 @@
17208  s%@LIBTOOL@%$LIBTOOL%g
17209  s%@CXXCPP@%$CXXCPP%g
17210  s%@THREADLIBS@%$THREADLIBS%g
17211 -s%@POWERPC_DARWIN_TRUE@%$POWERPC_DARWIN_TRUE%g
17212 -s%@POWERPC_DARWIN_FALSE@%$POWERPC_DARWIN_FALSE%g
17213  s%@EXTRA_TEST_LIBS@%$EXTRA_TEST_LIBS%g
17214  s%@target_all@%$target_all%g
17215  s%@INCLUDES@%$INCLUDES%g
17216  s%@CXXINCLUDES@%$CXXINCLUDES%g
17217  s%@addobjs@%$addobjs%g
17218  s%@MY_CFLAGS@%$MY_CFLAGS%g
17219 -s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
17220 -s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
17221 +s%@toolexecdir@%$toolexecdir%g
17222 +s%@toolexeclibdir@%$toolexeclibdir%g
17223  
17224  CEOF
17225  EOF
17226 @@ -3331,7 +3323,7 @@
17227  
17228  # Split the substitutions into bite-sized pieces for seds with
17229  # small command number limits, like on Digital OSF/1 and HP-UX.
17230 -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
17231 +ac_max_sed_cmds=60 # Maximum number of lines to put in a sed script.
17232  ac_file=1 # Number of current file.
17233  ac_beg=1 # First line for current file.
17234  ac_end=$ac_max_sed_cmds # Line after last line for current file.
17235 @@ -3433,6 +3425,7 @@
17236  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17237  gc_basedir=${gc_basedir}
17238  CC="${CC}"
17239 +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
17240  DEFS="$DEFS"
17241  
17242  EOF
17243 diff -Nur ../boehm-gc/configure.in boehm-gc/configure.in
17244 --- ../boehm-gc/configure.in    Mon May 26 13:33:22 2003
17245 +++ boehm-gc/configure.in       Mon Apr 28 13:55:07 2003
17246 @@ -1,4 +1,4 @@
17247 -# Copyright (c) 1999, 2000, 2001, 2002 by Red Hat, Inc. All rights reserved.
17248 +# Copyright (c) 1999, 2000, 2001, 2002, 2003 by Red Hat, Inc. All rights reserved.
17249  # 
17250  # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
17251  # OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
17252 @@ -111,18 +111,14 @@
17253       *-*-cygwin*)
17254         THREADLIBS=
17255         ;;
17256 -     *-*-darwin*)
17257 -       AC_DEFINE(GC_DARWIN_THREADS)
17258 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17259 -       if test "${enable_parallel_mark}" = yes; then
17260 -         AC_DEFINE(PARALLEL_MARK)
17261 -       fi
17262 -       ;;
17263      esac
17264      ;;
17265   win32)
17266      AC_DEFINE(GC_WIN32_THREADS)
17267      AC_DEFINE(NO_GETENV)
17268 +    if test $enable_shared = yes; then
17269 +      AC_DEFINE(GC_DLL)
17270 +    fi
17271      ;;
17272   decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17273      AC_MSG_ERROR(thread package $THREADS not yet supported)
17274 @@ -133,22 +129,7 @@
17275  esac
17276  AC_SUBST(THREADLIBS)
17277  
17278 -case "$host" in 
17279 -   powerpc-*-darwin*)
17280 -      powerpc_darwin=true
17281 -      ;;
17282 -esac
17283 -AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue)
17284 -
17285 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17286 -# dyld calls anyway
17287 -case "$host" in
17288 -  *-*-darwin*) ;;
17289 -  *) 
17290 -    AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17291 -    ;;
17292 -esac
17293 -
17294 +AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17295  AC_SUBST(EXTRA_TEST_LIBS)
17296  
17297  target_all=libgcjgc.la
17298 @@ -289,7 +270,17 @@
17299      esac ]
17300    fi)
17301  
17302 -AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
17303 +if test -n "$with_cross_host" &&
17304 +   test x"$with_cross_host" != x"no"; then
17305 +  toolexecdir='$(exec_prefix)/$(target_alias)'
17306 +  toolexeclibdir='$(toolexecdir)/lib'
17307 +else
17308 +  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
17309 +  toolexeclibdir='$(libdir)'
17310 +fi
17311 +toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
17312 +AC_SUBST(toolexecdir)
17313 +AC_SUBST(toolexeclibdir)
17314  
17315  if test "${multilib}" = "yes"; then
17316    multilib_arg="--enable-multilib"
17317 @@ -313,5 +304,6 @@
17318  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17319  gc_basedir=${gc_basedir}
17320  CC="${CC}"
17321 +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
17322  DEFS="$DEFS"
17323  )
17324 diff -Nur ../boehm-gc/darwin_stop_world.c boehm-gc/darwin_stop_world.c
17325 --- ../boehm-gc/darwin_stop_world.c     Sun Jun  1 14:17:58 2003
17326 +++ boehm-gc/darwin_stop_world.c        Wed Dec 31 16:00:00 1969
17327 @@ -1,200 +0,0 @@
17328 -#include "private/pthread_support.h"
17329 -
17330 -# if defined(GC_DARWIN_THREADS)
17331 -
17332 -#define DEBUG_THREADS 0
17333 -
17334 -/* From "Inside Mac OS X - Mach-O Runtime Architecture" published by Apple
17335 -   Page 49:
17336 -   "The space beneath the stack pointer, where a new stack frame would normally
17337 -   be allocated, is called the red zone. This area as shown in Figure 3-2 may
17338 -   be used for any purpose as long as a new stack frame does not need to be
17339 -   added to the stack."
17340 -   
17341 -   Page 50: "If a leaf procedure's red zone usage would exceed 224 bytes, then
17342 -   it must set up a stack frame just like routines that call other routines."
17343 -*/
17344 -#define PPC_RED_ZONE_SIZE 224
17345 -
17346 -void GC_push_all_stacks() {
17347 -    int i;
17348 -    kern_return_t r;
17349 -    GC_thread p;
17350 -    pthread_t me;
17351 -    ptr_t lo, hi;
17352 -#      if defined(POWERPC)
17353 -        ppc_thread_state_t state;
17354 -#      else
17355 -#              error FIXME for non-ppc OS X
17356 -#      endif
17357 -    mach_msg_type_number_t thread_state_count = MACHINE_THREAD_STATE_COUNT;
17358 -    
17359 -    me = pthread_self();
17360 -    if (!GC_thr_initialized) GC_thr_init();
17361 -    
17362 -    for(i=0;i<THREAD_TABLE_SZ;i++) {
17363 -        for(p=GC_threads[i];p!=0;p=p->next) {
17364 -            if(p -> flags & FINISHED) continue;
17365 -            if(pthread_equal(p->id,me)) {
17366 -                lo = GC_approx_sp();
17367 -            } else {
17368 -                /* Get the thread state (registers, etc) */
17369 -                r = thread_get_state(
17370 -                    p->stop_info.mach_thread,
17371 -                    MACHINE_THREAD_STATE,
17372 -                    (natural_t*)&state,
17373 -                    &thread_state_count);
17374 -                if(r != KERN_SUCCESS) ABORT("thread_get_state failed");
17375 -    
17376 -                #ifdef POWERPC
17377 -                    lo = (void*)(state.r1 - PPC_RED_ZONE_SIZE);
17378 -                    
17379 -                    GC_push_one(state.r0); 
17380 -                    GC_push_one(state.r2); 
17381 -                    GC_push_one(state.r3); 
17382 -                    GC_push_one(state.r4); 
17383 -                    GC_push_one(state.r5); 
17384 -                    GC_push_one(state.r6); 
17385 -                    GC_push_one(state.r7); 
17386 -                    GC_push_one(state.r8); 
17387 -                    GC_push_one(state.r9); 
17388 -                    GC_push_one(state.r10); 
17389 -                    GC_push_one(state.r11); 
17390 -                    GC_push_one(state.r12); 
17391 -                    GC_push_one(state.r13); 
17392 -                    GC_push_one(state.r14); 
17393 -                    GC_push_one(state.r15); 
17394 -                    GC_push_one(state.r16); 
17395 -                    GC_push_one(state.r17); 
17396 -                    GC_push_one(state.r18); 
17397 -                    GC_push_one(state.r19); 
17398 -                    GC_push_one(state.r20); 
17399 -                    GC_push_one(state.r21); 
17400 -                    GC_push_one(state.r22); 
17401 -                    GC_push_one(state.r23); 
17402 -                    GC_push_one(state.r24); 
17403 -                    GC_push_one(state.r25); 
17404 -                    GC_push_one(state.r26); 
17405 -                    GC_push_one(state.r27); 
17406 -                    GC_push_one(state.r28); 
17407 -                    GC_push_one(state.r29); 
17408 -                    GC_push_one(state.r30); 
17409 -                    GC_push_one(state.r31);
17410 -                #else
17411 -                #      error FIXME for non-PPC darwin
17412 -                #endif /* !POWERPC */
17413 -            } /* p != me */
17414 -            if(p->flags & MAIN_THREAD)
17415 -                hi = GC_stackbottom;
17416 -            else
17417 -                hi = p->stack_end;
17418 -            #if DEBUG_THREADS
17419 -                GC_printf3("Darwin: Stack for thread 0x%lx = [%lx,%lx)\n",
17420 -                    (unsigned long) p -> id,
17421 -                    (unsigned long) lo,
17422 -                    (unsigned long) hi
17423 -                );
17424 -            #endif
17425 -            GC_push_all_stack(lo,hi);
17426 -        } /* for(p=GC_threads[i]...) */
17427 -    } /* for(i=0;i<THREAD_TABLE_SZ...) */
17428 -}
17429 -
17430 -/* Caller holds allocation lock.       */
17431 -void GC_stop_world()
17432 -{
17433 -    int i;
17434 -    GC_thread p;
17435 -    pthread_t my_thread = pthread_self();
17436 -    kern_return_t kern_result;
17437 -    
17438 -    #if DEBUG_THREADS
17439 -    GC_printf1("Stopping the world from 0x%lx\n", pthread_self());
17440 -    #endif
17441 -       
17442 -    /* Make sure all free list construction has stopped before we start. */
17443 -    /* No new construction can start, since free list construction is  */
17444 -    /* required to acquire and release the GC lock before it starts,   */
17445 -    /* and we have the lock.                                           */
17446 -#   ifdef PARALLEL_MARK
17447 -      GC_acquire_mark_lock();
17448 -      GC_ASSERT(GC_fl_builder_count == 0);
17449 -      /* We should have previously waited for it to become zero. */
17450 -#   endif /* PARALLEL_MARK */
17451 -
17452 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
17453 -        for (p = GC_threads[i]; p != 0; p = p -> next) {
17454 -            if (p -> id == my_thread) continue;
17455 -            if (p -> flags & FINISHED) continue;
17456 -            if (p -> thread_blocked) /* Will wait */ continue;
17457 -            
17458 -            #if DEBUG_THREADS
17459 -            GC_printf1("Suspending thread 0x%lx\n", p -> id);
17460 -            #endif
17461 -            
17462 -            /* Suspend the thread */
17463 -            kern_result = thread_suspend(p->stop_info.mach_thread);
17464 -            if(kern_result != KERN_SUCCESS) ABORT("thread_suspend failed");            
17465 -        }
17466 -    }
17467 -    
17468 -#   ifdef MPROTECT_VDB
17469 -    if(GC_incremental) {
17470 -        extern void GC_mprotect_stop();
17471 -        GC_mprotect_stop();
17472 -    }
17473 -#   endif
17474 -    
17475 -#   ifdef PARALLEL_MARK
17476 -      GC_release_mark_lock();
17477 -#   endif
17478 -    #if DEBUG_THREADS
17479 -      GC_printf1("World stopped from 0x%lx\n", pthread_self());
17480 -    #endif
17481 -}
17482 -
17483 -/* Caller holds allocation lock, and has held it continuously since    */
17484 -/* the world stopped.                                                  */
17485 -void GC_start_world()
17486 -{
17487 -    pthread_t my_thread = pthread_self();
17488 -    int i;
17489 -    GC_thread p;
17490 -    kern_return_t kern_result;
17491 -
17492 -#   if DEBUG_THREADS
17493 -      GC_printf0("World starting\n");
17494 -#   endif
17495 -
17496 -#   ifdef MPROTECT_VDB
17497 -    if(GC_incremental) {
17498 -        extern void GC_mprotect_resume();
17499 -        GC_mprotect_resume();
17500 -    }
17501 -#   endif
17502 -
17503 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
17504 -        for (p = GC_threads[i]; p != 0; p = p -> next) {
17505 -            if (p -> id == my_thread) continue;
17506 -            if (p -> flags & FINISHED) continue;
17507 -            if (p -> thread_blocked) continue;
17508 -    
17509 -            #if DEBUG_THREADS
17510 -            GC_printf1("Resuming 0x%lx\n", p -> id);
17511 -            #endif
17512 -            
17513 -            /* Resume the thread */
17514 -            kern_result = thread_resume(p->stop_info.mach_thread);
17515 -            if(kern_result != KERN_SUCCESS) ABORT("thread_resume failed");
17516 -        }
17517 -    }
17518 -    #if DEBUG_THREADS
17519 -      GC_printf0("World started\n");
17520 -    #endif
17521 -}
17522 -
17523 -void GC_stop_init() {
17524 -
17525 -}
17526 -
17527 -#endif
17528 diff -Nur ../boehm-gc/dbg_mlc.c boehm-gc/dbg_mlc.c
17529 --- ../boehm-gc/dbg_mlc.c       Mon May 26 12:48:52 2003
17530 +++ boehm-gc/dbg_mlc.c  Tue Feb 12 21:38:39 2002
17531 @@ -60,7 +60,7 @@
17532  # include <stdlib.h>
17533  
17534  # if defined(LINUX) || defined(SUNOS4) || defined(SUNOS5) \
17535 -     || defined(HPUX) || defined(IRIX5) || defined(OSF1)
17536 +     || defined(HPUX) || defined(IRIX) || defined(OSF1)
17537  #   define RANDOM() random()
17538  # else
17539  #   define RANDOM() (long)rand()
17540 @@ -228,8 +228,6 @@
17541      
17542  #endif /* KEEP_BACK_PTRS */
17543  
17544 -# define CROSSES_HBLK(p, sz) \
17545 -       (((word)(p + sizeof(oh) + sz - 1) ^ (word)p) >= HBLKSIZE)
17546  /* Store debugging info into p.  Return displaced pointer. */
17547  /* Assumes we don't hold allocation lock.                 */
17548  ptr_t GC_store_debug_info(p, sz, string, integer)
17549 @@ -245,8 +243,6 @@
17550      /* But that's expensive.  And this way things should only appear   */
17551      /* inconsistent while we're in the handler.                                */
17552      LOCK();
17553 -    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
17554 -    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
17555  #   ifdef KEEP_BACK_PTRS
17556        ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
17557  #   endif
17558 @@ -279,8 +275,6 @@
17559      /* There is some argument that we should disable signals here.     */
17560      /* But that's expensive.  And this way things should only appear   */
17561      /* inconsistent while we're in the handler.                                */
17562 -    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
17563 -    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
17564  #   ifdef KEEP_BACK_PTRS
17565        ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
17566  #   endif
17567 @@ -330,11 +324,10 @@
17568  {
17569      register oh * ohdr = (oh *)GC_base(p);
17570      
17571 -    GC_ASSERT(!I_HOLD_LOCK());
17572      GC_err_printf1("0x%lx (", ((unsigned long)ohdr + sizeof(oh)));
17573      GC_err_puts(ohdr -> oh_string);
17574  #   ifdef SHORT_DBG_HDRS
17575 -      GC_err_printf1(":%ld)\n", (unsigned long)(ohdr -> oh_int));
17576 +      GC_err_printf1(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int));
17577  #   else
17578        GC_err_printf2(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int),
17579                                         (unsigned long)(ohdr -> oh_sz));
17580 @@ -349,7 +342,6 @@
17581      ptr_t p;
17582  # endif
17583  {
17584 -    GC_ASSERT(!I_HOLD_LOCK());
17585      if (GC_HAS_DEBUG_INFO(p)) {
17586         GC_print_obj(p);
17587      } else {
17588 @@ -363,7 +355,6 @@
17589  {
17590      register oh * ohdr = (oh *)GC_base(p);
17591      
17592 -    GC_ASSERT(!I_HOLD_LOCK());
17593      GC_err_printf2("0x%lx in object at 0x%lx(", (unsigned long)clobbered_addr,
17594                                                 (unsigned long)p);
17595      if (clobbered_addr <= (ptr_t)(&(ohdr -> oh_sz))
17596 @@ -385,18 +376,14 @@
17597  
17598  void GC_check_heap_proc GC_PROTO((void));
17599  
17600 -void GC_print_all_smashed_proc GC_PROTO((void));
17601 -
17602  void GC_do_nothing() {}
17603  
17604  void GC_start_debugging()
17605  {
17606  #   ifndef SHORT_DBG_HDRS
17607        GC_check_heap = GC_check_heap_proc;
17608 -      GC_print_all_smashed = GC_print_all_smashed_proc;
17609  #   else
17610        GC_check_heap = GC_do_nothing;
17611 -      GC_print_all_smashed = GC_do_nothing;
17612  #   endif
17613      GC_print_heap_obj = GC_debug_print_heap_obj_proc;
17614      GC_debugging_started = TRUE;
17615 @@ -442,62 +429,6 @@
17616      return (GC_store_debug_info(result, (word)lb, s, (word)i));
17617  }
17618  
17619 -# ifdef __STDC__
17620 -    GC_PTR GC_debug_malloc_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
17621 -# else
17622 -    GC_PTR GC_debug_malloc_ignore_off_page(lb, s, i)
17623 -    size_t lb;
17624 -    char * s;
17625 -    int i;
17626 -#   ifdef GC_ADD_CALLER
17627 -       --> GC_ADD_CALLER not implemented for K&R C
17628 -#   endif
17629 -# endif
17630 -{
17631 -    GC_PTR result = GC_malloc_ignore_off_page(lb + DEBUG_BYTES);
17632 -    
17633 -    if (result == 0) {
17634 -        GC_err_printf1("GC_debug_malloc_ignore_off_page(%ld) returning NIL (",
17635 -                      (unsigned long) lb);
17636 -        GC_err_puts(s);
17637 -        GC_err_printf1(":%ld)\n", (unsigned long)i);
17638 -        return(0);
17639 -    }
17640 -    if (!GC_debugging_started) {
17641 -       GC_start_debugging();
17642 -    }
17643 -    ADD_CALL_CHAIN(result, ra);
17644 -    return (GC_store_debug_info(result, (word)lb, s, (word)i));
17645 -}
17646 -
17647 -# ifdef __STDC__
17648 -    GC_PTR GC_debug_malloc_atomic_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
17649 -# else
17650 -    GC_PTR GC_debug_malloc_atomic_ignore_off_page(lb, s, i)
17651 -    size_t lb;
17652 -    char * s;
17653 -    int i;
17654 -#   ifdef GC_ADD_CALLER
17655 -       --> GC_ADD_CALLER not implemented for K&R C
17656 -#   endif
17657 -# endif
17658 -{
17659 -    GC_PTR result = GC_malloc_atomic_ignore_off_page(lb + DEBUG_BYTES);
17660 -    
17661 -    if (result == 0) {
17662 -        GC_err_printf1("GC_debug_malloc_atomic_ignore_off_page(%ld)"
17663 -                      " returning NIL (", (unsigned long) lb);
17664 -        GC_err_puts(s);
17665 -        GC_err_printf1(":%ld)\n", (unsigned long)i);
17666 -        return(0);
17667 -    }
17668 -    if (!GC_debugging_started) {
17669 -       GC_start_debugging();
17670 -    }
17671 -    ADD_CALL_CHAIN(result, ra);
17672 -    return (GC_store_debug_info(result, (word)lb, s, (word)i));
17673 -}
17674 -
17675  # ifdef DBG_HDRS_ALL
17676  /* 
17677   * An allocation function for internal use.
17678 @@ -516,7 +447,7 @@
17679                        (unsigned long) lb);
17680          return(0);
17681      }
17682 -    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
17683 +    ADD_CALL_CHAIN(result, ra);
17684      return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
17685    }
17686  
17687 @@ -530,7 +461,7 @@
17688                        (unsigned long) lb);
17689          return(0);
17690      }
17691 -    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
17692 +    ADD_CALL_CHAIN(result, ra);
17693      return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
17694    }
17695  # endif
17696 @@ -661,7 +592,7 @@
17697      int i;
17698  # endif
17699  {
17700 -    GC_PTR result = GC_malloc_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
17701 +    GC_PTR result = GC_malloc_uncollectable(lb + DEBUG_BYTES);
17702      
17703      if (result == 0) {
17704          GC_err_printf1("GC_debug_malloc_uncollectable(%ld) returning NIL (",
17705 @@ -687,8 +618,7 @@
17706      int i;
17707  # endif
17708  {
17709 -    GC_PTR result =
17710 -       GC_malloc_atomic_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
17711 +    GC_PTR result = GC_malloc_atomic_uncollectable(lb + DEBUG_BYTES);
17712      
17713      if (result == 0) {
17714          GC_err_printf1(
17715 @@ -844,45 +774,6 @@
17716  }
17717  
17718  #ifndef SHORT_DBG_HDRS
17719 -
17720 -/* List of smashed objects.  We defer printing these, since we can't   */
17721 -/* always print them nicely with the allocation lock held.             */
17722 -/* We put them here instead of in GC_arrays, since it may be useful to */
17723 -/* be able to look at them with the debugger.                          */
17724 -#define MAX_SMASHED 20
17725 -ptr_t GC_smashed[MAX_SMASHED];
17726 -unsigned GC_n_smashed = 0;
17727 -
17728 -# if defined(__STDC__) || defined(__cplusplus)
17729 -    void GC_add_smashed(ptr_t smashed)
17730 -# else
17731 -    void GC_add_smashed(smashed)
17732 -    ptr_t smashed;
17733 -#endif
17734 -{
17735 -    GC_ASSERT(GC_is_marked(GC_base(smashed)));
17736 -    GC_smashed[GC_n_smashed] = smashed;
17737 -    if (GC_n_smashed < MAX_SMASHED - 1) ++GC_n_smashed;
17738 -      /* In case of overflow, we keep the first MAX_SMASHED-1  */
17739 -      /* entries plus the last one.                            */
17740 -    GC_have_errors = TRUE;
17741 -}
17742 -
17743 -/* Print all objects on the list.  Clear the list.     */
17744 -void GC_print_all_smashed_proc ()
17745 -{
17746 -    unsigned i;
17747 -
17748 -    GC_ASSERT(!I_HOLD_LOCK());
17749 -    if (GC_n_smashed == 0) return;
17750 -    GC_err_printf0("GC_check_heap_block: found smashed heap objects:\n");
17751 -    for (i = 0; i < GC_n_smashed; ++i) {
17752 -        GC_print_smashed_obj(GC_base(GC_smashed[i]), GC_smashed[i]);
17753 -       GC_smashed[i] = 0;
17754 -    }
17755 -    GC_n_smashed = 0;
17756 -}
17757 -
17758  /* Check all marked objects in the given block for validity */
17759  /*ARGSUSED*/
17760  # if defined(__STDC__) || defined(__cplusplus)
17761 @@ -911,7 +802,11 @@
17762                 && GC_HAS_DEBUG_INFO((ptr_t)p)) {
17763                 ptr_t clobbered = GC_check_annotated_obj((oh *)p);
17764                 
17765 -               if (clobbered != 0) GC_add_smashed(clobbered);
17766 +               if (clobbered != 0) {
17767 +                   GC_err_printf0(
17768 +                       "GC_check_heap_block: found smashed location at ");
17769 +                   GC_print_smashed_obj((ptr_t)p, clobbered);
17770 +               }
17771             }
17772             word_no += sz;
17773             p += sz;
17774 @@ -924,11 +819,9 @@
17775  void GC_check_heap_proc()
17776  {
17777  #   ifndef SMALL_CONFIG
17778 -#     ifdef ALIGN_DOUBLE
17779 -        GC_STATIC_ASSERT((sizeof(oh) & (2 * sizeof(word) - 1)) == 0);
17780 -#     else
17781 -        GC_STATIC_ASSERT((sizeof(oh) & (sizeof(word) - 1)) == 0);
17782 -#     endif
17783 +       if (sizeof(oh) & (2 * sizeof(word) - 1) != 0) {
17784 +           ABORT("Alignment problem: object header has inappropriate size\n");
17785 +       }
17786  #   endif
17787      GC_apply_to_all_blocks(GC_check_heap_block, (word)0);
17788  }
17789 @@ -949,12 +842,12 @@
17790  # endif
17791  {
17792      struct closure * result =
17793 -#   ifdef DBG_HDRS_ALL
17794 -      (struct closure *) GC_debug_malloc(sizeof (struct closure),
17795 -                                        GC_EXTRAS);
17796 -#   else
17797 -      (struct closure *) GC_malloc(sizeof (struct closure));
17798 -#   endif
17799 +#              ifdef DBG_HDRS_ALL
17800 +                 (struct closure *) GC_debug_malloc(sizeof (struct closure),
17801 +                                                    GC_EXTRAS);
17802 +#              else
17803 +                 (struct closure *) GC_malloc(sizeof (struct closure));
17804 +#              endif
17805      
17806      result -> cl_fn = fn;
17807      result -> cl_data = data;
17808 @@ -1015,7 +908,7 @@
17809      ptr_t base = GC_base(obj);
17810      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
17811          GC_err_printf1(
17812 -           "GC_debug_register_finalizer called with non-base-pointer 0x%lx\n",
17813 +           "GC_register_finalizer called with non-base-pointer 0x%lx\n",
17814             obj);
17815      }
17816      if (0 == fn) {
17817 @@ -1047,7 +940,7 @@
17818      ptr_t base = GC_base(obj);
17819      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
17820          GC_err_printf1(
17821 -         "GC_debug_register_finalizer_no_order called with non-base-pointer 0x%lx\n",
17822 +         "GC_register_finalizer_no_order called with non-base-pointer 0x%lx\n",
17823           obj);
17824      }
17825      if (0 == fn) {
17826 @@ -1080,7 +973,7 @@
17827      ptr_t base = GC_base(obj);
17828      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
17829          GC_err_printf1(
17830 -           "GC_debug_register_finalizer_ignore_self called with non-base-pointer 0x%lx\n",
17831 +           "GC_register_finalizer_ignore_self called with non-base-pointer 0x%lx\n",
17832             obj);
17833      }
17834      if (0 == fn) {
17835 diff -Nur ../boehm-gc/dyn_load.c boehm-gc/dyn_load.c
17836 --- ../boehm-gc/dyn_load.c      Mon May 26 12:48:52 2003
17837 +++ boehm-gc/dyn_load.c Mon Mar  3 22:38:30 2003
17838 @@ -55,10 +55,9 @@
17839      !defined(MSWIN32) && !defined(MSWINCE) && \
17840      !(defined(ALPHA) && defined(OSF1)) && \
17841      !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \
17842 -    !defined(RS6000) && !defined(SCO_ELF) && !defined(DGUX) && \
17843 +    !defined(RS6000) && !defined(SCO_ELF) && \
17844      !(defined(FREEBSD) && defined(__ELF__)) && \
17845 -    !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
17846 -    !defined(DARWIN)
17847 +    !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD)
17848   --> We only know how to find data segments of dynamic libraries for the
17849   --> above.  Additional SVR4 variants might not be too
17850   --> hard to add.
17851 @@ -81,7 +80,7 @@
17852  #endif
17853  
17854  #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
17855 -    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
17856 +    (defined(FREEBSD) && defined(__ELF__)) || \
17857      (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
17858  #   include <stddef.h>
17859  #   include <elf.h>
17860 @@ -265,7 +264,7 @@
17861  # endif /* SUNOS */
17862  
17863  #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
17864 -    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
17865 +    (defined(FREEBSD) && defined(__ELF__)) || \
17866      (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
17867  
17868  
17869 @@ -283,23 +282,56 @@
17870         /* Repeatedly read until buffer is filled, or EOF is encountered */
17871         /* Defined in os_dep.c.                                          */
17872  
17873 -char *GC_parse_map_entry(char *buf_ptr, word *start, word *end,
17874 -                         char *prot_buf, unsigned int *maj_dev);
17875 -word GC_apply_to_maps(word (*fn)(char *));
17876 -       /* From os_dep.c        */
17877 +static char *parse_map_entry(char *buf_ptr, word *start, word *end,
17878 +                             char *prot_buf, unsigned int *maj_dev);
17879  
17880 -word GC_register_map_entries(char *maps)
17881 +void GC_register_dynamic_libraries()
17882  {
17883 +    int f;
17884 +    int result;
17885      char prot_buf[5];
17886 -    char *buf_ptr = maps;
17887 +    int maps_size;
17888 +    char maps_temp[32768];
17889 +    char *maps_buf;
17890 +    char *buf_ptr;
17891      int count;
17892      word start, end;
17893 -    unsigned int maj_dev;
17894 +    unsigned int maj_dev, min_dev;
17895      word least_ha, greatest_ha;
17896      unsigned i;
17897      word datastart = (word)(DATASTART);
17898  
17899 -    /* Compute heap bounds. FIXME: Should be done by add_to_heap?      */
17900 +    /* Read /proc/self/maps    */
17901 +        /* Note that we may not allocate, and thus can't use stdio.    */
17902 +        f = open("/proc/self/maps", O_RDONLY);
17903 +        if (-1 == f) ABORT("Couldn't open /proc/self/maps");
17904 +       /* stat() doesn't work for /proc/self/maps, so we have to
17905 +          read it to find out how large it is... */
17906 +       maps_size = 0;
17907 +       do {
17908 +           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
17909 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
17910 +           maps_size += result;
17911 +       } while (result == sizeof(maps_temp));
17912 +
17913 +       if (maps_size > sizeof(maps_temp)) {
17914 +           /* If larger than our buffer, close and re-read it. */
17915 +           close(f);
17916 +           f = open("/proc/self/maps", O_RDONLY);
17917 +           if (-1 == f) ABORT("Couldn't open /proc/self/maps");
17918 +           maps_buf = alloca(maps_size);
17919 +           if (NULL == maps_buf) ABORT("/proc/self/maps alloca failed");
17920 +           result = GC_repeat_read(f, maps_buf, maps_size);
17921 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
17922 +       } else {
17923 +           /* Otherwise use the fixed size buffer */
17924 +           maps_buf = maps_temp;
17925 +       }
17926 +
17927 +       close(f);
17928 +        maps_buf[result] = '\0';
17929 +        buf_ptr = maps_buf;
17930 +    /* Compute heap bounds. Should be done by add_to_heap?     */
17931         least_ha = (word)(-1);
17932         greatest_ha = 0;
17933         for (i = 0; i < GC_n_heap_sects; ++i) {
17934 @@ -310,10 +342,11 @@
17935          }
17936         if (greatest_ha < (word)GC_scratch_last_end_ptr)
17937             greatest_ha = (word)GC_scratch_last_end_ptr; 
17938 -
17939      for (;;) {
17940 -        buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
17941 -       if (buf_ptr == NULL) return 1;
17942 +
17943 +        buf_ptr = parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
17944 +       if (buf_ptr == NULL) return;
17945 +
17946         if (prot_buf[1] == 'w') {
17947             /* This is a writable mapping.  Add it to           */
17948             /* the root set unless it is already otherwise      */
17949 @@ -325,7 +358,16 @@
17950  #          ifdef THREADS
17951               if (GC_segment_is_thread_stack(start, end)) continue;
17952  #          endif
17953 -           /* We no longer exclude the main data segment.              */
17954 +           /* The rest of this assumes that there is no mapping        */
17955 +           /* spanning the beginning of the data segment, or extending */
17956 +           /* beyond the entire heap at both ends.                     */
17957 +           /* Empirically these assumptions hold.                      */
17958 +           
17959 +           if (start < (word)DATAEND && end > (word)DATAEND) {
17960 +               /* Rld may use space at the end of the main data        */
17961 +               /* segment.  Thus we add that in.                       */
17962 +               start = (word)DATAEND;
17963 +           }
17964             if (start < least_ha && end > least_ha) {
17965                 end = least_ha;
17966             }
17967 @@ -335,14 +377,7 @@
17968             if (start >= least_ha && end <= greatest_ha) continue;
17969             GC_add_roots_inner((char *)start, (char *)end, TRUE);
17970         }
17971 -    }
17972 -    return 1;
17973 -}
17974 -
17975 -void GC_register_dynamic_libraries()
17976 -{
17977 -   if (!GC_apply_to_maps(GC_register_map_entries))
17978 -       ABORT("Failed to read /proc for library registration.");
17979 +     }
17980  }
17981  
17982  /* We now take care of the main data segment ourselves: */
17983 @@ -352,6 +387,60 @@
17984  }
17985    
17986  # define HAVE_REGISTER_MAIN_STATIC_DATA
17987 +//
17988 +//  parse_map_entry parses an entry from /proc/self/maps so we can
17989 +//  locate all writable data segments that belong to shared libraries.
17990 +//  The format of one of these entries and the fields we care about
17991 +//  is as follows:
17992 +//  XXXXXXXX-XXXXXXXX r-xp 00000000 30:05 260537     name of mapping...\n
17993 +//  ^^^^^^^^ ^^^^^^^^ ^^^^          ^^
17994 +//  start    end      prot          maj_dev
17995 +//  0        9        18            32
17996 +//
17997 +//  The parser is called with a pointer to the entry and the return value
17998 +//  is either NULL or is advanced to the next entry(the byte after the
17999 +//  trailing '\n'.)
18000 +//
18001 +#define OFFSET_MAP_START   0
18002 +#define OFFSET_MAP_END     9
18003 +#define OFFSET_MAP_PROT   18
18004 +#define OFFSET_MAP_MAJDEV 32
18005 +
18006 +static char *parse_map_entry(char *buf_ptr, word *start, word *end,
18007 +                             char *prot_buf, unsigned int *maj_dev)
18008 +{
18009 +    int i;
18010 +    unsigned int val;
18011 +    char *tok;
18012 +
18013 +    if (buf_ptr == NULL || *buf_ptr == '\0') {
18014 +        return NULL;
18015 +    }
18016 +
18017 +    memcpy(prot_buf, buf_ptr+OFFSET_MAP_PROT, 4); // do the protections first
18018 +    prot_buf[4] = '\0';
18019 +
18020 +    if (prot_buf[1] == 'w') { // we can skip all of this if it's not writable
18021 +
18022 +        tok = buf_ptr;
18023 +        buf_ptr[OFFSET_MAP_START+8] = '\0';
18024 +        *start = strtoul(tok, NULL, 16);
18025 +
18026 +        tok = buf_ptr+OFFSET_MAP_END;
18027 +        buf_ptr[OFFSET_MAP_END+8] = '\0';
18028 +        *end = strtoul(tok, NULL, 16);
18029 +
18030 +        buf_ptr += OFFSET_MAP_MAJDEV;
18031 +        tok = buf_ptr;
18032 +        while (*buf_ptr != ':') buf_ptr++;
18033 +        *buf_ptr++ = '\0';
18034 +        *maj_dev = strtoul(tok, NULL, 16);
18035 +    }
18036 +
18037 +    while (*buf_ptr && *buf_ptr++ != '\n');
18038 +
18039 +    return buf_ptr;
18040 +}
18041  
18042  #endif /* USE_PROC_FOR_LIBRARIES */
18043  
18044 @@ -419,7 +508,6 @@
18045            GC_add_roots_inner(DATASTART2, (char *)(DATAEND2), TRUE);
18046  #       endif
18047      }
18048 -
18049      return TRUE;
18050    } else {
18051      return FALSE;
18052 @@ -542,7 +630,6 @@
18053         /* The type is a lie, since the real type doesn't make sense here, */
18054         /* and we only test for NULL.                                      */
18055  
18056 -
18057  /* We use /proc to track down all parts of the address space that are  */
18058  /* mapped by the process, and throw out regions we know we shouldn't   */
18059  /* worry about.  This may also work under other SVR4 variants.         */
18060 @@ -969,122 +1056,7 @@
18061  }
18062  #endif /* RS6000 */
18063  
18064 -#ifdef DARWIN
18065 -
18066 -#include <mach-o/dyld.h>
18067 -#include <mach-o/getsect.h>
18068 -
18069 -/*#define DARWIN_DEBUG*/
18070 -    
18071 -const static struct { 
18072 -    const char *seg;
18073 -    const char *sect;
18074 -} GC_dyld_sections[] = {
18075 -    { SEG_DATA, SECT_DATA },
18076 -    { SEG_DATA, SECT_BSS },
18077 -    { SEG_DATA, SECT_COMMON }
18078 -};
18079 -
18080 -#ifdef DARWIN_DEBUG
18081 -static const char *GC_dyld_name_for_hdr(struct mach_header *hdr) {
18082 -    unsigned long i,c;
18083 -    c = _dyld_image_count();
18084 -    for(i=0;i<c;i++) if(_dyld_get_image_header(i) == hdr)
18085 -        return _dyld_get_image_name(i);
18086 -    return NULL;
18087 -}
18088 -#endif
18089 -
18090 -/* This should never be called by a thread holding the lock */
18091 -static void GC_dyld_image_add(struct mach_header* hdr, unsigned long slide) {
18092 -    unsigned long start,end,i;
18093 -    const struct section *sec;
18094 -    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
18095 -        sec = getsectbynamefromheader(
18096 -            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
18097 -        if(sec == NULL || sec->size == 0) continue;
18098 -        start = slide + sec->addr;
18099 -        end = start + sec->size;
18100 -#              ifdef DARWIN_DEBUG
18101 -            GC_printf4("Adding section at %p-%p (%lu bytes) from image %s\n",
18102 -                start,end,sec->size,GC_dyld_name_for_hdr(hdr));
18103 -#              endif
18104 -        GC_add_roots((char*)start,(char*)end);
18105 -    }
18106 -#      ifdef DARWIN_DEBUG
18107 -    GC_print_static_roots();
18108 -#      endif
18109 -}
18110 -
18111 -/* This should never be called by a thread holding the lock */
18112 -static void GC_dyld_image_remove(struct mach_header* hdr, unsigned long slide) {
18113 -    unsigned long start,end,i;
18114 -    const struct section *sec;
18115 -    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
18116 -        sec = getsectbynamefromheader(
18117 -            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
18118 -        if(sec == NULL || sec->size == 0) continue;
18119 -        start = slide + sec->addr;
18120 -        end = start + sec->size;
18121 -#              ifdef DARWIN_DEBUG
18122 -            GC_printf4("Removing section at %p-%p (%lu bytes) from image %s\n",
18123 -                start,end,sec->size,GC_dyld_name_for_hdr(hdr));
18124 -#              endif
18125 -        GC_remove_roots((char*)start,(char*)end);
18126 -    }
18127 -#      ifdef DARWIN_DEBUG
18128 -    GC_print_static_roots();
18129 -#      endif
18130 -}
18131 -
18132 -void GC_register_dynamic_libraries() {
18133 -    /* Currently does nothing. The callbacks are setup by GC_init_dyld() 
18134 -    The dyld library takes it from there. */
18135 -}
18136 -
18137 -/* The _dyld_* functions have an internal lock so no _dyld functions
18138 -   can be called while the world is stopped without the risk of a deadlock.
18139 -   Because of this we MUST setup callbacks BEFORE we ever stop the world.
18140 -   This should be called BEFORE any thread in created and WITHOUT the
18141 -   allocation lock held. */
18142 -   
18143 -void GC_init_dyld() {
18144 -    static GC_bool initialized = FALSE;
18145 -    
18146 -    if(initialized) return;
18147 -    
18148 -#   ifdef DARWIN_DEBUG
18149 -        GC_printf0("Forcing full bind of GC code...\n");
18150 -#   endif
18151 -    if(!_dyld_bind_fully_image_containing_address((unsigned long*)GC_malloc))
18152 -        GC_abort("_dyld_bind_fully_image_containing_addres failed");
18153 -            
18154 -#   ifdef DARWIN_DEBUG
18155 -        GC_printf0("Registering dyld callbacks...\n");
18156 -#   endif
18157 -
18158 -    /* Apple's Documentation:
18159 -    When you call _dyld_register_func_for_add_image, the dynamic linker runtime
18160 -    calls the specified callback (func) once for each of the images that is
18161 -    currently loaded into the program. When a new image is added to the program,
18162 -    your callback is called again with the mach_header for the new image, and the      virtual memory slide amount of the new image. 
18163 -        
18164 -    This WILL properly register existing and all future libraries
18165 -    */
18166 -        
18167 -    _dyld_register_func_for_add_image(GC_dyld_image_add);
18168 -    _dyld_register_func_for_remove_image(GC_dyld_image_remove);
18169 -    initialized = TRUE;
18170 -}
18171 -
18172 -#define HAVE_REGISTER_MAIN_STATIC_DATA
18173 -GC_bool GC_register_main_static_data()
18174 -{
18175 -  /* Already done through dyld callbacks */
18176 -  return FALSE;
18177 -}
18178  
18179 -#endif /* DARWIN */
18180  
18181  #else /* !DYNAMIC_LOADING */
18182  
18183 diff -Nur ../boehm-gc/finalize.c boehm-gc/finalize.c
18184 --- ../boehm-gc/finalize.c      Mon May 26 12:48:52 2003
18185 +++ boehm-gc/finalize.c Mon Feb 11 20:37:53 2002
18186 @@ -207,8 +207,7 @@
18187         UNLOCK();
18188         ENABLE_SIGNALS();
18189  #     endif
18190 -      new_dl = (struct disappearing_link *)
18191 -             GC_oom_fn(sizeof(struct disappearing_link));
18192 +      new_dl = GC_oom_fn(sizeof(struct disappearing_link));
18193        if (0 == new_dl) {
18194         GC_finalization_failures++;
18195         return(0);
18196 @@ -434,8 +433,7 @@
18197         UNLOCK();
18198         ENABLE_SIGNALS();
18199  #     endif
18200 -      new_fo = (struct finalizable_object *)
18201 -             GC_oom_fn(sizeof(struct finalizable_object));
18202 +      new_fo = GC_oom_fn(sizeof(struct finalizable_object));
18203        if (0 == new_fo) {
18204         GC_finalization_failures++;
18205         return;
18206 @@ -761,9 +759,8 @@
18207  /* Should be called without allocation lock.                           */
18208  int GC_invoke_finalizers()
18209  {
18210 -    struct finalizable_object * curr_fo;
18211 -    int count = 0;
18212 -    word mem_freed_before;
18213 +    register struct finalizable_object * curr_fo;
18214 +    register int count = 0;
18215      DCL_LOCK_STATE;
18216      
18217      while (GC_finalize_now != 0) {
18218 @@ -771,9 +768,6 @@
18219             DISABLE_SIGNALS();
18220             LOCK();
18221  #      endif
18222 -       if (count == 0) {
18223 -           mem_freed_before = GC_mem_freed;
18224 -       }
18225         curr_fo = GC_finalize_now;
18226  #      ifdef THREADS
18227             if (curr_fo != 0) GC_finalize_now = fo_next(curr_fo);
18228 @@ -795,11 +789,6 @@
18229             GC_free((GC_PTR)curr_fo);
18230  #      endif
18231      }
18232 -    if (count != 0 && mem_freed_before != GC_mem_freed) {
18233 -        LOCK();
18234 -       GC_finalizer_mem_freed += (GC_mem_freed - mem_freed_before);
18235 -       UNLOCK();
18236 -    }
18237      return count;
18238  }
18239  
18240 @@ -812,9 +801,7 @@
18241      if (GC_finalize_now == 0) return;
18242      if (!GC_finalize_on_demand) {
18243         (void) GC_invoke_finalizers();
18244 -#      ifndef THREADS
18245 -         GC_ASSERT(GC_finalize_now == 0);
18246 -#      endif   /* Otherwise GC can run concurrently and add more */
18247 +       GC_ASSERT(GC_finalize_now == 0);
18248         return;
18249      }
18250      if (GC_finalizer_notifier != (void (*) GC_PROTO((void)))0
18251 @@ -852,17 +839,3 @@
18252      return(result);
18253  }
18254  
18255 -#if !defined(NO_DEBUGGING)
18256 -
18257 -void GC_print_finalization_stats()
18258 -{
18259 -    struct finalizable_object *fo = GC_finalize_now;
18260 -    size_t ready = 0;
18261 -
18262 -    GC_printf2("%lu finalization table entries; %lu disappearing links\n",
18263 -              GC_fo_entries, GC_dl_entries);
18264 -    for (; 0 != fo; fo = fo_next(fo)) ++ready;
18265 -    GC_printf1("%lu objects are eligible for immediate finalization\n", ready);
18266 -}
18267 -
18268 -#endif /* NO_DEBUGGING */
18269 diff -Nur ../boehm-gc/gc_dlopen.c boehm-gc/gc_dlopen.c
18270 --- ../boehm-gc/gc_dlopen.c     Mon May 26 12:48:52 2003
18271 +++ boehm-gc/gc_dlopen.c        Tue Oct 16 02:01:35 2001
18272 @@ -19,14 +19,12 @@
18273  /*
18274   * This used to be in dyn_load.c.  It was extracted into a separate file
18275   * to avoid having to link against libdl.{a,so} if the client doesn't call
18276 - * dlopen.  Of course this fails if the collector is in a dynamic
18277 - * library. -HB
18278 + * dlopen.  -HB
18279   */
18280  
18281  #include "private/gc_priv.h"
18282  
18283 -# if (defined(GC_PTHREADS) && !defined(GC_DARWIN_THREADS)) \
18284 -      || defined(GC_SOLARIS_THREADS)
18285 +# if defined(GC_PTHREADS) || defined(GC_SOLARIS_THREADS)
18286  
18287  # if defined(dlopen) && !defined(GC_USE_LD_WRAP)
18288      /* To support various threads pkgs, gc.h interposes on dlopen by     */
18289 @@ -46,14 +44,19 @@
18290    /* calls in either a multithreaded environment, or if the library    */
18291    /* initialization code allocates substantial amounts of GC'ed memory.        */
18292    /* But I don't know of a better solution.                            */
18293 -  static void disable_gc_for_dlopen()
18294 +  /* This can still deadlock if the client explicitly starts a GC      */
18295 +  /* during the dlopen.  He shouldn't do that.                         */
18296 +  static GC_bool disable_gc_for_dlopen()
18297    {
18298 +    GC_bool result;
18299      LOCK();
18300 +    result = GC_dont_gc;
18301      while (GC_incremental && GC_collection_in_progress()) {
18302         GC_collect_a_little_inner(1000);
18303      }
18304 -    ++GC_dont_gc;
18305 +    GC_dont_gc = TRUE;
18306      UNLOCK();
18307 +    return(result);
18308    }
18309  
18310    /* Redefine dlopen to guarantee mutual exclusion with        */
18311 @@ -71,9 +74,10 @@
18312  #endif
18313  {
18314      void * result;
18315 +    GC_bool dont_gc_save;
18316      
18317  #   ifndef USE_PROC_FOR_LIBRARIES
18318 -      disable_gc_for_dlopen();
18319 +      dont_gc_save = disable_gc_for_dlopen();
18320  #   endif
18321  #   ifdef GC_USE_LD_WRAP
18322        result = (void *)__real_dlopen(path, mode);
18323 @@ -81,7 +85,7 @@
18324        result = dlopen(path, mode);
18325  #   endif
18326  #   ifndef USE_PROC_FOR_LIBRARIES
18327 -      GC_enable(); /* undoes disable_gc_for_dlopen */
18328 +      GC_dont_gc = dont_gc_save;
18329  #   endif
18330      return(result);
18331  }
18332 diff -Nur ../boehm-gc/gcj_mlc.c boehm-gc/gcj_mlc.c
18333 --- ../boehm-gc/gcj_mlc.c       Mon May 26 12:48:52 2003
18334 +++ boehm-gc/gcj_mlc.c  Mon Feb 11 20:37:53 2002
18335 @@ -157,7 +157,6 @@
18336              GC_words_allocd += lw;
18337          }
18338         *(void **)op = ptr_to_struct_containing_descr;
18339 -       GC_ASSERT(((void **)op)[1] == 0);
18340         UNLOCK();
18341      } else {
18342         LOCK();
18343 diff -Nur ../boehm-gc/if_mach.c boehm-gc/if_mach.c
18344 --- ../boehm-gc/if_mach.c       Mon May 26 12:48:52 2003
18345 +++ boehm-gc/if_mach.c  Fri Aug 17 11:30:45 2001
18346 @@ -14,7 +14,7 @@
18347      if (strcmp(MACH_TYPE, argv[1]) != 0) return(0);
18348      if (strcmp(OS_TYPE, "") != 0 && strcmp(argv[2], "") != 0
18349          && strcmp(OS_TYPE, argv[2]) != 0) return(0);
18350 -    fprintf(stderr, "^^^^Starting command^^^^\n");
18351 +    printf("^^^^Starting command^^^^\n");
18352      fflush(stdout);
18353      execvp(argv[3], argv+3);
18354      perror("Couldn't execute");
18355 diff -Nur ../boehm-gc/include/Makefile.in boehm-gc/include/Makefile.in
18356 --- ../boehm-gc/include/Makefile.in     Mon May 26 13:08:48 2003
18357 +++ boehm-gc/include/Makefile.in        Tue Dec 31 09:52:45 2002
18358 @@ -1,8 +1,6 @@
18359 -# Makefile.in generated by automake 1.6.3 from Makefile.am.
18360 -# @configure_input@
18361 +# Makefile.in generated automatically by automake 1.4 from Makefile.am
18362  
18363 -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
18364 -# Free Software Foundation, Inc.
18365 +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
18366  # This Makefile.in is free software; the Free Software Foundation
18367  # gives unlimited permission to copy and/or distribute it,
18368  # with or without modifications, as long as this notice is preserved.
18369 @@ -12,7 +10,7 @@
18370  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
18371  # PARTICULAR PURPOSE.
18372  
18373 -@SET_MAKE@
18374 +
18375  SHELL = @SHELL@
18376  
18377  srcdir = @srcdir@
18378 @@ -33,9 +31,13 @@
18379  mandir = @mandir@
18380  includedir = @includedir@
18381  oldincludedir = /usr/include
18382 +
18383 +DESTDIR =
18384 +
18385  pkgdatadir = $(datadir)/@PACKAGE@
18386  pkglibdir = $(libdir)/@PACKAGE@
18387  pkgincludedir = $(includedir)/@PACKAGE@
18388 +
18389  top_builddir = ..
18390  
18391  ACLOCAL = @ACLOCAL@
18392 @@ -43,16 +45,12 @@
18393  AUTOMAKE = @AUTOMAKE@
18394  AUTOHEADER = @AUTOHEADER@
18395  
18396 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
18397  INSTALL = @INSTALL@
18398 -INSTALL_PROGRAM = @INSTALL_PROGRAM@
18399 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
18400  INSTALL_DATA = @INSTALL_DATA@
18401 -install_sh_DATA = $(install_sh) -c -m 644
18402 -install_sh_PROGRAM = $(install_sh) -c
18403 -install_sh_SCRIPT = $(install_sh) -c
18404  INSTALL_SCRIPT = @INSTALL_SCRIPT@
18405 -INSTALL_HEADER = $(INSTALL_DATA)
18406  transform = @program_transform_name@
18407 +
18408  NORMAL_INSTALL = :
18409  PRE_INSTALL = :
18410  POST_INSTALL = :
18411 @@ -65,190 +63,171 @@
18412  host_triplet = @host@
18413  target_alias = @target_alias@
18414  target_triplet = @target@
18415 -
18416 -EXEEXT = @EXEEXT@
18417 -OBJEXT = @OBJEXT@
18418 -PATH_SEPARATOR = @PATH_SEPARATOR@
18419 -AMTAR = @AMTAR@
18420  AR = @AR@
18421  AS = @AS@
18422 -AWK = @AWK@
18423  CC = @CC@
18424  CPP = @CPP@
18425  CXX = @CXX@
18426  CXXCPP = @CXXCPP@
18427  CXXINCLUDES = @CXXINCLUDES@
18428 -DEPDIR = @DEPDIR@
18429  DLLTOOL = @DLLTOOL@
18430 -ECHO = @ECHO@
18431 -EGREP = @EGREP@
18432 +EXEEXT = @EXEEXT@
18433  EXTRA_TEST_LIBS = @EXTRA_TEST_LIBS@
18434 -F77 = @F77@
18435  GCJ = @GCJ@
18436  GCJFLAGS = @GCJFLAGS@
18437  GC_CFLAGS = @GC_CFLAGS@
18438  INCLUDES = @INCLUDES@
18439 -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
18440  LIBTOOL = @LIBTOOL@
18441  LN_S = @LN_S@
18442  MAINT = @MAINT@
18443 +MAKEINFO = @MAKEINFO@
18444  MY_CFLAGS = @MY_CFLAGS@
18445  OBJDUMP = @OBJDUMP@
18446 +OBJEXT = @OBJEXT@
18447  PACKAGE = @PACKAGE@
18448  RANLIB = @RANLIB@
18449 -RC = @RC@
18450  STRIP = @STRIP@
18451  THREADLIBS = @THREADLIBS@
18452  VERSION = @VERSION@
18453  addobjs = @addobjs@
18454 -am__include = @am__include@
18455 -am__quote = @am__quote@
18456  gc_basedir = @gc_basedir@
18457 -install_sh = @install_sh@
18458  mkinstalldirs = @mkinstalldirs@
18459  target_all = @target_all@
18460 +
18461  AUTOMAKE_OPTIONS = foreign
18462  
18463  noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
18464    gc_pthread_redirects.h gc_cpp.h
18465  
18466 -subdir = include
18467 -CONFIG_CLEAN_FILES =
18468 -depcomp =
18469 -am__depfiles_maybe =
18470 -DIST_SOURCES =
18471 -HEADERS = $(noinst_HEADERS)
18472 +CONFIG_CLEAN_FILES = 
18473 +HEADERS =  $(noinst_HEADERS)
18474  
18475 -all: all-am
18476 +DIST_COMMON =  Makefile.am Makefile.in
18477  
18478 -.SUFFIXES:
18479 -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
18480 -       cd $(top_srcdir) && \
18481 -         $(AUTOMAKE) --cygnus  include/Makefile
18482 -Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
18483 -       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
18484  
18485 -mostlyclean-libtool:
18486 -       -rm -f *.lo
18487 +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
18488  
18489 -clean-libtool:
18490 -       -rm -rf .libs _libs
18491 +TAR = gtar
18492 +GZIP_ENV = --best
18493 +all: all-redirect
18494 +.SUFFIXES:
18495 +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
18496 +       cd $(top_srcdir) && $(AUTOMAKE) --cygnus include/Makefile
18497  
18498 -distclean-libtool:
18499 -       -rm -f libtool
18500 -uninstall-info-am:
18501 +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
18502 +       cd $(top_builddir) \
18503 +         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
18504  
18505 -ETAGS = etags
18506 -ETAGSFLAGS =
18507  
18508  tags: TAGS
18509  
18510 -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
18511 -       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
18512 -       unique=`for i in $$list; do \
18513 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
18514 -         done | \
18515 -         $(AWK) '    { files[$$0] = 1; } \
18516 +ID: $(HEADERS) $(SOURCES) $(LISP)
18517 +       list='$(SOURCES) $(HEADERS)'; \
18518 +       unique=`for i in $$list; do echo $$i; done | \
18519 +         awk '    { files[$$0] = 1; } \
18520                END { for (i in files) print i; }'`; \
18521 -       mkid -fID $$unique
18522 +       here=`pwd` && cd $(srcdir) \
18523 +         && mkid -f$$here/ID $$unique $(LISP)
18524  
18525 -TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
18526 -               $(TAGS_FILES) $(LISP)
18527 +TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
18528         tags=; \
18529         here=`pwd`; \
18530 -       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
18531 -       unique=`for i in $$list; do \
18532 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
18533 -         done | \
18534 -         $(AWK) '    { files[$$0] = 1; } \
18535 +       list='$(SOURCES) $(HEADERS)'; \
18536 +       unique=`for i in $$list; do echo $$i; done | \
18537 +         awk '    { files[$$0] = 1; } \
18538                END { for (i in files) print i; }'`; \
18539 -       test -z "$(ETAGS_ARGS)$$tags$$unique" \
18540 -         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
18541 -            $$tags $$unique
18542 -
18543 -GTAGS:
18544 -       here=`$(am__cd) $(top_builddir) && pwd` \
18545 -         && cd $(top_srcdir) \
18546 -         && gtags -i $(GTAGS_ARGS) $$here
18547 +       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
18548 +         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
18549 +
18550 +mostlyclean-tags:
18551 +
18552 +clean-tags:
18553  
18554  distclean-tags:
18555 -       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
18556 -check-am:
18557 -check: check-am
18558 -all-am: Makefile $(HEADERS)
18559 +       -rm -f TAGS ID
18560  
18561 -installdirs:
18562 +maintainer-clean-tags:
18563  
18564 -install: install-am
18565 +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
18566 +
18567 +subdir = include
18568 +
18569 +distdir: $(DISTFILES)
18570 +       @for file in $(DISTFILES); do \
18571 +         if test -f $$file; then d=.; else d=$(srcdir); fi; \
18572 +         if test -d $$d/$$file; then \
18573 +           cp -pr $$d/$$file $(distdir)/$$file; \
18574 +         else \
18575 +           test -f $(distdir)/$$file \
18576 +           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
18577 +           || cp -p $$d/$$file $(distdir)/$$file || :; \
18578 +         fi; \
18579 +       done
18580 +info-am:
18581 +info: info-am
18582 +dvi-am:
18583 +dvi: dvi-am
18584 +check-am:
18585 +check: check-am
18586 +installcheck-am:
18587 +installcheck: installcheck-am
18588 +install-info-am: 
18589 +install-info: install-info-am
18590 +install-exec-am:
18591  install-exec: install-exec-am
18592 +
18593 +install-data-am:
18594  install-data: install-data-am
18595 -uninstall: uninstall-am
18596  
18597  install-am: all-am
18598         @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
18599 -
18600 -installcheck: installcheck-am
18601 +install: install-am
18602 +uninstall-am:
18603 +uninstall: uninstall-am
18604 +all-am: Makefile $(HEADERS)
18605 +all-redirect: all-am
18606  install-strip:
18607 -       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
18608 -         INSTALL_STRIP_FLAG=-s \
18609 -         `test -z '$(STRIP)' || \
18610 -           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
18611 +       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
18612 +installdirs:
18613 +
18614 +
18615  mostlyclean-generic:
18616  
18617  clean-generic:
18618  
18619  distclean-generic:
18620         -rm -f Makefile $(CONFIG_CLEAN_FILES)
18621 +       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
18622  
18623  maintainer-clean-generic:
18624 -       @echo "This command is intended for maintainers to use"
18625 -       @echo "it deletes files that may require special tools to rebuild."
18626 -clean: clean-am
18627 -
18628 -clean-am: clean-generic clean-libtool mostlyclean-am
18629 -
18630 -distclean: distclean-am
18631 -
18632 -distclean-am: clean-am distclean-generic distclean-libtool \
18633 -       distclean-tags
18634 -
18635 -dvi: dvi-am
18636 +mostlyclean-am:  mostlyclean-tags mostlyclean-generic
18637  
18638 -dvi-am:
18639 -
18640 -info: info-am
18641 -
18642 -info-am:
18643 +mostlyclean: mostlyclean-am
18644  
18645 -install-data-am:
18646 +clean-am:  clean-tags clean-generic mostlyclean-am
18647  
18648 -install-exec-am:
18649 +clean: clean-am
18650  
18651 -install-info:
18652 +distclean-am:  distclean-tags distclean-generic clean-am
18653 +       -rm -f libtool
18654  
18655 -install-man:
18656 +distclean: distclean-am
18657  
18658 -installcheck-am:
18659 +maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
18660 +               distclean-am
18661 +       @echo "This command is intended for maintainers to use;"
18662 +       @echo "it deletes files that may require special tools to rebuild."
18663  
18664  maintainer-clean: maintainer-clean-am
18665  
18666 -maintainer-clean-am: distclean-am maintainer-clean-generic
18667 -
18668 -mostlyclean: mostlyclean-am
18669 -
18670 -mostlyclean-am: mostlyclean-generic mostlyclean-libtool
18671 -
18672 -uninstall-am:
18673 +.PHONY: tags mostlyclean-tags distclean-tags clean-tags \
18674 +maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
18675 +installcheck-am installcheck install-info-am install-info \
18676 +install-exec-am install-exec install-data-am install-data install-am \
18677 +install uninstall-am uninstall all-redirect all-am all installdirs \
18678 +mostlyclean-generic distclean-generic clean-generic \
18679 +maintainer-clean-generic clean mostlyclean distclean maintainer-clean
18680  
18681 -.PHONY: GTAGS all all-am check check-am clean clean-generic \
18682 -       clean-libtool distclean distclean-generic distclean-libtool \
18683 -       distclean-tags dvi dvi-am info info-am install install-am \
18684 -       install-data install-data-am install-exec install-exec-am \
18685 -       install-info install-info-am install-man install-strip \
18686 -       installcheck installcheck-am installdirs maintainer-clean \
18687 -       maintainer-clean-generic mostlyclean mostlyclean-generic \
18688 -       mostlyclean-libtool tags uninstall uninstall-am \
18689 -       uninstall-info-am
18690  
18691  # Tell versions [3.59,3.63) of GNU make to not export all variables.
18692  # Otherwise a system limit (for SysV at least) may be exceeded.
18693 diff -Nur ../boehm-gc/include/gc.h boehm-gc/include/gc.h
18694 --- ../boehm-gc/include/gc.h    Mon May 26 13:28:19 2003
18695 +++ boehm-gc/include/gc.h       Mon Feb 11 20:37:56 2002
18696 @@ -30,7 +30,91 @@
18697  
18698  # define _GC_H
18699  
18700 -# include "gc_config_macros.h"
18701 +/*
18702 + * Some tests for old macros.  These violate our namespace rules and will
18703 + * disappear shortly.  Use the GC_ names.
18704 + */
18705 +#if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS)
18706 +# define GC_SOLARIS_THREADS
18707 +#endif
18708 +#if defined(_SOLARIS_PTHREADS)
18709 +# define GC_SOLARIS_PTHREADS
18710 +#endif
18711 +#if defined(IRIX_THREADS)
18712 +# define GC_IRIX_THREADS
18713 +#endif
18714 +#if defined(HPUX_THREADS)
18715 +# define GC_HPUX_THREADS
18716 +#endif
18717 +#if defined(OSF1_THREADS)
18718 +# define GC_OSF1_THREADS
18719 +#endif
18720 +#if defined(LINUX_THREADS)
18721 +# define GC_LINUX_THREADS
18722 +#endif
18723 +#if defined(WIN32_THREADS)
18724 +# define GC_WIN32_THREADS
18725 +#endif
18726 +#if defined(USE_LD_WRAP)
18727 +# define GC_USE_LD_WRAP
18728 +#endif
18729 +
18730 +#if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
18731 +                            || defined(GC_SOLARIS_PTHREADS) \
18732 +                            || defined(GC_HPUX_THREADS) \
18733 +                            || defined(GC_LINUX_THREADS))
18734 +# define _REENTRANT
18735 +       /* Better late than never.  This fails if system headers that   */
18736 +       /* depend on this were previously included.                     */
18737 +#endif
18738 +
18739 +#if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
18740 +#   define GC_SOLARIS_THREADS
18741 +#endif
18742 +
18743 +# if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
18744 +       defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
18745 +       defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
18746 +#   define GC_PTHREADS
18747 +# endif
18748 +
18749 +# define __GC
18750 +# include <stddef.h>
18751 +# ifdef _WIN32_WCE
18752 +/* Yet more kluges for WinCE */
18753 +#   include <stdlib.h>         /* size_t is defined here */
18754 +    typedef long ptrdiff_t;    /* ptrdiff_t is not defined */
18755 +# endif
18756 +
18757 +#if defined(__MINGW32__) &&defined(_DLL) && !defined(GC_NOT_DLL)
18758 +# ifdef GC_BUILD
18759 +#   define GC_API __declspec(dllexport)
18760 +# else
18761 +#   define GC_API __declspec(dllimport)
18762 +# endif
18763 +#endif
18764 +
18765 +#if (defined(__DMC__) || defined(_MSC_VER)) \
18766 +               && (defined(_DLL) && !defined(GC_NOT_DLL) \
18767 +                   || defined(GC_DLL))
18768 +# ifdef GC_BUILD
18769 +#   define GC_API extern __declspec(dllexport)
18770 +# else
18771 +#   define GC_API __declspec(dllimport)
18772 +# endif
18773 +#endif
18774 +
18775 +#if defined(__WATCOMC__) && defined(GC_DLL)
18776 +# ifdef GC_BUILD
18777 +#   define GC_API extern __declspec(dllexport)
18778 +# else
18779 +#   define GC_API extern __declspec(dllimport)
18780 +# endif
18781 +#endif
18782 +
18783 +#ifndef GC_API
18784 +#define GC_API extern
18785 +#endif
18786  
18787  # if defined(__STDC__) || defined(__cplusplus)
18788  #   define GC_PROTO(args) args
18789 @@ -70,7 +154,7 @@
18790                         /*  Env variable GC_NPROC is set to > 1, or     */
18791                         /*  GC_NPROC is not set and this is an MP.      */
18792                         /* If GC_parallel is set, incremental           */
18793 -                       /* collection is only partially functional,     */
18794 +                       /* collection is aonly partially functional,    */
18795                         /* and may not be desirable.                    */
18796                         
18797  
18798 @@ -131,14 +215,8 @@
18799                         /* thread, which will call GC_invoke_finalizers */
18800                         /* in response.                                 */
18801  
18802 -GC_API int GC_dont_gc; /* != 0 ==> Dont collect.  In versions 7.2a1+,  */
18803 -                       /* this overrides explicit GC_gcollect() calls. */
18804 -                       /* Used as a counter, so that nested enabling   */
18805 -                       /* and disabling work correctly.  Should        */
18806 -                       /* normally be updated with GC_enable() and     */
18807 -                       /* GC_disable() calls.                          */
18808 -                       /* Direct assignment to GC_dont_gc is           */
18809 -                       /* deprecated.                                  */
18810 +GC_API int GC_dont_gc; /* Dont collect unless explicitly requested, e.g. */
18811 +                       /* because it's not safe.                         */
18812  
18813  GC_API int GC_dont_expand;
18814                         /* Dont expand heap unless explicitly requested */
18815 @@ -218,6 +296,15 @@
18816                                 /* Interferes with blacklisting.        */
18817                                 /* Wizards only.                        */
18818  
18819 +/* Public procedures */
18820 +
18821 +/* Initialize the collector.  This is only required when using thread-local
18822 + * allocation, since unlike the regular allocation routines, GC_local_malloc
18823 + * is not self-initializing.  If you use GC_local_malloc you should arrange
18824 + * to call this somehow (e.g. from a constructor) before doing any allocation.
18825 + */
18826 +GC_API void GC_init GC_PROTO((void));
18827 +
18828  GC_API unsigned long GC_time_limit;
18829                                 /* If incremental collection is enabled, */
18830                                 /* We try to terminate collections       */
18831 @@ -229,18 +316,9 @@
18832                                 /* enabled.                              */
18833  #      define GC_TIME_UNLIMITED 999999
18834                                 /* Setting GC_time_limit to this value   */
18835 -                               /* will disable the "pause time exceeded"*/
18836 +                               /* will disable the "pause time exceeded */
18837                                 /* tests.                                */
18838  
18839 -/* Public procedures */
18840 -
18841 -/* Initialize the collector.  This is only required when using thread-local
18842 - * allocation, since unlike the regular allocation routines, GC_local_malloc
18843 - * is not self-initializing.  If you use GC_local_malloc you should arrange
18844 - * to call this somehow (e.g. from a constructor) before doing any allocation.
18845 - */
18846 -GC_API void GC_init GC_PROTO((void));
18847 -
18848  /*
18849   * general purpose allocation routines, with roughly malloc calling conv.
18850   * The atomic versions promise that no relevant pointers are contained
18851 @@ -341,21 +419,17 @@
18852  GC_API void GC_add_roots GC_PROTO((char * low_address,
18853                                    char * high_address_plus_1));
18854  
18855 -/* Remove a root segment.  Wizards only. */
18856 -GC_API void GC_remove_roots GC_PROTO((char * low_address, 
18857 -    char * high_address_plus_1));
18858 -
18859  /* Add a displacement to the set of those considered valid by the      */
18860  /* collector.  GC_register_displacement(n) means that if p was returned */
18861  /* by GC_malloc, then (char *)p + n will be considered to be a valid   */
18862 -/* pointer to p.  N must be small and less than the size of p.         */
18863 +/* pointer to n.  N must be small and less than the size of p.         */
18864  /* (All pointers to the interior of objects from the stack are         */
18865  /* considered valid in any case.  This applies to heap objects and     */
18866  /* static data.)                                                       */
18867  /* Preferably, this should be called before any other GC procedures.   */
18868  /* Calling it later adds to the probability of excess memory           */
18869  /* retention.                                                          */
18870 -/* This is a no-op if the collector has recognition of                 */
18871 +/* This is a no-op if the collector was compiled with recognition of   */
18872  /* arbitrary interior pointers enabled, which is now the default.      */
18873  GC_API void GC_register_displacement GC_PROTO((GC_word n));
18874  
18875 @@ -390,18 +464,9 @@
18876  GC_API size_t GC_get_bytes_since_gc GC_PROTO((void));
18877  
18878  /* Return the total number of bytes allocated in this process.         */
18879 -/* Never decreases, except due to wrapping.                            */
18880 +/* Never decreases.                                                    */
18881  GC_API size_t GC_get_total_bytes GC_PROTO((void));
18882  
18883 -/* Disable garbage collection.  Even GC_gcollect calls will be                 */
18884 -/* ineffective.                                                                */
18885 -GC_API void GC_disable GC_PROTO((void));
18886 -
18887 -/* Reenable garbage collection.  GC_diable() and GC_enable() calls     */
18888 -/* nest.  Garbage collection is enabled if the number of calls to both */
18889 -/* both functions is equal.                                            */
18890 -GC_API void GC_enable GC_PROTO((void));
18891 -
18892  /* Enable incremental/generational collection. */
18893  /* Not advisable unless dirty bits are                 */
18894  /* available or most heap objects are          */
18895 @@ -409,11 +474,7 @@
18896  /* Don't use in leak finding mode.             */
18897  /* Ignored if GC_dont_gc is true.              */
18898  /* Only the generational piece of this is      */
18899 -/* functional if GC_parallel is TRUE           */
18900 -/* or if GC_time_limit is GC_TIME_UNLIMITED.   */
18901 -/* Causes GC_local_gcj_malloc() to revert to   */
18902 -/* locked allocation.  Must be called          */
18903 -/* before any GC_local_gcj_malloc() calls.     */
18904 +/* functional if GC_parallel is TRUE.          */
18905  GC_API void GC_enable_incremental GC_PROTO((void));
18906  
18907  /* Does incremental mode write-protect pages?  Returns zero or */
18908 @@ -457,42 +518,6 @@
18909  #   define GC_RETURN_ADDR (GC_word)__return_address
18910  #endif
18911  
18912 -#ifdef __linux__
18913 -# include <features.h>
18914 -# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
18915 -     && !defined(__ia64__)
18916 -#   define GC_HAVE_BUILTIN_BACKTRACE
18917 -#   define GC_CAN_SAVE_CALL_STACKS
18918 -# endif
18919 -# if defined(__i386__) || defined(__x86_64__)
18920 -#   define GC_CAN_SAVE_CALL_STACKS
18921 -# endif
18922 -#endif
18923 -
18924 -#if defined(__sparc__)
18925 -#   define GC_CAN_SAVE_CALL_STACKS
18926 -#endif
18927 -
18928 -/* If we're on an a platform on which we can't save call stacks, but   */
18929 -/* gcc is normally used, we go ahead and define GC_ADD_CALLER.         */
18930 -/* We make this decision independent of whether gcc is actually being  */
18931 -/* used, in order to keep the interface consistent, and allow mixing   */
18932 -/* of compilers.                                                       */
18933 -/* This may also be desirable if it is possible but expensive to       */
18934 -/* retrieve the call chain.                                            */
18935 -#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
18936 -     || defined(__FreeBSD__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
18937 -# define GC_ADD_CALLER
18938 -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) 
18939 -    /* gcc knows how to retrieve return address, but we don't know */
18940 -    /* how to generate call stacks.                               */
18941 -#   define GC_RETURN_ADDR (GC_word)__builtin_return_address(0)
18942 -# else
18943 -    /* Just pass 0 for gcc compatibility. */
18944 -#   define GC_RETURN_ADDR 0
18945 -# endif
18946 -#endif
18947 -
18948  #ifdef GC_ADD_CALLER
18949  #  define GC_EXTRAS GC_RETURN_ADDR, __FILE__, __LINE__
18950  #  define GC_EXTRA_PARAMS GC_word ra, GC_CONST char * s, int i
18951 @@ -511,42 +536,18 @@
18952         GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
18953  GC_API GC_PTR GC_debug_malloc_stubborn
18954         GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
18955 -GC_API GC_PTR GC_debug_malloc_ignore_off_page
18956 -       GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
18957 -GC_API GC_PTR GC_debug_malloc_atomic_ignore_off_page
18958 -       GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
18959  GC_API void GC_debug_free GC_PROTO((GC_PTR object_addr));
18960  GC_API GC_PTR GC_debug_realloc
18961         GC_PROTO((GC_PTR old_object, size_t new_size_in_bytes,
18962                   GC_EXTRA_PARAMS));
18963 +                                
18964  GC_API void GC_debug_change_stubborn GC_PROTO((GC_PTR));
18965  GC_API void GC_debug_end_stubborn_change GC_PROTO((GC_PTR));
18966 -
18967 -/* Routines that allocate objects with debug information (like the     */
18968 -/* above), but just fill in dummy file and line number information.    */
18969 -/* Thus they can serve as drop-in malloc/realloc replacements.  This   */
18970 -/* can be useful for two reasons:                                      */
18971 -/* 1) It allows the collector to be built with DBG_HDRS_ALL defined    */
18972 -/*    even if some allocation calls come from 3rd party libraries      */
18973 -/*    that can't be recompiled.                                                */
18974 -/* 2) On some platforms, the file and line information is redundant,   */
18975 -/*    since it can be reconstructed from a stack trace.  On such       */
18976 -/*    platforms it may be more convenient not to recompile, e.g. for   */
18977 -/*    leak detection.  This can be accomplished by instructing the     */
18978 -/*    linker to replace malloc/realloc with these.                     */
18979 -GC_API GC_PTR GC_debug_malloc_replacement GC_PROTO((size_t size_in_bytes));
18980 -GC_API GC_PTR GC_debug_realloc_replacement
18981 -             GC_PROTO((GC_PTR object_addr, size_t size_in_bytes));
18982 -                                
18983  # ifdef GC_DEBUG
18984  #   define GC_MALLOC(sz) GC_debug_malloc(sz, GC_EXTRAS)
18985  #   define GC_MALLOC_ATOMIC(sz) GC_debug_malloc_atomic(sz, GC_EXTRAS)
18986 -#   define GC_MALLOC_UNCOLLECTABLE(sz) \
18987 -                       GC_debug_malloc_uncollectable(sz, GC_EXTRAS)
18988 -#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
18989 -                       GC_debug_malloc_ignore_off_page(sz, GC_EXTRAS)
18990 -#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
18991 -                       GC_debug_malloc_atomic_ignore_off_page(sz, GC_EXTRAS)
18992 +#   define GC_MALLOC_UNCOLLECTABLE(sz) GC_debug_malloc_uncollectable(sz, \
18993 +                                                       GC_EXTRAS)
18994  #   define GC_REALLOC(old, sz) GC_debug_realloc(old, sz, GC_EXTRAS)
18995  #   define GC_FREE(p) GC_debug_free(p)
18996  #   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
18997 @@ -565,10 +566,6 @@
18998  #   define GC_MALLOC(sz) GC_malloc(sz)
18999  #   define GC_MALLOC_ATOMIC(sz) GC_malloc_atomic(sz)
19000  #   define GC_MALLOC_UNCOLLECTABLE(sz) GC_malloc_uncollectable(sz)
19001 -#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
19002 -                       GC_malloc_ignore_off_page(sz)
19003 -#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
19004 -                       GC_malloc_atomic_ignore_off_page(sz)
19005  #   define GC_REALLOC(old, sz) GC_realloc(old, sz)
19006  #   define GC_FREE(p) GC_free(p)
19007  #   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
19008 @@ -647,8 +644,7 @@
19009  /* itself.  There is a stylistic argument that this is wrong,  */
19010  /* but it's unavoidable for C++, since the compiler may                */
19011  /* silently introduce these.  It's also benign in that specific        */
19012 -/* case.  And it helps if finalizable objects are split to     */
19013 -/* avoid cycles.                                               */
19014 +/* case.                                                       */
19015  /* Note that cd will still be viewed as accessible, even if it */
19016  /* refers to the object itself.                                        */
19017  GC_API void GC_register_finalizer_ignore_self
19018 @@ -721,6 +717,11 @@
19019         /* Undoes a registration by either of the above two     */
19020         /* routines.                                            */
19021  
19022 +/* Auxiliary fns to make finalization work correctly with displaced    */
19023 +/* pointers introduced by the debugging allocators.                    */
19024 +GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
19025 +GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
19026 +
19027  /* Returns !=0  if GC_invoke_finalizers has something to do.           */
19028  GC_API int GC_should_invoke_finalizers GC_PROTO((void));
19029  
19030 @@ -737,10 +738,6 @@
19031  typedef void (*GC_warn_proc) GC_PROTO((char *msg, GC_word arg));
19032  GC_API GC_warn_proc GC_set_warn_proc GC_PROTO((GC_warn_proc p));
19033      /* Returns old warning procedure.  */
19034 -
19035 -GC_API GC_word GC_set_free_space_divisor GC_PROTO((GC_word value));
19036 -    /* Set free_space_divisor.  See above for definition.      */
19037 -    /* Returns old value.                                      */
19038         
19039  /* The following is intended to be used by a higher level      */
19040  /* (e.g. Java-like) finalization facility.  It is expected     */
19041 @@ -878,16 +875,12 @@
19042  
19043  #if defined(GC_WIN32_THREADS)
19044  # include <windows.h>
19045 -# include <winbase.h>
19046  
19047    /*
19048     * All threads must be created using GC_CreateThread, so that they will be
19049 -   * recorded in the thread table.  For backwards compatibility, this is not
19050 -   * technically true if the GC is built as a dynamic library, since it can
19051 -   * and does then use DllMain to keep track of thread creations.  But new code
19052 -   * should be built to call GC_CreateThread.
19053 +   * recorded in the thread table.
19054     */
19055 -  GC_API HANDLE GC_CreateThread(
19056 +  HANDLE WINAPI GC_CreateThread(
19057        LPSECURITY_ATTRIBUTES lpThreadAttributes,
19058        DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress,
19059        LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );
19060 @@ -921,18 +914,13 @@
19061  #   define GC_INIT() { extern end, etext; \
19062                        GC_noop(&end, &etext); }
19063  #else
19064 -# if defined(__CYGWIN32__) && defined(GC_DLL) || defined (_AIX)
19065 +# if (defined(__CYGWIN32__) && defined(GC_USE_DLL)) || defined (_AIX)
19066      /*
19067 -     * Similarly gnu-win32 DLLs need explicit initialization from
19068 -     * the main program, as does AIX.
19069 +     * Similarly gnu-win32 DLLs need explicit initialization
19070       */
19071  #   define GC_INIT() { GC_add_roots(DATASTART, DATAEND); }
19072  # else
19073 -#  if defined(__APPLE__) && defined(__MACH__)
19074 -#   define GC_INIT() { GC_init(); }
19075 -#  else
19076 -#    define GC_INIT()
19077 -#  endif
19078 +#   define GC_INIT()
19079  # endif
19080  #endif
19081  
19082 diff -Nur ../boehm-gc/include/gc_allocator.h boehm-gc/include/gc_allocator.h
19083 --- ../boehm-gc/include/gc_allocator.h  Mon May 26 13:28:19 2003
19084 +++ boehm-gc/include/gc_allocator.h     Wed Dec 31 16:00:00 1969
19085 @@ -1,232 +0,0 @@
19086 -/*
19087 - * Copyright (c) 1996-1997
19088 - * Silicon Graphics Computer Systems, Inc.
19089 - *
19090 - * Permission to use, copy, modify, distribute and sell this software
19091 - * and its documentation for any purpose is hereby granted without fee,
19092 - * provided that the above copyright notice appear in all copies and
19093 - * that both that copyright notice and this permission notice appear
19094 - * in supporting documentation.  Silicon Graphics makes no
19095 - * representations about the suitability of this software for any
19096 - * purpose.  It is provided "as is" without express or implied warranty.
19097 - *
19098 - * Copyright (c) 2002
19099 - * Hewlett-Packard Company
19100 - *
19101 - * Permission to use, copy, modify, distribute and sell this software
19102 - * and its documentation for any purpose is hereby granted without fee,
19103 - * provided that the above copyright notice appear in all copies and
19104 - * that both that copyright notice and this permission notice appear
19105 - * in supporting documentation.  Hewlett-Packard Company makes no
19106 - * representations about the suitability of this software for any
19107 - * purpose.  It is provided "as is" without express or implied warranty.
19108 - */
19109 -
19110 -/*
19111 - * This implements standard-conforming allocators that interact with
19112 - * the garbage collector.  Gc_alloctor<T> allocates garbage-collectable
19113 - * objects of type T.  Traceable_allocator<T> allocates objects that
19114 - * are not temselves garbage collected, but are scanned by the
19115 - * collector for pointers to collectable objects.  Traceable_alloc
19116 - * should be used for explicitly managed STL containers that may
19117 - * point to collectable objects.
19118 - *
19119 - * This code was derived from an earlier version of the GNU C++ standard
19120 - * library, which itself was derived from the SGI STL implementation.
19121 - */
19122 -
19123 -#include "gc.h"        // For size_t
19124 -
19125 -/* First some helpers to allow us to dispatch on whether or not a type
19126 - * is known to be pointerfree.
19127 - * These are private, except that the client may invoke the
19128 - * GC_DECLARE_PTRFREE macro.
19129 - */
19130 -
19131 -struct GC_true_type {};
19132 -struct GC_false_type {};
19133 -
19134 -template <class GC_tp>
19135 -struct GC_type_traits {
19136 -  GC_false_type GC_is_ptr_free;
19137 -};
19138 -
19139 -# define GC_DECLARE_PTRFREE(T) \
19140 -template<> struct GC_type_traits<T> { GC_true_type GC_is_ptr_free; }
19141 -
19142 -GC_DECLARE_PTRFREE(signed char);
19143 -GC_DECLARE_PTRFREE(unsigned char);
19144 -GC_DECLARE_PTRFREE(signed short);
19145 -GC_DECLARE_PTRFREE(unsigned short);
19146 -GC_DECLARE_PTRFREE(signed int);
19147 -GC_DECLARE_PTRFREE(unsigned int);
19148 -GC_DECLARE_PTRFREE(signed long);
19149 -GC_DECLARE_PTRFREE(unsigned long);
19150 -GC_DECLARE_PTRFREE(float);
19151 -GC_DECLARE_PTRFREE(double);
19152 -/* The client may want to add others.  */
19153 -
19154 -// In the following GC_Tp is GC_true_type iff we are allocating a
19155 -// pointerfree object.
19156 -template <class GC_Tp>
19157 -inline void * GC_selective_alloc(size_t n, GC_Tp) {
19158 -    return GC_MALLOC(n);
19159 -}
19160 -
19161 -template <>
19162 -inline void * GC_selective_alloc<GC_true_type>(size_t n, GC_true_type) {
19163 -    return GC_MALLOC_ATOMIC(n);
19164 -}
19165 -
19166 -/* Now the public gc_allocator<T> class:
19167 - */
19168 -template <class GC_Tp>
19169 -class gc_allocator {
19170 -public:
19171 -  typedef size_t     size_type;
19172 -  typedef ptrdiff_t  difference_type;
19173 -  typedef GC_Tp*       pointer;
19174 -  typedef const GC_Tp* const_pointer;
19175 -  typedef GC_Tp&       reference;
19176 -  typedef const GC_Tp& const_reference;
19177 -  typedef GC_Tp        value_type;
19178 -
19179 -  template <class GC_Tp1> struct rebind {
19180 -    typedef gc_allocator<GC_Tp1> other;
19181 -  };
19182 -
19183 -  gc_allocator()  {}
19184 -# ifndef _MSC_VER
19185 -    // I'm not sure why this is needed here in addition to the following.
19186 -    // The standard specifies it for the standard allocator, but VC++ rejects
19187 -    // it.     -HB
19188 -    gc_allocator(const gc_allocator&) throw() {}
19189 -# endif
19190 -  template <class GC_Tp1> gc_allocator(const gc_allocator<GC_Tp1>&) throw() {}
19191 -  ~gc_allocator() throw() {}
19192 -
19193 -  pointer address(reference GC_x) const { return &GC_x; }
19194 -  const_pointer address(const_reference GC_x) const { return &GC_x; }
19195 -
19196 -  // GC_n is permitted to be 0.  The C++ standard says nothing about what
19197 -  // the return value is when GC_n == 0.
19198 -  GC_Tp* allocate(size_type GC_n, const void* = 0) {
19199 -    GC_type_traits<GC_Tp> traits;
19200 -    return static_cast<GC_Tp *>
19201 -           (GC_selective_alloc(GC_n * sizeof(GC_Tp),
19202 -                               traits.GC_is_ptr_free));
19203 -  }
19204 -
19205 -  // __p is not permitted to be a null pointer.
19206 -  void deallocate(pointer __p, size_type GC_n)
19207 -    { GC_FREE(__p); }
19208 -
19209 -  size_type max_size() const throw()
19210 -    { return size_t(-1) / sizeof(GC_Tp); }
19211 -
19212 -  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
19213 -  void destroy(pointer __p) { __p->~GC_Tp(); }
19214 -};
19215 -
19216 -template<>
19217 -class gc_allocator<void> {
19218 -  typedef size_t      size_type;
19219 -  typedef ptrdiff_t   difference_type;
19220 -  typedef void*       pointer;
19221 -  typedef const void* const_pointer;
19222 -  typedef void        value_type;
19223 -
19224 -  template <class GC_Tp1> struct rebind {
19225 -    typedef gc_allocator<GC_Tp1> other;
19226 -  };
19227 -};
19228 -
19229 -
19230 -template <class GC_T1, class GC_T2>
19231 -inline bool operator==(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
19232 -{
19233 -  return true;
19234 -}
19235 -
19236 -template <class GC_T1, class GC_T2>
19237 -inline bool operator!=(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
19238 -{
19239 -  return false;
19240 -}
19241 -
19242 -/*
19243 - * And the public traceable_allocator class.
19244 - */
19245 -
19246 -// Note that we currently don't specialize the pointer-free case, since a
19247 -// pointer-free traceable container doesn't make that much sense,
19248 -// though it could become an issue due to abstraction boundaries.
19249 -template <class GC_Tp>
19250 -class traceable_allocator {
19251 -public:
19252 -  typedef size_t     size_type;
19253 -  typedef ptrdiff_t  difference_type;
19254 -  typedef GC_Tp*       pointer;
19255 -  typedef const GC_Tp* const_pointer;
19256 -  typedef GC_Tp&       reference;
19257 -  typedef const GC_Tp& const_reference;
19258 -  typedef GC_Tp        value_type;
19259 -
19260 -  template <class GC_Tp1> struct rebind {
19261 -    typedef traceable_allocator<GC_Tp1> other;
19262 -  };
19263 -
19264 -  traceable_allocator() throw() {}
19265 -# ifndef _MSC_VER
19266 -    traceable_allocator(const traceable_allocator&) throw() {}
19267 -# endif
19268 -  template <class GC_Tp1> traceable_allocator
19269 -         (const traceable_allocator<GC_Tp1>&) throw() {}
19270 -  ~traceable_allocator() throw() {}
19271 -
19272 -  pointer address(reference GC_x) const { return &GC_x; }
19273 -  const_pointer address(const_reference GC_x) const { return &GC_x; }
19274 -
19275 -  // GC_n is permitted to be 0.  The C++ standard says nothing about what
19276 -  // the return value is when GC_n == 0.
19277 -  GC_Tp* allocate(size_type GC_n, const void* = 0) {
19278 -    return static_cast<GC_Tp*>(GC_MALLOC_UNCOLLECTABLE(GC_n * sizeof(GC_Tp)));
19279 -  }
19280 -
19281 -  // __p is not permitted to be a null pointer.
19282 -  void deallocate(pointer __p, size_type GC_n)
19283 -    { GC_FREE(__p); }
19284 -
19285 -  size_type max_size() const throw()
19286 -    { return size_t(-1) / sizeof(GC_Tp); }
19287 -
19288 -  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
19289 -  void destroy(pointer __p) { __p->~GC_Tp(); }
19290 -};
19291 -
19292 -template<>
19293 -class traceable_allocator<void> {
19294 -  typedef size_t      size_type;
19295 -  typedef ptrdiff_t   difference_type;
19296 -  typedef void*       pointer;
19297 -  typedef const void* const_pointer;
19298 -  typedef void        value_type;
19299 -
19300 -  template <class GC_Tp1> struct rebind {
19301 -    typedef traceable_allocator<GC_Tp1> other;
19302 -  };
19303 -};
19304 -
19305 -
19306 -template <class GC_T1, class GC_T2>
19307 -inline bool operator==(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
19308 -{
19309 -  return true;
19310 -}
19311 -
19312 -template <class GC_T1, class GC_T2>
19313 -inline bool operator!=(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
19314 -{
19315 -  return false;
19316 -}
19317 -
19318 diff -Nur ../boehm-gc/include/gc_config_macros.h boehm-gc/include/gc_config_macros.h
19319 --- ../boehm-gc/include/gc_config_macros.h      Mon May 26 13:28:19 2003
19320 +++ boehm-gc/include/gc_config_macros.h Wed Dec 31 16:00:00 1969
19321 @@ -1,142 +0,0 @@
19322 -/*
19323 - * This should never be included directly.  It is included only from gc.h.
19324 - * We separate it only to make gc.h more suitable as documentation.
19325 - * 
19326 - * Some tests for old macros.  These violate our namespace rules and will
19327 - * disappear shortly.  Use the GC_ names.
19328 - */
19329 -#if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS)
19330 -# define GC_SOLARIS_THREADS
19331 -#endif
19332 -#if defined(_SOLARIS_PTHREADS)
19333 -# define GC_SOLARIS_PTHREADS
19334 -#endif
19335 -#if defined(IRIX_THREADS)
19336 -# define GC_IRIX_THREADS
19337 -#endif
19338 -#if defined(DGUX_THREADS)
19339 -# if !defined(GC_DGUX386_THREADS)
19340 -#  define GC_DGUX386_THREADS
19341 -# endif
19342 -#endif
19343 -#if defined(HPUX_THREADS)
19344 -# define GC_HPUX_THREADS
19345 -#endif
19346 -#if defined(OSF1_THREADS)
19347 -# define GC_OSF1_THREADS
19348 -#endif
19349 -#if defined(LINUX_THREADS)
19350 -# define GC_LINUX_THREADS
19351 -#endif
19352 -#if defined(WIN32_THREADS)
19353 -# define GC_WIN32_THREADS
19354 -#endif
19355 -#if defined(USE_LD_WRAP)
19356 -# define GC_USE_LD_WRAP
19357 -#endif
19358 -
19359 -#if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
19360 -                            || defined(GC_SOLARIS_PTHREADS) \
19361 -                            || defined(GC_HPUX_THREADS) \
19362 -                            || defined(GC_LINUX_THREADS))
19363 -# define _REENTRANT
19364 -       /* Better late than never.  This fails if system headers that   */
19365 -       /* depend on this were previously included.                     */
19366 -#endif
19367 -
19368 -#if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
19369 -# define _POSIX4A_DRAFT10_SOURCE 1
19370 -#endif
19371 -
19372 -# if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
19373 -       defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
19374 -       defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
19375 -       defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
19376 -        (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__))
19377 -#   define GC_PTHREADS
19378 -# endif
19379 -
19380 -#if defined(GC_THREADS) && !defined(GC_PTHREADS)
19381 -# if defined(__linux__)
19382 -#   define GC_LINUX_THREADS
19383 -#   define GC_PTHREADS
19384 -# endif
19385 -# if !defined(LINUX) && (defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
19386 -                         || defined(hppa) || defined(__HPPA))
19387 -#   define GC_HPUX_THREADS
19388 -#   define GC_PTHREADS
19389 -# endif
19390 -# if !defined(__linux__) && (defined(__alpha) || defined(__alpha__))
19391 -#   define GC_OSF1_THREADS
19392 -#   define GC_PTHREADS
19393 -# endif
19394 -# if defined(__mips) && !defined(__linux__)
19395 -#   define GC_IRIX_THREADS
19396 -#   define GC_PTHREADS
19397 -# endif
19398 -# if defined(__sparc) && !defined(__linux__)
19399 -#   define GC_SOLARIS_PTHREADS
19400 -#   define GC_PTHREADS
19401 -# endif
19402 -# if defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
19403 -#   define GC_DARWIN_THREADS
19404 -#   define GC_PTHREADS
19405 -# endif
19406 -# if !defined(GC_PTHREADS) && defined(__FreeBSD__)
19407 -#   define GC_FREEBSD_THREADS
19408 -#   define GC_PTHREADS
19409 -# endif
19410 -# if defined(DGUX) && (defined(i386) || defined(__i386__))
19411 -#   define GC_DGUX386_THREADS
19412 -#   define GC_PTHREADS
19413 -# endif
19414 -#endif /* GC_THREADS */
19415 -
19416 -#if defined(GC_THREADS) && !defined(GC_PTHREADS) && defined(MSWIN32)
19417 -# define GC_WIN32_THREADS
19418 -#endif
19419 -
19420 -#if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
19421 -#   define GC_SOLARIS_THREADS
19422 -#endif
19423 -
19424 -# define __GC
19425 -# include <stddef.h>
19426 -# ifdef _WIN32_WCE
19427 -/* Yet more kluges for WinCE */
19428 -#   include <stdlib.h>         /* size_t is defined here */
19429 -    typedef long ptrdiff_t;    /* ptrdiff_t is not defined */
19430 -# endif
19431 -
19432 -#if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL)
19433 -# define GC_DLL
19434 -#endif
19435 -
19436 -#if defined(__MINGW32__) && defined(GC_DLL)
19437 -# ifdef GC_BUILD
19438 -#   define GC_API __declspec(dllexport)
19439 -# else
19440 -#   define GC_API __declspec(dllimport)
19441 -# endif
19442 -#endif
19443 -
19444 -#if (defined(__DMC__) || defined(_MSC_VER)) && defined(GC_DLL)
19445 -# ifdef GC_BUILD
19446 -#   define GC_API extern __declspec(dllexport)
19447 -# else
19448 -#   define GC_API __declspec(dllimport)
19449 -# endif
19450 -#endif
19451 -
19452 -#if defined(__WATCOMC__) && defined(GC_DLL)
19453 -# ifdef GC_BUILD
19454 -#   define GC_API extern __declspec(dllexport)
19455 -# else
19456 -#   define GC_API extern __declspec(dllimport)
19457 -# endif
19458 -#endif
19459 -
19460 -#ifndef GC_API
19461 -#define GC_API extern
19462 -#endif
19463 -
19464 diff -Nur ../boehm-gc/include/gc_cpp.h boehm-gc/include/gc_cpp.h
19465 --- ../boehm-gc/include/gc_cpp.h        Mon May 26 13:28:19 2003
19466 +++ boehm-gc/include/gc_cpp.h   Fri Aug 17 18:04:43 2001
19467 @@ -134,9 +134,7 @@
19468  #include "gc.h"
19469  
19470  #ifndef THINK_CPLUS
19471 -#  define GC_cdecl
19472 -#else
19473 -#  define GC_cdecl _cdecl
19474 +#define _cdecl
19475  #endif
19476  
19477  #if ! defined( GC_NO_OPERATOR_NEW_ARRAY ) \
19478 @@ -161,22 +159,12 @@
19479  class gc {public:
19480      inline void* operator new( size_t size );
19481      inline void* operator new( size_t size, GCPlacement gcp );
19482 -    inline void* operator new( size_t size, void *p );
19483 -       /* Must be redefined here, since the other overloadings */
19484 -       /* hide the global definition.                          */
19485      inline void operator delete( void* obj );
19486 -#   ifndef __BORLANDC__  /* Confuses the Borland compiler. */
19487 -      inline void operator delete( void*, void* );
19488 -#   endif
19489  
19490  #ifdef GC_OPERATOR_NEW_ARRAY
19491      inline void* operator new[]( size_t size );
19492      inline void* operator new[]( size_t size, GCPlacement gcp );
19493 -    inline void* operator new[]( size_t size, void *p );
19494      inline void operator delete[]( void* obj );
19495 -#   ifndef __BORLANDC__
19496 -      inline void gc::operator delete[]( void*, void* );
19497 -#   endif
19498  #endif /* GC_OPERATOR_NEW_ARRAY */
19499      };    
19500      /*
19501 @@ -188,7 +176,7 @@
19502      inline gc_cleanup();
19503      inline virtual ~gc_cleanup();
19504  private:
19505 -    inline static void GC_cdecl cleanup( void* obj, void* clientData );};
19506 +    inline static void _cdecl cleanup( void* obj, void* clientData );};
19507      /*
19508      Instances of classes derived from "gc_cleanup" will be allocated
19509      in the collected heap by default.  When the collector discovers an
19510 @@ -223,6 +211,7 @@
19511      classes derived from "gc_cleanup" or containing members derived
19512      from "gc_cleanup". */
19513  
19514 +#ifdef GC_OPERATOR_NEW_ARRAY
19515  
19516  #ifdef _MSC_VER
19517   /** This ensures that the system default operator new[] doesn't get
19518 @@ -231,23 +220,41 @@
19519    *  There seems to be really redirect new in this environment without
19520    *  including this everywhere. 
19521    */
19522 - void *operator new[]( size_t size );
19523
19524 - void operator delete[](void* obj);
19525 -
19526 - void* operator new( size_t size);
19527 + inline void *operator new[]( size_t size )
19528 + {
19529 +    return GC_MALLOC_UNCOLLECTABLE( size );
19530 + }
19531 +
19532 + inline void operator delete[](void* obj)
19533 + {
19534 +    GC_FREE(obj);
19535 + };
19536 +
19537 + inline void* operator new( size_t size)
19538 + {
19539 +    return GC_MALLOC_UNCOLLECTABLE( size);
19540 + };   
19541 +
19542 + inline void operator delete(void* obj)
19543 + {
19544 +    GC_FREE(obj);
19545 + };
19546  
19547 - void operator delete(void* obj);
19548  
19549 - // This new operator is used by VC++ in case of Debug builds !
19550 - void* operator new(  size_t size,
19551 +// This new operator is used by VC++ in case of Debug builds !
19552 +  inline void* operator new( size_t size,
19553                       int ,//nBlockUse,
19554                       const char * szFileName,
19555 -                     int nLine );
19556 -#endif /* _MSC_VER */
19557 +                     int nLine
19558 +                     ) {
19559 +# ifndef GC_DEBUG
19560 +     return GC_malloc_uncollectable( size );
19561 +# else
19562 +     return GC_debug_malloc_uncollectable(size, szFileName, nLine);
19563 +# endif
19564 +  }
19565  
19566 -
19567 -#ifdef GC_OPERATOR_NEW_ARRAY
19568 +#endif /* _MSC_VER */
19569  
19570  inline void* operator new[](
19571      size_t size, 
19572 @@ -276,15 +283,9 @@
19573      else
19574          return GC_MALLOC_UNCOLLECTABLE( size );}
19575  
19576 -inline void* gc::operator new( size_t size, void *p ) {
19577 -    return p;}
19578 -
19579  inline void gc::operator delete( void* obj ) {
19580      GC_FREE( obj );}
19581      
19582 -#ifndef __BORLANDC__
19583 -  inline void gc::operator delete( void*, void* ) {}
19584 -#endif
19585  
19586  #ifdef GC_OPERATOR_NEW_ARRAY
19587  
19588 @@ -294,21 +295,14 @@
19589  inline void* gc::operator new[]( size_t size, GCPlacement gcp ) {
19590      return gc::operator new( size, gcp );}
19591  
19592 -inline void* gc::operator new[]( size_t size, void *p ) {
19593 -    return p;}
19594 -
19595  inline void gc::operator delete[]( void* obj ) {
19596      gc::operator delete( obj );}
19597 -
19598 -#ifndef __BORLANDC__
19599 -  inline void gc::operator delete[]( void*, void* ) {}
19600 -#endif
19601      
19602  #endif /* GC_OPERATOR_NEW_ARRAY */
19603  
19604  
19605  inline gc_cleanup::~gc_cleanup() {
19606 -    GC_register_finalizer_ignore_self( GC_base(this), 0, 0, 0, 0 );}
19607 +    GC_REGISTER_FINALIZER_IGNORE_SELF( GC_base(this), 0, 0, 0, 0 );}
19608  
19609  inline void gc_cleanup::cleanup( void* obj, void* displ ) {
19610      ((gc_cleanup*) ((char*) obj + (ptrdiff_t) displ))->~gc_cleanup();}
19611 diff -Nur ../boehm-gc/include/gc_local_alloc.h boehm-gc/include/gc_local_alloc.h
19612 --- ../boehm-gc/include/gc_local_alloc.h        Mon May 26 13:28:19 2003
19613 +++ boehm-gc/include/gc_local_alloc.h   Fri Aug 17 11:30:50 2001
19614 @@ -33,9 +33,6 @@
19615   * -DTHREAD_LOCAL_ALLOC, which is currently supported only on Linux.
19616   *
19617   * The debugging allocators use standard, not thread-local allocation.
19618 - *
19619 - * These routines normally require an explicit call to GC_init(), though
19620 - * that may be done from a constructor function.
19621   */
19622  
19623  #ifndef GC_LOCAL_ALLOC_H
19624 diff -Nur ../boehm-gc/include/gc_mark.h boehm-gc/include/gc_mark.h
19625 --- ../boehm-gc/include/gc_mark.h       Mon May 26 13:28:19 2003
19626 +++ boehm-gc/include/gc_mark.h  Fri Aug 17 11:30:50 2001
19627 @@ -129,9 +129,7 @@
19628  /* be reserved for exceptional cases.  That will ensure that           */
19629  /* performance of this call is not extremely performance critical.     */
19630  /* (Otherwise we would need to inline GC_mark_and_push completely,     */
19631 -/* which would tie the client code to a fixed collector version.)      */
19632 -/* Note that mark procedures should explicitly call FIXUP_POINTER()    */
19633 -/* if required.                                                                */
19634 +/* which would tie the client code to a fixed colllector version.)     */
19635  struct GC_ms_entry *GC_mark_and_push
19636                 GC_PROTO((GC_PTR obj,
19637                           struct GC_ms_entry * mark_stack_ptr,
19638 diff -Nur ../boehm-gc/include/gc_pthread_redirects.h boehm-gc/include/gc_pthread_redirects.h
19639 --- ../boehm-gc/include/gc_pthread_redirects.h  Mon May 26 13:28:19 2003
19640 +++ boehm-gc/include/gc_pthread_redirects.h     Tue Oct 16 21:55:28 2001
19641 @@ -52,21 +52,15 @@
19642    int GC_pthread_create(pthread_t *new_thread,
19643                          const pthread_attr_t *attr,
19644                         void *(*start_routine)(void *), void *arg);
19645 -#ifndef GC_DARWIN_THREADS
19646    int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
19647 -#endif
19648    int GC_pthread_join(pthread_t thread, void **retval);
19649    int GC_pthread_detach(pthread_t thread);
19650  
19651  # define pthread_create GC_pthread_create
19652 -#ifndef GC_DARWIN_THREADS
19653  # define pthread_sigmask GC_pthread_sigmask
19654 -#endif
19655  # define pthread_join GC_pthread_join
19656  # define pthread_detach GC_pthread_detach
19657 -#ifndef GC_DARWIN_THREADS
19658  # define dlopen GC_dlopen
19659 -#endif
19660  
19661  #endif /* GC_xxxxx_THREADS */
19662  
19663 diff -Nur ../boehm-gc/include/gc_typed.h boehm-gc/include/gc_typed.h
19664 --- ../boehm-gc/include/gc_typed.h      Mon May 26 13:28:19 2003
19665 +++ boehm-gc/include/gc_typed.h Fri Aug 17 11:30:50 2001
19666 @@ -29,21 +29,14 @@
19667  #   include "gc.h"
19668  # endif
19669  
19670 -#ifdef __cplusplus
19671 -  extern "C" {
19672 -#endif
19673  typedef GC_word * GC_bitmap;
19674         /* The least significant bit of the first word is one if        */
19675         /* the first word in the object may be a pointer.               */
19676         
19677 -# define GC_WORDSZ (8*sizeof(GC_word))
19678  # define GC_get_bit(bm, index) \
19679 -               (((bm)[index/GC_WORDSZ] >> (index%GC_WORDSZ)) & 1)
19680 +               (((bm)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
19681  # define GC_set_bit(bm, index) \
19682 -               (bm)[index/GC_WORDSZ] |= ((GC_word)1 << (index%GC_WORDSZ))
19683 -# define GC_WORD_OFFSET(t, f) (offsetof(t,f)/sizeof(GC_word))
19684 -# define GC_WORD_LEN(t) (sizeof(t)/ sizeof(GC_word))
19685 -# define GC_BITMAP_SIZE(t) ((GC_WORD_LEN(t) + GC_WORDSZ-1)/GC_WORDSZ)
19686 +               (bm)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
19687  
19688  typedef GC_word GC_descr;
19689  
19690 @@ -64,16 +57,6 @@
19691                 /* is intended to be called once per type, not once     */
19692                 /* per allocation.                                      */
19693  
19694 -/* It is possible to generate a descriptor for a C type T with */
19695 -/* word aligned pointer fields f1, f2, ... as follows:                 */
19696 -/*                                                                     */
19697 -/* GC_descr T_descr;
19698 -/* GC_word T_bitmap[GC_BITMAP_SIZE(T)] = {0};                          */
19699 -/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f1));                         */
19700 -/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f2));                         */
19701 -/* ...                                                                 */
19702 -/* T_descr = GC_make_descriptor(T_bitmap, GC_WORD_LEN(T));             */
19703 -
19704  GC_API GC_PTR GC_malloc_explicitly_typed
19705                         GC_PROTO((size_t size_in_bytes, GC_descr d));
19706                 /* Allocate an object whose layout is described by d.   */
19707 @@ -96,18 +79,15 @@
19708         /* Returned object is cleared.                          */
19709  
19710  #ifdef GC_DEBUG
19711 -#   define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) GC_MALLOC(bytes)
19712 -#   define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
19713 +#   define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) GC_MALLOC(bytes)
19714 +#   define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
19715  #else
19716 -#  define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) \
19717 +#  define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) \
19718         GC_malloc_explicitly_typed(bytes, d)
19719 -#  define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) \
19720 +#  define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) \
19721         GC_calloc_explicitly_typed(n, bytes, d)
19722  #endif /* !GC_DEBUG */
19723  
19724 -#ifdef __cplusplus
19725 -  } /* matches extern "C" */
19726 -#endif
19727  
19728  #endif /* _GC_TYPED_H */
19729  
19730 diff -Nur ../boehm-gc/include/new_gc_alloc.h boehm-gc/include/new_gc_alloc.h
19731 --- ../boehm-gc/include/new_gc_alloc.h  Mon May 26 13:28:19 2003
19732 +++ boehm-gc/include/new_gc_alloc.h     Tue Oct 16 02:01:38 2001
19733 @@ -64,14 +64,6 @@
19734  #endif
19735  #endif
19736  
19737 -/* A hack to deal with gcc 3.1.  If you are using gcc3.1 and later,    */
19738 -/* you should probably really use gc_allocator.h instead.              */
19739 -#if defined (__GNUC__) && \
19740 -    (__GNUC > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ >= 1)))
19741 -# define simple_alloc __simple_alloc
19742 -#endif
19743 -
19744 -
19745  
19746  #define GC_ALLOC_H
19747  
19748 diff -Nur ../boehm-gc/include/private/darwin_semaphore.h boehm-gc/include/private/darwin_semaphore.h
19749 --- ../boehm-gc/include/private/darwin_semaphore.h      Mon May 26 13:28:24 2003
19750 +++ boehm-gc/include/private/darwin_semaphore.h Wed Dec 31 16:00:00 1969
19751 @@ -1,68 +0,0 @@
19752 -#ifndef GC_DARWIN_SEMAPHORE_H
19753 -#define GC_DARWIN_SEMAPHORE_H
19754 -
19755 -#if !defined(GC_DARWIN_THREADS)
19756 -#error darwin_semaphore.h included with GC_DARWIN_THREADS not defined
19757 -#endif
19758 -
19759 -/*
19760 -   This is a very simple semaphore implementation for darwin. It
19761 -   is implemented in terms of pthreads calls so it isn't async signal
19762 -   safe. This isn't a problem because signals aren't used to
19763 -   suspend threads on darwin.
19764 -*/
19765 -   
19766 -typedef struct {
19767 -    pthread_mutex_t mutex;
19768 -    pthread_cond_t cond;
19769 -    int value;
19770 -} sem_t;
19771 -
19772 -static int sem_init(sem_t *sem, int pshared, int value) {
19773 -    int ret;
19774 -    if(pshared)
19775 -        GC_abort("sem_init with pshared set");
19776 -    sem->value = value;
19777 -    
19778 -    ret = pthread_mutex_init(&sem->mutex,NULL);
19779 -    if(ret < 0) return -1;
19780 -    ret = pthread_cond_init(&sem->cond,NULL);
19781 -    if(ret < 0) return -1;
19782 -    return 0;
19783 -}
19784 -
19785 -static int sem_post(sem_t *sem) {
19786 -    if(pthread_mutex_lock(&sem->mutex) < 0)
19787 -        return -1;
19788 -    sem->value++;
19789 -    if(pthread_cond_signal(&sem->cond) < 0) {
19790 -        pthread_mutex_unlock(&sem->mutex);
19791 -        return -1;
19792 -    }
19793 -    if(pthread_mutex_unlock(&sem->mutex) < 0)
19794 -        return -1;
19795 -    return 0;
19796 -}
19797 -
19798 -static int sem_wait(sem_t *sem) {
19799 -    if(pthread_mutex_lock(&sem->mutex) < 0)
19800 -        return -1;
19801 -    while(sem->value == 0) {
19802 -        pthread_cond_wait(&sem->cond,&sem->mutex);
19803 -    }
19804 -    sem->value--;
19805 -    if(pthread_mutex_unlock(&sem->mutex) < 0)
19806 -        return -1;    
19807 -    return 0;
19808 -}
19809 -
19810 -static int sem_destroy(sem_t *sem) {
19811 -    int ret;
19812 -    ret = pthread_cond_destroy(&sem->cond);
19813 -    if(ret < 0) return -1;
19814 -    ret = pthread_mutex_destroy(&sem->mutex);
19815 -    if(ret < 0) return -1;
19816 -    return 0;
19817 -}
19818 -
19819 -#endif
19820 diff -Nur ../boehm-gc/include/private/darwin_stop_world.h boehm-gc/include/private/darwin_stop_world.h
19821 --- ../boehm-gc/include/private/darwin_stop_world.h     Mon May 26 13:28:24 2003
19822 +++ boehm-gc/include/private/darwin_stop_world.h        Wed Dec 31 16:00:00 1969
19823 @@ -1,15 +0,0 @@
19824 -#ifndef GC_DARWIN_STOP_WORLD_H
19825 -#define GC_DARWIN_STOP_WORLD_H
19826 -
19827 -#if !defined(GC_DARWIN_THREADS)
19828 -#error darwin_stop_world.h included without GC_DARWIN_THREADS defined
19829 -#endif
19830 -
19831 -#include <mach/mach.h>
19832 -#include <mach/thread_act.h>
19833 -
19834 -struct thread_stop_info {
19835 -    mach_port_t mach_thread;
19836 -};
19837 -
19838 -#endif
19839 diff -Nur ../boehm-gc/include/private/dbg_mlc.h boehm-gc/include/private/dbg_mlc.h
19840 --- ../boehm-gc/include/private/dbg_mlc.h       Mon May 26 13:28:24 2003
19841 +++ boehm-gc/include/private/dbg_mlc.h  Mon Feb 11 20:37:57 2002
19842 @@ -115,24 +115,16 @@
19843  
19844  #ifdef SHORT_DBG_HDRS
19845  #   define DEBUG_BYTES (sizeof (oh))
19846 -#   define UNCOLLECTABLE_DEBUG_BYTES DEBUG_BYTES
19847  #else
19848      /* Add space for END_FLAG, but use any extra space that was already        */
19849      /* added to catch off-the-end pointers.                            */
19850 -    /* For uncollectable objects, the extra byte is not added.         */
19851 -#   define UNCOLLECTABLE_DEBUG_BYTES (sizeof (oh) + sizeof (word))
19852 -#   define DEBUG_BYTES (UNCOLLECTABLE_DEBUG_BYTES - EXTRA_BYTES)
19853 +#   define DEBUG_BYTES (sizeof (oh) + sizeof (word) - EXTRA_BYTES)
19854  #endif
19855  #define USR_PTR_FROM_BASE(p) ((ptr_t)(p) + sizeof(oh))
19856  
19857  /* Round bytes to words without adding extra byte at end.      */
19858  #define SIMPLE_ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + WORDS_TO_BYTES(1) - 1)
19859  
19860 -/* ADD_CALL_CHAIN stores a (partial) call chain into an object */
19861 -/* header.  It may be called with or without the allocation    */
19862 -/* lock.                                                       */
19863 -/* PRINT_CALL_CHAIN prints the call chain stored in an object  */
19864 -/* to stderr.  It requires that we do not hold the lock.       */
19865  #ifdef SAVE_CALL_CHAIN
19866  #   define ADD_CALL_CHAIN(base, ra) GC_save_callers(((oh *)(base)) -> oh_ci)
19867  #   define PRINT_CALL_CHAIN(base) GC_print_callers(((oh *)(base)) -> oh_ci)
19868 diff -Nur ../boehm-gc/include/private/gc_hdrs.h boehm-gc/include/private/gc_hdrs.h
19869 --- ../boehm-gc/include/private/gc_hdrs.h       Mon May 26 13:28:24 2003
19870 +++ boehm-gc/include/private/gc_hdrs.h  Fri Aug 17 18:04:43 2001
19871 @@ -70,7 +70,7 @@
19872  #define ADVANCE(p, hhdr, source) \
19873             { \
19874               hdr * new_hdr = GC_invalid_header; \
19875 -              p = GC_find_start(p, hhdr, &new_hdr); \
19876 +              p = GC_FIND_START(p, hhdr, &new_hdr, (word)source); \
19877               hhdr = new_hdr; \
19878             }
19879  
19880 diff -Nur ../boehm-gc/include/private/gc_locks.h boehm-gc/include/private/gc_locks.h
19881 --- ../boehm-gc/include/private/gc_locks.h      Mon May 26 13:28:24 2003
19882 +++ boehm-gc/include/private/gc_locks.h Fri Sep 27 13:40:06 2002
19883 @@ -145,24 +145,23 @@
19884  #    if defined(POWERPC)
19885          inline static int GC_test_and_set(volatile unsigned int *addr) {
19886            int oldval;
19887 -          int temp = 1; /* locked value */
19888 +          int temp = 1; // locked value
19889  
19890            __asm__ __volatile__(
19891 -               "1:\tlwarx %0,0,%3\n"   /* load and reserve               */
19892 -               "\tcmpwi %0, 0\n"       /* if load is                     */
19893 -               "\tbne 2f\n"            /*   non-zero, return already set */
19894 -               "\tstwcx. %2,0,%1\n"    /* else store conditional         */
19895 -               "\tbne- 1b\n"           /* retry if lost reservation      */
19896 -               "\tsync\n"              /* import barrier                 */
19897 -               "2:\t\n"                /* oldval is zero if we set       */
19898 +               "1:\tlwarx %0,0,%3\n"   // load and reserve
19899 +               "\tcmpwi %0, 0\n"       // if load is
19900 +               "\tbne 2f\n"            //   non-zero, return already set
19901 +               "\tstwcx. %2,0,%1\n"    // else store conditional
19902 +               "\tbne- 1b\n"           // retry if lost reservation
19903 +               "2:\t\n"                // oldval is zero if we set
19904                : "=&r"(oldval), "=p"(addr)
19905                : "r"(temp), "1"(addr)
19906 -              : "cr0","memory");
19907 -          return oldval;
19908 +              : "memory");
19909 +          return (int)oldval;
19910          }
19911  #       define GC_TEST_AND_SET_DEFINED
19912          inline static void GC_clear(volatile unsigned int *addr) {
19913 -         __asm__ __volatile__("eieio" : : : "memory");
19914 +         __asm__ __volatile__("eieio" ::: "memory");
19915            *(addr) = 0;
19916          }
19917  #       define GC_CLEAR_DEFINED
19918 @@ -192,11 +191,8 @@
19919            return oldvalue;
19920          }
19921  #       define GC_TEST_AND_SET_DEFINED
19922 -        inline static void GC_clear(volatile unsigned int *addr) {
19923 -          __asm__ __volatile__("mb" : : : "memory");
19924 -          *(addr) = 0;
19925 -        }
19926 -#       define GC_CLEAR_DEFINED
19927 +        /* Should probably also define GC_clear, since it needs        */
19928 +        /* a memory barrier ??                                 */
19929  #    endif /* ALPHA */
19930  #    ifdef ARM32
19931          inline static int GC_test_and_set(volatile unsigned int *addr) {
19932 @@ -214,30 +210,22 @@
19933  #       define GC_TEST_AND_SET_DEFINED
19934  #    endif /* ARM32 */
19935  #    ifdef S390
19936 -       inline static int GC_test_and_set(volatile unsigned int *addr) {
19937 -         int ret;
19938 -         __asm__ __volatile__ (
19939 -          "     l     %0,0(%2)\n"
19940 -          "0:   cs    %0,%1,0(%2)\n"
19941 -          "     jl    0b"
19942 -          : "=&d" (ret)
19943 -          : "d" (1), "a" (addr)
19944 -          : "cc", "memory");
19945 -         return ret;
19946 -       }
19947 +       inline static int GC_test_and_set(volatile unsigned int *addr) {
19948 +        int ret;
19949 +        __asm__ __volatile__ (
19950 +               "       l       %0,0(%2)\n"
19951 +               "0:     cs      %0,%1,0(%2)\n"
19952 +               "       jl      0b"
19953 +               : "=&d" (ret)
19954 +               : "d" (1), "a" (addr)
19955 +               : "cc", "memory");
19956 +         return ret;
19957 +       }
19958  #    endif
19959  #  endif /* __GNUC__ */
19960  #  if (defined(ALPHA) && !defined(__GNUC__))
19961 -#    ifndef OSF1
19962 -       --> We currently assume that if gcc is not used, we are
19963 -       --> running under Tru64.
19964 -#    endif
19965 -#    include <machine/builtins.h>
19966 -#    include <c_asm.h>
19967 -#    define GC_test_and_set(addr) __ATOMIC_EXCH_LONG(addr, 1)
19968 +#    define GC_test_and_set(addr) __cxx_test_and_set_atomic(addr, 1)
19969  #    define GC_TEST_AND_SET_DEFINED
19970 -#    define GC_clear(addr) { asm("mb"); *(volatile unsigned *)addr = 0; }
19971 -#    define GC_CLEAR_DEFINED
19972  #  endif
19973  #  if defined(MSWIN32)
19974  #    define GC_test_and_set(addr) InterlockedExchange((LPLONG)addr,1)
19975 @@ -250,11 +238,7 @@
19976  #      define GC_TEST_AND_SET_DEFINED
19977  #    elif __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) \
19978         || !defined(_COMPILER_VERSION) || _COMPILER_VERSION < 700
19979 -#       ifdef __GNUC__
19980 -#          define GC_test_and_set(addr) _test_and_set(addr,1)
19981 -#       else
19982 -#          define GC_test_and_set(addr) test_and_set(addr,1)
19983 -#       endif
19984 +#        define GC_test_and_set(addr) test_and_set(addr, 1)
19985  #    else
19986  #       define GC_test_and_set(addr) __test_and_set(addr,1)
19987  #       define GC_clear(addr) __lock_release(addr);
19988 @@ -295,7 +279,7 @@
19989  #  endif
19990  
19991  #  if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
19992 -      && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
19993 +      && !defined(GC_IRIX_THREADS)
19994  #    define NO_THREAD (pthread_t)(-1)
19995  #    include <pthread.h>
19996  #    if defined(PARALLEL_MARK) 
19997 @@ -326,12 +310,12 @@
19998           {
19999            char result;
20000            __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
20001 -               : "+m"(*(addr)), "=r"(result)
20002 -               : "r" (new_val), "a"(old) : "memory");
20003 +               : "=m"(*(addr)), "=r"(result)
20004 +               : "r" (new_val), "0"(*(addr)), "a"(old) : "memory");
20005            return (GC_bool) result;
20006           }
20007  #      endif /* !GENERIC_COMPARE_AND_SWAP */
20008 -       inline static void GC_memory_barrier()
20009 +       inline static void GC_memory_write_barrier()
20010         {
20011          /* We believe the processor ensures at least processor */
20012          /* consistent ordering.  Thus a compiler barrier       */
20013 @@ -339,37 +323,6 @@
20014           __asm__ __volatile__("" : : : "memory");
20015         }
20016  #     endif /* I386 */
20017 -
20018 -#     if defined(POWERPC)
20019 -#      if !defined(GENERIC_COMPARE_AND_SWAP)
20020 -        /* Returns TRUE if the comparison succeeded. */
20021 -        inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20022 -            GC_word old, GC_word new_val) 
20023 -        {
20024 -            int result, dummy;
20025 -            __asm__ __volatile__(
20026 -                "1:\tlwarx %0,0,%5\n"
20027 -                  "\tcmpw %0,%4\n"
20028 -                  "\tbne  2f\n"
20029 -                  "\tstwcx. %3,0,%2\n"
20030 -                  "\tbne- 1b\n"
20031 -                  "\tsync\n"
20032 -                  "\tli %1, 1\n"
20033 -                  "\tb 3f\n"
20034 -                "2:\tli %1, 0\n"
20035 -                "3:\t\n"
20036 -                :  "=&r" (dummy), "=r" (result), "=p" (addr)
20037 -                :  "r" (new_val), "r" (old), "2"(addr)
20038 -                : "cr0","memory");
20039 -            return (GC_bool) result;
20040 -        }
20041 -#      endif /* !GENERIC_COMPARE_AND_SWAP */
20042 -        inline static void GC_memory_barrier()
20043 -        {
20044 -            __asm__ __volatile__("sync" : : : "memory");
20045 -        }
20046 -#     endif /* POWERPC */
20047 -
20048  #     if defined(IA64)
20049  #      if !defined(GENERIC_COMPARE_AND_SWAP)
20050           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20051 @@ -384,71 +337,31 @@
20052  #      endif /* !GENERIC_COMPARE_AND_SWAP */
20053  #      if 0
20054         /* Shouldn't be needed; we use volatile stores instead. */
20055 -        inline static void GC_memory_barrier()
20056 +        inline static void GC_memory_write_barrier()
20057          {
20058            __asm__ __volatile__("mf" : : : "memory");
20059          }
20060  #      endif /* 0 */
20061  #     endif /* IA64 */
20062 -#     if defined(ALPHA)
20063 -#      if !defined(GENERIC_COMPARE_AND_SWAP)
20064 -#        if defined(__GNUC__)
20065 -           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20066 -                                                        GC_word old, GC_word new_val) 
20067 -          {
20068 -            unsigned long was_equal;
20069 -             unsigned long temp;
20070 -
20071 -             __asm__ __volatile__(
20072 -                             "1:     ldq_l %0,%1\n"
20073 -                             "       cmpeq %0,%4,%2\n"
20074 -                            "       mov %3,%0\n"
20075 -                             "       beq %2,2f\n"
20076 -                             "       stq_c %0,%1\n"
20077 -                             "       beq %0,1b\n"
20078 -                             "2:\n"
20079 -                             "       mb\n"
20080 -                             :"=&r" (temp), "=m" (*addr), "=&r" (was_equal)
20081 -                             : "r" (new_val), "Ir" (old)
20082 -                            :"memory");
20083 -             return was_equal;
20084 -           }
20085 -#        else /* !__GNUC__ */
20086 -           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20087 -                                                        GC_word old, GC_word new_val) 
20088 -         {
20089 -           return __CMP_STORE_QUAD(addr, old, new_val, addr);
20090 -          }
20091 -#        endif /* !__GNUC__ */
20092 -#      endif /* !GENERIC_COMPARE_AND_SWAP */
20093 -#      ifdef __GNUC__
20094 -         inline static void GC_memory_barrier()
20095 -         {
20096 -           __asm__ __volatile__("mb" : : : "memory");
20097 -         }
20098 -#      else
20099 -#       define GC_memory_barrier() asm("mb")
20100 -#      endif /* !__GNUC__ */
20101 -#     endif /* ALPHA */
20102  #     if defined(S390)
20103  #      if !defined(GENERIC_COMPARE_AND_SWAP)
20104 -         inline static GC_bool GC_compare_and_exchange(volatile C_word *addr,
20105 -                                         GC_word old, GC_word new_val)
20106 -         {
20107 -           int retval;
20108 -           __asm__ __volatile__ (
20109 -#            ifndef __s390x__
20110 -               "     cs  %1,%2,0(%3)\n"
20111 -#            else
20112 -               "     csg %1,%2,0(%3)\n"
20113 -#            endif
20114 -             "     ipm %0\n"
20115 -             "     srl %0,28\n"
20116 -             : "=&d" (retval), "+d" (old)
20117 -             : "d" (new_val), "a" (addr)
20118 -             : "cc", "memory");
20119 -           return retval == 0;
20120 -         }
20121 +        inline static GC_bool GC_compare_and_exchange(volatile C_word *addr,
20122 +                                                      GC_word old, GC_word new_val) 
20123 +        {
20124 +          int retval;
20125 +          __asm__ __volatile__ (
20126 +#          ifndef __s390x__
20127 +               "       cs  %1,%2,0(%3)\n"
20128 +#          else
20129 +               "       csg %1,%2,0(%3)\n"
20130 +#         endif
20131 +               "       ipm %0\n"
20132 +               "       srl %0,28\n"
20133 +               : "=&d" (retval), "+d" (old)
20134 +               : "d" (new_val), "a" (addr)
20135 +               : "cc", "memory");
20136 +          return retval == 0;
20137 +       }
20138  #      endif
20139  #     endif
20140  #     if !defined(GENERIC_COMPARE_AND_SWAP)
20141 @@ -480,7 +393,7 @@
20142        extern void GC_lock(void);
20143         /* Allocation lock holder.  Only set if acquired by client through */
20144         /* GC_call_with_alloc_lock.                                        */
20145 -#     ifdef GC_ASSERTIONS 
20146 +#     ifdef GC_ASSERTIONS
20147  #        define LOCK() \
20148                 { if (GC_test_and_set(&GC_allocate_lock)) GC_lock(); \
20149                   SET_LOCK_HOLDER(); }
20150 @@ -521,12 +434,8 @@
20151                 { GC_ASSERT(I_HOLD_LOCK()); UNSET_LOCK_HOLDER(); \
20152                   pthread_mutex_unlock(&GC_allocate_ml); }
20153  #      else /* !GC_ASSERTIONS */
20154 -#        if defined(NO_PTHREAD_TRYLOCK)
20155 -#          define LOCK() GC_lock();
20156 -#        else /* !defined(NO_PTHREAD_TRYLOCK) */
20157 -#          define LOCK() \
20158 +#        define LOCK() \
20159            { if (0 != pthread_mutex_trylock(&GC_allocate_ml)) GC_lock(); }
20160 -#        endif
20161  #        define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
20162  #      endif /* !GC_ASSERTIONS */
20163  #   endif /* USE_PTHREAD_LOCKS */
20164 @@ -569,18 +478,11 @@
20165                 }
20166  #    define EXIT_GC() GC_collecting = 0;
20167  #  endif /* GC_IRIX_THREADS */
20168 -#  if defined(GC_WIN32_THREADS)
20169 -#    if defined(GC_PTHREADS)
20170 -#      include <pthread.h>
20171 -       extern pthread_mutex_t GC_allocate_ml;
20172 -#      define LOCK()   pthread_mutex_lock(&GC_allocate_ml)
20173 -#      define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
20174 -#    else
20175 -#      include <windows.h>
20176 -       GC_API CRITICAL_SECTION GC_allocate_ml;
20177 -#      define LOCK() EnterCriticalSection(&GC_allocate_ml);
20178 -#      define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
20179 -#    endif
20180 +#  ifdef GC_WIN32_THREADS
20181 +#    include <windows.h>
20182 +     GC_API CRITICAL_SECTION GC_allocate_ml;
20183 +#    define LOCK() EnterCriticalSection(&GC_allocate_ml);
20184 +#    define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
20185  #  endif
20186  #  ifndef SET_LOCK_HOLDER
20187  #      define SET_LOCK_HOLDER()
20188 diff -Nur ../boehm-gc/include/private/gc_pmark.h boehm-gc/include/private/gc_pmark.h
20189 --- ../boehm-gc/include/private/gc_pmark.h      Mon May 26 13:28:24 2003
20190 +++ boehm-gc/include/private/gc_pmark.h Mon Feb 11 20:37:57 2002
20191 @@ -137,7 +137,7 @@
20192  #ifdef __STDC__
20193  # ifdef PRINT_BLACK_LIST
20194      ptr_t GC_find_start(ptr_t current, hdr *hhdr, hdr **new_hdr_p,
20195 -                       word source);
20196 +                       ptr_t source);
20197  # else
20198      ptr_t GC_find_start(ptr_t current, hdr *hhdr, hdr **new_hdr_p);
20199  # endif
20200 @@ -145,7 +145,7 @@
20201    ptr_t GC_find_start();
20202  #endif
20203  
20204 -mse * GC_signal_mark_stack_overflow GC_PROTO((mse *msp));
20205 +mse *GC_signal_mark_stack_overflow(mse *msp);
20206  
20207  # ifdef GATHERSTATS
20208  #   define ADD_TO_ATOMIC(sz) GC_atomic_in_use += (sz)
20209 @@ -174,6 +174,14 @@
20210      } \
20211  }
20212  
20213 +#ifdef PRINT_BLACK_LIST
20214 +#   define GC_FIND_START(current, hhdr, new_hdr_p, source) \
20215 +       GC_find_start(current, hhdr, new_hdr_p, source)
20216 +#else
20217 +#   define GC_FIND_START(current, hhdr, new_hdr_p, source) \
20218 +       GC_find_start(current, hhdr, new_hdr_p)
20219 +#endif
20220 +
20221  /* Push the contents of current onto the mark stack if it is a valid   */
20222  /* ptr to a currently unmarked object.  Mark it.                       */
20223  /* If we assumed a standard-conforming compiler, we could probably     */
20224 @@ -187,7 +195,8 @@
20225      GET_HDR(my_current, my_hhdr); \
20226      if (IS_FORWARDING_ADDR_OR_NIL(my_hhdr)) { \
20227          hdr * new_hdr = GC_invalid_header; \
20228 -         my_current = GC_find_start(my_current, my_hhdr, &new_hdr); \
20229 +         my_current = GC_FIND_START(my_current, my_hhdr, \
20230 +                                   &new_hdr, (word)source); \
20231           my_hhdr = new_hdr; \
20232      } \
20233      PUSH_CONTENTS_HDR(my_current, mark_stack_top, mark_stack_limit, \
20234 @@ -281,39 +290,21 @@
20235  
20236  /*
20237   * Push a single value onto mark stack. Mark from the object pointed to by p.
20238 - * Invoke FIXUP_POINTER(p) before any further processing.
20239   * P is considered valid even if it is an interior pointer.
20240   * Previously marked objects are not pushed.  Hence we make progress even
20241   * if the mark stack overflows.
20242   */
20243 -
20244 -# if NEED_FIXUP_POINTER
20245 -    /* Try both the raw version and the fixed up one.  */
20246 -#   define GC_PUSH_ONE_STACK(p, source) \
20247 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20248 -        && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20249 -        PUSH_ONE_CHECKED_STACK(p, source);     \
20250 -      } \
20251 -      FIXUP_POINTER(p); \
20252 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20253 -        && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20254 -        PUSH_ONE_CHECKED_STACK(p, source);     \
20255 -      }
20256 -# else /* !NEED_FIXUP_POINTER */
20257 -#   define GC_PUSH_ONE_STACK(p, source) \
20258 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20259 +# define GC_PUSH_ONE_STACK(p, source) \
20260 +    if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr      \
20261          && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20262          PUSH_ONE_CHECKED_STACK(p, source);     \
20263 -      }
20264 -# endif
20265 -
20266 +    }
20267  
20268  /*
20269   * As above, but interior pointer recognition as for
20270   * normal for heap pointers.
20271   */
20272  # define GC_PUSH_ONE_HEAP(p,source) \
20273 -    FIXUP_POINTER(p); \
20274      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr      \
20275          && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20276             GC_mark_stack_top = GC_mark_and_push( \
20277 diff -Nur ../boehm-gc/include/private/gc_priv.h boehm-gc/include/private/gc_priv.h
20278 --- ../boehm-gc/include/private/gc_priv.h       Mon May 26 13:28:24 2003
20279 +++ boehm-gc/include/private/gc_priv.h  Tue Mar  4 09:56:49 2003
20280 @@ -30,12 +30,6 @@
20281  #   define BSD_TIME
20282  #endif
20283  
20284 -#ifdef DGUX
20285 -#   include <sys/types.h>
20286 -#   include <sys/time.h>
20287 -#   include <sys/resource.h>
20288 -#endif /* DGUX */
20289 -
20290  #ifdef BSD_TIME
20291  #   include <sys/types.h>
20292  #   include <sys/time.h>
20293 @@ -212,10 +206,11 @@
20294  #endif
20295  
20296  #if defined(GC_GCJ_SUPPORT) && ALIGNMENT < 8 && !defined(ALIGN_DOUBLE)
20297 -   /* GCJ's Hashtable synchronization code requires 64-bit alignment.  */
20298 +   /* GCJ's Hashtable synchronization code requires 64-bit alignment.  */
20299  #  define ALIGN_DOUBLE
20300  #endif
20301  
20302 +
20303  /* ALIGN_DOUBLE requires MERGE_SIZES at present. */
20304  # if defined(ALIGN_DOUBLE) && !defined(MERGE_SIZES)
20305  #   define MERGE_SIZES
20306 @@ -352,8 +347,7 @@
20307  #   include <string.h>
20308  #   define BCOPY_EXISTS
20309  # endif
20310 -# if defined(DARWIN)
20311 -#   include <string.h>
20312 +# if defined(MACOSX)
20313  #   define BCOPY_EXISTS
20314  # endif
20315  
20316 @@ -366,6 +360,68 @@
20317  #   define BZERO(x,n) bzero((char *)(x),(int)(n))
20318  # endif
20319  
20320 +/* HBLKSIZE aligned allocation.  0 is taken to mean failure    */
20321 +/* space is assumed to be cleared.                             */
20322 +/* In the case os USE_MMAP, the argument must also be a        */
20323 +/* physical page size.                                         */
20324 +/* GET_MEM is currently not assumed to retrieve 0 filled space, */
20325 +/* though we should perhaps take advantage of the case in which */
20326 +/* does.                                                       */
20327 +struct hblk;   /* See below.   */
20328 +# ifdef PCR
20329 +    char * real_malloc();
20330 +#   define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
20331 +                                 + GC_page_size-1)
20332 +# else
20333 +#   ifdef OS2
20334 +      void * os2_alloc(size_t bytes);
20335 +#     define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
20336 +                                   + GC_page_size) \
20337 +                                    + GC_page_size-1)
20338 +#   else
20339 +#     if defined(NEXT) || defined(MACOSX) || defined(DOS4GW) || \
20340 +        (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
20341 +        (defined(SUNOS5) && !defined(USE_MMAP))
20342 +#       define GET_MEM(bytes) HBLKPTR((size_t) \
20343 +                                     calloc(1, (size_t)bytes + GC_page_size) \
20344 +                                      + GC_page_size-1)
20345 +#     else
20346 +#      ifdef MSWIN32
20347 +          extern ptr_t GC_win32_get_mem();
20348 +#         define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
20349 +#      else
20350 +#        ifdef MACOS
20351 +#          if defined(USE_TEMPORARY_MEMORY)
20352 +               extern Ptr GC_MacTemporaryNewPtr(size_t size,
20353 +                                                Boolean clearMemory);
20354 +#               define GET_MEM(bytes) HBLKPTR( \
20355 +                   GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
20356 +                   + GC_page_size-1)
20357 +#          else
20358 +#                  define GET_MEM(bytes) HBLKPTR( \
20359 +                       NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
20360 +#          endif
20361 +#        else
20362 +#          ifdef MSWINCE
20363 +             extern ptr_t GC_wince_get_mem();
20364 +#            define GET_MEM(bytes) (struct hblk *)GC_wince_get_mem(bytes)
20365 +#          else
20366 +#            if defined(AMIGA) && defined(GC_AMIGA_FASTALLOC)
20367 +               extern void *GC_amiga_get_mem(size_t size);
20368 +               define GET_MEM(bytes) HBLKPTR((size_t) \
20369 +                  GC_amiga_get_mem((size_t)bytes + GC_page_size) \
20370 +                 + GC_page_size-1)
20371 +#            else
20372 +                extern ptr_t GC_unix_get_mem();
20373 +#               define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
20374 +#            endif
20375 +#          endif
20376 +#        endif
20377 +#      endif
20378 +#     endif
20379 +#   endif
20380 +# endif
20381 +
20382  /* Delay any interrupts or signals that may abort this thread.  Data   */
20383  /* structures are in a consistent state outside this pair of calls.    */
20384  /* ANSI C allows both to be empty (though the standard isn't very      */
20385 @@ -430,7 +486,7 @@
20386  #   ifdef SMALL_CONFIG
20387  #      define ABORT(msg) abort();
20388  #   else
20389 -       GC_API void GC_abort GC_PROTO((GC_CONST char * msg));
20390 +       GC_API void GC_abort();
20391  #       define ABORT(msg) GC_abort(msg);
20392  #   endif
20393  # endif
20394 @@ -590,10 +646,9 @@
20395   */
20396   
20397  # ifdef LARGE_CONFIG
20398 -#   define LOG_PHT_ENTRIES  20  /* Collisions likely at 1M blocks,     */
20399 -                               /* which is >= 4GB.  Each table takes   */
20400 -                               /* 128KB, some of which may never be    */
20401 -                               /* touched.                             */
20402 +#   define LOG_PHT_ENTRIES  19  /* Collisions likely at 512K blocks,   */
20403 +                               /* which is >= 2GB.  Each table takes   */
20404 +                               /* 64KB.                                */
20405  # else
20406  #   ifdef SMALL_CONFIG
20407  #     define LOG_PHT_ENTRIES  14 /* Collisions are likely if heap grows        */
20408 @@ -601,7 +656,7 @@
20409                                  /* Each hash table occupies 2K bytes.   */
20410  #   else /* default "medium" configuration */
20411  #     define LOG_PHT_ENTRIES  16 /* Collisions are likely if heap grows        */
20412 -                                /* to more than 64K hblks >= 256MB.    */
20413 +                                /* to more than 16K hblks >= 256MB.    */
20414                                  /* Each hash table occupies 8K bytes.  */
20415  #   endif
20416  # endif
20417 @@ -842,10 +897,6 @@
20418    word _mem_freed;
20419         /* Number of explicitly deallocated words of memory     */
20420         /* since last collection.                               */
20421 -  word _finalizer_mem_freed;
20422 -       /* Words of memory explicitly deallocated while         */
20423 -       /* finalizers were running.  Used to approximate mem.   */
20424 -       /* explicitly deallocated by finalizers.                */
20425    ptr_t _scratch_end_ptr;
20426    ptr_t _scratch_last_end_ptr;
20427         /* Used by headers.c, and can easily appear to point to */
20428 @@ -906,7 +957,7 @@
20429                        /* OFFSET_TOO_BIG if the value j would be too    */
20430                        /* large to fit in the entry.  (Note that the    */
20431                        /* size of these entries matters, both for       */
20432 -                      /* space consumption and for cache utilization.) */
20433 +                      /* space consumption and for cache utilization.  */
20434  #   define OFFSET_TOO_BIG 0xfe
20435  #   define OBJ_INVALID 0xff
20436  #   define MAP_ENTRY(map, bytes) (map)[bytes]
20437 @@ -1016,7 +1067,6 @@
20438  # define GC_words_finalized GC_arrays._words_finalized
20439  # define GC_non_gc_bytes_at_gc GC_arrays._non_gc_bytes_at_gc
20440  # define GC_mem_freed GC_arrays._mem_freed
20441 -# define GC_finalizer_mem_freed GC_arrays._finalizer_mem_freed
20442  # define GC_scratch_end_ptr GC_arrays._scratch_end_ptr
20443  # define GC_scratch_last_end_ptr GC_arrays._scratch_last_end_ptr
20444  # define GC_mark_procs GC_arrays._mark_procs
20445 @@ -1151,19 +1201,17 @@
20446                                 /* header structure associated with     */
20447                                 /* block.                               */
20448  
20449 +extern GC_bool GC_is_initialized;      /* GC_init() has been run.      */
20450 +
20451  extern GC_bool GC_objects_are_marked;  /* There are marked objects in  */
20452                                         /* the heap.                    */
20453  
20454  #ifndef SMALL_CONFIG
20455    extern GC_bool GC_incremental;
20456                         /* Using incremental/generational collection. */
20457 -# define TRUE_INCREMENTAL \
20458 -       (GC_incremental && GC_time_limit != GC_TIME_UNLIMITED)
20459 -       /* True incremental, not just generational, mode */
20460  #else
20461  # define GC_incremental FALSE
20462                         /* Hopefully allow optimizer to remove some code. */
20463 -# define TRUE_INCREMENTAL FALSE
20464  #endif
20465  
20466  extern GC_bool GC_dirty_maintained;
20467 @@ -1181,10 +1229,6 @@
20468  extern long GC_large_alloc_warn_suppressed;
20469         /* Number of warnings suppressed so far.        */
20470  
20471 -#ifdef THREADS
20472 -  extern GC_bool GC_world_stopped;
20473 -#endif
20474 -
20475  /* Operations */
20476  # ifndef abs
20477  #   define abs(x)  ((x) < 0? (-(x)) : (x))
20478 @@ -1408,7 +1452,6 @@
20479                                     /* Set all mark bits associated with */
20480                                     /* a free list.                      */
20481  void GC_add_roots_inner GC_PROTO((char * b, char * e, GC_bool tmp));
20482 -void GC_remove_roots_inner GC_PROTO((char * b, char * e));
20483  GC_bool GC_is_static_root GC_PROTO((ptr_t p));
20484                 /* Is the address p in one of the registered static     */
20485                 /* root sections?                                       */
20486 @@ -1421,9 +1464,9 @@
20487                 /* Add dynamic library data sections to the root set. */
20488  
20489  GC_bool GC_register_main_static_data GC_PROTO((void));
20490 -               /* We need to register the main data segment.  Returns  */
20491 -               /* TRUE unless this is done implicitly as part of       */
20492 -               /* dynamic library registration.                        */
20493 +               /* We need to register the main data segment.  Returns  */
20494 +               /* TRUE unless this is done implicitly as part of       */
20495 +               /* dynamic library registration.                        */
20496    
20497  /* Machine dependent startup routines */
20498  ptr_t GC_get_stack_base GC_PROTO((void));      /* Cold end of stack */
20499 @@ -1581,8 +1624,6 @@
20500                                 /* until the blocks are available or    */
20501                                 /* until it fails by returning FALSE.   */
20502  
20503 -extern GC_bool GC_is_initialized;      /* GC_init() has been run.      */
20504 -
20505  #if defined(MSWIN32) || defined(MSWINCE)
20506    void GC_deinit GC_PROTO((void));
20507                                  /* Free any resources allocated by      */
20508 @@ -1624,8 +1665,6 @@
20509                                 /* Make the indicated                   */
20510                                 /* free list nonempty, and return its   */
20511                                 /* head.                                */
20512 -
20513 -void GC_free_inner(GC_PTR p);
20514    
20515  void GC_init_headers GC_PROTO((void));
20516  struct hblkhdr * GC_install_header GC_PROTO((struct hblk *h));
20517 @@ -1655,12 +1694,6 @@
20518                         /* Call *GC_finalizer_notifier if there are     */
20519                         /* finalizers to be run, and we haven't called  */
20520                         /* this procedure yet this GC cycle.            */
20521 -
20522 -GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
20523 -GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
20524 -                       /* Auxiliary fns to make finalization work      */
20525 -                       /* correctly with displaced pointers introduced */
20526 -                       /* by the debugging allocators.                 */
20527                         
20528  void GC_add_to_heap GC_PROTO((struct hblk *p, word bytes));
20529                         /* Add a HBLKSIZE aligned chunk to the heap.    */
20530 @@ -1671,36 +1704,16 @@
20531                         /* description of the object to stderr.         */
20532  extern void (*GC_check_heap) GC_PROTO((void));
20533                         /* Check that all objects in the heap with      */
20534 -                       /* debugging info are intact.                   */
20535 -                       /* Add any that are not to GC_smashed list.     */
20536 -extern void (*GC_print_all_smashed) GC_PROTO((void));
20537 -                       /* Print GC_smashed if it's not empty.          */
20538 -                       /* Clear GC_smashed list.                       */
20539 -extern void GC_print_all_errors GC_PROTO((void));
20540 -                       /* Print smashed and leaked objects, if any.    */
20541 -                       /* Clear the lists of such objects.             */
20542 +                       /* debugging info are intact.  Print            */
20543 +                       /* descriptions of any that are not.            */
20544  extern void (*GC_print_heap_obj) GC_PROTO((ptr_t p));
20545                         /* If possible print s followed by a more       */
20546                         /* detailed description of the object           */
20547                         /* referred to by p.                            */
20548 -#if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
20549 -  void GC_print_address_map GC_PROTO((void));
20550 -                       /* Print an address map of the process.         */
20551 -#endif
20552  
20553 -extern GC_bool GC_have_errors;  /* We saw a smashed or leaked object.  */
20554 -                               /* Call error printing routine          */
20555 -                               /* occasionally.                        */
20556  extern GC_bool GC_print_stats; /* Produce at least some logging output */
20557                                 /* Set from environment variable.       */
20558  
20559 -#ifndef NO_DEBUGGING
20560 -  extern GC_bool GC_dump_regularly;  /* Generate regular debugging dumps. */
20561 -# define COND_DUMP if (GC_dump_regularly) GC_dump();
20562 -#else
20563 -# define COND_DUMP
20564 -#endif
20565 -
20566  /* Macros used for collector internal allocation.      */
20567  /* These assume the collector lock is held.            */
20568  #ifdef DBG_HDRS_ALL
20569 @@ -1772,7 +1785,6 @@
20570  void GC_print_hblkfreelist GC_PROTO((void));
20571  void GC_print_heap_sects GC_PROTO((void));
20572  void GC_print_static_roots GC_PROTO((void));
20573 -void GC_print_finalization_stats GC_PROTO((void));
20574  void GC_dump GC_PROTO((void));
20575  
20576  #ifdef KEEP_BACK_PTRS
20577 @@ -1854,10 +1866,6 @@
20578  #      define GC_ASSERT(expr)
20579  # endif
20580  
20581 -/* Check a compile time assertion at compile time.  The error  */
20582 -/* message for failure is a bit baroque, but ...               */
20583 -# define GC_STATIC_ASSERT(expr) sizeof(char[(expr)? 1 : -1])
20584 -
20585  # if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
20586      /* We need additional synchronization facilities from the thread   */
20587      /* support.  We believe these are less performance critical                */
20588 @@ -1903,7 +1911,7 @@
20589    /* in Linux glibc, but it's not exported.)  Thus we continue to use  */
20590    /* the same hard-coded signals we've always used.                    */
20591  #  if !defined(SIG_SUSPEND)
20592 -#   if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
20593 +#   if defined(GC_LINUX_THREADS)
20594  #    if defined(SPARC) && !defined(SIGPWR)
20595         /* SPARC/Linux doesn't properly define SIGPWR in <signal.h>.
20596          * It is aliased to SIGLOST in asm/signal.h, though.            */
20597 diff -Nur ../boehm-gc/include/private/gcconfig.h boehm-gc/include/private/gcconfig.h
20598 --- ../boehm-gc/include/private/gcconfig.h      Mon May 26 13:28:24 2003
20599 +++ boehm-gc/include/private/gcconfig.h Wed Apr  9 17:08:01 2003
20600 @@ -13,25 +13,11 @@
20601   * provided the above notices are retained, and a notice that the code was
20602   * modified is included with the above copyright notice.
20603   */
20604 -
20605 -/*
20606 - * This header is private to the gc.  It is almost always included from
20607 - * gc_priv.h.  However it is possible to include it by itself if just the
20608 - * configuration macros are needed.  In that
20609 - * case, a few declarations relying on types declared in gc_priv.h will be
20610 - * omitted.
20611 - */
20612   
20613  #ifndef GCCONFIG_H
20614  
20615  # define GCCONFIG_H
20616  
20617 -# ifndef GC_PRIVATE_H
20618 -    /* Fake ptr_t declaration, just to avoid compilation errors.       */
20619 -    /* This avoids many instances if "ifndef GC_PRIVATE_H" below.      */
20620 -    typedef struct GC_undefined_struct * ptr_t;
20621 -# endif
20622 -
20623  /* Machine dependent parameters.  Some tuning parameters can be found  */
20624  /* near the top of gc_private.h.                                       */
20625  
20626 @@ -58,7 +44,7 @@
20627  # endif
20628  
20629  /* Determine the machine type: */
20630 -# if defined(__XSCALE__)
20631 +# if defined(__arm__) || defined(__thumb__)
20632  #    define ARM32
20633  #    if !defined(LINUX)
20634  #      define NOSYS
20635 @@ -109,8 +95,8 @@
20636  #    if defined(nec_ews) || defined(_nec_ews)
20637  #      define EWS4800
20638  #    endif
20639 -#    if !defined(LINUX) && !defined(EWS4800)
20640 -#      if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
20641 +#    if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD)
20642 +#      if defined(ultrix) || defined(__ultrix)
20643  #       define ULTRIX
20644  #      else
20645  #       if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) \
20646 @@ -121,16 +107,6 @@
20647  #       endif
20648  #      endif
20649  #    endif /* !LINUX */
20650 -#    if defined(__NetBSD__) && defined(__MIPSEL__)
20651 -#      undef ULTRIX
20652 -#    endif
20653 -#    define mach_type_known
20654 -# endif
20655 -# if defined(DGUX) && (defined(i386) || defined(__i386__))
20656 -#    define I386
20657 -#    ifndef _USING_DGUX
20658 -#    define _USING_DGUX
20659 -#    endif
20660  #    define mach_type_known
20661  # endif
20662  # if defined(sequent) && (defined(i386) || defined(__i386__))
20663 @@ -222,10 +198,6 @@
20664  #    define IA64
20665  #    define mach_type_known
20666  # endif
20667 -# if defined(LINUX) && defined(__arm__)
20668 -#    define ARM32
20669 -#    define mach_type_known
20670 -# endif
20671  # if defined(LINUX) && (defined(powerpc) || defined(__powerpc__))
20672  #    define POWERPC
20673  #    define mach_type_known
20674 @@ -265,19 +237,19 @@
20675  #   define MACOS
20676  #   define mach_type_known
20677  # endif
20678 -# if defined(__MWERKS__) && defined(__powerc) && !defined(__MACH__)
20679 +# if defined(__MWERKS__) && defined(__powerc)
20680  #   define POWERPC
20681  #   define MACOS
20682  #   define mach_type_known
20683  # endif
20684  # if defined(macosx) || \
20685       defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
20686 -#    define DARWIN
20687 +#    define MACOSX
20688  #    define POWERPC
20689  #    define mach_type_known
20690  # endif
20691  # if defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
20692 -#    define DARWIN
20693 +#    define MACOSX
20694  #    define I386
20695       --> Not really supported, but at least we recognize it.
20696  # endif
20697 @@ -319,7 +291,7 @@
20698  #   define CX_UX
20699  #   define mach_type_known
20700  # endif
20701 -# if defined(DGUX) && defined(m88k)
20702 +# if defined(DGUX)
20703  #   define M88K
20704      /* DGUX defined */
20705  #   define mach_type_known
20706 @@ -447,12 +419,14 @@
20707                     /*                  (CX_UX and DGUX)                */
20708                     /*             S370       ==> 370-like machine      */
20709                     /*                  running Amdahl UTS4             */
20710 -                    /*             S390       ==> 390-like machine      */
20711 -                   /*                  running LINUX                   */
20712 +                   /*             S390       ==> 390-like machine      */
20713 +                   /*                  running LINUX                   */
20714                     /*             ARM32      ==> Intel StrongARM       */
20715                     /*             IA64       ==> Intel IPF             */
20716                     /*                            (e.g. Itanium)        */
20717                     /*                  (LINUX and HPUX)                */
20718 +                   /*             IA64_32    ==> IA64 w/32 bit ABI     */
20719 +                   /*                  (HPUX)                          */
20720                     /*             SH         ==> Hitachi SuperH        */
20721                     /*                  (LINUX & MSWINCE)               */
20722                     /*             X86_64     ==> AMD x86-64            */
20723 @@ -476,17 +450,15 @@
20724   * defining it to be 1 will always work, but perform poorly.
20725   *
20726   * DATASTART is the beginning of the data segment.
20727 - * On some platforms SEARCH_FOR_DATA_START is defined.
20728 - * SEARCH_FOR_DATASTART will cause GC_data_start to
20729 - * be set to an address determined by accessing data backwards from _end
20730 - * until an unmapped page is found.  DATASTART will be defined to be
20731 - * GC_data_start.
20732 - * On UNIX-like systems, the collector will scan the area between DATASTART
20733 + * On UNIX systems, the collector will scan the area between DATASTART
20734   * and DATAEND for root pointers.
20735   *
20736   * DATAEND, if not `end' where `end' is defined as ``extern int end[];''.
20737   * RTH suggests gaining access to linker script synth'd values with
20738   * this idiom instead of `&end' where `end' is defined as ``extern int end;'' .
20739 + * Otherwise, ``GCC will assume these are in .sdata/.sbss'' and it will, e.g.,
20740 + * cause failures on alpha*-*-* with ``-msmall-data or -fpic'' or mips-*-*
20741 + * without any special options.
20742   *
20743   * ALIGN_DOUBLE of GC_malloc should return blocks aligned to twice
20744   * the pointer size.
20745 @@ -498,13 +470,8 @@
20746   * 1) define STACK_GROWS_UP if the stack grows toward higher addresses, and
20747   * 2) define exactly one of
20748   *     STACKBOTTOM (should be defined to be an expression)
20749 - *     LINUX_STACKBOTTOM
20750   *     HEURISTIC1
20751   *     HEURISTIC2
20752 - * If STACKBOTTOM is defined, then it's value will be used directly as the
20753 - * stack base.  If LINUX_STACKBOTTOM is defined, then it will be determined
20754 - * with a method appropriate for most Linux systems.  Currently we look
20755 - * first for __libc_stack_end, and if that fails read it from /proc.
20756   * If either of the last two macros are defined, then STACKBOTTOM is computed
20757   * during collector startup using one of the following two heuristics:
20758   * HEURISTIC1:  Take an address inside GC_init's frame, and round it up to
20759 @@ -569,9 +536,6 @@
20760   * An architecture may also define CLEAR_DOUBLE(x) to be a fast way to
20761   * clear the two words at GC_malloc-aligned address x.  By default,
20762   * word stores of 0 are used instead.
20763 - *
20764 - * HEAP_START may be defined as the initial address hint for mmap-based
20765 - * allocation.
20766   */
20767  
20768  /* If we are using a recent version of gcc, we can use __builtin_unwind_init()
20769 @@ -607,7 +571,7 @@
20770  #            define DYNAMIC_LOADING
20771  #           include <features.h>
20772  #           if defined(__GLIBC__)&& __GLIBC__>=2
20773 -#              define SEARCH_FOR_DATA_START
20774 +#              define LINUX_DATA_START
20775  #           else /* !GLIBC2 */
20776                 extern char **__environ;
20777  #              define DATASTART ((ptr_t)(&__environ))
20778 @@ -705,42 +669,23 @@
20779  #     define ALIGNMENT 4       /* Guess.  Can someone verify?  */
20780                                 /* This was 2, but that didn't sound right. */
20781  #     define OS_TYPE "LINUX"
20782 -      /* HEURISTIC1 has been reliably reported to fail for a 32-bit    */
20783 -      /* executable on a 64 bit kernel.                                        */
20784 -#     define LINUX_STACKBOTTOM
20785  #     define DYNAMIC_LOADING
20786 -#     define SEARCH_FOR_DATA_START
20787 +#     define LINUX_STACKBOTTOM
20788 +       /* Stack usually starts at 0x80000000 */
20789 +#     define LINUX_DATA_START
20790        extern int _end[];
20791  #     define DATAEND (_end)
20792  #   endif
20793 -#   ifdef DARWIN
20794 +#   ifdef MACOSX
20795        /* There are reasons to suspect this may not be reliable.        */
20796  #     define ALIGNMENT 4
20797 -#     define OS_TYPE "DARWIN"
20798 -#     define DYNAMIC_LOADING
20799 -      /* XXX: see get_end(3), get_etext() and get_end() should not be used.
20800 -         These aren't used when dyld support is enabled (it is by default) */
20801 +#     define OS_TYPE "MACOSX"
20802  #     define DATASTART ((ptr_t) get_etext())
20803 -#     define DATAEND   ((ptr_t) get_end())
20804  #     define STACKBOTTOM ((ptr_t) 0xc0000000)
20805 -#     define USE_MMAP
20806 -#     define USE_MMAP_ANON
20807 -#     define USE_ASM_PUSH_REGS
20808 -      /* This is potentially buggy. It needs more testing. See the comments in
20809 -         os_dep.c */
20810 -#     define MPROTECT_VDB
20811 +#     define DATAEND   /* not needed */
20812 +#     undef MPROTECT_VDB
20813  #     include <unistd.h>
20814  #     define GETPAGESIZE() getpagesize()
20815 -#     if defined(USE_PPC_PREFETCH) && defined(__GNUC__)
20816 -       /* The performance impact of prefetches is untested */
20817 -#      define PREFETCH(x) \
20818 -         __asm__ __volatile__ ("dcbt 0,%0" : : "r" ((const void *) (x)))
20819 -#      define PREFETCH_FOR_WRITE(x) \
20820 -         __asm__ __volatile__ ("dcbtst 0,%0" : : "r" ((const void *) (x)))
20821 -#     endif
20822 -      /* There seems to be some issues with trylock hanging on darwin. This
20823 -         should be looked into some more */
20824 -#     define NO_PTHREAD_TRYLOCK
20825  #   endif
20826  #   ifdef NETBSD
20827  #     define ALIGNMENT 4
20828 @@ -801,8 +746,8 @@
20829  #      define OS_TYPE "SUNOS5"
20830         extern int _etext[];
20831         extern int _end[];
20832 -       extern ptr_t GC_SysVGetDataStart();
20833 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
20834 +       extern char * GC_SysVGetDataStart();
20835 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
20836  #      define DATAEND (_end)
20837  #      if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
20838  #          define USE_MMAP
20839 @@ -856,9 +801,9 @@
20840  #   endif
20841  #   ifdef DRSNX
20842  #      define OS_TYPE "DRSNX"
20843 -       extern ptr_t GC_SysVGetDataStart();
20844 +       extern char * GC_SysVGetDataStart();
20845         extern int etext[];
20846 -#       define DATASTART GC_SysVGetDataStart(0x10000, etext)
20847 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, etext)
20848  #      define MPROTECT_VDB
20849  #       define STACKBOTTOM ((ptr_t) 0xdfff0000)
20850  #      define DYNAMIC_LOADING
20851 @@ -874,14 +819,13 @@
20852        extern int _etext[];
20853  #     define DATAEND (_end)
20854  #     define SVR4
20855 -      extern ptr_t GC_SysVGetDataStart();
20856  #     ifdef __arch64__
20857 -#      define DATASTART GC_SysVGetDataStart(0x100000, _etext)
20858         /* libc_stack_end is not set reliably for sparc64 */
20859 -#       define STACKBOTTOM ((ptr_t) 0x80000000000ULL)
20860 +#       define STACKBOTTOM ((ptr_t) 0x80000000000)
20861 +#      define DATASTART (ptr_t)GC_SysVGetDataStart(0x100000, _etext)
20862  #     else
20863 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
20864 -#      define LINUX_STACKBOTTOM
20865 +#       define LINUX_STACKBOTTOM
20866 +#      define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
20867  #     endif
20868  #   endif
20869  #   ifdef OPENBSD
20870 @@ -932,7 +876,7 @@
20871  #   ifdef SUNOS5
20872  #      define OS_TYPE "SUNOS5"
20873          extern int _etext[], _end[];
20874 -       extern ptr_t GC_SysVGetDataStart();
20875 +       extern char * GC_SysVGetDataStart();
20876  #       define DATASTART GC_SysVGetDataStart(0x1000, _etext)
20877  #      define DATAEND (_end)
20878  /*     # define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7,      */
20879 @@ -977,28 +921,6 @@
20880  #       define DYNAMIC_LOADING
20881  #      define ELF_CLASS ELFCLASS32
20882  #   endif
20883 -#   ifdef DGUX
20884 -#      define OS_TYPE "DGUX"
20885 -       extern int _etext, _end;
20886 -       extern ptr_t GC_SysVGetDataStart();
20887 -#      define DATASTART GC_SysVGetDataStart(0x1000, &_etext)
20888 -#      define DATAEND (&_end)
20889 -#      define STACK_GROWS_DOWN
20890 -#      define HEURISTIC2
20891 -#      include <unistd.h>
20892 -#      define GETPAGESIZE()  sysconf(_SC_PAGESIZE)
20893 -#      define DYNAMIC_LOADING
20894 -#      ifndef USE_MMAP
20895 -#        define USE_MMAP
20896 -#      endif /* USE_MMAP */
20897 -#      define MAP_FAILED (void *) -1
20898 -#      ifdef USE_MMAP
20899 -#        define HEAP_START (ptr_t)0x40000000
20900 -#      else /* USE_MMAP */
20901 -#        define HEAP_START DATAEND
20902 -#      endif /* USE_MMAP */
20903 -#   endif /* DGUX */
20904 -
20905  #   ifdef LINUX
20906  #      ifndef __GNUC__
20907           /* The Intel compiler doesn't like inline assembly */
20908 @@ -1022,9 +944,6 @@
20909             /* possibly because Linux threads is itself a malloc client */
20910             /* and can't deal with the signals.                         */
20911  #      endif
20912 -#      define HEAP_START 0x1000
20913 -               /* This encourages mmap to give us low addresses,       */
20914 -               /* thus allowing the heap to grow to ~3GB               */
20915  #       ifdef __ELF__
20916  #            define DYNAMIC_LOADING
20917  #           ifdef UNDEFINED    /* includes ro data */
20918 @@ -1033,7 +952,7 @@
20919  #           endif
20920  #           include <features.h>
20921  #           if defined(__GLIBC__) && __GLIBC__ >= 2
20922 -#               define SEARCH_FOR_DATA_START
20923 +#               define LINUX_DATA_START
20924  #           else
20925                  extern char **__environ;
20926  #                define DATASTART ((ptr_t)(&__environ))
20927 @@ -1142,9 +1061,16 @@
20928  #      ifdef __ELF__
20929  #          define DYNAMIC_LOADING
20930  #      endif
20931 +/* Handle unmapped hole i386*-*-freebsd[45]* may put between etext and edata. */
20932         extern char etext[];
20933 -       extern char * GC_FreeBSDGetDataStart();
20934 -#      define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
20935 +       extern char edata[];
20936 +       extern char end[];
20937 +#      define NEED_FIND_LIMIT
20938 +#      define DATASTART ((ptr_t)(etext))
20939 +#      define MIN(x,y) ((x) < (y) ? (x) : (y))
20940 +#      define DATAEND (MIN (GC_find_limit (DATASTART, TRUE), DATASTART2))
20941 +#      define DATASTART2 ((ptr_t)(edata))
20942 +#      define DATAEND2 ((ptr_t)(end))
20943  #   endif
20944  #   ifdef NETBSD
20945  #      define OS_TYPE "NETBSD"
20946 @@ -1223,11 +1149,7 @@
20947  #     define DATASTART ((ptr_t)(__data_start))
20948  #     define ALIGNMENT 4
20949  #     define USE_GENERIC_PUSH_REGS
20950 -#     if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2 || __GLIBC__ > 2
20951 -#        define LINUX_STACKBOTTOM
20952 -#     else
20953 -#        define STACKBOTTOM 0x80000000
20954 -#     endif
20955 +#     define LINUX_STACKBOTTOM
20956  #   endif /* Linux */
20957  #   ifdef EWS4800
20958  #      define HEURISTIC2
20959 @@ -1300,21 +1222,15 @@
20960  #       define DATAEND /* not needed */
20961  #   endif
20962  #   if defined(NETBSD)
20963 -      /* This also checked for __MIPSEL__ .  Why?  NETBSD recognition  */
20964 -      /* should be handled at the top of the file.                     */
20965 -#     define ALIGNMENT 4
20966  #     define OS_TYPE "NETBSD"
20967 +#     define ALIGNMENT 4
20968  #     define HEURISTIC2
20969  #     define USE_GENERIC_PUSH_REGS
20970 -#     ifdef __ELF__
20971 -        extern int etext[];
20972 -#       define DATASTART GC_data_start
20973 -#       define NEED_FIND_LIMIT
20974 -#       define DYNAMIC_LOADING
20975 -#     else
20976 -#       define DATASTART ((ptr_t) 0x10000000)
20977 -#       define STACKBOTTOM ((ptr_t) 0x7ffff000)
20978 -#     endif /* _ELF_ */
20979 +      extern int _fdata[];
20980 +#     define DATASTART ((ptr_t)(_fdata))
20981 +      extern int _end[];
20982 +#     define DATAEND ((ptr_t)(_end))
20983 +#     define DYNAMIC_LOADING
20984  #  endif
20985  # endif
20986  
20987 @@ -1323,16 +1239,15 @@
20988  #   ifdef __64BIT__
20989  #     define ALIGNMENT 8
20990  #     define CPP_WORDSZ 64
20991 -#     define STACKBOTTOM 0x1000000000000000
20992  #   else
20993  #     define ALIGNMENT 4
20994  #     define CPP_WORDSZ 32
20995 -#     define STACKBOTTOM ((ptr_t)((ulong)&errno))
20996  #   endif
20997      extern int _data[], _end[];
20998  #   define DATASTART ((ptr_t)((ulong)_data))
20999  #   define DATAEND ((ptr_t)((ulong)_end))
21000      extern int errno;
21001 +#   define STACKBOTTOM ((ptr_t)((ulong)&errno))
21002  #   define USE_GENERIC_PUSH_REGS
21003  #   define DYNAMIC_LOADING
21004         /* For really old versions of AIX, this may have to be removed. */
21005 @@ -1396,23 +1311,15 @@
21006  #     define OS_TYPE "LINUX"
21007  #     define LINUX_STACKBOTTOM
21008  #     define DYNAMIC_LOADING
21009 -#     define SEARCH_FOR_DATA_START
21010 +#     define LINUX_DATA_START
21011        extern int _end[];
21012 -#     define DATAEND (&_end)
21013 +#     define DATAEND (_end)
21014  #   endif /* LINUX */
21015  # endif /* HP_PA */
21016  
21017  # ifdef ALPHA
21018  #   define MACH_TYPE "ALPHA"
21019  #   define ALIGNMENT 8
21020 -#   define CPP_WORDSZ 64
21021 -#   ifndef LINUX
21022 -#     define USE_GENERIC_PUSH_REGS
21023 -      /* Gcc and probably the DEC/Compaq compiler spill pointers to preserved */
21024 -      /* fp registers in some cases when the target is a 21264.  The assembly */
21025 -      /* code doesn't handle that yet, and version dependencies make that a   */
21026 -      /* bit tricky.  Do the easy thing for now.                                   */
21027 -#   endif
21028  #   ifdef NETBSD
21029  #      define OS_TYPE "NETBSD"
21030  #      define HEURISTIC2
21031 @@ -1420,11 +1327,13 @@
21032  #      define ELFCLASS32 32
21033  #      define ELFCLASS64 64
21034  #      define ELF_CLASS ELFCLASS64
21035 +#      define CPP_WORDSZ 64
21036  #       define DYNAMIC_LOADING
21037  #   endif
21038  #   ifdef OPENBSD
21039  #      define OS_TYPE "OPENBSD"
21040  #      define HEURISTIC2
21041 +#      define CPP_WORDSZ 64
21042  #      ifdef __ELF__   /* since OpenBSD/Alpha 2.9 */
21043  #         define DATASTART GC_data_start
21044  #         define ELFCLASS32 32
21045 @@ -1448,16 +1357,17 @@
21046         extern char edata[];
21047         extern char end[];
21048  #      define NEED_FIND_LIMIT
21049 -#      define DATASTART ((ptr_t)(&etext))
21050 +#      define DATASTART ((ptr_t)(etext))
21051  #      define DATAEND (GC_find_limit (DATASTART, TRUE))
21052 -#      define DATASTART2 ((ptr_t)(&edata))
21053 -#      define DATAEND2 ((ptr_t)(&end))
21054 +#      define DATASTART2 ((ptr_t)(edata))
21055 +#      define DATAEND2 ((ptr_t)(end))
21056 +#      define CPP_WORDSZ 64
21057  #   endif
21058  #   ifdef OSF1
21059  #      define OS_TYPE "OSF1"
21060  #      define DATASTART ((ptr_t) 0x140000000)
21061         extern int _end[];
21062 -#      define DATAEND ((ptr_t) &_end)
21063 +#      define DATAEND ((ptr_t) _end)
21064         extern char ** environ;
21065         /* round up from the value of environ to the nearest page boundary */
21066         /* Probably breaks if putenv is called before collector            */
21067 @@ -1470,17 +1380,17 @@
21068         /* This is currently unused, since we disabled HEURISTIC2       */
21069         extern int __start[];
21070  #      define HEURISTIC2_LIMIT ((ptr_t)((word)(__start) & ~(getpagesize()-1)))
21071 -#      ifndef GC_OSF1_THREADS
21072 -         /* Unresolved signal issues with threads.     */
21073 -#        define MPROTECT_VDB
21074 -#       endif
21075 +#      define CPP_WORDSZ 64
21076 +#      define MPROTECT_VDB
21077  #      define DYNAMIC_LOADING
21078  #   endif
21079  #   ifdef LINUX
21080  #       define OS_TYPE "LINUX"
21081 +#       define CPP_WORDSZ 64
21082  #       define STACKBOTTOM ((ptr_t) 0x120000000)
21083  #       ifdef __ELF__
21084  #        define SEARCH_FOR_DATA_START
21085 +#        define DATASTART GC_data_start
21086  #         define DYNAMIC_LOADING
21087  #       else
21088  #           define DATASTART ((ptr_t) 0x140000000)
21089 @@ -1558,6 +1468,7 @@
21090         extern char * GC_register_stackbottom;
21091  #      define BACKING_STORE_BASE ((ptr_t)GC_register_stackbottom)
21092  #      define SEARCH_FOR_DATA_START
21093 +#      define DATASTART GC_data_start
21094  #      ifdef __GNUC__
21095  #         define DYNAMIC_LOADING
21096  #      else
21097 @@ -1591,15 +1502,13 @@
21098  #   endif
21099  #   ifdef  DGUX
21100  #      define OS_TYPE "DGUX"
21101 -       extern ptr_t GC_SysVGetDataStart();
21102 -#       define DATASTART GC_SysVGetDataStart(0x10000, etext)
21103 +       extern char * GC_SysVGetDataStart();
21104 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, etext)
21105  #   endif
21106  #   define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */
21107  # endif
21108  
21109  # ifdef S370
21110 -    /* If this still works, and if anyone cares, this should probably  */
21111 -    /* be moved to the S390 category.                                  */
21112  #   define MACH_TYPE "S370"
21113  #   define ALIGNMENT 4 /* Required by hardware */
21114  #   define USE_GENERIC_PUSH_REGS
21115 @@ -1608,8 +1517,8 @@
21116          extern int etext[];
21117         extern int _etext[];
21118         extern int _end[];
21119 -       extern ptr_t GC_SysVGetDataStart();
21120 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
21121 +       extern char * GC_SysVGetDataStart();
21122 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
21123  #      define DATAEND (_end)
21124  #      define HEURISTIC2
21125  #   endif
21126 @@ -1619,12 +1528,12 @@
21127  #   define MACH_TYPE "S390"
21128  #   define USE_GENERIC_PUSH_REGS
21129  #   ifndef __s390x__
21130 -#   define ALIGNMENT 4
21131 -#   define CPP_WORDSZ 32
21132 +#      define ALIGNMENT 4
21133 +#      define CPP_WORDSZ 32
21134  #   else
21135 -#   define ALIGNMENT 8
21136 -#   define CPP_WORDSZ 64
21137 -#   define HBLKSIZE 4096
21138 +#      define ALIGNMENT 8
21139 +#      define CPP_WORDSZ 64
21140 +#      define HBLKSIZE 4096
21141  #   endif
21142  #   ifdef LINUX
21143  #       define OS_TYPE "LINUX"
21144 @@ -1632,10 +1541,10 @@
21145  #       define DYNAMIC_LOADING
21146          extern int __data_start[];
21147  #       define DATASTART ((ptr_t)(__data_start))
21148 -    extern int _end[];
21149 -#   define DATAEND (_end)
21150 -#   define CACHE_LINE_SIZE 256
21151 -#   define GETPAGESIZE() 4096
21152 +       extern int _end[];
21153 +#      define DATAEND (_end)
21154 +#      define CACHE_LINE_SIZE 256
21155 +#      define GETPAGESIZE() 4096
21156  #   endif
21157  # endif
21158  
21159 @@ -1667,7 +1576,7 @@
21160  #            define DYNAMIC_LOADING
21161  #           include <features.h>
21162  #           if defined(__GLIBC__) && __GLIBC__ >= 2
21163 -#               define SEARCH_FOR_DATA_START
21164 +#               define LINUX_DATA_START
21165  #           else
21166                  extern char **__environ;
21167  #                define DATASTART ((ptr_t)(&__environ))
21168 @@ -1714,7 +1623,7 @@
21169  #     define STACKBOTTOM ((ptr_t) 0x7c000000)
21170  #     define USE_GENERIC_PUSH_REGS
21171  #     define DYNAMIC_LOADING
21172 -#     define SEARCH_FOR_DATA_START
21173 +#     define LINUX_DATA_START
21174        extern int _end[];
21175  #     define DATAEND (_end)
21176  #   endif
21177 @@ -1731,9 +1640,7 @@
21178  #   define MACH_TYPE "X86_64"
21179  #   define ALIGNMENT 8
21180  #   define CPP_WORDSZ 64
21181 -#   ifndef HBLKSIZE
21182 -#     define HBLKSIZE 4096
21183 -#   endif
21184 +#   define HBLKSIZE 4096
21185  #   define CACHE_LINE_SIZE 64
21186  #   define USE_GENERIC_PUSH_REGS
21187  #   ifdef LINUX
21188 @@ -1753,7 +1660,7 @@
21189  #              define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
21190  #           endif
21191  #           include <features.h>
21192 -#           define SEARCH_FOR_DATA_START
21193 +#           define LINUX_DATA_START
21194              extern int _end[];
21195  #           define DATAEND (_end)
21196  #      else
21197 @@ -1767,6 +1674,19 @@
21198  #   endif
21199  # endif
21200  
21201 +#ifdef LINUX_DATA_START
21202 +    /* Some Linux distributions arrange to define __data_start.  Some  */
21203 +    /* define data_start as a weak symbol.  The latter is technically  */
21204 +    /* broken, since the user program may define data_start, in which  */
21205 +    /* case we lose.  Nonetheless, we try both, prefering __data_start.        */
21206 +    /* We assume gcc.  */
21207 +#   pragma weak __data_start
21208 +    extern int __data_start[];
21209 +#   pragma weak data_start
21210 +    extern int data_start[];
21211 +#   define DATASTART ((ptr_t)(__data_start != 0? __data_start : data_start))
21212 +#endif
21213 +
21214  #if defined(LINUX) && defined(REDIRECT_MALLOC)
21215      /* Rld appears to allocate some memory with its own allocator, and */
21216      /* some through malloc, which might be redirected.  To make this   */
21217 @@ -1805,15 +1725,15 @@
21218  # endif
21219  
21220  # if defined(SUNOS5) || defined(DRSNX) || defined(UTS4)
21221 -           /* OS has SVR4 generic features.  Probably others also qualify.     */
21222 +    /* OS has SVR4 generic features.  Probably others also qualify.    */
21223  #   define SVR4
21224  # endif
21225  
21226  # if defined(SUNOS5) || defined(DRSNX)
21227 -           /* OS has SUNOS5 style semi-undocumented interface to dynamic       */
21228 -           /* loader.                                                          */
21229 +    /* OS has SUNOS5 style semi-undocumented interface to dynamic      */
21230 +    /* loader.                                                         */
21231  #   define SUNOS5DL
21232 -           /* OS has SUNOS5 style signal handlers.                             */
21233 +    /* OS has SUNOS5 style signal handlers.                            */
21234  #   define SUNOS5SIGS
21235  # endif
21236  
21237 @@ -1822,13 +1742,13 @@
21238  # endif
21239  
21240  # if defined(SVR4) || defined(LINUX) || defined(IRIX) || defined(HPUX) \
21241 -           || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) || defined(DGUX) \
21242 -           || defined(BSD) || defined(AIX) || defined(DARWIN) || defined(OSF1)
21243 +    || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
21244 +    || defined(BSD) || defined(_AIX) || defined(MACOSX) || defined(OSF1)
21245  #   define UNIX_LIKE   /* Basic Unix-like system calls work.   */
21246  # endif
21247  
21248  # if CPP_WORDSZ != 32 && CPP_WORDSZ != 64
21249 -          -> bad word size
21250 +   -> bad word size
21251  # endif
21252  
21253  # ifdef PCR
21254 @@ -1842,13 +1762,13 @@
21255  # endif
21256  
21257  # ifdef SRC_M3
21258 -       /* Postponed for now. */
21259 +/* Postponed for now. */
21260  #   undef PROC_VDB
21261  #   undef MPROTECT_VDB
21262  # endif
21263  
21264  # ifdef SMALL_CONFIG
21265 -       /* Presumably not worth the space it takes. */
21266 +/* Presumably not worth the space it takes. */
21267  #   undef PROC_VDB
21268  #   undef MPROTECT_VDB
21269  # endif
21270 @@ -1888,47 +1808,49 @@
21271      /* platforms as well, though it should be avoided in win32.                */
21272  # endif /* LINUX */
21273  
21274 -# if defined(SEARCH_FOR_DATA_START)
21275 +# if defined(SEARCH_FOR_DATA_START) && defined(GC_PRIVATE_H)
21276      extern ptr_t GC_data_start;
21277 -#   define DATASTART GC_data_start
21278  # endif
21279  
21280  # ifndef CLEAR_DOUBLE
21281  #   define CLEAR_DOUBLE(x) \
21282 -               ((word*)x)[0] = 0; \
21283 -               ((word*)x)[1] = 0;
21284 +       ((word*)x)[0] = 0; \
21285 +       ((word*)x)[1] = 0;
21286  # endif /* CLEAR_DOUBLE */
21287  
21288 -       /* Internally we use GC_SOLARIS_THREADS to test for either old or pthreads. */
21289 +/* Internally we use GC_SOLARIS_THREADS to test for either old or pthreads. */
21290  # if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
21291  #   define GC_SOLARIS_THREADS
21292  # endif
21293  
21294  # if defined(GC_IRIX_THREADS) && !defined(IRIX5)
21295 -       --> inconsistent configuration
21296 +--> inconsistent configuration
21297  # endif
21298  # if defined(GC_LINUX_THREADS) && !defined(LINUX)
21299 -       --> inconsistent configuration
21300 +--> inconsistent configuration
21301  # endif
21302  # if defined(GC_SOLARIS_THREADS) && !defined(SUNOS5)
21303 -       --> inconsistent configuration
21304 +--> inconsistent configuration
21305  # endif
21306  # if defined(GC_HPUX_THREADS) && !defined(HPUX)
21307 -       --> inconsistent configuration
21308 +--> inconsistent configuration
21309  # endif
21310 -# if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && !defined(CYGWIN32)
21311 -       --> inconsistent configuration
21312 +# if defined(GC_WIN32_THREADS) && !defined(MSWIN32)
21313 +    /* Ideally CYGWIN32 should work, in addition to MSWIN32.  I suspect        */
21314 +    /* the necessary code is mostly there, but nobody has actually made */
21315 +    /* sure the right combination of pieces is compiled in, etc.       */
21316 +--> inconsistent configuration
21317  # endif
21318  
21319  # if defined(PCR) || defined(SRC_M3) || \
21320 -               defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) || \
21321 -               defined(GC_PTHREADS)
21322 +       defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) || \
21323 +       defined(GC_PTHREADS)
21324  #   define THREADS
21325  # endif
21326  
21327 -# if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(DARWIN) \
21328 -            || defined(LINT) || defined(MSWINCE) || defined(ARM32) \
21329 -            || (defined(I386) && defined(__LCC__))
21330 +# if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(MACOSX) \
21331 +     || defined(LINT) || defined(MSWINCE) \
21332 +     || (defined(I386) && defined(__LCC__))
21333         /* Use setjmp based hack to mark from callee-save registers.    */
21334         /* The define should move to the individual platform            */
21335         /* descriptions.                                                */
21336 @@ -1940,26 +1862,36 @@
21337                                 /* include assembly code to do it well. */
21338  # endif
21339  
21340 -  /* Can we save call chain in objects for debugging?                  */
21341 -  /* SET NFRAMES (# of saved frames) and NARGS (#of args for each      */
21342 -  /* frame) to reasonable values for the platform.                     */
21343 -  /* Set SAVE_CALL_CHAIN if we can.  SAVE_CALL_COUNT can be specified  */
21344 -  /* at build time, though we feel free to adjust it slightly.         */
21345 -  /* Define NEED_CALLINFO if we either save the call stack or          */
21346 -  /* GC_ADD_CALLER is defined.                                         */
21347 -  /* GC_CAN_SAVE_CALL_STACKS is set in gc.h.                           */
21348 +/* Can we save call chain in objects for debugging?                    */
21349 +/* SET NFRAMES (# of saved frames) and NARGS (#of args for each frame) */
21350 +/* to reasonable values for the platform.                              */
21351 +/* Set SAVE_CALL_CHAIN if we can.  SAVE_CALL_COUNT can be specified at */
21352 +/* build time, though we feel free to adjust it slightly.              */
21353 +/* Define NEED_CALLINFO if we either save the call stack or            */
21354 +/* GC_ADD_CALLER is defined.                                           */
21355 +#ifdef LINUX
21356 +# include <features.h>
21357 +# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2
21358 +#   define HAVE_BUILTIN_BACKTRACE
21359 +# endif
21360 +#endif
21361  
21362  #if defined(SPARC)
21363 +# define CAN_SAVE_CALL_STACKS
21364  # define CAN_SAVE_CALL_ARGS
21365  #endif
21366  #if (defined(I386) || defined(X86_64)) && defined(LINUX)
21367 -           /* SAVE_CALL_CHAIN is supported if the code is compiled to save     */
21368 -           /* frame pointers by default, i.e. no -fomit-frame-pointer flag.    */
21369 +    /* SAVE_CALL_CHAIN is supported if the code is compiled to save    */
21370 +    /* frame pointers by default, i.e. no -fomit-frame-pointer flag.   */
21371 +# define CAN_SAVE_CALL_STACKS
21372  # define CAN_SAVE_CALL_ARGS
21373  #endif
21374 +#if defined(HAVE_BUILTIN_BACKTRACE) && !defined(CAN_SAVE_CALL_STACKS)
21375 +# define CAN_SAVE_CALL_STACKS
21376 +#endif
21377  
21378  # if defined(SAVE_CALL_COUNT) && !defined(GC_ADD_CALLER) \
21379 -            && defined(GC_CAN_SAVE_CALL_STACKS)
21380 +     && defined(CAN_SAVE_CALL_STACKS)
21381  #   define SAVE_CALL_CHAIN 
21382  # endif
21383  # ifdef SAVE_CALL_CHAIN
21384 @@ -1972,7 +1904,7 @@
21385  # ifdef SAVE_CALL_CHAIN
21386  #   ifndef SAVE_CALL_COUNT
21387  #     define NFRAMES 6 /* Number of frames to save. Even for           */
21388 -                               /* alignment reasons.                           */
21389 +                       /* alignment reasons.                           */
21390  #   else
21391  #     define NFRAMES ((SAVE_CALL_COUNT + 1) & ~1)
21392  #   endif
21393 @@ -1987,97 +1919,5 @@
21394  # if defined(MAKE_BACK_GRAPH) && !defined(DBG_HDRS_ALL)
21395  #   define DBG_HDRS_ALL
21396  # endif
21397 -
21398 -# if defined(POINTER_MASK) && !defined(POINTER_SHIFT)
21399 -#   define POINTER_SHIFT 0
21400 -# endif
21401 -
21402 -# if defined(POINTER_SHIFT) && !defined(POINTER_MASK)
21403 -#   define POINTER_MASK ((GC_word)(-1))
21404 -# endif
21405 -
21406 -# if !defined(FIXUP_POINTER) && defined(POINTER_MASK)
21407 -#   define FIXUP_POINTER(p) (p) = ((p) & (POINTER_MASK) << POINTER_SHIFT)
21408 -# endif
21409 -
21410 -# if defined(FIXUP_POINTER)
21411 -#   define NEED_FIXUP_POINTER 1
21412 -# else
21413 -#   define NEED_FIXUP_POINTER 0
21414 -#   define FIXUP_POINTER(p)
21415 -# endif
21416 -
21417 -#ifdef GC_PRIVATE_H
21418 -       /* This relies on some type definitions from gc_priv.h, from    */
21419 -        /* where it's normally included.                               */
21420 -       /*                                                              */
21421 -       /* How to get heap memory from the OS:                          */
21422 -       /* Note that sbrk()-like allocation is preferred, since it      */
21423 -       /* usually makes it possible to merge consecutively allocated   */
21424 -       /* chunks.  It also avoids unintented recursion with            */
21425 -       /* -DREDIRECT_MALLOC.                                           */
21426 -       /* GET_MEM() returns a HLKSIZE aligned chunk.                   */
21427 -       /* 0 is taken to mean failure.                                  */
21428 -       /* In the case os USE_MMAP, the argument must also be a         */
21429 -       /* physical page size.                                          */
21430 -       /* GET_MEM is currently not assumed to retrieve 0 filled space, */
21431 -       /* though we should perhaps take advantage of the case in which */
21432 -       /* does.                                                        */
21433 -       struct hblk;    /* See gc_priv.h.       */
21434 -# ifdef PCR
21435 -           char * real_malloc();
21436 -#   define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
21437 -                                         + GC_page_size-1)
21438 -# else
21439 -#   ifdef OS2
21440 -             void * os2_alloc(size_t bytes);
21441 -#     define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
21442 -                                           + GC_page_size) \
21443 -                                           + GC_page_size-1)
21444 -#   else
21445 -#     if defined(NEXT) || defined(DOS4GW) || \
21446 -                (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
21447 -                (defined(SUNOS5) && !defined(USE_MMAP))
21448 -#       define GET_MEM(bytes) HBLKPTR((size_t) \
21449 -                                             calloc(1, (size_t)bytes + GC_page_size) \
21450 -                                             + GC_page_size-1)
21451 -#     else
21452 -#      ifdef MSWIN32
21453 -         extern ptr_t GC_win32_get_mem();
21454 -#         define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
21455 -#      else
21456 -#        ifdef MACOS
21457 -#          if defined(USE_TEMPORARY_MEMORY)
21458 -                       extern Ptr GC_MacTemporaryNewPtr(size_t size,
21459 -                                                        Boolean clearMemory);
21460 -#               define GET_MEM(bytes) HBLKPTR( \
21461 -                           GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
21462 -                           + GC_page_size-1)
21463 -#          else
21464 -#                  define GET_MEM(bytes) HBLKPTR( \
21465 -                               NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
21466 -#          endif
21467 -#        else
21468 -#          ifdef MSWINCE
21469 -             extern ptr_t GC_wince_get_mem();
21470 -#            define GET_MEM(bytes) (struct hblk *)GC_wince_get_mem(bytes)
21471 -#          else
21472 -#            if defined(AMIGA) && defined(GC_AMIGA_FASTALLOC)
21473 -                       extern void *GC_amiga_get_mem(size_t size);
21474 -                       define GET_MEM(bytes) HBLKPTR((size_t) \
21475 -                         GC_amiga_get_mem((size_t)bytes + GC_page_size) \
21476 -                         + GC_page_size-1)
21477 -#            else
21478 -               extern ptr_t GC_unix_get_mem();
21479 -#               define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
21480 -#            endif
21481 -#          endif
21482 -#        endif
21483 -#      endif
21484 -#     endif
21485 -#   endif
21486 -# endif
21487 -
21488 -#endif /* GC_PRIVATE_H */
21489  
21490  # endif /* GCCONFIG_H */
21491 diff -Nur ../boehm-gc/include/private/pthread_stop_world.h boehm-gc/include/private/pthread_stop_world.h
21492 --- ../boehm-gc/include/private/pthread_stop_world.h    Mon May 26 13:28:24 2003
21493 +++ boehm-gc/include/private/pthread_stop_world.h       Wed Dec 31 16:00:00 1969
21494 @@ -1,12 +0,0 @@
21495 -#ifndef GC_PTHREAD_STOP_WORLD_H
21496 -#define GC_PTHREAD_STOP_WORLD_H
21497 -
21498 -struct thread_stop_info {
21499 -    int        signal;
21500 -    word last_stop_count;      /* GC_last_stop_count value when thread */
21501 -                               /* last successfully handled a suspend  */
21502 -                               /* signal.                              */
21503 -    ptr_t stack_ptr;           /* Valid only when stopped.             */
21504 -};
21505 -    
21506 -#endif
21507 diff -Nur ../boehm-gc/include/private/pthread_support.h boehm-gc/include/private/pthread_support.h
21508 --- ../boehm-gc/include/private/pthread_support.h       Mon May 26 13:28:24 2003
21509 +++ boehm-gc/include/private/pthread_support.h  Wed Dec 31 16:00:00 1969
21510 @@ -1,97 +0,0 @@
21511 -#ifndef GC_PTHREAD_SUPPORT_H
21512 -#define GC_PTHREAD_SUPPORT_H
21513 -
21514 -# include "private/gc_priv.h"
21515 -
21516 -# if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
21517 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
21518 -     
21519 -#if defined(GC_DARWIN_THREADS)
21520 -# include "private/darwin_stop_world.h"
21521 -#else
21522 -# include "private/pthread_stop_world.h"
21523 -#endif
21524 -
21525 -/* We use the allocation lock to protect thread-related data structures. */
21526 -
21527 -/* The set of all known threads.  We intercept thread creation and     */
21528 -/* joins.                                                              */
21529 -/* Protected by allocation/GC lock.                                    */
21530 -/* Some of this should be declared volatile, but that's inconsistent   */
21531 -/* with some library routine declarations.                             */
21532 -typedef struct GC_Thread_Rep {
21533 -    struct GC_Thread_Rep * next;  /* More recently allocated threads   */
21534 -                                 /* with a given pthread id come       */
21535 -                                 /* first.  (All but the first are     */
21536 -                                 /* guaranteed to be dead, but we may  */
21537 -                                 /* not yet have registered the join.) */
21538 -    pthread_t id;
21539 -    /* Extra bookkeeping information the stopping code uses */
21540 -    struct thread_stop_info stop_info;
21541 -    
21542 -    short flags;
21543 -#      define FINISHED 1       /* Thread has exited.   */
21544 -#      define DETACHED 2       /* Thread is intended to be detached.   */
21545 -#      define MAIN_THREAD 4    /* True for the original thread only.   */
21546 -    short thread_blocked;      /* Protected by GC lock.                */
21547 -                               /* Treated as a boolean value.  If set, */
21548 -                               /* thread will acquire GC lock before   */
21549 -                               /* doing any pointer manipulations, and */
21550 -                               /* has set its sp value.  Thus it does  */
21551 -                               /* not need to be sent a signal to stop */
21552 -                               /* it.                                  */
21553 -    ptr_t stack_end;           /* Cold end of the stack.               */
21554 -#   ifdef IA64
21555 -       ptr_t backing_store_end;
21556 -       ptr_t backing_store_ptr;
21557 -#   endif
21558 -    void * status;             /* The value returned from the thread.  */
21559 -                               /* Used only to avoid premature         */
21560 -                               /* reclamation of any data it might     */
21561 -                               /* reference.                           */
21562 -#   ifdef THREAD_LOCAL_ALLOC
21563 -#      if CPP_WORDSZ == 64 && defined(ALIGN_DOUBLE)
21564 -#          define GRANULARITY 16
21565 -#          define NFREELISTS 49
21566 -#      else
21567 -#          define GRANULARITY 8
21568 -#          define NFREELISTS 65
21569 -#      endif
21570 -       /* The ith free list corresponds to size i*GRANULARITY */
21571 -#      define INDEX_FROM_BYTES(n) ((ADD_SLOP(n) + GRANULARITY - 1)/GRANULARITY)
21572 -#      define BYTES_FROM_INDEX(i) ((i) * GRANULARITY - EXTRA_BYTES)
21573 -#      define SMALL_ENOUGH(bytes) (ADD_SLOP(bytes) <= \
21574 -                                   (NFREELISTS-1)*GRANULARITY)
21575 -       ptr_t ptrfree_freelists[NFREELISTS];
21576 -       ptr_t normal_freelists[NFREELISTS];
21577 -#      ifdef GC_GCJ_SUPPORT
21578 -         ptr_t gcj_freelists[NFREELISTS];
21579 -#      endif
21580 -               /* Free lists contain either a pointer or a small count */
21581 -               /* reflecting the number of granules allocated at that  */
21582 -               /* size.                                                */
21583 -               /* 0 ==> thread-local allocation in use, free list      */
21584 -               /*       empty.                                         */
21585 -               /* > 0, <= DIRECT_GRANULES ==> Using global allocation, */
21586 -               /*       too few objects of this size have been         */
21587 -               /*       allocated by this thread.                      */
21588 -               /* >= HBLKSIZE  => pointer to nonempty free list.       */
21589 -               /* > DIRECT_GRANULES, < HBLKSIZE ==> transition to      */
21590 -               /*    local alloc, equivalent to 0.                     */
21591 -#      define DIRECT_GRANULES (HBLKSIZE/GRANULARITY)
21592 -               /* Don't use local free lists for up to this much       */
21593 -               /* allocation.                                          */
21594 -#   endif
21595 -} * GC_thread;
21596 -
21597 -# define THREAD_TABLE_SZ 128   /* Must be power of 2   */
21598 -extern volatile GC_thread GC_threads[THREAD_TABLE_SZ];
21599 -
21600 -extern GC_bool GC_thr_initialized;
21601 -
21602 -GC_thread GC_lookup_thread(pthread_t id);
21603 -
21604 -void GC_stop_init();
21605 -
21606 -#endif /* GC_PTHREADS && !GC_SOLARIS_THREADS.... etc */
21607 -#endif /* GC_PTHREAD_SUPPORT_H */
21608 diff -Nur ../boehm-gc/include/private/solaris_threads.h boehm-gc/include/private/solaris_threads.h
21609 --- ../boehm-gc/include/private/solaris_threads.h       Mon May 26 13:28:24 2003
21610 +++ boehm-gc/include/private/solaris_threads.h  Tue Oct 23 16:21:39 2001
21611 @@ -16,8 +16,7 @@
21612  #      define DETACHED 2       /* Thread is intended to be detached.   */
21613  #      define CLIENT_OWNS_STACK        4
21614                                 /* Stack was supplied by client.        */
21615 -#      define SUSPNDED 8       /* Currently suspended.                 */
21616 -                              /* SUSPENDED is used insystem header.    */
21617 +#      define SUSPENDED 8      /* Currently suspended. */
21618      ptr_t stack;
21619      size_t stack_size;
21620      cond_t join_cv;
21621 diff -Nur ../boehm-gc/include/private/specific.h boehm-gc/include/private/specific.h
21622 --- ../boehm-gc/include/private/specific.h      Mon May 26 13:28:24 2003
21623 +++ boehm-gc/include/private/specific.h Fri Mar 29 14:52:13 2002
21624 @@ -85,7 +85,7 @@
21625      unsigned hash_val = CACHE_HASH(qtid);
21626      tse * volatile * entry_ptr = key -> cache + hash_val;
21627      tse * entry = *entry_ptr;   /* Must be loaded only once.   */
21628 -    if (EXPECT(entry -> qtid == qtid, 1)) {
21629 +    if (entry -> qtid == qtid) {
21630        GC_ASSERT(entry -> thread == pthread_self());
21631        return entry -> value;
21632      }
21633 diff -Nur ../boehm-gc/irix_threads.c boehm-gc/irix_threads.c
21634 --- ../boehm-gc/irix_threads.c  Mon May 26 12:48:52 2003
21635 +++ boehm-gc/irix_threads.c     Sun May 19 10:36:14 2002
21636 @@ -41,10 +41,6 @@
21637  #undef pthread_join
21638  #undef pthread_detach
21639  
21640 -#ifdef HANDLE_FORK
21641 -  --> Not yet supported.  Try porting the code from linux_threads.c.
21642 -#endif
21643 -
21644  void GC_thr_init();
21645  
21646  #if 0
21647 diff -Nur ../boehm-gc/mach_dep.c boehm-gc/mach_dep.c
21648 --- ../boehm-gc/mach_dep.c      Mon May 26 12:48:52 2003
21649 +++ boehm-gc/mach_dep.c Thu Jul 18 13:06:00 2002
21650 @@ -74,7 +74,7 @@
21651  /* on your architecture.  Run the test_setjmp program to see whether    */
21652  /* there is any chance it will work.                                    */
21653  
21654 -#if !defined(USE_GENERIC_PUSH_REGS) && !defined(USE_ASM_PUSH_REGS)
21655 +#ifndef USE_GENERIC_PUSH_REGS
21656  void GC_push_regs()
21657  {
21658  #       ifdef RT
21659 @@ -228,8 +228,7 @@
21660         || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) \
21661         || ( defined(I386) && defined(NETBSD) && defined(__ELF__) ) \
21662         || ( defined(I386) && defined(OPENBSD) && defined(__ELF__) ) \
21663 -       || ( defined(I386) && defined(HURD) && defined(__ELF__) ) \
21664 -       || ( defined(I386) && defined(DGUX) )
21665 +       || ( defined(I386) && defined(HURD) && defined(__ELF__) )
21666  
21667         /* This is modified for Linux with ELF (Note: _ELF_ only) */
21668         /* This section handles FreeBSD with ELF. */
21669 @@ -378,7 +377,7 @@
21670        /* other machines... */
21671  #       if !defined(M68K) && !defined(VAX) && !defined(RT) 
21672  #      if !defined(SPARC) && !defined(I386) && !defined(NS32K)
21673 -#      if !(defined(POWERPC) && defined(LINUX)) && !defined(UTS4) 
21674 +#      if !defined(POWERPC) && !defined(UTS4) 
21675  #       if !defined(PJ) && !(defined(MIPS) && defined(LINUX))
21676             --> bad news <--
21677  #      endif
21678 @@ -386,7 +385,7 @@
21679  #       endif
21680  #       endif
21681  }
21682 -#endif /* !USE_GENERIC_PUSH_REGS && !USE_ASM_PUSH_REGS */
21683 +#endif /* !USE_GENERIC_PUSH_REGS */
21684  
21685  #if defined(USE_GENERIC_PUSH_REGS)
21686  void GC_generic_push_regs(cold_gc_frame)
21687 diff -Nur ../boehm-gc/malloc.c boehm-gc/malloc.c
21688 --- ../boehm-gc/malloc.c        Mon May 26 12:48:52 2003
21689 +++ boehm-gc/malloc.c   Mon Feb 11 20:37:53 2002
21690 @@ -182,7 +182,6 @@
21691      ptr_t result;
21692      DCL_LOCK_STATE;
21693  
21694 -    if (GC_have_errors) GC_print_all_errors();
21695      GC_INVOKE_FINALIZERS();
21696      if (SMALL_OBJ(lb)) {
21697         DISABLE_SIGNALS();
21698 @@ -295,11 +294,6 @@
21699              return(GENERAL_MALLOC((word)lb, NORMAL));
21700          }
21701          /* See above comment on signals.       */
21702 -       GC_ASSERT(0 == obj_link(op)
21703 -                 || (word)obj_link(op)
21704 -                       <= (word)GC_greatest_plausible_heap_addr
21705 -                    && (word)obj_link(op)
21706 -                       >= (word)GC_least_plausible_heap_addr);
21707          *opp = obj_link(op);
21708          obj_link(op) = 0;
21709          GC_words_allocd += lw;
21710 @@ -344,7 +338,6 @@
21711      return((GC_PTR)REDIRECT_MALLOC(n*lb));
21712    }
21713  
21714 -#ifndef strdup
21715  # include <string.h>
21716  # ifdef __STDC__
21717      char *strdup(const char *s)
21718 @@ -353,16 +346,11 @@
21719      char *s;
21720  # endif
21721    {
21722 -    size_t len = strlen(s) + 1;
21723 +    size_t len = strlen + 1;
21724      char * result = ((char *)REDIRECT_MALLOC(len+1));
21725      BCOPY(s, result, len+1);
21726      return result;
21727    }
21728 -#endif /* !defined(strdup) */
21729 - /* If strdup is macro defined, we assume that it actually calls malloc, */
21730 - /* and thus the right thing will happen even without overriding it.    */
21731 - /* This seems to be true on most Linux systems.                        */
21732 -
21733  # endif /* REDIRECT_MALLOC */
21734  
21735  /* Explicitly deallocate an object p.                          */
21736 @@ -385,7 +373,6 @@
21737         /* Required by ANSI.  It's not my fault ...     */
21738      h = HBLKPTR(p);
21739      hhdr = HDR(h);
21740 -    GC_ASSERT(GC_base(p) == p);
21741  #   if defined(REDIRECT_MALLOC) && \
21742         (defined(GC_SOLARIS_THREADS) || defined(GC_LINUX_THREADS) \
21743          || defined(__MINGW32__)) /* Should this be MSWIN32 in general? */
21744 @@ -467,10 +454,7 @@
21745  }
21746  #endif /* THREADS */
21747  
21748 -# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_FREE)
21749 -#   define REDIRECT_FREE GC_free
21750 -# endif
21751 -# ifdef REDIRECT_FREE
21752 +# ifdef REDIRECT_MALLOC
21753  #   ifdef __STDC__
21754        void free(GC_PTR p)
21755  #   else
21756 @@ -479,7 +463,7 @@
21757  #   endif
21758    {
21759  #   ifndef IGNORE_FREE
21760 -      REDIRECT_FREE(p);
21761 +      GC_free(p);
21762  #   endif
21763    }
21764  # endif  /* REDIRECT_MALLOC */
21765 diff -Nur ../boehm-gc/mallocx.c boehm-gc/mallocx.c
21766 --- ../boehm-gc/mallocx.c       Mon May 26 12:48:52 2003
21767 +++ boehm-gc/mallocx.c  Fri Aug 17 18:04:43 2001
21768 @@ -142,11 +142,7 @@
21769      }
21770  }
21771  
21772 -# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_REALLOC)
21773 -#   define REDIRECT_REALLOC GC_realloc
21774 -# endif
21775 -
21776 -# ifdef REDIRECT_REALLOC
21777 +# if defined(REDIRECT_MALLOC) || defined(REDIRECT_REALLOC)
21778  # ifdef __STDC__
21779      GC_PTR realloc(GC_PTR p, size_t lb)
21780  # else
21781 @@ -155,9 +151,13 @@
21782      size_t lb;
21783  # endif
21784    {
21785 -    return(REDIRECT_REALLOC(p, lb));
21786 +#   ifdef REDIRECT_REALLOC
21787 +      return(REDIRECT_REALLOC(p, lb));
21788 +#   else
21789 +      return(GC_realloc(p, lb));
21790 +#   endif
21791    }
21792 -# endif /* REDIRECT_REALLOC */
21793 +# endif /* REDIRECT_MALLOC */
21794  
21795  
21796  /* The same thing, except caller does not hold allocation lock.        */
21797 @@ -177,7 +177,6 @@
21798      lw = ROUNDED_UP_WORDS(lb);
21799      n_blocks = OBJ_SZ_TO_BLOCKS(lw);
21800      init = GC_obj_kinds[k].ok_init;
21801 -    if (GC_have_errors) GC_print_all_errors();
21802      GC_INVOKE_FINALIZERS();
21803      DISABLE_SIGNALS();
21804      LOCK();
21805 @@ -287,7 +286,6 @@
21806  register ptr_t op;
21807  DCL_LOCK_STATE;
21808  
21809 -    if (GC_have_errors) GC_print_all_errors();
21810      GC_INVOKE_FINALIZERS();
21811      DISABLE_SIGNALS();
21812      LOCK();
21813 @@ -356,7 +354,6 @@
21814          return;
21815      }
21816      lw = ALIGNED_WORDS(lb);
21817 -    if (GC_have_errors) GC_print_all_errors();
21818      GC_INVOKE_FINALIZERS();
21819      DISABLE_SIGNALS();
21820      LOCK();
21821 @@ -378,7 +375,6 @@
21822         while ((hbp = *rlh) != 0) {
21823              hhdr = HDR(hbp);
21824              *rlh = hhdr -> hb_next;
21825 -           hhdr -> hb_last_reclaimed = (unsigned short) GC_gc_no;
21826  #          ifdef PARALLEL_MARK
21827                 {
21828                   signed_word my_words_allocd_tmp = GC_words_allocd_tmp;
21829 @@ -578,44 +574,6 @@
21830         return((GC_PTR) op);
21831      }
21832  }
21833 -
21834 -#ifdef __STDC__
21835 -/* Not well tested nor integrated.     */
21836 -/* Debug version is tricky and currently missing.      */
21837 -#include <limits.h>
21838 -
21839 -GC_PTR GC_memalign(size_t align, size_t lb) 
21840 -{ 
21841 -    size_t new_lb;
21842 -    size_t offset;
21843 -    ptr_t result;
21844 -
21845 -#   ifdef ALIGN_DOUBLE
21846 -       if (align <= WORDS_TO_BYTES(2) && lb > align) return GC_malloc(lb);
21847 -#   endif
21848 -    if (align <= WORDS_TO_BYTES(1)) return GC_malloc(lb);
21849 -    if (align >= HBLKSIZE/2 || lb >= HBLKSIZE/2) {
21850 -        if (align > HBLKSIZE) return GC_oom_fn(LONG_MAX-1024) /* Fail */;
21851 -       return GC_malloc(lb <= HBLKSIZE? HBLKSIZE : lb);
21852 -           /* Will be HBLKSIZE aligned.        */
21853 -    }
21854 -    /* We could also try to make sure that the real rounded-up object size */
21855 -    /* is a multiple of align.  That would be correct up to HBLKSIZE.     */
21856 -    new_lb = lb + align - 1;
21857 -    result = GC_malloc(new_lb);
21858 -    offset = (word)result % align;
21859 -    if (offset != 0) {
21860 -       offset = align - offset;
21861 -        if (!GC_all_interior_pointers) {
21862 -           if (offset >= VALID_OFFSET_SZ) return GC_malloc(HBLKSIZE);
21863 -           GC_register_displacement(offset);
21864 -       }
21865 -    }
21866 -    result = (GC_PTR) ((ptr_t)result + offset);
21867 -    GC_ASSERT((word)result % align == 0);
21868 -    return result;
21869 -}
21870 -#endif 
21871  
21872  # ifdef ATOMIC_UNCOLLECTABLE
21873  /* Allocate lb bytes of pointerfree, untraced, uncollectable data      */
21874 diff -Nur ../boehm-gc/mark.c boehm-gc/mark.c
21875 --- ../boehm-gc/mark.c  Mon May 26 12:48:52 2003
21876 +++ boehm-gc/mark.c     Fri Mar 29 14:52:12 2002
21877 @@ -19,10 +19,6 @@
21878  # include <stdio.h>
21879  # include "private/gc_pmark.h"
21880  
21881 -#if defined(MSWIN32) && defined(__GNUC__)
21882 -# include <excpt.h>
21883 -#endif
21884 -
21885  /* We put this here to minimize the risk of inlining. */
21886  /*VARARGS*/
21887  #ifdef __WATCOMC__
21888 @@ -265,20 +261,20 @@
21889  /* remains valid until all marking is complete.                */
21890  /* A zero value indicates that it's OK to miss some    */
21891  /* register values.                                    */
21892 -/* We hold the allocation lock.  In the case of        */
21893 -/* incremental collection, the world may not be stopped.*/
21894 -#ifdef MSWIN32
21895 -  /* For win32, this is called after we establish a structured */
21896 -  /* exception handler, in case Windows unmaps one of our root */
21897 -  /* segments.  See below.  In either case, we acquire the     */
21898 -  /* allocator lock long before we get here.                   */
21899 -  GC_bool GC_mark_some_inner(cold_gc_frame)
21900 -  ptr_t cold_gc_frame;
21901 -#else
21902 -  GC_bool GC_mark_some(cold_gc_frame)
21903 -  ptr_t cold_gc_frame;
21904 -#endif
21905 +GC_bool GC_mark_some(cold_gc_frame)
21906 +ptr_t cold_gc_frame;
21907  {
21908 +#if defined(MSWIN32) && !defined(__GNUC__)
21909 +  /* Windows 98 appears to asynchronously create and remove writable   */
21910 +  /* memory mappings, for reasons we haven't yet understood.  Since    */
21911 +  /* we look for writable regions to determine the root set, we may    */
21912 +  /* try to mark from an address range that disappeared since we       */
21913 +  /* started the collection.  Thus we have to recover from faults here. */
21914 +  /* This code does not appear to be necessary for Windows 95/NT/2000. */ 
21915 +  /* Note that this code should never generate an incremental GC write */
21916 +  /* fault.                                                            */
21917 +  __try {
21918 +#endif /* defined(MSWIN32) && !defined(__GNUC__) */
21919      switch(GC_mark_state) {
21920         case MS_NONE:
21921             return(FALSE);
21922 @@ -399,130 +395,23 @@
21923             ABORT("GC_mark_some: bad state");
21924             return(FALSE);
21925      }
21926 -}
21927 -
21928 -
21929 -#ifdef MSWIN32
21930 -
21931 -# ifdef __GNUC__
21932 -
21933 -    typedef struct {
21934 -      EXCEPTION_REGISTRATION ex_reg;
21935 -      void *alt_path;
21936 -    } ext_ex_regn;
21937 -
21938 -
21939 -    static EXCEPTION_DISPOSITION mark_ex_handler(
21940 -        struct _EXCEPTION_RECORD *ex_rec, 
21941 -        void *est_frame,
21942 -        struct _CONTEXT *context,
21943 -        void *disp_ctxt)
21944 -    {
21945 -        if (ex_rec->ExceptionCode == STATUS_ACCESS_VIOLATION) {
21946 -          ext_ex_regn *xer = (ext_ex_regn *)est_frame;
21947 -
21948 -          /* Unwind from the inner function assuming the standard */
21949 -          /* function prologue.                                   */
21950 -          /* Assumes code has not been compiled with              */
21951 -          /* -fomit-frame-pointer.                                */
21952 -          context->Esp = context->Ebp;
21953 -          context->Ebp = *((DWORD *)context->Esp);
21954 -          context->Esp = context->Esp - 8;
21955 -
21956 -          /* Resume execution at the "real" handler within the    */
21957 -          /* wrapper function.                                    */
21958 -          context->Eip = (DWORD )(xer->alt_path);
21959 -
21960 -          return ExceptionContinueExecution;
21961 -
21962 -        } else {
21963 -            return ExceptionContinueSearch;
21964 -        }
21965 -    }
21966 -# endif /* __GNUC__ */
21967 -
21968 -
21969 -  GC_bool GC_mark_some(cold_gc_frame)
21970 -  ptr_t cold_gc_frame;
21971 -  {
21972 -      GC_bool ret_val;
21973 -
21974 -#   ifndef __GNUC__
21975 -      /* Windows 98 appears to asynchronously create and remove  */
21976 -      /* writable memory mappings, for reasons we haven't yet    */
21977 -      /* understood.  Since we look for writable regions to      */
21978 -      /* determine the root set, we may try to mark from an      */
21979 -      /* address range that disappeared since we started the     */
21980 -      /* collection.  Thus we have to recover from faults here.  */
21981 -      /* This code does not appear to be necessary for Windows   */
21982 -      /* 95/NT/2000. Note that this code should never generate   */
21983 -      /* an incremental GC write fault.                          */
21984 -
21985 -      __try {
21986 -
21987 -#   else /* __GNUC__ */
21988 -
21989 -      /* Manually install an exception handler since GCC does    */
21990 -      /* not yet support Structured Exception Handling (SEH) on  */
21991 -      /* Win32.                                                  */
21992 -
21993 -      ext_ex_regn er;
21994 -
21995 -      er.alt_path = &&handle_ex;
21996 -      er.ex_reg.handler = mark_ex_handler;
21997 -      asm volatile ("movl %%fs:0, %0" : "=r" (er.ex_reg.prev));
21998 -      asm volatile ("movl %0, %%fs:0" : : "r" (&er));
21999 -
22000 -#   endif /* __GNUC__ */
22001 -
22002 -          ret_val = GC_mark_some_inner(cold_gc_frame);
22003 -
22004 -#   ifndef __GNUC__
22005 -
22006 -      } __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ?
22007 -                EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
22008 -
22009 -#   else /* __GNUC__ */
22010 -
22011 -          /* Prevent GCC from considering the following code unreachable */
22012 -          /* and thus eliminating it.                                    */
22013 -          if (er.alt_path != 0)
22014 -              goto rm_handler;
22015 -
22016 -handle_ex:
22017 -          /* Execution resumes from here on an access violation. */
22018 -
22019 -#   endif /* __GNUC__ */
22020 -
22021 -#         ifdef CONDPRINT
22022 -            if (GC_print_stats) {
22023 -             GC_printf0("Caught ACCESS_VIOLATION in marker. "
22024 -                        "Memory mapping disappeared.\n");
22025 -            }
22026 -#         endif /* CONDPRINT */
22027 -
22028 -          /* We have bad roots on the stack.  Discard mark stack.  */
22029 -          /* Rescan from marked objects.  Redetermine roots.    */
22030 -          GC_invalidate_mark_state();  
22031 -          scan_ptr = 0;
22032 -
22033 -          ret_val = FALSE;
22034 -
22035 -#   ifndef __GNUC__
22036 -
22037 +#if defined(MSWIN32) && !defined(__GNUC__)
22038 +  } __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ?
22039 +           EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
22040 +#   ifdef CONDPRINT
22041 +      if (GC_print_stats) {
22042 +       GC_printf0("Caught ACCESS_VIOLATION in marker. "
22043 +                  "Memory mapping disappeared.\n");
22044        }
22045 -
22046 -#   else /* __GNUC__ */
22047 -
22048 -rm_handler:
22049 -      /* Uninstall the exception handler */
22050 -      asm volatile ("mov %0, %%fs:0" : : "r" (er.ex_reg.prev));
22051 -
22052 -#   endif /* __GNUC__ */
22053 -
22054 -      return ret_val;
22055 +#   endif /* CONDPRINT */
22056 +    /* We have bad roots on the stack.  Discard mark stack.    */
22057 +    /* Rescan from marked objects.  Redetermine roots.         */
22058 +    GC_invalidate_mark_state();        
22059 +    scan_ptr = 0;
22060 +    return FALSE;
22061    }
22062 -#endif /* MSWIN32 */
22063 +#endif /* defined(MSWIN32) && !defined(__GNUC__) */
22064 +}
22065  
22066  
22067  GC_bool GC_mark_stack_empty()
22068 @@ -545,7 +434,13 @@
22069  /*       for the large object.                                         */
22070  /*     - just return current if it does not point to a large object.   */
22071  /*ARGSUSED*/
22072 -ptr_t GC_find_start(current, hhdr, new_hdr_p)
22073 +# ifdef PRINT_BLACK_LIST
22074 +  ptr_t GC_find_start(current, hhdr, new_hdr_p, source)
22075 +  ptr_t source;
22076 +# else
22077 +  ptr_t GC_find_start(current, hhdr, new_hdr_p)
22078 +# define source 0
22079 +# endif
22080  register ptr_t current;
22081  register hdr *hhdr, **new_hdr_p;
22082  {
22083 @@ -573,6 +468,7 @@
22084      } else {
22085          return(current);
22086      }
22087 +#   undef source
22088  }
22089  
22090  void GC_invalidate_mark_state()
22091 @@ -650,8 +546,8 @@
22092            /* Large length.                                             */
22093            /* Process part of the range to avoid pushing too much on the        */
22094            /* stack.                                                    */
22095 -         GC_ASSERT(descr < (word)GC_greatest_plausible_heap_addr
22096 -                           - (word)GC_least_plausible_heap_addr);
22097 +         GC_ASSERT(descr < GC_greatest_plausible_heap_addr
22098 +                           - GC_least_plausible_heap_addr);
22099  #        ifdef PARALLEL_MARK
22100  #          define SHARE_BYTES 2048
22101             if (descr > SHARE_BYTES && GC_parallel
22102 @@ -682,7 +578,6 @@
22103            while (descr != 0) {
22104              if ((signed_word)descr < 0) {
22105                current = *current_p;
22106 -             FIXUP_POINTER(current);
22107               if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) {
22108                 PREFETCH(current);
22109                  HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top,
22110 @@ -757,7 +652,6 @@
22111           PREFETCH((ptr_t)limit - PREF_DIST*CACHE_LINE_SIZE);
22112           GC_ASSERT(limit >= current_p);
22113           deferred = *limit;
22114 -         FIXUP_POINTER(deferred);
22115           limit = (word *)((char *)limit - ALIGNMENT);
22116           if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
22117             PREFETCH(deferred);
22118 @@ -767,7 +661,6 @@
22119           /* Unroll once, so we don't do too many of the prefetches     */
22120           /* based on limit.                                            */
22121           deferred = *limit;
22122 -         FIXUP_POINTER(deferred);
22123           limit = (word *)((char *)limit - ALIGNMENT);
22124           if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
22125             PREFETCH(deferred);
22126 @@ -782,7 +675,6 @@
22127         /* Since HC_PUSH_CONTENTS expands to a lot of code,     */
22128         /* we don't.                                            */
22129          current = *current_p;
22130 -       FIXUP_POINTER(current);
22131          PREFETCH((ptr_t)current_p + PREF_DIST*CACHE_LINE_SIZE);
22132          if ((ptr_t)current >= least_ha && (ptr_t)current <  greatest_ha) {
22133           /* Prefetch the contents of the object we just pushed.  It's  */
22134 @@ -834,33 +726,22 @@
22135      mse *top = local - 1;
22136      unsigned i = 0;
22137  
22138 -    /* Make sure that prior writes to the mark stack are visible. */
22139 -    /* On some architectures, the fact that the reads are        */
22140 -    /* volatile should suffice.                                          */
22141 -#   if !defined(IA64) && !defined(HP_PA) && !defined(I386)
22142 -      GC_memory_barrier();
22143 -#   endif
22144      GC_ASSERT(high >= low-1 && high - low + 1 <= GC_mark_stack_size);
22145      for (p = low; p <= high && i <= max; ++p) {
22146         word descr = *(volatile word *) &(p -> mse_descr);
22147 -       /* In the IA64 memory model, the following volatile store is    */
22148 -       /* ordered after this read of descr.  Thus a thread must read   */
22149 -       /* the original nonzero value.  HP_PA appears to be similar,    */
22150 -       /* and if I'm reading the P4 spec correctly, X86 is probably    */
22151 -       /* also OK.  In some other cases we need a barrier.             */
22152 -#       if !defined(IA64) && !defined(HP_PA) && !defined(I386)
22153 -          GC_memory_barrier();
22154 -#       endif
22155         if (descr != 0) {
22156             *(volatile word *) &(p -> mse_descr) = 0;
22157 -           /* More than one thread may get this entry, but that's only */
22158 -           /* a minor performance problem.                             */
22159             ++top;
22160             top -> mse_descr = descr;
22161             top -> mse_start = p -> mse_start;
22162             GC_ASSERT(  top -> mse_descr & GC_DS_TAGS != GC_DS_LENGTH || 
22163                         top -> mse_descr < GC_greatest_plausible_heap_addr
22164                                            - GC_least_plausible_heap_addr);
22165 +           /* There is no synchronization here.  We assume that at     */
22166 +           /* least one thread will see the original descriptor.       */
22167 +           /* Otherwise we need a barrier.                             */
22168 +           /* More than one thread may get this entry, but that's only */
22169 +           /* a minor performance problem.                             */
22170             /* If this is a big object, count it as                     */
22171             /* size/256 + 1 objects.                                    */
22172             ++i;
22173 @@ -897,7 +778,7 @@
22174        BCOPY(low, my_start, stack_size * sizeof(mse));
22175        GC_ASSERT(GC_mark_stack_top = my_top);
22176  #     if !defined(IA64) && !defined(HP_PA)
22177 -        GC_memory_barrier();
22178 +        GC_memory_write_barrier();
22179  #     endif
22180         /* On IA64, the volatile write acts as a release barrier. */
22181        GC_mark_stack_top = my_top + stack_size;
22182 @@ -1461,8 +1342,8 @@
22183  #   define GC_least_plausible_heap_addr least_ha
22184  
22185      if (top == 0) return;
22186 -    /* check all pointers in range and push if they appear     */
22187 -    /* to be valid.                                            */
22188 +    /* check all pointers in range and put in push if they appear */
22189 +    /* to be valid.                                              */
22190        lim = t - 1 /* longword */;
22191        for (p = b; p <= lim; p = (word *)(((char *)p) + ALIGNMENT)) {
22192         q = *p;
22193 @@ -1485,7 +1366,7 @@
22194  ptr_t top;
22195  ptr_t cold_gc_frame;
22196  {
22197 -  if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
22198 +  if (GC_all_interior_pointers) {
22199  #   define EAGER_BYTES 1024
22200      /* Push the hot end of the stack eagerly, so that register values   */
22201      /* saved inside GC frames are marked before they disappear.                */
22202 @@ -1494,7 +1375,6 @@
22203         GC_push_all_stack(bottom, top);
22204         return;
22205      }
22206 -    GC_ASSERT(bottom <= cold_gc_frame && cold_gc_frame <= top);
22207  #   ifdef STACK_GROWS_DOWN
22208         GC_push_all(cold_gc_frame - sizeof(ptr_t), top);
22209         GC_push_all_eager(bottom, cold_gc_frame);
22210 @@ -1515,7 +1395,7 @@
22211  ptr_t bottom;
22212  ptr_t top;
22213  {
22214 -  if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
22215 +  if (GC_all_interior_pointers) {
22216      GC_push_all(bottom, top);
22217    } else {
22218      GC_push_all_eager(bottom, top);
22219 diff -Nur ../boehm-gc/mark_rts.c boehm-gc/mark_rts.c
22220 --- ../boehm-gc/mark_rts.c      Mon May 26 12:48:52 2003
22221 +++ boehm-gc/mark_rts.c Mon Mar  3 22:38:29 2003
22222 @@ -275,72 +275,33 @@
22223  }
22224  
22225  /* Internal use only; lock held.       */
22226 -static void GC_remove_root_at_pos(i) 
22227 -int i;
22228 -{
22229 -    GC_root_size -= (GC_static_roots[i].r_end - GC_static_roots[i].r_start);
22230 -    GC_static_roots[i].r_start = GC_static_roots[n_root_sets-1].r_start;
22231 -    GC_static_roots[i].r_end = GC_static_roots[n_root_sets-1].r_end;
22232 -    GC_static_roots[i].r_tmp = GC_static_roots[n_root_sets-1].r_tmp;
22233 -    n_root_sets--;
22234 -}
22235 -
22236 -#if !defined(MSWIN32) && !defined(MSWINCE)
22237 -static void GC_rebuild_root_index()
22238 -{
22239 -    register int i;
22240 -       
22241 -    for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
22242 -    for (i = 0; i < n_root_sets; i++)
22243 -        add_roots_to_index(GC_static_roots + i);
22244 -}
22245 -#endif
22246 -
22247 -/* Internal use only; lock held.       */
22248  void GC_remove_tmp_roots()
22249  {
22250      register int i;
22251      
22252      for (i = 0; i < n_root_sets; ) {
22253         if (GC_static_roots[i].r_tmp) {
22254 -            GC_remove_root_at_pos(i);
22255 +           GC_root_size -=
22256 +               (GC_static_roots[i].r_end - GC_static_roots[i].r_start);
22257 +           GC_static_roots[i].r_start = GC_static_roots[n_root_sets-1].r_start;
22258 +           GC_static_roots[i].r_end = GC_static_roots[n_root_sets-1].r_end;
22259 +           GC_static_roots[i].r_tmp = GC_static_roots[n_root_sets-1].r_tmp;
22260 +           n_root_sets--;
22261         } else {
22262             i++;
22263         }
22264      }
22265 -    #if !defined(MSWIN32) && !defined(MSWINCE)
22266 -    GC_rebuild_root_index();
22267 -    #endif
22268 -}
22269 -
22270 -#if !defined(MSWIN32) && !defined(MSWINCE)
22271 -void GC_remove_roots(b, e)
22272 -char * b; char * e;
22273 -{
22274 -    DCL_LOCK_STATE;
22275 -    
22276 -    DISABLE_SIGNALS();
22277 -    LOCK();
22278 -    GC_remove_roots_inner(b, e);
22279 -    UNLOCK();
22280 -    ENABLE_SIGNALS();
22281 -}
22282 -
22283 -/* Should only be called when the lock is held */
22284 -void GC_remove_roots_inner(b,e)
22285 -char * b; char * e;
22286 -{
22287 -    int i;
22288 -    for (i = 0; i < n_root_sets; ) {
22289 -       if (GC_static_roots[i].r_start >= (ptr_t)b && GC_static_roots[i].r_end <= (ptr_t)e) {
22290 -            GC_remove_root_at_pos(i);
22291 -       } else {
22292 -           i++;
22293 -       }
22294 +#   if !defined(MSWIN32) && !defined(MSWINCE)
22295 +    {
22296 +       register int i;
22297 +       
22298 +       for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
22299 +       for (i = 0; i < n_root_sets; i++)
22300 +               add_roots_to_index(GC_static_roots + i);
22301      }
22302 -    GC_rebuild_root_index();
22303 +#   endif
22304 +    
22305  }
22306 -#endif /* !defined(MSWIN32) && !defined(MSWINCE) */
22307  
22308  #if defined(MSWIN32) || defined(_WIN32_WCE_EMULATION)
22309  /* Workaround for the OS mapping and unmapping behind our back:                */
22310 @@ -612,11 +573,8 @@
22311  
22312       /* Mark thread local free lists, even if their mark       */
22313       /* descriptor excludes the link field.                    */
22314 -     /* If the world is not stopped, this is unsafe.  It is    */
22315 -     /* also unnecessary, since we will do this again with the */
22316 -     /* world stopped.                                         */
22317  #      ifdef THREAD_LOCAL_ALLOC
22318 -         if (GC_world_stopped) GC_mark_thread_local_free_lists();
22319 +         GC_mark_thread_local_free_lists();
22320  #      endif
22321  
22322      /*
22323 diff -Nur ../boehm-gc/misc.c boehm-gc/misc.c
22324 --- ../boehm-gc/misc.c  Mon May 26 12:48:52 2003
22325 +++ boehm-gc/misc.c     Mon Mar  3 22:38:30 2003
22326 @@ -46,10 +46,8 @@
22327  #      ifdef GC_SOLARIS_THREADS
22328           mutex_t GC_allocate_ml;       /* Implicitly initialized.      */
22329  #      else
22330 -#          if defined(GC_WIN32_THREADS) 
22331 -#             if defined(GC_PTHREADS)
22332 -                 pthread_mutex_t GC_allocate_ml = PTHREAD_MUTEX_INITIALIZER;
22333 -#            elif defined(GC_DLL)
22334 +#          ifdef GC_WIN32_THREADS
22335 +#            if !defined(GC_NOT_DLL) && (defined(_DLL) || defined(GC_DLL))
22336                  __declspec(dllexport) CRITICAL_SECTION GC_allocate_ml;
22337  #            else
22338                  CRITICAL_SECTION GC_allocate_ml;
22339 @@ -77,8 +75,8 @@
22340  #undef STACKBASE
22341  #endif
22342  
22343 -/* Dont unnecessarily call GC_register_main_static_data() in case      */
22344 -/* dyn_load.c isn't linked in.                                         */
22345 +/* Dont unnecessarily call GC_register_main_static_data() in case      */
22346 +/* dyn_load.c isn't linked in.                                         */
22347  #ifdef DYNAMIC_LOADING
22348  # define GC_REGISTER_MAIN_STATIC_DATA() GC_register_main_static_data()
22349  #else
22350 @@ -92,7 +90,6 @@
22351         /* defined here so we don't have to load debug_malloc.o */
22352  
22353  void (*GC_check_heap) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
22354 -void (*GC_print_all_smashed) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
22355  
22356  void (*GC_start_call_back) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
22357  
22358 @@ -112,10 +109,6 @@
22359  
22360  GC_bool GC_print_back_height = 0;
22361  
22362 -#ifndef NO_DEBUGGING
22363 -  GC_bool GC_dump_regularly = 0;  /* Generate regular debugging dumps. */
22364 -#endif
22365 -
22366  #ifdef FIND_LEAK
22367    int GC_find_leak = 1;
22368  #else
22369 @@ -144,13 +137,6 @@
22370  
22371  extern signed_word GC_mem_found;
22372  
22373 -void * GC_project2(arg1, arg2)
22374 -void *arg1;
22375 -void *arg2;
22376 -{
22377 -  return arg2;
22378 -}
22379 -
22380  # ifdef MERGE_SIZES
22381      /* Set things up so that GC_size_map[i] >= words(i),               */
22382      /* but not too much bigger                                         */
22383 @@ -469,7 +455,7 @@
22384      
22385      DISABLE_SIGNALS();
22386  
22387 -#if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
22388 +#ifdef MSWIN32
22389      if (!GC_is_initialized) InitializeCriticalSection(&GC_allocate_ml);
22390  #endif /* MSWIN32 */
22391  
22392 @@ -487,15 +473,6 @@
22393           GC_init_parallel();
22394         }
22395  #   endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
22396 -
22397 -#   if defined(DYNAMIC_LOADING) && defined(DARWIN)
22398 -    {
22399 -        /* This must be called WITHOUT the allocation lock held
22400 -        and before any threads are created */
22401 -        extern void GC_init_dyld();
22402 -        GC_init_dyld();
22403 -    }
22404 -#   endif
22405  }
22406  
22407  #if defined(MSWIN32) || defined(MSWINCE)
22408 @@ -508,22 +485,6 @@
22409  
22410  extern void GC_setpagesize();
22411  
22412 -
22413 -#ifdef MSWIN32
22414 -extern GC_bool GC_no_win32_dlls;
22415 -#else
22416 -# define GC_no_win32_dlls FALSE
22417 -#endif
22418 -
22419 -void GC_exit_check GC_PROTO((void))
22420 -{
22421 -   GC_gcollect();
22422 -}
22423 -
22424 -#ifdef SEARCH_FOR_DATA_START
22425 -  extern void GC_init_linux_data_start GC_PROTO((void));
22426 -#endif
22427 -
22428  #ifdef UNIX_LIKE
22429  
22430  extern void GC_set_and_save_fault_handler GC_PROTO((void (*handler)(int)));
22431 @@ -534,23 +495,12 @@
22432      GC_err_printf1("Caught signal %d: looping in handler\n", sig);
22433      for(;;);
22434  }
22435 +#endif
22436  
22437 -static GC_bool installed_looping_handler = FALSE;
22438 -
22439 -void maybe_install_looping_handler()
22440 -{
22441 -    /* Install looping handler before the write fault handler, so we   */
22442 -    /* handle write faults correctly.                                  */
22443 -      if (!installed_looping_handler && 0 != GETENV("GC_LOOP_ON_ABORT")) {
22444 -        GC_set_and_save_fault_handler(looping_handler);
22445 -        installed_looping_handler = TRUE;
22446 -      }
22447 -}
22448 -
22449 -#else /* !UNIX_LIKE */
22450 -
22451 -# define maybe_install_looping_handler()
22452 -
22453 +#ifdef MSWIN32
22454 +extern GC_bool GC_no_win32_dlls;
22455 +#else
22456 +# define GC_no_win32_dlls FALSE
22457  #endif
22458  
22459  void GC_init_inner()
22460 @@ -565,21 +515,14 @@
22461        GC_print_stats = 1;
22462  #   endif
22463  #   if defined(MSWIN32) || defined(MSWINCE)
22464 -      InitializeCriticalSection(&GC_write_cs);
22465 +       InitializeCriticalSection(&GC_write_cs);
22466  #   endif
22467 +
22468      if (0 != GETENV("GC_PRINT_STATS")) {
22469        GC_print_stats = 1;
22470      } 
22471 -#   ifndef NO_DEBUGGING
22472 -      if (0 != GETENV("GC_DUMP_REGULARLY")) {
22473 -        GC_dump_regularly = 1;
22474 -      }
22475 -#   endif
22476      if (0 != GETENV("GC_FIND_LEAK")) {
22477        GC_find_leak = 1;
22478 -#     ifdef __STDC__
22479 -        atexit(GC_exit_check);
22480 -#     endif
22481      }
22482      if (0 != GETENV("GC_ALL_INTERIOR_POINTERS")) {
22483        GC_all_interior_pointers = 1;
22484 @@ -617,7 +560,11 @@
22485          }
22486        }
22487      }
22488 -    maybe_install_looping_handler();
22489 +#   ifdef UNIX_LIKE
22490 +      if (0 != GETENV("GC_LOOP_ON_ABORT")) {
22491 +        GC_set_and_save_fault_handler(looping_handler);
22492 +      }
22493 +#   endif
22494      /* Adjust normal object descriptor for extra allocation.   */
22495      if (ALIGNMENT > GC_DS_TAGS && EXTRA_BYTES != 0) {
22496        GC_obj_kinds[NORMAL].ok_descriptor = ((word)(-ALIGNMENT) | GC_DS_LENGTH);
22497 @@ -652,21 +599,11 @@
22498  #       if defined(LINUX) && defined(IA64)
22499           GC_register_stackbottom = GC_get_register_stack_base();
22500  #       endif
22501 -      } else {
22502 -#       if defined(LINUX) && defined(IA64)
22503 -         if (GC_register_stackbottom == 0) {
22504 -           WARN("GC_register_stackbottom should be set with GC_stackbottom", 0);
22505 -           /* The following is likely to fail, since we rely on        */
22506 -           /* alignment properties that may not hold with a user set   */
22507 -           /* GC_stackbottom.                                          */
22508 -           GC_register_stackbottom = GC_get_register_stack_base();
22509 -         }
22510 -#      endif
22511        }
22512  #   endif
22513 -    GC_STATIC_ASSERT(sizeof (ptr_t) == sizeof(word));
22514 -    GC_STATIC_ASSERT(sizeof (signed_word) == sizeof(word));
22515 -    GC_STATIC_ASSERT(sizeof (struct hblk) == HBLKSIZE);
22516 +    GC_ASSERT(sizeof (ptr_t) == sizeof(word));
22517 +    GC_ASSERT(sizeof (signed_word) == sizeof(word));
22518 +    GC_ASSERT(sizeof (struct hblk) == HBLKSIZE);
22519  #   ifndef THREADS
22520  #     if defined(STACK_GROWS_UP) && defined(STACK_GROWS_DOWN)
22521         ABORT(
22522 @@ -705,18 +642,6 @@
22523           initial_heap_sz = divHBLKSZ(initial_heap_sz);
22524         }
22525      }
22526 -    {
22527 -       char * sz_str = GETENV("GC_MAXIMUM_HEAP_SIZE");
22528 -       if (sz_str != NULL) {
22529 -         word max_heap_sz = (word)atol(sz_str);
22530 -         if (max_heap_sz < initial_heap_sz * HBLKSIZE) {
22531 -           WARN("Bad maximum heap size %s - ignoring it.\n",
22532 -                sz_str);
22533 -         } 
22534 -         if (0 == GC_max_retries) GC_max_retries = 2;
22535 -         GC_set_max_heap_size(max_heap_sz);
22536 -       }
22537 -    }
22538      if (!GC_expand_hp_inner(initial_heap_sz)) {
22539          GC_err_printf0("Can't start up: not enough memory\n");
22540          EXIT();
22541 @@ -752,7 +677,6 @@
22542         GC_incremental = TRUE;
22543        }
22544  #   endif /* !SMALL_CONFIG */
22545 -    COND_DUMP;
22546      /* Get black list set up and/or incrmental GC started */
22547        if (!GC_dont_precollect || GC_incremental) GC_gcollect_inner();
22548      GC_is_initialized = TRUE;
22549 @@ -788,9 +712,8 @@
22550      if (GC_incremental) goto out;
22551      GC_setpagesize();
22552      if (GC_no_win32_dlls) goto out;
22553 -#   ifndef GC_SOLARIS_THREADS 
22554 -      maybe_install_looping_handler();  /* Before write fault handler! */
22555 -      GC_dirty_init();
22556 +#   ifndef GC_SOLARIS_THREADS
22557 +        GC_dirty_init();
22558  #   endif
22559      if (!GC_is_initialized) {
22560          GC_init_inner();
22561 @@ -1009,17 +932,6 @@
22562      return(result);
22563  }
22564  
22565 -# if defined(__STDC__) || defined(__cplusplus)
22566 -    GC_word GC_set_free_space_divisor (GC_word value)
22567 -# else
22568 -    GC_word GC_set_free_space_divisor (value)
22569 -    GC_word value;
22570 -# endif
22571 -{
22572 -    GC_word old = GC_free_space_divisor;
22573 -    GC_free_space_divisor = value;
22574 -    return old;
22575 -}
22576  
22577  #ifndef PCR
22578  void GC_abort(msg)
22579 @@ -1046,18 +958,122 @@
22580  }
22581  #endif
22582  
22583 +#ifdef NEED_CALLINFO
22584 +
22585 +#ifdef HAVE_BUILTIN_BACKTRACE
22586 +# include <execinfo.h>
22587 +# ifdef LINUX
22588 +#   include <unistd.h>
22589 +# endif
22590 +#endif
22591 +
22592 +void GC_print_callers (info)
22593 +struct callinfo info[NFRAMES];
22594 +{
22595 +    register int i;
22596 +    
22597 +#   if NFRAMES == 1
22598 +      GC_err_printf0("\tCaller at allocation:\n");
22599 +#   else
22600 +      GC_err_printf0("\tCall chain at allocation:\n");
22601 +#   endif
22602 +    for (i = 0; i < NFRAMES; i++) {
22603 +       if (info[i].ci_pc == 0) break;
22604 +#      if NARGS > 0
22605 +       {
22606 +         int j;
22607 +
22608 +         GC_err_printf0("\t\targs: ");
22609 +         for (j = 0; j < NARGS; j++) {
22610 +           if (j != 0) GC_err_printf0(", ");
22611 +           GC_err_printf2("%d (0x%X)", ~(info[i].ci_arg[j]),
22612 +                                       ~(info[i].ci_arg[j]));
22613 +         }
22614 +         GC_err_printf0("\n");
22615 +       }
22616 +#      endif
22617 +#      if defined(HAVE_BUILTIN_BACKTRACE) && !defined(REDIRECT_MALLOC)
22618 +         /* Unfortunately backtrace_symbols calls malloc, which makes  */
22619 +         /* it dangersous if that has been redirected.                 */
22620 +         {
22621 +           char **sym_name =
22622 +             backtrace_symbols((void **)(&(info[i].ci_pc)), 1);
22623 +           char *name = sym_name[0];
22624 +           GC_bool found_it = (strchr(name, '(') != 0);
22625 +           FILE *pipe;
22626 +#          ifdef LINUX
22627 +             if (!found_it) {
22628 +#              define EXE_SZ 100
22629 +               static char exe_name[EXE_SZ];
22630 +#              define CMD_SZ 200
22631 +               char cmd_buf[CMD_SZ];
22632 +#              define RESULT_SZ 200
22633 +               static char result_buf[RESULT_SZ];
22634 +               size_t result_len;
22635 +               static GC_bool found_exe_name = FALSE;
22636 +               static GC_bool will_fail = FALSE;
22637 +               int ret_code;
22638 +               /* Unfortunately, this is the common case for the       */
22639 +               /* main executable.                                     */
22640 +               /* Try to get it via a hairy and expensive scheme.      */
22641 +               /* First we get the name of the executable:             */
22642 +               if (will_fail) goto out;
22643 +               if (!found_exe_name) { 
22644 +                 ret_code = readlink("/proc/self/exe", exe_name, EXE_SZ);
22645 +                 if (ret_code < 0 || ret_code >= EXE_SZ || exe_name[0] != '/') {
22646 +                   will_fail = TRUE;   /* Dont try again. */
22647 +                   goto out;
22648 +                 }
22649 +                 exe_name[ret_code] = '\0';
22650 +                 found_exe_name = TRUE;
22651 +               }
22652 +               /* Then we use popen to start addr2line -e <exe> <addr> */
22653 +               /* There are faster ways to do this, but hopefully this */
22654 +               /* isn't time critical.                                 */
22655 +               sprintf(cmd_buf, "/usr/bin/addr2line -e %s 0x%lx", exe_name,
22656 +                                (unsigned long)info[i].ci_pc);
22657 +               pipe = popen(cmd_buf, "r");
22658 +               if (pipe < 0 || fgets(result_buf, RESULT_SZ, pipe) == 0) {
22659 +                 will_fail = TRUE;
22660 +                 goto out;
22661 +               }
22662 +               result_len = strlen(result_buf);
22663 +               if (result_buf[result_len - 1] == '\n') --result_len;
22664 +               if (result_buf[0] == '?'
22665 +                   || result_buf[result_len-2] == ':' 
22666 +                      && result_buf[result_len-1] == '0')
22667 +                   goto out;
22668 +               if (result_len < RESULT_SZ - 25) {
22669 +                 /* Add in hex address */
22670 +                   sprintf(result_buf + result_len, " [0x%lx]",
22671 +                         (unsigned long)info[i].ci_pc);
22672 +               }
22673 +               name = result_buf;
22674 +               pclose(pipe);
22675 +               out:
22676 +             }
22677 +#          endif
22678 +           GC_err_printf1("\t\t%s\n", name);
22679 +           free(sym_name);
22680 +         }
22681 +#      else
22682 +         GC_err_printf1("\t\t##PC##= 0x%lx\n", info[i].ci_pc);
22683 +#      endif
22684 +    }
22685 +}
22686 +
22687 +#endif /* SAVE_CALL_CHAIN */
22688 +
22689 +/* Needed by SRC_M3, gcj, and should perhaps be the official interface */
22690 +/* to GC_dont_gc.                                                      */
22691  void GC_enable()
22692  {
22693 -    LOCK();
22694      GC_dont_gc--;
22695 -    UNLOCK();
22696  }
22697  
22698  void GC_disable()
22699  {
22700 -    LOCK();
22701      GC_dont_gc++;
22702 -    UNLOCK();
22703  }
22704  
22705  #if !defined(NO_DEBUGGING)
22706 @@ -1072,8 +1088,6 @@
22707      GC_print_hblkfreelist();
22708      GC_printf0("\n***Blocks in use:\n");
22709      GC_print_block_list();
22710 -    GC_printf0("\n***Finalization statistics:\n");
22711 -    GC_print_finalization_stats();
22712  }
22713  
22714  #endif /* NO_DEBUGGING */
22715 diff -Nur ../boehm-gc/os_dep.c boehm-gc/os_dep.c
22716 --- ../boehm-gc/os_dep.c        Sat May 31 14:46:38 2003
22717 +++ boehm-gc/os_dep.c   Fri Jul 19 01:54:43 2002
22718 @@ -80,17 +80,14 @@
22719  #   define NEED_FIND_LIMIT
22720  # endif
22721  
22722 -#if defined(FREEBSD) && defined(I386)
22723 -#  include <machine/trap.h>
22724 -#  if !defined(PCR)
22725 -#    define NEED_FIND_LIMIT
22726 -#  endif
22727 -#endif
22728 -
22729  #ifdef NEED_FIND_LIMIT
22730  #   include <setjmp.h>
22731  #endif
22732  
22733 +#if defined(FREEBSD) && defined(I386)
22734 +#  include <machine/trap.h>
22735 +#endif
22736 +
22737  #ifdef AMIGA
22738  # define GC_AMIGA_DEF
22739  # include "AmigaOS.c"
22740 @@ -132,11 +129,6 @@
22741  # define jmp_buf sigjmp_buf
22742  #endif
22743  
22744 -#ifdef DARWIN
22745 -/* for get_etext and friends */
22746 -#include <mach-o/getsect.h>
22747 -#endif
22748 -
22749  #ifdef DJGPP
22750    /* Apparently necessary for djgpp 2.01.  May cause problems with     */
22751    /* other versions.                                                   */
22752 @@ -155,155 +147,6 @@
22753  # define OPT_PROT_EXEC 0
22754  #endif
22755  
22756 -#if defined(LINUX) && \
22757 -    (defined(USE_PROC_FOR_LIBRARIES) || defined(IA64) || !defined(SMALL_CONFIG))
22758 -
22759 -/* We need to parse /proc/self/maps, either to find dynamic libraries, */
22760 -/* and/or to find the register backing store base (IA64).  Do it once  */
22761 -/* here.                                                               */
22762 -
22763 -#define READ read
22764 -
22765 -/* Repeatedly perform a read call until the buffer is filled or        */
22766 -/* we encounter EOF.                                           */
22767 -ssize_t GC_repeat_read(int fd, char *buf, size_t count)
22768 -{
22769 -    ssize_t num_read = 0;
22770 -    ssize_t result;
22771 -    
22772 -    while (num_read < count) {
22773 -       result = READ(fd, buf + num_read, count - num_read);
22774 -       if (result < 0) return result;
22775 -       if (result == 0) break;
22776 -       num_read += result;
22777 -    }
22778 -    return num_read;
22779 -}
22780 -
22781 -/*
22782 - * Apply fn to a buffer containing the contents of /proc/self/maps.
22783 - * Return the result of fn or, if we failed, 0.
22784 - */
22785 -
22786 -word GC_apply_to_maps(word (*fn)(char *))
22787 -{
22788 -    int f;
22789 -    int result;
22790 -    int maps_size;
22791 -    char maps_temp[32768];
22792 -    char *maps_buf;
22793 -
22794 -    /* Read /proc/self/maps    */
22795 -        /* Note that we may not allocate, and thus can't use stdio.    */
22796 -        f = open("/proc/self/maps", O_RDONLY);
22797 -        if (-1 == f) return 0;
22798 -       /* stat() doesn't work for /proc/self/maps, so we have to
22799 -          read it to find out how large it is... */
22800 -       maps_size = 0;
22801 -       do {
22802 -           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
22803 -           if (result <= 0) return 0;
22804 -           maps_size += result;
22805 -       } while (result == sizeof(maps_temp));
22806 -
22807 -       if (maps_size > sizeof(maps_temp)) {
22808 -           /* If larger than our buffer, close and re-read it. */
22809 -           close(f);
22810 -           f = open("/proc/self/maps", O_RDONLY);
22811 -           if (-1 == f) return 0;
22812 -           maps_buf = alloca(maps_size);
22813 -           if (NULL == maps_buf) return 0;
22814 -           result = GC_repeat_read(f, maps_buf, maps_size);
22815 -           if (result <= 0) return 0;
22816 -       } else {
22817 -           /* Otherwise use the fixed size buffer */
22818 -           maps_buf = maps_temp;
22819 -       }
22820 -
22821 -       close(f);
22822 -        maps_buf[result] = '\0';
22823 -       
22824 -    /* Apply fn to result. */
22825 -       return fn(maps_buf);
22826 -}
22827 -
22828 -#endif /* Need GC_apply_to_maps */
22829 -
22830 -#if defined(LINUX) && (defined(USE_PROC_FOR_LIBRARIES) || defined(IA64))
22831 -//
22832 -//  GC_parse_map_entry parses an entry from /proc/self/maps so we can
22833 -//  locate all writable data segments that belong to shared libraries.
22834 -//  The format of one of these entries and the fields we care about
22835 -//  is as follows:
22836 -//  XXXXXXXX-XXXXXXXX r-xp 00000000 30:05 260537     name of mapping...\n
22837 -//  ^^^^^^^^ ^^^^^^^^ ^^^^          ^^
22838 -//  start    end      prot          maj_dev
22839 -//  0        9        18            32
22840 -//  
22841 -//  For 64 bit ABIs:
22842 -//  0       17       34            56
22843 -//
22844 -//  The parser is called with a pointer to the entry and the return value
22845 -//  is either NULL or is advanced to the next entry(the byte after the
22846 -//  trailing '\n'.)
22847 -//
22848 -#if CPP_WORDSZ == 32
22849 -# define OFFSET_MAP_START   0
22850 -# define OFFSET_MAP_END     9
22851 -# define OFFSET_MAP_PROT   18
22852 -# define OFFSET_MAP_MAJDEV 32
22853 -# define ADDR_WIDTH        8
22854 -#endif
22855 -
22856 -#if CPP_WORDSZ == 64
22857 -# define OFFSET_MAP_START   0
22858 -# define OFFSET_MAP_END    17
22859 -# define OFFSET_MAP_PROT   34
22860 -# define OFFSET_MAP_MAJDEV 56
22861 -# define ADDR_WIDTH       16
22862 -#endif
22863 -
22864 -/*
22865 - * Assign various fields of the first line in buf_ptr to *start, *end,
22866 - * *prot_buf and *maj_dev.  Only *prot_buf may be set for unwritable maps.
22867 - */
22868 -char *GC_parse_map_entry(char *buf_ptr, word *start, word *end,
22869 -                                char *prot_buf, unsigned int *maj_dev)
22870 -{
22871 -    int i;
22872 -    char *tok;
22873 -
22874 -    if (buf_ptr == NULL || *buf_ptr == '\0') {
22875 -        return NULL;
22876 -    }
22877 -
22878 -    memcpy(prot_buf, buf_ptr+OFFSET_MAP_PROT, 4); // do the protections first
22879 -    prot_buf[4] = '\0';
22880 -
22881 -    if (prot_buf[1] == 'w') { // we can skip all of this if it's not writable
22882 -
22883 -        tok = buf_ptr;
22884 -        buf_ptr[OFFSET_MAP_START+ADDR_WIDTH] = '\0';
22885 -        *start = strtoul(tok, NULL, 16);
22886 -
22887 -        tok = buf_ptr+OFFSET_MAP_END;
22888 -        buf_ptr[OFFSET_MAP_END+ADDR_WIDTH] = '\0';
22889 -        *end = strtoul(tok, NULL, 16);
22890 -
22891 -        buf_ptr += OFFSET_MAP_MAJDEV;
22892 -        tok = buf_ptr;
22893 -        while (*buf_ptr != ':') buf_ptr++;
22894 -        *buf_ptr++ = '\0';
22895 -        *maj_dev = strtoul(tok, NULL, 16);
22896 -    }
22897 -
22898 -    while (*buf_ptr && *buf_ptr++ != '\n');
22899 -
22900 -    return buf_ptr;
22901 -}
22902 -
22903 -#endif /* Need to parse /proc/self/maps. */    
22904 -
22905  #if defined(SEARCH_FOR_DATA_START)
22906    /* The I386 case can be handled without a search.  The Alpha case    */
22907    /* used to be handled differently as well, but the rules changed     */
22908 @@ -311,11 +154,6 @@
22909    /* cover all versions.                                               */
22910  
22911  # ifdef LINUX
22912 -    /* Some Linux distributions arrange to define __data_start.  Some  */
22913 -    /* define data_start as a weak symbol.  The latter is technically  */
22914 -    /* broken, since the user program may define data_start, in which  */
22915 -    /* case we lose.  Nonetheless, we try both, prefering __data_start.        */
22916 -    /* We assume gcc-compatible pragmas.       */
22917  #   pragma weak __data_start
22918      extern int __data_start[];
22919  #   pragma weak data_start
22920 @@ -331,16 +169,16 @@
22921  
22922  #   ifdef LINUX
22923        /* Try the easy approaches first:        */
22924 -      if ((ptr_t)__data_start != 0) {
22925 -         GC_data_start = (ptr_t)(__data_start);
22926 +      if (__data_start != 0) {
22927 +         GC_data_start = (ptr_t)__data_start;
22928           return;
22929        }
22930 -      if ((ptr_t)data_start != 0) {
22931 -         GC_data_start = (ptr_t)(data_start);
22932 +      if (data_start != 0) {
22933 +         GC_data_start = (ptr_t)data_start;
22934           return;
22935        }
22936  #   endif /* LINUX */
22937 -    GC_data_start = GC_find_limit((ptr_t)(_end), FALSE);
22938 +    GC_data_start = GC_find_limit((ptr_t)_end, FALSE);
22939    }
22940  #endif
22941  
22942 @@ -703,7 +541,7 @@
22943        handler h;
22944  #   endif
22945      {
22946 -#      if defined(SUNOS5SIGS) || defined(IRIX5)  \
22947 +#     if defined(SUNOS5SIGS) || defined(IRIX5)  \
22948          || defined(OSF1) || defined(HURD)
22949           struct sigaction      act;
22950  
22951 @@ -763,68 +601,67 @@
22952      
22953      void GC_reset_fault_handler()
22954      {
22955 -#       if defined(SUNOS5SIGS) || defined(IRIX5) \
22956 -          || defined(OSF1) || defined(HURD)
22957 -         (void) sigaction(SIGSEGV, &old_segv_act, 0);
22958 -#        if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
22959 -            || defined(HPUX) || defined(HURD)
22960 -             (void) sigaction(SIGBUS, &old_bus_act, 0);
22961 -#        endif
22962 -#       else
22963 -         (void) signal(SIGSEGV, old_segv_handler);
22964 -#        ifdef SIGBUS
22965 -           (void) signal(SIGBUS, old_bus_handler);
22966 -#        endif
22967 -#       endif
22968 +#     if defined(SUNOS5SIGS) || defined(IRIX5) \
22969 +        || defined(OSF1) || defined(HURD)
22970 +       (void) sigaction(SIGSEGV, &old_segv_act, 0);
22971 +#      if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
22972 +          || defined(HPUX) || defined(HURD)
22973 +           (void) sigaction(SIGBUS, &old_bus_act, 0);
22974 +#      endif
22975 +#      else
22976 +       (void) signal(SIGSEGV, old_segv_handler);
22977 +#      ifdef SIGBUS
22978 +         (void) signal(SIGBUS, old_bus_handler);
22979 +#      endif
22980 +#     endif
22981      }
22982  
22983      /* Return the first nonaddressible location > p (up) or    */
22984 -    /* the smallest location q s.t. [q,p) is addressable (!up).        */
22985 -    /* We assume that p (up) or p-1 (!up) is addressable.      */
22986 +    /* the smallest location q s.t. [q,p] is addressible (!up).        */
22987      ptr_t GC_find_limit(p, up)
22988      ptr_t p;
22989      GC_bool up;
22990      {
22991 -        static VOLATILE ptr_t result;
22992 -               /* Needs to be static, since otherwise it may not be    */
22993 -               /* preserved across the longjmp.  Can safely be         */
22994 -               /* static since it's only called once, with the         */
22995 -               /* allocation lock held.                                */
22996 -
22997 -
22998 -       GC_setup_temporary_fault_handler();
22999 -       if (setjmp(GC_jmp_buf) == 0) {
23000 -           result = (ptr_t)(((word)(p))
23001 -                             & ~(MIN_PAGE_SIZE-1));
23002 -           for (;;) {
23003 -               if (up) {
23004 -                   result += MIN_PAGE_SIZE;
23005 -               } else {
23006 -                   result -= MIN_PAGE_SIZE;
23007 -               }
23008 -               GC_noop1((word)(*result));
23009 -           }
23010 -       }
23011 -       GC_reset_fault_handler();
23012 -       if (!up) {
23013 +      static VOLATILE ptr_t result;
23014 +               /* Needs to be static, since otherwise it may not be    */
23015 +               /* preserved across the longjmp.  Can safely be         */
23016 +               /* static since it's only called once, with the         */
23017 +               /* allocation lock held.                                */
23018 +
23019 +
23020 +      GC_setup_temporary_fault_handler();
23021 +      if (setjmp(GC_jmp_buf) == 0) {
23022 +       result = (ptr_t)(((word)(p))
23023 +                        & ~(MIN_PAGE_SIZE-1));
23024 +       for (;;) {
23025 +         if (up) {
23026             result += MIN_PAGE_SIZE;
23027 -       }
23028 -       return(result);
23029 +         } else {
23030 +           result -= MIN_PAGE_SIZE;
23031 +         }
23032 +         GC_noop1((word)(*result));
23033 +       }
23034 +      }
23035 +      GC_reset_fault_handler();
23036 +      if (!up) {
23037 +       result += MIN_PAGE_SIZE;
23038 +      }
23039 +      return(result);
23040      }
23041  # endif
23042  
23043 -#if defined(ECOS) || defined(NOSYS)
23044 -  ptr_t GC_get_stack_base()
23045 -  {
23046 -    return STACKBOTTOM;
23047 -  }
23048 -#endif
23049 +# if defined(ECOS) || defined(NOSYS)
23050 +ptr_t GC_get_stack_base()
23051 +{
23052 +  return STACKBOTTOM;
23053 +}
23054 +
23055 +#else
23056  
23057  #ifdef LINUX_STACKBOTTOM
23058  
23059  #include <sys/types.h>
23060  #include <sys/stat.h>
23061 -#include <ctype.h>
23062  
23063  # define STAT_SKIP 27   /* Number of fields preceding startstack       */
23064                         /* field in /proc/self/stat                     */
23065 @@ -833,33 +670,6 @@
23066    extern ptr_t __libc_stack_end;
23067  
23068  # ifdef IA64
23069 -    /* Try to read the backing store base from /proc/self/maps.        */
23070 -    /* We look for the writable mapping with a 0 major device,  */
23071 -    /* which is        as close to our frame as possible, but below it.*/
23072 -    static word backing_store_base_from_maps(char *maps)
23073 -    {
23074 -      char prot_buf[5];
23075 -      char *buf_ptr = maps;
23076 -      word start, end;
23077 -      unsigned int maj_dev;
23078 -      word current_best = 0;
23079 -      word dummy;
23080 -  
23081 -      for (;;) {
23082 -        buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
23083 -       if (buf_ptr == NULL) return current_best;
23084 -       if (prot_buf[1] == 'w' && maj_dev == 0) {
23085 -           if (end < (word)(&dummy) && start > current_best) current_best = start;
23086 -       }
23087 -      }
23088 -      return current_best;
23089 -    }
23090 -
23091 -    static word backing_store_base_from_proc(void)
23092 -    {
23093 -        return GC_apply_to_maps(backing_store_base_from_maps);
23094 -    }
23095 -
23096  #   pragma weak __libc_ia64_register_backing_store_base
23097      extern ptr_t __libc_ia64_register_backing_store_base;
23098  
23099 @@ -873,15 +683,9 @@
23100         /* Hence we check for both nonzero address and value.           */
23101         return __libc_ia64_register_backing_store_base;
23102        } else {
23103 -       word result = backing_store_base_from_proc();
23104 -       if (0 == result) {
23105 -         /* Use dumb heuristics.  Works only for default configuration. */
23106 -         result = (word)GC_stackbottom - BACKING_STORE_DISPLACEMENT;
23107 -         result += BACKING_STORE_ALIGNMENT - 1;
23108 -         result &= ~(BACKING_STORE_ALIGNMENT - 1);
23109 -         /* Verify that it's at least readable.  If not, we goofed. */
23110 -         GC_noop1(*(word *)result); 
23111 -       }
23112 +       word result = (word)GC_stackbottom - BACKING_STORE_DISPLACEMENT;
23113 +       result += BACKING_STORE_ALIGNMENT - 1;
23114 +       result &= ~(BACKING_STORE_ALIGNMENT - 1);
23115         return (ptr_t)result;
23116        }
23117      }
23118 @@ -893,8 +697,11 @@
23119      /* using direct I/O system calls in order to avoid calling malloc   */
23120      /* in case REDIRECT_MALLOC is defined.                             */ 
23121  #   define STAT_BUF_SIZE 4096
23122 -#   define STAT_READ read
23123 -         /* Should probably call the real read, if read is wrapped.    */
23124 +#   if defined(GC_USE_LD_WRAP)
23125 +#      define STAT_READ __real_read
23126 +#   else
23127 +#      define STAT_READ read
23128 +#   endif    
23129      char stat_buf[STAT_BUF_SIZE];
23130      int f;
23131      char c;
23132 @@ -903,16 +710,7 @@
23133  
23134      /* First try the easy way.  This should work for glibc 2.2 */
23135        if (0 != &__libc_stack_end) {
23136 -#       ifdef IA64
23137 -         /* Some versions of glibc set the address 16 bytes too        */
23138 -         /* low while the initialization code is running.              */
23139 -         if (((word)__libc_stack_end & 0xfff) + 0x10 < 0x1000) {
23140 -           return __libc_stack_end + 0x10;
23141 -         } /* Otherwise it's not safe to add 16 bytes and we fall      */
23142 -           /* back to using /proc.                                     */
23143 -#      else 
23144 -         return __libc_stack_end;
23145 -#      endif
23146 +       return __libc_stack_end;
23147        }
23148      f = open("/proc/self/stat", O_RDONLY);
23149      if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
23150 @@ -966,11 +764,8 @@
23151  
23152  ptr_t GC_get_stack_base()
23153  {
23154 -#   if defined(HEURISTIC1) || defined(HEURISTIC2) || \
23155 -       defined(LINUX_STACKBOTTOM) || defined(FREEBSD_STACKBOTTOM)
23156 -        word dummy;
23157 -        ptr_t result;
23158 -#   endif
23159 +    word dummy;
23160 +    ptr_t result;
23161  
23162  #   define STACKBOTTOM_ALIGNMENT_M1 ((word)STACK_GRAN - 1)
23163  
23164 @@ -1019,6 +814,7 @@
23165         return(result);
23166  #   endif /* STACKBOTTOM */
23167  }
23168 +# endif /* NOSYS ECOS */
23169  
23170  # endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS */
23171  
23172 @@ -1128,14 +924,15 @@
23173    /* Unfortunately, we have to handle win32s very differently from NT,         */
23174    /* Since VirtualQuery has very different semantics.  In particular,  */
23175    /* under win32s a VirtualQuery call on an unmapped page returns an   */
23176 -  /* invalid result.  Under NT, GC_register_data_segments is a noop and        */
23177 +  /* invalid result.  Under GC_register_data_segments is a noop and    */
23178    /* all real work is done by GC_register_dynamic_libraries.  Under    */
23179    /* win32s, we cannot find the data segments associated with dll's.   */
23180 -  /* We register the main data segment here.                           */
23181 +  /* We rgister the main data segment here.                            */
23182 +#  ifdef __GCC__
23183 +  GC_bool GC_no_win32_dlls = TRUE;      /* GCC can't do SEH, so we can't use VirtualQuery */
23184 +#  else
23185    GC_bool GC_no_win32_dlls = FALSE;     
23186 -       /* This used to be set for gcc, to avoid dealing with           */
23187 -       /* the structured exception handling issues.  But we now have   */
23188 -       /* assembly code to do that right.                              */
23189 +#  endif
23190    
23191    void GC_init_win32()
23192    {
23193 @@ -1167,102 +964,36 @@
23194      return(p);
23195    }
23196  # endif
23197 -
23198 -# ifndef REDIRECT_MALLOC
23199 -  /* We maintain a linked list of AllocationBase values that we know   */
23200 -  /* correspond to malloc heap sections.  Currently this is only called */
23201 -  /* during a GC.  But there is some hope that for long running                */
23202 -  /* programs we will eventually see most heap sections.               */
23203 -
23204 -  /* In the long run, it would be more reliable to occasionally walk   */
23205 -  /* the malloc heap with HeapWalk on the default heap.  But that      */
23206 -  /* apparently works only for NT-based Windows.                       */ 
23207 -
23208 -  /* In the long run, a better data structure would also be nice ...   */
23209 -  struct GC_malloc_heap_list {
23210 -    void * allocation_base;
23211 -    struct GC_malloc_heap_list *next;
23212 -  } *GC_malloc_heap_l = 0;
23213 -
23214 -  /* Is p the base of one of the malloc heap sections we already know  */
23215 -  /* about?                                                            */
23216 -  GC_bool GC_is_malloc_heap_base(ptr_t p)
23217 -  {
23218 -    struct GC_malloc_heap_list *q = GC_malloc_heap_l;
23219 -
23220 -    while (0 != q) {
23221 -      if (q -> allocation_base == p) return TRUE;
23222 -      q = q -> next;
23223 -    }
23224 -    return FALSE;
23225 -  }
23226 -
23227 -  void *GC_get_allocation_base(void *p)
23228 -  {
23229 -    MEMORY_BASIC_INFORMATION buf;
23230 -    DWORD result = VirtualQuery(p, &buf, sizeof(buf));
23231 -    if (result != sizeof(buf)) {
23232 -      ABORT("Weird VirtualQuery result");
23233 -    }
23234 -    return buf.AllocationBase;
23235 -  }
23236 -
23237 -  size_t GC_max_root_size = 100000;    /* Appr. largest root size.     */
23238 -
23239 -  void GC_add_current_malloc_heap()
23240 -  {
23241 -    struct GC_malloc_heap_list *new_l =
23242 -                 malloc(sizeof(struct GC_malloc_heap_list));
23243 -    void * candidate = GC_get_allocation_base(new_l);
23244 -
23245 -    if (new_l == 0) return;
23246 -    if (GC_is_malloc_heap_base(candidate)) {
23247 -      /* Try a little harder to find malloc heap.                      */
23248 -       size_t req_size = 10000;
23249 -       do {
23250 -         void *p = malloc(req_size);
23251 -         if (0 == p) { free(new_l); return; }
23252 -         candidate = GC_get_allocation_base(p);
23253 -         free(p);
23254 -         req_size *= 2;
23255 -       } while (GC_is_malloc_heap_base(candidate)
23256 -                && req_size < GC_max_root_size/10 && req_size < 500000);
23257 -       if (GC_is_malloc_heap_base(candidate)) {
23258 -         free(new_l); return;
23259 -       }
23260 -    }
23261 -#   ifdef CONDPRINT
23262 -      if (GC_print_stats)
23263 -         GC_printf1("Found new system malloc AllocationBase at 0x%lx\n",
23264 -                     candidate);
23265 -#   endif
23266 -    new_l -> allocation_base = candidate;
23267 -    new_l -> next = GC_malloc_heap_l;
23268 -    GC_malloc_heap_l = new_l;
23269 -  }
23270 -# endif /* REDIRECT_MALLOC */
23271    
23272    /* Is p the start of either the malloc heap, or of one of our */
23273    /* heap sections?                                            */
23274    GC_bool GC_is_heap_base (ptr_t p)
23275    {
23276       
23277 -     unsigned i;
23278 +     register unsigned i;
23279       
23280  #    ifndef REDIRECT_MALLOC
23281 -       static word last_gc_no = -1;
23282 +       static ptr_t malloc_heap_pointer = 0;
23283       
23284 -       if (last_gc_no != GC_gc_no) {
23285 -        GC_add_current_malloc_heap();
23286 -        last_gc_no = GC_gc_no;
23287 +       if (0 == malloc_heap_pointer) {
23288 +         MEMORY_BASIC_INFORMATION buf;
23289 +         void *pTemp = malloc( 1 );
23290 +         register DWORD result = VirtualQuery(pTemp, &buf, sizeof(buf));
23291 +           
23292 +         free( pTemp );
23293 +
23294 +         
23295 +         if (result != sizeof(buf)) {
23296 +             ABORT("Weird VirtualQuery result");
23297 +         }
23298 +         malloc_heap_pointer = (ptr_t)(buf.AllocationBase);
23299         }
23300 -       if (GC_root_size > GC_max_root_size) GC_max_root_size = GC_root_size;
23301 -       if (GC_is_malloc_heap_base(p)) return TRUE;
23302 +       if (p == malloc_heap_pointer) return(TRUE);
23303  #    endif
23304       for (i = 0; i < GC_n_heap_bases; i++) {
23305 -         if (GC_heap_bases[i] == p) return TRUE;
23306 +         if (GC_heap_bases[i] == p) return(TRUE);
23307       }
23308 -     return FALSE ;
23309 +     return(FALSE);
23310    }
23311  
23312  # ifdef MSWIN32
23313 @@ -1312,7 +1043,7 @@
23314  
23315  # if (defined(SVR4) || defined(AUX) || defined(DGUX) \
23316        || (defined(LINUX) && defined(SPARC))) && !defined(PCR)
23317 -ptr_t GC_SysVGetDataStart(max_page_size, etext_addr)
23318 +char * GC_SysVGetDataStart(max_page_size, etext_addr)
23319  int max_page_size;
23320  int * etext_addr;
23321  {
23322 @@ -1338,43 +1069,10 @@
23323         /* string constants in the text segment, but after etext.       */
23324         /* Use plan B.  Note that we now know there is a gap between    */
23325         /* text and data segments, so plan A bought us something.       */
23326 -       result = (char *)GC_find_limit((ptr_t)(DATAEND), FALSE);
23327 +       result = (char *)GC_find_limit((ptr_t)(DATAEND) - MIN_PAGE_SIZE, FALSE);
23328      }
23329 -    return((ptr_t)result);
23330 -}
23331 -# endif
23332 -
23333 -# if defined(FREEBSD) && defined(I386) && !defined(PCR)
23334 -/* Its unclear whether this should be identical to the above, or       */
23335 -/* whether it should apply to non-X86 architectures.                   */
23336 -/* For now we don't assume that there is always an empty page after    */
23337 -/* etext.  But in some cases there actually seems to be slightly more.  */
23338 -/* This also deals with holes between read-only data and writable data.        */
23339 -ptr_t GC_FreeBSDGetDataStart(max_page_size, etext_addr)
23340 -int max_page_size;
23341 -int * etext_addr;
23342 -{
23343 -    word text_end = ((word)(etext_addr) + sizeof(word) - 1)
23344 -                    & ~(sizeof(word) - 1);
23345 -       /* etext rounded to word boundary       */
23346 -    VOLATILE word next_page = (text_end + (word)max_page_size - 1)
23347 -                             & ~((word)max_page_size - 1);
23348 -    VOLATILE ptr_t result = (ptr_t)text_end;
23349 -    GC_setup_temporary_fault_handler();
23350 -    if (setjmp(GC_jmp_buf) == 0) {
23351 -       /* Try reading at the address.                          */
23352 -       /* This should happen before there is another thread.   */
23353 -       for (; next_page < (word)(DATAEND); next_page += (word)max_page_size)
23354 -           *(VOLATILE char *)next_page;
23355 -       GC_reset_fault_handler();
23356 -    } else {
23357 -       GC_reset_fault_handler();
23358 -       /* As above, we go to plan B    */
23359 -       result = GC_find_limit((ptr_t)(DATAEND), FALSE);
23360 -    }
23361 -    return(result);
23362 +    return((char *)result);
23363  }
23364 -
23365  # endif
23366  
23367  
23368 @@ -1388,7 +1086,8 @@
23369  
23370  void GC_register_data_segments()
23371  {
23372 -#   if !defined(PCR) && !defined(SRC_M3) && !defined(MACOS)
23373 +#   if !defined(PCR) && !defined(SRC_M3) && !defined(NEXT) && !defined(MACOS) \
23374 +       && !defined(MACOSX)
23375  #     if defined(REDIRECT_MALLOC) && defined(GC_SOLARIS_THREADS)
23376         /* As of Solaris 2.3, the Solaris threads implementation        */
23377         /* allocates the data structure for the initial thread with     */
23378 @@ -1405,6 +1104,9 @@
23379  #       endif
23380  #     endif
23381  #   endif
23382 +#   if !defined(PCR) && (defined(NEXT) || defined(MACOSX))
23383 +      GC_add_roots_inner(DATASTART, (char *) get_end(), FALSE);
23384 +#   endif
23385  #   if defined(MACOS)
23386      {
23387  #   if defined(THINK_C)
23388 @@ -1514,28 +1216,18 @@
23389  ptr_t GC_unix_get_mem(bytes)
23390  word bytes;
23391  {
23392 +    static GC_bool initialized = FALSE;
23393 +    static int fd;
23394      void *result;
23395      static ptr_t last_addr = HEAP_START;
23396  
23397 -#   ifndef USE_MMAP_ANON
23398 -      static GC_bool initialized = FALSE;
23399 -      static int fd;
23400 -
23401 -      if (!initialized) {
23402 -         fd = open("/dev/zero", O_RDONLY);
23403 -         fcntl(fd, F_SETFD, FD_CLOEXEC);
23404 -         initialized = TRUE;
23405 -      }
23406 -#   endif
23407 -
23408 +    if (!initialized) {
23409 +       fd = open("/dev/zero", O_RDONLY);
23410 +       initialized = TRUE;
23411 +    }
23412      if (bytes & (GC_page_size -1)) ABORT("Bad GET_MEM arg");
23413 -#   ifdef USE_MMAP_ANON
23414 -      result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23415 -                   GC_MMAP_FLAGS | MAP_ANON, -1, 0/* offset */);
23416 -#   else
23417 -      result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23418 -                   GC_MMAP_FLAGS, fd, 0/* offset */);
23419 -#   endif
23420 +    result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23421 +                 GC_MMAP_FLAGS, fd, 0/* offset */);
23422      if (result == MAP_FAILED) return(0);
23423      last_addr = (ptr_t)result + bytes + GC_page_size - 1;
23424      last_addr = (ptr_t)((word)last_addr & ~(GC_page_size - 1));
23425 @@ -1630,15 +1322,7 @@
23426          result = (ptr_t) GlobalAlloc(0, bytes + HBLKSIZE);
23427          result = (ptr_t)(((word)result + HBLKSIZE) & ~(HBLKSIZE-1));
23428      } else {
23429 -       /* VirtualProtect only works on regions returned by a   */
23430 -       /* single VirtualAlloc call.  Thus we allocate one      */
23431 -       /* extra page, which will prevent merging of blocks     */
23432 -       /* in separate regions, and eliminate any temptation    */
23433 -       /* to call VirtualProtect on a range spanning regions.  */
23434 -       /* This wastes a small amount of memory, and risks      */
23435 -       /* increased fragmentation.  But better alternatives    */
23436 -       /* would require effort.                                */
23437 -        result = (ptr_t) VirtualAlloc(NULL, bytes + 1,
23438 +        result = (ptr_t) VirtualAlloc(NULL, bytes,
23439                                       MEM_COMMIT | MEM_RESERVE,
23440                                       PAGE_EXECUTE_READWRITE);
23441      }
23442 @@ -1694,10 +1378,6 @@
23443         /* Reserve more pages */
23444         word res_bytes = (bytes + GC_sysinfo.dwAllocationGranularity-1)
23445                          & ~(GC_sysinfo.dwAllocationGranularity-1);
23446 -       /* If we ever support MPROTECT_VDB here, we will probably need to       */
23447 -       /* ensure that res_bytes is strictly > bytes, so that VirtualProtect    */
23448 -       /* never spans regions.  It seems to be OK for a VirtualFree argument   */
23449 -       /* to span regions, so we should be OK for now.                         */
23450         result = (ptr_t) VirtualAlloc(NULL, res_bytes,
23451                                       MEM_RESERVE | MEM_TOP_DOWN,
23452                                       PAGE_EXECUTE_READWRITE);
23453 @@ -1828,7 +1508,6 @@
23454        }
23455  #   else
23456        if (-1 == zero_descr) zero_descr = open("/dev/zero", O_RDWR);
23457 -      fcntl(zero_descr, F_SETFD, FD_CLOEXEC);
23458        if (0 == start_addr) return;
23459        result = mmap(start_addr, len, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23460                     MAP_FIXED | MAP_PRIVATE, zero_descr, 0);
23461 @@ -2015,6 +1694,7 @@
23462   *             make sure that other system calls are similarly protected
23463   *             or write only to the stack.
23464   */
23465
23466  GC_bool GC_dirty_maintained = FALSE;
23467  
23468  # ifdef DEFAULT_VDB
23469 @@ -2028,9 +1708,6 @@
23470  /* Initialize virtual dirty bit implementation.                        */
23471  void GC_dirty_init()
23472  {
23473 -#ifdef PRINTSTATS
23474 -    GC_printf0("Initializing DEFAULT_VDB...\n");
23475 -#endif
23476      GC_dirty_maintained = TRUE;
23477  }
23478  
23479 @@ -2099,21 +1776,17 @@
23480  /*
23481   * This implementation maintains dirty bits itself by catching write
23482   * faults and keeping track of them.  We assume nobody else catches
23483 - * SIGBUS or SIGSEGV.  We assume no write faults occur in system calls.
23484 - * This means that clients must ensure that system calls don't write
23485 - * to the write-protected heap.  Probably the best way to do this is to
23486 - * ensure that system calls write at most to POINTERFREE objects in the
23487 - * heap, and do even that only if we are on a platform on which those
23488 - * are not protected.  Another alternative is to wrap system calls
23489 - * (see example for read below), but the current implementation holds
23490 - * a lock across blocking calls, making it problematic for multithreaded
23491 - * applications. 
23492 + * SIGBUS or SIGSEGV.  We assume no write faults occur in system calls
23493 + * except as a result of a read system call.  This means clients must
23494 + * either ensure that system calls do not touch the heap, or must
23495 + * provide their own wrappers analogous to the one for read.
23496   * We assume the page size is a multiple of HBLKSIZE.
23497 - * We prefer them to be the same.  We avoid protecting POINTERFREE
23498 - * objects only if they are the same.
23499 + * This implementation is currently SunOS 4.X and IRIX 5.X specific, though we
23500 + * tried to use portable code where easily possible.  It is known
23501 + * not to work under a number of other systems.
23502   */
23503  
23504 -# if !defined(MSWIN32) && !defined(MSWINCE) && !defined(DARWIN)
23505 +# if !defined(MSWIN32) && !defined(MSWINCE)
23506  
23507  #   include <sys/mman.h>
23508  #   include <signal.h>
23509 @@ -2132,23 +1805,6 @@
23510           
23511  # else
23512  
23513 -# ifdef DARWIN
23514 -    /* Using vm_protect (mach syscall) over mprotect (BSD syscall) seems to
23515 -       decrease the likelihood of some of the problems described below. */
23516 -    #include <mach/vm_map.h>
23517 -    extern mach_port_t GC_task_self;
23518 -    #define PROTECT(addr,len) \
23519 -        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
23520 -                FALSE,VM_PROT_READ) != KERN_SUCCESS) { \
23521 -            ABORT("vm_portect failed"); \
23522 -        }
23523 -    #define UNPROTECT(addr,len) \
23524 -        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
23525 -                FALSE,VM_PROT_READ|VM_PROT_WRITE) != KERN_SUCCESS) { \
23526 -            ABORT("vm_portect failed"); \
23527 -        }
23528 -# else
23529 -    
23530  #   ifndef MSWINCE
23531  #     include <signal.h>
23532  #   endif
23533 @@ -2166,22 +1822,20 @@
23534                               &protect_junk)) { \
23535             ABORT("un-VirtualProtect failed"); \
23536           }
23537 -# endif /* !DARWIN */
23538 -# endif /* MSWIN32 || MSWINCE || DARWIN */
23539 +         
23540 +# endif
23541  
23542  #if defined(SUNOS4) || defined(FREEBSD)
23543      typedef void (* SIG_PF)();
23544 -#endif /* SUNOS4 || FREEBSD */
23545 -
23546 +#endif
23547  #if defined(SUNOS5SIGS) || defined(OSF1) || defined(LINUX) \
23548 -    || defined(HURD)
23549 +    || defined(MACOSX) || defined(HURD)
23550  # ifdef __STDC__
23551      typedef void (* SIG_PF)(int);
23552  # else
23553      typedef void (* SIG_PF)();
23554  # endif
23555 -#endif /* SUNOS5SIGS || OSF1 || LINUX || HURD */
23556 -
23557 +#endif
23558  #if defined(MSWIN32)
23559      typedef LPTOP_LEVEL_EXCEPTION_FILTER SIG_PF;
23560  #   undef SIG_DFL
23561 @@ -2195,8 +1849,7 @@
23562  
23563  #if defined(IRIX5) || defined(OSF1) || defined(HURD)
23564      typedef void (* REAL_SIG_PF)(int, int, struct sigcontext *);
23565 -#endif /* IRIX5 || OSF1 || HURD */
23566 -
23567 +#endif
23568  #if defined(SUNOS5SIGS)
23569  # ifdef HPUX
23570  #   define SIGINFO __siginfo
23571 @@ -2208,14 +1861,13 @@
23572  # else
23573      typedef void (* REAL_SIG_PF)();
23574  # endif
23575 -#endif /* SUNOS5SIGS */
23576 -
23577 +#endif
23578  #if defined(LINUX)
23579  #   if __GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2
23580        typedef struct sigcontext s_c;
23581  #   else  /* glibc < 2.2 */
23582  #     include <linux/version.h>
23583 -#     if (LINUX_VERSION_CODE >= 0x20100) && !defined(M68K) || defined(ALPHA) || defined(ARM32)
23584 +#     if (LINUX_VERSION_CODE >= 0x20100) && !defined(M68K) || defined(ALPHA)
23585          typedef struct sigcontext s_c;
23586  #     else
23587          typedef struct sigcontext_struct s_c;
23588 @@ -2243,14 +1895,139 @@
23589         return (char *)faultaddr;
23590      }
23591  #   endif /* !ALPHA */
23592 -# endif /* LINUX */
23593 +# endif
23594 +
23595 +# if defined(MACOSX) /* Should also test for PowerPC? */
23596 +    typedef void (* REAL_SIG_PF)(int, int, struct sigcontext *);
23597 +
23598 +/* Decodes the machine instruction which was responsible for the sending of the
23599 +   SIGBUS signal. Sadly this is the only way to find the faulting address because
23600 +   the signal handler doesn't get it directly from the kernel (although it is
23601 +   available on the Mach level, but droppped by the BSD personality before it
23602 +   calls our signal handler...)
23603 +   This code should be able to deal correctly with all PPCs starting from the
23604 +   601 up to and including the G4s (including Velocity Engine). */
23605 +#define EXTRACT_OP1(iw)     (((iw) & 0xFC000000) >> 26)
23606 +#define EXTRACT_OP2(iw)     (((iw) & 0x000007FE) >> 1)
23607 +#define EXTRACT_REGA(iw)    (((iw) & 0x001F0000) >> 16)
23608 +#define EXTRACT_REGB(iw)    (((iw) & 0x03E00000) >> 21)
23609 +#define EXTRACT_REGC(iw)    (((iw) & 0x0000F800) >> 11)
23610 +#define EXTRACT_DISP(iw)    ((short *) &(iw))[1]
23611 +
23612 +static char *get_fault_addr(struct sigcontext *scp)
23613 +{
23614 +   unsigned int   instr = *((unsigned int *) scp->sc_ir);
23615 +   unsigned int * regs = &((unsigned int *) scp->sc_regs)[2];
23616 +   int            disp = 0, tmp;
23617 +   unsigned int   baseA = 0, baseB = 0;
23618 +   unsigned int   addr, alignmask = 0xFFFFFFFF;
23619 +
23620 +#ifdef GC_DEBUG_DECODER
23621 +   GC_err_printf1("Instruction: 0x%lx\n", instr);
23622 +   GC_err_printf1("Opcode 1: d\n", (int)EXTRACT_OP1(instr));
23623 +#endif
23624 +   switch(EXTRACT_OP1(instr)) {
23625 +      case 38:   /* stb */
23626 +      case 39:   /* stbu */
23627 +      case 54:   /* stfd */
23628 +      case 55:   /* stfdu */
23629 +      case 52:   /* stfs */
23630 +      case 53:   /* stfsu */
23631 +      case 44:   /* sth */
23632 +      case 45:   /* sthu */
23633 +      case 47:   /* stmw */
23634 +      case 36:   /* stw */
23635 +      case 37:   /* stwu */
23636 +            tmp = EXTRACT_REGA(instr);
23637 +            if(tmp > 0)
23638 +               baseA = regs[tmp];
23639 +            disp = EXTRACT_DISP(instr);
23640 +            break;
23641 +      case 31:
23642 +#ifdef GC_DEBUG_DECODER
23643 +            GC_err_printf1("Opcode 2: %d\n", (int)EXTRACT_OP2(instr));
23644 +#endif
23645 +            switch(EXTRACT_OP2(instr)) {
23646 +               case 86:    /* dcbf */
23647 +               case 54:    /* dcbst */
23648 +               case 1014:  /* dcbz */
23649 +               case 247:   /* stbux */
23650 +               case 215:   /* stbx */
23651 +               case 759:   /* stfdux */
23652 +               case 727:   /* stfdx */
23653 +               case 983:   /* stfiwx */
23654 +               case 695:   /* stfsux */
23655 +               case 663:   /* stfsx */
23656 +               case 918:   /* sthbrx */
23657 +               case 439:   /* sthux */
23658 +               case 407:   /* sthx */
23659 +               case 661:   /* stswx */
23660 +               case 662:   /* stwbrx */
23661 +               case 150:   /* stwcx. */
23662 +               case 183:   /* stwux */
23663 +               case 151:   /* stwx */
23664 +               case 135:   /* stvebx */
23665 +               case 167:   /* stvehx */
23666 +               case 199:   /* stvewx */
23667 +               case 231:   /* stvx */
23668 +               case 487:   /* stvxl */
23669 +                     tmp = EXTRACT_REGA(instr);
23670 +                     if(tmp > 0)
23671 +                        baseA = regs[tmp];
23672 +                        baseB = regs[EXTRACT_REGC(instr)];
23673 +                        /* determine Altivec alignment mask */
23674 +                        switch(EXTRACT_OP2(instr)) {
23675 +                           case 167:   /* stvehx */
23676 +                                 alignmask = 0xFFFFFFFE;
23677 +                                 break;
23678 +                           case 199:   /* stvewx */
23679 +                                 alignmask = 0xFFFFFFFC;
23680 +                                 break;
23681 +                           case 231:   /* stvx */
23682 +                                 alignmask = 0xFFFFFFF0;
23683 +                                 break;
23684 +                           case 487:  /* stvxl */
23685 +                                 alignmask = 0xFFFFFFF0;
23686 +                                 break;
23687 +                        }
23688 +                        break;
23689 +               case 725:   /* stswi */
23690 +                     tmp = EXTRACT_REGA(instr);
23691 +                     if(tmp > 0)
23692 +                        baseA = regs[tmp];
23693 +                        break;
23694 +               default:   /* ignore instruction */
23695 +#ifdef GC_DEBUG_DECODER
23696 +                     GC_err_printf("Ignored by inner handler\n");
23697 +#endif
23698 +                     return NULL;
23699 +                    break;
23700 +            }
23701 +            break;
23702 +      default:   /* ignore instruction */
23703 +#ifdef GC_DEBUG_DECODER
23704 +            GC_err_printf("Ignored by main handler\n");
23705 +#endif
23706 +            return NULL;
23707 +            break;
23708 +   }
23709 +       
23710 +   addr = (baseA + baseB) + disp;
23711 +  addr &= alignmask;
23712 +#ifdef GC_DEBUG_DECODER
23713 +   GC_err_printf1("BaseA: %d\n", baseA);
23714 +   GC_err_printf1("BaseB: %d\n", baseB);
23715 +   GC_err_printf1("Disp:  %d\n", disp);
23716 +   GC_err_printf1("Address: %d\n", addr);
23717 +#endif
23718 +   return (char *)addr;
23719 +}
23720 +#endif /* MACOSX */
23721  
23722 -#ifndef DARWIN
23723  SIG_PF GC_old_bus_handler;
23724  SIG_PF GC_old_segv_handler;    /* Also old MSWIN32 ACCESS_VIOLATION filter */
23725 -#endif /* !DARWIN */
23726  
23727 -#if defined(THREADS)
23728 +#ifdef THREADS
23729  /* We need to lock around the bitmap update in the write fault handler */
23730  /* in order to avoid the risk of losing a bit.  We do this with a      */
23731  /* test-and-set spin lock if we know how to do that.  Otherwise we     */
23732 @@ -2299,7 +2076,6 @@
23733  #endif /* !THREADS */
23734  
23735  /*ARGSUSED*/
23736 -#if !defined(DARWIN)
23737  # if defined (SUNOS4) || defined(FREEBSD)
23738      void GC_write_fault_handler(sig, code, scp, addr)
23739      int sig, code;
23740 @@ -2315,8 +2091,7 @@
23741  #     define SIG_OK (sig == SIGBUS)
23742  #     define CODE_OK (code == BUS_PAGE_FAULT)
23743  #   endif
23744 -# endif /* SUNOS4 || FREEBSD */
23745 -
23746 +# endif
23747  # if defined(IRIX5) || defined(OSF1) || defined(HURD)
23748  #   include <errno.h>
23749      void GC_write_fault_handler(int sig, int code, struct sigcontext *scp)
23750 @@ -2332,8 +2107,7 @@
23751  #     define SIG_OK (sig == SIGBUS || sig == SIGSEGV)  
23752  #     define CODE_OK  TRUE
23753  #   endif
23754 -# endif /* IRIX5 || OSF1 || HURD */
23755 -
23756 +# endif
23757  # if defined(LINUX)
23758  #   if defined(ALPHA) || defined(M68K)
23759        void GC_write_fault_handler(int sig, int code, s_c * sc)
23760 @@ -2341,11 +2115,7 @@
23761  #     if defined(IA64) || defined(HP_PA)
23762          void GC_write_fault_handler(int sig, siginfo_t * si, s_c * scp)
23763  #     else
23764 -#       if defined(ARM32)
23765 -          void GC_write_fault_handler(int sig, int a2, int a3, int a4, s_c sc)
23766 -#       else
23767 -          void GC_write_fault_handler(int sig, s_c sc)
23768 -#       endif
23769 +        void GC_write_fault_handler(int sig, s_c sc)
23770  #     endif
23771  #   endif
23772  #   define SIG_OK (sig == SIGSEGV)
23773 @@ -2353,8 +2123,7 @@
23774         /* Empirically c.trapno == 14, on IA32, but is that useful?     */
23775         /* Should probably consider alignment issues on other           */
23776         /* architectures.                                               */
23777 -# endif /* LINUX */
23778 -
23779 +# endif
23780  # if defined(SUNOS5SIGS)
23781  #  ifdef __STDC__
23782      void GC_write_fault_handler(int sig, struct SIGINFO *scp, void * context)
23783 @@ -2375,7 +2144,13 @@
23784  #     define SIG_OK (sig == SIGSEGV)
23785  #     define CODE_OK (scp -> si_code == SEGV_ACCERR)
23786  #   endif
23787 -# endif /* SUNOS5SIGS */
23788 +# endif
23789 +
23790 +# if defined(MACOSX)
23791 +    void GC_write_fault_handler(int sig, int code, struct sigcontext *scp)
23792 +#   define SIG_OK (sig == SIGBUS)
23793 +#   define CODE_OK (code == 0 /* experimentally determined */)
23794 +# endif
23795  
23796  # if defined(MSWIN32) || defined(MSWINCE)
23797      LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info)
23798 @@ -2383,7 +2158,7 @@
23799                         STATUS_ACCESS_VIOLATION)
23800  #   define CODE_OK (exc_info -> ExceptionRecord -> ExceptionInformation[0] == 1)
23801                         /* Write fault */
23802 -# endif /* MSWIN32 || MSWINCE */
23803 +# endif
23804  {
23805      register unsigned i;
23806  #   if defined(HURD) 
23807 @@ -2443,17 +2218,16 @@
23808  #             if defined(POWERPC)
23809                  char * addr = (char *) (sc.regs->dar);
23810  #            else
23811 -#               if defined(ARM32)
23812 -                  char * addr = (char *)sc.fault_address;
23813 -#               else
23814 -                 --> architecture not supported
23815 -#               endif
23816 +               --> architecture not supported
23817  #            endif
23818  #          endif
23819  #        endif
23820  #      endif
23821  #     endif
23822  #   endif
23823 +#   if defined(MACOSX)
23824 +        char * addr = get_fault_addr(scp);
23825 +#   endif
23826  #   if defined(MSWIN32) || defined(MSWINCE)
23827         char * addr = (char *) (exc_info -> ExceptionRecord
23828                                 -> ExceptionInformation[1]);
23829 @@ -2517,6 +2291,9 @@
23830                     (*(REAL_SIG_PF)old_handler) (sig, code, scp);
23831                     return;
23832  #              endif
23833 +#              ifdef MACOSX
23834 +                   (*(REAL_SIG_PF)old_handler) (sig, code, scp);
23835 +#              endif
23836  #              ifdef MSWIN32
23837                     return((*old_handler)(exc_info));
23838  #              endif
23839 @@ -2558,11 +2335,10 @@
23840      ABORT("Unexpected bus error or segmentation fault");
23841  #endif
23842  }
23843 -#endif /* !DARWIN */
23844  
23845  /*
23846   * We hold the allocation lock.  We expect block h to be written
23847 - * shortly.  Ensure that all pages containing any part of the n hblks
23848 + * shortly.  Ensure that all pages cvontaining any part of the n hblks
23849   * starting at h are no longer protected.  If is_ptrfree is false,
23850   * also ensure that they will subsequently appear to be dirty.
23851   */
23852 @@ -2591,7 +2367,6 @@
23853      UNPROTECT(h_trunc, (ptr_t)h_end - (ptr_t)h_trunc);
23854  }
23855  
23856 -#if !defined(DARWIN)
23857  void GC_dirty_init()
23858  {
23859  #   if defined(SUNOS5SIGS) || defined(IRIX5) || defined(LINUX) || \
23860 @@ -2614,6 +2389,13 @@
23861          (void)sigaddset(&act.sa_mask, SIG_SUSPEND);
23862  #     endif /* SIG_SUSPEND */
23863  #    endif
23864 +#   if defined(MACOSX)
23865 +      struct sigaction act, oldact;
23866 +
23867 +      act.sa_flags = SA_RESTART;
23868 +      act.sa_handler = GC_write_fault_handler;
23869 +      sigemptyset(&act.sa_mask);
23870 +#   endif
23871  #   ifdef PRINTSTATS
23872         GC_printf0("Inititalizing mprotect virtual dirty bit implementation\n");
23873  #   endif
23874 @@ -2653,12 +2435,9 @@
23875         sigaction(SIGSEGV, 0, &oldact);
23876         sigaction(SIGSEGV, &act, 0);
23877  #     else
23878 -       {
23879 -         int res = sigaction(SIGSEGV, &act, &oldact);
23880 -         if (res != 0) ABORT("Sigaction failed");
23881 -       }
23882 +       sigaction(SIGSEGV, &act, &oldact);
23883  #     endif
23884 -#     if defined(_sigargs) || defined(HURD) || !defined(SA_SIGINFO)
23885 +#     if defined(_sigargs) || defined(HURD)
23886         /* This is Irix 5.x, not 6.x.  Irix 5.x does not have   */
23887         /* sa_sigaction.                                        */
23888         GC_old_segv_handler = oldact.sa_handler;
23889 @@ -2679,7 +2458,7 @@
23890  #       endif
23891        }
23892  #   endif
23893 -#   if defined(HPUX) || defined(LINUX) || defined(HURD)
23894 +#   if defined(MACOSX) || defined(HPUX) || defined(LINUX) || defined(HURD)
23895        sigaction(SIGBUS, &act, &oldact);
23896        GC_old_bus_handler = oldact.sa_handler;
23897        if (GC_old_bus_handler == SIG_IGN) {
23898 @@ -2691,7 +2470,7 @@
23899           GC_err_printf0("Replaced other SIGBUS handler\n");
23900  #       endif
23901        }
23902 -#   endif /* HPUX || LINUX || HURD */
23903 +#   endif /* MACOS || HPUX || LINUX */
23904  #   if defined(MSWIN32)
23905        GC_old_segv_handler = SetUnhandledExceptionFilter(GC_write_fault_handler);
23906        if (GC_old_segv_handler != NULL) {
23907 @@ -2703,7 +2482,6 @@
23908        }
23909  #   endif
23910  }
23911 -#endif /* !DARWIN */
23912  
23913  int GC_incremental_protection_needs()
23914  {
23915 @@ -2850,23 +2628,15 @@
23916               ((ptr_t)end_block - (ptr_t)start_block) + HBLKSIZE);
23917  }
23918  
23919 -#if 0
23920 -
23921 -/* We no longer wrap read by default, since that was causing too many  */
23922 -/* problems.  It is preferred that the client instead avoids writing   */
23923 -/* to the write-protected heap with a system call.                     */
23924 -/* This still serves as sample code if you do want to wrap system calls.*/
23925 -
23926 -#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(GC_USE_LD_WRAP)
23927 -/* Replacement for UNIX system call.                                     */
23928 -/* Other calls that write to the heap should be handled similarly.       */
23929 -/* Note that this doesn't work well for blocking reads:  It will hold    */
23930 -/* the allocation lock for the entire duration of the call. Multithreaded */
23931 -/* clients should really ensure that it won't block, either by setting           */
23932 -/* the descriptor nonblocking, or by calling select or poll first, to    */
23933 -/* make sure that input is available.                                    */
23934 -/* Another, preferred alternative is to ensure that system calls never           */
23935 -/* write to the protected heap (see above).                              */
23936 +#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(THREADS) \
23937 +    && !defined(GC_USE_LD_WRAP)
23938 +/* Replacement for UNIX system call.                                    */
23939 +/* Other calls that write to the heap should be handled similarly.      */
23940 +/* Note that this doesn't work well for blocking reads:  It will hold   */
23941 +/* tha allocation lock for the entur duration of the call. Multithreaded */
23942 +/* clients should really ensure that it won't block, either by setting          */
23943 +/* the descriptor nonblocking, or by calling select or poll first, to   */
23944 +/* make sure that input is available.                                   */
23945  # if defined(__STDC__) && !defined(SUNOS4)
23946  #   include <unistd.h>
23947  #   include <sys/uio.h>
23948 @@ -2936,8 +2706,6 @@
23949      /* actually calls.                                                 */
23950  #endif
23951  
23952 -#endif /* 0 */
23953 -
23954  /*ARGSUSED*/
23955  GC_bool GC_page_was_ever_dirty(h)
23956  struct hblk *h;
23957 @@ -2953,6 +2721,13 @@
23958  {
23959  }
23960  
23961 +# else /* !MPROTECT_VDB */
23962 +
23963 +#   ifdef GC_USE_LD_WRAP
23964 +      ssize_t __wrap_read(int fd, void *buf, size_t nbyte)
23965 +      { return __real_read(fd, buf, nbyte); }
23966 +#   endif
23967 +
23968  # endif /* MPROTECT_VDB */
23969  
23970  # ifdef PROC_VDB
23971 @@ -3031,7 +2806,6 @@
23972      }
23973      GC_proc_fd = syscall(SYS_ioctl, fd, PIOCOPENPD, 0);
23974      close(fd);
23975 -    syscall(SYS_fcntl, GC_proc_fd, F_SETFD, FD_CLOEXEC);
23976      if (GC_proc_fd < 0) {
23977         ABORT("/proc ioctl failed");
23978      }
23979 @@ -3271,553 +3045,6 @@
23980  
23981  # endif /* PCR_VDB */
23982  
23983 -#if defined(MPROTECT_VDB) && defined(DARWIN)
23984 -/* The following sources were used as a *reference* for this exception handling
23985 -   code:
23986 -      1. Apple's mach/xnu documentation
23987 -      2. Timothy J. Wood's "Mach Exception Handlers 101" post to the
23988 -         omnigroup's macosx-dev list. 
23989 -         www.omnigroup.com/mailman/archive/macosx-dev/2000-June/002030.html
23990 -      3. macosx-nat.c from Apple's GDB source code.
23991 -*/
23992 -   
23993 -/* There seem to be numerous problems with darwin's mach exception handling.
23994 -   I'm pretty sure they are not problems in my code. Search for 
23995 -   BROKEN_EXCEPTION_HANDLING for more information. */
23996 -#define BROKEN_EXCEPTION_HANDLING
23997 -   
23998 -#include <mach/mach.h>
23999 -#include <mach/mach_error.h>
24000 -#include <mach/thread_status.h>
24001 -#include <mach/exception.h>
24002 -#include <mach/task.h>
24003 -#include <pthread.h>
24004 -
24005 -/* These are not defined in any header, although they are documented */
24006 -extern boolean_t exc_server(mach_msg_header_t *,mach_msg_header_t *);
24007 -extern kern_return_t exception_raise(
24008 -    mach_port_t,mach_port_t,mach_port_t,
24009 -    exception_type_t,exception_data_t,mach_msg_type_number_t);
24010 -extern kern_return_t exception_raise_state(
24011 -    mach_port_t,mach_port_t,mach_port_t,
24012 -    exception_type_t,exception_data_t,mach_msg_type_number_t,
24013 -    thread_state_flavor_t*,thread_state_t,mach_msg_type_number_t,
24014 -    thread_state_t,mach_msg_type_number_t*);
24015 -extern kern_return_t exception_raise_state_identity(
24016 -    mach_port_t,mach_port_t,mach_port_t,
24017 -    exception_type_t,exception_data_t,mach_msg_type_number_t,
24018 -    thread_state_flavor_t*,thread_state_t,mach_msg_type_number_t,
24019 -    thread_state_t,mach_msg_type_number_t*);
24020 -
24021 -
24022 -#define MAX_EXCEPTION_PORTS 16
24023 -
24024 -static mach_port_t GC_task_self;
24025 -
24026 -static struct {
24027 -    mach_msg_type_number_t count;
24028 -    exception_mask_t      masks[MAX_EXCEPTION_PORTS];
24029 -    exception_handler_t   ports[MAX_EXCEPTION_PORTS];
24030 -    exception_behavior_t  behaviors[MAX_EXCEPTION_PORTS];
24031 -    thread_state_flavor_t flavors[MAX_EXCEPTION_PORTS];
24032 -} GC_old_exc_ports;
24033 -
24034 -static struct {
24035 -    mach_port_t exception;
24036 -#if defined(THREADS)
24037 -    mach_port_t reply;
24038 -#endif
24039 -} GC_ports;
24040 -
24041 -typedef struct {
24042 -    mach_msg_header_t head;
24043 -} GC_msg_t;
24044 -
24045 -typedef enum {
24046 -    GC_MP_NORMAL, GC_MP_DISCARDING, GC_MP_STOPPED
24047 -} GC_mprotect_state_t;
24048 -
24049 -/* FIXME: 1 and 2 seem to be safe to use in the msgh_id field,
24050 -   but it isn't  documented. Use the source and see if they
24051 -   should be ok. */
24052 -#define ID_STOP 1
24053 -#define ID_RESUME 2
24054 -
24055 -/* These values are only used on the reply port */
24056 -#define ID_ACK 3
24057 -
24058 -#if defined(THREADS)
24059 -
24060 -GC_mprotect_state_t GC_mprotect_state;
24061 -
24062 -/* The following should ONLY be called when the world is stopped  */
24063 -static void GC_mprotect_thread_notify(mach_msg_id_t id) {
24064 -    struct {
24065 -        GC_msg_t msg;
24066 -        mach_msg_trailer_t trailer;
24067 -    } buf;
24068 -    mach_msg_return_t r;
24069 -    /* remote, local */
24070 -    buf.msg.head.msgh_bits = 
24071 -        MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND,0);
24072 -    buf.msg.head.msgh_size = sizeof(buf.msg);
24073 -    buf.msg.head.msgh_remote_port = GC_ports.exception;
24074 -    buf.msg.head.msgh_local_port = MACH_PORT_NULL;
24075 -    buf.msg.head.msgh_id = id;
24076 -            
24077 -    r = mach_msg(
24078 -        &buf.msg.head,
24079 -        MACH_SEND_MSG|MACH_RCV_MSG|MACH_RCV_LARGE,
24080 -        sizeof(buf.msg),
24081 -        sizeof(buf),
24082 -        GC_ports.reply,
24083 -        MACH_MSG_TIMEOUT_NONE,
24084 -        MACH_PORT_NULL);
24085 -    if(r != MACH_MSG_SUCCESS)
24086 -        ABORT("mach_msg failed in GC_mprotect_thread_notify");
24087 -    if(buf.msg.head.msgh_id != ID_ACK)
24088 -        ABORT("invalid ack in GC_mprotect_thread_notify");
24089 -}
24090 -
24091 -/* Should only be called by the mprotect thread */
24092 -static void GC_mprotect_thread_reply() {
24093 -    GC_msg_t msg;
24094 -    mach_msg_return_t r;
24095 -    /* remote, local */
24096 -    msg.head.msgh_bits = 
24097 -        MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND,0);
24098 -    msg.head.msgh_size = sizeof(msg);
24099 -    msg.head.msgh_remote_port = GC_ports.reply;
24100 -    msg.head.msgh_local_port = MACH_PORT_NULL;
24101 -    msg.head.msgh_id = ID_ACK;
24102 -            
24103 -    r = mach_msg(
24104 -        &msg.head,
24105 -        MACH_SEND_MSG,
24106 -        sizeof(msg),
24107 -        0,
24108 -        MACH_PORT_NULL,
24109 -        MACH_MSG_TIMEOUT_NONE,
24110 -        MACH_PORT_NULL);
24111 -    if(r != MACH_MSG_SUCCESS)
24112 -        ABORT("mach_msg failed in GC_mprotect_thread_reply");
24113 -}
24114 -
24115 -void GC_mprotect_stop() {
24116 -    GC_mprotect_thread_notify(ID_STOP);
24117 -}
24118 -void GC_mprotect_resume() {
24119 -    GC_mprotect_thread_notify(ID_RESUME);
24120 -}
24121 -
24122 -#else /* !THREADS */
24123 -/* The compiler should optimize away any GC_mprotect_state computations */
24124 -#define GC_mprotect_state GC_MP_NORMAL
24125 -#endif
24126 -
24127 -static void *GC_mprotect_thread(void *arg) {
24128 -    mach_msg_return_t r;
24129 -    /* These two structures contain some private kernel data. We don't need to
24130 -       access any of it so we don't bother defining a proper struct. The
24131 -       correct definitions are in the xnu source code. */
24132 -    struct {
24133 -        mach_msg_header_t head;
24134 -        char data[256];
24135 -    } reply;
24136 -    struct {
24137 -        mach_msg_header_t head;
24138 -        mach_msg_body_t msgh_body;
24139 -        char data[1024];
24140 -    } msg;
24141 -
24142 -    mach_msg_id_t id;
24143 -    
24144 -    for(;;) {
24145 -        r = mach_msg(
24146 -            &msg.head,
24147 -            MACH_RCV_MSG|MACH_RCV_LARGE|
24148 -                (GC_mprotect_state == GC_MP_DISCARDING ? MACH_RCV_TIMEOUT : 0),
24149 -            0,
24150 -            sizeof(msg),
24151 -            GC_ports.exception,
24152 -            GC_mprotect_state == GC_MP_DISCARDING ? 0 : MACH_MSG_TIMEOUT_NONE,
24153 -            MACH_PORT_NULL);
24154 -        
24155 -        id = r == MACH_MSG_SUCCESS ? msg.head.msgh_id : -1;
24156 -        
24157 -#if defined(THREADS)
24158 -        if(GC_mprotect_state == GC_MP_DISCARDING) {
24159 -            if(r == MACH_RCV_TIMED_OUT) {
24160 -                GC_mprotect_state = GC_MP_STOPPED;
24161 -                GC_mprotect_thread_reply();
24162 -                continue;
24163 -            }
24164 -            if(r == MACH_MSG_SUCCESS && (id == ID_STOP || id == ID_RESUME))
24165 -                ABORT("out of order mprotect thread request");
24166 -        }
24167 -#endif
24168 -        
24169 -        if(r != MACH_MSG_SUCCESS) {
24170 -            GC_err_printf2("mach_msg failed with %d %s\n", 
24171 -                (int)r,mach_error_string(r));
24172 -            ABORT("mach_msg failed");
24173 -        }
24174 -        
24175 -        switch(id) {
24176 -#if defined(THREADS)
24177 -            case ID_STOP:
24178 -                if(GC_mprotect_state != GC_MP_NORMAL)
24179 -                    ABORT("Called mprotect_stop when state wasn't normal");
24180 -                GC_mprotect_state = GC_MP_DISCARDING;
24181 -                break;
24182 -            case ID_RESUME:
24183 -                if(GC_mprotect_state != GC_MP_STOPPED)
24184 -                    ABORT("Called mprotect_resume when state wasn't stopped");
24185 -                GC_mprotect_state = GC_MP_NORMAL;
24186 -                GC_mprotect_thread_reply();
24187 -                break;
24188 -#endif /* THREADS */
24189 -            default:
24190 -                   /* Handle the message (calls catch_exception_raise) */
24191 -               if(!exc_server(&msg.head,&reply.head))
24192 -                    ABORT("exc_server failed");
24193 -                /* Send the reply */
24194 -                r = mach_msg(
24195 -                    &reply.head,
24196 -                    MACH_SEND_MSG,
24197 -                    reply.head.msgh_size,
24198 -                    0,
24199 -                    MACH_PORT_NULL,
24200 -                    MACH_MSG_TIMEOUT_NONE,
24201 -                    MACH_PORT_NULL);
24202 -               if(r != MACH_MSG_SUCCESS) {
24203 -                       /* This will fail if the thread dies, but the thread shouldn't
24204 -                          die... */
24205 -                       #ifdef BROKEN_EXCEPTION_HANDLING
24206 -                       GC_err_printf2(
24207 -                        "mach_msg failed with %d %s while sending exc reply\n",
24208 -                        (int)r,mach_error_string(r));
24209 -               #else
24210 -                       ABORT("mach_msg failed while sending exception reply");
24211 -               #endif
24212 -               }
24213 -        } /* switch */
24214 -    } /* for(;;) */
24215 -    /* NOT REACHED */
24216 -    return NULL;
24217 -}
24218 -
24219 -/* All this SIGBUS code shouldn't be necessary. All protection faults should
24220 -   be going throught the mach exception handler. However, it seems a SIGBUS is
24221 -   occasionally sent for some unknown reason. Even more odd, it seems to be
24222 -   meaningless and safe to ignore. */
24223 -#ifdef BROKEN_EXCEPTION_HANDLING
24224 -
24225 -typedef void (* SIG_PF)();
24226 -static SIG_PF GC_old_bus_handler;
24227 -
24228 -/* Updates to this aren't atomic, but the SIGBUSs seem pretty rare.
24229 -   Even if this doesn't get updated property, it isn't really a problem */
24230 -static int GC_sigbus_count;
24231 -
24232 -static void GC_darwin_sigbus(int num,siginfo_t *sip,void *context) {
24233 -    if(num != SIGBUS) ABORT("Got a non-sigbus signal in the sigbus handler");
24234 -    
24235 -    /* Ugh... some seem safe to ignore, but too many in a row probably means
24236 -       trouble. GC_sigbus_count is reset for each mach exception that is
24237 -       handled */
24238 -    if(GC_sigbus_count >= 8) {
24239 -        ABORT("Got more than 8 SIGBUSs in a row!");
24240 -    } else {
24241 -        GC_sigbus_count++;
24242 -        GC_err_printf0("GC: WARNING: Ignoring SIGBUS.\n");
24243 -    }
24244 -}
24245 -#endif /* BROKEN_EXCEPTION_HANDLING */
24246 -
24247 -void GC_dirty_init() {
24248 -    kern_return_t r;
24249 -    mach_port_t me;
24250 -    pthread_t thread;
24251 -    pthread_attr_t attr;
24252 -    exception_mask_t mask;
24253 -    
24254 -#   ifdef PRINTSTATS
24255 -        GC_printf0("Inititalizing mach/darwin mprotect virtual dirty bit "
24256 -            "implementation\n");
24257 -#   endif  
24258 -#      ifdef BROKEN_EXCEPTION_HANDLING
24259 -        GC_err_printf0("GC: WARNING: Enabling workarounds for various darwin "
24260 -            "exception handling bugs.\n");
24261 -#      endif
24262 -    GC_dirty_maintained = TRUE;
24263 -    if (GC_page_size % HBLKSIZE != 0) {
24264 -        GC_err_printf0("Page size not multiple of HBLKSIZE\n");
24265 -        ABORT("Page size not multiple of HBLKSIZE");
24266 -    }
24267 -    
24268 -    GC_task_self = me = mach_task_self();
24269 -    
24270 -    r = mach_port_allocate(me,MACH_PORT_RIGHT_RECEIVE,&GC_ports.exception);
24271 -    if(r != KERN_SUCCESS) ABORT("mach_port_allocate failed (exception port)");
24272 -    
24273 -    r = mach_port_insert_right(me,GC_ports.exception,GC_ports.exception,
24274 -       MACH_MSG_TYPE_MAKE_SEND);
24275 -    if(r != KERN_SUCCESS)
24276 -       ABORT("mach_port_insert_right failed (exception port)");
24277 -
24278 -    #if defined(THREADS)
24279 -        r = mach_port_allocate(me,MACH_PORT_RIGHT_RECEIVE,&GC_ports.reply);
24280 -        if(r != KERN_SUCCESS) ABORT("mach_port_allocate failed (reply port)");
24281 -    #endif
24282 -
24283 -    /* The exceptions we want to catch */  
24284 -    mask = EXC_MASK_BAD_ACCESS;
24285 -
24286 -    r = task_get_exception_ports(
24287 -        me,
24288 -        mask,
24289 -        GC_old_exc_ports.masks,
24290 -        &GC_old_exc_ports.count,
24291 -        GC_old_exc_ports.ports,
24292 -        GC_old_exc_ports.behaviors,
24293 -        GC_old_exc_ports.flavors
24294 -    );
24295 -    if(r != KERN_SUCCESS) ABORT("task_get_exception_ports failed");
24296 -        
24297 -    r = task_set_exception_ports(
24298 -        me,
24299 -        mask,
24300 -        GC_ports.exception,
24301 -        EXCEPTION_DEFAULT,
24302 -        MACHINE_THREAD_STATE
24303 -    );
24304 -    if(r != KERN_SUCCESS) ABORT("task_set_exception_ports failed");
24305 -
24306 -    if(pthread_attr_init(&attr) != 0) ABORT("pthread_attr_init failed");
24307 -    if(pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED) != 0) 
24308 -        ABORT("pthread_attr_setdetachedstate failed");
24309 -
24310 -#      undef pthread_create
24311 -    /* This will call the real pthread function, not our wrapper */
24312 -    if(pthread_create(&thread,&attr,GC_mprotect_thread,NULL) != 0)
24313 -        ABORT("pthread_create failed");
24314 -    pthread_attr_destroy(&attr);
24315 -    
24316 -    /* Setup the sigbus handler for ignoring the meaningless SIGBUSs */
24317 -    #ifdef BROKEN_EXCEPTION_HANDLING 
24318 -    {
24319 -        struct sigaction sa, oldsa;
24320 -        sa.sa_handler = (SIG_PF)GC_darwin_sigbus;
24321 -        sigemptyset(&sa.sa_mask);
24322 -        sa.sa_flags = SA_RESTART|SA_SIGINFO;
24323 -        if(sigaction(SIGBUS,&sa,&oldsa) < 0) ABORT("sigaction");
24324 -        GC_old_bus_handler = (SIG_PF)oldsa.sa_handler;
24325 -        if (GC_old_bus_handler != SIG_DFL) {
24326 -#              ifdef PRINTSTATS
24327 -                GC_err_printf0("Replaced other SIGBUS handler\n");
24328 -#              endif
24329 -        }
24330 -    }
24331 -    #endif /* BROKEN_EXCEPTION_HANDLING  */
24332 -}
24333
24334 -/* The source code for Apple's GDB was used as a reference for the exception
24335 -   forwarding code. This code is similar to be GDB code only because there is 
24336 -   only one way to do it. */
24337 -static kern_return_t GC_forward_exception(
24338 -        mach_port_t thread,
24339 -        mach_port_t task,
24340 -        exception_type_t exception,
24341 -        exception_data_t data,
24342 -        mach_msg_type_number_t data_count
24343 -) {
24344 -    int i;
24345 -    kern_return_t r;
24346 -    mach_port_t port;
24347 -    exception_behavior_t behavior;
24348 -    thread_state_flavor_t flavor;
24349 -    
24350 -    thread_state_data_t thread_state;
24351 -    mach_msg_type_number_t thread_state_count = THREAD_STATE_MAX;
24352 -        
24353 -    for(i=0;i<GC_old_exc_ports.count;i++)
24354 -        if(GC_old_exc_ports.masks[i] & (1 << exception))
24355 -            break;
24356 -    if(i==GC_old_exc_ports.count) ABORT("No handler for exception!");
24357 -    
24358 -    port = GC_old_exc_ports.ports[i];
24359 -    behavior = GC_old_exc_ports.behaviors[i];
24360 -    flavor = GC_old_exc_ports.flavors[i];
24361 -
24362 -    if(behavior != EXCEPTION_DEFAULT) {
24363 -        r = thread_get_state(thread,flavor,thread_state,&thread_state_count);
24364 -        if(r != KERN_SUCCESS)
24365 -            ABORT("thread_get_state failed in forward_exception");
24366 -    }
24367 -    
24368 -    switch(behavior) {
24369 -        case EXCEPTION_DEFAULT:
24370 -            r = exception_raise(port,thread,task,exception,data,data_count);
24371 -            break;
24372 -        case EXCEPTION_STATE:
24373 -            r = exception_raise_state(port,thread,task,exception,data,
24374 -                data_count,&flavor,thread_state,thread_state_count,
24375 -                thread_state,&thread_state_count);
24376 -            break;
24377 -        case EXCEPTION_STATE_IDENTITY:
24378 -            r = exception_raise_state_identity(port,thread,task,exception,data,
24379 -                data_count,&flavor,thread_state,thread_state_count,
24380 -                thread_state,&thread_state_count);
24381 -            break;
24382 -        default:
24383 -            r = KERN_FAILURE; /* make gcc happy */
24384 -            ABORT("forward_exception: unknown behavior");
24385 -            break;
24386 -    }
24387 -    
24388 -    if(behavior != EXCEPTION_DEFAULT) {
24389 -        r = thread_set_state(thread,flavor,thread_state,thread_state_count);
24390 -        if(r != KERN_SUCCESS)
24391 -            ABORT("thread_set_state failed in forward_exception");
24392 -    }
24393 -    
24394 -    return r;
24395 -}
24396 -
24397 -#define FWD() GC_forward_exception(thread,task,exception,code,code_count)
24398 -
24399 -/* This violates the namespace rules but there isn't anything that can be done
24400 -   about it. The exception handling stuff is hard coded to call this */
24401 -kern_return_t
24402 -catch_exception_raise(
24403 -   mach_port_t exception_port,mach_port_t thread,mach_port_t task,
24404 -   exception_type_t exception,exception_data_t code,
24405 -   mach_msg_type_number_t code_count
24406 -) {
24407 -    kern_return_t r;
24408 -    char *addr;
24409 -    struct hblk *h;
24410 -    int i;
24411 -#ifdef POWERPC
24412 -    thread_state_flavor_t flavor = PPC_EXCEPTION_STATE;
24413 -    mach_msg_type_number_t exc_state_count = PPC_EXCEPTION_STATE_COUNT;
24414 -    ppc_exception_state_t exc_state;
24415 -#else
24416 -#      error FIXME for non-ppc darwin
24417 -#endif
24418 -
24419 -    
24420 -    if(exception != EXC_BAD_ACCESS || code[0] != KERN_PROTECTION_FAILURE) {
24421 -        #ifdef DEBUG_EXCEPTION_HANDLING
24422 -        /* We aren't interested, pass it on to the old handler */
24423 -        GC_printf3("Exception: 0x%x Code: 0x%x 0x%x in catch....\n",
24424 -            exception,
24425 -            code_count > 0 ? code[0] : -1,
24426 -            code_count > 1 ? code[1] : -1); 
24427 -        #endif
24428 -        return FWD();
24429 -    }
24430 -
24431 -    r = thread_get_state(thread,flavor,
24432 -        (natural_t*)&exc_state,&exc_state_count);
24433 -    if(r != KERN_SUCCESS) {
24434 -        /* The thread is supposed to be suspended while the exception handler
24435 -           is called. This shouldn't fail. */
24436 -        #ifdef BROKEN_EXCEPTION_HANDLING
24437 -            GC_err_printf0("thread_get_state failed in "
24438 -                "catch_exception_raise\n");
24439 -            return KERN_SUCCESS;
24440 -        #else
24441 -            ABORT("thread_get_state failed in catch_exception_raise");
24442 -        #endif
24443 -    }
24444 -    
24445 -    /* This is the address that caused the fault */
24446 -    addr = (char*) exc_state.dar;
24447 -        
24448 -    if((HDR(addr)) == 0) {
24449 -        /* Ugh... just like the SIGBUS problem above, it seems we get a bogus 
24450 -           KERN_PROTECTION_FAILURE every once and a while. We wait till we get
24451 -           a bunch in a row before doing anything about it. If a "real" fault 
24452 -           ever occurres it'll just keep faulting over and over and we'll hit
24453 -           the limit pretty quickly. */
24454 -        #ifdef BROKEN_EXCEPTION_HANDLING
24455 -            static char *last_fault;
24456 -            static int last_fault_count;
24457 -            
24458 -            if(addr != last_fault) {
24459 -                last_fault = addr;
24460 -                last_fault_count = 0;
24461 -            }
24462 -            if(++last_fault_count < 32) {
24463 -                if(last_fault_count == 1)
24464 -                    GC_err_printf1(
24465 -                        "GC: WARNING: Ignoring KERN_PROTECTION_FAILURE at %p\n",
24466 -                        addr);
24467 -                return KERN_SUCCESS;
24468 -            }
24469 -            
24470 -            GC_err_printf1("Unexpected KERN_PROTECTION_FAILURE at %p\n",addr);
24471 -            /* Can't pass it along to the signal handler because that is
24472 -               ignoring SIGBUS signals. We also shouldn't call ABORT here as
24473 -               signals don't always work too well from the exception handler. */
24474 -            GC_err_printf0("Aborting\n");
24475 -            exit(EXIT_FAILURE);
24476 -        #else /* BROKEN_EXCEPTION_HANDLING */
24477 -            /* Pass it along to the next exception handler 
24478 -               (which should call SIGBUS/SIGSEGV) */
24479 -            return FWD();
24480 -        #endif /* !BROKEN_EXCEPTION_HANDLING */
24481 -    }
24482 -
24483 -    #ifdef BROKEN_EXCEPTION_HANDLING
24484 -        /* Reset the number of consecutive SIGBUSs */
24485 -        GC_sigbus_count = 0;
24486 -    #endif
24487 -    
24488 -    if(GC_mprotect_state == GC_MP_NORMAL) { /* common case */
24489 -        h = (struct hblk*)((word)addr & ~(GC_page_size-1));
24490 -        UNPROTECT(h, GC_page_size);    
24491 -        for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
24492 -            register int index = PHT_HASH(h+i);
24493 -            async_set_pht_entry_from_index(GC_dirty_pages, index);
24494 -        }
24495 -    } else if(GC_mprotect_state == GC_MP_DISCARDING) {
24496 -        /* Lie to the thread for now. No sense UNPROTECT()ing the memory
24497 -           when we're just going to PROTECT() it again later. The thread
24498 -           will just fault again once it resumes */
24499 -    } else {
24500 -        /* Shouldn't happen, i don't think */
24501 -        GC_printf0("KERN_PROTECTION_FAILURE while world is stopped\n");
24502 -        return FWD();
24503 -    }
24504 -    return KERN_SUCCESS;
24505 -}
24506 -#undef FWD
24507 -
24508 -/* These should never be called, but just in case...  */
24509 -kern_return_t catch_exception_raise_state(mach_port_name_t exception_port,
24510 -    int exception, exception_data_t code, mach_msg_type_number_t codeCnt,
24511 -    int flavor, thread_state_t old_state, int old_stateCnt,
24512 -    thread_state_t new_state, int new_stateCnt)
24513 -{
24514 -    ABORT("catch_exception_raise_state");
24515 -    return(KERN_INVALID_ARGUMENT);
24516 -}
24517 -kern_return_t catch_exception_raise_state_identity(
24518 -    mach_port_name_t exception_port, mach_port_t thread, mach_port_t task,
24519 -    int exception, exception_data_t code, mach_msg_type_number_t codeCnt,
24520 -    int flavor, thread_state_t old_state, int old_stateCnt, 
24521 -    thread_state_t new_state, int new_stateCnt)
24522 -{
24523 -    ABORT("catch_exception_raise_state_identity");
24524 -    return(KERN_INVALID_ARGUMENT);
24525 -}
24526 -
24527 -
24528 -#endif /* DARWIN && MPROTECT_VDB */
24529 -
24530  # ifndef HAVE_INCREMENTAL_PROTECTION_NEEDS
24531    int GC_incremental_protection_needs()
24532    {
24533 @@ -3878,20 +3105,19 @@
24534  #  endif
24535  #endif /* SPARC */
24536  
24537 -#ifdef  NEED_CALLINFO
24538 +#ifdef SAVE_CALL_CHAIN
24539  /* Fill in the pc and argument information for up to NFRAMES of my     */
24540  /* callers.  Ignore my frame and my callers frame.                     */
24541  
24542  #ifdef LINUX
24543 -#   include <unistd.h>
24544 +# include <features.h>
24545 +# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2
24546 +#   define HAVE_BUILTIN_BACKTRACE
24547 +# endif
24548  #endif
24549  
24550 -#endif /* NEED_CALLINFO */
24551 -
24552 -#ifdef SAVE_CALL_CHAIN
24553 -
24554  #if NARGS == 0 && NFRAMES % 2 == 0 /* No padding */ \
24555 -    && defined(GC_HAVE_BUILTIN_BACKTRACE)
24556 +    && defined(HAVE_BUILTIN_BACKTRACE)
24557  
24558  #include <execinfo.h>
24559  
24560 @@ -3962,139 +3188,31 @@
24561  
24562  #endif /* SAVE_CALL_CHAIN */
24563  
24564 -#ifdef NEED_CALLINFO
24565 +#if defined(LINUX) && defined(__ELF__) && \
24566 +    (!defined(SMALL_CONFIG) || defined(USE_PROC_FOR_LIBRARIES))
24567 +#ifdef GC_USE_LD_WRAP
24568 +#   define READ __real_read
24569 +#else
24570 +#   define READ read
24571 +#endif
24572  
24573 -/* Print info to stderr.  We do NOT hold the allocation lock */
24574 -void GC_print_callers (info)
24575 -struct callinfo info[NFRAMES];
24576 -{
24577 -    register int i;
24578 -    static int reentry_count = 0;
24579 -    GC_bool stop = FALSE;
24580  
24581 -    LOCK();
24582 -      ++reentry_count;
24583 -    UNLOCK();
24584 +/* Repeatedly perform a read call until the buffer is filled or        */
24585 +/* we encounter EOF.                                           */
24586 +ssize_t GC_repeat_read(int fd, char *buf, size_t count)
24587 +{
24588 +    ssize_t num_read = 0;
24589 +    ssize_t result;
24590      
24591 -#   if NFRAMES == 1
24592 -      GC_err_printf0("\tCaller at allocation:\n");
24593 -#   else
24594 -      GC_err_printf0("\tCall chain at allocation:\n");
24595 -#   endif
24596 -    for (i = 0; i < NFRAMES && !stop ; i++) {
24597 -       if (info[i].ci_pc == 0) break;
24598 -#      if NARGS > 0
24599 -       {
24600 -         int j;
24601 -
24602 -         GC_err_printf0("\t\targs: ");
24603 -         for (j = 0; j < NARGS; j++) {
24604 -           if (j != 0) GC_err_printf0(", ");
24605 -           GC_err_printf2("%d (0x%X)", ~(info[i].ci_arg[j]),
24606 -                                       ~(info[i].ci_arg[j]));
24607 -         }
24608 -         GC_err_printf0("\n");
24609 -       }
24610 -#      endif
24611 -        if (reentry_count > 1) {
24612 -           /* We were called during an allocation during       */
24613 -           /* a previous GC_print_callers call; punt.          */
24614 -           GC_err_printf1("\t\t##PC##= 0x%lx\n", info[i].ci_pc);
24615 -           continue;
24616 -       }
24617 -       {
24618 -#        ifdef LINUX
24619 -           FILE *pipe;
24620 -#        endif
24621 -#        if defined(GC_HAVE_BUILTIN_BACKTRACE)
24622 -           char **sym_name =
24623 -             backtrace_symbols((void **)(&(info[i].ci_pc)), 1);
24624 -           char *name = sym_name[0];
24625 -#        else
24626 -           char buf[40];
24627 -           char *name = buf;
24628 -           sprintf(buf, "##PC##= 0x%lx", info[i].ci_pc);
24629 -#        endif
24630 -#        if defined(LINUX) && !defined(SMALL_CONFIG)
24631 -           /* Try for a line number. */
24632 -           {
24633 -#              define EXE_SZ 100
24634 -               static char exe_name[EXE_SZ];
24635 -#              define CMD_SZ 200
24636 -               char cmd_buf[CMD_SZ];
24637 -#              define RESULT_SZ 200
24638 -               static char result_buf[RESULT_SZ];
24639 -               size_t result_len;
24640 -               static GC_bool found_exe_name = FALSE;
24641 -               static GC_bool will_fail = FALSE;
24642 -               int ret_code;
24643 -               /* Try to get it via a hairy and expensive scheme.      */
24644 -               /* First we get the name of the executable:             */
24645 -               if (will_fail) goto out;
24646 -               if (!found_exe_name) { 
24647 -                 ret_code = readlink("/proc/self/exe", exe_name, EXE_SZ);
24648 -                 if (ret_code < 0 || ret_code >= EXE_SZ
24649 -                     || exe_name[0] != '/') {
24650 -                   will_fail = TRUE;   /* Dont try again. */
24651 -                   goto out;
24652 -                 }
24653 -                 exe_name[ret_code] = '\0';
24654 -                 found_exe_name = TRUE;
24655 -               }
24656 -               /* Then we use popen to start addr2line -e <exe> <addr> */
24657 -               /* There are faster ways to do this, but hopefully this */
24658 -               /* isn't time critical.                                 */
24659 -               sprintf(cmd_buf, "/usr/bin/addr2line -f -e %s 0x%lx", exe_name,
24660 -                                (unsigned long)info[i].ci_pc);
24661 -               pipe = popen(cmd_buf, "r");
24662 -               if (pipe == NULL
24663 -                   || (result_len = fread(result_buf, 1, RESULT_SZ - 1, pipe))
24664 -                      == 0) {
24665 -                 if (pipe != NULL) pclose(pipe);
24666 -                 will_fail = TRUE;
24667 -                 goto out;
24668 -               }
24669 -               if (result_buf[result_len - 1] == '\n') --result_len;
24670 -               result_buf[result_len] = 0;
24671 -               if (result_buf[0] == '?'
24672 -                   || result_buf[result_len-2] == ':' 
24673 -                      && result_buf[result_len-1] == '0') {
24674 -                   pclose(pipe);
24675 -                   goto out;
24676 -               }
24677 -               /* Get rid of embedded newline, if any.  Test for "main" */
24678 -               {
24679 -                  char * nl = strchr(result_buf, '\n');
24680 -                  if (nl != NULL && nl < result_buf + result_len) {
24681 -                    *nl = ':';
24682 -                  }
24683 -                  if (strncmp(result_buf, "main", nl - result_buf) == 0) {
24684 -                    stop = TRUE;
24685 -                  }
24686 -               }
24687 -               if (result_len < RESULT_SZ - 25) {
24688 -                 /* Add in hex address */
24689 -                   sprintf(result_buf + result_len, " [0x%lx]",
24690 -                         (unsigned long)info[i].ci_pc);
24691 -               }
24692 -               name = result_buf;
24693 -               pclose(pipe);
24694 -               out:;
24695 -           }
24696 -#        endif /* LINUX */
24697 -         GC_err_printf1("\t\t%s\n", name);
24698 -#        if defined(GC_HAVE_BUILTIN_BACKTRACE)
24699 -           free(sym_name);  /* May call GC_free; that's OK */
24700 -#         endif
24701 -       }
24702 +    while (num_read < count) {
24703 +       result = READ(fd, buf + num_read, count - num_read);
24704 +       if (result < 0) return result;
24705 +       if (result == 0) break;
24706 +       num_read += result;
24707      }
24708 -    LOCK();
24709 -      --reentry_count;
24710 -    UNLOCK();
24711 +    return num_read;
24712  }
24713 -
24714 -#endif /* NEED_CALLINFO */
24715 -
24716 +#endif /* LINUX && ... */
24717  
24718  
24719  #if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
24720 @@ -4102,16 +3220,20 @@
24721  /* Dump /proc/self/maps to GC_stderr, to enable looking up names for
24722     addresses in FIND_LEAK output. */
24723  
24724 -static word dump_maps(char *maps)
24725 -{
24726 -    GC_err_write(maps, strlen(maps));
24727 -    return 1;
24728 -}
24729 -
24730  void GC_print_address_map()
24731  {
24732 +    int f;
24733 +    int result;
24734 +    char maps_temp[32768];
24735      GC_err_printf0("---------- Begin address map ----------\n");
24736 -    GC_apply_to_maps(dump_maps);
24737 +        f = open("/proc/self/maps", O_RDONLY);
24738 +        if (-1 == f) ABORT("Couldn't open /proc/self/maps");
24739 +       do {
24740 +           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
24741 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
24742 +           GC_err_write(maps_temp, result);
24743 +       } while (result == sizeof(maps_temp));
24744 +     
24745      GC_err_printf0("---------- End address map ----------\n");
24746  }
24747  
24748 diff -Nur ../boehm-gc/powerpc_darwin_mach_dep.s boehm-gc/powerpc_darwin_mach_dep.s
24749 --- ../boehm-gc/powerpc_darwin_mach_dep.s       Mon May 26 12:48:52 2003
24750 +++ boehm-gc/powerpc_darwin_mach_dep.s  Wed Dec 31 16:00:00 1969
24751 @@ -1,84 +0,0 @@
24752 -
24753 -; GC_push_regs function. Under some optimization levels GCC will clobber
24754 -; some of the non-volatile registers before we get a chance to save them
24755 -; therefore, this can't be inline asm.
24756 -
24757 -.text
24758 -       .align 2
24759 -       .globl _GC_push_regs
24760 -_GC_push_regs:
24761 -    
24762 -    ; Prolog
24763 -       mflr r0
24764 -       stw r0,8(r1)
24765 -       stwu r1,-80(r1)
24766 -
24767 -       ; Push r13-r31
24768 -       mr r3,r13
24769 -       bl L_GC_push_one$stub
24770 -       mr r3,r14
24771 -       bl L_GC_push_one$stub
24772 -       mr r3,r15
24773 -       bl L_GC_push_one$stub
24774 -       mr r3,r16
24775 -       bl L_GC_push_one$stub
24776 -       mr r3,r17
24777 -       bl L_GC_push_one$stub
24778 -       mr r3,r18
24779 -       bl L_GC_push_one$stub
24780 -       mr r3,r19
24781 -       bl L_GC_push_one$stub
24782 -       mr r3,r20
24783 -       bl L_GC_push_one$stub
24784 -       mr r3,r21
24785 -       bl L_GC_push_one$stub
24786 -       mr r3,r22
24787 -       bl L_GC_push_one$stub
24788 -       mr r3,r23
24789 -       bl L_GC_push_one$stub
24790 -       mr r3,r24
24791 -       bl L_GC_push_one$stub
24792 -       mr r3,r25
24793 -       bl L_GC_push_one$stub
24794 -       mr r3,r26
24795 -       bl L_GC_push_one$stub
24796 -       mr r3,r27
24797 -       bl L_GC_push_one$stub
24798 -       mr r3,r28
24799 -       bl L_GC_push_one$stub
24800 -       mr r3,r29
24801 -       bl L_GC_push_one$stub
24802 -       mr r3,r30
24803 -       bl L_GC_push_one$stub
24804 -       mr r3,r31
24805 -       bl L_GC_push_one$stub
24806 -
24807 -    ; 
24808 -    lwz r0,88(r1)
24809 -    addi r1,r1,80
24810 -       mtlr r0
24811 -       
24812 -       ; Return
24813 -       blr
24814 -
24815 -; PIC stuff, generated by GCC
24816 -
24817 -.data
24818 -.picsymbol_stub
24819 -L_GC_push_one$stub:
24820 -       .indirect_symbol _GC_push_one
24821 -       mflr r0
24822 -       bcl 20,31,L0$_GC_push_one
24823 -L0$_GC_push_one:
24824 -       mflr r11
24825 -       addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
24826 -       mtlr r0
24827 -       lwz r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11)
24828 -       mtctr r12
24829 -       addi r11,r11,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
24830 -       bctr
24831 -.data
24832 -.lazy_symbol_pointer
24833 -L_GC_push_one$lazy_ptr:
24834 -       .indirect_symbol _GC_push_one
24835 -       .long dyld_stub_binding_helper
24836 diff -Nur ../boehm-gc/pthread_stop_world.c boehm-gc/pthread_stop_world.c
24837 --- ../boehm-gc/pthread_stop_world.c    Mon May 26 12:48:52 2003
24838 +++ boehm-gc/pthread_stop_world.c       Wed Dec 31 16:00:00 1969
24839 @@ -1,445 +0,0 @@
24840 -#include "private/pthread_support.h"
24841 -
24842 -#if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
24843 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS) \
24844 -     && !defined(GC_DARWIN_THREADS)
24845 -
24846 -#include <signal.h>
24847 -#include <semaphore.h>
24848 -#include <errno.h>
24849 -#include <unistd.h>
24850 -
24851 -#if DEBUG_THREADS
24852 -
24853 -#ifndef NSIG
24854 -# if defined(MAXSIG)
24855 -#  define NSIG (MAXSIG+1)
24856 -# elif defined(_NSIG)
24857 -#  define NSIG _NSIG
24858 -# elif defined(__SIGRTMAX)
24859 -#  define NSIG (__SIGRTMAX+1)
24860 -# else
24861 -  --> please fix it
24862 -# endif
24863 -#endif
24864 -
24865 -void GC_print_sig_mask()
24866 -{
24867 -    sigset_t blocked;
24868 -    int i;
24869 -
24870 -    if (pthread_sigmask(SIG_BLOCK, NULL, &blocked) != 0)
24871 -       ABORT("pthread_sigmask");
24872 -    GC_printf0("Blocked: ");
24873 -    for (i = 1; i < NSIG; i++) {
24874 -        if (sigismember(&blocked, i)) { GC_printf1("%ld ",(long) i); }
24875 -    }
24876 -    GC_printf0("\n");
24877 -}
24878 -
24879 -#endif
24880 -
24881 -word GC_stop_count;    /* Incremented at the beginning of GC_stop_world. */
24882 -
24883 -#ifdef GC_OSF1_THREADS
24884 -  GC_bool GC_retry_signals = TRUE;
24885 -#else
24886 -  GC_bool GC_retry_signals = FALSE;
24887 -#endif
24888 -
24889 -/*
24890 - * We use signals to stop threads during GC.
24891 - * 
24892 - * Suspended threads wait in signal handler for SIG_THR_RESTART.
24893 - * That's more portable than semaphores or condition variables.
24894 - * (We do use sem_post from a signal handler, but that should be portable.)
24895 - *
24896 - * The thread suspension signal SIG_SUSPEND is now defined in gc_priv.h.
24897 - * Note that we can't just stop a thread; we need it to save its stack
24898 - * pointer(s) and acknowledge.
24899 - */
24900 -
24901 -#ifndef SIG_THR_RESTART
24902 -#  if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
24903 -#    ifdef _SIGRTMIN
24904 -#      define SIG_THR_RESTART _SIGRTMIN + 5
24905 -#    else
24906 -#      define SIG_THR_RESTART SIGRTMIN + 5
24907 -#    endif
24908 -#  else
24909 -#   define SIG_THR_RESTART SIGXCPU
24910 -#  endif
24911 -#endif
24912 -
24913 -sem_t GC_suspend_ack_sem;
24914 -
24915 -void GC_suspend_handler(int sig)
24916 -{
24917 -    int dummy;
24918 -    pthread_t my_thread = pthread_self();
24919 -    GC_thread me;
24920 -    sigset_t mask;
24921 -#   ifdef PARALLEL_MARK
24922 -       word my_mark_no = GC_mark_no;
24923 -       /* Marker can't proceed until we acknowledge.  Thus this is     */
24924 -       /* guaranteed to be the mark_no correspending to our            */
24925 -       /* suspension, i.e. the marker can't have incremented it yet.   */
24926 -#   endif
24927 -    word my_stop_count = GC_stop_count;
24928 -
24929 -    if (sig != SIG_SUSPEND) ABORT("Bad signal in suspend_handler");
24930 -
24931 -#if DEBUG_THREADS
24932 -    GC_printf1("Suspending 0x%lx\n", my_thread);
24933 -#endif
24934 -
24935 -    me = GC_lookup_thread(my_thread);
24936 -    /* The lookup here is safe, since I'm doing this on behalf  */
24937 -    /* of a thread which holds the allocation lock in order    */
24938 -    /* to stop the world.  Thus concurrent modification of the */
24939 -    /* data structure is impossible.                           */
24940 -    if (me -> stop_info.last_stop_count == my_stop_count) {
24941 -       /* Duplicate signal.  OK if we are retrying.    */
24942 -       if (!GC_retry_signals) {
24943 -           WARN("Duplicate suspend signal in thread %lx\n",
24944 -                pthread_self());
24945 -       }
24946 -       return;
24947 -    }
24948 -#   ifdef SPARC
24949 -       me -> stop_info.stack_ptr = (ptr_t)GC_save_regs_in_stack();
24950 -#   else
24951 -       me -> stop_info.stack_ptr = (ptr_t)(&dummy);
24952 -#   endif
24953 -#   ifdef IA64
24954 -       me -> backing_store_ptr = (ptr_t)GC_save_regs_in_stack();
24955 -#   endif
24956 -
24957 -    /* Tell the thread that wants to stop the world that this   */
24958 -    /* thread has been stopped.  Note that sem_post() is       */
24959 -    /* the only async-signal-safe primitive in LinuxThreads.    */
24960 -    sem_post(&GC_suspend_ack_sem);
24961 -    me -> stop_info.last_stop_count = my_stop_count;
24962 -
24963 -    /* Wait until that thread tells us to restart by sending    */
24964 -    /* this thread a SIG_THR_RESTART signal.                   */
24965 -    /* SIG_THR_RESTART should be masked at this point.  Thus there     */
24966 -    /* is no race.                                             */
24967 -    if (sigfillset(&mask) != 0) ABORT("sigfillset() failed");
24968 -    if (sigdelset(&mask, SIG_THR_RESTART) != 0) ABORT("sigdelset() failed");
24969 -#   ifdef NO_SIGNALS
24970 -      if (sigdelset(&mask, SIGINT) != 0) ABORT("sigdelset() failed");
24971 -      if (sigdelset(&mask, SIGQUIT) != 0) ABORT("sigdelset() failed");
24972 -      if (sigdelset(&mask, SIGTERM) != 0) ABORT("sigdelset() failed");
24973 -      if (sigdelset(&mask, SIGABRT) != 0) ABORT("sigdelset() failed");
24974 -#   endif
24975 -    do {
24976 -           me->stop_info.signal = 0;
24977 -           sigsuspend(&mask);             /* Wait for signal */
24978 -    } while (me->stop_info.signal != SIG_THR_RESTART);
24979 -    /* If the RESTART signal gets lost, we can still lose.  That should be  */
24980 -    /* less likely than losing the SUSPEND signal, since we don't do much   */
24981 -    /* between the sem_post and sigsuspend.                                */
24982 -    /* We'd need more handshaking to work around that, since we don't want  */
24983 -    /* to accidentally leave a RESTART signal pending, thus causing us to   */
24984 -    /* continue prematurely in a future round.                             */ 
24985 -
24986 -#if DEBUG_THREADS
24987 -    GC_printf1("Continuing 0x%lx\n", my_thread);
24988 -#endif
24989 -}
24990 -
24991 -void GC_restart_handler(int sig)
24992 -{
24993 -    pthread_t my_thread = pthread_self();
24994 -    GC_thread me;
24995 -
24996 -    if (sig != SIG_THR_RESTART) ABORT("Bad signal in suspend_handler");
24997 -
24998 -    /* Let the GC_suspend_handler() know that we got a SIG_THR_RESTART. */
24999 -    /* The lookup here is safe, since I'm doing this on behalf  */
25000 -    /* of a thread which holds the allocation lock in order    */
25001 -    /* to stop the world.  Thus concurrent modification of the */
25002 -    /* data structure is impossible.                           */
25003 -    me = GC_lookup_thread(my_thread);
25004 -    me->stop_info.signal = SIG_THR_RESTART;
25005 -
25006 -    /*
25007 -    ** Note: even if we didn't do anything useful here,
25008 -    ** it would still be necessary to have a signal handler,
25009 -    ** rather than ignoring the signals, otherwise
25010 -    ** the signals will not be delivered at all, and
25011 -    ** will thus not interrupt the sigsuspend() above.
25012 -    */
25013 -
25014 -#if DEBUG_THREADS
25015 -    GC_printf1("In GC_restart_handler for 0x%lx\n", pthread_self());
25016 -#endif
25017 -}
25018 -
25019 -# ifdef IA64
25020 -#   define IF_IA64(x) x
25021 -# else
25022 -#   define IF_IA64(x)
25023 -# endif
25024 -/* We hold allocation lock.  Should do exactly the right thing if the  */
25025 -/* world is stopped.  Should not fail if it isn't.                     */
25026 -void GC_push_all_stacks()
25027 -{
25028 -    int i;
25029 -    GC_thread p;
25030 -    ptr_t lo, hi;
25031 -    /* On IA64, we also need to scan the register backing store. */
25032 -    IF_IA64(ptr_t bs_lo; ptr_t bs_hi;)
25033 -    pthread_t me = pthread_self();
25034 -    
25035 -    if (!GC_thr_initialized) GC_thr_init();
25036 -    #if DEBUG_THREADS
25037 -        GC_printf1("Pushing stacks from thread 0x%lx\n", (unsigned long) me);
25038 -    #endif
25039 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25040 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25041 -        if (p -> flags & FINISHED) continue;
25042 -        if (pthread_equal(p -> id, me)) {
25043 -#          ifdef SPARC
25044 -               lo = (ptr_t)GC_save_regs_in_stack();
25045 -#          else
25046 -               lo = GC_approx_sp();
25047 -#           endif
25048 -           IF_IA64(bs_hi = (ptr_t)GC_save_regs_in_stack();)
25049 -       } else {
25050 -           lo = p -> stop_info.stack_ptr;
25051 -           IF_IA64(bs_hi = p -> backing_store_ptr;)
25052 -       }
25053 -        if ((p -> flags & MAIN_THREAD) == 0) {
25054 -           hi = p -> stack_end;
25055 -           IF_IA64(bs_lo = p -> backing_store_end);
25056 -        } else {
25057 -            /* The original stack. */
25058 -            hi = GC_stackbottom;
25059 -           IF_IA64(bs_lo = BACKING_STORE_BASE;)
25060 -        }
25061 -        #if DEBUG_THREADS
25062 -            GC_printf3("Stack for thread 0x%lx = [%lx,%lx)\n",
25063 -               (unsigned long) p -> id,
25064 -               (unsigned long) lo, (unsigned long) hi);
25065 -        #endif
25066 -       if (0 == lo) ABORT("GC_push_all_stacks: sp not set!\n");
25067 -#       ifdef STACK_GROWS_UP
25068 -         /* We got them backwards! */
25069 -          GC_push_all_stack(hi, lo);
25070 -#       else
25071 -          GC_push_all_stack(lo, hi);
25072 -#      endif
25073 -#      ifdef IA64
25074 -          if (pthread_equal(p -> id, me)) {
25075 -           GC_push_all_eager(bs_lo, bs_hi);
25076 -         } else {
25077 -           GC_push_all_stack(bs_lo, bs_hi);
25078 -         }
25079 -#      endif
25080 -      }
25081 -    }
25082 -}
25083 -
25084 -/* There seems to be a very rare thread stopping problem.  To help us  */
25085 -/* debug that, we save the ids of the stopping thread. */
25086 -pthread_t GC_stopping_thread;
25087 -int GC_stopping_pid;
25088 -
25089 -/* We hold the allocation lock.  Suspend all threads that might        */
25090 -/* still be running.  Return the number of suspend signals that        */
25091 -/* were sent. */
25092 -int GC_suspend_all()
25093 -{
25094 -    int n_live_threads = 0;
25095 -    int i;
25096 -    GC_thread p;
25097 -    int result;
25098 -    pthread_t my_thread = pthread_self();
25099 -    
25100 -    GC_stopping_thread = my_thread;    /* debugging only.      */
25101 -    GC_stopping_pid = getpid();                /* debugging only.      */
25102 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25103 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25104 -        if (p -> id != my_thread) {
25105 -            if (p -> flags & FINISHED) continue;
25106 -            if (p -> stop_info.last_stop_count == GC_stop_count) continue;
25107 -           if (p -> thread_blocked) /* Will wait */ continue;
25108 -            n_live_threads++;
25109 -           #if DEBUG_THREADS
25110 -             GC_printf1("Sending suspend signal to 0x%lx\n", p -> id);
25111 -           #endif
25112 -        
25113 -        result = pthread_kill(p -> id, SIG_SUSPEND);
25114 -           switch(result) {
25115 -                case ESRCH:
25116 -                    /* Not really there anymore.  Possible? */
25117 -                    n_live_threads--;
25118 -                    break;
25119 -                case 0:
25120 -                    break;
25121 -                default:
25122 -                    ABORT("pthread_kill failed");
25123 -            }
25124 -        }
25125 -      }
25126 -    }
25127 -    return n_live_threads;
25128 -}
25129 -
25130 -/* Caller holds allocation lock.       */
25131 -void GC_stop_world()
25132 -{
25133 -    int i;
25134 -    int n_live_threads;
25135 -    int code;
25136 -
25137 -    #if DEBUG_THREADS
25138 -    GC_printf1("Stopping the world from 0x%lx\n", pthread_self());
25139 -    #endif
25140 -       
25141 -    /* Make sure all free list construction has stopped before we start. */
25142 -    /* No new construction can start, since free list construction is  */
25143 -    /* required to acquire and release the GC lock before it starts,   */
25144 -    /* and we have the lock.                                           */
25145 -#   ifdef PARALLEL_MARK
25146 -      GC_acquire_mark_lock();
25147 -      GC_ASSERT(GC_fl_builder_count == 0);
25148 -      /* We should have previously waited for it to become zero. */
25149 -#   endif /* PARALLEL_MARK */
25150 -    ++GC_stop_count;
25151 -    n_live_threads = GC_suspend_all();
25152 -
25153 -      if (GC_retry_signals) {
25154 -         unsigned long wait_usecs = 0;  /* Total wait since retry.     */
25155 -#        define WAIT_UNIT 3000
25156 -#        define RETRY_INTERVAL 100000
25157 -         for (;;) {
25158 -             int ack_count;
25159 -
25160 -             sem_getvalue(&GC_suspend_ack_sem, &ack_count);
25161 -             if (ack_count == n_live_threads) break;
25162 -             if (wait_usecs > RETRY_INTERVAL) {
25163 -                 int newly_sent = GC_suspend_all();
25164 -
25165 -#                 ifdef CONDPRINT
25166 -                   if (GC_print_stats) {
25167 -                     GC_printf1("Resent %ld signals after timeout\n",
25168 -                                newly_sent);
25169 -                   }
25170 -#                 endif
25171 -                 sem_getvalue(&GC_suspend_ack_sem, &ack_count);
25172 -                 if (newly_sent < n_live_threads - ack_count) {
25173 -                     WARN("Lost some threads during GC_stop_world?!\n",0);
25174 -                     n_live_threads = ack_count + newly_sent;
25175 -                 }
25176 -                 wait_usecs = 0;
25177 -             }
25178 -             usleep(WAIT_UNIT);
25179 -             wait_usecs += WAIT_UNIT;
25180 -         }
25181 -      }
25182 -    for (i = 0; i < n_live_threads; i++) {
25183 -         if (0 != (code = sem_wait(&GC_suspend_ack_sem))) {
25184 -             GC_err_printf1("Sem_wait returned %ld\n", (unsigned long)code);
25185 -             ABORT("sem_wait for handler failed");
25186 -         }
25187 -    }
25188 -#   ifdef PARALLEL_MARK
25189 -      GC_release_mark_lock();
25190 -#   endif
25191 -    #if DEBUG_THREADS
25192 -      GC_printf1("World stopped from 0x%lx\n", pthread_self());
25193 -    #endif
25194 -    GC_stopping_thread = 0;  /* debugging only */
25195 -}
25196 -
25197 -/* Caller holds allocation lock, and has held it continuously since    */
25198 -/* the world stopped.                                                  */
25199 -void GC_start_world()
25200 -{
25201 -    pthread_t my_thread = pthread_self();
25202 -    register int i;
25203 -    register GC_thread p;
25204 -    register int n_live_threads = 0;
25205 -    register int result;
25206 -
25207 -#   if DEBUG_THREADS
25208 -      GC_printf0("World starting\n");
25209 -#   endif
25210 -
25211 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25212 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25213 -        if (p -> id != my_thread) {
25214 -            if (p -> flags & FINISHED) continue;
25215 -           if (p -> thread_blocked) continue;
25216 -            n_live_threads++;
25217 -           #if DEBUG_THREADS
25218 -             GC_printf1("Sending restart signal to 0x%lx\n", p -> id);
25219 -           #endif
25220 -        
25221 -        result = pthread_kill(p -> id, SIG_THR_RESTART);
25222 -           switch(result) {
25223 -                case ESRCH:
25224 -                    /* Not really there anymore.  Possible? */
25225 -                    n_live_threads--;
25226 -                    break;
25227 -                case 0:
25228 -                    break;
25229 -                default:
25230 -                    ABORT("pthread_kill failed");
25231 -            }
25232 -        }
25233 -      }
25234 -    }
25235 -    #if DEBUG_THREADS
25236 -      GC_printf0("World started\n");
25237 -    #endif
25238 -}
25239 -
25240 -void GC_stop_init() {
25241 -    struct sigaction act;
25242 -    
25243 -    if (sem_init(&GC_suspend_ack_sem, 0, 0) != 0)
25244 -        ABORT("sem_init failed");
25245 -
25246 -    act.sa_flags = SA_RESTART;
25247 -    if (sigfillset(&act.sa_mask) != 0) {
25248 -       ABORT("sigfillset() failed");
25249 -    }
25250 -#   ifdef NO_SIGNALS
25251 -      if (sigdelset(&act.sa_mask, SIGINT) != 0
25252 -         || sigdelset(&act.sa_mask, SIGQUIT != 0)
25253 -         || sigdelset(&act.sa_mask, SIGABRT != 0)
25254 -         || sigdelset(&act.sa_mask, SIGTERM != 0)) {
25255 -        ABORT("sigdelset() failed");
25256 -      }
25257 -#   endif
25258 -
25259 -    /* SIG_THR_RESTART is unmasked by the handler when necessary.      */
25260 -    act.sa_handler = GC_suspend_handler;
25261 -    if (sigaction(SIG_SUSPEND, &act, NULL) != 0) {
25262 -       ABORT("Cannot set SIG_SUSPEND handler");
25263 -    }
25264 -
25265 -    act.sa_handler = GC_restart_handler;
25266 -    if (sigaction(SIG_THR_RESTART, &act, NULL) != 0) {
25267 -       ABORT("Cannot set SIG_THR_RESTART handler");
25268 -    }
25269 -
25270 -    /* Check for GC_RETRY_SIGNALS.     */
25271 -      if (0 != GETENV("GC_RETRY_SIGNALS")) {
25272 -         GC_retry_signals = TRUE;
25273 -      }
25274 -      if (0 != GETENV("GC_NO_RETRY_SIGNALS")) {
25275 -         GC_retry_signals = FALSE;
25276 -      }
25277 -#     ifdef CONDPRINT
25278 -          if (GC_print_stats && GC_retry_signals) {
25279 -              GC_printf0("Will retry suspend signal if necessary.\n");
25280 -         }
25281 -#     endif
25282 -}
25283 -
25284 -#endif
25285 diff -Nur ../boehm-gc/pthread_support.c boehm-gc/pthread_support.c
25286 --- ../boehm-gc/pthread_support.c       Mon May 26 12:48:52 2003
25287 +++ boehm-gc/pthread_support.c  Wed Dec 31 16:00:00 1969
25288 @@ -1,1568 +0,0 @@
25289 -/* 
25290 - * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
25291 - * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
25292 - * Copyright (c) 1998 by Fergus Henderson.  All rights reserved.
25293 - * Copyright (c) 2000-2001 by Hewlett-Packard Company.  All rights reserved.
25294 - *
25295 - * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
25296 - * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
25297 - *
25298 - * Permission is hereby granted to use or copy this program
25299 - * for any purpose,  provided the above notices are retained on all copies.
25300 - * Permission to modify the code and to distribute modified code is granted,
25301 - * provided the above notices are retained, and a notice that the code was
25302 - * modified is included with the above copyright notice.
25303 - */
25304 -/*
25305 - * Support code for LinuxThreads, the clone()-based kernel
25306 - * thread package for Linux which is included in libc6.
25307 - *
25308 - * This code relies on implementation details of LinuxThreads,
25309 - * (i.e. properties not guaranteed by the Pthread standard),
25310 - * though this version now does less of that than the other Pthreads
25311 - * support code.
25312 - *
25313 - * Note that there is a lot of code duplication between linux_threads.c
25314 - * and thread support for some of the other Posix platforms; any changes
25315 - * made here may need to be reflected there too.
25316 - */
25317 - /* DG/UX ix86 support <takis@xfree86.org> */
25318 -/*
25319 - * Linux_threads.c now also includes some code to support HPUX and
25320 - * OSF1 (Compaq Tru64 Unix, really).  The OSF1 support is not yet
25321 - * functional.  The OSF1 code is based on Eric Benson's
25322 - * patch, though that was originally against hpux_irix_threads.  The code
25323 - * here is completely untested.  With 0.0000001% probability, it might
25324 - * actually work.
25325 - *
25326 - * Eric also suggested an alternate basis for a lock implementation in
25327 - * his code:
25328 - * + #elif defined(OSF1)
25329 - * +    unsigned long GC_allocate_lock = 0;
25330 - * +    msemaphore GC_allocate_semaphore;
25331 - * + #  define GC_TRY_LOCK() \
25332 - * +    ((msem_lock(&GC_allocate_semaphore, MSEM_IF_NOWAIT) == 0) \
25333 - * +     ? (GC_allocate_lock = 1) \
25334 - * +     : 0)
25335 - * + #  define GC_LOCK_TAKEN GC_allocate_lock
25336 - */
25337 -
25338 -/*#define DEBUG_THREADS 1*/
25339 -/*#define GC_ASSERTIONS*/
25340 -
25341 -# include "private/pthread_support.h"
25342 -
25343 -# if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
25344 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
25345 -
25346 -# if defined(GC_HPUX_THREADS) && !defined(USE_PTHREAD_SPECIFIC) \
25347 -     && !defined(USE_HPUX_TLS)
25348 -#   define USE_HPUX_TLS
25349 -# endif
25350 -
25351 -# if (defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) || \
25352 -      defined(GC_DARWIN_THREADS)) && !defined(USE_PTHREAD_SPECIFIC)
25353 -#   define USE_PTHREAD_SPECIFIC
25354 -# endif
25355 -
25356 -# if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
25357 -#   define _POSIX4A_DRAFT10_SOURCE 1
25358 -# endif
25359 -
25360 -# if defined(GC_DGUX386_THREADS) && !defined(_USING_POSIX4A_DRAFT10)
25361 -#   define _USING_POSIX4A_DRAFT10 1
25362 -# endif
25363 -
25364 -# ifdef THREAD_LOCAL_ALLOC
25365 -#   if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_HPUX_TLS)
25366 -#     include "private/specific.h"
25367 -#   endif
25368 -#   if defined(USE_PTHREAD_SPECIFIC)
25369 -#     define GC_getspecific pthread_getspecific
25370 -#     define GC_setspecific pthread_setspecific
25371 -#     define GC_key_create pthread_key_create
25372 -      typedef pthread_key_t GC_key_t;
25373 -#   endif
25374 -#   if defined(USE_HPUX_TLS)
25375 -#     define GC_getspecific(x) (x)
25376 -#     define GC_setspecific(key, v) ((key) = (v), 0)
25377 -#     define GC_key_create(key, d) 0
25378 -      typedef void * GC_key_t;
25379 -#   endif
25380 -# endif
25381 -# include <stdlib.h>
25382 -# include <pthread.h>
25383 -# include <sched.h>
25384 -# include <time.h>
25385 -# include <errno.h>
25386 -# include <unistd.h>
25387 -# include <sys/mman.h>
25388 -# include <sys/time.h>
25389 -# include <sys/types.h>
25390 -# include <sys/stat.h>
25391 -# include <fcntl.h>
25392 -
25393 -#if defined(GC_DARWIN_THREADS)
25394 -# include "private/darwin_semaphore.h"
25395 -#else
25396 -# include <semaphore.h>
25397 -#endif /* !GC_DARWIN_THREADS */
25398 -
25399 -#if defined(GC_DARWIN_THREADS)
25400 -# include <sys/sysctl.h>
25401 -#endif /* GC_DARWIN_THREADS */
25402 -
25403 -
25404 -
25405 -#if defined(GC_DGUX386_THREADS)
25406 -# include <sys/dg_sys_info.h>
25407 -# include <sys/_int_psem.h>
25408 -  /* sem_t is an uint in DG/UX */
25409 -  typedef unsigned int  sem_t;
25410 -#endif /* GC_DGUX386_THREADS */
25411 -
25412 -#ifndef __GNUC__
25413 -#   define __inline__
25414 -#endif
25415 -
25416 -#ifdef GC_USE_LD_WRAP
25417 -#   define WRAP_FUNC(f) __wrap_##f
25418 -#   define REAL_FUNC(f) __real_##f
25419 -#else
25420 -#   define WRAP_FUNC(f) GC_##f
25421 -#   if !defined(GC_DGUX386_THREADS)
25422 -#     define REAL_FUNC(f) f
25423 -#   else /* GC_DGUX386_THREADS */
25424 -#     define REAL_FUNC(f) __d10_##f
25425 -#   endif /* GC_DGUX386_THREADS */
25426 -#   undef pthread_create
25427 -#   if !defined(GC_DARWIN_THREADS)
25428 -#   undef pthread_sigmask
25429 -#   endif
25430 -#   undef pthread_join
25431 -#   undef pthread_detach
25432 -#endif
25433 -
25434 -void GC_thr_init();
25435 -
25436 -static GC_bool parallel_initialized = FALSE;
25437 -
25438 -void GC_init_parallel();
25439 -
25440 -# if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
25441 -
25442 -/* We don't really support thread-local allocation with DBG_HDRS_ALL */
25443 -
25444 -#ifdef USE_HPUX_TLS
25445 -  __thread
25446 -#endif
25447 -GC_key_t GC_thread_key;
25448 -
25449 -static GC_bool keys_initialized;
25450 -
25451 -/* Recover the contents of the freelist array fl into the global one gfl.*/
25452 -/* Note that the indexing scheme differs, in that gfl has finer size   */
25453 -/* resolution, even if not all entries are used.                       */
25454 -/* We hold the allocator lock.                                         */
25455 -static void return_freelists(ptr_t *fl, ptr_t *gfl)
25456 -{
25457 -    int i;
25458 -    ptr_t q, *qptr;
25459 -    size_t nwords;
25460 -
25461 -    for (i = 1; i < NFREELISTS; ++i) {
25462 -       nwords = i * (GRANULARITY/sizeof(word));
25463 -        qptr = fl + i; 
25464 -       q = *qptr;
25465 -       if ((word)q >= HBLKSIZE) {
25466 -         if (gfl[nwords] == 0) {
25467 -           gfl[nwords] = q;
25468 -         } else {
25469 -           /* Concatenate: */
25470 -           for (; (word)q >= HBLKSIZE; qptr = &(obj_link(q)), q = *qptr);
25471 -           GC_ASSERT(0 == q);
25472 -           *qptr = gfl[nwords];
25473 -           gfl[nwords] = fl[i];
25474 -         }
25475 -       }
25476 -       /* Clear fl[i], since the thread structure may hang around.     */
25477 -       /* Do it in a way that is likely to trap if we access it.       */
25478 -       fl[i] = (ptr_t)HBLKSIZE;
25479 -    }
25480 -}
25481 -
25482 -/* We statically allocate a single "size 0" object. It is linked to    */
25483 -/* itself, and is thus repeatedly reused for all size 0 allocation     */
25484 -/* requests.  (Size 0 gcj allocation requests are incorrect, and       */
25485 -/* we arrange for those to fault asap.)                                        */
25486 -static ptr_t size_zero_object = (ptr_t)(&size_zero_object);
25487 -
25488 -/* Each thread structure must be initialized.  */
25489 -/* This call must be made from the new thread. */
25490 -/* Caller holds allocation lock.               */
25491 -void GC_init_thread_local(GC_thread p)
25492 -{
25493 -    int i;
25494 -
25495 -    if (!keys_initialized) {
25496 -       if (0 != GC_key_create(&GC_thread_key, 0)) {
25497 -           ABORT("Failed to create key for local allocator");
25498 -        }
25499 -       keys_initialized = TRUE;
25500 -    }
25501 -    if (0 != GC_setspecific(GC_thread_key, p)) {
25502 -       ABORT("Failed to set thread specific allocation pointers");
25503 -    }
25504 -    for (i = 1; i < NFREELISTS; ++i) {
25505 -       p -> ptrfree_freelists[i] = (ptr_t)1;
25506 -       p -> normal_freelists[i] = (ptr_t)1;
25507 -#      ifdef GC_GCJ_SUPPORT
25508 -         p -> gcj_freelists[i] = (ptr_t)1;
25509 -#      endif
25510 -    }   
25511 -    /* Set up the size 0 free lists.   */
25512 -    p -> ptrfree_freelists[0] = (ptr_t)(&size_zero_object);
25513 -    p -> normal_freelists[0] = (ptr_t)(&size_zero_object);
25514 -#   ifdef GC_GCJ_SUPPORT
25515 -        p -> gcj_freelists[0] = (ptr_t)(-1);
25516 -#   endif
25517 -}
25518 -
25519 -#ifdef GC_GCJ_SUPPORT
25520 -  extern ptr_t * GC_gcjobjfreelist;
25521 -#endif
25522 -
25523 -/* We hold the allocator lock. */
25524 -void GC_destroy_thread_local(GC_thread p)
25525 -{
25526 -    /* We currently only do this from the thread itself or from        */
25527 -    /* the fork handler for a child process.                   */
25528 -#   ifndef HANDLE_FORK
25529 -      GC_ASSERT(GC_getspecific(GC_thread_key) == (void *)p);
25530 -#   endif
25531 -    return_freelists(p -> ptrfree_freelists, GC_aobjfreelist);
25532 -    return_freelists(p -> normal_freelists, GC_objfreelist);
25533 -#   ifdef GC_GCJ_SUPPORT
25534 -       return_freelists(p -> gcj_freelists, GC_gcjobjfreelist);
25535 -#   endif
25536 -}
25537 -
25538 -extern GC_PTR GC_generic_malloc_many();
25539 -
25540 -GC_PTR GC_local_malloc(size_t bytes)
25541 -{
25542 -    if (EXPECT(!SMALL_ENOUGH(bytes),0)) {
25543 -        return(GC_malloc(bytes));
25544 -    } else {
25545 -       int index = INDEX_FROM_BYTES(bytes);
25546 -       ptr_t * my_fl;
25547 -       ptr_t my_entry;
25548 -#      if defined(REDIRECT_MALLOC) && !defined(USE_PTHREAD_SPECIFIC)
25549 -       GC_key_t k = GC_thread_key;
25550 -#      endif
25551 -       void * tsd;
25552 -
25553 -#      if defined(REDIRECT_MALLOC) && !defined(USE_PTHREAD_SPECIFIC)
25554 -           if (EXPECT(0 == k, 0)) {
25555 -               /* This can happen if we get called when the world is   */
25556 -               /* being initialized.  Whether we can actually complete */
25557 -               /* the initialization then is unclear.                  */
25558 -               GC_init_parallel();
25559 -               k = GC_thread_key;
25560 -           }
25561 -#      endif
25562 -       tsd = GC_getspecific(GC_thread_key);
25563 -#      ifdef GC_ASSERTIONS
25564 -         LOCK();
25565 -         GC_ASSERT(tsd == (void *)GC_lookup_thread(pthread_self()));
25566 -         UNLOCK();
25567 -#      endif
25568 -       my_fl = ((GC_thread)tsd) -> normal_freelists + index;
25569 -       my_entry = *my_fl;
25570 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
25571 -           ptr_t next = obj_link(my_entry);
25572 -           GC_PTR result = (GC_PTR)my_entry;
25573 -           *my_fl = next;
25574 -           obj_link(my_entry) = 0;
25575 -           PREFETCH_FOR_WRITE(next);
25576 -           return result;
25577 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
25578 -           *my_fl = my_entry + index + 1;
25579 -            return GC_malloc(bytes);
25580 -       } else {
25581 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), NORMAL, my_fl);
25582 -           if (*my_fl == 0) return GC_oom_fn(bytes);
25583 -           return GC_local_malloc(bytes);
25584 -       }
25585 -    }
25586 -}
25587 -
25588 -GC_PTR GC_local_malloc_atomic(size_t bytes)
25589 -{
25590 -    if (EXPECT(!SMALL_ENOUGH(bytes), 0)) {
25591 -        return(GC_malloc_atomic(bytes));
25592 -    } else {
25593 -       int index = INDEX_FROM_BYTES(bytes);
25594 -       ptr_t * my_fl = ((GC_thread)GC_getspecific(GC_thread_key))
25595 -                       -> ptrfree_freelists + index;
25596 -       ptr_t my_entry = *my_fl;
25597 -    
25598 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
25599 -           GC_PTR result = (GC_PTR)my_entry;
25600 -           *my_fl = obj_link(my_entry);
25601 -           return result;
25602 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
25603 -           *my_fl = my_entry + index + 1;
25604 -        return GC_malloc_atomic(bytes);
25605 -       } else {
25606 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), PTRFREE, my_fl);
25607 -           /* *my_fl is updated while the collector is excluded;       */
25608 -           /* the free list is always visible to the collector as      */
25609 -           /* such.                                                    */
25610 -           if (*my_fl == 0) return GC_oom_fn(bytes);
25611 -           return GC_local_malloc_atomic(bytes);
25612 -       }
25613 -    }
25614 -}
25615 -
25616 -#ifdef GC_GCJ_SUPPORT
25617 -
25618 -#include "include/gc_gcj.h"
25619 -
25620 -#ifdef GC_ASSERTIONS
25621 -  extern GC_bool GC_gcj_malloc_initialized;
25622 -#endif
25623 -
25624 -extern int GC_gcj_kind;
25625 -
25626 -GC_PTR GC_local_gcj_malloc(size_t bytes,
25627 -                          void * ptr_to_struct_containing_descr)
25628 -{
25629 -    GC_ASSERT(GC_gcj_malloc_initialized);
25630 -    if (EXPECT(!SMALL_ENOUGH(bytes), 0)) {
25631 -        return GC_gcj_malloc(bytes, ptr_to_struct_containing_descr);
25632 -    } else {
25633 -       int index = INDEX_FROM_BYTES(bytes);
25634 -       ptr_t * my_fl = ((GC_thread)GC_getspecific(GC_thread_key))
25635 -                       -> gcj_freelists + index;
25636 -       ptr_t my_entry = *my_fl;
25637 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
25638 -           GC_PTR result = (GC_PTR)my_entry;
25639 -           GC_ASSERT(!GC_incremental);
25640 -           /* We assert that any concurrent marker will stop us.       */
25641 -           /* Thus it is impossible for a mark procedure to see the    */
25642 -           /* allocation of the next object, but to see this object    */
25643 -           /* still containing a free list pointer.  Otherwise the     */
25644 -           /* marker might find a random "mark descriptor".            */
25645 -           *(volatile ptr_t *)my_fl = obj_link(my_entry);
25646 -           /* We must update the freelist before we store the pointer. */
25647 -           /* Otherwise a GC at this point would see a corrupted       */
25648 -           /* free list.                                               */
25649 -           /* A memory barrier is probably never needed, since the     */
25650 -           /* action of stopping this thread will cause prior writes   */
25651 -           /* to complete.                                             */
25652 -           GC_ASSERT(((void * volatile *)result)[1] == 0); 
25653 -           *(void * volatile *)result = ptr_to_struct_containing_descr; 
25654 -           return result;
25655 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
25656 -           if (!GC_incremental) *my_fl = my_entry + index + 1;
25657 -               /* In the incremental case, we always have to take this */
25658 -               /* path.  Thus we leave the counter alone.              */
25659 -            return GC_gcj_malloc(bytes, ptr_to_struct_containing_descr);
25660 -       } else {
25661 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), GC_gcj_kind, my_fl);
25662 -           if (*my_fl == 0) return GC_oom_fn(bytes);
25663 -           return GC_local_gcj_malloc(bytes, ptr_to_struct_containing_descr);
25664 -       }
25665 -    }
25666 -}
25667 -
25668 -#endif /* GC_GCJ_SUPPORT */
25669 -
25670 -# else  /* !THREAD_LOCAL_ALLOC  && !DBG_HDRS_ALL */
25671 -
25672 -#   define GC_destroy_thread_local(t)
25673 -
25674 -# endif /* !THREAD_LOCAL_ALLOC */
25675 -
25676 -#if 0
25677 -/*
25678 -To make sure that we're using LinuxThreads and not some other thread
25679 -package, we generate a dummy reference to `pthread_kill_other_threads_np'
25680 -(was `__pthread_initial_thread_bos' but that disappeared),
25681 -which is a symbol defined in LinuxThreads, but (hopefully) not in other
25682 -thread packages.
25683 -
25684 -We no longer do this, since this code is now portable enough that it might
25685 -actually work for something else.
25686 -*/
25687 -void (*dummy_var_to_force_linux_threads)() = pthread_kill_other_threads_np;
25688 -#endif /* 0 */
25689 -
25690 -#if defined(SPARC) || defined(IA64)
25691 -  extern word GC_save_regs_in_stack();
25692 -#endif
25693 -
25694 -long GC_nprocs = 1;    /* Number of processors.  We may not have       */
25695 -                       /* access to all of them, but this is as good   */
25696 -                       /* a guess as any ...                           */
25697 -
25698 -#ifdef PARALLEL_MARK
25699 -
25700 -# ifndef MAX_MARKERS
25701 -#   define MAX_MARKERS 16
25702 -# endif
25703 -
25704 -static ptr_t marker_sp[MAX_MARKERS] = {0};
25705 -
25706 -void * GC_mark_thread(void * id)
25707 -{
25708 -  word my_mark_no = 0;
25709 -
25710 -  marker_sp[(word)id] = GC_approx_sp();
25711 -  for (;; ++my_mark_no) {
25712 -    /* GC_mark_no is passed only to allow GC_help_marker to terminate  */
25713 -    /* promptly.  This is important if it were called from the signal  */
25714 -    /* handler or from the GC lock acquisition code.  Under Linux, it's        */
25715 -    /* not safe to call it from a signal handler, since it uses mutexes        */
25716 -    /* and condition variables.  Since it is called only here, the     */
25717 -    /* argument is unnecessary.                                                */
25718 -    if (my_mark_no < GC_mark_no || my_mark_no > GC_mark_no + 2) {
25719 -       /* resynchronize if we get far off, e.g. because GC_mark_no     */
25720 -       /* wrapped.                                                     */
25721 -       my_mark_no = GC_mark_no;
25722 -    }
25723 -#   ifdef DEBUG_THREADS
25724 -       GC_printf1("Starting mark helper for mark number %ld\n", my_mark_no);
25725 -#   endif
25726 -    GC_help_marker(my_mark_no);
25727 -  }
25728 -}
25729 -
25730 -extern long GC_markers;                /* Number of mark threads we would      */
25731 -                               /* like to have.  Includes the          */
25732 -                               /* initiating thread.                   */
25733 -
25734 -pthread_t GC_mark_threads[MAX_MARKERS];
25735 -
25736 -#define PTHREAD_CREATE REAL_FUNC(pthread_create)
25737 -
25738 -static void start_mark_threads()
25739 -{
25740 -    unsigned i;
25741 -    pthread_attr_t attr;
25742 -
25743 -    if (GC_markers > MAX_MARKERS) {
25744 -       WARN("Limiting number of mark threads\n", 0);
25745 -       GC_markers = MAX_MARKERS;
25746 -    }
25747 -    if (0 != pthread_attr_init(&attr)) ABORT("pthread_attr_init failed");
25748 -       
25749 -    if (0 != pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED))
25750 -       ABORT("pthread_attr_setdetachstate failed");
25751 -
25752 -#   if defined(HPUX) || defined(GC_DGUX386_THREADS)
25753 -      /* Default stack size is usually too small: fix it. */
25754 -      /* Otherwise marker threads or GC may run out of   */
25755 -      /* space.                                                  */
25756 -#     define MIN_STACK_SIZE (8*HBLKSIZE*sizeof(word))
25757 -      {
25758 -       size_t old_size;
25759 -       int code;
25760 -
25761 -        if (pthread_attr_getstacksize(&attr, &old_size) != 0)
25762 -         ABORT("pthread_attr_getstacksize failed\n");
25763 -       if (old_size < MIN_STACK_SIZE) {
25764 -         if (pthread_attr_setstacksize(&attr, MIN_STACK_SIZE) != 0)
25765 -                 ABORT("pthread_attr_setstacksize failed\n");
25766 -       }
25767 -      }
25768 -#   endif /* HPUX || GC_DGUX386_THREADS */
25769 -#   ifdef CONDPRINT
25770 -      if (GC_print_stats) {
25771 -       GC_printf1("Starting %ld marker threads\n", GC_markers - 1);
25772 -      }
25773 -#   endif
25774 -    for (i = 0; i < GC_markers - 1; ++i) {
25775 -      if (0 != PTHREAD_CREATE(GC_mark_threads + i, &attr,
25776 -                             GC_mark_thread, (void *)(word)i)) {
25777 -       WARN("Marker thread creation failed, errno = %ld.\n", errno);
25778 -      }
25779 -    }
25780 -}
25781 -
25782 -#else  /* !PARALLEL_MARK */
25783 -
25784 -static __inline__ void start_mark_threads()
25785 -{
25786 -}
25787 -
25788 -#endif /* !PARALLEL_MARK */
25789 -
25790 -/* Defining INSTALL_LOOPING_SEGV_HANDLER causes SIGSEGV and SIGBUS to  */
25791 -/* result in an infinite loop in a signal handler.  This can be very   */
25792 -/* useful for debugging, since (as of RH7) gdb still seems to have     */
25793 -/* serious problems with threads.                                      */
25794 -#ifdef INSTALL_LOOPING_SEGV_HANDLER
25795 -void GC_looping_handler(int sig)
25796 -{
25797 -    GC_printf3("Signal %ld in thread %lx, pid %ld\n",
25798 -              sig, pthread_self(), getpid());
25799 -    for (;;);
25800 -}
25801 -#endif
25802 -
25803 -GC_bool GC_thr_initialized = FALSE;
25804 -
25805 -volatile GC_thread GC_threads[THREAD_TABLE_SZ];
25806 -
25807 -void GC_push_thread_structures GC_PROTO((void))
25808 -{
25809 -    GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
25810 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
25811 -      GC_push_all((ptr_t)(&GC_thread_key),
25812 -         (ptr_t)(&GC_thread_key)+sizeof(&GC_thread_key));
25813 -#   endif
25814 -}
25815 -
25816 -#ifdef THREAD_LOCAL_ALLOC
25817 -/* We must explicitly mark ptrfree and gcj free lists, since the free  */
25818 -/* list links wouldn't otherwise be found.  We also set them in the    */
25819 -/* normal free lists, since that involves touching less memory than if */
25820 -/* we scanned them normally.                                           */
25821 -void GC_mark_thread_local_free_lists(void)
25822 -{
25823 -    int i, j;
25824 -    GC_thread p;
25825 -    ptr_t q;
25826 -    
25827 -    for (i = 0; i < THREAD_TABLE_SZ; ++i) {
25828 -      for (p = GC_threads[i]; 0 != p; p = p -> next) {
25829 -       for (j = 1; j < NFREELISTS; ++j) {
25830 -         q = p -> ptrfree_freelists[j];
25831 -         if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
25832 -         q = p -> normal_freelists[j];
25833 -         if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
25834 -#        ifdef GC_GCJ_SUPPORT
25835 -           q = p -> gcj_freelists[j];
25836 -           if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
25837 -#        endif /* GC_GCJ_SUPPORT */
25838 -       }
25839 -      }
25840 -    }
25841 -}
25842 -#endif /* THREAD_LOCAL_ALLOC */
25843 -
25844 -static struct GC_Thread_Rep first_thread;
25845 -
25846 -/* Add a thread to GC_threads.  We assume it wasn't already there.     */
25847 -/* Caller holds allocation lock.                                       */
25848 -GC_thread GC_new_thread(pthread_t id)
25849 -{
25850 -    int hv = ((word)id) % THREAD_TABLE_SZ;
25851 -    GC_thread result;
25852 -    static GC_bool first_thread_used = FALSE;
25853 -    
25854 -    if (!first_thread_used) {
25855 -       result = &first_thread;
25856 -       first_thread_used = TRUE;
25857 -    } else {
25858 -        result = (struct GC_Thread_Rep *)
25859 -                GC_INTERNAL_MALLOC(sizeof(struct GC_Thread_Rep), NORMAL);
25860 -    }
25861 -    if (result == 0) return(0);
25862 -    result -> id = id;
25863 -    result -> next = GC_threads[hv];
25864 -    GC_threads[hv] = result;
25865 -    GC_ASSERT(result -> flags == 0 && result -> thread_blocked == 0);
25866 -    return(result);
25867 -}
25868 -
25869 -/* Delete a thread from GC_threads.  We assume it is there.    */
25870 -/* (The code intentionally traps if it wasn't.)                        */
25871 -/* Caller holds allocation lock.                               */
25872 -void GC_delete_thread(pthread_t id)
25873 -{
25874 -    int hv = ((word)id) % THREAD_TABLE_SZ;
25875 -    register GC_thread p = GC_threads[hv];
25876 -    register GC_thread prev = 0;
25877 -    
25878 -    while (!pthread_equal(p -> id, id)) {
25879 -        prev = p;
25880 -        p = p -> next;
25881 -    }
25882 -    if (prev == 0) {
25883 -        GC_threads[hv] = p -> next;
25884 -    } else {
25885 -        prev -> next = p -> next;
25886 -    }
25887 -    GC_INTERNAL_FREE(p);
25888 -}
25889 -
25890 -/* If a thread has been joined, but we have not yet            */
25891 -/* been notified, then there may be more than one thread       */
25892 -/* in the table with the same pthread id.                      */
25893 -/* This is OK, but we need a way to delete a specific one.     */
25894 -void GC_delete_gc_thread(pthread_t id, GC_thread gc_id)
25895 -{
25896 -    int hv = ((word)id) % THREAD_TABLE_SZ;
25897 -    register GC_thread p = GC_threads[hv];
25898 -    register GC_thread prev = 0;
25899 -
25900 -    while (p != gc_id) {
25901 -        prev = p;
25902 -        p = p -> next;
25903 -    }
25904 -    if (prev == 0) {
25905 -        GC_threads[hv] = p -> next;
25906 -    } else {
25907 -        prev -> next = p -> next;
25908 -    }
25909 -    GC_INTERNAL_FREE(p);
25910 -}
25911 -
25912 -/* Return a GC_thread corresponding to a given thread_t.       */
25913 -/* Returns 0 if it's not there.                                        */
25914 -/* Caller holds  allocation lock or otherwise inhibits                 */
25915 -/* updates.                                                    */
25916 -/* If there is more than one thread with the given id we       */
25917 -/* return the most recent one.                                 */
25918 -GC_thread GC_lookup_thread(pthread_t id)
25919 -{
25920 -    int hv = ((word)id) % THREAD_TABLE_SZ;
25921 -    register GC_thread p = GC_threads[hv];
25922 -    
25923 -    while (p != 0 && !pthread_equal(p -> id, id)) p = p -> next;
25924 -    return(p);
25925 -}
25926 -
25927 -#ifdef HANDLE_FORK
25928 -/* Remove all entries from the GC_threads table, except the    */
25929 -/* one for the current thread.  We need to do this in the child        */
25930 -/* process after a fork(), since only the current thread       */
25931 -/* survives in the child.                                      */
25932 -void GC_remove_all_threads_but_me(void)
25933 -{
25934 -    pthread_t self = pthread_self();
25935 -    int hv;
25936 -    GC_thread p, next, me;
25937 -
25938 -    for (hv = 0; hv < THREAD_TABLE_SZ; ++hv) {
25939 -      me = 0;
25940 -      for (p = GC_threads[hv]; 0 != p; p = next) {
25941 -       next = p -> next;
25942 -       if (p -> id == self) {
25943 -         me = p;
25944 -         p -> next = 0;
25945 -       } else {
25946 -#        ifdef THREAD_LOCAL_ALLOC
25947 -           if (!(p -> flags & FINISHED)) {
25948 -             GC_destroy_thread_local(p);
25949 -           }
25950 -#        endif /* THREAD_LOCAL_ALLOC */
25951 -         if (p != &first_thread) GC_INTERNAL_FREE(p);
25952 -       }
25953 -      }
25954 -      GC_threads[hv] = me;
25955 -    }
25956 -}
25957 -#endif /* HANDLE_FORK */
25958 -
25959 -#ifdef USE_PROC_FOR_LIBRARIES
25960 -int GC_segment_is_thread_stack(ptr_t lo, ptr_t hi)
25961 -{
25962 -    int i;
25963 -    GC_thread p;
25964 -    
25965 -#   ifdef PARALLEL_MARK
25966 -      for (i = 0; i < GC_markers; ++i) {
25967 -       if (marker_sp[i] > lo & marker_sp[i] < hi) return 1;
25968 -      }
25969 -#   endif
25970 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25971 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25972 -       if (0 != p -> stack_end) {
25973 -#        ifdef STACK_GROWS_UP
25974 -            if (p -> stack_end >= lo && p -> stack_end < hi) return 1;
25975 -#        else /* STACK_GROWS_DOWN */
25976 -            if (p -> stack_end > lo && p -> stack_end <= hi) return 1;
25977 -#        endif
25978 -       }
25979 -      }
25980 -    }
25981 -    return 0;
25982 -}
25983 -#endif /* USE_PROC_FOR_LIBRARIES */
25984 -
25985 -#ifdef GC_LINUX_THREADS
25986 -/* Return the number of processors, or i<= 0 if it can't be determined.        */
25987 -int GC_get_nprocs()
25988 -{
25989 -    /* Should be "return sysconf(_SC_NPROCESSORS_ONLN);" but that      */
25990 -    /* appears to be buggy in many cases.                              */
25991 -    /* We look for lines "cpu<n>" in /proc/stat.                       */
25992 -#   define STAT_BUF_SIZE 4096
25993 -#   define STAT_READ read
25994 -       /* If read is wrapped, this may need to be redefined to call    */
25995 -       /* the real one.                                                */
25996 -    char stat_buf[STAT_BUF_SIZE];
25997 -    int f;
25998 -    word result = 1;
25999 -       /* Some old kernels only have a single "cpu nnnn ..."   */
26000 -       /* entry in /proc/stat.  We identify those as           */
26001 -       /* uniprocessors.                                       */
26002 -    size_t i, len = 0;
26003 -
26004 -    f = open("/proc/stat", O_RDONLY);
26005 -    if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) {
26006 -       WARN("Couldn't read /proc/stat\n", 0);
26007 -       return -1;
26008 -    }
26009 -    for (i = 0; i < len - 100; ++i) {
26010 -        if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c'
26011 -           && stat_buf[i+2] == 'p' && stat_buf[i+3] == 'u') {
26012 -           int cpu_no = atoi(stat_buf + i + 4);
26013 -           if (cpu_no >= result) result = cpu_no + 1;
26014 -       }
26015 -    }
26016 -    close(f);
26017 -    return result;
26018 -}
26019 -#endif /* GC_LINUX_THREADS */
26020 -
26021 -/* We hold the GC lock.  Wait until an in-progress GC has finished.    */
26022 -/* Repeatedly RELEASES GC LOCK in order to wait.                       */
26023 -/* If wait_for_all is true, then we exit with the GC lock held and no  */
26024 -/* collection in progress; otherwise we just wait for the current GC   */
26025 -/* to finish.                                                          */
26026 -extern GC_bool GC_collection_in_progress();
26027 -void GC_wait_for_gc_completion(GC_bool wait_for_all)
26028 -{
26029 -    if (GC_incremental && GC_collection_in_progress()) {
26030 -       int old_gc_no = GC_gc_no;
26031 -
26032 -       /* Make sure that no part of our stack is still on the mark stack, */
26033 -       /* since it's about to be unmapped.                                */
26034 -       while (GC_incremental && GC_collection_in_progress()
26035 -              && (wait_for_all || old_gc_no == GC_gc_no)) {
26036 -           ENTER_GC();
26037 -            GC_collect_a_little_inner(1);
26038 -           EXIT_GC();
26039 -           UNLOCK();
26040 -           sched_yield();
26041 -           LOCK();
26042 -       }
26043 -    }
26044 -}
26045 -
26046 -#ifdef HANDLE_FORK
26047 -/* Procedures called before and after a fork.  The goal here is to make */
26048 -/* it safe to call GC_malloc() in a forked child.  It's unclear that is        */
26049 -/* attainable, since the single UNIX spec seems to imply that one      */
26050 -/* should only call async-signal-safe functions, and we probably can't */
26051 -/* quite guarantee that.  But we give it our best shot.  (That same    */
26052 -/* spec also implies that it's not safe to call the system malloc      */
26053 -/* between fork() and exec().  Thus we're doing no worse than it.      */
26054 -
26055 -/* Called before a fork()              */
26056 -void GC_fork_prepare_proc(void)
26057 -{
26058 -    /* Acquire all relevant locks, so that after releasing the locks   */
26059 -    /* the child will see a consistent state in which monitor          */
26060 -    /* invariants hold.         Unfortunately, we can't acquire libc locks     */
26061 -    /* we might need, and there seems to be no guarantee that libc     */
26062 -    /* must install a suitable fork handler.                           */
26063 -    /* Wait for an ongoing GC to finish, since we can't finish it in   */
26064 -    /* the (one remaining thread in) the child.                                */
26065 -      LOCK();
26066 -#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26067 -        GC_wait_for_reclaim();
26068 -#     endif
26069 -      GC_wait_for_gc_completion(TRUE);
26070 -#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26071 -        GC_acquire_mark_lock();
26072 -#     endif
26073 -}
26074 -
26075 -/* Called in parent after a fork()     */
26076 -void GC_fork_parent_proc(void)
26077 -{
26078 -#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26079 -      GC_release_mark_lock();
26080 -#   endif
26081 -    UNLOCK();
26082 -}
26083 -
26084 -/* Called in child after a fork()      */
26085 -void GC_fork_child_proc(void)
26086 -{
26087 -    /* Clean up the thread table, so that just our thread is left. */
26088 -#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26089 -      GC_release_mark_lock();
26090 -#   endif
26091 -    GC_remove_all_threads_but_me();
26092 -#   ifdef PARALLEL_MARK
26093 -      /* Turn off parallel marking in the child, since we are probably         */
26094 -      /* just going to exec, and we would have to restart mark threads.        */
26095 -        GC_markers = 1;
26096 -        GC_parallel = FALSE;
26097 -#   endif /* PARALLEL_MARK */
26098 -    UNLOCK();
26099 -}
26100 -#endif /* HANDLE_FORK */
26101 -
26102 -#if defined(GC_DGUX386_THREADS)
26103 -/* Return the number of processors, or i<= 0 if it can't be determined. */
26104 -int GC_get_nprocs()
26105 -{
26106 -    /* <takis@XFree86.Org> */
26107 -    int numCpus;
26108 -    struct dg_sys_info_pm_info pm_sysinfo;
26109 -    int status =0;
26110 -
26111 -    status = dg_sys_info((long int *) &pm_sysinfo,
26112 -       DG_SYS_INFO_PM_INFO_TYPE, DG_SYS_INFO_PM_CURRENT_VERSION);
26113 -    if (status < 0)
26114 -       /* set -1 for error */
26115 -       numCpus = -1;
26116 -    else
26117 -      /* Active CPUs */
26118 -      numCpus = pm_sysinfo.idle_vp_count;
26119 -
26120 -#  ifdef DEBUG_THREADS
26121 -    GC_printf1("Number of active CPUs in this system: %d\n", numCpus);
26122 -#  endif
26123 -    return(numCpus);
26124 -}
26125 -#endif /* GC_DGUX386_THREADS */
26126 -
26127 -/* We hold the allocation lock.        */
26128 -void GC_thr_init()
26129 -{
26130 -#      ifndef GC_DARWIN_THREADS
26131 -        int dummy;
26132 -#      endif
26133 -    GC_thread t;
26134 -
26135 -    if (GC_thr_initialized) return;
26136 -    GC_thr_initialized = TRUE;
26137 -    
26138 -#   ifdef HANDLE_FORK
26139 -      /* Prepare for a possible fork.  */
26140 -        pthread_atfork(GC_fork_prepare_proc, GC_fork_parent_proc,
26141 -                      GC_fork_child_proc);
26142 -#   endif /* HANDLE_FORK */
26143 -    /* Add the initial thread, so we can stop it.      */
26144 -      t = GC_new_thread(pthread_self());
26145 -#     ifdef GC_DARWIN_THREADS
26146 -         t -> stop_info.mach_thread = mach_thread_self();
26147 -#     else
26148 -         t -> stop_info.stack_ptr = (ptr_t)(&dummy);
26149 -#     endif
26150 -      t -> flags = DETACHED | MAIN_THREAD;
26151 -
26152 -    GC_stop_init();
26153 -
26154 -    /* Set GC_nprocs.  */
26155 -      {
26156 -       char * nprocs_string = GETENV("GC_NPROCS");
26157 -       GC_nprocs = -1;
26158 -       if (nprocs_string != NULL) GC_nprocs = atoi(nprocs_string);
26159 -      }
26160 -      if (GC_nprocs <= 0) {
26161 -#       if defined(GC_HPUX_THREADS)
26162 -         GC_nprocs = pthread_num_processors_np();
26163 -#       endif
26164 -#      if defined(GC_OSF1_THREADS)
26165 -         GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN);
26166 -         if (GC_nprocs <= 0) GC_nprocs = 1;
26167 -#      endif
26168 -#       if defined(GC_FREEBSD_THREADS)
26169 -          GC_nprocs = 1;
26170 -#       endif
26171 -#       if defined(GC_DARWIN_THREADS)
26172 -         int ncpus = 1;
26173 -         size_t len = sizeof(ncpus);
26174 -         sysctl((int[2]) {CTL_HW, HW_NCPU}, 2, &ncpus, &len, NULL, 0);
26175 -         GC_nprocs = ncpus;
26176 -#       endif
26177 -#      if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
26178 -          GC_nprocs = GC_get_nprocs();
26179 -#      endif
26180 -      }
26181 -      if (GC_nprocs <= 0) {
26182 -       WARN("GC_get_nprocs() returned %ld\n", GC_nprocs);
26183 -       GC_nprocs = 2;
26184 -#      ifdef PARALLEL_MARK
26185 -         GC_markers = 1;
26186 -#      endif
26187 -      } else {
26188 -#      ifdef PARALLEL_MARK
26189 -          {
26190 -           char * markers_string = GETENV("GC_MARKERS");
26191 -           if (markers_string != NULL) {
26192 -             GC_markers = atoi(markers_string);
26193 -           } else {
26194 -             GC_markers = GC_nprocs;
26195 -           }
26196 -          }
26197 -#      endif
26198 -      }
26199 -#   ifdef PARALLEL_MARK
26200 -#     ifdef CONDPRINT
26201 -        if (GC_print_stats) {
26202 -          GC_printf2("Number of processors = %ld, "
26203 -                "number of marker threads = %ld\n", GC_nprocs, GC_markers);
26204 -       }
26205 -#     endif
26206 -      if (GC_markers == 1) {
26207 -       GC_parallel = FALSE;
26208 -#      ifdef CONDPRINT
26209 -         if (GC_print_stats) {
26210 -           GC_printf0("Single marker thread, turning off parallel marking\n");
26211 -         }
26212 -#      endif
26213 -      } else {
26214 -       GC_parallel = TRUE;
26215 -       /* Disable true incremental collection, but generational is OK. */
26216 -       GC_time_limit = GC_TIME_UNLIMITED;
26217 -      }
26218 -#   endif
26219 -}
26220 -
26221 -
26222 -/* Perform all initializations, including those that   */
26223 -/* may require allocation.                             */
26224 -/* Called without allocation lock.                     */
26225 -/* Must be called before a second thread is created.   */
26226 -/* Called without allocation lock.                     */
26227 -void GC_init_parallel()
26228 -{
26229 -    if (parallel_initialized) return;
26230 -    parallel_initialized = TRUE;
26231 -
26232 -    /* GC_init() calls us back, so set flag first.     */
26233 -    if (!GC_is_initialized) GC_init();
26234 -    /* If we are using a parallel marker, start the helper threads.  */
26235 -#     ifdef PARALLEL_MARK
26236 -        if (GC_parallel) start_mark_threads();
26237 -#     endif
26238 -    /* Initialize thread local free lists if used.     */
26239 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26240 -      LOCK();
26241 -      GC_init_thread_local(GC_lookup_thread(pthread_self()));
26242 -      UNLOCK();
26243 -#   endif
26244 -}
26245 -
26246 -
26247 -#if !defined(GC_DARWIN_THREADS)
26248 -int WRAP_FUNC(pthread_sigmask)(int how, const sigset_t *set, sigset_t *oset)
26249 -{
26250 -    sigset_t fudged_set;
26251 -    
26252 -    if (set != NULL && (how == SIG_BLOCK || how == SIG_SETMASK)) {
26253 -        fudged_set = *set;
26254 -        sigdelset(&fudged_set, SIG_SUSPEND);
26255 -        set = &fudged_set;
26256 -    }
26257 -    return(REAL_FUNC(pthread_sigmask)(how, set, oset));
26258 -}
26259 -#endif /* !GC_DARWIN_THREADS */
26260 -
26261 -/* Wrappers for functions that are likely to block for an appreciable  */
26262 -/* length of time.  Must be called in pairs, if at all.                        */
26263 -/* Nothing much beyond the system call itself should be executed       */
26264 -/* between these.                                                      */
26265 -
26266 -void GC_start_blocking(void) {
26267 -#   define SP_SLOP 128
26268 -    GC_thread me;
26269 -    LOCK();
26270 -    me = GC_lookup_thread(pthread_self());
26271 -    GC_ASSERT(!(me -> thread_blocked));
26272 -#   ifdef SPARC
26273 -       me -> stop_info.stack_ptr = (ptr_t)GC_save_regs_in_stack();
26274 -#   else
26275 -#   ifndef GC_DARWIN_THREADS
26276 -       me -> stop_info.stack_ptr = (ptr_t)GC_approx_sp();
26277 -#   endif
26278 -#   endif
26279 -#   ifdef IA64
26280 -       me -> backing_store_ptr = (ptr_t)GC_save_regs_in_stack() + SP_SLOP;
26281 -#   endif
26282 -    /* Add some slop to the stack pointer, since the wrapped call may  */
26283 -    /* end up pushing more callee-save registers.                      */
26284 -#   ifndef GC_DARWIN_THREADS
26285 -#   ifdef STACK_GROWS_UP
26286 -       me -> stop_info.stack_ptr += SP_SLOP;
26287 -#   else
26288 -       me -> stop_info.stack_ptr -= SP_SLOP;
26289 -#   endif
26290 -#   endif
26291 -    me -> thread_blocked = TRUE;
26292 -    UNLOCK();
26293 -}
26294 -
26295 -void GC_end_blocking(void) {
26296 -    GC_thread me;
26297 -    LOCK();   /* This will block if the world is stopped.      */
26298 -    me = GC_lookup_thread(pthread_self());
26299 -    GC_ASSERT(me -> thread_blocked);
26300 -    me -> thread_blocked = FALSE;
26301 -    UNLOCK();
26302 -}
26303 -    
26304 -#if defined(GC_DGUX386_THREADS)
26305 -#define __d10_sleep sleep
26306 -#endif /* GC_DGUX386_THREADS */
26307 -
26308 -/* A wrapper for the standard C sleep function */
26309 -int WRAP_FUNC(sleep) (unsigned int seconds)
26310 -{
26311 -    int result;
26312 -
26313 -    GC_start_blocking();
26314 -    result = REAL_FUNC(sleep)(seconds);
26315 -    GC_end_blocking();
26316 -    return result;
26317 -}
26318 -
26319 -struct start_info {
26320 -    void *(*start_routine)(void *);
26321 -    void *arg;
26322 -    word flags;
26323 -    sem_t registered;          /* 1 ==> in our thread table, but       */
26324 -                               /* parent hasn't yet noticed.           */
26325 -};
26326 -
26327 -/* Called at thread exit.                              */
26328 -/* Never called for main thread.  That's OK, since it  */
26329 -/* results in at most a tiny one-time leak.  And       */
26330 -/* linuxthreads doesn't reclaim the main threads       */
26331 -/* resources or id anyway.                             */
26332 -void GC_thread_exit_proc(void *arg)
26333 -{
26334 -    GC_thread me;
26335 -
26336 -    LOCK();
26337 -    me = GC_lookup_thread(pthread_self());
26338 -    GC_destroy_thread_local(me);
26339 -    if (me -> flags & DETACHED) {
26340 -       GC_delete_thread(pthread_self());
26341 -    } else {
26342 -       me -> flags |= FINISHED;
26343 -    }
26344 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(USE_PTHREAD_SPECIFIC) \
26345 -       && !defined(USE_HPUX_TLS) && !defined(DBG_HDRS_ALL)
26346 -      GC_remove_specific(GC_thread_key);
26347 -#   endif
26348 -    GC_wait_for_gc_completion(FALSE);
26349 -    UNLOCK();
26350 -}
26351 -
26352 -int WRAP_FUNC(pthread_join)(pthread_t thread, void **retval)
26353 -{
26354 -    int result;
26355 -    GC_thread thread_gc_id;
26356 -    
26357 -    LOCK();
26358 -    thread_gc_id = GC_lookup_thread(thread);
26359 -    /* This is guaranteed to be the intended one, since the thread id  */
26360 -    /* cant have been recycled by pthreads.                            */
26361 -    UNLOCK();
26362 -    result = REAL_FUNC(pthread_join)(thread, retval);
26363 -# if defined (GC_FREEBSD_THREADS)
26364 -    /* On FreeBSD, the wrapped pthread_join() sometimes returns (what
26365 -       appears to be) a spurious EINTR which caused the test and real code
26366 -       to gratuitously fail.  Having looked at system pthread library source
26367 -       code, I see how this return code may be generated.  In one path of
26368 -       code, pthread_join() just returns the errno setting of the thread
26369 -       being joined.  This does not match the POSIX specification or the
26370 -       local man pages thus I have taken the liberty to catch this one
26371 -       spurious return value properly conditionalized on GC_FREEBSD_THREADS. */
26372 -    if (result == EINTR) result = 0;
26373 -# endif
26374 -    if (result == 0) {
26375 -        LOCK();
26376 -        /* Here the pthread thread id may have been recycled. */
26377 -        GC_delete_gc_thread(thread, thread_gc_id);
26378 -        UNLOCK();
26379 -    }
26380 -    return result;
26381 -}
26382 -
26383 -int
26384 -WRAP_FUNC(pthread_detach)(pthread_t thread)
26385 -{
26386 -    int result;
26387 -    GC_thread thread_gc_id;
26388 -    
26389 -    LOCK();
26390 -    thread_gc_id = GC_lookup_thread(thread);
26391 -    UNLOCK();
26392 -    result = REAL_FUNC(pthread_detach)(thread);
26393 -    if (result == 0) {
26394 -      LOCK();
26395 -      thread_gc_id -> flags |= DETACHED;
26396 -      /* Here the pthread thread id may have been recycled. */
26397 -      if (thread_gc_id -> flags & FINISHED) {
26398 -        GC_delete_gc_thread(thread, thread_gc_id);
26399 -      }
26400 -      UNLOCK();
26401 -    }
26402 -    return result;
26403 -}
26404 -
26405 -void * GC_start_routine(void * arg)
26406 -{
26407 -    int dummy;
26408 -    struct start_info * si = arg;
26409 -    void * result;
26410 -    GC_thread me;
26411 -    pthread_t my_pthread;
26412 -    void *(*start)(void *);
26413 -    void *start_arg;
26414 -
26415 -    my_pthread = pthread_self();
26416 -#   ifdef DEBUG_THREADS
26417 -        GC_printf1("Starting thread 0x%lx\n", my_pthread);
26418 -        GC_printf1("pid = %ld\n", (long) getpid());
26419 -        GC_printf1("sp = 0x%lx\n", (long) &arg);
26420 -#   endif
26421 -    LOCK();
26422 -    me = GC_new_thread(my_pthread);
26423 -#ifdef GC_DARWIN_THREADS
26424 -    me -> stop_info.mach_thread = mach_thread_self();
26425 -#else
26426 -    me -> stop_info.stack_ptr = 0;
26427 -#endif
26428 -    me -> flags = si -> flags;
26429 -    /* me -> stack_end = GC_linux_stack_base(); -- currently (11/99)   */
26430 -    /* doesn't work because the stack base in /proc/self/stat is the   */
26431 -    /* one for the main thread.  There is a strong argument that that's        */
26432 -    /* a kernel bug, but a pervasive one.                              */
26433 -#   ifdef STACK_GROWS_DOWN
26434 -      me -> stack_end = (ptr_t)(((word)(&dummy) + (GC_page_size - 1))
26435 -                               & ~(GC_page_size - 1));
26436 -#        ifndef GC_DARWIN_THREADS
26437 -        me -> stop_info.stack_ptr = me -> stack_end - 0x10;
26438 -#        endif
26439 -       /* Needs to be plausible, since an asynchronous stack mark      */
26440 -       /* should not crash.                                            */
26441 -#   else
26442 -      me -> stack_end = (ptr_t)((word)(&dummy) & ~(GC_page_size - 1));
26443 -      me -> stop_info.stack_ptr = me -> stack_end + 0x10;
26444 -#   endif
26445 -    /* This is dubious, since we may be more than a page into the stack, */
26446 -    /* and hence skip some of it, though it's not clear that matters.   */
26447 -#   ifdef IA64
26448 -      me -> backing_store_end = (ptr_t)
26449 -                       (GC_save_regs_in_stack() & ~(GC_page_size - 1));
26450 -      /* This is also < 100% convincing.  We should also read this     */
26451 -      /* from /proc, but the hook to do so isn't there yet.            */
26452 -#   endif /* IA64 */
26453 -    UNLOCK();
26454 -    start = si -> start_routine;
26455 -#   ifdef DEBUG_THREADS
26456 -       GC_printf1("start_routine = 0x%lx\n", start);
26457 -#   endif
26458 -    start_arg = si -> arg;
26459 -    sem_post(&(si -> registered));     /* Last action on si.   */
26460 -                                       /* OK to deallocate.    */
26461 -    pthread_cleanup_push(GC_thread_exit_proc, 0);
26462 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26463 -       LOCK();
26464 -        GC_init_thread_local(me);
26465 -       UNLOCK();
26466 -#   endif
26467 -    result = (*start)(start_arg);
26468 -#if DEBUG_THREADS
26469 -        GC_printf1("Finishing thread 0x%x\n", pthread_self());
26470 -#endif
26471 -    me -> status = result;
26472 -    me -> flags |= FINISHED;
26473 -    pthread_cleanup_pop(1);
26474 -    /* Cleanup acquires lock, ensuring that we can't exit              */
26475 -    /* while a collection that thinks we're alive is trying to stop     */
26476 -    /* us.                                                             */
26477 -    return(result);
26478 -}
26479 -
26480 -int
26481 -WRAP_FUNC(pthread_create)(pthread_t *new_thread,
26482 -                 const pthread_attr_t *attr,
26483 -                  void *(*start_routine)(void *), void *arg)
26484 -{
26485 -    int result;
26486 -    int detachstate;
26487 -    word my_flags = 0;
26488 -    struct start_info * si; 
26489 -       /* This is otherwise saved only in an area mmapped by the thread */
26490 -       /* library, which isn't visible to the collector.                */
26491
26492 -    /* We resist the temptation to muck with the stack size here,      */
26493 -    /* even if the default is unreasonably small.  That's the client's */
26494 -    /* responsibility.                                                 */
26495 -
26496 -    LOCK();
26497 -    si = (struct start_info *)GC_INTERNAL_MALLOC(sizeof(struct start_info),
26498 -                                                NORMAL);
26499 -    UNLOCK();
26500 -    if (!parallel_initialized) GC_init_parallel();
26501 -    if (0 == si) return(ENOMEM);
26502 -    sem_init(&(si -> registered), 0, 0);
26503 -    si -> start_routine = start_routine;
26504 -    si -> arg = arg;
26505 -    LOCK();
26506 -    if (!GC_thr_initialized) GC_thr_init();
26507 -#   ifdef GC_ASSERTIONS
26508 -      {
26509 -       int stack_size;
26510 -       if (NULL == attr) {
26511 -          pthread_attr_t my_attr;
26512 -          pthread_attr_init(&my_attr);
26513 -          pthread_attr_getstacksize(&my_attr, &stack_size);
26514 -       } else {
26515 -          pthread_attr_getstacksize(attr, &stack_size);
26516 -       }
26517 -       GC_ASSERT(stack_size >= (8*HBLKSIZE*sizeof(word)));
26518 -       /* Our threads may need to do some work for the GC.     */
26519 -       /* Ridiculously small threads won't work, and they      */
26520 -       /* probably wouldn't work anyway.                       */
26521 -      }
26522 -#   endif
26523 -    if (NULL == attr) {
26524 -       detachstate = PTHREAD_CREATE_JOINABLE;
26525 -    } else { 
26526 -        pthread_attr_getdetachstate(attr, &detachstate);
26527 -    }
26528 -    if (PTHREAD_CREATE_DETACHED == detachstate) my_flags |= DETACHED;
26529 -    si -> flags = my_flags;
26530 -    UNLOCK();
26531 -#   ifdef DEBUG_THREADS
26532 -        GC_printf1("About to start new thread from thread 0x%X\n",
26533 -                  pthread_self());
26534 -#   endif
26535 -
26536 -    result = REAL_FUNC(pthread_create)(new_thread, attr, GC_start_routine, si);
26537 -
26538 -#   ifdef DEBUG_THREADS
26539 -        GC_printf1("Started thread 0x%X\n", *new_thread);
26540 -#   endif
26541 -    /* Wait until child has been added to the thread table.            */
26542 -    /* This also ensures that we hold onto si until the child is done  */
26543 -    /* with it.  Thus it doesn't matter whether it is otherwise                */
26544 -    /* visible to the collector.                                       */
26545 -    while (0 != sem_wait(&(si -> registered))) {
26546 -        if (EINTR != errno) ABORT("sem_wait failed");
26547 -    }
26548 -    sem_destroy(&(si -> registered));
26549 -       LOCK();
26550 -       GC_INTERNAL_FREE(si);
26551 -       UNLOCK();
26552 -
26553 -    return(result);
26554 -}
26555 -
26556 -#ifdef GENERIC_COMPARE_AND_SWAP
26557 -  pthread_mutex_t GC_compare_and_swap_lock = PTHREAD_MUTEX_INITIALIZER;
26558 -
26559 -  GC_bool GC_compare_and_exchange(volatile GC_word *addr,
26560 -                                 GC_word old, GC_word new_val)
26561 -  {
26562 -    GC_bool result;
26563 -    pthread_mutex_lock(&GC_compare_and_swap_lock);
26564 -    if (*addr == old) {
26565 -      *addr = new_val;
26566 -      result = TRUE;
26567 -    } else {
26568 -      result = FALSE;
26569 -    }
26570 -    pthread_mutex_unlock(&GC_compare_and_swap_lock);
26571 -    return result;
26572 -  }
26573 -  
26574 -  GC_word GC_atomic_add(volatile GC_word *addr, GC_word how_much)
26575 -  {
26576 -    GC_word old;
26577 -    pthread_mutex_lock(&GC_compare_and_swap_lock);
26578 -    old = *addr;
26579 -    *addr = old + how_much;
26580 -    pthread_mutex_unlock(&GC_compare_and_swap_lock);
26581 -    return old;
26582 -  }
26583 -
26584 -#endif /* GENERIC_COMPARE_AND_SWAP */
26585 -/* Spend a few cycles in a way that can't introduce contention with    */
26586 -/* othre threads.                                                      */
26587 -void GC_pause()
26588 -{
26589 -    int i;
26590 -#      ifndef __GNUC__
26591 -        volatile word dummy = 0;
26592 -#      endif
26593 -
26594 -    for (i = 0; i < 10; ++i) { 
26595 -#     ifdef __GNUC__
26596 -        __asm__ __volatile__ (" " : : : "memory");
26597 -#     else
26598 -       /* Something that's unlikely to be optimized away. */
26599 -       GC_noop(++dummy);
26600 -#     endif
26601 -    }
26602 -}
26603 -    
26604 -#define SPIN_MAX 1024  /* Maximum number of calls to GC_pause before   */
26605 -                       /* give up.                                     */
26606 -
26607 -VOLATILE GC_bool GC_collecting = 0;
26608 -                       /* A hint that we're in the collector and       */
26609 -                        /* holding the allocation lock for an           */
26610 -                        /* extended period.                             */
26611 -
26612 -#if !defined(USE_SPIN_LOCK) || defined(PARALLEL_MARK)
26613 -/* If we don't want to use the below spinlock implementation, either   */
26614 -/* because we don't have a GC_test_and_set implementation, or because  */
26615 -/* we don't want to risk sleeping, we can still try spinning on        */
26616 -/* pthread_mutex_trylock for a while.  This appears to be very         */
26617 -/* beneficial in many cases.                                           */
26618 -/* I suspect that under high contention this is nearly always better   */
26619 -/* than the spin lock.  But it's a bit slower on a uniprocessor.       */
26620 -/* Hence we still default to the spin lock.                            */
26621 -/* This is also used to acquire the mark lock for the parallel         */
26622 -/* marker.                                                             */
26623 -
26624 -/* Here we use a strict exponential backoff scheme.  I don't know      */
26625 -/* whether that's better or worse than the above.  We eventually       */
26626 -/* yield by calling pthread_mutex_lock(); it never makes sense to      */
26627 -/* explicitly sleep.                                                   */
26628 -
26629 -void GC_generic_lock(pthread_mutex_t * lock)
26630 -{
26631 -#ifndef NO_PTHREAD_TRYLOCK
26632 -    unsigned pause_length = 1;
26633 -    unsigned i;
26634 -    
26635 -    if (0 == pthread_mutex_trylock(lock)) return;
26636 -    for (; pause_length <= SPIN_MAX; pause_length <<= 1) {
26637 -       for (i = 0; i < pause_length; ++i) {
26638 -           GC_pause();
26639 -       }
26640 -        switch(pthread_mutex_trylock(lock)) {
26641 -           case 0:
26642 -               return;
26643 -           case EBUSY:
26644 -               break;
26645 -           default:
26646 -               ABORT("Unexpected error from pthread_mutex_trylock");
26647 -        }
26648 -    }
26649 -#endif /* !NO_PTHREAD_TRYLOCK */
26650 -    pthread_mutex_lock(lock);
26651 -}
26652 -
26653 -#endif /* !USE_SPIN_LOCK || PARALLEL_MARK */
26654 -
26655 -#if defined(USE_SPIN_LOCK)
26656 -
26657 -/* Reasonably fast spin locks.  Basically the same implementation */
26658 -/* as STL alloc.h.  This isn't really the right way to do this.   */
26659 -/* but until the POSIX scheduling mess gets straightened out ...  */
26660 -
26661 -volatile unsigned int GC_allocate_lock = 0;
26662 -
26663 -
26664 -void GC_lock()
26665 -{
26666 -#   define low_spin_max 30  /* spin cycles if we suspect uniprocessor */
26667 -#   define high_spin_max SPIN_MAX /* spin cycles for multiprocessor */
26668 -    static unsigned spin_max = low_spin_max;
26669 -    unsigned my_spin_max;
26670 -    static unsigned last_spins = 0;
26671 -    unsigned my_last_spins;
26672 -    int i;
26673 -
26674 -    if (!GC_test_and_set(&GC_allocate_lock)) {
26675 -        return;
26676 -    }
26677 -    my_spin_max = spin_max;
26678 -    my_last_spins = last_spins;
26679 -    for (i = 0; i < my_spin_max; i++) {
26680 -        if (GC_collecting || GC_nprocs == 1) goto yield;
26681 -        if (i < my_last_spins/2 || GC_allocate_lock) {
26682 -            GC_pause();
26683 -            continue;
26684 -        }
26685 -        if (!GC_test_and_set(&GC_allocate_lock)) {
26686 -           /*
26687 -             * got it!
26688 -             * Spinning worked.  Thus we're probably not being scheduled
26689 -             * against the other process with which we were contending.
26690 -             * Thus it makes sense to spin longer the next time.
26691 -            */
26692 -            last_spins = i;
26693 -            spin_max = high_spin_max;
26694 -            return;
26695 -        }
26696 -    }
26697 -    /* We are probably being scheduled against the other process.  Sleep. */
26698 -    spin_max = low_spin_max;
26699 -yield:
26700 -    for (i = 0;; ++i) {
26701 -        if (!GC_test_and_set(&GC_allocate_lock)) {
26702 -            return;
26703 -        }
26704 -#       define SLEEP_THRESHOLD 12
26705 -               /* Under Linux very short sleeps tend to wait until     */
26706 -               /* the current time quantum expires.  On old Linux      */
26707 -               /* kernels nanosleep(<= 2ms) just spins under Linux.    */
26708 -               /* (Under 2.4, this happens only for real-time          */
26709 -               /* processes.)  We want to minimize both behaviors      */
26710 -               /* here.                                                */
26711 -        if (i < SLEEP_THRESHOLD) {
26712 -            sched_yield();
26713 -       } else {
26714 -           struct timespec ts;
26715 -       
26716 -           if (i > 24) i = 24;
26717 -                       /* Don't wait for more than about 15msecs, even */
26718 -                       /* under extreme contention.                    */
26719 -           ts.tv_sec = 0;
26720 -           ts.tv_nsec = 1 << i;
26721 -           nanosleep(&ts, 0);
26722 -       }
26723 -    }
26724 -}
26725 -
26726 -#else  /* !USE_SPINLOCK */
26727 -void GC_lock()
26728 -{
26729 -#ifndef NO_PTHREAD_TRYLOCK
26730 -    if (1 == GC_nprocs || GC_collecting) {
26731 -       pthread_mutex_lock(&GC_allocate_ml);
26732 -    } else {
26733 -        GC_generic_lock(&GC_allocate_ml);
26734 -    }
26735 -#else  /* !NO_PTHREAD_TRYLOCK */
26736 -    pthread_mutex_lock(&GC_allocate_ml);
26737 -#endif /* !NO_PTHREAD_TRYLOCK */
26738 -}
26739 -
26740 -#endif /* !USE_SPINLOCK */
26741 -
26742 -#if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26743 -
26744 -#ifdef GC_ASSERTIONS
26745 -  pthread_t GC_mark_lock_holder = NO_THREAD;
26746 -#endif
26747 -
26748 -#if 0
26749 -  /* Ugly workaround for a linux threads bug in the final versions      */
26750 -  /* of glibc2.1.  Pthread_mutex_trylock sets the mutex owner           */
26751 -  /* field even when it fails to acquire the mutex.  This causes        */
26752 -  /* pthread_cond_wait to die.  Remove for glibc2.2.                    */
26753 -  /* According to the man page, we should use                           */
26754 -  /* PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, but that isn't actually   */
26755 -  /* defined.                                                           */
26756 -  static pthread_mutex_t mark_mutex =
26757 -        {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, {0, 0}};
26758 -#else
26759 -  static pthread_mutex_t mark_mutex = PTHREAD_MUTEX_INITIALIZER;
26760 -#endif
26761 -
26762 -static pthread_cond_t builder_cv = PTHREAD_COND_INITIALIZER;
26763 -
26764 -void GC_acquire_mark_lock()
26765 -{
26766 -/*
26767 -    if (pthread_mutex_lock(&mark_mutex) != 0) {
26768 -       ABORT("pthread_mutex_lock failed");
26769 -    }
26770 -*/
26771 -    GC_generic_lock(&mark_mutex);
26772 -#   ifdef GC_ASSERTIONS
26773 -       GC_mark_lock_holder = pthread_self();
26774 -#   endif
26775 -}
26776 -
26777 -void GC_release_mark_lock()
26778 -{
26779 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
26780 -#   ifdef GC_ASSERTIONS
26781 -       GC_mark_lock_holder = NO_THREAD;
26782 -#   endif
26783 -    if (pthread_mutex_unlock(&mark_mutex) != 0) {
26784 -       ABORT("pthread_mutex_unlock failed");
26785 -    }
26786 -}
26787 -
26788 -/* Collector must wait for a freelist builders for 2 reasons:          */
26789 -/* 1) Mark bits may still be getting examined without lock.            */
26790 -/* 2) Partial free lists referenced only by locals may not be scanned  */
26791 -/*    correctly, e.g. if they contain "pointer-free" objects, since the        */
26792 -/*    free-list link may be ignored.                                   */
26793 -void GC_wait_builder()
26794 -{
26795 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
26796 -#   ifdef GC_ASSERTIONS
26797 -       GC_mark_lock_holder = NO_THREAD;
26798 -#   endif
26799 -    if (pthread_cond_wait(&builder_cv, &mark_mutex) != 0) {
26800 -       ABORT("pthread_cond_wait failed");
26801 -    }
26802 -    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
26803 -#   ifdef GC_ASSERTIONS
26804 -       GC_mark_lock_holder = pthread_self();
26805 -#   endif
26806 -}
26807 -
26808 -void GC_wait_for_reclaim()
26809 -{
26810 -    GC_acquire_mark_lock();
26811 -    while (GC_fl_builder_count > 0) {
26812 -       GC_wait_builder();
26813 -    }
26814 -    GC_release_mark_lock();
26815 -}
26816 -
26817 -void GC_notify_all_builder()
26818 -{
26819 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
26820 -    if (pthread_cond_broadcast(&builder_cv) != 0) {
26821 -       ABORT("pthread_cond_broadcast failed");
26822 -    }
26823 -}
26824 -
26825 -#endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
26826 -
26827 -#ifdef PARALLEL_MARK
26828 -
26829 -static pthread_cond_t mark_cv = PTHREAD_COND_INITIALIZER;
26830 -
26831 -void GC_wait_marker()
26832 -{
26833 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
26834 -#   ifdef GC_ASSERTIONS
26835 -       GC_mark_lock_holder = NO_THREAD;
26836 -#   endif
26837 -    if (pthread_cond_wait(&mark_cv, &mark_mutex) != 0) {
26838 -       ABORT("pthread_cond_wait failed");
26839 -    }
26840 -    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
26841 -#   ifdef GC_ASSERTIONS
26842 -       GC_mark_lock_holder = pthread_self();
26843 -#   endif
26844 -}
26845 -
26846 -void GC_notify_all_marker()
26847 -{
26848 -    if (pthread_cond_broadcast(&mark_cv) != 0) {
26849 -       ABORT("pthread_cond_broadcast failed");
26850 -    }
26851 -}
26852 -
26853 -#endif /* PARALLEL_MARK */
26854 -
26855 -# endif /* GC_LINUX_THREADS and friends */
26856 -
26857 diff -Nur ../boehm-gc/ptr_chck.c boehm-gc/ptr_chck.c
26858 --- ../boehm-gc/ptr_chck.c      Mon May 26 12:48:52 2003
26859 +++ boehm-gc/ptr_chck.c Fri Aug 17 11:30:46 2001
26860 @@ -79,7 +79,7 @@
26861         return(p);
26862      }
26863      sz = WORDS_TO_BYTES(hhdr -> hb_sz);
26864 -    if (sz > MAXOBJBYTES) {
26865 +    if (sz > WORDS_TO_BYTES(MAXOBJSZ)) {
26866        base = (ptr_t)HBLKPTR(p);
26867        limit = base + sz;
26868        if ((ptr_t)p >= limit) {
26869 @@ -165,7 +165,7 @@
26870      pdispl = HBLKDISPL(p);
26871      map_entry = MAP_ENTRY((hhdr -> hb_map), pdispl);
26872      if (map_entry == OBJ_INVALID
26873 -       || sz > MAXOBJBYTES && (ptr_t)p >= (ptr_t)h + sz) {
26874 +       || sz > MAXOBJSZ && (ptr_t)p >= (ptr_t)h + sz) {
26875         goto fail;
26876      }
26877      return(p);
26878 diff -Nur ../boehm-gc/reclaim.c boehm-gc/reclaim.c
26879 --- ../boehm-gc/reclaim.c       Mon May 26 12:48:52 2003
26880 +++ boehm-gc/reclaim.c  Fri Mar 29 14:52:12 2002
26881 @@ -27,61 +27,23 @@
26882         /* nonzero.                                                     */
26883  #endif /* PARALLEL_MARK */
26884  
26885 -/* We defer printing of leaked objects until we're done with the GC    */
26886 -/* cycle, since the routine for printing objects needs to run outside  */
26887 -/* the collector, e.g. without the allocation lock.                    */
26888 -#define MAX_LEAKED 40
26889 -ptr_t GC_leaked[MAX_LEAKED];
26890 -unsigned GC_n_leaked = 0;
26891 -
26892 -GC_bool GC_have_errors = FALSE;
26893 -
26894 -void GC_add_leaked(leaked)
26895 -ptr_t leaked;
26896 -{
26897 -    if (GC_n_leaked < MAX_LEAKED) {
26898 -      GC_have_errors = TRUE;
26899 -      GC_leaked[GC_n_leaked++] = leaked;
26900 -      /* Make sure it's not reclaimed this cycle */
26901 -        GC_set_mark_bit(leaked);
26902 -    }
26903 -}
26904 -
26905 -static GC_bool printing_errors = FALSE;
26906 -/* Print all objects on the list after printing any smashed objs.      */
26907 -/* Clear both lists.                                                   */
26908 -void GC_print_all_errors ()
26909 +static void report_leak(p, sz)
26910 +ptr_t p;
26911 +word sz;
26912  {
26913 -    unsigned i;
26914 -
26915 -    LOCK();
26916 -    if (printing_errors) {
26917 -       UNLOCK();
26918 -       return;
26919 -    }
26920 -    printing_errors = TRUE;
26921 -    UNLOCK();
26922 -    if (GC_debugging_started) GC_print_all_smashed();
26923 -    for (i = 0; i < GC_n_leaked; ++i) {
26924 -       ptr_t p = GC_leaked[i];
26925 -       if (HDR(p) -> hb_obj_kind == PTRFREE) {
26926 -           GC_err_printf0("Leaked atomic object at ");
26927 -       } else {
26928 -           GC_err_printf0("Leaked composite object at ");
26929 -       }
26930 -       GC_print_heap_obj(p);
26931 -       GC_err_printf0("\n");
26932 -       GC_free(p);
26933 -       GC_leaked[i] = 0;
26934 +    if (HDR(p) -> hb_obj_kind == PTRFREE) {
26935 +        GC_err_printf0("Leaked atomic object at ");
26936 +    } else {
26937 +        GC_err_printf0("Leaked composite object at ");
26938      }
26939 -    GC_n_leaked = 0;
26940 -    printing_errors = FALSE;
26941 +    GC_print_heap_obj(p);
26942 +    GC_err_printf0("\n");
26943  }
26944  
26945 -
26946  #   define FOUND_FREE(hblk, word_no) \
26947        { \
26948 -         GC_add_leaked((ptr_t)hblk + WORDS_TO_BYTES(word_no)); \
26949 +         report_leak((ptr_t)hblk + WORDS_TO_BYTES(word_no), \
26950 +                    HDR(hblk) -> hb_sz); \
26951        }
26952  
26953  /*
26954 @@ -904,7 +866,7 @@
26955   * Clear *flp.
26956   * This must be done before dropping a list of free gcj-style objects,
26957   * since may otherwise end up with dangling "descriptor" pointers.
26958 - * It may help for other pointer-containing objects.
26959 + * It may help for other pointer-containg objects.
26960   */
26961  void GC_clear_fl_links(flp)
26962  ptr_t *flp;
26963 diff -Nur ../boehm-gc/solaris_pthreads.c boehm-gc/solaris_pthreads.c
26964 --- ../boehm-gc/solaris_pthreads.c      Mon May 26 12:48:52 2003
26965 +++ boehm-gc/solaris_pthreads.c Mon Feb 11 20:37:53 2002
26966 @@ -13,8 +13,9 @@
26967  /*
26968   * Support code for Solaris threads.  Provides functionality we wish Sun
26969   * had provided.  Relies on some information we probably shouldn't rely on.
26970 - * Modified by Peter C. for Solaris Posix Threads.
26971 + * Modified Peter C. for Solaris Posix Threads.
26972   */
26973 +/* Boehm, September 14, 1994 4:44 pm PDT */
26974  
26975  # if defined(GC_SOLARIS_PTHREADS)
26976  # include "private/gc_priv.h"
26977 diff -Nur ../boehm-gc/solaris_threads.c boehm-gc/solaris_threads.c
26978 --- ../boehm-gc/solaris_threads.c       Mon May 26 12:48:52 2003
26979 +++ boehm-gc/solaris_threads.c  Mon Feb 11 20:37:53 2002
26980 @@ -37,10 +37,6 @@
26981  # include <unistd.h>
26982  # include <errno.h>
26983  
26984 -#ifdef HANDLE_FORK
26985 -  --> Not yet supported.  Try porting the code from linux_threads.c.
26986 -#endif
26987 -
26988  /*
26989   * This is the default size of the LWP arrays. If there are more LWPs
26990   * than this when a stop-the-world GC happens, set_max_lwps will be
26991 @@ -365,7 +361,7 @@
26992                        sizeof (prgregset_t)) != 0) {
26993                     int j;
26994  
26995 -                   for(j = 0; j < NPRGREG; j++)
26996 +                   for(j = 0; j < NGREG; j++)
26997                     {
26998                             GC_printf3("%i: %x -> %x\n", j,
26999                                        GC_lwp_registers[i][j],
27000 @@ -825,7 +821,7 @@
27001      if (result == 0) {
27002         t = GC_lookup_thread(target_thread);
27003         if (t == 0) ABORT("thread unknown to GC");
27004 -        t -> flags |= SUSPNDED;
27005 +        t -> flags |= SUSPENDED;
27006      }
27007      UNLOCK();
27008      return(result);
27009 @@ -841,7 +837,7 @@
27010      if (result == 0) {
27011         t = GC_lookup_thread(target_thread);
27012         if (t == 0) ABORT("thread unknown to GC");
27013 -        t -> flags &= ~SUSPNDED;
27014 +        t -> flags &= ~SUSPENDED;
27015      }
27016      UNLOCK();
27017      return(result);
27018 @@ -927,7 +923,7 @@
27019         my_flags |= CLIENT_OWNS_STACK;
27020      }
27021      if (flags & THR_DETACHED) my_flags |= DETACHED;
27022 -    if (flags & THR_SUSPENDED) my_flags |= SUSPNDED;
27023 +    if (flags & THR_SUSPENDED) my_flags |= SUSPENDED;
27024      result = thr_create(stack, stack_size, start_routine,
27025                         arg, flags & ~THR_DETACHED, &my_new_thread);
27026      if (result == 0) {
27027 diff -Nur ../boehm-gc/sparc_mach_dep.S boehm-gc/sparc_mach_dep.S
27028 --- ../boehm-gc/sparc_mach_dep.S        Mon May 26 12:48:52 2003
27029 +++ boehm-gc/sparc_mach_dep.S   Thu Feb 14 16:09:29 2002
27030 @@ -37,7 +37,7 @@
27031         stx %g0,[%o3]           ! *(long *)p = 0
27032         cmp %o3,%o1
27033         bgu,pt %xcc, loop       ! if (p > limit) goto loop
27034 -          add %o3,-8,%o3       ! p -= 8 (delay slot)
27035 +        add %o3,-8,%o3         ! p -= 8 (delay slot)
27036         retl
27037           mov %o2,%sp           ! Restore sp., delay slot       
27038  #else  /* 32 bit SPARC */
27039 diff -Nur ../boehm-gc/threadlibs.c boehm-gc/threadlibs.c
27040 --- ../boehm-gc/threadlibs.c    Mon May 26 12:48:52 2003
27041 +++ boehm-gc/threadlibs.c       Mon Feb 11 20:37:53 2002
27042 @@ -4,14 +4,13 @@
27043  int main()
27044  {
27045  #   if defined(GC_USE_LD_WRAP)
27046 -       printf("-Wl,--wrap -Wl,dlopen "
27047 +       printf("-Wl,--wrap -Wl,read -Wl,--wrap -Wl,dlopen "
27048                "-Wl,--wrap -Wl,pthread_create -Wl,--wrap -Wl,pthread_join "
27049                "-Wl,--wrap -Wl,pthread_detach "
27050                "-Wl,--wrap -Wl,pthread_sigmask -Wl,--wrap -Wl,sleep\n");
27051  #   endif
27052  #   if defined(GC_LINUX_THREADS) || defined(GC_IRIX_THREADS) \
27053 -       || defined(GC_FREEBSD_THREADS) || defined(GC_SOLARIS_PTHREADS) \
27054 -       || defined(GC_MACOSX_THREADS)
27055 +       || defined(GC_FREEBSD_THREADS) || defined(GC_SOLARIS_PTHREADS)
27056          printf("-lpthread\n");
27057  #   endif
27058  #   if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
27059 @@ -19,17 +18,6 @@
27060  #   endif
27061  #   if defined(GC_SOLARIS_THREADS) && !defined(GC_SOLARIS_PTHREADS)
27062          printf("-lthread -ldl\n");
27063 -#   endif
27064 -#   if defined(GC_WIN32_THREADS) && defined(CYGWIN32)
27065 -        printf("-lpthread\n");
27066 -#   endif
27067 -#   if defined(GC_OSF1_THREADS)
27068 -       printf("-lpthread -lrt");
27069 -#   endif
27070 -    /* You need GCC 3.0.3 to build this one!           */  
27071 -    /* DG/UX native gcc doesnt know what "-pthread" is */
27072 -#   if defined(GC_DGUX386_THREADS)
27073 -        printf("-ldl -pthread\n");
27074  #   endif
27075      return 0;
27076  }
27077 diff -Nur ../boehm-gc/typd_mlc.c boehm-gc/typd_mlc.c
27078 --- ../boehm-gc/typd_mlc.c      Mon May 26 12:48:52 2003
27079 +++ boehm-gc/typd_mlc.c Fri Aug 17 11:30:46 2001
27080 @@ -437,7 +437,6 @@
27081      for (; bm != 0; bm >>= 1, current_p++) {
27082         if (bm & 1) {
27083             current = *current_p;
27084 -           FIXUP_POINTER(current);
27085             if ((ptr_t)current >= least_ha && (ptr_t)current <= greatest_ha) {
27086                 PUSH_CONTENTS((ptr_t)current, mark_stack_ptr,
27087                               mark_stack_limit, current_p, exit1);
27088 @@ -675,9 +674,9 @@
27089          if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
27090              FASTUNLOCK();
27091              op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind);
27092 -           if (0 == op) return 0;
27093 +           if (0 == op) return(0);
27094  #          ifdef MERGE_SIZES
27095 -               lw = GC_size_map[lb];   /* May have been uninitialized. */
27096 +               lw = GC_size_map[lb];   /* May have been uninitialized. */            
27097  #          endif
27098          } else {
27099              *opp = obj_link(op);
27100 @@ -721,7 +720,7 @@
27101              FASTUNLOCK();
27102              op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_explicit_kind);
27103  #          ifdef MERGE_SIZES
27104 -               lw = GC_size_map[lb];   /* May have been uninitialized. */
27105 +               lw = GC_size_map[lb];   /* May have been uninitialized. */            
27106  #          endif
27107          } else {
27108              *opp = obj_link(op);
27109 diff -Nur ../boehm-gc/version.h boehm-gc/version.h
27110 --- ../boehm-gc/version.h       Mon May 26 12:48:52 2003
27111 +++ boehm-gc/version.h  Mon Feb 11 20:37:53 2002
27112 @@ -1,25 +1,8 @@
27113 -/* The version here should match that in configure/configure.in        */
27114 -/* Eventually this one may become unnecessary.  For now we need        */
27115 -/* it to keep the old-style build process working.             */
27116 -#define GC_TMP_VERSION_MAJOR 6
27117 -#define GC_TMP_VERSION_MINOR 2
27118 -#define GC_TMP_ALPHA_VERSION 5
27119 +#define GC_VERSION_MAJOR 6
27120 +#define GC_VERSION_MINOR 1
27121 +#define GC_ALPHA_VERSION 3
27122  
27123 -#if defined(GC_VERSION_MAJOR)
27124 -# if GC_TMP_VERSION_MAJOR != GC_VERSION_MAJOR || \
27125 -     GC_TMP_VERSION_MINOR != GC_VERSION_MINOR || \
27126 -     GC_TMP_ALPHA_VERSION != GC_ALPHA_VERSION
27127 -#   error Inconsistent version info.  Check version.h and configure.in.
27128 -# endif
27129 -#else
27130 -# define GC_VERSION_MAJOR GC_TMP_VERSION_MAJOR
27131 -# define GC_VERSION_MINOR GC_TMP_VERSION_MINOR
27132 -# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
27133 -#endif
27134 -
27135 -#ifndef GC_NOT_ALPHA
27136  #   define GC_NOT_ALPHA 0xff
27137 -#endif
27138  
27139  #ifndef GC_NO_VERSION_VAR
27140  
27141 diff -Nur ../boehm-gc/win32_threads.c boehm-gc/win32_threads.c
27142 --- ../boehm-gc/win32_threads.c Mon May 26 12:48:52 2003
27143 +++ boehm-gc/win32_threads.c    Mon Apr 28 13:55:07 2003
27144 @@ -1,27 +1,13 @@
27145 -#if defined(GC_WIN32_THREADS) 
27146 +#if defined(GC_WIN32_THREADS)
27147  
27148  #include "private/gc_priv.h"
27149  
27150 -#ifdef CYGWIN32
27151 -# include <errno.h>
27152 -
27153 - /* Cygwin-specific forward decls */
27154 -# undef pthread_create 
27155 -# undef pthread_sigmask 
27156 -# undef pthread_join 
27157 -# undef dlopen 
27158 -
27159 -# define DEBUG_CYGWIN_THREADS 0
27160 -
27161 -  GC_bool GC_thr_initialized = FALSE;
27162 -  void * GC_start_routine(void * arg);
27163 -  void GC_thread_exit_proc(void *arg);
27164 -
27165 +#if 0
27166 +#define STRICT
27167 +#include <windows.h>
27168  #endif
27169  
27170 -#ifndef MAX_THREADS
27171 -# define MAX_THREADS 64
27172 -#endif
27173 +#define MAX_THREADS 64
27174  
27175  struct thread_entry {
27176    LONG in_use;
27177 @@ -32,12 +18,6 @@
27178                         /* !in_use ==> stack == 0       */
27179    CONTEXT context;
27180    GC_bool suspended;
27181 -
27182 -# ifdef CYGWIN32
27183 -    void *status; /* hold exit value until join in case it's a pointer */
27184 -    pthread_t pthread_id;
27185 -# endif
27186 -
27187  };
27188  
27189  volatile GC_bool GC_please_stop = FALSE;
27190 @@ -49,12 +29,6 @@
27191      /* Unlike the other threads implementations, the thread table here */
27192      /* contains no pointers to the collectable heap.  Thus we have     */
27193      /* no private structures we need to preserve.                      */
27194 -# ifdef CYGWIN32
27195 -  { int i; /* pthreads may keep a pointer in the thread exit value */
27196 -    for (i = 0; i < MAX_THREADS; i++)
27197 -      if (thread_table[i].in_use) GC_push_all((ptr_t)&(thread_table[i].status),(ptr_t)(&(thread_table[i].status)+1));
27198 -  }
27199 -# endif
27200  }
27201  
27202  void GC_stop_world()
27203 @@ -62,10 +36,6 @@
27204    DWORD thread_id = GetCurrentThreadId();
27205    int i;
27206  
27207 -#ifdef CYGWIN32
27208 -  if (!GC_thr_initialized) ABORT("GC_stop_world() called before GC_thr_init()");
27209 -#endif
27210 -
27211    GC_please_stop = TRUE;
27212    for (i = 0; i < MAX_THREADS; i++)
27213      if (thread_table[i].stack != 0
27214 @@ -83,15 +53,11 @@
27215         DWORD exitCode; 
27216         if (GetExitCodeThread(thread_table[i].handle,&exitCode) &&
27217              exitCode != STILL_ACTIVE) {
27218 -          thread_table[i].stack = 0; /* prevent stack from being pushed */
27219 -#         ifndef CYGWIN32
27220 -            /* this breaks pthread_join on Cygwin, which is guaranteed to  */
27221 -           /* only see user pthreads                                      */
27222 +            thread_table[i].stack = 0;
27223             thread_table[i].in_use = FALSE;
27224             CloseHandle(thread_table[i].handle);
27225             BZERO((void *)(&thread_table[i].context), sizeof(CONTEXT));
27226 -#         endif
27227 -         continue;
27228 +           continue;
27229         }
27230         if (SuspendThread(thread_table[i].handle) == (DWORD)-1)
27231           ABORT("SuspendThread failed");
27232 @@ -369,11 +335,9 @@
27233      if (*lo < start) *lo = start;
27234  }
27235  
27236 -#if !defined(MSWINCE) && defined(GC_DLL)
27237 -
27238 -/* We register threads from DllMain */
27239 +#if !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))
27240  
27241 -GC_API HANDLE GC_CreateThread(
27242 +HANDLE WINAPI GC_CreateThread(
27243      LPSECURITY_ATTRIBUTES lpThreadAttributes, 
27244      DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, 
27245      LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId )
27246 @@ -382,10 +346,7 @@
27247                          lpParameter, dwCreationFlags, lpThreadId);
27248  }
27249  
27250 -#else /* defined(MSWINCE) || !defined(GC_DLL))  */
27251 -
27252 -/* We have no DllMain to take care of new threads.  Thus we    */
27253 -/* must properly intercept thread creation.                    */
27254 +#else /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL)) */
27255  
27256  typedef struct {
27257      HANDLE child_ready_h, parent_ready_h;
27258 @@ -509,7 +470,7 @@
27259  
27260      return ret;
27261  }
27262 -#endif /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))  */
27263 +#endif /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL)) */
27264  
27265  #ifdef MSWINCE
27266  
27267 @@ -566,256 +527,13 @@
27268  
27269  LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info);
27270  
27271 -/* threadAttach/threadDetach routines used by both CYGWIN and DLL
27272 - * implementation, since both recieve explicit notification on thread
27273 - * creation/destruction.
27274 - */
27275 -static void threadAttach() {
27276 -  int i;
27277 -  /* It appears to be unsafe to acquire a lock here, since this        */
27278 -  /* code is apparently not preeemptible on some systems.      */
27279 -  /* (This is based on complaints, not on Microsoft's official */
27280 -  /* documentation, which says this should perform "only simple        */
27281 -  /* inititalization tasks".)                                  */
27282 -  /* Hence we make do with nonblocking synchronization.                */
27283 -
27284 -  /* The following should be a noop according to the win32     */
27285 -  /* documentation.  There is empirical evidence that it       */
27286 -  /* isn't.            - HB                                    */
27287 -# if defined(MPROTECT_VDB)
27288 -   if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
27289 -# endif
27290 -                /* cast away volatile qualifier */
27291 -  for (i = 0; InterlockedExchange((LONG*)&thread_table[i].in_use,1) != 0; i++) {
27292 -    /* Compare-and-swap would make this cleaner, but that's not        */
27293 -    /* supported before Windows 98 and NT 4.0.  In Windows 2000,       */
27294 -    /* InterlockedExchange is supposed to be replaced by               */
27295 -    /* InterlockedExchangePointer, but that's not really what I        */
27296 -    /* want here.                                                      */
27297 -    if (i == MAX_THREADS - 1)
27298 -      ABORT("too many threads");
27299 -  }
27300 -  thread_table[i].id = GetCurrentThreadId();
27301 -# ifdef CYGWIN32
27302 -    thread_table[i].pthread_id = pthread_self();
27303 -# endif
27304 -  if (!DuplicateHandle(GetCurrentProcess(),
27305 -                      GetCurrentThread(),
27306 -                      GetCurrentProcess(),
27307 -                      (HANDLE*)&thread_table[i].handle,
27308 -                      0,
27309 -                      0,
27310 -                      DUPLICATE_SAME_ACCESS)) {
27311 -       DWORD last_error = GetLastError();
27312 -       GC_printf1("Last error code: %lx\n", last_error);
27313 -       ABORT("DuplicateHandle failed");
27314 -  }
27315 -  thread_table[i].stack = GC_get_stack_base();
27316 -  if (thread_table[i].stack == NULL) 
27317 -    ABORT("Failed to find stack base in threadAttach");
27318 -  /* If this thread is being created while we are trying to stop       */
27319 -  /* the world, wait here.  Hopefully this can't happen on any */
27320 -  /* systems that don't allow us to block here.                        */
27321 -  while (GC_please_stop) Sleep(20);
27322 -}
27323 -
27324 -static void threadDetach(DWORD thread_id) {
27325 -  int i;
27326 -
27327 -  LOCK();
27328 -  for (i = 0;
27329 -       i < MAX_THREADS &&
27330 -       !thread_table[i].in_use || thread_table[i].id != thread_id;
27331 -       i++) {}
27332 -  if (i >= MAX_THREADS ) {
27333 -    WARN("thread %ld not found on detach", (GC_word)thread_id);
27334 -  }
27335 -  else {
27336 -    thread_table[i].stack = 0;
27337 -    thread_table[i].in_use = FALSE;
27338 -    CloseHandle(thread_table[i].handle);
27339 -      /* cast away volatile qualifier */
27340 -    BZERO((void *)&thread_table[i].context, sizeof(CONTEXT));
27341 -  }
27342 -  UNLOCK();
27343 -}
27344 -
27345 -#ifdef CYGWIN32
27346 -
27347 -/* Called by GC_init() - we hold the allocation lock.  */
27348 -void GC_thr_init() {
27349 -    if (GC_thr_initialized) return;
27350 -    GC_thr_initialized = TRUE;
27351 -
27352 -#if 0
27353 -    /* this might already be handled in GC_init... */
27354 -    InitializeCriticalSection(&GC_allocate_ml);
27355 -#endif
27356 -
27357 -    /* Add the initial thread, so we can stop it.      */
27358 -    threadAttach();
27359 -}
27360 -
27361 -struct start_info {
27362 -    void *(*start_routine)(void *);
27363 -    void *arg;
27364 -};
27365 -
27366 -int GC_pthread_join(pthread_t pthread_id, void **retval) {
27367 -    int result;
27368 -    int i;
27369 -
27370 -#   if DEBUG_CYGWIN_THREADS
27371 -      GC_printf3("thread 0x%x(0x%x) is joining thread 0x%x.\n",(int)pthread_self(),
27372 -                GetCurrentThreadId(), (int)pthread_id);
27373 -#   endif
27374 -
27375 -    /* Can't do any table lookups here, because thread being joined 
27376 -       might not have registered itself yet */
27377 -
27378 -    result = pthread_join(pthread_id, retval);
27379 -
27380 -    LOCK();
27381 -    for (i = 0; !thread_table[i].in_use || thread_table[i].pthread_id != pthread_id;
27382 -         i++) {
27383 -      if (i == MAX_THREADS - 1) {
27384 -        GC_printf1("Failed to find thread 0x%x in pthread_join()\n", pthread_id);
27385 -        ABORT("thread not found on detach");
27386 -      }
27387 -    }
27388 -    UNLOCK();
27389 -    threadDetach(thread_table[i].id);
27390 -
27391 -#   if DEBUG_CYGWIN_THREADS
27392 -      GC_printf3("thread 0x%x(0x%x) completed join with thread 0x%x.\n",
27393 -                (int)pthread_self(), GetCurrentThreadId(), (int)pthread_id);
27394 -#   endif
27395 -
27396 -    return result;
27397 -}
27398 -
27399 -/* Cygwin-pthreads calls CreateThread internally, but it's not
27400 - * easily interceptible by us..
27401 - *   so intercept pthread_create instead
27402 - */
27403 -int
27404 -GC_pthread_create(pthread_t *new_thread,
27405 -                 const pthread_attr_t *attr,
27406 -                  void *(*start_routine)(void *), void *arg) {
27407 -    int result;
27408 -    struct start_info * si;
27409 -
27410 -    if (!GC_is_initialized) GC_init();
27411 -               /* make sure GC is initialized (i.e. main thread is attached) */
27412 -    
27413 -    /* This is otherwise saved only in an area mmapped by the thread */
27414 -    /* library, which isn't visible to the collector.           */
27415 -    si = GC_malloc_uncollectable(sizeof(struct start_info)); 
27416 -    if (0 == si) return(EAGAIN);
27417 -
27418 -    si -> start_routine = start_routine;
27419 -    si -> arg = arg;
27420 -
27421 -#   if DEBUG_CYGWIN_THREADS
27422 -      GC_printf2("About to create a thread from 0x%x(0x%x)\n",(int)pthread_self(),
27423 -                                                             GetCurrentThreadId);
27424 -#   endif
27425 -    result = pthread_create(new_thread, attr, GC_start_routine, si); 
27426 -
27427 -    if (result) { /* failure */
27428 -       GC_free(si);
27429 -    } 
27430 -
27431 -    return(result);
27432 -}
27433 -
27434 -void * GC_start_routine(void * arg)
27435 -{
27436 -    struct start_info * si = arg;
27437 -    void * result;
27438 -    void *(*start)(void *);
27439 -    void *start_arg;
27440 -    pthread_t pthread_id;
27441 -    int i;
27442 -
27443 -#   if DEBUG_CYGWIN_THREADS
27444 -      GC_printf2("thread 0x%x(0x%x) starting...\n",(int)pthread_self(),
27445 -                                                  GetCurrentThreadId());
27446 -#   endif
27447 -
27448 -    /* If a GC occurs before the thread is registered, that GC will    */
27449 -    /* ignore this thread.  That's fine, since it will block trying to  */
27450 -    /* acquire the allocation lock, and won't yet hold interesting     */
27451 -    /* pointers.                                                       */
27452 -    LOCK();
27453 -    /* We register the thread here instead of in the parent, so that   */
27454 -    /* we don't need to hold the allocation lock during pthread_create. */
27455 -    threadAttach();
27456 -    UNLOCK();
27457 -
27458 -    start = si -> start_routine;
27459 -    start_arg = si -> arg;
27460 -    pthread_id = pthread_self();
27461 -
27462 -    GC_free(si); /* was allocated uncollectable */
27463 -
27464 -    pthread_cleanup_push(GC_thread_exit_proc, pthread_id);
27465 -    result = (*start)(start_arg);
27466 -    pthread_cleanup_pop(0);
27467 -
27468 -#   if DEBUG_CYGWIN_THREADS
27469 -      GC_printf2("thread 0x%x(0x%x) returned from start routine.\n",
27470 -                (int)pthread_self(),GetCurrentThreadId());
27471 -#   endif
27472 -
27473 -    LOCK();
27474 -    for (i = 0; thread_table[i].pthread_id != pthread_id; i++) {
27475 -      if (i == MAX_THREADS - 1)
27476 -        ABORT("thread not found on exit");
27477 -    }
27478 -    thread_table[i].status = result;
27479 -    UNLOCK();
27480 -
27481 -    return(result);
27482 -}
27483 -
27484 -void GC_thread_exit_proc(void *arg)
27485 -{
27486 -    pthread_t pthread_id = (pthread_t)arg;
27487 -    int i;
27488 -
27489 -#   if DEBUG_CYGWIN_THREADS
27490 -      GC_printf2("thread 0x%x(0x%x) called pthread_exit().\n",
27491 -                (int)pthread_self(),GetCurrentThreadId());
27492 -#   endif
27493 -
27494 -    LOCK();
27495 -    for (i = 0; thread_table[i].pthread_id != pthread_id; i++) {
27496 -      if (i == MAX_THREADS - 1)
27497 -        ABORT("thread not found on exit");
27498 -    }
27499 -    UNLOCK();
27500 -
27501 -#if 0
27502 -    /* TODO: we need a way to get the exit value after a pthread_exit so we can stash it safely away */
27503 -    thread_table[i].status = ???
27504 -#endif
27505 -}
27506 -
27507 -/* nothing required here... */
27508 -int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) {
27509 -  return pthread_sigmask(how, set, oset);
27510 -}
27511 -int GC_pthread_detach(pthread_t thread) {
27512 -  return pthread_detach(thread);
27513 -}
27514 -#else /* !CYGWIN32 */
27515 +#ifdef GC_DLL
27516  
27517  /*
27518 - * We avoid acquiring locks here, since this doesn't seem to be preemptable.
27519 + * This isn't generally safe, since DllMain is not premptible.
27520 + * If another thread holds the lock while this runs we're in trouble.
27521   * Pontus Rydin suggests wrapping the thread start routine instead.
27522   */
27523 -#ifdef GC_DLL
27524  BOOL WINAPI DllMain(HINSTANCE inst, ULONG reason, LPVOID reserved)
27525  {
27526    switch (reason) {
27527 @@ -824,13 +542,75 @@
27528      GC_init(); /* Force initialization before thread attach.   */
27529      /* fall through */
27530    case DLL_THREAD_ATTACH:
27531 -    threadAttach();
27532 -    break;
27533 +    {
27534 +      int i;
27535 +      /* It appears to be unsafe to acquire a lock here, since this    */
27536 +      /* code is apparently not preeemptible on some systems.          */
27537 +      /* (This is based on complaints, not on Microsoft's official     */
27538 +      /* documentation, which says this should perform "only simple    */
27539 +      /* inititalization tasks".)                                      */
27540 +      /* Hence we make do with nonblocking synchronization.            */
27541 +
27542 +      /* The following should be a noop according to the win32 */
27543 +      /* documentation.  There is empirical evidence that it   */
27544 +      /* isn't.                - HB                                    */
27545 +#     ifdef MPROTECT_VDB
27546 +       if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
27547 +#     endif
27548  
27549 +      for (i = 0;
27550 +                              /* cast away volatile qualifier */
27551 +          InterlockedExchange((LPLONG) &thread_table[i].in_use, 1) != 0;
27552 +          i++) {
27553 +       /* Compare-and-swap would make this cleaner, but that's not     */
27554 +       /* supported before Windows 98 and NT 4.0.  In Windows 2000,    */
27555 +       /* InterlockedExchange is supposed to be replaced by            */
27556 +       /* InterlockedExchangePointer, but that's not really what I     */
27557 +       /* want here.                                                   */
27558 +       if (i == MAX_THREADS - 1)
27559 +         ABORT("too many threads");
27560 +      }
27561 +      thread_table[i].id = GetCurrentThreadId();
27562 +      if (!DuplicateHandle(GetCurrentProcess(),
27563 +                          GetCurrentThread(),
27564 +                          GetCurrentProcess(),
27565 +                          /* cast away volatile qualifier */
27566 +                          (HANDLE *) &thread_table[i].handle,
27567 +                          0,
27568 +                          0,
27569 +                          DUPLICATE_SAME_ACCESS)) {
27570 +       DWORD last_error = GetLastError();
27571 +       GC_printf1("Last error code: %lx\n", last_error);
27572 +       ABORT("DuplicateHandle failed");
27573 +      }
27574 +      thread_table[i].stack = GC_get_stack_base();
27575 +      /* If this thread is being created while we are trying to stop   */
27576 +      /* the world, wait here.  Hopefully this can't happen on any     */
27577 +      /* systems that don't allow us to block here.                    */
27578 +      while (GC_please_stop) Sleep(20);
27579 +    }
27580 +    break;
27581    case DLL_THREAD_DETACH:
27582 -    threadDetach(GetCurrentThreadId());
27583 +    {
27584 +      int i;
27585 +      DWORD thread_id = GetCurrentThreadId();
27586 +      LOCK();
27587 +      for (i = 0;
27588 +           i < MAX_THREADS &&
27589 +          (thread_table[i].stack == 0 || thread_table[i].id != thread_id);
27590 +          i++) {}
27591 +      if (i >= MAX_THREADS) {
27592 +         WARN("thread %ld not found on detach", (GC_word)thread_id);
27593 +      } else {
27594 +          thread_table[i].stack = 0;
27595 +          thread_table[i].in_use = FALSE;
27596 +          CloseHandle(thread_table[i].handle);
27597 +           /* cast away volatile qualifier */
27598 +          BZERO((void *) &thread_table[i].context, sizeof(CONTEXT));
27599 +      }
27600 +      UNLOCK();
27601 +    }
27602      break;
27603 -
27604    case DLL_PROCESS_DETACH:
27605      {
27606        int i;
27607 @@ -856,8 +636,8 @@
27608    }
27609    return TRUE;
27610  }
27611 -#endif /* GC_DLL */
27612 -#endif /* !CYGWIN32 */
27613 +
27614 +#   endif /* GC_DLL */
27615  
27616  # endif /* !MSWINCE */
27617