2003/09/10 05:33:29
[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.am~ boehm-gc/Makefile.am~
134 --- ../boehm-gc/Makefile.am~    Thu Oct 24 16:42:27 2002
135 +++ boehm-gc/Makefile.am~       Wed Dec 31 16:00:00 1969
136 @@ -1,159 +0,0 @@
137 -## Process this file with automake to produce Makefile.in.
138 -
139 -## FIXME: `make dist' in this directory will not currently work.  Many
140 -## files that should be in the distribution are not mentioned in this
141 -## Makefile.am.
142 -
143 -AUTOMAKE_OPTIONS = cygnus
144 -
145 -SUBDIRS = include
146 -
147 -# Multilib support variables.
148 -MULTISRCTOP =
149 -MULTIBUILDTOP =
150 -MULTIDIRS =
151 -MULTISUBDIR =
152 -MULTIDO = true
153 -MULTICLEAN = true
154 -
155 -## Install a library built with a cross compiler in tooldir, not
156 -## libdir.
157 -if USE_LIBDIR
158 -toolexeclibdir = $(libdir)$(MULTISUBDIR)
159 -else
160 -toolexecdir = $(exec_prefix)/$(target_alias)
161 -toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
162 -endif
163 -
164 -noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
165 -
166 -GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
167 -dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
168 -linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
169 -obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
170 -solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
171 -backgraph.c win32_threads.c
172 -
173 -EXTRA_GC_SOURCES = alpha_mach_dep.s \
174 -mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
175 -rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
176 -sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
177 -
178 -libgcjgc_la_SOURCES = $(GC_SOURCES)
179 -libgcjgc_convenience_la_SOURCES = $(GC_SOURCES)
180 -EXTRA_libgcjgc_la_SOURCES = $(EXTRA_GC_SOURCES)
181 -EXTRA_libgcjgc_convenience_la_SOURCES = $(EXTRA_GC_SOURCES)
182 -
183 -# Include THREADLIBS here to ensure that the correct versions of
184 -# linuxthread semaphore functions get linked:
185 -libgcjgc_la_LIBADD = @addobjs@ $(THREADLIBS)
186 -libgcjgc_la_DEPENDENCIES = @addobjs@
187 -libgcjgc_la_LDFLAGS = -version-info 1:1:0 -rpath $(toolexeclibdir)
188 -
189 -libgcjgc_convenience_la_LIBADD = @addobjs@
190 -libgcjgc_convenience_la_DEPENDENCIES = @addobjs@
191 -
192 -AM_CXXFLAGS = @GC_CFLAGS@
193 -AM_CFLAGS = @GC_CFLAGS@
194 -
195 -check_PROGRAMS = gctest
196 -# The following hack produces a warning from automake, but we need it in order 
197 -# to build a file from a subdirectory. FIXME.
198 -test.o:        tests/test.c
199 -       $(COMPILE) -c $(srcdir)/tests/test.c
200 -#      Using $< in the above seems to fail with the HP/UX on Itanium make.
201 -
202 -gctest_OBJECTS = test.o
203 -gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(EXTRA_TEST_LIBS)
204 -gctest_LDFLAGS = -shared-libgcc
205 -TESTS_ENVIRONMENT = LD_LIBRARY_PATH=../../$(MULTIBUILDTOP)gcc
206 -TESTS = gctest
207 -
208 -## FIXME: relies on internal code generated by automake.
209 -all_objs = @addobjs@ $(libgcjgc_la_OBJECTS)
210 -$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \
211 -include/private/gc_hdrs.h include/gc.h include/gc_gcj.h include/gc_mark.h
212 -
213 -## FIXME: we shouldn't have to do this, but automake forces us to.
214 -.s.lo:
215 -## We use -Wp,-P to strip #line directives.  Irix `as' chokes on
216 -## these.
217 -       $(LTCOMPILE) -Wp,-P -x assembler-with-cpp -c $<
218 -
219 -## We have our own definition of LTCOMPILE because we want to use our
220 -## CFLAGS, not those passed in from the top level make.
221 -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) \
222 -       $(AM_CPPFLAGS) $(CPPFLAGS) \
223 -       $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) 
224 -LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
225 -
226 -AM_CFLAGS = @GC_CFLAGS@
227 -
228 -# Work around what appears to be a GNU make bug handling MAKEFLAGS
229 -# values defined in terms of make variables, as is the case for CC and
230 -# friends when we are called from the top level Makefile.
231 -AM_MAKEFLAGS = \
232 -       "AR_FLAGS=$(AR_FLAGS)" \
233 -       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
234 -       "CFLAGS=$(CFLAGS)" \
235 -       "CXXFLAGS=$(CXXFLAGS)" \
236 -       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
237 -       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
238 -       "INSTALL=$(INSTALL)" \
239 -       "INSTALL_DATA=$(INSTALL_DATA)" \
240 -       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
241 -       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
242 -       "LDFLAGS=$(LDFLAGS)" \
243 -       "LIBCFLAGS=$(LIBCFLAGS)" \
244 -       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
245 -       "MAKE=$(MAKE)" \
246 -       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
247 -       "PICFLAG=$(PICFLAG)" \
248 -       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
249 -       "SHELL=$(SHELL)" \
250 -       "EXPECT=$(EXPECT)" \
251 -       "RUNTEST=$(RUNTEST)" \
252 -       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
253 -       "exec_prefix=$(exec_prefix)" \
254 -       "infodir=$(infodir)" \
255 -       "libdir=$(libdir)" \
256 -       "prefix=$(prefix)" \
257 -       "tooldir=$(tooldir)" \
258 -       "AR=$(AR)" \
259 -       "AS=$(AS)" \
260 -       "CC=$(CC)" \
261 -       "CXX=$(CXX)" \
262 -       "LD=$(LD)" \
263 -       "LIBCFLAGS=$(LIBCFLAGS)" \
264 -       "NM=$(NM)" \
265 -       "PICFLAG=$(PICFLAG)" \
266 -       "RANLIB=$(RANLIB)" \
267 -       "DESTDIR=$(DESTDIR)"
268 -
269 -CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
270 -
271 -# Multilib support.
272 -.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
273 -       maintainer-clean-multi
274 -
275 -all-am: all-multi
276 -install-am: install-multi
277 -mostlyclean-am: mostlyclean-multi
278 -clean-am: clean-multi
279 -distclean-am: distclean-multi
280 -maintainer-clean-am: maintainer-clean-multi
281 -
282 -all-multi:
283 -       : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
284 -install-multi:
285 -       $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
286 -mostlyclean-multi:
287 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
288 -clean-multi:
289 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
290 -distclean-multi:
291 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
292 -maintainer-clean-multi:
293 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
294 -
295 -MAKEOVERRIDES=
296 diff -Nur ../boehm-gc/Makefile.in boehm-gc/Makefile.in
297 --- ../boehm-gc/Makefile.in     Mon May 26 13:08:48 2003
298 +++ boehm-gc/Makefile.in        Tue May 13 17:18:14 2003
299 @@ -1,8 +1,6 @@
300 -# Makefile.in generated by automake 1.6.3 from Makefile.am.
301 -# @configure_input@
302 +# Makefile.in generated automatically by automake 1.4 from Makefile.am
303  
304 -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
305 -# Free Software Foundation, Inc.
306 +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
307  # This Makefile.in is free software; the Free Software Foundation
308  # gives unlimited permission to copy and/or distribute it,
309  # with or without modifications, as long as this notice is preserved.
310 @@ -12,7 +10,7 @@
311  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
312  # PARTICULAR PURPOSE.
313  
314 -@SET_MAKE@
315 +
316  SHELL = @SHELL@
317  
318  srcdir = @srcdir@
319 @@ -33,9 +31,13 @@
320  mandir = @mandir@
321  includedir = @includedir@
322  oldincludedir = /usr/include
323 +
324 +DESTDIR =
325 +
326  pkgdatadir = $(datadir)/@PACKAGE@
327  pkglibdir = $(libdir)/@PACKAGE@
328  pkgincludedir = $(includedir)/@PACKAGE@
329 +
330  top_builddir = .
331  
332  ACLOCAL = @ACLOCAL@
333 @@ -43,16 +45,12 @@
334  AUTOMAKE = @AUTOMAKE@
335  AUTOHEADER = @AUTOHEADER@
336  
337 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
338  INSTALL = @INSTALL@
339 -INSTALL_PROGRAM = @INSTALL_PROGRAM@
340 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
341  INSTALL_DATA = @INSTALL_DATA@
342 -install_sh_DATA = $(install_sh) -c -m 644
343 -install_sh_PROGRAM = $(install_sh) -c
344 -install_sh_SCRIPT = $(install_sh) -c
345  INSTALL_SCRIPT = @INSTALL_SCRIPT@
346 -INSTALL_HEADER = $(INSTALL_DATA)
347  transform = @program_transform_name@
348 +
349  NORMAL_INSTALL = :
350  PRE_INSTALL = :
351  POST_INSTALL = :
352 @@ -65,48 +63,38 @@
353  host_triplet = @host@
354  target_alias = @target_alias@
355  target_triplet = @target@
356 -
357 -EXEEXT = @EXEEXT@
358 -OBJEXT = @OBJEXT@
359 -PATH_SEPARATOR = @PATH_SEPARATOR@
360 -AMTAR = @AMTAR@
361  AR = @AR@
362  AS = @AS@
363 -AWK = @AWK@
364  CC = @CC@
365  CPP = @CPP@
366  CXX = @CXX@
367  CXXCPP = @CXXCPP@
368  CXXINCLUDES = @CXXINCLUDES@
369 -DEPDIR = @DEPDIR@
370  DLLTOOL = @DLLTOOL@
371 -ECHO = @ECHO@
372 -EGREP = @EGREP@
373 +EXEEXT = @EXEEXT@
374  EXTRA_TEST_LIBS = @EXTRA_TEST_LIBS@
375 -F77 = @F77@
376  GCJ = @GCJ@
377  GCJFLAGS = @GCJFLAGS@
378  GC_CFLAGS = @GC_CFLAGS@
379  INCLUDES = @INCLUDES@
380 -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
381  LIBTOOL = @LIBTOOL@
382  LN_S = @LN_S@
383  MAINT = @MAINT@
384 +MAKEINFO = @MAKEINFO@
385  MY_CFLAGS = @MY_CFLAGS@
386  OBJDUMP = @OBJDUMP@
387 +OBJEXT = @OBJEXT@
388  PACKAGE = @PACKAGE@
389  RANLIB = @RANLIB@
390 -RC = @RC@
391  STRIP = @STRIP@
392  THREADLIBS = @THREADLIBS@
393  VERSION = @VERSION@
394  addobjs = @addobjs@
395 -am__include = @am__include@
396 -am__quote = @am__quote@
397  gc_basedir = @gc_basedir@
398 -install_sh = @install_sh@
399  mkinstalldirs = @mkinstalldirs@
400  target_all = @target_all@
401 +toolexecdir = @toolexecdir@
402 +toolexeclibdir = @toolexeclibdir@
403  
404  AUTOMAKE_OPTIONS = cygnus
405  
406 @@ -120,32 +108,24 @@
407  MULTIDO = true
408  MULTICLEAN = true
409  
410 -@USE_LIBDIR_TRUE@toolexeclibdir = $(libdir)$(MULTISUBDIR)
411 -@USE_LIBDIR_FALSE@toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
412 -@USE_LIBDIR_FALSE@toolexecdir = $(exec_prefix)/$(target_alias)
413 -
414  noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
415  
416  GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
417  dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
418 -malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
419 +linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
420  obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
421  solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
422 -backgraph.c win32_threads.c \
423 -pthread_support.c pthread_stop_world.c darwin_stop_world.c
424 -
425 +backgraph.c win32_threads.c
426  
427 -EXTRA_GC_SOURCES = alpha_mach_dep.S \
428 -    mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_darwin_mach_dep.s \
429 -    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
430 -    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
431  
432 +EXTRA_GC_SOURCES = alpha_mach_dep.s \
433 +mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
434 +rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
435 +sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
436  
437 -@POWERPC_DARWIN_TRUE@asm_libgc_sources = powerpc_darwin_mach_dep.s
438 -@POWERPC_DARWIN_FALSE@asm_libgc_sources = 
439  
440 -libgcjgc_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
441 -libgcjgc_convenience_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
442 +libgcjgc_la_SOURCES = $(GC_SOURCES)
443 +libgcjgc_convenience_la_SOURCES = $(GC_SOURCES)
444  EXTRA_libgcjgc_la_SOURCES = $(EXTRA_GC_SOURCES)
445  EXTRA_libgcjgc_convenience_la_SOURCES = $(EXTRA_GC_SOURCES)
446  
447 @@ -159,11 +139,12 @@
448  libgcjgc_convenience_la_DEPENDENCIES = @addobjs@
449  
450  AM_CXXFLAGS = @GC_CFLAGS@
451 +
452  AM_CFLAGS = @GC_CFLAGS@
453  
454  check_PROGRAMS = gctest
455 -
456  #      Using $< in the above seems to fail with the HP/UX on Itanium make.
457 +
458  gctest_OBJECTS = test.o
459  gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(EXTRA_TEST_LIBS)
460  gctest_LDFLAGS = -shared-libgcc
461 @@ -223,127 +204,104 @@
462  CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
463  
464  MAKEOVERRIDES = 
465 -subdir = .
466  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
467 -CONFIG_CLEAN_FILES =
468 -LTLIBRARIES = $(noinst_LTLIBRARIES)
469 +CONFIG_CLEAN_FILES = 
470 +LTLIBRARIES =  $(noinst_LTLIBRARIES)
471  
472 -am__objects_1 = allchblk.lo alloc.lo blacklst.lo checksums.lo dbg_mlc.lo \
473 -       dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo \
474 -       irix_threads.lo malloc.lo mallocx.lo mark.lo mark_rts.lo \
475 -       misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo \
476 -       ptr_chck.lo real_malloc.lo reclaim.lo solaris_pthreads.lo \
477 -       solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo \
478 -       backgraph.lo win32_threads.lo pthread_support.lo \
479 -       pthread_stop_world.lo darwin_stop_world.lo
480 -@POWERPC_DARWIN_TRUE@am__objects_2 = powerpc_darwin_mach_dep.lo
481 -@POWERPC_DARWIN_FALSE@am__objects_2 =
482 -am_libgcjgc_la_OBJECTS = $(am__objects_1) $(am__objects_2)
483 -libgcjgc_la_OBJECTS = $(am_libgcjgc_la_OBJECTS)
484 -libgcjgc_convenience_la_LDFLAGS =
485 -am_libgcjgc_convenience_la_OBJECTS = $(am__objects_1) $(am__objects_2)
486 -libgcjgc_convenience_la_OBJECTS = $(am_libgcjgc_convenience_la_OBJECTS)
487 -check_PROGRAMS = gctest$(EXEEXT)
488 -gctest_DEPENDENCIES = ./libgcjgc.la
489  
490 -DEFS = @DEFS@
491 -DEFAULT_INCLUDES =  -I. -I$(srcdir)
492 +DEFS = @DEFS@ -I. -I$(srcdir) 
493  CPPFLAGS = @CPPFLAGS@
494  LDFLAGS = @LDFLAGS@
495  LIBS = @LIBS@
496 -depcomp =
497 -am__depfiles_maybe =
498 -CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
499 -LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
500 -       $(CCASFLAGS)
501 -CCASFLAGS = @CCASFLAGS@
502 -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
503 -       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
504 -CCLD = $(CC)
505 +libgcjgc_la_OBJECTS =  allchblk.lo alloc.lo blacklst.lo checksums.lo \
506 +dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo \
507 +irix_threads.lo linux_threads.lo malloc.lo mallocx.lo mark.lo \
508 +mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo \
509 +ptr_chck.lo real_malloc.lo reclaim.lo solaris_pthreads.lo \
510 +solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo \
511 +win32_threads.lo
512 +libgcjgc_convenience_la_LDFLAGS = 
513 +libgcjgc_convenience_la_OBJECTS =  allchblk.lo alloc.lo blacklst.lo \
514 +checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
515 +headers.lo irix_threads.lo linux_threads.lo malloc.lo mallocx.lo \
516 +mark.lo mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo \
517 +pcr_interface.lo ptr_chck.lo real_malloc.lo reclaim.lo \
518 +solaris_pthreads.lo solaris_threads.lo specific.lo stubborn.lo \
519 +typd_mlc.lo backgraph.lo win32_threads.lo
520 +check_PROGRAMS =  gctest$(EXEEXT)
521 +gctest_DEPENDENCIES =  ./libgcjgc.la
522  CFLAGS = @CFLAGS@
523 -DIST_SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) \
524 -       $(libgcjgc_convenience_la_SOURCES) \
525 -       $(EXTRA_libgcjgc_convenience_la_SOURCES)
526 -
527 -RECURSIVE_TARGETS = info-recursive dvi-recursive \
528 -       uninstall-info-recursive all-recursive install-data-recursive \
529 -       install-exec-recursive installdirs-recursive install-recursive \
530 -       uninstall-recursive check-recursive installcheck-recursive
531 -SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES) $(EXTRA_libgcjgc_convenience_la_SOURCES)
532 +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
533 +CCLD = $(CC)
534 +DIST_COMMON =  ChangeLog Makefile.am Makefile.in acinclude.m4 aclocal.m4 \
535 +config.guess config.sub configure configure.in install-sh ltconfig \
536 +ltmain.sh mkinstalldirs
537 +
538 +
539 +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
540  
541 -all: all-recursive
542 +TAR = gtar
543 +GZIP_ENV = --best
544 +SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES) $(EXTRA_libgcjgc_convenience_la_SOURCES)
545 +OBJECTS = $(libgcjgc_la_OBJECTS) $(libgcjgc_convenience_la_OBJECTS)
546  
547 +all: all-redirect
548  .SUFFIXES:
549  .SUFFIXES: .S .c .lo .o .obj .s
550 +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
551 +       cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
552 +
553 +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
554 +       cd $(top_builddir) \
555 +         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
556  
557 -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
558 - configure.lineno
559 -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
560 -       cd $(top_srcdir) && \
561 -         $(AUTOMAKE) --cygnus  Makefile
562 -Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
563 -       cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
564 +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in  acinclude.m4
565 +       cd $(srcdir) && $(ACLOCAL)
566  
567 -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
568 +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
569         $(SHELL) ./config.status --recheck
570 -$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
571 +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
572         cd $(srcdir) && $(AUTOCONF)
573  
574 -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
575 -       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
576 +mostlyclean-noinstLTLIBRARIES:
577  
578  clean-noinstLTLIBRARIES:
579         -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
580 -       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
581 -         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
582 -         test -z "$dir" && dir=.; \
583 -         echo "rm -f \"$${dir}/so_locations\""; \
584 -         rm -f "$${dir}/so_locations"; \
585 -       done
586 -libgcjgc.la: $(libgcjgc_la_OBJECTS) $(libgcjgc_la_DEPENDENCIES) 
587 -       $(LINK)  $(libgcjgc_la_LDFLAGS) $(libgcjgc_la_OBJECTS) $(libgcjgc_la_LIBADD) $(LIBS)
588 -libgcjgc_convenience.la: $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_DEPENDENCIES) 
589 -       $(LINK)  $(libgcjgc_convenience_la_LDFLAGS) $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_LIBADD) $(LIBS)
590  
591 -clean-checkPROGRAMS:
592 -       @list='$(check_PROGRAMS)'; for p in $$list; do \
593 -         f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
594 -         echo " rm -f $$p $$f"; \
595 -         rm -f $$p $$f ; \
596 -       done
597 -gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES) 
598 -       @rm -f gctest$(EXEEXT)
599 -       $(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
600 +distclean-noinstLTLIBRARIES:
601  
602 -mostlyclean-compile:
603 -       -rm -f *.$(OBJEXT) core *.core
604 +maintainer-clean-noinstLTLIBRARIES:
605  
606 -distclean-compile:
607 -       -rm -f *.tab.c
608 +.c.o:
609 +       $(COMPILE) -c $<
610 +
611 +# FIXME: We should only use cygpath when building on Windows,
612 +# and only if it is available.
613 +.c.obj:
614 +       $(COMPILE) -c `cygpath -w $<`
615 +
616 +.s.o:
617 +       $(COMPILE) -c $<
618  
619  .S.o:
620 -       $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
621 +       $(COMPILE) -c $<
622  
623 -.S.obj:
624 -       $(CCASCOMPILE) -c `cygpath -w $<`
625 +mostlyclean-compile:
626 +       -rm -f *.o core *.core
627 +       -rm -f *.$(OBJEXT)
628  
629 -.S.lo:
630 -       $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
631 +clean-compile:
632  
633 -.c.o:
634 -       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
635 +distclean-compile:
636 +       -rm -f *.tab.c
637  
638 -.c.obj:
639 -       $(COMPILE) -c `cygpath -w $<`
640 +maintainer-clean-compile:
641  
642  .c.lo:
643 -       $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
644 +       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
645  
646 -.s.o:
647 -       $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
648 -
649 -.s.obj:
650 -       $(CCASCOMPILE) -c `cygpath -w $<`
651 +.S.lo:
652 +       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
653  
654  mostlyclean-libtool:
655         -rm -f *.lo
656 @@ -352,8 +310,27 @@
657         -rm -rf .libs _libs
658  
659  distclean-libtool:
660 -       -rm -f libtool
661 -uninstall-info-am:
662 +
663 +maintainer-clean-libtool:
664 +
665 +libgcjgc.la: $(libgcjgc_la_OBJECTS) $(libgcjgc_la_DEPENDENCIES)
666 +       $(LINK)  $(libgcjgc_la_LDFLAGS) $(libgcjgc_la_OBJECTS) $(libgcjgc_la_LIBADD) $(LIBS)
667 +
668 +libgcjgc_convenience.la: $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_DEPENDENCIES)
669 +       $(LINK)  $(libgcjgc_convenience_la_LDFLAGS) $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_LIBADD) $(LIBS)
670 +
671 +mostlyclean-checkPROGRAMS:
672 +
673 +clean-checkPROGRAMS:
674 +       -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
675 +
676 +distclean-checkPROGRAMS:
677 +
678 +maintainer-clean-checkPROGRAMS:
679 +
680 +gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES)
681 +       @rm -f gctest$(EXEEXT)
682 +       $(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
683  
684  # This directory's subdirectories are mostly independent; you can cd
685  # into them and run `make' without going through this Makefile.
686 @@ -361,8 +338,13 @@
687  # (1) if the variable is set in `config.status', edit `config.status'
688  #     (which will cause the Makefiles to be regenerated when you run `make');
689  # (2) otherwise, pass the desired values on the `make' command line.
690 -$(RECURSIVE_TARGETS):
691 -       @set fnord $$MAKEFLAGS; amf=$$2; \
692 +
693 +@SET_MAKE@
694 +
695 +all-recursive install-data-recursive install-exec-recursive \
696 +installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
697 +check-recursive installcheck-recursive info-recursive dvi-recursive:
698 +       @set fnord $(MAKEFLAGS); amf=$$2; \
699         dot_seen=no; \
700         target=`echo $@ | sed s/-recursive//`; \
701         list='$(SUBDIRS)'; for subdir in $$list; do \
702 @@ -382,18 +364,13 @@
703  
704  mostlyclean-recursive clean-recursive distclean-recursive \
705  maintainer-clean-recursive:
706 -       @set fnord $$MAKEFLAGS; amf=$$2; \
707 +       @set fnord $(MAKEFLAGS); amf=$$2; \
708         dot_seen=no; \
709 -       case "$@" in \
710 -         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
711 -         *) list='$(SUBDIRS)' ;; \
712 -       esac; \
713 -       rev=''; for subdir in $$list; do \
714 -         if test "$$subdir" = "."; then :; else \
715 -           rev="$$subdir $$rev"; \
716 -         fi; \
717 +       rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
718 +         rev="$$subdir $$rev"; \
719 +         test "$$subdir" = "." && dot_seen=yes; \
720         done; \
721 -       rev="$$rev ."; \
722 +       test "$$dot_seen" = "no" && rev=". $$rev"; \
723         target=`echo $@ | sed s/-recursive//`; \
724         for subdir in $$rev; do \
725           echo "Making $$target in $$subdir"; \
726 @@ -410,186 +387,211 @@
727           test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
728         done
729  
730 -ETAGS = etags
731 -ETAGSFLAGS =
732 -
733  tags: TAGS
734  
735 -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
736 -       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
737 -       unique=`for i in $$list; do \
738 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
739 -         done | \
740 -         $(AWK) '    { files[$$0] = 1; } \
741 +ID: $(HEADERS) $(SOURCES) $(LISP)
742 +       list='$(SOURCES) $(HEADERS)'; \
743 +       unique=`for i in $$list; do echo $$i; done | \
744 +         awk '    { files[$$0] = 1; } \
745                END { for (i in files) print i; }'`; \
746 -       mkid -fID $$unique
747 +       here=`pwd` && cd $(srcdir) \
748 +         && mkid -f$$here/ID $$unique $(LISP)
749  
750 -TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
751 -               $(TAGS_FILES) $(LISP)
752 +TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
753         tags=; \
754         here=`pwd`; \
755         list='$(SUBDIRS)'; for subdir in $$list; do \
756 -         if test "$$subdir" = .; then :; else \
757 +   if test "$$subdir" = .; then :; else \
758             test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
759 -         fi; \
760 +   fi; \
761         done; \
762 -       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
763 -       unique=`for i in $$list; do \
764 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
765 -         done | \
766 -         $(AWK) '    { files[$$0] = 1; } \
767 +       list='$(SOURCES) $(HEADERS)'; \
768 +       unique=`for i in $$list; do echo $$i; done | \
769 +         awk '    { files[$$0] = 1; } \
770                END { for (i in files) print i; }'`; \
771 -       test -z "$(ETAGS_ARGS)$$tags$$unique" \
772 -         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
773 -            $$tags $$unique
774 -
775 -GTAGS:
776 -       here=`$(am__cd) $(top_builddir) && pwd` \
777 -         && cd $(top_srcdir) \
778 -         && gtags -i $(GTAGS_ARGS) $$here
779 +       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
780 +         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
781 +
782 +mostlyclean-tags:
783 +
784 +clean-tags:
785  
786  distclean-tags:
787 -       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
788 +       -rm -f TAGS ID
789 +
790 +maintainer-clean-tags:
791  
792 +distdir = $(PACKAGE)-$(VERSION)
793 +top_distdir = $(distdir)
794 +
795 +# This target untars the dist file and tries a VPATH configuration.  Then
796 +# it guarantees that the distribution is self-contained by making another
797 +# tarfile.
798 +distcheck: dist
799 +       -rm -rf $(distdir)
800 +       GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
801 +       mkdir $(distdir)/=build
802 +       mkdir $(distdir)/=inst
803 +       dc_install_base=`cd $(distdir)/=inst && pwd`; \
804 +       cd $(distdir)/=build \
805 +         && ../configure --srcdir=.. --prefix=$$dc_install_base \
806 +         && $(MAKE) $(AM_MAKEFLAGS) \
807 +         && $(MAKE) $(AM_MAKEFLAGS) dvi \
808 +         && $(MAKE) $(AM_MAKEFLAGS) check \
809 +         && $(MAKE) $(AM_MAKEFLAGS) install \
810 +         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
811 +         && $(MAKE) $(AM_MAKEFLAGS) dist
812 +       -rm -rf $(distdir)
813 +       @banner="$(distdir).tar.gz is ready for distribution"; \
814 +       dashes=`echo "$$banner" | sed s/./=/g`; \
815 +       echo "$$dashes"; \
816 +       echo "$$banner"; \
817 +       echo "$$dashes"
818 +dist: distdir
819 +       -chmod -R a+r $(distdir)
820 +       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
821 +       -rm -rf $(distdir)
822 +dist-all: distdir
823 +       -chmod -R a+r $(distdir)
824 +       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
825 +       -rm -rf $(distdir)
826 +distdir: $(DISTFILES)
827 +       -rm -rf $(distdir)
828 +       mkdir $(distdir)
829 +       -chmod 777 $(distdir)
830 +       @for file in $(DISTFILES); do \
831 +         if test -f $$file; then d=.; else d=$(srcdir); fi; \
832 +         if test -d $$d/$$file; then \
833 +           cp -pr $$d/$$file $(distdir)/$$file; \
834 +         else \
835 +           test -f $(distdir)/$$file \
836 +           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
837 +           || cp -p $$d/$$file $(distdir)/$$file || :; \
838 +         fi; \
839 +       done
840 +       for subdir in $(SUBDIRS); do \
841 +         if test "$$subdir" = .; then :; else \
842 +           test -d $(distdir)/$$subdir \
843 +           || mkdir $(distdir)/$$subdir \
844 +           || exit 1; \
845 +           chmod 777 $(distdir)/$$subdir; \
846 +           (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
847 +             || exit 1; \
848 +         fi; \
849 +       done
850  check-TESTS: $(TESTS)
851 -       @failed=0; all=0; xfail=0; xpass=0; \
852 +       @failed=0; all=0; \
853         srcdir=$(srcdir); export srcdir; \
854 -       list='$(TESTS)'; \
855 -       if test -n "$$list"; then \
856 -         for tst in $$list; do \
857 -           if test -f ./$$tst; then dir=./; \
858 -           elif test -f $$tst; then dir=; \
859 -           else dir="$(srcdir)/"; fi; \
860 -           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
861 -             all=`expr $$all + 1`; \
862 -             case " $(XFAIL_TESTS) " in \
863 -             *" $$tst "*) \
864 -               xpass=`expr $$xpass + 1`; \
865 -               failed=`expr $$failed + 1`; \
866 -               echo "XPASS: $$tst"; \
867 -             ;; \
868 -             *) \
869 -               echo "PASS: $$tst"; \
870 -             ;; \
871 -             esac; \
872 -           elif test $$? -ne 77; then \
873 -             all=`expr $$all + 1`; \
874 -             case " $(XFAIL_TESTS) " in \
875 -             *" $$tst "*) \
876 -               xfail=`expr $$xfail + 1`; \
877 -               echo "XFAIL: $$tst"; \
878 -             ;; \
879 -             *) \
880 -               failed=`expr $$failed + 1`; \
881 -               echo "FAIL: $$tst"; \
882 -             ;; \
883 -             esac; \
884 -           fi; \
885 -         done; \
886 -         if test "$$failed" -eq 0; then \
887 -           if test "$$xfail" -eq 0; then \
888 -             banner="All $$all tests passed"; \
889 -           else \
890 -             banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
891 -           fi; \
892 -         else \
893 -           if test "$$xpass" -eq 0; then \
894 -             banner="$$failed of $$all tests failed"; \
895 -           else \
896 -             banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
897 -           fi; \
898 +       for tst in $(TESTS); do \
899 +         if test -f $$tst; then dir=.; \
900 +         else dir="$(srcdir)"; fi; \
901 +         if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
902 +           all=`expr $$all + 1`; \
903 +           echo "PASS: $$tst"; \
904 +         elif test $$? -ne 77; then \
905 +           all=`expr $$all + 1`; \
906 +           failed=`expr $$failed + 1`; \
907 +           echo "FAIL: $$tst"; \
908           fi; \
909 -         dashes=`echo "$$banner" | sed s/./=/g`; \
910 -         echo "$$dashes"; \
911 -         echo "$$banner"; \
912 -         echo "$$dashes"; \
913 -         test "$$failed" -eq 0; \
914 -       else :; fi
915 +       done; \
916 +       if test "$$failed" -eq 0; then \
917 +         banner="All $$all tests passed"; \
918 +       else \
919 +         banner="$$failed of $$all tests failed"; \
920 +       fi; \
921 +       dashes=`echo "$$banner" | sed s/./=/g`; \
922 +       echo "$$dashes"; \
923 +       echo "$$banner"; \
924 +       echo "$$dashes"; \
925 +       test "$$failed" -eq 0
926 +info-am:
927 +info: info-recursive
928 +dvi-am:
929 +dvi: dvi-recursive
930  check-am: $(check_PROGRAMS)
931         $(MAKE) $(AM_MAKEFLAGS) check-TESTS
932  check: check-recursive
933 +installcheck-am:
934 +installcheck: installcheck-recursive
935 +install-info-am: 
936 +install-info: install-info-recursive
937 +install-exec-am:
938 +install-exec: install-exec-recursive
939 +
940 +install-data-am:
941 +install-data: install-data-recursive
942 +
943 +install-am: all-am
944 +       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
945 +install: install-recursive
946 +uninstall-am:
947 +uninstall: uninstall-recursive
948  all-am: Makefile $(LTLIBRARIES)
949 +all-redirect: all-recursive
950 +install-strip:
951 +       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
952  installdirs: installdirs-recursive
953  installdirs-am:
954  
955 -install: install-recursive
956 -install-exec: install-exec-recursive
957 -install-data: install-data-recursive
958 -uninstall: uninstall-recursive
959  
960 -installcheck: installcheck-recursive
961 -install-strip:
962 -       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
963 -         INSTALL_STRIP_FLAG=-s \
964 -         `test -z '$(STRIP)' || \
965 -           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
966  mostlyclean-generic:
967  
968  clean-generic:
969  
970  distclean-generic:
971         -rm -f Makefile $(CONFIG_CLEAN_FILES)
972 +       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
973  
974  maintainer-clean-generic:
975 -       @echo "This command is intended for maintainers to use"
976 -       @echo "it deletes files that may require special tools to rebuild."
977 -clean: clean-recursive
978 -
979 -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
980 -       clean-noinstLTLIBRARIES mostlyclean-am
981 -
982 -distclean: distclean-recursive
983 -       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
984 -distclean-am: clean-am distclean-compile distclean-generic \
985 -       distclean-libtool distclean-tags
986 -
987 -dvi: dvi-recursive
988 -
989 -dvi-am:
990 -
991 -info: info-recursive
992 +mostlyclean-am:  mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
993 +               mostlyclean-libtool mostlyclean-checkPROGRAMS \
994 +               mostlyclean-tags mostlyclean-generic
995  
996 -info-am:
997 +mostlyclean: mostlyclean-recursive
998  
999 -install-data-am:
1000 +clean-am:  clean-noinstLTLIBRARIES clean-compile clean-libtool \
1001 +               clean-checkPROGRAMS clean-tags clean-generic \
1002 +               mostlyclean-am
1003  
1004 -install-exec-am:
1005 +clean: clean-recursive
1006  
1007 -install-info:
1008 +distclean-am:  distclean-noinstLTLIBRARIES distclean-compile \
1009 +               distclean-libtool distclean-checkPROGRAMS \
1010 +               distclean-tags distclean-generic clean-am
1011 +       -rm -f libtool
1012  
1013 -install-man:
1014 +distclean: distclean-recursive
1015 +       -rm -f config.status
1016  
1017 -installcheck-am:
1018 +maintainer-clean-am:  maintainer-clean-noinstLTLIBRARIES \
1019 +               maintainer-clean-compile maintainer-clean-libtool \
1020 +               maintainer-clean-checkPROGRAMS maintainer-clean-tags \
1021 +               maintainer-clean-generic distclean-am
1022 +       @echo "This command is intended for maintainers to use;"
1023 +       @echo "it deletes files that may require special tools to rebuild."
1024  
1025  maintainer-clean: maintainer-clean-recursive
1026 -       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
1027 -       -rm -rf autom4te.cache
1028 -maintainer-clean-am: distclean-am maintainer-clean-generic
1029 -
1030 -mostlyclean: mostlyclean-recursive
1031 -
1032 -mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1033 -       mostlyclean-libtool
1034 +       -rm -f config.status
1035  
1036 -uninstall-am:
1037 -
1038 -uninstall-info: uninstall-info-recursive
1039 -
1040 -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-TESTS check-am \
1041 -       clean clean-checkPROGRAMS clean-generic clean-libtool \
1042 -       clean-noinstLTLIBRARIES clean-recursive distclean \
1043 -       distclean-compile distclean-generic distclean-libtool \
1044 -       distclean-recursive distclean-tags dvi dvi-am dvi-recursive \
1045 -       info info-am info-recursive install install-am install-data \
1046 -       install-data-am install-data-recursive install-exec \
1047 -       install-exec-am install-exec-recursive install-info \
1048 -       install-info-am install-man install-recursive install-strip \
1049 -       installcheck installcheck-am installdirs installdirs-am \
1050 -       installdirs-recursive maintainer-clean maintainer-clean-generic \
1051 -       maintainer-clean-recursive mostlyclean mostlyclean-compile \
1052 -       mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
1053 -       tags tags-recursive uninstall uninstall-am uninstall-info-am \
1054 -       uninstall-info-recursive uninstall-recursive
1055 +.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
1056 +clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
1057 +mostlyclean-compile distclean-compile clean-compile \
1058 +maintainer-clean-compile mostlyclean-libtool distclean-libtool \
1059 +clean-libtool maintainer-clean-libtool mostlyclean-checkPROGRAMS \
1060 +distclean-checkPROGRAMS clean-checkPROGRAMS \
1061 +maintainer-clean-checkPROGRAMS install-data-recursive \
1062 +uninstall-data-recursive install-exec-recursive \
1063 +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
1064 +all-recursive check-recursive installcheck-recursive info-recursive \
1065 +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
1066 +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
1067 +distclean-tags clean-tags maintainer-clean-tags distdir check-TESTS \
1068 +info-am info dvi-am dvi check check-am installcheck-am installcheck \
1069 +install-info-am install-info install-exec-am install-exec \
1070 +install-data-am install-data install-am install uninstall-am uninstall \
1071 +all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
1072 +distclean-generic clean-generic maintainer-clean-generic clean \
1073 +mostlyclean distclean maintainer-clean
1074  
1075  # The following hack produces a warning from automake, but we need it in order 
1076  # to build a file from a subdirectory. FIXME.
1077 @@ -624,6 +626,7 @@
1078         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
1079  maintainer-clean-multi:
1080         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
1081 +
1082  # Tell versions [3.59,3.63) of GNU make to not export all variables.
1083  # Otherwise a system limit (for SysV at least) may be exceeded.
1084  .NOEXPORT:
1085 diff -Nur ../boehm-gc/allchblk.c boehm-gc/allchblk.c
1086 --- ../boehm-gc/allchblk.c      Mon May 26 12:48:52 2003
1087 +++ boehm-gc/allchblk.c Mon Apr  8 17:39:15 2002
1088 @@ -47,16 +47,12 @@
1089  struct hblk * GC_hblkfreelist[N_HBLK_FLS+1] = { 0 };
1090  
1091  #ifndef USE_MUNMAP
1092 -
1093    word GC_free_bytes[N_HBLK_FLS+1] = { 0 };
1094         /* Number of free bytes on each list.   */
1095  
1096    /* Is bytes + the number of free bytes on lists n .. N_HBLK_FLS      */
1097    /* > GC_max_large_allocd_bytes?                                      */
1098 -# ifdef __GNUC__
1099 -  __inline__
1100 -# endif
1101 -  static GC_bool GC_enough_large_bytes_left(bytes,n)
1102 +  GC_bool GC_enough_large_bytes_left(bytes,n)
1103    word bytes;
1104    int n;
1105    {
1106 @@ -587,11 +583,11 @@
1107             if (!GC_use_entire_heap
1108                 && size_avail != size_needed
1109                 && USED_HEAP_SIZE >= GC_requested_heapsize
1110 -               && !TRUE_INCREMENTAL && GC_should_collect()) {
1111 +               && !GC_incremental && GC_should_collect()) {
1112  #              ifdef USE_MUNMAP
1113                     continue;
1114  #              else
1115 -                   /* If we have enough large blocks left to cover any */
1116 +                   /* If we enough large blocks left to cover any      */
1117                     /* previous request for large blocks, we go ahead   */
1118                     /* and split.  Assuming a steady state, that should */
1119                     /* be safe.  It means that we can use the full      */
1120 @@ -599,12 +595,6 @@
1121                     if (!GC_enough_large_bytes_left(GC_large_allocd_bytes, n)) {
1122                       continue;
1123                     } 
1124 -                   /* If we are deallocating lots of memory from       */
1125 -                   /* finalizers, fail and collect sooner rather       */
1126 -                   /* than later.                                      */
1127 -                   if (GC_finalizer_mem_freed > (GC_heapsize >> 4))  {
1128 -                     continue;
1129 -                   }
1130  #              endif /* !USE_MUNMAP */
1131             }
1132             /* If the next heap block is obviously better, go on.       */
1133 diff -Nur ../boehm-gc/alloc.c boehm-gc/alloc.c
1134 --- ../boehm-gc/alloc.c Mon May 26 12:48:52 2003
1135 +++ boehm-gc/alloc.c    Mon Mar  3 22:38:30 2003
1136 @@ -72,13 +72,6 @@
1137  GC_bool GC_need_full_gc = FALSE;
1138                            /* Need full GC do to heap growth.   */
1139  
1140 -#ifdef THREADS
1141 -  GC_bool GC_world_stopped = FALSE;
1142 -# define IF_THREADS(x) x
1143 -#else
1144 -# define IF_THREADS(x)
1145 -#endif
1146 -
1147  word GC_used_heap_size_after_full = 0;
1148  
1149  char * GC_copyright[] =
1150 @@ -126,6 +119,7 @@
1151      unsigned long time_diff;
1152      
1153      if ((count++ & 3) != 0) return(0);
1154 +#ifndef NO_CLOCK
1155      GET_TIME(current_time);
1156      time_diff = MS_TIME_DIFF(current_time,GC_start_time);
1157      if (time_diff >= GC_time_limit) {
1158 @@ -138,6 +132,7 @@
1159  #      endif
1160         return(1);
1161      }
1162 +#endif
1163      return(0);
1164    }
1165  #endif /* !SMALL_CONFIG */
1166 @@ -165,7 +160,7 @@
1167                                + (GC_large_free_bytes >> 2)
1168                                    /* use a bit more of large empty heap */
1169                                + total_root_size);
1170 -    if (TRUE_INCREMENTAL) {
1171 +    if (GC_incremental) {
1172          return scan_size / (2 * GC_free_space_divisor);
1173      } else {
1174          return scan_size / GC_free_space_divisor;
1175 @@ -187,8 +182,7 @@
1176      /* managed object should not alter result, assuming the client     */
1177      /* is playing by the rules.                                                */
1178      result = (signed_word)GC_words_allocd
1179 -            - (signed_word)GC_mem_freed 
1180 -            + (signed_word)GC_finalizer_mem_freed - expl_managed;
1181 +            - (signed_word)GC_mem_freed - expl_managed;
1182      if (result > (signed_word)GC_words_allocd) {
1183          result = GC_words_allocd;
1184         /* probably client bug or unfortunate scheduling */
1185 @@ -256,6 +250,7 @@
1186  
1187      if (GC_should_collect()) {
1188          if (!GC_incremental) {
1189 +           GC_notify_full_gc();
1190              GC_gcollect_inner();
1191              n_partial_gcs = 0;
1192              return;
1193 @@ -307,14 +302,10 @@
1194  /*
1195   * Stop the world garbage collection.  Assumes lock held, signals disabled.
1196   * If stop_func is not GC_never_stop_func, then abort if stop_func returns TRUE.
1197 - * Return TRUE if we successfully completed the collection.
1198   */
1199  GC_bool GC_try_to_collect_inner(stop_func)
1200  GC_stop_func stop_func;
1201  {
1202 -#   ifdef CONDPRINT
1203 -        CLOCK_TYPE start_time, current_time;
1204 -#   endif
1205      if (GC_dont_gc) return FALSE;
1206      if (GC_incremental && GC_collection_in_progress()) {
1207  #   ifdef CONDPRINT
1208 @@ -329,10 +320,8 @@
1209             GC_collect_a_little_inner(1);
1210         }
1211      }
1212 -    if (stop_func == GC_never_stop_func) GC_notify_full_gc();
1213  #   ifdef CONDPRINT
1214        if (GC_print_stats) {
1215 -        if (GC_print_stats) GET_TIME(start_time);
1216         GC_printf2(
1217            "Initiating full world-stop collection %lu after %ld allocd bytes\n",
1218            (unsigned long) GC_gc_no+1,
1219 @@ -371,13 +360,6 @@
1220        return(FALSE);
1221      }
1222      GC_finish_collection();
1223 -#   if defined(CONDPRINT)
1224 -      if (GC_print_stats) {
1225 -        GET_TIME(current_time);
1226 -        GC_printf1("Complete collection took %lu msecs\n",
1227 -                   MS_TIME_DIFF(current_time,start_time));
1228 -      }
1229 -#   endif
1230      return(TRUE);
1231  }
1232  
1233 @@ -448,7 +430,6 @@
1234      result = (int)GC_collection_in_progress();
1235      UNLOCK();
1236      ENABLE_SIGNALS();
1237 -    if (!result && GC_debugging_started) GC_print_all_smashed();
1238      return(result);
1239  }
1240  
1241 @@ -467,17 +448,16 @@
1242         CLOCK_TYPE start_time, current_time;
1243  #   endif
1244         
1245 +#   if defined(REGISTER_LIBRARIES_EARLY)
1246 +        GC_cond_register_dynamic_libraries();
1247 +#   endif
1248 +    STOP_WORLD();
1249  #   ifdef PRINTTIMES
1250         GET_TIME(start_time);
1251  #   endif
1252  #   if defined(CONDPRINT) && !defined(PRINTTIMES)
1253         if (GC_print_stats) GET_TIME(start_time);
1254  #   endif
1255 -#   if defined(REGISTER_LIBRARIES_EARLY)
1256 -        GC_cond_register_dynamic_libraries();
1257 -#   endif
1258 -    STOP_WORLD();
1259 -    IF_THREADS(GC_world_stopped = TRUE);
1260  #   ifdef CONDPRINT
1261        if (GC_print_stats) {
1262         GC_printf1("--> Marking for collection %lu ",
1263 @@ -508,7 +488,6 @@
1264                       }
1265  #                  endif
1266                     GC_deficit = i; /* Give the mutator a chance. */
1267 -                    IF_THREADS(GC_world_stopped = FALSE);
1268                     START_WORLD();
1269                     return(FALSE);
1270             }
1271 @@ -542,8 +521,6 @@
1272              (*GC_check_heap)();
1273          }
1274      
1275 -    IF_THREADS(GC_world_stopped = FALSE);
1276 -    START_WORLD();
1277  #   ifdef PRINTTIMES
1278         GET_TIME(current_time);
1279         GC_printf1("World-stopped marking took %lu msecs\n",
1280 @@ -557,6 +534,7 @@
1281         }
1282  #     endif
1283  #   endif
1284 +    START_WORLD();
1285      return(TRUE);
1286  }
1287  
1288 @@ -633,7 +611,6 @@
1289           GC_print_address_map();
1290         }
1291  #   endif
1292 -    COND_DUMP;
1293      if (GC_find_leak) {
1294        /* Mark all objects on the free list.  All objects should be */
1295        /* marked when we're done.                                  */
1296 @@ -730,7 +707,6 @@
1297        GC_words_allocd = 0;
1298        GC_words_wasted = 0;
1299        GC_mem_freed = 0;
1300 -      GC_finalizer_mem_freed = 0;
1301        
1302  #   ifdef USE_MUNMAP
1303        GC_unmap_old();
1304 @@ -754,7 +730,6 @@
1305      int result;
1306      DCL_LOCK_STATE;
1307      
1308 -    if (GC_debugging_started) GC_print_all_smashed();
1309      GC_INVOKE_FINALIZERS();
1310      DISABLE_SIGNALS();
1311      LOCK();
1312 @@ -766,17 +741,14 @@
1313      EXIT_GC();
1314      UNLOCK();
1315      ENABLE_SIGNALS();
1316 -    if(result) {
1317 -        if (GC_debugging_started) GC_print_all_smashed();
1318 -        GC_INVOKE_FINALIZERS();
1319 -    }
1320 +    if(result) GC_INVOKE_FINALIZERS();
1321      return(result);
1322  }
1323  
1324  void GC_gcollect GC_PROTO(())
1325  {
1326 +    GC_notify_full_gc();
1327      (void)GC_try_to_collect(GC_never_stop_func);
1328 -    if (GC_have_errors) GC_print_all_errors();
1329  }
1330  
1331  word GC_n_heap_sects = 0;      /* Number of sections currently in heap. */
1332 @@ -978,6 +950,7 @@
1333  {
1334      if (!GC_incremental && !GC_dont_gc &&
1335         (GC_dont_expand && GC_words_allocd > 0 || GC_should_collect())) {
1336 +      GC_notify_full_gc();
1337        GC_gcollect_inner();
1338      } else {
1339        word blocks_to_get = GC_heapsize/(HBLKSIZE*GC_free_space_divisor)
1340 @@ -1002,6 +975,7 @@
1341          && !GC_expand_hp_inner(needed_blocks)) {
1342         if (GC_fail_count++ < GC_max_retries) {
1343             WARN("Out of Memory!  Trying to continue ...\n", 0);
1344 +           GC_notify_full_gc();
1345             GC_gcollect_inner();
1346         } else {
1347  #          if !defined(AMIGA) || !defined(GC_AMIGA_FASTALLOC)
1348 @@ -1031,38 +1005,29 @@
1349  word sz;
1350  int kind;
1351  {
1352 -    ptr_t * flh = &(GC_obj_kinds[kind].ok_freelist[sz]);
1353 -    GC_bool tried_minor = FALSE;
1354 +    register ptr_t * flh = &(GC_obj_kinds[kind].ok_freelist[sz]);
1355      
1356      if (sz == 0) return(0);
1357  
1358      while (*flh == 0) {
1359        ENTER_GC();
1360        /* Do our share of marking work */
1361 -        if(TRUE_INCREMENTAL) GC_collect_a_little_inner(1);
1362 +        if(GC_incremental && !GC_dont_gc) GC_collect_a_little_inner(1);
1363        /* Sweep blocks for objects of this size */
1364 -        GC_continue_reclaim(sz, kind);
1365 +          GC_continue_reclaim(sz, kind);
1366        EXIT_GC();
1367        if (*flh == 0) {
1368          GC_new_hblk(sz, kind);
1369        }
1370        if (*flh == 0) {
1371          ENTER_GC();
1372 -       if (GC_incremental && GC_time_limit == GC_TIME_UNLIMITED
1373 -           && ! tried_minor ) {
1374 -           GC_collect_a_little_inner(1);
1375 -           tried_minor = TRUE;
1376 -       } else {
1377 -          if (!GC_collect_or_expand((word)1,FALSE)) {
1378 +        if (!GC_collect_or_expand((word)1,FALSE)) {
1379             EXIT_GC();
1380             return(0);
1381 -         }
1382         }
1383         EXIT_GC();
1384        }
1385      }
1386 -    /* Successful allocation; reset failure count.     */
1387 -    GC_fail_count = 0;
1388      
1389      return(*flh);
1390  }
1391 diff -Nur ../boehm-gc/alpha_mach_dep.s boehm-gc/alpha_mach_dep.s
1392 --- ../boehm-gc/alpha_mach_dep.s        Mon May 26 12:48:52 2003
1393 +++ boehm-gc/alpha_mach_dep.s   Fri Aug 17 11:30:45 2001
1394 @@ -1,4 +1,3 @@
1395 - # $Id: darwin.patch,v 1.4 2003/09/10 04:33:29 megacz Exp $
1396         .arch ev6
1397  
1398          .text
1399 diff -Nur ../boehm-gc/autom4te.cache/output.0 boehm-gc/autom4te.cache/output.0
1400 --- ../boehm-gc/autom4te.cache/output.0 Mon May 26 13:14:22 2003
1401 +++ boehm-gc/autom4te.cache/output.0    Wed Dec 31 16:00:00 1969
1402 @@ -1,5049 +0,0 @@
1403 -@%:@! /bin/sh
1404 -@%:@ Guess values for system-dependent variables and create Makefiles.
1405 -@%:@ Generated by GNU Autoconf 2.57.
1406 -@%:@ 
1407 -@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
1408 -@%:@ Free Software Foundation, Inc.
1409 -@%:@ This configure script is free software; the Free Software Foundation
1410 -@%:@ gives unlimited permission to copy, distribute and modify it.
1411 -## --------------------- ##
1412 -## M4sh Initialization.  ##
1413 -## --------------------- ##
1414 -
1415 -# Be Bourne compatible
1416 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
1417 -  emulate sh
1418 -  NULLCMD=:
1419 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
1420 -  # is contrary to our usage.  Disable this feature.
1421 -  alias -g '${1+"$@"}'='"$@"'
1422 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
1423 -  set -o posix
1424 -fi
1425 -
1426 -# Support unset when possible.
1427 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
1428 -  as_unset=unset
1429 -else
1430 -  as_unset=false
1431 -fi
1432 -
1433 -
1434 -# Work around bugs in pre-3.0 UWIN ksh.
1435 -$as_unset ENV MAIL MAILPATH
1436 -PS1='$ '
1437 -PS2='> '
1438 -PS4='+ '
1439 -
1440 -# NLS nuisances.
1441 -for as_var in \
1442 -  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
1443 -  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
1444 -  LC_TELEPHONE LC_TIME
1445 -do
1446 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
1447 -    eval $as_var=C; export $as_var
1448 -  else
1449 -    $as_unset $as_var
1450 -  fi
1451 -done
1452 -
1453 -# Required to use basename.
1454 -if expr a : '\(a\)' >/dev/null 2>&1; then
1455 -  as_expr=expr
1456 -else
1457 -  as_expr=false
1458 -fi
1459 -
1460 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
1461 -  as_basename=basename
1462 -else
1463 -  as_basename=false
1464 -fi
1465 -
1466 -
1467 -# Name of the executable.
1468 -as_me=`$as_basename "$0" ||
1469 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
1470 -        X"$0" : 'X\(//\)$' \| \
1471 -        X"$0" : 'X\(/\)$' \| \
1472 -        .     : '\(.\)' 2>/dev/null ||
1473 -echo X/"$0" |
1474 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
1475 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
1476 -         /^X\/\(\/\).*/{ s//\1/; q; }
1477 -         s/.*/./; q'`
1478 -
1479 -
1480 -# PATH needs CR, and LINENO needs CR and PATH.
1481 -# Avoid depending upon Character Ranges.
1482 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
1483 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1484 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
1485 -as_cr_digits='0123456789'
1486 -as_cr_alnum=$as_cr_Letters$as_cr_digits
1487 -
1488 -# The user is always right.
1489 -if test "${PATH_SEPARATOR+set}" != set; then
1490 -  echo "#! /bin/sh" >conf$$.sh
1491 -  echo  "exit 0"   >>conf$$.sh
1492 -  chmod +x conf$$.sh
1493 -  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
1494 -    PATH_SEPARATOR=';'
1495 -  else
1496 -    PATH_SEPARATOR=:
1497 -  fi
1498 -  rm -f conf$$.sh
1499 -fi
1500 -
1501 -
1502 -  as_lineno_1=$LINENO
1503 -  as_lineno_2=$LINENO
1504 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
1505 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
1506 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
1507 -  # Find who we are.  Look in the path if we contain no path at all
1508 -  # relative or not.
1509 -  case $0 in
1510 -    *[\\/]* ) as_myself=$0 ;;
1511 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1512 -for as_dir in $PATH
1513 -do
1514 -  IFS=$as_save_IFS
1515 -  test -z "$as_dir" && as_dir=.
1516 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
1517 -done
1518 -
1519 -       ;;
1520 -  esac
1521 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
1522 -  # in which case we are not to be found in the path.
1523 -  if test "x$as_myself" = x; then
1524 -    as_myself=$0
1525 -  fi
1526 -  if test ! -f "$as_myself"; then
1527 -    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
1528 -   { (exit 1); exit 1; }; }
1529 -  fi
1530 -  case $CONFIG_SHELL in
1531 -  '')
1532 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1533 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
1534 -do
1535 -  IFS=$as_save_IFS
1536 -  test -z "$as_dir" && as_dir=.
1537 -  for as_base in sh bash ksh sh5; do
1538 -        case $as_dir in
1539 -        /*)
1540 -          if ("$as_dir/$as_base" -c '
1541 -  as_lineno_1=$LINENO
1542 -  as_lineno_2=$LINENO
1543 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
1544 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
1545 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
1546 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
1547 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
1548 -            CONFIG_SHELL=$as_dir/$as_base
1549 -            export CONFIG_SHELL
1550 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
1551 -          fi;;
1552 -        esac
1553 -       done
1554 -done
1555 -;;
1556 -  esac
1557 -
1558 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
1559 -  # uniformly replaced by the line number.  The first 'sed' inserts a
1560 -  # line-number line before each line; the second 'sed' does the real
1561 -  # work.  The second script uses 'N' to pair each line-number line
1562 -  # with the numbered line, and appends trailing '-' during
1563 -  # substitution so that $LINENO is not a special case at line end.
1564 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
1565 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
1566 -  sed '=' <$as_myself |
1567 -    sed '
1568 -      N
1569 -      s,$,-,
1570 -      : loop
1571 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
1572 -      t loop
1573 -      s,-$,,
1574 -      s,^['$as_cr_digits']*\n,,
1575 -    ' >$as_me.lineno &&
1576 -  chmod +x $as_me.lineno ||
1577 -    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
1578 -   { (exit 1); exit 1; }; }
1579 -
1580 -  # Don't try to exec as it changes $[0], causing all sort of problems
1581 -  # (the dirname of $[0] is not the place where we might find the
1582 -  # original and so on.  Autoconf is especially sensible to this).
1583 -  . ./$as_me.lineno
1584 -  # Exit status is that of the last command.
1585 -  exit
1586 -}
1587 -
1588 -
1589 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
1590 -  *c*,-n*) ECHO_N= ECHO_C='
1591 -' ECHO_T='     ' ;;
1592 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
1593 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
1594 -esac
1595 -
1596 -if expr a : '\(a\)' >/dev/null 2>&1; then
1597 -  as_expr=expr
1598 -else
1599 -  as_expr=false
1600 -fi
1601 -
1602 -rm -f conf$$ conf$$.exe conf$$.file
1603 -echo >conf$$.file
1604 -if ln -s conf$$.file conf$$ 2>/dev/null; then
1605 -  # We could just check for DJGPP; but this test a) works b) is more generic
1606 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
1607 -  if test -f conf$$.exe; then
1608 -    # Don't use ln at all; we don't have any links
1609 -    as_ln_s='cp -p'
1610 -  else
1611 -    as_ln_s='ln -s'
1612 -  fi
1613 -elif ln conf$$.file conf$$ 2>/dev/null; then
1614 -  as_ln_s=ln
1615 -else
1616 -  as_ln_s='cp -p'
1617 -fi
1618 -rm -f conf$$ conf$$.exe conf$$.file
1619 -
1620 -if mkdir -p . 2>/dev/null; then
1621 -  as_mkdir_p=:
1622 -else
1623 -  as_mkdir_p=false
1624 -fi
1625 -
1626 -as_executable_p="test -f"
1627 -
1628 -# Sed expression to map a string onto a valid CPP name.
1629 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
1630 -
1631 -# Sed expression to map a string onto a valid variable name.
1632 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
1633 -
1634 -
1635 -# IFS
1636 -# We need space, tab and new line, in precisely that order.
1637 -as_nl='
1638 -'
1639 -IFS="  $as_nl"
1640 -
1641 -# CDPATH.
1642 -$as_unset CDPATH
1643 -
1644 -
1645 -# Name of the host.
1646 -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
1647 -# so uname gets run too.
1648 -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
1649 -
1650 -exec 6>&1
1651 -
1652 -#
1653 -# Initializations.
1654 -#
1655 -ac_default_prefix=/usr/local
1656 -ac_config_libobj_dir=.
1657 -cross_compiling=no
1658 -subdirs=
1659 -MFLAGS=
1660 -MAKEFLAGS=
1661 -SHELL=${CONFIG_SHELL-/bin/sh}
1662 -
1663 -# Maximum number of lines to put in a shell here document.
1664 -# This variable seems obsolete.  It should probably be removed, and
1665 -# only ac_max_sed_lines should be used.
1666 -: ${ac_max_here_lines=38}
1667 -
1668 -# Identity of this package.
1669 -PACKAGE_NAME=
1670 -PACKAGE_TARNAME=
1671 -PACKAGE_VERSION=
1672 -PACKAGE_STRING=
1673 -PACKAGE_BUGREPORT=
1674 -
1675 -ac_unique_file="gcj_mlc.c"
1676 -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'
1677 -ac_subst_files=''
1678 -
1679 -# Initialize some variables set by options.
1680 -ac_init_help=
1681 -ac_init_version=false
1682 -# The variables have the same names as the options, with
1683 -# dashes changed to underlines.
1684 -cache_file=/dev/null
1685 -exec_prefix=NONE
1686 -no_create=
1687 -no_recursion=
1688 -prefix=NONE
1689 -program_prefix=NONE
1690 -program_suffix=NONE
1691 -program_transform_name=s,x,x,
1692 -silent=
1693 -site=
1694 -srcdir=
1695 -verbose=
1696 -x_includes=NONE
1697 -x_libraries=NONE
1698 -
1699 -# Installation directory options.
1700 -# These are left unexpanded so users can "make install exec_prefix=/foo"
1701 -# and all the variables that are supposed to be based on exec_prefix
1702 -# by default will actually change.
1703 -# Use braces instead of parens because sh, perl, etc. also accept them.
1704 -bindir='${exec_prefix}/bin'
1705 -sbindir='${exec_prefix}/sbin'
1706 -libexecdir='${exec_prefix}/libexec'
1707 -datadir='${prefix}/share'
1708 -sysconfdir='${prefix}/etc'
1709 -sharedstatedir='${prefix}/com'
1710 -localstatedir='${prefix}/var'
1711 -libdir='${exec_prefix}/lib'
1712 -includedir='${prefix}/include'
1713 -oldincludedir='/usr/include'
1714 -infodir='${prefix}/info'
1715 -mandir='${prefix}/man'
1716 -
1717 -ac_prev=
1718 -for ac_option
1719 -do
1720 -  # If the previous option needs an argument, assign it.
1721 -  if test -n "$ac_prev"; then
1722 -    eval "$ac_prev=\$ac_option"
1723 -    ac_prev=
1724 -    continue
1725 -  fi
1726 -
1727 -  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
1728 -
1729 -  # Accept the important Cygnus configure options, so we can diagnose typos.
1730 -
1731 -  case $ac_option in
1732 -
1733 -  -bindir | --bindir | --bindi | --bind | --bin | --bi)
1734 -    ac_prev=bindir ;;
1735 -  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
1736 -    bindir=$ac_optarg ;;
1737 -
1738 -  -build | --build | --buil | --bui | --bu)
1739 -    ac_prev=build_alias ;;
1740 -  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
1741 -    build_alias=$ac_optarg ;;
1742 -
1743 -  -cache-file | --cache-file | --cache-fil | --cache-fi \
1744 -  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
1745 -    ac_prev=cache_file ;;
1746 -  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
1747 -  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
1748 -    cache_file=$ac_optarg ;;
1749 -
1750 -  --config-cache | -C)
1751 -    cache_file=config.cache ;;
1752 -
1753 -  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
1754 -    ac_prev=datadir ;;
1755 -  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
1756 -  | --da=*)
1757 -    datadir=$ac_optarg ;;
1758 -
1759 -  -disable-* | --disable-*)
1760 -    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
1761 -    # Reject names that are not valid shell variable names.
1762 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1763 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
1764 -   { (exit 1); exit 1; }; }
1765 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
1766 -    eval "enable_$ac_feature=no" ;;
1767 -
1768 -  -enable-* | --enable-*)
1769 -    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
1770 -    # Reject names that are not valid shell variable names.
1771 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1772 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
1773 -   { (exit 1); exit 1; }; }
1774 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
1775 -    case $ac_option in
1776 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
1777 -      *) ac_optarg=yes ;;
1778 -    esac
1779 -    eval "enable_$ac_feature='$ac_optarg'" ;;
1780 -
1781 -  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
1782 -  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
1783 -  | --exec | --exe | --ex)
1784 -    ac_prev=exec_prefix ;;
1785 -  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
1786 -  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
1787 -  | --exec=* | --exe=* | --ex=*)
1788 -    exec_prefix=$ac_optarg ;;
1789 -
1790 -  -gas | --gas | --ga | --g)
1791 -    # Obsolete; use --with-gas.
1792 -    with_gas=yes ;;
1793 -
1794 -  -help | --help | --hel | --he | -h)
1795 -    ac_init_help=long ;;
1796 -  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
1797 -    ac_init_help=recursive ;;
1798 -  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
1799 -    ac_init_help=short ;;
1800 -
1801 -  -host | --host | --hos | --ho)
1802 -    ac_prev=host_alias ;;
1803 -  -host=* | --host=* | --hos=* | --ho=*)
1804 -    host_alias=$ac_optarg ;;
1805 -
1806 -  -includedir | --includedir | --includedi | --included | --include \
1807 -  | --includ | --inclu | --incl | --inc)
1808 -    ac_prev=includedir ;;
1809 -  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
1810 -  | --includ=* | --inclu=* | --incl=* | --inc=*)
1811 -    includedir=$ac_optarg ;;
1812 -
1813 -  -infodir | --infodir | --infodi | --infod | --info | --inf)
1814 -    ac_prev=infodir ;;
1815 -  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
1816 -    infodir=$ac_optarg ;;
1817 -
1818 -  -libdir | --libdir | --libdi | --libd)
1819 -    ac_prev=libdir ;;
1820 -  -libdir=* | --libdir=* | --libdi=* | --libd=*)
1821 -    libdir=$ac_optarg ;;
1822 -
1823 -  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1824 -  | --libexe | --libex | --libe)
1825 -    ac_prev=libexecdir ;;
1826 -  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1827 -  | --libexe=* | --libex=* | --libe=*)
1828 -    libexecdir=$ac_optarg ;;
1829 -
1830 -  -localstatedir | --localstatedir | --localstatedi | --localstated \
1831 -  | --localstate | --localstat | --localsta | --localst \
1832 -  | --locals | --local | --loca | --loc | --lo)
1833 -    ac_prev=localstatedir ;;
1834 -  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1835 -  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
1836 -  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
1837 -    localstatedir=$ac_optarg ;;
1838 -
1839 -  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1840 -    ac_prev=mandir ;;
1841 -  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1842 -    mandir=$ac_optarg ;;
1843 -
1844 -  -nfp | --nfp | --nf)
1845 -    # Obsolete; use --without-fp.
1846 -    with_fp=no ;;
1847 -
1848 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1849 -  | --no-cr | --no-c | -n)
1850 -    no_create=yes ;;
1851 -
1852 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1853 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1854 -    no_recursion=yes ;;
1855 -
1856 -  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1857 -  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1858 -  | --oldin | --oldi | --old | --ol | --o)
1859 -    ac_prev=oldincludedir ;;
1860 -  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1861 -  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1862 -  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1863 -    oldincludedir=$ac_optarg ;;
1864 -
1865 -  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1866 -    ac_prev=prefix ;;
1867 -  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1868 -    prefix=$ac_optarg ;;
1869 -
1870 -  -program-prefix | --program-prefix | --program-prefi | --program-pref \
1871 -  | --program-pre | --program-pr | --program-p)
1872 -    ac_prev=program_prefix ;;
1873 -  -program-prefix=* | --program-prefix=* | --program-prefi=* \
1874 -  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1875 -    program_prefix=$ac_optarg ;;
1876 -
1877 -  -program-suffix | --program-suffix | --program-suffi | --program-suff \
1878 -  | --program-suf | --program-su | --program-s)
1879 -    ac_prev=program_suffix ;;
1880 -  -program-suffix=* | --program-suffix=* | --program-suffi=* \
1881 -  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1882 -    program_suffix=$ac_optarg ;;
1883 -
1884 -  -program-transform-name | --program-transform-name \
1885 -  | --program-transform-nam | --program-transform-na \
1886 -  | --program-transform-n | --program-transform- \
1887 -  | --program-transform | --program-transfor \
1888 -  | --program-transfo | --program-transf \
1889 -  | --program-trans | --program-tran \
1890 -  | --progr-tra | --program-tr | --program-t)
1891 -    ac_prev=program_transform_name ;;
1892 -  -program-transform-name=* | --program-transform-name=* \
1893 -  | --program-transform-nam=* | --program-transform-na=* \
1894 -  | --program-transform-n=* | --program-transform-=* \
1895 -  | --program-transform=* | --program-transfor=* \
1896 -  | --program-transfo=* | --program-transf=* \
1897 -  | --program-trans=* | --program-tran=* \
1898 -  | --progr-tra=* | --program-tr=* | --program-t=*)
1899 -    program_transform_name=$ac_optarg ;;
1900 -
1901 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1902 -  | -silent | --silent | --silen | --sile | --sil)
1903 -    silent=yes ;;
1904 -
1905 -  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1906 -    ac_prev=sbindir ;;
1907 -  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1908 -  | --sbi=* | --sb=*)
1909 -    sbindir=$ac_optarg ;;
1910 -
1911 -  -sharedstatedir | --sharedstatedir | --sharedstatedi \
1912 -  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1913 -  | --sharedst | --shareds | --shared | --share | --shar \
1914 -  | --sha | --sh)
1915 -    ac_prev=sharedstatedir ;;
1916 -  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1917 -  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1918 -  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1919 -  | --sha=* | --sh=*)
1920 -    sharedstatedir=$ac_optarg ;;
1921 -
1922 -  -site | --site | --sit)
1923 -    ac_prev=site ;;
1924 -  -site=* | --site=* | --sit=*)
1925 -    site=$ac_optarg ;;
1926 -
1927 -  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1928 -    ac_prev=srcdir ;;
1929 -  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1930 -    srcdir=$ac_optarg ;;
1931 -
1932 -  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1933 -  | --syscon | --sysco | --sysc | --sys | --sy)
1934 -    ac_prev=sysconfdir ;;
1935 -  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1936 -  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1937 -    sysconfdir=$ac_optarg ;;
1938 -
1939 -  -target | --target | --targe | --targ | --tar | --ta | --t)
1940 -    ac_prev=target_alias ;;
1941 -  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1942 -    target_alias=$ac_optarg ;;
1943 -
1944 -  -v | -verbose | --verbose | --verbos | --verbo | --verb)
1945 -    verbose=yes ;;
1946 -
1947 -  -version | --version | --versio | --versi | --vers | -V)
1948 -    ac_init_version=: ;;
1949 -
1950 -  -with-* | --with-*)
1951 -    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1952 -    # Reject names that are not valid shell variable names.
1953 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1954 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
1955 -   { (exit 1); exit 1; }; }
1956 -    ac_package=`echo $ac_package| sed 's/-/_/g'`
1957 -    case $ac_option in
1958 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
1959 -      *) ac_optarg=yes ;;
1960 -    esac
1961 -    eval "with_$ac_package='$ac_optarg'" ;;
1962 -
1963 -  -without-* | --without-*)
1964 -    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1965 -    # Reject names that are not valid shell variable names.
1966 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1967 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
1968 -   { (exit 1); exit 1; }; }
1969 -    ac_package=`echo $ac_package | sed 's/-/_/g'`
1970 -    eval "with_$ac_package=no" ;;
1971 -
1972 -  --x)
1973 -    # Obsolete; use --with-x.
1974 -    with_x=yes ;;
1975 -
1976 -  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1977 -  | --x-incl | --x-inc | --x-in | --x-i)
1978 -    ac_prev=x_includes ;;
1979 -  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1980 -  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1981 -    x_includes=$ac_optarg ;;
1982 -
1983 -  -x-libraries | --x-libraries | --x-librarie | --x-librari \
1984 -  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1985 -    ac_prev=x_libraries ;;
1986 -  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1987 -  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1988 -    x_libraries=$ac_optarg ;;
1989 -
1990 -  -*) { echo "$as_me: error: unrecognized option: $ac_option
1991 -Try \`$0 --help' for more information." >&2
1992 -   { (exit 1); exit 1; }; }
1993 -    ;;
1994 -
1995 -  *=*)
1996 -    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1997 -    # Reject names that are not valid shell variable names.
1998 -    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
1999 -      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
2000 -   { (exit 1); exit 1; }; }
2001 -    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
2002 -    eval "$ac_envvar='$ac_optarg'"
2003 -    export $ac_envvar ;;
2004 -
2005 -  *)
2006 -    # FIXME: should be removed in autoconf 3.0.
2007 -    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
2008 -    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
2009 -      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
2010 -    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
2011 -    ;;
2012 -
2013 -  esac
2014 -done
2015 -
2016 -if test -n "$ac_prev"; then
2017 -  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
2018 -  { echo "$as_me: error: missing argument to $ac_option" >&2
2019 -   { (exit 1); exit 1; }; }
2020 -fi
2021 -
2022 -# Be sure to have absolute paths.
2023 -for ac_var in exec_prefix prefix
2024 -do
2025 -  eval ac_val=$`echo $ac_var`
2026 -  case $ac_val in
2027 -    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
2028 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
2029 -   { (exit 1); exit 1; }; };;
2030 -  esac
2031 -done
2032 -
2033 -# Be sure to have absolute paths.
2034 -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
2035 -              localstatedir libdir includedir oldincludedir infodir mandir
2036 -do
2037 -  eval ac_val=$`echo $ac_var`
2038 -  case $ac_val in
2039 -    [\\/$]* | ?:[\\/]* ) ;;
2040 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
2041 -   { (exit 1); exit 1; }; };;
2042 -  esac
2043 -done
2044 -
2045 -# There might be people who depend on the old broken behavior: `$host'
2046 -# used to hold the argument of --host etc.
2047 -# FIXME: To remove some day.
2048 -build=$build_alias
2049 -host=$host_alias
2050 -target=$target_alias
2051 -
2052 -# FIXME: To remove some day.
2053 -if test "x$host_alias" != x; then
2054 -  if test "x$build_alias" = x; then
2055 -    cross_compiling=maybe
2056 -    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
2057 -    If a cross compiler is detected then cross compile mode will be used." >&2
2058 -  elif test "x$build_alias" != "x$host_alias"; then
2059 -    cross_compiling=yes
2060 -  fi
2061 -fi
2062 -
2063 -ac_tool_prefix=
2064 -test -n "$host_alias" && ac_tool_prefix=$host_alias-
2065 -
2066 -test "$silent" = yes && exec 6>/dev/null
2067 -
2068 -
2069 -# Find the source files, if location was not specified.
2070 -if test -z "$srcdir"; then
2071 -  ac_srcdir_defaulted=yes
2072 -  # Try the directory containing this script, then its parent.
2073 -  ac_confdir=`(dirname "$0") 2>/dev/null ||
2074 -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
2075 -         X"$0" : 'X\(//\)[^/]' \| \
2076 -         X"$0" : 'X\(//\)$' \| \
2077 -         X"$0" : 'X\(/\)' \| \
2078 -         .     : '\(.\)' 2>/dev/null ||
2079 -echo X"$0" |
2080 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
2081 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
2082 -         /^X\(\/\/\)$/{ s//\1/; q; }
2083 -         /^X\(\/\).*/{ s//\1/; q; }
2084 -         s/.*/./; q'`
2085 -  srcdir=$ac_confdir
2086 -  if test ! -r $srcdir/$ac_unique_file; then
2087 -    srcdir=..
2088 -  fi
2089 -else
2090 -  ac_srcdir_defaulted=no
2091 -fi
2092 -if test ! -r $srcdir/$ac_unique_file; then
2093 -  if test "$ac_srcdir_defaulted" = yes; then
2094 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
2095 -   { (exit 1); exit 1; }; }
2096 -  else
2097 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
2098 -   { (exit 1); exit 1; }; }
2099 -  fi
2100 -fi
2101 -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
2102 -  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
2103 -   { (exit 1); exit 1; }; }
2104 -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
2105 -ac_env_build_alias_set=${build_alias+set}
2106 -ac_env_build_alias_value=$build_alias
2107 -ac_cv_env_build_alias_set=${build_alias+set}
2108 -ac_cv_env_build_alias_value=$build_alias
2109 -ac_env_host_alias_set=${host_alias+set}
2110 -ac_env_host_alias_value=$host_alias
2111 -ac_cv_env_host_alias_set=${host_alias+set}
2112 -ac_cv_env_host_alias_value=$host_alias
2113 -ac_env_target_alias_set=${target_alias+set}
2114 -ac_env_target_alias_value=$target_alias
2115 -ac_cv_env_target_alias_set=${target_alias+set}
2116 -ac_cv_env_target_alias_value=$target_alias
2117 -ac_env_CXXCPP_set=${CXXCPP+set}
2118 -ac_env_CXXCPP_value=$CXXCPP
2119 -ac_cv_env_CXXCPP_set=${CXXCPP+set}
2120 -ac_cv_env_CXXCPP_value=$CXXCPP
2121 -ac_env_CPPFLAGS_set=${CPPFLAGS+set}
2122 -ac_env_CPPFLAGS_value=$CPPFLAGS
2123 -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
2124 -ac_cv_env_CPPFLAGS_value=$CPPFLAGS
2125 -
2126 -#
2127 -# Report the --help message.
2128 -#
2129 -if test "$ac_init_help" = "long"; then
2130 -  # Omit some internal or obsolete options to make the list less imposing.
2131 -  # This message is too long to be a string in the A/UX 3.1 sh.
2132 -  cat <<_ACEOF
2133 -\`configure' configures this package to adapt to many kinds of systems.
2134 -
2135 -Usage: $0 [OPTION]... [VAR=VALUE]...
2136 -
2137 -To assign environment variables (e.g., CC, CFLAGS...), specify them as
2138 -VAR=VALUE.  See below for descriptions of some of the useful variables.
2139 -
2140 -Defaults for the options are specified in brackets.
2141 -
2142 -Configuration:
2143 -  -h, --help              display this help and exit
2144 -      --help=short        display options specific to this package
2145 -      --help=recursive    display the short help of all the included packages
2146 -  -V, --version           display version information and exit
2147 -  -q, --quiet, --silent   do not print \`checking...' messages
2148 -      --cache-file=FILE   cache test results in FILE [disabled]
2149 -  -C, --config-cache      alias for \`--cache-file=config.cache'
2150 -  -n, --no-create         do not create output files
2151 -      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
2152 -
2153 -_ACEOF
2154 -
2155 -  cat <<_ACEOF
2156 -Installation directories:
2157 -  --prefix=PREFIX         install architecture-independent files in PREFIX
2158 -                          [$ac_default_prefix]
2159 -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
2160 -                          [PREFIX]
2161 -
2162 -By default, \`make install' will install all the files in
2163 -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
2164 -an installation prefix other than \`$ac_default_prefix' using \`--prefix',
2165 -for instance \`--prefix=\$HOME'.
2166 -
2167 -For better control, use the options below.
2168 -
2169 -Fine tuning of the installation directories:
2170 -  --bindir=DIR           user executables [EPREFIX/bin]
2171 -  --sbindir=DIR          system admin executables [EPREFIX/sbin]
2172 -  --libexecdir=DIR       program executables [EPREFIX/libexec]
2173 -  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
2174 -  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
2175 -  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
2176 -  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
2177 -  --libdir=DIR           object code libraries [EPREFIX/lib]
2178 -  --includedir=DIR       C header files [PREFIX/include]
2179 -  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
2180 -  --infodir=DIR          info documentation [PREFIX/info]
2181 -  --mandir=DIR           man documentation [PREFIX/man]
2182 -_ACEOF
2183 -
2184 -  cat <<\_ACEOF
2185 -
2186 -Program names:
2187 -  --program-prefix=PREFIX            prepend PREFIX to installed program names
2188 -  --program-suffix=SUFFIX            append SUFFIX to installed program names
2189 -  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
2190 -
2191 -System types:
2192 -  --build=BUILD     configure for building on BUILD [guessed]
2193 -  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
2194 -  --target=TARGET   configure for building compilers for TARGET [HOST]
2195 -_ACEOF
2196 -fi
2197 -
2198 -if test -n "$ac_init_help"; then
2199 -
2200 -  cat <<\_ACEOF
2201 -
2202 -Optional Features:
2203 -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
2204 -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
2205 -  --enable-multilib       build many library versions (default)
2206 -  --enable-maintainer-mode enable make rules and dependencies not useful
2207 -                          (and sometimes confusing) to the casual installer
2208 -  --enable-shared=PKGS  build shared libraries default=yes
2209 -  --enable-static=PKGS  build static libraries default=yes
2210 -  --enable-fast-install=PKGS  optimize for fast installation default=yes
2211 -  --disable-libtool-lock  avoid locking (might break parallel builds)
2212 -  --enable-parallel-mark       parallelize marking and free list construction
2213 -  --enable-shared=PKGS  build shared libraries default=no
2214 -  --enable-full-debug  include full support for pointer backtracing etc.
2215 -
2216 -Optional Packages:
2217 -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
2218 -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
2219 -  --with-gnu-ld           assume the C compiler uses GNU ld default=no
2220 -  --with-pic              try to use only PIC/non-PIC objects default=use both
2221 -  --with-target-subdir=SUBDIR
2222 -                          configuring with a cross compiler
2223 -  --with-cross-host=HOST  configuring with a cross compiler
2224 -  --with-ecos             enable runtime eCos target support
2225 -
2226 -Some influential environment variables:
2227 -  CXXCPP      C++ preprocessor
2228 -  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
2229 -              headers in a nonstandard directory <include dir>
2230 -
2231 -Use these variables to override the choices made by `configure' or to help
2232 -it to find libraries and programs with nonstandard names/locations.
2233 -
2234 -_ACEOF
2235 -fi
2236 -
2237 -if test "$ac_init_help" = "recursive"; then
2238 -  # If there are subdirs, report their specific --help.
2239 -  ac_popdir=`pwd`
2240 -  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
2241 -    test -d $ac_dir || continue
2242 -    ac_builddir=.
2243 -
2244 -if test "$ac_dir" != .; then
2245 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
2246 -  # A "../" for each directory in $ac_dir_suffix.
2247 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
2248 -else
2249 -  ac_dir_suffix= ac_top_builddir=
2250 -fi
2251 -
2252 -case $srcdir in
2253 -  .)  # No --srcdir option.  We are building in place.
2254 -    ac_srcdir=.
2255 -    if test -z "$ac_top_builddir"; then
2256 -       ac_top_srcdir=.
2257 -    else
2258 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
2259 -    fi ;;
2260 -  [\\/]* | ?:[\\/]* )  # Absolute path.
2261 -    ac_srcdir=$srcdir$ac_dir_suffix;
2262 -    ac_top_srcdir=$srcdir ;;
2263 -  *) # Relative path.
2264 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
2265 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
2266 -esac
2267 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
2268 -# absolute.
2269 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
2270 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
2271 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
2272 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
2273 -
2274 -    cd $ac_dir
2275 -    # Check for guested configure; otherwise get Cygnus style configure.
2276 -    if test -f $ac_srcdir/configure.gnu; then
2277 -      echo
2278 -      $SHELL $ac_srcdir/configure.gnu  --help=recursive
2279 -    elif test -f $ac_srcdir/configure; then
2280 -      echo
2281 -      $SHELL $ac_srcdir/configure  --help=recursive
2282 -    elif test -f $ac_srcdir/configure.ac ||
2283 -           test -f $ac_srcdir/configure.in; then
2284 -      echo
2285 -      $ac_configure --help
2286 -    else
2287 -      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
2288 -    fi
2289 -    cd $ac_popdir
2290 -  done
2291 -fi
2292 -
2293 -test -n "$ac_init_help" && exit 0
2294 -if $ac_init_version; then
2295 -  cat <<\_ACEOF
2296 -
2297 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
2298 -Free Software Foundation, Inc.
2299 -This configure script is free software; the Free Software Foundation
2300 -gives unlimited permission to copy, distribute and modify it.
2301 -_ACEOF
2302 -  exit 0
2303 -fi
2304 -exec 5>config.log
2305 -cat >&5 <<_ACEOF
2306 -This file contains any messages produced by compilers while
2307 -running configure, to aid debugging if configure makes a mistake.
2308 -
2309 -It was created by $as_me, which was
2310 -generated by GNU Autoconf 2.57.  Invocation command line was
2311 -
2312 -  $ $0 $@
2313 -
2314 -_ACEOF
2315 -{
2316 -cat <<_ASUNAME
2317 -@%:@@%:@ --------- @%:@@%:@
2318 -@%:@@%:@ Platform. @%:@@%:@
2319 -@%:@@%:@ --------- @%:@@%:@
2320 -
2321 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2322 -uname -m = `(uname -m) 2>/dev/null || echo unknown`
2323 -uname -r = `(uname -r) 2>/dev/null || echo unknown`
2324 -uname -s = `(uname -s) 2>/dev/null || echo unknown`
2325 -uname -v = `(uname -v) 2>/dev/null || echo unknown`
2326 -
2327 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2328 -/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
2329 -
2330 -/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
2331 -/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
2332 -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2333 -hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
2334 -/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
2335 -/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
2336 -/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
2337 -
2338 -_ASUNAME
2339 -
2340 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2341 -for as_dir in $PATH
2342 -do
2343 -  IFS=$as_save_IFS
2344 -  test -z "$as_dir" && as_dir=.
2345 -  echo "PATH: $as_dir"
2346 -done
2347 -
2348 -} >&5
2349 -
2350 -cat >&5 <<_ACEOF
2351 -
2352 -
2353 -@%:@@%:@ ----------- @%:@@%:@
2354 -@%:@@%:@ Core tests. @%:@@%:@
2355 -@%:@@%:@ ----------- @%:@@%:@
2356 -
2357 -_ACEOF
2358 -
2359 -
2360 -# Keep a trace of the command line.
2361 -# Strip out --no-create and --no-recursion so they do not pile up.
2362 -# Strip out --silent because we don't want to record it for future runs.
2363 -# Also quote any args containing shell meta-characters.
2364 -# Make two passes to allow for proper duplicate-argument suppression.
2365 -ac_configure_args=
2366 -ac_configure_args0=
2367 -ac_configure_args1=
2368 -ac_sep=
2369 -ac_must_keep_next=false
2370 -for ac_pass in 1 2
2371 -do
2372 -  for ac_arg
2373 -  do
2374 -    case $ac_arg in
2375 -    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2376 -    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2377 -    | -silent | --silent | --silen | --sile | --sil)
2378 -      continue ;;
2379 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
2380 -      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2381 -    esac
2382 -    case $ac_pass in
2383 -    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2384 -    2)
2385 -      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
2386 -      if test $ac_must_keep_next = true; then
2387 -        ac_must_keep_next=false # Got value, back to normal.
2388 -      else
2389 -        case $ac_arg in
2390 -          *=* | --config-cache | -C | -disable-* | --disable-* \
2391 -          | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2392 -          | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2393 -          | -with-* | --with-* | -without-* | --without-* | --x)
2394 -            case "$ac_configure_args0 " in
2395 -              "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2396 -            esac
2397 -            ;;
2398 -          -* ) ac_must_keep_next=true ;;
2399 -        esac
2400 -      fi
2401 -      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
2402 -      # Get rid of the leading space.
2403 -      ac_sep=" "
2404 -      ;;
2405 -    esac
2406 -  done
2407 -done
2408 -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
2409 -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
2410 -
2411 -# When interrupted or exit'd, cleanup temporary files, and complete
2412 -# config.log.  We remove comments because anyway the quotes in there
2413 -# would cause problems or look ugly.
2414 -# WARNING: Be sure not to use single quotes in there, as some shells,
2415 -# such as our DU 5.0 friend, will then `close' the trap.
2416 -trap 'exit_status=$?
2417 -  # Save into config.log some information that might help in debugging.
2418 -  {
2419 -    echo
2420 -
2421 -    cat <<\_ASBOX
2422 -@%:@@%:@ ---------------- @%:@@%:@
2423 -@%:@@%:@ Cache variables. @%:@@%:@
2424 -@%:@@%:@ ---------------- @%:@@%:@
2425 -_ASBOX
2426 -    echo
2427 -    # The following way of writing the cache mishandles newlines in values,
2428 -{
2429 -  (set) 2>&1 |
2430 -    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
2431 -    *ac_space=\ *)
2432 -      sed -n \
2433 -        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
2434 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
2435 -      ;;
2436 -    *)
2437 -      sed -n \
2438 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
2439 -      ;;
2440 -    esac;
2441 -}
2442 -    echo
2443 -
2444 -    cat <<\_ASBOX
2445 -@%:@@%:@ ----------------- @%:@@%:@
2446 -@%:@@%:@ Output variables. @%:@@%:@
2447 -@%:@@%:@ ----------------- @%:@@%:@
2448 -_ASBOX
2449 -    echo
2450 -    for ac_var in $ac_subst_vars
2451 -    do
2452 -      eval ac_val=$`echo $ac_var`
2453 -      echo "$ac_var='"'"'$ac_val'"'"'"
2454 -    done | sort
2455 -    echo
2456 -
2457 -    if test -n "$ac_subst_files"; then
2458 -      cat <<\_ASBOX
2459 -@%:@@%:@ ------------- @%:@@%:@
2460 -@%:@@%:@ Output files. @%:@@%:@
2461 -@%:@@%:@ ------------- @%:@@%:@
2462 -_ASBOX
2463 -      echo
2464 -      for ac_var in $ac_subst_files
2465 -      do
2466 -       eval ac_val=$`echo $ac_var`
2467 -        echo "$ac_var='"'"'$ac_val'"'"'"
2468 -      done | sort
2469 -      echo
2470 -    fi
2471 -
2472 -    if test -s confdefs.h; then
2473 -      cat <<\_ASBOX
2474 -@%:@@%:@ ----------- @%:@@%:@
2475 -@%:@@%:@ confdefs.h. @%:@@%:@
2476 -@%:@@%:@ ----------- @%:@@%:@
2477 -_ASBOX
2478 -      echo
2479 -      sed "/^$/d" confdefs.h | sort
2480 -      echo
2481 -    fi
2482 -    test "$ac_signal" != 0 &&
2483 -      echo "$as_me: caught signal $ac_signal"
2484 -    echo "$as_me: exit $exit_status"
2485 -  } >&5
2486 -  rm -f core core.* *.core &&
2487 -  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
2488 -    exit $exit_status
2489 -     ' 0
2490 -for ac_signal in 1 2 13 15; do
2491 -  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
2492 -done
2493 -ac_signal=0
2494 -
2495 -# confdefs.h avoids OS command line length limits that DEFS can exceed.
2496 -rm -rf conftest* confdefs.h
2497 -# AIX cpp loses on an empty file, so make sure it contains at least a newline.
2498 -echo >confdefs.h
2499 -
2500 -# Predefined preprocessor variables.
2501 -
2502 -cat >>confdefs.h <<_ACEOF
2503 -@%:@define PACKAGE_NAME "$PACKAGE_NAME"
2504 -_ACEOF
2505 -
2506 -
2507 -cat >>confdefs.h <<_ACEOF
2508 -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2509 -_ACEOF
2510 -
2511 -
2512 -cat >>confdefs.h <<_ACEOF
2513 -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
2514 -_ACEOF
2515 -
2516 -
2517 -cat >>confdefs.h <<_ACEOF
2518 -@%:@define PACKAGE_STRING "$PACKAGE_STRING"
2519 -_ACEOF
2520 -
2521 -
2522 -cat >>confdefs.h <<_ACEOF
2523 -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2524 -_ACEOF
2525 -
2526 -
2527 -# Let the site file select an alternate cache file if it wants to.
2528 -# Prefer explicitly selected file to automatically selected ones.
2529 -if test -z "$CONFIG_SITE"; then
2530 -  if test "x$prefix" != xNONE; then
2531 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
2532 -  else
2533 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
2534 -  fi
2535 -fi
2536 -for ac_site_file in $CONFIG_SITE; do
2537 -  if test -r "$ac_site_file"; then
2538 -    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
2539 -echo "$as_me: loading site script $ac_site_file" >&6;}
2540 -    sed 's/^/| /' "$ac_site_file" >&5
2541 -    . "$ac_site_file"
2542 -  fi
2543 -done
2544 -
2545 -if test -r "$cache_file"; then
2546 -  # Some versions of bash will fail to source /dev/null (special
2547 -  # files actually), so we avoid doing that.
2548 -  if test -f "$cache_file"; then
2549 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
2550 -echo "$as_me: loading cache $cache_file" >&6;}
2551 -    case $cache_file in
2552 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
2553 -      *)                      . ./$cache_file;;
2554 -    esac
2555 -  fi
2556 -else
2557 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
2558 -echo "$as_me: creating cache $cache_file" >&6;}
2559 -  >$cache_file
2560 -fi
2561 -
2562 -# Check that the precious variables saved in the cache have kept the same
2563 -# value.
2564 -ac_cache_corrupted=false
2565 -for ac_var in `(set) 2>&1 |
2566 -               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
2567 -  eval ac_old_set=\$ac_cv_env_${ac_var}_set
2568 -  eval ac_new_set=\$ac_env_${ac_var}_set
2569 -  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
2570 -  eval ac_new_val="\$ac_env_${ac_var}_value"
2571 -  case $ac_old_set,$ac_new_set in
2572 -    set,)
2573 -      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2574 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2575 -      ac_cache_corrupted=: ;;
2576 -    ,set)
2577 -      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
2578 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2579 -      ac_cache_corrupted=: ;;
2580 -    ,);;
2581 -    *)
2582 -      if test "x$ac_old_val" != "x$ac_new_val"; then
2583 -        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
2584 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2585 -        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
2586 -echo "$as_me:   former value:  $ac_old_val" >&2;}
2587 -        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
2588 -echo "$as_me:   current value: $ac_new_val" >&2;}
2589 -        ac_cache_corrupted=:
2590 -      fi;;
2591 -  esac
2592 -  # Pass precious variables to config.status.
2593 -  if test "$ac_new_set" = set; then
2594 -    case $ac_new_val in
2595 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
2596 -      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2597 -    *) ac_arg=$ac_var=$ac_new_val ;;
2598 -    esac
2599 -    case " $ac_configure_args " in
2600 -      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
2601 -      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
2602 -    esac
2603 -  fi
2604 -done
2605 -if $ac_cache_corrupted; then
2606 -  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
2607 -echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2608 -  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
2609 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
2610 -   { (exit 1); exit 1; }; }
2611 -fi
2612 -
2613 -ac_ext=c
2614 -ac_cpp='$CPP $CPPFLAGS'
2615 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2616 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2617 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
2618 -
2619 -
2620 -
2621 -
2622 -
2623 -
2624 -
2625 -
2626 -
2627 -
2628 -
2629 -
2630 -
2631 -
2632 -
2633 -
2634 -
2635 -
2636 -
2637 -
2638 -# This works around the fact that libtool configuration may change LD
2639 -# for this particular configuration, but some shells, instead of
2640 -# keeping the changes in LD private, export them just because LD is
2641 -# exported.
2642 -ORIGINAL_LD_FOR_MULTILIBS=$LD
2643 -
2644 -ac_aux_dir=
2645 -for ac_dir in . $srcdir/.; do
2646 -  if test -f $ac_dir/install-sh; then
2647 -    ac_aux_dir=$ac_dir
2648 -    ac_install_sh="$ac_aux_dir/install-sh -c"
2649 -    break
2650 -  elif test -f $ac_dir/install.sh; then
2651 -    ac_aux_dir=$ac_dir
2652 -    ac_install_sh="$ac_aux_dir/install.sh -c"
2653 -    break
2654 -  elif test -f $ac_dir/shtool; then
2655 -    ac_aux_dir=$ac_dir
2656 -    ac_install_sh="$ac_aux_dir/shtool install -c"
2657 -    break
2658 -  fi
2659 -done
2660 -if test -z "$ac_aux_dir"; then
2661 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . $srcdir/." >&5
2662 -echo "$as_me: error: cannot find install-sh or install.sh in . $srcdir/." >&2;}
2663 -   { (exit 1); exit 1; }; }
2664 -fi
2665 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
2666 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
2667 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
2668 -
2669 -
2670 -# Make sure we can run config.sub.
2671 -$ac_config_sub sun4 >/dev/null 2>&1 ||
2672 -  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
2673 -echo "$as_me: error: cannot run $ac_config_sub" >&2;}
2674 -   { (exit 1); exit 1; }; }
2675 -
2676 -echo "$as_me:$LINENO: checking build system type" >&5
2677 -echo $ECHO_N "checking build system type... $ECHO_C" >&6
2678 -if test "${ac_cv_build+set}" = set; then
2679 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2680 -else
2681 -  ac_cv_build_alias=$build_alias
2682 -test -z "$ac_cv_build_alias" &&
2683 -  ac_cv_build_alias=`$ac_config_guess`
2684 -test -z "$ac_cv_build_alias" &&
2685 -  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
2686 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
2687 -   { (exit 1); exit 1; }; }
2688 -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
2689 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
2690 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
2691 -   { (exit 1); exit 1; }; }
2692 -
2693 -fi
2694 -echo "$as_me:$LINENO: result: $ac_cv_build" >&5
2695 -echo "${ECHO_T}$ac_cv_build" >&6
2696 -build=$ac_cv_build
2697 -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2698 -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2699 -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2700 -
2701 -
2702 -echo "$as_me:$LINENO: checking host system type" >&5
2703 -echo $ECHO_N "checking host system type... $ECHO_C" >&6
2704 -if test "${ac_cv_host+set}" = set; then
2705 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2706 -else
2707 -  ac_cv_host_alias=$host_alias
2708 -test -z "$ac_cv_host_alias" &&
2709 -  ac_cv_host_alias=$ac_cv_build_alias
2710 -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
2711 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
2712 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
2713 -   { (exit 1); exit 1; }; }
2714 -
2715 -fi
2716 -echo "$as_me:$LINENO: result: $ac_cv_host" >&5
2717 -echo "${ECHO_T}$ac_cv_host" >&6
2718 -host=$ac_cv_host
2719 -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2720 -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2721 -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2722 -
2723 -
2724 -# Find a good install program.  We prefer a C program (faster),
2725 -# so one script is as good as another.  But avoid the broken or
2726 -# incompatible versions:
2727 -# SysV /etc/install, /usr/sbin/install
2728 -# SunOS /usr/etc/install
2729 -# IRIX /sbin/install
2730 -# AIX /bin/install
2731 -# AmigaOS /C/install, which installs bootblocks on floppy discs
2732 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
2733 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
2734 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
2735 -# ./install, which can be erroneously created by make from ./install.sh.
2736 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
2737 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
2738 -if test -z "$INSTALL"; then
2739 -if test "${ac_cv_path_install+set}" = set; then
2740 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2741 -else
2742 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2743 -for as_dir in $PATH
2744 -do
2745 -  IFS=$as_save_IFS
2746 -  test -z "$as_dir" && as_dir=.
2747 -  # Account for people who put trailing slashes in PATH elements.
2748 -case $as_dir/ in
2749 -  ./ | .// | /cC/* | \
2750 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
2751 -  /usr/ucb/* ) ;;
2752 -  *)
2753 -    # OSF1 and SCO ODT 3.0 have their own names for install.
2754 -    # Don't use installbsd from OSF since it installs stuff as root
2755 -    # by default.
2756 -    for ac_prog in ginstall scoinst install; do
2757 -      for ac_exec_ext in '' $ac_executable_extensions; do
2758 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
2759 -          if test $ac_prog = install &&
2760 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2761 -            # AIX install.  It has an incompatible calling convention.
2762 -            :
2763 -          elif test $ac_prog = install &&
2764 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2765 -            # program-specific install script used by HP pwplus--don't use.
2766 -            :
2767 -          else
2768 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
2769 -            break 3
2770 -          fi
2771 -        fi
2772 -      done
2773 -    done
2774 -    ;;
2775 -esac
2776 -done
2777 -
2778 -
2779 -fi
2780 -  if test "${ac_cv_path_install+set}" = set; then
2781 -    INSTALL=$ac_cv_path_install
2782 -  else
2783 -    # As a last resort, use the slow shell script.  We don't cache a
2784 -    # path for INSTALL within a source directory, because that will
2785 -    # break other packages using the cache if that directory is
2786 -    # removed, or if the path is relative.
2787 -    INSTALL=$ac_install_sh
2788 -  fi
2789 -fi
2790 -echo "$as_me:$LINENO: result: $INSTALL" >&5
2791 -echo "${ECHO_T}$INSTALL" >&6
2792 -
2793 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
2794 -# It thinks the first close brace ends the variable substitution.
2795 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
2796 -
2797 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
2798 -
2799 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
2800 -
2801 -echo "$as_me:$LINENO: checking whether build environment is sane" >&5
2802 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
2803 -# Just in case
2804 -sleep 1
2805 -echo timestamp > conftestfile
2806 -# Do `set' in a subshell so we don't clobber the current shell's
2807 -# arguments.  Must try -L first in case configure is actually a
2808 -# symlink; some systems play weird games with the mod time of symlinks
2809 -# (eg FreeBSD returns the mod time of the symlink's containing
2810 -# directory).
2811 -if (
2812 -   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
2813 -   if test "$*" = "X"; then
2814 -      # -L didn't work.
2815 -      set X `ls -t $srcdir/configure conftestfile`
2816 -   fi
2817 -   if test "$*" != "X $srcdir/configure conftestfile" \
2818 -      && test "$*" != "X conftestfile $srcdir/configure"; then
2819 -
2820 -      # If neither matched, then we have a broken ls.  This can happen
2821 -      # if, for instance, CONFIG_SHELL is bash and it inherits a
2822 -      # broken ls alias from the environment.  This has actually
2823 -      # happened.  Such a system could not be considered "sane".
2824 -      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
2825 -alias in your environment" >&5
2826 -echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
2827 -alias in your environment" >&2;}
2828 -   { (exit 1); exit 1; }; }
2829 -   fi
2830 -
2831 -   test "$2" = conftestfile
2832 -   )
2833 -then
2834 -   # Ok.
2835 -   :
2836 -else
2837 -   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
2838 -Check your system clock" >&5
2839 -echo "$as_me: error: newly created file is older than distributed files!
2840 -Check your system clock" >&2;}
2841 -   { (exit 1); exit 1; }; }
2842 -fi
2843 -rm -f conftest*
2844 -echo "$as_me:$LINENO: result: yes" >&5
2845 -echo "${ECHO_T}yes" >&6
2846 -test "$program_prefix" != NONE &&
2847 -  program_transform_name="s,^,$program_prefix,;$program_transform_name"
2848 -# Use a double $ so make ignores it.
2849 -test "$program_suffix" != NONE &&
2850 -  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
2851 -# Double any \ or $.  echo might interpret backslashes.
2852 -# By default was `s,x,x', remove it if useless.
2853 -cat <<\_ACEOF >conftest.sed
2854 -s/[\\$]/&&/g;s/;s,x,x,$//
2855 -_ACEOF
2856 -program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
2857 -rm conftest.sed
2858 -
2859 -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
2860 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
2861 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
2862 -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
2863 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2864 -else
2865 -  cat >conftest.make <<\_ACEOF
2866 -all:
2867 -       @echo 'ac_maketemp="$(MAKE)"'
2868 -_ACEOF
2869 -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
2870 -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
2871 -if test -n "$ac_maketemp"; then
2872 -  eval ac_cv_prog_make_${ac_make}_set=yes
2873 -else
2874 -  eval ac_cv_prog_make_${ac_make}_set=no
2875 -fi
2876 -rm -f conftest.make
2877 -fi
2878 -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
2879 -  echo "$as_me:$LINENO: result: yes" >&5
2880 -echo "${ECHO_T}yes" >&6
2881 -  SET_MAKE=
2882 -else
2883 -  echo "$as_me:$LINENO: result: no" >&5
2884 -echo "${ECHO_T}no" >&6
2885 -  SET_MAKE="MAKE=${MAKE-make}"
2886 -fi
2887 -
2888 -
2889 -# Check whether --enable-multilib or --disable-multilib was given.
2890 -if test "${enable_multilib+set}" = set; then
2891 -  enableval="$enable_multilib"
2892 -  case "${enableval}" in
2893 -  yes) multilib=yes ;;
2894 -  no)  multilib=no ;;
2895 -  *)   { { echo "$as_me:$LINENO: error: bad value ${enableval} for multilib option" >&5
2896 -echo "$as_me: error: bad value ${enableval} for multilib option" >&2;}
2897 -   { (exit 1); exit 1; }; } ;;
2898 - esac
2899 -else
2900 -  multilib=yes
2901 -fi; 
2902 -
2903 -if test "${srcdir}" = "."; then
2904 -  if test "${with_target_subdir}" != "." -a -n "${with_target_subdir}"; then
2905 -    gc_basedir="${srcdir}/${with_multisrctop}../."
2906 -  else
2907 -    gc_basedir="${srcdir}/${with_multisrctop}."
2908 -  fi
2909 -else
2910 -  gc_basedir="${srcdir}/."
2911 -fi
2912 -
2913 -ac_aux_dir=
2914 -for ac_dir in $gc_basedir/.. $srcdir/$gc_basedir/..; do
2915 -  if test -f $ac_dir/install-sh; then
2916 -    ac_aux_dir=$ac_dir
2917 -    ac_install_sh="$ac_aux_dir/install-sh -c"
2918 -    break
2919 -  elif test -f $ac_dir/install.sh; then
2920 -    ac_aux_dir=$ac_dir
2921 -    ac_install_sh="$ac_aux_dir/install.sh -c"
2922 -    break
2923 -  elif test -f $ac_dir/shtool; then
2924 -    ac_aux_dir=$ac_dir
2925 -    ac_install_sh="$ac_aux_dir/shtool install -c"
2926 -    break
2927 -  fi
2928 -done
2929 -if test -z "$ac_aux_dir"; then
2930 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&5
2931 -echo "$as_me: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&2;}
2932 -   { (exit 1); exit 1; }; }
2933 -fi
2934 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
2935 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
2936 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
2937 -
2938 -if :; then :; else
2939 -  # This overrides the previous occurrence for automake, but not for
2940 -  # autoconf, which is exactly what we want.
2941 -  ac_aux_dir=
2942 -for ac_dir in .. $srcdir/..; do
2943 -  if test -f $ac_dir/install-sh; then
2944 -    ac_aux_dir=$ac_dir
2945 -    ac_install_sh="$ac_aux_dir/install-sh -c"
2946 -    break
2947 -  elif test -f $ac_dir/install.sh; then
2948 -    ac_aux_dir=$ac_dir
2949 -    ac_install_sh="$ac_aux_dir/install.sh -c"
2950 -    break
2951 -  elif test -f $ac_dir/shtool; then
2952 -    ac_aux_dir=$ac_dir
2953 -    ac_install_sh="$ac_aux_dir/shtool install -c"
2954 -    break
2955 -  fi
2956 -done
2957 -if test -z "$ac_aux_dir"; then
2958 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5
2959 -echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;}
2960 -   { (exit 1); exit 1; }; }
2961 -fi
2962 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
2963 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
2964 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
2965 -
2966 -fi
2967 -
2968 -echo "$as_me:$LINENO: checking target system type" >&5
2969 -echo $ECHO_N "checking target system type... $ECHO_C" >&6
2970 -if test "${ac_cv_target+set}" = set; then
2971 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2972 -else
2973 -  ac_cv_target_alias=$target_alias
2974 -test "x$ac_cv_target_alias" = "x" &&
2975 -  ac_cv_target_alias=$ac_cv_host_alias
2976 -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
2977 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
2978 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
2979 -   { (exit 1); exit 1; }; }
2980 -
2981 -fi
2982 -echo "$as_me:$LINENO: result: $ac_cv_target" >&5
2983 -echo "${ECHO_T}$ac_cv_target" >&6
2984 -target=$ac_cv_target
2985 -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2986 -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2987 -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2988 -
2989 -
2990 -# The aliases save the names the user supplied, while $host etc.
2991 -# will get canonicalized.
2992 -test -n "$target_alias" &&
2993 -  test "$program_prefix$program_suffix$program_transform_name" = \
2994 -    NONENONEs,x,x, &&
2995 -  program_prefix=${target_alias}-
2996 -
2997 -# This works around an automake problem.
2998 -mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
2999 -
3000 -
3001 -
3002 -PACKAGE=gc
3003 -
3004 -VERSION=6.0
3005 -
3006 -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
3007 -  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
3008 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
3009 -   { (exit 1); exit 1; }; }
3010 -fi
3011 -
3012 -
3013 -
3014 -missing_dir=`cd $ac_aux_dir && pwd`
3015 -echo "$as_me:$LINENO: checking for working aclocal" >&5
3016 -echo $ECHO_N "checking for working aclocal... $ECHO_C" >&6
3017 -# Run test in a subshell; some versions of sh will print an error if
3018 -# an executable is not found, even if stderr is redirected.
3019 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3020 -if (aclocal --version) < /dev/null > /dev/null 2>&1; then
3021 -   ACLOCAL=aclocal
3022 -   echo "$as_me:$LINENO: result: found" >&5
3023 -echo "${ECHO_T}found" >&6
3024 -else
3025 -   ACLOCAL="$missing_dir/missing aclocal"
3026 -   echo "$as_me:$LINENO: result: missing" >&5
3027 -echo "${ECHO_T}missing" >&6
3028 -fi
3029 -
3030 -echo "$as_me:$LINENO: checking for working autoconf" >&5
3031 -echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6
3032 -# Run test in a subshell; some versions of sh will print an error if
3033 -# an executable is not found, even if stderr is redirected.
3034 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3035 -if (autoconf --version) < /dev/null > /dev/null 2>&1; then
3036 -   AUTOCONF=autoconf
3037 -   echo "$as_me:$LINENO: result: found" >&5
3038 -echo "${ECHO_T}found" >&6
3039 -else
3040 -   AUTOCONF="$missing_dir/missing autoconf"
3041 -   echo "$as_me:$LINENO: result: missing" >&5
3042 -echo "${ECHO_T}missing" >&6
3043 -fi
3044 -
3045 -echo "$as_me:$LINENO: checking for working automake" >&5
3046 -echo $ECHO_N "checking for working automake... $ECHO_C" >&6
3047 -# Run test in a subshell; some versions of sh will print an error if
3048 -# an executable is not found, even if stderr is redirected.
3049 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3050 -if (automake --version) < /dev/null > /dev/null 2>&1; then
3051 -   AUTOMAKE=automake
3052 -   echo "$as_me:$LINENO: result: found" >&5
3053 -echo "${ECHO_T}found" >&6
3054 -else
3055 -   AUTOMAKE="$missing_dir/missing automake"
3056 -   echo "$as_me:$LINENO: result: missing" >&5
3057 -echo "${ECHO_T}missing" >&6
3058 -fi
3059 -
3060 -echo "$as_me:$LINENO: checking for working autoheader" >&5
3061 -echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6
3062 -# Run test in a subshell; some versions of sh will print an error if
3063 -# an executable is not found, even if stderr is redirected.
3064 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3065 -if (autoheader --version) < /dev/null > /dev/null 2>&1; then
3066 -   AUTOHEADER=autoheader
3067 -   echo "$as_me:$LINENO: result: found" >&5
3068 -echo "${ECHO_T}found" >&6
3069 -else
3070 -   AUTOHEADER="$missing_dir/missing autoheader"
3071 -   echo "$as_me:$LINENO: result: missing" >&5
3072 -echo "${ECHO_T}missing" >&6
3073 -fi
3074 -
3075 -echo "$as_me:$LINENO: checking for working makeinfo" >&5
3076 -echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6
3077 -# Run test in a subshell; some versions of sh will print an error if
3078 -# an executable is not found, even if stderr is redirected.
3079 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3080 -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
3081 -   MAKEINFO=makeinfo
3082 -   echo "$as_me:$LINENO: result: found" >&5
3083 -echo "${ECHO_T}found" >&6
3084 -else
3085 -   MAKEINFO="$missing_dir/missing makeinfo"
3086 -   echo "$as_me:$LINENO: result: missing" >&5
3087 -echo "${ECHO_T}missing" >&6
3088 -fi
3089 -
3090 -
3091 -
3092 -# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
3093 -# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
3094 -# are probably using a cross compiler, which will not be able to fully
3095 -# link an executable.  This should really be fixed in autoconf
3096 -# itself.
3097 -
3098 -
3099 -
3100 -
3101 -# Extract the first word of "gcc", so it can be a program name with args.
3102 -set dummy gcc; ac_word=$2
3103 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3104 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3105 -if test "${ac_cv_prog_CC+set}" = set; then
3106 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3107 -else
3108 -  if test -n "$CC"; then
3109 -  ac_cv_prog_CC="$CC" # Let the user override the test.
3110 -else
3111 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3112 -for as_dir in $PATH
3113 -do
3114 -  IFS=$as_save_IFS
3115 -  test -z "$as_dir" && as_dir=.
3116 -  for ac_exec_ext in '' $ac_executable_extensions; do
3117 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3118 -    ac_cv_prog_CC="gcc"
3119 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3120 -    break 2
3121 -  fi
3122 -done
3123 -done
3124 -
3125 -fi
3126 -fi
3127 -CC=$ac_cv_prog_CC
3128 -if test -n "$CC"; then
3129 -  echo "$as_me:$LINENO: result: $CC" >&5
3130 -echo "${ECHO_T}$CC" >&6
3131 -else
3132 -  echo "$as_me:$LINENO: result: no" >&5
3133 -echo "${ECHO_T}no" >&6
3134 -fi
3135 -
3136 -if test -z "$CC"; then
3137 -  # Extract the first word of "cc", so it can be a program name with args.
3138 -set dummy cc; ac_word=$2
3139 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3140 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3141 -if test "${ac_cv_prog_CC+set}" = set; then
3142 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3143 -else
3144 -  if test -n "$CC"; then
3145 -  ac_cv_prog_CC="$CC" # Let the user override the test.
3146 -else
3147 -  ac_prog_rejected=no
3148 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3149 -for as_dir in $PATH
3150 -do
3151 -  IFS=$as_save_IFS
3152 -  test -z "$as_dir" && as_dir=.
3153 -  for ac_exec_ext in '' $ac_executable_extensions; do
3154 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3155 -    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
3156 -       ac_prog_rejected=yes
3157 -       continue
3158 -     fi
3159 -    ac_cv_prog_CC="cc"
3160 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3161 -    break 2
3162 -  fi
3163 -done
3164 -done
3165 -
3166 -if test $ac_prog_rejected = yes; then
3167 -  # We found a bogon in the path, so make sure we never use it.
3168 -  set dummy $ac_cv_prog_CC
3169 -  shift
3170 -  if test $@%:@ != 0; then
3171 -    # We chose a different compiler from the bogus one.
3172 -    # However, it has the same basename, so the bogon will be chosen
3173 -    # first if we set CC to just the basename; use the full file name.
3174 -    shift
3175 -    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
3176 -  fi
3177 -fi
3178 -fi
3179 -fi
3180 -CC=$ac_cv_prog_CC
3181 -if test -n "$CC"; then
3182 -  echo "$as_me:$LINENO: result: $CC" >&5
3183 -echo "${ECHO_T}$CC" >&6
3184 -else
3185 -  echo "$as_me:$LINENO: result: no" >&5
3186 -echo "${ECHO_T}no" >&6
3187 -fi
3188 -
3189 -  test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
3190 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
3191 -   { (exit 1); exit 1; }; }
3192 -fi
3193 -
3194 -AC_PROG_CC_GNU
3195 -
3196 -if test $ac_cv_c_compiler_gnu = yes; then
3197 -  GCC=yes
3198 -  ac_test_CFLAGS="${CFLAGS+set}"
3199 -  ac_save_CFLAGS="$CFLAGS"
3200 -  CFLAGS=
3201 -  AC_PROG_CC_G
3202 -  if test "$ac_test_CFLAGS" = set; then
3203 -    CFLAGS="$ac_save_CFLAGS"
3204 -  elif test $ac_cv_prog_cc_g = yes; then
3205 -    CFLAGS="-g -O2"
3206 -  else
3207 -    CFLAGS="-O2"
3208 -  fi
3209 -else
3210 -  GCC=
3211 -  test "${CFLAGS+set}" = set || CFLAGS="-g"
3212 -fi
3213 -
3214 -
3215 -# Likewise for AC_PROG_CXX.
3216 -
3217 -
3218 -
3219 -for ac_prog in $CCC c++ g++ gcc CC cxx cc++
3220 -do
3221 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
3222 -set dummy $ac_prog; ac_word=$2
3223 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3224 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3225 -if test "${ac_cv_prog_CXX+set}" = set; then
3226 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3227 -else
3228 -  if test -n "$CXX"; then
3229 -  ac_cv_prog_CXX="$CXX" # Let the user override the test.
3230 -else
3231 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3232 -for as_dir in $PATH
3233 -do
3234 -  IFS=$as_save_IFS
3235 -  test -z "$as_dir" && as_dir=.
3236 -  for ac_exec_ext in '' $ac_executable_extensions; do
3237 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3238 -    ac_cv_prog_CXX="$ac_prog"
3239 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3240 -    break 2
3241 -  fi
3242 -done
3243 -done
3244 -
3245 -fi
3246 -fi
3247 -CXX=$ac_cv_prog_CXX
3248 -if test -n "$CXX"; then
3249 -  echo "$as_me:$LINENO: result: $CXX" >&5
3250 -echo "${ECHO_T}$CXX" >&6
3251 -else
3252 -  echo "$as_me:$LINENO: result: no" >&5
3253 -echo "${ECHO_T}no" >&6
3254 -fi
3255 -
3256 -  test -n "$CXX" && break
3257 -done
3258 -test -n "$CXX" || CXX="gcc"
3259 -
3260 -test -z "$CXX" && { { echo "$as_me:$LINENO: error: no acceptable c++ found in \$PATH" >&5
3261 -echo "$as_me: error: no acceptable c++ found in \$PATH" >&2;}
3262 -   { (exit 1); exit 1; }; }
3263 -
3264 -AC_PROG_CXX_GNU
3265 -
3266 -if test $ac_cv_cxx_compiler_gnu = yes; then
3267 -  GXX=yes
3268 -  ac_test_CXXFLAGS="${CXXFLAGS+set}"
3269 -  ac_save_CXXFLAGS="$CXXFLAGS"
3270 -  CXXFLAGS=
3271 -  AC_PROG_CXX_G
3272 -  if test "$ac_test_CXXFLAGS" = set; then
3273 -    CXXFLAGS="$ac_save_CXXFLAGS"
3274 -  elif test $ac_cv_prog_cxx_g = yes; then
3275 -    CXXFLAGS="-g -O2"
3276 -  else
3277 -    CXXFLAGS="-O2"
3278 -  fi
3279 -else
3280 -  GXX=
3281 -  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
3282 -fi
3283 -
3284 -
3285 -# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
3286 -# run it explicitly here, it will be run implicitly before
3287 -# NEWLIB_CONFIGURE, which doesn't work because that means that it will
3288 -# be run before AC_CANONICAL_HOST.
3289 -
3290 -
3291 -if test -n "$ac_tool_prefix"; then
3292 -  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
3293 -set dummy ${ac_tool_prefix}as; ac_word=$2
3294 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3295 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3296 -if test "${ac_cv_prog_AS+set}" = set; then
3297 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3298 -else
3299 -  if test -n "$AS"; then
3300 -  ac_cv_prog_AS="$AS" # Let the user override the test.
3301 -else
3302 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3303 -for as_dir in $PATH
3304 -do
3305 -  IFS=$as_save_IFS
3306 -  test -z "$as_dir" && as_dir=.
3307 -  for ac_exec_ext in '' $ac_executable_extensions; do
3308 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3309 -    ac_cv_prog_AS="${ac_tool_prefix}as"
3310 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3311 -    break 2
3312 -  fi
3313 -done
3314 -done
3315 -
3316 -fi
3317 -fi
3318 -AS=$ac_cv_prog_AS
3319 -if test -n "$AS"; then
3320 -  echo "$as_me:$LINENO: result: $AS" >&5
3321 -echo "${ECHO_T}$AS" >&6
3322 -else
3323 -  echo "$as_me:$LINENO: result: no" >&5
3324 -echo "${ECHO_T}no" >&6
3325 -fi
3326 -
3327 -fi
3328 -if test -z "$ac_cv_prog_AS"; then
3329 -  ac_ct_AS=$AS
3330 -  # Extract the first word of "as", so it can be a program name with args.
3331 -set dummy as; ac_word=$2
3332 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3333 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3334 -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
3335 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3336 -else
3337 -  if test -n "$ac_ct_AS"; then
3338 -  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
3339 -else
3340 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3341 -for as_dir in $PATH
3342 -do
3343 -  IFS=$as_save_IFS
3344 -  test -z "$as_dir" && as_dir=.
3345 -  for ac_exec_ext in '' $ac_executable_extensions; do
3346 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3347 -    ac_cv_prog_ac_ct_AS="as"
3348 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3349 -    break 2
3350 -  fi
3351 -done
3352 -done
3353 -
3354 -fi
3355 -fi
3356 -ac_ct_AS=$ac_cv_prog_ac_ct_AS
3357 -if test -n "$ac_ct_AS"; then
3358 -  echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
3359 -echo "${ECHO_T}$ac_ct_AS" >&6
3360 -else
3361 -  echo "$as_me:$LINENO: result: no" >&5
3362 -echo "${ECHO_T}no" >&6
3363 -fi
3364 -
3365 -  AS=$ac_ct_AS
3366 -else
3367 -  AS="$ac_cv_prog_AS"
3368 -fi
3369 -
3370 -if test -n "$ac_tool_prefix"; then
3371 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
3372 -set dummy ${ac_tool_prefix}ar; ac_word=$2
3373 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3374 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3375 -if test "${ac_cv_prog_AR+set}" = set; then
3376 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3377 -else
3378 -  if test -n "$AR"; then
3379 -  ac_cv_prog_AR="$AR" # Let the user override the test.
3380 -else
3381 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3382 -for as_dir in $PATH
3383 -do
3384 -  IFS=$as_save_IFS
3385 -  test -z "$as_dir" && as_dir=.
3386 -  for ac_exec_ext in '' $ac_executable_extensions; do
3387 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3388 -    ac_cv_prog_AR="${ac_tool_prefix}ar"
3389 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3390 -    break 2
3391 -  fi
3392 -done
3393 -done
3394 -
3395 -fi
3396 -fi
3397 -AR=$ac_cv_prog_AR
3398 -if test -n "$AR"; then
3399 -  echo "$as_me:$LINENO: result: $AR" >&5
3400 -echo "${ECHO_T}$AR" >&6
3401 -else
3402 -  echo "$as_me:$LINENO: result: no" >&5
3403 -echo "${ECHO_T}no" >&6
3404 -fi
3405 -
3406 -fi
3407 -if test -z "$ac_cv_prog_AR"; then
3408 -  ac_ct_AR=$AR
3409 -  # Extract the first word of "ar", so it can be a program name with args.
3410 -set dummy ar; ac_word=$2
3411 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3412 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3413 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
3414 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3415 -else
3416 -  if test -n "$ac_ct_AR"; then
3417 -  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
3418 -else
3419 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3420 -for as_dir in $PATH
3421 -do
3422 -  IFS=$as_save_IFS
3423 -  test -z "$as_dir" && as_dir=.
3424 -  for ac_exec_ext in '' $ac_executable_extensions; do
3425 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3426 -    ac_cv_prog_ac_ct_AR="ar"
3427 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3428 -    break 2
3429 -  fi
3430 -done
3431 -done
3432 -
3433 -fi
3434 -fi
3435 -ac_ct_AR=$ac_cv_prog_ac_ct_AR
3436 -if test -n "$ac_ct_AR"; then
3437 -  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
3438 -echo "${ECHO_T}$ac_ct_AR" >&6
3439 -else
3440 -  echo "$as_me:$LINENO: result: no" >&5
3441 -echo "${ECHO_T}no" >&6
3442 -fi
3443 -
3444 -  AR=$ac_ct_AR
3445 -else
3446 -  AR="$ac_cv_prog_AR"
3447 -fi
3448 -
3449 -if test -n "$ac_tool_prefix"; then
3450 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
3451 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
3452 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3453 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3454 -if test "${ac_cv_prog_RANLIB+set}" = set; then
3455 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3456 -else
3457 -  if test -n "$RANLIB"; then
3458 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
3459 -else
3460 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3461 -for as_dir in $PATH
3462 -do
3463 -  IFS=$as_save_IFS
3464 -  test -z "$as_dir" && as_dir=.
3465 -  for ac_exec_ext in '' $ac_executable_extensions; do
3466 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3467 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
3468 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3469 -    break 2
3470 -  fi
3471 -done
3472 -done
3473 -
3474 -fi
3475 -fi
3476 -RANLIB=$ac_cv_prog_RANLIB
3477 -if test -n "$RANLIB"; then
3478 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
3479 -echo "${ECHO_T}$RANLIB" >&6
3480 -else
3481 -  echo "$as_me:$LINENO: result: no" >&5
3482 -echo "${ECHO_T}no" >&6
3483 -fi
3484 -
3485 -fi
3486 -if test -z "$ac_cv_prog_RANLIB"; then
3487 -  ac_ct_RANLIB=$RANLIB
3488 -  # Extract the first word of "ranlib", so it can be a program name with args.
3489 -set dummy ranlib; ac_word=$2
3490 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3491 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3492 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
3493 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3494 -else
3495 -  if test -n "$ac_ct_RANLIB"; then
3496 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
3497 -else
3498 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3499 -for as_dir in $PATH
3500 -do
3501 -  IFS=$as_save_IFS
3502 -  test -z "$as_dir" && as_dir=.
3503 -  for ac_exec_ext in '' $ac_executable_extensions; do
3504 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3505 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
3506 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3507 -    break 2
3508 -  fi
3509 -done
3510 -done
3511 -
3512 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
3513 -fi
3514 -fi
3515 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
3516 -if test -n "$ac_ct_RANLIB"; then
3517 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
3518 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
3519 -else
3520 -  echo "$as_me:$LINENO: result: no" >&5
3521 -echo "${ECHO_T}no" >&6
3522 -fi
3523 -
3524 -  RANLIB=$ac_ct_RANLIB
3525 -else
3526 -  RANLIB="$ac_cv_prog_RANLIB"
3527 -fi
3528 -
3529 -
3530 -# Find a good install program.  We prefer a C program (faster),
3531 -# so one script is as good as another.  But avoid the broken or
3532 -# incompatible versions:
3533 -# SysV /etc/install, /usr/sbin/install
3534 -# SunOS /usr/etc/install
3535 -# IRIX /sbin/install
3536 -# AIX /bin/install
3537 -# AmigaOS /C/install, which installs bootblocks on floppy discs
3538 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
3539 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
3540 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
3541 -# ./install, which can be erroneously created by make from ./install.sh.
3542 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
3543 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
3544 -if test -z "$INSTALL"; then
3545 -if test "${ac_cv_path_install+set}" = set; then
3546 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3547 -else
3548 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3549 -for as_dir in $PATH
3550 -do
3551 -  IFS=$as_save_IFS
3552 -  test -z "$as_dir" && as_dir=.
3553 -  # Account for people who put trailing slashes in PATH elements.
3554 -case $as_dir/ in
3555 -  ./ | .// | /cC/* | \
3556 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
3557 -  /usr/ucb/* ) ;;
3558 -  *)
3559 -    # OSF1 and SCO ODT 3.0 have their own names for install.
3560 -    # Don't use installbsd from OSF since it installs stuff as root
3561 -    # by default.
3562 -    for ac_prog in ginstall scoinst install; do
3563 -      for ac_exec_ext in '' $ac_executable_extensions; do
3564 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
3565 -          if test $ac_prog = install &&
3566 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3567 -            # AIX install.  It has an incompatible calling convention.
3568 -            :
3569 -          elif test $ac_prog = install &&
3570 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3571 -            # program-specific install script used by HP pwplus--don't use.
3572 -            :
3573 -          else
3574 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
3575 -            break 3
3576 -          fi
3577 -        fi
3578 -      done
3579 -    done
3580 -    ;;
3581 -esac
3582 -done
3583 -
3584 -
3585 -fi
3586 -  if test "${ac_cv_path_install+set}" = set; then
3587 -    INSTALL=$ac_cv_path_install
3588 -  else
3589 -    # As a last resort, use the slow shell script.  We don't cache a
3590 -    # path for INSTALL within a source directory, because that will
3591 -    # break other packages using the cache if that directory is
3592 -    # removed, or if the path is relative.
3593 -    INSTALL=$ac_install_sh
3594 -  fi
3595 -fi
3596 -echo "$as_me:$LINENO: result: $INSTALL" >&5
3597 -echo "${ECHO_T}$INSTALL" >&6
3598 -
3599 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
3600 -# It thinks the first close brace ends the variable substitution.
3601 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
3602 -
3603 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
3604 -
3605 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
3606 -
3607 -
3608 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
3609 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
3610 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
3611 -if test "${enable_maintainer_mode+set}" = set; then
3612 -  enableval="$enable_maintainer_mode"
3613 -  USE_MAINTAINER_MODE=$enableval
3614 -else
3615 -  USE_MAINTAINER_MODE=no
3616 -fi; 
3617 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
3618 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
3619 -  
3620 -
3621 -if test $USE_MAINTAINER_MODE = yes; then
3622 -  MAINTAINER_MODE_TRUE=
3623 -  MAINTAINER_MODE_FALSE='#'
3624 -else
3625 -  MAINTAINER_MODE_TRUE='#'
3626 -  MAINTAINER_MODE_FALSE=
3627 -fi
3628 -  MAINT=$MAINTAINER_MODE_TRUE
3629 -  
3630 -
3631 -
3632 -# We need AC_EXEEXT to keep automake happy in cygnus mode.  However,
3633 -# at least currently, we never actually build a program, so we never
3634 -# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
3635 -# fails, because we are probably configuring with a cross compiler
3636 -# which can't create executables.  So we include AC_EXEEXT to keep
3637 -# automake happy, but we don't execute it, since we don't care about
3638 -# the result.
3639 -if false; then
3640 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
3641 -  # to nothing, so nothing would remain between `then' and `fi' if it
3642 -  # were not for the `:' below.
3643 -  :
3644 -  
3645 -fi
3646 -
3647 -. ${srcdir}/configure.host
3648 -
3649 -case ${gc_basedir} in
3650 -/* | A-Za-z:/\\*) gc_flagbasedir=${gc_basedir} ;;
3651 -*) gc_flagbasedir='$(top_builddir)/'${gc_basedir} ;;
3652 -esac
3653 -
3654 -gc_cflags="${gc_cflags} -I"'$(top_builddir)'"/./targ-include -I${gc_flagbasedir}/libc/include"
3655 -case "${host}" in
3656 -  *-*-cygwin32*)
3657 -    gc_cflags="${gc_cflags} -I${gc_flagbasedir}/../winsup/include"
3658 -    ;;
3659 -esac
3660 -
3661 -
3662 -GC_CFLAGS=${gc_cflags}
3663 -
3664 -
3665 -
3666 -# Check whether --enable-shared or --disable-shared was given.
3667 -if test "${enable_shared+set}" = set; then
3668 -  enableval="$enable_shared"
3669 -  p=${PACKAGE-default}
3670 -case $enableval in
3671 -yes) enable_shared=yes ;;
3672 -no) enable_shared=no ;;
3673 -*)
3674 -  enable_shared=no
3675 -  # Look at the argument we got.  We use all the common list separators.
3676 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3677 -  for pkg in $enableval; do
3678 -    if test "X$pkg" = "X$p"; then
3679 -      enable_shared=yes
3680 -    fi
3681 -  done
3682 -  IFS="$ac_save_ifs"
3683 -  ;;
3684 -esac
3685 -else
3686 -  enable_shared=yes
3687 -fi; 
3688 -# Check whether --enable-static or --disable-static was given.
3689 -if test "${enable_static+set}" = set; then
3690 -  enableval="$enable_static"
3691 -  p=${PACKAGE-default}
3692 -case $enableval in
3693 -yes) enable_static=yes ;;
3694 -no) enable_static=no ;;
3695 -*)
3696 -  enable_static=no
3697 -  # Look at the argument we got.  We use all the common list separators.
3698 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3699 -  for pkg in $enableval; do
3700 -    if test "X$pkg" = "X$p"; then
3701 -      enable_static=yes
3702 -    fi
3703 -  done
3704 -  IFS="$ac_save_ifs"
3705 -  ;;
3706 -esac
3707 -else
3708 -  enable_static=yes
3709 -fi; 
3710 -# Check whether --enable-fast-install or --disable-fast-install was given.
3711 -if test "${enable_fast_install+set}" = set; then
3712 -  enableval="$enable_fast_install"
3713 -  p=${PACKAGE-default}
3714 -case $enableval in
3715 -yes) enable_fast_install=yes ;;
3716 -no) enable_fast_install=no ;;
3717 -*)
3718 -  enable_fast_install=no
3719 -  # Look at the argument we got.  We use all the common list separators.
3720 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3721 -  for pkg in $enableval; do
3722 -    if test "X$pkg" = "X$p"; then
3723 -      enable_fast_install=yes
3724 -    fi
3725 -  done
3726 -  IFS="$ac_save_ifs"
3727 -  ;;
3728 -esac
3729 -else
3730 -  enable_fast_install=yes
3731 -fi; 
3732 -
3733 -# Check whether --with-gnu-ld or --without-gnu-ld was given.
3734 -if test "${with_gnu_ld+set}" = set; then
3735 -  withval="$with_gnu_ld"
3736 -  test "$withval" = no || with_gnu_ld=yes
3737 -else
3738 -  with_gnu_ld=no
3739 -fi; 
3740 -ac_prog=ld
3741 -if test "$GCC" = yes; then
3742 -  # Check if gcc -print-prog-name=ld gives a path.
3743 -  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
3744 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
3745 -  case $host in
3746 -  *-*-mingw*)
3747 -    # gcc leaves a trailing carriage return which upsets mingw
3748 -    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3749 -  *)
3750 -    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3751 -  esac
3752 -  case $ac_prog in
3753 -    # Accept absolute paths.
3754 -    [\\/]* | [A-Za-z]:[\\/]*)
3755 -      re_direlt='/[^/][^/]*/\.\./'
3756 -      # Canonicalize the path of ld
3757 -      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
3758 -      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3759 -       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
3760 -      done
3761 -      test -z "$LD" && LD="$ac_prog"
3762 -      ;;
3763 -  "")
3764 -    # If it fails, then pretend we aren't using GCC.
3765 -    ac_prog=ld
3766 -    ;;
3767 -  *)
3768 -    # If it is relative, then search for the first ld in PATH.
3769 -    with_gnu_ld=unknown
3770 -    ;;
3771 -  esac
3772 -elif test "$with_gnu_ld" = yes; then
3773 -  echo "$as_me:$LINENO: checking for GNU ld" >&5
3774 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
3775 -else
3776 -  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
3777 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
3778 -fi
3779 -if test "${lt_cv_path_LD+set}" = set; then
3780 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3781 -else
3782 -  if test -z "$LD"; then
3783 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
3784 -  for ac_dir in $PATH; do
3785 -    test -z "$ac_dir" && ac_dir=.
3786 -    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3787 -      lt_cv_path_LD="$ac_dir/$ac_prog"
3788 -      # Check to see if the program is GNU ld.  I'd rather use --version,
3789 -      # but apparently some GNU ld's only accept -v.
3790 -      # Break only if it was the GNU/non-GNU ld that we prefer.
3791 -      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
3792 -       test "$with_gnu_ld" != no && break
3793 -      else
3794 -       test "$with_gnu_ld" != yes && break
3795 -      fi
3796 -    fi
3797 -  done
3798 -  IFS="$ac_save_ifs"
3799 -else
3800 -  lt_cv_path_LD="$LD" # Let the user override the test with a path.
3801 -fi
3802 -fi
3803 -
3804 -LD="$lt_cv_path_LD"
3805 -if test -n "$LD"; then
3806 -  echo "$as_me:$LINENO: result: $LD" >&5
3807 -echo "${ECHO_T}$LD" >&6
3808 -else
3809 -  echo "$as_me:$LINENO: result: no" >&5
3810 -echo "${ECHO_T}no" >&6
3811 -fi
3812 -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
3813 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
3814 -   { (exit 1); exit 1; }; }
3815 -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
3816 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
3817 -if test "${lt_cv_prog_gnu_ld+set}" = set; then
3818 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3819 -else
3820 -  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
3821 -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
3822 -  lt_cv_prog_gnu_ld=yes
3823 -else
3824 -  lt_cv_prog_gnu_ld=no
3825 -fi
3826 -fi
3827 -echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
3828 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
3829 -with_gnu_ld=$lt_cv_prog_gnu_ld
3830 -
3831 -
3832 -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
3833 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
3834 -if test "${lt_cv_ld_reload_flag+set}" = set; then
3835 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3836 -else
3837 -  lt_cv_ld_reload_flag='-r'
3838 -fi
3839 -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
3840 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
3841 -reload_flag=$lt_cv_ld_reload_flag
3842 -test -n "$reload_flag" && reload_flag=" $reload_flag"
3843 -
3844 -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
3845 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
3846 -if test "${lt_cv_path_NM+set}" = set; then
3847 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3848 -else
3849 -  if test -n "$NM"; then
3850 -  # Let the user override the test.
3851 -  lt_cv_path_NM="$NM"
3852 -else
3853 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
3854 -  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
3855 -    test -z "$ac_dir" && ac_dir=.
3856 -    tmp_nm=$ac_dir/${ac_tool_prefix}nm
3857 -    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
3858 -      # Check to see if the nm accepts a BSD-compat flag.
3859 -      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3860 -      #   nm: unknown option "B" ignored
3861 -      # Tru64's nm complains that /dev/null is an invalid object file
3862 -      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
3863 -       lt_cv_path_NM="$tmp_nm -B"
3864 -       break
3865 -      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
3866 -       lt_cv_path_NM="$tmp_nm -p"
3867 -       break
3868 -      else
3869 -       lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3870 -       continue # so that we can try to find one that supports BSD flags
3871 -      fi
3872 -    fi
3873 -  done
3874 -  IFS="$ac_save_ifs"
3875 -  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3876 -fi
3877 -fi
3878 -
3879 -NM="$lt_cv_path_NM"
3880 -echo "$as_me:$LINENO: result: $NM" >&5
3881 -echo "${ECHO_T}$NM" >&6
3882 -
3883 -echo "$as_me:$LINENO: checking whether ln -s works" >&5
3884 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
3885 -LN_S=$as_ln_s
3886 -if test "$LN_S" = "ln -s"; then
3887 -  echo "$as_me:$LINENO: result: yes" >&5
3888 -echo "${ECHO_T}yes" >&6
3889 -else
3890 -  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
3891 -echo "${ECHO_T}no, using $LN_S" >&6
3892 -fi
3893 -
3894 -echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
3895 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
3896 -if test "${lt_cv_deplibs_check_method+set}" = set; then
3897 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3898 -else
3899 -  lt_cv_file_magic_cmd='$MAGIC_CMD'
3900 -lt_cv_file_magic_test_file=
3901 -lt_cv_deplibs_check_method='unknown'
3902 -# Need to set the preceding variable on all platforms that support
3903 -# interlibrary dependencies.
3904 -# 'none' -- dependencies not supported.
3905 -# `unknown' -- same as none, but documents that we really don't know.
3906 -# 'pass_all' -- all dependencies passed with no checks.
3907 -# 'test_compile' -- check by making test program.
3908 -# 'file_magic [regex]' -- check by looking for files in library path
3909 -# which responds to the $file_magic_cmd with a given egrep regex.
3910 -# If you have `file' or equivalent on your system and you're not sure
3911 -# whether `pass_all' will *always* work, you probably want this one.
3912 -
3913 -case $host_os in
3914 -aix*)
3915 -  lt_cv_deplibs_check_method=pass_all
3916 -  ;;
3917 -
3918 -beos*)
3919 -  lt_cv_deplibs_check_method=pass_all
3920 -  ;;
3921 -
3922 -bsdi4*)
3923 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
3924 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
3925 -  lt_cv_file_magic_test_file=/shlib/libc.so
3926 -  ;;
3927 -
3928 -cygwin* | mingw* |pw32*)
3929 -  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3930 -  lt_cv_file_magic_cmd='$OBJDUMP -f'
3931 -  ;;
3932 -
3933 -darwin* | rhapsody*)
3934 -  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
3935 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
3936 -  case "$host_os" in
3937 -  rhapsody* | darwin1.012)
3938 -    lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
3939 -    ;;
3940 -  *) # Darwin 1.3 on
3941 -    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
3942 -    ;;
3943 -  esac
3944 -  ;;
3945 -
3946 -freebsd* )
3947 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3948 -    case $host_cpu in
3949 -    i*86 )
3950 -      # Not sure whether the presence of OpenBSD here was a mistake.
3951 -      # Let's accept both of them until this is cleared up.
3952 -      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
3953 -      lt_cv_file_magic_cmd=/usr/bin/file
3954 -      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3955 -      ;;
3956 -    esac
3957 -  else
3958 -    lt_cv_deplibs_check_method=pass_all
3959 -  fi
3960 -  ;;
3961 -
3962 -gnu*)
3963 -  lt_cv_deplibs_check_method=pass_all
3964 -  ;;
3965 -
3966 -hpux10.20*|hpux11*)
3967 -  case $host_cpu in
3968 -  hppa*)
3969 -    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
3970 -    lt_cv_file_magic_cmd=/usr/bin/file
3971 -    lt_cv_file_magic_test_file=/usr/lib/libc.sl
3972 -    ;;
3973 -  ia64*)
3974 -    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
3975 -    lt_cv_file_magic_cmd=/usr/bin/file
3976 -    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3977 -    ;;
3978 -  esac
3979 -  ;;
3980 -
3981 -irix5* | irix6*)
3982 -  case $host_os in
3983 -  irix5*)
3984 -    # this will be overridden with pass_all, but let us keep it just in case
3985 -    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
3986 -    ;;
3987 -  *)
3988 -    case $LD in
3989 -    *-32|*"-32 ") libmagic=32-bit;;
3990 -    *-n32|*"-n32 ") libmagic=N32;;
3991 -    *-64|*"-64 ") libmagic=64-bit;;
3992 -    *) libmagic=never-match;;
3993 -    esac
3994 -    # this will be overridden with pass_all, but let us keep it just in case
3995 -    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
3996 -    ;;
3997 -  esac
3998 -  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
3999 -  lt_cv_deplibs_check_method=pass_all
4000 -  ;;
4001 -
4002 -# This must be Linux ELF.
4003 -linux-gnu*)
4004 -  case $host_cpu in
4005 -  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
4006 -    lt_cv_deplibs_check_method=pass_all ;;
4007 -  *)
4008 -    # glibc up to 2.1.1 does not perform some relocations on ARM
4009 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
4010 -  esac
4011 -  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
4012 -  ;;
4013 -
4014 -netbsd*)
4015 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
4016 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
4017 -  else
4018 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
4019 -  fi
4020 -  ;;
4021 -
4022 -newsos6)
4023 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
4024 -  lt_cv_file_magic_cmd=/usr/bin/file
4025 -  lt_cv_file_magic_test_file=/usr/lib/libnls.so
4026 -  ;;
4027 -
4028 -osf3* | osf4* | osf5*)
4029 -  # this will be overridden with pass_all, but let us keep it just in case
4030 -  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
4031 -  lt_cv_file_magic_test_file=/shlib/libc.so
4032 -  lt_cv_deplibs_check_method=pass_all
4033 -  ;;
4034 -
4035 -sco3.2v5*)
4036 -  lt_cv_deplibs_check_method=pass_all
4037 -  ;;
4038 -
4039 -solaris*)
4040 -  lt_cv_deplibs_check_method=pass_all
4041 -  lt_cv_file_magic_test_file=/lib/libc.so
4042 -  ;;
4043 -
4044 -sysv5uw[78]* | sysv4*uw2*)
4045 -  lt_cv_deplibs_check_method=pass_all
4046 -  ;;
4047 -
4048 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
4049 -  case $host_vendor in
4050 -  ncr)
4051 -    lt_cv_deplibs_check_method=pass_all
4052 -    ;;
4053 -  motorola)
4054 -    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]'
4055 -    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
4056 -    ;;
4057 -  esac
4058 -  ;;
4059 -esac
4060 -
4061 -fi
4062 -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
4063 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
4064 -file_magic_cmd=$lt_cv_file_magic_cmd
4065 -deplibs_check_method=$lt_cv_deplibs_check_method
4066 -
4067 -
4068 -
4069 -
4070 -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
4071 -
4072 -# Only perform the check for file, if the check method requires it
4073 -case $deplibs_check_method in
4074 -file_magic*)
4075 -  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
4076 -    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
4077 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
4078 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
4079 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4080 -else
4081 -  case $MAGIC_CMD in
4082 -  /*)
4083 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
4084 -  ;;
4085 -  ?:/*)
4086 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
4087 -  ;;
4088 -  *)
4089 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
4090 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
4091 -  ac_dummy="/usr/bin:$PATH"
4092 -  for ac_dir in $ac_dummy; do
4093 -    test -z "$ac_dir" && ac_dir=.
4094 -    if test -f $ac_dir/${ac_tool_prefix}file; then
4095 -      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
4096 -      if test -n "$file_magic_test_file"; then
4097 -       case $deplibs_check_method in
4098 -       "file_magic "*)
4099 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
4100 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4101 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
4102 -           egrep "$file_magic_regex" > /dev/null; then
4103 -           :
4104 -         else
4105 -           cat <<EOF 1>&2
4106 -
4107 -*** Warning: the command libtool uses to detect shared libraries,
4108 -*** $file_magic_cmd, produces output that libtool cannot recognize.
4109 -*** The result is that libtool may fail to recognize shared libraries
4110 -*** as such.  This will affect the creation of libtool libraries that
4111 -*** depend on shared libraries, but programs linked with such libtool
4112 -*** libraries will work regardless of this problem.  Nevertheless, you
4113 -*** may want to report the problem to your system manager and/or to
4114 -*** bug-libtool@gnu.org
4115 -
4116 -EOF
4117 -         fi ;;
4118 -       esac
4119 -      fi
4120 -      break
4121 -    fi
4122 -  done
4123 -  IFS="$ac_save_ifs"
4124 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
4125 -  ;;
4126 -esac
4127 -fi
4128 -
4129 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4130 -if test -n "$MAGIC_CMD"; then
4131 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
4132 -echo "${ECHO_T}$MAGIC_CMD" >&6
4133 -else
4134 -  echo "$as_me:$LINENO: result: no" >&5
4135 -echo "${ECHO_T}no" >&6
4136 -fi
4137 -
4138 -if test -z "$lt_cv_path_MAGIC_CMD"; then
4139 -  if test -n "$ac_tool_prefix"; then
4140 -    echo "$as_me:$LINENO: checking for file" >&5
4141 -echo $ECHO_N "checking for file... $ECHO_C" >&6
4142 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
4143 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4144 -else
4145 -  case $MAGIC_CMD in
4146 -  /*)
4147 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
4148 -  ;;
4149 -  ?:/*)
4150 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
4151 -  ;;
4152 -  *)
4153 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
4154 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
4155 -  ac_dummy="/usr/bin:$PATH"
4156 -  for ac_dir in $ac_dummy; do
4157 -    test -z "$ac_dir" && ac_dir=.
4158 -    if test -f $ac_dir/file; then
4159 -      lt_cv_path_MAGIC_CMD="$ac_dir/file"
4160 -      if test -n "$file_magic_test_file"; then
4161 -       case $deplibs_check_method in
4162 -       "file_magic "*)
4163 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
4164 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4165 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
4166 -           egrep "$file_magic_regex" > /dev/null; then
4167 -           :
4168 -         else
4169 -           cat <<EOF 1>&2
4170 -
4171 -*** Warning: the command libtool uses to detect shared libraries,
4172 -*** $file_magic_cmd, produces output that libtool cannot recognize.
4173 -*** The result is that libtool may fail to recognize shared libraries
4174 -*** as such.  This will affect the creation of libtool libraries that
4175 -*** depend on shared libraries, but programs linked with such libtool
4176 -*** libraries will work regardless of this problem.  Nevertheless, you
4177 -*** may want to report the problem to your system manager and/or to
4178 -*** bug-libtool@gnu.org
4179 -
4180 -EOF
4181 -         fi ;;
4182 -       esac
4183 -      fi
4184 -      break
4185 -    fi
4186 -  done
4187 -  IFS="$ac_save_ifs"
4188 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
4189 -  ;;
4190 -esac
4191 -fi
4192 -
4193 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4194 -if test -n "$MAGIC_CMD"; then
4195 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
4196 -echo "${ECHO_T}$MAGIC_CMD" >&6
4197 -else
4198 -  echo "$as_me:$LINENO: result: no" >&5
4199 -echo "${ECHO_T}no" >&6
4200 -fi
4201 -
4202 -  else
4203 -    MAGIC_CMD=:
4204 -  fi
4205 -fi
4206 -
4207 -  fi
4208 -  ;;
4209 -esac
4210 -
4211 -if test -n "$ac_tool_prefix"; then
4212 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
4213 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
4214 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4215 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4216 -if test "${ac_cv_prog_RANLIB+set}" = set; then
4217 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4218 -else
4219 -  if test -n "$RANLIB"; then
4220 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
4221 -else
4222 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4223 -for as_dir in $PATH
4224 -do
4225 -  IFS=$as_save_IFS
4226 -  test -z "$as_dir" && as_dir=.
4227 -  for ac_exec_ext in '' $ac_executable_extensions; do
4228 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4229 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
4230 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4231 -    break 2
4232 -  fi
4233 -done
4234 -done
4235 -
4236 -fi
4237 -fi
4238 -RANLIB=$ac_cv_prog_RANLIB
4239 -if test -n "$RANLIB"; then
4240 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
4241 -echo "${ECHO_T}$RANLIB" >&6
4242 -else
4243 -  echo "$as_me:$LINENO: result: no" >&5
4244 -echo "${ECHO_T}no" >&6
4245 -fi
4246 -
4247 -fi
4248 -if test -z "$ac_cv_prog_RANLIB"; then
4249 -  ac_ct_RANLIB=$RANLIB
4250 -  # Extract the first word of "ranlib", so it can be a program name with args.
4251 -set dummy ranlib; ac_word=$2
4252 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4253 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4254 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
4255 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4256 -else
4257 -  if test -n "$ac_ct_RANLIB"; then
4258 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
4259 -else
4260 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4261 -for as_dir in $PATH
4262 -do
4263 -  IFS=$as_save_IFS
4264 -  test -z "$as_dir" && as_dir=.
4265 -  for ac_exec_ext in '' $ac_executable_extensions; do
4266 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4267 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
4268 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4269 -    break 2
4270 -  fi
4271 -done
4272 -done
4273 -
4274 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
4275 -fi
4276 -fi
4277 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
4278 -if test -n "$ac_ct_RANLIB"; then
4279 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
4280 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
4281 -else
4282 -  echo "$as_me:$LINENO: result: no" >&5
4283 -echo "${ECHO_T}no" >&6
4284 -fi
4285 -
4286 -  RANLIB=$ac_ct_RANLIB
4287 -else
4288 -  RANLIB="$ac_cv_prog_RANLIB"
4289 -fi
4290 -
4291 -if test -n "$ac_tool_prefix"; then
4292 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
4293 -set dummy ${ac_tool_prefix}strip; ac_word=$2
4294 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4295 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4296 -if test "${ac_cv_prog_STRIP+set}" = set; then
4297 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4298 -else
4299 -  if test -n "$STRIP"; then
4300 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
4301 -else
4302 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4303 -for as_dir in $PATH
4304 -do
4305 -  IFS=$as_save_IFS
4306 -  test -z "$as_dir" && as_dir=.
4307 -  for ac_exec_ext in '' $ac_executable_extensions; do
4308 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4309 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
4310 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4311 -    break 2
4312 -  fi
4313 -done
4314 -done
4315 -
4316 -fi
4317 -fi
4318 -STRIP=$ac_cv_prog_STRIP
4319 -if test -n "$STRIP"; then
4320 -  echo "$as_me:$LINENO: result: $STRIP" >&5
4321 -echo "${ECHO_T}$STRIP" >&6
4322 -else
4323 -  echo "$as_me:$LINENO: result: no" >&5
4324 -echo "${ECHO_T}no" >&6
4325 -fi
4326 -
4327 -fi
4328 -if test -z "$ac_cv_prog_STRIP"; then
4329 -  ac_ct_STRIP=$STRIP
4330 -  # Extract the first word of "strip", so it can be a program name with args.
4331 -set dummy strip; ac_word=$2
4332 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4333 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4334 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
4335 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4336 -else
4337 -  if test -n "$ac_ct_STRIP"; then
4338 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
4339 -else
4340 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4341 -for as_dir in $PATH
4342 -do
4343 -  IFS=$as_save_IFS
4344 -  test -z "$as_dir" && as_dir=.
4345 -  for ac_exec_ext in '' $ac_executable_extensions; do
4346 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4347 -    ac_cv_prog_ac_ct_STRIP="strip"
4348 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4349 -    break 2
4350 -  fi
4351 -done
4352 -done
4353 -
4354 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
4355 -fi
4356 -fi
4357 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
4358 -if test -n "$ac_ct_STRIP"; then
4359 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
4360 -echo "${ECHO_T}$ac_ct_STRIP" >&6
4361 -else
4362 -  echo "$as_me:$LINENO: result: no" >&5
4363 -echo "${ECHO_T}no" >&6
4364 -fi
4365 -
4366 -  STRIP=$ac_ct_STRIP
4367 -else
4368 -  STRIP="$ac_cv_prog_STRIP"
4369 -fi
4370 -
4371 -
4372 -# Check for any special flags to pass to ltconfig.
4373 -libtool_flags="--cache-file=$cache_file"
4374 -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
4375 -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
4376 -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
4377 -test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
4378 -test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
4379 -
4380 -
4381 -# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
4382 -if test "${enable_libtool_lock+set}" = set; then
4383 -  enableval="$enable_libtool_lock"
4384 -  
4385 -fi; 
4386 -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
4387 -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
4388 -
4389 -
4390 -# Check whether --with-pic or --without-pic was given.
4391 -if test "${with_pic+set}" = set; then
4392 -  withval="$with_pic"
4393 -  pic_mode="$withval"
4394 -else
4395 -  pic_mode=default
4396 -fi; 
4397 -test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
4398 -test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
4399 -
4400 -# Some flags need to be propagated to the compiler or linker for good
4401 -# libtool support.
4402 -case $host in
4403 -*-*-irix6*)
4404 -  # Find out which ABI we are using.
4405 -  echo '#line __oline__ "configure"' > conftest.$ac_ext
4406 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4407 -  (eval $ac_compile) 2>&5
4408 -  ac_status=$?
4409 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4410 -  (exit $ac_status); }; then
4411 -    case `/usr/bin/file conftest.$ac_objext` in
4412 -    *32-bit*)
4413 -      LD="${LD-ld} -32"
4414 -      ;;
4415 -    *N32*)
4416 -      LD="${LD-ld} -n32"
4417 -      ;;
4418 -    *64-bit*)
4419 -      LD="${LD-ld} -64"
4420 -      ;;
4421 -    esac
4422 -  fi
4423 -  rm -rf conftest*
4424 -  ;;
4425 -
4426 -ia64-*-hpux*)
4427 -  # Find out which ABI we are using.
4428 -  echo 'int i;' > conftest.$ac_ext
4429 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4430 -  (eval $ac_compile) 2>&5
4431 -  ac_status=$?
4432 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4433 -  (exit $ac_status); }; then
4434 -    case "`/usr/bin/file conftest.o`" in
4435 -    *ELF-32*)
4436 -      HPUX_IA64_MODE="32"
4437 -      ;;
4438 -    *ELF-64*)
4439 -      HPUX_IA64_MODE="64"
4440 -      ;;
4441 -    esac
4442 -  fi
4443 -  rm -rf conftest*
4444 -  ;;
4445 -
4446 -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
4447 -  # Find out which ABI we are using.
4448 -  echo 'int i;' > conftest.$ac_ext
4449 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4450 -  (eval $ac_compile) 2>&5
4451 -  ac_status=$?
4452 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4453 -  (exit $ac_status); }; then
4454 -    case "`/usr/bin/file conftest.o`" in
4455 -    *32-bit*)
4456 -      case $host in
4457 -        x86_64-*linux*)
4458 -          LD="${LD-ld} -m elf_i386"
4459 -          ;;
4460 -        ppc64-*linux*)
4461 -          LD="${LD-ld} -m elf32ppclinux"
4462 -          ;;
4463 -        s390x-*linux*)
4464 -          LD="${LD-ld} -m elf_s390"
4465 -          ;;
4466 -        sparc64-*linux*)
4467 -          LD="${LD-ld} -m elf32_sparc"
4468 -          ;;
4469 -      esac
4470 -      ;;
4471 -    *64-bit*)
4472 -      case $host in
4473 -        x86_64-*linux*)
4474 -          LD="${LD-ld} -m elf_x86_64"
4475 -          ;;
4476 -        ppc*-*linux*|powerpc*-*linux*)
4477 -          LD="${LD-ld} -m elf64ppc"
4478 -          ;;
4479 -        s390*-*linux*)
4480 -          LD="${LD-ld} -m elf64_s390"
4481 -          ;;
4482 -        sparc*-*linux*)
4483 -          LD="${LD-ld} -m elf64_sparc"
4484 -          ;;
4485 -      esac
4486 -      ;;
4487 -    esac
4488 -  fi
4489 -  rm -rf conftest*
4490 -  ;;
4491 -
4492 -*-*-sco3.2v5*)
4493 -  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
4494 -  SAVE_CFLAGS="$CFLAGS"
4495 -  CFLAGS="$CFLAGS -belf"
4496 -  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
4497 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
4498 -if test "${lt_cv_cc_needs_belf+set}" = set; then
4499 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4500 -else
4501 -  
4502 -
4503 -     ac_ext=c
4504 -ac_cpp='$CPP $CPPFLAGS'
4505 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4506 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4507 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4508 -
4509 -     cat >conftest.$ac_ext <<_ACEOF
4510 -#line $LINENO "configure"
4511 -/* confdefs.h.  */
4512 -_ACEOF
4513 -cat confdefs.h >>conftest.$ac_ext
4514 -cat >>conftest.$ac_ext <<_ACEOF
4515 -/* end confdefs.h.  */
4516 -
4517 -int
4518 -main ()
4519 -{
4520 -
4521 -  ;
4522 -  return 0;
4523 -}
4524 -_ACEOF
4525 -rm -f conftest.$ac_objext conftest$ac_exeext
4526 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
4527 -  (eval $ac_link) 2>&5
4528 -  ac_status=$?
4529 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4530 -  (exit $ac_status); } &&
4531 -         { ac_try='test -s conftest$ac_exeext'
4532 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
4533 -  (eval $ac_try) 2>&5
4534 -  ac_status=$?
4535 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4536 -  (exit $ac_status); }; }; then
4537 -  lt_cv_cc_needs_belf=yes
4538 -else
4539 -  echo "$as_me: failed program was:" >&5
4540 -sed 's/^/| /' conftest.$ac_ext >&5
4541 -
4542 -lt_cv_cc_needs_belf=no
4543 -fi
4544 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
4545 -     ac_ext=c
4546 -ac_cpp='$CPP $CPPFLAGS'
4547 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4548 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4549 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4550 -
4551 -fi
4552 -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
4553 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
4554 -  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
4555 -    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
4556 -    CFLAGS="$SAVE_CFLAGS"
4557 -  fi
4558 -  ;;
4559 -
4560 -
4561 -esac
4562 -
4563 -
4564 -# Save cache, so that ltconfig can load it
4565 -cat >confcache <<\_ACEOF
4566 -# This file is a shell script that caches the results of configure
4567 -# tests run on this system so they can be shared between configure
4568 -# scripts and configure runs, see configure's option --config-cache.
4569 -# It is not useful on other systems.  If it contains results you don't
4570 -# want to keep, you may remove or edit it.
4571 -#
4572 -# config.status only pays attention to the cache file if you give it
4573 -# the --recheck option to rerun configure.
4574 -#
4575 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
4576 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
4577 -# following values.
4578 -
4579 -_ACEOF
4580 -
4581 -# The following way of writing the cache mishandles newlines in values,
4582 -# but we know of no workaround that is simple, portable, and efficient.
4583 -# So, don't put newlines in cache variables' values.
4584 -# Ultrix sh set writes to stderr and can't be redirected directly,
4585 -# and sets the high bit in the cache file unless we assign to the vars.
4586 -{
4587 -  (set) 2>&1 |
4588 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
4589 -    *ac_space=\ *)
4590 -      # `set' does not quote correctly, so add quotes (double-quote
4591 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
4592 -      sed -n \
4593 -        "s/'/'\\\\''/g;
4594 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
4595 -      ;;
4596 -    *)
4597 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
4598 -      sed -n \
4599 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
4600 -      ;;
4601 -    esac;
4602 -} |
4603 -  sed '
4604 -     t clear
4605 -     : clear
4606 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
4607 -     t end
4608 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
4609 -     : end' >>confcache
4610 -if diff $cache_file confcache >/dev/null 2>&1; then :; else
4611 -  if test -w $cache_file; then
4612 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
4613 -    cat confcache >$cache_file
4614 -  else
4615 -    echo "not updating unwritable cache $cache_file"
4616 -  fi
4617 -fi
4618 -rm -f confcache
4619 -
4620 -# Actually configure libtool.  ac_aux_dir is where install-sh is found.
4621 -AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
4622 -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
4623 -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
4624 -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
4625 -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
4626 -deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
4627 -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
4628 -$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
4629 -|| { { echo "$as_me:$LINENO: error: libtool configure failed" >&5
4630 -echo "$as_me: error: libtool configure failed" >&2;}
4631 -   { (exit 1); exit 1; }; }
4632 -
4633 -# Reload cache, that may have been modified by ltconfig
4634 -if test -r "$cache_file"; then
4635 -  # Some versions of bash will fail to source /dev/null (special
4636 -  # files actually), so we avoid doing that.
4637 -  if test -f "$cache_file"; then
4638 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
4639 -echo "$as_me: loading cache $cache_file" >&6;}
4640 -    case $cache_file in
4641 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
4642 -      *)                      . ./$cache_file;;
4643 -    esac
4644 -  fi
4645 -else
4646 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
4647 -echo "$as_me: creating cache $cache_file" >&6;}
4648 -  >$cache_file
4649 -fi
4650 -
4651 -
4652 -# This can be used to rebuild libtool when needed
4653 -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
4654 -
4655 -# Always use our own libtool.
4656 -LIBTOOL='$(SHELL) $(top_builddir)/libtool'
4657 -
4658 -# Redirect the config.log output again, so that the ltconfig log is not
4659 -# clobbered by the next message.
4660 -exec 5>>./config.log
4661 -
4662 -ac_ext=cc
4663 -ac_cpp='$CXXCPP $CPPFLAGS'
4664 -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4665 -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4666 -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
4667 -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
4668 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
4669 -if test -z "$CXXCPP"; then
4670 -  if test "${ac_cv_prog_CXXCPP+set}" = set; then
4671 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4672 -else
4673 -      # Double quotes because CXXCPP needs to be expanded
4674 -    for CXXCPP in "$CXX -E" "/lib/cpp"
4675 -    do
4676 -      ac_preproc_ok=false
4677 -for ac_cxx_preproc_warn_flag in '' yes
4678 -do
4679 -  # Use a header file that comes with gcc, so configuring glibc
4680 -  # with a fresh cross-compiler works.
4681 -  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4682 -  # <limits.h> exists even on freestanding compilers.
4683 -  # On the NeXT, cc -E runs the code through the compiler's parser,
4684 -  # not just through cpp. "Syntax error" is here to catch this case.
4685 -  cat >conftest.$ac_ext <<_ACEOF
4686 -#line $LINENO "configure"
4687 -/* confdefs.h.  */
4688 -_ACEOF
4689 -cat confdefs.h >>conftest.$ac_ext
4690 -cat >>conftest.$ac_ext <<_ACEOF
4691 -/* end confdefs.h.  */
4692 -@%:@ifdef __STDC__
4693 -@%:@ include <limits.h>
4694 -@%:@else
4695 -@%:@ include <assert.h>
4696 -@%:@endif
4697 -                     Syntax error
4698 -_ACEOF
4699 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4700 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4701 -  ac_status=$?
4702 -  grep -v '^ *+' conftest.er1 >conftest.err
4703 -  rm -f conftest.er1
4704 -  cat conftest.err >&5
4705 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4706 -  (exit $ac_status); } >/dev/null; then
4707 -  if test -s conftest.err; then
4708 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4709 -  else
4710 -    ac_cpp_err=
4711 -  fi
4712 -else
4713 -  ac_cpp_err=yes
4714 -fi
4715 -if test -z "$ac_cpp_err"; then
4716 -  :
4717 -else
4718 -  echo "$as_me: failed program was:" >&5
4719 -sed 's/^/| /' conftest.$ac_ext >&5
4720 -
4721 -  # Broken: fails on valid input.
4722 -continue
4723 -fi
4724 -rm -f conftest.err conftest.$ac_ext
4725 -
4726 -  # OK, works on sane cases.  Now check whether non-existent headers
4727 -  # can be detected and how.
4728 -  cat >conftest.$ac_ext <<_ACEOF
4729 -#line $LINENO "configure"
4730 -/* confdefs.h.  */
4731 -_ACEOF
4732 -cat confdefs.h >>conftest.$ac_ext
4733 -cat >>conftest.$ac_ext <<_ACEOF
4734 -/* end confdefs.h.  */
4735 -@%:@include <ac_nonexistent.h>
4736 -_ACEOF
4737 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4738 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4739 -  ac_status=$?
4740 -  grep -v '^ *+' conftest.er1 >conftest.err
4741 -  rm -f conftest.er1
4742 -  cat conftest.err >&5
4743 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4744 -  (exit $ac_status); } >/dev/null; then
4745 -  if test -s conftest.err; then
4746 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4747 -  else
4748 -    ac_cpp_err=
4749 -  fi
4750 -else
4751 -  ac_cpp_err=yes
4752 -fi
4753 -if test -z "$ac_cpp_err"; then
4754 -  # Broken: success on invalid input.
4755 -continue
4756 -else
4757 -  echo "$as_me: failed program was:" >&5
4758 -sed 's/^/| /' conftest.$ac_ext >&5
4759 -
4760 -  # Passes both tests.
4761 -ac_preproc_ok=:
4762 -break
4763 -fi
4764 -rm -f conftest.err conftest.$ac_ext
4765 -
4766 -done
4767 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4768 -rm -f conftest.err conftest.$ac_ext
4769 -if $ac_preproc_ok; then
4770 -  break
4771 -fi
4772 -
4773 -    done
4774 -    ac_cv_prog_CXXCPP=$CXXCPP
4775 -  
4776 -fi
4777 -  CXXCPP=$ac_cv_prog_CXXCPP
4778 -else
4779 -  ac_cv_prog_CXXCPP=$CXXCPP
4780 -fi
4781 -echo "$as_me:$LINENO: result: $CXXCPP" >&5
4782 -echo "${ECHO_T}$CXXCPP" >&6
4783 -ac_preproc_ok=false
4784 -for ac_cxx_preproc_warn_flag in '' yes
4785 -do
4786 -  # Use a header file that comes with gcc, so configuring glibc
4787 -  # with a fresh cross-compiler works.
4788 -  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4789 -  # <limits.h> exists even on freestanding compilers.
4790 -  # On the NeXT, cc -E runs the code through the compiler's parser,
4791 -  # not just through cpp. "Syntax error" is here to catch this case.
4792 -  cat >conftest.$ac_ext <<_ACEOF
4793 -#line $LINENO "configure"
4794 -/* confdefs.h.  */
4795 -_ACEOF
4796 -cat confdefs.h >>conftest.$ac_ext
4797 -cat >>conftest.$ac_ext <<_ACEOF
4798 -/* end confdefs.h.  */
4799 -@%:@ifdef __STDC__
4800 -@%:@ include <limits.h>
4801 -@%:@else
4802 -@%:@ include <assert.h>
4803 -@%:@endif
4804 -                     Syntax error
4805 -_ACEOF
4806 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4807 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4808 -  ac_status=$?
4809 -  grep -v '^ *+' conftest.er1 >conftest.err
4810 -  rm -f conftest.er1
4811 -  cat conftest.err >&5
4812 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4813 -  (exit $ac_status); } >/dev/null; then
4814 -  if test -s conftest.err; then
4815 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4816 -  else
4817 -    ac_cpp_err=
4818 -  fi
4819 -else
4820 -  ac_cpp_err=yes
4821 -fi
4822 -if test -z "$ac_cpp_err"; then
4823 -  :
4824 -else
4825 -  echo "$as_me: failed program was:" >&5
4826 -sed 's/^/| /' conftest.$ac_ext >&5
4827 -
4828 -  # Broken: fails on valid input.
4829 -continue
4830 -fi
4831 -rm -f conftest.err conftest.$ac_ext
4832 -
4833 -  # OK, works on sane cases.  Now check whether non-existent headers
4834 -  # can be detected and how.
4835 -  cat >conftest.$ac_ext <<_ACEOF
4836 -#line $LINENO "configure"
4837 -/* confdefs.h.  */
4838 -_ACEOF
4839 -cat confdefs.h >>conftest.$ac_ext
4840 -cat >>conftest.$ac_ext <<_ACEOF
4841 -/* end confdefs.h.  */
4842 -@%:@include <ac_nonexistent.h>
4843 -_ACEOF
4844 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4845 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4846 -  ac_status=$?
4847 -  grep -v '^ *+' conftest.er1 >conftest.err
4848 -  rm -f conftest.er1
4849 -  cat conftest.err >&5
4850 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4851 -  (exit $ac_status); } >/dev/null; then
4852 -  if test -s conftest.err; then
4853 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4854 -  else
4855 -    ac_cpp_err=
4856 -  fi
4857 -else
4858 -  ac_cpp_err=yes
4859 -fi
4860 -if test -z "$ac_cpp_err"; then
4861 -  # Broken: success on invalid input.
4862 -continue
4863 -else
4864 -  echo "$as_me: failed program was:" >&5
4865 -sed 's/^/| /' conftest.$ac_ext >&5
4866 -
4867 -  # Passes both tests.
4868 -ac_preproc_ok=:
4869 -break
4870 -fi
4871 -rm -f conftest.err conftest.$ac_ext
4872 -
4873 -done
4874 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4875 -rm -f conftest.err conftest.$ac_ext
4876 -if $ac_preproc_ok; then
4877 -  :
4878 -else
4879 -  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
4880 -See \`config.log' for more details." >&5
4881 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
4882 -See \`config.log' for more details." >&2;}
4883 -   { (exit 1); exit 1; }; }
4884 -fi
4885 -
4886 -ac_ext=c
4887 -ac_cpp='$CPP $CPPFLAGS'
4888 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4889 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4890 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4891 -
4892 -
4893 -
4894 -LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
4895 -lt_save_CC="$CC"
4896 -lt_save_CFLAGS="$CFLAGS"
4897 -AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
4898 -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
4899 -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
4900 -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
4901 -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
4902 -deplibs_check_method="$deplibs_check_method" \
4903 -file_magic_cmd="$file_magic_cmd" \
4904 -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
4905 ---build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
4906 -|| { { echo "$as_me:$LINENO: error: libtool tag configuration failed" >&5
4907 -echo "$as_me: error: libtool tag configuration failed" >&2;}
4908 -   { (exit 1); exit 1; }; }
4909 -CC="$lt_save_CC"
4910 -CFLAGS="$lt_save_CFLAGS"
4911 -
4912 -# Redirect the config.log output again, so that the ltconfig log is not
4913 -# clobbered by the next message.
4914 -exec 5>>./config.log
4915 -
4916 -  
4917 -
4918 -  
4919 -        
4920 -        
4921 -
4922 -
4923 -# Check whether --with-target-subdir or --without-target-subdir was given.
4924 -if test "${with_target_subdir+set}" = set; then
4925 -  withval="$with_target_subdir"
4926 -  
4927 -fi; 
4928 -
4929 -# Check whether --with-cross-host or --without-cross-host was given.
4930 -if test "${with_cross_host+set}" = set; then
4931 -  withval="$with_cross_host"
4932 -  
4933 -fi; 
4934 -
4935 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
4936 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
4937 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
4938 -if test "${enable_maintainer_mode+set}" = set; then
4939 -  enableval="$enable_maintainer_mode"
4940 -  USE_MAINTAINER_MODE=$enableval
4941 -else
4942 -  USE_MAINTAINER_MODE=no
4943 -fi; 
4944 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
4945 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
4946 -  
4947 -
4948 -if test $USE_MAINTAINER_MODE = yes; then
4949 -  MAINTAINER_MODE_TRUE=
4950 -  MAINTAINER_MODE_FALSE='#'
4951 -else
4952 -  MAINTAINER_MODE_TRUE='#'
4953 -  MAINTAINER_MODE_FALSE=
4954 -fi
4955 -  MAINT=$MAINTAINER_MODE_TRUE
4956 -  
4957 -
4958 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
4959 -# it is actually a problem, because the compiler we're passed can't
4960 -# necessarily do a full link.  So we fool automake here.
4961 -if false; then
4962 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
4963 -  # to nothing, so nothing would remain between `then' and `fi' if it
4964 -  # were not for the `:' below.
4965 -  :
4966 -  
4967 -fi
4968 -
4969 -echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
4970 -echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
4971 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
4972 -if test -z "$THREADS"; then
4973 -   THREADS=no
4974 -fi
4975 -echo "$as_me:$LINENO: result: $THREADS" >&5
4976 -echo "${ECHO_T}$THREADS" >&6
4977 -
4978 -# Check whether --enable-parallel-mark or --disable-parallel-mark was given.
4979 -if test "${enable_parallel_mark+set}" = set; then
4980 -  enableval="$enable_parallel_mark"
4981 -  case "$THREADS" in
4982 -      no | none | single)
4983 -       { { echo "$as_me:$LINENO: error: Parallel mark requires --enable-threads=x spec" >&5
4984 -echo "$as_me: error: Parallel mark requires --enable-threads=x spec" >&2;}
4985 -   { (exit 1); exit 1; }; }
4986 -       ;;
4987 -    esac
4988 -
4989 -fi; 
4990 -
4991 -INCLUDES=-I${srcdir}/include
4992 -THREADLIBS=
4993 -case "$THREADS" in
4994 - no | none | single)
4995 -    THREADS=none
4996 -    ;;
4997 - posix | pthreads)
4998 -    THREADS=posix
4999 -    THREADLIBS=-lpthread
5000 -    case "$host" in
5001 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
5002 -       cat >>confdefs.h <<\_ACEOF
5003 -@%:@define GC_LINUX_THREADS 1
5004 -_ACEOF
5005 -
5006 -       cat >>confdefs.h <<\_ACEOF
5007 -@%:@define _REENTRANT 1
5008 -_ACEOF
5009 -
5010 -        if test "${enable_parallel_mark}"; then
5011 -         cat >>confdefs.h <<\_ACEOF
5012 -@%:@define PARALLEL_MARK 1
5013 -_ACEOF
5014 -
5015 -       fi
5016 -       cat >>confdefs.h <<\_ACEOF
5017 -@%:@define THREAD_LOCAL_ALLOC 1
5018 -_ACEOF
5019 -
5020 -       ;;
5021 -     *-*-linux*)
5022 -       cat >>confdefs.h <<\_ACEOF
5023 -@%:@define GC_LINUX_THREADS 1
5024 -_ACEOF
5025 -
5026 -       cat >>confdefs.h <<\_ACEOF
5027 -@%:@define _REENTRANT 1
5028 -_ACEOF
5029 -
5030 -       ;;
5031 -     *-*-hpux*)
5032 -       { echo "$as_me:$LINENO: WARNING: \"Only HP/UX 11 threads are supported.\"" >&5
5033 -echo "$as_me: WARNING: \"Only HP/UX 11 threads are supported.\"" >&2;}
5034 -       cat >>confdefs.h <<\_ACEOF
5035 -@%:@define GC_HPUX_THREADS 1
5036 -_ACEOF
5037 -
5038 -       cat >>confdefs.h <<\_ACEOF
5039 -@%:@define _POSIX_C_SOURCE 199506L
5040 -_ACEOF
5041 -
5042 -       if test "${enable_parallel_mark}" = yes; then
5043 -         cat >>confdefs.h <<\_ACEOF
5044 -@%:@define PARALLEL_MARK 1
5045 -_ACEOF
5046 -
5047 -       fi
5048 -       cat >>confdefs.h <<\_ACEOF
5049 -@%:@define THREAD_LOCAL_ALLOC 1
5050 -_ACEOF
5051 -
5052 -       THREADLIBS="-lpthread -lrt"
5053 -       ;;
5054 -     *-*-freebsd*)
5055 -       { echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
5056 -echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
5057 -       cat >>confdefs.h <<\_ACEOF
5058 -@%:@define GC_FREEBSD_THREADS 1
5059 -_ACEOF
5060 -
5061 -       INCLUDES="$INCLUDES -pthread"
5062 -       THREADLIBS=-pthread
5063 -       ;;
5064 -     *-*-solaris*)
5065 -       cat >>confdefs.h <<\_ACEOF
5066 -@%:@define GC_SOLARIS_THREADS 1
5067 -_ACEOF
5068 -
5069 -       cat >>confdefs.h <<\_ACEOF
5070 -@%:@define GC_SOLARIS_PTHREADS 1
5071 -_ACEOF
5072 -
5073 -       ;;
5074 -     *-*-irix*)
5075 -       cat >>confdefs.h <<\_ACEOF
5076 -@%:@define GC_IRIX_THREADS 1
5077 -_ACEOF
5078 -
5079 -       ;;
5080 -     *-*-cygwin*)
5081 -       THREADLIBS=
5082 -       ;;
5083 -    esac
5084 -    ;;
5085 -     *-*-darwin*)
5086 -       cat >>confdefs.h <<\_ACEOF
5087 -@%:@define GC_DARWIN_THREADS 1
5088 -_ACEOF
5089 -
5090 -       cat >>confdefs.h <<\_ACEOF
5091 -@%:@define THREAD_LOCAL_ALLOC 1
5092 -_ACEOF
5093 -
5094 -       if test "${enable_parallel_mark}" = yes; then
5095 -         cat >>confdefs.h <<\_ACEOF
5096 -@%:@define PARALLEL_MARK 1
5097 -_ACEOF
5098 -
5099 -       fi
5100 -       ;;
5101 - win32)
5102 -    cat >>confdefs.h <<\_ACEOF
5103 -@%:@define GC_WIN32_THREADS 1
5104 -_ACEOF
5105 -
5106 -    cat >>confdefs.h <<\_ACEOF
5107 -@%:@define NO_GETENV 1
5108 -_ACEOF
5109 -
5110 -    ;;
5111 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
5112 -    { { echo "$as_me:$LINENO: error: thread package $THREADS not yet supported" >&5
5113 -echo "$as_me: error: thread package $THREADS not yet supported" >&2;}
5114 -   { (exit 1); exit 1; }; }
5115 -    ;;
5116 - *)
5117 -    { { echo "$as_me:$LINENO: error: $THREADS is an unknown thread package" >&5
5118 -echo "$as_me: error: $THREADS is an unknown thread package" >&2;}
5119 -   { (exit 1); exit 1; }; }
5120 -    ;;
5121 -esac
5122 -
5123 -
5124 -case "$host" in 
5125 -   powerpc-*-darwin*)
5126 -      powerpc_darwin=true
5127 -      ;;
5128 -esac
5129 -
5130 -
5131 -if test x$powerpc_darwin = xtrue; then
5132 -  POWERPC_DARWIN_TRUE=
5133 -  POWERPC_DARWIN_FALSE='#'
5134 -else
5135 -  POWERPC_DARWIN_TRUE='#'
5136 -  POWERPC_DARWIN_FALSE=
5137 -fi
5138 -
5139 -# We never want libdl on darwin. It is a fake libdl that just ends up making
5140 -# dyld calls anyway
5141 -case "$host" in
5142 -  *-*-darwin*) ;;
5143 -  *) 
5144 -    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
5145 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
5146 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
5147 -  echo $ECHO_N "(cached) $ECHO_C" >&6
5148 -else
5149 -  ac_check_lib_save_LIBS=$LIBS
5150 -LIBS="-ldl  $LIBS"
5151 -cat >conftest.$ac_ext <<_ACEOF
5152 -#line $LINENO "configure"
5153 -/* confdefs.h.  */
5154 -_ACEOF
5155 -cat confdefs.h >>conftest.$ac_ext
5156 -cat >>conftest.$ac_ext <<_ACEOF
5157 -/* end confdefs.h.  */
5158 -
5159 -/* Override any gcc2 internal prototype to avoid an error.  */
5160 -#ifdef __cplusplus
5161 -extern "C"
5162 -#endif
5163 -/* We use char because int might match the return type of a gcc2
5164 -   builtin and then its argument prototype would still apply.  */
5165 -char dlopen ();
5166 -int
5167 -main ()
5168 -{
5169 -dlopen ();
5170 -  ;
5171 -  return 0;
5172 -}
5173 -_ACEOF
5174 -rm -f conftest.$ac_objext conftest$ac_exeext
5175 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
5176 -  (eval $ac_link) 2>&5
5177 -  ac_status=$?
5178 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
5179 -  (exit $ac_status); } &&
5180 -         { ac_try='test -s conftest$ac_exeext'
5181 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
5182 -  (eval $ac_try) 2>&5
5183 -  ac_status=$?
5184 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
5185 -  (exit $ac_status); }; }; then
5186 -  ac_cv_lib_dl_dlopen=yes
5187 -else
5188 -  echo "$as_me: failed program was:" >&5
5189 -sed 's/^/| /' conftest.$ac_ext >&5
5190 -
5191 -ac_cv_lib_dl_dlopen=no
5192 -fi
5193 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
5194 -LIBS=$ac_check_lib_save_LIBS
5195 -fi
5196 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
5197 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
5198 -if test $ac_cv_lib_dl_dlopen = yes; then
5199 -  EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"
5200 -fi
5201 -
5202 -    ;;
5203 -esac
5204 -
5205 -
5206 -
5207 -target_all=libgcjgc.la
5208 -
5209 -
5210 -
5211 -TARGET_ECOS="no"
5212 -
5213 -# Check whether --with-ecos or --without-ecos was given.
5214 -if test "${with_ecos+set}" = set; then
5215 -  withval="$with_ecos"
5216 -  TARGET_ECOS="$with_ecos"
5217 -
5218 -fi; 
5219 -
5220 -addobjs=
5221 -CXXINCLUDES=
5222 -case "$TARGET_ECOS" in
5223 -   no)
5224 -      ;;
5225 -   *)
5226 -      cat >>confdefs.h <<\_ACEOF
5227 -@%:@define ECOS 1
5228 -_ACEOF
5229 -
5230 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
5231 -      addobjs="$addobjs ecos.lo"
5232 -      ;;
5233 -esac
5234 -
5235 -
5236 -
5237 -
5238 -
5239 -machdep=
5240 -case "$host" in
5241 - alpha*-*-openbsd*)
5242 -    machdep="alpha_mach_dep.lo"
5243 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
5244 -       { echo "$as_me:$LINENO: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&5
5245 -echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&2;}
5246 -       # Check whether --enable-shared or --disable-shared was given.
5247 -if test "${enable_shared+set}" = set; then
5248 -  enableval="$enable_shared"
5249 -  p=${PACKAGE-default}
5250 -case $enableval in
5251 -yes) enable_shared=yes ;;
5252 -no) enable_shared=no ;;
5253 -*)
5254 -  enable_shared=no
5255 -  # Look at the argument we got.  We use all the common list separators.
5256 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
5257 -  for pkg in $enableval; do
5258 -    if test "X$pkg" = "X$p"; then
5259 -      enable_shared=yes
5260 -    fi
5261 -  done
5262 -  IFS="$ac_save_ifs"
5263 -  ;;
5264 -esac
5265 -else
5266 -  enable_shared=no
5267 -fi; 
5268 -    fi
5269 -    ;;
5270 - alpha*-*-*)
5271 -    machdep="alpha_mach_dep.lo"
5272 -    ;;
5273 - i?86-*-solaris2.[89]*)
5274 -    cat >>confdefs.h <<\_ACEOF
5275 -@%:@define SOLARIS25_PROC_VDB_BUG_FIXED 1
5276 -_ACEOF
5277 -
5278 -    ;;
5279 - mipstx39-*-elf*)
5280 -    machdep="mips_ultrix_mach_dep.lo"
5281 -    cat >>confdefs.h <<\_ACEOF
5282 -@%:@define STACKBASE __stackbase
5283 -_ACEOF
5284 -
5285 -    cat >>confdefs.h <<\_ACEOF
5286 -@%:@define DATASTART_IS_ETEXT 1
5287 -_ACEOF
5288 -
5289 -    ;;
5290 - mips-dec-ultrix*)
5291 -    machdep="mips_ultrix_mach-dep.lo"
5292 -    ;;
5293 - mips*-*-linux*)
5294 -    ;;
5295 - mips-*-*)
5296 -    machdep="mips_sgi_mach_dep.lo"
5297 -    cat >>confdefs.h <<\_ACEOF
5298 -@%:@define NO_EXECUTE_PERMISSION 1
5299 -_ACEOF
5300 -
5301 -    ;;
5302 - sparc-sun-solaris2.3*)
5303 -    machdep="sparc_mach_dep.lo"
5304 -    cat >>confdefs.h <<\_ACEOF
5305 -@%:@define SUNOS53_SHARED_LIB 1
5306 -_ACEOF
5307 -
5308 -    ;;
5309 - sparc-sun-solaris2.*)
5310 -    machdep="sparc_mach_dep.lo"
5311 -    ;;
5312 - ia64-*-*)
5313 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
5314 -    ;;
5315 -esac
5316 -if test x"$machdep" = x; then
5317 -   machdep="mach_dep.lo"
5318 -fi
5319 -addobjs="$addobjs $machdep"
5320 -
5321 -
5322 -case "$host" in
5323 - sparc-sun-solaris2*)
5324 -    if test "$GCC" = yes; then
5325 -       new_CFLAGS=
5326 -       for i in $CFLAGS; do
5327 -         case "$i" in
5328 -          -O*)
5329 -             ;;
5330 -          *)
5331 -             new_CFLAGS="$new_CFLAGS $i"
5332 -             ;;
5333 -         esac
5334 -       done
5335 -       CFLAGS="$new_CFLAGS"
5336 -    fi
5337 -    ;;
5338 -esac
5339 -
5340 -MY_CFLAGS="$CFLAGS"
5341 -
5342 -
5343 -cat >>confdefs.h <<\_ACEOF
5344 -@%:@define SILENT 1
5345 -_ACEOF
5346 -
5347 -cat >>confdefs.h <<\_ACEOF
5348 -@%:@define NO_SIGNALS 1
5349 -_ACEOF
5350 -
5351 -cat >>confdefs.h <<\_ACEOF
5352 -@%:@define NO_EXECUTE_PERMISSION 1
5353 -_ACEOF
5354 -
5355 -cat >>confdefs.h <<\_ACEOF
5356 -@%:@define ALL_INTERIOR_POINTERS 1
5357 -_ACEOF
5358 -
5359 -
5360 -cat >>confdefs.h <<\_ACEOF
5361 -@%:@define JAVA_FINALIZATION 1
5362 -_ACEOF
5363 -
5364 -cat >>confdefs.h <<\_ACEOF
5365 -@%:@define GC_GCJ_SUPPORT 1
5366 -_ACEOF
5367 -
5368 -cat >>confdefs.h <<\_ACEOF
5369 -@%:@define ATOMIC_UNCOLLECTABLE 1
5370 -_ACEOF
5371 -
5372 -
5373 -if test -n "${with_cross_host}"; then
5374 -   cat >>confdefs.h <<\_ACEOF
5375 -@%:@define NO_SIGSET 1
5376 -_ACEOF
5377 -
5378 -   cat >>confdefs.h <<\_ACEOF
5379 -@%:@define NO_DEBUGGING 1
5380 -_ACEOF
5381 -
5382 -fi
5383 -
5384 -# Check whether --enable-full-debug or --disable-full-debug was given.
5385 -if test "${enable_full_debug+set}" = set; then
5386 -  enableval="$enable_full_debug"
5387 -   if test "$enable_full_debug" = "yes"; then
5388 -    { echo "$as_me:$LINENO: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&5
5389 -echo "$as_me: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&2;}
5390 -    cat >>confdefs.h <<\_ACEOF
5391 -@%:@define KEEP_BACK_PTRS 1
5392 -_ACEOF
5393 -
5394 -    cat >>confdefs.h <<\_ACEOF
5395 -@%:@define DBG_HDRS_ALL 1
5396 -_ACEOF
5397 -
5398 -    case $host in
5399 -      ia64-*-linux* )
5400 -       cat >>confdefs.h <<\_ACEOF
5401 -@%:@define MAKE_BACK_GRAPH 1
5402 -_ACEOF
5403 -
5404 -      ;;
5405 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
5406 -       cat >>confdefs.h <<\_ACEOF
5407 -@%:@define MAKE_BACK_GRAPH 1
5408 -_ACEOF
5409 -
5410 -       { echo "$as_me:$LINENO: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
5411 -echo "$as_me: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&2;}
5412 -       cat >>confdefs.h <<\_ACEOF
5413 -@%:@define SAVE_CALL_COUNT 8
5414 -_ACEOF
5415 -
5416 -      ;;
5417 -    esac 
5418 -  fi
5419 -fi; 
5420 -
5421 -
5422 -
5423 -if test -z "$with_cross_host"; then
5424 -  USE_LIBDIR_TRUE=
5425 -  USE_LIBDIR_FALSE='#'
5426 -else
5427 -  USE_LIBDIR_TRUE='#'
5428 -  USE_LIBDIR_FALSE=
5429 -fi
5430 -
5431 -if test "${multilib}" = "yes"; then
5432 -  multilib_arg="--enable-multilib"
5433 -else
5434 -  multilib_arg=
5435 -fi
5436 -
5437 -                    ac_config_files="$ac_config_files Makefile include/Makefile"
5438 -          ac_config_commands="$ac_config_commands default"
5439 -cat >confcache <<\_ACEOF
5440 -# This file is a shell script that caches the results of configure
5441 -# tests run on this system so they can be shared between configure
5442 -# scripts and configure runs, see configure's option --config-cache.
5443 -# It is not useful on other systems.  If it contains results you don't
5444 -# want to keep, you may remove or edit it.
5445 -#
5446 -# config.status only pays attention to the cache file if you give it
5447 -# the --recheck option to rerun configure.
5448 -#
5449 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
5450 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
5451 -# following values.
5452 -
5453 -_ACEOF
5454 -
5455 -# The following way of writing the cache mishandles newlines in values,
5456 -# but we know of no workaround that is simple, portable, and efficient.
5457 -# So, don't put newlines in cache variables' values.
5458 -# Ultrix sh set writes to stderr and can't be redirected directly,
5459 -# and sets the high bit in the cache file unless we assign to the vars.
5460 -{
5461 -  (set) 2>&1 |
5462 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
5463 -    *ac_space=\ *)
5464 -      # `set' does not quote correctly, so add quotes (double-quote
5465 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
5466 -      sed -n \
5467 -        "s/'/'\\\\''/g;
5468 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
5469 -      ;;
5470 -    *)
5471 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
5472 -      sed -n \
5473 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
5474 -      ;;
5475 -    esac;
5476 -} |
5477 -  sed '
5478 -     t clear
5479 -     : clear
5480 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
5481 -     t end
5482 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
5483 -     : end' >>confcache
5484 -if diff $cache_file confcache >/dev/null 2>&1; then :; else
5485 -  if test -w $cache_file; then
5486 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
5487 -    cat confcache >$cache_file
5488 -  else
5489 -    echo "not updating unwritable cache $cache_file"
5490 -  fi
5491 -fi
5492 -rm -f confcache
5493 -
5494 -test "x$prefix" = xNONE && prefix=$ac_default_prefix
5495 -# Let make expand exec_prefix.
5496 -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
5497 -
5498 -# VPATH may cause trouble with some makes, so we remove $(srcdir),
5499 -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
5500 -# trailing colons and then remove the whole line if VPATH becomes empty
5501 -# (actually we leave an empty line to preserve line numbers).
5502 -if test "x$srcdir" = x.; then
5503 -  ac_vpsub='/^[        ]*VPATH[        ]*=/{
5504 -s/:*\$(srcdir):*/:/;
5505 -s/:*\${srcdir}:*/:/;
5506 -s/:*@srcdir@:*/:/;
5507 -s/^\([^=]*=[   ]*\):*/\1/;
5508 -s/:*$//;
5509 -s/^[^=]*=[     ]*$//;
5510 -}'
5511 -fi
5512 -
5513 -# Transform confdefs.h into DEFS.
5514 -# Protect against shell expansion while executing Makefile rules.
5515 -# Protect against Makefile macro expansion.
5516 -#
5517 -# If the first sed substitution is executed (which looks for macros that
5518 -# take arguments), then we branch to the quote section.  Otherwise,
5519 -# look for a macro that doesn't take arguments.
5520 -cat >confdef2opt.sed <<\_ACEOF
5521 -t clear
5522 -: clear
5523 -s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\),-D\1=\2,g
5524 -t quote
5525 -s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\),-D\1=\2,g
5526 -t quote
5527 -d
5528 -: quote
5529 -s,[    `~#$^&*(){}\\|;'"<>?],\\&,g
5530 -s,\[,\\&,g
5531 -s,\],\\&,g
5532 -s,\$,$$,g
5533 -p
5534 -_ACEOF
5535 -# We use echo to avoid assuming a particular line-breaking character.
5536 -# The extra dot is to prevent the shell from consuming trailing
5537 -# line-breaks from the sub-command output.  A line-break within
5538 -# single-quotes doesn't work because, if this script is created in a
5539 -# platform that uses two characters for line-breaks (e.g., DOS), tr
5540 -# would break.
5541 -ac_LF_and_DOT=`echo; echo .`
5542 -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
5543 -rm -f confdef2opt.sed
5544 -
5545 -
5546 -ac_libobjs=
5547 -ac_ltlibobjs=
5548 -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
5549 -  # 1. Remove the extension, and $U if already installed.
5550 -  ac_i=`echo "$ac_i" |
5551 -         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
5552 -  # 2. Add them.
5553 -  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
5554 -  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
5555 -done
5556 -LIB@&t@OBJS=$ac_libobjs
5557 -
5558 -LTLIBOBJS=$ac_ltlibobjs
5559 -
5560 -
5561 -
5562 -: ${CONFIG_STATUS=./config.status}
5563 -ac_clean_files_save=$ac_clean_files
5564 -ac_clean_files="$ac_clean_files $CONFIG_STATUS"
5565 -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
5566 -echo "$as_me: creating $CONFIG_STATUS" >&6;}
5567 -cat >$CONFIG_STATUS <<_ACEOF
5568 -#! $SHELL
5569 -# Generated by $as_me.
5570 -# Run this file to recreate the current configuration.
5571 -# Compiler output produced by configure, useful for debugging
5572 -# configure, is in config.log if it exists.
5573 -
5574 -debug=false
5575 -ac_cs_recheck=false
5576 -ac_cs_silent=false
5577 -SHELL=\${CONFIG_SHELL-$SHELL}
5578 -_ACEOF
5579 -
5580 -cat >>$CONFIG_STATUS <<\_ACEOF
5581 -## --------------------- ##
5582 -## M4sh Initialization.  ##
5583 -## --------------------- ##
5584 -
5585 -# Be Bourne compatible
5586 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
5587 -  emulate sh
5588 -  NULLCMD=:
5589 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
5590 -  # is contrary to our usage.  Disable this feature.
5591 -  alias -g '${1+"$@"}'='"$@"'
5592 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
5593 -  set -o posix
5594 -fi
5595 -
5596 -# Support unset when possible.
5597 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
5598 -  as_unset=unset
5599 -else
5600 -  as_unset=false
5601 -fi
5602 -
5603 -
5604 -# Work around bugs in pre-3.0 UWIN ksh.
5605 -$as_unset ENV MAIL MAILPATH
5606 -PS1='$ '
5607 -PS2='> '
5608 -PS4='+ '
5609 -
5610 -# NLS nuisances.
5611 -for as_var in \
5612 -  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
5613 -  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
5614 -  LC_TELEPHONE LC_TIME
5615 -do
5616 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
5617 -    eval $as_var=C; export $as_var
5618 -  else
5619 -    $as_unset $as_var
5620 -  fi
5621 -done
5622 -
5623 -# Required to use basename.
5624 -if expr a : '\(a\)' >/dev/null 2>&1; then
5625 -  as_expr=expr
5626 -else
5627 -  as_expr=false
5628 -fi
5629 -
5630 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
5631 -  as_basename=basename
5632 -else
5633 -  as_basename=false
5634 -fi
5635 -
5636 -
5637 -# Name of the executable.
5638 -as_me=`$as_basename "$0" ||
5639 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
5640 -        X"$0" : 'X\(//\)$' \| \
5641 -        X"$0" : 'X\(/\)$' \| \
5642 -        .     : '\(.\)' 2>/dev/null ||
5643 -echo X/"$0" |
5644 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
5645 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
5646 -         /^X\/\(\/\).*/{ s//\1/; q; }
5647 -         s/.*/./; q'`
5648 -
5649 -
5650 -# PATH needs CR, and LINENO needs CR and PATH.
5651 -# Avoid depending upon Character Ranges.
5652 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
5653 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
5654 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
5655 -as_cr_digits='0123456789'
5656 -as_cr_alnum=$as_cr_Letters$as_cr_digits
5657 -
5658 -# The user is always right.
5659 -if test "${PATH_SEPARATOR+set}" != set; then
5660 -  echo "#! /bin/sh" >conf$$.sh
5661 -  echo  "exit 0"   >>conf$$.sh
5662 -  chmod +x conf$$.sh
5663 -  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
5664 -    PATH_SEPARATOR=';'
5665 -  else
5666 -    PATH_SEPARATOR=:
5667 -  fi
5668 -  rm -f conf$$.sh
5669 -fi
5670 -
5671 -
5672 -  as_lineno_1=$LINENO
5673 -  as_lineno_2=$LINENO
5674 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
5675 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
5676 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
5677 -  # Find who we are.  Look in the path if we contain no path at all
5678 -  # relative or not.
5679 -  case $0 in
5680 -    *[\\/]* ) as_myself=$0 ;;
5681 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5682 -for as_dir in $PATH
5683 -do
5684 -  IFS=$as_save_IFS
5685 -  test -z "$as_dir" && as_dir=.
5686 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
5687 -done
5688 -
5689 -       ;;
5690 -  esac
5691 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
5692 -  # in which case we are not to be found in the path.
5693 -  if test "x$as_myself" = x; then
5694 -    as_myself=$0
5695 -  fi
5696 -  if test ! -f "$as_myself"; then
5697 -    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
5698 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
5699 -   { (exit 1); exit 1; }; }
5700 -  fi
5701 -  case $CONFIG_SHELL in
5702 -  '')
5703 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5704 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
5705 -do
5706 -  IFS=$as_save_IFS
5707 -  test -z "$as_dir" && as_dir=.
5708 -  for as_base in sh bash ksh sh5; do
5709 -        case $as_dir in
5710 -        /*)
5711 -          if ("$as_dir/$as_base" -c '
5712 -  as_lineno_1=$LINENO
5713 -  as_lineno_2=$LINENO
5714 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
5715 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
5716 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
5717 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
5718 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
5719 -            CONFIG_SHELL=$as_dir/$as_base
5720 -            export CONFIG_SHELL
5721 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
5722 -          fi;;
5723 -        esac
5724 -       done
5725 -done
5726 -;;
5727 -  esac
5728 -
5729 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
5730 -  # uniformly replaced by the line number.  The first 'sed' inserts a
5731 -  # line-number line before each line; the second 'sed' does the real
5732 -  # work.  The second script uses 'N' to pair each line-number line
5733 -  # with the numbered line, and appends trailing '-' during
5734 -  # substitution so that $LINENO is not a special case at line end.
5735 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
5736 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
5737 -  sed '=' <$as_myself |
5738 -    sed '
5739 -      N
5740 -      s,$,-,
5741 -      : loop
5742 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
5743 -      t loop
5744 -      s,-$,,
5745 -      s,^['$as_cr_digits']*\n,,
5746 -    ' >$as_me.lineno &&
5747 -  chmod +x $as_me.lineno ||
5748 -    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
5749 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
5750 -   { (exit 1); exit 1; }; }
5751 -
5752 -  # Don't try to exec as it changes $[0], causing all sort of problems
5753 -  # (the dirname of $[0] is not the place where we might find the
5754 -  # original and so on.  Autoconf is especially sensible to this).
5755 -  . ./$as_me.lineno
5756 -  # Exit status is that of the last command.
5757 -  exit
5758 -}
5759 -
5760 -
5761 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
5762 -  *c*,-n*) ECHO_N= ECHO_C='
5763 -' ECHO_T='     ' ;;
5764 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
5765 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
5766 -esac
5767 -
5768 -if expr a : '\(a\)' >/dev/null 2>&1; then
5769 -  as_expr=expr
5770 -else
5771 -  as_expr=false
5772 -fi
5773 -
5774 -rm -f conf$$ conf$$.exe conf$$.file
5775 -echo >conf$$.file
5776 -if ln -s conf$$.file conf$$ 2>/dev/null; then
5777 -  # We could just check for DJGPP; but this test a) works b) is more generic
5778 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
5779 -  if test -f conf$$.exe; then
5780 -    # Don't use ln at all; we don't have any links
5781 -    as_ln_s='cp -p'
5782 -  else
5783 -    as_ln_s='ln -s'
5784 -  fi
5785 -elif ln conf$$.file conf$$ 2>/dev/null; then
5786 -  as_ln_s=ln
5787 -else
5788 -  as_ln_s='cp -p'
5789 -fi
5790 -rm -f conf$$ conf$$.exe conf$$.file
5791 -
5792 -if mkdir -p . 2>/dev/null; then
5793 -  as_mkdir_p=:
5794 -else
5795 -  as_mkdir_p=false
5796 -fi
5797 -
5798 -as_executable_p="test -f"
5799 -
5800 -# Sed expression to map a string onto a valid CPP name.
5801 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
5802 -
5803 -# Sed expression to map a string onto a valid variable name.
5804 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
5805 -
5806 -
5807 -# IFS
5808 -# We need space, tab and new line, in precisely that order.
5809 -as_nl='
5810 -'
5811 -IFS="  $as_nl"
5812 -
5813 -# CDPATH.
5814 -$as_unset CDPATH
5815 -
5816 -exec 6>&1
5817 -
5818 -# Open the log real soon, to keep \$[0] and so on meaningful, and to
5819 -# report actual input values of CONFIG_FILES etc. instead of their
5820 -# values after options handling.  Logging --version etc. is OK.
5821 -exec 5>>config.log
5822 -{
5823 -  echo
5824 -  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
5825 -@%:@@%:@ Running $as_me. @%:@@%:@
5826 -_ASBOX
5827 -} >&5
5828 -cat >&5 <<_CSEOF
5829 -
5830 -This file was extended by $as_me, which was
5831 -generated by GNU Autoconf 2.57.  Invocation command line was
5832 -
5833 -  CONFIG_FILES    = $CONFIG_FILES
5834 -  CONFIG_HEADERS  = $CONFIG_HEADERS
5835 -  CONFIG_LINKS    = $CONFIG_LINKS
5836 -  CONFIG_COMMANDS = $CONFIG_COMMANDS
5837 -  $ $0 $@
5838 -
5839 -_CSEOF
5840 -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
5841 -echo >&5
5842 -_ACEOF
5843 -
5844 -# Files that config.status was made for.
5845 -if test -n "$ac_config_files"; then
5846 -  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
5847 -fi
5848 -
5849 -if test -n "$ac_config_headers"; then
5850 -  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
5851 -fi
5852 -
5853 -if test -n "$ac_config_links"; then
5854 -  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
5855 -fi
5856 -
5857 -if test -n "$ac_config_commands"; then
5858 -  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
5859 -fi
5860 -
5861 -cat >>$CONFIG_STATUS <<\_ACEOF
5862 -
5863 -ac_cs_usage="\
5864 -\`$as_me' instantiates files from templates according to the
5865 -current configuration.
5866 -
5867 -Usage: $0 [OPTIONS] [FILE]...
5868 -
5869 -  -h, --help       print this help, then exit
5870 -  -V, --version    print version number, then exit
5871 -  -q, --quiet      do not print progress messages
5872 -  -d, --debug      don't remove temporary files
5873 -      --recheck    update $as_me by reconfiguring in the same conditions
5874 -  --file=FILE[:TEMPLATE]
5875 -                   instantiate the configuration file FILE
5876 -
5877 -Configuration files:
5878 -$config_files
5879 -
5880 -Configuration commands:
5881 -$config_commands
5882 -
5883 -Report bugs to <bug-autoconf@gnu.org>."
5884 -_ACEOF
5885 -
5886 -cat >>$CONFIG_STATUS <<_ACEOF
5887 -ac_cs_version="\\
5888 -config.status
5889 -configured by $0, generated by GNU Autoconf 2.57,
5890 -  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
5891 -
5892 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
5893 -Free Software Foundation, Inc.
5894 -This config.status script is free software; the Free Software Foundation
5895 -gives unlimited permission to copy, distribute and modify it."
5896 -srcdir=$srcdir
5897 -INSTALL="$INSTALL"
5898 -_ACEOF
5899 -
5900 -cat >>$CONFIG_STATUS <<\_ACEOF
5901 -# If no file are specified by the user, then we need to provide default
5902 -# value.  By we need to know if files were specified by the user.
5903 -ac_need_defaults=:
5904 -while test $# != 0
5905 -do
5906 -  case $1 in
5907 -  --*=*)
5908 -    ac_option=`expr "x$1" : 'x\([^=]*\)='`
5909 -    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
5910 -    ac_shift=:
5911 -    ;;
5912 -  -*)
5913 -    ac_option=$1
5914 -    ac_optarg=$2
5915 -    ac_shift=shift
5916 -    ;;
5917 -  *) # This is not an option, so the user has probably given explicit
5918 -     # arguments.
5919 -     ac_option=$1
5920 -     ac_need_defaults=false;;
5921 -  esac
5922 -
5923 -  case $ac_option in
5924 -  # Handling of the options.
5925 -_ACEOF
5926 -cat >>$CONFIG_STATUS <<\_ACEOF
5927 -  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
5928 -    ac_cs_recheck=: ;;
5929 -  --version | --vers* | -V )
5930 -    echo "$ac_cs_version"; exit 0 ;;
5931 -  --he | --h)
5932 -    # Conflict between --help and --header
5933 -    { { echo "$as_me:$LINENO: error: ambiguous option: $1
5934 -Try \`$0 --help' for more information." >&5
5935 -echo "$as_me: error: ambiguous option: $1
5936 -Try \`$0 --help' for more information." >&2;}
5937 -   { (exit 1); exit 1; }; };;
5938 -  --help | --hel | -h )
5939 -    echo "$ac_cs_usage"; exit 0 ;;
5940 -  --debug | --d* | -d )
5941 -    debug=: ;;
5942 -  --file | --fil | --fi | --f )
5943 -    $ac_shift
5944 -    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
5945 -    ac_need_defaults=false;;
5946 -  --header | --heade | --head | --hea )
5947 -    $ac_shift
5948 -    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
5949 -    ac_need_defaults=false;;
5950 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
5951 -  | -silent | --silent | --silen | --sile | --sil | --si | --s)
5952 -    ac_cs_silent=: ;;
5953 -
5954 -  # This is an error.
5955 -  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
5956 -Try \`$0 --help' for more information." >&5
5957 -echo "$as_me: error: unrecognized option: $1
5958 -Try \`$0 --help' for more information." >&2;}
5959 -   { (exit 1); exit 1; }; } ;;
5960 -
5961 -  *) ac_config_targets="$ac_config_targets $1" ;;
5962 -
5963 -  esac
5964 -  shift
5965 -done
5966 -
5967 -ac_configure_extra_args=
5968 -
5969 -if $ac_cs_silent; then
5970 -  exec 6>/dev/null
5971 -  ac_configure_extra_args="$ac_configure_extra_args --silent"
5972 -fi
5973 -
5974 -_ACEOF
5975 -cat >>$CONFIG_STATUS <<_ACEOF
5976 -if \$ac_cs_recheck; then
5977 -  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
5978 -  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
5979 -fi
5980 -
5981 -_ACEOF
5982 -
5983 -cat >>$CONFIG_STATUS <<_ACEOF
5984 -#
5985 -# INIT-COMMANDS section.
5986 -#
5987 -
5988 -srcdir=${srcdir}
5989 -host=${host}
5990 -target=${target}
5991 -with_multisubdir=${with_multisubdir}
5992 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
5993 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
5994 -gc_basedir=${gc_basedir}
5995 -CC="${CC}"
5996 -DEFS="$DEFS"
5997 -
5998 -
5999 -_ACEOF
6000 -
6001 -
6002 -
6003 -cat >>$CONFIG_STATUS <<\_ACEOF
6004 -for ac_config_target in $ac_config_targets
6005 -do
6006 -  case "$ac_config_target" in
6007 -  # Handling of arguments.
6008 -  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
6009 -  "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
6010 -  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
6011 -  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
6012 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
6013 -   { (exit 1); exit 1; }; };;
6014 -  esac
6015 -done
6016 -
6017 -# If the user did not use the arguments to specify the items to instantiate,
6018 -# then the envvar interface is used.  Set only those that are not.
6019 -# We use the long form for the default assignment because of an extremely
6020 -# bizarre bug on SunOS 4.1.3.
6021 -if $ac_need_defaults; then
6022 -  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
6023 -  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
6024 -fi
6025 -
6026 -# Have a temporary directory for convenience.  Make it in the build tree
6027 -# simply because there is no reason to put it here, and in addition,
6028 -# creating and moving files from /tmp can sometimes cause problems.
6029 -# Create a temporary directory, and hook for its removal unless debugging.
6030 -$debug ||
6031 -{
6032 -  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
6033 -  trap '{ (exit 1); exit 1; }' 1 2 13 15
6034 -}
6035 -
6036 -# Create a (secure) tmp directory for tmp files.
6037 -
6038 -{
6039 -  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
6040 -  test -n "$tmp" && test -d "$tmp"
6041 -}  ||
6042 -{
6043 -  tmp=./confstat$$-$RANDOM
6044 -  (umask 077 && mkdir $tmp)
6045 -} ||
6046 -{
6047 -   echo "$me: cannot create a temporary directory in ." >&2
6048 -   { (exit 1); exit 1; }
6049 -}
6050 -
6051 -_ACEOF
6052 -
6053 -cat >>$CONFIG_STATUS <<_ACEOF
6054 -
6055 -#
6056 -# CONFIG_FILES section.
6057 -#
6058 -
6059 -# No need to generate the scripts if there are no CONFIG_FILES.
6060 -# This happens for instance when ./config.status config.h
6061 -if test -n "\$CONFIG_FILES"; then
6062 -  # Protect against being on the right side of a sed subst in config.status.
6063 -  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
6064 -   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
6065 -s,@SHELL@,$SHELL,;t t
6066 -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
6067 -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
6068 -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
6069 -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
6070 -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
6071 -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
6072 -s,@exec_prefix@,$exec_prefix,;t t
6073 -s,@prefix@,$prefix,;t t
6074 -s,@program_transform_name@,$program_transform_name,;t t
6075 -s,@bindir@,$bindir,;t t
6076 -s,@sbindir@,$sbindir,;t t
6077 -s,@libexecdir@,$libexecdir,;t t
6078 -s,@datadir@,$datadir,;t t
6079 -s,@sysconfdir@,$sysconfdir,;t t
6080 -s,@sharedstatedir@,$sharedstatedir,;t t
6081 -s,@localstatedir@,$localstatedir,;t t
6082 -s,@libdir@,$libdir,;t t
6083 -s,@includedir@,$includedir,;t t
6084 -s,@oldincludedir@,$oldincludedir,;t t
6085 -s,@infodir@,$infodir,;t t
6086 -s,@mandir@,$mandir,;t t
6087 -s,@build_alias@,$build_alias,;t t
6088 -s,@host_alias@,$host_alias,;t t
6089 -s,@target_alias@,$target_alias,;t t
6090 -s,@DEFS@,$DEFS,;t t
6091 -s,@ECHO_C@,$ECHO_C,;t t
6092 -s,@ECHO_N@,$ECHO_N,;t t
6093 -s,@ECHO_T@,$ECHO_T,;t t
6094 -s,@LIBS@,$LIBS,;t t
6095 -s,@gc_basedir@,$gc_basedir,;t t
6096 -s,@build@,$build,;t t
6097 -s,@build_cpu@,$build_cpu,;t t
6098 -s,@build_vendor@,$build_vendor,;t t
6099 -s,@build_os@,$build_os,;t t
6100 -s,@host@,$host,;t t
6101 -s,@host_cpu@,$host_cpu,;t t
6102 -s,@host_vendor@,$host_vendor,;t t
6103 -s,@host_os@,$host_os,;t t
6104 -s,@target@,$target,;t t
6105 -s,@target_cpu@,$target_cpu,;t t
6106 -s,@target_vendor@,$target_vendor,;t t
6107 -s,@target_os@,$target_os,;t t
6108 -s,@mkinstalldirs@,$mkinstalldirs,;t t
6109 -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
6110 -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
6111 -s,@INSTALL_DATA@,$INSTALL_DATA,;t t
6112 -s,@PACKAGE@,$PACKAGE,;t t
6113 -s,@VERSION@,$VERSION,;t t
6114 -s,@ACLOCAL@,$ACLOCAL,;t t
6115 -s,@AUTOCONF@,$AUTOCONF,;t t
6116 -s,@AUTOMAKE@,$AUTOMAKE,;t t
6117 -s,@AUTOHEADER@,$AUTOHEADER,;t t
6118 -s,@MAKEINFO@,$MAKEINFO,;t t
6119 -s,@SET_MAKE@,$SET_MAKE,;t t
6120 -s,@CC@,$CC,;t t
6121 -s,@CXX@,$CXX,;t t
6122 -s,@AS@,$AS,;t t
6123 -s,@ac_ct_AS@,$ac_ct_AS,;t t
6124 -s,@AR@,$AR,;t t
6125 -s,@ac_ct_AR@,$ac_ct_AR,;t t
6126 -s,@RANLIB@,$RANLIB,;t t
6127 -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
6128 -s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
6129 -s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
6130 -s,@MAINT@,$MAINT,;t t
6131 -s,@GC_CFLAGS@,$GC_CFLAGS,;t t
6132 -s,@LN_S@,$LN_S,;t t
6133 -s,@STRIP@,$STRIP,;t t
6134 -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
6135 -s,@LIBTOOL@,$LIBTOOL,;t t
6136 -s,@CXXCPP@,$CXXCPP,;t t
6137 -s,@CPPFLAGS@,$CPPFLAGS,;t t
6138 -s,@THREADLIBS@,$THREADLIBS,;t t
6139 -s,@POWERPC_DARWIN_TRUE@,$POWERPC_DARWIN_TRUE,;t t
6140 -s,@POWERPC_DARWIN_FALSE@,$POWERPC_DARWIN_FALSE,;t t
6141 -s,@EXTRA_TEST_LIBS@,$EXTRA_TEST_LIBS,;t t
6142 -s,@target_all@,$target_all,;t t
6143 -s,@INCLUDES@,$INCLUDES,;t t
6144 -s,@CXXINCLUDES@,$CXXINCLUDES,;t t
6145 -s,@addobjs@,$addobjs,;t t
6146 -s,@MY_CFLAGS@,$MY_CFLAGS,;t t
6147 -s,@USE_LIBDIR_TRUE@,$USE_LIBDIR_TRUE,;t t
6148 -s,@USE_LIBDIR_FALSE@,$USE_LIBDIR_FALSE,;t t
6149 -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
6150 -s,@LTLIBOBJS@,$LTLIBOBJS,;t t
6151 -CEOF
6152 -
6153 -_ACEOF
6154 -
6155 -  cat >>$CONFIG_STATUS <<\_ACEOF
6156 -  # Split the substitutions into bite-sized pieces for seds with
6157 -  # small command number limits, like on Digital OSF/1 and HP-UX.
6158 -  ac_max_sed_lines=48
6159 -  ac_sed_frag=1 # Number of current file.
6160 -  ac_beg=1 # First line for current file.
6161 -  ac_end=$ac_max_sed_lines # Line after last line for current file.
6162 -  ac_more_lines=:
6163 -  ac_sed_cmds=
6164 -  while $ac_more_lines; do
6165 -    if test $ac_beg -gt 1; then
6166 -      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
6167 -    else
6168 -      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
6169 -    fi
6170 -    if test ! -s $tmp/subs.frag; then
6171 -      ac_more_lines=false
6172 -    else
6173 -      # The purpose of the label and of the branching condition is to
6174 -      # speed up the sed processing (if there are no `@' at all, there
6175 -      # is no need to browse any of the substitutions).
6176 -      # These are the two extra sed commands mentioned above.
6177 -      (echo ':t
6178 -  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
6179 -      if test -z "$ac_sed_cmds"; then
6180 -       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
6181 -      else
6182 -       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
6183 -      fi
6184 -      ac_sed_frag=`expr $ac_sed_frag + 1`
6185 -      ac_beg=$ac_end
6186 -      ac_end=`expr $ac_end + $ac_max_sed_lines`
6187 -    fi
6188 -  done
6189 -  if test -z "$ac_sed_cmds"; then
6190 -    ac_sed_cmds=cat
6191 -  fi
6192 -fi # test -n "$CONFIG_FILES"
6193 -
6194 -_ACEOF
6195 -cat >>$CONFIG_STATUS <<\_ACEOF
6196 -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
6197 -  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
6198 -  case $ac_file in
6199 -  - | *:- | *:-:* ) # input from stdin
6200 -        cat >$tmp/stdin
6201 -        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
6202 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
6203 -  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
6204 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
6205 -  * )   ac_file_in=$ac_file.in ;;
6206 -  esac
6207 -
6208 -  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
6209 -  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
6210 -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6211 -         X"$ac_file" : 'X\(//\)[^/]' \| \
6212 -         X"$ac_file" : 'X\(//\)$' \| \
6213 -         X"$ac_file" : 'X\(/\)' \| \
6214 -         .     : '\(.\)' 2>/dev/null ||
6215 -echo X"$ac_file" |
6216 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6217 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6218 -         /^X\(\/\/\)$/{ s//\1/; q; }
6219 -         /^X\(\/\).*/{ s//\1/; q; }
6220 -         s/.*/./; q'`
6221 -  { if $as_mkdir_p; then
6222 -    mkdir -p "$ac_dir"
6223 -  else
6224 -    as_dir="$ac_dir"
6225 -    as_dirs=
6226 -    while test ! -d "$as_dir"; do
6227 -      as_dirs="$as_dir $as_dirs"
6228 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
6229 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6230 -         X"$as_dir" : 'X\(//\)[^/]' \| \
6231 -         X"$as_dir" : 'X\(//\)$' \| \
6232 -         X"$as_dir" : 'X\(/\)' \| \
6233 -         .     : '\(.\)' 2>/dev/null ||
6234 -echo X"$as_dir" |
6235 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6236 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6237 -         /^X\(\/\/\)$/{ s//\1/; q; }
6238 -         /^X\(\/\).*/{ s//\1/; q; }
6239 -         s/.*/./; q'`
6240 -    done
6241 -    test ! -n "$as_dirs" || mkdir $as_dirs
6242 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
6243 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
6244 -   { (exit 1); exit 1; }; }; }
6245 -
6246 -  ac_builddir=.
6247 -
6248 -if test "$ac_dir" != .; then
6249 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
6250 -  # A "../" for each directory in $ac_dir_suffix.
6251 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
6252 -else
6253 -  ac_dir_suffix= ac_top_builddir=
6254 -fi
6255 -
6256 -case $srcdir in
6257 -  .)  # No --srcdir option.  We are building in place.
6258 -    ac_srcdir=.
6259 -    if test -z "$ac_top_builddir"; then
6260 -       ac_top_srcdir=.
6261 -    else
6262 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
6263 -    fi ;;
6264 -  [\\/]* | ?:[\\/]* )  # Absolute path.
6265 -    ac_srcdir=$srcdir$ac_dir_suffix;
6266 -    ac_top_srcdir=$srcdir ;;
6267 -  *) # Relative path.
6268 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
6269 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
6270 -esac
6271 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
6272 -# absolute.
6273 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
6274 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
6275 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
6276 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
6277 -
6278 -
6279 -  case $INSTALL in
6280 -  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
6281 -  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
6282 -  esac
6283 -
6284 -  if test x"$ac_file" != x-; then
6285 -    { echo "$as_me:$LINENO: creating $ac_file" >&5
6286 -echo "$as_me: creating $ac_file" >&6;}
6287 -    rm -f "$ac_file"
6288 -  fi
6289 -  # Let's still pretend it is `configure' which instantiates (i.e., don't
6290 -  # use $as_me), people would be surprised to read:
6291 -  #    /* config.h.  Generated by config.status.  */
6292 -  if test x"$ac_file" = x-; then
6293 -    configure_input=
6294 -  else
6295 -    configure_input="$ac_file.  "
6296 -  fi
6297 -  configure_input=$configure_input"Generated from `echo $ac_file_in |
6298 -                                     sed 's,.*/,,'` by configure."
6299 -
6300 -  # First look for the input files in the build tree, otherwise in the
6301 -  # src tree.
6302 -  ac_file_inputs=`IFS=:
6303 -    for f in $ac_file_in; do
6304 -      case $f in
6305 -      -) echo $tmp/stdin ;;
6306 -      [\\/$]*)
6307 -         # Absolute (can't be DOS-style, as IFS=:)
6308 -         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
6309 -echo "$as_me: error: cannot find input file: $f" >&2;}
6310 -   { (exit 1); exit 1; }; }
6311 -         echo $f;;
6312 -      *) # Relative
6313 -         if test -f "$f"; then
6314 -           # Build tree
6315 -           echo $f
6316 -         elif test -f "$srcdir/$f"; then
6317 -           # Source tree
6318 -           echo $srcdir/$f
6319 -         else
6320 -           # /dev/null tree
6321 -           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
6322 -echo "$as_me: error: cannot find input file: $f" >&2;}
6323 -   { (exit 1); exit 1; }; }
6324 -         fi;;
6325 -      esac
6326 -    done` || { (exit 1); exit 1; }
6327 -_ACEOF
6328 -cat >>$CONFIG_STATUS <<_ACEOF
6329 -  sed "$ac_vpsub
6330 -$extrasub
6331 -_ACEOF
6332 -cat >>$CONFIG_STATUS <<\_ACEOF
6333 -:t
6334 -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
6335 -s,@configure_input@,$configure_input,;t t
6336 -s,@srcdir@,$ac_srcdir,;t t
6337 -s,@abs_srcdir@,$ac_abs_srcdir,;t t
6338 -s,@top_srcdir@,$ac_top_srcdir,;t t
6339 -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
6340 -s,@builddir@,$ac_builddir,;t t
6341 -s,@abs_builddir@,$ac_abs_builddir,;t t
6342 -s,@top_builddir@,$ac_top_builddir,;t t
6343 -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
6344 -s,@INSTALL@,$ac_INSTALL,;t t
6345 -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
6346 -  rm -f $tmp/stdin
6347 -  if test x"$ac_file" != x-; then
6348 -    mv $tmp/out $ac_file
6349 -  else
6350 -    cat $tmp/out
6351 -    rm -f $tmp/out
6352 -  fi
6353 -
6354 -done
6355 -_ACEOF
6356 -cat >>$CONFIG_STATUS <<\_ACEOF
6357 -
6358 -#
6359 -# CONFIG_COMMANDS section.
6360 -#
6361 -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
6362 -  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
6363 -  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
6364 -  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
6365 -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6366 -         X"$ac_dest" : 'X\(//\)[^/]' \| \
6367 -         X"$ac_dest" : 'X\(//\)$' \| \
6368 -         X"$ac_dest" : 'X\(/\)' \| \
6369 -         .     : '\(.\)' 2>/dev/null ||
6370 -echo X"$ac_dest" |
6371 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6372 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6373 -         /^X\(\/\/\)$/{ s//\1/; q; }
6374 -         /^X\(\/\).*/{ s//\1/; q; }
6375 -         s/.*/./; q'`
6376 -  ac_builddir=.
6377 -
6378 -if test "$ac_dir" != .; then
6379 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
6380 -  # A "../" for each directory in $ac_dir_suffix.
6381 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
6382 -else
6383 -  ac_dir_suffix= ac_top_builddir=
6384 -fi
6385 -
6386 -case $srcdir in
6387 -  .)  # No --srcdir option.  We are building in place.
6388 -    ac_srcdir=.
6389 -    if test -z "$ac_top_builddir"; then
6390 -       ac_top_srcdir=.
6391 -    else
6392 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
6393 -    fi ;;
6394 -  [\\/]* | ?:[\\/]* )  # Absolute path.
6395 -    ac_srcdir=$srcdir$ac_dir_suffix;
6396 -    ac_top_srcdir=$srcdir ;;
6397 -  *) # Relative path.
6398 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
6399 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
6400 -esac
6401 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
6402 -# absolute.
6403 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
6404 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
6405 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
6406 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
6407 -
6408 -
6409 -  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
6410 -echo "$as_me: executing $ac_dest commands" >&6;}
6411 -  case $ac_dest in
6412 -    default ) 
6413 -echo "$DEFS" > boehm-cflags
6414 -
6415 -if test -n "$CONFIG_FILES"; then
6416 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
6417 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
6418 -fi ;;
6419 -  esac
6420 -done
6421 -_ACEOF
6422 -
6423 -cat >>$CONFIG_STATUS <<\_ACEOF
6424 -
6425 -{ (exit 0); exit 0; }
6426 -_ACEOF
6427 -chmod +x $CONFIG_STATUS
6428 -ac_clean_files=$ac_clean_files_save
6429 -
6430 -
6431 -# configure is writing to config.log, and then calls config.status.
6432 -# config.status does its own redirection, appending to config.log.
6433 -# Unfortunately, on DOS this fails, as config.log is still kept open
6434 -# by configure, so config.status won't be able to write to it; its
6435 -# output is simply discarded.  So we exec the FD to /dev/null,
6436 -# effectively closing config.log, so it can be properly (re)opened and
6437 -# appended to by config.status.  When coming back to configure, we
6438 -# need to make the FD available again.
6439 -if test "$no_create" != yes; then
6440 -  ac_cs_success=:
6441 -  ac_config_status_args=
6442 -  test "$silent" = yes &&
6443 -    ac_config_status_args="$ac_config_status_args --quiet"
6444 -  exec 5>/dev/null
6445 -  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
6446 -  exec 5>>config.log
6447 -  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
6448 -  # would make configure fail if this is the last instruction.
6449 -  $ac_cs_success || { (exit 1); exit 1; }
6450 -fi
6451 -
6452 diff -Nur ../boehm-gc/autom4te.cache/output.1 boehm-gc/autom4te.cache/output.1
6453 --- ../boehm-gc/autom4te.cache/output.1 Sat May 31 15:09:31 2003
6454 +++ boehm-gc/autom4te.cache/output.1    Wed Dec 31 16:00:00 1969
6455 @@ -1,9496 +0,0 @@
6456 -@%:@! /bin/sh
6457 -@%:@ Guess values for system-dependent variables and create Makefiles.
6458 -@%:@ Generated by GNU Autoconf 2.54.
6459 -@%:@ 
6460 -@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
6461 -@%:@ Free Software Foundation, Inc.
6462 -@%:@ This configure script is free software; the Free Software Foundation
6463 -@%:@ gives unlimited permission to copy, distribute and modify it.
6464 -## --------------------- ##
6465 -## M4sh Initialization.  ##
6466 -## --------------------- ##
6467 -
6468 -# Be Bourne compatible
6469 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
6470 -  emulate sh
6471 -  NULLCMD=:
6472 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
6473 -  # is contrary to our usage.  Disable this feature.
6474 -  alias -g '${1+"$@"}'='"$@"'
6475 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
6476 -  set -o posix
6477 -fi
6478 -
6479 -# Support unset when possible.
6480 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
6481 -  as_unset=unset
6482 -else
6483 -  as_unset=false
6484 -fi
6485 -
6486 -
6487 -# Work around bugs in pre-3.0 UWIN ksh.
6488 -$as_unset ENV MAIL MAILPATH
6489 -PS1='$ '
6490 -PS2='> '
6491 -PS4='+ '
6492 -
6493 -# NLS nuisances.
6494 -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
6495 -do
6496 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
6497 -    eval $as_var=C; export $as_var
6498 -  else
6499 -    $as_unset $as_var
6500 -  fi
6501 -done
6502 -
6503 -# Required to use basename.
6504 -if expr a : '\(a\)' >/dev/null 2>&1; then
6505 -  as_expr=expr
6506 -else
6507 -  as_expr=false
6508 -fi
6509 -
6510 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
6511 -  as_basename=basename
6512 -else
6513 -  as_basename=false
6514 -fi
6515 -
6516 -
6517 -# Name of the executable.
6518 -as_me=`$as_basename "$0" ||
6519 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
6520 -        X"$0" : 'X\(//\)$' \| \
6521 -        X"$0" : 'X\(/\)$' \| \
6522 -        .     : '\(.\)' 2>/dev/null ||
6523 -echo X/"$0" |
6524 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
6525 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
6526 -         /^X\/\(\/\).*/{ s//\1/; q; }
6527 -         s/.*/./; q'`
6528 -
6529 -
6530 -# PATH needs CR, and LINENO needs CR and PATH.
6531 -# Avoid depending upon Character Ranges.
6532 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
6533 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
6534 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
6535 -as_cr_digits='0123456789'
6536 -as_cr_alnum=$as_cr_Letters$as_cr_digits
6537 -
6538 -# The user is always right.
6539 -if test "${PATH_SEPARATOR+set}" != set; then
6540 -  echo "#! /bin/sh" >conftest.sh
6541 -  echo  "exit 0"   >>conftest.sh
6542 -  chmod +x conftest.sh
6543 -  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
6544 -    PATH_SEPARATOR=';'
6545 -  else
6546 -    PATH_SEPARATOR=:
6547 -  fi
6548 -  rm -f conftest.sh
6549 -fi
6550 -
6551 -
6552 -  as_lineno_1=$LINENO
6553 -  as_lineno_2=$LINENO
6554 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
6555 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
6556 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
6557 -  # Find who we are.  Look in the path if we contain no path at all
6558 -  # relative or not.
6559 -  case $0 in
6560 -    *[\\/]* ) as_myself=$0 ;;
6561 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6562 -for as_dir in $PATH
6563 -do
6564 -  IFS=$as_save_IFS
6565 -  test -z "$as_dir" && as_dir=.
6566 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
6567 -done
6568 -
6569 -       ;;
6570 -  esac
6571 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
6572 -  # in which case we are not to be found in the path.
6573 -  if test "x$as_myself" = x; then
6574 -    as_myself=$0
6575 -  fi
6576 -  if test ! -f "$as_myself"; then
6577 -    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
6578 -   { (exit 1); exit 1; }; }
6579 -  fi
6580 -  case $CONFIG_SHELL in
6581 -  '')
6582 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6583 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
6584 -do
6585 -  IFS=$as_save_IFS
6586 -  test -z "$as_dir" && as_dir=.
6587 -  for as_base in sh bash ksh sh5; do
6588 -        case $as_dir in
6589 -        /*)
6590 -          if ("$as_dir/$as_base" -c '
6591 -  as_lineno_1=$LINENO
6592 -  as_lineno_2=$LINENO
6593 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
6594 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
6595 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
6596 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
6597 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
6598 -            CONFIG_SHELL=$as_dir/$as_base
6599 -            export CONFIG_SHELL
6600 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
6601 -          fi;;
6602 -        esac
6603 -       done
6604 -done
6605 -;;
6606 -  esac
6607 -
6608 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
6609 -  # uniformly replaced by the line number.  The first 'sed' inserts a
6610 -  # line-number line before each line; the second 'sed' does the real
6611 -  # work.  The second script uses 'N' to pair each line-number line
6612 -  # with the numbered line, and appends trailing '-' during
6613 -  # substitution so that $LINENO is not a special case at line end.
6614 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
6615 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
6616 -  sed '=' <$as_myself |
6617 -    sed '
6618 -      N
6619 -      s,$,-,
6620 -      : loop
6621 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
6622 -      t loop
6623 -      s,-$,,
6624 -      s,^['$as_cr_digits']*\n,,
6625 -    ' >$as_me.lineno &&
6626 -  chmod +x $as_me.lineno ||
6627 -    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
6628 -   { (exit 1); exit 1; }; }
6629 -
6630 -  # Don't try to exec as it changes $[0], causing all sort of problems
6631 -  # (the dirname of $[0] is not the place where we might find the
6632 -  # original and so on.  Autoconf is especially sensible to this).
6633 -  . ./$as_me.lineno
6634 -  # Exit status is that of the last command.
6635 -  exit
6636 -}
6637 -
6638 -
6639 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
6640 -  *c*,-n*) ECHO_N= ECHO_C='
6641 -' ECHO_T='     ' ;;
6642 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
6643 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
6644 -esac
6645 -
6646 -if expr a : '\(a\)' >/dev/null 2>&1; then
6647 -  as_expr=expr
6648 -else
6649 -  as_expr=false
6650 -fi
6651 -
6652 -rm -f conf$$ conf$$.exe conf$$.file
6653 -echo >conf$$.file
6654 -if ln -s conf$$.file conf$$ 2>/dev/null; then
6655 -  # We could just check for DJGPP; but this test a) works b) is more generic
6656 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
6657 -  if test -f conf$$.exe; then
6658 -    # Don't use ln at all; we don't have any links
6659 -    as_ln_s='cp -p'
6660 -  else
6661 -    as_ln_s='ln -s'
6662 -  fi
6663 -elif ln conf$$.file conf$$ 2>/dev/null; then
6664 -  as_ln_s=ln
6665 -else
6666 -  as_ln_s='cp -p'
6667 -fi
6668 -rm -f conf$$ conf$$.exe conf$$.file
6669 -
6670 -if mkdir -p . 2>/dev/null; then
6671 -  as_mkdir_p=:
6672 -else
6673 -  as_mkdir_p=false
6674 -fi
6675 -
6676 -as_executable_p="test -f"
6677 -
6678 -# Sed expression to map a string onto a valid CPP name.
6679 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
6680 -
6681 -# Sed expression to map a string onto a valid variable name.
6682 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
6683 -
6684 -
6685 -# IFS
6686 -# We need space, tab and new line, in precisely that order.
6687 -as_nl='
6688 -'
6689 -IFS="  $as_nl"
6690 -
6691 -# CDPATH.
6692 -$as_unset CDPATH
6693 -
6694 -
6695 -# Find the correct PATH separator.  Usually this is `:', but
6696 -# DJGPP uses `;' like DOS.
6697 -if test "X${PATH_SEPARATOR+set}" != Xset; then
6698 -  UNAME=${UNAME-`uname 2>/dev/null`}
6699 -  case X$UNAME in
6700 -    *-DOS) lt_cv_sys_path_separator=';' ;;
6701 -    *)     lt_cv_sys_path_separator=':' ;;
6702 -  esac
6703 -  PATH_SEPARATOR=$lt_cv_sys_path_separator
6704 -fi
6705 -
6706 -
6707 -# Check that we are running under the correct shell.
6708 -SHELL=${CONFIG_SHELL-/bin/sh}
6709 -
6710 -case X$ECHO in
6711 -X*--fallback-echo)
6712 -  # Remove one level of quotation (which was required for Make).
6713 -  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
6714 -  ;;
6715 -esac
6716 -
6717 -echo=${ECHO-echo}
6718 -if test "X$1" = X--no-reexec; then
6719 -  # Discard the --no-reexec flag, and continue.
6720 -  shift
6721 -elif test "X$1" = X--fallback-echo; then
6722 -  # Avoid inline document here, it may be left over
6723 -  :
6724 -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
6725 -  # Yippee, $echo works!
6726 -  :
6727 -else
6728 -  # Restart under the correct shell.
6729 -  exec $SHELL "$0" --no-reexec ${1+"$@"}
6730 -fi
6731 -
6732 -if test "X$1" = X--fallback-echo; then
6733 -  # used as fallback echo
6734 -  shift
6735 -  cat <<EOF
6736 -
6737 -EOF
6738 -  exit 0
6739 -fi
6740 -
6741 -# The HP-UX ksh and POSIX shell print the target directory to stdout
6742 -# if CDPATH is set.
6743 -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
6744 -
6745 -if test -z "$ECHO"; then
6746 -if test "X${echo_test_string+set}" != Xset; then
6747 -# find a string as large as possible, as long as the shell can cope with it
6748 -  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
6749 -    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
6750 -    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
6751 -       echo_test_string="`eval $cmd`" &&
6752 -       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
6753 -    then
6754 -      break
6755 -    fi
6756 -  done
6757 -fi
6758 -
6759 -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
6760 -   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
6761 -   test "X$echo_testing_string" = "X$echo_test_string"; then
6762 -  :
6763 -else
6764 -  # The Solaris, AIX, and Digital Unix default echo programs unquote
6765 -  # backslashes.  This makes it impossible to quote backslashes using
6766 -  #   echo "$something" | sed 's/\\/\\\\/g'
6767 -  #
6768 -  # So, first we look for a working echo in the user's PATH.
6769 -
6770 -  IFS="${IFS=  }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
6771 -  for dir in $PATH /usr/ucb; do
6772 -    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
6773 -       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
6774 -       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
6775 -       test "X$echo_testing_string" = "X$echo_test_string"; then
6776 -      echo="$dir/echo"
6777 -      break
6778 -    fi
6779 -  done
6780 -  IFS="$save_ifs"
6781 -
6782 -  if test "X$echo" = Xecho; then
6783 -    # We didn't find a better echo, so look for alternatives.
6784 -    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
6785 -       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
6786 -       test "X$echo_testing_string" = "X$echo_test_string"; then
6787 -      # This shell has a builtin print -r that does the trick.
6788 -      echo='print -r'
6789 -    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
6790 -        test "X$CONFIG_SHELL" != X/bin/ksh; then
6791 -      # If we have ksh, try running configure again with it.
6792 -      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
6793 -      export ORIGINAL_CONFIG_SHELL
6794 -      CONFIG_SHELL=/bin/ksh
6795 -      export CONFIG_SHELL
6796 -      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
6797 -    else
6798 -      # Try using printf.
6799 -      echo='printf %s\n'
6800 -      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
6801 -        echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
6802 -        test "X$echo_testing_string" = "X$echo_test_string"; then
6803 -       # Cool, printf works
6804 -       :
6805 -      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
6806 -          test "X$echo_testing_string" = 'X\t' &&
6807 -          echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
6808 -          test "X$echo_testing_string" = "X$echo_test_string"; then
6809 -       CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
6810 -       export CONFIG_SHELL
6811 -       SHELL="$CONFIG_SHELL"
6812 -       export SHELL
6813 -       echo="$CONFIG_SHELL $0 --fallback-echo"
6814 -      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
6815 -          test "X$echo_testing_string" = 'X\t' &&
6816 -          echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
6817 -          test "X$echo_testing_string" = "X$echo_test_string"; then
6818 -       echo="$CONFIG_SHELL $0 --fallback-echo"
6819 -      else
6820 -       # maybe with a smaller string...
6821 -       prev=:
6822 -
6823 -       for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
6824 -         if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
6825 -         then
6826 -           break
6827 -         fi
6828 -         prev="$cmd"
6829 -       done
6830 -
6831 -       if test "$prev" != 'sed 50q "$0"'; then
6832 -         echo_test_string=`eval $prev`
6833 -         export echo_test_string
6834 -         exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
6835 -       else
6836 -         # Oops.  We lost completely, so just stick with echo.
6837 -         echo=echo
6838 -       fi
6839 -      fi
6840 -    fi
6841 -  fi
6842 -fi
6843 -fi
6844 -
6845 -# Copy echo and quote the copy suitably for passing to libtool from
6846 -# the Makefile, instead of quoting the original, which is used later.
6847 -ECHO=$echo
6848 -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
6849 -   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
6850 -fi
6851 -
6852 -
6853 -
6854 -# Name of the host.
6855 -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
6856 -# so uname gets run too.
6857 -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
6858 -
6859 -exec 6>&1
6860 -
6861 -#
6862 -# Initializations.
6863 -#
6864 -ac_default_prefix=/usr/local
6865 -ac_config_libobj_dir=.
6866 -cross_compiling=no
6867 -subdirs=
6868 -MFLAGS=
6869 -MAKEFLAGS=
6870 -SHELL=${CONFIG_SHELL-/bin/sh}
6871 -
6872 -# Maximum number of lines to put in a shell here document.
6873 -# This variable seems obsolete.  It should probably be removed, and
6874 -# only ac_max_sed_lines should be used.
6875 -: ${ac_max_here_lines=38}
6876 -
6877 -# Identity of this package.
6878 -PACKAGE_NAME=
6879 -PACKAGE_TARNAME=
6880 -PACKAGE_VERSION=
6881 -PACKAGE_STRING=
6882 -PACKAGE_BUGREPORT=
6883 -
6884 -ac_unique_file="gcj_mlc.c"
6885 -# Factoring default headers for most tests.
6886 -ac_includes_default="\
6887 -#include <stdio.h>
6888 -#if HAVE_SYS_TYPES_H
6889 -# include <sys/types.h>
6890 -#endif
6891 -#if HAVE_SYS_STAT_H
6892 -# include <sys/stat.h>
6893 -#endif
6894 -#if STDC_HEADERS
6895 -# include <stdlib.h>
6896 -# include <stddef.h>
6897 -#else
6898 -# if HAVE_STDLIB_H
6899 -#  include <stdlib.h>
6900 -# endif
6901 -#endif
6902 -#if HAVE_STRING_H
6903 -# if !STDC_HEADERS && HAVE_MEMORY_H
6904 -#  include <memory.h>
6905 -# endif
6906 -# include <string.h>
6907 -#endif
6908 -#if HAVE_STRINGS_H
6909 -# include <strings.h>
6910 -#endif
6911 -#if HAVE_INTTYPES_H
6912 -# include <inttypes.h>
6913 -#else
6914 -# if HAVE_STDINT_H
6915 -#  include <stdint.h>
6916 -# endif
6917 -#endif
6918 -#if HAVE_UNISTD_H
6919 -# include <unistd.h>
6920 -#endif"
6921 -
6922 -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'
6923 -ac_subst_files=''
6924 -
6925 -# Initialize some variables set by options.
6926 -ac_init_help=
6927 -ac_init_version=false
6928 -# The variables have the same names as the options, with
6929 -# dashes changed to underlines.
6930 -cache_file=/dev/null
6931 -exec_prefix=NONE
6932 -no_create=
6933 -no_recursion=
6934 -prefix=NONE
6935 -program_prefix=NONE
6936 -program_suffix=NONE
6937 -program_transform_name=s,x,x,
6938 -silent=
6939 -site=
6940 -srcdir=
6941 -verbose=
6942 -x_includes=NONE
6943 -x_libraries=NONE
6944 -
6945 -# Installation directory options.
6946 -# These are left unexpanded so users can "make install exec_prefix=/foo"
6947 -# and all the variables that are supposed to be based on exec_prefix
6948 -# by default will actually change.
6949 -# Use braces instead of parens because sh, perl, etc. also accept them.
6950 -bindir='${exec_prefix}/bin'
6951 -sbindir='${exec_prefix}/sbin'
6952 -libexecdir='${exec_prefix}/libexec'
6953 -datadir='${prefix}/share'
6954 -sysconfdir='${prefix}/etc'
6955 -sharedstatedir='${prefix}/com'
6956 -localstatedir='${prefix}/var'
6957 -libdir='${exec_prefix}/lib'
6958 -includedir='${prefix}/include'
6959 -oldincludedir='/usr/include'
6960 -infodir='${prefix}/info'
6961 -mandir='${prefix}/man'
6962 -
6963 -ac_prev=
6964 -for ac_option
6965 -do
6966 -  # If the previous option needs an argument, assign it.
6967 -  if test -n "$ac_prev"; then
6968 -    eval "$ac_prev=\$ac_option"
6969 -    ac_prev=
6970 -    continue
6971 -  fi
6972 -
6973 -  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
6974 -
6975 -  # Accept the important Cygnus configure options, so we can diagnose typos.
6976 -
6977 -  case $ac_option in
6978 -
6979 -  -bindir | --bindir | --bindi | --bind | --bin | --bi)
6980 -    ac_prev=bindir ;;
6981 -  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
6982 -    bindir=$ac_optarg ;;
6983 -
6984 -  -build | --build | --buil | --bui | --bu)
6985 -    ac_prev=build_alias ;;
6986 -  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
6987 -    build_alias=$ac_optarg ;;
6988 -
6989 -  -cache-file | --cache-file | --cache-fil | --cache-fi \
6990 -  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
6991 -    ac_prev=cache_file ;;
6992 -  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
6993 -  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
6994 -    cache_file=$ac_optarg ;;
6995 -
6996 -  --config-cache | -C)
6997 -    cache_file=config.cache ;;
6998 -
6999 -  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
7000 -    ac_prev=datadir ;;
7001 -  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
7002 -  | --da=*)
7003 -    datadir=$ac_optarg ;;
7004 -
7005 -  -disable-* | --disable-*)
7006 -    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
7007 -    # Reject names that are not valid shell variable names.
7008 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7009 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
7010 -   { (exit 1); exit 1; }; }
7011 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
7012 -    eval "enable_$ac_feature=no" ;;
7013 -
7014 -  -enable-* | --enable-*)
7015 -    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
7016 -    # Reject names that are not valid shell variable names.
7017 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7018 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
7019 -   { (exit 1); exit 1; }; }
7020 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
7021 -    case $ac_option in
7022 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
7023 -      *) ac_optarg=yes ;;
7024 -    esac
7025 -    eval "enable_$ac_feature='$ac_optarg'" ;;
7026 -
7027 -  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
7028 -  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
7029 -  | --exec | --exe | --ex)
7030 -    ac_prev=exec_prefix ;;
7031 -  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
7032 -  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
7033 -  | --exec=* | --exe=* | --ex=*)
7034 -    exec_prefix=$ac_optarg ;;
7035 -
7036 -  -gas | --gas | --ga | --g)
7037 -    # Obsolete; use --with-gas.
7038 -    with_gas=yes ;;
7039 -
7040 -  -help | --help | --hel | --he | -h)
7041 -    ac_init_help=long ;;
7042 -  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
7043 -    ac_init_help=recursive ;;
7044 -  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
7045 -    ac_init_help=short ;;
7046 -
7047 -  -host | --host | --hos | --ho)
7048 -    ac_prev=host_alias ;;
7049 -  -host=* | --host=* | --hos=* | --ho=*)
7050 -    host_alias=$ac_optarg ;;
7051 -
7052 -  -includedir | --includedir | --includedi | --included | --include \
7053 -  | --includ | --inclu | --incl | --inc)
7054 -    ac_prev=includedir ;;
7055 -  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
7056 -  | --includ=* | --inclu=* | --incl=* | --inc=*)
7057 -    includedir=$ac_optarg ;;
7058 -
7059 -  -infodir | --infodir | --infodi | --infod | --info | --inf)
7060 -    ac_prev=infodir ;;
7061 -  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
7062 -    infodir=$ac_optarg ;;
7063 -
7064 -  -libdir | --libdir | --libdi | --libd)
7065 -    ac_prev=libdir ;;
7066 -  -libdir=* | --libdir=* | --libdi=* | --libd=*)
7067 -    libdir=$ac_optarg ;;
7068 -
7069 -  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
7070 -  | --libexe | --libex | --libe)
7071 -    ac_prev=libexecdir ;;
7072 -  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
7073 -  | --libexe=* | --libex=* | --libe=*)
7074 -    libexecdir=$ac_optarg ;;
7075 -
7076 -  -localstatedir | --localstatedir | --localstatedi | --localstated \
7077 -  | --localstate | --localstat | --localsta | --localst \
7078 -  | --locals | --local | --loca | --loc | --lo)
7079 -    ac_prev=localstatedir ;;
7080 -  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
7081 -  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
7082 -  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
7083 -    localstatedir=$ac_optarg ;;
7084 -
7085 -  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
7086 -    ac_prev=mandir ;;
7087 -  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
7088 -    mandir=$ac_optarg ;;
7089 -
7090 -  -nfp | --nfp | --nf)
7091 -    # Obsolete; use --without-fp.
7092 -    with_fp=no ;;
7093 -
7094 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
7095 -  | --no-cr | --no-c | -n)
7096 -    no_create=yes ;;
7097 -
7098 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
7099 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
7100 -    no_recursion=yes ;;
7101 -
7102 -  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
7103 -  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
7104 -  | --oldin | --oldi | --old | --ol | --o)
7105 -    ac_prev=oldincludedir ;;
7106 -  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
7107 -  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
7108 -  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
7109 -    oldincludedir=$ac_optarg ;;
7110 -
7111 -  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
7112 -    ac_prev=prefix ;;
7113 -  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
7114 -    prefix=$ac_optarg ;;
7115 -
7116 -  -program-prefix | --program-prefix | --program-prefi | --program-pref \
7117 -  | --program-pre | --program-pr | --program-p)
7118 -    ac_prev=program_prefix ;;
7119 -  -program-prefix=* | --program-prefix=* | --program-prefi=* \
7120 -  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
7121 -    program_prefix=$ac_optarg ;;
7122 -
7123 -  -program-suffix | --program-suffix | --program-suffi | --program-suff \
7124 -  | --program-suf | --program-su | --program-s)
7125 -    ac_prev=program_suffix ;;
7126 -  -program-suffix=* | --program-suffix=* | --program-suffi=* \
7127 -  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
7128 -    program_suffix=$ac_optarg ;;
7129 -
7130 -  -program-transform-name | --program-transform-name \
7131 -  | --program-transform-nam | --program-transform-na \
7132 -  | --program-transform-n | --program-transform- \
7133 -  | --program-transform | --program-transfor \
7134 -  | --program-transfo | --program-transf \
7135 -  | --program-trans | --program-tran \
7136 -  | --progr-tra | --program-tr | --program-t)
7137 -    ac_prev=program_transform_name ;;
7138 -  -program-transform-name=* | --program-transform-name=* \
7139 -  | --program-transform-nam=* | --program-transform-na=* \
7140 -  | --program-transform-n=* | --program-transform-=* \
7141 -  | --program-transform=* | --program-transfor=* \
7142 -  | --program-transfo=* | --program-transf=* \
7143 -  | --program-trans=* | --program-tran=* \
7144 -  | --progr-tra=* | --program-tr=* | --program-t=*)
7145 -    program_transform_name=$ac_optarg ;;
7146 -
7147 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
7148 -  | -silent | --silent | --silen | --sile | --sil)
7149 -    silent=yes ;;
7150 -
7151 -  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
7152 -    ac_prev=sbindir ;;
7153 -  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
7154 -  | --sbi=* | --sb=*)
7155 -    sbindir=$ac_optarg ;;
7156 -
7157 -  -sharedstatedir | --sharedstatedir | --sharedstatedi \
7158 -  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
7159 -  | --sharedst | --shareds | --shared | --share | --shar \
7160 -  | --sha | --sh)
7161 -    ac_prev=sharedstatedir ;;
7162 -  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
7163 -  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
7164 -  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
7165 -  | --sha=* | --sh=*)
7166 -    sharedstatedir=$ac_optarg ;;
7167 -
7168 -  -site | --site | --sit)
7169 -    ac_prev=site ;;
7170 -  -site=* | --site=* | --sit=*)
7171 -    site=$ac_optarg ;;
7172 -
7173 -  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
7174 -    ac_prev=srcdir ;;
7175 -  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
7176 -    srcdir=$ac_optarg ;;
7177 -
7178 -  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
7179 -  | --syscon | --sysco | --sysc | --sys | --sy)
7180 -    ac_prev=sysconfdir ;;
7181 -  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
7182 -  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
7183 -    sysconfdir=$ac_optarg ;;
7184 -
7185 -  -target | --target | --targe | --targ | --tar | --ta | --t)
7186 -    ac_prev=target_alias ;;
7187 -  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
7188 -    target_alias=$ac_optarg ;;
7189 -
7190 -  -v | -verbose | --verbose | --verbos | --verbo | --verb)
7191 -    verbose=yes ;;
7192 -
7193 -  -version | --version | --versio | --versi | --vers | -V)
7194 -    ac_init_version=: ;;
7195 -
7196 -  -with-* | --with-*)
7197 -    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
7198 -    # Reject names that are not valid shell variable names.
7199 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7200 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
7201 -   { (exit 1); exit 1; }; }
7202 -    ac_package=`echo $ac_package| sed 's/-/_/g'`
7203 -    case $ac_option in
7204 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
7205 -      *) ac_optarg=yes ;;
7206 -    esac
7207 -    eval "with_$ac_package='$ac_optarg'" ;;
7208 -
7209 -  -without-* | --without-*)
7210 -    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
7211 -    # Reject names that are not valid shell variable names.
7212 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7213 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
7214 -   { (exit 1); exit 1; }; }
7215 -    ac_package=`echo $ac_package | sed 's/-/_/g'`
7216 -    eval "with_$ac_package=no" ;;
7217 -
7218 -  --x)
7219 -    # Obsolete; use --with-x.
7220 -    with_x=yes ;;
7221 -
7222 -  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
7223 -  | --x-incl | --x-inc | --x-in | --x-i)
7224 -    ac_prev=x_includes ;;
7225 -  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
7226 -  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
7227 -    x_includes=$ac_optarg ;;
7228 -
7229 -  -x-libraries | --x-libraries | --x-librarie | --x-librari \
7230 -  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
7231 -    ac_prev=x_libraries ;;
7232 -  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
7233 -  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
7234 -    x_libraries=$ac_optarg ;;
7235 -
7236 -  -*) { echo "$as_me: error: unrecognized option: $ac_option
7237 -Try \`$0 --help' for more information." >&2
7238 -   { (exit 1); exit 1; }; }
7239 -    ;;
7240 -
7241 -  *=*)
7242 -    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
7243 -    # Reject names that are not valid shell variable names.
7244 -    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
7245 -      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
7246 -   { (exit 1); exit 1; }; }
7247 -    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
7248 -    eval "$ac_envvar='$ac_optarg'"
7249 -    export $ac_envvar ;;
7250 -
7251 -  *)
7252 -    # FIXME: should be removed in autoconf 3.0.
7253 -    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
7254 -    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
7255 -      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
7256 -    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
7257 -    ;;
7258 -
7259 -  esac
7260 -done
7261 -
7262 -if test -n "$ac_prev"; then
7263 -  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
7264 -  { echo "$as_me: error: missing argument to $ac_option" >&2
7265 -   { (exit 1); exit 1; }; }
7266 -fi
7267 -
7268 -# Be sure to have absolute paths.
7269 -for ac_var in exec_prefix prefix
7270 -do
7271 -  eval ac_val=$`echo $ac_var`
7272 -  case $ac_val in
7273 -    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
7274 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
7275 -   { (exit 1); exit 1; }; };;
7276 -  esac
7277 -done
7278 -
7279 -# Be sure to have absolute paths.
7280 -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
7281 -              localstatedir libdir includedir oldincludedir infodir mandir
7282 -do
7283 -  eval ac_val=$`echo $ac_var`
7284 -  case $ac_val in
7285 -    [\\/$]* | ?:[\\/]* ) ;;
7286 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
7287 -   { (exit 1); exit 1; }; };;
7288 -  esac
7289 -done
7290 -
7291 -# There might be people who depend on the old broken behavior: `$host'
7292 -# used to hold the argument of --host etc.
7293 -# FIXME: To remove some day.
7294 -build=$build_alias
7295 -host=$host_alias
7296 -target=$target_alias
7297 -
7298 -# FIXME: To remove some day.
7299 -if test "x$host_alias" != x; then
7300 -  if test "x$build_alias" = x; then
7301 -    cross_compiling=maybe
7302 -    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
7303 -    If a cross compiler is detected then cross compile mode will be used." >&2
7304 -  elif test "x$build_alias" != "x$host_alias"; then
7305 -    cross_compiling=yes
7306 -  fi
7307 -fi
7308 -
7309 -ac_tool_prefix=
7310 -test -n "$host_alias" && ac_tool_prefix=$host_alias-
7311 -
7312 -test "$silent" = yes && exec 6>/dev/null
7313 -
7314 -
7315 -# Find the source files, if location was not specified.
7316 -if test -z "$srcdir"; then
7317 -  ac_srcdir_defaulted=yes
7318 -  # Try the directory containing this script, then its parent.
7319 -  ac_confdir=`(dirname "$0") 2>/dev/null ||
7320 -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
7321 -         X"$0" : 'X\(//\)[^/]' \| \
7322 -         X"$0" : 'X\(//\)$' \| \
7323 -         X"$0" : 'X\(/\)' \| \
7324 -         .     : '\(.\)' 2>/dev/null ||
7325 -echo X"$0" |
7326 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
7327 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
7328 -         /^X\(\/\/\)$/{ s//\1/; q; }
7329 -         /^X\(\/\).*/{ s//\1/; q; }
7330 -         s/.*/./; q'`
7331 -  srcdir=$ac_confdir
7332 -  if test ! -r $srcdir/$ac_unique_file; then
7333 -    srcdir=..
7334 -  fi
7335 -else
7336 -  ac_srcdir_defaulted=no
7337 -fi
7338 -if test ! -r $srcdir/$ac_unique_file; then
7339 -  if test "$ac_srcdir_defaulted" = yes; then
7340 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
7341 -   { (exit 1); exit 1; }; }
7342 -  else
7343 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
7344 -   { (exit 1); exit 1; }; }
7345 -  fi
7346 -fi
7347 -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
7348 -  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
7349 -   { (exit 1); exit 1; }; }
7350 -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
7351 -ac_env_build_alias_set=${build_alias+set}
7352 -ac_env_build_alias_value=$build_alias
7353 -ac_cv_env_build_alias_set=${build_alias+set}
7354 -ac_cv_env_build_alias_value=$build_alias
7355 -ac_env_host_alias_set=${host_alias+set}
7356 -ac_env_host_alias_value=$host_alias
7357 -ac_cv_env_host_alias_set=${host_alias+set}
7358 -ac_cv_env_host_alias_value=$host_alias
7359 -ac_env_target_alias_set=${target_alias+set}
7360 -ac_env_target_alias_value=$target_alias
7361 -ac_cv_env_target_alias_set=${target_alias+set}
7362 -ac_cv_env_target_alias_value=$target_alias
7363 -ac_env_CC_set=${CC+set}
7364 -ac_env_CC_value=$CC
7365 -ac_cv_env_CC_set=${CC+set}
7366 -ac_cv_env_CC_value=$CC
7367 -ac_env_CFLAGS_set=${CFLAGS+set}
7368 -ac_env_CFLAGS_value=$CFLAGS
7369 -ac_cv_env_CFLAGS_set=${CFLAGS+set}
7370 -ac_cv_env_CFLAGS_value=$CFLAGS
7371 -ac_env_LDFLAGS_set=${LDFLAGS+set}
7372 -ac_env_LDFLAGS_value=$LDFLAGS
7373 -ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
7374 -ac_cv_env_LDFLAGS_value=$LDFLAGS
7375 -ac_env_CPPFLAGS_set=${CPPFLAGS+set}
7376 -ac_env_CPPFLAGS_value=$CPPFLAGS
7377 -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
7378 -ac_cv_env_CPPFLAGS_value=$CPPFLAGS
7379 -ac_env_CPP_set=${CPP+set}
7380 -ac_env_CPP_value=$CPP
7381 -ac_cv_env_CPP_set=${CPP+set}
7382 -ac_cv_env_CPP_value=$CPP
7383 -
7384 -#
7385 -# Report the --help message.
7386 -#
7387 -if test "$ac_init_help" = "long"; then
7388 -  # Omit some internal or obsolete options to make the list less imposing.
7389 -  # This message is too long to be a string in the A/UX 3.1 sh.
7390 -  cat <<_ACEOF
7391 -\`configure' configures this package to adapt to many kinds of systems.
7392 -
7393 -Usage: $0 [OPTION]... [VAR=VALUE]...
7394 -
7395 -To assign environment variables (e.g., CC, CFLAGS...), specify them as
7396 -VAR=VALUE.  See below for descriptions of some of the useful variables.
7397 -
7398 -Defaults for the options are specified in brackets.
7399 -
7400 -Configuration:
7401 -  -h, --help              display this help and exit
7402 -      --help=short        display options specific to this package
7403 -      --help=recursive    display the short help of all the included packages
7404 -  -V, --version           display version information and exit
7405 -  -q, --quiet, --silent   do not print \`checking...' messages
7406 -      --cache-file=FILE   cache test results in FILE [disabled]
7407 -  -C, --config-cache      alias for \`--cache-file=config.cache'
7408 -  -n, --no-create         do not create output files
7409 -      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
7410 -
7411 -_ACEOF
7412 -
7413 -  cat <<_ACEOF
7414 -Installation directories:
7415 -  --prefix=PREFIX         install architecture-independent files in PREFIX
7416 -                          [$ac_default_prefix]
7417 -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
7418 -                          [PREFIX]
7419 -
7420 -By default, \`make install' will install all the files in
7421 -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
7422 -an installation prefix other than \`$ac_default_prefix' using \`--prefix',
7423 -for instance \`--prefix=\$HOME'.
7424 -
7425 -For better control, use the options below.
7426 -
7427 -Fine tuning of the installation directories:
7428 -  --bindir=DIR           user executables [EPREFIX/bin]
7429 -  --sbindir=DIR          system admin executables [EPREFIX/sbin]
7430 -  --libexecdir=DIR       program executables [EPREFIX/libexec]
7431 -  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
7432 -  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
7433 -  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
7434 -  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
7435 -  --libdir=DIR           object code libraries [EPREFIX/lib]
7436 -  --includedir=DIR       C header files [PREFIX/include]
7437 -  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
7438 -  --infodir=DIR          info documentation [PREFIX/info]
7439 -  --mandir=DIR           man documentation [PREFIX/man]
7440 -_ACEOF
7441 -
7442 -  cat <<\_ACEOF
7443 -
7444 -Program names:
7445 -  --program-prefix=PREFIX            prepend PREFIX to installed program names
7446 -  --program-suffix=SUFFIX            append SUFFIX to installed program names
7447 -  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
7448 -
7449 -System types:
7450 -  --build=BUILD     configure for building on BUILD [guessed]
7451 -  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
7452 -  --target=TARGET   configure for building compilers for TARGET [HOST]
7453 -_ACEOF
7454 -fi
7455 -
7456 -if test -n "$ac_init_help"; then
7457 -
7458 -  cat <<\_ACEOF
7459 -
7460 -Optional Features:
7461 -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
7462 -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
7463 -  --enable-multilib       build many library versions (default)
7464 -  --enable-maintainer-mode enable make rules and dependencies not useful
7465 -                          (and sometimes confusing) to the casual installer
7466 -  --enable-shared=PKGS  build shared libraries default=yes
7467 -  --enable-static=PKGS  build static libraries default=yes
7468 -  --enable-fast-install=PKGS  optimize for fast installation default=yes
7469 -  --disable-dependency-tracking Speeds up one-time builds
7470 -  --enable-dependency-tracking  Do not reject slow dependency extractors
7471 -  --disable-libtool-lock  avoid locking (might break parallel builds)
7472 -  --enable-parallel-mark       parallelize marking and free list construction
7473 -  --enable-shared=PKGS  build shared libraries default=no
7474 -  --enable-full-debug  include full support for pointer backtracing etc.
7475 -
7476 -Optional Packages:
7477 -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
7478 -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
7479 -  --with-gnu-ld           assume the C compiler uses GNU ld default=no
7480 -  --with-pic              try to use only PIC/non-PIC objects default=use both
7481 -  --with-target-subdir=SUBDIR
7482 -                          configuring with a cross compiler
7483 -  --with-cross-host=HOST  configuring with a cross compiler
7484 -  --with-ecos             enable runtime eCos target support
7485 -
7486 -Some influential environment variables:
7487 -  CC          C compiler command
7488 -  CFLAGS      C compiler flags
7489 -  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
7490 -              nonstandard directory <lib dir>
7491 -  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
7492 -              headers in a nonstandard directory <include dir>
7493 -  CPP         C preprocessor
7494 -
7495 -Use these variables to override the choices made by `configure' or to help
7496 -it to find libraries and programs with nonstandard names/locations.
7497 -
7498 -_ACEOF
7499 -fi
7500 -
7501 -if test "$ac_init_help" = "recursive"; then
7502 -  # If there are subdirs, report their specific --help.
7503 -  ac_popdir=`pwd`
7504 -  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
7505 -    test -d $ac_dir || continue
7506 -    ac_builddir=.
7507 -
7508 -if test "$ac_dir" != .; then
7509 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
7510 -  # A "../" for each directory in $ac_dir_suffix.
7511 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
7512 -else
7513 -  ac_dir_suffix= ac_top_builddir=
7514 -fi
7515 -
7516 -case $srcdir in
7517 -  .)  # No --srcdir option.  We are building in place.
7518 -    ac_srcdir=.
7519 -    if test -z "$ac_top_builddir"; then
7520 -       ac_top_srcdir=.
7521 -    else
7522 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
7523 -    fi ;;
7524 -  [\\/]* | ?:[\\/]* )  # Absolute path.
7525 -    ac_srcdir=$srcdir$ac_dir_suffix;
7526 -    ac_top_srcdir=$srcdir ;;
7527 -  *) # Relative path.
7528 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
7529 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
7530 -esac
7531 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
7532 -# absolute.
7533 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
7534 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
7535 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
7536 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
7537 -
7538 -    cd $ac_dir
7539 -    # Check for guested configure; otherwise get Cygnus style configure.
7540 -    if test -f $ac_srcdir/configure.gnu; then
7541 -      echo
7542 -      $SHELL $ac_srcdir/configure.gnu  --help=recursive
7543 -    elif test -f $ac_srcdir/configure; then
7544 -      echo
7545 -      $SHELL $ac_srcdir/configure  --help=recursive
7546 -    elif test -f $ac_srcdir/configure.ac ||
7547 -           test -f $ac_srcdir/configure.in; then
7548 -      echo
7549 -      $ac_configure --help
7550 -    else
7551 -      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
7552 -    fi
7553 -    cd $ac_popdir
7554 -  done
7555 -fi
7556 -
7557 -test -n "$ac_init_help" && exit 0
7558 -if $ac_init_version; then
7559 -  cat <<\_ACEOF
7560 -
7561 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
7562 -Free Software Foundation, Inc.
7563 -This configure script is free software; the Free Software Foundation
7564 -gives unlimited permission to copy, distribute and modify it.
7565 -_ACEOF
7566 -  exit 0
7567 -fi
7568 -exec 5>config.log
7569 -cat >&5 <<_ACEOF
7570 -This file contains any messages produced by compilers while
7571 -running configure, to aid debugging if configure makes a mistake.
7572 -
7573 -It was created by $as_me, which was
7574 -generated by GNU Autoconf 2.54.  Invocation command line was
7575 -
7576 -  $ $0 $@
7577 -
7578 -_ACEOF
7579 -{
7580 -cat <<_ASUNAME
7581 -@%:@@%:@ --------- @%:@@%:@
7582 -@%:@@%:@ Platform. @%:@@%:@
7583 -@%:@@%:@ --------- @%:@@%:@
7584 -
7585 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
7586 -uname -m = `(uname -m) 2>/dev/null || echo unknown`
7587 -uname -r = `(uname -r) 2>/dev/null || echo unknown`
7588 -uname -s = `(uname -s) 2>/dev/null || echo unknown`
7589 -uname -v = `(uname -v) 2>/dev/null || echo unknown`
7590 -
7591 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
7592 -/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
7593 -
7594 -/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
7595 -/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
7596 -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
7597 -hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
7598 -/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
7599 -/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
7600 -/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
7601 -
7602 -_ASUNAME
7603 -
7604 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7605 -for as_dir in $PATH
7606 -do
7607 -  IFS=$as_save_IFS
7608 -  test -z "$as_dir" && as_dir=.
7609 -  echo "PATH: $as_dir"
7610 -done
7611 -
7612 -} >&5
7613 -
7614 -cat >&5 <<_ACEOF
7615 -
7616 -
7617 -@%:@@%:@ ----------- @%:@@%:@
7618 -@%:@@%:@ Core tests. @%:@@%:@
7619 -@%:@@%:@ ----------- @%:@@%:@
7620 -
7621 -_ACEOF
7622 -
7623 -
7624 -# Keep a trace of the command line.
7625 -# Strip out --no-create and --no-recursion so they do not pile up.
7626 -# Also quote any args containing shell meta-characters.
7627 -ac_configure_args=
7628 -ac_sep=
7629 -for ac_arg
7630 -do
7631 -  case $ac_arg in
7632 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
7633 -  | --no-cr | --no-c | -n ) continue ;;
7634 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
7635 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
7636 -    continue ;;
7637 -  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
7638 -    ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
7639 -  esac
7640 -  ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
7641 -  # Get rid of the leading space.
7642 -  ac_sep=" "
7643 -done
7644 -
7645 -# When interrupted or exit'd, cleanup temporary files, and complete
7646 -# config.log.  We remove comments because anyway the quotes in there
7647 -# would cause problems or look ugly.
7648 -# WARNING: Be sure not to use single quotes in there, as some shells,
7649 -# such as our DU 5.0 friend, will then `close' the trap.
7650 -trap 'exit_status=$?
7651 -  # Save into config.log some information that might help in debugging.
7652 -  {
7653 -    echo
7654 -
7655 -    cat <<\_ASBOX
7656 -@%:@@%:@ ---------------- @%:@@%:@
7657 -@%:@@%:@ Cache variables. @%:@@%:@
7658 -@%:@@%:@ ---------------- @%:@@%:@
7659 -_ASBOX
7660 -    echo
7661 -    # The following way of writing the cache mishandles newlines in values,
7662 -{
7663 -  (set) 2>&1 |
7664 -    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
7665 -    *ac_space=\ *)
7666 -      sed -n \
7667 -        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
7668 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
7669 -      ;;
7670 -    *)
7671 -      sed -n \
7672 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
7673 -      ;;
7674 -    esac;
7675 -}
7676 -    echo
7677 -
7678 -    cat <<\_ASBOX
7679 -@%:@@%:@ ----------------- @%:@@%:@
7680 -@%:@@%:@ Output variables. @%:@@%:@
7681 -@%:@@%:@ ----------------- @%:@@%:@
7682 -_ASBOX
7683 -    echo
7684 -    for ac_var in $ac_subst_vars
7685 -    do
7686 -      eval ac_val=$`echo $ac_var`
7687 -      echo "$ac_var='"'"'$ac_val'"'"'"
7688 -    done | sort
7689 -    echo
7690 -
7691 -    if test -n "$ac_subst_files"; then
7692 -      cat <<\_ASBOX
7693 -@%:@@%:@ ------------- @%:@@%:@
7694 -@%:@@%:@ Output files. @%:@@%:@
7695 -@%:@@%:@ ------------- @%:@@%:@
7696 -_ASBOX
7697 -      echo
7698 -      for ac_var in $ac_subst_files
7699 -      do
7700 -       eval ac_val=$`echo $ac_var`
7701 -        echo "$ac_var='"'"'$ac_val'"'"'"
7702 -      done | sort
7703 -      echo
7704 -    fi
7705 -
7706 -    if test -s confdefs.h; then
7707 -      cat <<\_ASBOX
7708 -@%:@@%:@ ----------- @%:@@%:@
7709 -@%:@@%:@ confdefs.h. @%:@@%:@
7710 -@%:@@%:@ ----------- @%:@@%:@
7711 -_ASBOX
7712 -      echo
7713 -      sed "/^$/d" confdefs.h | sort
7714 -      echo
7715 -    fi
7716 -    test "$ac_signal" != 0 &&
7717 -      echo "$as_me: caught signal $ac_signal"
7718 -    echo "$as_me: exit $exit_status"
7719 -  } >&5
7720 -  rm -f core core.* *.core &&
7721 -  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
7722 -    exit $exit_status
7723 -     ' 0
7724 -for ac_signal in 1 2 13 15; do
7725 -  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
7726 -done
7727 -ac_signal=0
7728 -
7729 -# confdefs.h avoids OS command line length limits that DEFS can exceed.
7730 -rm -rf conftest* confdefs.h
7731 -# AIX cpp loses on an empty file, so make sure it contains at least a newline.
7732 -echo >confdefs.h
7733 -
7734 -# Predefined preprocessor variables.
7735 -
7736 -cat >>confdefs.h <<_ACEOF
7737 -@%:@define PACKAGE_NAME "$PACKAGE_NAME"
7738 -_ACEOF
7739 -
7740 -
7741 -cat >>confdefs.h <<_ACEOF
7742 -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
7743 -_ACEOF
7744 -
7745 -
7746 -cat >>confdefs.h <<_ACEOF
7747 -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
7748 -_ACEOF
7749 -
7750 -
7751 -cat >>confdefs.h <<_ACEOF
7752 -@%:@define PACKAGE_STRING "$PACKAGE_STRING"
7753 -_ACEOF
7754 -
7755 -
7756 -cat >>confdefs.h <<_ACEOF
7757 -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
7758 -_ACEOF
7759 -
7760 -
7761 -# Let the site file select an alternate cache file if it wants to.
7762 -# Prefer explicitly selected file to automatically selected ones.
7763 -if test -z "$CONFIG_SITE"; then
7764 -  if test "x$prefix" != xNONE; then
7765 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
7766 -  else
7767 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
7768 -  fi
7769 -fi
7770 -for ac_site_file in $CONFIG_SITE; do
7771 -  if test -r "$ac_site_file"; then
7772 -    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
7773 -echo "$as_me: loading site script $ac_site_file" >&6;}
7774 -    sed 's/^/| /' "$ac_site_file" >&5
7775 -    . "$ac_site_file"
7776 -  fi
7777 -done
7778 -
7779 -if test -r "$cache_file"; then
7780 -  # Some versions of bash will fail to source /dev/null (special
7781 -  # files actually), so we avoid doing that.
7782 -  if test -f "$cache_file"; then
7783 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
7784 -echo "$as_me: loading cache $cache_file" >&6;}
7785 -    case $cache_file in
7786 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
7787 -      *)                      . ./$cache_file;;
7788 -    esac
7789 -  fi
7790 -else
7791 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
7792 -echo "$as_me: creating cache $cache_file" >&6;}
7793 -  >$cache_file
7794 -fi
7795 -
7796 -# Check that the precious variables saved in the cache have kept the same
7797 -# value.
7798 -ac_cache_corrupted=false
7799 -for ac_var in `(set) 2>&1 |
7800 -               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
7801 -  eval ac_old_set=\$ac_cv_env_${ac_var}_set
7802 -  eval ac_new_set=\$ac_env_${ac_var}_set
7803 -  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
7804 -  eval ac_new_val="\$ac_env_${ac_var}_value"
7805 -  case $ac_old_set,$ac_new_set in
7806 -    set,)
7807 -      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
7808 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
7809 -      ac_cache_corrupted=: ;;
7810 -    ,set)
7811 -      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
7812 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
7813 -      ac_cache_corrupted=: ;;
7814 -    ,);;
7815 -    *)
7816 -      if test "x$ac_old_val" != "x$ac_new_val"; then
7817 -        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
7818 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
7819 -        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
7820 -echo "$as_me:   former value:  $ac_old_val" >&2;}
7821 -        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
7822 -echo "$as_me:   current value: $ac_new_val" >&2;}
7823 -        ac_cache_corrupted=:
7824 -      fi;;
7825 -  esac
7826 -  # Pass precious variables to config.status.
7827 -  if test "$ac_new_set" = set; then
7828 -    case $ac_new_val in
7829 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
7830 -      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
7831 -    *) ac_arg=$ac_var=$ac_new_val ;;
7832 -    esac
7833 -    case " $ac_configure_args " in
7834 -      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
7835 -      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
7836 -    esac
7837 -  fi
7838 -done
7839 -if $ac_cache_corrupted; then
7840 -  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
7841 -echo "$as_me: error: changes in the environment can compromise the build" >&2;}
7842 -  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
7843 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
7844 -   { (exit 1); exit 1; }; }
7845 -fi
7846 -
7847 -ac_ext=c
7848 -ac_cpp='$CPP $CPPFLAGS'
7849 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7850 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7851 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
7852 -
7853 -
7854 -
7855 -
7856 -
7857 -
7858 -
7859 -
7860 -
7861 -
7862 -
7863 -
7864 -
7865 -
7866 -
7867 -
7868 -
7869 -
7870 -
7871 -
7872 -# This works around the fact that libtool configuration may change LD
7873 -# for this particular configuration, but some shells, instead of
7874 -# keeping the changes in LD private, export them just because LD is
7875 -# exported.
7876 -ORIGINAL_LD_FOR_MULTILIBS=$LD
7877 -
7878 -ac_aux_dir=
7879 -for ac_dir in . $srcdir/.; do
7880 -  if test -f $ac_dir/install-sh; then
7881 -    ac_aux_dir=$ac_dir
7882 -    ac_install_sh="$ac_aux_dir/install-sh -c"
7883 -    break
7884 -  elif test -f $ac_dir/install.sh; then
7885 -    ac_aux_dir=$ac_dir
7886 -    ac_install_sh="$ac_aux_dir/install.sh -c"
7887 -    break
7888 -  elif test -f $ac_dir/shtool; then
7889 -    ac_aux_dir=$ac_dir
7890 -    ac_install_sh="$ac_aux_dir/shtool install -c"
7891 -    break
7892 -  fi
7893 -done
7894 -if test -z "$ac_aux_dir"; then
7895 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . $srcdir/." >&5
7896 -echo "$as_me: error: cannot find install-sh or install.sh in . $srcdir/." >&2;}
7897 -   { (exit 1); exit 1; }; }
7898 -fi
7899 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
7900 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
7901 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
7902 -
7903 -
7904 -# Make sure we can run config.sub.
7905 -$ac_config_sub sun4 >/dev/null 2>&1 ||
7906 -  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
7907 -echo "$as_me: error: cannot run $ac_config_sub" >&2;}
7908 -   { (exit 1); exit 1; }; }
7909 -
7910 -echo "$as_me:$LINENO: checking build system type" >&5
7911 -echo $ECHO_N "checking build system type... $ECHO_C" >&6
7912 -if test "${ac_cv_build+set}" = set; then
7913 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7914 -else
7915 -  ac_cv_build_alias=$build_alias
7916 -test -z "$ac_cv_build_alias" &&
7917 -  ac_cv_build_alias=`$ac_config_guess`
7918 -test -z "$ac_cv_build_alias" &&
7919 -  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
7920 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
7921 -   { (exit 1); exit 1; }; }
7922 -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
7923 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
7924 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
7925 -   { (exit 1); exit 1; }; }
7926 -
7927 -fi
7928 -echo "$as_me:$LINENO: result: $ac_cv_build" >&5
7929 -echo "${ECHO_T}$ac_cv_build" >&6
7930 -build=$ac_cv_build
7931 -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
7932 -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
7933 -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
7934 -
7935 -
7936 -echo "$as_me:$LINENO: checking host system type" >&5
7937 -echo $ECHO_N "checking host system type... $ECHO_C" >&6
7938 -if test "${ac_cv_host+set}" = set; then
7939 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7940 -else
7941 -  ac_cv_host_alias=$host_alias
7942 -test -z "$ac_cv_host_alias" &&
7943 -  ac_cv_host_alias=$ac_cv_build_alias
7944 -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
7945 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
7946 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
7947 -   { (exit 1); exit 1; }; }
7948 -
7949 -fi
7950 -echo "$as_me:$LINENO: result: $ac_cv_host" >&5
7951 -echo "${ECHO_T}$ac_cv_host" >&6
7952 -host=$ac_cv_host
7953 -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
7954 -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
7955 -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
7956 -
7957 -
7958 -am__api_version="1.6"
7959 -# Find a good install program.  We prefer a C program (faster),
7960 -# so one script is as good as another.  But avoid the broken or
7961 -# incompatible versions:
7962 -# SysV /etc/install, /usr/sbin/install
7963 -# SunOS /usr/etc/install
7964 -# IRIX /sbin/install
7965 -# AIX /bin/install
7966 -# AmigaOS /C/install, which installs bootblocks on floppy discs
7967 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
7968 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
7969 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
7970 -# ./install, which can be erroneously created by make from ./install.sh.
7971 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
7972 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
7973 -if test -z "$INSTALL"; then
7974 -if test "${ac_cv_path_install+set}" = set; then
7975 -  echo $ECHO_N "(cached) $ECHO_C" >&6
7976 -else
7977 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7978 -for as_dir in $PATH
7979 -do
7980 -  IFS=$as_save_IFS
7981 -  test -z "$as_dir" && as_dir=.
7982 -  # Account for people who put trailing slashes in PATH elements.
7983 -case $as_dir/ in
7984 -  ./ | .// | /cC/* | \
7985 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
7986 -  /usr/ucb/* ) ;;
7987 -  *)
7988 -    # OSF1 and SCO ODT 3.0 have their own names for install.
7989 -    # Don't use installbsd from OSF since it installs stuff as root
7990 -    # by default.
7991 -    for ac_prog in ginstall scoinst install; do
7992 -      for ac_exec_ext in '' $ac_executable_extensions; do
7993 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
7994 -          if test $ac_prog = install &&
7995 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
7996 -            # AIX install.  It has an incompatible calling convention.
7997 -            :
7998 -          elif test $ac_prog = install &&
7999 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8000 -            # program-specific install script used by HP pwplus--don't use.
8001 -            :
8002 -          else
8003 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
8004 -            break 3
8005 -          fi
8006 -        fi
8007 -      done
8008 -    done
8009 -    ;;
8010 -esac
8011 -done
8012 -
8013 -
8014 -fi
8015 -  if test "${ac_cv_path_install+set}" = set; then
8016 -    INSTALL=$ac_cv_path_install
8017 -  else
8018 -    # As a last resort, use the slow shell script.  We don't cache a
8019 -    # path for INSTALL within a source directory, because that will
8020 -    # break other packages using the cache if that directory is
8021 -    # removed, or if the path is relative.
8022 -    INSTALL=$ac_install_sh
8023 -  fi
8024 -fi
8025 -echo "$as_me:$LINENO: result: $INSTALL" >&5
8026 -echo "${ECHO_T}$INSTALL" >&6
8027 -
8028 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
8029 -# It thinks the first close brace ends the variable substitution.
8030 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
8031 -
8032 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
8033 -
8034 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
8035 -
8036 -echo "$as_me:$LINENO: checking whether build environment is sane" >&5
8037 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
8038 -# Just in case
8039 -sleep 1
8040 -echo timestamp > conftest.file
8041 -# Do `set' in a subshell so we don't clobber the current shell's
8042 -# arguments.  Must try -L first in case configure is actually a
8043 -# symlink; some systems play weird games with the mod time of symlinks
8044 -# (eg FreeBSD returns the mod time of the symlink's containing
8045 -# directory).
8046 -if (
8047 -   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
8048 -   if test "$*" = "X"; then
8049 -      # -L didn't work.
8050 -      set X `ls -t $srcdir/configure conftest.file`
8051 -   fi
8052 -   rm -f conftest.file
8053 -   if test "$*" != "X $srcdir/configure conftest.file" \
8054 -      && test "$*" != "X conftest.file $srcdir/configure"; then
8055 -
8056 -      # If neither matched, then we have a broken ls.  This can happen
8057 -      # if, for instance, CONFIG_SHELL is bash and it inherits a
8058 -      # broken ls alias from the environment.  This has actually
8059 -      # happened.  Such a system could not be considered "sane".
8060 -      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
8061 -alias in your environment" >&5
8062 -echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
8063 -alias in your environment" >&2;}
8064 -   { (exit 1); exit 1; }; }
8065 -   fi
8066 -
8067 -   test "$2" = conftest.file
8068 -   )
8069 -then
8070 -   # Ok.
8071 -   :
8072 -else
8073 -   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
8074 -Check your system clock" >&5
8075 -echo "$as_me: error: newly created file is older than distributed files!
8076 -Check your system clock" >&2;}
8077 -   { (exit 1); exit 1; }; }
8078 -fi
8079 -echo "$as_me:$LINENO: result: yes" >&5
8080 -echo "${ECHO_T}yes" >&6
8081 -test "$program_prefix" != NONE &&
8082 -  program_transform_name="s,^,$program_prefix,;$program_transform_name"
8083 -# Use a double $ so make ignores it.
8084 -test "$program_suffix" != NONE &&
8085 -  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
8086 -# Double any \ or $.  echo might interpret backslashes.
8087 -# By default was `s,x,x', remove it if useless.
8088 -cat <<\_ACEOF >conftest.sed
8089 -s/[\\$]/&&/g;s/;s,x,x,$//
8090 -_ACEOF
8091 -program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
8092 -rm conftest.sed
8093 -
8094 -
8095 -# expand $ac_aux_dir to an absolute path
8096 -am_aux_dir=`cd $ac_aux_dir && pwd`
8097 -
8098 -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
8099 -# Use eval to expand $SHELL
8100 -if eval "$MISSING --run true"; then
8101 -  am_missing_run="$MISSING --run "
8102 -else
8103 -  am_missing_run=
8104 -  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
8105 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
8106 -fi
8107 -
8108 -for ac_prog in gawk mawk nawk awk
8109 -do
8110 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
8111 -set dummy $ac_prog; ac_word=$2
8112 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8113 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8114 -if test "${ac_cv_prog_AWK+set}" = set; then
8115 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8116 -else
8117 -  if test -n "$AWK"; then
8118 -  ac_cv_prog_AWK="$AWK" # Let the user override the test.
8119 -else
8120 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8121 -for as_dir in $PATH
8122 -do
8123 -  IFS=$as_save_IFS
8124 -  test -z "$as_dir" && as_dir=.
8125 -  for ac_exec_ext in '' $ac_executable_extensions; do
8126 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8127 -    ac_cv_prog_AWK="$ac_prog"
8128 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8129 -    break 2
8130 -  fi
8131 -done
8132 -done
8133 -
8134 -fi
8135 -fi
8136 -AWK=$ac_cv_prog_AWK
8137 -if test -n "$AWK"; then
8138 -  echo "$as_me:$LINENO: result: $AWK" >&5
8139 -echo "${ECHO_T}$AWK" >&6
8140 -else
8141 -  echo "$as_me:$LINENO: result: no" >&5
8142 -echo "${ECHO_T}no" >&6
8143 -fi
8144 -
8145 -  test -n "$AWK" && break
8146 -done
8147 -
8148 -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
8149 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
8150 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
8151 -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
8152 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8153 -else
8154 -  cat >conftest.make <<\_ACEOF
8155 -all:
8156 -       @echo 'ac_maketemp="${MAKE}"'
8157 -_ACEOF
8158 -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
8159 -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
8160 -if test -n "$ac_maketemp"; then
8161 -  eval ac_cv_prog_make_${ac_make}_set=yes
8162 -else
8163 -  eval ac_cv_prog_make_${ac_make}_set=no
8164 -fi
8165 -rm -f conftest.make
8166 -fi
8167 -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
8168 -  echo "$as_me:$LINENO: result: yes" >&5
8169 -echo "${ECHO_T}yes" >&6
8170 -  SET_MAKE=
8171 -else
8172 -  echo "$as_me:$LINENO: result: no" >&5
8173 -echo "${ECHO_T}no" >&6
8174 -  SET_MAKE="MAKE=${MAKE-make}"
8175 -fi
8176 -
8177 -
8178 -# Check whether --enable-multilib or --disable-multilib was given.
8179 -if test "${enable_multilib+set}" = set; then
8180 -  enableval="$enable_multilib"
8181 -  case "${enableval}" in
8182 -  yes) multilib=yes ;;
8183 -  no)  multilib=no ;;
8184 -  *)   { { echo "$as_me:$LINENO: error: bad value ${enableval} for multilib option" >&5
8185 -echo "$as_me: error: bad value ${enableval} for multilib option" >&2;}
8186 -   { (exit 1); exit 1; }; } ;;
8187 - esac
8188 -else
8189 -  multilib=yes
8190 -fi; 
8191 -
8192 -if test "${srcdir}" = "."; then
8193 -  if test "${with_target_subdir}" != "." -a -n "${with_target_subdir}"; then
8194 -    gc_basedir="${srcdir}/${with_multisrctop}../."
8195 -  else
8196 -    gc_basedir="${srcdir}/${with_multisrctop}."
8197 -  fi
8198 -else
8199 -  gc_basedir="${srcdir}/."
8200 -fi
8201 -
8202 -ac_aux_dir=
8203 -for ac_dir in $gc_basedir/.. $srcdir/$gc_basedir/..; do
8204 -  if test -f $ac_dir/install-sh; then
8205 -    ac_aux_dir=$ac_dir
8206 -    ac_install_sh="$ac_aux_dir/install-sh -c"
8207 -    break
8208 -  elif test -f $ac_dir/install.sh; then
8209 -    ac_aux_dir=$ac_dir
8210 -    ac_install_sh="$ac_aux_dir/install.sh -c"
8211 -    break
8212 -  elif test -f $ac_dir/shtool; then
8213 -    ac_aux_dir=$ac_dir
8214 -    ac_install_sh="$ac_aux_dir/shtool install -c"
8215 -    break
8216 -  fi
8217 -done
8218 -if test -z "$ac_aux_dir"; then
8219 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&5
8220 -echo "$as_me: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&2;}
8221 -   { (exit 1); exit 1; }; }
8222 -fi
8223 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
8224 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
8225 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
8226 -
8227 -if :; then :; else
8228 -  # This overrides the previous occurrence for automake, but not for
8229 -  # autoconf, which is exactly what we want.
8230 -  ac_aux_dir=
8231 -for ac_dir in .. $srcdir/..; do
8232 -  if test -f $ac_dir/install-sh; then
8233 -    ac_aux_dir=$ac_dir
8234 -    ac_install_sh="$ac_aux_dir/install-sh -c"
8235 -    break
8236 -  elif test -f $ac_dir/install.sh; then
8237 -    ac_aux_dir=$ac_dir
8238 -    ac_install_sh="$ac_aux_dir/install.sh -c"
8239 -    break
8240 -  elif test -f $ac_dir/shtool; then
8241 -    ac_aux_dir=$ac_dir
8242 -    ac_install_sh="$ac_aux_dir/shtool install -c"
8243 -    break
8244 -  fi
8245 -done
8246 -if test -z "$ac_aux_dir"; then
8247 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5
8248 -echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;}
8249 -   { (exit 1); exit 1; }; }
8250 -fi
8251 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
8252 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
8253 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
8254 -
8255 -fi
8256 -
8257 -echo "$as_me:$LINENO: checking target system type" >&5
8258 -echo $ECHO_N "checking target system type... $ECHO_C" >&6
8259 -if test "${ac_cv_target+set}" = set; then
8260 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8261 -else
8262 -  ac_cv_target_alias=$target_alias
8263 -test "x$ac_cv_target_alias" = "x" &&
8264 -  ac_cv_target_alias=$ac_cv_host_alias
8265 -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
8266 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
8267 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
8268 -   { (exit 1); exit 1; }; }
8269 -
8270 -fi
8271 -echo "$as_me:$LINENO: result: $ac_cv_target" >&5
8272 -echo "${ECHO_T}$ac_cv_target" >&6
8273 -target=$ac_cv_target
8274 -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
8275 -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
8276 -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
8277 -
8278 -
8279 -# The aliases save the names the user supplied, while $host etc.
8280 -# will get canonicalized.
8281 -test -n "$target_alias" &&
8282 -  test "$program_prefix$program_suffix$program_transform_name" = \
8283 -    NONENONEs,x,x, &&
8284 -  program_prefix=${target_alias}-
8285 -
8286 -# This works around an automake problem.
8287 -mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
8288 -
8289 -
8290 - # test to see if srcdir already configured
8291 -if test "`cd $srcdir && pwd`" != "`pwd`" &&
8292 -   test -f $srcdir/config.status; then
8293 -  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
8294 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
8295 -   { (exit 1); exit 1; }; }
8296 -fi
8297 -
8298 -# Define the identity of the package.
8299 - PACKAGE=gc
8300 - VERSION=6.1a1
8301 -
8302 -
8303 -# Some tools Automake needs.
8304 -
8305 -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
8306 -
8307 -
8308 -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
8309 -
8310 -
8311 -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
8312 -
8313 -
8314 -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
8315 -
8316 -
8317 -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
8318 -
8319 -
8320 -AMTAR=${AMTAR-"${am_missing_run}tar"}
8321 -
8322 -install_sh=${install_sh-"$am_aux_dir/install-sh"}
8323 -
8324 -# Installed binaries are usually stripped using `strip' when the user
8325 -# run `make install-strip'.  However `strip' might not be the right
8326 -# tool to use in cross-compilation environments, therefore Automake
8327 -# will honor the `STRIP' environment variable to overrule this program.
8328 -if test "$cross_compiling" != no; then
8329 -  if test -n "$ac_tool_prefix"; then
8330 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
8331 -set dummy ${ac_tool_prefix}strip; ac_word=$2
8332 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8333 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8334 -if test "${ac_cv_prog_STRIP+set}" = set; then
8335 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8336 -else
8337 -  if test -n "$STRIP"; then
8338 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
8339 -else
8340 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8341 -for as_dir in $PATH
8342 -do
8343 -  IFS=$as_save_IFS
8344 -  test -z "$as_dir" && as_dir=.
8345 -  for ac_exec_ext in '' $ac_executable_extensions; do
8346 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8347 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
8348 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8349 -    break 2
8350 -  fi
8351 -done
8352 -done
8353 -
8354 -fi
8355 -fi
8356 -STRIP=$ac_cv_prog_STRIP
8357 -if test -n "$STRIP"; then
8358 -  echo "$as_me:$LINENO: result: $STRIP" >&5
8359 -echo "${ECHO_T}$STRIP" >&6
8360 -else
8361 -  echo "$as_me:$LINENO: result: no" >&5
8362 -echo "${ECHO_T}no" >&6
8363 -fi
8364 -
8365 -fi
8366 -if test -z "$ac_cv_prog_STRIP"; then
8367 -  ac_ct_STRIP=$STRIP
8368 -  # Extract the first word of "strip", so it can be a program name with args.
8369 -set dummy strip; ac_word=$2
8370 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8371 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8372 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
8373 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8374 -else
8375 -  if test -n "$ac_ct_STRIP"; then
8376 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
8377 -else
8378 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8379 -for as_dir in $PATH
8380 -do
8381 -  IFS=$as_save_IFS
8382 -  test -z "$as_dir" && as_dir=.
8383 -  for ac_exec_ext in '' $ac_executable_extensions; do
8384 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8385 -    ac_cv_prog_ac_ct_STRIP="strip"
8386 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8387 -    break 2
8388 -  fi
8389 -done
8390 -done
8391 -
8392 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
8393 -fi
8394 -fi
8395 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
8396 -if test -n "$ac_ct_STRIP"; then
8397 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
8398 -echo "${ECHO_T}$ac_ct_STRIP" >&6
8399 -else
8400 -  echo "$as_me:$LINENO: result: no" >&5
8401 -echo "${ECHO_T}no" >&6
8402 -fi
8403 -
8404 -  STRIP=$ac_ct_STRIP
8405 -else
8406 -  STRIP="$ac_cv_prog_STRIP"
8407 -fi
8408 -
8409 -fi
8410 -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
8411 -
8412 -# We need awk for the "check" target.  The system "awk" is bad on
8413 -# some platforms.
8414 -
8415 -
8416 -
8417 -
8418 -# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
8419 -# run it explicitly here, it will be run implicitly before
8420 -# NEWLIB_CONFIGURE, which doesn't work because that means that it will
8421 -# be run before AC_CANONICAL_HOST.
8422 -
8423 -
8424 -if test -n "$ac_tool_prefix"; then
8425 -  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
8426 -set dummy ${ac_tool_prefix}as; ac_word=$2
8427 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8428 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8429 -if test "${ac_cv_prog_AS+set}" = set; then
8430 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8431 -else
8432 -  if test -n "$AS"; then
8433 -  ac_cv_prog_AS="$AS" # Let the user override the test.
8434 -else
8435 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8436 -for as_dir in $PATH
8437 -do
8438 -  IFS=$as_save_IFS
8439 -  test -z "$as_dir" && as_dir=.
8440 -  for ac_exec_ext in '' $ac_executable_extensions; do
8441 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8442 -    ac_cv_prog_AS="${ac_tool_prefix}as"
8443 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8444 -    break 2
8445 -  fi
8446 -done
8447 -done
8448 -
8449 -fi
8450 -fi
8451 -AS=$ac_cv_prog_AS
8452 -if test -n "$AS"; then
8453 -  echo "$as_me:$LINENO: result: $AS" >&5
8454 -echo "${ECHO_T}$AS" >&6
8455 -else
8456 -  echo "$as_me:$LINENO: result: no" >&5
8457 -echo "${ECHO_T}no" >&6
8458 -fi
8459 -
8460 -fi
8461 -if test -z "$ac_cv_prog_AS"; then
8462 -  ac_ct_AS=$AS
8463 -  # Extract the first word of "as", so it can be a program name with args.
8464 -set dummy as; ac_word=$2
8465 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8466 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8467 -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
8468 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8469 -else
8470 -  if test -n "$ac_ct_AS"; then
8471 -  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
8472 -else
8473 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8474 -for as_dir in $PATH
8475 -do
8476 -  IFS=$as_save_IFS
8477 -  test -z "$as_dir" && as_dir=.
8478 -  for ac_exec_ext in '' $ac_executable_extensions; do
8479 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8480 -    ac_cv_prog_ac_ct_AS="as"
8481 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8482 -    break 2
8483 -  fi
8484 -done
8485 -done
8486 -
8487 -fi
8488 -fi
8489 -ac_ct_AS=$ac_cv_prog_ac_ct_AS
8490 -if test -n "$ac_ct_AS"; then
8491 -  echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
8492 -echo "${ECHO_T}$ac_ct_AS" >&6
8493 -else
8494 -  echo "$as_me:$LINENO: result: no" >&5
8495 -echo "${ECHO_T}no" >&6
8496 -fi
8497 -
8498 -  AS=$ac_ct_AS
8499 -else
8500 -  AS="$ac_cv_prog_AS"
8501 -fi
8502 -
8503 -if test -n "$ac_tool_prefix"; then
8504 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
8505 -set dummy ${ac_tool_prefix}ar; ac_word=$2
8506 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8507 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8508 -if test "${ac_cv_prog_AR+set}" = set; then
8509 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8510 -else
8511 -  if test -n "$AR"; then
8512 -  ac_cv_prog_AR="$AR" # Let the user override the test.
8513 -else
8514 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8515 -for as_dir in $PATH
8516 -do
8517 -  IFS=$as_save_IFS
8518 -  test -z "$as_dir" && as_dir=.
8519 -  for ac_exec_ext in '' $ac_executable_extensions; do
8520 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8521 -    ac_cv_prog_AR="${ac_tool_prefix}ar"
8522 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8523 -    break 2
8524 -  fi
8525 -done
8526 -done
8527 -
8528 -fi
8529 -fi
8530 -AR=$ac_cv_prog_AR
8531 -if test -n "$AR"; then
8532 -  echo "$as_me:$LINENO: result: $AR" >&5
8533 -echo "${ECHO_T}$AR" >&6
8534 -else
8535 -  echo "$as_me:$LINENO: result: no" >&5
8536 -echo "${ECHO_T}no" >&6
8537 -fi
8538 -
8539 -fi
8540 -if test -z "$ac_cv_prog_AR"; then
8541 -  ac_ct_AR=$AR
8542 -  # Extract the first word of "ar", so it can be a program name with args.
8543 -set dummy ar; ac_word=$2
8544 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8545 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8546 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
8547 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8548 -else
8549 -  if test -n "$ac_ct_AR"; then
8550 -  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
8551 -else
8552 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8553 -for as_dir in $PATH
8554 -do
8555 -  IFS=$as_save_IFS
8556 -  test -z "$as_dir" && as_dir=.
8557 -  for ac_exec_ext in '' $ac_executable_extensions; do
8558 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8559 -    ac_cv_prog_ac_ct_AR="ar"
8560 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8561 -    break 2
8562 -  fi
8563 -done
8564 -done
8565 -
8566 -fi
8567 -fi
8568 -ac_ct_AR=$ac_cv_prog_ac_ct_AR
8569 -if test -n "$ac_ct_AR"; then
8570 -  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
8571 -echo "${ECHO_T}$ac_ct_AR" >&6
8572 -else
8573 -  echo "$as_me:$LINENO: result: no" >&5
8574 -echo "${ECHO_T}no" >&6
8575 -fi
8576 -
8577 -  AR=$ac_ct_AR
8578 -else
8579 -  AR="$ac_cv_prog_AR"
8580 -fi
8581 -
8582 -if test -n "$ac_tool_prefix"; then
8583 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
8584 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
8585 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8586 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8587 -if test "${ac_cv_prog_RANLIB+set}" = set; then
8588 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8589 -else
8590 -  if test -n "$RANLIB"; then
8591 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
8592 -else
8593 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8594 -for as_dir in $PATH
8595 -do
8596 -  IFS=$as_save_IFS
8597 -  test -z "$as_dir" && as_dir=.
8598 -  for ac_exec_ext in '' $ac_executable_extensions; do
8599 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8600 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
8601 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8602 -    break 2
8603 -  fi
8604 -done
8605 -done
8606 -
8607 -fi
8608 -fi
8609 -RANLIB=$ac_cv_prog_RANLIB
8610 -if test -n "$RANLIB"; then
8611 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
8612 -echo "${ECHO_T}$RANLIB" >&6
8613 -else
8614 -  echo "$as_me:$LINENO: result: no" >&5
8615 -echo "${ECHO_T}no" >&6
8616 -fi
8617 -
8618 -fi
8619 -if test -z "$ac_cv_prog_RANLIB"; then
8620 -  ac_ct_RANLIB=$RANLIB
8621 -  # Extract the first word of "ranlib", so it can be a program name with args.
8622 -set dummy ranlib; ac_word=$2
8623 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8624 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8625 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
8626 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8627 -else
8628 -  if test -n "$ac_ct_RANLIB"; then
8629 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
8630 -else
8631 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8632 -for as_dir in $PATH
8633 -do
8634 -  IFS=$as_save_IFS
8635 -  test -z "$as_dir" && as_dir=.
8636 -  for ac_exec_ext in '' $ac_executable_extensions; do
8637 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8638 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
8639 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8640 -    break 2
8641 -  fi
8642 -done
8643 -done
8644 -
8645 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
8646 -fi
8647 -fi
8648 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
8649 -if test -n "$ac_ct_RANLIB"; then
8650 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
8651 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
8652 -else
8653 -  echo "$as_me:$LINENO: result: no" >&5
8654 -echo "${ECHO_T}no" >&6
8655 -fi
8656 -
8657 -  RANLIB=$ac_ct_RANLIB
8658 -else
8659 -  RANLIB="$ac_cv_prog_RANLIB"
8660 -fi
8661 -
8662 -
8663 -# Find a good install program.  We prefer a C program (faster),
8664 -# so one script is as good as another.  But avoid the broken or
8665 -# incompatible versions:
8666 -# SysV /etc/install, /usr/sbin/install
8667 -# SunOS /usr/etc/install
8668 -# IRIX /sbin/install
8669 -# AIX /bin/install
8670 -# AmigaOS /C/install, which installs bootblocks on floppy discs
8671 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
8672 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
8673 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
8674 -# ./install, which can be erroneously created by make from ./install.sh.
8675 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
8676 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
8677 -if test -z "$INSTALL"; then
8678 -if test "${ac_cv_path_install+set}" = set; then
8679 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8680 -else
8681 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8682 -for as_dir in $PATH
8683 -do
8684 -  IFS=$as_save_IFS
8685 -  test -z "$as_dir" && as_dir=.
8686 -  # Account for people who put trailing slashes in PATH elements.
8687 -case $as_dir/ in
8688 -  ./ | .// | /cC/* | \
8689 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
8690 -  /usr/ucb/* ) ;;
8691 -  *)
8692 -    # OSF1 and SCO ODT 3.0 have their own names for install.
8693 -    # Don't use installbsd from OSF since it installs stuff as root
8694 -    # by default.
8695 -    for ac_prog in ginstall scoinst install; do
8696 -      for ac_exec_ext in '' $ac_executable_extensions; do
8697 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
8698 -          if test $ac_prog = install &&
8699 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8700 -            # AIX install.  It has an incompatible calling convention.
8701 -            :
8702 -          elif test $ac_prog = install &&
8703 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8704 -            # program-specific install script used by HP pwplus--don't use.
8705 -            :
8706 -          else
8707 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
8708 -            break 3
8709 -          fi
8710 -        fi
8711 -      done
8712 -    done
8713 -    ;;
8714 -esac
8715 -done
8716 -
8717 -
8718 -fi
8719 -  if test "${ac_cv_path_install+set}" = set; then
8720 -    INSTALL=$ac_cv_path_install
8721 -  else
8722 -    # As a last resort, use the slow shell script.  We don't cache a
8723 -    # path for INSTALL within a source directory, because that will
8724 -    # break other packages using the cache if that directory is
8725 -    # removed, or if the path is relative.
8726 -    INSTALL=$ac_install_sh
8727 -  fi
8728 -fi
8729 -echo "$as_me:$LINENO: result: $INSTALL" >&5
8730 -echo "${ECHO_T}$INSTALL" >&6
8731 -
8732 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
8733 -# It thinks the first close brace ends the variable substitution.
8734 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
8735 -
8736 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
8737 -
8738 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
8739 -
8740 -
8741 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
8742 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
8743 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
8744 -if test "${enable_maintainer_mode+set}" = set; then
8745 -  enableval="$enable_maintainer_mode"
8746 -  USE_MAINTAINER_MODE=$enableval
8747 -else
8748 -  USE_MAINTAINER_MODE=no
8749 -fi; 
8750 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
8751 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
8752 -  
8753 -
8754 -if test $USE_MAINTAINER_MODE = yes; then
8755 -  MAINTAINER_MODE_TRUE=
8756 -  MAINTAINER_MODE_FALSE='#'
8757 -else
8758 -  MAINTAINER_MODE_TRUE='#'
8759 -  MAINTAINER_MODE_FALSE=
8760 -fi
8761 -
8762 -  MAINT=$MAINTAINER_MODE_TRUE
8763 -  
8764 -
8765 -
8766 -# We need AC_EXEEXT to keep automake happy in cygnus mode.  However,
8767 -# at least currently, we never actually build a program, so we never
8768 -# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
8769 -# fails, because we are probably configuring with a cross compiler
8770 -# which can't create executables.  So we include AC_EXEEXT to keep
8771 -# automake happy, but we don't execute it, since we don't care about
8772 -# the result.
8773 -if false; then
8774 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
8775 -  # to nothing, so nothing would remain between `then' and `fi' if it
8776 -  # were not for the `:' below.
8777 -  :
8778 -  
8779 -fi
8780 -
8781 -. ${srcdir}/configure.host
8782 -
8783 -case ${gc_basedir} in
8784 -/* | A-Za-z:/\\*) gc_flagbasedir=${gc_basedir} ;;
8785 -*) gc_flagbasedir='$(top_builddir)/'${gc_basedir} ;;
8786 -esac
8787 -
8788 -gc_cflags="${gc_cflags} -I"'$(top_builddir)'"/./targ-include -I${gc_flagbasedir}/libc/include"
8789 -case "${host}" in
8790 -  *-*-cygwin32*)
8791 -    gc_cflags="${gc_cflags} -I${gc_flagbasedir}/../winsup/include"
8792 -    ;;
8793 -esac
8794 -
8795 -
8796 -GC_CFLAGS=${gc_cflags}
8797 -
8798 -
8799 -
8800 -# Check whether --enable-shared or --disable-shared was given.
8801 -if test "${enable_shared+set}" = set; then
8802 -  enableval="$enable_shared"
8803 -  p=${PACKAGE-default}
8804 -case $enableval in
8805 -yes) enable_shared=yes ;;
8806 -no) enable_shared=no ;;
8807 -*)
8808 -  enable_shared=no
8809 -  # Look at the argument we got.  We use all the common list separators.
8810 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8811 -  for pkg in $enableval; do
8812 -    if test "X$pkg" = "X$p"; then
8813 -      enable_shared=yes
8814 -    fi
8815 -  done
8816 -  IFS="$ac_save_ifs"
8817 -  ;;
8818 -esac
8819 -else
8820 -  enable_shared=yes
8821 -fi; 
8822 -# Check whether --enable-static or --disable-static was given.
8823 -if test "${enable_static+set}" = set; then
8824 -  enableval="$enable_static"
8825 -  p=${PACKAGE-default}
8826 -case $enableval in
8827 -yes) enable_static=yes ;;
8828 -no) enable_static=no ;;
8829 -*)
8830 -  enable_static=no
8831 -  # Look at the argument we got.  We use all the common list separators.
8832 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8833 -  for pkg in $enableval; do
8834 -    if test "X$pkg" = "X$p"; then
8835 -      enable_static=yes
8836 -    fi
8837 -  done
8838 -  IFS="$ac_save_ifs"
8839 -  ;;
8840 -esac
8841 -else
8842 -  enable_static=yes
8843 -fi; 
8844 -# Check whether --enable-fast-install or --disable-fast-install was given.
8845 -if test "${enable_fast_install+set}" = set; then
8846 -  enableval="$enable_fast_install"
8847 -  p=${PACKAGE-default}
8848 -case $enableval in
8849 -yes) enable_fast_install=yes ;;
8850 -no) enable_fast_install=no ;;
8851 -*)
8852 -  enable_fast_install=no
8853 -  # Look at the argument we got.  We use all the common list separators.
8854 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8855 -  for pkg in $enableval; do
8856 -    if test "X$pkg" = "X$p"; then
8857 -      enable_fast_install=yes
8858 -    fi
8859 -  done
8860 -  IFS="$ac_save_ifs"
8861 -  ;;
8862 -esac
8863 -else
8864 -  enable_fast_install=yes
8865 -fi; 
8866 -rm -f .deps 2>/dev/null
8867 -mkdir .deps 2>/dev/null
8868 -if test -d .deps; then
8869 -  DEPDIR=.deps
8870 -else
8871 -  # MS-DOS does not allow filenames that begin with a dot.
8872 -  DEPDIR=_deps
8873 -fi
8874 -rmdir .deps 2>/dev/null
8875 -
8876 -
8877 -          ac_config_commands="$ac_config_commands depfiles"
8878 -
8879 -
8880 -am_make=${MAKE-make}
8881 -cat > confinc << 'END'
8882 -doit:
8883 -       @echo done
8884 -END
8885 -# If we don't find an include directive, just comment out the code.
8886 -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
8887 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
8888 -am__include="#"
8889 -am__quote=
8890 -_am_result=none
8891 -# First try GNU make style include.
8892 -echo "include confinc" > confmf
8893 -# We grep out `Entering directory' and `Leaving directory'
8894 -# messages which can occur if `w' ends up in MAKEFLAGS.
8895 -# In particular we don't look at `^make:' because GNU make might
8896 -# be invoked under some other name (usually "gmake"), in which
8897 -# case it prints its new name instead of `make'.
8898 -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
8899 -   am__include=include
8900 -   am__quote=
8901 -   _am_result=GNU
8902 -fi
8903 -# Now try BSD make style include.
8904 -if test "$am__include" = "#"; then
8905 -   echo '.include "confinc"' > confmf
8906 -   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
8907 -      am__include=.include
8908 -      am__quote="\""
8909 -      _am_result=BSD
8910 -   fi
8911 -fi
8912 -
8913 -
8914 -echo "$as_me:$LINENO: result: $_am_result" >&5
8915 -echo "${ECHO_T}$_am_result" >&6
8916 -rm -f confinc confmf
8917 -
8918 -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
8919 -if test "${enable_dependency_tracking+set}" = set; then
8920 -  enableval="$enable_dependency_tracking"
8921 -  
8922 -fi; 
8923 -if test "x$enable_dependency_tracking" != xno; then
8924 -  am_depcomp="$ac_aux_dir/depcomp"
8925 -  AMDEPBACKSLASH='\'
8926 -fi
8927 -
8928 -
8929 -if test "x$enable_dependency_tracking" != xno; then
8930 -  AMDEP_TRUE=
8931 -  AMDEP_FALSE='#'
8932 -else
8933 -  AMDEP_TRUE='#'
8934 -  AMDEP_FALSE=
8935 -fi
8936 -
8937 -
8938 -
8939 -ac_ext=c
8940 -ac_cpp='$CPP $CPPFLAGS'
8941 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
8942 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
8943 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
8944 -if test -n "$ac_tool_prefix"; then
8945 -  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
8946 -set dummy ${ac_tool_prefix}gcc; ac_word=$2
8947 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8948 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8949 -if test "${ac_cv_prog_CC+set}" = set; then
8950 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8951 -else
8952 -  if test -n "$CC"; then
8953 -  ac_cv_prog_CC="$CC" # Let the user override the test.
8954 -else
8955 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8956 -for as_dir in $PATH
8957 -do
8958 -  IFS=$as_save_IFS
8959 -  test -z "$as_dir" && as_dir=.
8960 -  for ac_exec_ext in '' $ac_executable_extensions; do
8961 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8962 -    ac_cv_prog_CC="${ac_tool_prefix}gcc"
8963 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8964 -    break 2
8965 -  fi
8966 -done
8967 -done
8968 -
8969 -fi
8970 -fi
8971 -CC=$ac_cv_prog_CC
8972 -if test -n "$CC"; then
8973 -  echo "$as_me:$LINENO: result: $CC" >&5
8974 -echo "${ECHO_T}$CC" >&6
8975 -else
8976 -  echo "$as_me:$LINENO: result: no" >&5
8977 -echo "${ECHO_T}no" >&6
8978 -fi
8979 -
8980 -fi
8981 -if test -z "$ac_cv_prog_CC"; then
8982 -  ac_ct_CC=$CC
8983 -  # Extract the first word of "gcc", so it can be a program name with args.
8984 -set dummy gcc; ac_word=$2
8985 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8986 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8987 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
8988 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8989 -else
8990 -  if test -n "$ac_ct_CC"; then
8991 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
8992 -else
8993 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8994 -for as_dir in $PATH
8995 -do
8996 -  IFS=$as_save_IFS
8997 -  test -z "$as_dir" && as_dir=.
8998 -  for ac_exec_ext in '' $ac_executable_extensions; do
8999 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9000 -    ac_cv_prog_ac_ct_CC="gcc"
9001 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9002 -    break 2
9003 -  fi
9004 -done
9005 -done
9006 -
9007 -fi
9008 -fi
9009 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
9010 -if test -n "$ac_ct_CC"; then
9011 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
9012 -echo "${ECHO_T}$ac_ct_CC" >&6
9013 -else
9014 -  echo "$as_me:$LINENO: result: no" >&5
9015 -echo "${ECHO_T}no" >&6
9016 -fi
9017 -
9018 -  CC=$ac_ct_CC
9019 -else
9020 -  CC="$ac_cv_prog_CC"
9021 -fi
9022 -
9023 -if test -z "$CC"; then
9024 -  if test -n "$ac_tool_prefix"; then
9025 -  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
9026 -set dummy ${ac_tool_prefix}cc; ac_word=$2
9027 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9028 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9029 -if test "${ac_cv_prog_CC+set}" = set; then
9030 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9031 -else
9032 -  if test -n "$CC"; then
9033 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9034 -else
9035 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9036 -for as_dir in $PATH
9037 -do
9038 -  IFS=$as_save_IFS
9039 -  test -z "$as_dir" && as_dir=.
9040 -  for ac_exec_ext in '' $ac_executable_extensions; do
9041 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9042 -    ac_cv_prog_CC="${ac_tool_prefix}cc"
9043 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9044 -    break 2
9045 -  fi
9046 -done
9047 -done
9048 -
9049 -fi
9050 -fi
9051 -CC=$ac_cv_prog_CC
9052 -if test -n "$CC"; then
9053 -  echo "$as_me:$LINENO: result: $CC" >&5
9054 -echo "${ECHO_T}$CC" >&6
9055 -else
9056 -  echo "$as_me:$LINENO: result: no" >&5
9057 -echo "${ECHO_T}no" >&6
9058 -fi
9059 -
9060 -fi
9061 -if test -z "$ac_cv_prog_CC"; then
9062 -  ac_ct_CC=$CC
9063 -  # Extract the first word of "cc", so it can be a program name with args.
9064 -set dummy cc; ac_word=$2
9065 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9066 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9067 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
9068 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9069 -else
9070 -  if test -n "$ac_ct_CC"; then
9071 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
9072 -else
9073 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9074 -for as_dir in $PATH
9075 -do
9076 -  IFS=$as_save_IFS
9077 -  test -z "$as_dir" && as_dir=.
9078 -  for ac_exec_ext in '' $ac_executable_extensions; do
9079 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9080 -    ac_cv_prog_ac_ct_CC="cc"
9081 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9082 -    break 2
9083 -  fi
9084 -done
9085 -done
9086 -
9087 -fi
9088 -fi
9089 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
9090 -if test -n "$ac_ct_CC"; then
9091 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
9092 -echo "${ECHO_T}$ac_ct_CC" >&6
9093 -else
9094 -  echo "$as_me:$LINENO: result: no" >&5
9095 -echo "${ECHO_T}no" >&6
9096 -fi
9097 -
9098 -  CC=$ac_ct_CC
9099 -else
9100 -  CC="$ac_cv_prog_CC"
9101 -fi
9102 -
9103 -fi
9104 -if test -z "$CC"; then
9105 -  # Extract the first word of "cc", so it can be a program name with args.
9106 -set dummy cc; ac_word=$2
9107 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9108 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9109 -if test "${ac_cv_prog_CC+set}" = set; then
9110 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9111 -else
9112 -  if test -n "$CC"; then
9113 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9114 -else
9115 -  ac_prog_rejected=no
9116 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9117 -for as_dir in $PATH
9118 -do
9119 -  IFS=$as_save_IFS
9120 -  test -z "$as_dir" && as_dir=.
9121 -  for ac_exec_ext in '' $ac_executable_extensions; do
9122 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9123 -    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
9124 -       ac_prog_rejected=yes
9125 -       continue
9126 -     fi
9127 -    ac_cv_prog_CC="cc"
9128 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9129 -    break 2
9130 -  fi
9131 -done
9132 -done
9133 -
9134 -if test $ac_prog_rejected = yes; then
9135 -  # We found a bogon in the path, so make sure we never use it.
9136 -  set dummy $ac_cv_prog_CC
9137 -  shift
9138 -  if test $@%:@ != 0; then
9139 -    # We chose a different compiler from the bogus one.
9140 -    # However, it has the same basename, so the bogon will be chosen
9141 -    # first if we set CC to just the basename; use the full file name.
9142 -    shift
9143 -    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
9144 -  fi
9145 -fi
9146 -fi
9147 -fi
9148 -CC=$ac_cv_prog_CC
9149 -if test -n "$CC"; then
9150 -  echo "$as_me:$LINENO: result: $CC" >&5
9151 -echo "${ECHO_T}$CC" >&6
9152 -else
9153 -  echo "$as_me:$LINENO: result: no" >&5
9154 -echo "${ECHO_T}no" >&6
9155 -fi
9156 -
9157 -fi
9158 -if test -z "$CC"; then
9159 -  if test -n "$ac_tool_prefix"; then
9160 -  for ac_prog in cl
9161 -  do
9162 -    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
9163 -set dummy $ac_tool_prefix$ac_prog; ac_word=$2
9164 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9165 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9166 -if test "${ac_cv_prog_CC+set}" = set; then
9167 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9168 -else
9169 -  if test -n "$CC"; then
9170 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9171 -else
9172 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9173 -for as_dir in $PATH
9174 -do
9175 -  IFS=$as_save_IFS
9176 -  test -z "$as_dir" && as_dir=.
9177 -  for ac_exec_ext in '' $ac_executable_extensions; do
9178 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9179 -    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
9180 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9181 -    break 2
9182 -  fi
9183 -done
9184 -done
9185 -
9186 -fi
9187 -fi
9188 -CC=$ac_cv_prog_CC
9189 -if test -n "$CC"; then
9190 -  echo "$as_me:$LINENO: result: $CC" >&5
9191 -echo "${ECHO_T}$CC" >&6
9192 -else
9193 -  echo "$as_me:$LINENO: result: no" >&5
9194 -echo "${ECHO_T}no" >&6
9195 -fi
9196 -
9197 -    test -n "$CC" && break
9198 -  done
9199 -fi
9200 -if test -z "$CC"; then
9201 -  ac_ct_CC=$CC
9202 -  for ac_prog in cl
9203 -do
9204 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
9205 -set dummy $ac_prog; ac_word=$2
9206 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9207 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9208 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
9209 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9210 -else
9211 -  if test -n "$ac_ct_CC"; then
9212 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
9213 -else
9214 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9215 -for as_dir in $PATH
9216 -do
9217 -  IFS=$as_save_IFS
9218 -  test -z "$as_dir" && as_dir=.
9219 -  for ac_exec_ext in '' $ac_executable_extensions; do
9220 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9221 -    ac_cv_prog_ac_ct_CC="$ac_prog"
9222 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9223 -    break 2
9224 -  fi
9225 -done
9226 -done
9227 -
9228 -fi
9229 -fi
9230 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
9231 -if test -n "$ac_ct_CC"; then
9232 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
9233 -echo "${ECHO_T}$ac_ct_CC" >&6
9234 -else
9235 -  echo "$as_me:$LINENO: result: no" >&5
9236 -echo "${ECHO_T}no" >&6
9237 -fi
9238 -
9239 -  test -n "$ac_ct_CC" && break
9240 -done
9241 -
9242 -  CC=$ac_ct_CC
9243 -fi
9244 -
9245 -fi
9246 -
9247 -
9248 -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5
9249 -echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;}
9250 -   { (exit 1); exit 1; }; }
9251 -
9252 -# Provide some information about the compiler.
9253 -echo "$as_me:$LINENO:" \
9254 -     "checking for C compiler version" >&5
9255 -ac_compiler=`set X $ac_compile; echo $2`
9256 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
9257 -  (eval $ac_compiler --version </dev/null >&5) 2>&5
9258 -  ac_status=$?
9259 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9260 -  (exit $ac_status); }
9261 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
9262 -  (eval $ac_compiler -v </dev/null >&5) 2>&5
9263 -  ac_status=$?
9264 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9265 -  (exit $ac_status); }
9266 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
9267 -  (eval $ac_compiler -V </dev/null >&5) 2>&5
9268 -  ac_status=$?
9269 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9270 -  (exit $ac_status); }
9271 -
9272 -cat >conftest.$ac_ext <<_ACEOF
9273 -#line $LINENO "configure"
9274 -#include "confdefs.h"
9275 -
9276 -int
9277 -main ()
9278 -{
9279 -
9280 -  ;
9281 -  return 0;
9282 -}
9283 -_ACEOF
9284 -ac_clean_files_save=$ac_clean_files
9285 -ac_clean_files="$ac_clean_files a.out a.exe"
9286 -# Try to create an executable without -o first, disregard a.out.
9287 -# It will help us diagnose broken compilers, and finding out an intuition
9288 -# of exeext.
9289 -echo "$as_me:$LINENO: checking for C compiler default output" >&5
9290 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
9291 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
9292 -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
9293 -  (eval $ac_link_default) 2>&5
9294 -  ac_status=$?
9295 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9296 -  (exit $ac_status); }; then
9297 -  # Find the output, starting from the most likely.  This scheme is
9298 -# not robust to junk in `.', hence go to wildcards (a.*) only as a last
9299 -# resort.
9300 -
9301 -# Be careful to initialize this variable, since it used to be cached.
9302 -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
9303 -ac_cv_exeext=
9304 -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do
9305 -  test -f "$ac_file" || continue
9306 -  case $ac_file in
9307 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
9308 -    a.out ) # We found the default executable, but exeext='' is most
9309 -            # certainly right.
9310 -            break;;
9311 -    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
9312 -          # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
9313 -          export ac_cv_exeext
9314 -          break;;
9315 -    * ) break;;
9316 -  esac
9317 -done
9318 -else
9319 -  echo "$as_me: failed program was:" >&5
9320 -cat conftest.$ac_ext >&5
9321 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
9322 -check \`config.log' for details." >&5
9323 -echo "$as_me: error: C compiler cannot create executables
9324 -check \`config.log' for details." >&2;}
9325 -   { (exit 77); exit 77; }; }
9326 -fi
9327 -
9328 -ac_exeext=$ac_cv_exeext
9329 -echo "$as_me:$LINENO: result: $ac_file" >&5
9330 -echo "${ECHO_T}$ac_file" >&6
9331 -
9332 -# Check the compiler produces executables we can run.  If not, either
9333 -# the compiler is broken, or we cross compile.
9334 -echo "$as_me:$LINENO: checking whether the C compiler works" >&5
9335 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
9336 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
9337 -# If not cross compiling, check that we can run a simple program.
9338 -if test "$cross_compiling" != yes; then
9339 -  if { ac_try='./$ac_file'
9340 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9341 -  (eval $ac_try) 2>&5
9342 -  ac_status=$?
9343 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9344 -  (exit $ac_status); }; }; then
9345 -    cross_compiling=no
9346 -  else
9347 -    if test "$cross_compiling" = maybe; then
9348 -       cross_compiling=yes
9349 -    else
9350 -       { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
9351 -If you meant to cross compile, use \`--host'." >&5
9352 -echo "$as_me: error: cannot run C compiled programs.
9353 -If you meant to cross compile, use \`--host'." >&2;}
9354 -   { (exit 1); exit 1; }; }
9355 -    fi
9356 -  fi
9357 -fi
9358 -echo "$as_me:$LINENO: result: yes" >&5
9359 -echo "${ECHO_T}yes" >&6
9360 -
9361 -rm -f a.out a.exe conftest$ac_cv_exeext
9362 -ac_clean_files=$ac_clean_files_save
9363 -# Check the compiler produces executables we can run.  If not, either
9364 -# the compiler is broken, or we cross compile.
9365 -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
9366 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
9367 -echo "$as_me:$LINENO: result: $cross_compiling" >&5
9368 -echo "${ECHO_T}$cross_compiling" >&6
9369 -
9370 -echo "$as_me:$LINENO: checking for suffix of executables" >&5
9371 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
9372 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
9373 -  (eval $ac_link) 2>&5
9374 -  ac_status=$?
9375 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9376 -  (exit $ac_status); }; then
9377 -  # If both `conftest.exe' and `conftest' are `present' (well, observable)
9378 -# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
9379 -# work properly (i.e., refer to `conftest.exe'), while it won't with
9380 -# `rm'.
9381 -for ac_file in conftest.exe conftest conftest.*; do
9382 -  test -f "$ac_file" || continue
9383 -  case $ac_file in
9384 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
9385 -    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
9386 -          export ac_cv_exeext
9387 -          break;;
9388 -    * ) break;;
9389 -  esac
9390 -done
9391 -else
9392 -  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5
9393 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;}
9394 -   { (exit 1); exit 1; }; }
9395 -fi
9396 -
9397 -rm -f conftest$ac_cv_exeext
9398 -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
9399 -echo "${ECHO_T}$ac_cv_exeext" >&6
9400 -
9401 -rm -f conftest.$ac_ext
9402 -EXEEXT=$ac_cv_exeext
9403 -ac_exeext=$EXEEXT
9404 -echo "$as_me:$LINENO: checking for suffix of object files" >&5
9405 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
9406 -if test "${ac_cv_objext+set}" = set; then
9407 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9408 -else
9409 -  cat >conftest.$ac_ext <<_ACEOF
9410 -#line $LINENO "configure"
9411 -#include "confdefs.h"
9412 -
9413 -int
9414 -main ()
9415 -{
9416 -
9417 -  ;
9418 -  return 0;
9419 -}
9420 -_ACEOF
9421 -rm -f conftest.o conftest.obj
9422 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9423 -  (eval $ac_compile) 2>&5
9424 -  ac_status=$?
9425 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9426 -  (exit $ac_status); }; then
9427 -  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
9428 -  case $ac_file in
9429 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
9430 -    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
9431 -       break;;
9432 -  esac
9433 -done
9434 -else
9435 -  echo "$as_me: failed program was:" >&5
9436 -cat conftest.$ac_ext >&5
9437 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5
9438 -echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;}
9439 -   { (exit 1); exit 1; }; }
9440 -fi
9441 -
9442 -rm -f conftest.$ac_cv_objext conftest.$ac_ext
9443 -fi
9444 -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
9445 -echo "${ECHO_T}$ac_cv_objext" >&6
9446 -OBJEXT=$ac_cv_objext
9447 -ac_objext=$OBJEXT
9448 -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
9449 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
9450 -if test "${ac_cv_c_compiler_gnu+set}" = set; then
9451 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9452 -else
9453 -  cat >conftest.$ac_ext <<_ACEOF
9454 -#line $LINENO "configure"
9455 -#include "confdefs.h"
9456 -
9457 -int
9458 -main ()
9459 -{
9460 -#ifndef __GNUC__
9461 -       choke me
9462 -#endif
9463 -
9464 -  ;
9465 -  return 0;
9466 -}
9467 -_ACEOF
9468 -rm -f conftest.$ac_objext
9469 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9470 -  (eval $ac_compile) 2>&5
9471 -  ac_status=$?
9472 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9473 -  (exit $ac_status); } &&
9474 -         { ac_try='test -s conftest.$ac_objext'
9475 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9476 -  (eval $ac_try) 2>&5
9477 -  ac_status=$?
9478 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9479 -  (exit $ac_status); }; }; then
9480 -  ac_compiler_gnu=yes
9481 -else
9482 -  echo "$as_me: failed program was:" >&5
9483 -cat conftest.$ac_ext >&5
9484 -ac_compiler_gnu=no
9485 -fi
9486 -rm -f conftest.$ac_objext conftest.$ac_ext
9487 -ac_cv_c_compiler_gnu=$ac_compiler_gnu
9488 -
9489 -fi
9490 -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
9491 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
9492 -GCC=`test $ac_compiler_gnu = yes && echo yes`
9493 -ac_test_CFLAGS=${CFLAGS+set}
9494 -ac_save_CFLAGS=$CFLAGS
9495 -CFLAGS="-g"
9496 -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
9497 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
9498 -if test "${ac_cv_prog_cc_g+set}" = set; then
9499 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9500 -else
9501 -  cat >conftest.$ac_ext <<_ACEOF
9502 -#line $LINENO "configure"
9503 -#include "confdefs.h"
9504 -
9505 -int
9506 -main ()
9507 -{
9508 -
9509 -  ;
9510 -  return 0;
9511 -}
9512 -_ACEOF
9513 -rm -f conftest.$ac_objext
9514 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9515 -  (eval $ac_compile) 2>&5
9516 -  ac_status=$?
9517 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9518 -  (exit $ac_status); } &&
9519 -         { ac_try='test -s conftest.$ac_objext'
9520 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9521 -  (eval $ac_try) 2>&5
9522 -  ac_status=$?
9523 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9524 -  (exit $ac_status); }; }; then
9525 -  ac_cv_prog_cc_g=yes
9526 -else
9527 -  echo "$as_me: failed program was:" >&5
9528 -cat conftest.$ac_ext >&5
9529 -ac_cv_prog_cc_g=no
9530 -fi
9531 -rm -f conftest.$ac_objext conftest.$ac_ext
9532 -fi
9533 -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
9534 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
9535 -if test "$ac_test_CFLAGS" = set; then
9536 -  CFLAGS=$ac_save_CFLAGS
9537 -elif test $ac_cv_prog_cc_g = yes; then
9538 -  if test "$GCC" = yes; then
9539 -    CFLAGS="-g -O2"
9540 -  else
9541 -    CFLAGS="-g"
9542 -  fi
9543 -else
9544 -  if test "$GCC" = yes; then
9545 -    CFLAGS="-O2"
9546 -  else
9547 -    CFLAGS=
9548 -  fi
9549 -fi
9550 -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
9551 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
9552 -if test "${ac_cv_prog_cc_stdc+set}" = set; then
9553 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9554 -else
9555 -  ac_cv_prog_cc_stdc=no
9556 -ac_save_CC=$CC
9557 -cat >conftest.$ac_ext <<_ACEOF
9558 -#line $LINENO "configure"
9559 -#include "confdefs.h"
9560 -#include <stdarg.h>
9561 -#include <stdio.h>
9562 -#include <sys/types.h>
9563 -#include <sys/stat.h>
9564 -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
9565 -struct buf { int x; };
9566 -FILE * (*rcsopen) (struct buf *, struct stat *, int);
9567 -static char *e (p, i)
9568 -     char **p;
9569 -     int i;
9570 -{
9571 -  return p[i];
9572 -}
9573 -static char *f (char * (*g) (char **, int), char **p, ...)
9574 -{
9575 -  char *s;
9576 -  va_list v;
9577 -  va_start (v,p);
9578 -  s = g (p, va_arg (v,int));
9579 -  va_end (v);
9580 -  return s;
9581 -}
9582 -int test (int i, double x);
9583 -struct s1 {int (*f) (int a);};
9584 -struct s2 {int (*f) (double a);};
9585 -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
9586 -int argc;
9587 -char **argv;
9588 -int
9589 -main ()
9590 -{
9591 -return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
9592 -  ;
9593 -  return 0;
9594 -}
9595 -_ACEOF
9596 -# Don't try gcc -ansi; that turns off useful extensions and
9597 -# breaks some systems' header files.
9598 -# AIX                  -qlanglvl=ansi
9599 -# Ultrix and OSF/1     -std1
9600 -# HP-UX 10.20 and later        -Ae
9601 -# HP-UX older versions -Aa -D_HPUX_SOURCE
9602 -# SVR4                 -Xc -D__EXTENSIONS__
9603 -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
9604 -do
9605 -  CC="$ac_save_CC $ac_arg"
9606 -  rm -f conftest.$ac_objext
9607 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9608 -  (eval $ac_compile) 2>&5
9609 -  ac_status=$?
9610 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9611 -  (exit $ac_status); } &&
9612 -         { ac_try='test -s conftest.$ac_objext'
9613 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9614 -  (eval $ac_try) 2>&5
9615 -  ac_status=$?
9616 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9617 -  (exit $ac_status); }; }; then
9618 -  ac_cv_prog_cc_stdc=$ac_arg
9619 -break
9620 -else
9621 -  echo "$as_me: failed program was:" >&5
9622 -cat conftest.$ac_ext >&5
9623 -fi
9624 -rm -f conftest.$ac_objext 
9625 -done
9626 -rm -f conftest.$ac_ext conftest.$ac_objext
9627 -CC=$ac_save_CC
9628 -
9629 -fi
9630 -
9631 -case "x$ac_cv_prog_cc_stdc" in
9632 -  x|xno)
9633 -    echo "$as_me:$LINENO: result: none needed" >&5
9634 -echo "${ECHO_T}none needed" >&6 ;;
9635 -  *)
9636 -    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
9637 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
9638 -    CC="$CC $ac_cv_prog_cc_stdc" ;;
9639 -esac
9640 -
9641 -# Some people use a C++ compiler to compile C.  Since we use `exit',
9642 -# in C++ we need to declare it.  In case someone uses the same compiler
9643 -# for both compiling C and C++ we need to have the C++ compiler decide
9644 -# the declaration of exit, since it's the most demanding environment.
9645 -cat >conftest.$ac_ext <<_ACEOF
9646 -@%:@ifndef __cplusplus
9647 -  choke me
9648 -@%:@endif
9649 -_ACEOF
9650 -rm -f conftest.$ac_objext
9651 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9652 -  (eval $ac_compile) 2>&5
9653 -  ac_status=$?
9654 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9655 -  (exit $ac_status); } &&
9656 -         { ac_try='test -s conftest.$ac_objext'
9657 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9658 -  (eval $ac_try) 2>&5
9659 -  ac_status=$?
9660 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9661 -  (exit $ac_status); }; }; then
9662 -  for ac_declaration in \
9663 -   ''\
9664 -   '#include <stdlib.h>' \
9665 -   'extern "C" void std::exit (int) throw (); using std::exit;' \
9666 -   'extern "C" void std::exit (int); using std::exit;' \
9667 -   'extern "C" void exit (int) throw ();' \
9668 -   'extern "C" void exit (int);' \
9669 -   'void exit (int);'
9670 -do
9671 -  cat >conftest.$ac_ext <<_ACEOF
9672 -#line $LINENO "configure"
9673 -#include "confdefs.h"
9674 -@%:@include <stdlib.h>
9675 -$ac_declaration
9676 -int
9677 -main ()
9678 -{
9679 -exit (42);
9680 -  ;
9681 -  return 0;
9682 -}
9683 -_ACEOF
9684 -rm -f conftest.$ac_objext
9685 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9686 -  (eval $ac_compile) 2>&5
9687 -  ac_status=$?
9688 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9689 -  (exit $ac_status); } &&
9690 -         { ac_try='test -s conftest.$ac_objext'
9691 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9692 -  (eval $ac_try) 2>&5
9693 -  ac_status=$?
9694 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9695 -  (exit $ac_status); }; }; then
9696 -  :
9697 -else
9698 -  echo "$as_me: failed program was:" >&5
9699 -cat conftest.$ac_ext >&5
9700 -continue
9701 -fi
9702 -rm -f conftest.$ac_objext conftest.$ac_ext
9703 -  cat >conftest.$ac_ext <<_ACEOF
9704 -#line $LINENO "configure"
9705 -#include "confdefs.h"
9706 -$ac_declaration
9707 -int
9708 -main ()
9709 -{
9710 -exit (42);
9711 -  ;
9712 -  return 0;
9713 -}
9714 -_ACEOF
9715 -rm -f conftest.$ac_objext
9716 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9717 -  (eval $ac_compile) 2>&5
9718 -  ac_status=$?
9719 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9720 -  (exit $ac_status); } &&
9721 -         { ac_try='test -s conftest.$ac_objext'
9722 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9723 -  (eval $ac_try) 2>&5
9724 -  ac_status=$?
9725 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9726 -  (exit $ac_status); }; }; then
9727 -  break
9728 -else
9729 -  echo "$as_me: failed program was:" >&5
9730 -cat conftest.$ac_ext >&5
9731 -fi
9732 -rm -f conftest.$ac_objext conftest.$ac_ext
9733 -done
9734 -rm -f conftest*
9735 -if test -n "$ac_declaration"; then
9736 -  echo '#ifdef __cplusplus' >>confdefs.h
9737 -  echo $ac_declaration      >>confdefs.h
9738 -  echo '#endif'             >>confdefs.h
9739 -fi
9740 -
9741 -else
9742 -  echo "$as_me: failed program was:" >&5
9743 -cat conftest.$ac_ext >&5
9744 -fi
9745 -rm -f conftest.$ac_objext conftest.$ac_ext
9746 -ac_ext=c
9747 -ac_cpp='$CPP $CPPFLAGS'
9748 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
9749 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
9750 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
9751 -
9752 -depcc="$CC"   am_compiler_list=
9753 -
9754 -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
9755 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
9756 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
9757 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9758 -else
9759 -  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
9760 -  # We make a subdir and do the tests there.  Otherwise we can end up
9761 -  # making bogus files that we don't know about and never remove.  For
9762 -  # instance it was reported that on HP-UX the gcc test will end up
9763 -  # making a dummy file named `D' -- because `-MD' means `put the output
9764 -  # in D'.
9765 -  mkdir conftest.dir
9766 -  # Copy depcomp to subdir because otherwise we won't find it if we're
9767 -  # using a relative directory.
9768 -  cp "$am_depcomp" conftest.dir
9769 -  cd conftest.dir
9770 -
9771 -  am_cv_CC_dependencies_compiler_type=none
9772 -  if test "$am_compiler_list" = ""; then
9773 -     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
9774 -  fi
9775 -  for depmode in $am_compiler_list; do
9776 -    # We need to recreate these files for each test, as the compiler may
9777 -    # overwrite some of them when testing with obscure command lines.
9778 -    # This happens at least with the AIX C compiler.
9779 -    echo '#include "conftest.h"' > conftest.c
9780 -    echo 'int i;' > conftest.h
9781 -    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
9782 -
9783 -    case $depmode in
9784 -    nosideeffect)
9785 -      # after this tag, mechanisms are not by side-effect, so they'll
9786 -      # only be used when explicitly requested
9787 -      if test "x$enable_dependency_tracking" = xyes; then
9788 -       continue
9789 -      else
9790 -       break
9791 -      fi
9792 -      ;;
9793 -    none) break ;;
9794 -    esac
9795 -    # We check with `-c' and `-o' for the sake of the "dashmstdout"
9796 -    # mode.  It turns out that the SunPro C++ compiler does not properly
9797 -    # handle `-M -o', and we need to detect this.
9798 -    if depmode=$depmode \
9799 -       source=conftest.c object=conftest.o \
9800 -       depfile=conftest.Po tmpdepfile=conftest.TPo \
9801 -       $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
9802 -       grep conftest.h conftest.Po > /dev/null 2>&1 &&
9803 -       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
9804 -      am_cv_CC_dependencies_compiler_type=$depmode
9805 -      break
9806 -    fi
9807 -  done
9808 -
9809 -  cd ..
9810 -  rm -rf conftest.dir
9811 -else
9812 -  am_cv_CC_dependencies_compiler_type=none
9813 -fi
9814 -
9815 -fi
9816 -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
9817 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
9818 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
9819 -
9820 -
9821 -# Find the correct PATH separator.  Usually this is `:', but
9822 -# DJGPP uses `;' like DOS.
9823 -if test "X${PATH_SEPARATOR+set}" != Xset; then
9824 -  UNAME=${UNAME-`uname 2>/dev/null`}
9825 -  case X$UNAME in
9826 -    *-DOS) lt_cv_sys_path_separator=';' ;;
9827 -    *)     lt_cv_sys_path_separator=':' ;;
9828 -  esac
9829 -  PATH_SEPARATOR=$lt_cv_sys_path_separator
9830 -fi
9831 -
9832 -
9833 -# Check whether --with-gnu-ld or --without-gnu-ld was given.
9834 -if test "${with_gnu_ld+set}" = set; then
9835 -  withval="$with_gnu_ld"
9836 -  test "$withval" = no || with_gnu_ld=yes
9837 -else
9838 -  with_gnu_ld=no
9839 -fi; 
9840 -ac_prog=ld
9841 -if test "$GCC" = yes; then
9842 -  # Check if gcc -print-prog-name=ld gives a path.
9843 -  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
9844 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
9845 -  case $host in
9846 -  *-*-mingw*)
9847 -    # gcc leaves a trailing carriage return which upsets mingw
9848 -    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
9849 -  *)
9850 -    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
9851 -  esac
9852 -  case $ac_prog in
9853 -    # Accept absolute paths.
9854 -    [\\/]* | [A-Za-z]:[\\/]*)
9855 -      re_direlt='/[^/][^/]*/\.\./'
9856 -      # Canonicalize the path of ld
9857 -      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
9858 -      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
9859 -       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
9860 -      done
9861 -      test -z "$LD" && LD="$ac_prog"
9862 -      ;;
9863 -  "")
9864 -    # If it fails, then pretend we aren't using GCC.
9865 -    ac_prog=ld
9866 -    ;;
9867 -  *)
9868 -    # If it is relative, then search for the first ld in PATH.
9869 -    with_gnu_ld=unknown
9870 -    ;;
9871 -  esac
9872 -elif test "$with_gnu_ld" = yes; then
9873 -  echo "$as_me:$LINENO: checking for GNU ld" >&5
9874 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
9875 -else
9876 -  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
9877 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
9878 -fi
9879 -if test "${lt_cv_path_LD+set}" = set; then
9880 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9881 -else
9882 -  if test -z "$LD"; then
9883 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
9884 -  for ac_dir in $PATH; do
9885 -    test -z "$ac_dir" && ac_dir=.
9886 -    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
9887 -      lt_cv_path_LD="$ac_dir/$ac_prog"
9888 -      # Check to see if the program is GNU ld.  I'd rather use --version,
9889 -      # but apparently some GNU ld's only accept -v.
9890 -      # Break only if it was the GNU/non-GNU ld that we prefer.
9891 -      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
9892 -       test "$with_gnu_ld" != no && break
9893 -      else
9894 -       test "$with_gnu_ld" != yes && break
9895 -      fi
9896 -    fi
9897 -  done
9898 -  IFS="$ac_save_ifs"
9899 -else
9900 -  lt_cv_path_LD="$LD" # Let the user override the test with a path.
9901 -fi
9902 -fi
9903 -
9904 -LD="$lt_cv_path_LD"
9905 -if test -n "$LD"; then
9906 -  echo "$as_me:$LINENO: result: $LD" >&5
9907 -echo "${ECHO_T}$LD" >&6
9908 -else
9909 -  echo "$as_me:$LINENO: result: no" >&5
9910 -echo "${ECHO_T}no" >&6
9911 -fi
9912 -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
9913 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
9914 -   { (exit 1); exit 1; }; }
9915 -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
9916 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
9917 -if test "${lt_cv_prog_gnu_ld+set}" = set; then
9918 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9919 -else
9920 -  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
9921 -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
9922 -  lt_cv_prog_gnu_ld=yes
9923 -else
9924 -  lt_cv_prog_gnu_ld=no
9925 -fi
9926 -fi
9927 -echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
9928 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
9929 -with_gnu_ld=$lt_cv_prog_gnu_ld
9930 -
9931 -
9932 -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
9933 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
9934 -if test "${lt_cv_ld_reload_flag+set}" = set; then
9935 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9936 -else
9937 -  lt_cv_ld_reload_flag='-r'
9938 -fi
9939 -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
9940 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
9941 -reload_flag=$lt_cv_ld_reload_flag
9942 -test -n "$reload_flag" && reload_flag=" $reload_flag"
9943 -
9944 -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
9945 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
9946 -if test "${lt_cv_path_NM+set}" = set; then
9947 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9948 -else
9949 -  if test -n "$NM"; then
9950 -  # Let the user override the test.
9951 -  lt_cv_path_NM="$NM"
9952 -else
9953 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
9954 -  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
9955 -    test -z "$ac_dir" && ac_dir=.
9956 -    tmp_nm=$ac_dir/${ac_tool_prefix}nm
9957 -    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
9958 -      # Check to see if the nm accepts a BSD-compat flag.
9959 -      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
9960 -      #   nm: unknown option "B" ignored
9961 -      # Tru64's nm complains that /dev/null is an invalid object file
9962 -      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
9963 -       lt_cv_path_NM="$tmp_nm -B"
9964 -       break
9965 -      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
9966 -       lt_cv_path_NM="$tmp_nm -p"
9967 -       break
9968 -      else
9969 -       lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
9970 -       continue # so that we can try to find one that supports BSD flags
9971 -      fi
9972 -    fi
9973 -  done
9974 -  IFS="$ac_save_ifs"
9975 -  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
9976 -fi
9977 -fi
9978 -
9979 -NM="$lt_cv_path_NM"
9980 -echo "$as_me:$LINENO: result: $NM" >&5
9981 -echo "${ECHO_T}$NM" >&6
9982 -
9983 -echo "$as_me:$LINENO: checking whether ln -s works" >&5
9984 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
9985 -LN_S=$as_ln_s
9986 -if test "$LN_S" = "ln -s"; then
9987 -  echo "$as_me:$LINENO: result: yes" >&5
9988 -echo "${ECHO_T}yes" >&6
9989 -else
9990 -  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
9991 -echo "${ECHO_T}no, using $LN_S" >&6
9992 -fi
9993 -
9994 -echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
9995 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
9996 -if test "${lt_cv_deplibs_check_method+set}" = set; then
9997 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9998 -else
9999 -  lt_cv_file_magic_cmd='$MAGIC_CMD'
10000 -lt_cv_file_magic_test_file=
10001 -lt_cv_deplibs_check_method='unknown'
10002 -# Need to set the preceding variable on all platforms that support
10003 -# interlibrary dependencies.
10004 -# 'none' -- dependencies not supported.
10005 -# `unknown' -- same as none, but documents that we really don't know.
10006 -# 'pass_all' -- all dependencies passed with no checks.
10007 -# 'test_compile' -- check by making test program.
10008 -# 'file_magic [[regex]]' -- check by looking for files in library path
10009 -# which responds to the $file_magic_cmd with a given egrep regex.
10010 -# If you have `file' or equivalent on your system and you're not sure
10011 -# whether `pass_all' will *always* work, you probably want this one.
10012 -
10013 -case $host_os in
10014 -aix4* | aix5*)
10015 -  lt_cv_deplibs_check_method=pass_all
10016 -  ;;
10017 -
10018 -beos*)
10019 -  lt_cv_deplibs_check_method=pass_all
10020 -  ;;
10021 -
10022 -bsdi4*)
10023 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
10024 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
10025 -  lt_cv_file_magic_test_file=/shlib/libc.so
10026 -  ;;
10027 -
10028 -cygwin* | mingw* | pw32*)
10029 -  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
10030 -  lt_cv_file_magic_cmd='$OBJDUMP -f'
10031 -  ;;
10032 -
10033 -darwin* | rhapsody*)
10034 -  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
10035 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
10036 -  case "$host_os" in
10037 -  rhapsody* | darwin1.[012])
10038 -    lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
10039 -    ;;
10040 -  *) # Darwin 1.3 on
10041 -    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
10042 -    ;;
10043 -  esac
10044 -  ;;
10045 -
10046 -freebsd*)
10047 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
10048 -    case $host_cpu in
10049 -    i*86 )
10050 -      # Not sure whether the presence of OpenBSD here was a mistake.
10051 -      # Let's accept both of them until this is cleared up.
10052 -      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
10053 -      lt_cv_file_magic_cmd=/usr/bin/file
10054 -      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
10055 -      ;;
10056 -    esac
10057 -  else
10058 -    lt_cv_deplibs_check_method=pass_all
10059 -  fi
10060 -  ;;
10061 -
10062 -gnu*)
10063 -  lt_cv_deplibs_check_method=pass_all
10064 -  ;;
10065 -
10066 -hpux10.20*|hpux11*)
10067 -  lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
10068 -  lt_cv_file_magic_cmd=/usr/bin/file
10069 -  lt_cv_file_magic_test_file=/usr/lib/libc.sl
10070 -  ;;
10071 -
10072 -irix5* | irix6*)
10073 -  case $host_os in
10074 -  irix5*)
10075 -    # this will be overridden with pass_all, but let us keep it just in case
10076 -    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
10077 -    ;;
10078 -  *)
10079 -    case $LD in
10080 -    *-32|*"-32 ") libmagic=32-bit;;
10081 -    *-n32|*"-n32 ") libmagic=N32;;
10082 -    *-64|*"-64 ") libmagic=64-bit;;
10083 -    *) libmagic=never-match;;
10084 -    esac
10085 -    # this will be overridden with pass_all, but let us keep it just in case
10086 -    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
10087 -    ;;
10088 -  esac
10089 -  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
10090 -  lt_cv_deplibs_check_method=pass_all
10091 -  ;;
10092 -
10093 -# This must be Linux ELF.
10094 -linux-gnu*)
10095 -  case $host_cpu in
10096 -  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
10097 -    lt_cv_deplibs_check_method=pass_all ;;
10098 -  *)
10099 -    # glibc up to 2.1.1 does not perform some relocations on ARM
10100 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
10101 -  esac
10102 -  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
10103 -  ;;
10104 -
10105 -netbsd*)
10106 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
10107 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
10108 -  else
10109 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
10110 -  fi
10111 -  ;;
10112 -
10113 -newos6*)
10114 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
10115 -  lt_cv_file_magic_cmd=/usr/bin/file
10116 -  lt_cv_file_magic_test_file=/usr/lib/libnls.so
10117 -  ;;
10118 -
10119 -openbsd*)
10120 -  lt_cv_file_magic_cmd=/usr/bin/file
10121 -  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
10122 -  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
10123 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
10124 -  else
10125 -    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
10126 -  fi
10127 -  ;;
10128 -
10129 -osf3* | osf4* | osf5*)
10130 -  # this will be overridden with pass_all, but let us keep it just in case
10131 -  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
10132 -  lt_cv_file_magic_test_file=/shlib/libc.so
10133 -  lt_cv_deplibs_check_method=pass_all
10134 -  ;;
10135 -
10136 -sco3.2v5*)
10137 -  lt_cv_deplibs_check_method=pass_all
10138 -  ;;
10139 -
10140 -solaris*)
10141 -  lt_cv_deplibs_check_method=pass_all
10142 -  lt_cv_file_magic_test_file=/lib/libc.so
10143 -  ;;
10144 -
10145 -sysv5uw[78]* | sysv4*uw2*)
10146 -  lt_cv_deplibs_check_method=pass_all
10147 -  ;;
10148 -
10149 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
10150 -  case $host_vendor in
10151 -  motorola)
10152 -    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]'
10153 -    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
10154 -    ;;
10155 -  ncr)
10156 -    lt_cv_deplibs_check_method=pass_all
10157 -    ;;
10158 -  sequent)
10159 -    lt_cv_file_magic_cmd='/bin/file'
10160 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
10161 -    ;;
10162 -  sni)
10163 -    lt_cv_file_magic_cmd='/bin/file'
10164 -    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
10165 -    lt_cv_file_magic_test_file=/lib/libc.so
10166 -    ;;
10167 -  esac
10168 -  ;;
10169 -esac
10170 -
10171 -fi
10172 -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
10173 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
10174 -file_magic_cmd=$lt_cv_file_magic_cmd
10175 -deplibs_check_method=$lt_cv_deplibs_check_method
10176 -
10177 -
10178 -
10179 -
10180 -
10181 -
10182 -
10183 -# Check for command to grab the raw symbol name followed by C symbol from nm.
10184 -echo "$as_me:$LINENO: checking command to parse $NM output" >&5
10185 -echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6
10186 -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
10187 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10188 -else
10189 -  
10190 -# These are sane defaults that work on at least a few old systems.
10191 -# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
10192 -
10193 -# Character class describing NM global symbol codes.
10194 -symcode='[BCDEGRST]'
10195 -
10196 -# Regexp to match symbols that can be accessed directly from C.
10197 -sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
10198 -
10199 -# Transform the above into a raw symbol and a C symbol.
10200 -symxfrm='\1 \2\3 \3'
10201 -
10202 -# Transform an extracted symbol line into a proper C declaration
10203 -lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
10204 -
10205 -# Transform an extracted symbol line into symbol name and symbol address
10206 -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'"
10207 -
10208 -# Define system-specific variables.
10209 -case $host_os in
10210 -aix*)
10211 -  symcode='[BCDT]'
10212 -  ;;
10213 -cygwin* | mingw* | pw32*)
10214 -  symcode='[ABCDGISTW]'
10215 -  ;;
10216 -hpux*) # Its linker distinguishes data from code symbols
10217 -  lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
10218 -  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'"
10219 -  ;;
10220 -irix*)
10221 -  symcode='[BCDEGRST]'
10222 -  ;;
10223 -solaris* | sysv5*)
10224 -  symcode='[BDT]'
10225 -  ;;
10226 -sysv4)
10227 -  symcode='[DFNSTU]'
10228 -  ;;
10229 -esac
10230 -
10231 -# Handle CRLF in mingw tool chain
10232 -opt_cr=
10233 -case $host_os in
10234 -mingw*)
10235 -  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
10236 -  ;;
10237 -esac
10238 -
10239 -# If we're using GNU nm, then use its standard symbol codes.
10240 -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
10241 -  symcode='[ABCDGISTW]'
10242 -fi
10243 -
10244 -# Try without a prefix undercore, then with it.
10245 -for ac_symprfx in "" "_"; do
10246 -
10247 -  # Write the raw and C identifiers.
10248 -lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[        ]\($symcode$symcode*\)[         ][      ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
10249 -
10250 -  # Check to see that the pipe works correctly.
10251 -  pipe_works=no
10252 -  rm -f conftest*
10253 -  cat > conftest.$ac_ext <<EOF
10254 -#ifdef __cplusplus
10255 -extern "C" {
10256 -#endif
10257 -char nm_test_var;
10258 -void nm_test_func(){}
10259 -#ifdef __cplusplus
10260 -}
10261 -#endif
10262 -int main(){nm_test_var='a';nm_test_func();return(0);}
10263 -EOF
10264 -
10265 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10266 -  (eval $ac_compile) 2>&5
10267 -  ac_status=$?
10268 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10269 -  (exit $ac_status); }; then
10270 -    # Now try to grab the symbols.
10271 -    nlist=conftest.nm
10272 -    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
10273 -  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
10274 -  ac_status=$?
10275 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10276 -  (exit $ac_status); } && test -s "$nlist"; then
10277 -      # Try sorting and uniquifying the output.
10278 -      if sort "$nlist" | uniq > "$nlist"T; then
10279 -       mv -f "$nlist"T "$nlist"
10280 -      else
10281 -       rm -f "$nlist"T
10282 -      fi
10283 -
10284 -      # Make sure that we snagged all the symbols we need.
10285 -      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
10286 -       if egrep ' nm_test_func$' "$nlist" >/dev/null; then
10287 -         cat <<EOF > conftest.$ac_ext
10288 -#ifdef __cplusplus
10289 -extern "C" {
10290 -#endif
10291 -
10292 -EOF
10293 -         # Now generate the symbol file.
10294 -         eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
10295 -
10296 -         cat <<EOF >> conftest.$ac_ext
10297 -#if defined (__STDC__) && __STDC__
10298 -# define lt_ptr void *
10299 -#else
10300 -# define lt_ptr char *
10301 -# define const
10302 -#endif
10303 -
10304 -/* The mapping between symbol names and symbols. */
10305 -const struct {
10306 -  const char *name;
10307 -  lt_ptr address;
10308 -}
10309 -lt_preloaded_symbols[] =
10310 -{
10311 -EOF
10312 -         sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
10313 -         cat <<\EOF >> conftest.$ac_ext
10314 -  {0, (lt_ptr) 0}
10315 -};
10316 -
10317 -#ifdef __cplusplus
10318 -}
10319 -#endif
10320 -EOF
10321 -         # Now try linking the two files.
10322 -         mv conftest.$ac_objext conftstm.$ac_objext
10323 -         save_LIBS="$LIBS"
10324 -         save_CFLAGS="$CFLAGS"
10325 -         LIBS="conftstm.$ac_objext"
10326 -         CFLAGS="$CFLAGS$no_builtin_flag"
10327 -         if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
10328 -  (eval $ac_link) 2>&5
10329 -  ac_status=$?
10330 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10331 -  (exit $ac_status); } && test -s conftest; then
10332 -           pipe_works=yes
10333 -         fi
10334 -         LIBS="$save_LIBS"
10335 -         CFLAGS="$save_CFLAGS"
10336 -       else
10337 -         echo "cannot find nm_test_func in $nlist" >&5
10338 -       fi
10339 -      else
10340 -       echo "cannot find nm_test_var in $nlist" >&5
10341 -      fi
10342 -    else
10343 -      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
10344 -    fi
10345 -  else
10346 -    echo "$progname: failed program was:" >&5
10347 -    cat conftest.$ac_ext >&5
10348 -  fi
10349 -  rm -f conftest* conftst*
10350 -
10351 -  # Do not use the global_symbol_pipe unless it works.
10352 -  if test "$pipe_works" = yes; then
10353 -    break
10354 -  else
10355 -    lt_cv_sys_global_symbol_pipe=
10356 -  fi
10357 -done
10358 -
10359 -fi
10360 -
10361 -global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
10362 -if test -z "$lt_cv_sys_global_symbol_pipe"; then
10363 -  global_symbol_to_cdecl=
10364 -  global_symbol_to_c_name_address=
10365 -else
10366 -  global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
10367 -  global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
10368 -fi
10369 -if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
10370 -then
10371 -  echo "$as_me:$LINENO: result: failed" >&5
10372 -echo "${ECHO_T}failed" >&6
10373 -else
10374 -  echo "$as_me:$LINENO: result: ok" >&5
10375 -echo "${ECHO_T}ok" >&6
10376 -fi
10377 -
10378 -ac_ext=c
10379 -ac_cpp='$CPP $CPPFLAGS'
10380 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
10381 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
10382 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
10383 -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
10384 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
10385 -# On Suns, sometimes $CPP names a directory.
10386 -if test -n "$CPP" && test -d "$CPP"; then
10387 -  CPP=
10388 -fi
10389 -if test -z "$CPP"; then
10390 -  if test "${ac_cv_prog_CPP+set}" = set; then
10391 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10392 -else
10393 -      # Double quotes because CPP needs to be expanded
10394 -    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
10395 -    do
10396 -      ac_preproc_ok=false
10397 -for ac_c_preproc_warn_flag in '' yes
10398 -do
10399 -  # Use a header file that comes with gcc, so configuring glibc
10400 -  # with a fresh cross-compiler works.
10401 -  # On the NeXT, cc -E runs the code through the compiler's parser,
10402 -  # not just through cpp. "Syntax error" is here to catch this case.
10403 -  cat >conftest.$ac_ext <<_ACEOF
10404 -#line $LINENO "configure"
10405 -#include "confdefs.h"
10406 -@%:@include <assert.h>
10407 -                     Syntax error
10408 -_ACEOF
10409 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10410 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10411 -  ac_status=$?
10412 -  grep -v '^ *+' conftest.er1 >conftest.err
10413 -  rm -f conftest.er1
10414 -  cat conftest.err >&5
10415 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10416 -  (exit $ac_status); } >/dev/null; then
10417 -  if test -s conftest.err; then
10418 -    ac_cpp_err=$ac_c_preproc_warn_flag
10419 -  else
10420 -    ac_cpp_err=
10421 -  fi
10422 -else
10423 -  ac_cpp_err=yes
10424 -fi
10425 -if test -z "$ac_cpp_err"; then
10426 -  :
10427 -else
10428 -  echo "$as_me: failed program was:" >&5
10429 -  cat conftest.$ac_ext >&5
10430 -  # Broken: fails on valid input.
10431 -continue
10432 -fi
10433 -rm -f conftest.err conftest.$ac_ext
10434 -
10435 -  # OK, works on sane cases.  Now check whether non-existent headers
10436 -  # can be detected and how.
10437 -  cat >conftest.$ac_ext <<_ACEOF
10438 -#line $LINENO "configure"
10439 -#include "confdefs.h"
10440 -@%:@include <ac_nonexistent.h>
10441 -_ACEOF
10442 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10443 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10444 -  ac_status=$?
10445 -  grep -v '^ *+' conftest.er1 >conftest.err
10446 -  rm -f conftest.er1
10447 -  cat conftest.err >&5
10448 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10449 -  (exit $ac_status); } >/dev/null; then
10450 -  if test -s conftest.err; then
10451 -    ac_cpp_err=$ac_c_preproc_warn_flag
10452 -  else
10453 -    ac_cpp_err=
10454 -  fi
10455 -else
10456 -  ac_cpp_err=yes
10457 -fi
10458 -if test -z "$ac_cpp_err"; then
10459 -  # Broken: success on invalid input.
10460 -continue
10461 -else
10462 -  echo "$as_me: failed program was:" >&5
10463 -  cat conftest.$ac_ext >&5
10464 -  # Passes both tests.
10465 -ac_preproc_ok=:
10466 -break
10467 -fi
10468 -rm -f conftest.err conftest.$ac_ext
10469 -
10470 -done
10471 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
10472 -rm -f conftest.err conftest.$ac_ext
10473 -if $ac_preproc_ok; then
10474 -  break
10475 -fi
10476 -
10477 -    done
10478 -    ac_cv_prog_CPP=$CPP
10479 -  
10480 -fi
10481 -  CPP=$ac_cv_prog_CPP
10482 -else
10483 -  ac_cv_prog_CPP=$CPP
10484 -fi
10485 -echo "$as_me:$LINENO: result: $CPP" >&5
10486 -echo "${ECHO_T}$CPP" >&6
10487 -ac_preproc_ok=false
10488 -for ac_c_preproc_warn_flag in '' yes
10489 -do
10490 -  # Use a header file that comes with gcc, so configuring glibc
10491 -  # with a fresh cross-compiler works.
10492 -  # On the NeXT, cc -E runs the code through the compiler's parser,
10493 -  # not just through cpp. "Syntax error" is here to catch this case.
10494 -  cat >conftest.$ac_ext <<_ACEOF
10495 -#line $LINENO "configure"
10496 -#include "confdefs.h"
10497 -@%:@include <assert.h>
10498 -                     Syntax error
10499 -_ACEOF
10500 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10501 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10502 -  ac_status=$?
10503 -  grep -v '^ *+' conftest.er1 >conftest.err
10504 -  rm -f conftest.er1
10505 -  cat conftest.err >&5
10506 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10507 -  (exit $ac_status); } >/dev/null; then
10508 -  if test -s conftest.err; then
10509 -    ac_cpp_err=$ac_c_preproc_warn_flag
10510 -  else
10511 -    ac_cpp_err=
10512 -  fi
10513 -else
10514 -  ac_cpp_err=yes
10515 -fi
10516 -if test -z "$ac_cpp_err"; then
10517 -  :
10518 -else
10519 -  echo "$as_me: failed program was:" >&5
10520 -  cat conftest.$ac_ext >&5
10521 -  # Broken: fails on valid input.
10522 -continue
10523 -fi
10524 -rm -f conftest.err conftest.$ac_ext
10525 -
10526 -  # OK, works on sane cases.  Now check whether non-existent headers
10527 -  # can be detected and how.
10528 -  cat >conftest.$ac_ext <<_ACEOF
10529 -#line $LINENO "configure"
10530 -#include "confdefs.h"
10531 -@%:@include <ac_nonexistent.h>
10532 -_ACEOF
10533 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10534 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10535 -  ac_status=$?
10536 -  grep -v '^ *+' conftest.er1 >conftest.err
10537 -  rm -f conftest.er1
10538 -  cat conftest.err >&5
10539 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10540 -  (exit $ac_status); } >/dev/null; then
10541 -  if test -s conftest.err; then
10542 -    ac_cpp_err=$ac_c_preproc_warn_flag
10543 -  else
10544 -    ac_cpp_err=
10545 -  fi
10546 -else
10547 -  ac_cpp_err=yes
10548 -fi
10549 -if test -z "$ac_cpp_err"; then
10550 -  # Broken: success on invalid input.
10551 -continue
10552 -else
10553 -  echo "$as_me: failed program was:" >&5
10554 -  cat conftest.$ac_ext >&5
10555 -  # Passes both tests.
10556 -ac_preproc_ok=:
10557 -break
10558 -fi
10559 -rm -f conftest.err conftest.$ac_ext
10560 -
10561 -done
10562 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
10563 -rm -f conftest.err conftest.$ac_ext
10564 -if $ac_preproc_ok; then
10565 -  :
10566 -else
10567 -  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5
10568 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
10569 -   { (exit 1); exit 1; }; }
10570 -fi
10571 -
10572 -ac_ext=c
10573 -ac_cpp='$CPP $CPPFLAGS'
10574 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
10575 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
10576 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
10577 -
10578 -
10579 -echo "$as_me:$LINENO: checking for egrep" >&5
10580 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6
10581 -if test "${ac_cv_prog_egrep+set}" = set; then
10582 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10583 -else
10584 -  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
10585 -    then ac_cv_prog_egrep='grep -E'
10586 -    else ac_cv_prog_egrep='egrep'
10587 -    fi
10588 -fi
10589 -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
10590 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6
10591 - EGREP=$ac_cv_prog_egrep
10592
10593 -
10594 -echo "$as_me:$LINENO: checking for ANSI C header files" >&5
10595 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
10596 -if test "${ac_cv_header_stdc+set}" = set; then
10597 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10598 -else
10599 -  cat >conftest.$ac_ext <<_ACEOF
10600 -#line $LINENO "configure"
10601 -#include "confdefs.h"
10602 -#include <stdlib.h>
10603 -#include <stdarg.h>
10604 -#include <string.h>
10605 -#include <float.h>
10606 -
10607 -_ACEOF
10608 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10609 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10610 -  ac_status=$?
10611 -  grep -v '^ *+' conftest.er1 >conftest.err
10612 -  rm -f conftest.er1
10613 -  cat conftest.err >&5
10614 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10615 -  (exit $ac_status); } >/dev/null; then
10616 -  if test -s conftest.err; then
10617 -    ac_cpp_err=$ac_c_preproc_warn_flag
10618 -  else
10619 -    ac_cpp_err=
10620 -  fi
10621 -else
10622 -  ac_cpp_err=yes
10623 -fi
10624 -if test -z "$ac_cpp_err"; then
10625 -  ac_cv_header_stdc=yes
10626 -else
10627 -  echo "$as_me: failed program was:" >&5
10628 -  cat conftest.$ac_ext >&5
10629 -  ac_cv_header_stdc=no
10630 -fi
10631 -rm -f conftest.err conftest.$ac_ext
10632 -
10633 -if test $ac_cv_header_stdc = yes; then
10634 -  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
10635 -  cat >conftest.$ac_ext <<_ACEOF
10636 -#line $LINENO "configure"
10637 -#include "confdefs.h"
10638 -#include <string.h>
10639 -
10640 -_ACEOF
10641 -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10642 -  $EGREP "memchr" >/dev/null 2>&1; then
10643 -  :
10644 -else
10645 -  ac_cv_header_stdc=no
10646 -fi
10647 -rm -f conftest*
10648 -
10649 -fi
10650 -
10651 -if test $ac_cv_header_stdc = yes; then
10652 -  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
10653 -  cat >conftest.$ac_ext <<_ACEOF
10654 -#line $LINENO "configure"
10655 -#include "confdefs.h"
10656 -#include <stdlib.h>
10657 -
10658 -_ACEOF
10659 -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10660 -  $EGREP "free" >/dev/null 2>&1; then
10661 -  :
10662 -else
10663 -  ac_cv_header_stdc=no
10664 -fi
10665 -rm -f conftest*
10666 -
10667 -fi
10668 -
10669 -if test $ac_cv_header_stdc = yes; then
10670 -  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
10671 -  if test "$cross_compiling" = yes; then
10672 -  :
10673 -else
10674 -  cat >conftest.$ac_ext <<_ACEOF
10675 -#line $LINENO "configure"
10676 -#include "confdefs.h"
10677 -#include <ctype.h>
10678 -#if ((' ' & 0x0FF) == 0x020)
10679 -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
10680 -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
10681 -#else
10682 -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
10683 -                     || ('j' <= (c) && (c) <= 'r') \
10684 -                     || ('s' <= (c) && (c) <= 'z'))
10685 -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
10686 -#endif
10687 -
10688 -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
10689 -int
10690 -main ()
10691 -{
10692 -  int i;
10693 -  for (i = 0; i < 256; i++)
10694 -    if (XOR (islower (i), ISLOWER (i))
10695 -        || toupper (i) != TOUPPER (i))
10696 -      exit(2);
10697 -  exit (0);
10698 -}
10699 -_ACEOF
10700 -rm -f conftest$ac_exeext
10701 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
10702 -  (eval $ac_link) 2>&5
10703 -  ac_status=$?
10704 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10705 -  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10706 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10707 -  (eval $ac_try) 2>&5
10708 -  ac_status=$?
10709 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10710 -  (exit $ac_status); }; }; then
10711 -  :
10712 -else
10713 -  echo "$as_me: program exited with status $ac_status" >&5
10714 -echo "$as_me: failed program was:" >&5
10715 -cat conftest.$ac_ext >&5
10716 -( exit $ac_status )
10717 -ac_cv_header_stdc=no
10718 -fi
10719 -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
10720 -fi
10721 -fi
10722 -fi
10723 -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
10724 -echo "${ECHO_T}$ac_cv_header_stdc" >&6
10725 -if test $ac_cv_header_stdc = yes; then
10726 -  
10727 -cat >>confdefs.h <<\_ACEOF
10728 -@%:@define STDC_HEADERS 1
10729 -_ACEOF
10730 -
10731 -fi
10732 -
10733 -# On IRIX 5.3, sys/types and inttypes.h are conflicting.
10734 -
10735 -
10736 -
10737 -
10738 -
10739 -
10740 -
10741 -
10742 -
10743 -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
10744 -                  inttypes.h stdint.h unistd.h
10745 -do
10746 -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10747 -echo "$as_me:$LINENO: checking for $ac_header" >&5
10748 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10749 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10750 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10751 -else
10752 -  cat >conftest.$ac_ext <<_ACEOF
10753 -#line $LINENO "configure"
10754 -#include "confdefs.h"
10755 -$ac_includes_default
10756 -
10757 -@%:@include <$ac_header>
10758 -_ACEOF
10759 -rm -f conftest.$ac_objext
10760 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10761 -  (eval $ac_compile) 2>&5
10762 -  ac_status=$?
10763 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10764 -  (exit $ac_status); } &&
10765 -         { ac_try='test -s conftest.$ac_objext'
10766 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10767 -  (eval $ac_try) 2>&5
10768 -  ac_status=$?
10769 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10770 -  (exit $ac_status); }; }; then
10771 -  eval "$as_ac_Header=yes"
10772 -else
10773 -  echo "$as_me: failed program was:" >&5
10774 -cat conftest.$ac_ext >&5
10775 -eval "$as_ac_Header=no"
10776 -fi
10777 -rm -f conftest.$ac_objext conftest.$ac_ext
10778 -fi
10779 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10780 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10781 -if test `eval echo '${'$as_ac_Header'}'` = yes; then
10782 -  cat >>confdefs.h <<_ACEOF
10783 -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
10784 -_ACEOF
10785
10786 -fi
10787 -
10788 -done
10789 -
10790 -
10791 -
10792 -for ac_header in dlfcn.h
10793 -do
10794 -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10795 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10796 -  echo "$as_me:$LINENO: checking for $ac_header" >&5
10797 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10798 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10799 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10800 -fi
10801 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10802 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10803 -else
10804 -  # Is the header compilable?
10805 -echo "$as_me:$LINENO: checking $ac_header usability" >&5
10806 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
10807 -cat >conftest.$ac_ext <<_ACEOF
10808 -#line $LINENO "configure"
10809 -#include "confdefs.h"
10810 -$ac_includes_default
10811 -@%:@include <$ac_header>
10812 -_ACEOF
10813 -rm -f conftest.$ac_objext
10814 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10815 -  (eval $ac_compile) 2>&5
10816 -  ac_status=$?
10817 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10818 -  (exit $ac_status); } &&
10819 -         { ac_try='test -s conftest.$ac_objext'
10820 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10821 -  (eval $ac_try) 2>&5
10822 -  ac_status=$?
10823 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10824 -  (exit $ac_status); }; }; then
10825 -  ac_header_compiler=yes
10826 -else
10827 -  echo "$as_me: failed program was:" >&5
10828 -cat conftest.$ac_ext >&5
10829 -ac_header_compiler=no
10830 -fi
10831 -rm -f conftest.$ac_objext conftest.$ac_ext
10832 -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
10833 -echo "${ECHO_T}$ac_header_compiler" >&6
10834 -
10835 -# Is the header present?
10836 -echo "$as_me:$LINENO: checking $ac_header presence" >&5
10837 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
10838 -cat >conftest.$ac_ext <<_ACEOF
10839 -#line $LINENO "configure"
10840 -#include "confdefs.h"
10841 -@%:@include <$ac_header>
10842 -_ACEOF
10843 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10844 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10845 -  ac_status=$?
10846 -  grep -v '^ *+' conftest.er1 >conftest.err
10847 -  rm -f conftest.er1
10848 -  cat conftest.err >&5
10849 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10850 -  (exit $ac_status); } >/dev/null; then
10851 -  if test -s conftest.err; then
10852 -    ac_cpp_err=$ac_c_preproc_warn_flag
10853 -  else
10854 -    ac_cpp_err=
10855 -  fi
10856 -else
10857 -  ac_cpp_err=yes
10858 -fi
10859 -if test -z "$ac_cpp_err"; then
10860 -  ac_header_preproc=yes
10861 -else
10862 -  echo "$as_me: failed program was:" >&5
10863 -  cat conftest.$ac_ext >&5
10864 -  ac_header_preproc=no
10865 -fi
10866 -rm -f conftest.err conftest.$ac_ext
10867 -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
10868 -echo "${ECHO_T}$ac_header_preproc" >&6
10869 -
10870 -# So?  What about this header?
10871 -case $ac_header_compiler:$ac_header_preproc in
10872 -  yes:no )
10873 -    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
10874 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
10875 -    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
10876 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
10877 -  no:yes )
10878 -    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
10879 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
10880 -    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
10881 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
10882 -    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
10883 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
10884 -esac
10885 -echo "$as_me:$LINENO: checking for $ac_header" >&5
10886 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10887 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10888 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10889 -else
10890 -  eval "$as_ac_Header=$ac_header_preproc"
10891 -fi
10892 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10893 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10894 -
10895 -fi
10896 -if test `eval echo '${'$as_ac_Header'}'` = yes; then
10897 -  cat >>confdefs.h <<_ACEOF
10898 -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
10899 -_ACEOF
10900
10901 -fi
10902 -
10903 -done
10904 -
10905 -
10906 -
10907 -
10908 -
10909 -# Only perform the check for file, if the check method requires it
10910 -case $deplibs_check_method in
10911 -file_magic*)
10912 -  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
10913 -    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
10914 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
10915 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
10916 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10917 -else
10918 -  case $MAGIC_CMD in
10919 -  /*)
10920 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
10921 -  ;;
10922 -  ?:/*)
10923 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
10924 -  ;;
10925 -  *)
10926 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
10927 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
10928 -  ac_dummy="/usr/bin:$PATH"
10929 -  for ac_dir in $ac_dummy; do
10930 -    test -z "$ac_dir" && ac_dir=.
10931 -    if test -f $ac_dir/${ac_tool_prefix}file; then
10932 -      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
10933 -      if test -n "$file_magic_test_file"; then
10934 -       case $deplibs_check_method in
10935 -       "file_magic "*)
10936 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
10937 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10938 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
10939 -           egrep "$file_magic_regex" > /dev/null; then
10940 -           :
10941 -         else
10942 -           cat <<EOF 1>&2
10943 -
10944 -*** Warning: the command libtool uses to detect shared libraries,
10945 -*** $file_magic_cmd, produces output that libtool cannot recognize.
10946 -*** The result is that libtool may fail to recognize shared libraries
10947 -*** as such.  This will affect the creation of libtool libraries that
10948 -*** depend on shared libraries, but programs linked with such libtool
10949 -*** libraries will work regardless of this problem.  Nevertheless, you
10950 -*** may want to report the problem to your system manager and/or to
10951 -*** bug-libtool@gnu.org
10952 -
10953 -EOF
10954 -         fi ;;
10955 -       esac
10956 -      fi
10957 -      break
10958 -    fi
10959 -  done
10960 -  IFS="$ac_save_ifs"
10961 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
10962 -  ;;
10963 -esac
10964 -fi
10965 -
10966 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10967 -if test -n "$MAGIC_CMD"; then
10968 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
10969 -echo "${ECHO_T}$MAGIC_CMD" >&6
10970 -else
10971 -  echo "$as_me:$LINENO: result: no" >&5
10972 -echo "${ECHO_T}no" >&6
10973 -fi
10974 -
10975 -if test -z "$lt_cv_path_MAGIC_CMD"; then
10976 -  if test -n "$ac_tool_prefix"; then
10977 -    echo "$as_me:$LINENO: checking for file" >&5
10978 -echo $ECHO_N "checking for file... $ECHO_C" >&6
10979 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
10980 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10981 -else
10982 -  case $MAGIC_CMD in
10983 -  /*)
10984 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
10985 -  ;;
10986 -  ?:/*)
10987 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
10988 -  ;;
10989 -  *)
10990 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
10991 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
10992 -  ac_dummy="/usr/bin:$PATH"
10993 -  for ac_dir in $ac_dummy; do
10994 -    test -z "$ac_dir" && ac_dir=.
10995 -    if test -f $ac_dir/file; then
10996 -      lt_cv_path_MAGIC_CMD="$ac_dir/file"
10997 -      if test -n "$file_magic_test_file"; then
10998 -       case $deplibs_check_method in
10999 -       "file_magic "*)
11000 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
11001 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11002 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
11003 -           egrep "$file_magic_regex" > /dev/null; then
11004 -           :
11005 -         else
11006 -           cat <<EOF 1>&2
11007 -
11008 -*** Warning: the command libtool uses to detect shared libraries,
11009 -*** $file_magic_cmd, produces output that libtool cannot recognize.
11010 -*** The result is that libtool may fail to recognize shared libraries
11011 -*** as such.  This will affect the creation of libtool libraries that
11012 -*** depend on shared libraries, but programs linked with such libtool
11013 -*** libraries will work regardless of this problem.  Nevertheless, you
11014 -*** may want to report the problem to your system manager and/or to
11015 -*** bug-libtool@gnu.org
11016 -
11017 -EOF
11018 -         fi ;;
11019 -       esac
11020 -      fi
11021 -      break
11022 -    fi
11023 -  done
11024 -  IFS="$ac_save_ifs"
11025 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
11026 -  ;;
11027 -esac
11028 -fi
11029 -
11030 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11031 -if test -n "$MAGIC_CMD"; then
11032 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
11033 -echo "${ECHO_T}$MAGIC_CMD" >&6
11034 -else
11035 -  echo "$as_me:$LINENO: result: no" >&5
11036 -echo "${ECHO_T}no" >&6
11037 -fi
11038 -
11039 -  else
11040 -    MAGIC_CMD=:
11041 -  fi
11042 -fi
11043 -
11044 -  fi
11045 -  ;;
11046 -esac
11047 -
11048 -if test -n "$ac_tool_prefix"; then
11049 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
11050 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
11051 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11052 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11053 -if test "${ac_cv_prog_RANLIB+set}" = set; then
11054 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11055 -else
11056 -  if test -n "$RANLIB"; then
11057 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
11058 -else
11059 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11060 -for as_dir in $PATH
11061 -do
11062 -  IFS=$as_save_IFS
11063 -  test -z "$as_dir" && as_dir=.
11064 -  for ac_exec_ext in '' $ac_executable_extensions; do
11065 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11066 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
11067 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11068 -    break 2
11069 -  fi
11070 -done
11071 -done
11072 -
11073 -fi
11074 -fi
11075 -RANLIB=$ac_cv_prog_RANLIB
11076 -if test -n "$RANLIB"; then
11077 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
11078 -echo "${ECHO_T}$RANLIB" >&6
11079 -else
11080 -  echo "$as_me:$LINENO: result: no" >&5
11081 -echo "${ECHO_T}no" >&6
11082 -fi
11083 -
11084 -fi
11085 -if test -z "$ac_cv_prog_RANLIB"; then
11086 -  ac_ct_RANLIB=$RANLIB
11087 -  # Extract the first word of "ranlib", so it can be a program name with args.
11088 -set dummy ranlib; ac_word=$2
11089 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11090 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11091 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
11092 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11093 -else
11094 -  if test -n "$ac_ct_RANLIB"; then
11095 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
11096 -else
11097 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11098 -for as_dir in $PATH
11099 -do
11100 -  IFS=$as_save_IFS
11101 -  test -z "$as_dir" && as_dir=.
11102 -  for ac_exec_ext in '' $ac_executable_extensions; do
11103 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11104 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
11105 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11106 -    break 2
11107 -  fi
11108 -done
11109 -done
11110 -
11111 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
11112 -fi
11113 -fi
11114 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
11115 -if test -n "$ac_ct_RANLIB"; then
11116 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
11117 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
11118 -else
11119 -  echo "$as_me:$LINENO: result: no" >&5
11120 -echo "${ECHO_T}no" >&6
11121 -fi
11122 -
11123 -  RANLIB=$ac_ct_RANLIB
11124 -else
11125 -  RANLIB="$ac_cv_prog_RANLIB"
11126 -fi
11127 -
11128 -if test -n "$ac_tool_prefix"; then
11129 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
11130 -set dummy ${ac_tool_prefix}strip; ac_word=$2
11131 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11132 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11133 -if test "${ac_cv_prog_STRIP+set}" = set; then
11134 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11135 -else
11136 -  if test -n "$STRIP"; then
11137 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
11138 -else
11139 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11140 -for as_dir in $PATH
11141 -do
11142 -  IFS=$as_save_IFS
11143 -  test -z "$as_dir" && as_dir=.
11144 -  for ac_exec_ext in '' $ac_executable_extensions; do
11145 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11146 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
11147 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11148 -    break 2
11149 -  fi
11150 -done
11151 -done
11152 -
11153 -fi
11154 -fi
11155 -STRIP=$ac_cv_prog_STRIP
11156 -if test -n "$STRIP"; then
11157 -  echo "$as_me:$LINENO: result: $STRIP" >&5
11158 -echo "${ECHO_T}$STRIP" >&6
11159 -else
11160 -  echo "$as_me:$LINENO: result: no" >&5
11161 -echo "${ECHO_T}no" >&6
11162 -fi
11163 -
11164 -fi
11165 -if test -z "$ac_cv_prog_STRIP"; then
11166 -  ac_ct_STRIP=$STRIP
11167 -  # Extract the first word of "strip", so it can be a program name with args.
11168 -set dummy strip; ac_word=$2
11169 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11170 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11171 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
11172 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11173 -else
11174 -  if test -n "$ac_ct_STRIP"; then
11175 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
11176 -else
11177 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11178 -for as_dir in $PATH
11179 -do
11180 -  IFS=$as_save_IFS
11181 -  test -z "$as_dir" && as_dir=.
11182 -  for ac_exec_ext in '' $ac_executable_extensions; do
11183 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11184 -    ac_cv_prog_ac_ct_STRIP="strip"
11185 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11186 -    break 2
11187 -  fi
11188 -done
11189 -done
11190 -
11191 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
11192 -fi
11193 -fi
11194 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
11195 -if test -n "$ac_ct_STRIP"; then
11196 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
11197 -echo "${ECHO_T}$ac_ct_STRIP" >&6
11198 -else
11199 -  echo "$as_me:$LINENO: result: no" >&5
11200 -echo "${ECHO_T}no" >&6
11201 -fi
11202 -
11203 -  STRIP=$ac_ct_STRIP
11204 -else
11205 -  STRIP="$ac_cv_prog_STRIP"
11206 -fi
11207 -
11208 -
11209 -enable_dlopen=no
11210 -enable_win32_dll=no
11211 -
11212 -# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
11213 -if test "${enable_libtool_lock+set}" = set; then
11214 -  enableval="$enable_libtool_lock"
11215 -  
11216 -fi; 
11217 -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
11218 -
11219 -# Some flags need to be propagated to the compiler or linker for good
11220 -# libtool support.
11221 -case $host in
11222 -*-*-irix6*)
11223 -  # Find out which ABI we are using.
11224 -  echo '#line __oline__ "configure"' > conftest.$ac_ext
11225 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11226 -  (eval $ac_compile) 2>&5
11227 -  ac_status=$?
11228 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11229 -  (exit $ac_status); }; then
11230 -    case `/usr/bin/file conftest.$ac_objext` in
11231 -    *32-bit*)
11232 -      LD="${LD-ld} -32"
11233 -      ;;
11234 -    *N32*)
11235 -      LD="${LD-ld} -n32"
11236 -      ;;
11237 -    *64-bit*)
11238 -      LD="${LD-ld} -64"
11239 -      ;;
11240 -    esac
11241 -  fi
11242 -  rm -rf conftest*
11243 -  ;;
11244 -
11245 -*-*-sco3.2v5*)
11246 -  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
11247 -  SAVE_CFLAGS="$CFLAGS"
11248 -  CFLAGS="$CFLAGS -belf"
11249 -  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
11250 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
11251 -if test "${lt_cv_cc_needs_belf+set}" = set; then
11252 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11253 -else
11254 -  
11255 -
11256 -     ac_ext=c
11257 -ac_cpp='$CPP $CPPFLAGS'
11258 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11259 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11260 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
11261 -
11262 -     cat >conftest.$ac_ext <<_ACEOF
11263 -#line $LINENO "configure"
11264 -#include "confdefs.h"
11265 -
11266 -int
11267 -main ()
11268 -{
11269 -
11270 -  ;
11271 -  return 0;
11272 -}
11273 -_ACEOF
11274 -rm -f conftest.$ac_objext conftest$ac_exeext
11275 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
11276 -  (eval $ac_link) 2>&5
11277 -  ac_status=$?
11278 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11279 -  (exit $ac_status); } &&
11280 -         { ac_try='test -s conftest$ac_exeext'
11281 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11282 -  (eval $ac_try) 2>&5
11283 -  ac_status=$?
11284 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11285 -  (exit $ac_status); }; }; then
11286 -  lt_cv_cc_needs_belf=yes
11287 -else
11288 -  echo "$as_me: failed program was:" >&5
11289 -cat conftest.$ac_ext >&5
11290 -lt_cv_cc_needs_belf=no
11291 -fi
11292 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
11293 -     ac_ext=c
11294 -ac_cpp='$CPP $CPPFLAGS'
11295 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11296 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11297 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
11298 -
11299 -fi
11300 -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
11301 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
11302 -  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
11303 -    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
11304 -    CFLAGS="$SAVE_CFLAGS"
11305 -  fi
11306 -  ;;
11307 -
11308 -
11309 -esac
11310 -
11311 -# Sed substitution that helps us do robust quoting.  It backslashifies
11312 -# metacharacters that are still active within double-quoted strings.
11313 -Xsed='sed -e s/^X//'
11314 -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
11315 -
11316 -# Same as above, but do not quote variable references.
11317 -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
11318 -
11319 -# Sed substitution to delay expansion of an escaped shell variable in a
11320 -# double_quote_subst'ed string.
11321 -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
11322 -
11323 -# Constants:
11324 -rm="rm -f"
11325 -
11326 -# Global variables:
11327 -default_ofile=libtool
11328 -can_build_shared=yes
11329 -
11330 -# All known linkers require a `.a' archive for static linking (except M$VC,
11331 -# which needs '.lib').
11332 -libext=a
11333 -ltmain="$ac_aux_dir/ltmain.sh"
11334 -ofile="$default_ofile"
11335 -with_gnu_ld="$lt_cv_prog_gnu_ld"
11336 -need_locks="$enable_libtool_lock"
11337 -
11338 -old_CC="$CC"
11339 -old_CFLAGS="$CFLAGS"
11340 -
11341 -# Set sane defaults for various variables
11342 -test -z "$AR" && AR=ar
11343 -test -z "$AR_FLAGS" && AR_FLAGS=cru
11344 -test -z "$AS" && AS=as
11345 -test -z "$CC" && CC=cc
11346 -test -z "$DLLTOOL" && DLLTOOL=dlltool
11347 -test -z "$LD" && LD=ld
11348 -test -z "$LN_S" && LN_S="ln -s"
11349 -test -z "$MAGIC_CMD" && MAGIC_CMD=file
11350 -test -z "$NM" && NM=nm
11351 -test -z "$OBJDUMP" && OBJDUMP=objdump
11352 -test -z "$RANLIB" && RANLIB=:
11353 -test -z "$STRIP" && STRIP=:
11354 -test -z "$ac_objext" && ac_objext=o
11355 -
11356 -if test x"$host" != x"$build"; then
11357 -  ac_tool_prefix=${host_alias}-
11358 -else
11359 -  ac_tool_prefix=
11360 -fi
11361 -
11362 -# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
11363 -case $host_os in
11364 -linux-gnu*) ;;
11365 -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
11366 -esac
11367 -
11368 -case $host_os in
11369 -aix3*)
11370 -  # AIX sometimes has problems with the GCC collect2 program.  For some
11371 -  # reason, if we set the COLLECT_NAMES environment variable, the problems
11372 -  # vanish in a puff of smoke.
11373 -  if test "X${COLLECT_NAMES+set}" != Xset; then
11374 -    COLLECT_NAMES=
11375 -    export COLLECT_NAMES
11376 -  fi
11377 -  ;;
11378 -esac
11379 -
11380 -# Determine commands to create old-style static archives.
11381 -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
11382 -old_postinstall_cmds='chmod 644 $oldlib'
11383 -old_postuninstall_cmds=
11384 -
11385 -if test -n "$RANLIB"; then
11386 -  case $host_os in
11387 -  openbsd*)
11388 -    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
11389 -    ;;
11390 -  *)
11391 -    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
11392 -    ;;
11393 -  esac
11394 -  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
11395 -fi
11396 -
11397 -# Allow CC to be a program name with arguments.
11398 -set dummy $CC
11399 -compiler="$2"
11400 -
11401 -echo "$as_me:$LINENO: checking for objdir" >&5
11402 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6
11403 -rm -f .libs 2>/dev/null
11404 -mkdir .libs 2>/dev/null
11405 -if test -d .libs; then
11406 -  objdir=.libs
11407 -else
11408 -  # MS-DOS does not allow filenames that begin with a dot.
11409 -  objdir=_libs
11410 -fi
11411 -rmdir .libs 2>/dev/null
11412 -echo "$as_me:$LINENO: result: $objdir" >&5
11413 -echo "${ECHO_T}$objdir" >&6
11414 -
11415 -
11416 -
11417 -# Check whether --with-pic or --without-pic was given.
11418 -if test "${with_pic+set}" = set; then
11419 -  withval="$with_pic"
11420 -  pic_mode="$withval"
11421 -else
11422 -  pic_mode=default
11423 -fi; 
11424 -test -z "$pic_mode" && pic_mode=default
11425 -
11426 -# We assume here that the value for lt_cv_prog_cc_pic will not be cached
11427 -# in isolation, and that seeing it set (from the cache) indicates that
11428 -# the associated values are set (in the cache) correctly too.
11429 -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
11430 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
11431 -if test "${lt_cv_prog_cc_pic+set}" = set; then
11432 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11433 -else
11434 -   lt_cv_prog_cc_pic=
11435 -  lt_cv_prog_cc_shlib=
11436 -  lt_cv_prog_cc_wl=
11437 -  lt_cv_prog_cc_static=
11438 -  lt_cv_prog_cc_no_builtin=
11439 -  lt_cv_prog_cc_can_build_shared=$can_build_shared
11440 -
11441 -  if test "$GCC" = yes; then
11442 -    lt_cv_prog_cc_wl='-Wl,'
11443 -    lt_cv_prog_cc_static='-static'
11444 -
11445 -    case $host_os in
11446 -    aix*)
11447 -      # Below there is a dirty hack to force normal static linking with -ldl
11448 -      # The problem is because libdl dynamically linked with both libc and
11449 -      # libC (AIX C++ library), which obviously doesn't included in libraries
11450 -      # list by gcc. This cause undefined symbols with -static flags.
11451 -      # This hack allows C programs to be linked with "-static -ldl", but
11452 -      # not sure about C++ programs.
11453 -      lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
11454 -      ;;
11455 -    amigaos*)
11456 -      # FIXME: we need at least 68020 code to build shared libraries, but
11457 -      # adding the `-m68020' flag to GCC prevents building anything better,
11458 -      # like `-m68040'.
11459 -      lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
11460 -      ;;
11461 -    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
11462 -      # PIC is the default for these OSes.
11463 -      ;;
11464 -    darwin* | rhapsody*)
11465 -      # PIC is the default on this platform
11466 -      # Common symbols not allowed in MH_DYLIB files
11467 -      lt_cv_prog_cc_pic='-fno-common'
11468 -      ;;
11469 -    cygwin* | mingw* | pw32* | os2*)
11470 -      # This hack is so that the source file can tell whether it is being
11471 -      # built for inclusion in a dll (and should export symbols for example).
11472 -      lt_cv_prog_cc_pic='-DDLL_EXPORT'
11473 -      ;;
11474 -    sysv4*MP*)
11475 -      if test -d /usr/nec; then
11476 -        lt_cv_prog_cc_pic=-Kconform_pic
11477 -      fi
11478 -      ;;
11479 -    *)
11480 -      lt_cv_prog_cc_pic='-fPIC'
11481 -      ;;
11482 -    esac
11483 -  else
11484 -    # PORTME Check for PIC flags for the system compiler.
11485 -    case $host_os in
11486 -    aix3* | aix4* | aix5*)
11487 -      lt_cv_prog_cc_wl='-Wl,'
11488 -      # All AIX code is PIC.
11489 -      if test "$host_cpu" = ia64; then
11490 -       # AIX 5 now supports IA64 processor
11491 -       lt_cv_prog_cc_static='-Bstatic'
11492 -      else
11493 -       lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
11494 -      fi
11495 -      ;;
11496 -
11497 -    hpux9* | hpux10* | hpux11*)
11498 -      # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
11499 -      lt_cv_prog_cc_wl='-Wl,'
11500 -      lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
11501 -      lt_cv_prog_cc_pic='+Z'
11502 -      ;;
11503 -
11504 -    irix5* | irix6*)
11505 -      lt_cv_prog_cc_wl='-Wl,'
11506 -      lt_cv_prog_cc_static='-non_shared'
11507 -      # PIC (with -KPIC) is the default.
11508 -      ;;
11509 -
11510 -    cygwin* | mingw* | pw32* | os2*)
11511 -      # This hack is so that the source file can tell whether it is being
11512 -      # built for inclusion in a dll (and should export symbols for example).
11513 -      lt_cv_prog_cc_pic='-DDLL_EXPORT'
11514 -      ;;
11515 -
11516 -    newsos6)
11517 -      lt_cv_prog_cc_pic='-KPIC'
11518 -      lt_cv_prog_cc_static='-Bstatic'
11519 -      ;;
11520 -
11521 -    osf3* | osf4* | osf5*)
11522 -      # All OSF/1 code is PIC.
11523 -      lt_cv_prog_cc_wl='-Wl,'
11524 -      lt_cv_prog_cc_static='-non_shared'
11525 -      ;;
11526 -
11527 -    sco3.2v5*)
11528 -      lt_cv_prog_cc_pic='-Kpic'
11529 -      lt_cv_prog_cc_static='-dn'
11530 -      lt_cv_prog_cc_shlib='-belf'
11531 -      ;;
11532 -
11533 -    solaris*)
11534 -      lt_cv_prog_cc_pic='-KPIC'
11535 -      lt_cv_prog_cc_static='-Bstatic'
11536 -      lt_cv_prog_cc_wl='-Wl,'
11537 -      ;;
11538 -
11539 -    sunos4*)
11540 -      lt_cv_prog_cc_pic='-PIC'
11541 -      lt_cv_prog_cc_static='-Bstatic'
11542 -      lt_cv_prog_cc_wl='-Qoption ld '
11543 -      ;;
11544 -
11545 -    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
11546 -      lt_cv_prog_cc_pic='-KPIC'
11547 -      lt_cv_prog_cc_static='-Bstatic'
11548 -      if test "x$host_vendor" = xsni; then
11549 -       lt_cv_prog_cc_wl='-LD'
11550 -      else
11551 -       lt_cv_prog_cc_wl='-Wl,'
11552 -      fi
11553 -      ;;
11554 -
11555 -    uts4*)
11556 -      lt_cv_prog_cc_pic='-pic'
11557 -      lt_cv_prog_cc_static='-Bstatic'
11558 -      ;;
11559 -
11560 -    sysv4*MP*)
11561 -      if test -d /usr/nec ;then
11562 -       lt_cv_prog_cc_pic='-Kconform_pic'
11563 -       lt_cv_prog_cc_static='-Bstatic'
11564 -      fi
11565 -      ;;
11566 -
11567 -    *)
11568 -      lt_cv_prog_cc_can_build_shared=no
11569 -      ;;
11570 -    esac
11571 -  fi
11572 -
11573 -fi
11574 -
11575 -if test -z "$lt_cv_prog_cc_pic"; then
11576 -  echo "$as_me:$LINENO: result: none" >&5
11577 -echo "${ECHO_T}none" >&6
11578 -else
11579 -  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
11580 -echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6
11581 -
11582 -  # Check to make sure the pic_flag actually works.
11583 -  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
11584 -echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6
11585 -  if test "${lt_cv_prog_cc_pic_works+set}" = set; then
11586 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11587 -else
11588 -      save_CFLAGS="$CFLAGS"
11589 -    CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
11590 -    cat >conftest.$ac_ext <<_ACEOF
11591 -#line $LINENO "configure"
11592 -#include "confdefs.h"
11593 -
11594 -int
11595 -main ()
11596 -{
11597 -
11598 -  ;
11599 -  return 0;
11600 -}
11601 -_ACEOF
11602 -rm -f conftest.$ac_objext
11603 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11604 -  (eval $ac_compile) 2>&5
11605 -  ac_status=$?
11606 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11607 -  (exit $ac_status); } &&
11608 -         { ac_try='test -s conftest.$ac_objext'
11609 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11610 -  (eval $ac_try) 2>&5
11611 -  ac_status=$?
11612 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11613 -  (exit $ac_status); }; }; then
11614 -        case $host_os in
11615 -      hpux9* | hpux10* | hpux11*)
11616 -       # On HP-UX, both CC and GCC only warn that PIC is supported... then
11617 -       # they create non-PIC objects.  So, if there were any warnings, we
11618 -       # assume that PIC is not supported.
11619 -       if test -s conftest.err; then
11620 -         lt_cv_prog_cc_pic_works=no
11621 -       else
11622 -         lt_cv_prog_cc_pic_works=yes
11623 -       fi
11624 -       ;;
11625 -      *)
11626 -       lt_cv_prog_cc_pic_works=yes
11627 -       ;;
11628 -      esac
11629 -    
11630 -else
11631 -  echo "$as_me: failed program was:" >&5
11632 -cat conftest.$ac_ext >&5
11633 -      lt_cv_prog_cc_pic_works=no
11634 -    
11635 -fi
11636 -rm -f conftest.$ac_objext conftest.$ac_ext
11637 -    CFLAGS="$save_CFLAGS"
11638 -  
11639 -fi
11640 -
11641 -
11642 -  if test "X$lt_cv_prog_cc_pic_works" = Xno; then
11643 -    lt_cv_prog_cc_pic=
11644 -    lt_cv_prog_cc_can_build_shared=no
11645 -  else
11646 -    lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
11647 -  fi
11648 -
11649 -  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
11650 -echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6
11651 -fi
11652 -
11653 -# Check for any special shared library compilation flags.
11654 -if test -n "$lt_cv_prog_cc_shlib"; then
11655 -  { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5
11656 -echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;}
11657 -  if echo "$old_CC $old_CFLAGS " | egrep -e "[         ]$lt_cv_prog_cc_shlib[  ]" >/dev/null; then :
11658 -  else
11659 -   { echo "$as_me:$LINENO: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
11660 -echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
11661 -    lt_cv_prog_cc_can_build_shared=no
11662 -  fi
11663 -fi
11664 -
11665 -echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
11666 -echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6
11667 -if test "${lt_cv_prog_cc_static_works+set}" = set; then
11668 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11669 -else
11670 -    lt_cv_prog_cc_static_works=no
11671 -  save_LDFLAGS="$LDFLAGS"
11672 -  LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
11673 -  cat >conftest.$ac_ext <<_ACEOF
11674 -#line $LINENO "configure"
11675 -#include "confdefs.h"
11676 -
11677 -int
11678 -main ()
11679 -{
11680 -
11681 -  ;
11682 -  return 0;
11683 -}
11684 -_ACEOF
11685 -rm -f conftest.$ac_objext conftest$ac_exeext
11686 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
11687 -  (eval $ac_link) 2>&5
11688 -  ac_status=$?
11689 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11690 -  (exit $ac_status); } &&
11691 -         { ac_try='test -s conftest$ac_exeext'
11692 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11693 -  (eval $ac_try) 2>&5
11694 -  ac_status=$?
11695 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11696 -  (exit $ac_status); }; }; then
11697 -  lt_cv_prog_cc_static_works=yes
11698 -else
11699 -  echo "$as_me: failed program was:" >&5
11700 -cat conftest.$ac_ext >&5
11701 -fi
11702 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
11703 -  LDFLAGS="$save_LDFLAGS"
11704 -
11705 -fi
11706 -
11707 -
11708 -# Belt *and* braces to stop my trousers falling down:
11709 -test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
11710 -echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
11711 -echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6
11712 -
11713 -pic_flag="$lt_cv_prog_cc_pic"
11714 -special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
11715 -wl="$lt_cv_prog_cc_wl"
11716 -link_static_flag="$lt_cv_prog_cc_static"
11717 -no_builtin_flag="$lt_cv_prog_cc_no_builtin"
11718 -can_build_shared="$lt_cv_prog_cc_can_build_shared"
11719 -
11720 -
11721 -# Check to see if options -o and -c are simultaneously supported by compiler
11722 -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
11723 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
11724 -if test "${lt_cv_compiler_c_o+set}" = set; then
11725 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11726 -else
11727 -  
11728 -$rm -r conftest 2>/dev/null
11729 -mkdir conftest
11730 -cd conftest
11731 -echo "int some_variable = 0;" > conftest.$ac_ext
11732 -mkdir out
11733 -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
11734 -# that will create temporary files in the current directory regardless of
11735 -# the output directory.  Thus, making CWD read-only will cause this test
11736 -# to fail, enabling locking or at least warning the user not to do parallel
11737 -# builds.
11738 -chmod -w .
11739 -save_CFLAGS="$CFLAGS"
11740 -CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
11741 -compiler_c_o=no
11742 -if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
11743 -  # The compiler can only warn and ignore the option if not recognized
11744 -  # So say no if there are warnings
11745 -  if test -s out/conftest.err; then
11746 -    lt_cv_compiler_c_o=no
11747 -  else
11748 -    lt_cv_compiler_c_o=yes
11749 -  fi
11750 -else
11751 -  # Append any errors to the config.log.
11752 -  cat out/conftest.err 1>&5
11753 -  lt_cv_compiler_c_o=no
11754 -fi
11755 -CFLAGS="$save_CFLAGS"
11756 -chmod u+w .
11757 -$rm conftest* out/*
11758 -rmdir out
11759 -cd ..
11760 -rmdir conftest
11761 -$rm -r conftest 2>/dev/null
11762 -
11763 -fi
11764 -
11765 -compiler_c_o=$lt_cv_compiler_c_o
11766 -echo "$as_me:$LINENO: result: $compiler_c_o" >&5
11767 -echo "${ECHO_T}$compiler_c_o" >&6
11768 -
11769 -if test x"$compiler_c_o" = x"yes"; then
11770 -  # Check to see if we can write to a .lo
11771 -  echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
11772 -echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6
11773 -  if test "${lt_cv_compiler_o_lo+set}" = set; then
11774 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11775 -else
11776 -  
11777 -  lt_cv_compiler_o_lo=no
11778 -  save_CFLAGS="$CFLAGS"
11779 -  CFLAGS="$CFLAGS -c -o conftest.lo"
11780 -  save_objext="$ac_objext"
11781 -  ac_objext=lo
11782 -  cat >conftest.$ac_ext <<_ACEOF
11783 -#line $LINENO "configure"
11784 -#include "confdefs.h"
11785 -
11786 -int
11787 -main ()
11788 -{
11789 -int some_variable = 0;
11790 -  ;
11791 -  return 0;
11792 -}
11793 -_ACEOF
11794 -rm -f conftest.$ac_objext
11795 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11796 -  (eval $ac_compile) 2>&5
11797 -  ac_status=$?
11798 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11799 -  (exit $ac_status); } &&
11800 -         { ac_try='test -s conftest.$ac_objext'
11801 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11802 -  (eval $ac_try) 2>&5
11803 -  ac_status=$?
11804 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11805 -  (exit $ac_status); }; }; then
11806 -      # The compiler can only warn and ignore the option if not recognized
11807 -    # So say no if there are warnings
11808 -    if test -s conftest.err; then
11809 -      lt_cv_compiler_o_lo=no
11810 -    else
11811 -      lt_cv_compiler_o_lo=yes
11812 -    fi
11813 -  
11814 -else
11815 -  echo "$as_me: failed program was:" >&5
11816 -cat conftest.$ac_ext >&5
11817 -fi
11818 -rm -f conftest.$ac_objext conftest.$ac_ext
11819 -  ac_objext="$save_objext"
11820 -  CFLAGS="$save_CFLAGS"
11821 -  
11822 -fi
11823 -
11824 -  compiler_o_lo=$lt_cv_compiler_o_lo
11825 -  echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
11826 -echo "${ECHO_T}$compiler_o_lo" >&6
11827 -else
11828 -  compiler_o_lo=no
11829 -fi
11830 -
11831 -# Check to see if we can do hard links to lock some files if needed
11832 -hard_links="nottested"
11833 -if test "$compiler_c_o" = no && test "$need_locks" != no; then
11834 -  # do not overwrite the value of need_locks provided by the user
11835 -  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
11836 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
11837 -  hard_links=yes
11838 -  $rm conftest*
11839 -  ln conftest.a conftest.b 2>/dev/null && hard_links=no
11840 -  touch conftest.a
11841 -  ln conftest.a conftest.b 2>&5 || hard_links=no
11842 -  ln conftest.a conftest.b 2>/dev/null && hard_links=no
11843 -  echo "$as_me:$LINENO: result: $hard_links" >&5
11844 -echo "${ECHO_T}$hard_links" >&6
11845 -  if test "$hard_links" = no; then
11846 -    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
11847 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
11848 -    need_locks=warn
11849 -  fi
11850 -else
11851 -  need_locks=no
11852 -fi
11853 -
11854 -if test "$GCC" = yes; then
11855 -  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
11856 -  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
11857 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
11858 -  echo "int some_variable = 0;" > conftest.$ac_ext
11859 -  save_CFLAGS="$CFLAGS"
11860 -  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
11861 -  compiler_rtti_exceptions=no
11862 -  cat >conftest.$ac_ext <<_ACEOF
11863 -#line $LINENO "configure"
11864 -#include "confdefs.h"
11865 -
11866 -int
11867 -main ()
11868 -{
11869 -int some_variable = 0;
11870 -  ;
11871 -  return 0;
11872 -}
11873 -_ACEOF
11874 -rm -f conftest.$ac_objext
11875 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11876 -  (eval $ac_compile) 2>&5
11877 -  ac_status=$?
11878 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11879 -  (exit $ac_status); } &&
11880 -         { ac_try='test -s conftest.$ac_objext'
11881 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11882 -  (eval $ac_try) 2>&5
11883 -  ac_status=$?
11884 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11885 -  (exit $ac_status); }; }; then
11886 -      # The compiler can only warn and ignore the option if not recognized
11887 -    # So say no if there are warnings
11888 -    if test -s conftest.err; then
11889 -      compiler_rtti_exceptions=no
11890 -    else
11891 -      compiler_rtti_exceptions=yes
11892 -    fi
11893 -  
11894 -else
11895 -  echo "$as_me: failed program was:" >&5
11896 -cat conftest.$ac_ext >&5
11897 -fi
11898 -rm -f conftest.$ac_objext conftest.$ac_ext
11899 -  CFLAGS="$save_CFLAGS"
11900 -  echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
11901 -echo "${ECHO_T}$compiler_rtti_exceptions" >&6
11902 -
11903 -  if test "$compiler_rtti_exceptions" = "yes"; then
11904 -    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
11905 -  else
11906 -    no_builtin_flag=' -fno-builtin'
11907 -  fi
11908 -fi
11909 -
11910 -# See if the linker supports building shared libraries.
11911 -echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
11912 -echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6
11913 -
11914 -allow_undefined_flag=
11915 -no_undefined_flag=
11916 -need_lib_prefix=unknown
11917 -need_version=unknown
11918 -# when you set need_version to no, make sure it does not cause -set_version
11919 -# flags to be left without arguments
11920 -archive_cmds=
11921 -archive_expsym_cmds=
11922 -old_archive_from_new_cmds=
11923 -old_archive_from_expsyms_cmds=
11924 -export_dynamic_flag_spec=
11925 -whole_archive_flag_spec=
11926 -thread_safe_flag_spec=
11927 -hardcode_into_libs=no
11928 -hardcode_libdir_flag_spec=
11929 -hardcode_libdir_separator=
11930 -hardcode_direct=no
11931 -hardcode_minus_L=no
11932 -hardcode_shlibpath_var=unsupported
11933 -runpath_var=
11934 -link_all_deplibs=unknown
11935 -always_export_symbols=no
11936 -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
11937 -# include_expsyms should be a list of space-separated symbols to be *always*
11938 -# included in the symbol list
11939 -include_expsyms=
11940 -# exclude_expsyms can be an egrep regular expression of symbols to exclude
11941 -# it will be wrapped by ` (' and `)$', so one must not match beginning or
11942 -# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
11943 -# as well as any symbol that contains `d'.
11944 -exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
11945 -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
11946 -# platforms (ab)use it in PIC code, but their linkers get confused if
11947 -# the symbol is explicitly referenced.  Since portable code cannot
11948 -# rely on this symbol name, it's probably fine to never include it in
11949 -# preloaded symbol tables.
11950 -extract_expsyms_cmds=
11951 -
11952 -case $host_os in
11953 -cygwin* | mingw* | pw32*)
11954 -  # FIXME: the MSVC++ port hasn't been tested in a loooong time
11955 -  # When not using gcc, we currently assume that we are using
11956 -  # Microsoft Visual C++.
11957 -  if test "$GCC" != yes; then
11958 -    with_gnu_ld=no
11959 -  fi
11960 -  ;;
11961 -openbsd*)
11962 -  with_gnu_ld=no
11963 -  ;;
11964 -esac
11965 -
11966 -ld_shlibs=yes
11967 -if test "$with_gnu_ld" = yes; then
11968 -  # If archive_cmds runs LD, not CC, wlarc should be empty
11969 -  wlarc='${wl}'
11970 -
11971 -  # See if GNU ld supports shared libraries.
11972 -  case $host_os in
11973 -  aix3* | aix4* | aix5*)
11974 -    # On AIX, the GNU linker is very broken
11975 -    # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
11976 -    ld_shlibs=no
11977 -    cat <<EOF 1>&2
11978 -
11979 -*** Warning: the GNU linker, at least up to release 2.9.1, is reported
11980 -*** to be unable to reliably create shared libraries on AIX.
11981 -*** Therefore, libtool is disabling shared libraries support.  If you
11982 -*** really care for shared libraries, you may want to modify your PATH
11983 -*** so that a non-GNU linker is found, and then restart.
11984 -
11985 -EOF
11986 -    ;;
11987 -
11988 -  amigaos*)
11989 -    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)'
11990 -    hardcode_libdir_flag_spec='-L$libdir'
11991 -    hardcode_minus_L=yes
11992 -
11993 -    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
11994 -    # that the semantics of dynamic libraries on AmigaOS, at least up
11995 -    # to version 4, is to share data among multiple programs linked
11996 -    # with the same dynamic library.  Since this doesn't match the
11997 -    # behavior of shared libraries on other platforms, we can use
11998 -    # them.
11999 -    ld_shlibs=no
12000 -    ;;
12001 -
12002 -  beos*)
12003 -    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
12004 -      allow_undefined_flag=unsupported
12005 -      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
12006 -      # support --undefined.  This deserves some investigation.  FIXME
12007 -      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12008 -    else
12009 -      ld_shlibs=no
12010 -    fi
12011 -    ;;
12012 -
12013 -  cygwin* | mingw* | pw32*)
12014 -    # hardcode_libdir_flag_spec is actually meaningless, as there is
12015 -    # no search path for DLLs.
12016 -    hardcode_libdir_flag_spec='-L$libdir'
12017 -    allow_undefined_flag=unsupported
12018 -    always_export_symbols=yes
12019 -
12020 -    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
12021 -      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
12022 -      test -f $output_objdir/impgen.exe || (cd $output_objdir && \
12023 -      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
12024 -      else $CC -o impgen impgen.c ; fi)~
12025 -      $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
12026 -
12027 -    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
12028 -
12029 -    # cygwin and mingw dlls have different entry points and sets of symbols
12030 -    # to exclude.
12031 -    # FIXME: what about values for MSVC?
12032 -    dll_entry=__cygwin_dll_entry@12
12033 -    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
12034 -    case $host_os in
12035 -    mingw*)
12036 -      # mingw values
12037 -      dll_entry=_DllMainCRTStartup@12
12038 -      dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
12039 -      ;;
12040 -    esac
12041 -
12042 -    # mingw and cygwin differ, and it's simplest to just exclude the union
12043 -    # of the two symbol sets.
12044 -    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
12045 -
12046 -    # recent cygwin and mingw systems supply a stub DllMain which the user
12047 -    # can override, but on older systems we have to supply one (in ltdll.c)
12048 -    if test "x$lt_cv_need_dllmain" = "xyes"; then
12049 -      ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
12050 -      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~
12051 -       test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
12052 -    else
12053 -      ltdll_obj=
12054 -      ltdll_cmds=
12055 -    fi
12056 -
12057 -    # Extract the symbol export list from an `--export-all' def file,
12058 -    # then regenerate the def file from the symbol export list, so that
12059 -    # the compiled dll only exports the symbol export list.
12060 -    # Be careful not to strip the DATA tag left be newer dlltools.
12061 -    export_symbols_cmds="$ltdll_cmds"'
12062 -      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
12063 -      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
12064 -
12065 -    # If the export-symbols file already is a .def file (1st line
12066 -    # is EXPORTS), use it as is.
12067 -    # If DATA tags from a recent dlltool are present, honour them!
12068 -    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
12069 -       cp $export_symbols $output_objdir/$soname-def;
12070 -      else
12071 -       echo EXPORTS > $output_objdir/$soname-def;
12072 -       _lt_hint=1;
12073 -       cat $export_symbols | while read symbol; do
12074 -        set dummy \$symbol;
12075 -        case \$# in
12076 -          2) echo "   \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
12077 -          *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
12078 -        esac;
12079 -        _lt_hint=`expr 1 + \$_lt_hint`;
12080 -       done;
12081 -      fi~
12082 -      '"$ltdll_cmds"'
12083 -      $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~
12084 -      $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~
12085 -      $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~
12086 -      $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~
12087 -      $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
12088 -    ;;
12089 -
12090 -  netbsd*)
12091 -    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12092 -      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
12093 -      wlarc=
12094 -    else
12095 -      archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12096 -      archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12097 -    fi
12098 -    ;;
12099 -
12100 -  solaris* | sysv5*)
12101 -    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
12102 -      ld_shlibs=no
12103 -      cat <<EOF 1>&2
12104 -
12105 -*** Warning: The releases 2.8.* of the GNU linker cannot reliably
12106 -*** create shared libraries on Solaris systems.  Therefore, libtool
12107 -*** is disabling shared libraries support.  We urge you to upgrade GNU
12108 -*** binutils to release 2.9.1 or newer.  Another option is to modify
12109 -*** your PATH or compiler configuration so that the native linker is
12110 -*** used, and then restart.
12111 -
12112 -EOF
12113 -    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
12114 -      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12115 -      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12116 -    else
12117 -      ld_shlibs=no
12118 -    fi
12119 -    ;;
12120 -
12121 -  sunos4*)
12122 -    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12123 -    wlarc=
12124 -    hardcode_direct=yes
12125 -    hardcode_shlibpath_var=no
12126 -    ;;
12127 -
12128 -  *)
12129 -    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
12130 -      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12131 -      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12132 -    else
12133 -      ld_shlibs=no
12134 -    fi
12135 -    ;;
12136 -  esac
12137 -
12138 -  if test "$ld_shlibs" = yes; then
12139 -    runpath_var=LD_RUN_PATH
12140 -    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
12141 -    export_dynamic_flag_spec='${wl}--export-dynamic'
12142 -    case $host_os in
12143 -    cygwin* | mingw* | pw32*)
12144 -      # dlltool doesn't understand --whole-archive et. al.
12145 -      whole_archive_flag_spec=
12146 -      ;;
12147 -    *)
12148 -      # ancient GNU ld didn't support --whole-archive et. al.
12149 -      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
12150 -       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
12151 -      else
12152 -       whole_archive_flag_spec=
12153 -      fi
12154 -      ;;
12155 -    esac
12156 -  fi
12157 -else
12158 -  # PORTME fill in a description of your system's linker (not GNU ld)
12159 -  case $host_os in
12160 -  aix3*)
12161 -    allow_undefined_flag=unsupported
12162 -    always_export_symbols=yes
12163 -    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'
12164 -    # Note: this linker hardcodes the directories in LIBPATH if there
12165 -    # are no directories specified by -L.
12166 -    hardcode_minus_L=yes
12167 -    if test "$GCC" = yes && test -z "$link_static_flag"; then
12168 -      # Neither direct hardcoding nor static linking is supported with a
12169 -      # broken collect2.
12170 -      hardcode_direct=unsupported
12171 -    fi
12172 -    ;;
12173 -
12174 -  aix4* | aix5*)
12175 -    if test "$host_cpu" = ia64; then
12176 -      # On IA64, the linker does run time linking by default, so we don't
12177 -      # have to do anything special.
12178 -      aix_use_runtimelinking=no
12179 -      exp_sym_flag='-Bexport'
12180 -      no_entry_flag=""
12181 -    else
12182 -      aix_use_runtimelinking=no
12183 -
12184 -      # Test if we are trying to use run time linking or normal
12185 -      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
12186 -      # need to do runtime linking.
12187 -      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
12188 -       for ld_flag in $LDFLAGS; do
12189 -         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
12190 -           aix_use_runtimelinking=yes
12191 -           break
12192 -         fi
12193 -       done
12194 -      esac
12195 -
12196 -      exp_sym_flag='-bexport'
12197 -      no_entry_flag='-bnoentry'
12198 -    fi
12199 -
12200 -    # When large executables or shared objects are built, AIX ld can
12201 -    # have problems creating the table of contents.  If linking a library
12202 -    # or program results in "error TOC overflow" add -mminimal-toc to
12203 -    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
12204 -    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
12205 -
12206 -    hardcode_direct=yes
12207 -    archive_cmds=''
12208 -    hardcode_libdir_separator=':'
12209 -    if test "$GCC" = yes; then
12210 -      case $host_os in aix4.[012]|aix4.[012].*)
12211 -       collect2name=`${CC} -print-prog-name=collect2`
12212 -       if test -f "$collect2name" && \
12213 -         strings "$collect2name" | grep resolve_lib_name >/dev/null
12214 -       then
12215 -         # We have reworked collect2
12216 -         hardcode_direct=yes
12217 -       else
12218 -         # We have old collect2
12219 -         hardcode_direct=unsupported
12220 -         # It fails to find uninstalled libraries when the uninstalled
12221 -         # path is not listed in the libpath.  Setting hardcode_minus_L
12222 -         # to unsupported forces relinking
12223 -         hardcode_minus_L=yes
12224 -         hardcode_libdir_flag_spec='-L$libdir'
12225 -         hardcode_libdir_separator=
12226 -       fi
12227 -      esac
12228 -
12229 -      shared_flag='-shared'
12230 -    else
12231 -      # not using gcc
12232 -      if test "$host_cpu" = ia64; then
12233 -       shared_flag='${wl}-G'
12234 -      else
12235 -       if test "$aix_use_runtimelinking" = yes; then
12236 -         shared_flag='${wl}-G'
12237 -       else
12238 -         shared_flag='${wl}-bM:SRE'
12239 -       fi
12240 -      fi
12241 -    fi
12242 -
12243 -    # It seems that -bexpall can do strange things, so it is better to
12244 -    # generate a list of symbols to export.
12245 -    always_export_symbols=yes
12246 -    if test "$aix_use_runtimelinking" = yes; then
12247 -      # Warning - without using the other runtime loading flags (-brtl),
12248 -      # -berok will link without error, but may produce a broken library.
12249 -      allow_undefined_flag='-berok'
12250 -      hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
12251 -      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"
12252 -    else
12253 -      if test "$host_cpu" = ia64; then
12254 -       hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
12255 -       allow_undefined_flag="-z nodefs"
12256 -       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"
12257 -      else
12258 -       hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
12259 -       # Warning - without using the other run time loading flags,
12260 -       # -berok will link without error, but may produce a broken library.
12261 -       allow_undefined_flag='${wl}-berok'
12262 -       # This is a bit strange, but is similar to how AIX traditionally builds
12263 -       # it's shared libraries.
12264 -       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'
12265 -      fi
12266 -    fi
12267 -    ;;
12268 -
12269 -  amigaos*)
12270 -    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)'
12271 -    hardcode_libdir_flag_spec='-L$libdir'
12272 -    hardcode_minus_L=yes
12273 -    # see comment about different semantics on the GNU ld section
12274 -    ld_shlibs=no
12275 -    ;;
12276 -
12277 -  cygwin* | mingw* | pw32*)
12278 -    # When not using gcc, we currently assume that we are using
12279 -    # Microsoft Visual C++.
12280 -    # hardcode_libdir_flag_spec is actually meaningless, as there is
12281 -    # no search path for DLLs.
12282 -    hardcode_libdir_flag_spec=' '
12283 -    allow_undefined_flag=unsupported
12284 -    # Tell ltmain to make .lib files, not .a files.
12285 -    libext=lib
12286 -    # FIXME: Setting linknames here is a bad hack.
12287 -    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
12288 -    # The linker will automatically build a .lib file if we build a DLL.
12289 -    old_archive_from_new_cmds='true'
12290 -    # FIXME: Should let the user specify the lib program.
12291 -    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
12292 -    fix_srcfile_path='`cygpath -w "$srcfile"`'
12293 -    ;;
12294 -
12295 -  darwin* | rhapsody*)
12296 -    case "$host_os" in
12297 -    rhapsody* | darwin1.[012])
12298 -      allow_undefined_flag='-undefined suppress'
12299 -      ;;
12300 -    *) # Darwin 1.3 on
12301 -      allow_undefined_flag='-flat_namespace -undefined suppress'
12302 -      ;;
12303 -    esac
12304 -    # FIXME: Relying on posixy $() will cause problems for
12305 -    #        cross-compilation, but unfortunately the echo tests do not
12306 -    #        yet detect zsh echo's removal of \ escapes.
12307 -    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'
12308 -    # We need to add '_' to the symbols in $export_symbols first
12309 -    #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
12310 -    hardcode_direct=yes
12311 -    hardcode_shlibpath_var=no
12312 -    whole_archive_flag_spec='-all_load $convenience'
12313 -    ;;
12314 -
12315 -  freebsd1*)
12316 -    ld_shlibs=no
12317 -    ;;
12318 -
12319 -  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
12320 -  # support.  Future versions do this automatically, but an explicit c++rt0.o
12321 -  # does not break anything, and helps significantly (at the cost of a little
12322 -  # extra space).
12323 -  freebsd2.2*)
12324 -    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
12325 -    hardcode_libdir_flag_spec='-R$libdir'
12326 -    hardcode_direct=yes
12327 -    hardcode_shlibpath_var=no
12328 -    ;;
12329 -
12330 -  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
12331 -  freebsd2*)
12332 -    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12333 -    hardcode_direct=yes
12334 -    hardcode_minus_L=yes
12335 -    hardcode_shlibpath_var=no
12336 -    ;;
12337 -
12338 -  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
12339 -  freebsd*)
12340 -    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
12341 -    hardcode_libdir_flag_spec='-R$libdir'
12342 -    hardcode_direct=yes
12343 -    hardcode_shlibpath_var=no
12344 -    ;;
12345 -
12346 -  hpux9* | hpux10* | hpux11*)
12347 -    case $host_os in
12348 -    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' ;;
12349 -    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
12350 -    esac
12351 -    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
12352 -    hardcode_libdir_separator=:
12353 -    hardcode_direct=yes
12354 -    hardcode_minus_L=yes # Not in the search PATH, but as the default
12355 -                        # location of the library.
12356 -    export_dynamic_flag_spec='${wl}-E'
12357 -    ;;
12358 -
12359 -  irix5* | irix6*)
12360 -    if test "$GCC" = yes; then
12361 -      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'
12362 -    else
12363 -      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'
12364 -    fi
12365 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12366 -    hardcode_libdir_separator=:
12367 -    link_all_deplibs=yes
12368 -    ;;
12369 -
12370 -  netbsd*)
12371 -    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12372 -      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
12373 -    else
12374 -      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
12375 -    fi
12376 -    hardcode_libdir_flag_spec='-R$libdir'
12377 -    hardcode_direct=yes
12378 -    hardcode_shlibpath_var=no
12379 -    ;;
12380 -
12381 -  newsos6)
12382 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12383 -    hardcode_direct=yes
12384 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12385 -    hardcode_libdir_separator=:
12386 -    hardcode_shlibpath_var=no
12387 -    ;;
12388 -
12389 -  openbsd*)
12390 -    hardcode_direct=yes
12391 -    hardcode_shlibpath_var=no
12392 -    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12393 -      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
12394 -      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
12395 -      export_dynamic_flag_spec='${wl}-E'
12396 -    else
12397 -      case "$host_os" in
12398 -      openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
12399 -       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12400 -       hardcode_libdir_flag_spec='-R$libdir'
12401 -        ;;
12402 -      *)
12403 -        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
12404 -        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
12405 -        ;;
12406 -      esac
12407 -    fi
12408 -    ;;
12409 -
12410 -  os2*)
12411 -    hardcode_libdir_flag_spec='-L$libdir'
12412 -    hardcode_minus_L=yes
12413 -    allow_undefined_flag=unsupported
12414 -    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'
12415 -    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
12416 -    ;;
12417 -
12418 -  osf3*)
12419 -    if test "$GCC" = yes; then
12420 -      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
12421 -      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'
12422 -    else
12423 -      allow_undefined_flag=' -expect_unresolved \*'
12424 -      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'
12425 -    fi
12426 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12427 -    hardcode_libdir_separator=:
12428 -    ;;
12429 -
12430 -  osf4* | osf5*)       # as osf3* with the addition of -msym flag
12431 -    if test "$GCC" = yes; then
12432 -      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
12433 -      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'
12434 -      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12435 -    else
12436 -      allow_undefined_flag=' -expect_unresolved \*'
12437 -      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'
12438 -      archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
12439 -      $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'
12440 -
12441 -      #Both c and cxx compiler support -rpath directly
12442 -      hardcode_libdir_flag_spec='-rpath $libdir'
12443 -    fi
12444 -    hardcode_libdir_separator=:
12445 -    ;;
12446 -
12447 -  sco3.2v5*)
12448 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12449 -    hardcode_shlibpath_var=no
12450 -    runpath_var=LD_RUN_PATH
12451 -    hardcode_runpath_var=yes
12452 -    export_dynamic_flag_spec='${wl}-Bexport'
12453 -    ;;
12454 -
12455 -  solaris*)
12456 -    # gcc --version < 3.0 without binutils cannot create self contained
12457 -    # shared libraries reliably, requiring libgcc.a to resolve some of
12458 -    # the object symbols generated in some cases.  Libraries that use
12459 -    # assert need libgcc.a to resolve __eprintf, for example.  Linking
12460 -    # a copy of libgcc.a into every shared library to guarantee resolving
12461 -    # such symbols causes other problems:  According to Tim Van Holder
12462 -    # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
12463 -    # (to the application) exception stack for one thing.
12464 -    no_undefined_flag=' -z defs'
12465 -    if test "$GCC" = yes; then
12466 -      case `$CC --version 2>/dev/null` in
12467 -      [12].*)
12468 -       cat <<EOF 1>&2
12469 -
12470 -*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
12471 -*** create self contained shared libraries on Solaris systems, without
12472 -*** introducing a dependency on libgcc.a.  Therefore, libtool is disabling
12473 -*** -no-undefined support, which will at least allow you to build shared
12474 -*** libraries.  However, you may find that when you link such libraries
12475 -*** into an application without using GCC, you have to manually add
12476 -*** \`gcc --print-libgcc-file-name\` to the link command.  We urge you to
12477 -*** upgrade to a newer version of GCC.  Another option is to rebuild your
12478 -*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
12479 -
12480 -EOF
12481 -        no_undefined_flag=
12482 -       ;;
12483 -      esac
12484 -    fi
12485 -    # $CC -shared without GNU ld will not create a library from C++
12486 -    # object files and a static libstdc++, better avoid it by now
12487 -    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
12488 -    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12489 -               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
12490 -    hardcode_libdir_flag_spec='-R$libdir'
12491 -    hardcode_shlibpath_var=no
12492 -    case $host_os in
12493 -    solaris2.[0-5] | solaris2.[0-5].*) ;;
12494 -    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
12495 -      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
12496 -    esac
12497 -    link_all_deplibs=yes
12498 -    ;;
12499 -
12500 -  sunos4*)
12501 -    if test "x$host_vendor" = xsequent; then
12502 -      # Use $CC to link under sequent, because it throws in some extra .o
12503 -      # files that make .init and .fini sections work.
12504 -      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
12505 -    else
12506 -      archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
12507 -    fi
12508 -    hardcode_libdir_flag_spec='-L$libdir'
12509 -    hardcode_direct=yes
12510 -    hardcode_minus_L=yes
12511 -    hardcode_shlibpath_var=no
12512 -    ;;
12513 -
12514 -  sysv4)
12515 -    if test "x$host_vendor" = xsno; then
12516 -      archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
12517 -      hardcode_direct=yes # is this really true???
12518 -    else
12519 -      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12520 -      hardcode_direct=no #Motorola manual says yes, but my tests say they lie
12521 -    fi
12522 -    runpath_var='LD_RUN_PATH'
12523 -    hardcode_shlibpath_var=no
12524 -    ;;
12525 -
12526 -  sysv4.3*)
12527 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12528 -    hardcode_shlibpath_var=no
12529 -    export_dynamic_flag_spec='-Bexport'
12530 -    ;;
12531 -
12532 -  sysv5*)
12533 -    no_undefined_flag=' -z text'
12534 -    # $CC -shared without GNU ld will not create a library from C++
12535 -    # object files and a static libstdc++, better avoid it by now
12536 -    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
12537 -    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12538 -               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
12539 -    hardcode_libdir_flag_spec=
12540 -    hardcode_shlibpath_var=no
12541 -    runpath_var='LD_RUN_PATH'
12542 -    ;;
12543 -
12544 -  uts4*)
12545 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12546 -    hardcode_libdir_flag_spec='-L$libdir'
12547 -    hardcode_shlibpath_var=no
12548 -    ;;
12549 -
12550 -  dgux*)
12551 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12552 -    hardcode_libdir_flag_spec='-L$libdir'
12553 -    hardcode_shlibpath_var=no
12554 -    ;;
12555 -
12556 -  sysv4*MP*)
12557 -    if test -d /usr/nec; then
12558 -      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12559 -      hardcode_shlibpath_var=no
12560 -      runpath_var=LD_RUN_PATH
12561 -      hardcode_runpath_var=yes
12562 -      ld_shlibs=yes
12563 -    fi
12564 -    ;;
12565 -
12566 -  sysv4.2uw2*)
12567 -    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
12568 -    hardcode_direct=yes
12569 -    hardcode_minus_L=no
12570 -    hardcode_shlibpath_var=no
12571 -    hardcode_runpath_var=yes
12572 -    runpath_var=LD_RUN_PATH
12573 -    ;;
12574 -
12575 -  sysv5uw7* | unixware7*)
12576 -    no_undefined_flag='${wl}-z ${wl}text'
12577 -    if test "$GCC" = yes; then
12578 -      archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12579 -    else
12580 -      archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12581 -    fi
12582 -    runpath_var='LD_RUN_PATH'
12583 -    hardcode_shlibpath_var=no
12584 -    ;;
12585 -
12586 -  *)
12587 -    ld_shlibs=no
12588 -    ;;
12589 -  esac
12590 -fi
12591 -echo "$as_me:$LINENO: result: $ld_shlibs" >&5
12592 -echo "${ECHO_T}$ld_shlibs" >&6
12593 -test "$ld_shlibs" = no && can_build_shared=no
12594 -
12595 -# Check hardcoding attributes.
12596 -echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
12597 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
12598 -hardcode_action=
12599 -if test -n "$hardcode_libdir_flag_spec" || \
12600 -   test -n "$runpath_var"; then
12601 -
12602 -  # We can hardcode non-existant directories.
12603 -  if test "$hardcode_direct" != no &&
12604 -     # If the only mechanism to avoid hardcoding is shlibpath_var, we
12605 -     # have to relink, otherwise we might link with an installed library
12606 -     # when we should be linking with a yet-to-be-installed one
12607 -     ## test "$hardcode_shlibpath_var" != no &&
12608 -     test "$hardcode_minus_L" != no; then
12609 -    # Linking always hardcodes the temporary library directory.
12610 -    hardcode_action=relink
12611 -  else
12612 -    # We can link without hardcoding, and we can hardcode nonexisting dirs.
12613 -    hardcode_action=immediate
12614 -  fi
12615 -else
12616 -  # We cannot hardcode anything, or else we can only hardcode existing
12617 -  # directories.
12618 -  hardcode_action=unsupported
12619 -fi
12620 -echo "$as_me:$LINENO: result: $hardcode_action" >&5
12621 -echo "${ECHO_T}$hardcode_action" >&6
12622 -
12623 -striplib=
12624 -old_striplib=
12625 -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
12626 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
12627 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
12628 -  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
12629 -  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
12630 -  echo "$as_me:$LINENO: result: yes" >&5
12631 -echo "${ECHO_T}yes" >&6
12632 -else
12633 -  echo "$as_me:$LINENO: result: no" >&5
12634 -echo "${ECHO_T}no" >&6
12635 -fi
12636 -
12637 -reload_cmds='$LD$reload_flag -o $output$reload_objs'
12638 -test -z "$deplibs_check_method" && deplibs_check_method=unknown
12639 -
12640 -# PORTME Fill in your ld.so characteristics
12641 -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
12642 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
12643 -library_names_spec=
12644 -libname_spec='lib$name'
12645 -soname_spec=
12646 -postinstall_cmds=
12647 -postuninstall_cmds=
12648 -finish_cmds=
12649 -finish_eval=
12650 -shlibpath_var=
12651 -shlibpath_overrides_runpath=unknown
12652 -version_type=none
12653 -dynamic_linker="$host_os ld.so"
12654 -sys_lib_dlsearch_path_spec="/lib /usr/lib"
12655 -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
12656 -
12657 -case $host_os in
12658 -aix3*)
12659 -  version_type=linux
12660 -  library_names_spec='${libname}${release}.so$versuffix $libname.a'
12661 -  shlibpath_var=LIBPATH
12662 -
12663 -  # AIX has no versioning support, so we append a major version to the name.
12664 -  soname_spec='${libname}${release}.so$major'
12665 -  ;;
12666 -
12667 -aix4* | aix5*)
12668 -  version_type=linux
12669 -  if test "$host_cpu" = ia64; then
12670 -    # AIX 5 supports IA64
12671 -    library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
12672 -    shlibpath_var=LD_LIBRARY_PATH
12673 -  else
12674 -    # With GCC up to 2.95.x, collect2 would create an import file
12675 -    # for dependence libraries.  The import file would start with
12676 -    # the line `#! .'.  This would cause the generated library to
12677 -    # depend on `.', always an invalid library.  This was fixed in
12678 -    # development snapshots of GCC prior to 3.0.
12679 -    case $host_os in
12680 -      aix4 | aix4.[01] | aix4.[01].*)
12681 -       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
12682 -            echo ' yes '
12683 -            echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
12684 -         :
12685 -       else
12686 -         can_build_shared=no
12687 -       fi
12688 -       ;;
12689 -    esac
12690 -    # AIX (on Power*) has no versioning support, so currently we can
12691 -    # not hardcode correct soname into executable. Probably we can
12692 -    # add versioning support to collect2, so additional links can
12693 -    # be useful in future.
12694 -    if test "$aix_use_runtimelinking" = yes; then
12695 -      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
12696 -      # instead of lib<name>.a to let people know that these are not
12697 -      # typical AIX shared libraries.
12698 -      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12699 -    else
12700 -      # We preserve .a as extension for shared libraries through AIX4.2
12701 -      # and later when we are not doing run time linking.
12702 -      library_names_spec='${libname}${release}.a $libname.a'
12703 -      soname_spec='${libname}${release}.so$major'
12704 -    fi
12705 -    shlibpath_var=LIBPATH
12706 -  fi
12707 -  ;;
12708 -
12709 -amigaos*)
12710 -  library_names_spec='$libname.ixlibrary $libname.a'
12711 -  # Create ${libname}_ixlibrary.a entries in /sys/libs.
12712 -  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'
12713 -  ;;
12714 -
12715 -beos*)
12716 -  library_names_spec='${libname}.so'
12717 -  dynamic_linker="$host_os ld.so"
12718 -  shlibpath_var=LIBRARY_PATH
12719 -  ;;
12720 -
12721 -bsdi4*)
12722 -  version_type=linux
12723 -  need_version=no
12724 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12725 -  soname_spec='${libname}${release}.so$major'
12726 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
12727 -  shlibpath_var=LD_LIBRARY_PATH
12728 -  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
12729 -  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
12730 -  export_dynamic_flag_spec=-rdynamic
12731 -  # the default ld.so.conf also contains /usr/contrib/lib and
12732 -  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
12733 -  # libtool to hard-code these into programs
12734 -  ;;
12735 -
12736 -cygwin* | mingw* | pw32*)
12737 -  version_type=windows
12738 -  need_version=no
12739 -  need_lib_prefix=no
12740 -  case $GCC,$host_os in
12741 -  yes,cygwin*)
12742 -    library_names_spec='$libname.dll.a'
12743 -    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
12744 -    postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
12745 -      dldir=$destdir/`dirname \$dlpath`~
12746 -      test -d \$dldir || mkdir -p \$dldir~
12747 -      $install_prog .libs/$dlname \$dldir/$dlname'
12748 -    postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
12749 -      dlpath=$dir/\$dldll~
12750 -       $rm \$dlpath'
12751 -    ;;
12752 -  yes,mingw*)
12753 -    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
12754 -    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
12755 -    ;;
12756 -  yes,pw32*)
12757 -    library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll'
12758 -    ;;
12759 -  *)
12760 -    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
12761 -    ;;
12762 -  esac
12763 -  dynamic_linker='Win32 ld.exe'
12764 -  # FIXME: first we should search . and the directory the executable is in
12765 -  shlibpath_var=PATH
12766 -  ;;
12767 -
12768 -darwin* | rhapsody*)
12769 -  dynamic_linker="$host_os dyld"
12770 -  version_type=darwin
12771 -  need_lib_prefix=no
12772 -  need_version=no
12773 -  # FIXME: Relying on posixy $() will cause problems for
12774 -  #        cross-compilation, but unfortunately the echo tests do not
12775 -  #        yet detect zsh echo's removal of \ escapes.
12776 -  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)'
12777 -  soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
12778 -  shlibpath_overrides_runpath=yes
12779 -  shlibpath_var=DYLD_LIBRARY_PATH
12780 -  ;;
12781 -
12782 -freebsd1*)
12783 -  dynamic_linker=no
12784 -  ;;
12785 -
12786 -freebsd*)
12787 -  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
12788 -  version_type=freebsd-$objformat
12789 -  case $version_type in
12790 -    freebsd-elf*)
12791 -      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
12792 -      need_version=no
12793 -      need_lib_prefix=no
12794 -      ;;
12795 -    freebsd-*)
12796 -      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
12797 -      need_version=yes
12798 -      ;;
12799 -  esac
12800 -  shlibpath_var=LD_LIBRARY_PATH
12801 -  case $host_os in
12802 -  freebsd2*)
12803 -    shlibpath_overrides_runpath=yes
12804 -    ;;
12805 -  *)
12806 -    shlibpath_overrides_runpath=no
12807 -    hardcode_into_libs=yes
12808 -    ;;
12809 -  esac
12810 -  ;;
12811 -
12812 -gnu*)
12813 -  version_type=linux
12814 -  need_lib_prefix=no
12815 -  need_version=no
12816 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
12817 -  soname_spec='${libname}${release}.so$major'
12818 -  shlibpath_var=LD_LIBRARY_PATH
12819 -  hardcode_into_libs=yes
12820 -  ;;
12821 -
12822 -hpux9* | hpux10* | hpux11*)
12823 -  # Give a soname corresponding to the major version so that dld.sl refuses to
12824 -  # link against other versions.
12825 -  dynamic_linker="$host_os dld.sl"
12826 -  version_type=sunos
12827 -  need_lib_prefix=no
12828 -  need_version=no
12829 -  shlibpath_var=SHLIB_PATH
12830 -  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
12831 -  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
12832 -  soname_spec='${libname}${release}.sl$major'
12833 -  # HP-UX runs *really* slowly unless shared libraries are mode 555.
12834 -  postinstall_cmds='chmod 555 $lib'
12835 -  ;;
12836 -
12837 -irix5* | irix6*)
12838 -  version_type=irix
12839 -  need_lib_prefix=no
12840 -  need_version=no
12841 -  soname_spec='${libname}${release}.so$major'
12842 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
12843 -  case $host_os in
12844 -  irix5*)
12845 -    libsuff= shlibsuff=
12846 -    ;;
12847 -  *)
12848 -    case $LD in # libtool.m4 will add one of these switches to LD
12849 -    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
12850 -    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
12851 -    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
12852 -    *) libsuff= shlibsuff= libmagic=never-match;;
12853 -    esac
12854 -    ;;
12855 -  esac
12856 -  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
12857 -  shlibpath_overrides_runpath=no
12858 -  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
12859 -  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
12860 -  ;;
12861 -
12862 -# No shared lib support for Linux oldld, aout, or coff.
12863 -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
12864 -  dynamic_linker=no
12865 -  ;;
12866 -
12867 -# This must be Linux ELF.
12868 -linux-gnu*)
12869 -  version_type=linux
12870 -  need_lib_prefix=no
12871 -  need_version=no
12872 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12873 -  soname_spec='${libname}${release}.so$major'
12874 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
12875 -  shlibpath_var=LD_LIBRARY_PATH
12876 -  shlibpath_overrides_runpath=no
12877 -  # This implies no fast_install, which is unacceptable.
12878 -  # Some rework will be needed to allow for fast_install
12879 -  # before this can be enabled.
12880 -  hardcode_into_libs=yes
12881 -
12882 -  # We used to test for /lib/ld.so.1 and disable shared libraries on
12883 -  # powerpc, because MkLinux only supported shared libraries with the
12884 -  # GNU dynamic linker.  Since this was broken with cross compilers,
12885 -  # most powerpc-linux boxes support dynamic linking these days and
12886 -  # people can always --disable-shared, the test was removed, and we
12887 -  # assume the GNU/Linux dynamic linker is in use.
12888 -  dynamic_linker='GNU/Linux ld.so'
12889 -  ;;
12890 -
12891 -netbsd*)
12892 -  version_type=sunos
12893 -  need_lib_prefix=no
12894 -  need_version=no
12895 -  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12896 -    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
12897 -    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
12898 -    dynamic_linker='NetBSD (a.out) ld.so'
12899 -  else
12900 -    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
12901 -    soname_spec='${libname}${release}.so$major'
12902 -    dynamic_linker='NetBSD ld.elf_so'
12903 -  fi
12904 -  shlibpath_var=LD_LIBRARY_PATH
12905 -  shlibpath_overrides_runpath=yes
12906 -  hardcode_into_libs=yes
12907 -  ;;
12908 -
12909 -newsos6)
12910 -  version_type=linux
12911 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12912 -  shlibpath_var=LD_LIBRARY_PATH
12913 -  shlibpath_overrides_runpath=yes
12914 -  ;;
12915 -
12916 -openbsd*)
12917 -  version_type=sunos
12918 -  need_lib_prefix=no
12919 -  need_version=no
12920 -  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12921 -    case "$host_os" in
12922 -    openbsd2.[89] | openbsd2.[89].*)
12923 -      shlibpath_overrides_runpath=no
12924 -      ;;
12925 -    *)
12926 -      shlibpath_overrides_runpath=yes
12927 -      ;;
12928 -    esac
12929 -  else
12930 -    shlibpath_overrides_runpath=yes
12931 -  fi
12932 -  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
12933 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
12934 -  shlibpath_var=LD_LIBRARY_PATH
12935 -  ;;
12936 -
12937 -os2*)
12938 -  libname_spec='$name'
12939 -  need_lib_prefix=no
12940 -  library_names_spec='$libname.dll $libname.a'
12941 -  dynamic_linker='OS/2 ld.exe'
12942 -  shlibpath_var=LIBPATH
12943 -  ;;
12944 -
12945 -osf3* | osf4* | osf5*)
12946 -  version_type=osf
12947 -  need_version=no
12948 -  soname_spec='${libname}${release}.so'
12949 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
12950 -  shlibpath_var=LD_LIBRARY_PATH
12951 -  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
12952 -  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
12953 -  ;;
12954 -
12955 -sco3.2v5*)
12956 -  version_type=osf
12957 -  soname_spec='${libname}${release}.so$major'
12958 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12959 -  shlibpath_var=LD_LIBRARY_PATH
12960 -  ;;
12961 -
12962 -solaris*)
12963 -  version_type=linux
12964 -  need_lib_prefix=no
12965 -  need_version=no
12966 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12967 -  soname_spec='${libname}${release}.so$major'
12968 -  shlibpath_var=LD_LIBRARY_PATH
12969 -  shlibpath_overrides_runpath=yes
12970 -  hardcode_into_libs=yes
12971 -  # ldd complains unless libraries are executable
12972 -  postinstall_cmds='chmod +x $lib'
12973 -  ;;
12974 -
12975 -sunos4*)
12976 -  version_type=sunos
12977 -  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
12978 -  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
12979 -  shlibpath_var=LD_LIBRARY_PATH
12980 -  shlibpath_overrides_runpath=yes
12981 -  if test "$with_gnu_ld" = yes; then
12982 -    need_lib_prefix=no
12983 -  fi
12984 -  need_version=yes
12985 -  ;;
12986 -
12987 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
12988 -  version_type=linux
12989 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12990 -  soname_spec='${libname}${release}.so$major'
12991 -  shlibpath_var=LD_LIBRARY_PATH
12992 -  case $host_vendor in
12993 -    sni)
12994 -      shlibpath_overrides_runpath=no
12995 -      ;;
12996 -    motorola)
12997 -      need_lib_prefix=no
12998 -      need_version=no
12999 -      shlibpath_overrides_runpath=no
13000 -      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
13001 -      ;;
13002 -  esac
13003 -  ;;
13004 -
13005 -uts4*)
13006 -  version_type=linux
13007 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13008 -  soname_spec='${libname}${release}.so$major'
13009 -  shlibpath_var=LD_LIBRARY_PATH
13010 -  ;;
13011 -
13012 -dgux*)
13013 -  version_type=linux
13014 -  need_lib_prefix=no
13015 -  need_version=no
13016 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13017 -  soname_spec='${libname}${release}.so$major'
13018 -  shlibpath_var=LD_LIBRARY_PATH
13019 -  ;;
13020 -
13021 -sysv4*MP*)
13022 -  if test -d /usr/nec ;then
13023 -    version_type=linux
13024 -    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
13025 -    soname_spec='$libname.so.$major'
13026 -    shlibpath_var=LD_LIBRARY_PATH
13027 -  fi
13028 -  ;;
13029 -
13030 -*)
13031 -  dynamic_linker=no
13032 -  ;;
13033 -esac
13034 -echo "$as_me:$LINENO: result: $dynamic_linker" >&5
13035 -echo "${ECHO_T}$dynamic_linker" >&6
13036 -test "$dynamic_linker" = no && can_build_shared=no
13037 -
13038 -# Report the final consequences.
13039 -echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
13040 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
13041 -echo "$as_me:$LINENO: result: $can_build_shared" >&5
13042 -echo "${ECHO_T}$can_build_shared" >&6
13043 -
13044 -echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
13045 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
13046 -test "$can_build_shared" = "no" && enable_shared=no
13047 -
13048 -# On AIX, shared libraries and static libraries use the same namespace, and
13049 -# are all built from PIC.
13050 -case "$host_os" in
13051 -aix3*)
13052 -  test "$enable_shared" = yes && enable_static=no
13053 -  if test -n "$RANLIB"; then
13054 -    archive_cmds="$archive_cmds~\$RANLIB \$lib"
13055 -    postinstall_cmds='$RANLIB $lib'
13056 -  fi
13057 -  ;;
13058 -
13059 -aix4*)
13060 -  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
13061 -    test "$enable_shared" = yes && enable_static=no
13062 -  fi
13063 -  ;;
13064 -esac
13065 -echo "$as_me:$LINENO: result: $enable_shared" >&5
13066 -echo "${ECHO_T}$enable_shared" >&6
13067 -
13068 -echo "$as_me:$LINENO: checking whether to build static libraries" >&5
13069 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
13070 -# Make sure either enable_shared or enable_static is yes.
13071 -test "$enable_shared" = yes || enable_static=yes
13072 -echo "$as_me:$LINENO: result: $enable_static" >&5
13073 -echo "${ECHO_T}$enable_static" >&6
13074 -
13075 -if test "$hardcode_action" = relink; then
13076 -  # Fast installation is not supported
13077 -  enable_fast_install=no
13078 -elif test "$shlibpath_overrides_runpath" = yes ||
13079 -     test "$enable_shared" = no; then
13080 -  # Fast installation is not necessary
13081 -  enable_fast_install=needless
13082 -fi
13083 -
13084 -variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
13085 -if test "$GCC" = yes; then
13086 -  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
13087 -fi
13088 -
13089 -if test "x$enable_dlopen" != xyes; then
13090 -  enable_dlopen=unknown
13091 -  enable_dlopen_self=unknown
13092 -  enable_dlopen_self_static=unknown
13093 -else
13094 -  lt_cv_dlopen=no
13095 -  lt_cv_dlopen_libs=
13096 -
13097 -  case $host_os in
13098 -  beos*)
13099 -    lt_cv_dlopen="load_add_on"
13100 -    lt_cv_dlopen_libs=
13101 -    lt_cv_dlopen_self=yes
13102 -    ;;
13103 -
13104 -  cygwin* | mingw* | pw32*)
13105 -    lt_cv_dlopen="LoadLibrary"
13106 -    lt_cv_dlopen_libs=
13107 -   ;;
13108 -
13109 -  *)
13110 -    echo "$as_me:$LINENO: checking for shl_load" >&5
13111 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
13112 -if test "${ac_cv_func_shl_load+set}" = set; then
13113 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13114 -else
13115 -  cat >conftest.$ac_ext <<_ACEOF
13116 -#line $LINENO "configure"
13117 -#include "confdefs.h"
13118 -/* System header to define __stub macros and hopefully few prototypes,
13119 -    which can conflict with char shl_load (); below.  */
13120 -#include <assert.h>
13121 -/* Override any gcc2 internal prototype to avoid an error.  */
13122 -#ifdef __cplusplus
13123 -extern "C"
13124 -#endif
13125 -/* We use char because int might match the return type of a gcc2
13126 -   builtin and then its argument prototype would still apply.  */
13127 -char shl_load ();
13128 -char (*f) ();
13129 -
13130 -int
13131 -main ()
13132 -{
13133 -/* The GNU C library defines this for functions which it implements
13134 -    to always fail with ENOSYS.  Some functions are actually named
13135 -    something starting with __ and the normal name is an alias.  */
13136 -#if defined (__stub_shl_load) || defined (__stub___shl_load)
13137 -choke me
13138 -#else
13139 -f = shl_load;
13140 -#endif
13141 -
13142 -  ;
13143 -  return 0;
13144 -}
13145 -_ACEOF
13146 -rm -f conftest.$ac_objext conftest$ac_exeext
13147 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13148 -  (eval $ac_link) 2>&5
13149 -  ac_status=$?
13150 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13151 -  (exit $ac_status); } &&
13152 -         { ac_try='test -s conftest$ac_exeext'
13153 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13154 -  (eval $ac_try) 2>&5
13155 -  ac_status=$?
13156 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13157 -  (exit $ac_status); }; }; then
13158 -  ac_cv_func_shl_load=yes
13159 -else
13160 -  echo "$as_me: failed program was:" >&5
13161 -cat conftest.$ac_ext >&5
13162 -ac_cv_func_shl_load=no
13163 -fi
13164 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13165 -fi
13166 -echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
13167 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6
13168 -if test $ac_cv_func_shl_load = yes; then
13169 -  lt_cv_dlopen="shl_load"
13170 -else
13171 -  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
13172 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
13173 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then
13174 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13175 -else
13176 -  ac_check_lib_save_LIBS=$LIBS
13177 -LIBS="-ldld  $LIBS"
13178 -cat >conftest.$ac_ext <<_ACEOF
13179 -#line $LINENO "configure"
13180 -#include "confdefs.h"
13181 -
13182 -/* Override any gcc2 internal prototype to avoid an error.  */
13183 -#ifdef __cplusplus
13184 -extern "C"
13185 -#endif
13186 -/* We use char because int might match the return type of a gcc2
13187 -   builtin and then its argument prototype would still apply.  */
13188 -char shl_load ();
13189 -int
13190 -main ()
13191 -{
13192 -shl_load ();
13193 -  ;
13194 -  return 0;
13195 -}
13196 -_ACEOF
13197 -rm -f conftest.$ac_objext conftest$ac_exeext
13198 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13199 -  (eval $ac_link) 2>&5
13200 -  ac_status=$?
13201 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13202 -  (exit $ac_status); } &&
13203 -         { ac_try='test -s conftest$ac_exeext'
13204 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13205 -  (eval $ac_try) 2>&5
13206 -  ac_status=$?
13207 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13208 -  (exit $ac_status); }; }; then
13209 -  ac_cv_lib_dld_shl_load=yes
13210 -else
13211 -  echo "$as_me: failed program was:" >&5
13212 -cat conftest.$ac_ext >&5
13213 -ac_cv_lib_dld_shl_load=no
13214 -fi
13215 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13216 -LIBS=$ac_check_lib_save_LIBS
13217 -fi
13218 -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
13219 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
13220 -if test $ac_cv_lib_dld_shl_load = yes; then
13221 -  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
13222 -else
13223 -  echo "$as_me:$LINENO: checking for dlopen" >&5
13224 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
13225 -if test "${ac_cv_func_dlopen+set}" = set; then
13226 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13227 -else
13228 -  cat >conftest.$ac_ext <<_ACEOF
13229 -#line $LINENO "configure"
13230 -#include "confdefs.h"
13231 -/* System header to define __stub macros and hopefully few prototypes,
13232 -    which can conflict with char dlopen (); below.  */
13233 -#include <assert.h>
13234 -/* Override any gcc2 internal prototype to avoid an error.  */
13235 -#ifdef __cplusplus
13236 -extern "C"
13237 -#endif
13238 -/* We use char because int might match the return type of a gcc2
13239 -   builtin and then its argument prototype would still apply.  */
13240 -char dlopen ();
13241 -char (*f) ();
13242 -
13243 -int
13244 -main ()
13245 -{
13246 -/* The GNU C library defines this for functions which it implements
13247 -    to always fail with ENOSYS.  Some functions are actually named
13248 -    something starting with __ and the normal name is an alias.  */
13249 -#if defined (__stub_dlopen) || defined (__stub___dlopen)
13250 -choke me
13251 -#else
13252 -f = dlopen;
13253 -#endif
13254 -
13255 -  ;
13256 -  return 0;
13257 -}
13258 -_ACEOF
13259 -rm -f conftest.$ac_objext conftest$ac_exeext
13260 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13261 -  (eval $ac_link) 2>&5
13262 -  ac_status=$?
13263 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13264 -  (exit $ac_status); } &&
13265 -         { ac_try='test -s conftest$ac_exeext'
13266 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13267 -  (eval $ac_try) 2>&5
13268 -  ac_status=$?
13269 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13270 -  (exit $ac_status); }; }; then
13271 -  ac_cv_func_dlopen=yes
13272 -else
13273 -  echo "$as_me: failed program was:" >&5
13274 -cat conftest.$ac_ext >&5
13275 -ac_cv_func_dlopen=no
13276 -fi
13277 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13278 -fi
13279 -echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
13280 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6
13281 -if test $ac_cv_func_dlopen = yes; then
13282 -  lt_cv_dlopen="dlopen"
13283 -else
13284 -  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
13285 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
13286 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
13287 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13288 -else
13289 -  ac_check_lib_save_LIBS=$LIBS
13290 -LIBS="-ldl  $LIBS"
13291 -cat >conftest.$ac_ext <<_ACEOF
13292 -#line $LINENO "configure"
13293 -#include "confdefs.h"
13294 -
13295 -/* Override any gcc2 internal prototype to avoid an error.  */
13296 -#ifdef __cplusplus
13297 -extern "C"
13298 -#endif
13299 -/* We use char because int might match the return type of a gcc2
13300 -   builtin and then its argument prototype would still apply.  */
13301 -char dlopen ();
13302 -int
13303 -main ()
13304 -{
13305 -dlopen ();
13306 -  ;
13307 -  return 0;
13308 -}
13309 -_ACEOF
13310 -rm -f conftest.$ac_objext conftest$ac_exeext
13311 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13312 -  (eval $ac_link) 2>&5
13313 -  ac_status=$?
13314 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13315 -  (exit $ac_status); } &&
13316 -         { ac_try='test -s conftest$ac_exeext'
13317 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13318 -  (eval $ac_try) 2>&5
13319 -  ac_status=$?
13320 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13321 -  (exit $ac_status); }; }; then
13322 -  ac_cv_lib_dl_dlopen=yes
13323 -else
13324 -  echo "$as_me: failed program was:" >&5
13325 -cat conftest.$ac_ext >&5
13326 -ac_cv_lib_dl_dlopen=no
13327 -fi
13328 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13329 -LIBS=$ac_check_lib_save_LIBS
13330 -fi
13331 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
13332 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
13333 -if test $ac_cv_lib_dl_dlopen = yes; then
13334 -  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
13335 -else
13336 -  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
13337 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
13338 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then
13339 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13340 -else
13341 -  ac_check_lib_save_LIBS=$LIBS
13342 -LIBS="-lsvld  $LIBS"
13343 -cat >conftest.$ac_ext <<_ACEOF
13344 -#line $LINENO "configure"
13345 -#include "confdefs.h"
13346 -
13347 -/* Override any gcc2 internal prototype to avoid an error.  */
13348 -#ifdef __cplusplus
13349 -extern "C"
13350 -#endif
13351 -/* We use char because int might match the return type of a gcc2
13352 -   builtin and then its argument prototype would still apply.  */
13353 -char dlopen ();
13354 -int
13355 -main ()
13356 -{
13357 -dlopen ();
13358 -  ;
13359 -  return 0;
13360 -}
13361 -_ACEOF
13362 -rm -f conftest.$ac_objext conftest$ac_exeext
13363 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13364 -  (eval $ac_link) 2>&5
13365 -  ac_status=$?
13366 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13367 -  (exit $ac_status); } &&
13368 -         { ac_try='test -s conftest$ac_exeext'
13369 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13370 -  (eval $ac_try) 2>&5
13371 -  ac_status=$?
13372 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13373 -  (exit $ac_status); }; }; then
13374 -  ac_cv_lib_svld_dlopen=yes
13375 -else
13376 -  echo "$as_me: failed program was:" >&5
13377 -cat conftest.$ac_ext >&5
13378 -ac_cv_lib_svld_dlopen=no
13379 -fi
13380 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13381 -LIBS=$ac_check_lib_save_LIBS
13382 -fi
13383 -echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
13384 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
13385 -if test $ac_cv_lib_svld_dlopen = yes; then
13386 -  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
13387 -else
13388 -  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
13389 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
13390 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then
13391 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13392 -else
13393 -  ac_check_lib_save_LIBS=$LIBS
13394 -LIBS="-ldld  $LIBS"
13395 -cat >conftest.$ac_ext <<_ACEOF
13396 -#line $LINENO "configure"
13397 -#include "confdefs.h"
13398 -
13399 -/* Override any gcc2 internal prototype to avoid an error.  */
13400 -#ifdef __cplusplus
13401 -extern "C"
13402 -#endif
13403 -/* We use char because int might match the return type of a gcc2
13404 -   builtin and then its argument prototype would still apply.  */
13405 -char dld_link ();
13406 -int
13407 -main ()
13408 -{
13409 -dld_link ();
13410 -  ;
13411 -  return 0;
13412 -}
13413 -_ACEOF
13414 -rm -f conftest.$ac_objext conftest$ac_exeext
13415 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13416 -  (eval $ac_link) 2>&5
13417 -  ac_status=$?
13418 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13419 -  (exit $ac_status); } &&
13420 -         { ac_try='test -s conftest$ac_exeext'
13421 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13422 -  (eval $ac_try) 2>&5
13423 -  ac_status=$?
13424 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13425 -  (exit $ac_status); }; }; then
13426 -  ac_cv_lib_dld_dld_link=yes
13427 -else
13428 -  echo "$as_me: failed program was:" >&5
13429 -cat conftest.$ac_ext >&5
13430 -ac_cv_lib_dld_dld_link=no
13431 -fi
13432 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13433 -LIBS=$ac_check_lib_save_LIBS
13434 -fi
13435 -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
13436 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
13437 -if test $ac_cv_lib_dld_dld_link = yes; then
13438 -  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
13439 -fi
13440 -
13441 -             
13442 -fi
13443 -
13444 -           
13445 -fi
13446 -
13447 -         
13448 -fi
13449 -
13450 -       
13451 -fi
13452 -
13453 -      
13454 -fi
13455 -
13456 -    ;;
13457 -  esac
13458 -
13459 -  if test "x$lt_cv_dlopen" != xno; then
13460 -    enable_dlopen=yes
13461 -  else
13462 -    enable_dlopen=no
13463 -  fi
13464 -
13465 -  case $lt_cv_dlopen in
13466 -  dlopen)
13467 -    save_CPPFLAGS="$CPPFLAGS"
13468 -        test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
13469 -
13470 -    save_LDFLAGS="$LDFLAGS"
13471 -    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
13472 -
13473 -    save_LIBS="$LIBS"
13474 -    LIBS="$lt_cv_dlopen_libs $LIBS"
13475 -
13476 -    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
13477 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
13478 -if test "${lt_cv_dlopen_self+set}" = set; then
13479 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13480 -else
13481 -         if test "$cross_compiling" = yes; then :
13482 -  lt_cv_dlopen_self=cross
13483 -else
13484 -    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
13485 -  lt_status=$lt_dlunknown
13486 -  cat > conftest.$ac_ext <<EOF
13487 -#line __oline__ "configure"
13488 -#include "confdefs.h"
13489 -
13490 -#if HAVE_DLFCN_H
13491 -#include <dlfcn.h>
13492 -#endif
13493 -
13494 -#include <stdio.h>
13495 -
13496 -#ifdef RTLD_GLOBAL
13497 -#  define LT_DLGLOBAL          RTLD_GLOBAL
13498 -#else
13499 -#  ifdef DL_GLOBAL
13500 -#    define LT_DLGLOBAL                DL_GLOBAL
13501 -#  else
13502 -#    define LT_DLGLOBAL                0
13503 -#  endif
13504 -#endif
13505 -
13506 -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
13507 -   find out it does not work in some platform. */
13508 -#ifndef LT_DLLAZY_OR_NOW
13509 -#  ifdef RTLD_LAZY
13510 -#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
13511 -#  else
13512 -#    ifdef DL_LAZY
13513 -#      define LT_DLLAZY_OR_NOW         DL_LAZY
13514 -#    else
13515 -#      ifdef RTLD_NOW
13516 -#        define LT_DLLAZY_OR_NOW       RTLD_NOW
13517 -#      else
13518 -#        ifdef DL_NOW
13519 -#          define LT_DLLAZY_OR_NOW     DL_NOW
13520 -#        else
13521 -#          define LT_DLLAZY_OR_NOW     0
13522 -#        endif
13523 -#      endif
13524 -#    endif
13525 -#  endif
13526 -#endif
13527 -
13528 -#ifdef __cplusplus
13529 -extern "C" void exit (int);
13530 -#endif
13531 -
13532 -void fnord() { int i=42;}
13533 -int main ()
13534 -{
13535 -  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
13536 -  int status = $lt_dlunknown;
13537 -
13538 -  if (self)
13539 -    {
13540 -      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
13541 -      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
13542 -      /* dlclose (self); */
13543 -    }
13544 -
13545 -    exit (status);
13546 -}
13547 -EOF
13548 -  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13549 -  (eval $ac_link) 2>&5
13550 -  ac_status=$?
13551 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13552 -  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
13553 -    (./conftest; exit; ) 2>/dev/null
13554 -    lt_status=$?
13555 -    case x$lt_status in
13556 -      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
13557 -      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
13558 -      x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
13559 -    esac
13560 -  else :
13561 -    # compilation failed
13562 -    lt_cv_dlopen_self=no
13563 -  fi
13564 -fi
13565 -rm -fr conftest*
13566 -
13567 -    
13568 -fi
13569 -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
13570 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6
13571 -
13572 -    if test "x$lt_cv_dlopen_self" = xyes; then
13573 -      LDFLAGS="$LDFLAGS $link_static_flag"
13574 -      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
13575 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
13576 -if test "${lt_cv_dlopen_self_static+set}" = set; then
13577 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13578 -else
13579 -         if test "$cross_compiling" = yes; then :
13580 -  lt_cv_dlopen_self_static=cross
13581 -else
13582 -    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
13583 -  lt_status=$lt_dlunknown
13584 -  cat > conftest.$ac_ext <<EOF
13585 -#line __oline__ "configure"
13586 -#include "confdefs.h"
13587 -
13588 -#if HAVE_DLFCN_H
13589 -#include <dlfcn.h>
13590 -#endif
13591 -
13592 -#include <stdio.h>
13593 -
13594 -#ifdef RTLD_GLOBAL
13595 -#  define LT_DLGLOBAL          RTLD_GLOBAL
13596 -#else
13597 -#  ifdef DL_GLOBAL
13598 -#    define LT_DLGLOBAL                DL_GLOBAL
13599 -#  else
13600 -#    define LT_DLGLOBAL                0
13601 -#  endif
13602 -#endif
13603 -
13604 -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
13605 -   find out it does not work in some platform. */
13606 -#ifndef LT_DLLAZY_OR_NOW
13607 -#  ifdef RTLD_LAZY
13608 -#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
13609 -#  else
13610 -#    ifdef DL_LAZY
13611 -#      define LT_DLLAZY_OR_NOW         DL_LAZY
13612 -#    else
13613 -#      ifdef RTLD_NOW
13614 -#        define LT_DLLAZY_OR_NOW       RTLD_NOW
13615 -#      else
13616 -#        ifdef DL_NOW
13617 -#          define LT_DLLAZY_OR_NOW     DL_NOW
13618 -#        else
13619 -#          define LT_DLLAZY_OR_NOW     0
13620 -#        endif
13621 -#      endif
13622 -#    endif
13623 -#  endif
13624 -#endif
13625 -
13626 -#ifdef __cplusplus
13627 -extern "C" void exit (int);
13628 -#endif
13629 -
13630 -void fnord() { int i=42;}
13631 -int main ()
13632 -{
13633 -  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
13634 -  int status = $lt_dlunknown;
13635 -
13636 -  if (self)
13637 -    {
13638 -      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
13639 -      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
13640 -      /* dlclose (self); */
13641 -    }
13642 -
13643 -    exit (status);
13644 -}
13645 -EOF
13646 -  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13647 -  (eval $ac_link) 2>&5
13648 -  ac_status=$?
13649 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13650 -  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
13651 -    (./conftest; exit; ) 2>/dev/null
13652 -    lt_status=$?
13653 -    case x$lt_status in
13654 -      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
13655 -      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
13656 -      x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
13657 -    esac
13658 -  else :
13659 -    # compilation failed
13660 -    lt_cv_dlopen_self_static=no
13661 -  fi
13662 -fi
13663 -rm -fr conftest*
13664 -
13665 -      
13666 -fi
13667 -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
13668 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
13669 -    fi
13670 -
13671 -    CPPFLAGS="$save_CPPFLAGS"
13672 -    LDFLAGS="$save_LDFLAGS"
13673 -    LIBS="$save_LIBS"
13674 -    ;;
13675 -  esac
13676 -
13677 -  case $lt_cv_dlopen_self in
13678 -  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
13679 -  *) enable_dlopen_self=unknown ;;
13680 -  esac
13681 -
13682 -  case $lt_cv_dlopen_self_static in
13683 -  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
13684 -  *) enable_dlopen_self_static=unknown ;;
13685 -  esac
13686 -fi
13687 -
13688 -
13689 -if test "$enable_shared" = yes && test "$GCC" = yes; then
13690 -  case $archive_cmds in
13691 -  *'~'*)
13692 -    # FIXME: we may have to deal with multi-command sequences.
13693 -    ;;
13694 -  '$CC '*)
13695 -    # Test whether the compiler implicitly links with -lc since on some
13696 -    # systems, -lgcc has to come before -lc. If gcc already passes -lc
13697 -    # to ld, don't add -lc before -lgcc.
13698 -    echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
13699 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
13700 -    if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
13701 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13702 -else
13703 -  $rm conftest*
13704 -    echo 'static int dummy;' > conftest.$ac_ext
13705 -
13706 -    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
13707 -  (eval $ac_compile) 2>&5
13708 -  ac_status=$?
13709 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13710 -  (exit $ac_status); }; then
13711 -      soname=conftest
13712 -      lib=conftest
13713 -      libobjs=conftest.$ac_objext
13714 -      deplibs=
13715 -      wl=$lt_cv_prog_cc_wl
13716 -      compiler_flags=-v
13717 -      linker_flags=-v
13718 -      verstring=
13719 -      output_objdir=.
13720 -      libname=conftest
13721 -      save_allow_undefined_flag=$allow_undefined_flag
13722 -      allow_undefined_flag=
13723 -      if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
13724 -  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
13725 -  ac_status=$?
13726 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13727 -  (exit $ac_status); }
13728 -      then
13729 -       lt_cv_archive_cmds_need_lc=no
13730 -      else
13731 -       lt_cv_archive_cmds_need_lc=yes
13732 -      fi
13733 -      allow_undefined_flag=$save_allow_undefined_flag
13734 -    else
13735 -      cat conftest.err 1>&5
13736 -    fi
13737 -fi
13738 -
13739 -    echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
13740 -echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
13741 -    ;;
13742 -  esac
13743 -fi
13744 -need_lc=${lt_cv_archive_cmds_need_lc-yes}
13745 -
13746 -# The second clause should only fire when bootstrapping the
13747 -# libtool distribution, otherwise you forgot to ship ltmain.sh
13748 -# with your package, and you will get complaints that there are
13749 -# no rules to generate ltmain.sh.
13750 -if test -f "$ltmain"; then
13751 -  :
13752 -else
13753 -  # If there is no Makefile yet, we rely on a make rule to execute
13754 -  # `config.status --recheck' to rerun these tests and create the
13755 -  # libtool script then.
13756 -  test -f Makefile && make "$ltmain"
13757 -fi
13758 -
13759 -if test -f "$ltmain"; then
13760 -  trap "$rm \"${ofile}T\"; exit 1" 1 2 15
13761 -  $rm -f "${ofile}T"
13762 -
13763 -  echo creating $ofile
13764 -
13765 -  # Now quote all the things that may contain metacharacters while being
13766 -  # careful not to overquote the AC_SUBSTed values.  We take copies of the
13767 -  # variables and quote the copies for generation of the libtool script.
13768 -  for var in echo old_CC old_CFLAGS \
13769 -    AR AR_FLAGS CC LD LN_S NM SHELL \
13770 -    reload_flag reload_cmds wl \
13771 -    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
13772 -    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
13773 -    library_names_spec soname_spec \
13774 -    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
13775 -    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
13776 -    postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
13777 -    old_striplib striplib file_magic_cmd export_symbols_cmds \
13778 -    deplibs_check_method allow_undefined_flag no_undefined_flag \
13779 -    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
13780 -    global_symbol_to_c_name_address \
13781 -    hardcode_libdir_flag_spec hardcode_libdir_separator  \
13782 -    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
13783 -    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
13784 -
13785 -    case $var in
13786 -    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
13787 -    old_postinstall_cmds | old_postuninstall_cmds | \
13788 -    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
13789 -    extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
13790 -    postinstall_cmds | postuninstall_cmds | \
13791 -    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
13792 -      # Double-quote double-evaled strings.
13793 -      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
13794 -      ;;
13795 -    *)
13796 -      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
13797 -      ;;
13798 -    esac
13799 -  done
13800 -
13801 -  cat <<__EOF__ > "${ofile}T"
13802 -#! $SHELL
13803 -
13804 -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
13805 -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
13806 -# NOTE: Changes made to this file will be lost: look at ltmain.sh.
13807 -#
13808 -# Copyright (C) 1996-2000 Free Software Foundation, Inc.
13809 -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
13810 -#
13811 -# This program is free software; you can redistribute it and/or modify
13812 -# it under the terms of the GNU General Public License as published by
13813 -# the Free Software Foundation; either version 2 of the License, or
13814 -# (at your option) any later version.
13815 -#
13816 -# This program is distributed in the hope that it will be useful, but
13817 -# WITHOUT ANY WARRANTY; without even the implied warranty of
13818 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13819 -# General Public License for more details.
13820 -#
13821 -# You should have received a copy of the GNU General Public License
13822 -# along with this program; if not, write to the Free Software
13823 -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
13824 -#
13825 -# As a special exception to the GNU General Public License, if you
13826 -# distribute this file as part of a program that contains a
13827 -# configuration script generated by Autoconf, you may include it under
13828 -# the same distribution terms that you use for the rest of that program.
13829 -
13830 -# Sed that helps us avoid accidentally triggering echo(1) options like -n.
13831 -Xsed="sed -e s/^X//"
13832 -
13833 -# The HP-UX ksh and POSIX shell print the target directory to stdout
13834 -# if CDPATH is set.
13835 -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
13836 -
13837 -# ### BEGIN LIBTOOL CONFIG
13838 -
13839 -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
13840 -
13841 -# Shell to use when invoking shell scripts.
13842 -SHELL=$lt_SHELL
13843 -
13844 -# Whether or not to build shared libraries.
13845 -build_libtool_libs=$enable_shared
13846 -
13847 -# Whether or not to build static libraries.
13848 -build_old_libs=$enable_static
13849 -
13850 -# Whether or not to add -lc for building shared libraries.
13851 -build_libtool_need_lc=$need_lc
13852 -
13853 -# Whether or not to optimize for fast installation.
13854 -fast_install=$enable_fast_install
13855 -
13856 -# The host system.
13857 -host_alias=$host_alias
13858 -host=$host
13859 -
13860 -# An echo program that does not interpret backslashes.
13861 -echo=$lt_echo
13862 -
13863 -# The archiver.
13864 -AR=$lt_AR
13865 -AR_FLAGS=$lt_AR_FLAGS
13866 -
13867 -# The default C compiler.
13868 -CC=$lt_CC
13869 -
13870 -# Is the compiler the GNU C compiler?
13871 -with_gcc=$GCC
13872 -
13873 -# The linker used to build libraries.
13874 -LD=$lt_LD
13875 -
13876 -# Whether we need hard or soft links.
13877 -LN_S=$lt_LN_S
13878 -
13879 -# A BSD-compatible nm program.
13880 -NM=$lt_NM
13881 -
13882 -# A symbol stripping program
13883 -STRIP=$STRIP
13884 -
13885 -# Used to examine libraries when file_magic_cmd begins "file"
13886 -MAGIC_CMD=$MAGIC_CMD
13887 -
13888 -# Used on cygwin: DLL creation program.
13889 -DLLTOOL="$DLLTOOL"
13890 -
13891 -# Used on cygwin: object dumper.
13892 -OBJDUMP="$OBJDUMP"
13893 -
13894 -# Used on cygwin: assembler.
13895 -AS="$AS"
13896 -
13897 -# The name of the directory that contains temporary libtool files.
13898 -objdir=$objdir
13899 -
13900 -# How to create reloadable object files.
13901 -reload_flag=$lt_reload_flag
13902 -reload_cmds=$lt_reload_cmds
13903 -
13904 -# How to pass a linker flag through the compiler.
13905 -wl=$lt_wl
13906 -
13907 -# Object file suffix (normally "o").
13908 -objext="$ac_objext"
13909 -
13910 -# Old archive suffix (normally "a").
13911 -libext="$libext"
13912 -
13913 -# Executable file suffix (normally "").
13914 -exeext="$exeext"
13915 -
13916 -# Additional compiler flags for building library objects.
13917 -pic_flag=$lt_pic_flag
13918 -pic_mode=$pic_mode
13919 -
13920 -# Does compiler simultaneously support -c and -o options?
13921 -compiler_c_o=$lt_compiler_c_o
13922 -
13923 -# Can we write directly to a .lo ?
13924 -compiler_o_lo=$lt_compiler_o_lo
13925 -
13926 -# Must we lock files when doing compilation ?
13927 -need_locks=$lt_need_locks
13928 -
13929 -# Do we need the lib prefix for modules?
13930 -need_lib_prefix=$need_lib_prefix
13931 -
13932 -# Do we need a version for libraries?
13933 -need_version=$need_version
13934 -
13935 -# Whether dlopen is supported.
13936 -dlopen_support=$enable_dlopen
13937 -
13938 -# Whether dlopen of programs is supported.
13939 -dlopen_self=$enable_dlopen_self
13940 -
13941 -# Whether dlopen of statically linked programs is supported.
13942 -dlopen_self_static=$enable_dlopen_self_static
13943 -
13944 -# Compiler flag to prevent dynamic linking.
13945 -link_static_flag=$lt_link_static_flag
13946 -
13947 -# Compiler flag to turn off builtin functions.
13948 -no_builtin_flag=$lt_no_builtin_flag
13949 -
13950 -# Compiler flag to allow reflexive dlopens.
13951 -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
13952 -
13953 -# Compiler flag to generate shared objects directly from archives.
13954 -whole_archive_flag_spec=$lt_whole_archive_flag_spec
13955 -
13956 -# Compiler flag to generate thread-safe objects.
13957 -thread_safe_flag_spec=$lt_thread_safe_flag_spec
13958 -
13959 -# Library versioning type.
13960 -version_type=$version_type
13961 -
13962 -# Format of library name prefix.
13963 -libname_spec=$lt_libname_spec
13964 -
13965 -# List of archive names.  First name is the real one, the rest are links.
13966 -# The last name is the one that the linker finds with -lNAME.
13967 -library_names_spec=$lt_library_names_spec
13968 -
13969 -# The coded name of the library, if different from the real name.
13970 -soname_spec=$lt_soname_spec
13971 -
13972 -# Commands used to build and install an old-style archive.
13973 -RANLIB=$lt_RANLIB
13974 -old_archive_cmds=$lt_old_archive_cmds
13975 -old_postinstall_cmds=$lt_old_postinstall_cmds
13976 -old_postuninstall_cmds=$lt_old_postuninstall_cmds
13977 -
13978 -# Create an old-style archive from a shared archive.
13979 -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
13980 -
13981 -# Create a temporary old-style archive to link instead of a shared archive.
13982 -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
13983 -
13984 -# Commands used to build and install a shared archive.
13985 -archive_cmds=$lt_archive_cmds
13986 -archive_expsym_cmds=$lt_archive_expsym_cmds
13987 -postinstall_cmds=$lt_postinstall_cmds
13988 -postuninstall_cmds=$lt_postuninstall_cmds
13989 -
13990 -# Commands to strip libraries.
13991 -old_striplib=$lt_old_striplib
13992 -striplib=$lt_striplib
13993 -
13994 -# Method to check whether dependent libraries are shared objects.
13995 -deplibs_check_method=$lt_deplibs_check_method
13996 -
13997 -# Command to use when deplibs_check_method == file_magic.
13998 -file_magic_cmd=$lt_file_magic_cmd
13999 -
14000 -# Flag that allows shared libraries with undefined symbols to be built.
14001 -allow_undefined_flag=$lt_allow_undefined_flag
14002 -
14003 -# Flag that forces no undefined symbols.
14004 -no_undefined_flag=$lt_no_undefined_flag
14005 -
14006 -# Commands used to finish a libtool library installation in a directory.
14007 -finish_cmds=$lt_finish_cmds
14008 -
14009 -# Same as above, but a single script fragment to be evaled but not shown.
14010 -finish_eval=$lt_finish_eval
14011 -
14012 -# Take the output of nm and produce a listing of raw symbols and C names.
14013 -global_symbol_pipe=$lt_global_symbol_pipe
14014 -
14015 -# Transform the output of nm in a proper C declaration
14016 -global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
14017 -
14018 -# Transform the output of nm in a C name address pair
14019 -global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
14020 -
14021 -# This is the shared library runtime path variable.
14022 -runpath_var=$runpath_var
14023 -
14024 -# This is the shared library path variable.
14025 -shlibpath_var=$shlibpath_var
14026 -
14027 -# Is shlibpath searched before the hard-coded library search path?
14028 -shlibpath_overrides_runpath=$shlibpath_overrides_runpath
14029 -
14030 -# How to hardcode a shared library path into an executable.
14031 -hardcode_action=$hardcode_action
14032 -
14033 -# Whether we should hardcode library paths into libraries.
14034 -hardcode_into_libs=$hardcode_into_libs
14035 -
14036 -# Flag to hardcode \$libdir into a binary during linking.
14037 -# This must work even if \$libdir does not exist.
14038 -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
14039 -
14040 -# Whether we need a single -rpath flag with a separated argument.
14041 -hardcode_libdir_separator=$lt_hardcode_libdir_separator
14042 -
14043 -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
14044 -# resulting binary.
14045 -hardcode_direct=$hardcode_direct
14046 -
14047 -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
14048 -# resulting binary.
14049 -hardcode_minus_L=$hardcode_minus_L
14050 -
14051 -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
14052 -# the resulting binary.
14053 -hardcode_shlibpath_var=$hardcode_shlibpath_var
14054 -
14055 -# Variables whose values should be saved in libtool wrapper scripts and
14056 -# restored at relink time.
14057 -variables_saved_for_relink="$variables_saved_for_relink"
14058 -
14059 -# Whether libtool must link a program against all its dependency libraries.
14060 -link_all_deplibs=$link_all_deplibs
14061 -
14062 -# Compile-time system search path for libraries
14063 -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
14064 -
14065 -# Run-time system search path for libraries
14066 -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
14067 -
14068 -# Fix the shell variable \$srcfile for the compiler.
14069 -fix_srcfile_path="$fix_srcfile_path"
14070 -
14071 -# Set to yes if exported symbols are required.
14072 -always_export_symbols=$always_export_symbols
14073 -
14074 -# The commands to list exported symbols.
14075 -export_symbols_cmds=$lt_export_symbols_cmds
14076 -
14077 -# The commands to extract the exported symbol list from a shared archive.
14078 -extract_expsyms_cmds=$lt_extract_expsyms_cmds
14079 -
14080 -# Symbols that should not be listed in the preloaded symbols.
14081 -exclude_expsyms=$lt_exclude_expsyms
14082 -
14083 -# Symbols that must always be exported.
14084 -include_expsyms=$lt_include_expsyms
14085 -
14086 -# ### END LIBTOOL CONFIG
14087 -
14088 -__EOF__
14089 -
14090 -  case $host_os in
14091 -  aix3*)
14092 -    cat <<\EOF >> "${ofile}T"
14093 -
14094 -# AIX sometimes has problems with the GCC collect2 program.  For some
14095 -# reason, if we set the COLLECT_NAMES environment variable, the problems
14096 -# vanish in a puff of smoke.
14097 -if test "X${COLLECT_NAMES+set}" != Xset; then
14098 -  COLLECT_NAMES=
14099 -  export COLLECT_NAMES
14100 -fi
14101 -EOF
14102 -    ;;
14103 -  esac
14104 -
14105 -  case $host_os in
14106 -  cygwin* | mingw* | pw32* | os2*)
14107 -    cat <<'EOF' >> "${ofile}T"
14108 -      # This is a source program that is used to create dlls on Windows
14109 -      # Don't remove nor modify the starting and closing comments
14110 -# /* ltdll.c starts here */
14111 -# #define WIN32_LEAN_AND_MEAN
14112 -# #include <windows.h>
14113 -# #undef WIN32_LEAN_AND_MEAN
14114 -# #include <stdio.h>
14115 -#
14116 -# #ifndef __CYGWIN__
14117 -# #  ifdef __CYGWIN32__
14118 -# #    define __CYGWIN__ __CYGWIN32__
14119 -# #  endif
14120 -# #endif
14121 -#
14122 -# #ifdef __cplusplus
14123 -# extern "C" {
14124 -# #endif
14125 -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
14126 -# #ifdef __cplusplus
14127 -# }
14128 -# #endif
14129 -#
14130 -# #ifdef __CYGWIN__
14131 -# #include <cygwin/cygwin_dll.h>
14132 -# DECLARE_CYGWIN_DLL( DllMain );
14133 -# #endif
14134 -# HINSTANCE __hDllInstance_base;
14135 -#
14136 -# BOOL APIENTRY
14137 -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
14138 -# {
14139 -#   __hDllInstance_base = hInst;
14140 -#   return TRUE;
14141 -# }
14142 -# /* ltdll.c ends here */
14143 -       # This is a source program that is used to create import libraries
14144 -       # on Windows for dlls which lack them. Don't remove nor modify the
14145 -       # starting and closing comments
14146 -# /* impgen.c starts here */
14147 -# /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
14148 -#
14149 -#  This file is part of GNU libtool.
14150 -#
14151 -#  This program is free software; you can redistribute it and/or modify
14152 -#  it under the terms of the GNU General Public License as published by
14153 -#  the Free Software Foundation; either version 2 of the License, or
14154 -#  (at your option) any later version.
14155 -#
14156 -#  This program is distributed in the hope that it will be useful,
14157 -#  but WITHOUT ANY WARRANTY; without even the implied warranty of
14158 -#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14159 -#  GNU General Public License for more details.
14160 -#
14161 -#  You should have received a copy of the GNU General Public License
14162 -#  along with this program; if not, write to the Free Software
14163 -#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
14164 -#  */
14165 -#
14166 -# #include <stdio.h>           /* for printf() */
14167 -# #include <unistd.h>          /* for open(), lseek(), read() */
14168 -# #include <fcntl.h>           /* for O_RDONLY, O_BINARY */
14169 -# #include <string.h>          /* for strdup() */
14170 -#
14171 -# /* O_BINARY isn't required (or even defined sometimes) under Unix */
14172 -# #ifndef O_BINARY
14173 -# #define O_BINARY 0
14174 -# #endif
14175 -#
14176 -# static unsigned int
14177 -# pe_get16 (fd, offset)
14178 -#      int fd;
14179 -#      int offset;
14180 -# {
14181 -#   unsigned char b[2];
14182 -#   lseek (fd, offset, SEEK_SET);
14183 -#   read (fd, b, 2);
14184 -#   return b[0] + (b[1]<<8);
14185 -# }
14186 -#
14187 -# static unsigned int
14188 -# pe_get32 (fd, offset)
14189 -#     int fd;
14190 -#     int offset;
14191 -# {
14192 -#   unsigned char b[4];
14193 -#   lseek (fd, offset, SEEK_SET);
14194 -#   read (fd, b, 4);
14195 -#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
14196 -# }
14197 -#
14198 -# static unsigned int
14199 -# pe_as32 (ptr)
14200 -#      void *ptr;
14201 -# {
14202 -#   unsigned char *b = ptr;
14203 -#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
14204 -# }
14205 -#
14206 -# int
14207 -# main (argc, argv)
14208 -#     int argc;
14209 -#     char *argv[];
14210 -# {
14211 -#     int dll;
14212 -#     unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
14213 -#     unsigned long export_rva, export_size, nsections, secptr, expptr;
14214 -#     unsigned long name_rvas, nexp;
14215 -#     unsigned char *expdata, *erva;
14216 -#     char *filename, *dll_name;
14217 -#
14218 -#     filename = argv[1];
14219 -#
14220 -#     dll = open(filename, O_RDONLY|O_BINARY);
14221 -#     if (dll < 1)
14222 -#      return 1;
14223 -#
14224 -#     dll_name = filename;
14225 -#
14226 -#     for (i=0; filename[i]; i++)
14227 -#      if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
14228 -#          dll_name = filename + i +1;
14229 -#
14230 -#     pe_header_offset = pe_get32 (dll, 0x3c);
14231 -#     opthdr_ofs = pe_header_offset + 4 + 20;
14232 -#     num_entries = pe_get32 (dll, opthdr_ofs + 92);
14233 -#
14234 -#     if (num_entries < 1) /* no exports */
14235 -#      return 1;
14236 -#
14237 -#     export_rva = pe_get32 (dll, opthdr_ofs + 96);
14238 -#     export_size = pe_get32 (dll, opthdr_ofs + 100);
14239 -#     nsections = pe_get16 (dll, pe_header_offset + 4 +2);
14240 -#     secptr = (pe_header_offset + 4 + 20 +
14241 -#            pe_get16 (dll, pe_header_offset + 4 + 16));
14242 -#
14243 -#     expptr = 0;
14244 -#     for (i = 0; i < nsections; i++)
14245 -#     {
14246 -#      char sname[8];
14247 -#      unsigned long secptr1 = secptr + 40 * i;
14248 -#      unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
14249 -#      unsigned long vsize = pe_get32 (dll, secptr1 + 16);
14250 -#      unsigned long fptr = pe_get32 (dll, secptr1 + 20);
14251 -#      lseek(dll, secptr1, SEEK_SET);
14252 -#      read(dll, sname, 8);
14253 -#      if (vaddr <= export_rva && vaddr+vsize > export_rva)
14254 -#      {
14255 -#          expptr = fptr + (export_rva - vaddr);
14256 -#          if (export_rva + export_size > vaddr + vsize)
14257 -#              export_size = vsize - (export_rva - vaddr);
14258 -#          break;
14259 -#      }
14260 -#     }
14261 -#
14262 -#     expdata = (unsigned char*)malloc(export_size);
14263 -#     lseek (dll, expptr, SEEK_SET);
14264 -#     read (dll, expdata, export_size);
14265 -#     erva = expdata - export_rva;
14266 -#
14267 -#     nexp = pe_as32 (expdata+24);
14268 -#     name_rvas = pe_as32 (expdata+32);
14269 -#
14270 -#     printf ("EXPORTS\n");
14271 -#     for (i = 0; i<nexp; i++)
14272 -#     {
14273 -#      unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
14274 -#      printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
14275 -#     }
14276 -#
14277 -#     return 0;
14278 -# }
14279 -# /* impgen.c ends here */
14280 -
14281 -EOF
14282 -    ;;
14283 -  esac
14284 -
14285 -  # We use sed instead of cat because bash on DJGPP gets confused if
14286 -  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
14287 -  # text mode, it properly converts lines to CR/LF.  This bash problem
14288 -  # is reportedly fixed, but why not run on old versions too?
14289 -  sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
14290 -
14291 -  mv -f "${ofile}T" "$ofile" || \
14292 -    (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
14293 -  chmod +x "$ofile"
14294 -fi
14295 -
14296 -
14297 -
14298 -
14299 -
14300 -# This can be used to rebuild libtool when needed
14301 -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
14302 -
14303 -# Always use our own libtool.
14304 -LIBTOOL='$(SHELL) $(top_builddir)/libtool'
14305 -
14306 -# Prevent multiple expansion
14307 -
14308 -
14309 -
14310 -
14311 -# Check whether --with-target-subdir or --without-target-subdir was given.
14312 -if test "${with_target_subdir+set}" = set; then
14313 -  withval="$with_target_subdir"
14314 -  
14315 -fi; 
14316 -
14317 -# Check whether --with-cross-host or --without-cross-host was given.
14318 -if test "${with_cross_host+set}" = set; then
14319 -  withval="$with_cross_host"
14320 -  
14321 -fi; 
14322 -
14323 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
14324 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
14325 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
14326 -if test "${enable_maintainer_mode+set}" = set; then
14327 -  enableval="$enable_maintainer_mode"
14328 -  USE_MAINTAINER_MODE=$enableval
14329 -else
14330 -  USE_MAINTAINER_MODE=no
14331 -fi; 
14332 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
14333 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
14334 -  
14335 -
14336 -if test $USE_MAINTAINER_MODE = yes; then
14337 -  MAINTAINER_MODE_TRUE=
14338 -  MAINTAINER_MODE_FALSE='#'
14339 -else
14340 -  MAINTAINER_MODE_TRUE='#'
14341 -  MAINTAINER_MODE_FALSE=
14342 -fi
14343 -
14344 -  MAINT=$MAINTAINER_MODE_TRUE
14345 -  
14346 -
14347 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
14348 -# it is actually a problem, because the compiler we're passed can't
14349 -# necessarily do a full link.  So we fool automake here.
14350 -if false; then
14351 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
14352 -  # to nothing, so nothing would remain between `then' and `fi' if it
14353 -  # were not for the `:' below.
14354 -  :
14355 -  
14356 -fi
14357 -
14358 -echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
14359 -echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
14360 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
14361 -if test -z "$THREADS"; then
14362 -   THREADS=no
14363 -fi
14364 -echo "$as_me:$LINENO: result: $THREADS" >&5
14365 -echo "${ECHO_T}$THREADS" >&6
14366 -
14367 -# Check whether --enable-parallel-mark or --disable-parallel-mark was given.
14368 -if test "${enable_parallel_mark+set}" = set; then
14369 -  enableval="$enable_parallel_mark"
14370 -  case "$THREADS" in
14371 -      no | none | single)
14372 -       { { echo "$as_me:$LINENO: error: Parallel mark requires --enable-threads=x spec" >&5
14373 -echo "$as_me: error: Parallel mark requires --enable-threads=x spec" >&2;}
14374 -   { (exit 1); exit 1; }; }
14375 -       ;;
14376 -    esac
14377 -
14378 -fi; 
14379 -
14380 -INCLUDES=-I${srcdir}/include
14381 -THREADLIBS=
14382 -case "$THREADS" in
14383 - no | none | single)
14384 -    THREADS=none
14385 -    ;;
14386 - posix | pthreads)
14387 -    THREADS=posix
14388 -    THREADLIBS=-lpthread
14389 -    case "$host" in
14390 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
14391 -       cat >>confdefs.h <<\_ACEOF
14392 -@%:@define GC_LINUX_THREADS 1
14393 -_ACEOF
14394 -
14395 -       cat >>confdefs.h <<\_ACEOF
14396 -@%:@define _REENTRANT 1
14397 -_ACEOF
14398 -
14399 -        if test "${enable_parallel_mark}"; then
14400 -         cat >>confdefs.h <<\_ACEOF
14401 -@%:@define PARALLEL_MARK 1
14402 -_ACEOF
14403 -
14404 -       fi
14405 -       cat >>confdefs.h <<\_ACEOF
14406 -@%:@define THREAD_LOCAL_ALLOC 1
14407 -_ACEOF
14408 -
14409 -       ;;
14410 -     *-*-linux*)
14411 -       cat >>confdefs.h <<\_ACEOF
14412 -@%:@define GC_LINUX_THREADS 1
14413 -_ACEOF
14414 -
14415 -       cat >>confdefs.h <<\_ACEOF
14416 -@%:@define _REENTRANT 1
14417 -_ACEOF
14418 -
14419 -       ;;
14420 -     *-*-hpux*)
14421 -       { echo "$as_me:$LINENO: WARNING: \"Only HP/UX 11 threads are supported.\"" >&5
14422 -echo "$as_me: WARNING: \"Only HP/UX 11 threads are supported.\"" >&2;}
14423 -       cat >>confdefs.h <<\_ACEOF
14424 -@%:@define GC_HPUX_THREADS 1
14425 -_ACEOF
14426 -
14427 -       cat >>confdefs.h <<\_ACEOF
14428 -@%:@define _POSIX_C_SOURCE 199506L
14429 -_ACEOF
14430 -
14431 -       if test "${enable_parallel_mark}" = yes; then
14432 -         cat >>confdefs.h <<\_ACEOF
14433 -@%:@define PARALLEL_MARK 1
14434 -_ACEOF
14435 -
14436 -       fi
14437 -       cat >>confdefs.h <<\_ACEOF
14438 -@%:@define THREAD_LOCAL_ALLOC 1
14439 -_ACEOF
14440 -
14441 -       THREADLIBS="-lpthread -lrt"
14442 -       ;;
14443 -     *-*-freebsd*)
14444 -       { echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
14445 -echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
14446 -       cat >>confdefs.h <<\_ACEOF
14447 -@%:@define GC_FREEBSD_THREADS 1
14448 -_ACEOF
14449 -
14450 -       INCLUDES="$INCLUDES -pthread"
14451 -       THREADLIBS=-pthread
14452 -       ;;
14453 -     *-*-solaris*)
14454 -       cat >>confdefs.h <<\_ACEOF
14455 -@%:@define GC_SOLARIS_THREADS 1
14456 -_ACEOF
14457 -
14458 -       cat >>confdefs.h <<\_ACEOF
14459 -@%:@define GC_SOLARIS_PTHREADS 1
14460 -_ACEOF
14461 -
14462 -       ;;
14463 -     *-*-irix*)
14464 -       cat >>confdefs.h <<\_ACEOF
14465 -@%:@define GC_IRIX_THREADS 1
14466 -_ACEOF
14467 -
14468 -       ;;
14469 -     *-*-cygwin*)
14470 -       THREADLIBS=
14471 -       ;;
14472 -     *-*-darwin*)
14473 -       cat >>confdefs.h <<\_ACEOF
14474 -@%:@define GC_DARWIN_THREADS 1
14475 -_ACEOF
14476 -
14477 -       cat >>confdefs.h <<\_ACEOF
14478 -@%:@define THREAD_LOCAL_ALLOC 1
14479 -_ACEOF
14480 -
14481 -       if test "${enable_parallel_mark}" = yes; then
14482 -         cat >>confdefs.h <<\_ACEOF
14483 -@%:@define PARALLEL_MARK 1
14484 -_ACEOF
14485 -
14486 -       fi
14487 -       ;;
14488 -    esac
14489 -    ;;
14490 - win32)
14491 -    cat >>confdefs.h <<\_ACEOF
14492 -@%:@define GC_WIN32_THREADS 1
14493 -_ACEOF
14494 -
14495 -    cat >>confdefs.h <<\_ACEOF
14496 -@%:@define NO_GETENV 1
14497 -_ACEOF
14498 -
14499 -    ;;
14500 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
14501 -    { { echo "$as_me:$LINENO: error: thread package $THREADS not yet supported" >&5
14502 -echo "$as_me: error: thread package $THREADS not yet supported" >&2;}
14503 -   { (exit 1); exit 1; }; }
14504 -    ;;
14505 - *)
14506 -    { { echo "$as_me:$LINENO: error: $THREADS is an unknown thread package" >&5
14507 -echo "$as_me: error: $THREADS is an unknown thread package" >&2;}
14508 -   { (exit 1); exit 1; }; }
14509 -    ;;
14510 -esac
14511 -
14512 -
14513 -case "$host" in 
14514 -   powerpc-*-darwin*)
14515 -      powerpc_darwin=true
14516 -      ;;
14517 -esac
14518 -
14519 -
14520 -if test x$powerpc_darwin = xtrue; then
14521 -  POWERPC_DARWIN_TRUE=
14522 -  POWERPC_DARWIN_FALSE='#'
14523 -else
14524 -  POWERPC_DARWIN_TRUE='#'
14525 -  POWERPC_DARWIN_FALSE=
14526 -fi
14527 -
14528 -
14529 -# We never want libdl on darwin. It is a fake libdl that just ends up making
14530 -# dyld calls anyway
14531 -case "$host" in
14532 -  *-*-darwin*) ;;
14533 -  *) 
14534 -    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
14535 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
14536 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
14537 -  echo $ECHO_N "(cached) $ECHO_C" >&6
14538 -else
14539 -  ac_check_lib_save_LIBS=$LIBS
14540 -LIBS="-ldl  $LIBS"
14541 -cat >conftest.$ac_ext <<_ACEOF
14542 -#line $LINENO "configure"
14543 -#include "confdefs.h"
14544 -
14545 -/* Override any gcc2 internal prototype to avoid an error.  */
14546 -#ifdef __cplusplus
14547 -extern "C"
14548 -#endif
14549 -/* We use char because int might match the return type of a gcc2
14550 -   builtin and then its argument prototype would still apply.  */
14551 -char dlopen ();
14552 -int
14553 -main ()
14554 -{
14555 -dlopen ();
14556 -  ;
14557 -  return 0;
14558 -}
14559 -_ACEOF
14560 -rm -f conftest.$ac_objext conftest$ac_exeext
14561 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
14562 -  (eval $ac_link) 2>&5
14563 -  ac_status=$?
14564 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
14565 -  (exit $ac_status); } &&
14566 -         { ac_try='test -s conftest$ac_exeext'
14567 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
14568 -  (eval $ac_try) 2>&5
14569 -  ac_status=$?
14570 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
14571 -  (exit $ac_status); }; }; then
14572 -  ac_cv_lib_dl_dlopen=yes
14573 -else
14574 -  echo "$as_me: failed program was:" >&5
14575 -cat conftest.$ac_ext >&5
14576 -ac_cv_lib_dl_dlopen=no
14577 -fi
14578 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
14579 -LIBS=$ac_check_lib_save_LIBS
14580 -fi
14581 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
14582 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
14583 -if test $ac_cv_lib_dl_dlopen = yes; then
14584 -  EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"
14585 -fi
14586 -
14587 -    ;;
14588 -esac
14589 -
14590 -
14591 -
14592 -target_all=libgcjgc.la
14593 -
14594 -
14595 -
14596 -TARGET_ECOS="no"
14597 -
14598 -# Check whether --with-ecos or --without-ecos was given.
14599 -if test "${with_ecos+set}" = set; then
14600 -  withval="$with_ecos"
14601 -  TARGET_ECOS="$with_ecos"
14602 -
14603 -fi; 
14604 -
14605 -addobjs=
14606 -CXXINCLUDES=
14607 -case "$TARGET_ECOS" in
14608 -   no)
14609 -      ;;
14610 -   *)
14611 -      cat >>confdefs.h <<\_ACEOF
14612 -@%:@define ECOS 1
14613 -_ACEOF
14614 -
14615 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
14616 -      addobjs="$addobjs ecos.lo"
14617 -      ;;
14618 -esac
14619 -
14620 -
14621 -
14622 -
14623 -
14624 -machdep=
14625 -case "$host" in
14626 - alpha*-*-openbsd*)
14627 -    machdep="alpha_mach_dep.lo"
14628 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
14629 -       { echo "$as_me:$LINENO: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&5
14630 -echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&2;}
14631 -       # Check whether --enable-shared or --disable-shared was given.
14632 -if test "${enable_shared+set}" = set; then
14633 -  enableval="$enable_shared"
14634 -  p=${PACKAGE-default}
14635 -case $enableval in
14636 -yes) enable_shared=yes ;;
14637 -no) enable_shared=no ;;
14638 -*)
14639 -  enable_shared=no
14640 -  # Look at the argument we got.  We use all the common list separators.
14641 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
14642 -  for pkg in $enableval; do
14643 -    if test "X$pkg" = "X$p"; then
14644 -      enable_shared=yes
14645 -    fi
14646 -  done
14647 -  IFS="$ac_save_ifs"
14648 -  ;;
14649 -esac
14650 -else
14651 -  enable_shared=no
14652 -fi; 
14653 -    fi
14654 -    ;;
14655 - alpha*-*-*)
14656 -    machdep="alpha_mach_dep.lo"
14657 -    ;;
14658 - i?86-*-solaris2.[89]*)
14659 -    cat >>confdefs.h <<\_ACEOF
14660 -@%:@define SOLARIS25_PROC_VDB_BUG_FIXED 1
14661 -_ACEOF
14662 -
14663 -    ;;
14664 - mipstx39-*-elf*)
14665 -    machdep="mips_ultrix_mach_dep.lo"
14666 -    cat >>confdefs.h <<\_ACEOF
14667 -@%:@define STACKBASE __stackbase
14668 -_ACEOF
14669 -
14670 -    cat >>confdefs.h <<\_ACEOF
14671 -@%:@define DATASTART_IS_ETEXT 1
14672 -_ACEOF
14673 -
14674 -    ;;
14675 - mips-dec-ultrix*)
14676 -    machdep="mips_ultrix_mach-dep.lo"
14677 -    ;;
14678 - mips*-*-linux*)
14679 -    ;;
14680 - mips-*-*)
14681 -    machdep="mips_sgi_mach_dep.lo"
14682 -    cat >>confdefs.h <<\_ACEOF
14683 -@%:@define NO_EXECUTE_PERMISSION 1
14684 -_ACEOF
14685 -
14686 -    ;;
14687 - sparc-sun-solaris2.3*)
14688 -    machdep="sparc_mach_dep.lo"
14689 -    cat >>confdefs.h <<\_ACEOF
14690 -@%:@define SUNOS53_SHARED_LIB 1
14691 -_ACEOF
14692 -
14693 -    ;;
14694 - sparc-sun-solaris2.*)
14695 -    machdep="sparc_mach_dep.lo"
14696 -    ;;
14697 - ia64-*-*)
14698 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
14699 -    ;;
14700 -esac
14701 -if test x"$machdep" = x; then
14702 -   machdep="mach_dep.lo"
14703 -fi
14704 -addobjs="$addobjs $machdep"
14705 -
14706 -
14707 -case "$host" in
14708 - sparc-sun-solaris2*)
14709 -    if test "$GCC" = yes; then
14710 -       new_CFLAGS=
14711 -       for i in $CFLAGS; do
14712 -         case "$i" in
14713 -          -O*)
14714 -             ;;
14715 -          *)
14716 -             new_CFLAGS="$new_CFLAGS $i"
14717 -             ;;
14718 -         esac
14719 -       done
14720 -       CFLAGS="$new_CFLAGS"
14721 -    fi
14722 -    ;;
14723 -esac
14724 -
14725 -MY_CFLAGS="$CFLAGS"
14726 -
14727 -
14728 -cat >>confdefs.h <<\_ACEOF
14729 -@%:@define SILENT 1
14730 -_ACEOF
14731 -
14732 -cat >>confdefs.h <<\_ACEOF
14733 -@%:@define NO_SIGNALS 1
14734 -_ACEOF
14735 -
14736 -cat >>confdefs.h <<\_ACEOF
14737 -@%:@define NO_EXECUTE_PERMISSION 1
14738 -_ACEOF
14739 -
14740 -cat >>confdefs.h <<\_ACEOF
14741 -@%:@define ALL_INTERIOR_POINTERS 1
14742 -_ACEOF
14743 -
14744 -
14745 -cat >>confdefs.h <<\_ACEOF
14746 -@%:@define JAVA_FINALIZATION 1
14747 -_ACEOF
14748 -
14749 -cat >>confdefs.h <<\_ACEOF
14750 -@%:@define GC_GCJ_SUPPORT 1
14751 -_ACEOF
14752 -
14753 -cat >>confdefs.h <<\_ACEOF
14754 -@%:@define ATOMIC_UNCOLLECTABLE 1
14755 -_ACEOF
14756 -
14757 -
14758 -if test -n "${with_cross_host}"; then
14759 -   cat >>confdefs.h <<\_ACEOF
14760 -@%:@define NO_SIGSET 1
14761 -_ACEOF
14762 -
14763 -   cat >>confdefs.h <<\_ACEOF
14764 -@%:@define NO_DEBUGGING 1
14765 -_ACEOF
14766 -
14767 -fi
14768 -
14769 -# Check whether --enable-full-debug or --disable-full-debug was given.
14770 -if test "${enable_full_debug+set}" = set; then
14771 -  enableval="$enable_full_debug"
14772 -   if test "$enable_full_debug" = "yes"; then
14773 -    { echo "$as_me:$LINENO: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&5
14774 -echo "$as_me: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&2;}
14775 -    cat >>confdefs.h <<\_ACEOF
14776 -@%:@define KEEP_BACK_PTRS 1
14777 -_ACEOF
14778 -
14779 -    cat >>confdefs.h <<\_ACEOF
14780 -@%:@define DBG_HDRS_ALL 1
14781 -_ACEOF
14782 -
14783 -    case $host in
14784 -      ia64-*-linux* )
14785 -       cat >>confdefs.h <<\_ACEOF
14786 -@%:@define MAKE_BACK_GRAPH 1
14787 -_ACEOF
14788 -
14789 -      ;;
14790 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
14791 -       cat >>confdefs.h <<\_ACEOF
14792 -@%:@define MAKE_BACK_GRAPH 1
14793 -_ACEOF
14794 -
14795 -       { echo "$as_me:$LINENO: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
14796 -echo "$as_me: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&2;}
14797 -       cat >>confdefs.h <<\_ACEOF
14798 -@%:@define SAVE_CALL_COUNT 8
14799 -_ACEOF
14800 -
14801 -      ;;
14802 -    esac 
14803 -  fi
14804 -fi; 
14805 -
14806 -
14807 -
14808 -if test -z "$with_cross_host"; then
14809 -  USE_LIBDIR_TRUE=
14810 -  USE_LIBDIR_FALSE='#'
14811 -else
14812 -  USE_LIBDIR_TRUE='#'
14813 -  USE_LIBDIR_FALSE=
14814 -fi
14815 -
14816 -
14817 -if test "${multilib}" = "yes"; then
14818 -  multilib_arg="--enable-multilib"
14819 -else
14820 -  multilib_arg=
14821 -fi
14822 -
14823 -                    ac_config_files="$ac_config_files Makefile include/Makefile"
14824 -          ac_config_commands="$ac_config_commands default"
14825 -cat >confcache <<\_ACEOF
14826 -# This file is a shell script that caches the results of configure
14827 -# tests run on this system so they can be shared between configure
14828 -# scripts and configure runs, see configure's option --config-cache.
14829 -# It is not useful on other systems.  If it contains results you don't
14830 -# want to keep, you may remove or edit it.
14831 -#
14832 -# config.status only pays attention to the cache file if you give it
14833 -# the --recheck option to rerun configure.
14834 -#
14835 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
14836 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
14837 -# following values.
14838 -
14839 -_ACEOF
14840 -
14841 -# The following way of writing the cache mishandles newlines in values,
14842 -# but we know of no workaround that is simple, portable, and efficient.
14843 -# So, don't put newlines in cache variables' values.
14844 -# Ultrix sh set writes to stderr and can't be redirected directly,
14845 -# and sets the high bit in the cache file unless we assign to the vars.
14846 -{
14847 -  (set) 2>&1 |
14848 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
14849 -    *ac_space=\ *)
14850 -      # `set' does not quote correctly, so add quotes (double-quote
14851 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
14852 -      sed -n \
14853 -        "s/'/'\\\\''/g;
14854 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
14855 -      ;;
14856 -    *)
14857 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
14858 -      sed -n \
14859 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
14860 -      ;;
14861 -    esac;
14862 -} |
14863 -  sed '
14864 -     t clear
14865 -     : clear
14866 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
14867 -     t end
14868 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
14869 -     : end' >>confcache
14870 -if cmp -s $cache_file confcache; then :; else
14871 -  if test -w $cache_file; then
14872 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
14873 -    cat confcache >$cache_file
14874 -  else
14875 -    echo "not updating unwritable cache $cache_file"
14876 -  fi
14877 -fi
14878 -rm -f confcache
14879 -
14880 -test "x$prefix" = xNONE && prefix=$ac_default_prefix
14881 -# Let make expand exec_prefix.
14882 -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
14883 -
14884 -# VPATH may cause trouble with some makes, so we remove $(srcdir),
14885 -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
14886 -# trailing colons and then remove the whole line if VPATH becomes empty
14887 -# (actually we leave an empty line to preserve line numbers).
14888 -if test "x$srcdir" = x.; then
14889 -  ac_vpsub='/^[        ]*VPATH[        ]*=/{
14890 -s/:*\$(srcdir):*/:/;
14891 -s/:*\${srcdir}:*/:/;
14892 -s/:*@srcdir@:*/:/;
14893 -s/^\([^=]*=[   ]*\):*/\1/;
14894 -s/:*$//;
14895 -s/^[^=]*=[     ]*$//;
14896 -}'
14897 -fi
14898 -
14899 -# Transform confdefs.h into DEFS.
14900 -# Protect against shell expansion while executing Makefile rules.
14901 -# Protect against Makefile macro expansion.
14902 -#
14903 -# If the first sed substitution is executed (which looks for macros that
14904 -# take arguments), then we branch to the quote section.  Otherwise,
14905 -# look for a macro that doesn't take arguments.
14906 -cat >confdef2opt.sed <<\_ACEOF
14907 -t clear
14908 -: clear
14909 -s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\),-D\1=\2,g
14910 -t quote
14911 -s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\),-D\1=\2,g
14912 -t quote
14913 -d
14914 -: quote
14915 -s,[    `~#$^&*(){}\\|;'"<>?],\\&,g
14916 -s,\[,\\&,g
14917 -s,\],\\&,g
14918 -s,\$,$$,g
14919 -p
14920 -_ACEOF
14921 -# We use echo to avoid assuming a particular line-breaking character.
14922 -# The extra dot is to prevent the shell from consuming trailing
14923 -# line-breaks from the sub-command output.  A line-break within
14924 -# single-quotes doesn't work because, if this script is created in a
14925 -# platform that uses two characters for line-breaks (e.g., DOS), tr
14926 -# would break.
14927 -ac_LF_and_DOT=`echo; echo .`
14928 -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
14929 -rm -f confdef2opt.sed
14930 -
14931 -
14932 -ac_libobjs=
14933 -ac_ltlibobjs=
14934 -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
14935 -  # 1. Remove the extension, and $U if already installed.
14936 -  ac_i=`echo "$ac_i" |
14937 -         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
14938 -  # 2. Add them.
14939 -  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
14940 -  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
14941 -done
14942 -LIB@&t@OBJS=$ac_libobjs
14943 -
14944 -LTLIBOBJS=$ac_ltlibobjs
14945 -
14946 -
14947 -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
14948 -  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
14949 -Usually this means the macro was only invoked conditionally." >&5
14950 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
14951 -Usually this means the macro was only invoked conditionally." >&2;}
14952 -   { (exit 1); exit 1; }; }
14953 -fi
14954 -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
14955 -  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
14956 -Usually this means the macro was only invoked conditionally." >&5
14957 -echo "$as_me: error: conditional \"AMDEP\" was never defined.
14958 -Usually this means the macro was only invoked conditionally." >&2;}
14959 -   { (exit 1); exit 1; }; }
14960 -fi
14961 -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
14962 -  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
14963 -Usually this means the macro was only invoked conditionally." >&5
14964 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
14965 -Usually this means the macro was only invoked conditionally." >&2;}
14966 -   { (exit 1); exit 1; }; }
14967 -fi
14968 -if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
14969 -  { { echo "$as_me:$LINENO: error: conditional \"POWERPC_DARWIN\" was never defined.
14970 -Usually this means the macro was only invoked conditionally." >&5
14971 -echo "$as_me: error: conditional \"POWERPC_DARWIN\" was never defined.
14972 -Usually this means the macro was only invoked conditionally." >&2;}
14973 -   { (exit 1); exit 1; }; }
14974 -fi
14975 -if test -z "${USE_LIBDIR_TRUE}" && test -z "${USE_LIBDIR_FALSE}"; then
14976 -  { { echo "$as_me:$LINENO: error: conditional \"USE_LIBDIR\" was never defined.
14977 -Usually this means the macro was only invoked conditionally." >&5
14978 -echo "$as_me: error: conditional \"USE_LIBDIR\" was never defined.
14979 -Usually this means the macro was only invoked conditionally." >&2;}
14980 -   { (exit 1); exit 1; }; }
14981 -fi
14982 -
14983 -: ${CONFIG_STATUS=./config.status}
14984 -ac_clean_files_save=$ac_clean_files
14985 -ac_clean_files="$ac_clean_files $CONFIG_STATUS"
14986 -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
14987 -echo "$as_me: creating $CONFIG_STATUS" >&6;}
14988 -cat >$CONFIG_STATUS <<_ACEOF
14989 -#! $SHELL
14990 -# Generated by $as_me.
14991 -# Run this file to recreate the current configuration.
14992 -# Compiler output produced by configure, useful for debugging
14993 -# configure, is in config.log if it exists.
14994 -
14995 -debug=false
14996 -SHELL=\${CONFIG_SHELL-$SHELL}
14997 -_ACEOF
14998 -
14999 -cat >>$CONFIG_STATUS <<\_ACEOF
15000 -## --------------------- ##
15001 -## M4sh Initialization.  ##
15002 -## --------------------- ##
15003 -
15004 -# Be Bourne compatible
15005 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
15006 -  emulate sh
15007 -  NULLCMD=:
15008 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
15009 -  # is contrary to our usage.  Disable this feature.
15010 -  alias -g '${1+"$@"}'='"$@"'
15011 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
15012 -  set -o posix
15013 -fi
15014 -
15015 -# Support unset when possible.
15016 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
15017 -  as_unset=unset
15018 -else
15019 -  as_unset=false
15020 -fi
15021 -
15022 -
15023 -# Work around bugs in pre-3.0 UWIN ksh.
15024 -$as_unset ENV MAIL MAILPATH
15025 -PS1='$ '
15026 -PS2='> '
15027 -PS4='+ '
15028 -
15029 -# NLS nuisances.
15030 -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
15031 -do
15032 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
15033 -    eval $as_var=C; export $as_var
15034 -  else
15035 -    $as_unset $as_var
15036 -  fi
15037 -done
15038 -
15039 -# Required to use basename.
15040 -if expr a : '\(a\)' >/dev/null 2>&1; then
15041 -  as_expr=expr
15042 -else
15043 -  as_expr=false
15044 -fi
15045 -
15046 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
15047 -  as_basename=basename
15048 -else
15049 -  as_basename=false
15050 -fi
15051 -
15052 -
15053 -# Name of the executable.
15054 -as_me=`$as_basename "$0" ||
15055 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
15056 -        X"$0" : 'X\(//\)$' \| \
15057 -        X"$0" : 'X\(/\)$' \| \
15058 -        .     : '\(.\)' 2>/dev/null ||
15059 -echo X/"$0" |
15060 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
15061 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
15062 -         /^X\/\(\/\).*/{ s//\1/; q; }
15063 -         s/.*/./; q'`
15064 -
15065 -
15066 -# PATH needs CR, and LINENO needs CR and PATH.
15067 -# Avoid depending upon Character Ranges.
15068 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
15069 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
15070 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
15071 -as_cr_digits='0123456789'
15072 -as_cr_alnum=$as_cr_Letters$as_cr_digits
15073 -
15074 -# The user is always right.
15075 -if test "${PATH_SEPARATOR+set}" != set; then
15076 -  echo "#! /bin/sh" >conftest.sh
15077 -  echo  "exit 0"   >>conftest.sh
15078 -  chmod +x conftest.sh
15079 -  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
15080 -    PATH_SEPARATOR=';'
15081 -  else
15082 -    PATH_SEPARATOR=:
15083 -  fi
15084 -  rm -f conftest.sh
15085 -fi
15086 -
15087 -
15088 -  as_lineno_1=$LINENO
15089 -  as_lineno_2=$LINENO
15090 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
15091 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
15092 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
15093 -  # Find who we are.  Look in the path if we contain no path at all
15094 -  # relative or not.
15095 -  case $0 in
15096 -    *[\\/]* ) as_myself=$0 ;;
15097 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15098 -for as_dir in $PATH
15099 -do
15100 -  IFS=$as_save_IFS
15101 -  test -z "$as_dir" && as_dir=.
15102 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
15103 -done
15104 -
15105 -       ;;
15106 -  esac
15107 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
15108 -  # in which case we are not to be found in the path.
15109 -  if test "x$as_myself" = x; then
15110 -    as_myself=$0
15111 -  fi
15112 -  if test ! -f "$as_myself"; then
15113 -    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
15114 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
15115 -   { (exit 1); exit 1; }; }
15116 -  fi
15117 -  case $CONFIG_SHELL in
15118 -  '')
15119 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15120 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
15121 -do
15122 -  IFS=$as_save_IFS
15123 -  test -z "$as_dir" && as_dir=.
15124 -  for as_base in sh bash ksh sh5; do
15125 -        case $as_dir in
15126 -        /*)
15127 -          if ("$as_dir/$as_base" -c '
15128 -  as_lineno_1=$LINENO
15129 -  as_lineno_2=$LINENO
15130 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
15131 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
15132 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
15133 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
15134 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
15135 -            CONFIG_SHELL=$as_dir/$as_base
15136 -            export CONFIG_SHELL
15137 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
15138 -          fi;;
15139 -        esac
15140 -       done
15141 -done
15142 -;;
15143 -  esac
15144 -
15145 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
15146 -  # uniformly replaced by the line number.  The first 'sed' inserts a
15147 -  # line-number line before each line; the second 'sed' does the real
15148 -  # work.  The second script uses 'N' to pair each line-number line
15149 -  # with the numbered line, and appends trailing '-' during
15150 -  # substitution so that $LINENO is not a special case at line end.
15151 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
15152 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
15153 -  sed '=' <$as_myself |
15154 -    sed '
15155 -      N
15156 -      s,$,-,
15157 -      : loop
15158 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
15159 -      t loop
15160 -      s,-$,,
15161 -      s,^['$as_cr_digits']*\n,,
15162 -    ' >$as_me.lineno &&
15163 -  chmod +x $as_me.lineno ||
15164 -    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
15165 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
15166 -   { (exit 1); exit 1; }; }
15167 -
15168 -  # Don't try to exec as it changes $[0], causing all sort of problems
15169 -  # (the dirname of $[0] is not the place where we might find the
15170 -  # original and so on.  Autoconf is especially sensible to this).
15171 -  . ./$as_me.lineno
15172 -  # Exit status is that of the last command.
15173 -  exit
15174 -}
15175 -
15176 -
15177 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
15178 -  *c*,-n*) ECHO_N= ECHO_C='
15179 -' ECHO_T='     ' ;;
15180 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
15181 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
15182 -esac
15183 -
15184 -if expr a : '\(a\)' >/dev/null 2>&1; then
15185 -  as_expr=expr
15186 -else
15187 -  as_expr=false
15188 -fi
15189 -
15190 -rm -f conf$$ conf$$.exe conf$$.file
15191 -echo >conf$$.file
15192 -if ln -s conf$$.file conf$$ 2>/dev/null; then
15193 -  # We could just check for DJGPP; but this test a) works b) is more generic
15194 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
15195 -  if test -f conf$$.exe; then
15196 -    # Don't use ln at all; we don't have any links
15197 -    as_ln_s='cp -p'
15198 -  else
15199 -    as_ln_s='ln -s'
15200 -  fi
15201 -elif ln conf$$.file conf$$ 2>/dev/null; then
15202 -  as_ln_s=ln
15203 -else
15204 -  as_ln_s='cp -p'
15205 -fi
15206 -rm -f conf$$ conf$$.exe conf$$.file
15207 -
15208 -if mkdir -p . 2>/dev/null; then
15209 -  as_mkdir_p=:
15210 -else
15211 -  as_mkdir_p=false
15212 -fi
15213 -
15214 -as_executable_p="test -f"
15215 -
15216 -# Sed expression to map a string onto a valid CPP name.
15217 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
15218 -
15219 -# Sed expression to map a string onto a valid variable name.
15220 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
15221 -
15222 -
15223 -# IFS
15224 -# We need space, tab and new line, in precisely that order.
15225 -as_nl='
15226 -'
15227 -IFS="  $as_nl"
15228 -
15229 -# CDPATH.
15230 -$as_unset CDPATH
15231 -
15232 -exec 6>&1
15233 -
15234 -# Open the log real soon, to keep \$[0] and so on meaningful, and to
15235 -# report actual input values of CONFIG_FILES etc. instead of their
15236 -# values after options handling.  Logging --version etc. is OK.
15237 -exec 5>>config.log
15238 -{
15239 -  echo
15240 -  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
15241 -@%:@@%:@ Running $as_me. @%:@@%:@
15242 -_ASBOX
15243 -} >&5
15244 -cat >&5 <<_CSEOF
15245 -
15246 -This file was extended by $as_me, which was
15247 -generated by GNU Autoconf 2.54.  Invocation command line was
15248 -
15249 -  CONFIG_FILES    = $CONFIG_FILES
15250 -  CONFIG_HEADERS  = $CONFIG_HEADERS
15251 -  CONFIG_LINKS    = $CONFIG_LINKS
15252 -  CONFIG_COMMANDS = $CONFIG_COMMANDS
15253 -  $ $0 $@
15254 -
15255 -_CSEOF
15256 -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
15257 -echo >&5
15258 -_ACEOF
15259 -
15260 -# Files that config.status was made for.
15261 -if test -n "$ac_config_files"; then
15262 -  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
15263 -fi
15264 -
15265 -if test -n "$ac_config_headers"; then
15266 -  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
15267 -fi
15268 -
15269 -if test -n "$ac_config_links"; then
15270 -  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
15271 -fi
15272 -
15273 -if test -n "$ac_config_commands"; then
15274 -  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
15275 -fi
15276 -
15277 -cat >>$CONFIG_STATUS <<\_ACEOF
15278 -
15279 -ac_cs_usage="\
15280 -\`$as_me' instantiates files from templates according to the
15281 -current configuration.
15282 -
15283 -Usage: $0 [OPTIONS] [FILE]...
15284 -
15285 -  -h, --help       print this help, then exit
15286 -  -V, --version    print version number, then exit
15287 -  -d, --debug      don't remove temporary files
15288 -      --recheck    update $as_me by reconfiguring in the same conditions
15289 -  --file=FILE[:TEMPLATE]
15290 -                   instantiate the configuration file FILE
15291 -
15292 -Configuration files:
15293 -$config_files
15294 -
15295 -Configuration commands:
15296 -$config_commands
15297 -
15298 -Report bugs to <bug-autoconf@gnu.org>."
15299 -_ACEOF
15300 -
15301 -cat >>$CONFIG_STATUS <<_ACEOF
15302 -ac_cs_version="\\
15303 -config.status
15304 -configured by $0, generated by GNU Autoconf 2.54,
15305 -  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
15306 -
15307 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
15308 -Free Software Foundation, Inc.
15309 -This config.status script is free software; the Free Software Foundation
15310 -gives unlimited permission to copy, distribute and modify it."
15311 -srcdir=$srcdir
15312 -INSTALL="$INSTALL"
15313 -_ACEOF
15314 -
15315 -cat >>$CONFIG_STATUS <<\_ACEOF
15316 -# If no file are specified by the user, then we need to provide default
15317 -# value.  By we need to know if files were specified by the user.
15318 -ac_need_defaults=:
15319 -while test $# != 0
15320 -do
15321 -  case $1 in
15322 -  --*=*)
15323 -    ac_option=`expr "x$1" : 'x\([^=]*\)='`
15324 -    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
15325 -    ac_shift=:
15326 -    ;;
15327 -  -*)
15328 -    ac_option=$1
15329 -    ac_optarg=$2
15330 -    ac_shift=shift
15331 -    ;;
15332 -  *) # This is not an option, so the user has probably given explicit
15333 -     # arguments.
15334 -     ac_option=$1
15335 -     ac_need_defaults=false;;
15336 -  esac
15337 -
15338 -  case $ac_option in
15339 -  # Handling of the options.
15340 -_ACEOF
15341 -cat >>$CONFIG_STATUS <<_ACEOF
15342 -  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
15343 -    echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
15344 -    exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
15345 -_ACEOF
15346 -cat >>$CONFIG_STATUS <<\_ACEOF
15347 -  --version | --vers* | -V )
15348 -    echo "$ac_cs_version"; exit 0 ;;
15349 -  --he | --h)
15350 -    # Conflict between --help and --header
15351 -    { { echo "$as_me:$LINENO: error: ambiguous option: $1
15352 -Try \`$0 --help' for more information." >&5
15353 -echo "$as_me: error: ambiguous option: $1
15354 -Try \`$0 --help' for more information." >&2;}
15355 -   { (exit 1); exit 1; }; };;
15356 -  --help | --hel | -h )
15357 -    echo "$ac_cs_usage"; exit 0 ;;
15358 -  --debug | --d* | -d )
15359 -    debug=: ;;
15360 -  --file | --fil | --fi | --f )
15361 -    $ac_shift
15362 -    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
15363 -    ac_need_defaults=false;;
15364 -  --header | --heade | --head | --hea )
15365 -    $ac_shift
15366 -    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
15367 -    ac_need_defaults=false;;
15368 -
15369 -  # This is an error.
15370 -  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
15371 -Try \`$0 --help' for more information." >&5
15372 -echo "$as_me: error: unrecognized option: $1
15373 -Try \`$0 --help' for more information." >&2;}
15374 -   { (exit 1); exit 1; }; } ;;
15375 -
15376 -  *) ac_config_targets="$ac_config_targets $1" ;;
15377 -
15378 -  esac
15379 -  shift
15380 -done
15381 -
15382 -_ACEOF
15383 -
15384 -cat >>$CONFIG_STATUS <<_ACEOF
15385 -#
15386 -# INIT-COMMANDS section.
15387 -#
15388 -
15389 -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
15390 -srcdir=${srcdir}
15391 -host=${host}
15392 -target=${target}
15393 -with_multisubdir=${with_multisubdir}
15394 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
15395 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
15396 -gc_basedir=${gc_basedir}
15397 -CC="${CC}"
15398 -DEFS="$DEFS"
15399 -
15400 -
15401 -_ACEOF
15402 -
15403 -
15404 -
15405 -cat >>$CONFIG_STATUS <<\_ACEOF
15406 -for ac_config_target in $ac_config_targets
15407 -do
15408 -  case "$ac_config_target" in
15409 -  # Handling of arguments.
15410 -  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
15411 -  "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
15412 -  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
15413 -  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
15414 -  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
15415 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
15416 -   { (exit 1); exit 1; }; };;
15417 -  esac
15418 -done
15419 -
15420 -# If the user did not use the arguments to specify the items to instantiate,
15421 -# then the envvar interface is used.  Set only those that are not.
15422 -# We use the long form for the default assignment because of an extremely
15423 -# bizarre bug on SunOS 4.1.3.
15424 -if $ac_need_defaults; then
15425 -  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
15426 -  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
15427 -fi
15428 -
15429 -# Create a temporary directory, and hook for its removal unless debugging.
15430 -$debug ||
15431 -{
15432 -  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
15433 -  trap '{ (exit 1); exit 1; }' 1 2 13 15
15434 -}
15435 -
15436 -# Create a (secure) tmp directory for tmp files.
15437 -: ${TMPDIR=/tmp}
15438 -{
15439 -  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
15440 -  test -n "$tmp" && test -d "$tmp"
15441 -}  ||
15442 -{
15443 -  tmp=$TMPDIR/cs$$-$RANDOM
15444 -  (umask 077 && mkdir $tmp)
15445 -} ||
15446 -{
15447 -   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
15448 -   { (exit 1); exit 1; }
15449 -}
15450 -
15451 -_ACEOF
15452 -
15453 -cat >>$CONFIG_STATUS <<_ACEOF
15454 -
15455 -#
15456 -# CONFIG_FILES section.
15457 -#
15458 -
15459 -# No need to generate the scripts if there are no CONFIG_FILES.
15460 -# This happens for instance when ./config.status config.h
15461 -if test -n "\$CONFIG_FILES"; then
15462 -  # Protect against being on the right side of a sed subst in config.status.
15463 -  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
15464 -   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
15465 -s,@SHELL@,$SHELL,;t t
15466 -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
15467 -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
15468 -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
15469 -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
15470 -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
15471 -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
15472 -s,@exec_prefix@,$exec_prefix,;t t
15473 -s,@prefix@,$prefix,;t t
15474 -s,@program_transform_name@,$program_transform_name,;t t
15475 -s,@bindir@,$bindir,;t t
15476 -s,@sbindir@,$sbindir,;t t
15477 -s,@libexecdir@,$libexecdir,;t t
15478 -s,@datadir@,$datadir,;t t
15479 -s,@sysconfdir@,$sysconfdir,;t t
15480 -s,@sharedstatedir@,$sharedstatedir,;t t
15481 -s,@localstatedir@,$localstatedir,;t t
15482 -s,@libdir@,$libdir,;t t
15483 -s,@includedir@,$includedir,;t t
15484 -s,@oldincludedir@,$oldincludedir,;t t
15485 -s,@infodir@,$infodir,;t t
15486 -s,@mandir@,$mandir,;t t
15487 -s,@build_alias@,$build_alias,;t t
15488 -s,@host_alias@,$host_alias,;t t
15489 -s,@target_alias@,$target_alias,;t t
15490 -s,@DEFS@,$DEFS,;t t
15491 -s,@ECHO_C@,$ECHO_C,;t t
15492 -s,@ECHO_N@,$ECHO_N,;t t
15493 -s,@ECHO_T@,$ECHO_T,;t t
15494 -s,@LIBS@,$LIBS,;t t
15495 -s,@gc_basedir@,$gc_basedir,;t t
15496 -s,@build@,$build,;t t
15497 -s,@build_cpu@,$build_cpu,;t t
15498 -s,@build_vendor@,$build_vendor,;t t
15499 -s,@build_os@,$build_os,;t t
15500 -s,@host@,$host,;t t
15501 -s,@host_cpu@,$host_cpu,;t t
15502 -s,@host_vendor@,$host_vendor,;t t
15503 -s,@host_os@,$host_os,;t t
15504 -s,@target@,$target,;t t
15505 -s,@target_cpu@,$target_cpu,;t t
15506 -s,@target_vendor@,$target_vendor,;t t
15507 -s,@target_os@,$target_os,;t t
15508 -s,@mkinstalldirs@,$mkinstalldirs,;t t
15509 -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
15510 -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
15511 -s,@INSTALL_DATA@,$INSTALL_DATA,;t t
15512 -s,@PACKAGE@,$PACKAGE,;t t
15513 -s,@VERSION@,$VERSION,;t t
15514 -s,@ACLOCAL@,$ACLOCAL,;t t
15515 -s,@AUTOCONF@,$AUTOCONF,;t t
15516 -s,@AUTOMAKE@,$AUTOMAKE,;t t
15517 -s,@AUTOHEADER@,$AUTOHEADER,;t t
15518 -s,@MAKEINFO@,$MAKEINFO,;t t
15519 -s,@AMTAR@,$AMTAR,;t t
15520 -s,@install_sh@,$install_sh,;t t
15521 -s,@STRIP@,$STRIP,;t t
15522 -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
15523 -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
15524 -s,@AWK@,$AWK,;t t
15525 -s,@SET_MAKE@,$SET_MAKE,;t t
15526 -s,@AS@,$AS,;t t
15527 -s,@ac_ct_AS@,$ac_ct_AS,;t t
15528 -s,@AR@,$AR,;t t
15529 -s,@ac_ct_AR@,$ac_ct_AR,;t t
15530 -s,@RANLIB@,$RANLIB,;t t
15531 -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
15532 -s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
15533 -s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
15534 -s,@MAINT@,$MAINT,;t t
15535 -s,@GC_CFLAGS@,$GC_CFLAGS,;t t
15536 -s,@CC@,$CC,;t t
15537 -s,@CFLAGS@,$CFLAGS,;t t
15538 -s,@LDFLAGS@,$LDFLAGS,;t t
15539 -s,@CPPFLAGS@,$CPPFLAGS,;t t
15540 -s,@ac_ct_CC@,$ac_ct_CC,;t t
15541 -s,@EXEEXT@,$EXEEXT,;t t
15542 -s,@OBJEXT@,$OBJEXT,;t t
15543 -s,@DEPDIR@,$DEPDIR,;t t
15544 -s,@am__include@,$am__include,;t t
15545 -s,@am__quote@,$am__quote,;t t
15546 -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
15547 -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
15548 -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
15549 -s,@CCDEPMODE@,$CCDEPMODE,;t t
15550 -s,@LN_S@,$LN_S,;t t
15551 -s,@ECHO@,$ECHO,;t t
15552 -s,@CPP@,$CPP,;t t
15553 -s,@EGREP@,$EGREP,;t t
15554 -s,@LIBTOOL@,$LIBTOOL,;t t
15555 -s,@THREADLIBS@,$THREADLIBS,;t t
15556 -s,@POWERPC_DARWIN_TRUE@,$POWERPC_DARWIN_TRUE,;t t
15557 -s,@POWERPC_DARWIN_FALSE@,$POWERPC_DARWIN_FALSE,;t t
15558 -s,@EXTRA_TEST_LIBS@,$EXTRA_TEST_LIBS,;t t
15559 -s,@target_all@,$target_all,;t t
15560 -s,@CXX@,$CXX,;t t
15561 -s,@INCLUDES@,$INCLUDES,;t t
15562 -s,@CXXINCLUDES@,$CXXINCLUDES,;t t
15563 -s,@addobjs@,$addobjs,;t t
15564 -s,@MY_CFLAGS@,$MY_CFLAGS,;t t
15565 -s,@USE_LIBDIR_TRUE@,$USE_LIBDIR_TRUE,;t t
15566 -s,@USE_LIBDIR_FALSE@,$USE_LIBDIR_FALSE,;t t
15567 -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
15568 -s,@LTLIBOBJS@,$LTLIBOBJS,;t t
15569 -CEOF
15570 -
15571 -_ACEOF
15572 -
15573 -  cat >>$CONFIG_STATUS <<\_ACEOF
15574 -  # Split the substitutions into bite-sized pieces for seds with
15575 -  # small command number limits, like on Digital OSF/1 and HP-UX.
15576 -  ac_max_sed_lines=48
15577 -  ac_sed_frag=1 # Number of current file.
15578 -  ac_beg=1 # First line for current file.
15579 -  ac_end=$ac_max_sed_lines # Line after last line for current file.
15580 -  ac_more_lines=:
15581 -  ac_sed_cmds=
15582 -  while $ac_more_lines; do
15583 -    if test $ac_beg -gt 1; then
15584 -      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
15585 -    else
15586 -      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
15587 -    fi
15588 -    if test ! -s $tmp/subs.frag; then
15589 -      ac_more_lines=false
15590 -    else
15591 -      # The purpose of the label and of the branching condition is to
15592 -      # speed up the sed processing (if there are no `@' at all, there
15593 -      # is no need to browse any of the substitutions).
15594 -      # These are the two extra sed commands mentioned above.
15595 -      (echo ':t
15596 -  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
15597 -      if test -z "$ac_sed_cmds"; then
15598 -       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
15599 -      else
15600 -       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
15601 -      fi
15602 -      ac_sed_frag=`expr $ac_sed_frag + 1`
15603 -      ac_beg=$ac_end
15604 -      ac_end=`expr $ac_end + $ac_max_sed_lines`
15605 -    fi
15606 -  done
15607 -  if test -z "$ac_sed_cmds"; then
15608 -    ac_sed_cmds=cat
15609 -  fi
15610 -fi # test -n "$CONFIG_FILES"
15611 -
15612 -_ACEOF
15613 -cat >>$CONFIG_STATUS <<\_ACEOF
15614 -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
15615 -  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
15616 -  case $ac_file in
15617 -  - | *:- | *:-:* ) # input from stdin
15618 -        cat >$tmp/stdin
15619 -        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
15620 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
15621 -  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
15622 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
15623 -  * )   ac_file_in=$ac_file.in ;;
15624 -  esac
15625 -
15626 -  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
15627 -  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
15628 -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15629 -         X"$ac_file" : 'X\(//\)[^/]' \| \
15630 -         X"$ac_file" : 'X\(//\)$' \| \
15631 -         X"$ac_file" : 'X\(/\)' \| \
15632 -         .     : '\(.\)' 2>/dev/null ||
15633 -echo X"$ac_file" |
15634 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15635 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15636 -         /^X\(\/\/\)$/{ s//\1/; q; }
15637 -         /^X\(\/\).*/{ s//\1/; q; }
15638 -         s/.*/./; q'`
15639 -  { if $as_mkdir_p; then
15640 -    mkdir -p "$ac_dir"
15641 -  else
15642 -    as_dir="$ac_dir"
15643 -    as_dirs=
15644 -    while test ! -d "$as_dir"; do
15645 -      as_dirs="$as_dir $as_dirs"
15646 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
15647 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15648 -         X"$as_dir" : 'X\(//\)[^/]' \| \
15649 -         X"$as_dir" : 'X\(//\)$' \| \
15650 -         X"$as_dir" : 'X\(/\)' \| \
15651 -         .     : '\(.\)' 2>/dev/null ||
15652 -echo X"$as_dir" |
15653 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15654 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15655 -         /^X\(\/\/\)$/{ s//\1/; q; }
15656 -         /^X\(\/\).*/{ s//\1/; q; }
15657 -         s/.*/./; q'`
15658 -    done
15659 -    test ! -n "$as_dirs" || mkdir $as_dirs
15660 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
15661 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
15662 -   { (exit 1); exit 1; }; }; }
15663 -
15664 -  ac_builddir=.
15665 -
15666 -if test "$ac_dir" != .; then
15667 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
15668 -  # A "../" for each directory in $ac_dir_suffix.
15669 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
15670 -else
15671 -  ac_dir_suffix= ac_top_builddir=
15672 -fi
15673 -
15674 -case $srcdir in
15675 -  .)  # No --srcdir option.  We are building in place.
15676 -    ac_srcdir=.
15677 -    if test -z "$ac_top_builddir"; then
15678 -       ac_top_srcdir=.
15679 -    else
15680 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
15681 -    fi ;;
15682 -  [\\/]* | ?:[\\/]* )  # Absolute path.
15683 -    ac_srcdir=$srcdir$ac_dir_suffix;
15684 -    ac_top_srcdir=$srcdir ;;
15685 -  *) # Relative path.
15686 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
15687 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
15688 -esac
15689 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
15690 -# absolute.
15691 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
15692 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
15693 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
15694 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
15695 -
15696 -
15697 -  case $INSTALL in
15698 -  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
15699 -  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
15700 -  esac
15701 -
15702 -  if test x"$ac_file" != x-; then
15703 -    { echo "$as_me:$LINENO: creating $ac_file" >&5
15704 -echo "$as_me: creating $ac_file" >&6;}
15705 -    rm -f "$ac_file"
15706 -  fi
15707 -  # Let's still pretend it is `configure' which instantiates (i.e., don't
15708 -  # use $as_me), people would be surprised to read:
15709 -  #    /* config.h.  Generated by config.status.  */
15710 -  if test x"$ac_file" = x-; then
15711 -    configure_input=
15712 -  else
15713 -    configure_input="$ac_file.  "
15714 -  fi
15715 -  configure_input=$configure_input"Generated from `echo $ac_file_in |
15716 -                                     sed 's,.*/,,'` by configure."
15717 -
15718 -  # First look for the input files in the build tree, otherwise in the
15719 -  # src tree.
15720 -  ac_file_inputs=`IFS=:
15721 -    for f in $ac_file_in; do
15722 -      case $f in
15723 -      -) echo $tmp/stdin ;;
15724 -      [\\/$]*)
15725 -         # Absolute (can't be DOS-style, as IFS=:)
15726 -         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
15727 -echo "$as_me: error: cannot find input file: $f" >&2;}
15728 -   { (exit 1); exit 1; }; }
15729 -         echo $f;;
15730 -      *) # Relative
15731 -         if test -f "$f"; then
15732 -           # Build tree
15733 -           echo $f
15734 -         elif test -f "$srcdir/$f"; then
15735 -           # Source tree
15736 -           echo $srcdir/$f
15737 -         else
15738 -           # /dev/null tree
15739 -           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
15740 -echo "$as_me: error: cannot find input file: $f" >&2;}
15741 -   { (exit 1); exit 1; }; }
15742 -         fi;;
15743 -      esac
15744 -    done` || { (exit 1); exit 1; }
15745 -_ACEOF
15746 -cat >>$CONFIG_STATUS <<_ACEOF
15747 -  sed "$ac_vpsub
15748 -$extrasub
15749 -_ACEOF
15750 -cat >>$CONFIG_STATUS <<\_ACEOF
15751 -:t
15752 -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
15753 -s,@configure_input@,$configure_input,;t t
15754 -s,@srcdir@,$ac_srcdir,;t t
15755 -s,@abs_srcdir@,$ac_abs_srcdir,;t t
15756 -s,@top_srcdir@,$ac_top_srcdir,;t t
15757 -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
15758 -s,@builddir@,$ac_builddir,;t t
15759 -s,@abs_builddir@,$ac_abs_builddir,;t t
15760 -s,@top_builddir@,$ac_top_builddir,;t t
15761 -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
15762 -s,@INSTALL@,$ac_INSTALL,;t t
15763 -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
15764 -  rm -f $tmp/stdin
15765 -  if test x"$ac_file" != x-; then
15766 -    mv $tmp/out $ac_file
15767 -  else
15768 -    cat $tmp/out
15769 -    rm -f $tmp/out
15770 -  fi
15771 -
15772 -done
15773 -_ACEOF
15774 -cat >>$CONFIG_STATUS <<\_ACEOF
15775 -
15776 -#
15777 -# CONFIG_COMMANDS section.
15778 -#
15779 -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
15780 -  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
15781 -  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
15782 -  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
15783 -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15784 -         X"$ac_dest" : 'X\(//\)[^/]' \| \
15785 -         X"$ac_dest" : 'X\(//\)$' \| \
15786 -         X"$ac_dest" : 'X\(/\)' \| \
15787 -         .     : '\(.\)' 2>/dev/null ||
15788 -echo X"$ac_dest" |
15789 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15790 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15791 -         /^X\(\/\/\)$/{ s//\1/; q; }
15792 -         /^X\(\/\).*/{ s//\1/; q; }
15793 -         s/.*/./; q'`
15794 -  ac_builddir=.
15795 -
15796 -if test "$ac_dir" != .; then
15797 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
15798 -  # A "../" for each directory in $ac_dir_suffix.
15799 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
15800 -else
15801 -  ac_dir_suffix= ac_top_builddir=
15802 -fi
15803 -
15804 -case $srcdir in
15805 -  .)  # No --srcdir option.  We are building in place.
15806 -    ac_srcdir=.
15807 -    if test -z "$ac_top_builddir"; then
15808 -       ac_top_srcdir=.
15809 -    else
15810 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
15811 -    fi ;;
15812 -  [\\/]* | ?:[\\/]* )  # Absolute path.
15813 -    ac_srcdir=$srcdir$ac_dir_suffix;
15814 -    ac_top_srcdir=$srcdir ;;
15815 -  *) # Relative path.
15816 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
15817 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
15818 -esac
15819 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
15820 -# absolute.
15821 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
15822 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
15823 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
15824 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
15825 -
15826 -
15827 -  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
15828 -echo "$as_me: executing $ac_dest commands" >&6;}
15829 -  case $ac_dest in
15830 -    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
15831 -  # Strip MF so we end up with the name of the file.
15832 -  mf=`echo "$mf" | sed -e 's/:.*$//'`
15833 -  if (sed 1q $mf | fgrep 'generated by automake') > /dev/null 2>&1; then
15834 -    dirpart=`(dirname "$mf") 2>/dev/null ||
15835 -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15836 -         X"$mf" : 'X\(//\)[^/]' \| \
15837 -         X"$mf" : 'X\(//\)$' \| \
15838 -         X"$mf" : 'X\(/\)' \| \
15839 -         .     : '\(.\)' 2>/dev/null ||
15840 -echo X"$mf" |
15841 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15842 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15843 -         /^X\(\/\/\)$/{ s//\1/; q; }
15844 -         /^X\(\/\).*/{ s//\1/; q; }
15845 -         s/.*/./; q'`
15846 -  else
15847 -    continue
15848 -  fi
15849 -  grep '^DEP_FILES *= *[^ @%:@]' < "$mf" > /dev/null || continue
15850 -  # Extract the definition of DEP_FILES from the Makefile without
15851 -  # running `make'.
15852 -  DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
15853 -  test -z "$DEPDIR" && continue
15854 -  # When using ansi2knr, U may be empty or an underscore; expand it
15855 -  U=`sed -n -e '/^U = / s///p' < "$mf"`
15856 -  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
15857 -  # We invoke sed twice because it is the simplest approach to
15858 -  # changing $(DEPDIR) to its actual value in the expansion.
15859 -  for file in `sed -n -e '
15860 -    /^DEP_FILES = .*\\\\$/ {
15861 -      s/^DEP_FILES = //
15862 -      :loop
15863 -       s/\\\\$//
15864 -       p
15865 -       n
15866 -       /\\\\$/ b loop
15867 -      p
15868 -    }
15869 -    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
15870 -       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
15871 -    # Make sure the directory exists.
15872 -    test -f "$dirpart/$file" && continue
15873 -    fdir=`(dirname "$file") 2>/dev/null ||
15874 -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15875 -         X"$file" : 'X\(//\)[^/]' \| \
15876 -         X"$file" : 'X\(//\)$' \| \
15877 -         X"$file" : 'X\(/\)' \| \
15878 -         .     : '\(.\)' 2>/dev/null ||
15879 -echo X"$file" |
15880 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15881 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15882 -         /^X\(\/\/\)$/{ s//\1/; q; }
15883 -         /^X\(\/\).*/{ s//\1/; q; }
15884 -         s/.*/./; q'`
15885 -    { if $as_mkdir_p; then
15886 -    mkdir -p $dirpart/$fdir
15887 -  else
15888 -    as_dir=$dirpart/$fdir
15889 -    as_dirs=
15890 -    while test ! -d "$as_dir"; do
15891 -      as_dirs="$as_dir $as_dirs"
15892 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
15893 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15894 -         X"$as_dir" : 'X\(//\)[^/]' \| \
15895 -         X"$as_dir" : 'X\(//\)$' \| \
15896 -         X"$as_dir" : 'X\(/\)' \| \
15897 -         .     : '\(.\)' 2>/dev/null ||
15898 -echo X"$as_dir" |
15899 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15900 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15901 -         /^X\(\/\/\)$/{ s//\1/; q; }
15902 -         /^X\(\/\).*/{ s//\1/; q; }
15903 -         s/.*/./; q'`
15904 -    done
15905 -    test ! -n "$as_dirs" || mkdir $as_dirs
15906 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
15907 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
15908 -   { (exit 1); exit 1; }; }; }
15909 -
15910 -    # echo "creating $dirpart/$file"
15911 -    echo '# dummy' > "$dirpart/$file"
15912 -  done
15913 -done
15914 - ;;
15915 -    default ) 
15916 -echo "$DEFS" > boehm-cflags
15917 -
15918 -if test -n "$CONFIG_FILES"; then
15919 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
15920 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
15921 -fi ;;
15922 -  esac
15923 -done
15924 -_ACEOF
15925 -
15926 -cat >>$CONFIG_STATUS <<\_ACEOF
15927 -
15928 -{ (exit 0); exit 0; }
15929 -_ACEOF
15930 -chmod +x $CONFIG_STATUS
15931 -ac_clean_files=$ac_clean_files_save
15932 -
15933 -
15934 -# configure is writing to config.log, and then calls config.status.
15935 -# config.status does its own redirection, appending to config.log.
15936 -# Unfortunately, on DOS this fails, as config.log is still kept open
15937 -# by configure, so config.status won't be able to write to it; its
15938 -# output is simply discarded.  So we exec the FD to /dev/null,
15939 -# effectively closing config.log, so it can be properly (re)opened and
15940 -# appended to by config.status.  When coming back to configure, we
15941 -# need to make the FD available again.
15942 -if test "$no_create" != yes; then
15943 -  ac_cs_success=:
15944 -  exec 5>/dev/null
15945 -  $SHELL $CONFIG_STATUS || ac_cs_success=false
15946 -  exec 5>>config.log
15947 -  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
15948 -  # would make configure fail if this is the last instruction.
15949 -  $ac_cs_success || { (exit 1); exit 1; }
15950 -fi
15951 -
15952 diff -Nur ../boehm-gc/autom4te.cache/requests boehm-gc/autom4te.cache/requests
15953 --- ../boehm-gc/autom4te.cache/requests Sat May 31 15:09:32 2003
15954 +++ boehm-gc/autom4te.cache/requests    Wed Dec 31 16:00:00 1969
15955 @@ -1,198 +0,0 @@
15956 -# This file was created by autom4te-2.54.
15957 -# It contains the lists of macros which have been traced.
15958 -# It can be safely removed.
15959 -
15960 -@request = (
15961 -             bless( [
15962 -                      '0',
15963 -                      0,
15964 -                      [
15965 -                        '/sw/share/autoconf'
15966 -                      ],
15967 -                      [
15968 -                        '/sw/share/autoconf/autoconf/autoconf.m4f',
15969 -                        'aclocal.m4',
15970 -                        'configure.in'
15971 -                      ],
15972 -                      {
15973 -                        'm4_pattern_forbid' => 1,
15974 -                        'AC_C_VOLATILE' => 1,
15975 -                        'AC_TYPE_OFF_T' => 1,
15976 -                        'AC_FUNC_CLOSEDIR_VOID' => 1,
15977 -                        'AC_REPLACE_FNMATCH' => 1,
15978 -                        'AC_PROG_LIBTOOL' => 1,
15979 -                        'AC_FUNC_STAT' => 1,
15980 -                        'AC_FUNC_WAIT3' => 1,
15981 -                        'AC_HEADER_TIME' => 1,
15982 -                        'AC_FUNC_LSTAT' => 1,
15983 -                        'AC_STRUCT_TM' => 1,
15984 -                        'AM_AUTOMAKE_VERSION' => 1,
15985 -                        'AC_FUNC_GETMNTENT' => 1,
15986 -                        'AC_TYPE_MODE_T' => 1,
15987 -                        'AC_FUNC_STRTOD' => 1,
15988 -                        'AC_CHECK_HEADERS' => 1,
15989 -                        'AC_FUNC_STRNLEN' => 1,
15990 -                        'AC_PROG_CXX' => 1,
15991 -                        'AC_PATH_X' => 1,
15992 -                        'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
15993 -                        'AC_PROG_AWK' => 1,
15994 -                        'AC_HEADER_STDC' => 1,
15995 -                        'AC_HEADER_MAJOR' => 1,
15996 -                        'AC_FUNC_ERROR_AT_LINE' => 1,
15997 -                        'AC_PROG_GCC_TRADITIONAL' => 1,
15998 -                        'AC_LIBSOURCE' => 1,
15999 -                        'AC_FUNC_MBRTOWC' => 1,
16000 -                        'AC_STRUCT_ST_BLOCKS' => 1,
16001 -                        'AC_TYPE_SIGNAL' => 1,
16002 -                        'AC_TYPE_UID_T' => 1,
16003 -                        'AC_CONFIG_AUX_DIR' => 1,
16004 -                        'AC_PROG_MAKE_SET' => 1,
16005 -                        'm4_pattern_allow' => 1,
16006 -                        'AC_DEFINE_TRACE_LITERAL' => 1,
16007 -                        'AC_FUNC_STRERROR_R' => 1,
16008 -                        'AC_PROG_CC' => 1,
16009 -                        'AC_FUNC_FORK' => 1,
16010 -                        'AC_DECL_SYS_SIGLIST' => 1,
16011 -                        'AC_FUNC_STRCOLL' => 1,
16012 -                        'AC_FUNC_VPRINTF' => 1,
16013 -                        'AC_PROG_YACC' => 1,
16014 -                        'AC_INIT' => 1,
16015 -                        'AC_STRUCT_TIMEZONE' => 1,
16016 -                        'AC_FUNC_CHOWN' => 1,
16017 -                        'AC_SUBST' => 1,
16018 -                        'AC_FUNC_ALLOCA' => 1,
16019 -                        'AC_CANONICAL_HOST' => 1,
16020 -                        'AC_FUNC_GETPGRP' => 1,
16021 -                        'AC_PROG_RANLIB' => 1,
16022 -                        'AM_INIT_AUTOMAKE' => 1,
16023 -                        'AC_FUNC_SETPGRP' => 1,
16024 -                        'AC_CONFIG_SUBDIRS' => 1,
16025 -                        'AC_FUNC_MMAP' => 1,
16026 -                        'AC_FUNC_REALLOC' => 1,
16027 -                        'AC_TYPE_SIZE_T' => 1,
16028 -                        'AC_CHECK_TYPES' => 1,
16029 -                        'AC_CHECK_MEMBERS' => 1,
16030 -                        'AM_MAINTAINER_MODE' => 1,
16031 -                        'AC_FUNC_UTIME_NULL' => 1,
16032 -                        'AC_FUNC_SELECT_ARGTYPES' => 1,
16033 -                        'AC_FUNC_STRFTIME' => 1,
16034 -                        'AC_HEADER_STAT' => 1,
16035 -                        'AC_C_INLINE' => 1,
16036 -                        'AC_PROG_CPP' => 1,
16037 -                        'AC_TYPE_PID_T' => 1,
16038 -                        'AC_PROG_LEX' => 1,
16039 -                        'AC_C_CONST' => 1,
16040 -                        'AC_CONFIG_FILES' => 1,
16041 -                        'include' => 1,
16042 -                        'AC_FUNC_SETVBUF_REVERSED' => 1,
16043 -                        'AC_PROG_INSTALL' => 1,
16044 -                        'AM_GNU_GETTEXT' => 1,
16045 -                        'AC_CHECK_LIB' => 1,
16046 -                        'AC_FUNC_OBSTACK' => 1,
16047 -                        'AC_FUNC_MALLOC' => 1,
16048 -                        'AC_FUNC_GETGROUPS' => 1,
16049 -                        'AC_FUNC_GETLOADAVG' => 1,
16050 -                        'AH_OUTPUT' => 1,
16051 -                        'AC_FUNC_FSEEKO' => 1,
16052 -                        'AM_PROG_CC_C_O' => 1,
16053 -                        'AC_FUNC_MKTIME' => 1,
16054 -                        'AC_CANONICAL_SYSTEM' => 1,
16055 -                        'AM_CONDITIONAL' => 1,
16056 -                        'AC_CONFIG_HEADERS' => 1,
16057 -                        'AC_HEADER_SYS_WAIT' => 1,
16058 -                        'AC_PROG_LN_S' => 1,
16059 -                        'AC_FUNC_MEMCMP' => 1,
16060 -                        'm4_include' => 1,
16061 -                        'AC_HEADER_DIRENT' => 1,
16062 -                        'AC_CHECK_FUNCS' => 1
16063 -                      }
16064 -                    ], 'Request' ),
16065 -             bless( [
16066 -                      '1',
16067 -                      1,
16068 -                      [
16069 -                        '/sw/share/autoconf-2.54'
16070 -                      ],
16071 -                      [
16072 -                        '--reload-state=/sw/share/autoconf-2.54/autoconf/autoconf.m4f',
16073 -                        'aclocal.m4',
16074 -                        'configure.in'
16075 -                      ],
16076 -                      {
16077 -                        'm4_pattern_forbid' => 1,
16078 -                        'AC_TYPE_OFF_T' => 1,
16079 -                        'AC_PROG_LIBTOOL' => 1,
16080 -                        'AC_FUNC_STAT' => 1,
16081 -                        'AC_HEADER_TIME' => 1,
16082 -                        'AC_FUNC_WAIT3' => 1,
16083 -                        'AC_STRUCT_TM' => 1,
16084 -                        'AC_FUNC_LSTAT' => 1,
16085 -                        'AC_TYPE_MODE_T' => 1,
16086 -                        'AC_FUNC_STRTOD' => 1,
16087 -                        'AC_CHECK_HEADERS' => 1,
16088 -                        'AC_PROG_CXX' => 1,
16089 -                        'AC_PATH_X' => 1,
16090 -                        'AC_PROG_AWK' => 1,
16091 -                        'AC_HEADER_STDC' => 1,
16092 -                        'AC_HEADER_MAJOR' => 1,
16093 -                        'AC_FUNC_ERROR_AT_LINE' => 1,
16094 -                        'AC_PROG_GCC_TRADITIONAL' => 1,
16095 -                        'AC_LIBSOURCE' => 1,
16096 -                        'AC_STRUCT_ST_BLOCKS' => 1,
16097 -                        'AC_TYPE_SIGNAL' => 1,
16098 -                        'AC_TYPE_UID_T' => 1,
16099 -                        'AC_PROG_MAKE_SET' => 1,
16100 -                        'm4_pattern_allow' => 1,
16101 -                        'AC_DEFINE_TRACE_LITERAL' => 1,
16102 -                        'AM_PROG_LIBTOOL' => 1,
16103 -                        'AC_FUNC_STRERROR_R' => 1,
16104 -                        'AC_PROG_CC' => 1,
16105 -                        'AC_FUNC_FORK' => 1,
16106 -                        'AC_DECL_SYS_SIGLIST' => 1,
16107 -                        'AC_FUNC_STRCOLL' => 1,
16108 -                        'AC_FUNC_VPRINTF' => 1,
16109 -                        'AC_PROG_YACC' => 1,
16110 -                        'AC_STRUCT_TIMEZONE' => 1,
16111 -                        'AC_FUNC_CHOWN' => 1,
16112 -                        'AC_SUBST' => 1,
16113 -                        'AC_FUNC_ALLOCA' => 1,
16114 -                        'AC_FUNC_GETPGRP' => 1,
16115 -                        'AC_PROG_RANLIB' => 1,
16116 -                        'AC_FUNC_SETPGRP' => 1,
16117 -                        'AC_FUNC_MMAP' => 1,
16118 -                        'AC_TYPE_SIZE_T' => 1,
16119 -                        'AC_CHECK_TYPES' => 1,
16120 -                        'AC_FUNC_UTIME_NULL' => 1,
16121 -                        'AC_FUNC_STRFTIME' => 1,
16122 -                        'AC_HEADER_STAT' => 1,
16123 -                        'AC_C_INLINE' => 1,
16124 -                        'AC_PROG_CPP' => 1,
16125 -                        'AC_C_CONST' => 1,
16126 -                        'AC_PROG_LEX' => 1,
16127 -                        'AC_TYPE_PID_T' => 1,
16128 -                        'AC_CONFIG_FILES' => 1,
16129 -                        'include' => 1,
16130 -                        'AC_FUNC_SETVBUF_REVERSED' => 1,
16131 -                        'AC_FUNC_FNMATCH' => 1,
16132 -                        'AC_PROG_INSTALL' => 1,
16133 -                        'AM_GNU_GETTEXT' => 1,
16134 -                        'AC_FUNC_OBSTACK' => 1,
16135 -                        'AC_CHECK_LIB' => 1,
16136 -                        'AC_FUNC_MALLOC' => 1,
16137 -                        'AC_FUNC_GETGROUPS' => 1,
16138 -                        'AC_FUNC_GETLOADAVG' => 1,
16139 -                        'AH_OUTPUT' => 1,
16140 -                        'AC_FUNC_FSEEKO' => 1,
16141 -                        'AC_FUNC_MKTIME' => 1,
16142 -                        'AM_CONDITIONAL' => 1,
16143 -                        'AC_CONFIG_HEADERS' => 1,
16144 -                        'AC_HEADER_SYS_WAIT' => 1,
16145 -                        'AC_PROG_LN_S' => 1,
16146 -                        'AC_FUNC_MEMCMP' => 1,
16147 -                        'm4_include' => 1,
16148 -                        'AC_HEADER_DIRENT' => 1,
16149 -                        'AC_CHECK_FUNCS' => 1
16150 -                      }
16151 -                    ], 'Request' )
16152 -           );
16153 -
16154 diff -Nur ../boehm-gc/autom4te.cache/traces.0 boehm-gc/autom4te.cache/traces.0
16155 --- ../boehm-gc/autom4te.cache/traces.0 Mon May 26 13:14:22 2003
16156 +++ boehm-gc/autom4te.cache/traces.0    Wed Dec 31 16:00:00 1969
16157 @@ -1,185 +0,0 @@
16158 -m4trace:configure.in:16: -1- AC_INIT([gcj_mlc.c])
16159 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?A[CHUM]_])
16160 -m4trace:configure.in:16: -1- m4_pattern_forbid([_AC_])
16161 -m4trace:configure.in:16: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
16162 -m4trace:configure.in:16: -1- m4_pattern_allow([^AS_FLAGS$])
16163 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?m4_])
16164 -m4trace:configure.in:16: -1- m4_pattern_forbid([^dnl$])
16165 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?AS_])
16166 -m4trace:configure.in:16: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
16167 -m4trace:configure.in:16: -1- AC_SUBST([PATH_SEPARATOR])
16168 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
16169 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
16170 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
16171 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
16172 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
16173 -m4trace:configure.in:16: -1- AC_SUBST([exec_prefix], [NONE])
16174 -m4trace:configure.in:16: -1- AC_SUBST([prefix], [NONE])
16175 -m4trace:configure.in:16: -1- AC_SUBST([program_transform_name], [s,x,x,])
16176 -m4trace:configure.in:16: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
16177 -m4trace:configure.in:16: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
16178 -m4trace:configure.in:16: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
16179 -m4trace:configure.in:16: -1- AC_SUBST([datadir], ['${prefix}/share'])
16180 -m4trace:configure.in:16: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
16181 -m4trace:configure.in:16: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
16182 -m4trace:configure.in:16: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
16183 -m4trace:configure.in:16: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
16184 -m4trace:configure.in:16: -1- AC_SUBST([includedir], ['${prefix}/include'])
16185 -m4trace:configure.in:16: -1- AC_SUBST([oldincludedir], ['/usr/include'])
16186 -m4trace:configure.in:16: -1- AC_SUBST([infodir], ['${prefix}/info'])
16187 -m4trace:configure.in:16: -1- AC_SUBST([mandir], ['${prefix}/man'])
16188 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
16189 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
16190 -#undef PACKAGE_NAME])
16191 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
16192 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
16193 -#undef PACKAGE_TARNAME])
16194 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
16195 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
16196 -#undef PACKAGE_VERSION])
16197 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
16198 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
16199 -#undef PACKAGE_STRING])
16200 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
16201 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
16202 -#undef PACKAGE_BUGREPORT])
16203 -m4trace:configure.in:16: -1- AC_SUBST([build_alias])
16204 -m4trace:configure.in:16: -1- AC_SUBST([host_alias])
16205 -m4trace:configure.in:16: -1- AC_SUBST([target_alias])
16206 -m4trace:configure.in:16: -1- AC_SUBST([DEFS])
16207 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_C])
16208 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_N])
16209 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_T])
16210 -m4trace:configure.in:16: -1- AC_SUBST([LIBS])
16211 -m4trace:configure.in:25: -1- AC_CONFIG_AUX_DIR([.])
16212 -m4trace:configure.in:27: -1- AC_SUBST([gc_basedir])
16213 -m4trace:configure.in:27: -1- AC_CONFIG_AUX_DIR([$gc_basedir/..])
16214 -m4trace:configure.in:27: -1- AC_CONFIG_AUX_DIR([..])
16215 -m4trace:configure.in:27: -1- AC_CANONICAL_SYSTEM
16216 -m4trace:configure.in:27: -1- AC_CANONICAL_HOST
16217 -m4trace:configure.in:27: -1- AC_SUBST([build], [$ac_cv_build])
16218 -m4trace:configure.in:27: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16219 -m4trace:configure.in:27: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16220 -m4trace:configure.in:27: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16221 -m4trace:configure.in:27: -1- AC_SUBST([host], [$ac_cv_host])
16222 -m4trace:configure.in:27: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16223 -m4trace:configure.in:27: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16224 -m4trace:configure.in:27: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16225 -m4trace:configure.in:27: -1- AC_SUBST([target], [$ac_cv_target])
16226 -m4trace:configure.in:27: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16227 -m4trace:configure.in:27: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16228 -m4trace:configure.in:27: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16229 -m4trace:configure.in:27: -1- AC_SUBST([mkinstalldirs])
16230 -m4trace:configure.in:27: -1- AM_INIT_AUTOMAKE([gc], [6.0], [no-define])
16231 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16232 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16233 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16234 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16235 -m4trace:configure.in:27: -1- AC_SUBST([PACKAGE])
16236 -m4trace:configure.in:27: -1- AC_SUBST([VERSION])
16237 -m4trace:configure.in:27: -2- AC_DEFINE_TRACE_LITERAL([PACKAGE])
16238 -m4trace:configure.in:27: -2- AH_OUTPUT([PACKAGE], [/* Name of package */
16239 -#undef PACKAGE])
16240 -m4trace:configure.in:27: -2- AC_DEFINE_TRACE_LITERAL([VERSION])
16241 -m4trace:configure.in:27: -2- AH_OUTPUT([VERSION], [/* Version number of package */
16242 -#undef VERSION])
16243 -m4trace:configure.in:27: -1- AC_SUBST([ACLOCAL])
16244 -m4trace:configure.in:27: -1- AC_SUBST([AUTOCONF])
16245 -m4trace:configure.in:27: -1- AC_SUBST([AUTOMAKE])
16246 -m4trace:configure.in:27: -1- AC_SUBST([AUTOHEADER])
16247 -m4trace:configure.in:27: -1- AC_SUBST([MAKEINFO])
16248 -m4trace:configure.in:27: -1- AC_PROG_MAKE_SET
16249 -m4trace:configure.in:27: -1- AC_SUBST([SET_MAKE])
16250 -m4trace:configure.in:27: -1- AC_SUBST([CC])
16251 -m4trace:configure.in:27: -1- AC_SUBST([CC])
16252 -m4trace:configure.in:27: -1- AC_SUBST([CXX])
16253 -m4trace:configure.in:27: -1- AC_SUBST([AS])
16254 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AS])
16255 -m4trace:configure.in:27: -1- AC_SUBST([AR])
16256 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AR])
16257 -m4trace:configure.in:27: -1- AC_SUBST([RANLIB])
16258 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_RANLIB])
16259 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16260 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16261 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16262 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16263 -m4trace:configure.in:27: -1- AM_MAINTAINER_MODE
16264 -m4trace:configure.in:27: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16265 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16266 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16267 -m4trace:configure.in:27: -1- AC_SUBST([MAINT])
16268 -m4trace:configure.in:27: -1- AC_SUBST([GC_CFLAGS])
16269 -m4trace:configure.in:29: -1- AC_PROG_LIBTOOL
16270 -m4trace:configure.in:29: -1- AC_PROG_LN_S
16271 -m4trace:configure.in:29: -1- AC_SUBST([LN_S], [$as_ln_s])
16272 -m4trace:configure.in:29: -1- AC_SUBST([RANLIB])
16273 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_RANLIB])
16274 -m4trace:configure.in:29: -1- AC_SUBST([STRIP])
16275 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_STRIP])
16276 -m4trace:configure.in:29: -1- AC_SUBST([LIBTOOL])
16277 -m4trace:configure.in:29: -1- AC_SUBST([CXXCPP])
16278 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16279 -m4trace:configure.in:29: -1- AC_SUBST([CXXCPP])
16280 -m4trace:configure.in:38: -1- AM_MAINTAINER_MODE
16281 -m4trace:configure.in:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16282 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16283 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16284 -m4trace:configure.in:38: -1- AC_SUBST([MAINT])
16285 -m4trace:configure.in:77: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16286 -m4trace:configure.in:78: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16287 -m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16288 -m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16289 -m4trace:configure.in:85: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16290 -m4trace:configure.in:86: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16291 -m4trace:configure.in:90: -1- AC_DEFINE_TRACE_LITERAL([GC_HPUX_THREADS])
16292 -m4trace:configure.in:91: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_C_SOURCE])
16293 -m4trace:configure.in:93: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16294 -m4trace:configure.in:95: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16295 -m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([GC_FREEBSD_THREADS])
16296 -m4trace:configure.in:105: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_THREADS])
16297 -m4trace:configure.in:106: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_PTHREADS])
16298 -m4trace:configure.in:109: -1- AC_DEFINE_TRACE_LITERAL([GC_IRIX_THREADS])
16299 -m4trace:configure.in:117: -1- AC_DEFINE_TRACE_LITERAL([GC_DARWIN_THREADS])
16300 -m4trace:configure.in:118: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16301 -m4trace:configure.in:120: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16302 -m4trace:configure.in:124: -1- AC_DEFINE_TRACE_LITERAL([GC_WIN32_THREADS])
16303 -m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([NO_GETENV])
16304 -m4trace:configure.in:134: -1- AC_SUBST([THREADLIBS])
16305 -m4trace:configure.in:141: -1- AM_CONDITIONAL([POWERPC_DARWIN], [test x$powerpc_darwin = xtrue])
16306 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_TRUE])
16307 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_FALSE])
16308 -m4trace:configure.in:148: -1- AC_CHECK_LIB([dl], [dlopen], [EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"])
16309 -m4trace:configure.in:152: -1- AC_SUBST([EXTRA_TEST_LIBS])
16310 -m4trace:configure.in:155: -1- AC_SUBST([target_all])
16311 -m4trace:configure.in:156: -1- AC_SUBST([target_alias])
16312 -m4trace:configure.in:174: -1- AC_DEFINE_TRACE_LITERAL([ECOS])
16313 -m4trace:configure.in:179: -1- AC_SUBST([CXX])
16314 -m4trace:configure.in:181: -1- AC_SUBST([INCLUDES])
16315 -m4trace:configure.in:182: -1- AC_SUBST([CXXINCLUDES])
16316 -m4trace:configure.in:197: -1- AC_DEFINE_TRACE_LITERAL([SOLARIS25_PROC_VDB_BUG_FIXED])
16317 -m4trace:configure.in:201: -1- AC_DEFINE_TRACE_LITERAL([STACKBASE])
16318 -m4trace:configure.in:202: -1- AC_DEFINE_TRACE_LITERAL([DATASTART_IS_ETEXT])
16319 -m4trace:configure.in:211: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16320 -m4trace:configure.in:215: -1- AC_DEFINE_TRACE_LITERAL([SUNOS53_SHARED_LIB])
16321 -m4trace:configure.in:228: -1- AC_SUBST([addobjs])
16322 -m4trace:configure.in:252: -1- AC_SUBST([MY_CFLAGS])
16323 -m4trace:configure.in:256: -1- AC_DEFINE_TRACE_LITERAL([SILENT])
16324 -m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGNALS])
16325 -m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16326 -m4trace:configure.in:259: -1- AC_DEFINE_TRACE_LITERAL([ALL_INTERIOR_POINTERS])
16327 -m4trace:configure.in:262: -1- AC_DEFINE_TRACE_LITERAL([JAVA_FINALIZATION])
16328 -m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([GC_GCJ_SUPPORT])
16329 -m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([ATOMIC_UNCOLLECTABLE])
16330 -m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGSET])
16331 -m4trace:configure.in:271: -1- AC_DEFINE_TRACE_LITERAL([NO_DEBUGGING])
16332 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([KEEP_BACK_PTRS])
16333 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([DBG_HDRS_ALL])
16334 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16335 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16336 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([SAVE_CALL_COUNT])
16337 -m4trace:configure.in:292: -1- AM_CONDITIONAL([USE_LIBDIR], [test -z "$with_cross_host"])
16338 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_TRUE])
16339 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_FALSE])
16340 -m4trace:configure.in:317: -1- AC_CONFIG_FILES([Makefile include/Makefile])
16341 -m4trace:configure.in:317: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
16342 -m4trace:configure.in:317: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
16343 diff -Nur ../boehm-gc/autom4te.cache/traces.1 boehm-gc/autom4te.cache/traces.1
16344 --- ../boehm-gc/autom4te.cache/traces.1 Sat May 31 15:09:31 2003
16345 +++ boehm-gc/autom4te.cache/traces.1    Wed Dec 31 16:00:00 1969
16346 @@ -1,250 +0,0 @@
16347 -m4trace:aclocal.m4:166: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
16348 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?A[CHUM]_])
16349 -m4trace:configure.in:16: -1- m4_pattern_forbid([_AC_])
16350 -m4trace:configure.in:16: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
16351 -m4trace:configure.in:16: -1- m4_pattern_allow([^AS_FLAGS$])
16352 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?m4_])
16353 -m4trace:configure.in:16: -1- m4_pattern_forbid([^dnl$])
16354 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?AS_])
16355 -m4trace:configure.in:16: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
16356 -m4trace:configure.in:16: -1- AC_SUBST([PATH_SEPARATOR])
16357 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
16358 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
16359 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
16360 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
16361 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
16362 -m4trace:configure.in:16: -1- AC_SUBST([exec_prefix], [NONE])
16363 -m4trace:configure.in:16: -1- AC_SUBST([prefix], [NONE])
16364 -m4trace:configure.in:16: -1- AC_SUBST([program_transform_name], [s,x,x,])
16365 -m4trace:configure.in:16: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
16366 -m4trace:configure.in:16: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
16367 -m4trace:configure.in:16: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
16368 -m4trace:configure.in:16: -1- AC_SUBST([datadir], ['${prefix}/share'])
16369 -m4trace:configure.in:16: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
16370 -m4trace:configure.in:16: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
16371 -m4trace:configure.in:16: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
16372 -m4trace:configure.in:16: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
16373 -m4trace:configure.in:16: -1- AC_SUBST([includedir], ['${prefix}/include'])
16374 -m4trace:configure.in:16: -1- AC_SUBST([oldincludedir], ['/usr/include'])
16375 -m4trace:configure.in:16: -1- AC_SUBST([infodir], ['${prefix}/info'])
16376 -m4trace:configure.in:16: -1- AC_SUBST([mandir], ['${prefix}/man'])
16377 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
16378 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
16379 -#undef PACKAGE_NAME])
16380 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
16381 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
16382 -#undef PACKAGE_TARNAME])
16383 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
16384 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
16385 -#undef PACKAGE_VERSION])
16386 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
16387 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
16388 -#undef PACKAGE_STRING])
16389 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
16390 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
16391 -#undef PACKAGE_BUGREPORT])
16392 -m4trace:configure.in:16: -1- AC_SUBST([build_alias])
16393 -m4trace:configure.in:16: -1- AC_SUBST([host_alias])
16394 -m4trace:configure.in:16: -1- AC_SUBST([target_alias])
16395 -m4trace:configure.in:16: -1- AC_SUBST([DEFS])
16396 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_C])
16397 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_N])
16398 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_T])
16399 -m4trace:configure.in:16: -1- AC_SUBST([LIBS])
16400 -m4trace:configure.in:27: -1- AC_SUBST([gc_basedir])
16401 -m4trace:configure.in:27: -1- AC_SUBST([build], [$ac_cv_build])
16402 -m4trace:configure.in:27: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16403 -m4trace:configure.in:27: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16404 -m4trace:configure.in:27: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16405 -m4trace:configure.in:27: -1- AC_SUBST([host], [$ac_cv_host])
16406 -m4trace:configure.in:27: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16407 -m4trace:configure.in:27: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16408 -m4trace:configure.in:27: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16409 -m4trace:configure.in:27: -1- AC_SUBST([target], [$ac_cv_target])
16410 -m4trace:configure.in:27: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16411 -m4trace:configure.in:27: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16412 -m4trace:configure.in:27: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16413 -m4trace:configure.in:27: -1- AC_SUBST([mkinstalldirs])
16414 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16415 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16416 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16417 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16418 -m4trace:configure.in:27: -1- AC_SUBST([PACKAGE], [gc])
16419 -m4trace:configure.in:27: -1- AC_SUBST([VERSION], [6.1a1])
16420 -m4trace:configure.in:27: -1- AC_SUBST([ACLOCAL])
16421 -m4trace:configure.in:27: -1- AC_SUBST([AUTOCONF])
16422 -m4trace:configure.in:27: -1- AC_SUBST([AUTOMAKE])
16423 -m4trace:configure.in:27: -1- AC_SUBST([AUTOHEADER])
16424 -m4trace:configure.in:27: -1- AC_SUBST([MAKEINFO])
16425 -m4trace:configure.in:27: -1- AC_SUBST([AMTAR])
16426 -m4trace:configure.in:27: -1- AC_SUBST([install_sh])
16427 -m4trace:configure.in:27: -1- AC_SUBST([STRIP])
16428 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_STRIP])
16429 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
16430 -m4trace:configure.in:27: -1- AC_PROG_AWK
16431 -m4trace:configure.in:27: -1- AC_SUBST([AWK])
16432 -m4trace:configure.in:27: -1- AC_PROG_MAKE_SET
16433 -m4trace:configure.in:27: -1- AC_SUBST([SET_MAKE])
16434 -m4trace:configure.in:27: -1- AC_SUBST([AS])
16435 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AS])
16436 -m4trace:configure.in:27: -1- AC_SUBST([AR])
16437 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AR])
16438 -m4trace:configure.in:27: -1- AC_SUBST([RANLIB])
16439 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_RANLIB])
16440 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16441 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16442 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16443 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16444 -m4trace:configure.in:27: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16445 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16446 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16447 -m4trace:configure.in:27: -1- AC_SUBST([MAINT])
16448 -m4trace:configure.in:27: -1- AC_SUBST([GC_CFLAGS])
16449 -m4trace:configure.in:29: -1- AM_PROG_LIBTOOL
16450 -m4trace:configure.in:29: -1- AC_PROG_LIBTOOL
16451 -m4trace:configure.in:29: -1- AC_PROG_CC
16452 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16453 -m4trace:configure.in:29: -1- AC_SUBST([CFLAGS])
16454 -m4trace:configure.in:29: -1- AC_SUBST([LDFLAGS])
16455 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16456 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16457 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16458 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16459 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16460 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16461 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16462 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16463 -m4trace:configure.in:29: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
16464 -m4trace:configure.in:29: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
16465 -m4trace:configure.in:29: -1- AC_SUBST([DEPDIR])
16466 -m4trace:configure.in:29: -1- AC_SUBST([am__include])
16467 -m4trace:configure.in:29: -1- AC_SUBST([am__quote])
16468 -m4trace:configure.in:29: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
16469 -m4trace:configure.in:29: -1- AC_SUBST([AMDEP_TRUE])
16470 -m4trace:configure.in:29: -1- AC_SUBST([AMDEP_FALSE])
16471 -m4trace:configure.in:29: -1- AC_SUBST([AMDEPBACKSLASH])
16472 -m4trace:configure.in:29: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
16473 -m4trace:configure.in:29: -1- AC_PROG_LN_S
16474 -m4trace:configure.in:29: -1- AC_SUBST([LN_S], [$as_ln_s])
16475 -m4trace:configure.in:29: -1- AC_SUBST([ECHO])
16476 -m4trace:configure.in:29: -1- AC_SUBST([RANLIB])
16477 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_RANLIB])
16478 -m4trace:configure.in:29: -1- AC_SUBST([STRIP])
16479 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_STRIP])
16480 -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],
16481 -             [lt_cv_dlopen="dlopen"],
16482 -         [AC_CHECK_LIB([dl], [dlopen],
16483 -               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
16484 -           [AC_CHECK_LIB([svld], [dlopen],
16485 -                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
16486 -             [AC_CHECK_LIB([dld], [dld_link],
16487 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16488 -             ])
16489 -           ])
16490 -         ])
16491 -       ])
16492 -m4trace:configure.in:29: -1- AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen],
16493 -                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
16494 -             [AC_CHECK_LIB([dld], [dld_link],
16495 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16496 -             ])
16497 -           ])
16498 -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],
16499 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16500 -             ])
16501 -m4trace:configure.in:29: -1- AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16502 -m4trace:configure.in:29: -1- AC_CHECK_HEADERS([dlfcn.h])
16503 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
16504 -#undef HAVE_DLFCN_H])
16505 -m4trace:configure.in:29: -1- AC_HEADER_STDC
16506 -m4trace:configure.in:29: -1- AC_PROG_CPP
16507 -m4trace:configure.in:29: -1- AC_SUBST([CPP])
16508 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16509 -m4trace:configure.in:29: -1- AC_SUBST([CPP])
16510 -m4trace:configure.in:29: -1- AC_SUBST([EGREP])
16511 -m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
16512 -m4trace:configure.in:29: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
16513 -#undef STDC_HEADERS])
16514 -m4trace:configure.in:29: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
16515 -                  inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
16516 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
16517 -#undef HAVE_SYS_TYPES_H])
16518 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
16519 -#undef HAVE_SYS_STAT_H])
16520 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
16521 -#undef HAVE_STDLIB_H])
16522 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
16523 -#undef HAVE_STRING_H])
16524 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
16525 -#undef HAVE_MEMORY_H])
16526 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
16527 -#undef HAVE_STRINGS_H])
16528 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
16529 -#undef HAVE_INTTYPES_H])
16530 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
16531 -#undef HAVE_STDINT_H])
16532 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
16533 -#undef HAVE_UNISTD_H])
16534 -m4trace:configure.in:29: -1- AC_SUBST([LIBTOOL])
16535 -m4trace:configure.in:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16536 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16537 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16538 -m4trace:configure.in:38: -1- AC_SUBST([MAINT])
16539 -m4trace:configure.in:77: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16540 -m4trace:configure.in:78: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16541 -m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16542 -m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16543 -m4trace:configure.in:85: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16544 -m4trace:configure.in:86: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16545 -m4trace:configure.in:90: -1- AC_DEFINE_TRACE_LITERAL([GC_HPUX_THREADS])
16546 -m4trace:configure.in:91: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_C_SOURCE])
16547 -m4trace:configure.in:93: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16548 -m4trace:configure.in:95: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16549 -m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([GC_FREEBSD_THREADS])
16550 -m4trace:configure.in:105: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_THREADS])
16551 -m4trace:configure.in:106: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_PTHREADS])
16552 -m4trace:configure.in:109: -1- AC_DEFINE_TRACE_LITERAL([GC_IRIX_THREADS])
16553 -m4trace:configure.in:115: -1- AC_DEFINE_TRACE_LITERAL([GC_DARWIN_THREADS])
16554 -m4trace:configure.in:116: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16555 -m4trace:configure.in:118: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16556 -m4trace:configure.in:124: -1- AC_DEFINE_TRACE_LITERAL([GC_WIN32_THREADS])
16557 -m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([NO_GETENV])
16558 -m4trace:configure.in:134: -1- AC_SUBST([THREADLIBS])
16559 -m4trace:configure.in:141: -1- AM_CONDITIONAL([POWERPC_DARWIN], [test x$powerpc_darwin = xtrue])
16560 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_TRUE])
16561 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_FALSE])
16562 -m4trace:configure.in:148: -1- AC_CHECK_LIB([dl], [dlopen], [EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"])
16563 -m4trace:configure.in:152: -1- AC_SUBST([EXTRA_TEST_LIBS])
16564 -m4trace:configure.in:155: -1- AC_SUBST([target_all])
16565 -m4trace:configure.in:156: -1- AC_SUBST([target_alias])
16566 -m4trace:configure.in:174: -1- AC_DEFINE_TRACE_LITERAL([ECOS])
16567 -m4trace:configure.in:179: -1- AC_SUBST([CXX])
16568 -m4trace:configure.in:181: -1- AC_SUBST([INCLUDES])
16569 -m4trace:configure.in:182: -1- AC_SUBST([CXXINCLUDES])
16570 -m4trace:configure.in:197: -1- AC_DEFINE_TRACE_LITERAL([SOLARIS25_PROC_VDB_BUG_FIXED])
16571 -m4trace:configure.in:201: -1- AC_DEFINE_TRACE_LITERAL([STACKBASE])
16572 -m4trace:configure.in:202: -1- AC_DEFINE_TRACE_LITERAL([DATASTART_IS_ETEXT])
16573 -m4trace:configure.in:211: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16574 -m4trace:configure.in:215: -1- AC_DEFINE_TRACE_LITERAL([SUNOS53_SHARED_LIB])
16575 -m4trace:configure.in:228: -1- AC_SUBST([addobjs])
16576 -m4trace:configure.in:252: -1- AC_SUBST([MY_CFLAGS])
16577 -m4trace:configure.in:256: -1- AC_DEFINE_TRACE_LITERAL([SILENT])
16578 -m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGNALS])
16579 -m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16580 -m4trace:configure.in:259: -1- AC_DEFINE_TRACE_LITERAL([ALL_INTERIOR_POINTERS])
16581 -m4trace:configure.in:262: -1- AC_DEFINE_TRACE_LITERAL([JAVA_FINALIZATION])
16582 -m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([GC_GCJ_SUPPORT])
16583 -m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([ATOMIC_UNCOLLECTABLE])
16584 -m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGSET])
16585 -m4trace:configure.in:271: -1- AC_DEFINE_TRACE_LITERAL([NO_DEBUGGING])
16586 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([KEEP_BACK_PTRS])
16587 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([DBG_HDRS_ALL])
16588 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16589 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16590 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([SAVE_CALL_COUNT])
16591 -m4trace:configure.in:292: -1- AM_CONDITIONAL([USE_LIBDIR], [test -z "$with_cross_host"])
16592 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_TRUE])
16593 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_FALSE])
16594 -m4trace:configure.in:317: -1- AC_CONFIG_FILES([Makefile include/Makefile])
16595 -m4trace:configure.in:317: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
16596 -m4trace:configure.in:317: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
16597 diff -Nur ../boehm-gc/backgraph.c boehm-gc/backgraph.c
16598 --- ../boehm-gc/backgraph.c     Mon May 26 12:48:52 2003
16599 +++ boehm-gc/backgraph.c        Wed Jan 30 18:48:45 2002
16600 @@ -307,7 +307,6 @@
16601      }
16602    while (currentp < (word *)(p + gc_descr)) {
16603      word current = *currentp++;
16604 -    FIXUP_POINTER(current);
16605      if (current >= (word)GC_least_plausible_heap_addr && 
16606         current <= (word)GC_greatest_plausible_heap_addr) {
16607         ptr_t target = GC_base((GC_PTR)current);
16608 diff -Nur ../boehm-gc/configure boehm-gc/configure
16609 --- ../boehm-gc/configure       Sat May 31 21:21:37 2003
16610 +++ boehm-gc/configure  Tue May 13 17:18:14 2003
16611 @@ -61,6 +61,7 @@
16612  program_transform_name=s,x,x,
16613  silent=
16614  site=
16615 +sitefile=
16616  srcdir=
16617  target=NONE
16618  verbose=
16619 @@ -175,6 +176,7 @@
16620    --help                  print this message
16621    --no-create             do not create output files
16622    --quiet, --silent       do not print \`checking...' messages
16623 +  --site-file=FILE        use FILE as the site file
16624    --version               print the version of autoconf that created configure
16625  Directory and file names:
16626    --prefix=PREFIX         install architecture-independent files in PREFIX
16627 @@ -345,6 +347,11 @@
16628    -site=* | --site=* | --sit=*)
16629      site="$ac_optarg" ;;
16630  
16631 +  -site-file | --site-file | --site-fil | --site-fi | --site-f)
16632 +    ac_prev=sitefile ;;
16633 +  -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
16634 +    sitefile="$ac_optarg" ;;
16635 +
16636    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
16637      ac_prev=srcdir ;;
16638    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
16639 @@ -510,12 +517,16 @@
16640  srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
16641  
16642  # Prefer explicitly selected file to automatically selected ones.
16643 -if test -z "$CONFIG_SITE"; then
16644 -  if test "x$prefix" != xNONE; then
16645 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
16646 -  else
16647 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
16648 +if test -z "$sitefile"; then
16649 +  if test -z "$CONFIG_SITE"; then
16650 +    if test "x$prefix" != xNONE; then
16651 +      CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
16652 +    else
16653 +      CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
16654 +    fi
16655    fi
16656 +else
16657 +  CONFIG_SITE="$sitefile"
16658  fi
16659  for ac_site_file in $CONFIG_SITE; do
16660    if test -r "$ac_site_file"; then
16661 @@ -593,7 +604,7 @@
16662  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
16663  # ./install, which can be erroneously created by make from ./install.sh.
16664  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
16665 -echo "configure:597: checking for a BSD compatible install" >&5
16666 +echo "configure:608: checking for a BSD compatible install" >&5
16667  if test -z "$INSTALL"; then
16668  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
16669    echo $ac_n "(cached) $ac_c" 1>&6
16670 @@ -646,7 +657,7 @@
16671  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
16672  
16673  echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
16674 -echo "configure:650: checking whether build environment is sane" >&5
16675 +echo "configure:661: checking whether build environment is sane" >&5
16676  # Just in case
16677  sleep 1
16678  echo timestamp > conftestfile
16679 @@ -703,7 +714,7 @@
16680  test "$program_transform_name" = "" && program_transform_name="s,x,x,"
16681  
16682  echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
16683 -echo "configure:707: checking whether ${MAKE-make} sets \${MAKE}" >&5
16684 +echo "configure:718: checking whether ${MAKE-make} sets \${MAKE}" >&5
16685  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
16686  if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
16687    echo $ac_n "(cached) $ac_c" 1>&6
16688 @@ -736,12 +747,12 @@
16689  fi
16690  
16691  echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
16692 -echo "configure:740: checking for Cygwin environment" >&5
16693 +echo "configure:751: checking for Cygwin environment" >&5
16694  if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
16695    echo $ac_n "(cached) $ac_c" 1>&6
16696  else
16697    cat > conftest.$ac_ext <<EOF
16698 -#line 745 "configure"
16699 +#line 756 "configure"
16700  #include "confdefs.h"
16701  
16702  int main() {
16703 @@ -752,7 +763,7 @@
16704  return __CYGWIN__;
16705  ; return 0; }
16706  EOF
16707 -if { (eval echo configure:756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16708 +if { (eval echo configure:767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16709    rm -rf conftest*
16710    ac_cv_cygwin=yes
16711  else
16712 @@ -769,19 +780,19 @@
16713  CYGWIN=
16714  test "$ac_cv_cygwin" = yes && CYGWIN=yes
16715  echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
16716 -echo "configure:773: checking for mingw32 environment" >&5
16717 +echo "configure:784: checking for mingw32 environment" >&5
16718  if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
16719    echo $ac_n "(cached) $ac_c" 1>&6
16720  else
16721    cat > conftest.$ac_ext <<EOF
16722 -#line 778 "configure"
16723 +#line 789 "configure"
16724  #include "confdefs.h"
16725  
16726  int main() {
16727  return __MINGW32__;
16728  ; return 0; }
16729  EOF
16730 -if { (eval echo configure:785: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16731 +if { (eval echo configure:796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16732    rm -rf conftest*
16733    ac_cv_mingw32=yes
16734  else
16735 @@ -892,7 +903,7 @@
16736  fi
16737  
16738  echo $ac_n "checking host system type""... $ac_c" 1>&6
16739 -echo "configure:896: checking host system type" >&5
16740 +echo "configure:907: checking host system type" >&5
16741  
16742  host_alias=$host
16743  case "$host_alias" in
16744 @@ -913,7 +924,7 @@
16745  echo "$ac_t""$host" 1>&6
16746  
16747  echo $ac_n "checking target system type""... $ac_c" 1>&6
16748 -echo "configure:917: checking target system type" >&5
16749 +echo "configure:928: checking target system type" >&5
16750  
16751  target_alias=$target
16752  case "$target_alias" in
16753 @@ -931,7 +942,7 @@
16754  echo "$ac_t""$target" 1>&6
16755  
16756  echo $ac_n "checking build system type""... $ac_c" 1>&6
16757 -echo "configure:935: checking build system type" >&5
16758 +echo "configure:946: checking build system type" >&5
16759  
16760  build_alias=$build
16761  case "$build_alias" in
16762 @@ -971,7 +982,7 @@
16763  
16764  missing_dir=`cd $ac_aux_dir && pwd`
16765  echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
16766 -echo "configure:975: checking for working aclocal" >&5
16767 +echo "configure:986: checking for working aclocal" >&5
16768  # Run test in a subshell; some versions of sh will print an error if
16769  # an executable is not found, even if stderr is redirected.
16770  # Redirect stdin to placate older versions of autoconf.  Sigh.
16771 @@ -984,7 +995,7 @@
16772  fi
16773  
16774  echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
16775 -echo "configure:988: checking for working autoconf" >&5
16776 +echo "configure:999: checking for working autoconf" >&5
16777  # Run test in a subshell; some versions of sh will print an error if
16778  # an executable is not found, even if stderr is redirected.
16779  # Redirect stdin to placate older versions of autoconf.  Sigh.
16780 @@ -997,7 +1008,7 @@
16781  fi
16782  
16783  echo $ac_n "checking for working automake""... $ac_c" 1>&6
16784 -echo "configure:1001: checking for working automake" >&5
16785 +echo "configure:1012: checking for working automake" >&5
16786  # Run test in a subshell; some versions of sh will print an error if
16787  # an executable is not found, even if stderr is redirected.
16788  # Redirect stdin to placate older versions of autoconf.  Sigh.
16789 @@ -1010,7 +1021,7 @@
16790  fi
16791  
16792  echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
16793 -echo "configure:1014: checking for working autoheader" >&5
16794 +echo "configure:1025: checking for working autoheader" >&5
16795  # Run test in a subshell; some versions of sh will print an error if
16796  # an executable is not found, even if stderr is redirected.
16797  # Redirect stdin to placate older versions of autoconf.  Sigh.
16798 @@ -1023,7 +1034,7 @@
16799  fi
16800  
16801  echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
16802 -echo "configure:1027: checking for working makeinfo" >&5
16803 +echo "configure:1038: checking for working makeinfo" >&5
16804  # Run test in a subshell; some versions of sh will print an error if
16805  # an executable is not found, even if stderr is redirected.
16806  # Redirect stdin to placate older versions of autoconf.  Sigh.
16807 @@ -1049,7 +1060,7 @@
16808  # Extract the first word of "gcc", so it can be a program name with args.
16809  set dummy gcc; ac_word=$2
16810  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16811 -echo "configure:1053: checking for $ac_word" >&5
16812 +echo "configure:1064: checking for $ac_word" >&5
16813  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
16814    echo $ac_n "(cached) $ac_c" 1>&6
16815  else
16816 @@ -1079,7 +1090,7 @@
16817    # Extract the first word of "cc", so it can be a program name with args.
16818  set dummy cc; ac_word=$2
16819  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16820 -echo "configure:1083: checking for $ac_word" >&5
16821 +echo "configure:1094: checking for $ac_word" >&5
16822  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
16823    echo $ac_n "(cached) $ac_c" 1>&6
16824  else
16825 @@ -1128,7 +1139,7 @@
16826  fi
16827  
16828  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
16829 -echo "configure:1132: checking whether we are using GNU C" >&5
16830 +echo "configure:1143: checking whether we are using GNU C" >&5
16831  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
16832    echo $ac_n "(cached) $ac_c" 1>&6
16833  else
16834 @@ -1137,7 +1148,7 @@
16835    yes;
16836  #endif
16837  EOF
16838 -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
16839 +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
16840    ac_cv_prog_gcc=yes
16841  else
16842    ac_cv_prog_gcc=no
16843 @@ -1152,7 +1163,7 @@
16844    ac_save_CFLAGS="$CFLAGS"
16845    CFLAGS=
16846    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
16847 -echo "configure:1156: checking whether ${CC-cc} accepts -g" >&5
16848 +echo "configure:1167: checking whether ${CC-cc} accepts -g" >&5
16849  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
16850    echo $ac_n "(cached) $ac_c" 1>&6
16851  else
16852 @@ -1189,7 +1200,7 @@
16853  # Extract the first word of "$ac_prog", so it can be a program name with args.
16854  set dummy $ac_prog; ac_word=$2
16855  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16856 -echo "configure:1193: checking for $ac_word" >&5
16857 +echo "configure:1204: checking for $ac_word" >&5
16858  if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
16859    echo $ac_n "(cached) $ac_c" 1>&6
16860  else
16861 @@ -1222,7 +1233,7 @@
16862  test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
16863  
16864  echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
16865 -echo "configure:1226: checking whether we are using GNU C++" >&5
16866 +echo "configure:1237: checking whether we are using GNU C++" >&5
16867  if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
16868    echo $ac_n "(cached) $ac_c" 1>&6
16869  else
16870 @@ -1231,7 +1242,7 @@
16871    yes;
16872  #endif
16873  EOF
16874 -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
16875 +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
16876    ac_cv_prog_gxx=yes
16877  else
16878    ac_cv_prog_gxx=no
16879 @@ -1246,7 +1257,7 @@
16880    ac_save_CXXFLAGS="$CXXFLAGS"
16881    CXXFLAGS=
16882    echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
16883 -echo "configure:1250: checking whether ${CXX-g++} accepts -g" >&5
16884 +echo "configure:1261: checking whether ${CXX-g++} accepts -g" >&5
16885  if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
16886    echo $ac_n "(cached) $ac_c" 1>&6
16887  else
16888 @@ -1279,7 +1290,7 @@
16889  # NEWLIB_CONFIGURE, which doesn't work because that means that it will
16890  # be run before AC_CANONICAL_HOST.
16891  echo $ac_n "checking build system type""... $ac_c" 1>&6
16892 -echo "configure:1283: checking build system type" >&5
16893 +echo "configure:1294: checking build system type" >&5
16894  
16895  build_alias=$build
16896  case "$build_alias" in
16897 @@ -1300,7 +1311,7 @@
16898  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
16899  set dummy ${ac_tool_prefix}as; ac_word=$2
16900  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16901 -echo "configure:1304: checking for $ac_word" >&5
16902 +echo "configure:1315: checking for $ac_word" >&5
16903  if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
16904    echo $ac_n "(cached) $ac_c" 1>&6
16905  else
16906 @@ -1332,7 +1343,7 @@
16907  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
16908  set dummy ${ac_tool_prefix}ar; ac_word=$2
16909  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16910 -echo "configure:1336: checking for $ac_word" >&5
16911 +echo "configure:1347: checking for $ac_word" >&5
16912  if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
16913    echo $ac_n "(cached) $ac_c" 1>&6
16914  else
16915 @@ -1364,7 +1375,7 @@
16916  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
16917  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
16918  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16919 -echo "configure:1368: checking for $ac_word" >&5
16920 +echo "configure:1379: checking for $ac_word" >&5
16921  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
16922    echo $ac_n "(cached) $ac_c" 1>&6
16923  else
16924 @@ -1396,7 +1407,7 @@
16925    # Extract the first word of "ranlib", so it can be a program name with args.
16926  set dummy ranlib; ac_word=$2
16927  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16928 -echo "configure:1400: checking for $ac_word" >&5
16929 +echo "configure:1411: checking for $ac_word" >&5
16930  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
16931    echo $ac_n "(cached) $ac_c" 1>&6
16932  else
16933 @@ -1441,7 +1452,7 @@
16934  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
16935  # ./install, which can be erroneously created by make from ./install.sh.
16936  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
16937 -echo "configure:1445: checking for a BSD compatible install" >&5
16938 +echo "configure:1456: checking for a BSD compatible install" >&5
16939  if test -z "$INSTALL"; then
16940  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
16941    echo $ac_n "(cached) $ac_c" 1>&6
16942 @@ -1495,7 +1506,7 @@
16943  
16944  
16945  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
16946 -echo "configure:1499: checking whether to enable maintainer-specific portions of Makefiles" >&5
16947 +echo "configure:1510: checking whether to enable maintainer-specific portions of Makefiles" >&5
16948      # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
16949  if test "${enable_maintainer_mode+set}" = set; then
16950    enableval="$enable_maintainer_mode"
16951 @@ -1533,7 +1544,7 @@
16952    
16953  
16954  echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
16955 -echo "configure:1537: checking for executable suffix" >&5
16956 +echo "configure:1548: checking for executable suffix" >&5
16957  if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
16958    echo $ac_n "(cached) $ac_c" 1>&6
16959  else
16960 @@ -1543,10 +1554,10 @@
16961    rm -f conftest*
16962    echo 'int main () { return 0; }' > conftest.$ac_ext
16963    ac_cv_exeext=
16964 -  if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
16965 +  if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
16966      for file in conftest.*; do
16967        case $file in
16968 -      *.c | *.o | *.obj) ;;
16969 +      *.c | *.o | *.obj | *.ilk | *.pdb) ;;
16970        *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
16971        esac
16972      done
16973 @@ -1665,7 +1676,7 @@
16974  if test "$GCC" = yes; then
16975    # Check if gcc -print-prog-name=ld gives a path.
16976    echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
16977 -echo "configure:1669: checking for ld used by GCC" >&5
16978 +echo "configure:1680: checking for ld used by GCC" >&5
16979    case $host in
16980    *-*-mingw*)
16981      # gcc leaves a trailing carriage return which upsets mingw
16982 @@ -1695,10 +1706,10 @@
16983    esac
16984  elif test "$with_gnu_ld" = yes; then
16985    echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
16986 -echo "configure:1699: checking for GNU ld" >&5
16987 +echo "configure:1710: checking for GNU ld" >&5
16988  else
16989    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
16990 -echo "configure:1702: checking for non-GNU ld" >&5
16991 +echo "configure:1713: checking for non-GNU ld" >&5
16992  fi
16993  if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
16994    echo $ac_n "(cached) $ac_c" 1>&6
16995 @@ -1733,7 +1744,7 @@
16996  fi
16997  test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
16998  echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
16999 -echo "configure:1737: checking if the linker ($LD) is GNU ld" >&5
17000 +echo "configure:1748: checking if the linker ($LD) is GNU ld" >&5
17001  if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
17002    echo $ac_n "(cached) $ac_c" 1>&6
17003  else
17004 @@ -1750,7 +1761,7 @@
17005  
17006  
17007  echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
17008 -echo "configure:1754: checking for $LD option to reload object files" >&5
17009 +echo "configure:1765: checking for $LD option to reload object files" >&5
17010  if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
17011    echo $ac_n "(cached) $ac_c" 1>&6
17012  else
17013 @@ -1762,7 +1773,7 @@
17014  test -n "$reload_flag" && reload_flag=" $reload_flag"
17015  
17016  echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
17017 -echo "configure:1766: checking for BSD-compatible nm" >&5
17018 +echo "configure:1777: checking for BSD-compatible nm" >&5
17019  if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
17020    echo $ac_n "(cached) $ac_c" 1>&6
17021  else
17022 @@ -1800,7 +1811,7 @@
17023  echo "$ac_t""$NM" 1>&6
17024  
17025  echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
17026 -echo "configure:1804: checking whether ln -s works" >&5
17027 +echo "configure:1815: checking whether ln -s works" >&5
17028  if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
17029    echo $ac_n "(cached) $ac_c" 1>&6
17030  else
17031 @@ -1821,7 +1832,7 @@
17032  fi
17033  
17034  echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
17035 -echo "configure:1825: checking how to recognise dependant libraries" >&5
17036 +echo "configure:1836: checking how to recognise dependant libraries" >&5
17037  if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
17038    echo $ac_n "(cached) $ac_c" 1>&6
17039  else
17040 @@ -1994,13 +2005,13 @@
17041  deplibs_check_method=$lt_cv_deplibs_check_method
17042  
17043  echo $ac_n "checking for object suffix""... $ac_c" 1>&6
17044 -echo "configure:1998: checking for object suffix" >&5
17045 +echo "configure:2009: checking for object suffix" >&5
17046  if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
17047    echo $ac_n "(cached) $ac_c" 1>&6
17048  else
17049    rm -f conftest*
17050  echo 'int i = 1;' > conftest.$ac_ext
17051 -if { (eval echo configure:2004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17052 +if { (eval echo configure:2015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17053    for ac_file in conftest.*; do
17054      case $ac_file in
17055      *.c) ;;
17056 @@ -2024,7 +2035,7 @@
17057  file_magic*)
17058    if test "$file_magic_cmd" = '$MAGIC_CMD'; then
17059      echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
17060 -echo "configure:2028: checking for ${ac_tool_prefix}file" >&5
17061 +echo "configure:2039: checking for ${ac_tool_prefix}file" >&5
17062  if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
17063    echo $ac_n "(cached) $ac_c" 1>&6
17064  else
17065 @@ -2086,7 +2097,7 @@
17066  if test -z "$lt_cv_path_MAGIC_CMD"; then
17067    if test -n "$ac_tool_prefix"; then
17068      echo $ac_n "checking for file""... $ac_c" 1>&6
17069 -echo "configure:2090: checking for file" >&5
17070 +echo "configure:2101: checking for file" >&5
17071  if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
17072    echo $ac_n "(cached) $ac_c" 1>&6
17073  else
17074 @@ -2157,7 +2168,7 @@
17075  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
17076  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
17077  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17078 -echo "configure:2161: checking for $ac_word" >&5
17079 +echo "configure:2172: checking for $ac_word" >&5
17080  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
17081    echo $ac_n "(cached) $ac_c" 1>&6
17082  else
17083 @@ -2189,7 +2200,7 @@
17084    # Extract the first word of "ranlib", so it can be a program name with args.
17085  set dummy ranlib; ac_word=$2
17086  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17087 -echo "configure:2193: checking for $ac_word" >&5
17088 +echo "configure:2204: checking for $ac_word" >&5
17089  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
17090    echo $ac_n "(cached) $ac_c" 1>&6
17091  else
17092 @@ -2224,7 +2235,7 @@
17093  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
17094  set dummy ${ac_tool_prefix}strip; ac_word=$2
17095  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17096 -echo "configure:2228: checking for $ac_word" >&5
17097 +echo "configure:2239: checking for $ac_word" >&5
17098  if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
17099    echo $ac_n "(cached) $ac_c" 1>&6
17100  else
17101 @@ -2256,7 +2267,7 @@
17102    # Extract the first word of "strip", so it can be a program name with args.
17103  set dummy strip; ac_word=$2
17104  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17105 -echo "configure:2260: checking for $ac_word" >&5
17106 +echo "configure:2271: checking for $ac_word" >&5
17107  if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
17108    echo $ac_n "(cached) $ac_c" 1>&6
17109  else
17110 @@ -2323,8 +2334,21 @@
17111  case $host in
17112  *-*-irix6*)
17113    # Find out which ABI we are using.
17114 -  echo '#line 2327 "configure"' > conftest.$ac_ext
17115 -  if { (eval echo configure:2328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17116 +  echo '#line 2338 "configure"' > conftest.$ac_ext
17117 +  if { (eval echo configure:2339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17118 +   if test "$lt_cv_prog_gnu_ld" = yes; then
17119 +    case `/usr/bin/file conftest.$ac_objext` in
17120 +    *32-bit*)
17121 +      LD="${LD-ld} -melf32bsmip"
17122 +      ;;
17123 +    *N32*)
17124 +      LD="${LD-ld} -melf32bmipn32"
17125 +      ;;
17126 +    *64-bit*)
17127 +      LD="${LD-ld} -melf64bmip"
17128 +      ;;
17129 +    esac
17130 +   else
17131      case `/usr/bin/file conftest.$ac_objext` in
17132      *32-bit*)
17133        LD="${LD-ld} -32"
17134 @@ -2336,6 +2360,7 @@
17135        LD="${LD-ld} -64"
17136        ;;
17137      esac
17138 +   fi
17139    fi
17140    rm -rf conftest*
17141    ;;
17142 @@ -2343,7 +2368,7 @@
17143  ia64-*-hpux*)
17144    # Find out which ABI we are using.
17145    echo 'int i;' > conftest.$ac_ext
17146 -  if { (eval echo configure:2347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17147 +  if { (eval echo configure:2372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17148      case "`/usr/bin/file conftest.o`" in
17149      *ELF-32*)
17150        HPUX_IA64_MODE="32"
17151 @@ -2359,7 +2384,7 @@
17152  x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
17153    # Find out which ABI we are using.
17154    echo 'int i;' > conftest.$ac_ext
17155 -  if { (eval echo configure:2363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17156 +  if { (eval echo configure:2388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17157      case "`/usr/bin/file conftest.o`" in
17158      *32-bit*)
17159        case $host in
17160 @@ -2403,7 +2428,7 @@
17161    SAVE_CFLAGS="$CFLAGS"
17162    CFLAGS="$CFLAGS -belf"
17163    echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
17164 -echo "configure:2407: checking whether the C compiler needs -belf" >&5
17165 +echo "configure:2432: checking whether the C compiler needs -belf" >&5
17166  if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
17167    echo $ac_n "(cached) $ac_c" 1>&6
17168  else
17169 @@ -2416,14 +2441,14 @@
17170  cross_compiling=$ac_cv_prog_cc_cross
17171  
17172       cat > conftest.$ac_ext <<EOF
17173 -#line 2420 "configure"
17174 +#line 2445 "configure"
17175  #include "confdefs.h"
17176  
17177  int main() {
17178  
17179  ; return 0; }
17180  EOF
17181 -if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17182 +if { (eval echo configure:2452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17183    rm -rf conftest*
17184    lt_cv_cc_needs_belf=yes
17185  else
17186 @@ -2453,7 +2478,7 @@
17187  esac
17188  
17189  echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
17190 -echo "configure:2457: checking how to run the C++ preprocessor" >&5
17191 +echo "configure:2482: checking how to run the C++ preprocessor" >&5
17192  if test -z "$CXXCPP"; then
17193  if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
17194    echo $ac_n "(cached) $ac_c" 1>&6
17195 @@ -2466,12 +2491,12 @@
17196  cross_compiling=$ac_cv_prog_cxx_cross
17197    CXXCPP="${CXX-g++} -E"
17198    cat > conftest.$ac_ext <<EOF
17199 -#line 2470 "configure"
17200 +#line 2495 "configure"
17201  #include "confdefs.h"
17202  #include <stdlib.h>
17203  EOF
17204  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
17205 -{ (eval echo configure:2475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
17206 +{ (eval echo configure:2500: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
17207  ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
17208  if test -z "$ac_err"; then
17209    :
17210 @@ -2618,7 +2643,7 @@
17211  
17212  
17213  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
17214 -echo "configure:2622: checking whether to enable maintainer-specific portions of Makefiles" >&5
17215 +echo "configure:2647: checking whether to enable maintainer-specific portions of Makefiles" >&5
17216      # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
17217  if test "${enable_maintainer_mode+set}" = set; then
17218    enableval="$enable_maintainer_mode"
17219 @@ -2651,7 +2676,7 @@
17220    
17221  
17222  echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
17223 -echo "configure:2655: checking for executable suffix" >&5
17224 +echo "configure:2680: checking for executable suffix" >&5
17225  if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
17226    echo $ac_n "(cached) $ac_c" 1>&6
17227  else
17228 @@ -2661,10 +2686,10 @@
17229    rm -f conftest*
17230    echo 'int main () { return 0; }' > conftest.$ac_ext
17231    ac_cv_exeext=
17232 -  if { (eval echo configure:2665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17233 +  if { (eval echo configure:2690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17234      for file in conftest.*; do
17235        case $file in
17236 -      *.c | *.o | *.obj) ;;
17237 +      *.c | *.o | *.obj | *.ilk | *.pdb) ;;
17238        *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
17239        esac
17240      done
17241 @@ -2684,7 +2709,7 @@
17242  fi
17243  
17244  echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6
17245 -echo "configure:2688: checking for thread model used by GCC" >&5
17246 +echo "configure:2713: checking for thread model used by GCC" >&5
17247  THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
17248  if test -z "$THREADS"; then
17249     THREADS=no
17250 @@ -2793,22 +2818,6 @@
17251       *-*-cygwin*)
17252         THREADLIBS=
17253         ;;
17254 -     *-*-darwin*)
17255 -       cat >> confdefs.h <<\EOF
17256 -#define GC_DARWIN_THREADS 1
17257 -EOF
17258 -
17259 -       cat >> confdefs.h <<\EOF
17260 -#define THREAD_LOCAL_ALLOC 1
17261 -EOF
17262 -
17263 -       if test "${enable_parallel_mark}" = yes; then
17264 -         cat >> confdefs.h <<\EOF
17265 -#define PARALLEL_MARK 1
17266 -EOF
17267 -
17268 -       fi
17269 -       ;;
17270      esac
17271      ;;
17272   win32)
17273 @@ -2820,6 +2829,12 @@
17274  #define NO_GETENV 1
17275  EOF
17276  
17277 +    if test $enable_shared = yes; then
17278 +      cat >> confdefs.h <<\EOF
17279 +#define GC_DLL 1
17280 +EOF
17281 +
17282 +    fi
17283      ;;
17284   decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17285      { echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
17286 @@ -2830,28 +2845,8 @@
17287  esac
17288  
17289  
17290 -case "$host" in 
17291 -   powerpc-*-darwin*)
17292 -      powerpc_darwin=true
17293 -      ;;
17294 -esac
17295 -
17296 -
17297 -if test x$powerpc_darwin = xtrue; then
17298 -  POWERPC_DARWIN_TRUE=
17299 -  POWERPC_DARWIN_FALSE='#'
17300 -else
17301 -  POWERPC_DARWIN_TRUE='#'
17302 -  POWERPC_DARWIN_FALSE=
17303 -fi
17304 -
17305 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17306 -# dyld calls anyway
17307 -case "$host" in
17308 -  *-*-darwin*) ;;
17309 -  *) 
17310 -    echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
17311 -echo "configure:2855: checking for dlopen in -ldl" >&5
17312 +echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
17313 +echo "configure:2850: checking for dlopen in -ldl" >&5
17314  ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
17315  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
17316    echo $ac_n "(cached) $ac_c" 1>&6
17317 @@ -2859,7 +2854,7 @@
17318    ac_save_LIBS="$LIBS"
17319  LIBS="-ldl  $LIBS"
17320  cat > conftest.$ac_ext <<EOF
17321 -#line 2863 "configure"
17322 +#line 2858 "configure"
17323  #include "confdefs.h"
17324  /* Override any gcc2 internal prototype to avoid an error.  */
17325  /* We use char because int might match the return type of a gcc2
17326 @@ -2870,7 +2865,7 @@
17327  dlopen()
17328  ; return 0; }
17329  EOF
17330 -if { (eval echo configure:2874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17331 +if { (eval echo configure:2869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17332    rm -rf conftest*
17333    eval "ac_cv_lib_$ac_lib_var=yes"
17334  else
17335 @@ -2890,9 +2885,6 @@
17336    echo "$ac_t""no" 1>&6
17337  fi
17338  
17339 -    ;;
17340 -esac
17341 -
17342  
17343  
17344  target_all=libgcjgc.la
17345 @@ -3108,15 +3100,17 @@
17346  fi
17347  
17348  
17349 -
17350 -
17351 -if test -z "$with_cross_host"; then
17352 -  USE_LIBDIR_TRUE=
17353 -  USE_LIBDIR_FALSE='#'
17354 +if test -n "$with_cross_host" &&
17355 +   test x"$with_cross_host" != x"no"; then
17356 +  toolexecdir='$(exec_prefix)/$(target_alias)'
17357 +  toolexeclibdir='$(toolexecdir)/lib'
17358  else
17359 -  USE_LIBDIR_TRUE='#'
17360 -  USE_LIBDIR_FALSE=
17361 +  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
17362 +  toolexeclibdir='$(libdir)'
17363  fi
17364 +toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
17365 +
17366 +
17367  
17368  if test "${multilib}" = "yes"; then
17369    multilib_arg="--enable-multilib"
17370 @@ -3313,16 +3307,14 @@
17371  s%@LIBTOOL@%$LIBTOOL%g
17372  s%@CXXCPP@%$CXXCPP%g
17373  s%@THREADLIBS@%$THREADLIBS%g
17374 -s%@POWERPC_DARWIN_TRUE@%$POWERPC_DARWIN_TRUE%g
17375 -s%@POWERPC_DARWIN_FALSE@%$POWERPC_DARWIN_FALSE%g
17376  s%@EXTRA_TEST_LIBS@%$EXTRA_TEST_LIBS%g
17377  s%@target_all@%$target_all%g
17378  s%@INCLUDES@%$INCLUDES%g
17379  s%@CXXINCLUDES@%$CXXINCLUDES%g
17380  s%@addobjs@%$addobjs%g
17381  s%@MY_CFLAGS@%$MY_CFLAGS%g
17382 -s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
17383 -s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
17384 +s%@toolexecdir@%$toolexecdir%g
17385 +s%@toolexeclibdir@%$toolexeclibdir%g
17386  
17387  CEOF
17388  EOF
17389 @@ -3331,7 +3323,7 @@
17390  
17391  # Split the substitutions into bite-sized pieces for seds with
17392  # small command number limits, like on Digital OSF/1 and HP-UX.
17393 -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
17394 +ac_max_sed_cmds=60 # Maximum number of lines to put in a sed script.
17395  ac_file=1 # Number of current file.
17396  ac_beg=1 # First line for current file.
17397  ac_end=$ac_max_sed_cmds # Line after last line for current file.
17398 @@ -3433,6 +3425,7 @@
17399  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17400  gc_basedir=${gc_basedir}
17401  CC="${CC}"
17402 +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
17403  DEFS="$DEFS"
17404  
17405  EOF
17406 diff -Nur ../boehm-gc/configure.in boehm-gc/configure.in
17407 --- ../boehm-gc/configure.in    Mon May 26 13:33:22 2003
17408 +++ boehm-gc/configure.in       Mon Apr 28 13:55:07 2003
17409 @@ -1,4 +1,4 @@
17410 -# Copyright (c) 1999, 2000, 2001, 2002 by Red Hat, Inc. All rights reserved.
17411 +# Copyright (c) 1999, 2000, 2001, 2002, 2003 by Red Hat, Inc. All rights reserved.
17412  # 
17413  # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
17414  # OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
17415 @@ -111,18 +111,14 @@
17416       *-*-cygwin*)
17417         THREADLIBS=
17418         ;;
17419 -     *-*-darwin*)
17420 -       AC_DEFINE(GC_DARWIN_THREADS)
17421 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17422 -       if test "${enable_parallel_mark}" = yes; then
17423 -         AC_DEFINE(PARALLEL_MARK)
17424 -       fi
17425 -       ;;
17426      esac
17427      ;;
17428   win32)
17429      AC_DEFINE(GC_WIN32_THREADS)
17430      AC_DEFINE(NO_GETENV)
17431 +    if test $enable_shared = yes; then
17432 +      AC_DEFINE(GC_DLL)
17433 +    fi
17434      ;;
17435   decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17436      AC_MSG_ERROR(thread package $THREADS not yet supported)
17437 @@ -133,22 +129,7 @@
17438  esac
17439  AC_SUBST(THREADLIBS)
17440  
17441 -case "$host" in 
17442 -   powerpc-*-darwin*)
17443 -      powerpc_darwin=true
17444 -      ;;
17445 -esac
17446 -AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue)
17447 -
17448 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17449 -# dyld calls anyway
17450 -case "$host" in
17451 -  *-*-darwin*) ;;
17452 -  *) 
17453 -    AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17454 -    ;;
17455 -esac
17456 -
17457 +AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17458  AC_SUBST(EXTRA_TEST_LIBS)
17459  
17460  target_all=libgcjgc.la
17461 @@ -289,7 +270,17 @@
17462      esac ]
17463    fi)
17464  
17465 -AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
17466 +if test -n "$with_cross_host" &&
17467 +   test x"$with_cross_host" != x"no"; then
17468 +  toolexecdir='$(exec_prefix)/$(target_alias)'
17469 +  toolexeclibdir='$(toolexecdir)/lib'
17470 +else
17471 +  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
17472 +  toolexeclibdir='$(libdir)'
17473 +fi
17474 +toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
17475 +AC_SUBST(toolexecdir)
17476 +AC_SUBST(toolexeclibdir)
17477  
17478  if test "${multilib}" = "yes"; then
17479    multilib_arg="--enable-multilib"
17480 @@ -313,5 +304,6 @@
17481  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17482  gc_basedir=${gc_basedir}
17483  CC="${CC}"
17484 +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
17485  DEFS="$DEFS"
17486  )
17487 diff -Nur ../boehm-gc/configure.in~ boehm-gc/configure.in~
17488 --- ../boehm-gc/configure.in~   Mon May 26 13:33:22 2003
17489 +++ boehm-gc/configure.in~      Wed Dec 31 16:00:00 1969
17490 @@ -1,317 +0,0 @@
17491 -# Copyright (c) 1999, 2000, 2001, 2002 by Red Hat, Inc. All rights reserved.
17492 -# 
17493 -# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
17494 -# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
17495 -# 
17496 -# Permission is hereby granted to use or copy this program
17497 -# for any purpose,  provided the above notices are retained on all copies.
17498 -# Permission to modify the code and to distribute modified code is granted,
17499 -# provided the above notices are retained, and a notice that the code was
17500 -# modified is included with the above copyright notice.
17501 -#
17502 -# Original author: Tom Tromey
17503 -
17504 -dnl Process this file with autoconf to produce configure.
17505 -
17506 -AC_INIT(gcj_mlc.c)
17507 -
17508 -# This works around the fact that libtool configuration may change LD
17509 -# for this particular configuration, but some shells, instead of
17510 -# keeping the changes in LD private, export them just because LD is
17511 -# exported.
17512 -ORIGINAL_LD_FOR_MULTILIBS=$LD
17513 -
17514 -dnl Can't be done in GC_CONFIGURE because that confuses automake. 
17515 -AC_CONFIG_AUX_DIR(.)
17516 -
17517 -GC_CONFIGURE(.)
17518 -
17519 -AM_PROG_LIBTOOL
17520 -
17521 -dnl We use these options to decide which functions to include.
17522 -AC_ARG_WITH(target-subdir,
17523 -[  --with-target-subdir=SUBDIR
17524 -                          configuring with a cross compiler])
17525 -AC_ARG_WITH(cross-host,
17526 -[  --with-cross-host=HOST  configuring with a cross compiler])
17527 -
17528 -AM_MAINTAINER_MODE
17529 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
17530 -# it is actually a problem, because the compiler we're passed can't
17531 -# necessarily do a full link.  So we fool automake here.
17532 -if false; then
17533 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
17534 -  # to nothing, so nothing would remain between `then' and `fi' if it
17535 -  # were not for the `:' below.
17536 -  :
17537 -  AC_EXEEXT
17538 -fi
17539 -
17540 -AC_MSG_CHECKING([for thread model used by GCC])
17541 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
17542 -if test -z "$THREADS"; then
17543 -   THREADS=no
17544 -fi
17545 -AC_MSG_RESULT([$THREADS])
17546 -
17547 -AC_ARG_ENABLE(parallel-mark,
17548 -[  --enable-parallel-mark      parallelize marking and free list construction],
17549 -   [case "$THREADS" in
17550 -      no | none | single)
17551 -       AC_MSG_ERROR([Parallel mark requires --enable-threads=x spec])
17552 -       ;;
17553 -    esac]
17554 -)
17555 -
17556 -INCLUDES=-I${srcdir}/include
17557 -THREADLIBS=
17558 -case "$THREADS" in
17559 - no | none | single)
17560 -    THREADS=none
17561 -    ;;
17562 - posix | pthreads)
17563 -    THREADS=posix
17564 -    THREADLIBS=-lpthread
17565 -    case "$host" in
17566 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
17567 -       AC_DEFINE(GC_LINUX_THREADS)
17568 -       AC_DEFINE(_REENTRANT)
17569 -        if test "${enable_parallel_mark}"; then
17570 -         AC_DEFINE(PARALLEL_MARK)
17571 -       fi
17572 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17573 -       ;;
17574 -     *-*-linux*)
17575 -       AC_DEFINE(GC_LINUX_THREADS)
17576 -       AC_DEFINE(_REENTRANT)
17577 -       ;;
17578 -     *-*-hpux*)
17579 -       AC_MSG_WARN("Only HP/UX 11 threads are supported.")
17580 -       AC_DEFINE(GC_HPUX_THREADS)
17581 -       AC_DEFINE(_POSIX_C_SOURCE,199506L)
17582 -       if test "${enable_parallel_mark}" = yes; then
17583 -         AC_DEFINE(PARALLEL_MARK)
17584 -       fi
17585 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17586 -       THREADLIBS="-lpthread -lrt"
17587 -       ;;
17588 -     *-*-freebsd*)
17589 -       AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.")
17590 -       AC_DEFINE(GC_FREEBSD_THREADS)
17591 -       INCLUDES="$INCLUDES -pthread"
17592 -       THREADLIBS=-pthread
17593 -       ;;
17594 -     *-*-solaris*)
17595 -       AC_DEFINE(GC_SOLARIS_THREADS)
17596 -       AC_DEFINE(GC_SOLARIS_PTHREADS)
17597 -       ;;
17598 -     *-*-irix*)
17599 -       AC_DEFINE(GC_IRIX_THREADS)
17600 -       ;;
17601 -     *-*-cygwin*)
17602 -       THREADLIBS=
17603 -       ;;
17604 -    esac
17605 -    ;;
17606 -     *-*-darwin*)
17607 -       AC_DEFINE(GC_DARWIN_THREADS)
17608 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17609 -       if test "${enable_parallel_mark}" = yes; then
17610 -         AC_DEFINE(PARALLEL_MARK)
17611 -       fi
17612 -       ;;
17613 - win32)
17614 -    AC_DEFINE(GC_WIN32_THREADS)
17615 -    AC_DEFINE(NO_GETENV)
17616 -    ;;
17617 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17618 -    AC_MSG_ERROR(thread package $THREADS not yet supported)
17619 -    ;;
17620 - *)
17621 -    AC_MSG_ERROR($THREADS is an unknown thread package)
17622 -    ;;
17623 -esac
17624 -AC_SUBST(THREADLIBS)
17625 -
17626 -case "$host" in 
17627 -   powerpc-*-darwin*)
17628 -      powerpc_darwin=true
17629 -      ;;
17630 -esac
17631 -AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue)
17632 -
17633 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17634 -# dyld calls anyway
17635 -case "$host" in
17636 -  *-*-darwin*) ;;
17637 -  *) 
17638 -    AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17639 -    ;;
17640 -esac
17641 -
17642 -AC_SUBST(EXTRA_TEST_LIBS)
17643 -
17644 -target_all=libgcjgc.la
17645 -AC_SUBST(target_all)
17646 -AC_SUBST(target_alias)
17647 -
17648 -dnl If the target is an eCos system, use the appropriate eCos
17649 -dnl I/O routines.
17650 -dnl FIXME: this should not be a local option but a global target
17651 -dnl system; at present there is no eCos target.
17652 -TARGET_ECOS="no"
17653 -AC_ARG_WITH(ecos,
17654 -[  --with-ecos             enable runtime eCos target support],
17655 -TARGET_ECOS="$with_ecos"
17656 -)
17657 -
17658 -addobjs=
17659 -CXXINCLUDES=
17660 -case "$TARGET_ECOS" in
17661 -   no)
17662 -      ;;
17663 -   *)
17664 -      AC_DEFINE(ECOS)
17665 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
17666 -      addobjs="$addobjs ecos.lo"
17667 -      ;;
17668 -esac
17669 -AC_SUBST(CXX)
17670 -
17671 -AC_SUBST(INCLUDES)
17672 -AC_SUBST(CXXINCLUDES)
17673 -
17674 -machdep=
17675 -case "$host" in
17676 - alpha*-*-openbsd*)
17677 -    machdep="alpha_mach_dep.lo"
17678 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
17679 -       AC_MSG_WARN(OpenBSD/Alpha without dlopen(). Shared library support is disabled)
17680 -       AM_DISABLE_SHARED
17681 -    fi
17682 -    ;;
17683 - alpha*-*-*)
17684 -    machdep="alpha_mach_dep.lo"
17685 -    ;;
17686 - i?86-*-solaris2.[[89]]*)
17687 -    AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED)
17688 -    ;;
17689 - mipstx39-*-elf*)
17690 -    machdep="mips_ultrix_mach_dep.lo"
17691 -    AC_DEFINE(STACKBASE, __stackbase)
17692 -    AC_DEFINE(DATASTART_IS_ETEXT)
17693 -    ;;
17694 - mips-dec-ultrix*)
17695 -    machdep="mips_ultrix_mach-dep.lo"
17696 -    ;;
17697 - mips*-*-linux*)
17698 -    ;;
17699 - mips-*-*)
17700 -    machdep="mips_sgi_mach_dep.lo"
17701 -    AC_DEFINE(NO_EXECUTE_PERMISSION)
17702 -    ;;
17703 - sparc-sun-solaris2.3*)
17704 -    machdep="sparc_mach_dep.lo"
17705 -    AC_DEFINE(SUNOS53_SHARED_LIB)
17706 -    ;;
17707 - sparc-sun-solaris2.*)
17708 -    machdep="sparc_mach_dep.lo"
17709 -    ;;
17710 - ia64-*-*)
17711 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
17712 -    ;;
17713 -esac
17714 -if test x"$machdep" = x; then
17715 -   machdep="mach_dep.lo"
17716 -fi
17717 -addobjs="$addobjs $machdep"
17718 -AC_SUBST(addobjs)
17719 -
17720 -dnl As of 4.13a2, the collector will not properly work on Solaris when
17721 -dnl built with gcc and -O.  So we remove -O in the appropriate case.
17722 -case "$host" in
17723 - sparc-sun-solaris2*)
17724 -    if test "$GCC" = yes; then
17725 -       new_CFLAGS=
17726 -       for i in $CFLAGS; do
17727 -         case "$i" in
17728 -          -O*)
17729 -             ;;
17730 -          *)
17731 -             new_CFLAGS="$new_CFLAGS $i"
17732 -             ;;
17733 -         esac
17734 -       done
17735 -       CFLAGS="$new_CFLAGS"
17736 -    fi
17737 -    ;;
17738 -esac
17739 -
17740 -dnl We need to override the top-level CFLAGS.  This is how we do it.
17741 -MY_CFLAGS="$CFLAGS"
17742 -AC_SUBST(MY_CFLAGS)
17743 -
17744 -dnl Include defines that have become de facto standard.
17745 -dnl ALL_INTERIOR_POINTERS can be overridden in startup code.
17746 -AC_DEFINE(SILENT)
17747 -AC_DEFINE(NO_SIGNALS)
17748 -AC_DEFINE(NO_EXECUTE_PERMISSION)
17749 -AC_DEFINE(ALL_INTERIOR_POINTERS)
17750 -
17751 -dnl By default, make the library as general as possible.
17752 -AC_DEFINE(JAVA_FINALIZATION)
17753 -AC_DEFINE(GC_GCJ_SUPPORT)
17754 -AC_DEFINE(ATOMIC_UNCOLLECTABLE)
17755 -
17756 -dnl This is something of a hack.  When cross-compiling we turn off
17757 -dnl some functionality. These is only correct when targetting an
17758 -dnl embedded system.  FIXME.
17759 -if test -n "${with_cross_host}"; then
17760 -   AC_DEFINE(NO_SIGSET)
17761 -   AC_DEFINE(NO_DEBUGGING)
17762 -fi
17763 -
17764 -AC_ARG_ENABLE(full-debug,
17765 -[  --enable-full-debug include full support for pointer backtracing etc.],
17766 -[ if test "$enable_full_debug" = "yes"; then
17767 -    AC_MSG_WARN("Must define GC_DEBUG and use debug alloc. in clients.")
17768 -    AC_DEFINE(KEEP_BACK_PTRS)
17769 -    AC_DEFINE(DBG_HDRS_ALL)
17770 -    case $host in
17771 -      ia64-*-linux* )
17772 -       AC_DEFINE(MAKE_BACK_GRAPH)
17773 -      ;;
17774 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
17775 -       AC_DEFINE(MAKE_BACK_GRAPH)
17776 -       AC_MSG_WARN("Client must not use -fomit-frame-pointer.")
17777 -       AC_DEFINE(SAVE_CALL_COUNT, 8)
17778 -      ;;
17779 -    esac ]
17780 -  fi)
17781 -
17782 -AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
17783 -
17784 -if test "${multilib}" = "yes"; then
17785 -  multilib_arg="--enable-multilib"
17786 -else
17787 -  multilib_arg=
17788 -fi
17789 -
17790 -AC_OUTPUT(Makefile include/Makefile, [
17791 -dnl Put all the -D options in a file.
17792 -echo "$DEFS" > boehm-cflags
17793 -
17794 -if test -n "$CONFIG_FILES"; then
17795 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
17796 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
17797 -fi],
17798 -srcdir=${srcdir}
17799 -host=${host}
17800 -target=${target}
17801 -with_multisubdir=${with_multisubdir}
17802 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
17803 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17804 -gc_basedir=${gc_basedir}
17805 -CC="${CC}"
17806 -DEFS="$DEFS"
17807 -)
17808 diff -Nur ../boehm-gc/darwin_stop_world.c boehm-gc/darwin_stop_world.c
17809 --- ../boehm-gc/darwin_stop_world.c     Sun Jun  1 14:17:58 2003
17810 +++ boehm-gc/darwin_stop_world.c        Wed Dec 31 16:00:00 1969
17811 @@ -1,200 +0,0 @@
17812 -#include "private/pthread_support.h"
17813 -
17814 -# if defined(GC_DARWIN_THREADS)
17815 -
17816 -#define DEBUG_THREADS 0
17817 -
17818 -/* From "Inside Mac OS X - Mach-O Runtime Architecture" published by Apple
17819 -   Page 49:
17820 -   "The space beneath the stack pointer, where a new stack frame would normally
17821 -   be allocated, is called the red zone. This area as shown in Figure 3-2 may
17822 -   be used for any purpose as long as a new stack frame does not need to be
17823 -   added to the stack."
17824 -   
17825 -   Page 50: "If a leaf procedure's red zone usage would exceed 224 bytes, then
17826 -   it must set up a stack frame just like routines that call other routines."
17827 -*/
17828 -#define PPC_RED_ZONE_SIZE 224
17829 -
17830 -void GC_push_all_stacks() {
17831 -    int i;
17832 -    kern_return_t r;
17833 -    GC_thread p;
17834 -    pthread_t me;
17835 -    ptr_t lo, hi;
17836 -#      if defined(POWERPC)
17837 -        ppc_thread_state_t state;
17838 -#      else
17839 -#              error FIXME for non-ppc OS X
17840 -#      endif
17841 -    mach_msg_type_number_t thread_state_count = MACHINE_THREAD_STATE_COUNT;
17842 -    
17843 -    me = pthread_self();
17844 -    if (!GC_thr_initialized) GC_thr_init();
17845 -    
17846 -    for(i=0;i<THREAD_TABLE_SZ;i++) {
17847 -        for(p=GC_threads[i];p!=0;p=p->next) {
17848 -            if(p -> flags & FINISHED) continue;
17849 -            if(pthread_equal(p->id,me)) {
17850 -                lo = GC_approx_sp();
17851 -            } else {
17852 -                /* Get the thread state (registers, etc) */
17853 -                r = thread_get_state(
17854 -                    p->stop_info.mach_thread,
17855 -                    MACHINE_THREAD_STATE,
17856 -                    (natural_t*)&state,
17857 -                    &thread_state_count);
17858 -                if(r != KERN_SUCCESS) ABORT("thread_get_state failed");
17859 -    
17860 -                #ifdef POWERPC
17861 -                    lo = (void*)(state.r1 - PPC_RED_ZONE_SIZE);
17862 -                    
17863 -                    GC_push_one(state.r0); 
17864 -                    GC_push_one(state.r2); 
17865 -                    GC_push_one(state.r3); 
17866 -                    GC_push_one(state.r4); 
17867 -                    GC_push_one(state.r5); 
17868 -                    GC_push_one(state.r6); 
17869 -                    GC_push_one(state.r7); 
17870 -                    GC_push_one(state.r8); 
17871 -                    GC_push_one(state.r9); 
17872 -                    GC_push_one(state.r10); 
17873 -                    GC_push_one(state.r11); 
17874 -                    GC_push_one(state.r12); 
17875 -                    GC_push_one(state.r13); 
17876 -                    GC_push_one(state.r14); 
17877 -                    GC_push_one(state.r15); 
17878 -                    GC_push_one(state.r16); 
17879 -                    GC_push_one(state.r17); 
17880 -                    GC_push_one(state.r18); 
17881 -                    GC_push_one(state.r19); 
17882 -                    GC_push_one(state.r20); 
17883 -                    GC_push_one(state.r21); 
17884 -                    GC_push_one(state.r22); 
17885 -                    GC_push_one(state.r23); 
17886 -                    GC_push_one(state.r24); 
17887 -                    GC_push_one(state.r25); 
17888 -                    GC_push_one(state.r26); 
17889 -                    GC_push_one(state.r27); 
17890 -                    GC_push_one(state.r28); 
17891 -                    GC_push_one(state.r29); 
17892 -                    GC_push_one(state.r30); 
17893 -                    GC_push_one(state.r31);
17894 -                #else
17895 -                #      error FIXME for non-PPC darwin
17896 -                #endif /* !POWERPC */
17897 -            } /* p != me */
17898 -            if(p->flags & MAIN_THREAD)
17899 -                hi = GC_stackbottom;
17900 -            else
17901 -                hi = p->stack_end;
17902 -            #if DEBUG_THREADS
17903 -                GC_printf3("Darwin: Stack for thread 0x%lx = [%lx,%lx)\n",
17904 -                    (unsigned long) p -> id,
17905 -                    (unsigned long) lo,
17906 -                    (unsigned long) hi
17907 -                );
17908 -            #endif
17909 -            GC_push_all_stack(lo,hi);
17910 -        } /* for(p=GC_threads[i]...) */
17911 -    } /* for(i=0;i<THREAD_TABLE_SZ...) */
17912 -}
17913 -
17914 -/* Caller holds allocation lock.       */
17915 -void GC_stop_world()
17916 -{
17917 -    int i;
17918 -    GC_thread p;
17919 -    pthread_t my_thread = pthread_self();
17920 -    kern_return_t kern_result;
17921 -    
17922 -    #if DEBUG_THREADS
17923 -    GC_printf1("Stopping the world from 0x%lx\n", pthread_self());
17924 -    #endif
17925 -       
17926 -    /* Make sure all free list construction has stopped before we start. */
17927 -    /* No new construction can start, since free list construction is  */
17928 -    /* required to acquire and release the GC lock before it starts,   */
17929 -    /* and we have the lock.                                           */
17930 -#   ifdef PARALLEL_MARK
17931 -      GC_acquire_mark_lock();
17932 -      GC_ASSERT(GC_fl_builder_count == 0);
17933 -      /* We should have previously waited for it to become zero. */
17934 -#   endif /* PARALLEL_MARK */
17935 -
17936 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
17937 -        for (p = GC_threads[i]; p != 0; p = p -> next) {
17938 -            if (p -> id == my_thread) continue;
17939 -            if (p -> flags & FINISHED) continue;
17940 -            if (p -> thread_blocked) /* Will wait */ continue;
17941 -            
17942 -            #if DEBUG_THREADS
17943 -            GC_printf1("Suspending thread 0x%lx\n", p -> id);
17944 -            #endif
17945 -            
17946 -            /* Suspend the thread */
17947 -            kern_result = thread_suspend(p->stop_info.mach_thread);
17948 -            if(kern_result != KERN_SUCCESS) ABORT("thread_suspend failed");            
17949 -        }
17950 -    }
17951 -    
17952 -#   ifdef MPROTECT_VDB
17953 -    if(GC_incremental) {
17954 -        extern void GC_mprotect_stop();
17955 -        GC_mprotect_stop();
17956 -    }
17957 -#   endif
17958 -    
17959 -#   ifdef PARALLEL_MARK
17960 -      GC_release_mark_lock();
17961 -#   endif
17962 -    #if DEBUG_THREADS
17963 -      GC_printf1("World stopped from 0x%lx\n", pthread_self());
17964 -    #endif
17965 -}
17966 -
17967 -/* Caller holds allocation lock, and has held it continuously since    */
17968 -/* the world stopped.                                                  */
17969 -void GC_start_world()
17970 -{
17971 -    pthread_t my_thread = pthread_self();
17972 -    int i;
17973 -    GC_thread p;
17974 -    kern_return_t kern_result;
17975 -
17976 -#   if DEBUG_THREADS
17977 -      GC_printf0("World starting\n");
17978 -#   endif
17979 -
17980 -#   ifdef MPROTECT_VDB
17981 -    if(GC_incremental) {
17982 -        extern void GC_mprotect_resume();
17983 -        GC_mprotect_resume();
17984 -    }
17985 -#   endif
17986 -
17987 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
17988 -        for (p = GC_threads[i]; p != 0; p = p -> next) {
17989 -            if (p -> id == my_thread) continue;
17990 -            if (p -> flags & FINISHED) continue;
17991 -            if (p -> thread_blocked) continue;
17992 -    
17993 -            #if DEBUG_THREADS
17994 -            GC_printf1("Resuming 0x%lx\n", p -> id);
17995 -            #endif
17996 -            
17997 -            /* Resume the thread */
17998 -            kern_result = thread_resume(p->stop_info.mach_thread);
17999 -            if(kern_result != KERN_SUCCESS) ABORT("thread_resume failed");
18000 -        }
18001 -    }
18002 -    #if DEBUG_THREADS
18003 -      GC_printf0("World started\n");
18004 -    #endif
18005 -}
18006 -
18007 -void GC_stop_init() {
18008 -
18009 -}
18010 -
18011 -#endif
18012 diff -Nur ../boehm-gc/dbg_mlc.c boehm-gc/dbg_mlc.c
18013 --- ../boehm-gc/dbg_mlc.c       Mon May 26 12:48:52 2003
18014 +++ boehm-gc/dbg_mlc.c  Tue Feb 12 21:38:39 2002
18015 @@ -60,7 +60,7 @@
18016  # include <stdlib.h>
18017  
18018  # if defined(LINUX) || defined(SUNOS4) || defined(SUNOS5) \
18019 -     || defined(HPUX) || defined(IRIX5) || defined(OSF1)
18020 +     || defined(HPUX) || defined(IRIX) || defined(OSF1)
18021  #   define RANDOM() random()
18022  # else
18023  #   define RANDOM() (long)rand()
18024 @@ -228,8 +228,6 @@
18025      
18026  #endif /* KEEP_BACK_PTRS */
18027  
18028 -# define CROSSES_HBLK(p, sz) \
18029 -       (((word)(p + sizeof(oh) + sz - 1) ^ (word)p) >= HBLKSIZE)
18030  /* Store debugging info into p.  Return displaced pointer. */
18031  /* Assumes we don't hold allocation lock.                 */
18032  ptr_t GC_store_debug_info(p, sz, string, integer)
18033 @@ -245,8 +243,6 @@
18034      /* But that's expensive.  And this way things should only appear   */
18035      /* inconsistent while we're in the handler.                                */
18036      LOCK();
18037 -    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
18038 -    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
18039  #   ifdef KEEP_BACK_PTRS
18040        ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
18041  #   endif
18042 @@ -279,8 +275,6 @@
18043      /* There is some argument that we should disable signals here.     */
18044      /* But that's expensive.  And this way things should only appear   */
18045      /* inconsistent while we're in the handler.                                */
18046 -    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
18047 -    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
18048  #   ifdef KEEP_BACK_PTRS
18049        ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
18050  #   endif
18051 @@ -330,11 +324,10 @@
18052  {
18053      register oh * ohdr = (oh *)GC_base(p);
18054      
18055 -    GC_ASSERT(!I_HOLD_LOCK());
18056      GC_err_printf1("0x%lx (", ((unsigned long)ohdr + sizeof(oh)));
18057      GC_err_puts(ohdr -> oh_string);
18058  #   ifdef SHORT_DBG_HDRS
18059 -      GC_err_printf1(":%ld)\n", (unsigned long)(ohdr -> oh_int));
18060 +      GC_err_printf1(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int));
18061  #   else
18062        GC_err_printf2(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int),
18063                                         (unsigned long)(ohdr -> oh_sz));
18064 @@ -349,7 +342,6 @@
18065      ptr_t p;
18066  # endif
18067  {
18068 -    GC_ASSERT(!I_HOLD_LOCK());
18069      if (GC_HAS_DEBUG_INFO(p)) {
18070         GC_print_obj(p);
18071      } else {
18072 @@ -363,7 +355,6 @@
18073  {
18074      register oh * ohdr = (oh *)GC_base(p);
18075      
18076 -    GC_ASSERT(!I_HOLD_LOCK());
18077      GC_err_printf2("0x%lx in object at 0x%lx(", (unsigned long)clobbered_addr,
18078                                                 (unsigned long)p);
18079      if (clobbered_addr <= (ptr_t)(&(ohdr -> oh_sz))
18080 @@ -385,18 +376,14 @@
18081  
18082  void GC_check_heap_proc GC_PROTO((void));
18083  
18084 -void GC_print_all_smashed_proc GC_PROTO((void));
18085 -
18086  void GC_do_nothing() {}
18087  
18088  void GC_start_debugging()
18089  {
18090  #   ifndef SHORT_DBG_HDRS
18091        GC_check_heap = GC_check_heap_proc;
18092 -      GC_print_all_smashed = GC_print_all_smashed_proc;
18093  #   else
18094        GC_check_heap = GC_do_nothing;
18095 -      GC_print_all_smashed = GC_do_nothing;
18096  #   endif
18097      GC_print_heap_obj = GC_debug_print_heap_obj_proc;
18098      GC_debugging_started = TRUE;
18099 @@ -442,62 +429,6 @@
18100      return (GC_store_debug_info(result, (word)lb, s, (word)i));
18101  }
18102  
18103 -# ifdef __STDC__
18104 -    GC_PTR GC_debug_malloc_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
18105 -# else
18106 -    GC_PTR GC_debug_malloc_ignore_off_page(lb, s, i)
18107 -    size_t lb;
18108 -    char * s;
18109 -    int i;
18110 -#   ifdef GC_ADD_CALLER
18111 -       --> GC_ADD_CALLER not implemented for K&R C
18112 -#   endif
18113 -# endif
18114 -{
18115 -    GC_PTR result = GC_malloc_ignore_off_page(lb + DEBUG_BYTES);
18116 -    
18117 -    if (result == 0) {
18118 -        GC_err_printf1("GC_debug_malloc_ignore_off_page(%ld) returning NIL (",
18119 -                      (unsigned long) lb);
18120 -        GC_err_puts(s);
18121 -        GC_err_printf1(":%ld)\n", (unsigned long)i);
18122 -        return(0);
18123 -    }
18124 -    if (!GC_debugging_started) {
18125 -       GC_start_debugging();
18126 -    }
18127 -    ADD_CALL_CHAIN(result, ra);
18128 -    return (GC_store_debug_info(result, (word)lb, s, (word)i));
18129 -}
18130 -
18131 -# ifdef __STDC__
18132 -    GC_PTR GC_debug_malloc_atomic_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
18133 -# else
18134 -    GC_PTR GC_debug_malloc_atomic_ignore_off_page(lb, s, i)
18135 -    size_t lb;
18136 -    char * s;
18137 -    int i;
18138 -#   ifdef GC_ADD_CALLER
18139 -       --> GC_ADD_CALLER not implemented for K&R C
18140 -#   endif
18141 -# endif
18142 -{
18143 -    GC_PTR result = GC_malloc_atomic_ignore_off_page(lb + DEBUG_BYTES);
18144 -    
18145 -    if (result == 0) {
18146 -        GC_err_printf1("GC_debug_malloc_atomic_ignore_off_page(%ld)"
18147 -                      " returning NIL (", (unsigned long) lb);
18148 -        GC_err_puts(s);
18149 -        GC_err_printf1(":%ld)\n", (unsigned long)i);
18150 -        return(0);
18151 -    }
18152 -    if (!GC_debugging_started) {
18153 -       GC_start_debugging();
18154 -    }
18155 -    ADD_CALL_CHAIN(result, ra);
18156 -    return (GC_store_debug_info(result, (word)lb, s, (word)i));
18157 -}
18158 -
18159  # ifdef DBG_HDRS_ALL
18160  /* 
18161   * An allocation function for internal use.
18162 @@ -516,7 +447,7 @@
18163                        (unsigned long) lb);
18164          return(0);
18165      }
18166 -    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
18167 +    ADD_CALL_CHAIN(result, ra);
18168      return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
18169    }
18170  
18171 @@ -530,7 +461,7 @@
18172                        (unsigned long) lb);
18173          return(0);
18174      }
18175 -    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
18176 +    ADD_CALL_CHAIN(result, ra);
18177      return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
18178    }
18179  # endif
18180 @@ -661,7 +592,7 @@
18181      int i;
18182  # endif
18183  {
18184 -    GC_PTR result = GC_malloc_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
18185 +    GC_PTR result = GC_malloc_uncollectable(lb + DEBUG_BYTES);
18186      
18187      if (result == 0) {
18188          GC_err_printf1("GC_debug_malloc_uncollectable(%ld) returning NIL (",
18189 @@ -687,8 +618,7 @@
18190      int i;
18191  # endif
18192  {
18193 -    GC_PTR result =
18194 -       GC_malloc_atomic_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
18195 +    GC_PTR result = GC_malloc_atomic_uncollectable(lb + DEBUG_BYTES);
18196      
18197      if (result == 0) {
18198          GC_err_printf1(
18199 @@ -844,45 +774,6 @@
18200  }
18201  
18202  #ifndef SHORT_DBG_HDRS
18203 -
18204 -/* List of smashed objects.  We defer printing these, since we can't   */
18205 -/* always print them nicely with the allocation lock held.             */
18206 -/* We put them here instead of in GC_arrays, since it may be useful to */
18207 -/* be able to look at them with the debugger.                          */
18208 -#define MAX_SMASHED 20
18209 -ptr_t GC_smashed[MAX_SMASHED];
18210 -unsigned GC_n_smashed = 0;
18211 -
18212 -# if defined(__STDC__) || defined(__cplusplus)
18213 -    void GC_add_smashed(ptr_t smashed)
18214 -# else
18215 -    void GC_add_smashed(smashed)
18216 -    ptr_t smashed;
18217 -#endif
18218 -{
18219 -    GC_ASSERT(GC_is_marked(GC_base(smashed)));
18220 -    GC_smashed[GC_n_smashed] = smashed;
18221 -    if (GC_n_smashed < MAX_SMASHED - 1) ++GC_n_smashed;
18222 -      /* In case of overflow, we keep the first MAX_SMASHED-1  */
18223 -      /* entries plus the last one.                            */
18224 -    GC_have_errors = TRUE;
18225 -}
18226 -
18227 -/* Print all objects on the list.  Clear the list.     */
18228 -void GC_print_all_smashed_proc ()
18229 -{
18230 -    unsigned i;
18231 -
18232 -    GC_ASSERT(!I_HOLD_LOCK());
18233 -    if (GC_n_smashed == 0) return;
18234 -    GC_err_printf0("GC_check_heap_block: found smashed heap objects:\n");
18235 -    for (i = 0; i < GC_n_smashed; ++i) {
18236 -        GC_print_smashed_obj(GC_base(GC_smashed[i]), GC_smashed[i]);
18237 -       GC_smashed[i] = 0;
18238 -    }
18239 -    GC_n_smashed = 0;
18240 -}
18241 -
18242  /* Check all marked objects in the given block for validity */
18243  /*ARGSUSED*/
18244  # if defined(__STDC__) || defined(__cplusplus)
18245 @@ -911,7 +802,11 @@
18246                 && GC_HAS_DEBUG_INFO((ptr_t)p)) {
18247                 ptr_t clobbered = GC_check_annotated_obj((oh *)p);
18248                 
18249 -               if (clobbered != 0) GC_add_smashed(clobbered);
18250 +               if (clobbered != 0) {
18251 +                   GC_err_printf0(
18252 +                       "GC_check_heap_block: found smashed location at ");
18253 +                   GC_print_smashed_obj((ptr_t)p, clobbered);
18254 +               }
18255             }
18256             word_no += sz;
18257             p += sz;
18258 @@ -924,11 +819,9 @@
18259  void GC_check_heap_proc()
18260  {
18261  #   ifndef SMALL_CONFIG
18262 -#     ifdef ALIGN_DOUBLE
18263 -        GC_STATIC_ASSERT((sizeof(oh) & (2 * sizeof(word) - 1)) == 0);
18264 -#     else
18265 -        GC_STATIC_ASSERT((sizeof(oh) & (sizeof(word) - 1)) == 0);
18266 -#     endif
18267 +       if (sizeof(oh) & (2 * sizeof(word) - 1) != 0) {
18268 +           ABORT("Alignment problem: object header has inappropriate size\n");
18269 +       }
18270  #   endif
18271      GC_apply_to_all_blocks(GC_check_heap_block, (word)0);
18272  }
18273 @@ -949,12 +842,12 @@
18274  # endif
18275  {
18276      struct closure * result =
18277 -#   ifdef DBG_HDRS_ALL
18278 -      (struct closure *) GC_debug_malloc(sizeof (struct closure),
18279 -                                        GC_EXTRAS);
18280 -#   else
18281 -      (struct closure *) GC_malloc(sizeof (struct closure));
18282 -#   endif
18283 +#              ifdef DBG_HDRS_ALL
18284 +                 (struct closure *) GC_debug_malloc(sizeof (struct closure),
18285 +                                                    GC_EXTRAS);
18286 +#              else
18287 +                 (struct closure *) GC_malloc(sizeof (struct closure));
18288 +#              endif
18289      
18290      result -> cl_fn = fn;
18291      result -> cl_data = data;
18292 @@ -1015,7 +908,7 @@
18293      ptr_t base = GC_base(obj);
18294      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
18295          GC_err_printf1(
18296 -           "GC_debug_register_finalizer called with non-base-pointer 0x%lx\n",
18297 +           "GC_register_finalizer called with non-base-pointer 0x%lx\n",
18298             obj);
18299      }
18300      if (0 == fn) {
18301 @@ -1047,7 +940,7 @@
18302      ptr_t base = GC_base(obj);
18303      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
18304          GC_err_printf1(
18305 -         "GC_debug_register_finalizer_no_order called with non-base-pointer 0x%lx\n",
18306 +         "GC_register_finalizer_no_order called with non-base-pointer 0x%lx\n",
18307           obj);
18308      }
18309      if (0 == fn) {
18310 @@ -1080,7 +973,7 @@
18311      ptr_t base = GC_base(obj);
18312      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
18313          GC_err_printf1(
18314 -           "GC_debug_register_finalizer_ignore_self called with non-base-pointer 0x%lx\n",
18315 +           "GC_register_finalizer_ignore_self called with non-base-pointer 0x%lx\n",
18316             obj);
18317      }
18318      if (0 == fn) {
18319 diff -Nur ../boehm-gc/dyn_load.c boehm-gc/dyn_load.c
18320 --- ../boehm-gc/dyn_load.c      Mon May 26 12:48:52 2003
18321 +++ boehm-gc/dyn_load.c Mon Mar  3 22:38:30 2003
18322 @@ -55,10 +55,9 @@
18323      !defined(MSWIN32) && !defined(MSWINCE) && \
18324      !(defined(ALPHA) && defined(OSF1)) && \
18325      !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \
18326 -    !defined(RS6000) && !defined(SCO_ELF) && !defined(DGUX) && \
18327 +    !defined(RS6000) && !defined(SCO_ELF) && \
18328      !(defined(FREEBSD) && defined(__ELF__)) && \
18329 -    !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
18330 -    !defined(DARWIN)
18331 +    !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD)
18332   --> We only know how to find data segments of dynamic libraries for the
18333   --> above.  Additional SVR4 variants might not be too
18334   --> hard to add.
18335 @@ -81,7 +80,7 @@
18336  #endif
18337  
18338  #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
18339 -    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
18340 +    (defined(FREEBSD) && defined(__ELF__)) || \
18341      (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
18342  #   include <stddef.h>
18343  #   include <elf.h>
18344 @@ -265,7 +264,7 @@
18345  # endif /* SUNOS */
18346  
18347  #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
18348 -    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
18349 +    (defined(FREEBSD) && defined(__ELF__)) || \
18350      (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
18351  
18352  
18353 @@ -283,23 +282,56 @@
18354         /* Repeatedly read until buffer is filled, or EOF is encountered */
18355         /* Defined in os_dep.c.                                          */
18356  
18357 -char *GC_parse_map_entry(char *buf_ptr, word *start, word *end,
18358 -                         char *prot_buf, unsigned int *maj_dev);
18359 -word GC_apply_to_maps(word (*fn)(char *));
18360 -       /* From os_dep.c        */
18361 +static char *parse_map_entry(char *buf_ptr, word *start, word *end,
18362 +                             char *prot_buf, unsigned int *maj_dev);
18363  
18364 -word GC_register_map_entries(char *maps)
18365 +void GC_register_dynamic_libraries()
18366  {
18367 +    int f;
18368 +    int result;
18369      char prot_buf[5];
18370 -    char *buf_ptr = maps;
18371 +    int maps_size;
18372 +    char maps_temp[32768];
18373 +    char *maps_buf;
18374 +    char *buf_ptr;
18375      int count;
18376      word start, end;
18377 -    unsigned int maj_dev;
18378 +    unsigned int maj_dev, min_dev;
18379      word least_ha, greatest_ha;
18380      unsigned i;
18381      word datastart = (word)(DATASTART);
18382  
18383 -    /* Compute heap bounds. FIXME: Should be done by add_to_heap?      */
18384 +    /* Read /proc/self/maps    */
18385 +        /* Note that we may not allocate, and thus can't use stdio.    */
18386 +        f = open("/proc/self/maps", O_RDONLY);
18387 +        if (-1 == f) ABORT("Couldn't open /proc/self/maps");
18388 +       /* stat() doesn't work for /proc/self/maps, so we have to
18389 +          read it to find out how large it is... */
18390 +       maps_size = 0;
18391 +       do {
18392 +           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
18393 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
18394 +           maps_size += result;
18395 +       } while (result == sizeof(maps_temp));
18396 +
18397 +       if (maps_size > sizeof(maps_temp)) {
18398 +           /* If larger than our buffer, close and re-read it. */
18399 +           close(f);
18400 +           f = open("/proc/self/maps", O_RDONLY);
18401 +           if (-1 == f) ABORT("Couldn't open /proc/self/maps");
18402 +           maps_buf = alloca(maps_size);
18403 +           if (NULL == maps_buf) ABORT("/proc/self/maps alloca failed");
18404 +           result = GC_repeat_read(f, maps_buf, maps_size);
18405 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
18406 +       } else {
18407 +           /* Otherwise use the fixed size buffer */
18408 +           maps_buf = maps_temp;
18409 +       }
18410 +
18411 +       close(f);
18412 +        maps_buf[result] = '\0';
18413 +        buf_ptr = maps_buf;
18414 +    /* Compute heap bounds. Should be done by add_to_heap?     */
18415         least_ha = (word)(-1);
18416         greatest_ha = 0;
18417         for (i = 0; i < GC_n_heap_sects; ++i) {
18418 @@ -310,10 +342,11 @@
18419          }
18420         if (greatest_ha < (word)GC_scratch_last_end_ptr)
18421             greatest_ha = (word)GC_scratch_last_end_ptr; 
18422 -
18423      for (;;) {
18424 -        buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
18425 -       if (buf_ptr == NULL) return 1;
18426 +
18427 +        buf_ptr = parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
18428 +       if (buf_ptr == NULL) return;
18429 +
18430         if (prot_buf[1] == 'w') {
18431             /* This is a writable mapping.  Add it to           */
18432             /* the root set unless it is already otherwise      */
18433 @@ -325,7 +358,16 @@
18434  #          ifdef THREADS
18435               if (GC_segment_is_thread_stack(start, end)) continue;
18436  #          endif
18437 -           /* We no longer exclude the main data segment.              */
18438 +           /* The rest of this assumes that there is no mapping        */
18439 +           /* spanning the beginning of the data segment, or extending */
18440 +           /* beyond the entire heap at both ends.                     */
18441 +           /* Empirically these assumptions hold.                      */
18442 +           
18443 +           if (start < (word)DATAEND && end > (word)DATAEND) {
18444 +               /* Rld may use space at the end of the main data        */
18445 +               /* segment.  Thus we add that in.                       */
18446 +               start = (word)DATAEND;
18447 +           }
18448             if (start < least_ha && end > least_ha) {
18449                 end = least_ha;
18450             }
18451 @@ -335,14 +377,7 @@
18452             if (start >= least_ha && end <= greatest_ha) continue;
18453             GC_add_roots_inner((char *)start, (char *)end, TRUE);
18454         }
18455 -    }
18456 -    return 1;
18457 -}
18458 -
18459 -void GC_register_dynamic_libraries()
18460 -{
18461 -   if (!GC_apply_to_maps(GC_register_map_entries))
18462 -       ABORT("Failed to read /proc for library registration.");
18463 +     }
18464  }
18465  
18466  /* We now take care of the main data segment ourselves: */
18467 @@ -352,6 +387,60 @@
18468  }
18469    
18470  # define HAVE_REGISTER_MAIN_STATIC_DATA
18471 +//
18472 +//  parse_map_entry parses an entry from /proc/self/maps so we can
18473 +//  locate all writable data segments that belong to shared libraries.
18474 +//  The format of one of these entries and the fields we care about
18475 +//  is as follows:
18476 +//  XXXXXXXX-XXXXXXXX r-xp 00000000 30:05 260537     name of mapping...\n
18477 +//  ^^^^^^^^ ^^^^^^^^ ^^^^          ^^
18478 +//  start    end      prot          maj_dev
18479 +//  0        9        18            32
18480 +//
18481 +//  The parser is called with a pointer to the entry and the return value
18482 +//  is either NULL or is advanced to the next entry(the byte after the
18483 +//  trailing '\n'.)
18484 +//
18485 +#define OFFSET_MAP_START   0
18486 +#define OFFSET_MAP_END     9
18487 +#define OFFSET_MAP_PROT   18
18488 +#define OFFSET_MAP_MAJDEV 32
18489 +
18490 +static char *parse_map_entry(char *buf_ptr, word *start, word *end,
18491 +                             char *prot_buf, unsigned int *maj_dev)
18492 +{
18493 +    int i;
18494 +    unsigned int val;
18495 +    char *tok;
18496 +
18497 +    if (buf_ptr == NULL || *buf_ptr == '\0') {
18498 +        return NULL;
18499 +    }
18500 +
18501 +    memcpy(prot_buf, buf_ptr+OFFSET_MAP_PROT, 4); // do the protections first
18502 +    prot_buf[4] = '\0';
18503 +
18504 +    if (prot_buf[1] == 'w') { // we can skip all of this if it's not writable
18505 +
18506 +        tok = buf_ptr;
18507 +        buf_ptr[OFFSET_MAP_START+8] = '\0';
18508 +        *start = strtoul(tok, NULL, 16);
18509 +
18510 +        tok = buf_ptr+OFFSET_MAP_END;
18511 +        buf_ptr[OFFSET_MAP_END+8] = '\0';
18512 +        *end = strtoul(tok, NULL, 16);
18513 +
18514 +        buf_ptr += OFFSET_MAP_MAJDEV;
18515 +        tok = buf_ptr;
18516 +        while (*buf_ptr != ':') buf_ptr++;
18517 +        *buf_ptr++ = '\0';
18518 +        *maj_dev = strtoul(tok, NULL, 16);
18519 +    }
18520 +
18521 +    while (*buf_ptr && *buf_ptr++ != '\n');
18522 +
18523 +    return buf_ptr;
18524 +}
18525  
18526  #endif /* USE_PROC_FOR_LIBRARIES */
18527  
18528 @@ -419,7 +508,6 @@
18529            GC_add_roots_inner(DATASTART2, (char *)(DATAEND2), TRUE);
18530  #       endif
18531      }
18532 -
18533      return TRUE;
18534    } else {
18535      return FALSE;
18536 @@ -542,7 +630,6 @@
18537         /* The type is a lie, since the real type doesn't make sense here, */
18538         /* and we only test for NULL.                                      */
18539  
18540 -
18541  /* We use /proc to track down all parts of the address space that are  */
18542  /* mapped by the process, and throw out regions we know we shouldn't   */
18543  /* worry about.  This may also work under other SVR4 variants.         */
18544 @@ -969,122 +1056,7 @@
18545  }
18546  #endif /* RS6000 */
18547  
18548 -#ifdef DARWIN
18549 -
18550 -#include <mach-o/dyld.h>
18551 -#include <mach-o/getsect.h>
18552 -
18553 -/*#define DARWIN_DEBUG*/
18554 -    
18555 -const static struct { 
18556 -    const char *seg;
18557 -    const char *sect;
18558 -} GC_dyld_sections[] = {
18559 -    { SEG_DATA, SECT_DATA },
18560 -    { SEG_DATA, SECT_BSS },
18561 -    { SEG_DATA, SECT_COMMON }
18562 -};
18563 -
18564 -#ifdef DARWIN_DEBUG
18565 -static const char *GC_dyld_name_for_hdr(struct mach_header *hdr) {
18566 -    unsigned long i,c;
18567 -    c = _dyld_image_count();
18568 -    for(i=0;i<c;i++) if(_dyld_get_image_header(i) == hdr)
18569 -        return _dyld_get_image_name(i);
18570 -    return NULL;
18571 -}
18572 -#endif
18573 -
18574 -/* This should never be called by a thread holding the lock */
18575 -static void GC_dyld_image_add(struct mach_header* hdr, unsigned long slide) {
18576 -    unsigned long start,end,i;
18577 -    const struct section *sec;
18578 -    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
18579 -        sec = getsectbynamefromheader(
18580 -            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
18581 -        if(sec == NULL || sec->size == 0) continue;
18582 -        start = slide + sec->addr;
18583 -        end = start + sec->size;
18584 -#              ifdef DARWIN_DEBUG
18585 -            GC_printf4("Adding section at %p-%p (%lu bytes) from image %s\n",
18586 -                start,end,sec->size,GC_dyld_name_for_hdr(hdr));
18587 -#              endif
18588 -        GC_add_roots((char*)start,(char*)end);
18589 -    }
18590 -#      ifdef DARWIN_DEBUG
18591 -    GC_print_static_roots();
18592 -#      endif
18593 -}
18594 -
18595 -/* This should never be called by a thread holding the lock */
18596 -static void GC_dyld_image_remove(struct mach_header* hdr, unsigned long slide) {
18597 -    unsigned long start,end,i;
18598 -    const struct section *sec;
18599 -    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
18600 -        sec = getsectbynamefromheader(
18601 -            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
18602 -        if(sec == NULL || sec->size == 0) continue;
18603 -        start = slide + sec->addr;
18604 -        end = start + sec->size;
18605 -#              ifdef DARWIN_DEBUG
18606 -            GC_printf4("Removing section at %p-%p (%lu bytes) from image %s\n",
18607 -                start,end,sec->size,GC_dyld_name_for_hdr(hdr));
18608 -#              endif
18609 -        GC_remove_roots((char*)start,(char*)end);
18610 -    }
18611 -#      ifdef DARWIN_DEBUG
18612 -    GC_print_static_roots();
18613 -#      endif
18614 -}
18615 -
18616 -void GC_register_dynamic_libraries() {
18617 -    /* Currently does nothing. The callbacks are setup by GC_init_dyld() 
18618 -    The dyld library takes it from there. */
18619 -}
18620 -
18621 -/* The _dyld_* functions have an internal lock so no _dyld functions
18622 -   can be called while the world is stopped without the risk of a deadlock.
18623 -   Because of this we MUST setup callbacks BEFORE we ever stop the world.
18624 -   This should be called BEFORE any thread in created and WITHOUT the
18625 -   allocation lock held. */
18626 -   
18627 -void GC_init_dyld() {
18628 -    static GC_bool initialized = FALSE;
18629 -    
18630 -    if(initialized) return;
18631 -    
18632 -#   ifdef DARWIN_DEBUG
18633 -        GC_printf0("Forcing full bind of GC code...\n");
18634 -#   endif
18635 -    if(!_dyld_bind_fully_image_containing_address((unsigned long*)GC_malloc))
18636 -        GC_abort("_dyld_bind_fully_image_containing_addres failed");
18637 -            
18638 -#   ifdef DARWIN_DEBUG
18639 -        GC_printf0("Registering dyld callbacks...\n");
18640 -#   endif
18641 -
18642 -    /* Apple's Documentation:
18643 -    When you call _dyld_register_func_for_add_image, the dynamic linker runtime
18644 -    calls the specified callback (func) once for each of the images that is
18645 -    currently loaded into the program. When a new image is added to the program,
18646 -    your callback is called again with the mach_header for the new image, and the      virtual memory slide amount of the new image. 
18647 -        
18648 -    This WILL properly register existing and all future libraries
18649 -    */
18650 -        
18651 -    _dyld_register_func_for_add_image(GC_dyld_image_add);
18652 -    _dyld_register_func_for_remove_image(GC_dyld_image_remove);
18653 -    initialized = TRUE;
18654 -}
18655 -
18656 -#define HAVE_REGISTER_MAIN_STATIC_DATA
18657 -GC_bool GC_register_main_static_data()
18658 -{
18659 -  /* Already done through dyld callbacks */
18660 -  return FALSE;
18661 -}
18662  
18663 -#endif /* DARWIN */
18664  
18665  #else /* !DYNAMIC_LOADING */
18666  
18667 diff -Nur ../boehm-gc/finalize.c boehm-gc/finalize.c
18668 --- ../boehm-gc/finalize.c      Mon May 26 12:48:52 2003
18669 +++ boehm-gc/finalize.c Mon Feb 11 20:37:53 2002
18670 @@ -207,8 +207,7 @@
18671         UNLOCK();
18672         ENABLE_SIGNALS();
18673  #     endif
18674 -      new_dl = (struct disappearing_link *)
18675 -             GC_oom_fn(sizeof(struct disappearing_link));
18676 +      new_dl = GC_oom_fn(sizeof(struct disappearing_link));
18677        if (0 == new_dl) {
18678         GC_finalization_failures++;
18679         return(0);
18680 @@ -434,8 +433,7 @@
18681         UNLOCK();
18682         ENABLE_SIGNALS();
18683  #     endif
18684 -      new_fo = (struct finalizable_object *)
18685 -             GC_oom_fn(sizeof(struct finalizable_object));
18686 +      new_fo = GC_oom_fn(sizeof(struct finalizable_object));
18687        if (0 == new_fo) {
18688         GC_finalization_failures++;
18689         return;
18690 @@ -761,9 +759,8 @@
18691  /* Should be called without allocation lock.                           */
18692  int GC_invoke_finalizers()
18693  {
18694 -    struct finalizable_object * curr_fo;
18695 -    int count = 0;
18696 -    word mem_freed_before;
18697 +    register struct finalizable_object * curr_fo;
18698 +    register int count = 0;
18699      DCL_LOCK_STATE;
18700      
18701      while (GC_finalize_now != 0) {
18702 @@ -771,9 +768,6 @@
18703             DISABLE_SIGNALS();
18704             LOCK();
18705  #      endif
18706 -       if (count == 0) {
18707 -           mem_freed_before = GC_mem_freed;
18708 -       }
18709         curr_fo = GC_finalize_now;
18710  #      ifdef THREADS
18711             if (curr_fo != 0) GC_finalize_now = fo_next(curr_fo);
18712 @@ -795,11 +789,6 @@
18713             GC_free((GC_PTR)curr_fo);
18714  #      endif
18715      }
18716 -    if (count != 0 && mem_freed_before != GC_mem_freed) {
18717 -        LOCK();
18718 -       GC_finalizer_mem_freed += (GC_mem_freed - mem_freed_before);
18719 -       UNLOCK();
18720 -    }
18721      return count;
18722  }
18723  
18724 @@ -812,9 +801,7 @@
18725      if (GC_finalize_now == 0) return;
18726      if (!GC_finalize_on_demand) {
18727         (void) GC_invoke_finalizers();
18728 -#      ifndef THREADS
18729 -         GC_ASSERT(GC_finalize_now == 0);
18730 -#      endif   /* Otherwise GC can run concurrently and add more */
18731 +       GC_ASSERT(GC_finalize_now == 0);
18732         return;
18733      }
18734      if (GC_finalizer_notifier != (void (*) GC_PROTO((void)))0
18735 @@ -852,17 +839,3 @@
18736      return(result);
18737  }
18738  
18739 -#if !defined(NO_DEBUGGING)
18740 -
18741 -void GC_print_finalization_stats()
18742 -{
18743 -    struct finalizable_object *fo = GC_finalize_now;
18744 -    size_t ready = 0;
18745 -
18746 -    GC_printf2("%lu finalization table entries; %lu disappearing links\n",
18747 -              GC_fo_entries, GC_dl_entries);
18748 -    for (; 0 != fo; fo = fo_next(fo)) ++ready;
18749 -    GC_printf1("%lu objects are eligible for immediate finalization\n", ready);
18750 -}
18751 -
18752 -#endif /* NO_DEBUGGING */
18753 diff -Nur ../boehm-gc/gc_dlopen.c boehm-gc/gc_dlopen.c
18754 --- ../boehm-gc/gc_dlopen.c     Mon May 26 12:48:52 2003
18755 +++ boehm-gc/gc_dlopen.c        Tue Oct 16 02:01:35 2001
18756 @@ -19,14 +19,12 @@
18757  /*
18758   * This used to be in dyn_load.c.  It was extracted into a separate file
18759   * to avoid having to link against libdl.{a,so} if the client doesn't call
18760 - * dlopen.  Of course this fails if the collector is in a dynamic
18761 - * library. -HB
18762 + * dlopen.  -HB
18763   */
18764  
18765  #include "private/gc_priv.h"
18766  
18767 -# if (defined(GC_PTHREADS) && !defined(GC_DARWIN_THREADS)) \
18768 -      || defined(GC_SOLARIS_THREADS)
18769 +# if defined(GC_PTHREADS) || defined(GC_SOLARIS_THREADS)
18770  
18771  # if defined(dlopen) && !defined(GC_USE_LD_WRAP)
18772      /* To support various threads pkgs, gc.h interposes on dlopen by     */
18773 @@ -46,14 +44,19 @@
18774    /* calls in either a multithreaded environment, or if the library    */
18775    /* initialization code allocates substantial amounts of GC'ed memory.        */
18776    /* But I don't know of a better solution.                            */
18777 -  static void disable_gc_for_dlopen()
18778 +  /* This can still deadlock if the client explicitly starts a GC      */
18779 +  /* during the dlopen.  He shouldn't do that.                         */
18780 +  static GC_bool disable_gc_for_dlopen()
18781    {
18782 +    GC_bool result;
18783      LOCK();
18784 +    result = GC_dont_gc;
18785      while (GC_incremental && GC_collection_in_progress()) {
18786         GC_collect_a_little_inner(1000);
18787      }
18788 -    ++GC_dont_gc;
18789 +    GC_dont_gc = TRUE;
18790      UNLOCK();
18791 +    return(result);
18792    }
18793  
18794    /* Redefine dlopen to guarantee mutual exclusion with        */
18795 @@ -71,9 +74,10 @@
18796  #endif
18797  {
18798      void * result;
18799 +    GC_bool dont_gc_save;
18800      
18801  #   ifndef USE_PROC_FOR_LIBRARIES
18802 -      disable_gc_for_dlopen();
18803 +      dont_gc_save = disable_gc_for_dlopen();
18804  #   endif
18805  #   ifdef GC_USE_LD_WRAP
18806        result = (void *)__real_dlopen(path, mode);
18807 @@ -81,7 +85,7 @@
18808        result = dlopen(path, mode);
18809  #   endif
18810  #   ifndef USE_PROC_FOR_LIBRARIES
18811 -      GC_enable(); /* undoes disable_gc_for_dlopen */
18812 +      GC_dont_gc = dont_gc_save;
18813  #   endif
18814      return(result);
18815  }
18816 diff -Nur ../boehm-gc/gcj_mlc.c boehm-gc/gcj_mlc.c
18817 --- ../boehm-gc/gcj_mlc.c       Mon May 26 12:48:52 2003
18818 +++ boehm-gc/gcj_mlc.c  Mon Feb 11 20:37:53 2002
18819 @@ -157,7 +157,6 @@
18820              GC_words_allocd += lw;
18821          }
18822         *(void **)op = ptr_to_struct_containing_descr;
18823 -       GC_ASSERT(((void **)op)[1] == 0);
18824         UNLOCK();
18825      } else {
18826         LOCK();
18827 diff -Nur ../boehm-gc/if_mach.c boehm-gc/if_mach.c
18828 --- ../boehm-gc/if_mach.c       Mon May 26 12:48:52 2003
18829 +++ boehm-gc/if_mach.c  Fri Aug 17 11:30:45 2001
18830 @@ -14,7 +14,7 @@
18831      if (strcmp(MACH_TYPE, argv[1]) != 0) return(0);
18832      if (strcmp(OS_TYPE, "") != 0 && strcmp(argv[2], "") != 0
18833          && strcmp(OS_TYPE, argv[2]) != 0) return(0);
18834 -    fprintf(stderr, "^^^^Starting command^^^^\n");
18835 +    printf("^^^^Starting command^^^^\n");
18836      fflush(stdout);
18837      execvp(argv[3], argv+3);
18838      perror("Couldn't execute");
18839 diff -Nur ../boehm-gc/include/Makefile.in boehm-gc/include/Makefile.in
18840 --- ../boehm-gc/include/Makefile.in     Mon May 26 13:08:48 2003
18841 +++ boehm-gc/include/Makefile.in        Tue Dec 31 09:52:45 2002
18842 @@ -1,8 +1,6 @@
18843 -# Makefile.in generated by automake 1.6.3 from Makefile.am.
18844 -# @configure_input@
18845 +# Makefile.in generated automatically by automake 1.4 from Makefile.am
18846  
18847 -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
18848 -# Free Software Foundation, Inc.
18849 +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
18850  # This Makefile.in is free software; the Free Software Foundation
18851  # gives unlimited permission to copy and/or distribute it,
18852  # with or without modifications, as long as this notice is preserved.
18853 @@ -12,7 +10,7 @@
18854  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
18855  # PARTICULAR PURPOSE.
18856  
18857 -@SET_MAKE@
18858 +
18859  SHELL = @SHELL@
18860  
18861  srcdir = @srcdir@
18862 @@ -33,9 +31,13 @@
18863  mandir = @mandir@
18864  includedir = @includedir@
18865  oldincludedir = /usr/include
18866 +
18867 +DESTDIR =
18868 +
18869  pkgdatadir = $(datadir)/@PACKAGE@
18870  pkglibdir = $(libdir)/@PACKAGE@
18871  pkgincludedir = $(includedir)/@PACKAGE@
18872 +
18873  top_builddir = ..
18874  
18875  ACLOCAL = @ACLOCAL@
18876 @@ -43,16 +45,12 @@
18877  AUTOMAKE = @AUTOMAKE@
18878  AUTOHEADER = @AUTOHEADER@
18879  
18880 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
18881  INSTALL = @INSTALL@
18882 -INSTALL_PROGRAM = @INSTALL_PROGRAM@
18883 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
18884  INSTALL_DATA = @INSTALL_DATA@
18885 -install_sh_DATA = $(install_sh) -c -m 644
18886 -install_sh_PROGRAM = $(install_sh) -c
18887 -install_sh_SCRIPT = $(install_sh) -c
18888  INSTALL_SCRIPT = @INSTALL_SCRIPT@
18889 -INSTALL_HEADER = $(INSTALL_DATA)
18890  transform = @program_transform_name@
18891 +
18892  NORMAL_INSTALL = :
18893  PRE_INSTALL = :
18894  POST_INSTALL = :
18895 @@ -65,190 +63,171 @@
18896  host_triplet = @host@
18897  target_alias = @target_alias@
18898  target_triplet = @target@
18899 -
18900 -EXEEXT = @EXEEXT@
18901 -OBJEXT = @OBJEXT@
18902 -PATH_SEPARATOR = @PATH_SEPARATOR@
18903 -AMTAR = @AMTAR@
18904  AR = @AR@
18905  AS = @AS@
18906 -AWK = @AWK@
18907  CC = @CC@
18908  CPP = @CPP@
18909  CXX = @CXX@
18910  CXXCPP = @CXXCPP@
18911  CXXINCLUDES = @CXXINCLUDES@
18912 -DEPDIR = @DEPDIR@
18913  DLLTOOL = @DLLTOOL@
18914 -ECHO = @ECHO@
18915 -EGREP = @EGREP@
18916 +EXEEXT = @EXEEXT@
18917  EXTRA_TEST_LIBS = @EXTRA_TEST_LIBS@
18918 -F77 = @F77@
18919  GCJ = @GCJ@
18920  GCJFLAGS = @GCJFLAGS@
18921  GC_CFLAGS = @GC_CFLAGS@
18922  INCLUDES = @INCLUDES@
18923 -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
18924  LIBTOOL = @LIBTOOL@
18925  LN_S = @LN_S@
18926  MAINT = @MAINT@
18927 +MAKEINFO = @MAKEINFO@
18928  MY_CFLAGS = @MY_CFLAGS@
18929  OBJDUMP = @OBJDUMP@
18930 +OBJEXT = @OBJEXT@
18931  PACKAGE = @PACKAGE@
18932  RANLIB = @RANLIB@
18933 -RC = @RC@
18934  STRIP = @STRIP@
18935  THREADLIBS = @THREADLIBS@
18936  VERSION = @VERSION@
18937  addobjs = @addobjs@
18938 -am__include = @am__include@
18939 -am__quote = @am__quote@
18940  gc_basedir = @gc_basedir@
18941 -install_sh = @install_sh@
18942  mkinstalldirs = @mkinstalldirs@
18943  target_all = @target_all@
18944 +
18945  AUTOMAKE_OPTIONS = foreign
18946  
18947  noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
18948    gc_pthread_redirects.h gc_cpp.h
18949  
18950 -subdir = include
18951 -CONFIG_CLEAN_FILES =
18952 -depcomp =
18953 -am__depfiles_maybe =
18954 -DIST_SOURCES =
18955 -HEADERS = $(noinst_HEADERS)
18956 +CONFIG_CLEAN_FILES = 
18957 +HEADERS =  $(noinst_HEADERS)
18958  
18959 -all: all-am
18960 +DIST_COMMON =  Makefile.am Makefile.in
18961  
18962 -.SUFFIXES:
18963 -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
18964 -       cd $(top_srcdir) && \
18965 -         $(AUTOMAKE) --cygnus  include/Makefile
18966 -Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
18967 -       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
18968  
18969 -mostlyclean-libtool:
18970 -       -rm -f *.lo
18971 +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
18972  
18973 -clean-libtool:
18974 -       -rm -rf .libs _libs
18975 +TAR = gtar
18976 +GZIP_ENV = --best
18977 +all: all-redirect
18978 +.SUFFIXES:
18979 +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
18980 +       cd $(top_srcdir) && $(AUTOMAKE) --cygnus include/Makefile
18981  
18982 -distclean-libtool:
18983 -       -rm -f libtool
18984 -uninstall-info-am:
18985 +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
18986 +       cd $(top_builddir) \
18987 +         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
18988  
18989 -ETAGS = etags
18990 -ETAGSFLAGS =
18991  
18992  tags: TAGS
18993  
18994 -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
18995 -       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
18996 -       unique=`for i in $$list; do \
18997 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
18998 -         done | \
18999 -         $(AWK) '    { files[$$0] = 1; } \
19000 +ID: $(HEADERS) $(SOURCES) $(LISP)
19001 +       list='$(SOURCES) $(HEADERS)'; \
19002 +       unique=`for i in $$list; do echo $$i; done | \
19003 +         awk '    { files[$$0] = 1; } \
19004                END { for (i in files) print i; }'`; \
19005 -       mkid -fID $$unique
19006 +       here=`pwd` && cd $(srcdir) \
19007 +         && mkid -f$$here/ID $$unique $(LISP)
19008  
19009 -TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
19010 -               $(TAGS_FILES) $(LISP)
19011 +TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
19012         tags=; \
19013         here=`pwd`; \
19014 -       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
19015 -       unique=`for i in $$list; do \
19016 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
19017 -         done | \
19018 -         $(AWK) '    { files[$$0] = 1; } \
19019 +       list='$(SOURCES) $(HEADERS)'; \
19020 +       unique=`for i in $$list; do echo $$i; done | \
19021 +         awk '    { files[$$0] = 1; } \
19022                END { for (i in files) print i; }'`; \
19023 -       test -z "$(ETAGS_ARGS)$$tags$$unique" \
19024 -         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
19025 -            $$tags $$unique
19026 -
19027 -GTAGS:
19028 -       here=`$(am__cd) $(top_builddir) && pwd` \
19029 -         && cd $(top_srcdir) \
19030 -         && gtags -i $(GTAGS_ARGS) $$here
19031 +       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
19032 +         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
19033 +
19034 +mostlyclean-tags:
19035 +
19036 +clean-tags:
19037  
19038  distclean-tags:
19039 -       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
19040 -check-am:
19041 -check: check-am
19042 -all-am: Makefile $(HEADERS)
19043 +       -rm -f TAGS ID
19044  
19045 -installdirs:
19046 +maintainer-clean-tags:
19047  
19048 -install: install-am
19049 +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
19050 +
19051 +subdir = include
19052 +
19053 +distdir: $(DISTFILES)
19054 +       @for file in $(DISTFILES); do \
19055 +         if test -f $$file; then d=.; else d=$(srcdir); fi; \
19056 +         if test -d $$d/$$file; then \
19057 +           cp -pr $$d/$$file $(distdir)/$$file; \
19058 +         else \
19059 +           test -f $(distdir)/$$file \
19060 +           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
19061 +           || cp -p $$d/$$file $(distdir)/$$file || :; \
19062 +         fi; \
19063 +       done
19064 +info-am:
19065 +info: info-am
19066 +dvi-am:
19067 +dvi: dvi-am
19068 +check-am:
19069 +check: check-am
19070 +installcheck-am:
19071 +installcheck: installcheck-am
19072 +install-info-am: 
19073 +install-info: install-info-am
19074 +install-exec-am:
19075  install-exec: install-exec-am
19076 +
19077 +install-data-am:
19078  install-data: install-data-am
19079 -uninstall: uninstall-am
19080  
19081  install-am: all-am
19082         @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
19083 -
19084 -installcheck: installcheck-am
19085 +install: install-am
19086 +uninstall-am:
19087 +uninstall: uninstall-am
19088 +all-am: Makefile $(HEADERS)
19089 +all-redirect: all-am
19090  install-strip:
19091 -       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
19092 -         INSTALL_STRIP_FLAG=-s \
19093 -         `test -z '$(STRIP)' || \
19094 -           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
19095 +       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
19096 +installdirs:
19097 +
19098 +
19099  mostlyclean-generic:
19100  
19101  clean-generic:
19102  
19103  distclean-generic:
19104         -rm -f Makefile $(CONFIG_CLEAN_FILES)
19105 +       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
19106  
19107  maintainer-clean-generic:
19108 -       @echo "This command is intended for maintainers to use"
19109 -       @echo "it deletes files that may require special tools to rebuild."
19110 -clean: clean-am
19111 -
19112 -clean-am: clean-generic clean-libtool mostlyclean-am
19113 -
19114 -distclean: distclean-am
19115 -
19116 -distclean-am: clean-am distclean-generic distclean-libtool \
19117 -       distclean-tags
19118 -
19119 -dvi: dvi-am
19120 +mostlyclean-am:  mostlyclean-tags mostlyclean-generic
19121  
19122 -dvi-am:
19123 -
19124 -info: info-am
19125 -
19126 -info-am:
19127 +mostlyclean: mostlyclean-am
19128  
19129 -install-data-am:
19130 +clean-am:  clean-tags clean-generic mostlyclean-am
19131  
19132 -install-exec-am:
19133 +clean: clean-am
19134  
19135 -install-info:
19136 +distclean-am:  distclean-tags distclean-generic clean-am
19137 +       -rm -f libtool
19138  
19139 -install-man:
19140 +distclean: distclean-am
19141  
19142 -installcheck-am:
19143 +maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
19144 +               distclean-am
19145 +       @echo "This command is intended for maintainers to use;"
19146 +       @echo "it deletes files that may require special tools to rebuild."
19147  
19148  maintainer-clean: maintainer-clean-am
19149  
19150 -maintainer-clean-am: distclean-am maintainer-clean-generic
19151 -
19152 -mostlyclean: mostlyclean-am
19153 -
19154 -mostlyclean-am: mostlyclean-generic mostlyclean-libtool
19155 -
19156 -uninstall-am:
19157 +.PHONY: tags mostlyclean-tags distclean-tags clean-tags \
19158 +maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
19159 +installcheck-am installcheck install-info-am install-info \
19160 +install-exec-am install-exec install-data-am install-data install-am \
19161 +install uninstall-am uninstall all-redirect all-am all installdirs \
19162 +mostlyclean-generic distclean-generic clean-generic \
19163 +maintainer-clean-generic clean mostlyclean distclean maintainer-clean
19164  
19165 -.PHONY: GTAGS all all-am check check-am clean clean-generic \
19166 -       clean-libtool distclean distclean-generic distclean-libtool \
19167 -       distclean-tags dvi dvi-am info info-am install install-am \
19168 -       install-data install-data-am install-exec install-exec-am \
19169 -       install-info install-info-am install-man install-strip \
19170 -       installcheck installcheck-am installdirs maintainer-clean \
19171 -       maintainer-clean-generic mostlyclean mostlyclean-generic \
19172 -       mostlyclean-libtool tags uninstall uninstall-am \
19173 -       uninstall-info-am
19174  
19175  # Tell versions [3.59,3.63) of GNU make to not export all variables.
19176  # Otherwise a system limit (for SysV at least) may be exceeded.
19177 diff -Nur ../boehm-gc/include/gc.h boehm-gc/include/gc.h
19178 --- ../boehm-gc/include/gc.h    Mon May 26 13:28:19 2003
19179 +++ boehm-gc/include/gc.h       Mon Feb 11 20:37:56 2002
19180 @@ -30,7 +30,91 @@
19181  
19182  # define _GC_H
19183  
19184 -# include "gc_config_macros.h"
19185 +/*
19186 + * Some tests for old macros.  These violate our namespace rules and will
19187 + * disappear shortly.  Use the GC_ names.
19188 + */
19189 +#if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS)
19190 +# define GC_SOLARIS_THREADS
19191 +#endif
19192 +#if defined(_SOLARIS_PTHREADS)
19193 +# define GC_SOLARIS_PTHREADS
19194 +#endif
19195 +#if defined(IRIX_THREADS)
19196 +# define GC_IRIX_THREADS
19197 +#endif
19198 +#if defined(HPUX_THREADS)
19199 +# define GC_HPUX_THREADS
19200 +#endif
19201 +#if defined(OSF1_THREADS)
19202 +# define GC_OSF1_THREADS
19203 +#endif
19204 +#if defined(LINUX_THREADS)
19205 +# define GC_LINUX_THREADS
19206 +#endif
19207 +#if defined(WIN32_THREADS)
19208 +# define GC_WIN32_THREADS
19209 +#endif
19210 +#if defined(USE_LD_WRAP)
19211 +# define GC_USE_LD_WRAP
19212 +#endif
19213 +
19214 +#if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
19215 +                            || defined(GC_SOLARIS_PTHREADS) \
19216 +                            || defined(GC_HPUX_THREADS) \
19217 +                            || defined(GC_LINUX_THREADS))
19218 +# define _REENTRANT
19219 +       /* Better late than never.  This fails if system headers that   */
19220 +       /* depend on this were previously included.                     */
19221 +#endif
19222 +
19223 +#if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
19224 +#   define GC_SOLARIS_THREADS
19225 +#endif
19226 +
19227 +# if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
19228 +       defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
19229 +       defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
19230 +#   define GC_PTHREADS
19231 +# endif
19232 +
19233 +# define __GC
19234 +# include <stddef.h>
19235 +# ifdef _WIN32_WCE
19236 +/* Yet more kluges for WinCE */
19237 +#   include <stdlib.h>         /* size_t is defined here */
19238 +    typedef long ptrdiff_t;    /* ptrdiff_t is not defined */
19239 +# endif
19240 +
19241 +#if defined(__MINGW32__) &&defined(_DLL) && !defined(GC_NOT_DLL)
19242 +# ifdef GC_BUILD
19243 +#   define GC_API __declspec(dllexport)
19244 +# else
19245 +#   define GC_API __declspec(dllimport)
19246 +# endif
19247 +#endif
19248 +
19249 +#if (defined(__DMC__) || defined(_MSC_VER)) \
19250 +               && (defined(_DLL) && !defined(GC_NOT_DLL) \
19251 +                   || defined(GC_DLL))
19252 +# ifdef GC_BUILD
19253 +#   define GC_API extern __declspec(dllexport)
19254 +# else
19255 +#   define GC_API __declspec(dllimport)
19256 +# endif
19257 +#endif
19258 +
19259 +#if defined(__WATCOMC__) && defined(GC_DLL)
19260 +# ifdef GC_BUILD
19261 +#   define GC_API extern __declspec(dllexport)
19262 +# else
19263 +#   define GC_API extern __declspec(dllimport)
19264 +# endif
19265 +#endif
19266 +
19267 +#ifndef GC_API
19268 +#define GC_API extern
19269 +#endif
19270  
19271  # if defined(__STDC__) || defined(__cplusplus)
19272  #   define GC_PROTO(args) args
19273 @@ -70,7 +154,7 @@
19274                         /*  Env variable GC_NPROC is set to > 1, or     */
19275                         /*  GC_NPROC is not set and this is an MP.      */
19276                         /* If GC_parallel is set, incremental           */
19277 -                       /* collection is only partially functional,     */
19278 +                       /* collection is aonly partially functional,    */
19279                         /* and may not be desirable.                    */
19280                         
19281  
19282 @@ -131,14 +215,8 @@
19283                         /* thread, which will call GC_invoke_finalizers */
19284                         /* in response.                                 */
19285  
19286 -GC_API int GC_dont_gc; /* != 0 ==> Dont collect.  In versions 7.2a1+,  */
19287 -                       /* this overrides explicit GC_gcollect() calls. */
19288 -                       /* Used as a counter, so that nested enabling   */
19289 -                       /* and disabling work correctly.  Should        */
19290 -                       /* normally be updated with GC_enable() and     */
19291 -                       /* GC_disable() calls.                          */
19292 -                       /* Direct assignment to GC_dont_gc is           */
19293 -                       /* deprecated.                                  */
19294 +GC_API int GC_dont_gc; /* Dont collect unless explicitly requested, e.g. */
19295 +                       /* because it's not safe.                         */
19296  
19297  GC_API int GC_dont_expand;
19298                         /* Dont expand heap unless explicitly requested */
19299 @@ -218,6 +296,15 @@
19300                                 /* Interferes with blacklisting.        */
19301                                 /* Wizards only.                        */
19302  
19303 +/* Public procedures */
19304 +
19305 +/* Initialize the collector.  This is only required when using thread-local
19306 + * allocation, since unlike the regular allocation routines, GC_local_malloc
19307 + * is not self-initializing.  If you use GC_local_malloc you should arrange
19308 + * to call this somehow (e.g. from a constructor) before doing any allocation.
19309 + */
19310 +GC_API void GC_init GC_PROTO((void));
19311 +
19312  GC_API unsigned long GC_time_limit;
19313                                 /* If incremental collection is enabled, */
19314                                 /* We try to terminate collections       */
19315 @@ -229,18 +316,9 @@
19316                                 /* enabled.                              */
19317  #      define GC_TIME_UNLIMITED 999999
19318                                 /* Setting GC_time_limit to this value   */
19319 -                               /* will disable the "pause time exceeded"*/
19320 +                               /* will disable the "pause time exceeded */
19321                                 /* tests.                                */
19322  
19323 -/* Public procedures */
19324 -
19325 -/* Initialize the collector.  This is only required when using thread-local
19326 - * allocation, since unlike the regular allocation routines, GC_local_malloc
19327 - * is not self-initializing.  If you use GC_local_malloc you should arrange
19328 - * to call this somehow (e.g. from a constructor) before doing any allocation.
19329 - */
19330 -GC_API void GC_init GC_PROTO((void));
19331 -
19332  /*
19333   * general purpose allocation routines, with roughly malloc calling conv.
19334   * The atomic versions promise that no relevant pointers are contained
19335 @@ -341,21 +419,17 @@
19336  GC_API void GC_add_roots GC_PROTO((char * low_address,
19337                                    char * high_address_plus_1));
19338  
19339 -/* Remove a root segment.  Wizards only. */
19340 -GC_API void GC_remove_roots GC_PROTO((char * low_address, 
19341 -    char * high_address_plus_1));
19342 -
19343  /* Add a displacement to the set of those considered valid by the      */
19344  /* collector.  GC_register_displacement(n) means that if p was returned */
19345  /* by GC_malloc, then (char *)p + n will be considered to be a valid   */
19346 -/* pointer to p.  N must be small and less than the size of p.         */
19347 +/* pointer to n.  N must be small and less than the size of p.         */
19348  /* (All pointers to the interior of objects from the stack are         */
19349  /* considered valid in any case.  This applies to heap objects and     */
19350  /* static data.)                                                       */
19351  /* Preferably, this should be called before any other GC procedures.   */
19352  /* Calling it later adds to the probability of excess memory           */
19353  /* retention.                                                          */
19354 -/* This is a no-op if the collector has recognition of                 */
19355 +/* This is a no-op if the collector was compiled with recognition of   */
19356  /* arbitrary interior pointers enabled, which is now the default.      */
19357  GC_API void GC_register_displacement GC_PROTO((GC_word n));
19358  
19359 @@ -390,18 +464,9 @@
19360  GC_API size_t GC_get_bytes_since_gc GC_PROTO((void));
19361  
19362  /* Return the total number of bytes allocated in this process.         */
19363 -/* Never decreases, except due to wrapping.                            */
19364 +/* Never decreases.                                                    */
19365  GC_API size_t GC_get_total_bytes GC_PROTO((void));
19366  
19367 -/* Disable garbage collection.  Even GC_gcollect calls will be                 */
19368 -/* ineffective.                                                                */
19369 -GC_API void GC_disable GC_PROTO((void));
19370 -
19371 -/* Reenable garbage collection.  GC_diable() and GC_enable() calls     */
19372 -/* nest.  Garbage collection is enabled if the number of calls to both */
19373 -/* both functions is equal.                                            */
19374 -GC_API void GC_enable GC_PROTO((void));
19375 -
19376  /* Enable incremental/generational collection. */
19377  /* Not advisable unless dirty bits are                 */
19378  /* available or most heap objects are          */
19379 @@ -409,11 +474,7 @@
19380  /* Don't use in leak finding mode.             */
19381  /* Ignored if GC_dont_gc is true.              */
19382  /* Only the generational piece of this is      */
19383 -/* functional if GC_parallel is TRUE           */
19384 -/* or if GC_time_limit is GC_TIME_UNLIMITED.   */
19385 -/* Causes GC_local_gcj_malloc() to revert to   */
19386 -/* locked allocation.  Must be called          */
19387 -/* before any GC_local_gcj_malloc() calls.     */
19388 +/* functional if GC_parallel is TRUE.          */
19389  GC_API void GC_enable_incremental GC_PROTO((void));
19390  
19391  /* Does incremental mode write-protect pages?  Returns zero or */
19392 @@ -457,42 +518,6 @@
19393  #   define GC_RETURN_ADDR (GC_word)__return_address
19394  #endif
19395  
19396 -#ifdef __linux__
19397 -# include <features.h>
19398 -# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
19399 -     && !defined(__ia64__)
19400 -#   define GC_HAVE_BUILTIN_BACKTRACE
19401 -#   define GC_CAN_SAVE_CALL_STACKS
19402 -# endif
19403 -# if defined(__i386__) || defined(__x86_64__)
19404 -#   define GC_CAN_SAVE_CALL_STACKS
19405 -# endif
19406 -#endif
19407 -
19408 -#if defined(__sparc__)
19409 -#   define GC_CAN_SAVE_CALL_STACKS
19410 -#endif
19411 -
19412 -/* If we're on an a platform on which we can't save call stacks, but   */
19413 -/* gcc is normally used, we go ahead and define GC_ADD_CALLER.         */
19414 -/* We make this decision independent of whether gcc is actually being  */
19415 -/* used, in order to keep the interface consistent, and allow mixing   */
19416 -/* of compilers.                                                       */
19417 -/* This may also be desirable if it is possible but expensive to       */
19418 -/* retrieve the call chain.                                            */
19419 -#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
19420 -     || defined(__FreeBSD__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
19421 -# define GC_ADD_CALLER
19422 -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) 
19423 -    /* gcc knows how to retrieve return address, but we don't know */
19424 -    /* how to generate call stacks.                               */
19425 -#   define GC_RETURN_ADDR (GC_word)__builtin_return_address(0)
19426 -# else
19427 -    /* Just pass 0 for gcc compatibility. */
19428 -#   define GC_RETURN_ADDR 0
19429 -# endif
19430 -#endif
19431 -
19432  #ifdef GC_ADD_CALLER
19433  #  define GC_EXTRAS GC_RETURN_ADDR, __FILE__, __LINE__
19434  #  define GC_EXTRA_PARAMS GC_word ra, GC_CONST char * s, int i
19435 @@ -511,42 +536,18 @@
19436         GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19437  GC_API GC_PTR GC_debug_malloc_stubborn
19438         GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19439 -GC_API GC_PTR GC_debug_malloc_ignore_off_page
19440 -       GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19441 -GC_API GC_PTR GC_debug_malloc_atomic_ignore_off_page
19442 -       GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19443  GC_API void GC_debug_free GC_PROTO((GC_PTR object_addr));
19444  GC_API GC_PTR GC_debug_realloc
19445         GC_PROTO((GC_PTR old_object, size_t new_size_in_bytes,
19446                   GC_EXTRA_PARAMS));
19447 +                                
19448  GC_API void GC_debug_change_stubborn GC_PROTO((GC_PTR));
19449  GC_API void GC_debug_end_stubborn_change GC_PROTO((GC_PTR));
19450 -
19451 -/* Routines that allocate objects with debug information (like the     */
19452 -/* above), but just fill in dummy file and line number information.    */
19453 -/* Thus they can serve as drop-in malloc/realloc replacements.  This   */
19454 -/* can be useful for two reasons:                                      */
19455 -/* 1) It allows the collector to be built with DBG_HDRS_ALL defined    */
19456 -/*    even if some allocation calls come from 3rd party libraries      */
19457 -/*    that can't be recompiled.                                                */
19458 -/* 2) On some platforms, the file and line information is redundant,   */
19459 -/*    since it can be reconstructed from a stack trace.  On such       */
19460 -/*    platforms it may be more convenient not to recompile, e.g. for   */
19461 -/*    leak detection.  This can be accomplished by instructing the     */
19462 -/*    linker to replace malloc/realloc with these.                     */
19463 -GC_API GC_PTR GC_debug_malloc_replacement GC_PROTO((size_t size_in_bytes));
19464 -GC_API GC_PTR GC_debug_realloc_replacement
19465 -             GC_PROTO((GC_PTR object_addr, size_t size_in_bytes));
19466 -                                
19467  # ifdef GC_DEBUG
19468  #   define GC_MALLOC(sz) GC_debug_malloc(sz, GC_EXTRAS)
19469  #   define GC_MALLOC_ATOMIC(sz) GC_debug_malloc_atomic(sz, GC_EXTRAS)
19470 -#   define GC_MALLOC_UNCOLLECTABLE(sz) \
19471 -                       GC_debug_malloc_uncollectable(sz, GC_EXTRAS)
19472 -#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
19473 -                       GC_debug_malloc_ignore_off_page(sz, GC_EXTRAS)
19474 -#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
19475 -                       GC_debug_malloc_atomic_ignore_off_page(sz, GC_EXTRAS)
19476 +#   define GC_MALLOC_UNCOLLECTABLE(sz) GC_debug_malloc_uncollectable(sz, \
19477 +                                                       GC_EXTRAS)
19478  #   define GC_REALLOC(old, sz) GC_debug_realloc(old, sz, GC_EXTRAS)
19479  #   define GC_FREE(p) GC_debug_free(p)
19480  #   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
19481 @@ -565,10 +566,6 @@
19482  #   define GC_MALLOC(sz) GC_malloc(sz)
19483  #   define GC_MALLOC_ATOMIC(sz) GC_malloc_atomic(sz)
19484  #   define GC_MALLOC_UNCOLLECTABLE(sz) GC_malloc_uncollectable(sz)
19485 -#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
19486 -                       GC_malloc_ignore_off_page(sz)
19487 -#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
19488 -                       GC_malloc_atomic_ignore_off_page(sz)
19489  #   define GC_REALLOC(old, sz) GC_realloc(old, sz)
19490  #   define GC_FREE(p) GC_free(p)
19491  #   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
19492 @@ -647,8 +644,7 @@
19493  /* itself.  There is a stylistic argument that this is wrong,  */
19494  /* but it's unavoidable for C++, since the compiler may                */
19495  /* silently introduce these.  It's also benign in that specific        */
19496 -/* case.  And it helps if finalizable objects are split to     */
19497 -/* avoid cycles.                                               */
19498 +/* case.                                                       */
19499  /* Note that cd will still be viewed as accessible, even if it */
19500  /* refers to the object itself.                                        */
19501  GC_API void GC_register_finalizer_ignore_self
19502 @@ -721,6 +717,11 @@
19503         /* Undoes a registration by either of the above two     */
19504         /* routines.                                            */
19505  
19506 +/* Auxiliary fns to make finalization work correctly with displaced    */
19507 +/* pointers introduced by the debugging allocators.                    */
19508 +GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
19509 +GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
19510 +
19511  /* Returns !=0  if GC_invoke_finalizers has something to do.           */
19512  GC_API int GC_should_invoke_finalizers GC_PROTO((void));
19513  
19514 @@ -737,10 +738,6 @@
19515  typedef void (*GC_warn_proc) GC_PROTO((char *msg, GC_word arg));
19516  GC_API GC_warn_proc GC_set_warn_proc GC_PROTO((GC_warn_proc p));
19517      /* Returns old warning procedure.  */
19518 -
19519 -GC_API GC_word GC_set_free_space_divisor GC_PROTO((GC_word value));
19520 -    /* Set free_space_divisor.  See above for definition.      */
19521 -    /* Returns old value.                                      */
19522         
19523  /* The following is intended to be used by a higher level      */
19524  /* (e.g. Java-like) finalization facility.  It is expected     */
19525 @@ -878,16 +875,12 @@
19526  
19527  #if defined(GC_WIN32_THREADS)
19528  # include <windows.h>
19529 -# include <winbase.h>
19530  
19531    /*
19532     * All threads must be created using GC_CreateThread, so that they will be
19533 -   * recorded in the thread table.  For backwards compatibility, this is not
19534 -   * technically true if the GC is built as a dynamic library, since it can
19535 -   * and does then use DllMain to keep track of thread creations.  But new code
19536 -   * should be built to call GC_CreateThread.
19537 +   * recorded in the thread table.
19538     */
19539 -  GC_API HANDLE GC_CreateThread(
19540 +  HANDLE WINAPI GC_CreateThread(
19541        LPSECURITY_ATTRIBUTES lpThreadAttributes,
19542        DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress,
19543        LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );
19544 @@ -921,18 +914,13 @@
19545  #   define GC_INIT() { extern end, etext; \
19546                        GC_noop(&end, &etext); }
19547  #else
19548 -# if defined(__CYGWIN32__) && defined(GC_DLL) || defined (_AIX)
19549 +# if (defined(__CYGWIN32__) && defined(GC_USE_DLL)) || defined (_AIX)
19550      /*
19551 -     * Similarly gnu-win32 DLLs need explicit initialization from
19552 -     * the main program, as does AIX.
19553 +     * Similarly gnu-win32 DLLs need explicit initialization
19554       */
19555  #   define GC_INIT() { GC_add_roots(DATASTART, DATAEND); }
19556  # else
19557 -#  if defined(__APPLE__) && defined(__MACH__)
19558 -#   define GC_INIT() { GC_init(); }
19559 -#  else
19560 -#    define GC_INIT()
19561 -#  endif
19562 +#   define GC_INIT()
19563  # endif
19564  #endif
19565  
19566 diff -Nur ../boehm-gc/include/gc_allocator.h boehm-gc/include/gc_allocator.h
19567 --- ../boehm-gc/include/gc_allocator.h  Mon May 26 13:28:19 2003
19568 +++ boehm-gc/include/gc_allocator.h     Wed Dec 31 16:00:00 1969
19569 @@ -1,232 +0,0 @@
19570 -/*
19571 - * Copyright (c) 1996-1997
19572 - * Silicon Graphics Computer Systems, Inc.
19573 - *
19574 - * Permission to use, copy, modify, distribute and sell this software
19575 - * and its documentation for any purpose is hereby granted without fee,
19576 - * provided that the above copyright notice appear in all copies and
19577 - * that both that copyright notice and this permission notice appear
19578 - * in supporting documentation.  Silicon Graphics makes no
19579 - * representations about the suitability of this software for any
19580 - * purpose.  It is provided "as is" without express or implied warranty.
19581 - *
19582 - * Copyright (c) 2002
19583 - * Hewlett-Packard Company
19584 - *
19585 - * Permission to use, copy, modify, distribute and sell this software
19586 - * and its documentation for any purpose is hereby granted without fee,
19587 - * provided that the above copyright notice appear in all copies and
19588 - * that both that copyright notice and this permission notice appear
19589 - * in supporting documentation.  Hewlett-Packard Company makes no
19590 - * representations about the suitability of this software for any
19591 - * purpose.  It is provided "as is" without express or implied warranty.
19592 - */
19593 -
19594 -/*
19595 - * This implements standard-conforming allocators that interact with
19596 - * the garbage collector.  Gc_alloctor<T> allocates garbage-collectable
19597 - * objects of type T.  Traceable_allocator<T> allocates objects that
19598 - * are not temselves garbage collected, but are scanned by the
19599 - * collector for pointers to collectable objects.  Traceable_alloc
19600 - * should be used for explicitly managed STL containers that may
19601 - * point to collectable objects.
19602 - *
19603 - * This code was derived from an earlier version of the GNU C++ standard
19604 - * library, which itself was derived from the SGI STL implementation.
19605 - */
19606 -
19607 -#include "gc.h"        // For size_t
19608 -
19609 -/* First some helpers to allow us to dispatch on whether or not a type
19610 - * is known to be pointerfree.
19611 - * These are private, except that the client may invoke the
19612 - * GC_DECLARE_PTRFREE macro.
19613 - */
19614 -
19615 -struct GC_true_type {};
19616 -struct GC_false_type {};
19617 -
19618 -template <class GC_tp>
19619 -struct GC_type_traits {
19620 -  GC_false_type GC_is_ptr_free;
19621 -};
19622 -
19623 -# define GC_DECLARE_PTRFREE(T) \
19624 -template<> struct GC_type_traits<T> { GC_true_type GC_is_ptr_free; }
19625 -
19626 -GC_DECLARE_PTRFREE(signed char);
19627 -GC_DECLARE_PTRFREE(unsigned char);
19628 -GC_DECLARE_PTRFREE(signed short);
19629 -GC_DECLARE_PTRFREE(unsigned short);
19630 -GC_DECLARE_PTRFREE(signed int);
19631 -GC_DECLARE_PTRFREE(unsigned int);
19632 -GC_DECLARE_PTRFREE(signed long);
19633 -GC_DECLARE_PTRFREE(unsigned long);
19634 -GC_DECLARE_PTRFREE(float);
19635 -GC_DECLARE_PTRFREE(double);
19636 -/* The client may want to add others.  */
19637 -
19638 -// In the following GC_Tp is GC_true_type iff we are allocating a
19639 -// pointerfree object.
19640 -template <class GC_Tp>
19641 -inline void * GC_selective_alloc(size_t n, GC_Tp) {
19642 -    return GC_MALLOC(n);
19643 -}
19644 -
19645 -template <>
19646 -inline void * GC_selective_alloc<GC_true_type>(size_t n, GC_true_type) {
19647 -    return GC_MALLOC_ATOMIC(n);
19648 -}
19649 -
19650 -/* Now the public gc_allocator<T> class:
19651 - */
19652 -template <class GC_Tp>
19653 -class gc_allocator {
19654 -public:
19655 -  typedef size_t     size_type;
19656 -  typedef ptrdiff_t  difference_type;
19657 -  typedef GC_Tp*       pointer;
19658 -  typedef const GC_Tp* const_pointer;
19659 -  typedef GC_Tp&       reference;
19660 -  typedef const GC_Tp& const_reference;
19661 -  typedef GC_Tp        value_type;
19662 -
19663 -  template <class GC_Tp1> struct rebind {
19664 -    typedef gc_allocator<GC_Tp1> other;
19665 -  };
19666 -
19667 -  gc_allocator()  {}
19668 -# ifndef _MSC_VER
19669 -    // I'm not sure why this is needed here in addition to the following.
19670 -    // The standard specifies it for the standard allocator, but VC++ rejects
19671 -    // it.     -HB
19672 -    gc_allocator(const gc_allocator&) throw() {}
19673 -# endif
19674 -  template <class GC_Tp1> gc_allocator(const gc_allocator<GC_Tp1>&) throw() {}
19675 -  ~gc_allocator() throw() {}
19676 -
19677 -  pointer address(reference GC_x) const { return &GC_x; }
19678 -  const_pointer address(const_reference GC_x) const { return &GC_x; }
19679 -
19680 -  // GC_n is permitted to be 0.  The C++ standard says nothing about what
19681 -  // the return value is when GC_n == 0.
19682 -  GC_Tp* allocate(size_type GC_n, const void* = 0) {
19683 -    GC_type_traits<GC_Tp> traits;
19684 -    return static_cast<GC_Tp *>
19685 -           (GC_selective_alloc(GC_n * sizeof(GC_Tp),
19686 -                               traits.GC_is_ptr_free));
19687 -  }
19688 -
19689 -  // __p is not permitted to be a null pointer.
19690 -  void deallocate(pointer __p, size_type GC_n)
19691 -    { GC_FREE(__p); }
19692 -
19693 -  size_type max_size() const throw()
19694 -    { return size_t(-1) / sizeof(GC_Tp); }
19695 -
19696 -  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
19697 -  void destroy(pointer __p) { __p->~GC_Tp(); }
19698 -};
19699 -
19700 -template<>
19701 -class gc_allocator<void> {
19702 -  typedef size_t      size_type;
19703 -  typedef ptrdiff_t   difference_type;
19704 -  typedef void*       pointer;
19705 -  typedef const void* const_pointer;
19706 -  typedef void        value_type;
19707 -
19708 -  template <class GC_Tp1> struct rebind {
19709 -    typedef gc_allocator<GC_Tp1> other;
19710 -  };
19711 -};
19712 -
19713 -
19714 -template <class GC_T1, class GC_T2>
19715 -inline bool operator==(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
19716 -{
19717 -  return true;
19718 -}
19719 -
19720 -template <class GC_T1, class GC_T2>
19721 -inline bool operator!=(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
19722 -{
19723 -  return false;
19724 -}
19725 -
19726 -/*
19727 - * And the public traceable_allocator class.
19728 - */
19729 -
19730 -// Note that we currently don't specialize the pointer-free case, since a
19731 -// pointer-free traceable container doesn't make that much sense,
19732 -// though it could become an issue due to abstraction boundaries.
19733 -template <class GC_Tp>
19734 -class traceable_allocator {
19735 -public:
19736 -  typedef size_t     size_type;
19737 -  typedef ptrdiff_t  difference_type;
19738 -  typedef GC_Tp*       pointer;
19739 -  typedef const GC_Tp* const_pointer;
19740 -  typedef GC_Tp&       reference;
19741 -  typedef const GC_Tp& const_reference;
19742 -  typedef GC_Tp        value_type;
19743 -
19744 -  template <class GC_Tp1> struct rebind {
19745 -    typedef traceable_allocator<GC_Tp1> other;
19746 -  };
19747 -
19748 -  traceable_allocator() throw() {}
19749 -# ifndef _MSC_VER
19750 -    traceable_allocator(const traceable_allocator&) throw() {}
19751 -# endif
19752 -  template <class GC_Tp1> traceable_allocator
19753 -         (const traceable_allocator<GC_Tp1>&) throw() {}
19754 -  ~traceable_allocator() throw() {}
19755 -
19756 -  pointer address(reference GC_x) const { return &GC_x; }
19757 -  const_pointer address(const_reference GC_x) const { return &GC_x; }
19758 -
19759 -  // GC_n is permitted to be 0.  The C++ standard says nothing about what
19760 -  // the return value is when GC_n == 0.
19761 -  GC_Tp* allocate(size_type GC_n, const void* = 0) {
19762 -    return static_cast<GC_Tp*>(GC_MALLOC_UNCOLLECTABLE(GC_n * sizeof(GC_Tp)));
19763 -  }
19764 -
19765 -  // __p is not permitted to be a null pointer.
19766 -  void deallocate(pointer __p, size_type GC_n)
19767 -    { GC_FREE(__p); }
19768 -
19769 -  size_type max_size() const throw()
19770 -    { return size_t(-1) / sizeof(GC_Tp); }
19771 -
19772 -  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
19773 -  void destroy(pointer __p) { __p->~GC_Tp(); }
19774 -};
19775 -
19776 -template<>
19777 -class traceable_allocator<void> {
19778 -  typedef size_t      size_type;
19779 -  typedef ptrdiff_t   difference_type;
19780 -  typedef void*       pointer;
19781 -  typedef const void* const_pointer;
19782 -  typedef void        value_type;
19783 -
19784 -  template <class GC_Tp1> struct rebind {
19785 -    typedef traceable_allocator<GC_Tp1> other;
19786 -  };
19787 -};
19788 -
19789 -
19790 -template <class GC_T1, class GC_T2>
19791 -inline bool operator==(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
19792 -{
19793 -  return true;
19794 -}
19795 -
19796 -template <class GC_T1, class GC_T2>
19797 -inline bool operator!=(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
19798 -{
19799 -  return false;
19800 -}
19801 -
19802 diff -Nur ../boehm-gc/include/gc_config_macros.h boehm-gc/include/gc_config_macros.h
19803 --- ../boehm-gc/include/gc_config_macros.h      Mon May 26 13:28:19 2003
19804 +++ boehm-gc/include/gc_config_macros.h Wed Dec 31 16:00:00 1969
19805 @@ -1,142 +0,0 @@
19806 -/*
19807 - * This should never be included directly.  It is included only from gc.h.
19808 - * We separate it only to make gc.h more suitable as documentation.
19809 - * 
19810 - * Some tests for old macros.  These violate our namespace rules and will
19811 - * disappear shortly.  Use the GC_ names.
19812 - */
19813 -#if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS)
19814 -# define GC_SOLARIS_THREADS
19815 -#endif
19816 -#if defined(_SOLARIS_PTHREADS)
19817 -# define GC_SOLARIS_PTHREADS
19818 -#endif
19819 -#if defined(IRIX_THREADS)
19820 -# define GC_IRIX_THREADS
19821 -#endif
19822 -#if defined(DGUX_THREADS)
19823 -# if !defined(GC_DGUX386_THREADS)
19824 -#  define GC_DGUX386_THREADS
19825 -# endif
19826 -#endif
19827 -#if defined(HPUX_THREADS)
19828 -# define GC_HPUX_THREADS
19829 -#endif
19830 -#if defined(OSF1_THREADS)
19831 -# define GC_OSF1_THREADS
19832 -#endif
19833 -#if defined(LINUX_THREADS)
19834 -# define GC_LINUX_THREADS
19835 -#endif
19836 -#if defined(WIN32_THREADS)
19837 -# define GC_WIN32_THREADS
19838 -#endif
19839 -#if defined(USE_LD_WRAP)
19840 -# define GC_USE_LD_WRAP
19841 -#endif
19842 -
19843 -#if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
19844 -                            || defined(GC_SOLARIS_PTHREADS) \
19845 -                            || defined(GC_HPUX_THREADS) \
19846 -                            || defined(GC_LINUX_THREADS))
19847 -# define _REENTRANT
19848 -       /* Better late than never.  This fails if system headers that   */
19849 -       /* depend on this were previously included.                     */
19850 -#endif
19851 -
19852 -#if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
19853 -# define _POSIX4A_DRAFT10_SOURCE 1
19854 -#endif
19855 -
19856 -# if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
19857 -       defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
19858 -       defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
19859 -       defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
19860 -        (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__))
19861 -#   define GC_PTHREADS
19862 -# endif
19863 -
19864 -#if defined(GC_THREADS) && !defined(GC_PTHREADS)
19865 -# if defined(__linux__)
19866 -#   define GC_LINUX_THREADS
19867 -#   define GC_PTHREADS
19868 -# endif
19869 -# if !defined(LINUX) && (defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
19870 -                         || defined(hppa) || defined(__HPPA))
19871 -#   define GC_HPUX_THREADS
19872 -#   define GC_PTHREADS
19873 -# endif
19874 -# if !defined(__linux__) && (defined(__alpha) || defined(__alpha__))
19875 -#   define GC_OSF1_THREADS
19876 -#   define GC_PTHREADS
19877 -# endif
19878 -# if defined(__mips) && !defined(__linux__)
19879 -#   define GC_IRIX_THREADS
19880 -#   define GC_PTHREADS
19881 -# endif
19882 -# if defined(__sparc) && !defined(__linux__)
19883 -#   define GC_SOLARIS_PTHREADS
19884 -#   define GC_PTHREADS
19885 -# endif
19886 -# if defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
19887 -#   define GC_DARWIN_THREADS
19888 -#   define GC_PTHREADS
19889 -# endif
19890 -# if !defined(GC_PTHREADS) && defined(__FreeBSD__)
19891 -#   define GC_FREEBSD_THREADS
19892 -#   define GC_PTHREADS
19893 -# endif
19894 -# if defined(DGUX) && (defined(i386) || defined(__i386__))
19895 -#   define GC_DGUX386_THREADS
19896 -#   define GC_PTHREADS
19897 -# endif
19898 -#endif /* GC_THREADS */
19899 -
19900 -#if defined(GC_THREADS) && !defined(GC_PTHREADS) && defined(MSWIN32)
19901 -# define GC_WIN32_THREADS
19902 -#endif
19903 -
19904 -#if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
19905 -#   define GC_SOLARIS_THREADS
19906 -#endif
19907 -
19908 -# define __GC
19909 -# include <stddef.h>
19910 -# ifdef _WIN32_WCE
19911 -/* Yet more kluges for WinCE */
19912 -#   include <stdlib.h>         /* size_t is defined here */
19913 -    typedef long ptrdiff_t;    /* ptrdiff_t is not defined */
19914 -# endif
19915 -
19916 -#if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL)
19917 -# define GC_DLL
19918 -#endif
19919 -
19920 -#if defined(__MINGW32__) && defined(GC_DLL)
19921 -# ifdef GC_BUILD
19922 -#   define GC_API __declspec(dllexport)
19923 -# else
19924 -#   define GC_API __declspec(dllimport)
19925 -# endif
19926 -#endif
19927 -
19928 -#if (defined(__DMC__) || defined(_MSC_VER)) && defined(GC_DLL)
19929 -# ifdef GC_BUILD
19930 -#   define GC_API extern __declspec(dllexport)
19931 -# else
19932 -#   define GC_API __declspec(dllimport)
19933 -# endif
19934 -#endif
19935 -
19936 -#if defined(__WATCOMC__) && defined(GC_DLL)
19937 -# ifdef GC_BUILD
19938 -#   define GC_API extern __declspec(dllexport)
19939 -# else
19940 -#   define GC_API extern __declspec(dllimport)
19941 -# endif
19942 -#endif
19943 -
19944 -#ifndef GC_API
19945 -#define GC_API extern
19946 -#endif
19947 -
19948 diff -Nur ../boehm-gc/include/gc_cpp.h boehm-gc/include/gc_cpp.h
19949 --- ../boehm-gc/include/gc_cpp.h        Mon May 26 13:28:19 2003
19950 +++ boehm-gc/include/gc_cpp.h   Fri Aug 17 18:04:43 2001
19951 @@ -134,9 +134,7 @@
19952  #include "gc.h"
19953  
19954  #ifndef THINK_CPLUS
19955 -#  define GC_cdecl
19956 -#else
19957 -#  define GC_cdecl _cdecl
19958 +#define _cdecl
19959  #endif
19960  
19961  #if ! defined( GC_NO_OPERATOR_NEW_ARRAY ) \
19962 @@ -161,22 +159,12 @@
19963  class gc {public:
19964      inline void* operator new( size_t size );
19965      inline void* operator new( size_t size, GCPlacement gcp );
19966 -    inline void* operator new( size_t size, void *p );
19967 -       /* Must be redefined here, since the other overloadings */
19968 -       /* hide the global definition.                          */
19969      inline void operator delete( void* obj );
19970 -#   ifndef __BORLANDC__  /* Confuses the Borland compiler. */
19971 -      inline void operator delete( void*, void* );
19972 -#   endif
19973  
19974  #ifdef GC_OPERATOR_NEW_ARRAY
19975      inline void* operator new[]( size_t size );
19976      inline void* operator new[]( size_t size, GCPlacement gcp );
19977 -    inline void* operator new[]( size_t size, void *p );
19978      inline void operator delete[]( void* obj );
19979 -#   ifndef __BORLANDC__
19980 -      inline void gc::operator delete[]( void*, void* );
19981 -#   endif
19982  #endif /* GC_OPERATOR_NEW_ARRAY */
19983      };    
19984      /*
19985 @@ -188,7 +176,7 @@
19986      inline gc_cleanup();
19987      inline virtual ~gc_cleanup();
19988  private:
19989 -    inline static void GC_cdecl cleanup( void* obj, void* clientData );};
19990 +    inline static void _cdecl cleanup( void* obj, void* clientData );};
19991      /*
19992      Instances of classes derived from "gc_cleanup" will be allocated
19993      in the collected heap by default.  When the collector discovers an
19994 @@ -223,6 +211,7 @@
19995      classes derived from "gc_cleanup" or containing members derived
19996      from "gc_cleanup". */
19997  
19998 +#ifdef GC_OPERATOR_NEW_ARRAY
19999  
20000  #ifdef _MSC_VER
20001   /** This ensures that the system default operator new[] doesn't get
20002 @@ -231,23 +220,41 @@
20003    *  There seems to be really redirect new in this environment without
20004    *  including this everywhere. 
20005    */
20006 - void *operator new[]( size_t size );
20007
20008 - void operator delete[](void* obj);
20009 -
20010 - void* operator new( size_t size);
20011 + inline void *operator new[]( size_t size )
20012 + {
20013 +    return GC_MALLOC_UNCOLLECTABLE( size );
20014 + }
20015 +
20016 + inline void operator delete[](void* obj)
20017 + {
20018 +    GC_FREE(obj);
20019 + };
20020 +
20021 + inline void* operator new( size_t size)
20022 + {
20023 +    return GC_MALLOC_UNCOLLECTABLE( size);
20024 + };   
20025 +
20026 + inline void operator delete(void* obj)
20027 + {
20028 +    GC_FREE(obj);
20029 + };
20030  
20031 - void operator delete(void* obj);
20032  
20033 - // This new operator is used by VC++ in case of Debug builds !
20034 - void* operator new(  size_t size,
20035 +// This new operator is used by VC++ in case of Debug builds !
20036 +  inline void* operator new( size_t size,
20037                       int ,//nBlockUse,
20038                       const char * szFileName,
20039 -                     int nLine );
20040 -#endif /* _MSC_VER */
20041 +                     int nLine
20042 +                     ) {
20043 +# ifndef GC_DEBUG
20044 +     return GC_malloc_uncollectable( size );
20045 +# else
20046 +     return GC_debug_malloc_uncollectable(size, szFileName, nLine);
20047 +# endif
20048 +  }
20049  
20050 -
20051 -#ifdef GC_OPERATOR_NEW_ARRAY
20052 +#endif /* _MSC_VER */
20053  
20054  inline void* operator new[](
20055      size_t size, 
20056 @@ -276,15 +283,9 @@
20057      else
20058          return GC_MALLOC_UNCOLLECTABLE( size );}
20059  
20060 -inline void* gc::operator new( size_t size, void *p ) {
20061 -    return p;}
20062 -
20063  inline void gc::operator delete( void* obj ) {
20064      GC_FREE( obj );}
20065      
20066 -#ifndef __BORLANDC__
20067 -  inline void gc::operator delete( void*, void* ) {}
20068 -#endif
20069  
20070  #ifdef GC_OPERATOR_NEW_ARRAY
20071  
20072 @@ -294,21 +295,14 @@
20073  inline void* gc::operator new[]( size_t size, GCPlacement gcp ) {
20074      return gc::operator new( size, gcp );}
20075  
20076 -inline void* gc::operator new[]( size_t size, void *p ) {
20077 -    return p;}
20078 -
20079  inline void gc::operator delete[]( void* obj ) {
20080      gc::operator delete( obj );}
20081 -
20082 -#ifndef __BORLANDC__
20083 -  inline void gc::operator delete[]( void*, void* ) {}
20084 -#endif
20085      
20086  #endif /* GC_OPERATOR_NEW_ARRAY */
20087  
20088  
20089  inline gc_cleanup::~gc_cleanup() {
20090 -    GC_register_finalizer_ignore_self( GC_base(this), 0, 0, 0, 0 );}
20091 +    GC_REGISTER_FINALIZER_IGNORE_SELF( GC_base(this), 0, 0, 0, 0 );}
20092  
20093  inline void gc_cleanup::cleanup( void* obj, void* displ ) {
20094      ((gc_cleanup*) ((char*) obj + (ptrdiff_t) displ))->~gc_cleanup();}
20095 diff -Nur ../boehm-gc/include/gc_local_alloc.h boehm-gc/include/gc_local_alloc.h
20096 --- ../boehm-gc/include/gc_local_alloc.h        Mon May 26 13:28:19 2003
20097 +++ boehm-gc/include/gc_local_alloc.h   Fri Aug 17 11:30:50 2001
20098 @@ -33,9 +33,6 @@
20099   * -DTHREAD_LOCAL_ALLOC, which is currently supported only on Linux.
20100   *
20101   * The debugging allocators use standard, not thread-local allocation.
20102 - *
20103 - * These routines normally require an explicit call to GC_init(), though
20104 - * that may be done from a constructor function.
20105   */
20106  
20107  #ifndef GC_LOCAL_ALLOC_H
20108 diff -Nur ../boehm-gc/include/gc_mark.h boehm-gc/include/gc_mark.h
20109 --- ../boehm-gc/include/gc_mark.h       Mon May 26 13:28:19 2003
20110 +++ boehm-gc/include/gc_mark.h  Fri Aug 17 11:30:50 2001
20111 @@ -129,9 +129,7 @@
20112  /* be reserved for exceptional cases.  That will ensure that           */
20113  /* performance of this call is not extremely performance critical.     */
20114  /* (Otherwise we would need to inline GC_mark_and_push completely,     */
20115 -/* which would tie the client code to a fixed collector version.)      */
20116 -/* Note that mark procedures should explicitly call FIXUP_POINTER()    */
20117 -/* if required.                                                                */
20118 +/* which would tie the client code to a fixed colllector version.)     */
20119  struct GC_ms_entry *GC_mark_and_push
20120                 GC_PROTO((GC_PTR obj,
20121                           struct GC_ms_entry * mark_stack_ptr,
20122 diff -Nur ../boehm-gc/include/gc_pthread_redirects.h boehm-gc/include/gc_pthread_redirects.h
20123 --- ../boehm-gc/include/gc_pthread_redirects.h  Mon May 26 13:28:19 2003
20124 +++ boehm-gc/include/gc_pthread_redirects.h     Tue Oct 16 21:55:28 2001
20125 @@ -52,21 +52,15 @@
20126    int GC_pthread_create(pthread_t *new_thread,
20127                          const pthread_attr_t *attr,
20128                         void *(*start_routine)(void *), void *arg);
20129 -#ifndef GC_DARWIN_THREADS
20130    int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
20131 -#endif
20132    int GC_pthread_join(pthread_t thread, void **retval);
20133    int GC_pthread_detach(pthread_t thread);
20134  
20135  # define pthread_create GC_pthread_create
20136 -#ifndef GC_DARWIN_THREADS
20137  # define pthread_sigmask GC_pthread_sigmask
20138 -#endif
20139  # define pthread_join GC_pthread_join
20140  # define pthread_detach GC_pthread_detach
20141 -#ifndef GC_DARWIN_THREADS
20142  # define dlopen GC_dlopen
20143 -#endif
20144  
20145  #endif /* GC_xxxxx_THREADS */
20146  
20147 diff -Nur ../boehm-gc/include/gc_typed.h boehm-gc/include/gc_typed.h
20148 --- ../boehm-gc/include/gc_typed.h      Mon May 26 13:28:19 2003
20149 +++ boehm-gc/include/gc_typed.h Fri Aug 17 11:30:50 2001
20150 @@ -29,21 +29,14 @@
20151  #   include "gc.h"
20152  # endif
20153  
20154 -#ifdef __cplusplus
20155 -  extern "C" {
20156 -#endif
20157  typedef GC_word * GC_bitmap;
20158         /* The least significant bit of the first word is one if        */
20159         /* the first word in the object may be a pointer.               */
20160         
20161 -# define GC_WORDSZ (8*sizeof(GC_word))
20162  # define GC_get_bit(bm, index) \
20163 -               (((bm)[index/GC_WORDSZ] >> (index%GC_WORDSZ)) & 1)
20164 +               (((bm)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
20165  # define GC_set_bit(bm, index) \
20166 -               (bm)[index/GC_WORDSZ] |= ((GC_word)1 << (index%GC_WORDSZ))
20167 -# define GC_WORD_OFFSET(t, f) (offsetof(t,f)/sizeof(GC_word))
20168 -# define GC_WORD_LEN(t) (sizeof(t)/ sizeof(GC_word))
20169 -# define GC_BITMAP_SIZE(t) ((GC_WORD_LEN(t) + GC_WORDSZ-1)/GC_WORDSZ)
20170 +               (bm)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
20171  
20172  typedef GC_word GC_descr;
20173  
20174 @@ -64,16 +57,6 @@
20175                 /* is intended to be called once per type, not once     */
20176                 /* per allocation.                                      */
20177  
20178 -/* It is possible to generate a descriptor for a C type T with */
20179 -/* word aligned pointer fields f1, f2, ... as follows:                 */
20180 -/*                                                                     */
20181 -/* GC_descr T_descr;
20182 -/* GC_word T_bitmap[GC_BITMAP_SIZE(T)] = {0};                          */
20183 -/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f1));                         */
20184 -/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f2));                         */
20185 -/* ...                                                                 */
20186 -/* T_descr = GC_make_descriptor(T_bitmap, GC_WORD_LEN(T));             */
20187 -
20188  GC_API GC_PTR GC_malloc_explicitly_typed
20189                         GC_PROTO((size_t size_in_bytes, GC_descr d));
20190                 /* Allocate an object whose layout is described by d.   */
20191 @@ -96,18 +79,15 @@
20192         /* Returned object is cleared.                          */
20193  
20194  #ifdef GC_DEBUG
20195 -#   define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) GC_MALLOC(bytes)
20196 -#   define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
20197 +#   define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) GC_MALLOC(bytes)
20198 +#   define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
20199  #else
20200 -#  define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) \
20201 +#  define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) \
20202         GC_malloc_explicitly_typed(bytes, d)
20203 -#  define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) \
20204 +#  define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) \
20205         GC_calloc_explicitly_typed(n, bytes, d)
20206  #endif /* !GC_DEBUG */
20207  
20208 -#ifdef __cplusplus
20209 -  } /* matches extern "C" */
20210 -#endif
20211  
20212  #endif /* _GC_TYPED_H */
20213  
20214 diff -Nur ../boehm-gc/include/new_gc_alloc.h boehm-gc/include/new_gc_alloc.h
20215 --- ../boehm-gc/include/new_gc_alloc.h  Mon May 26 13:28:19 2003
20216 +++ boehm-gc/include/new_gc_alloc.h     Tue Oct 16 02:01:38 2001
20217 @@ -64,14 +64,6 @@
20218  #endif
20219  #endif
20220  
20221 -/* A hack to deal with gcc 3.1.  If you are using gcc3.1 and later,    */
20222 -/* you should probably really use gc_allocator.h instead.              */
20223 -#if defined (__GNUC__) && \
20224 -    (__GNUC > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ >= 1)))
20225 -# define simple_alloc __simple_alloc
20226 -#endif
20227 -
20228 -
20229  
20230  #define GC_ALLOC_H
20231  
20232 diff -Nur ../boehm-gc/include/private/darwin_semaphore.h boehm-gc/include/private/darwin_semaphore.h
20233 --- ../boehm-gc/include/private/darwin_semaphore.h      Mon May 26 13:28:24 2003
20234 +++ boehm-gc/include/private/darwin_semaphore.h Wed Dec 31 16:00:00 1969
20235 @@ -1,68 +0,0 @@
20236 -#ifndef GC_DARWIN_SEMAPHORE_H
20237 -#define GC_DARWIN_SEMAPHORE_H
20238 -
20239 -#if !defined(GC_DARWIN_THREADS)
20240 -#error darwin_semaphore.h included with GC_DARWIN_THREADS not defined
20241 -#endif
20242 -
20243 -/*
20244 -   This is a very simple semaphore implementation for darwin. It
20245 -   is implemented in terms of pthreads calls so it isn't async signal
20246 -   safe. This isn't a problem because signals aren't used to
20247 -   suspend threads on darwin.
20248 -*/
20249 -   
20250 -typedef struct {
20251 -    pthread_mutex_t mutex;
20252 -    pthread_cond_t cond;
20253 -    int value;
20254 -} sem_t;
20255 -
20256 -static int sem_init(sem_t *sem, int pshared, int value) {
20257 -    int ret;
20258 -    if(pshared)
20259 -        GC_abort("sem_init with pshared set");
20260 -    sem->value = value;
20261 -    
20262 -    ret = pthread_mutex_init(&sem->mutex,NULL);
20263 -    if(ret < 0) return -1;
20264 -    ret = pthread_cond_init(&sem->cond,NULL);
20265 -    if(ret < 0) return -1;
20266 -    return 0;
20267 -}
20268 -
20269 -static int sem_post(sem_t *sem) {
20270 -    if(pthread_mutex_lock(&sem->mutex) < 0)
20271 -        return -1;
20272 -    sem->value++;
20273 -    if(pthread_cond_signal(&sem->cond) < 0) {
20274 -        pthread_mutex_unlock(&sem->mutex);
20275 -        return -1;
20276 -    }
20277 -    if(pthread_mutex_unlock(&sem->mutex) < 0)
20278 -        return -1;
20279 -    return 0;
20280 -}
20281 -
20282 -static int sem_wait(sem_t *sem) {
20283 -    if(pthread_mutex_lock(&sem->mutex) < 0)
20284 -        return -1;
20285 -    while(sem->value == 0) {
20286 -        pthread_cond_wait(&sem->cond,&sem->mutex);
20287 -    }
20288 -    sem->value--;
20289 -    if(pthread_mutex_unlock(&sem->mutex) < 0)
20290 -        return -1;    
20291 -    return 0;
20292 -}
20293 -
20294 -static int sem_destroy(sem_t *sem) {
20295 -    int ret;
20296 -    ret = pthread_cond_destroy(&sem->cond);
20297 -    if(ret < 0) return -1;
20298 -    ret = pthread_mutex_destroy(&sem->mutex);
20299 -    if(ret < 0) return -1;
20300 -    return 0;
20301 -}
20302 -
20303 -#endif
20304 diff -Nur ../boehm-gc/include/private/darwin_stop_world.h boehm-gc/include/private/darwin_stop_world.h
20305 --- ../boehm-gc/include/private/darwin_stop_world.h     Mon May 26 13:28:24 2003
20306 +++ boehm-gc/include/private/darwin_stop_world.h        Wed Dec 31 16:00:00 1969
20307 @@ -1,15 +0,0 @@
20308 -#ifndef GC_DARWIN_STOP_WORLD_H
20309 -#define GC_DARWIN_STOP_WORLD_H
20310 -
20311 -#if !defined(GC_DARWIN_THREADS)
20312 -#error darwin_stop_world.h included without GC_DARWIN_THREADS defined
20313 -#endif
20314 -
20315 -#include <mach/mach.h>
20316 -#include <mach/thread_act.h>
20317 -
20318 -struct thread_stop_info {
20319 -    mach_port_t mach_thread;
20320 -};
20321 -
20322 -#endif
20323 diff -Nur ../boehm-gc/include/private/dbg_mlc.h boehm-gc/include/private/dbg_mlc.h
20324 --- ../boehm-gc/include/private/dbg_mlc.h       Mon May 26 13:28:24 2003
20325 +++ boehm-gc/include/private/dbg_mlc.h  Mon Feb 11 20:37:57 2002
20326 @@ -115,24 +115,16 @@
20327  
20328  #ifdef SHORT_DBG_HDRS
20329  #   define DEBUG_BYTES (sizeof (oh))
20330 -#   define UNCOLLECTABLE_DEBUG_BYTES DEBUG_BYTES
20331  #else
20332      /* Add space for END_FLAG, but use any extra space that was already        */
20333      /* added to catch off-the-end pointers.                            */
20334 -    /* For uncollectable objects, the extra byte is not added.         */
20335 -#   define UNCOLLECTABLE_DEBUG_BYTES (sizeof (oh) + sizeof (word))
20336 -#   define DEBUG_BYTES (UNCOLLECTABLE_DEBUG_BYTES - EXTRA_BYTES)
20337 +#   define DEBUG_BYTES (sizeof (oh) + sizeof (word) - EXTRA_BYTES)
20338  #endif
20339  #define USR_PTR_FROM_BASE(p) ((ptr_t)(p) + sizeof(oh))
20340  
20341  /* Round bytes to words without adding extra byte at end.      */
20342  #define SIMPLE_ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + WORDS_TO_BYTES(1) - 1)
20343  
20344 -/* ADD_CALL_CHAIN stores a (partial) call chain into an object */
20345 -/* header.  It may be called with or without the allocation    */
20346 -/* lock.                                                       */
20347 -/* PRINT_CALL_CHAIN prints the call chain stored in an object  */
20348 -/* to stderr.  It requires that we do not hold the lock.       */
20349  #ifdef SAVE_CALL_CHAIN
20350  #   define ADD_CALL_CHAIN(base, ra) GC_save_callers(((oh *)(base)) -> oh_ci)
20351  #   define PRINT_CALL_CHAIN(base) GC_print_callers(((oh *)(base)) -> oh_ci)
20352 diff -Nur ../boehm-gc/include/private/gc_hdrs.h boehm-gc/include/private/gc_hdrs.h
20353 --- ../boehm-gc/include/private/gc_hdrs.h       Mon May 26 13:28:24 2003
20354 +++ boehm-gc/include/private/gc_hdrs.h  Fri Aug 17 18:04:43 2001
20355 @@ -70,7 +70,7 @@
20356  #define ADVANCE(p, hhdr, source) \
20357             { \
20358               hdr * new_hdr = GC_invalid_header; \
20359 -              p = GC_find_start(p, hhdr, &new_hdr); \
20360 +              p = GC_FIND_START(p, hhdr, &new_hdr, (word)source); \
20361               hhdr = new_hdr; \
20362             }
20363  
20364 diff -Nur ../boehm-gc/include/private/gc_locks.h boehm-gc/include/private/gc_locks.h
20365 --- ../boehm-gc/include/private/gc_locks.h      Mon May 26 13:28:24 2003
20366 +++ boehm-gc/include/private/gc_locks.h Fri Sep 27 13:40:06 2002
20367 @@ -145,24 +145,23 @@
20368  #    if defined(POWERPC)
20369          inline static int GC_test_and_set(volatile unsigned int *addr) {
20370            int oldval;
20371 -          int temp = 1; /* locked value */
20372 +          int temp = 1; // locked value
20373  
20374            __asm__ __volatile__(
20375 -               "1:\tlwarx %0,0,%3\n"   /* load and reserve               */
20376 -               "\tcmpwi %0, 0\n"       /* if load is                     */
20377 -               "\tbne 2f\n"            /*   non-zero, return already set */
20378 -               "\tstwcx. %2,0,%1\n"    /* else store conditional         */
20379 -               "\tbne- 1b\n"           /* retry if lost reservation      */
20380 -               "\tsync\n"              /* import barrier                 */
20381 -               "2:\t\n"                /* oldval is zero if we set       */
20382 +               "1:\tlwarx %0,0,%3\n"   // load and reserve
20383 +               "\tcmpwi %0, 0\n"       // if load is
20384 +               "\tbne 2f\n"            //   non-zero, return already set
20385 +               "\tstwcx. %2,0,%1\n"    // else store conditional
20386 +               "\tbne- 1b\n"           // retry if lost reservation
20387 +               "2:\t\n"                // oldval is zero if we set
20388                : "=&r"(oldval), "=p"(addr)
20389                : "r"(temp), "1"(addr)
20390 -              : "cr0","memory");
20391 -          return oldval;
20392 +              : "memory");
20393 +          return (int)oldval;
20394          }
20395  #       define GC_TEST_AND_SET_DEFINED
20396          inline static void GC_clear(volatile unsigned int *addr) {
20397 -         __asm__ __volatile__("eieio" : : : "memory");
20398 +         __asm__ __volatile__("eieio" ::: "memory");
20399            *(addr) = 0;
20400          }
20401  #       define GC_CLEAR_DEFINED
20402 @@ -192,11 +191,8 @@
20403            return oldvalue;
20404          }
20405  #       define GC_TEST_AND_SET_DEFINED
20406 -        inline static void GC_clear(volatile unsigned int *addr) {
20407 -          __asm__ __volatile__("mb" : : : "memory");
20408 -          *(addr) = 0;
20409 -        }
20410 -#       define GC_CLEAR_DEFINED
20411 +        /* Should probably also define GC_clear, since it needs        */
20412 +        /* a memory barrier ??                                 */
20413  #    endif /* ALPHA */
20414  #    ifdef ARM32
20415          inline static int GC_test_and_set(volatile unsigned int *addr) {
20416 @@ -214,30 +210,22 @@
20417  #       define GC_TEST_AND_SET_DEFINED
20418  #    endif /* ARM32 */
20419  #    ifdef S390
20420 -       inline static int GC_test_and_set(volatile unsigned int *addr) {
20421 -         int ret;
20422 -         __asm__ __volatile__ (
20423 -          "     l     %0,0(%2)\n"
20424 -          "0:   cs    %0,%1,0(%2)\n"
20425 -          "     jl    0b"
20426 -          : "=&d" (ret)
20427 -          : "d" (1), "a" (addr)
20428 -          : "cc", "memory");
20429 -         return ret;
20430 -       }
20431 +       inline static int GC_test_and_set(volatile unsigned int *addr) {
20432 +        int ret;
20433 +        __asm__ __volatile__ (
20434 +               "       l       %0,0(%2)\n"
20435 +               "0:     cs      %0,%1,0(%2)\n"
20436 +               "       jl      0b"
20437 +               : "=&d" (ret)
20438 +               : "d" (1), "a" (addr)
20439 +               : "cc", "memory");
20440 +         return ret;
20441 +       }
20442  #    endif
20443  #  endif /* __GNUC__ */
20444  #  if (defined(ALPHA) && !defined(__GNUC__))
20445 -#    ifndef OSF1
20446 -       --> We currently assume that if gcc is not used, we are
20447 -       --> running under Tru64.
20448 -#    endif
20449 -#    include <machine/builtins.h>
20450 -#    include <c_asm.h>
20451 -#    define GC_test_and_set(addr) __ATOMIC_EXCH_LONG(addr, 1)
20452 +#    define GC_test_and_set(addr) __cxx_test_and_set_atomic(addr, 1)
20453  #    define GC_TEST_AND_SET_DEFINED
20454 -#    define GC_clear(addr) { asm("mb"); *(volatile unsigned *)addr = 0; }
20455 -#    define GC_CLEAR_DEFINED
20456  #  endif
20457  #  if defined(MSWIN32)
20458  #    define GC_test_and_set(addr) InterlockedExchange((LPLONG)addr,1)
20459 @@ -250,11 +238,7 @@
20460  #      define GC_TEST_AND_SET_DEFINED
20461  #    elif __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) \
20462         || !defined(_COMPILER_VERSION) || _COMPILER_VERSION < 700
20463 -#       ifdef __GNUC__
20464 -#          define GC_test_and_set(addr) _test_and_set(addr,1)
20465 -#       else
20466 -#          define GC_test_and_set(addr) test_and_set(addr,1)
20467 -#       endif
20468 +#        define GC_test_and_set(addr) test_and_set(addr, 1)
20469  #    else
20470  #       define GC_test_and_set(addr) __test_and_set(addr,1)
20471  #       define GC_clear(addr) __lock_release(addr);
20472 @@ -295,7 +279,7 @@
20473  #  endif
20474  
20475  #  if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
20476 -      && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
20477 +      && !defined(GC_IRIX_THREADS)
20478  #    define NO_THREAD (pthread_t)(-1)
20479  #    include <pthread.h>
20480  #    if defined(PARALLEL_MARK) 
20481 @@ -326,12 +310,12 @@
20482           {
20483            char result;
20484            __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
20485 -               : "+m"(*(addr)), "=r"(result)
20486 -               : "r" (new_val), "a"(old) : "memory");
20487 +               : "=m"(*(addr)), "=r"(result)
20488 +               : "r" (new_val), "0"(*(addr)), "a"(old) : "memory");
20489            return (GC_bool) result;
20490           }
20491  #      endif /* !GENERIC_COMPARE_AND_SWAP */
20492 -       inline static void GC_memory_barrier()
20493 +       inline static void GC_memory_write_barrier()
20494         {
20495          /* We believe the processor ensures at least processor */
20496          /* consistent ordering.  Thus a compiler barrier       */
20497 @@ -339,37 +323,6 @@
20498           __asm__ __volatile__("" : : : "memory");
20499         }
20500  #     endif /* I386 */
20501 -
20502 -#     if defined(POWERPC)
20503 -#      if !defined(GENERIC_COMPARE_AND_SWAP)
20504 -        /* Returns TRUE if the comparison succeeded. */
20505 -        inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20506 -            GC_word old, GC_word new_val) 
20507 -        {
20508 -            int result, dummy;
20509 -            __asm__ __volatile__(
20510 -                "1:\tlwarx %0,0,%5\n"
20511 -                  "\tcmpw %0,%4\n"
20512 -                  "\tbne  2f\n"
20513 -                  "\tstwcx. %3,0,%2\n"
20514 -                  "\tbne- 1b\n"
20515 -                  "\tsync\n"
20516 -                  "\tli %1, 1\n"
20517 -                  "\tb 3f\n"
20518 -                "2:\tli %1, 0\n"
20519 -                "3:\t\n"
20520 -                :  "=&r" (dummy), "=r" (result), "=p" (addr)
20521 -                :  "r" (new_val), "r" (old), "2"(addr)
20522 -                : "cr0","memory");
20523 -            return (GC_bool) result;
20524 -        }
20525 -#      endif /* !GENERIC_COMPARE_AND_SWAP */
20526 -        inline static void GC_memory_barrier()
20527 -        {
20528 -            __asm__ __volatile__("sync" : : : "memory");
20529 -        }
20530 -#     endif /* POWERPC */
20531 -
20532  #     if defined(IA64)
20533  #      if !defined(GENERIC_COMPARE_AND_SWAP)
20534           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20535 @@ -384,71 +337,31 @@
20536  #      endif /* !GENERIC_COMPARE_AND_SWAP */
20537  #      if 0
20538         /* Shouldn't be needed; we use volatile stores instead. */
20539 -        inline static void GC_memory_barrier()
20540 +        inline static void GC_memory_write_barrier()
20541          {
20542            __asm__ __volatile__("mf" : : : "memory");
20543          }
20544  #      endif /* 0 */
20545  #     endif /* IA64 */
20546 -#     if defined(ALPHA)
20547 -#      if !defined(GENERIC_COMPARE_AND_SWAP)
20548 -#        if defined(__GNUC__)
20549 -           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20550 -                                                        GC_word old, GC_word new_val) 
20551 -          {
20552 -            unsigned long was_equal;
20553 -             unsigned long temp;
20554 -
20555 -             __asm__ __volatile__(
20556 -                             "1:     ldq_l %0,%1\n"
20557 -                             "       cmpeq %0,%4,%2\n"
20558 -                            "       mov %3,%0\n"
20559 -                             "       beq %2,2f\n"
20560 -                             "       stq_c %0,%1\n"
20561 -                             "       beq %0,1b\n"
20562 -                             "2:\n"
20563 -                             "       mb\n"
20564 -                             :"=&r" (temp), "=m" (*addr), "=&r" (was_equal)
20565 -                             : "r" (new_val), "Ir" (old)
20566 -                            :"memory");
20567 -             return was_equal;
20568 -           }
20569 -#        else /* !__GNUC__ */
20570 -           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20571 -                                                        GC_word old, GC_word new_val) 
20572 -         {
20573 -           return __CMP_STORE_QUAD(addr, old, new_val, addr);
20574 -          }
20575 -#        endif /* !__GNUC__ */
20576 -#      endif /* !GENERIC_COMPARE_AND_SWAP */
20577 -#      ifdef __GNUC__
20578 -         inline static void GC_memory_barrier()
20579 -         {
20580 -           __asm__ __volatile__("mb" : : : "memory");
20581 -         }
20582 -#      else
20583 -#       define GC_memory_barrier() asm("mb")
20584 -#      endif /* !__GNUC__ */
20585 -#     endif /* ALPHA */
20586  #     if defined(S390)
20587  #      if !defined(GENERIC_COMPARE_AND_SWAP)
20588 -         inline static GC_bool GC_compare_and_exchange(volatile C_word *addr,
20589 -                                         GC_word old, GC_word new_val)
20590 -         {
20591 -           int retval;
20592 -           __asm__ __volatile__ (
20593 -#            ifndef __s390x__
20594 -               "     cs  %1,%2,0(%3)\n"
20595 -#            else
20596 -               "     csg %1,%2,0(%3)\n"
20597 -#            endif
20598 -             "     ipm %0\n"
20599 -             "     srl %0,28\n"
20600 -             : "=&d" (retval), "+d" (old)
20601 -             : "d" (new_val), "a" (addr)
20602 -             : "cc", "memory");
20603 -           return retval == 0;
20604 -         }
20605 +        inline static GC_bool GC_compare_and_exchange(volatile C_word *addr,
20606 +                                                      GC_word old, GC_word new_val) 
20607 +        {
20608 +          int retval;
20609 +          __asm__ __volatile__ (
20610 +#          ifndef __s390x__
20611 +               "       cs  %1,%2,0(%3)\n"
20612 +#          else
20613 +               "       csg %1,%2,0(%3)\n"
20614 +#         endif
20615 +               "       ipm %0\n"
20616 +               "       srl %0,28\n"
20617 +               : "=&d" (retval), "+d" (old)
20618 +               : "d" (new_val), "a" (addr)
20619 +               : "cc", "memory");
20620 +          return retval == 0;
20621 +       }
20622  #      endif
20623  #     endif
20624  #     if !defined(GENERIC_COMPARE_AND_SWAP)
20625 @@ -480,7 +393,7 @@
20626        extern void GC_lock(void);
20627         /* Allocation lock holder.  Only set if acquired by client through */
20628         /* GC_call_with_alloc_lock.                                        */
20629 -#     ifdef GC_ASSERTIONS 
20630 +#     ifdef GC_ASSERTIONS
20631  #        define LOCK() \
20632                 { if (GC_test_and_set(&GC_allocate_lock)) GC_lock(); \
20633                   SET_LOCK_HOLDER(); }
20634 @@ -521,12 +434,8 @@
20635                 { GC_ASSERT(I_HOLD_LOCK()); UNSET_LOCK_HOLDER(); \
20636                   pthread_mutex_unlock(&GC_allocate_ml); }
20637  #      else /* !GC_ASSERTIONS */
20638 -#        if defined(NO_PTHREAD_TRYLOCK)
20639 -#          define LOCK() GC_lock();
20640 -#        else /* !defined(NO_PTHREAD_TRYLOCK) */
20641 -#          define LOCK() \
20642 +#        define LOCK() \
20643            { if (0 != pthread_mutex_trylock(&GC_allocate_ml)) GC_lock(); }
20644 -#        endif
20645  #        define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
20646  #      endif /* !GC_ASSERTIONS */
20647  #   endif /* USE_PTHREAD_LOCKS */
20648 @@ -569,18 +478,11 @@
20649                 }
20650  #    define EXIT_GC() GC_collecting = 0;
20651  #  endif /* GC_IRIX_THREADS */
20652 -#  if defined(GC_WIN32_THREADS)
20653 -#    if defined(GC_PTHREADS)
20654 -#      include <pthread.h>
20655 -       extern pthread_mutex_t GC_allocate_ml;
20656 -#      define LOCK()   pthread_mutex_lock(&GC_allocate_ml)
20657 -#      define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
20658 -#    else
20659 -#      include <windows.h>
20660 -       GC_API CRITICAL_SECTION GC_allocate_ml;
20661 -#      define LOCK() EnterCriticalSection(&GC_allocate_ml);
20662 -#      define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
20663 -#    endif
20664 +#  ifdef GC_WIN32_THREADS
20665 +#    include <windows.h>
20666 +     GC_API CRITICAL_SECTION GC_allocate_ml;
20667 +#    define LOCK() EnterCriticalSection(&GC_allocate_ml);
20668 +#    define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
20669  #  endif
20670  #  ifndef SET_LOCK_HOLDER
20671  #      define SET_LOCK_HOLDER()
20672 diff -Nur ../boehm-gc/include/private/gc_pmark.h boehm-gc/include/private/gc_pmark.h
20673 --- ../boehm-gc/include/private/gc_pmark.h      Mon May 26 13:28:24 2003
20674 +++ boehm-gc/include/private/gc_pmark.h Mon Feb 11 20:37:57 2002
20675 @@ -137,7 +137,7 @@
20676  #ifdef __STDC__
20677  # ifdef PRINT_BLACK_LIST
20678      ptr_t GC_find_start(ptr_t current, hdr *hhdr, hdr **new_hdr_p,
20679 -                       word source);
20680 +                       ptr_t source);
20681  # else
20682      ptr_t GC_find_start(ptr_t current, hdr *hhdr, hdr **new_hdr_p);
20683  # endif
20684 @@ -145,7 +145,7 @@
20685    ptr_t GC_find_start();
20686  #endif
20687  
20688 -mse * GC_signal_mark_stack_overflow GC_PROTO((mse *msp));
20689 +mse *GC_signal_mark_stack_overflow(mse *msp);
20690  
20691  # ifdef GATHERSTATS
20692  #   define ADD_TO_ATOMIC(sz) GC_atomic_in_use += (sz)
20693 @@ -174,6 +174,14 @@
20694      } \
20695  }
20696  
20697 +#ifdef PRINT_BLACK_LIST
20698 +#   define GC_FIND_START(current, hhdr, new_hdr_p, source) \
20699 +       GC_find_start(current, hhdr, new_hdr_p, source)
20700 +#else
20701 +#   define GC_FIND_START(current, hhdr, new_hdr_p, source) \
20702 +       GC_find_start(current, hhdr, new_hdr_p)
20703 +#endif
20704 +
20705  /* Push the contents of current onto the mark stack if it is a valid   */
20706  /* ptr to a currently unmarked object.  Mark it.                       */
20707  /* If we assumed a standard-conforming compiler, we could probably     */
20708 @@ -187,7 +195,8 @@
20709      GET_HDR(my_current, my_hhdr); \
20710      if (IS_FORWARDING_ADDR_OR_NIL(my_hhdr)) { \
20711          hdr * new_hdr = GC_invalid_header; \
20712 -         my_current = GC_find_start(my_current, my_hhdr, &new_hdr); \
20713 +         my_current = GC_FIND_START(my_current, my_hhdr, \
20714 +                                   &new_hdr, (word)source); \
20715           my_hhdr = new_hdr; \
20716      } \
20717      PUSH_CONTENTS_HDR(my_current, mark_stack_top, mark_stack_limit, \
20718 @@ -281,39 +290,21 @@
20719  
20720  /*
20721   * Push a single value onto mark stack. Mark from the object pointed to by p.
20722 - * Invoke FIXUP_POINTER(p) before any further processing.
20723   * P is considered valid even if it is an interior pointer.
20724   * Previously marked objects are not pushed.  Hence we make progress even
20725   * if the mark stack overflows.
20726   */
20727 -
20728 -# if NEED_FIXUP_POINTER
20729 -    /* Try both the raw version and the fixed up one.  */
20730 -#   define GC_PUSH_ONE_STACK(p, source) \
20731 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20732 -        && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20733 -        PUSH_ONE_CHECKED_STACK(p, source);     \
20734 -      } \
20735 -      FIXUP_POINTER(p); \
20736 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20737 -        && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20738 -        PUSH_ONE_CHECKED_STACK(p, source);     \
20739 -      }
20740 -# else /* !NEED_FIXUP_POINTER */
20741 -#   define GC_PUSH_ONE_STACK(p, source) \
20742 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20743 +# define GC_PUSH_ONE_STACK(p, source) \
20744 +    if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr      \
20745          && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20746          PUSH_ONE_CHECKED_STACK(p, source);     \
20747 -      }
20748 -# endif
20749 -
20750 +    }
20751  
20752  /*
20753   * As above, but interior pointer recognition as for
20754   * normal for heap pointers.
20755   */
20756  # define GC_PUSH_ONE_HEAP(p,source) \
20757 -    FIXUP_POINTER(p); \
20758      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr      \
20759          && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20760             GC_mark_stack_top = GC_mark_and_push( \
20761 diff -Nur ../boehm-gc/include/private/gc_priv.h boehm-gc/include/private/gc_priv.h
20762 --- ../boehm-gc/include/private/gc_priv.h       Mon May 26 13:28:24 2003
20763 +++ boehm-gc/include/private/gc_priv.h  Tue Mar  4 09:56:49 2003
20764 @@ -30,12 +30,6 @@
20765  #   define BSD_TIME
20766  #endif
20767  
20768 -#ifdef DGUX
20769 -#   include <sys/types.h>
20770 -#   include <sys/time.h>
20771 -#   include <sys/resource.h>
20772 -#endif /* DGUX */
20773 -
20774  #ifdef BSD_TIME
20775  #   include <sys/types.h>
20776  #   include <sys/time.h>
20777 @@ -212,10 +206,11 @@
20778  #endif
20779  
20780  #if defined(GC_GCJ_SUPPORT) && ALIGNMENT < 8 && !defined(ALIGN_DOUBLE)
20781 -   /* GCJ's Hashtable synchronization code requires 64-bit alignment.  */
20782 +   /* GCJ's Hashtable synchronization code requires 64-bit alignment.  */
20783  #  define ALIGN_DOUBLE
20784  #endif
20785  
20786 +
20787  /* ALIGN_DOUBLE requires MERGE_SIZES at present. */
20788  # if defined(ALIGN_DOUBLE) && !defined(MERGE_SIZES)
20789  #   define MERGE_SIZES
20790 @@ -352,8 +347,7 @@
20791  #   include <string.h>
20792  #   define BCOPY_EXISTS
20793  # endif
20794 -# if defined(DARWIN)
20795 -#   include <string.h>
20796 +# if defined(MACOSX)
20797  #   define BCOPY_EXISTS
20798  # endif
20799  
20800 @@ -366,6 +360,68 @@
20801  #   define BZERO(x,n) bzero((char *)(x),(int)(n))
20802  # endif
20803  
20804 +/* HBLKSIZE aligned allocation.  0 is taken to mean failure    */
20805 +/* space is assumed to be cleared.                             */
20806 +/* In the case os USE_MMAP, the argument must also be a        */
20807 +/* physical page size.                                         */
20808 +/* GET_MEM is currently not assumed to retrieve 0 filled space, */
20809 +/* though we should perhaps take advantage of the case in which */
20810 +/* does.                                                       */
20811 +struct hblk;   /* See below.   */
20812 +# ifdef PCR
20813 +    char * real_malloc();
20814 +#   define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
20815 +                                 + GC_page_size-1)
20816 +# else
20817 +#   ifdef OS2
20818 +      void * os2_alloc(size_t bytes);
20819 +#     define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
20820 +                                   + GC_page_size) \
20821 +                                    + GC_page_size-1)
20822 +#   else
20823 +#     if defined(NEXT) || defined(MACOSX) || defined(DOS4GW) || \
20824 +        (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
20825 +        (defined(SUNOS5) && !defined(USE_MMAP))
20826 +#       define GET_MEM(bytes) HBLKPTR((size_t) \
20827 +                                     calloc(1, (size_t)bytes + GC_page_size) \
20828 +                                      + GC_page_size-1)
20829 +#     else
20830 +#      ifdef MSWIN32
20831 +          extern ptr_t GC_win32_get_mem();
20832 +#         define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
20833 +#      else
20834 +#        ifdef MACOS
20835 +#          if defined(USE_TEMPORARY_MEMORY)
20836 +               extern Ptr GC_MacTemporaryNewPtr(size_t size,
20837 +                                                Boolean clearMemory);
20838 +#               define GET_MEM(bytes) HBLKPTR( \
20839 +                   GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
20840 +                   + GC_page_size-1)
20841 +#          else
20842 +#                  define GET_MEM(bytes) HBLKPTR( \
20843 +                       NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
20844 +#          endif
20845 +#        else
20846 +#          ifdef MSWINCE
20847 +             extern ptr_t GC_wince_get_mem();
20848 +#            define GET_MEM(bytes) (struct hblk *)GC_wince_get_mem(bytes)
20849 +#          else
20850 +#            if defined(AMIGA) && defined(GC_AMIGA_FASTALLOC)
20851 +               extern void *GC_amiga_get_mem(size_t size);
20852 +               define GET_MEM(bytes) HBLKPTR((size_t) \
20853 +                  GC_amiga_get_mem((size_t)bytes + GC_page_size) \
20854 +                 + GC_page_size-1)
20855 +#            else
20856 +                extern ptr_t GC_unix_get_mem();
20857 +#               define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
20858 +#            endif
20859 +#          endif
20860 +#        endif
20861 +#      endif
20862 +#     endif
20863 +#   endif
20864 +# endif
20865 +
20866  /* Delay any interrupts or signals that may abort this thread.  Data   */
20867  /* structures are in a consistent state outside this pair of calls.    */
20868  /* ANSI C allows both to be empty (though the standard isn't very      */
20869 @@ -430,7 +486,7 @@
20870  #   ifdef SMALL_CONFIG
20871  #      define ABORT(msg) abort();
20872  #   else
20873 -       GC_API void GC_abort GC_PROTO((GC_CONST char * msg));
20874 +       GC_API void GC_abort();
20875  #       define ABORT(msg) GC_abort(msg);
20876  #   endif
20877  # endif
20878 @@ -590,10 +646,9 @@
20879   */
20880   
20881  # ifdef LARGE_CONFIG
20882 -#   define LOG_PHT_ENTRIES  20  /* Collisions likely at 1M blocks,     */
20883 -                               /* which is >= 4GB.  Each table takes   */
20884 -                               /* 128KB, some of which may never be    */
20885 -                               /* touched.                             */
20886 +#   define LOG_PHT_ENTRIES  19  /* Collisions likely at 512K blocks,   */
20887 +                               /* which is >= 2GB.  Each table takes   */
20888 +                               /* 64KB.                                */
20889  # else
20890  #   ifdef SMALL_CONFIG
20891  #     define LOG_PHT_ENTRIES  14 /* Collisions are likely if heap grows        */
20892 @@ -601,7 +656,7 @@
20893                                  /* Each hash table occupies 2K bytes.   */
20894  #   else /* default "medium" configuration */
20895  #     define LOG_PHT_ENTRIES  16 /* Collisions are likely if heap grows        */
20896 -                                /* to more than 64K hblks >= 256MB.    */
20897 +                                /* to more than 16K hblks >= 256MB.    */
20898                                  /* Each hash table occupies 8K bytes.  */
20899  #   endif
20900  # endif
20901 @@ -842,10 +897,6 @@
20902    word _mem_freed;
20903         /* Number of explicitly deallocated words of memory     */
20904         /* since last collection.                               */
20905 -  word _finalizer_mem_freed;
20906 -       /* Words of memory explicitly deallocated while         */
20907 -       /* finalizers were running.  Used to approximate mem.   */
20908 -       /* explicitly deallocated by finalizers.                */
20909    ptr_t _scratch_end_ptr;
20910    ptr_t _scratch_last_end_ptr;
20911         /* Used by headers.c, and can easily appear to point to */
20912 @@ -906,7 +957,7 @@
20913                        /* OFFSET_TOO_BIG if the value j would be too    */
20914                        /* large to fit in the entry.  (Note that the    */
20915                        /* size of these entries matters, both for       */
20916 -                      /* space consumption and for cache utilization.) */
20917 +                      /* space consumption and for cache utilization.  */
20918  #   define OFFSET_TOO_BIG 0xfe
20919  #   define OBJ_INVALID 0xff
20920  #   define MAP_ENTRY(map, bytes) (map)[bytes]
20921 @@ -1016,7 +1067,6 @@
20922  # define GC_words_finalized GC_arrays._words_finalized
20923  # define GC_non_gc_bytes_at_gc GC_arrays._non_gc_bytes_at_gc
20924  # define GC_mem_freed GC_arrays._mem_freed
20925 -# define GC_finalizer_mem_freed GC_arrays._finalizer_mem_freed
20926  # define GC_scratch_end_ptr GC_arrays._scratch_end_ptr
20927  # define GC_scratch_last_end_ptr GC_arrays._scratch_last_end_ptr
20928  # define GC_mark_procs GC_arrays._mark_procs
20929 @@ -1151,19 +1201,17 @@
20930                                 /* header structure associated with     */
20931                                 /* block.                               */
20932  
20933 +extern GC_bool GC_is_initialized;      /* GC_init() has been run.      */
20934 +
20935  extern GC_bool GC_objects_are_marked;  /* There are marked objects in  */
20936                                         /* the heap.                    */
20937  
20938  #ifndef SMALL_CONFIG
20939    extern GC_bool GC_incremental;
20940                         /* Using incremental/generational collection. */
20941 -# define TRUE_INCREMENTAL \
20942 -       (GC_incremental && GC_time_limit != GC_TIME_UNLIMITED)
20943 -       /* True incremental, not just generational, mode */
20944  #else
20945  # define GC_incremental FALSE
20946                         /* Hopefully allow optimizer to remove some code. */
20947 -# define TRUE_INCREMENTAL FALSE
20948  #endif
20949  
20950  extern GC_bool GC_dirty_maintained;
20951 @@ -1181,10 +1229,6 @@
20952  extern long GC_large_alloc_warn_suppressed;
20953         /* Number of warnings suppressed so far.        */
20954  
20955 -#ifdef THREADS
20956 -  extern GC_bool GC_world_stopped;
20957 -#endif
20958 -
20959  /* Operations */
20960  # ifndef abs
20961  #   define abs(x)  ((x) < 0? (-(x)) : (x))
20962 @@ -1408,7 +1452,6 @@
20963                                     /* Set all mark bits associated with */
20964                                     /* a free list.                      */
20965  void GC_add_roots_inner GC_PROTO((char * b, char * e, GC_bool tmp));
20966 -void GC_remove_roots_inner GC_PROTO((char * b, char * e));
20967  GC_bool GC_is_static_root GC_PROTO((ptr_t p));
20968                 /* Is the address p in one of the registered static     */
20969                 /* root sections?                                       */
20970 @@ -1421,9 +1464,9 @@
20971                 /* Add dynamic library data sections to the root set. */
20972  
20973  GC_bool GC_register_main_static_data GC_PROTO((void));
20974 -               /* We need to register the main data segment.  Returns  */
20975 -               /* TRUE unless this is done implicitly as part of       */
20976 -               /* dynamic library registration.                        */
20977 +               /* We need to register the main data segment.  Returns  */
20978 +               /* TRUE unless this is done implicitly as part of       */
20979 +               /* dynamic library registration.                        */
20980    
20981  /* Machine dependent startup routines */
20982  ptr_t GC_get_stack_base GC_PROTO((void));      /* Cold end of stack */
20983 @@ -1581,8 +1624,6 @@
20984                                 /* until the blocks are available or    */
20985                                 /* until it fails by returning FALSE.   */
20986  
20987 -extern GC_bool GC_is_initialized;      /* GC_init() has been run.      */
20988 -
20989  #if defined(MSWIN32) || defined(MSWINCE)
20990    void GC_deinit GC_PROTO((void));
20991                                  /* Free any resources allocated by      */
20992 @@ -1624,8 +1665,6 @@
20993                                 /* Make the indicated                   */
20994                                 /* free list nonempty, and return its   */
20995                                 /* head.                                */
20996 -
20997 -void GC_free_inner(GC_PTR p);
20998    
20999  void GC_init_headers GC_PROTO((void));
21000  struct hblkhdr * GC_install_header GC_PROTO((struct hblk *h));
21001 @@ -1655,12 +1694,6 @@
21002                         /* Call *GC_finalizer_notifier if there are     */
21003                         /* finalizers to be run, and we haven't called  */
21004                         /* this procedure yet this GC cycle.            */
21005 -
21006 -GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
21007 -GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
21008 -                       /* Auxiliary fns to make finalization work      */
21009 -                       /* correctly with displaced pointers introduced */
21010 -                       /* by the debugging allocators.                 */
21011                         
21012  void GC_add_to_heap GC_PROTO((struct hblk *p, word bytes));
21013                         /* Add a HBLKSIZE aligned chunk to the heap.    */
21014 @@ -1671,36 +1704,16 @@
21015                         /* description of the object to stderr.         */
21016  extern void (*GC_check_heap) GC_PROTO((void));
21017                         /* Check that all objects in the heap with      */
21018 -                       /* debugging info are intact.                   */
21019 -                       /* Add any that are not to GC_smashed list.     */
21020 -extern void (*GC_print_all_smashed) GC_PROTO((void));
21021 -                       /* Print GC_smashed if it's not empty.          */
21022 -                       /* Clear GC_smashed list.                       */
21023 -extern void GC_print_all_errors GC_PROTO((void));
21024 -                       /* Print smashed and leaked objects, if any.    */
21025 -                       /* Clear the lists of such objects.             */
21026 +                       /* debugging info are intact.  Print            */
21027 +                       /* descriptions of any that are not.            */
21028  extern void (*GC_print_heap_obj) GC_PROTO((ptr_t p));
21029                         /* If possible print s followed by a more       */
21030                         /* detailed description of the object           */
21031                         /* referred to by p.                            */
21032 -#if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
21033 -  void GC_print_address_map GC_PROTO((void));
21034 -                       /* Print an address map of the process.         */
21035 -#endif
21036  
21037 -extern GC_bool GC_have_errors;  /* We saw a smashed or leaked object.  */
21038 -                               /* Call error printing routine          */
21039 -                               /* occasionally.                        */
21040  extern GC_bool GC_print_stats; /* Produce at least some logging output */
21041                                 /* Set from environment variable.       */
21042  
21043 -#ifndef NO_DEBUGGING
21044 -  extern GC_bool GC_dump_regularly;  /* Generate regular debugging dumps. */
21045 -# define COND_DUMP if (GC_dump_regularly) GC_dump();
21046 -#else
21047 -# define COND_DUMP
21048 -#endif
21049 -
21050  /* Macros used for collector internal allocation.      */
21051  /* These assume the collector lock is held.            */
21052  #ifdef DBG_HDRS_ALL
21053 @@ -1772,7 +1785,6 @@
21054  void GC_print_hblkfreelist GC_PROTO((void));
21055  void GC_print_heap_sects GC_PROTO((void));
21056  void GC_print_static_roots GC_PROTO((void));
21057 -void GC_print_finalization_stats GC_PROTO((void));
21058  void GC_dump GC_PROTO((void));
21059  
21060  #ifdef KEEP_BACK_PTRS
21061 @@ -1854,10 +1866,6 @@
21062  #      define GC_ASSERT(expr)
21063  # endif
21064  
21065 -/* Check a compile time assertion at compile time.  The error  */
21066 -/* message for failure is a bit baroque, but ...               */
21067 -# define GC_STATIC_ASSERT(expr) sizeof(char[(expr)? 1 : -1])
21068 -
21069  # if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
21070      /* We need additional synchronization facilities from the thread   */
21071      /* support.  We believe these are less performance critical                */
21072 @@ -1903,7 +1911,7 @@
21073    /* in Linux glibc, but it's not exported.)  Thus we continue to use  */
21074    /* the same hard-coded signals we've always used.                    */
21075  #  if !defined(SIG_SUSPEND)
21076 -#   if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
21077 +#   if defined(GC_LINUX_THREADS)
21078  #    if defined(SPARC) && !defined(SIGPWR)
21079         /* SPARC/Linux doesn't properly define SIGPWR in <signal.h>.
21080          * It is aliased to SIGLOST in asm/signal.h, though.            */
21081 diff -Nur ../boehm-gc/include/private/gcconfig.h boehm-gc/include/private/gcconfig.h
21082 --- ../boehm-gc/include/private/gcconfig.h      Mon May 26 13:28:24 2003
21083 +++ boehm-gc/include/private/gcconfig.h Wed Apr  9 17:08:01 2003
21084 @@ -13,25 +13,11 @@
21085   * provided the above notices are retained, and a notice that the code was
21086   * modified is included with the above copyright notice.
21087   */
21088 -
21089 -/*
21090 - * This header is private to the gc.  It is almost always included from
21091 - * gc_priv.h.  However it is possible to include it by itself if just the
21092 - * configuration macros are needed.  In that
21093 - * case, a few declarations relying on types declared in gc_priv.h will be
21094 - * omitted.
21095 - */
21096   
21097  #ifndef GCCONFIG_H
21098  
21099  # define GCCONFIG_H
21100  
21101 -# ifndef GC_PRIVATE_H
21102 -    /* Fake ptr_t declaration, just to avoid compilation errors.       */
21103 -    /* This avoids many instances if "ifndef GC_PRIVATE_H" below.      */
21104 -    typedef struct GC_undefined_struct * ptr_t;
21105 -# endif
21106 -
21107  /* Machine dependent parameters.  Some tuning parameters can be found  */
21108  /* near the top of gc_private.h.                                       */
21109  
21110 @@ -58,7 +44,7 @@
21111  # endif
21112  
21113  /* Determine the machine type: */
21114 -# if defined(__XSCALE__)
21115 +# if defined(__arm__) || defined(__thumb__)
21116  #    define ARM32
21117  #    if !defined(LINUX)
21118  #      define NOSYS
21119 @@ -109,8 +95,8 @@
21120  #    if defined(nec_ews) || defined(_nec_ews)
21121  #      define EWS4800
21122  #    endif
21123 -#    if !defined(LINUX) && !defined(EWS4800)
21124 -#      if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
21125 +#    if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD)
21126 +#      if defined(ultrix) || defined(__ultrix)
21127  #       define ULTRIX
21128  #      else
21129  #       if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) \
21130 @@ -121,16 +107,6 @@
21131  #       endif
21132  #      endif
21133  #    endif /* !LINUX */
21134 -#    if defined(__NetBSD__) && defined(__MIPSEL__)
21135 -#      undef ULTRIX
21136 -#    endif
21137 -#    define mach_type_known
21138 -# endif
21139 -# if defined(DGUX) && (defined(i386) || defined(__i386__))
21140 -#    define I386
21141 -#    ifndef _USING_DGUX
21142 -#    define _USING_DGUX
21143 -#    endif
21144  #    define mach_type_known
21145  # endif
21146  # if defined(sequent) && (defined(i386) || defined(__i386__))
21147 @@ -222,10 +198,6 @@
21148  #    define IA64
21149  #    define mach_type_known
21150  # endif
21151 -# if defined(LINUX) && defined(__arm__)
21152 -#    define ARM32
21153 -#    define mach_type_known
21154 -# endif
21155  # if defined(LINUX) && (defined(powerpc) || defined(__powerpc__))
21156  #    define POWERPC
21157  #    define mach_type_known
21158 @@ -265,19 +237,19 @@
21159  #   define MACOS
21160  #   define mach_type_known
21161  # endif
21162 -# if defined(__MWERKS__) && defined(__powerc) && !defined(__MACH__)
21163 +# if defined(__MWERKS__) && defined(__powerc)
21164  #   define POWERPC
21165  #   define MACOS
21166  #   define mach_type_known
21167  # endif
21168  # if defined(macosx) || \
21169       defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
21170 -#    define DARWIN
21171 +#    define MACOSX
21172  #    define POWERPC
21173  #    define mach_type_known
21174  # endif
21175  # if defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
21176 -#    define DARWIN
21177 +#    define MACOSX
21178  #    define I386
21179       --> Not really supported, but at least we recognize it.
21180  # endif
21181 @@ -319,7 +291,7 @@
21182  #   define CX_UX
21183  #   define mach_type_known
21184  # endif
21185 -# if defined(DGUX) && defined(m88k)
21186 +# if defined(DGUX)
21187  #   define M88K
21188      /* DGUX defined */
21189  #   define mach_type_known
21190 @@ -447,12 +419,14 @@
21191                     /*                  (CX_UX and DGUX)                */
21192                     /*             S370       ==> 370-like machine      */
21193                     /*                  running Amdahl UTS4             */
21194 -                    /*             S390       ==> 390-like machine      */
21195 -                   /*                  running LINUX                   */
21196 +                   /*             S390       ==> 390-like machine      */
21197 +                   /*                  running LINUX                   */
21198                     /*             ARM32      ==> Intel StrongARM       */
21199                     /*             IA64       ==> Intel IPF             */
21200                     /*                            (e.g. Itanium)        */
21201                     /*                  (LINUX and HPUX)                */
21202 +                   /*             IA64_32    ==> IA64 w/32 bit ABI     */
21203 +                   /*                  (HPUX)                          */
21204                     /*             SH         ==> Hitachi SuperH        */
21205                     /*                  (LINUX & MSWINCE)               */
21206                     /*             X86_64     ==> AMD x86-64            */
21207 @@ -476,17 +450,15 @@
21208   * defining it to be 1 will always work, but perform poorly.
21209   *
21210   * DATASTART is the beginning of the data segment.
21211 - * On some platforms SEARCH_FOR_DATA_START is defined.
21212 - * SEARCH_FOR_DATASTART will cause GC_data_start to
21213 - * be set to an address determined by accessing data backwards from _end
21214 - * until an unmapped page is found.  DATASTART will be defined to be
21215 - * GC_data_start.
21216 - * On UNIX-like systems, the collector will scan the area between DATASTART
21217 + * On UNIX systems, the collector will scan the area between DATASTART
21218   * and DATAEND for root pointers.
21219   *
21220   * DATAEND, if not `end' where `end' is defined as ``extern int end[];''.
21221   * RTH suggests gaining access to linker script synth'd values with
21222   * this idiom instead of `&end' where `end' is defined as ``extern int end;'' .
21223 + * Otherwise, ``GCC will assume these are in .sdata/.sbss'' and it will, e.g.,
21224 + * cause failures on alpha*-*-* with ``-msmall-data or -fpic'' or mips-*-*
21225 + * without any special options.
21226   *
21227   * ALIGN_DOUBLE of GC_malloc should return blocks aligned to twice
21228   * the pointer size.
21229 @@ -498,13 +470,8 @@
21230   * 1) define STACK_GROWS_UP if the stack grows toward higher addresses, and
21231   * 2) define exactly one of
21232   *     STACKBOTTOM (should be defined to be an expression)
21233 - *     LINUX_STACKBOTTOM
21234   *     HEURISTIC1
21235   *     HEURISTIC2
21236 - * If STACKBOTTOM is defined, then it's value will be used directly as the
21237 - * stack base.  If LINUX_STACKBOTTOM is defined, then it will be determined
21238 - * with a method appropriate for most Linux systems.  Currently we look
21239 - * first for __libc_stack_end, and if that fails read it from /proc.
21240   * If either of the last two macros are defined, then STACKBOTTOM is computed
21241   * during collector startup using one of the following two heuristics:
21242   * HEURISTIC1:  Take an address inside GC_init's frame, and round it up to
21243 @@ -569,9 +536,6 @@
21244   * An architecture may also define CLEAR_DOUBLE(x) to be a fast way to
21245   * clear the two words at GC_malloc-aligned address x.  By default,
21246   * word stores of 0 are used instead.
21247 - *
21248 - * HEAP_START may be defined as the initial address hint for mmap-based
21249 - * allocation.
21250   */
21251  
21252  /* If we are using a recent version of gcc, we can use __builtin_unwind_init()
21253 @@ -607,7 +571,7 @@
21254  #            define DYNAMIC_LOADING
21255  #           include <features.h>
21256  #           if defined(__GLIBC__)&& __GLIBC__>=2
21257 -#              define SEARCH_FOR_DATA_START
21258 +#              define LINUX_DATA_START
21259  #           else /* !GLIBC2 */
21260                 extern char **__environ;
21261  #              define DATASTART ((ptr_t)(&__environ))
21262 @@ -705,42 +669,23 @@
21263  #     define ALIGNMENT 4       /* Guess.  Can someone verify?  */
21264                                 /* This was 2, but that didn't sound right. */
21265  #     define OS_TYPE "LINUX"
21266 -      /* HEURISTIC1 has been reliably reported to fail for a 32-bit    */
21267 -      /* executable on a 64 bit kernel.                                        */
21268 -#     define LINUX_STACKBOTTOM
21269  #     define DYNAMIC_LOADING
21270 -#     define SEARCH_FOR_DATA_START
21271 +#     define LINUX_STACKBOTTOM
21272 +       /* Stack usually starts at 0x80000000 */
21273 +#     define LINUX_DATA_START
21274        extern int _end[];
21275  #     define DATAEND (_end)
21276  #   endif
21277 -#   ifdef DARWIN
21278 +#   ifdef MACOSX
21279        /* There are reasons to suspect this may not be reliable.        */
21280  #     define ALIGNMENT 4
21281 -#     define OS_TYPE "DARWIN"
21282 -#     define DYNAMIC_LOADING
21283 -      /* XXX: see get_end(3), get_etext() and get_end() should not be used.
21284 -         These aren't used when dyld support is enabled (it is by default) */
21285 +#     define OS_TYPE "MACOSX"
21286  #     define DATASTART ((ptr_t) get_etext())
21287 -#     define DATAEND   ((ptr_t) get_end())
21288  #     define STACKBOTTOM ((ptr_t) 0xc0000000)
21289 -#     define USE_MMAP
21290 -#     define USE_MMAP_ANON
21291 -#     define USE_ASM_PUSH_REGS
21292 -      /* This is potentially buggy. It needs more testing. See the comments in
21293 -         os_dep.c */
21294 -#     define MPROTECT_VDB
21295 +#     define DATAEND   /* not needed */
21296 +#     undef MPROTECT_VDB
21297  #     include <unistd.h>
21298  #     define GETPAGESIZE() getpagesize()
21299 -#     if defined(USE_PPC_PREFETCH) && defined(__GNUC__)
21300 -       /* The performance impact of prefetches is untested */
21301 -#      define PREFETCH(x) \
21302 -         __asm__ __volatile__ ("dcbt 0,%0" : : "r" ((const void *) (x)))
21303 -#      define PREFETCH_FOR_WRITE(x) \
21304 -         __asm__ __volatile__ ("dcbtst 0,%0" : : "r" ((const void *) (x)))
21305 -#     endif
21306 -      /* There seems to be some issues with trylock hanging on darwin. This
21307 -         should be looked into some more */
21308 -#     define NO_PTHREAD_TRYLOCK
21309  #   endif
21310  #   ifdef NETBSD
21311  #     define ALIGNMENT 4
21312 @@ -801,8 +746,8 @@
21313  #      define OS_TYPE "SUNOS5"
21314         extern int _etext[];
21315         extern int _end[];
21316 -       extern ptr_t GC_SysVGetDataStart();
21317 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
21318 +       extern char * GC_SysVGetDataStart();
21319 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
21320  #      define DATAEND (_end)
21321  #      if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
21322  #          define USE_MMAP
21323 @@ -856,9 +801,9 @@
21324  #   endif
21325  #   ifdef DRSNX
21326  #      define OS_TYPE "DRSNX"
21327 -       extern ptr_t GC_SysVGetDataStart();
21328 +       extern char * GC_SysVGetDataStart();
21329         extern int etext[];
21330 -#       define DATASTART GC_SysVGetDataStart(0x10000, etext)
21331 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, etext)
21332  #      define MPROTECT_VDB
21333  #       define STACKBOTTOM ((ptr_t) 0xdfff0000)
21334  #      define DYNAMIC_LOADING
21335 @@ -874,14 +819,13 @@
21336        extern int _etext[];
21337  #     define DATAEND (_end)
21338  #     define SVR4
21339 -      extern ptr_t GC_SysVGetDataStart();
21340  #     ifdef __arch64__
21341 -#      define DATASTART GC_SysVGetDataStart(0x100000, _etext)
21342         /* libc_stack_end is not set reliably for sparc64 */
21343 -#       define STACKBOTTOM ((ptr_t) 0x80000000000ULL)
21344 +#       define STACKBOTTOM ((ptr_t) 0x80000000000)
21345 +#      define DATASTART (ptr_t)GC_SysVGetDataStart(0x100000, _etext)
21346  #     else
21347 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
21348 -#      define LINUX_STACKBOTTOM
21349 +#       define LINUX_STACKBOTTOM
21350 +#      define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
21351  #     endif
21352  #   endif
21353  #   ifdef OPENBSD
21354 @@ -932,7 +876,7 @@
21355  #   ifdef SUNOS5
21356  #      define OS_TYPE "SUNOS5"
21357          extern int _etext[], _end[];
21358 -       extern ptr_t GC_SysVGetDataStart();
21359 +       extern char * GC_SysVGetDataStart();
21360  #       define DATASTART GC_SysVGetDataStart(0x1000, _etext)
21361  #      define DATAEND (_end)
21362  /*     # define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7,      */
21363 @@ -977,28 +921,6 @@
21364  #       define DYNAMIC_LOADING
21365  #      define ELF_CLASS ELFCLASS32
21366  #   endif
21367 -#   ifdef DGUX
21368 -#      define OS_TYPE "DGUX"
21369 -       extern int _etext, _end;
21370 -       extern ptr_t GC_SysVGetDataStart();
21371 -#      define DATASTART GC_SysVGetDataStart(0x1000, &_etext)
21372 -#      define DATAEND (&_end)
21373 -#      define STACK_GROWS_DOWN
21374 -#      define HEURISTIC2
21375 -#      include <unistd.h>
21376 -#      define GETPAGESIZE()  sysconf(_SC_PAGESIZE)
21377 -#      define DYNAMIC_LOADING
21378 -#      ifndef USE_MMAP
21379 -#        define USE_MMAP
21380 -#      endif /* USE_MMAP */
21381 -#      define MAP_FAILED (void *) -1
21382 -#      ifdef USE_MMAP
21383 -#        define HEAP_START (ptr_t)0x40000000
21384 -#      else /* USE_MMAP */
21385 -#        define HEAP_START DATAEND
21386 -#      endif /* USE_MMAP */
21387 -#   endif /* DGUX */
21388 -
21389  #   ifdef LINUX
21390  #      ifndef __GNUC__
21391           /* The Intel compiler doesn't like inline assembly */
21392 @@ -1022,9 +944,6 @@
21393             /* possibly because Linux threads is itself a malloc client */
21394             /* and can't deal with the signals.                         */
21395  #      endif
21396 -#      define HEAP_START 0x1000
21397 -               /* This encourages mmap to give us low addresses,       */
21398 -               /* thus allowing the heap to grow to ~3GB               */
21399  #       ifdef __ELF__
21400  #            define DYNAMIC_LOADING
21401  #           ifdef UNDEFINED    /* includes ro data */
21402 @@ -1033,7 +952,7 @@
21403  #           endif
21404  #           include <features.h>
21405  #           if defined(__GLIBC__) && __GLIBC__ >= 2
21406 -#               define SEARCH_FOR_DATA_START
21407 +#               define LINUX_DATA_START
21408  #           else
21409                  extern char **__environ;
21410  #                define DATASTART ((ptr_t)(&__environ))
21411 @@ -1142,9 +1061,16 @@
21412  #      ifdef __ELF__
21413  #          define DYNAMIC_LOADING
21414  #      endif
21415 +/* Handle unmapped hole i386*-*-freebsd[45]* may put between etext and edata. */
21416         extern char etext[];
21417 -       extern char * GC_FreeBSDGetDataStart();
21418 -#      define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
21419 +       extern char edata[];
21420 +       extern char end[];
21421 +#      define NEED_FIND_LIMIT
21422 +#      define DATASTART ((ptr_t)(etext))
21423 +#      define MIN(x,y) ((x) < (y) ? (x) : (y))
21424 +#      define DATAEND (MIN (GC_find_limit (DATASTART, TRUE), DATASTART2))
21425 +#      define DATASTART2 ((ptr_t)(edata))
21426 +#      define DATAEND2 ((ptr_t)(end))
21427  #   endif
21428  #   ifdef NETBSD
21429  #      define OS_TYPE "NETBSD"
21430 @@ -1223,11 +1149,7 @@
21431  #     define DATASTART ((ptr_t)(__data_start))
21432  #     define ALIGNMENT 4
21433  #     define USE_GENERIC_PUSH_REGS
21434 -#     if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2 || __GLIBC__ > 2
21435 -#        define LINUX_STACKBOTTOM
21436 -#     else
21437 -#        define STACKBOTTOM 0x80000000
21438 -#     endif
21439 +#     define LINUX_STACKBOTTOM
21440  #   endif /* Linux */
21441  #   ifdef EWS4800
21442  #      define HEURISTIC2
21443 @@ -1300,21 +1222,15 @@
21444  #       define DATAEND /* not needed */
21445  #   endif
21446  #   if defined(NETBSD)
21447 -      /* This also checked for __MIPSEL__ .  Why?  NETBSD recognition  */
21448 -      /* should be handled at the top of the file.                     */
21449 -#     define ALIGNMENT 4
21450  #     define OS_TYPE "NETBSD"
21451 +#     define ALIGNMENT 4
21452  #     define HEURISTIC2
21453  #     define USE_GENERIC_PUSH_REGS
21454 -#     ifdef __ELF__
21455 -        extern int etext[];
21456 -#       define DATASTART GC_data_start
21457 -#       define NEED_FIND_LIMIT
21458 -#       define DYNAMIC_LOADING
21459 -#     else
21460 -#       define DATASTART ((ptr_t) 0x10000000)
21461 -#       define STACKBOTTOM ((ptr_t) 0x7ffff000)
21462 -#     endif /* _ELF_ */
21463 +      extern int _fdata[];
21464 +#     define DATASTART ((ptr_t)(_fdata))
21465 +      extern int _end[];
21466 +#     define DATAEND ((ptr_t)(_end))
21467 +#     define DYNAMIC_LOADING
21468  #  endif
21469  # endif
21470  
21471 @@ -1323,16 +1239,15 @@
21472  #   ifdef __64BIT__
21473  #     define ALIGNMENT 8
21474  #     define CPP_WORDSZ 64
21475 -#     define STACKBOTTOM 0x1000000000000000
21476  #   else
21477  #     define ALIGNMENT 4
21478  #     define CPP_WORDSZ 32
21479 -#     define STACKBOTTOM ((ptr_t)((ulong)&errno))
21480  #   endif
21481      extern int _data[], _end[];
21482  #   define DATASTART ((ptr_t)((ulong)_data))
21483  #   define DATAEND ((ptr_t)((ulong)_end))
21484      extern int errno;
21485 +#   define STACKBOTTOM ((ptr_t)((ulong)&errno))
21486  #   define USE_GENERIC_PUSH_REGS
21487  #   define DYNAMIC_LOADING
21488         /* For really old versions of AIX, this may have to be removed. */
21489 @@ -1396,23 +1311,15 @@
21490  #     define OS_TYPE "LINUX"
21491  #     define LINUX_STACKBOTTOM
21492  #     define DYNAMIC_LOADING
21493 -#     define SEARCH_FOR_DATA_START
21494 +#     define LINUX_DATA_START
21495        extern int _end[];
21496 -#     define DATAEND (&_end)
21497 +#     define DATAEND (_end)
21498  #   endif /* LINUX */
21499  # endif /* HP_PA */
21500  
21501  # ifdef ALPHA
21502  #   define MACH_TYPE "ALPHA"
21503  #   define ALIGNMENT 8
21504 -#   define CPP_WORDSZ 64
21505 -#   ifndef LINUX
21506 -#     define USE_GENERIC_PUSH_REGS
21507 -      /* Gcc and probably the DEC/Compaq compiler spill pointers to preserved */
21508 -      /* fp registers in some cases when the target is a 21264.  The assembly */
21509 -      /* code doesn't handle that yet, and version dependencies make that a   */
21510 -      /* bit tricky.  Do the easy thing for now.                                   */
21511 -#   endif
21512  #   ifdef NETBSD
21513  #      define OS_TYPE "NETBSD"
21514  #      define HEURISTIC2
21515 @@ -1420,11 +1327,13 @@
21516  #      define ELFCLASS32 32
21517  #      define ELFCLASS64 64
21518  #      define ELF_CLASS ELFCLASS64
21519 +#      define CPP_WORDSZ 64
21520  #       define DYNAMIC_LOADING
21521  #   endif
21522  #   ifdef OPENBSD
21523  #      define OS_TYPE "OPENBSD"
21524  #      define HEURISTIC2
21525 +#      define CPP_WORDSZ 64
21526  #      ifdef __ELF__   /* since OpenBSD/Alpha 2.9 */
21527  #         define DATASTART GC_data_start
21528  #         define ELFCLASS32 32
21529 @@ -1448,16 +1357,17 @@
21530         extern char edata[];
21531         extern char end[];
21532  #      define NEED_FIND_LIMIT
21533 -#      define DATASTART ((ptr_t)(&etext))
21534 +#      define DATASTART ((ptr_t)(etext))
21535  #      define DATAEND (GC_find_limit (DATASTART, TRUE))
21536 -#      define DATASTART2 ((ptr_t)(&edata))
21537 -#      define DATAEND2 ((ptr_t)(&end))
21538 +#      define DATASTART2 ((ptr_t)(edata))
21539 +#      define DATAEND2 ((ptr_t)(end))
21540 +#      define CPP_WORDSZ 64
21541  #   endif
21542  #   ifdef OSF1
21543  #      define OS_TYPE "OSF1"
21544  #      define DATASTART ((ptr_t) 0x140000000)
21545         extern int _end[];
21546 -#      define DATAEND ((ptr_t) &_end)
21547 +#      define DATAEND ((ptr_t) _end)
21548         extern char ** environ;
21549         /* round up from the value of environ to the nearest page boundary */
21550         /* Probably breaks if putenv is called before collector            */
21551 @@ -1470,17 +1380,17 @@
21552         /* This is currently unused, since we disabled HEURISTIC2       */
21553         extern int __start[];
21554  #      define HEURISTIC2_LIMIT ((ptr_t)((word)(__start) & ~(getpagesize()-1)))
21555 -#      ifndef GC_OSF1_THREADS
21556 -         /* Unresolved signal issues with threads.     */
21557 -#        define MPROTECT_VDB
21558 -#       endif
21559 +#      define CPP_WORDSZ 64
21560 +#      define MPROTECT_VDB
21561  #      define DYNAMIC_LOADING
21562  #   endif
21563  #   ifdef LINUX
21564  #       define OS_TYPE "LINUX"
21565 +#       define CPP_WORDSZ 64
21566  #       define STACKBOTTOM ((ptr_t) 0x120000000)
21567  #       ifdef __ELF__
21568  #        define SEARCH_FOR_DATA_START
21569 +#        define DATASTART GC_data_start
21570  #         define DYNAMIC_LOADING
21571  #       else
21572  #           define DATASTART ((ptr_t) 0x140000000)
21573 @@ -1558,6 +1468,7 @@
21574         extern char * GC_register_stackbottom;
21575  #      define BACKING_STORE_BASE ((ptr_t)GC_register_stackbottom)
21576  #      define SEARCH_FOR_DATA_START
21577 +#      define DATASTART GC_data_start
21578  #      ifdef __GNUC__
21579  #         define DYNAMIC_LOADING
21580  #      else
21581 @@ -1591,15 +1502,13 @@
21582  #   endif
21583  #   ifdef  DGUX
21584  #      define OS_TYPE "DGUX"
21585 -       extern ptr_t GC_SysVGetDataStart();
21586 -#       define DATASTART GC_SysVGetDataStart(0x10000, etext)
21587 +       extern char * GC_SysVGetDataStart();
21588 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, etext)
21589  #   endif
21590  #   define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */
21591  # endif
21592  
21593  # ifdef S370
21594 -    /* If this still works, and if anyone cares, this should probably  */
21595 -    /* be moved to the S390 category.                                  */
21596  #   define MACH_TYPE "S370"
21597  #   define ALIGNMENT 4 /* Required by hardware */
21598  #   define USE_GENERIC_PUSH_REGS
21599 @@ -1608,8 +1517,8 @@
21600          extern int etext[];
21601         extern int _etext[];
21602         extern int _end[];
21603 -       extern ptr_t GC_SysVGetDataStart();
21604 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
21605 +       extern char * GC_SysVGetDataStart();
21606 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
21607  #      define DATAEND (_end)
21608  #      define HEURISTIC2
21609  #   endif
21610 @@ -1619,12 +1528,12 @@
21611  #   define MACH_TYPE "S390"
21612  #   define USE_GENERIC_PUSH_REGS
21613  #   ifndef __s390x__
21614 -#   define ALIGNMENT 4
21615 -#   define CPP_WORDSZ 32
21616 +#      define ALIGNMENT 4
21617 +#      define CPP_WORDSZ 32
21618  #   else
21619 -#   define ALIGNMENT 8
21620 -#   define CPP_WORDSZ 64
21621 -#   define HBLKSIZE 4096
21622 +#      define ALIGNMENT 8
21623 +#      define CPP_WORDSZ 64
21624 +#      define HBLKSIZE 4096
21625  #   endif
21626  #   ifdef LINUX
21627  #       define OS_TYPE "LINUX"
21628 @@ -1632,10 +1541,10 @@
21629  #       define DYNAMIC_LOADING
21630          extern int __data_start[];
21631  #       define DATASTART ((ptr_t)(__data_start))
21632 -    extern int _end[];
21633 -#   define DATAEND (_end)
21634 -#   define CACHE_LINE_SIZE 256
21635 -#   define GETPAGESIZE() 4096
21636 +       extern int _end[];
21637 +#      define DATAEND (_end)
21638 +#      define CACHE_LINE_SIZE 256
21639 +#      define GETPAGESIZE() 4096
21640  #   endif
21641  # endif
21642  
21643 @@ -1667,7 +1576,7 @@
21644  #            define DYNAMIC_LOADING
21645  #           include <features.h>
21646  #           if defined(__GLIBC__) && __GLIBC__ >= 2
21647 -#               define SEARCH_FOR_DATA_START
21648 +#               define LINUX_DATA_START
21649  #           else
21650                  extern char **__environ;
21651  #                define DATASTART ((ptr_t)(&__environ))
21652 @@ -1714,7 +1623,7 @@
21653  #     define STACKBOTTOM ((ptr_t) 0x7c000000)
21654  #     define USE_GENERIC_PUSH_REGS
21655  #     define DYNAMIC_LOADING
21656 -#     define SEARCH_FOR_DATA_START
21657 +#     define LINUX_DATA_START
21658        extern int _end[];
21659  #     define DATAEND (_end)
21660  #   endif
21661 @@ -1731,9 +1640,7 @@
21662  #   define MACH_TYPE "X86_64"
21663  #   define ALIGNMENT 8
21664  #   define CPP_WORDSZ 64
21665 -#   ifndef HBLKSIZE
21666 -#     define HBLKSIZE 4096
21667 -#   endif
21668 +#   define HBLKSIZE 4096
21669  #   define CACHE_LINE_SIZE 64
21670  #   define USE_GENERIC_PUSH_REGS
21671  #   ifdef LINUX
21672 @@ -1753,7 +1660,7 @@
21673  #              define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
21674  #           endif
21675  #           include <features.h>
21676 -#           define SEARCH_FOR_DATA_START
21677 +#           define LINUX_DATA_START
21678              extern int _end[];
21679  #           define DATAEND (_end)
21680  #      else
21681 @@ -1767,6 +1674,19 @@
21682  #   endif
21683  # endif
21684  
21685 +#ifdef LINUX_DATA_START
21686 +    /* Some Linux distributions arrange to define __data_start.  Some  */
21687 +    /* define data_start as a weak symbol.  The latter is technically  */
21688 +    /* broken, since the user program may define data_start, in which  */
21689 +    /* case we lose.  Nonetheless, we try both, prefering __data_start.        */
21690 +    /* We assume gcc.  */
21691 +#   pragma weak __data_start
21692 +    extern int __data_start[];
21693 +#   pragma weak data_start
21694 +    extern int data_start[];
21695 +#   define DATASTART ((ptr_t)(__data_start != 0? __data_start : data_start))
21696 +#endif
21697 +
21698  #if defined(LINUX) && defined(REDIRECT_MALLOC)
21699      /* Rld appears to allocate some memory with its own allocator, and */
21700      /* some through malloc, which might be redirected.  To make this   */
21701 @@ -1805,15 +1725,15 @@
21702  # endif
21703  
21704  # if defined(SUNOS5) || defined(DRSNX) || defined(UTS4)
21705 -           /* OS has SVR4 generic features.  Probably others also qualify.     */
21706 +    /* OS has SVR4 generic features.  Probably others also qualify.    */
21707  #   define SVR4
21708  # endif
21709  
21710  # if defined(SUNOS5) || defined(DRSNX)
21711 -           /* OS has SUNOS5 style semi-undocumented interface to dynamic       */
21712 -           /* loader.                                                          */
21713 +    /* OS has SUNOS5 style semi-undocumented interface to dynamic      */
21714 +    /* loader.                                                         */
21715  #   define SUNOS5DL
21716 -           /* OS has SUNOS5 style signal handlers.                             */
21717 +    /* OS has SUNOS5 style signal handlers.                            */
21718  #   define SUNOS5SIGS
21719  # endif
21720  
21721 @@ -1822,13 +1742,13 @@
21722  # endif
21723  
21724  # if defined(SVR4) || defined(LINUX) || defined(IRIX) || defined(HPUX) \
21725 -           || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) || defined(DGUX) \
21726 -           || defined(BSD) || defined(AIX) || defined(DARWIN) || defined(OSF1)
21727 +    || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
21728 +    || defined(BSD) || defined(_AIX) || defined(MACOSX) || defined(OSF1)
21729  #   define UNIX_LIKE   /* Basic Unix-like system calls work.   */
21730  # endif
21731  
21732  # if CPP_WORDSZ != 32 && CPP_WORDSZ != 64
21733 -          -> bad word size
21734 +   -> bad word size
21735  # endif
21736  
21737  # ifdef PCR
21738 @@ -1842,13 +1762,13 @@
21739  # endif
21740  
21741  # ifdef SRC_M3
21742 -       /* Postponed for now. */
21743 +/* Postponed for now. */
21744  #   undef PROC_VDB
21745  #   undef MPROTECT_VDB
21746  # endif
21747  
21748  # ifdef SMALL_CONFIG
21749 -       /* Presumably not worth the space it takes. */
21750 +/* Presumably not worth the space it takes. */
21751  #   undef PROC_VDB
21752  #   undef MPROTECT_VDB
21753  # endif
21754 @@ -1888,47 +1808,49 @@
21755      /* platforms as well, though it should be avoided in win32.                */
21756  # endif /* LINUX */
21757  
21758 -# if defined(SEARCH_FOR_DATA_START)
21759 +# if defined(SEARCH_FOR_DATA_START) && defined(GC_PRIVATE_H)
21760      extern ptr_t GC_data_start;
21761 -#   define DATASTART GC_data_start
21762  # endif
21763  
21764  # ifndef CLEAR_DOUBLE
21765  #   define CLEAR_DOUBLE(x) \
21766 -               ((word*)x)[0] = 0; \
21767 -               ((word*)x)[1] = 0;
21768 +       ((word*)x)[0] = 0; \
21769 +       ((word*)x)[1] = 0;
21770  # endif /* CLEAR_DOUBLE */
21771  
21772 -       /* Internally we use GC_SOLARIS_THREADS to test for either old or pthreads. */
21773 +/* Internally we use GC_SOLARIS_THREADS to test for either old or pthreads. */
21774  # if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
21775  #   define GC_SOLARIS_THREADS
21776  # endif
21777  
21778  # if defined(GC_IRIX_THREADS) && !defined(IRIX5)
21779 -       --> inconsistent configuration
21780 +--> inconsistent configuration
21781  # endif
21782  # if defined(GC_LINUX_THREADS) && !defined(LINUX)
21783 -       --> inconsistent configuration
21784 +--> inconsistent configuration
21785  # endif
21786  # if defined(GC_SOLARIS_THREADS) && !defined(SUNOS5)
21787 -       --> inconsistent configuration
21788 +--> inconsistent configuration
21789  # endif
21790  # if defined(GC_HPUX_THREADS) && !defined(HPUX)
21791 -       --> inconsistent configuration
21792 +--> inconsistent configuration
21793  # endif
21794 -# if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && !defined(CYGWIN32)
21795 -       --> inconsistent configuration
21796 +# if defined(GC_WIN32_THREADS) && !defined(MSWIN32)
21797 +    /* Ideally CYGWIN32 should work, in addition to MSWIN32.  I suspect        */
21798 +    /* the necessary code is mostly there, but nobody has actually made */
21799 +    /* sure the right combination of pieces is compiled in, etc.       */
21800 +--> inconsistent configuration
21801  # endif
21802  
21803  # if defined(PCR) || defined(SRC_M3) || \
21804 -               defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) || \
21805 -               defined(GC_PTHREADS)
21806 +       defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) || \
21807 +       defined(GC_PTHREADS)
21808  #   define THREADS
21809  # endif
21810  
21811 -# if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(DARWIN) \
21812 -            || defined(LINT) || defined(MSWINCE) || defined(ARM32) \
21813 -            || (defined(I386) && defined(__LCC__))
21814 +# if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(MACOSX) \
21815 +     || defined(LINT) || defined(MSWINCE) \
21816 +     || (defined(I386) && defined(__LCC__))
21817         /* Use setjmp based hack to mark from callee-save registers.    */
21818         /* The define should move to the individual platform            */
21819         /* descriptions.                                                */
21820 @@ -1940,26 +1862,36 @@
21821                                 /* include assembly code to do it well. */
21822  # endif
21823  
21824 -  /* Can we save call chain in objects for debugging?                  */
21825 -  /* SET NFRAMES (# of saved frames) and NARGS (#of args for each      */
21826 -  /* frame) to reasonable values for the platform.                     */
21827 -  /* Set SAVE_CALL_CHAIN if we can.  SAVE_CALL_COUNT can be specified  */
21828 -  /* at build time, though we feel free to adjust it slightly.         */
21829 -  /* Define NEED_CALLINFO if we either save the call stack or          */
21830 -  /* GC_ADD_CALLER is defined.                                         */
21831 -  /* GC_CAN_SAVE_CALL_STACKS is set in gc.h.                           */
21832 +/* Can we save call chain in objects for debugging?                    */
21833 +/* SET NFRAMES (# of saved frames) and NARGS (#of args for each frame) */
21834 +/* to reasonable values for the platform.                              */
21835 +/* Set SAVE_CALL_CHAIN if we can.  SAVE_CALL_COUNT can be specified at */
21836 +/* build time, though we feel free to adjust it slightly.              */
21837 +/* Define NEED_CALLINFO if we either save the call stack or            */
21838 +/* GC_ADD_CALLER is defined.                                           */
21839 +#ifdef LINUX
21840 +# include <features.h>
21841 +# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2
21842 +#   define HAVE_BUILTIN_BACKTRACE
21843 +# endif
21844 +#endif
21845  
21846  #if defined(SPARC)
21847 +# define CAN_SAVE_CALL_STACKS
21848  # define CAN_SAVE_CALL_ARGS
21849  #endif
21850  #if (defined(I386) || defined(X86_64)) && defined(LINUX)
21851 -           /* SAVE_CALL_CHAIN is supported if the code is compiled to save     */
21852 -           /* frame pointers by default, i.e. no -fomit-frame-pointer flag.    */
21853 +    /* SAVE_CALL_CHAIN is supported if the code is compiled to save    */
21854 +    /* frame pointers by default, i.e. no -fomit-frame-pointer flag.   */
21855 +# define CAN_SAVE_CALL_STACKS
21856  # define CAN_SAVE_CALL_ARGS
21857  #endif
21858 +#if defined(HAVE_BUILTIN_BACKTRACE) && !defined(CAN_SAVE_CALL_STACKS)
21859 +# define CAN_SAVE_CALL_STACKS
21860 +#endif
21861  
21862  # if defined(SAVE_CALL_COUNT) && !defined(GC_ADD_CALLER) \
21863 -            && defined(GC_CAN_SAVE_CALL_STACKS)
21864 +     && defined(CAN_SAVE_CALL_STACKS)
21865  #   define SAVE_CALL_CHAIN 
21866  # endif
21867  # ifdef SAVE_CALL_CHAIN
21868 @@ -1972,7 +1904,7 @@
21869  # ifdef SAVE_CALL_CHAIN
21870  #   ifndef SAVE_CALL_COUNT
21871  #     define NFRAMES 6 /* Number of frames to save. Even for           */
21872 -                               /* alignment reasons.                           */
21873 +                       /* alignment reasons.                           */
21874  #   else
21875  #     define NFRAMES ((SAVE_CALL_COUNT + 1) & ~1)
21876  #   endif
21877 @@ -1987,97 +1919,5 @@
21878  # if defined(MAKE_BACK_GRAPH) && !defined(DBG_HDRS_ALL)
21879  #   define DBG_HDRS_ALL
21880  # endif
21881 -
21882 -# if defined(POINTER_MASK) && !defined(POINTER_SHIFT)
21883 -#   define POINTER_SHIFT 0
21884 -# endif
21885 -
21886 -# if defined(POINTER_SHIFT) && !defined(POINTER_MASK)
21887 -#   define POINTER_MASK ((GC_word)(-1))
21888 -# endif
21889 -
21890 -# if !defined(FIXUP_POINTER) && defined(POINTER_MASK)
21891 -#   define FIXUP_POINTER(p) (p) = ((p) & (POINTER_MASK) << POINTER_SHIFT)
21892 -# endif
21893 -
21894 -# if defined(FIXUP_POINTER)
21895 -#   define NEED_FIXUP_POINTER 1
21896 -# else
21897 -#   define NEED_FIXUP_POINTER 0
21898 -#   define FIXUP_POINTER(p)
21899 -# endif
21900 -
21901 -#ifdef GC_PRIVATE_H
21902 -       /* This relies on some type definitions from gc_priv.h, from    */
21903 -        /* where it's normally included.                               */
21904 -       /*                                                              */
21905 -       /* How to get heap memory from the OS:                          */
21906 -       /* Note that sbrk()-like allocation is preferred, since it      */
21907 -       /* usually makes it possible to merge consecutively allocated   */
21908 -       /* chunks.  It also avoids unintented recursion with            */
21909 -       /* -DREDIRECT_MALLOC.                                           */
21910 -       /* GET_MEM() returns a HLKSIZE aligned chunk.                   */
21911 -       /* 0 is taken to mean failure.                                  */
21912 -       /* In the case os USE_MMAP, the argument must also be a         */
21913 -       /* physical page size.                                          */
21914 -       /* GET_MEM is currently not assumed to retrieve 0 filled space, */
21915 -       /* though we should perhaps take advantage of the case in which */
21916 -       /* does.                                                        */
21917 -       struct hblk;    /* See gc_priv.h.       */
21918 -# ifdef PCR
21919 -           char * real_malloc();
21920 -#   define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
21921 -                                         + GC_page_size-1)
21922 -# else
21923 -#   ifdef OS2
21924 -             void * os2_alloc(size_t bytes);
21925 -#     define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
21926 -                                           + GC_page_size) \
21927 -                                           + GC_page_size-1)
21928 -#   else
21929 -#     if defined(NEXT) || defined(DOS4GW) || \
21930 -                (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
21931 -                (defined(SUNOS5) && !defined(USE_MMAP))
21932 -#       define GET_MEM(bytes) HBLKPTR((size_t) \
21933 -                                             calloc(1, (size_t)bytes + GC_page_size) \
21934 -                                             + GC_page_size-1)
21935 -#     else
21936 -#      ifdef MSWIN32
21937 -         extern ptr_t GC_win32_get_mem();
21938 -#         define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
21939 -#      else
21940 -#        ifdef MACOS
21941 -#          if defined(USE_TEMPORARY_MEMORY)
21942 -                       extern Ptr GC_MacTemporaryNewPtr(size_t size,
21943 -                                                        Boolean clearMemory);
21944 -#               define GET_MEM(bytes) HBLKPTR( \
21945 -                           GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
21946 -                           + GC_page_size-1)
21947 -#          else
21948 -#                  define GET_MEM(bytes) HBLKPTR( \
21949 -                               NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
21950 -#          endif
21951 -#        else
21952 -#          ifdef MSWINCE
21953 -             extern ptr_t GC_wince_get_mem();
21954 -#            define GET_MEM(bytes) (struct hblk *)GC_wince_get_mem(bytes)
21955 -#          else
21956 -#            if defined(AMIGA) && defined(GC_AMIGA_FASTALLOC)
21957 -                       extern void *GC_amiga_get_mem(size_t size);
21958 -                       define GET_MEM(bytes) HBLKPTR((size_t) \
21959 -                         GC_amiga_get_mem((size_t)bytes + GC_page_size) \
21960 -                         + GC_page_size-1)
21961 -#            else
21962 -               extern ptr_t GC_unix_get_mem();
21963 -#               define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
21964 -#            endif
21965 -#          endif
21966 -#        endif
21967 -#      endif
21968 -#     endif
21969 -#   endif
21970 -# endif
21971 -
21972 -#endif /* GC_PRIVATE_H */
21973  
21974  # endif /* GCCONFIG_H */
21975 diff -Nur ../boehm-gc/include/private/pthread_stop_world.h boehm-gc/include/private/pthread_stop_world.h
21976 --- ../boehm-gc/include/private/pthread_stop_world.h    Mon May 26 13:28:24 2003
21977 +++ boehm-gc/include/private/pthread_stop_world.h       Wed Dec 31 16:00:00 1969
21978 @@ -1,12 +0,0 @@
21979 -#ifndef GC_PTHREAD_STOP_WORLD_H
21980 -#define GC_PTHREAD_STOP_WORLD_H
21981 -
21982 -struct thread_stop_info {
21983 -    int        signal;
21984 -    word last_stop_count;      /* GC_last_stop_count value when thread */
21985 -                               /* last successfully handled a suspend  */
21986 -                               /* signal.                              */
21987 -    ptr_t stack_ptr;           /* Valid only when stopped.             */
21988 -};
21989 -    
21990 -#endif
21991 diff -Nur ../boehm-gc/include/private/pthread_support.h boehm-gc/include/private/pthread_support.h
21992 --- ../boehm-gc/include/private/pthread_support.h       Mon May 26 13:28:24 2003
21993 +++ boehm-gc/include/private/pthread_support.h  Wed Dec 31 16:00:00 1969
21994 @@ -1,97 +0,0 @@
21995 -#ifndef GC_PTHREAD_SUPPORT_H
21996 -#define GC_PTHREAD_SUPPORT_H
21997 -
21998 -# include "private/gc_priv.h"
21999 -
22000 -# if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
22001 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
22002 -     
22003 -#if defined(GC_DARWIN_THREADS)
22004 -# include "private/darwin_stop_world.h"
22005 -#else
22006 -# include "private/pthread_stop_world.h"
22007 -#endif
22008 -
22009 -/* We use the allocation lock to protect thread-related data structures. */
22010 -
22011 -/* The set of all known threads.  We intercept thread creation and     */
22012 -/* joins.                                                              */
22013 -/* Protected by allocation/GC lock.                                    */
22014 -/* Some of this should be declared volatile, but that's inconsistent   */
22015 -/* with some library routine declarations.                             */
22016 -typedef struct GC_Thread_Rep {
22017 -    struct GC_Thread_Rep * next;  /* More recently allocated threads   */
22018 -                                 /* with a given pthread id come       */
22019 -                                 /* first.  (All but the first are     */
22020 -                                 /* guaranteed to be dead, but we may  */
22021 -                                 /* not yet have registered the join.) */
22022 -    pthread_t id;
22023 -    /* Extra bookkeeping information the stopping code uses */
22024 -    struct thread_stop_info stop_info;
22025 -    
22026 -    short flags;
22027 -#      define FINISHED 1       /* Thread has exited.   */
22028 -#      define DETACHED 2       /* Thread is intended to be detached.   */
22029 -#      define MAIN_THREAD 4    /* True for the original thread only.   */
22030 -    short thread_blocked;      /* Protected by GC lock.                */
22031 -                               /* Treated as a boolean value.  If set, */
22032 -                               /* thread will acquire GC lock before   */
22033 -                               /* doing any pointer manipulations, and */
22034 -                               /* has set its sp value.  Thus it does  */
22035 -                               /* not need to be sent a signal to stop */
22036 -                               /* it.                                  */
22037 -    ptr_t stack_end;           /* Cold end of the stack.               */
22038 -#   ifdef IA64
22039 -       ptr_t backing_store_end;
22040 -       ptr_t backing_store_ptr;
22041 -#   endif
22042 -    void * status;             /* The value returned from the thread.  */
22043 -                               /* Used only to avoid premature         */
22044 -                               /* reclamation of any data it might     */
22045 -                               /* reference.                           */
22046 -#   ifdef THREAD_LOCAL_ALLOC
22047 -#      if CPP_WORDSZ == 64 && defined(ALIGN_DOUBLE)
22048 -#          define GRANULARITY 16
22049 -#          define NFREELISTS 49
22050 -#      else
22051 -#          define GRANULARITY 8
22052 -#          define NFREELISTS 65
22053 -#      endif
22054 -       /* The ith free list corresponds to size i*GRANULARITY */
22055 -#      define INDEX_FROM_BYTES(n) ((ADD_SLOP(n) + GRANULARITY - 1)/GRANULARITY)
22056 -#      define BYTES_FROM_INDEX(i) ((i) * GRANULARITY - EXTRA_BYTES)
22057 -#      define SMALL_ENOUGH(bytes) (ADD_SLOP(bytes) <= \
22058 -                                   (NFREELISTS-1)*GRANULARITY)
22059 -       ptr_t ptrfree_freelists[NFREELISTS];
22060 -       ptr_t normal_freelists[NFREELISTS];
22061 -#      ifdef GC_GCJ_SUPPORT
22062 -         ptr_t gcj_freelists[NFREELISTS];
22063 -#      endif
22064 -               /* Free lists contain either a pointer or a small count */
22065 -               /* reflecting the number of granules allocated at that  */
22066 -               /* size.                                                */
22067 -               /* 0 ==> thread-local allocation in use, free list      */
22068 -               /*       empty.                                         */
22069 -               /* > 0, <= DIRECT_GRANULES ==> Using global allocation, */
22070 -               /*       too few objects of this size have been         */
22071 -               /*       allocated by this thread.                      */
22072 -               /* >= HBLKSIZE  => pointer to nonempty free list.       */
22073 -               /* > DIRECT_GRANULES, < HBLKSIZE ==> transition to      */
22074 -               /*    local alloc, equivalent to 0.                     */
22075 -#      define DIRECT_GRANULES (HBLKSIZE/GRANULARITY)
22076 -               /* Don't use local free lists for up to this much       */
22077 -               /* allocation.                                          */
22078 -#   endif
22079 -} * GC_thread;
22080 -
22081 -# define THREAD_TABLE_SZ 128   /* Must be power of 2   */
22082 -extern volatile GC_thread GC_threads[THREAD_TABLE_SZ];
22083 -
22084 -extern GC_bool GC_thr_initialized;
22085 -
22086 -GC_thread GC_lookup_thread(pthread_t id);
22087 -
22088 -void GC_stop_init();
22089 -
22090 -#endif /* GC_PTHREADS && !GC_SOLARIS_THREADS.... etc */
22091 -#endif /* GC_PTHREAD_SUPPORT_H */
22092 diff -Nur ../boehm-gc/include/private/solaris_threads.h boehm-gc/include/private/solaris_threads.h
22093 --- ../boehm-gc/include/private/solaris_threads.h       Mon May 26 13:28:24 2003
22094 +++ boehm-gc/include/private/solaris_threads.h  Tue Oct 23 16:21:39 2001
22095 @@ -16,8 +16,7 @@
22096  #      define DETACHED 2       /* Thread is intended to be detached.   */
22097  #      define CLIENT_OWNS_STACK        4
22098                                 /* Stack was supplied by client.        */
22099 -#      define SUSPNDED 8       /* Currently suspended.                 */
22100 -                              /* SUSPENDED is used insystem header.    */
22101 +#      define SUSPENDED 8      /* Currently suspended. */
22102      ptr_t stack;
22103      size_t stack_size;
22104      cond_t join_cv;
22105 diff -Nur ../boehm-gc/include/private/specific.h boehm-gc/include/private/specific.h
22106 --- ../boehm-gc/include/private/specific.h      Mon May 26 13:28:24 2003
22107 +++ boehm-gc/include/private/specific.h Fri Mar 29 14:52:13 2002
22108 @@ -85,7 +85,7 @@
22109      unsigned hash_val = CACHE_HASH(qtid);
22110      tse * volatile * entry_ptr = key -> cache + hash_val;
22111      tse * entry = *entry_ptr;   /* Must be loaded only once.   */
22112 -    if (EXPECT(entry -> qtid == qtid, 1)) {
22113 +    if (entry -> qtid == qtid) {
22114        GC_ASSERT(entry -> thread == pthread_self());
22115        return entry -> value;
22116      }
22117 diff -Nur ../boehm-gc/irix_threads.c boehm-gc/irix_threads.c
22118 --- ../boehm-gc/irix_threads.c  Mon May 26 12:48:52 2003
22119 +++ boehm-gc/irix_threads.c     Sun May 19 10:36:14 2002
22120 @@ -41,10 +41,6 @@
22121  #undef pthread_join
22122  #undef pthread_detach
22123  
22124 -#ifdef HANDLE_FORK
22125 -  --> Not yet supported.  Try porting the code from linux_threads.c.
22126 -#endif
22127 -
22128  void GC_thr_init();
22129  
22130  #if 0
22131 diff -Nur ../boehm-gc/mach_dep.c boehm-gc/mach_dep.c
22132 --- ../boehm-gc/mach_dep.c      Mon May 26 12:48:52 2003
22133 +++ boehm-gc/mach_dep.c Thu Jul 18 13:06:00 2002
22134 @@ -74,7 +74,7 @@
22135  /* on your architecture.  Run the test_setjmp program to see whether    */
22136  /* there is any chance it will work.                                    */
22137  
22138 -#if !defined(USE_GENERIC_PUSH_REGS) && !defined(USE_ASM_PUSH_REGS)
22139 +#ifndef USE_GENERIC_PUSH_REGS
22140  void GC_push_regs()
22141  {
22142  #       ifdef RT
22143 @@ -228,8 +228,7 @@
22144         || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) \
22145         || ( defined(I386) && defined(NETBSD) && defined(__ELF__) ) \
22146         || ( defined(I386) && defined(OPENBSD) && defined(__ELF__) ) \
22147 -       || ( defined(I386) && defined(HURD) && defined(__ELF__) ) \
22148 -       || ( defined(I386) && defined(DGUX) )
22149 +       || ( defined(I386) && defined(HURD) && defined(__ELF__) )
22150  
22151         /* This is modified for Linux with ELF (Note: _ELF_ only) */
22152         /* This section handles FreeBSD with ELF. */
22153 @@ -378,7 +377,7 @@
22154        /* other machines... */
22155  #       if !defined(M68K) && !defined(VAX) && !defined(RT) 
22156  #      if !defined(SPARC) && !defined(I386) && !defined(NS32K)
22157 -#      if !(defined(POWERPC) && defined(LINUX)) && !defined(UTS4) 
22158 +#      if !defined(POWERPC) && !defined(UTS4) 
22159  #       if !defined(PJ) && !(defined(MIPS) && defined(LINUX))
22160             --> bad news <--
22161  #      endif
22162 @@ -386,7 +385,7 @@
22163  #       endif
22164  #       endif
22165  }
22166 -#endif /* !USE_GENERIC_PUSH_REGS && !USE_ASM_PUSH_REGS */
22167 +#endif /* !USE_GENERIC_PUSH_REGS */
22168  
22169  #if defined(USE_GENERIC_PUSH_REGS)
22170  void GC_generic_push_regs(cold_gc_frame)
22171 diff -Nur ../boehm-gc/malloc.c boehm-gc/malloc.c
22172 --- ../boehm-gc/malloc.c        Mon May 26 12:48:52 2003
22173 +++ boehm-gc/malloc.c   Mon Feb 11 20:37:53 2002
22174 @@ -182,7 +182,6 @@
22175      ptr_t result;
22176      DCL_LOCK_STATE;
22177  
22178 -    if (GC_have_errors) GC_print_all_errors();
22179      GC_INVOKE_FINALIZERS();
22180      if (SMALL_OBJ(lb)) {
22181         DISABLE_SIGNALS();
22182 @@ -295,11 +294,6 @@
22183              return(GENERAL_MALLOC((word)lb, NORMAL));
22184          }
22185          /* See above comment on signals.       */
22186 -       GC_ASSERT(0 == obj_link(op)
22187 -                 || (word)obj_link(op)
22188 -                       <= (word)GC_greatest_plausible_heap_addr
22189 -                    && (word)obj_link(op)
22190 -                       >= (word)GC_least_plausible_heap_addr);
22191          *opp = obj_link(op);
22192          obj_link(op) = 0;
22193          GC_words_allocd += lw;
22194 @@ -344,7 +338,6 @@
22195      return((GC_PTR)REDIRECT_MALLOC(n*lb));
22196    }
22197  
22198 -#ifndef strdup
22199  # include <string.h>
22200  # ifdef __STDC__
22201      char *strdup(const char *s)
22202 @@ -353,16 +346,11 @@
22203      char *s;
22204  # endif
22205    {
22206 -    size_t len = strlen(s) + 1;
22207 +    size_t len = strlen + 1;
22208      char * result = ((char *)REDIRECT_MALLOC(len+1));
22209      BCOPY(s, result, len+1);
22210      return result;
22211    }
22212 -#endif /* !defined(strdup) */
22213 - /* If strdup is macro defined, we assume that it actually calls malloc, */
22214 - /* and thus the right thing will happen even without overriding it.    */
22215 - /* This seems to be true on most Linux systems.                        */
22216 -
22217  # endif /* REDIRECT_MALLOC */
22218  
22219  /* Explicitly deallocate an object p.                          */
22220 @@ -385,7 +373,6 @@
22221         /* Required by ANSI.  It's not my fault ...     */
22222      h = HBLKPTR(p);
22223      hhdr = HDR(h);
22224 -    GC_ASSERT(GC_base(p) == p);
22225  #   if defined(REDIRECT_MALLOC) && \
22226         (defined(GC_SOLARIS_THREADS) || defined(GC_LINUX_THREADS) \
22227          || defined(__MINGW32__)) /* Should this be MSWIN32 in general? */
22228 @@ -467,10 +454,7 @@
22229  }
22230  #endif /* THREADS */
22231  
22232 -# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_FREE)
22233 -#   define REDIRECT_FREE GC_free
22234 -# endif
22235 -# ifdef REDIRECT_FREE
22236 +# ifdef REDIRECT_MALLOC
22237  #   ifdef __STDC__
22238        void free(GC_PTR p)
22239  #   else
22240 @@ -479,7 +463,7 @@
22241  #   endif
22242    {
22243  #   ifndef IGNORE_FREE
22244 -      REDIRECT_FREE(p);
22245 +      GC_free(p);
22246  #   endif
22247    }
22248  # endif  /* REDIRECT_MALLOC */
22249 diff -Nur ../boehm-gc/mallocx.c boehm-gc/mallocx.c
22250 --- ../boehm-gc/mallocx.c       Mon May 26 12:48:52 2003
22251 +++ boehm-gc/mallocx.c  Fri Aug 17 18:04:43 2001
22252 @@ -142,11 +142,7 @@
22253      }
22254  }
22255  
22256 -# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_REALLOC)
22257 -#   define REDIRECT_REALLOC GC_realloc
22258 -# endif
22259 -
22260 -# ifdef REDIRECT_REALLOC
22261 +# if defined(REDIRECT_MALLOC) || defined(REDIRECT_REALLOC)
22262  # ifdef __STDC__
22263      GC_PTR realloc(GC_PTR p, size_t lb)
22264  # else
22265 @@ -155,9 +151,13 @@
22266      size_t lb;
22267  # endif
22268    {
22269 -    return(REDIRECT_REALLOC(p, lb));
22270 +#   ifdef REDIRECT_REALLOC
22271 +      return(REDIRECT_REALLOC(p, lb));
22272 +#   else
22273 +      return(GC_realloc(p, lb));
22274 +#   endif
22275    }
22276 -# endif /* REDIRECT_REALLOC */
22277 +# endif /* REDIRECT_MALLOC */
22278  
22279  
22280  /* The same thing, except caller does not hold allocation lock.        */
22281 @@ -177,7 +177,6 @@
22282      lw = ROUNDED_UP_WORDS(lb);
22283      n_blocks = OBJ_SZ_TO_BLOCKS(lw);
22284      init = GC_obj_kinds[k].ok_init;
22285 -    if (GC_have_errors) GC_print_all_errors();
22286      GC_INVOKE_FINALIZERS();
22287      DISABLE_SIGNALS();
22288      LOCK();
22289 @@ -287,7 +286,6 @@
22290  register ptr_t op;
22291  DCL_LOCK_STATE;
22292  
22293 -    if (GC_have_errors) GC_print_all_errors();
22294      GC_INVOKE_FINALIZERS();
22295      DISABLE_SIGNALS();
22296      LOCK();
22297 @@ -356,7 +354,6 @@
22298          return;
22299      }
22300      lw = ALIGNED_WORDS(lb);
22301 -    if (GC_have_errors) GC_print_all_errors();
22302      GC_INVOKE_FINALIZERS();
22303      DISABLE_SIGNALS();
22304      LOCK();
22305 @@ -378,7 +375,6 @@
22306         while ((hbp = *rlh) != 0) {
22307              hhdr = HDR(hbp);
22308              *rlh = hhdr -> hb_next;
22309 -           hhdr -> hb_last_reclaimed = (unsigned short) GC_gc_no;
22310  #          ifdef PARALLEL_MARK
22311                 {
22312                   signed_word my_words_allocd_tmp = GC_words_allocd_tmp;
22313 @@ -578,44 +574,6 @@
22314         return((GC_PTR) op);
22315      }
22316  }
22317 -
22318 -#ifdef __STDC__
22319 -/* Not well tested nor integrated.     */
22320 -/* Debug version is tricky and currently missing.      */
22321 -#include <limits.h>
22322 -
22323 -GC_PTR GC_memalign(size_t align, size_t lb) 
22324 -{ 
22325 -    size_t new_lb;
22326 -    size_t offset;
22327 -    ptr_t result;
22328 -
22329 -#   ifdef ALIGN_DOUBLE
22330 -       if (align <= WORDS_TO_BYTES(2) && lb > align) return GC_malloc(lb);
22331 -#   endif
22332 -    if (align <= WORDS_TO_BYTES(1)) return GC_malloc(lb);
22333 -    if (align >= HBLKSIZE/2 || lb >= HBLKSIZE/2) {
22334 -        if (align > HBLKSIZE) return GC_oom_fn(LONG_MAX-1024) /* Fail */;
22335 -       return GC_malloc(lb <= HBLKSIZE? HBLKSIZE : lb);
22336 -           /* Will be HBLKSIZE aligned.        */
22337 -    }
22338 -    /* We could also try to make sure that the real rounded-up object size */
22339 -    /* is a multiple of align.  That would be correct up to HBLKSIZE.     */
22340 -    new_lb = lb + align - 1;
22341 -    result = GC_malloc(new_lb);
22342 -    offset = (word)result % align;
22343 -    if (offset != 0) {
22344 -       offset = align - offset;
22345 -        if (!GC_all_interior_pointers) {
22346 -           if (offset >= VALID_OFFSET_SZ) return GC_malloc(HBLKSIZE);
22347 -           GC_register_displacement(offset);
22348 -       }
22349 -    }
22350 -    result = (GC_PTR) ((ptr_t)result + offset);
22351 -    GC_ASSERT((word)result % align == 0);
22352 -    return result;
22353 -}
22354 -#endif 
22355  
22356  # ifdef ATOMIC_UNCOLLECTABLE
22357  /* Allocate lb bytes of pointerfree, untraced, uncollectable data      */
22358 diff -Nur ../boehm-gc/mark.c boehm-gc/mark.c
22359 --- ../boehm-gc/mark.c  Mon May 26 12:48:52 2003
22360 +++ boehm-gc/mark.c     Fri Mar 29 14:52:12 2002
22361 @@ -19,10 +19,6 @@
22362  # include <stdio.h>
22363  # include "private/gc_pmark.h"
22364  
22365 -#if defined(MSWIN32) && defined(__GNUC__)
22366 -# include <excpt.h>
22367 -#endif
22368 -
22369  /* We put this here to minimize the risk of inlining. */
22370  /*VARARGS*/
22371  #ifdef __WATCOMC__
22372 @@ -265,20 +261,20 @@
22373  /* remains valid until all marking is complete.                */
22374  /* A zero value indicates that it's OK to miss some    */
22375  /* register values.                                    */
22376 -/* We hold the allocation lock.  In the case of        */
22377 -/* incremental collection, the world may not be stopped.*/
22378 -#ifdef MSWIN32
22379 -  /* For win32, this is called after we establish a structured */
22380 -  /* exception handler, in case Windows unmaps one of our root */
22381 -  /* segments.  See below.  In either case, we acquire the     */
22382 -  /* allocator lock long before we get here.                   */
22383 -  GC_bool GC_mark_some_inner(cold_gc_frame)
22384 -  ptr_t cold_gc_frame;
22385 -#else
22386 -  GC_bool GC_mark_some(cold_gc_frame)
22387 -  ptr_t cold_gc_frame;
22388 -#endif
22389 +GC_bool GC_mark_some(cold_gc_frame)
22390 +ptr_t cold_gc_frame;
22391  {
22392 +#if defined(MSWIN32) && !defined(__GNUC__)
22393 +  /* Windows 98 appears to asynchronously create and remove writable   */
22394 +  /* memory mappings, for reasons we haven't yet understood.  Since    */
22395 +  /* we look for writable regions to determine the root set, we may    */
22396 +  /* try to mark from an address range that disappeared since we       */
22397 +  /* started the collection.  Thus we have to recover from faults here. */
22398 +  /* This code does not appear to be necessary for Windows 95/NT/2000. */ 
22399 +  /* Note that this code should never generate an incremental GC write */
22400 +  /* fault.                                                            */
22401 +  __try {
22402 +#endif /* defined(MSWIN32) && !defined(__GNUC__) */
22403      switch(GC_mark_state) {
22404         case MS_NONE:
22405             return(FALSE);
22406 @@ -399,130 +395,23 @@
22407             ABORT("GC_mark_some: bad state");
22408             return(FALSE);
22409      }
22410 -}
22411 -
22412 -
22413 -#ifdef MSWIN32
22414 -
22415 -# ifdef __GNUC__
22416 -
22417 -    typedef struct {
22418 -      EXCEPTION_REGISTRATION ex_reg;
22419 -      void *alt_path;
22420 -    } ext_ex_regn;
22421 -
22422 -
22423 -    static EXCEPTION_DISPOSITION mark_ex_handler(
22424 -        struct _EXCEPTION_RECORD *ex_rec, 
22425 -        void *est_frame,
22426 -        struct _CONTEXT *context,
22427 -        void *disp_ctxt)
22428 -    {
22429 -        if (ex_rec->ExceptionCode == STATUS_ACCESS_VIOLATION) {
22430 -          ext_ex_regn *xer = (ext_ex_regn *)est_frame;
22431 -
22432 -          /* Unwind from the inner function assuming the standard */
22433 -          /* function prologue.                                   */
22434 -          /* Assumes code has not been compiled with              */
22435 -          /* -fomit-frame-pointer.                                */
22436 -          context->Esp = context->Ebp;
22437 -          context->Ebp = *((DWORD *)context->Esp);
22438 -          context->Esp = context->Esp - 8;
22439 -
22440 -          /* Resume execution at the "real" handler within the    */
22441 -          /* wrapper function.                                    */
22442 -          context->Eip = (DWORD )(xer->alt_path);
22443 -
22444 -          return ExceptionContinueExecution;
22445 -
22446 -        } else {
22447 -            return ExceptionContinueSearch;
22448 -        }
22449 -    }
22450 -# endif /* __GNUC__ */
22451 -
22452 -
22453 -  GC_bool GC_mark_some(cold_gc_frame)
22454 -  ptr_t cold_gc_frame;
22455 -  {
22456 -      GC_bool ret_val;
22457 -
22458 -#   ifndef __GNUC__
22459 -      /* Windows 98 appears to asynchronously create and remove  */
22460 -      /* writable memory mappings, for reasons we haven't yet    */
22461 -      /* understood.  Since we look for writable regions to      */
22462 -      /* determine the root set, we may try to mark from an      */
22463 -      /* address range that disappeared since we started the     */
22464 -      /* collection.  Thus we have to recover from faults here.  */
22465 -      /* This code does not appear to be necessary for Windows   */
22466 -      /* 95/NT/2000. Note that this code should never generate   */
22467 -      /* an incremental GC write fault.                          */
22468 -
22469 -      __try {
22470 -
22471 -#   else /* __GNUC__ */
22472 -
22473 -      /* Manually install an exception handler since GCC does    */
22474 -      /* not yet support Structured Exception Handling (SEH) on  */
22475 -      /* Win32.                                                  */
22476 -
22477 -      ext_ex_regn er;
22478 -
22479 -      er.alt_path = &&handle_ex;
22480 -      er.ex_reg.handler = mark_ex_handler;
22481 -      asm volatile ("movl %%fs:0, %0" : "=r" (er.ex_reg.prev));
22482 -      asm volatile ("movl %0, %%fs:0" : : "r" (&er));
22483 -
22484 -#   endif /* __GNUC__ */
22485 -
22486 -          ret_val = GC_mark_some_inner(cold_gc_frame);
22487 -
22488 -#   ifndef __GNUC__
22489 -
22490 -      } __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ?
22491 -                EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
22492 -
22493 -#   else /* __GNUC__ */
22494 -
22495 -          /* Prevent GCC from considering the following code unreachable */
22496 -          /* and thus eliminating it.                                    */
22497 -          if (er.alt_path != 0)
22498 -              goto rm_handler;
22499 -
22500 -handle_ex:
22501 -          /* Execution resumes from here on an access violation. */
22502 -
22503 -#   endif /* __GNUC__ */
22504 -
22505 -#         ifdef CONDPRINT
22506 -            if (GC_print_stats) {
22507 -             GC_printf0("Caught ACCESS_VIOLATION in marker. "
22508 -                        "Memory mapping disappeared.\n");
22509 -            }
22510 -#         endif /* CONDPRINT */
22511 -
22512 -          /* We have bad roots on the stack.  Discard mark stack.  */
22513 -          /* Rescan from marked objects.  Redetermine roots.    */
22514 -          GC_invalidate_mark_state();  
22515 -          scan_ptr = 0;
22516 -
22517 -          ret_val = FALSE;
22518 -
22519 -#   ifndef __GNUC__
22520 -
22521 +#if defined(MSWIN32) && !defined(__GNUC__)
22522 +  } __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ?
22523 +           EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
22524 +#   ifdef CONDPRINT
22525 +      if (GC_print_stats) {
22526 +       GC_printf0("Caught ACCESS_VIOLATION in marker. "
22527 +                  "Memory mapping disappeared.\n");
22528        }
22529 -
22530 -#   else /* __GNUC__ */
22531 -
22532 -rm_handler:
22533 -      /* Uninstall the exception handler */
22534 -      asm volatile ("mov %0, %%fs:0" : : "r" (er.ex_reg.prev));
22535 -
22536 -#   endif /* __GNUC__ */
22537 -
22538 -      return ret_val;
22539 +#   endif /* CONDPRINT */
22540 +    /* We have bad roots on the stack.  Discard mark stack.    */
22541 +    /* Rescan from marked objects.  Redetermine roots.         */
22542 +    GC_invalidate_mark_state();        
22543 +    scan_ptr = 0;
22544 +    return FALSE;
22545    }
22546 -#endif /* MSWIN32 */
22547 +#endif /* defined(MSWIN32) && !defined(__GNUC__) */
22548 +}
22549  
22550  
22551  GC_bool GC_mark_stack_empty()
22552 @@ -545,7 +434,13 @@
22553  /*       for the large object.                                         */
22554  /*     - just return current if it does not point to a large object.   */
22555  /*ARGSUSED*/
22556 -ptr_t GC_find_start(current, hhdr, new_hdr_p)
22557 +# ifdef PRINT_BLACK_LIST
22558 +  ptr_t GC_find_start(current, hhdr, new_hdr_p, source)
22559 +  ptr_t source;
22560 +# else
22561 +  ptr_t GC_find_start(current, hhdr, new_hdr_p)
22562 +# define source 0
22563 +# endif
22564  register ptr_t current;
22565  register hdr *hhdr, **new_hdr_p;
22566  {
22567 @@ -573,6 +468,7 @@
22568      } else {
22569          return(current);
22570      }
22571 +#   undef source
22572  }
22573  
22574  void GC_invalidate_mark_state()
22575 @@ -650,8 +546,8 @@
22576            /* Large length.                                             */
22577            /* Process part of the range to avoid pushing too much on the        */
22578            /* stack.                                                    */
22579 -         GC_ASSERT(descr < (word)GC_greatest_plausible_heap_addr
22580 -                           - (word)GC_least_plausible_heap_addr);
22581 +         GC_ASSERT(descr < GC_greatest_plausible_heap_addr
22582 +                           - GC_least_plausible_heap_addr);
22583  #        ifdef PARALLEL_MARK
22584  #          define SHARE_BYTES 2048
22585             if (descr > SHARE_BYTES && GC_parallel
22586 @@ -682,7 +578,6 @@
22587            while (descr != 0) {
22588              if ((signed_word)descr < 0) {
22589                current = *current_p;
22590 -             FIXUP_POINTER(current);
22591               if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) {
22592                 PREFETCH(current);
22593                  HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top,
22594 @@ -757,7 +652,6 @@
22595           PREFETCH((ptr_t)limit - PREF_DIST*CACHE_LINE_SIZE);
22596           GC_ASSERT(limit >= current_p);
22597           deferred = *limit;
22598 -         FIXUP_POINTER(deferred);
22599           limit = (word *)((char *)limit - ALIGNMENT);
22600           if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
22601             PREFETCH(deferred);
22602 @@ -767,7 +661,6 @@
22603           /* Unroll once, so we don't do too many of the prefetches     */
22604           /* based on limit.                                            */
22605           deferred = *limit;
22606 -         FIXUP_POINTER(deferred);
22607           limit = (word *)((char *)limit - ALIGNMENT);
22608           if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
22609             PREFETCH(deferred);
22610 @@ -782,7 +675,6 @@
22611         /* Since HC_PUSH_CONTENTS expands to a lot of code,     */
22612         /* we don't.                                            */
22613          current = *current_p;
22614 -       FIXUP_POINTER(current);
22615          PREFETCH((ptr_t)current_p + PREF_DIST*CACHE_LINE_SIZE);
22616          if ((ptr_t)current >= least_ha && (ptr_t)current <  greatest_ha) {
22617           /* Prefetch the contents of the object we just pushed.  It's  */
22618 @@ -834,33 +726,22 @@
22619      mse *top = local - 1;
22620      unsigned i = 0;
22621  
22622 -    /* Make sure that prior writes to the mark stack are visible. */
22623 -    /* On some architectures, the fact that the reads are        */
22624 -    /* volatile should suffice.                                          */
22625 -#   if !defined(IA64) && !defined(HP_PA) && !defined(I386)
22626 -      GC_memory_barrier();
22627 -#   endif
22628      GC_ASSERT(high >= low-1 && high - low + 1 <= GC_mark_stack_size);
22629      for (p = low; p <= high && i <= max; ++p) {
22630         word descr = *(volatile word *) &(p -> mse_descr);
22631 -       /* In the IA64 memory model, the following volatile store is    */
22632 -       /* ordered after this read of descr.  Thus a thread must read   */
22633 -       /* the original nonzero value.  HP_PA appears to be similar,    */
22634 -       /* and if I'm reading the P4 spec correctly, X86 is probably    */
22635 -       /* also OK.  In some other cases we need a barrier.             */
22636 -#       if !defined(IA64) && !defined(HP_PA) && !defined(I386)
22637 -          GC_memory_barrier();
22638 -#       endif
22639         if (descr != 0) {
22640             *(volatile word *) &(p -> mse_descr) = 0;
22641 -           /* More than one thread may get this entry, but that's only */
22642 -           /* a minor performance problem.                             */
22643             ++top;
22644             top -> mse_descr = descr;
22645             top -> mse_start = p -> mse_start;
22646             GC_ASSERT(  top -> mse_descr & GC_DS_TAGS != GC_DS_LENGTH || 
22647                         top -> mse_descr < GC_greatest_plausible_heap_addr
22648                                            - GC_least_plausible_heap_addr);
22649 +           /* There is no synchronization here.  We assume that at     */
22650 +           /* least one thread will see the original descriptor.       */
22651 +           /* Otherwise we need a barrier.                             */
22652 +           /* More than one thread may get this entry, but that's only */
22653 +           /* a minor performance problem.                             */
22654             /* If this is a big object, count it as                     */
22655             /* size/256 + 1 objects.                                    */
22656             ++i;
22657 @@ -897,7 +778,7 @@
22658        BCOPY(low, my_start, stack_size * sizeof(mse));
22659        GC_ASSERT(GC_mark_stack_top = my_top);
22660  #     if !defined(IA64) && !defined(HP_PA)
22661 -        GC_memory_barrier();
22662 +        GC_memory_write_barrier();
22663  #     endif
22664         /* On IA64, the volatile write acts as a release barrier. */
22665        GC_mark_stack_top = my_top + stack_size;
22666 @@ -1461,8 +1342,8 @@
22667  #   define GC_least_plausible_heap_addr least_ha
22668  
22669      if (top == 0) return;
22670 -    /* check all pointers in range and push if they appear     */
22671 -    /* to be valid.                                            */
22672 +    /* check all pointers in range and put in push if they appear */
22673 +    /* to be valid.                                              */
22674        lim = t - 1 /* longword */;
22675        for (p = b; p <= lim; p = (word *)(((char *)p) + ALIGNMENT)) {
22676         q = *p;
22677 @@ -1485,7 +1366,7 @@
22678  ptr_t top;
22679  ptr_t cold_gc_frame;
22680  {
22681 -  if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
22682 +  if (GC_all_interior_pointers) {
22683  #   define EAGER_BYTES 1024
22684      /* Push the hot end of the stack eagerly, so that register values   */
22685      /* saved inside GC frames are marked before they disappear.                */
22686 @@ -1494,7 +1375,6 @@
22687         GC_push_all_stack(bottom, top);
22688         return;
22689      }
22690 -    GC_ASSERT(bottom <= cold_gc_frame && cold_gc_frame <= top);
22691  #   ifdef STACK_GROWS_DOWN
22692         GC_push_all(cold_gc_frame - sizeof(ptr_t), top);
22693         GC_push_all_eager(bottom, cold_gc_frame);
22694 @@ -1515,7 +1395,7 @@
22695  ptr_t bottom;
22696  ptr_t top;
22697  {
22698 -  if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
22699 +  if (GC_all_interior_pointers) {
22700      GC_push_all(bottom, top);
22701    } else {
22702      GC_push_all_eager(bottom, top);
22703 diff -Nur ../boehm-gc/mark_rts.c boehm-gc/mark_rts.c
22704 --- ../boehm-gc/mark_rts.c      Mon May 26 12:48:52 2003
22705 +++ boehm-gc/mark_rts.c Mon Mar  3 22:38:29 2003
22706 @@ -275,72 +275,33 @@
22707  }
22708  
22709  /* Internal use only; lock held.       */
22710 -static void GC_remove_root_at_pos(i) 
22711 -int i;
22712 -{
22713 -    GC_root_size -= (GC_static_roots[i].r_end - GC_static_roots[i].r_start);
22714 -    GC_static_roots[i].r_start = GC_static_roots[n_root_sets-1].r_start;
22715 -    GC_static_roots[i].r_end = GC_static_roots[n_root_sets-1].r_end;
22716 -    GC_static_roots[i].r_tmp = GC_static_roots[n_root_sets-1].r_tmp;
22717 -    n_root_sets--;
22718 -}
22719 -
22720 -#if !defined(MSWIN32) && !defined(MSWINCE)
22721 -static void GC_rebuild_root_index()
22722 -{
22723 -    register int i;
22724 -       
22725 -    for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
22726 -    for (i = 0; i < n_root_sets; i++)
22727 -        add_roots_to_index(GC_static_roots + i);
22728 -}
22729 -#endif
22730 -
22731 -/* Internal use only; lock held.       */
22732  void GC_remove_tmp_roots()
22733  {
22734      register int i;
22735      
22736      for (i = 0; i < n_root_sets; ) {
22737         if (GC_static_roots[i].r_tmp) {
22738 -            GC_remove_root_at_pos(i);
22739 +           GC_root_size -=
22740 +               (GC_static_roots[i].r_end - GC_static_roots[i].r_start);
22741 +           GC_static_roots[i].r_start = GC_static_roots[n_root_sets-1].r_start;
22742 +           GC_static_roots[i].r_end = GC_static_roots[n_root_sets-1].r_end;
22743 +           GC_static_roots[i].r_tmp = GC_static_roots[n_root_sets-1].r_tmp;
22744 +           n_root_sets--;
22745         } else {
22746             i++;
22747         }
22748      }
22749 -    #if !defined(MSWIN32) && !defined(MSWINCE)
22750 -    GC_rebuild_root_index();
22751 -    #endif
22752 -}
22753 -
22754 -#if !defined(MSWIN32) && !defined(MSWINCE)
22755 -void GC_remove_roots(b, e)
22756 -char * b; char * e;
22757 -{
22758 -    DCL_LOCK_STATE;
22759 -    
22760 -    DISABLE_SIGNALS();
22761 -    LOCK();
22762 -    GC_remove_roots_inner(b, e);
22763 -    UNLOCK();
22764 -    ENABLE_SIGNALS();
22765 -}
22766 -
22767 -/* Should only be called when the lock is held */
22768 -void GC_remove_roots_inner(b,e)
22769 -char * b; char * e;
22770 -{
22771 -    int i;
22772 -    for (i = 0; i < n_root_sets; ) {
22773 -       if (GC_static_roots[i].r_start >= (ptr_t)b && GC_static_roots[i].r_end <= (ptr_t)e) {
22774 -            GC_remove_root_at_pos(i);
22775 -       } else {
22776 -           i++;
22777 -       }
22778 +#   if !defined(MSWIN32) && !defined(MSWINCE)
22779 +    {
22780 +       register int i;
22781 +       
22782 +       for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
22783 +       for (i = 0; i < n_root_sets; i++)
22784 +               add_roots_to_index(GC_static_roots + i);
22785      }
22786 -    GC_rebuild_root_index();
22787 +#   endif
22788 +    
22789  }
22790 -#endif /* !defined(MSWIN32) && !defined(MSWINCE) */
22791  
22792  #if defined(MSWIN32) || defined(_WIN32_WCE_EMULATION)
22793  /* Workaround for the OS mapping and unmapping behind our back:                */
22794 @@ -612,11 +573,8 @@
22795  
22796       /* Mark thread local free lists, even if their mark       */
22797       /* descriptor excludes the link field.                    */
22798 -     /* If the world is not stopped, this is unsafe.  It is    */
22799 -     /* also unnecessary, since we will do this again with the */
22800 -     /* world stopped.                                         */
22801  #      ifdef THREAD_LOCAL_ALLOC
22802 -         if (GC_world_stopped) GC_mark_thread_local_free_lists();
22803 +         GC_mark_thread_local_free_lists();
22804  #      endif
22805  
22806      /*
22807 diff -Nur ../boehm-gc/misc.c boehm-gc/misc.c
22808 --- ../boehm-gc/misc.c  Mon May 26 12:48:52 2003
22809 +++ boehm-gc/misc.c     Mon Mar  3 22:38:30 2003
22810 @@ -46,10 +46,8 @@
22811  #      ifdef GC_SOLARIS_THREADS
22812           mutex_t GC_allocate_ml;       /* Implicitly initialized.      */
22813  #      else
22814 -#          if defined(GC_WIN32_THREADS) 
22815 -#             if defined(GC_PTHREADS)
22816 -                 pthread_mutex_t GC_allocate_ml = PTHREAD_MUTEX_INITIALIZER;
22817 -#            elif defined(GC_DLL)
22818 +#          ifdef GC_WIN32_THREADS
22819 +#            if !defined(GC_NOT_DLL) && (defined(_DLL) || defined(GC_DLL))
22820                  __declspec(dllexport) CRITICAL_SECTION GC_allocate_ml;
22821  #            else
22822                  CRITICAL_SECTION GC_allocate_ml;
22823 @@ -77,8 +75,8 @@
22824  #undef STACKBASE
22825  #endif
22826  
22827 -/* Dont unnecessarily call GC_register_main_static_data() in case      */
22828 -/* dyn_load.c isn't linked in.                                         */
22829 +/* Dont unnecessarily call GC_register_main_static_data() in case      */
22830 +/* dyn_load.c isn't linked in.                                         */
22831  #ifdef DYNAMIC_LOADING
22832  # define GC_REGISTER_MAIN_STATIC_DATA() GC_register_main_static_data()
22833  #else
22834 @@ -92,7 +90,6 @@
22835         /* defined here so we don't have to load debug_malloc.o */
22836  
22837  void (*GC_check_heap) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
22838 -void (*GC_print_all_smashed) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
22839  
22840  void (*GC_start_call_back) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
22841  
22842 @@ -112,10 +109,6 @@
22843  
22844  GC_bool GC_print_back_height = 0;
22845  
22846 -#ifndef NO_DEBUGGING
22847 -  GC_bool GC_dump_regularly = 0;  /* Generate regular debugging dumps. */
22848 -#endif
22849 -
22850  #ifdef FIND_LEAK
22851    int GC_find_leak = 1;
22852  #else
22853 @@ -144,13 +137,6 @@
22854  
22855  extern signed_word GC_mem_found;
22856  
22857 -void * GC_project2(arg1, arg2)
22858 -void *arg1;
22859 -void *arg2;
22860 -{
22861 -  return arg2;
22862 -}
22863 -
22864  # ifdef MERGE_SIZES
22865      /* Set things up so that GC_size_map[i] >= words(i),               */
22866      /* but not too much bigger                                         */
22867 @@ -469,7 +455,7 @@
22868      
22869      DISABLE_SIGNALS();
22870  
22871 -#if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
22872 +#ifdef MSWIN32
22873      if (!GC_is_initialized) InitializeCriticalSection(&GC_allocate_ml);
22874  #endif /* MSWIN32 */
22875  
22876 @@ -487,15 +473,6 @@
22877           GC_init_parallel();
22878         }
22879  #   endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
22880 -
22881 -#   if defined(DYNAMIC_LOADING) && defined(DARWIN)
22882 -    {
22883 -        /* This must be called WITHOUT the allocation lock held
22884 -        and before any threads are created */
22885 -        extern void GC_init_dyld();
22886 -        GC_init_dyld();
22887 -    }
22888 -#   endif
22889  }
22890  
22891  #if defined(MSWIN32) || defined(MSWINCE)
22892 @@ -508,22 +485,6 @@
22893  
22894  extern void GC_setpagesize();
22895  
22896 -
22897 -#ifdef MSWIN32
22898 -extern GC_bool GC_no_win32_dlls;
22899 -#else
22900 -# define GC_no_win32_dlls FALSE
22901 -#endif
22902 -
22903 -void GC_exit_check GC_PROTO((void))
22904 -{
22905 -   GC_gcollect();
22906 -}
22907 -
22908 -#ifdef SEARCH_FOR_DATA_START
22909 -  extern void GC_init_linux_data_start GC_PROTO((void));
22910 -#endif
22911 -
22912  #ifdef UNIX_LIKE
22913  
22914  extern void GC_set_and_save_fault_handler GC_PROTO((void (*handler)(int)));
22915 @@ -534,23 +495,12 @@
22916      GC_err_printf1("Caught signal %d: looping in handler\n", sig);
22917      for(;;);
22918  }
22919 +#endif
22920  
22921 -static GC_bool installed_looping_handler = FALSE;
22922 -
22923 -void maybe_install_looping_handler()
22924 -{
22925 -    /* Install looping handler before the write fault handler, so we   */
22926 -    /* handle write faults correctly.                                  */
22927 -      if (!installed_looping_handler && 0 != GETENV("GC_LOOP_ON_ABORT")) {
22928 -        GC_set_and_save_fault_handler(looping_handler);
22929 -        installed_looping_handler = TRUE;
22930 -      }
22931 -}
22932 -
22933 -#else /* !UNIX_LIKE */
22934 -
22935 -# define maybe_install_looping_handler()
22936 -
22937 +#ifdef MSWIN32
22938 +extern GC_bool GC_no_win32_dlls;
22939 +#else
22940 +# define GC_no_win32_dlls FALSE
22941  #endif
22942  
22943  void GC_init_inner()
22944 @@ -565,21 +515,14 @@
22945        GC_print_stats = 1;
22946  #   endif
22947  #   if defined(MSWIN32) || defined(MSWINCE)
22948 -      InitializeCriticalSection(&GC_write_cs);
22949 +       InitializeCriticalSection(&GC_write_cs);
22950  #   endif
22951 +
22952      if (0 != GETENV("GC_PRINT_STATS")) {
22953        GC_print_stats = 1;
22954      } 
22955 -#   ifndef NO_DEBUGGING
22956 -      if (0 != GETENV("GC_DUMP_REGULARLY")) {
22957 -        GC_dump_regularly = 1;
22958 -      }
22959 -#   endif
22960      if (0 != GETENV("GC_FIND_LEAK")) {
22961        GC_find_leak = 1;
22962 -#     ifdef __STDC__
22963 -        atexit(GC_exit_check);
22964 -#     endif
22965      }
22966      if (0 != GETENV("GC_ALL_INTERIOR_POINTERS")) {
22967        GC_all_interior_pointers = 1;
22968 @@ -617,7 +560,11 @@
22969          }
22970        }
22971      }
22972 -    maybe_install_looping_handler();
22973 +#   ifdef UNIX_LIKE
22974 +      if (0 != GETENV("GC_LOOP_ON_ABORT")) {
22975 +        GC_set_and_save_fault_handler(looping_handler);
22976 +      }
22977 +#   endif
22978      /* Adjust normal object descriptor for extra allocation.   */
22979      if (ALIGNMENT > GC_DS_TAGS && EXTRA_BYTES != 0) {
22980        GC_obj_kinds[NORMAL].ok_descriptor = ((word)(-ALIGNMENT) | GC_DS_LENGTH);
22981 @@ -652,21 +599,11 @@
22982  #       if defined(LINUX) && defined(IA64)
22983           GC_register_stackbottom = GC_get_register_stack_base();
22984  #       endif
22985 -      } else {
22986 -#       if defined(LINUX) && defined(IA64)
22987 -         if (GC_register_stackbottom == 0) {
22988 -           WARN("GC_register_stackbottom should be set with GC_stackbottom", 0);
22989 -           /* The following is likely to fail, since we rely on        */
22990 -           /* alignment properties that may not hold with a user set   */
22991 -           /* GC_stackbottom.                                          */
22992 -           GC_register_stackbottom = GC_get_register_stack_base();
22993 -         }
22994 -#      endif
22995        }
22996  #   endif
22997 -    GC_STATIC_ASSERT(sizeof (ptr_t) == sizeof(word));
22998 -    GC_STATIC_ASSERT(sizeof (signed_word) == sizeof(word));
22999 -    GC_STATIC_ASSERT(sizeof (struct hblk) == HBLKSIZE);
23000 +    GC_ASSERT(sizeof (ptr_t) == sizeof(word));
23001 +    GC_ASSERT(sizeof (signed_word) == sizeof(word));
23002 +    GC_ASSERT(sizeof (struct hblk) == HBLKSIZE);
23003  #   ifndef THREADS
23004  #     if defined(STACK_GROWS_UP) && defined(STACK_GROWS_DOWN)
23005         ABORT(
23006 @@ -705,18 +642,6 @@
23007           initial_heap_sz = divHBLKSZ(initial_heap_sz);
23008         }
23009      }
23010 -    {
23011 -       char * sz_str = GETENV("GC_MAXIMUM_HEAP_SIZE");
23012 -       if (sz_str != NULL) {
23013 -         word max_heap_sz = (word)atol(sz_str);
23014 -         if (max_heap_sz < initial_heap_sz * HBLKSIZE) {
23015 -           WARN("Bad maximum heap size %s - ignoring it.\n",
23016 -                sz_str);
23017 -         } 
23018 -         if (0 == GC_max_retries) GC_max_retries = 2;
23019 -         GC_set_max_heap_size(max_heap_sz);
23020 -       }
23021 -    }
23022      if (!GC_expand_hp_inner(initial_heap_sz)) {
23023          GC_err_printf0("Can't start up: not enough memory\n");
23024          EXIT();
23025 @@ -752,7 +677,6 @@
23026         GC_incremental = TRUE;
23027        }
23028  #   endif /* !SMALL_CONFIG */
23029 -    COND_DUMP;
23030      /* Get black list set up and/or incrmental GC started */
23031        if (!GC_dont_precollect || GC_incremental) GC_gcollect_inner();
23032      GC_is_initialized = TRUE;
23033 @@ -788,9 +712,8 @@
23034      if (GC_incremental) goto out;
23035      GC_setpagesize();
23036      if (GC_no_win32_dlls) goto out;
23037 -#   ifndef GC_SOLARIS_THREADS 
23038 -      maybe_install_looping_handler();  /* Before write fault handler! */
23039 -      GC_dirty_init();
23040 +#   ifndef GC_SOLARIS_THREADS
23041 +        GC_dirty_init();
23042  #   endif
23043      if (!GC_is_initialized) {
23044          GC_init_inner();
23045 @@ -1009,17 +932,6 @@
23046      return(result);
23047  }
23048  
23049 -# if defined(__STDC__) || defined(__cplusplus)
23050 -    GC_word GC_set_free_space_divisor (GC_word value)
23051 -# else
23052 -    GC_word GC_set_free_space_divisor (value)
23053 -    GC_word value;
23054 -# endif
23055 -{
23056 -    GC_word old = GC_free_space_divisor;
23057 -    GC_free_space_divisor = value;
23058 -    return old;
23059 -}
23060  
23061  #ifndef PCR
23062  void GC_abort(msg)
23063 @@ -1046,18 +958,122 @@
23064  }
23065  #endif
23066  
23067 +#ifdef NEED_CALLINFO
23068 +
23069 +#ifdef HAVE_BUILTIN_BACKTRACE
23070 +# include <execinfo.h>
23071 +# ifdef LINUX
23072 +#   include <unistd.h>
23073 +# endif
23074 +#endif
23075 +
23076 +void GC_print_callers (info)
23077 +struct callinfo info[NFRAMES];
23078 +{
23079 +    register int i;
23080 +    
23081 +#   if NFRAMES == 1
23082 +      GC_err_printf0("\tCaller at allocation:\n");
23083 +#   else
23084 +      GC_err_printf0("\tCall chain at allocation:\n");
23085 +#   endif
23086 +    for (i = 0; i < NFRAMES; i++) {
23087 +       if (info[i].ci_pc == 0) break;
23088 +#      if NARGS > 0
23089 +       {
23090 +         int j;
23091 +
23092 +         GC_err_printf0("\t\targs: ");
23093 +         for (j = 0; j < NARGS; j++) {
23094 +           if (j != 0) GC_err_printf0(", ");
23095 +           GC_err_printf2("%d (0x%X)", ~(info[i].ci_arg[j]),
23096 +                                       ~(info[i].ci_arg[j]));
23097 +         }
23098 +         GC_err_printf0("\n");
23099 +       }
23100 +#      endif
23101 +#      if defined(HAVE_BUILTIN_BACKTRACE) && !defined(REDIRECT_MALLOC)
23102 +         /* Unfortunately backtrace_symbols calls malloc, which makes  */
23103 +         /* it dangersous if that has been redirected.                 */
23104 +         {
23105 +           char **sym_name =
23106 +             backtrace_symbols((void **)(&(info[i].ci_pc)), 1);
23107 +           char *name = sym_name[0];
23108 +           GC_bool found_it = (strchr(name, '(') != 0);
23109 +           FILE *pipe;
23110 +#          ifdef LINUX
23111 +             if (!found_it) {
23112 +#              define EXE_SZ 100
23113 +               static char exe_name[EXE_SZ];
23114 +#              define CMD_SZ 200
23115 +               char cmd_buf[CMD_SZ];
23116 +#              define RESULT_SZ 200
23117 +               static char result_buf[RESULT_SZ];
23118 +               size_t result_len;
23119 +               static GC_bool found_exe_name = FALSE;
23120 +               static GC_bool will_fail = FALSE;
23121 +               int ret_code;
23122 +               /* Unfortunately, this is the common case for the       */
23123 +               /* main executable.                                     */
23124 +               /* Try to get it via a hairy and expensive scheme.      */
23125 +               /* First we get the name of the executable:             */
23126 +               if (will_fail) goto out;
23127 +               if (!found_exe_name) { 
23128 +                 ret_code = readlink("/proc/self/exe", exe_name, EXE_SZ);
23129 +                 if (ret_code < 0 || ret_code >= EXE_SZ || exe_name[0] != '/') {
23130 +                   will_fail = TRUE;   /* Dont try again. */
23131 +                   goto out;
23132 +                 }
23133 +                 exe_name[ret_code] = '\0';
23134 +                 found_exe_name = TRUE;
23135 +               }
23136 +               /* Then we use popen to start addr2line -e <exe> <addr> */
23137 +               /* There are faster ways to do this, but hopefully this */
23138 +               /* isn't time critical.                                 */
23139 +               sprintf(cmd_buf, "/usr/bin/addr2line -e %s 0x%lx", exe_name,
23140 +                                (unsigned long)info[i].ci_pc);
23141 +               pipe = popen(cmd_buf, "r");
23142 +               if (pipe < 0 || fgets(result_buf, RESULT_SZ, pipe) == 0) {
23143 +                 will_fail = TRUE;
23144 +                 goto out;
23145 +               }
23146 +               result_len = strlen(result_buf);
23147 +               if (result_buf[result_len - 1] == '\n') --result_len;
23148 +               if (result_buf[0] == '?'
23149 +                   || result_buf[result_len-2] == ':' 
23150 +                      && result_buf[result_len-1] == '0')
23151 +                   goto out;
23152 +               if (result_len < RESULT_SZ - 25) {
23153 +                 /* Add in hex address */
23154 +                   sprintf(result_buf + result_len, " [0x%lx]",
23155 +                         (unsigned long)info[i].ci_pc);
23156 +               }
23157 +               name = result_buf;
23158 +               pclose(pipe);
23159 +               out:
23160 +             }
23161 +#          endif
23162 +           GC_err_printf1("\t\t%s\n", name);
23163 +           free(sym_name);
23164 +         }
23165 +#      else
23166 +         GC_err_printf1("\t\t##PC##= 0x%lx\n", info[i].ci_pc);
23167 +#      endif
23168 +    }
23169 +}
23170 +
23171 +#endif /* SAVE_CALL_CHAIN */
23172 +
23173 +/* Needed by SRC_M3, gcj, and should perhaps be the official interface */
23174 +/* to GC_dont_gc.                                                      */
23175  void GC_enable()
23176  {
23177 -    LOCK();
23178      GC_dont_gc--;
23179 -    UNLOCK();
23180  }
23181  
23182  void GC_disable()
23183  {
23184 -    LOCK();
23185      GC_dont_gc++;
23186 -    UNLOCK();
23187  }
23188  
23189  #if !defined(NO_DEBUGGING)
23190 @@ -1072,8 +1088,6 @@
23191      GC_print_hblkfreelist();
23192      GC_printf0("\n***Blocks in use:\n");
23193      GC_print_block_list();
23194 -    GC_printf0("\n***Finalization statistics:\n");
23195 -    GC_print_finalization_stats();
23196  }
23197  
23198  #endif /* NO_DEBUGGING */
23199 diff -Nur ../boehm-gc/os_dep.c boehm-gc/os_dep.c
23200 --- ../boehm-gc/os_dep.c        Sat May 31 14:46:38 2003
23201 +++ boehm-gc/os_dep.c   Fri Jul 19 01:54:43 2002
23202 @@ -80,17 +80,14 @@
23203  #   define NEED_FIND_LIMIT
23204  # endif
23205  
23206 -#if defined(FREEBSD) && defined(I386)
23207 -#  include <machine/trap.h>
23208 -#  if !defined(PCR)
23209 -#    define NEED_FIND_LIMIT
23210 -#  endif
23211 -#endif
23212 -
23213  #ifdef NEED_FIND_LIMIT
23214  #   include <setjmp.h>
23215  #endif
23216  
23217 +#if defined(FREEBSD) && defined(I386)
23218 +#  include <machine/trap.h>
23219 +#endif
23220 +
23221  #ifdef AMIGA
23222  # define GC_AMIGA_DEF
23223  # include "AmigaOS.c"
23224 @@ -132,11 +129,6 @@
23225  # define jmp_buf sigjmp_buf
23226  #endif
23227  
23228 -#ifdef DARWIN
23229 -/* for get_etext and friends */
23230 -#include <mach-o/getsect.h>
23231 -#endif
23232 -
23233  #ifdef DJGPP
23234    /* Apparently necessary for djgpp 2.01.  May cause problems with     */
23235    /* other versions.                                                   */
23236 @@ -155,155 +147,6 @@
23237  # define OPT_PROT_EXEC 0
23238  #endif
23239  
23240 -#if defined(LINUX) && \
23241 -    (defined(USE_PROC_FOR_LIBRARIES) || defined(IA64) || !defined(SMALL_CONFIG))
23242 -
23243 -/* We need to parse /proc/self/maps, either to find dynamic libraries, */
23244 -/* and/or to find the register backing store base (IA64).  Do it once  */
23245 -/* here.                                                               */
23246 -
23247 -#define READ read
23248 -
23249 -/* Repeatedly perform a read call until the buffer is filled or        */
23250 -/* we encounter EOF.                                           */
23251 -ssize_t GC_repeat_read(int fd, char *buf, size_t count)
23252 -{
23253 -    ssize_t num_read = 0;
23254 -    ssize_t result;
23255 -    
23256 -    while (num_read < count) {
23257 -       result = READ(fd, buf + num_read, count - num_read);
23258 -       if (result < 0) return result;
23259 -       if (result == 0) break;
23260 -       num_read += result;
23261 -    }
23262 -    return num_read;
23263 -}
23264 -
23265 -/*
23266 - * Apply fn to a buffer containing the contents of /proc/self/maps.
23267 - * Return the result of fn or, if we failed, 0.
23268 - */
23269 -
23270 -word GC_apply_to_maps(word (*fn)(char *))
23271 -{
23272 -    int f;
23273 -    int result;
23274 -    int maps_size;
23275 -    char maps_temp[32768];
23276 -    char *maps_buf;
23277 -
23278 -    /* Read /proc/self/maps    */
23279 -        /* Note that we may not allocate, and thus can't use stdio.    */
23280 -        f = open("/proc/self/maps", O_RDONLY);
23281 -        if (-1 == f) return 0;
23282 -       /* stat() doesn't work for /proc/self/maps, so we have to
23283 -          read it to find out how large it is... */
23284 -       maps_size = 0;
23285 -       do {
23286 -           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
23287 -           if (result <= 0) return 0;
23288 -           maps_size += result;
23289 -       } while (result == sizeof(maps_temp));
23290 -
23291 -       if (maps_size > sizeof(maps_temp)) {
23292 -           /* If larger than our buffer, close and re-read it. */
23293 -           close(f);
23294 -           f = open("/proc/self/maps", O_RDONLY);
23295 -           if (-1 == f) return 0;
23296 -           maps_buf = alloca(maps_size);
23297 -           if (NULL == maps_buf) return 0;
23298 -           result = GC_repeat_read(f, maps_buf, maps_size);
23299 -           if (result <= 0) return 0;
23300 -       } else {
23301 -           /* Otherwise use the fixed size buffer */
23302 -           maps_buf = maps_temp;
23303 -       }
23304 -
23305 -       close(f);
23306 -        maps_buf[result] = '\0';
23307 -       
23308 -    /* Apply fn to result. */
23309 -       return fn(maps_buf);
23310 -}
23311 -
23312 -#endif /* Need GC_apply_to_maps */
23313 -
23314 -#if defined(LINUX) && (defined(USE_PROC_FOR_LIBRARIES) || defined(IA64))
23315 -//
23316 -//  GC_parse_map_entry parses an entry from /proc/self/maps so we can
23317 -//  locate all writable data segments that belong to shared libraries.
23318 -//  The format of one of these entries and the fields we care about
23319 -//  is as follows:
23320 -//  XXXXXXXX-XXXXXXXX r-xp 00000000 30:05 260537     name of mapping...\n
23321 -//  ^^^^^^^^ ^^^^^^^^ ^^^^          ^^
23322 -//  start    end      prot          maj_dev
23323 -//  0        9        18            32
23324 -//  
23325 -//  For 64 bit ABIs:
23326 -//  0       17       34            56
23327 -//
23328 -//  The parser is called with a pointer to the entry and the return value
23329 -//  is either NULL or is advanced to the next entry(the byte after the
23330 -//  trailing '\n'.)
23331 -//
23332 -#if CPP_WORDSZ == 32
23333 -# define OFFSET_MAP_START   0
23334 -# define OFFSET_MAP_END     9
23335 -# define OFFSET_MAP_PROT   18
23336 -# define OFFSET_MAP_MAJDEV 32
23337 -# define ADDR_WIDTH        8
23338 -#endif
23339 -
23340 -#if CPP_WORDSZ == 64
23341 -# define OFFSET_MAP_START   0
23342 -# define OFFSET_MAP_END    17
23343 -# define OFFSET_MAP_PROT   34
23344 -# define OFFSET_MAP_MAJDEV 56
23345 -# define ADDR_WIDTH       16
23346 -#endif
23347 -
23348 -/*
23349 - * Assign various fields of the first line in buf_ptr to *start, *end,
23350 - * *prot_buf and *maj_dev.  Only *prot_buf may be set for unwritable maps.
23351 - */
23352 -char *GC_parse_map_entry(char *buf_ptr, word *start, word *end,
23353 -                                char *prot_buf, unsigned int *maj_dev)
23354 -{
23355 -    int i;
23356 -    char *tok;
23357 -
23358 -    if (buf_ptr == NULL || *buf_ptr == '\0') {
23359 -        return NULL;
23360 -    }
23361 -
23362 -    memcpy(prot_buf, buf_ptr+OFFSET_MAP_PROT, 4); // do the protections first
23363 -    prot_buf[4] = '\0';
23364 -
23365 -    if (prot_buf[1] == 'w') { // we can skip all of this if it's not writable
23366 -
23367 -        tok = buf_ptr;
23368 -        buf_ptr[OFFSET_MAP_START+ADDR_WIDTH] = '\0';
23369 -        *start = strtoul(tok, NULL, 16);
23370 -
23371 -        tok = buf_ptr+OFFSET_MAP_END;
23372 -        buf_ptr[OFFSET_MAP_END+ADDR_WIDTH] = '\0';
23373 -        *end = strtoul(tok, NULL, 16);
23374 -
23375 -        buf_ptr += OFFSET_MAP_MAJDEV;
23376 -        tok = buf_ptr;
23377 -        while (*buf_ptr != ':') buf_ptr++;
23378 -        *buf_ptr++ = '\0';
23379 -        *maj_dev = strtoul(tok, NULL, 16);
23380 -    }
23381 -
23382 -    while (*buf_ptr && *buf_ptr++ != '\n');
23383 -
23384 -    return buf_ptr;
23385 -}
23386 -
23387 -#endif /* Need to parse /proc/self/maps. */    
23388 -
23389  #if defined(SEARCH_FOR_DATA_START)
23390    /* The I386 case can be handled without a search.  The Alpha case    */
23391    /* used to be handled differently as well, but the rules changed     */
23392 @@ -311,11 +154,6 @@
23393    /* cover all versions.                                               */
23394  
23395  # ifdef LINUX
23396 -    /* Some Linux distributions arrange to define __data_start.  Some  */
23397 -    /* define data_start as a weak symbol.  The latter is technically  */
23398 -    /* broken, since the user program may define data_start, in which  */
23399 -    /* case we lose.  Nonetheless, we try both, prefering __data_start.        */
23400 -    /* We assume gcc-compatible pragmas.       */
23401  #   pragma weak __data_start
23402      extern int __data_start[];
23403  #   pragma weak data_start
23404 @@ -331,16 +169,16 @@
23405  
23406  #   ifdef LINUX
23407        /* Try the easy approaches first:        */
23408 -      if ((ptr_t)__data_start != 0) {
23409 -         GC_data_start = (ptr_t)(__data_start);
23410 +      if (__data_start != 0) {
23411 +         GC_data_start = (ptr_t)__data_start;
23412           return;
23413        }
23414 -      if ((ptr_t)data_start != 0) {
23415 -         GC_data_start = (ptr_t)(data_start);
23416 +      if (data_start != 0) {
23417 +         GC_data_start = (ptr_t)data_start;
23418           return;
23419        }
23420  #   endif /* LINUX */
23421 -    GC_data_start = GC_find_limit((ptr_t)(_end), FALSE);
23422 +    GC_data_start = GC_find_limit((ptr_t)_end, FALSE);
23423    }
23424  #endif
23425  
23426 @@ -703,7 +541,7 @@
23427        handler h;
23428  #   endif
23429      {
23430 -#      if defined(SUNOS5SIGS) || defined(IRIX5)  \
23431 +#     if defined(SUNOS5SIGS) || defined(IRIX5)  \
23432          || defined(OSF1) || defined(HURD)
23433           struct sigaction      act;
23434  
23435 @@ -763,68 +601,67 @@
23436      
23437      void GC_reset_fault_handler()
23438      {
23439 -#       if defined(SUNOS5SIGS) || defined(IRIX5) \
23440 -          || defined(OSF1) || defined(HURD)
23441 -         (void) sigaction(SIGSEGV, &old_segv_act, 0);
23442 -#        if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
23443 -            || defined(HPUX) || defined(HURD)
23444 -             (void) sigaction(SIGBUS, &old_bus_act, 0);
23445 -#        endif
23446 -#       else
23447 -         (void) signal(SIGSEGV, old_segv_handler);
23448 -#        ifdef SIGBUS
23449 -           (void) signal(SIGBUS, old_bus_handler);
23450 -#        endif
23451 -#       endif
23452 +#     if defined(SUNOS5SIGS) || defined(IRIX5) \
23453 +        || defined(OSF1) || defined(HURD)
23454 +       (void) sigaction(SIGSEGV, &old_segv_act, 0);
23455 +#      if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
23456 +          || defined(HPUX) || defined(HURD)
23457 +           (void) sigaction(SIGBUS, &old_bus_act, 0);
23458 +#      endif
23459 +#      else
23460 +       (void) signal(SIGSEGV, old_segv_handler);
23461 +#      ifdef SIGBUS
23462 +         (void) signal(SIGBUS, old_bus_handler);
23463 +#      endif
23464 +#     endif
23465      }
23466  
23467      /* Return the first nonaddressible location > p (up) or    */
23468 -    /* the smallest location q s.t. [q,p) is addressable (!up).        */
23469 -    /* We assume that p (up) or p-1 (!up) is addressable.      */
23470 +    /* the smallest location q s.t. [q,p] is addressible (!up).        */
23471      ptr_t GC_find_limit(p, up)
23472      ptr_t p;
23473      GC_bool up;
23474      {
23475 -        static VOLATILE ptr_t result;
23476 -               /* Needs to be static, since otherwise it may not be    */
23477 -               /* preserved across the longjmp.  Can safely be         */
23478 -               /* static since it's only called once, with the         */
23479 -               /* allocation lock held.                                */
23480 -
23481 -
23482 -       GC_setup_temporary_fault_handler();
23483 -       if (setjmp(GC_jmp_buf) == 0) {
23484 -           result = (ptr_t)(((word)(p))
23485 -                             & ~(MIN_PAGE_SIZE-1));
23486 -           for (;;) {
23487 -               if (up) {
23488 -                   result += MIN_PAGE_SIZE;
23489 -               } else {
23490 -                   result -= MIN_PAGE_SIZE;
23491 -               }
23492 -               GC_noop1((word)(*result));
23493 -           }
23494 -       }
23495 -       GC_reset_fault_handler();
23496 -       if (!up) {
23497 +      static VOLATILE ptr_t result;
23498 +               /* Needs to be static, since otherwise it may not be    */
23499 +               /* preserved across the longjmp.  Can safely be         */
23500 +               /* static since it's only called once, with the         */
23501 +               /* allocation lock held.                                */
23502 +
23503 +
23504 +      GC_setup_temporary_fault_handler();
23505 +      if (setjmp(GC_jmp_buf) == 0) {
23506 +       result = (ptr_t)(((word)(p))
23507 +                        & ~(MIN_PAGE_SIZE-1));
23508 +       for (;;) {
23509 +         if (up) {
23510             result += MIN_PAGE_SIZE;
23511 -       }
23512 -       return(result);
23513 +         } else {
23514 +           result -= MIN_PAGE_SIZE;
23515 +         }
23516 +         GC_noop1((word)(*result));
23517 +       }
23518 +      }
23519 +      GC_reset_fault_handler();
23520 +      if (!up) {
23521 +       result += MIN_PAGE_SIZE;
23522 +      }
23523 +      return(result);
23524      }
23525  # endif
23526  
23527 -#if defined(ECOS) || defined(NOSYS)
23528 -  ptr_t GC_get_stack_base()
23529 -  {
23530 -    return STACKBOTTOM;
23531 -  }
23532 -#endif
23533 +# if defined(ECOS) || defined(NOSYS)
23534 +ptr_t GC_get_stack_base()
23535 +{
23536 +  return STACKBOTTOM;
23537 +}
23538 +
23539 +#else
23540  
23541  #ifdef LINUX_STACKBOTTOM
23542  
23543  #include <sys/types.h>
23544  #include <sys/stat.h>
23545 -#include <ctype.h>
23546  
23547  # define STAT_SKIP 27   /* Number of fields preceding startstack       */
23548                         /* field in /proc/self/stat                     */
23549 @@ -833,33 +670,6 @@
23550    extern ptr_t __libc_stack_end;
23551  
23552  # ifdef IA64
23553 -    /* Try to read the backing store base from /proc/self/maps.        */
23554 -    /* We look for the writable mapping with a 0 major device,  */
23555 -    /* which is        as close to our frame as possible, but below it.*/
23556 -    static word backing_store_base_from_maps(char *maps)
23557 -    {
23558 -      char prot_buf[5];
23559 -      char *buf_ptr = maps;
23560 -      word start, end;
23561 -      unsigned int maj_dev;
23562 -      word current_best = 0;
23563 -      word dummy;
23564 -  
23565 -      for (;;) {
23566 -        buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
23567 -       if (buf_ptr == NULL) return current_best;
23568 -       if (prot_buf[1] == 'w' && maj_dev == 0) {
23569 -           if (end < (word)(&dummy) && start > current_best) current_best = start;
23570 -       }
23571 -      }
23572 -      return current_best;
23573 -    }
23574 -
23575 -    static word backing_store_base_from_proc(void)
23576 -    {
23577 -        return GC_apply_to_maps(backing_store_base_from_maps);
23578 -    }
23579 -
23580  #   pragma weak __libc_ia64_register_backing_store_base
23581      extern ptr_t __libc_ia64_register_backing_store_base;
23582  
23583 @@ -873,15 +683,9 @@
23584         /* Hence we check for both nonzero address and value.           */
23585         return __libc_ia64_register_backing_store_base;
23586        } else {
23587 -       word result = backing_store_base_from_proc();
23588 -       if (0 == result) {
23589 -         /* Use dumb heuristics.  Works only for default configuration. */
23590 -         result = (word)GC_stackbottom - BACKING_STORE_DISPLACEMENT;
23591 -         result += BACKING_STORE_ALIGNMENT - 1;
23592 -         result &= ~(BACKING_STORE_ALIGNMENT - 1);
23593 -         /* Verify that it's at least readable.  If not, we goofed. */
23594 -         GC_noop1(*(word *)result); 
23595 -       }
23596 +       word result = (word)GC_stackbottom - BACKING_STORE_DISPLACEMENT;
23597 +       result += BACKING_STORE_ALIGNMENT - 1;
23598 +       result &= ~(BACKING_STORE_ALIGNMENT - 1);
23599         return (ptr_t)result;
23600        }
23601      }
23602 @@ -893,8 +697,11 @@
23603      /* using direct I/O system calls in order to avoid calling malloc   */
23604      /* in case REDIRECT_MALLOC is defined.                             */ 
23605  #   define STAT_BUF_SIZE 4096
23606 -#   define STAT_READ read
23607 -         /* Should probably call the real read, if read is wrapped.    */
23608 +#   if defined(GC_USE_LD_WRAP)
23609 +#      define STAT_READ __real_read
23610 +#   else
23611 +#      define STAT_READ read
23612 +#   endif    
23613      char stat_buf[STAT_BUF_SIZE];
23614      int f;
23615      char c;
23616 @@ -903,16 +710,7 @@
23617  
23618      /* First try the easy way.  This should work for glibc 2.2 */
23619        if (0 != &__libc_stack_end) {
23620 -#       ifdef IA64
23621 -         /* Some versions of glibc set the address 16 bytes too        */
23622 -         /* low while the initialization code is running.              */
23623 -         if (((word)__libc_stack_end & 0xfff) + 0x10 < 0x1000) {
23624 -           return __libc_stack_end + 0x10;
23625 -         } /* Otherwise it's not safe to add 16 bytes and we fall      */
23626 -           /* back to using /proc.                                     */
23627 -#      else 
23628 -         return __libc_stack_end;
23629 -#      endif
23630 +       return __libc_stack_end;
23631        }
23632      f = open("/proc/self/stat", O_RDONLY);
23633      if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
23634 @@ -966,11 +764,8 @@
23635  
23636  ptr_t GC_get_stack_base()
23637  {
23638 -#   if defined(HEURISTIC1) || defined(HEURISTIC2) || \
23639 -       defined(LINUX_STACKBOTTOM) || defined(FREEBSD_STACKBOTTOM)
23640 -        word dummy;
23641 -        ptr_t result;
23642 -#   endif
23643 +    word dummy;
23644 +    ptr_t result;
23645  
23646  #   define STACKBOTTOM_ALIGNMENT_M1 ((word)STACK_GRAN - 1)
23647  
23648 @@ -1019,6 +814,7 @@
23649         return(result);
23650  #   endif /* STACKBOTTOM */
23651  }
23652 +# endif /* NOSYS ECOS */
23653  
23654  # endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS */
23655  
23656 @@ -1128,14 +924,15 @@
23657    /* Unfortunately, we have to handle win32s very differently from NT,         */
23658    /* Since VirtualQuery has very different semantics.  In particular,  */
23659    /* under win32s a VirtualQuery call on an unmapped page returns an   */
23660 -  /* invalid result.  Under NT, GC_register_data_segments is a noop and        */
23661 +  /* invalid result.  Under GC_register_data_segments is a noop and    */
23662    /* all real work is done by GC_register_dynamic_libraries.  Under    */
23663    /* win32s, we cannot find the data segments associated with dll's.   */
23664 -  /* We register the main data segment here.                           */
23665 +  /* We rgister the main data segment here.                            */
23666 +#  ifdef __GCC__
23667 +  GC_bool GC_no_win32_dlls = TRUE;      /* GCC can't do SEH, so we can't use VirtualQuery */
23668 +#  else
23669    GC_bool GC_no_win32_dlls = FALSE;     
23670 -       /* This used to be set for gcc, to avoid dealing with           */
23671 -       /* the structured exception handling issues.  But we now have   */
23672 -       /* assembly code to do that right.                              */
23673 +#  endif
23674    
23675    void GC_init_win32()
23676    {
23677 @@ -1167,102 +964,36 @@
23678      return(p);
23679    }
23680  # endif
23681 -
23682 -# ifndef REDIRECT_MALLOC
23683 -  /* We maintain a linked list of AllocationBase values that we know   */
23684 -  /* correspond to malloc heap sections.  Currently this is only called */
23685 -  /* during a GC.  But there is some hope that for long running                */
23686 -  /* programs we will eventually see most heap sections.               */
23687 -
23688 -  /* In the long run, it would be more reliable to occasionally walk   */
23689 -  /* the malloc heap with HeapWalk on the default heap.  But that      */
23690 -  /* apparently works only for NT-based Windows.                       */ 
23691 -
23692 -  /* In the long run, a better data structure would also be nice ...   */
23693 -  struct GC_malloc_heap_list {
23694 -    void * allocation_base;
23695 -    struct GC_malloc_heap_list *next;
23696 -  } *GC_malloc_heap_l = 0;
23697 -
23698 -  /* Is p the base of one of the malloc heap sections we already know  */
23699 -  /* about?                                                            */
23700 -  GC_bool GC_is_malloc_heap_base(ptr_t p)
23701 -  {
23702 -    struct GC_malloc_heap_list *q = GC_malloc_heap_l;
23703 -
23704 -    while (0 != q) {
23705 -      if (q -> allocation_base == p) return TRUE;
23706 -      q = q -> next;
23707 -    }
23708 -    return FALSE;
23709 -  }
23710 -
23711 -  void *GC_get_allocation_base(void *p)
23712 -  {
23713 -    MEMORY_BASIC_INFORMATION buf;
23714 -    DWORD result = VirtualQuery(p, &buf, sizeof(buf));
23715 -    if (result != sizeof(buf)) {
23716 -      ABORT("Weird VirtualQuery result");
23717 -    }
23718 -    return buf.AllocationBase;
23719 -  }
23720 -
23721 -  size_t GC_max_root_size = 100000;    /* Appr. largest root size.     */
23722 -
23723 -  void GC_add_current_malloc_heap()
23724 -  {
23725 -    struct GC_malloc_heap_list *new_l =
23726 -                 malloc(sizeof(struct GC_malloc_heap_list));
23727 -    void * candidate = GC_get_allocation_base(new_l);
23728 -
23729 -    if (new_l == 0) return;
23730 -    if (GC_is_malloc_heap_base(candidate)) {
23731 -      /* Try a little harder to find malloc heap.                      */
23732 -       size_t req_size = 10000;
23733 -       do {
23734 -         void *p = malloc(req_size);
23735 -         if (0 == p) { free(new_l); return; }
23736 -         candidate = GC_get_allocation_base(p);
23737 -         free(p);
23738 -         req_size *= 2;
23739 -       } while (GC_is_malloc_heap_base(candidate)
23740 -                && req_size < GC_max_root_size/10 && req_size < 500000);
23741 -       if (GC_is_malloc_heap_base(candidate)) {
23742 -         free(new_l); return;
23743 -       }
23744 -    }
23745 -#   ifdef CONDPRINT
23746 -      if (GC_print_stats)
23747 -         GC_printf1("Found new system malloc AllocationBase at 0x%lx\n",
23748 -                     candidate);
23749 -#   endif
23750 -    new_l -> allocation_base = candidate;
23751 -    new_l -> next = GC_malloc_heap_l;
23752 -    GC_malloc_heap_l = new_l;
23753 -  }
23754 -# endif /* REDIRECT_MALLOC */
23755    
23756    /* Is p the start of either the malloc heap, or of one of our */
23757    /* heap sections?                                            */
23758    GC_bool GC_is_heap_base (ptr_t p)
23759    {
23760       
23761 -     unsigned i;
23762 +     register unsigned i;
23763       
23764  #    ifndef REDIRECT_MALLOC
23765 -       static word last_gc_no = -1;
23766 +       static ptr_t malloc_heap_pointer = 0;
23767       
23768 -       if (last_gc_no != GC_gc_no) {
23769 -        GC_add_current_malloc_heap();
23770 -        last_gc_no = GC_gc_no;
23771 +       if (0 == malloc_heap_pointer) {
23772 +         MEMORY_BASIC_INFORMATION buf;
23773 +         void *pTemp = malloc( 1 );
23774 +         register DWORD result = VirtualQuery(pTemp, &buf, sizeof(buf));
23775 +           
23776 +         free( pTemp );
23777 +
23778 +         
23779 +         if (result != sizeof(buf)) {
23780 +             ABORT("Weird VirtualQuery result");
23781 +         }
23782 +         malloc_heap_pointer = (ptr_t)(buf.AllocationBase);
23783         }
23784 -       if (GC_root_size > GC_max_root_size) GC_max_root_size = GC_root_size;
23785 -       if (GC_is_malloc_heap_base(p)) return TRUE;
23786 +       if (p == malloc_heap_pointer) return(TRUE);
23787  #    endif
23788       for (i = 0; i < GC_n_heap_bases; i++) {
23789 -         if (GC_heap_bases[i] == p) return TRUE;
23790 +         if (GC_heap_bases[i] == p) return(TRUE);
23791       }
23792 -     return FALSE ;
23793 +     return(FALSE);
23794    }
23795  
23796  # ifdef MSWIN32
23797 @@ -1312,7 +1043,7 @@
23798  
23799  # if (defined(SVR4) || defined(AUX) || defined(DGUX) \
23800        || (defined(LINUX) && defined(SPARC))) && !defined(PCR)
23801 -ptr_t GC_SysVGetDataStart(max_page_size, etext_addr)
23802 +char * GC_SysVGetDataStart(max_page_size, etext_addr)
23803  int max_page_size;
23804  int * etext_addr;
23805  {
23806 @@ -1338,43 +1069,10 @@
23807         /* string constants in the text segment, but after etext.       */
23808         /* Use plan B.  Note that we now know there is a gap between    */
23809         /* text and data segments, so plan A bought us something.       */
23810 -       result = (char *)GC_find_limit((ptr_t)(DATAEND), FALSE);
23811 +       result = (char *)GC_find_limit((ptr_t)(DATAEND) - MIN_PAGE_SIZE, FALSE);
23812      }
23813 -    return((ptr_t)result);
23814 -}
23815 -# endif
23816 -
23817 -# if defined(FREEBSD) && defined(I386) && !defined(PCR)
23818 -/* Its unclear whether this should be identical to the above, or       */
23819 -/* whether it should apply to non-X86 architectures.                   */
23820 -/* For now we don't assume that there is always an empty page after    */
23821 -/* etext.  But in some cases there actually seems to be slightly more.  */
23822 -/* This also deals with holes between read-only data and writable data.        */
23823 -ptr_t GC_FreeBSDGetDataStart(max_page_size, etext_addr)
23824 -int max_page_size;
23825 -int * etext_addr;
23826 -{
23827 -    word text_end = ((word)(etext_addr) + sizeof(word) - 1)
23828 -                    & ~(sizeof(word) - 1);
23829 -       /* etext rounded to word boundary       */
23830 -    VOLATILE word next_page = (text_end + (word)max_page_size - 1)
23831 -                             & ~((word)max_page_size - 1);
23832 -    VOLATILE ptr_t result = (ptr_t)text_end;
23833 -    GC_setup_temporary_fault_handler();
23834 -    if (setjmp(GC_jmp_buf) == 0) {
23835 -       /* Try reading at the address.                          */
23836 -       /* This should happen before there is another thread.   */
23837 -       for (; next_page < (word)(DATAEND); next_page += (word)max_page_size)
23838 -           *(VOLATILE char *)next_page;
23839 -       GC_reset_fault_handler();
23840 -    } else {
23841 -       GC_reset_fault_handler();
23842 -       /* As above, we go to plan B    */
23843 -       result = GC_find_limit((ptr_t)(DATAEND), FALSE);
23844 -    }
23845 -    return(result);
23846 +    return((char *)result);
23847  }
23848 -
23849  # endif
23850  
23851  
23852 @@ -1388,7 +1086,8 @@
23853  
23854  void GC_register_data_segments()
23855  {
23856 -#   if !defined(PCR) && !defined(SRC_M3) && !defined(MACOS)
23857 +#   if !defined(PCR) && !defined(SRC_M3) && !defined(NEXT) && !defined(MACOS) \
23858 +       && !defined(MACOSX)
23859  #     if defined(REDIRECT_MALLOC) && defined(GC_SOLARIS_THREADS)
23860         /* As of Solaris 2.3, the Solaris threads implementation        */
23861         /* allocates the data structure for the initial thread with     */
23862 @@ -1405,6 +1104,9 @@
23863  #       endif
23864  #     endif
23865  #   endif
23866 +#   if !defined(PCR) && (defined(NEXT) || defined(MACOSX))
23867 +      GC_add_roots_inner(DATASTART, (char *) get_end(), FALSE);
23868 +#   endif
23869  #   if defined(MACOS)
23870      {
23871  #   if defined(THINK_C)
23872 @@ -1514,28 +1216,18 @@
23873  ptr_t GC_unix_get_mem(bytes)
23874  word bytes;
23875  {
23876 +    static GC_bool initialized = FALSE;
23877 +    static int fd;
23878      void *result;
23879      static ptr_t last_addr = HEAP_START;
23880  
23881 -#   ifndef USE_MMAP_ANON
23882 -      static GC_bool initialized = FALSE;
23883 -      static int fd;
23884 -
23885 -      if (!initialized) {
23886 -         fd = open("/dev/zero", O_RDONLY);
23887 -         fcntl(fd, F_SETFD, FD_CLOEXEC);
23888 -         initialized = TRUE;
23889 -      }
23890 -#   endif
23891 -
23892 +    if (!initialized) {
23893 +       fd = open("/dev/zero", O_RDONLY);
23894 +       initialized = TRUE;
23895 +    }
23896      if (bytes & (GC_page_size -1)) ABORT("Bad GET_MEM arg");
23897 -#   ifdef USE_MMAP_ANON
23898 -      result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23899 -                   GC_MMAP_FLAGS | MAP_ANON, -1, 0/* offset */);
23900 -#   else
23901 -      result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23902 -                   GC_MMAP_FLAGS, fd, 0/* offset */);
23903 -#   endif
23904 +    result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23905 +                 GC_MMAP_FLAGS, fd, 0/* offset */);
23906      if (result == MAP_FAILED) return(0);
23907      last_addr = (ptr_t)result + bytes + GC_page_size - 1;
23908      last_addr = (ptr_t)((word)last_addr & ~(GC_page_size - 1));
23909 @@ -1630,15 +1322,7 @@
23910          result = (ptr_t) GlobalAlloc(0, bytes + HBLKSIZE);
23911          result = (ptr_t)(((word)result + HBLKSIZE) & ~(HBLKSIZE-1));
23912      } else {
23913 -       /* VirtualProtect only works on regions returned by a   */
23914 -       /* single VirtualAlloc call.  Thus we allocate one      */
23915 -       /* extra page, which will prevent merging of blocks     */
23916 -       /* in separate regions, and eliminate any temptation    */
23917 -       /* to call VirtualProtect on a range spanning regions.  */
23918 -       /* This wastes a small amount of memory, and risks      */
23919 -       /* increased fragmentation.  But better alternatives    */
23920 -       /* would require effort.                                */
23921 -        result = (ptr_t) VirtualAlloc(NULL, bytes + 1,
23922 +        result = (ptr_t) VirtualAlloc(NULL, bytes,
23923                                       MEM_COMMIT | MEM_RESERVE,
23924                                       PAGE_EXECUTE_READWRITE);
23925      }
23926 @@ -1694,10 +1378,6 @@
23927         /* Reserve more pages */
23928         word res_bytes = (bytes + GC_sysinfo.dwAllocationGranularity-1)
23929                          & ~(GC_sysinfo.dwAllocationGranularity-1);
23930 -       /* If we ever support MPROTECT_VDB here, we will probably need to       */
23931 -       /* ensure that res_bytes is strictly > bytes, so that VirtualProtect    */
23932 -       /* never spans regions.  It seems to be OK for a VirtualFree argument   */
23933 -       /* to span regions, so we should be OK for now.                         */
23934         result = (ptr_t) VirtualAlloc(NULL, res_bytes,
23935                                       MEM_RESERVE | MEM_TOP_DOWN,
23936                                       PAGE_EXECUTE_READWRITE);
23937 @@ -1828,7 +1508,6 @@
23938        }
23939  #   else
23940        if (-1 == zero_descr) zero_descr = open("/dev/zero", O_RDWR);
23941 -      fcntl(zero_descr, F_SETFD, FD_CLOEXEC);
23942        if (0 == start_addr) return;
23943        result = mmap(start_addr, len, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
23944                     MAP_FIXED | MAP_PRIVATE, zero_descr, 0);
23945 @@ -2015,6 +1694,7 @@
23946   *             make sure that other system calls are similarly protected
23947   *             or write only to the stack.
23948   */
23949
23950  GC_bool GC_dirty_maintained = FALSE;
23951  
23952  # ifdef DEFAULT_VDB
23953 @@ -2028,9 +1708,6 @@
23954  /* Initialize virtual dirty bit implementation.                        */
23955  void GC_dirty_init()
23956  {
23957 -#ifdef PRINTSTATS
23958 -    GC_printf0("Initializing DEFAULT_VDB...\n");
23959 -#endif
23960      GC_dirty_maintained = TRUE;
23961  }
23962  
23963 @@ -2099,21 +1776,17 @@
23964  /*
23965   * This implementation maintains dirty bits itself by catching write
23966   * faults and keeping track of them.  We assume nobody else catches
23967 - * SIGBUS or SIGSEGV.  We assume no write faults occur in system calls.
23968 - * This means that clients must ensure that system calls don't write
23969 - * to the write-protected heap.  Probably the best way to do this is to
23970 - * ensure that system calls write at most to POINTERFREE objects in the
23971 - * heap, and do even that only if we are on a platform on which those
23972 - * are not protected.  Another alternative is to wrap system calls
23973 - * (see example for read below), but the current implementation holds
23974 - * a lock across blocking calls, making it problematic for multithreaded
23975 - * applications. 
23976 + * SIGBUS or SIGSEGV.  We assume no write faults occur in system calls
23977 + * except as a result of a read system call.  This means clients must
23978 + * either ensure that system calls do not touch the heap, or must
23979 + * provide their own wrappers analogous to the one for read.
23980   * We assume the page size is a multiple of HBLKSIZE.
23981 - * We prefer them to be the same.  We avoid protecting POINTERFREE
23982 - * objects only if they are the same.
23983 + * This implementation is currently SunOS 4.X and IRIX 5.X specific, though we
23984 + * tried to use portable code where easily possible.  It is known
23985 + * not to work under a number of other systems.
23986   */
23987  
23988 -# if !defined(MSWIN32) && !defined(MSWINCE) && !defined(DARWIN)
23989 +# if !defined(MSWIN32) && !defined(MSWINCE)
23990  
23991  #   include <sys/mman.h>
23992  #   include <signal.h>
23993 @@ -2132,23 +1805,6 @@
23994           
23995  # else
23996  
23997 -# ifdef DARWIN
23998 -    /* Using vm_protect (mach syscall) over mprotect (BSD syscall) seems to
23999 -       decrease the likelihood of some of the problems described below. */
24000 -    #include <mach/vm_map.h>
24001 -    extern mach_port_t GC_task_self;
24002 -    #define PROTECT(addr,len) \
24003 -        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
24004 -                FALSE,VM_PROT_READ) != KERN_SUCCESS) { \
24005 -            ABORT("vm_portect failed"); \
24006 -        }
24007 -    #define UNPROTECT(addr,len) \
24008 -        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
24009 -                FALSE,VM_PROT_READ|VM_PROT_WRITE) != KERN_SUCCESS) { \
24010 -            ABORT("vm_portect failed"); \
24011 -        }
24012 -# else
24013 -    
24014  #   ifndef MSWINCE
24015  #     include <signal.h>
24016  #   endif
24017 @@ -2166,22 +1822,20 @@
24018                               &protect_junk)) { \
24019             ABORT("un-VirtualProtect failed"); \
24020           }
24021 -# endif /* !DARWIN */
24022 -# endif /* MSWIN32 || MSWINCE || DARWIN */
24023 +         
24024 +# endif
24025  
24026  #if defined(SUNOS4) || defined(FREEBSD)
24027      typedef void (* SIG_PF)();
24028 -#endif /* SUNOS4 || FREEBSD */
24029 -
24030 +#endif
24031  #if defined(SUNOS5SIGS) || defined(OSF1) || defined(LINUX) \
24032 -    || defined(HURD)
24033 +    || defined(MACOSX) || defined(HURD)
24034  # ifdef __STDC__
24035      typedef void (* SIG_PF)(int);
24036  # else
24037      typedef void (* SIG_PF)();
24038  # endif
24039 -#endif /* SUNOS5SIGS || OSF1 || LINUX || HURD */
24040 -
24041 +#endif
24042  #if defined(MSWIN32)
24043      typedef LPTOP_LEVEL_EXCEPTION_FILTER SIG_PF;
24044  #   undef SIG_DFL
24045 @@ -2195,8 +1849,7 @@
24046  
24047  #if defined(IRIX5) || defined(OSF1) || defined(HURD)
24048      typedef void (* REAL_SIG_PF)(int, int, struct sigcontext *);
24049 -#endif /* IRIX5 || OSF1 || HURD */
24050 -
24051 +#endif
24052  #if defined(SUNOS5SIGS)
24053  # ifdef HPUX
24054  #   define SIGINFO __siginfo
24055 @@ -2208,14 +1861,13 @@
24056  # else
24057      typedef void (* REAL_SIG_PF)();
24058  # endif
24059 -#endif /* SUNOS5SIGS */
24060 -
24061 +#endif
24062  #if defined(LINUX)
24063  #   if __GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2
24064        typedef struct sigcontext s_c;
24065  #   else  /* glibc < 2.2 */
24066  #     include <linux/version.h>
24067 -#     if (LINUX_VERSION_CODE >= 0x20100) && !defined(M68K) || defined(ALPHA) || defined(ARM32)
24068 +#     if (LINUX_VERSION_CODE >= 0x20100) && !defined(M68K) || defined(ALPHA)
24069          typedef struct sigcontext s_c;
24070  #     else
24071          typedef struct sigcontext_struct s_c;
24072 @@ -2243,14 +1895,139 @@
24073         return (char *)faultaddr;
24074      }
24075  #   endif /* !ALPHA */
24076 -# endif /* LINUX */
24077 +# endif
24078 +
24079 +# if defined(MACOSX) /* Should also test for PowerPC? */
24080 +    typedef void (* REAL_SIG_PF)(int, int, struct sigcontext *);
24081 +
24082 +/* Decodes the machine instruction which was responsible for the sending of the
24083 +   SIGBUS signal. Sadly this is the only way to find the faulting address because
24084 +   the signal handler doesn't get it directly from the kernel (although it is
24085 +   available on the Mach level, but droppped by the BSD personality before it
24086 +   calls our signal handler...)
24087 +   This code should be able to deal correctly with all PPCs starting from the
24088 +   601 up to and including the G4s (including Velocity Engine). */
24089 +#define EXTRACT_OP1(iw)     (((iw) & 0xFC000000) >> 26)
24090 +#define EXTRACT_OP2(iw)     (((iw) & 0x000007FE) >> 1)
24091 +#define EXTRACT_REGA(iw)    (((iw) & 0x001F0000) >> 16)
24092 +#define EXTRACT_REGB(iw)    (((iw) & 0x03E00000) >> 21)
24093 +#define EXTRACT_REGC(iw)    (((iw) & 0x0000F800) >> 11)
24094 +#define EXTRACT_DISP(iw)    ((short *) &(iw))[1]
24095 +
24096 +static char *get_fault_addr(struct sigcontext *scp)
24097 +{
24098 +   unsigned int   instr = *((unsigned int *) scp->sc_ir);
24099 +   unsigned int * regs = &((unsigned int *) scp->sc_regs)[2];
24100 +   int            disp = 0, tmp;
24101 +   unsigned int   baseA = 0, baseB = 0;
24102 +   unsigned int   addr, alignmask = 0xFFFFFFFF;
24103 +
24104 +#ifdef GC_DEBUG_DECODER
24105 +   GC_err_printf1("Instruction: 0x%lx\n", instr);
24106 +   GC_err_printf1("Opcode 1: d\n", (int)EXTRACT_OP1(instr));
24107 +#endif
24108 +   switch(EXTRACT_OP1(instr)) {
24109 +      case 38:   /* stb */
24110 +      case 39:   /* stbu */
24111 +      case 54:   /* stfd */
24112 +      case 55:   /* stfdu */
24113 +      case 52:   /* stfs */
24114 +      case 53:   /* stfsu */
24115 +      case 44:   /* sth */
24116 +      case 45:   /* sthu */
24117 +      case 47:   /* stmw */
24118 +      case 36:   /* stw */
24119 +      case 37:   /* stwu */
24120 +            tmp = EXTRACT_REGA(instr);
24121 +            if(tmp > 0)
24122 +               baseA = regs[tmp];
24123 +            disp = EXTRACT_DISP(instr);
24124 +            break;
24125 +      case 31:
24126 +#ifdef GC_DEBUG_DECODER
24127 +            GC_err_printf1("Opcode 2: %d\n", (int)EXTRACT_OP2(instr));
24128 +#endif
24129 +            switch(EXTRACT_OP2(instr)) {
24130 +               case 86:    /* dcbf */
24131 +               case 54:    /* dcbst */
24132 +               case 1014:  /* dcbz */
24133 +               case 247:   /* stbux */
24134 +               case 215:   /* stbx */
24135 +               case 759:   /* stfdux */
24136 +               case 727:   /* stfdx */
24137 +               case 983:   /* stfiwx */
24138 +               case 695:   /* stfsux */
24139 +               case 663:   /* stfsx */
24140 +               case 918:   /* sthbrx */
24141 +               case 439:   /* sthux */
24142 +               case 407:   /* sthx */
24143 +               case 661:   /* stswx */
24144 +               case 662:   /* stwbrx */
24145 +               case 150:   /* stwcx. */
24146 +               case 183:   /* stwux */
24147 +               case 151:   /* stwx */
24148 +               case 135:   /* stvebx */
24149 +               case 167:   /* stvehx */
24150 +               case 199:   /* stvewx */
24151 +               case 231:   /* stvx */
24152 +               case 487:   /* stvxl */
24153 +                     tmp = EXTRACT_REGA(instr);
24154 +                     if(tmp > 0)
24155 +                        baseA = regs[tmp];
24156 +                        baseB = regs[EXTRACT_REGC(instr)];
24157 +                        /* determine Altivec alignment mask */
24158 +                        switch(EXTRACT_OP2(instr)) {
24159 +                           case 167:   /* stvehx */
24160 +                                 alignmask = 0xFFFFFFFE;
24161 +                                 break;
24162 +                           case 199:   /* stvewx */
24163 +                                 alignmask = 0xFFFFFFFC;
24164 +                                 break;
24165 +                           case 231:   /* stvx */
24166 +                                 alignmask = 0xFFFFFFF0;
24167 +                                 break;
24168 +                           case 487:  /* stvxl */
24169 +                                 alignmask = 0xFFFFFFF0;
24170 +                                 break;
24171 +                        }
24172 +                        break;
24173 +               case 725:   /* stswi */
24174 +                     tmp = EXTRACT_REGA(instr);
24175 +                     if(tmp > 0)
24176 +                        baseA = regs[tmp];
24177 +                        break;
24178 +               default:   /* ignore instruction */
24179 +#ifdef GC_DEBUG_DECODER
24180 +                     GC_err_printf("Ignored by inner handler\n");
24181 +#endif
24182 +                     return NULL;
24183 +                    break;
24184 +            }
24185 +            break;
24186 +      default:   /* ignore instruction */
24187 +#ifdef GC_DEBUG_DECODER
24188 +            GC_err_printf("Ignored by main handler\n");
24189 +#endif
24190 +            return NULL;
24191 +            break;
24192 +   }
24193 +       
24194 +   addr = (baseA + baseB) + disp;
24195 +  addr &= alignmask;
24196 +#ifdef GC_DEBUG_DECODER
24197 +   GC_err_printf1("BaseA: %d\n", baseA);
24198 +   GC_err_printf1("BaseB: %d\n", baseB);
24199 +   GC_err_printf1("Disp:  %d\n", disp);
24200 +   GC_err_printf1("Address: %d\n", addr);
24201 +#endif
24202 +   return (char *)addr;
24203 +}
24204 +#endif /* MACOSX */
24205  
24206 -#ifndef DARWIN
24207  SIG_PF GC_old_bus_handler;
24208  SIG_PF GC_old_segv_handler;    /* Also old MSWIN32 ACCESS_VIOLATION filter */
24209 -#endif /* !DARWIN */
24210  
24211 -#if defined(THREADS)
24212 +#ifdef THREADS
24213  /* We need to lock around the bitmap update in the write fault handler */
24214  /* in order to avoid the risk of losing a bit.  We do this with a      */
24215  /* test-and-set spin lock if we know how to do that.  Otherwise we     */
24216 @@ -2299,7 +2076,6 @@
24217  #endif /* !THREADS */
24218  
24219  /*ARGSUSED*/
24220 -#if !defined(DARWIN)
24221  # if defined (SUNOS4) || defined(FREEBSD)
24222      void GC_write_fault_handler(sig, code, scp, addr)
24223      int sig, code;
24224 @@ -2315,8 +2091,7 @@
24225  #     define SIG_OK (sig == SIGBUS)
24226  #     define CODE_OK (code == BUS_PAGE_FAULT)
24227  #   endif
24228 -# endif /* SUNOS4 || FREEBSD */
24229 -
24230 +# endif
24231  # if defined(IRIX5) || defined(OSF1) || defined(HURD)
24232  #   include <errno.h>
24233      void GC_write_fault_handler(int sig, int code, struct sigcontext *scp)
24234 @@ -2332,8 +2107,7 @@
24235  #     define SIG_OK (sig == SIGBUS || sig == SIGSEGV)  
24236  #     define CODE_OK  TRUE
24237  #   endif
24238 -# endif /* IRIX5 || OSF1 || HURD */
24239 -
24240 +# endif
24241  # if defined(LINUX)
24242  #   if defined(ALPHA) || defined(M68K)
24243        void GC_write_fault_handler(int sig, int code, s_c * sc)
24244 @@ -2341,11 +2115,7 @@
24245  #     if defined(IA64) || defined(HP_PA)
24246          void GC_write_fault_handler(int sig, siginfo_t * si, s_c * scp)
24247  #     else
24248 -#       if defined(ARM32)
24249 -          void GC_write_fault_handler(int sig, int a2, int a3, int a4, s_c sc)
24250 -#       else
24251 -          void GC_write_fault_handler(int sig, s_c sc)
24252 -#       endif
24253 +        void GC_write_fault_handler(int sig, s_c sc)
24254  #     endif
24255  #   endif
24256  #   define SIG_OK (sig == SIGSEGV)
24257 @@ -2353,8 +2123,7 @@
24258         /* Empirically c.trapno == 14, on IA32, but is that useful?     */
24259         /* Should probably consider alignment issues on other           */
24260         /* architectures.                                               */
24261 -# endif /* LINUX */
24262 -
24263 +# endif
24264  # if defined(SUNOS5SIGS)
24265  #  ifdef __STDC__
24266      void GC_write_fault_handler(int sig, struct SIGINFO *scp, void * context)
24267 @@ -2375,7 +2144,13 @@
24268  #     define SIG_OK (sig == SIGSEGV)
24269  #     define CODE_OK (scp -> si_code == SEGV_ACCERR)
24270  #   endif
24271 -# endif /* SUNOS5SIGS */
24272 +# endif
24273 +
24274 +# if defined(MACOSX)
24275 +    void GC_write_fault_handler(int sig, int code, struct sigcontext *scp)
24276 +#   define SIG_OK (sig == SIGBUS)
24277 +#   define CODE_OK (code == 0 /* experimentally determined */)
24278 +# endif
24279  
24280  # if defined(MSWIN32) || defined(MSWINCE)
24281      LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info)
24282 @@ -2383,7 +2158,7 @@
24283                         STATUS_ACCESS_VIOLATION)
24284  #   define CODE_OK (exc_info -> ExceptionRecord -> ExceptionInformation[0] == 1)
24285                         /* Write fault */
24286 -# endif /* MSWIN32 || MSWINCE */
24287 +# endif
24288  {
24289      register unsigned i;
24290  #   if defined(HURD) 
24291 @@ -2443,17 +2218,16 @@
24292  #             if defined(POWERPC)
24293                  char * addr = (char *) (sc.regs->dar);
24294  #            else
24295 -#               if defined(ARM32)
24296 -                  char * addr = (char *)sc.fault_address;
24297 -#               else
24298 -                 --> architecture not supported
24299 -#               endif
24300 +               --> architecture not supported
24301  #            endif
24302  #          endif
24303  #        endif
24304  #      endif
24305  #     endif
24306  #   endif
24307 +#   if defined(MACOSX)
24308 +        char * addr = get_fault_addr(scp);
24309 +#   endif
24310  #   if defined(MSWIN32) || defined(MSWINCE)
24311         char * addr = (char *) (exc_info -> ExceptionRecord
24312                                 -> ExceptionInformation[1]);
24313 @@ -2517,6 +2291,9 @@
24314                     (*(REAL_SIG_PF)old_handler) (sig, code, scp);
24315                     return;
24316  #              endif
24317 +#              ifdef MACOSX
24318 +                   (*(REAL_SIG_PF)old_handler) (sig, code, scp);
24319 +#              endif
24320  #              ifdef MSWIN32
24321                     return((*old_handler)(exc_info));
24322  #              endif
24323 @@ -2558,11 +2335,10 @@
24324      ABORT("Unexpected bus error or segmentation fault");
24325  #endif
24326  }
24327 -#endif /* !DARWIN */
24328  
24329  /*
24330   * We hold the allocation lock.  We expect block h to be written
24331 - * shortly.  Ensure that all pages containing any part of the n hblks
24332 + * shortly.  Ensure that all pages cvontaining any part of the n hblks
24333   * starting at h are no longer protected.  If is_ptrfree is false,
24334   * also ensure that they will subsequently appear to be dirty.
24335   */
24336 @@ -2591,7 +2367,6 @@
24337      UNPROTECT(h_trunc, (ptr_t)h_end - (ptr_t)h_trunc);
24338  }
24339  
24340 -#if !defined(DARWIN)
24341  void GC_dirty_init()
24342  {
24343  #   if defined(SUNOS5SIGS) || defined(IRIX5) || defined(LINUX) || \
24344 @@ -2614,6 +2389,13 @@
24345          (void)sigaddset(&act.sa_mask, SIG_SUSPEND);
24346  #     endif /* SIG_SUSPEND */
24347  #    endif
24348 +#   if defined(MACOSX)
24349 +      struct sigaction act, oldact;
24350 +
24351 +      act.sa_flags = SA_RESTART;
24352 +      act.sa_handler = GC_write_fault_handler;
24353 +      sigemptyset(&act.sa_mask);
24354 +#   endif
24355  #   ifdef PRINTSTATS
24356         GC_printf0("Inititalizing mprotect virtual dirty bit implementation\n");
24357  #   endif
24358 @@ -2653,12 +2435,9 @@
24359         sigaction(SIGSEGV, 0, &oldact);
24360         sigaction(SIGSEGV, &act, 0);
24361  #     else
24362 -       {
24363 -         int res = sigaction(SIGSEGV, &act, &oldact);
24364 -         if (res != 0) ABORT("Sigaction failed");
24365 -       }
24366 +       sigaction(SIGSEGV, &act, &oldact);
24367  #     endif
24368 -#     if defined(_sigargs) || defined(HURD) || !defined(SA_SIGINFO)
24369 +#     if defined(_sigargs) || defined(HURD)
24370         /* This is Irix 5.x, not 6.x.  Irix 5.x does not have   */
24371         /* sa_sigaction.                                        */
24372         GC_old_segv_handler = oldact.sa_handler;
24373 @@ -2679,7 +2458,7 @@
24374  #       endif
24375        }
24376  #   endif
24377 -#   if defined(HPUX) || defined(LINUX) || defined(HURD)
24378 +#   if defined(MACOSX) || defined(HPUX) || defined(LINUX) || defined(HURD)
24379        sigaction(SIGBUS, &act, &oldact);
24380        GC_old_bus_handler = oldact.sa_handler;
24381        if (GC_old_bus_handler == SIG_IGN) {
24382 @@ -2691,7 +2470,7 @@
24383           GC_err_printf0("Replaced other SIGBUS handler\n");
24384  #       endif
24385        }
24386 -#   endif /* HPUX || LINUX || HURD */
24387 +#   endif /* MACOS || HPUX || LINUX */
24388  #   if defined(MSWIN32)
24389        GC_old_segv_handler = SetUnhandledExceptionFilter(GC_write_fault_handler);
24390        if (GC_old_segv_handler != NULL) {
24391 @@ -2703,7 +2482,6 @@
24392        }
24393  #   endif
24394  }
24395 -#endif /* !DARWIN */
24396  
24397  int GC_incremental_protection_needs()
24398  {
24399 @@ -2850,23 +2628,15 @@
24400               ((ptr_t)end_block - (ptr_t)start_block) + HBLKSIZE);
24401  }
24402  
24403 -#if 0
24404 -
24405 -/* We no longer wrap read by default, since that was causing too many  */
24406 -/* problems.  It is preferred that the client instead avoids writing   */
24407 -/* to the write-protected heap with a system call.                     */
24408 -/* This still serves as sample code if you do want to wrap system calls.*/
24409 -
24410 -#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(GC_USE_LD_WRAP)
24411 -/* Replacement for UNIX system call.                                     */
24412 -/* Other calls that write to the heap should be handled similarly.       */
24413 -/* Note that this doesn't work well for blocking reads:  It will hold    */
24414 -/* the allocation lock for the entire duration of the call. Multithreaded */
24415 -/* clients should really ensure that it won't block, either by setting           */
24416 -/* the descriptor nonblocking, or by calling select or poll first, to    */
24417 -/* make sure that input is available.                                    */
24418 -/* Another, preferred alternative is to ensure that system calls never           */
24419 -/* write to the protected heap (see above).                              */
24420 +#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(THREADS) \
24421 +    && !defined(GC_USE_LD_WRAP)
24422 +/* Replacement for UNIX system call.                                    */
24423 +/* Other calls that write to the heap should be handled similarly.      */
24424 +/* Note that this doesn't work well for blocking reads:  It will hold   */
24425 +/* tha allocation lock for the entur duration of the call. Multithreaded */
24426 +/* clients should really ensure that it won't block, either by setting          */
24427 +/* the descriptor nonblocking, or by calling select or poll first, to   */
24428 +/* make sure that input is available.                                   */
24429  # if defined(__STDC__) && !defined(SUNOS4)
24430  #   include <unistd.h>
24431  #   include <sys/uio.h>
24432 @@ -2936,8 +2706,6 @@
24433      /* actually calls.                                                 */
24434  #endif
24435  
24436 -#endif /* 0 */
24437 -
24438  /*ARGSUSED*/
24439  GC_bool GC_page_was_ever_dirty(h)
24440  struct hblk *h;
24441 @@ -2953,6 +2721,13 @@
24442  {
24443  }
24444  
24445 +# else /* !MPROTECT_VDB */
24446 +
24447 +#   ifdef GC_USE_LD_WRAP
24448 +      ssize_t __wrap_read(int fd, void *buf, size_t nbyte)
24449 +      { return __real_read(fd, buf, nbyte); }
24450 +#   endif
24451 +
24452  # endif /* MPROTECT_VDB */
24453  
24454  # ifdef PROC_VDB
24455 @@ -3031,7 +2806,6 @@
24456      }
24457      GC_proc_fd = syscall(SYS_ioctl, fd, PIOCOPENPD, 0);
24458      close(fd);
24459 -    syscall(SYS_fcntl, GC_proc_fd, F_SETFD, FD_CLOEXEC);
24460      if (GC_proc_fd < 0) {
24461         ABORT("/proc ioctl failed");
24462      }
24463 @@ -3271,553 +3045,6 @@
24464  
24465  # endif /* PCR_VDB */
24466  
24467 -#if defined(MPROTECT_VDB) && defined(DARWIN)
24468 -/* The following sources were used as a *reference* for this exception handling
24469 -   code:
24470 -      1. Apple's mach/xnu documentation
24471 -      2. Timothy J. Wood's "Mach Exception Handlers 101" post to the
24472 -         omnigroup's macosx-dev list. 
24473 -         www.omnigroup.com/mailman/archive/macosx-dev/2000-June/002030.html
24474 -      3. macosx-nat.c from Apple's GDB source code.
24475 -*/
24476 -   
24477 -/* There seem to be numerous problems with darwin's mach exception handling.
24478 -   I'm pretty sure they are not problems in my code. Search for 
24479 -   BROKEN_EXCEPTION_HANDLING for more information. */
24480 -#define BROKEN_EXCEPTION_HANDLING
24481 -   
24482 -#include <mach/mach.h>
24483 -#include <mach/mach_error.h>
24484 -#include <mach/thread_status.h>
24485 -#include <mach/exception.h>
24486 -#include <mach/task.h>
24487 -#include <pthread.h>
24488 -
24489 -/* These are not defined in any header, although they are documented */
24490 -extern boolean_t exc_server(mach_msg_header_t *,mach_msg_header_t *);
24491 -extern kern_return_t exception_raise(
24492 -    mach_port_t,mach_port_t,mach_port_t,
24493 -    exception_type_t,exception_data_t,mach_msg_type_number_t);
24494 -extern kern_return_t exception_raise_state(
24495 -    mach_port_t,mach_port_t,mach_port_t,
24496 -    exception_type_t,exception_data_t,mach_msg_type_number_t,
24497 -    thread_state_flavor_t*,thread_state_t,mach_msg_type_number_t,
24498 -    thread_state_t,mach_msg_type_number_t*);
24499 -extern kern_return_t exception_raise_state_identity(
24500 -    mach_port_t,mach_port_t,mach_port_t,
24501 -    exception_type_t,exception_data_t,mach_msg_type_number_t,
24502 -    thread_state_flavor_t*,thread_state_t,mach_msg_type_number_t,
24503 -    thread_state_t,mach_msg_type_number_t*);
24504 -
24505 -
24506 -#define MAX_EXCEPTION_PORTS 16
24507 -
24508 -static mach_port_t GC_task_self;
24509 -
24510 -static struct {
24511 -    mach_msg_type_number_t count;
24512 -    exception_mask_t      masks[MAX_EXCEPTION_PORTS];
24513 -    exception_handler_t   ports[MAX_EXCEPTION_PORTS];
24514 -    exception_behavior_t  behaviors[MAX_EXCEPTION_PORTS];
24515 -    thread_state_flavor_t flavors[MAX_EXCEPTION_PORTS];
24516 -} GC_old_exc_ports;
24517 -
24518 -static struct {
24519 -    mach_port_t exception;
24520 -#if defined(THREADS)
24521 -    mach_port_t reply;
24522 -#endif
24523 -} GC_ports;
24524 -
24525 -typedef struct {
24526 -    mach_msg_header_t head;
24527 -} GC_msg_t;
24528 -
24529 -typedef enum {
24530 -    GC_MP_NORMAL, GC_MP_DISCARDING, GC_MP_STOPPED
24531 -} GC_mprotect_state_t;
24532 -
24533 -/* FIXME: 1 and 2 seem to be safe to use in the msgh_id field,
24534 -   but it isn't  documented. Use the source and see if they
24535 -   should be ok. */
24536 -#define ID_STOP 1
24537 -#define ID_RESUME 2
24538 -
24539 -/* These values are only used on the reply port */
24540 -#define ID_ACK 3
24541 -
24542 -#if defined(THREADS)
24543 -
24544 -GC_mprotect_state_t GC_mprotect_state;
24545 -
24546 -/* The following should ONLY be called when the world is stopped  */
24547 -static void GC_mprotect_thread_notify(mach_msg_id_t id) {
24548 -    struct {
24549 -        GC_msg_t msg;
24550 -        mach_msg_trailer_t trailer;
24551 -    } buf;
24552 -    mach_msg_return_t r;
24553 -    /* remote, local */
24554 -    buf.msg.head.msgh_bits = 
24555 -        MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND,0);
24556 -    buf.msg.head.msgh_size = sizeof(buf.msg);
24557 -    buf.msg.head.msgh_remote_port = GC_ports.exception;
24558 -    buf.msg.head.msgh_local_port = MACH_PORT_NULL;
24559 -    buf.msg.head.msgh_id = id;
24560 -            
24561 -    r = mach_msg(
24562 -        &buf.msg.head,
24563 -        MACH_SEND_MSG|MACH_RCV_MSG|MACH_RCV_LARGE,
24564 -        sizeof(buf.msg),
24565 -        sizeof(buf),
24566 -        GC_ports.reply,
24567 -        MACH_MSG_TIMEOUT_NONE,
24568 -        MACH_PORT_NULL);
24569 -    if(r != MACH_MSG_SUCCESS)
24570 -        ABORT("mach_msg failed in GC_mprotect_thread_notify");
24571 -    if(buf.msg.head.msgh_id != ID_ACK)
24572 -        ABORT("invalid ack in GC_mprotect_thread_notify");
24573 -}
24574 -
24575 -/* Should only be called by the mprotect thread */
24576 -static void GC_mprotect_thread_reply() {
24577 -    GC_msg_t msg;
24578 -    mach_msg_return_t r;
24579 -    /* remote, local */
24580 -    msg.head.msgh_bits = 
24581 -        MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND,0);
24582 -    msg.head.msgh_size = sizeof(msg);
24583 -    msg.head.msgh_remote_port = GC_ports.reply;
24584 -    msg.head.msgh_local_port = MACH_PORT_NULL;
24585 -    msg.head.msgh_id = ID_ACK;
24586 -            
24587 -    r = mach_msg(
24588 -        &msg.head,
24589 -        MACH_SEND_MSG,
24590 -        sizeof(msg),
24591 -        0,
24592 -        MACH_PORT_NULL,
24593 -        MACH_MSG_TIMEOUT_NONE,
24594 -        MACH_PORT_NULL);
24595 -    if(r != MACH_MSG_SUCCESS)
24596 -        ABORT("mach_msg failed in GC_mprotect_thread_reply");
24597 -}
24598 -
24599 -void GC_mprotect_stop() {
24600 -    GC_mprotect_thread_notify(ID_STOP);
24601 -}
24602 -void GC_mprotect_resume() {
24603 -    GC_mprotect_thread_notify(ID_RESUME);
24604 -}
24605 -
24606 -#else /* !THREADS */
24607 -/* The compiler should optimize away any GC_mprotect_state computations */
24608 -#define GC_mprotect_state GC_MP_NORMAL
24609 -#endif
24610 -
24611 -static void *GC_mprotect_thread(void *arg) {
24612 -    mach_msg_return_t r;
24613 -    /* These two structures contain some private kernel data. We don't need to
24614 -       access any of it so we don't bother defining a proper struct. The
24615 -       correct definitions are in the xnu source code. */
24616 -    struct {
24617 -        mach_msg_header_t head;
24618 -        char data[256];
24619 -    } reply;
24620 -    struct {
24621 -        mach_msg_header_t head;
24622 -        mach_msg_body_t msgh_body;
24623 -        char data[1024];
24624 -    } msg;
24625 -
24626 -    mach_msg_id_t id;
24627 -    
24628 -    for(;;) {
24629 -        r = mach_msg(
24630 -            &msg.head,
24631 -            MACH_RCV_MSG|MACH_RCV_LARGE|
24632 -                (GC_mprotect_state == GC_MP_DISCARDING ? MACH_RCV_TIMEOUT : 0),
24633 -            0,
24634 -            sizeof(msg),
24635 -            GC_ports.exception,
24636 -            GC_mprotect_state == GC_MP_DISCARDING ? 0 : MACH_MSG_TIMEOUT_NONE,
24637 -            MACH_PORT_NULL);
24638 -        
24639 -        id = r == MACH_MSG_SUCCESS ? msg.head.msgh_id : -1;
24640 -        
24641 -#if defined(THREADS)
24642 -        if(GC_mprotect_state == GC_MP_DISCARDING) {
24643 -            if(r == MACH_RCV_TIMED_OUT) {
24644 -                GC_mprotect_state = GC_MP_STOPPED;
24645 -                GC_mprotect_thread_reply();
24646 -                continue;
24647 -            }
24648 -            if(r == MACH_MSG_SUCCESS && (id == ID_STOP || id == ID_RESUME))
24649 -                ABORT("out of order mprotect thread request");
24650 -        }
24651 -#endif
24652 -        
24653 -        if(r != MACH_MSG_SUCCESS) {
24654 -            GC_err_printf2("mach_msg failed with %d %s\n", 
24655 -                (int)r,mach_error_string(r));
24656 -            ABORT("mach_msg failed");
24657 -        }
24658 -        
24659 -        switch(id) {
24660 -#if defined(THREADS)
24661 -            case ID_STOP:
24662 -                if(GC_mprotect_state != GC_MP_NORMAL)
24663 -                    ABORT("Called mprotect_stop when state wasn't normal");
24664 -                GC_mprotect_state = GC_MP_DISCARDING;
24665 -                break;
24666 -            case ID_RESUME:
24667 -                if(GC_mprotect_state != GC_MP_STOPPED)
24668 -                    ABORT("Called mprotect_resume when state wasn't stopped");
24669 -                GC_mprotect_state = GC_MP_NORMAL;
24670 -                GC_mprotect_thread_reply();
24671 -                break;
24672 -#endif /* THREADS */
24673 -            default:
24674 -                   /* Handle the message (calls catch_exception_raise) */
24675 -               if(!exc_server(&msg.head,&reply.head))
24676 -                    ABORT("exc_server failed");
24677 -                /* Send the reply */
24678 -                r = mach_msg(
24679 -                    &reply.head,
24680 -                    MACH_SEND_MSG,
24681 -                    reply.head.msgh_size,
24682 -                    0,
24683 -                    MACH_PORT_NULL,
24684 -                    MACH_MSG_TIMEOUT_NONE,
24685 -                    MACH_PORT_NULL);
24686 -               if(r != MACH_MSG_SUCCESS) {
24687 -                       /* This will fail if the thread dies, but the thread shouldn't
24688 -                          die... */
24689 -                       #ifdef BROKEN_EXCEPTION_HANDLING
24690 -                       GC_err_printf2(
24691 -                        "mach_msg failed with %d %s while sending exc reply\n",
24692 -                        (int)r,mach_error_string(r));
24693 -               #else
24694 -                       ABORT("mach_msg failed while sending exception reply");
24695 -               #endif
24696 -               }
24697 -        } /* switch */
24698 -    } /* for(;;) */
24699 -    /* NOT REACHED */
24700 -    return NULL;
24701 -}
24702 -
24703 -/* All this SIGBUS code shouldn't be necessary. All protection faults should
24704 -   be going throught the mach exception handler. However, it seems a SIGBUS is
24705 -   occasionally sent for some unknown reason. Even more odd, it seems to be
24706 -   meaningless and safe to ignore. */
24707 -#ifdef BROKEN_EXCEPTION_HANDLING
24708 -
24709 -typedef void (* SIG_PF)();
24710 -static SIG_PF GC_old_bus_handler;
24711 -
24712 -/* Updates to this aren't atomic, but the SIGBUSs seem pretty rare.
24713 -   Even if this doesn't get updated property, it isn't really a problem */
24714 -static int GC_sigbus_count;
24715 -
24716 -static void GC_darwin_sigbus(int num,siginfo_t *sip,void *context) {
24717 -    if(num != SIGBUS) ABORT("Got a non-sigbus signal in the sigbus handler");
24718 -    
24719 -    /* Ugh... some seem safe to ignore, but too many in a row probably means
24720 -       trouble. GC_sigbus_count is reset for each mach exception that is
24721 -       handled */
24722 -    if(GC_sigbus_count >= 8) {
24723 -        ABORT("Got more than 8 SIGBUSs in a row!");
24724 -    } else {
24725 -        GC_sigbus_count++;
24726 -        GC_err_printf0("GC: WARNING: Ignoring SIGBUS.\n");
24727 -    }
24728 -}
24729 -#endif /* BROKEN_EXCEPTION_HANDLING */
24730 -
24731 -void GC_dirty_init() {
24732 -    kern_return_t r;
24733 -    mach_port_t me;
24734 -    pthread_t thread;
24735 -    pthread_attr_t attr;
24736 -    exception_mask_t mask;
24737 -    
24738 -#   ifdef PRINTSTATS
24739 -        GC_printf0("Inititalizing mach/darwin mprotect virtual dirty bit "
24740 -            "implementation\n");
24741 -#   endif  
24742 -#      ifdef BROKEN_EXCEPTION_HANDLING
24743 -        GC_err_printf0("GC: WARNING: Enabling workarounds for various darwin "
24744 -            "exception handling bugs.\n");
24745 -#      endif
24746 -    GC_dirty_maintained = TRUE;
24747 -    if (GC_page_size % HBLKSIZE != 0) {
24748 -        GC_err_printf0("Page size not multiple of HBLKSIZE\n");
24749 -        ABORT("Page size not multiple of HBLKSIZE");
24750 -    }
24751 -    
24752 -    GC_task_self = me = mach_task_self();
24753 -    
24754 -    r = mach_port_allocate(me,MACH_PORT_RIGHT_RECEIVE,&GC_ports.exception);
24755 -    if(r != KERN_SUCCESS) ABORT("mach_port_allocate failed (exception port)");
24756 -    
24757 -    r = mach_port_insert_right(me,GC_ports.exception,GC_ports.exception,
24758 -       MACH_MSG_TYPE_MAKE_SEND);
24759 -    if(r != KERN_SUCCESS)
24760 -       ABORT("mach_port_insert_right failed (exception port)");
24761 -
24762 -    #if defined(THREADS)
24763 -        r = mach_port_allocate(me,MACH_PORT_RIGHT_RECEIVE,&GC_ports.reply);
24764 -        if(r != KERN_SUCCESS) ABORT("mach_port_allocate failed (reply port)");
24765 -    #endif
24766 -
24767 -    /* The exceptions we want to catch */  
24768 -    mask = EXC_MASK_BAD_ACCESS;
24769 -
24770 -    r = task_get_exception_ports(
24771 -        me,
24772 -        mask,
24773 -        GC_old_exc_ports.masks,
24774 -        &GC_old_exc_ports.count,
24775 -        GC_old_exc_ports.ports,
24776 -        GC_old_exc_ports.behaviors,
24777 -        GC_old_exc_ports.flavors
24778 -    );
24779 -    if(r != KERN_SUCCESS) ABORT("task_get_exception_ports failed");
24780 -        
24781 -    r = task_set_exception_ports(
24782 -        me,
24783 -        mask,
24784 -        GC_ports.exception,
24785 -        EXCEPTION_DEFAULT,
24786 -        MACHINE_THREAD_STATE
24787 -    );
24788 -    if(r != KERN_SUCCESS) ABORT("task_set_exception_ports failed");
24789 -
24790 -    if(pthread_attr_init(&attr) != 0) ABORT("pthread_attr_init failed");
24791 -    if(pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED) != 0) 
24792 -        ABORT("pthread_attr_setdetachedstate failed");
24793 -
24794 -#      undef pthread_create
24795 -    /* This will call the real pthread function, not our wrapper */
24796 -    if(pthread_create(&thread,&attr,GC_mprotect_thread,NULL) != 0)
24797 -        ABORT("pthread_create failed");
24798 -    pthread_attr_destroy(&attr);
24799 -    
24800 -    /* Setup the sigbus handler for ignoring the meaningless SIGBUSs */
24801 -    #ifdef BROKEN_EXCEPTION_HANDLING 
24802 -    {
24803 -        struct sigaction sa, oldsa;
24804 -        sa.sa_handler = (SIG_PF)GC_darwin_sigbus;
24805 -        sigemptyset(&sa.sa_mask);
24806 -        sa.sa_flags = SA_RESTART|SA_SIGINFO;
24807 -        if(sigaction(SIGBUS,&sa,&oldsa) < 0) ABORT("sigaction");
24808 -        GC_old_bus_handler = (SIG_PF)oldsa.sa_handler;
24809 -        if (GC_old_bus_handler != SIG_DFL) {
24810 -#              ifdef PRINTSTATS
24811 -                GC_err_printf0("Replaced other SIGBUS handler\n");
24812 -#              endif
24813 -        }
24814 -    }
24815 -    #endif /* BROKEN_EXCEPTION_HANDLING  */
24816 -}
24817
24818 -/* The source code for Apple's GDB was used as a reference for the exception
24819 -   forwarding code. This code is similar to be GDB code only because there is 
24820 -   only one way to do it. */
24821 -static kern_return_t GC_forward_exception(
24822 -        mach_port_t thread,
24823 -        mach_port_t task,
24824 -        exception_type_t exception,
24825 -        exception_data_t data,
24826 -        mach_msg_type_number_t data_count
24827 -) {
24828 -    int i;
24829 -    kern_return_t r;
24830 -    mach_port_t port;
24831 -    exception_behavior_t behavior;
24832 -    thread_state_flavor_t flavor;
24833 -    
24834 -    thread_state_data_t thread_state;
24835 -    mach_msg_type_number_t thread_state_count = THREAD_STATE_MAX;
24836 -        
24837 -    for(i=0;i<GC_old_exc_ports.count;i++)
24838 -        if(GC_old_exc_ports.masks[i] & (1 << exception))
24839 -            break;
24840 -    if(i==GC_old_exc_ports.count) ABORT("No handler for exception!");
24841 -    
24842 -    port = GC_old_exc_ports.ports[i];
24843 -    behavior = GC_old_exc_ports.behaviors[i];
24844 -    flavor = GC_old_exc_ports.flavors[i];
24845 -
24846 -    if(behavior != EXCEPTION_DEFAULT) {
24847 -        r = thread_get_state(thread,flavor,thread_state,&thread_state_count);
24848 -        if(r != KERN_SUCCESS)
24849 -            ABORT("thread_get_state failed in forward_exception");
24850 -    }
24851 -    
24852 -    switch(behavior) {
24853 -        case EXCEPTION_DEFAULT:
24854 -            r = exception_raise(port,thread,task,exception,data,data_count);
24855 -            break;
24856 -        case EXCEPTION_STATE:
24857 -            r = exception_raise_state(port,thread,task,exception,data,
24858 -                data_count,&flavor,thread_state,thread_state_count,
24859 -                thread_state,&thread_state_count);
24860 -            break;
24861 -        case EXCEPTION_STATE_IDENTITY:
24862 -            r = exception_raise_state_identity(port,thread,task,exception,data,
24863 -                data_count,&flavor,thread_state,thread_state_count,
24864 -                thread_state,&thread_state_count);
24865 -            break;
24866 -        default:
24867 -            r = KERN_FAILURE; /* make gcc happy */
24868 -            ABORT("forward_exception: unknown behavior");
24869 -            break;
24870 -    }
24871 -    
24872 -    if(behavior != EXCEPTION_DEFAULT) {
24873 -        r = thread_set_state(thread,flavor,thread_state,thread_state_count);
24874 -        if(r != KERN_SUCCESS)
24875 -            ABORT("thread_set_state failed in forward_exception");
24876 -    }
24877 -    
24878 -    return r;
24879 -}
24880 -
24881 -#define FWD() GC_forward_exception(thread,task,exception,code,code_count)
24882 -
24883 -/* This violates the namespace rules but there isn't anything that can be done
24884 -   about it. The exception handling stuff is hard coded to call this */
24885 -kern_return_t
24886 -catch_exception_raise(
24887 -   mach_port_t exception_port,mach_port_t thread,mach_port_t task,
24888 -   exception_type_t exception,exception_data_t code,
24889 -   mach_msg_type_number_t code_count
24890 -) {
24891 -    kern_return_t r;
24892 -    char *addr;
24893 -    struct hblk *h;
24894 -    int i;
24895 -#ifdef POWERPC
24896 -    thread_state_flavor_t flavor = PPC_EXCEPTION_STATE;
24897 -    mach_msg_type_number_t exc_state_count = PPC_EXCEPTION_STATE_COUNT;
24898 -    ppc_exception_state_t exc_state;
24899 -#else
24900 -#      error FIXME for non-ppc darwin
24901 -#endif
24902 -
24903 -    
24904 -    if(exception != EXC_BAD_ACCESS || code[0] != KERN_PROTECTION_FAILURE) {
24905 -        #ifdef DEBUG_EXCEPTION_HANDLING
24906 -        /* We aren't interested, pass it on to the old handler */
24907 -        GC_printf3("Exception: 0x%x Code: 0x%x 0x%x in catch....\n",
24908 -            exception,
24909 -            code_count > 0 ? code[0] : -1,
24910 -            code_count > 1 ? code[1] : -1); 
24911 -        #endif
24912 -        return FWD();
24913 -    }
24914 -
24915 -    r = thread_get_state(thread,flavor,
24916 -        (natural_t*)&exc_state,&exc_state_count);
24917 -    if(r != KERN_SUCCESS) {
24918 -        /* The thread is supposed to be suspended while the exception handler
24919 -           is called. This shouldn't fail. */
24920 -        #ifdef BROKEN_EXCEPTION_HANDLING
24921 -            GC_err_printf0("thread_get_state failed in "
24922 -                "catch_exception_raise\n");
24923 -            return KERN_SUCCESS;
24924 -        #else
24925 -            ABORT("thread_get_state failed in catch_exception_raise");
24926 -        #endif
24927 -    }
24928 -    
24929 -    /* This is the address that caused the fault */
24930 -    addr = (char*) exc_state.dar;
24931 -        
24932 -    if((HDR(addr)) == 0) {
24933 -        /* Ugh... just like the SIGBUS problem above, it seems we get a bogus 
24934 -           KERN_PROTECTION_FAILURE every once and a while. We wait till we get
24935 -           a bunch in a row before doing anything about it. If a "real" fault 
24936 -           ever occurres it'll just keep faulting over and over and we'll hit
24937 -           the limit pretty quickly. */
24938 -        #ifdef BROKEN_EXCEPTION_HANDLING
24939 -            static char *last_fault;
24940 -            static int last_fault_count;
24941 -            
24942 -            if(addr != last_fault) {
24943 -                last_fault = addr;
24944 -                last_fault_count = 0;
24945 -            }
24946 -            if(++last_fault_count < 32) {
24947 -                if(last_fault_count == 1)
24948 -                    GC_err_printf1(
24949 -                        "GC: WARNING: Ignoring KERN_PROTECTION_FAILURE at %p\n",
24950 -                        addr);
24951 -                return KERN_SUCCESS;
24952 -            }
24953 -            
24954 -            GC_err_printf1("Unexpected KERN_PROTECTION_FAILURE at %p\n",addr);
24955 -            /* Can't pass it along to the signal handler because that is
24956 -               ignoring SIGBUS signals. We also shouldn't call ABORT here as
24957 -               signals don't always work too well from the exception handler. */
24958 -            GC_err_printf0("Aborting\n");
24959 -            exit(EXIT_FAILURE);
24960 -        #else /* BROKEN_EXCEPTION_HANDLING */
24961 -            /* Pass it along to the next exception handler 
24962 -               (which should call SIGBUS/SIGSEGV) */
24963 -            return FWD();
24964 -        #endif /* !BROKEN_EXCEPTION_HANDLING */
24965 -    }
24966 -
24967 -    #ifdef BROKEN_EXCEPTION_HANDLING
24968 -        /* Reset the number of consecutive SIGBUSs */
24969 -        GC_sigbus_count = 0;
24970 -    #endif
24971 -    
24972 -    if(GC_mprotect_state == GC_MP_NORMAL) { /* common case */
24973 -        h = (struct hblk*)((word)addr & ~(GC_page_size-1));
24974 -        UNPROTECT(h, GC_page_size);    
24975 -        for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
24976 -            register int index = PHT_HASH(h+i);
24977 -            async_set_pht_entry_from_index(GC_dirty_pages, index);
24978 -        }
24979 -    } else if(GC_mprotect_state == GC_MP_DISCARDING) {
24980 -        /* Lie to the thread for now. No sense UNPROTECT()ing the memory
24981 -           when we're just going to PROTECT() it again later. The thread
24982 -           will just fault again once it resumes */
24983 -    } else {
24984 -        /* Shouldn't happen, i don't think */
24985 -        GC_printf0("KERN_PROTECTION_FAILURE while world is stopped\n");
24986 -        return FWD();
24987 -    }
24988 -    return KERN_SUCCESS;
24989 -}
24990 -#undef FWD
24991 -
24992 -/* These should never be called, but just in case...  */
24993 -kern_return_t catch_exception_raise_state(mach_port_name_t exception_port,
24994 -    int exception, exception_data_t code, mach_msg_type_number_t codeCnt,
24995 -    int flavor, thread_state_t old_state, int old_stateCnt,
24996 -    thread_state_t new_state, int new_stateCnt)
24997 -{
24998 -    ABORT("catch_exception_raise_state");
24999 -    return(KERN_INVALID_ARGUMENT);
25000 -}
25001 -kern_return_t catch_exception_raise_state_identity(
25002 -    mach_port_name_t exception_port, mach_port_t thread, mach_port_t task,
25003 -    int exception, exception_data_t code, mach_msg_type_number_t codeCnt,
25004 -    int flavor, thread_state_t old_state, int old_stateCnt, 
25005 -    thread_state_t new_state, int new_stateCnt)
25006 -{
25007 -    ABORT("catch_exception_raise_state_identity");
25008 -    return(KERN_INVALID_ARGUMENT);
25009 -}
25010 -
25011 -
25012 -#endif /* DARWIN && MPROTECT_VDB */
25013 -
25014  # ifndef HAVE_INCREMENTAL_PROTECTION_NEEDS
25015    int GC_incremental_protection_needs()
25016    {
25017 @@ -3878,20 +3105,19 @@
25018  #  endif
25019  #endif /* SPARC */
25020  
25021 -#ifdef  NEED_CALLINFO
25022 +#ifdef SAVE_CALL_CHAIN
25023  /* Fill in the pc and argument information for up to NFRAMES of my     */
25024  /* callers.  Ignore my frame and my callers frame.                     */
25025  
25026  #ifdef LINUX
25027 -#   include <unistd.h>
25028 +# include <features.h>
25029 +# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2
25030 +#   define HAVE_BUILTIN_BACKTRACE
25031 +# endif
25032  #endif
25033  
25034 -#endif /* NEED_CALLINFO */
25035 -
25036 -#ifdef SAVE_CALL_CHAIN
25037 -
25038  #if NARGS == 0 && NFRAMES % 2 == 0 /* No padding */ \
25039 -    && defined(GC_HAVE_BUILTIN_BACKTRACE)
25040 +    && defined(HAVE_BUILTIN_BACKTRACE)
25041  
25042  #include <execinfo.h>
25043  
25044 @@ -3962,139 +3188,31 @@
25045  
25046  #endif /* SAVE_CALL_CHAIN */
25047  
25048 -#ifdef NEED_CALLINFO
25049 +#if defined(LINUX) && defined(__ELF__) && \
25050 +    (!defined(SMALL_CONFIG) || defined(USE_PROC_FOR_LIBRARIES))
25051 +#ifdef GC_USE_LD_WRAP
25052 +#   define READ __real_read
25053 +#else
25054 +#   define READ read
25055 +#endif
25056  
25057 -/* Print info to stderr.  We do NOT hold the allocation lock */
25058 -void GC_print_callers (info)
25059 -struct callinfo info[NFRAMES];
25060 -{
25061 -    register int i;
25062 -    static int reentry_count = 0;
25063 -    GC_bool stop = FALSE;
25064  
25065 -    LOCK();
25066 -      ++reentry_count;
25067 -    UNLOCK();
25068 +/* Repeatedly perform a read call until the buffer is filled or        */
25069 +/* we encounter EOF.                                           */
25070 +ssize_t GC_repeat_read(int fd, char *buf, size_t count)
25071 +{
25072 +    ssize_t num_read = 0;
25073 +    ssize_t result;
25074      
25075 -#   if NFRAMES == 1
25076 -      GC_err_printf0("\tCaller at allocation:\n");
25077 -#   else
25078 -      GC_err_printf0("\tCall chain at allocation:\n");
25079 -#   endif
25080 -    for (i = 0; i < NFRAMES && !stop ; i++) {
25081 -       if (info[i].ci_pc == 0) break;
25082 -#      if NARGS > 0
25083 -       {
25084 -         int j;
25085 -
25086 -         GC_err_printf0("\t\targs: ");
25087 -         for (j = 0; j < NARGS; j++) {
25088 -           if (j != 0) GC_err_printf0(", ");
25089 -           GC_err_printf2("%d (0x%X)", ~(info[i].ci_arg[j]),
25090 -                                       ~(info[i].ci_arg[j]));
25091 -         }
25092 -         GC_err_printf0("\n");
25093 -       }
25094 -#      endif
25095 -        if (reentry_count > 1) {
25096 -           /* We were called during an allocation during       */
25097 -           /* a previous GC_print_callers call; punt.          */
25098 -           GC_err_printf1("\t\t##PC##= 0x%lx\n", info[i].ci_pc);
25099 -           continue;
25100 -       }
25101 -       {
25102 -#        ifdef LINUX
25103 -           FILE *pipe;
25104 -#        endif
25105 -#        if defined(GC_HAVE_BUILTIN_BACKTRACE)
25106 -           char **sym_name =
25107 -             backtrace_symbols((void **)(&(info[i].ci_pc)), 1);
25108 -           char *name = sym_name[0];
25109 -#        else
25110 -           char buf[40];
25111 -           char *name = buf;
25112 -           sprintf(buf, "##PC##= 0x%lx", info[i].ci_pc);
25113 -#        endif
25114 -#        if defined(LINUX) && !defined(SMALL_CONFIG)
25115 -           /* Try for a line number. */
25116 -           {
25117 -#              define EXE_SZ 100
25118 -               static char exe_name[EXE_SZ];
25119 -#              define CMD_SZ 200
25120 -               char cmd_buf[CMD_SZ];
25121 -#              define RESULT_SZ 200
25122 -               static char result_buf[RESULT_SZ];
25123 -               size_t result_len;
25124 -               static GC_bool found_exe_name = FALSE;
25125 -               static GC_bool will_fail = FALSE;
25126 -               int ret_code;
25127 -               /* Try to get it via a hairy and expensive scheme.      */
25128 -               /* First we get the name of the executable:             */
25129 -               if (will_fail) goto out;
25130 -               if (!found_exe_name) { 
25131 -                 ret_code = readlink("/proc/self/exe", exe_name, EXE_SZ);
25132 -                 if (ret_code < 0 || ret_code >= EXE_SZ
25133 -                     || exe_name[0] != '/') {
25134 -                   will_fail = TRUE;   /* Dont try again. */
25135 -                   goto out;
25136 -                 }
25137 -                 exe_name[ret_code] = '\0';
25138 -                 found_exe_name = TRUE;
25139 -               }
25140 -               /* Then we use popen to start addr2line -e <exe> <addr> */
25141 -               /* There are faster ways to do this, but hopefully this */
25142 -               /* isn't time critical.                                 */
25143 -               sprintf(cmd_buf, "/usr/bin/addr2line -f -e %s 0x%lx", exe_name,
25144 -                                (unsigned long)info[i].ci_pc);
25145 -               pipe = popen(cmd_buf, "r");
25146 -               if (pipe == NULL
25147 -                   || (result_len = fread(result_buf, 1, RESULT_SZ - 1, pipe))
25148 -                      == 0) {
25149 -                 if (pipe != NULL) pclose(pipe);
25150 -                 will_fail = TRUE;
25151 -                 goto out;
25152 -               }
25153 -               if (result_buf[result_len - 1] == '\n') --result_len;
25154 -               result_buf[result_len] = 0;
25155 -               if (result_buf[0] == '?'
25156 -                   || result_buf[result_len-2] == ':' 
25157 -                      && result_buf[result_len-1] == '0') {
25158 -                   pclose(pipe);
25159 -                   goto out;
25160 -               }
25161 -               /* Get rid of embedded newline, if any.  Test for "main" */
25162 -               {
25163 -                  char * nl = strchr(result_buf, '\n');
25164 -                  if (nl != NULL && nl < result_buf + result_len) {
25165 -                    *nl = ':';
25166 -                  }
25167 -                  if (strncmp(result_buf, "main", nl - result_buf) == 0) {
25168 -                    stop = TRUE;
25169 -                  }
25170 -               }
25171 -               if (result_len < RESULT_SZ - 25) {
25172 -                 /* Add in hex address */
25173 -                   sprintf(result_buf + result_len, " [0x%lx]",
25174 -                         (unsigned long)info[i].ci_pc);
25175 -               }
25176 -               name = result_buf;
25177 -               pclose(pipe);
25178 -               out:;
25179 -           }
25180 -#        endif /* LINUX */
25181 -         GC_err_printf1("\t\t%s\n", name);
25182 -#        if defined(GC_HAVE_BUILTIN_BACKTRACE)
25183 -           free(sym_name);  /* May call GC_free; that's OK */
25184 -#         endif
25185 -       }
25186 +    while (num_read < count) {
25187 +       result = READ(fd, buf + num_read, count - num_read);
25188 +       if (result < 0) return result;
25189 +       if (result == 0) break;
25190 +       num_read += result;
25191      }
25192 -    LOCK();
25193 -      --reentry_count;
25194 -    UNLOCK();
25195 +    return num_read;
25196  }
25197 -
25198 -#endif /* NEED_CALLINFO */
25199 -
25200 +#endif /* LINUX && ... */
25201  
25202  
25203  #if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
25204 @@ -4102,16 +3220,20 @@
25205  /* Dump /proc/self/maps to GC_stderr, to enable looking up names for
25206     addresses in FIND_LEAK output. */
25207  
25208 -static word dump_maps(char *maps)
25209 -{
25210 -    GC_err_write(maps, strlen(maps));
25211 -    return 1;
25212 -}
25213 -
25214  void GC_print_address_map()
25215  {
25216 +    int f;
25217 +    int result;
25218 +    char maps_temp[32768];
25219      GC_err_printf0("---------- Begin address map ----------\n");
25220 -    GC_apply_to_maps(dump_maps);
25221 +        f = open("/proc/self/maps", O_RDONLY);
25222 +        if (-1 == f) ABORT("Couldn't open /proc/self/maps");
25223 +       do {
25224 +           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
25225 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
25226 +           GC_err_write(maps_temp, result);
25227 +       } while (result == sizeof(maps_temp));
25228 +     
25229      GC_err_printf0("---------- End address map ----------\n");
25230  }
25231  
25232 diff -Nur ../boehm-gc/powerpc_darwin_mach_dep.s boehm-gc/powerpc_darwin_mach_dep.s
25233 --- ../boehm-gc/powerpc_darwin_mach_dep.s       Mon May 26 12:48:52 2003
25234 +++ boehm-gc/powerpc_darwin_mach_dep.s  Wed Dec 31 16:00:00 1969
25235 @@ -1,84 +0,0 @@
25236 -
25237 -; GC_push_regs function. Under some optimization levels GCC will clobber
25238 -; some of the non-volatile registers before we get a chance to save them
25239 -; therefore, this can't be inline asm.
25240 -
25241 -.text
25242 -       .align 2
25243 -       .globl _GC_push_regs
25244 -_GC_push_regs:
25245 -    
25246 -    ; Prolog
25247 -       mflr r0
25248 -       stw r0,8(r1)
25249 -       stwu r1,-80(r1)
25250 -
25251 -       ; Push r13-r31
25252 -       mr r3,r13
25253 -       bl L_GC_push_one$stub
25254 -       mr r3,r14
25255 -       bl L_GC_push_one$stub
25256 -       mr r3,r15
25257 -       bl L_GC_push_one$stub
25258 -       mr r3,r16
25259 -       bl L_GC_push_one$stub
25260 -       mr r3,r17
25261 -       bl L_GC_push_one$stub
25262 -       mr r3,r18
25263 -       bl L_GC_push_one$stub
25264 -       mr r3,r19
25265 -       bl L_GC_push_one$stub
25266 -       mr r3,r20
25267 -       bl L_GC_push_one$stub
25268 -       mr r3,r21
25269 -       bl L_GC_push_one$stub
25270 -       mr r3,r22
25271 -       bl L_GC_push_one$stub
25272 -       mr r3,r23
25273 -       bl L_GC_push_one$stub
25274 -       mr r3,r24
25275 -       bl L_GC_push_one$stub
25276 -       mr r3,r25
25277 -       bl L_GC_push_one$stub
25278 -       mr r3,r26
25279 -       bl L_GC_push_one$stub
25280 -       mr r3,r27
25281 -       bl L_GC_push_one$stub
25282 -       mr r3,r28
25283 -       bl L_GC_push_one$stub
25284 -       mr r3,r29
25285 -       bl L_GC_push_one$stub
25286 -       mr r3,r30
25287 -       bl L_GC_push_one$stub
25288 -       mr r3,r31
25289 -       bl L_GC_push_one$stub
25290 -
25291 -    ; 
25292 -    lwz r0,88(r1)
25293 -    addi r1,r1,80
25294 -       mtlr r0
25295 -       
25296 -       ; Return
25297 -       blr
25298 -
25299 -; PIC stuff, generated by GCC
25300 -
25301 -.data
25302 -.picsymbol_stub
25303 -L_GC_push_one$stub:
25304 -       .indirect_symbol _GC_push_one
25305 -       mflr r0
25306 -       bcl 20,31,L0$_GC_push_one
25307 -L0$_GC_push_one:
25308 -       mflr r11
25309 -       addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
25310 -       mtlr r0
25311 -       lwz r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11)
25312 -       mtctr r12
25313 -       addi r11,r11,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
25314 -       bctr
25315 -.data
25316 -.lazy_symbol_pointer
25317 -L_GC_push_one$lazy_ptr:
25318 -       .indirect_symbol _GC_push_one
25319 -       .long dyld_stub_binding_helper
25320 diff -Nur ../boehm-gc/pthread_stop_world.c boehm-gc/pthread_stop_world.c
25321 --- ../boehm-gc/pthread_stop_world.c    Mon May 26 12:48:52 2003
25322 +++ boehm-gc/pthread_stop_world.c       Wed Dec 31 16:00:00 1969
25323 @@ -1,445 +0,0 @@
25324 -#include "private/pthread_support.h"
25325 -
25326 -#if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
25327 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS) \
25328 -     && !defined(GC_DARWIN_THREADS)
25329 -
25330 -#include <signal.h>
25331 -#include <semaphore.h>
25332 -#include <errno.h>
25333 -#include <unistd.h>
25334 -
25335 -#if DEBUG_THREADS
25336 -
25337 -#ifndef NSIG
25338 -# if defined(MAXSIG)
25339 -#  define NSIG (MAXSIG+1)
25340 -# elif defined(_NSIG)
25341 -#  define NSIG _NSIG
25342 -# elif defined(__SIGRTMAX)
25343 -#  define NSIG (__SIGRTMAX+1)
25344 -# else
25345 -  --> please fix it
25346 -# endif
25347 -#endif
25348 -
25349 -void GC_print_sig_mask()
25350 -{
25351 -    sigset_t blocked;
25352 -    int i;
25353 -
25354 -    if (pthread_sigmask(SIG_BLOCK, NULL, &blocked) != 0)
25355 -       ABORT("pthread_sigmask");
25356 -    GC_printf0("Blocked: ");
25357 -    for (i = 1; i < NSIG; i++) {
25358 -        if (sigismember(&blocked, i)) { GC_printf1("%ld ",(long) i); }
25359 -    }
25360 -    GC_printf0("\n");
25361 -}
25362 -
25363 -#endif
25364 -
25365 -word GC_stop_count;    /* Incremented at the beginning of GC_stop_world. */
25366 -
25367 -#ifdef GC_OSF1_THREADS
25368 -  GC_bool GC_retry_signals = TRUE;
25369 -#else
25370 -  GC_bool GC_retry_signals = FALSE;
25371 -#endif
25372 -
25373 -/*
25374 - * We use signals to stop threads during GC.
25375 - * 
25376 - * Suspended threads wait in signal handler for SIG_THR_RESTART.
25377 - * That's more portable than semaphores or condition variables.
25378 - * (We do use sem_post from a signal handler, but that should be portable.)
25379 - *
25380 - * The thread suspension signal SIG_SUSPEND is now defined in gc_priv.h.
25381 - * Note that we can't just stop a thread; we need it to save its stack
25382 - * pointer(s) and acknowledge.
25383 - */
25384 -
25385 -#ifndef SIG_THR_RESTART
25386 -#  if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
25387 -#    ifdef _SIGRTMIN
25388 -#      define SIG_THR_RESTART _SIGRTMIN + 5
25389 -#    else
25390 -#      define SIG_THR_RESTART SIGRTMIN + 5
25391 -#    endif
25392 -#  else
25393 -#   define SIG_THR_RESTART SIGXCPU
25394 -#  endif
25395 -#endif
25396 -
25397 -sem_t GC_suspend_ack_sem;
25398 -
25399 -void GC_suspend_handler(int sig)
25400 -{
25401 -    int dummy;
25402 -    pthread_t my_thread = pthread_self();
25403 -    GC_thread me;
25404 -    sigset_t mask;
25405 -#   ifdef PARALLEL_MARK
25406 -       word my_mark_no = GC_mark_no;
25407 -       /* Marker can't proceed until we acknowledge.  Thus this is     */
25408 -       /* guaranteed to be the mark_no correspending to our            */
25409 -       /* suspension, i.e. the marker can't have incremented it yet.   */
25410 -#   endif
25411 -    word my_stop_count = GC_stop_count;
25412 -
25413 -    if (sig != SIG_SUSPEND) ABORT("Bad signal in suspend_handler");
25414 -
25415 -#if DEBUG_THREADS
25416 -    GC_printf1("Suspending 0x%lx\n", my_thread);
25417 -#endif
25418 -
25419 -    me = GC_lookup_thread(my_thread);
25420 -    /* The lookup here is safe, since I'm doing this on behalf  */
25421 -    /* of a thread which holds the allocation lock in order    */
25422 -    /* to stop the world.  Thus concurrent modification of the */
25423 -    /* data structure is impossible.                           */
25424 -    if (me -> stop_info.last_stop_count == my_stop_count) {
25425 -       /* Duplicate signal.  OK if we are retrying.    */
25426 -       if (!GC_retry_signals) {
25427 -           WARN("Duplicate suspend signal in thread %lx\n",
25428 -                pthread_self());
25429 -       }
25430 -       return;
25431 -    }
25432 -#   ifdef SPARC
25433 -       me -> stop_info.stack_ptr = (ptr_t)GC_save_regs_in_stack();
25434 -#   else
25435 -       me -> stop_info.stack_ptr = (ptr_t)(&dummy);
25436 -#   endif
25437 -#   ifdef IA64
25438 -       me -> backing_store_ptr = (ptr_t)GC_save_regs_in_stack();
25439 -#   endif
25440 -
25441 -    /* Tell the thread that wants to stop the world that this   */
25442 -    /* thread has been stopped.  Note that sem_post() is       */
25443 -    /* the only async-signal-safe primitive in LinuxThreads.    */
25444 -    sem_post(&GC_suspend_ack_sem);
25445 -    me -> stop_info.last_stop_count = my_stop_count;
25446 -
25447 -    /* Wait until that thread tells us to restart by sending    */
25448 -    /* this thread a SIG_THR_RESTART signal.                   */
25449 -    /* SIG_THR_RESTART should be masked at this point.  Thus there     */
25450 -    /* is no race.                                             */
25451 -    if (sigfillset(&mask) != 0) ABORT("sigfillset() failed");
25452 -    if (sigdelset(&mask, SIG_THR_RESTART) != 0) ABORT("sigdelset() failed");
25453 -#   ifdef NO_SIGNALS
25454 -      if (sigdelset(&mask, SIGINT) != 0) ABORT("sigdelset() failed");
25455 -      if (sigdelset(&mask, SIGQUIT) != 0) ABORT("sigdelset() failed");
25456 -      if (sigdelset(&mask, SIGTERM) != 0) ABORT("sigdelset() failed");
25457 -      if (sigdelset(&mask, SIGABRT) != 0) ABORT("sigdelset() failed");
25458 -#   endif
25459 -    do {
25460 -           me->stop_info.signal = 0;
25461 -           sigsuspend(&mask);             /* Wait for signal */
25462 -    } while (me->stop_info.signal != SIG_THR_RESTART);
25463 -    /* If the RESTART signal gets lost, we can still lose.  That should be  */
25464 -    /* less likely than losing the SUSPEND signal, since we don't do much   */
25465 -    /* between the sem_post and sigsuspend.                                */
25466 -    /* We'd need more handshaking to work around that, since we don't want  */
25467 -    /* to accidentally leave a RESTART signal pending, thus causing us to   */
25468 -    /* continue prematurely in a future round.                             */ 
25469 -
25470 -#if DEBUG_THREADS
25471 -    GC_printf1("Continuing 0x%lx\n", my_thread);
25472 -#endif
25473 -}
25474 -
25475 -void GC_restart_handler(int sig)
25476 -{
25477 -    pthread_t my_thread = pthread_self();
25478 -    GC_thread me;
25479 -
25480 -    if (sig != SIG_THR_RESTART) ABORT("Bad signal in suspend_handler");
25481 -
25482 -    /* Let the GC_suspend_handler() know that we got a SIG_THR_RESTART. */
25483 -    /* The lookup here is safe, since I'm doing this on behalf  */
25484 -    /* of a thread which holds the allocation lock in order    */
25485 -    /* to stop the world.  Thus concurrent modification of the */
25486 -    /* data structure is impossible.                           */
25487 -    me = GC_lookup_thread(my_thread);
25488 -    me->stop_info.signal = SIG_THR_RESTART;
25489 -
25490 -    /*
25491 -    ** Note: even if we didn't do anything useful here,
25492 -    ** it would still be necessary to have a signal handler,
25493 -    ** rather than ignoring the signals, otherwise
25494 -    ** the signals will not be delivered at all, and
25495 -    ** will thus not interrupt the sigsuspend() above.
25496 -    */
25497 -
25498 -#if DEBUG_THREADS
25499 -    GC_printf1("In GC_restart_handler for 0x%lx\n", pthread_self());
25500 -#endif
25501 -}
25502 -
25503 -# ifdef IA64
25504 -#   define IF_IA64(x) x
25505 -# else
25506 -#   define IF_IA64(x)
25507 -# endif
25508 -/* We hold allocation lock.  Should do exactly the right thing if the  */
25509 -/* world is stopped.  Should not fail if it isn't.                     */
25510 -void GC_push_all_stacks()
25511 -{
25512 -    int i;
25513 -    GC_thread p;
25514 -    ptr_t lo, hi;
25515 -    /* On IA64, we also need to scan the register backing store. */
25516 -    IF_IA64(ptr_t bs_lo; ptr_t bs_hi;)
25517 -    pthread_t me = pthread_self();
25518 -    
25519 -    if (!GC_thr_initialized) GC_thr_init();
25520 -    #if DEBUG_THREADS
25521 -        GC_printf1("Pushing stacks from thread 0x%lx\n", (unsigned long) me);
25522 -    #endif
25523 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25524 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25525 -        if (p -> flags & FINISHED) continue;
25526 -        if (pthread_equal(p -> id, me)) {
25527 -#          ifdef SPARC
25528 -               lo = (ptr_t)GC_save_regs_in_stack();
25529 -#          else
25530 -               lo = GC_approx_sp();
25531 -#           endif
25532 -           IF_IA64(bs_hi = (ptr_t)GC_save_regs_in_stack();)
25533 -       } else {
25534 -           lo = p -> stop_info.stack_ptr;
25535 -           IF_IA64(bs_hi = p -> backing_store_ptr;)
25536 -       }
25537 -        if ((p -> flags & MAIN_THREAD) == 0) {
25538 -           hi = p -> stack_end;
25539 -           IF_IA64(bs_lo = p -> backing_store_end);
25540 -        } else {
25541 -            /* The original stack. */
25542 -            hi = GC_stackbottom;
25543 -           IF_IA64(bs_lo = BACKING_STORE_BASE;)
25544 -        }
25545 -        #if DEBUG_THREADS
25546 -            GC_printf3("Stack for thread 0x%lx = [%lx,%lx)\n",
25547 -               (unsigned long) p -> id,
25548 -               (unsigned long) lo, (unsigned long) hi);
25549 -        #endif
25550 -       if (0 == lo) ABORT("GC_push_all_stacks: sp not set!\n");
25551 -#       ifdef STACK_GROWS_UP
25552 -         /* We got them backwards! */
25553 -          GC_push_all_stack(hi, lo);
25554 -#       else
25555 -          GC_push_all_stack(lo, hi);
25556 -#      endif
25557 -#      ifdef IA64
25558 -          if (pthread_equal(p -> id, me)) {
25559 -           GC_push_all_eager(bs_lo, bs_hi);
25560 -         } else {
25561 -           GC_push_all_stack(bs_lo, bs_hi);
25562 -         }
25563 -#      endif
25564 -      }
25565 -    }
25566 -}
25567 -
25568 -/* There seems to be a very rare thread stopping problem.  To help us  */
25569 -/* debug that, we save the ids of the stopping thread. */
25570 -pthread_t GC_stopping_thread;
25571 -int GC_stopping_pid;
25572 -
25573 -/* We hold the allocation lock.  Suspend all threads that might        */
25574 -/* still be running.  Return the number of suspend signals that        */
25575 -/* were sent. */
25576 -int GC_suspend_all()
25577 -{
25578 -    int n_live_threads = 0;
25579 -    int i;
25580 -    GC_thread p;
25581 -    int result;
25582 -    pthread_t my_thread = pthread_self();
25583 -    
25584 -    GC_stopping_thread = my_thread;    /* debugging only.      */
25585 -    GC_stopping_pid = getpid();                /* debugging only.      */
25586 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25587 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25588 -        if (p -> id != my_thread) {
25589 -            if (p -> flags & FINISHED) continue;
25590 -            if (p -> stop_info.last_stop_count == GC_stop_count) continue;
25591 -           if (p -> thread_blocked) /* Will wait */ continue;
25592 -            n_live_threads++;
25593 -           #if DEBUG_THREADS
25594 -             GC_printf1("Sending suspend signal to 0x%lx\n", p -> id);
25595 -           #endif
25596 -        
25597 -        result = pthread_kill(p -> id, SIG_SUSPEND);
25598 -           switch(result) {
25599 -                case ESRCH:
25600 -                    /* Not really there anymore.  Possible? */
25601 -                    n_live_threads--;
25602 -                    break;
25603 -                case 0:
25604 -                    break;
25605 -                default:
25606 -                    ABORT("pthread_kill failed");
25607 -            }
25608 -        }
25609 -      }
25610 -    }
25611 -    return n_live_threads;
25612 -}
25613 -
25614 -/* Caller holds allocation lock.       */
25615 -void GC_stop_world()
25616 -{
25617 -    int i;
25618 -    int n_live_threads;
25619 -    int code;
25620 -
25621 -    #if DEBUG_THREADS
25622 -    GC_printf1("Stopping the world from 0x%lx\n", pthread_self());
25623 -    #endif
25624 -       
25625 -    /* Make sure all free list construction has stopped before we start. */
25626 -    /* No new construction can start, since free list construction is  */
25627 -    /* required to acquire and release the GC lock before it starts,   */
25628 -    /* and we have the lock.                                           */
25629 -#   ifdef PARALLEL_MARK
25630 -      GC_acquire_mark_lock();
25631 -      GC_ASSERT(GC_fl_builder_count == 0);
25632 -      /* We should have previously waited for it to become zero. */
25633 -#   endif /* PARALLEL_MARK */
25634 -    ++GC_stop_count;
25635 -    n_live_threads = GC_suspend_all();
25636 -
25637 -      if (GC_retry_signals) {
25638 -         unsigned long wait_usecs = 0;  /* Total wait since retry.     */
25639 -#        define WAIT_UNIT 3000
25640 -#        define RETRY_INTERVAL 100000
25641 -         for (;;) {
25642 -             int ack_count;
25643 -
25644 -             sem_getvalue(&GC_suspend_ack_sem, &ack_count);
25645 -             if (ack_count == n_live_threads) break;
25646 -             if (wait_usecs > RETRY_INTERVAL) {
25647 -                 int newly_sent = GC_suspend_all();
25648 -
25649 -#                 ifdef CONDPRINT
25650 -                   if (GC_print_stats) {
25651 -                     GC_printf1("Resent %ld signals after timeout\n",
25652 -                                newly_sent);
25653 -                   }
25654 -#                 endif
25655 -                 sem_getvalue(&GC_suspend_ack_sem, &ack_count);
25656 -                 if (newly_sent < n_live_threads - ack_count) {
25657 -                     WARN("Lost some threads during GC_stop_world?!\n",0);
25658 -                     n_live_threads = ack_count + newly_sent;
25659 -                 }
25660 -                 wait_usecs = 0;
25661 -             }
25662 -             usleep(WAIT_UNIT);
25663 -             wait_usecs += WAIT_UNIT;
25664 -         }
25665 -      }
25666 -    for (i = 0; i < n_live_threads; i++) {
25667 -         if (0 != (code = sem_wait(&GC_suspend_ack_sem))) {
25668 -             GC_err_printf1("Sem_wait returned %ld\n", (unsigned long)code);
25669 -             ABORT("sem_wait for handler failed");
25670 -         }
25671 -    }
25672 -#   ifdef PARALLEL_MARK
25673 -      GC_release_mark_lock();
25674 -#   endif
25675 -    #if DEBUG_THREADS
25676 -      GC_printf1("World stopped from 0x%lx\n", pthread_self());
25677 -    #endif
25678 -    GC_stopping_thread = 0;  /* debugging only */
25679 -}
25680 -
25681 -/* Caller holds allocation lock, and has held it continuously since    */
25682 -/* the world stopped.                                                  */
25683 -void GC_start_world()
25684 -{
25685 -    pthread_t my_thread = pthread_self();
25686 -    register int i;
25687 -    register GC_thread p;
25688 -    register int n_live_threads = 0;
25689 -    register int result;
25690 -
25691 -#   if DEBUG_THREADS
25692 -      GC_printf0("World starting\n");
25693 -#   endif
25694 -
25695 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25696 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25697 -        if (p -> id != my_thread) {
25698 -            if (p -> flags & FINISHED) continue;
25699 -           if (p -> thread_blocked) continue;
25700 -            n_live_threads++;
25701 -           #if DEBUG_THREADS
25702 -             GC_printf1("Sending restart signal to 0x%lx\n", p -> id);
25703 -           #endif
25704 -        
25705 -        result = pthread_kill(p -> id, SIG_THR_RESTART);
25706 -           switch(result) {
25707 -                case ESRCH:
25708 -                    /* Not really there anymore.  Possible? */
25709 -                    n_live_threads--;
25710 -                    break;
25711 -                case 0:
25712 -                    break;
25713 -                default:
25714 -                    ABORT("pthread_kill failed");
25715 -            }
25716 -        }
25717 -      }
25718 -    }
25719 -    #if DEBUG_THREADS
25720 -      GC_printf0("World started\n");
25721 -    #endif
25722 -}
25723 -
25724 -void GC_stop_init() {
25725 -    struct sigaction act;
25726 -    
25727 -    if (sem_init(&GC_suspend_ack_sem, 0, 0) != 0)
25728 -        ABORT("sem_init failed");
25729 -
25730 -    act.sa_flags = SA_RESTART;
25731 -    if (sigfillset(&act.sa_mask) != 0) {
25732 -       ABORT("sigfillset() failed");
25733 -    }
25734 -#   ifdef NO_SIGNALS
25735 -      if (sigdelset(&act.sa_mask, SIGINT) != 0
25736 -         || sigdelset(&act.sa_mask, SIGQUIT != 0)
25737 -         || sigdelset(&act.sa_mask, SIGABRT != 0)
25738 -         || sigdelset(&act.sa_mask, SIGTERM != 0)) {
25739 -        ABORT("sigdelset() failed");
25740 -      }
25741 -#   endif
25742 -
25743 -    /* SIG_THR_RESTART is unmasked by the handler when necessary.      */
25744 -    act.sa_handler = GC_suspend_handler;
25745 -    if (sigaction(SIG_SUSPEND, &act, NULL) != 0) {
25746 -       ABORT("Cannot set SIG_SUSPEND handler");
25747 -    }
25748 -
25749 -    act.sa_handler = GC_restart_handler;
25750 -    if (sigaction(SIG_THR_RESTART, &act, NULL) != 0) {
25751 -       ABORT("Cannot set SIG_THR_RESTART handler");
25752 -    }
25753 -
25754 -    /* Check for GC_RETRY_SIGNALS.     */
25755 -      if (0 != GETENV("GC_RETRY_SIGNALS")) {
25756 -         GC_retry_signals = TRUE;
25757 -      }
25758 -      if (0 != GETENV("GC_NO_RETRY_SIGNALS")) {
25759 -         GC_retry_signals = FALSE;
25760 -      }
25761 -#     ifdef CONDPRINT
25762 -          if (GC_print_stats && GC_retry_signals) {
25763 -              GC_printf0("Will retry suspend signal if necessary.\n");
25764 -         }
25765 -#     endif
25766 -}
25767 -
25768 -#endif
25769 diff -Nur ../boehm-gc/pthread_support.c boehm-gc/pthread_support.c
25770 --- ../boehm-gc/pthread_support.c       Mon May 26 12:48:52 2003
25771 +++ boehm-gc/pthread_support.c  Wed Dec 31 16:00:00 1969
25772 @@ -1,1568 +0,0 @@
25773 -/* 
25774 - * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
25775 - * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
25776 - * Copyright (c) 1998 by Fergus Henderson.  All rights reserved.
25777 - * Copyright (c) 2000-2001 by Hewlett-Packard Company.  All rights reserved.
25778 - *
25779 - * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
25780 - * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
25781 - *
25782 - * Permission is hereby granted to use or copy this program
25783 - * for any purpose,  provided the above notices are retained on all copies.
25784 - * Permission to modify the code and to distribute modified code is granted,
25785 - * provided the above notices are retained, and a notice that the code was
25786 - * modified is included with the above copyright notice.
25787 - */
25788 -/*
25789 - * Support code for LinuxThreads, the clone()-based kernel
25790 - * thread package for Linux which is included in libc6.
25791 - *
25792 - * This code relies on implementation details of LinuxThreads,
25793 - * (i.e. properties not guaranteed by the Pthread standard),
25794 - * though this version now does less of that than the other Pthreads
25795 - * support code.
25796 - *
25797 - * Note that there is a lot of code duplication between linux_threads.c
25798 - * and thread support for some of the other Posix platforms; any changes
25799 - * made here may need to be reflected there too.
25800 - */
25801 - /* DG/UX ix86 support <takis@xfree86.org> */
25802 -/*
25803 - * Linux_threads.c now also includes some code to support HPUX and
25804 - * OSF1 (Compaq Tru64 Unix, really).  The OSF1 support is not yet
25805 - * functional.  The OSF1 code is based on Eric Benson's
25806 - * patch, though that was originally against hpux_irix_threads.  The code
25807 - * here is completely untested.  With 0.0000001% probability, it might
25808 - * actually work.
25809 - *
25810 - * Eric also suggested an alternate basis for a lock implementation in
25811 - * his code:
25812 - * + #elif defined(OSF1)
25813 - * +    unsigned long GC_allocate_lock = 0;
25814 - * +    msemaphore GC_allocate_semaphore;
25815 - * + #  define GC_TRY_LOCK() \
25816 - * +    ((msem_lock(&GC_allocate_semaphore, MSEM_IF_NOWAIT) == 0) \
25817 - * +     ? (GC_allocate_lock = 1) \
25818 - * +     : 0)
25819 - * + #  define GC_LOCK_TAKEN GC_allocate_lock
25820 - */
25821 -
25822 -/*#define DEBUG_THREADS 1*/
25823 -/*#define GC_ASSERTIONS*/
25824 -
25825 -# include "private/pthread_support.h"
25826 -
25827 -# if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
25828 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
25829 -
25830 -# if defined(GC_HPUX_THREADS) && !defined(USE_PTHREAD_SPECIFIC) \
25831 -     && !defined(USE_HPUX_TLS)
25832 -#   define USE_HPUX_TLS
25833 -# endif
25834 -
25835 -# if (defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) || \
25836 -      defined(GC_DARWIN_THREADS)) && !defined(USE_PTHREAD_SPECIFIC)
25837 -#   define USE_PTHREAD_SPECIFIC
25838 -# endif
25839 -
25840 -# if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
25841 -#   define _POSIX4A_DRAFT10_SOURCE 1
25842 -# endif
25843 -
25844 -# if defined(GC_DGUX386_THREADS) && !defined(_USING_POSIX4A_DRAFT10)
25845 -#   define _USING_POSIX4A_DRAFT10 1
25846 -# endif
25847 -
25848 -# ifdef THREAD_LOCAL_ALLOC
25849 -#   if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_HPUX_TLS)
25850 -#     include "private/specific.h"
25851 -#   endif
25852 -#   if defined(USE_PTHREAD_SPECIFIC)
25853 -#     define GC_getspecific pthread_getspecific
25854 -#     define GC_setspecific pthread_setspecific
25855 -#     define GC_key_create pthread_key_create
25856 -      typedef pthread_key_t GC_key_t;
25857 -#   endif
25858 -#   if defined(USE_HPUX_TLS)
25859 -#     define GC_getspecific(x) (x)
25860 -#     define GC_setspecific(key, v) ((key) = (v), 0)
25861 -#     define GC_key_create(key, d) 0
25862 -      typedef void * GC_key_t;
25863 -#   endif
25864 -# endif
25865 -# include <stdlib.h>
25866 -# include <pthread.h>
25867 -# include <sched.h>
25868 -# include <time.h>
25869 -# include <errno.h>
25870 -# include <unistd.h>
25871 -# include <sys/mman.h>
25872 -# include <sys/time.h>
25873 -# include <sys/types.h>
25874 -# include <sys/stat.h>
25875 -# include <fcntl.h>
25876 -
25877 -#if defined(GC_DARWIN_THREADS)
25878 -# include "private/darwin_semaphore.h"
25879 -#else
25880 -# include <semaphore.h>
25881 -#endif /* !GC_DARWIN_THREADS */
25882 -
25883 -#if defined(GC_DARWIN_THREADS)
25884 -# include <sys/sysctl.h>
25885 -#endif /* GC_DARWIN_THREADS */
25886 -
25887 -
25888 -
25889 -#if defined(GC_DGUX386_THREADS)
25890 -# include <sys/dg_sys_info.h>
25891 -# include <sys/_int_psem.h>
25892 -  /* sem_t is an uint in DG/UX */
25893 -  typedef unsigned int  sem_t;
25894 -#endif /* GC_DGUX386_THREADS */
25895 -
25896 -#ifndef __GNUC__
25897 -#   define __inline__
25898 -#endif
25899 -
25900 -#ifdef GC_USE_LD_WRAP
25901 -#   define WRAP_FUNC(f) __wrap_##f
25902 -#   define REAL_FUNC(f) __real_##f
25903 -#else
25904 -#   define WRAP_FUNC(f) GC_##f
25905 -#   if !defined(GC_DGUX386_THREADS)
25906 -#     define REAL_FUNC(f) f
25907 -#   else /* GC_DGUX386_THREADS */
25908 -#     define REAL_FUNC(f) __d10_##f
25909 -#   endif /* GC_DGUX386_THREADS */
25910 -#   undef pthread_create
25911 -#   if !defined(GC_DARWIN_THREADS)
25912 -#   undef pthread_sigmask
25913 -#   endif
25914 -#   undef pthread_join
25915 -#   undef pthread_detach
25916 -#endif
25917 -
25918 -void GC_thr_init();
25919 -
25920 -static GC_bool parallel_initialized = FALSE;
25921 -
25922 -void GC_init_parallel();
25923 -
25924 -# if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
25925 -
25926 -/* We don't really support thread-local allocation with DBG_HDRS_ALL */
25927 -
25928 -#ifdef USE_HPUX_TLS
25929 -  __thread
25930 -#endif
25931 -GC_key_t GC_thread_key;
25932 -
25933 -static GC_bool keys_initialized;
25934 -
25935 -/* Recover the contents of the freelist array fl into the global one gfl.*/
25936 -/* Note that the indexing scheme differs, in that gfl has finer size   */
25937 -/* resolution, even if not all entries are used.                       */
25938 -/* We hold the allocator lock.                                         */
25939 -static void return_freelists(ptr_t *fl, ptr_t *gfl)
25940 -{
25941 -    int i;
25942 -    ptr_t q, *qptr;
25943 -    size_t nwords;
25944 -
25945 -    for (i = 1; i < NFREELISTS; ++i) {
25946 -       nwords = i * (GRANULARITY/sizeof(word));
25947 -        qptr = fl + i; 
25948 -       q = *qptr;
25949 -       if ((word)q >= HBLKSIZE) {
25950 -         if (gfl[nwords] == 0) {
25951 -           gfl[nwords] = q;
25952 -         } else {
25953 -           /* Concatenate: */
25954 -           for (; (word)q >= HBLKSIZE; qptr = &(obj_link(q)), q = *qptr);
25955 -           GC_ASSERT(0 == q);
25956 -           *qptr = gfl[nwords];
25957 -           gfl[nwords] = fl[i];
25958 -         }
25959 -       }
25960 -       /* Clear fl[i], since the thread structure may hang around.     */
25961 -       /* Do it in a way that is likely to trap if we access it.       */
25962 -       fl[i] = (ptr_t)HBLKSIZE;
25963 -    }
25964 -}
25965 -
25966 -/* We statically allocate a single "size 0" object. It is linked to    */
25967 -/* itself, and is thus repeatedly reused for all size 0 allocation     */
25968 -/* requests.  (Size 0 gcj allocation requests are incorrect, and       */
25969 -/* we arrange for those to fault asap.)                                        */
25970 -static ptr_t size_zero_object = (ptr_t)(&size_zero_object);
25971 -
25972 -/* Each thread structure must be initialized.  */
25973 -/* This call must be made from the new thread. */
25974 -/* Caller holds allocation lock.               */
25975 -void GC_init_thread_local(GC_thread p)
25976 -{
25977 -    int i;
25978 -
25979 -    if (!keys_initialized) {
25980 -       if (0 != GC_key_create(&GC_thread_key, 0)) {
25981 -           ABORT("Failed to create key for local allocator");
25982 -        }
25983 -       keys_initialized = TRUE;
25984 -    }
25985 -    if (0 != GC_setspecific(GC_thread_key, p)) {
25986 -       ABORT("Failed to set thread specific allocation pointers");
25987 -    }
25988 -    for (i = 1; i < NFREELISTS; ++i) {
25989 -       p -> ptrfree_freelists[i] = (ptr_t)1;
25990 -       p -> normal_freelists[i] = (ptr_t)1;
25991 -#      ifdef GC_GCJ_SUPPORT
25992 -         p -> gcj_freelists[i] = (ptr_t)1;
25993 -#      endif
25994 -    }   
25995 -    /* Set up the size 0 free lists.   */
25996 -    p -> ptrfree_freelists[0] = (ptr_t)(&size_zero_object);
25997 -    p -> normal_freelists[0] = (ptr_t)(&size_zero_object);
25998 -#   ifdef GC_GCJ_SUPPORT
25999 -        p -> gcj_freelists[0] = (ptr_t)(-1);
26000 -#   endif
26001 -}
26002 -
26003 -#ifdef GC_GCJ_SUPPORT
26004 -  extern ptr_t * GC_gcjobjfreelist;
26005 -#endif
26006 -
26007 -/* We hold the allocator lock. */
26008 -void GC_destroy_thread_local(GC_thread p)
26009 -{
26010 -    /* We currently only do this from the thread itself or from        */
26011 -    /* the fork handler for a child process.                   */
26012 -#   ifndef HANDLE_FORK
26013 -      GC_ASSERT(GC_getspecific(GC_thread_key) == (void *)p);
26014 -#   endif
26015 -    return_freelists(p -> ptrfree_freelists, GC_aobjfreelist);
26016 -    return_freelists(p -> normal_freelists, GC_objfreelist);
26017 -#   ifdef GC_GCJ_SUPPORT
26018 -       return_freelists(p -> gcj_freelists, GC_gcjobjfreelist);
26019 -#   endif
26020 -}
26021 -
26022 -extern GC_PTR GC_generic_malloc_many();
26023 -
26024 -GC_PTR GC_local_malloc(size_t bytes)
26025 -{
26026 -    if (EXPECT(!SMALL_ENOUGH(bytes),0)) {
26027 -        return(GC_malloc(bytes));
26028 -    } else {
26029 -       int index = INDEX_FROM_BYTES(bytes);
26030 -       ptr_t * my_fl;
26031 -       ptr_t my_entry;
26032 -#      if defined(REDIRECT_MALLOC) && !defined(USE_PTHREAD_SPECIFIC)
26033 -       GC_key_t k = GC_thread_key;
26034 -#      endif
26035 -       void * tsd;
26036 -
26037 -#      if defined(REDIRECT_MALLOC) && !defined(USE_PTHREAD_SPECIFIC)
26038 -           if (EXPECT(0 == k, 0)) {
26039 -               /* This can happen if we get called when the world is   */
26040 -               /* being initialized.  Whether we can actually complete */
26041 -               /* the initialization then is unclear.                  */
26042 -               GC_init_parallel();
26043 -               k = GC_thread_key;
26044 -           }
26045 -#      endif
26046 -       tsd = GC_getspecific(GC_thread_key);
26047 -#      ifdef GC_ASSERTIONS
26048 -         LOCK();
26049 -         GC_ASSERT(tsd == (void *)GC_lookup_thread(pthread_self()));
26050 -         UNLOCK();
26051 -#      endif
26052 -       my_fl = ((GC_thread)tsd) -> normal_freelists + index;
26053 -       my_entry = *my_fl;
26054 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
26055 -           ptr_t next = obj_link(my_entry);
26056 -           GC_PTR result = (GC_PTR)my_entry;
26057 -           *my_fl = next;
26058 -           obj_link(my_entry) = 0;
26059 -           PREFETCH_FOR_WRITE(next);
26060 -           return result;
26061 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
26062 -           *my_fl = my_entry + index + 1;
26063 -            return GC_malloc(bytes);
26064 -       } else {
26065 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), NORMAL, my_fl);
26066 -           if (*my_fl == 0) return GC_oom_fn(bytes);
26067 -           return GC_local_malloc(bytes);
26068 -       }
26069 -    }
26070 -}
26071 -
26072 -GC_PTR GC_local_malloc_atomic(size_t bytes)
26073 -{
26074 -    if (EXPECT(!SMALL_ENOUGH(bytes), 0)) {
26075 -        return(GC_malloc_atomic(bytes));
26076 -    } else {
26077 -       int index = INDEX_FROM_BYTES(bytes);
26078 -       ptr_t * my_fl = ((GC_thread)GC_getspecific(GC_thread_key))
26079 -                       -> ptrfree_freelists + index;
26080 -       ptr_t my_entry = *my_fl;
26081 -    
26082 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
26083 -           GC_PTR result = (GC_PTR)my_entry;
26084 -           *my_fl = obj_link(my_entry);
26085 -           return result;
26086 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
26087 -           *my_fl = my_entry + index + 1;
26088 -        return GC_malloc_atomic(bytes);
26089 -       } else {
26090 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), PTRFREE, my_fl);
26091 -           /* *my_fl is updated while the collector is excluded;       */
26092 -           /* the free list is always visible to the collector as      */
26093 -           /* such.                                                    */
26094 -           if (*my_fl == 0) return GC_oom_fn(bytes);
26095 -           return GC_local_malloc_atomic(bytes);
26096 -       }
26097 -    }
26098 -}
26099 -
26100 -#ifdef GC_GCJ_SUPPORT
26101 -
26102 -#include "include/gc_gcj.h"
26103 -
26104 -#ifdef GC_ASSERTIONS
26105 -  extern GC_bool GC_gcj_malloc_initialized;
26106 -#endif
26107 -
26108 -extern int GC_gcj_kind;
26109 -
26110 -GC_PTR GC_local_gcj_malloc(size_t bytes,
26111 -                          void * ptr_to_struct_containing_descr)
26112 -{
26113 -    GC_ASSERT(GC_gcj_malloc_initialized);
26114 -    if (EXPECT(!SMALL_ENOUGH(bytes), 0)) {
26115 -        return GC_gcj_malloc(bytes, ptr_to_struct_containing_descr);
26116 -    } else {
26117 -       int index = INDEX_FROM_BYTES(bytes);
26118 -       ptr_t * my_fl = ((GC_thread)GC_getspecific(GC_thread_key))
26119 -                       -> gcj_freelists + index;
26120 -       ptr_t my_entry = *my_fl;
26121 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
26122 -           GC_PTR result = (GC_PTR)my_entry;
26123 -           GC_ASSERT(!GC_incremental);
26124 -           /* We assert that any concurrent marker will stop us.       */
26125 -           /* Thus it is impossible for a mark procedure to see the    */
26126 -           /* allocation of the next object, but to see this object    */
26127 -           /* still containing a free list pointer.  Otherwise the     */
26128 -           /* marker might find a random "mark descriptor".            */
26129 -           *(volatile ptr_t *)my_fl = obj_link(my_entry);
26130 -           /* We must update the freelist before we store the pointer. */
26131 -           /* Otherwise a GC at this point would see a corrupted       */
26132 -           /* free list.                                               */
26133 -           /* A memory barrier is probably never needed, since the     */
26134 -           /* action of stopping this thread will cause prior writes   */
26135 -           /* to complete.                                             */
26136 -           GC_ASSERT(((void * volatile *)result)[1] == 0); 
26137 -           *(void * volatile *)result = ptr_to_struct_containing_descr; 
26138 -           return result;
26139 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
26140 -           if (!GC_incremental) *my_fl = my_entry + index + 1;
26141 -               /* In the incremental case, we always have to take this */
26142 -               /* path.  Thus we leave the counter alone.              */
26143 -            return GC_gcj_malloc(bytes, ptr_to_struct_containing_descr);
26144 -       } else {
26145 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), GC_gcj_kind, my_fl);
26146 -           if (*my_fl == 0) return GC_oom_fn(bytes);
26147 -           return GC_local_gcj_malloc(bytes, ptr_to_struct_containing_descr);
26148 -       }
26149 -    }
26150 -}
26151 -
26152 -#endif /* GC_GCJ_SUPPORT */
26153 -
26154 -# else  /* !THREAD_LOCAL_ALLOC  && !DBG_HDRS_ALL */
26155 -
26156 -#   define GC_destroy_thread_local(t)
26157 -
26158 -# endif /* !THREAD_LOCAL_ALLOC */
26159 -
26160 -#if 0
26161 -/*
26162 -To make sure that we're using LinuxThreads and not some other thread
26163 -package, we generate a dummy reference to `pthread_kill_other_threads_np'
26164 -(was `__pthread_initial_thread_bos' but that disappeared),
26165 -which is a symbol defined in LinuxThreads, but (hopefully) not in other
26166 -thread packages.
26167 -
26168 -We no longer do this, since this code is now portable enough that it might
26169 -actually work for something else.
26170 -*/
26171 -void (*dummy_var_to_force_linux_threads)() = pthread_kill_other_threads_np;
26172 -#endif /* 0 */
26173 -
26174 -#if defined(SPARC) || defined(IA64)
26175 -  extern word GC_save_regs_in_stack();
26176 -#endif
26177 -
26178 -long GC_nprocs = 1;    /* Number of processors.  We may not have       */
26179 -                       /* access to all of them, but this is as good   */
26180 -                       /* a guess as any ...                           */
26181 -
26182 -#ifdef PARALLEL_MARK
26183 -
26184 -# ifndef MAX_MARKERS
26185 -#   define MAX_MARKERS 16
26186 -# endif
26187 -
26188 -static ptr_t marker_sp[MAX_MARKERS] = {0};
26189 -
26190 -void * GC_mark_thread(void * id)
26191 -{
26192 -  word my_mark_no = 0;
26193 -
26194 -  marker_sp[(word)id] = GC_approx_sp();
26195 -  for (;; ++my_mark_no) {
26196 -    /* GC_mark_no is passed only to allow GC_help_marker to terminate  */
26197 -    /* promptly.  This is important if it were called from the signal  */
26198 -    /* handler or from the GC lock acquisition code.  Under Linux, it's        */
26199 -    /* not safe to call it from a signal handler, since it uses mutexes        */
26200 -    /* and condition variables.  Since it is called only here, the     */
26201 -    /* argument is unnecessary.                                                */
26202 -    if (my_mark_no < GC_mark_no || my_mark_no > GC_mark_no + 2) {
26203 -       /* resynchronize if we get far off, e.g. because GC_mark_no     */
26204 -       /* wrapped.                                                     */
26205 -       my_mark_no = GC_mark_no;
26206 -    }
26207 -#   ifdef DEBUG_THREADS
26208 -       GC_printf1("Starting mark helper for mark number %ld\n", my_mark_no);
26209 -#   endif
26210 -    GC_help_marker(my_mark_no);
26211 -  }
26212 -}
26213 -
26214 -extern long GC_markers;                /* Number of mark threads we would      */
26215 -                               /* like to have.  Includes the          */
26216 -                               /* initiating thread.                   */
26217 -
26218 -pthread_t GC_mark_threads[MAX_MARKERS];
26219 -
26220 -#define PTHREAD_CREATE REAL_FUNC(pthread_create)
26221 -
26222 -static void start_mark_threads()
26223 -{
26224 -    unsigned i;
26225 -    pthread_attr_t attr;
26226 -
26227 -    if (GC_markers > MAX_MARKERS) {
26228 -       WARN("Limiting number of mark threads\n", 0);
26229 -       GC_markers = MAX_MARKERS;
26230 -    }
26231 -    if (0 != pthread_attr_init(&attr)) ABORT("pthread_attr_init failed");
26232 -       
26233 -    if (0 != pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED))
26234 -       ABORT("pthread_attr_setdetachstate failed");
26235 -
26236 -#   if defined(HPUX) || defined(GC_DGUX386_THREADS)
26237 -      /* Default stack size is usually too small: fix it. */
26238 -      /* Otherwise marker threads or GC may run out of   */
26239 -      /* space.                                                  */
26240 -#     define MIN_STACK_SIZE (8*HBLKSIZE*sizeof(word))
26241 -      {
26242 -       size_t old_size;
26243 -       int code;
26244 -
26245 -        if (pthread_attr_getstacksize(&attr, &old_size) != 0)
26246 -         ABORT("pthread_attr_getstacksize failed\n");
26247 -       if (old_size < MIN_STACK_SIZE) {
26248 -         if (pthread_attr_setstacksize(&attr, MIN_STACK_SIZE) != 0)
26249 -                 ABORT("pthread_attr_setstacksize failed\n");
26250 -       }
26251 -      }
26252 -#   endif /* HPUX || GC_DGUX386_THREADS */
26253 -#   ifdef CONDPRINT
26254 -      if (GC_print_stats) {
26255 -       GC_printf1("Starting %ld marker threads\n", GC_markers - 1);
26256 -      }
26257 -#   endif
26258 -    for (i = 0; i < GC_markers - 1; ++i) {
26259 -      if (0 != PTHREAD_CREATE(GC_mark_threads + i, &attr,
26260 -                             GC_mark_thread, (void *)(word)i)) {
26261 -       WARN("Marker thread creation failed, errno = %ld.\n", errno);
26262 -      }
26263 -    }
26264 -}
26265 -
26266 -#else  /* !PARALLEL_MARK */
26267 -
26268 -static __inline__ void start_mark_threads()
26269 -{
26270 -}
26271 -
26272 -#endif /* !PARALLEL_MARK */
26273 -
26274 -/* Defining INSTALL_LOOPING_SEGV_HANDLER causes SIGSEGV and SIGBUS to  */
26275 -/* result in an infinite loop in a signal handler.  This can be very   */
26276 -/* useful for debugging, since (as of RH7) gdb still seems to have     */
26277 -/* serious problems with threads.                                      */
26278 -#ifdef INSTALL_LOOPING_SEGV_HANDLER
26279 -void GC_looping_handler(int sig)
26280 -{
26281 -    GC_printf3("Signal %ld in thread %lx, pid %ld\n",
26282 -              sig, pthread_self(), getpid());
26283 -    for (;;);
26284 -}
26285 -#endif
26286 -
26287 -GC_bool GC_thr_initialized = FALSE;
26288 -
26289 -volatile GC_thread GC_threads[THREAD_TABLE_SZ];
26290 -
26291 -void GC_push_thread_structures GC_PROTO((void))
26292 -{
26293 -    GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
26294 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26295 -      GC_push_all((ptr_t)(&GC_thread_key),
26296 -         (ptr_t)(&GC_thread_key)+sizeof(&GC_thread_key));
26297 -#   endif
26298 -}
26299 -
26300 -#ifdef THREAD_LOCAL_ALLOC
26301 -/* We must explicitly mark ptrfree and gcj free lists, since the free  */
26302 -/* list links wouldn't otherwise be found.  We also set them in the    */
26303 -/* normal free lists, since that involves touching less memory than if */
26304 -/* we scanned them normally.                                           */
26305 -void GC_mark_thread_local_free_lists(void)
26306 -{
26307 -    int i, j;
26308 -    GC_thread p;
26309 -    ptr_t q;
26310 -    
26311 -    for (i = 0; i < THREAD_TABLE_SZ; ++i) {
26312 -      for (p = GC_threads[i]; 0 != p; p = p -> next) {
26313 -       for (j = 1; j < NFREELISTS; ++j) {
26314 -         q = p -> ptrfree_freelists[j];
26315 -         if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
26316 -         q = p -> normal_freelists[j];
26317 -         if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
26318 -#        ifdef GC_GCJ_SUPPORT
26319 -           q = p -> gcj_freelists[j];
26320 -           if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
26321 -#        endif /* GC_GCJ_SUPPORT */
26322 -       }
26323 -      }
26324 -    }
26325 -}
26326 -#endif /* THREAD_LOCAL_ALLOC */
26327 -
26328 -static struct GC_Thread_Rep first_thread;
26329 -
26330 -/* Add a thread to GC_threads.  We assume it wasn't already there.     */
26331 -/* Caller holds allocation lock.                                       */
26332 -GC_thread GC_new_thread(pthread_t id)
26333 -{
26334 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26335 -    GC_thread result;
26336 -    static GC_bool first_thread_used = FALSE;
26337 -    
26338 -    if (!first_thread_used) {
26339 -       result = &first_thread;
26340 -       first_thread_used = TRUE;
26341 -    } else {
26342 -        result = (struct GC_Thread_Rep *)
26343 -                GC_INTERNAL_MALLOC(sizeof(struct GC_Thread_Rep), NORMAL);
26344 -    }
26345 -    if (result == 0) return(0);
26346 -    result -> id = id;
26347 -    result -> next = GC_threads[hv];
26348 -    GC_threads[hv] = result;
26349 -    GC_ASSERT(result -> flags == 0 && result -> thread_blocked == 0);
26350 -    return(result);
26351 -}
26352 -
26353 -/* Delete a thread from GC_threads.  We assume it is there.    */
26354 -/* (The code intentionally traps if it wasn't.)                        */
26355 -/* Caller holds allocation lock.                               */
26356 -void GC_delete_thread(pthread_t id)
26357 -{
26358 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26359 -    register GC_thread p = GC_threads[hv];
26360 -    register GC_thread prev = 0;
26361 -    
26362 -    while (!pthread_equal(p -> id, id)) {
26363 -        prev = p;
26364 -        p = p -> next;
26365 -    }
26366 -    if (prev == 0) {
26367 -        GC_threads[hv] = p -> next;
26368 -    } else {
26369 -        prev -> next = p -> next;
26370 -    }
26371 -    GC_INTERNAL_FREE(p);
26372 -}
26373 -
26374 -/* If a thread has been joined, but we have not yet            */
26375 -/* been notified, then there may be more than one thread       */
26376 -/* in the table with the same pthread id.                      */
26377 -/* This is OK, but we need a way to delete a specific one.     */
26378 -void GC_delete_gc_thread(pthread_t id, GC_thread gc_id)
26379 -{
26380 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26381 -    register GC_thread p = GC_threads[hv];
26382 -    register GC_thread prev = 0;
26383 -
26384 -    while (p != gc_id) {
26385 -        prev = p;
26386 -        p = p -> next;
26387 -    }
26388 -    if (prev == 0) {
26389 -        GC_threads[hv] = p -> next;
26390 -    } else {
26391 -        prev -> next = p -> next;
26392 -    }
26393 -    GC_INTERNAL_FREE(p);
26394 -}
26395 -
26396 -/* Return a GC_thread corresponding to a given thread_t.       */
26397 -/* Returns 0 if it's not there.                                        */
26398 -/* Caller holds  allocation lock or otherwise inhibits                 */
26399 -/* updates.                                                    */
26400 -/* If there is more than one thread with the given id we       */
26401 -/* return the most recent one.                                 */
26402 -GC_thread GC_lookup_thread(pthread_t id)
26403 -{
26404 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26405 -    register GC_thread p = GC_threads[hv];
26406 -    
26407 -    while (p != 0 && !pthread_equal(p -> id, id)) p = p -> next;
26408 -    return(p);
26409 -}
26410 -
26411 -#ifdef HANDLE_FORK
26412 -/* Remove all entries from the GC_threads table, except the    */
26413 -/* one for the current thread.  We need to do this in the child        */
26414 -/* process after a fork(), since only the current thread       */
26415 -/* survives in the child.                                      */
26416 -void GC_remove_all_threads_but_me(void)
26417 -{
26418 -    pthread_t self = pthread_self();
26419 -    int hv;
26420 -    GC_thread p, next, me;
26421 -
26422 -    for (hv = 0; hv < THREAD_TABLE_SZ; ++hv) {
26423 -      me = 0;
26424 -      for (p = GC_threads[hv]; 0 != p; p = next) {
26425 -       next = p -> next;
26426 -       if (p -> id == self) {
26427 -         me = p;
26428 -         p -> next = 0;
26429 -       } else {
26430 -#        ifdef THREAD_LOCAL_ALLOC
26431 -           if (!(p -> flags & FINISHED)) {
26432 -             GC_destroy_thread_local(p);
26433 -           }
26434 -#        endif /* THREAD_LOCAL_ALLOC */
26435 -         if (p != &first_thread) GC_INTERNAL_FREE(p);
26436 -       }
26437 -      }
26438 -      GC_threads[hv] = me;
26439 -    }
26440 -}
26441 -#endif /* HANDLE_FORK */
26442 -
26443 -#ifdef USE_PROC_FOR_LIBRARIES
26444 -int GC_segment_is_thread_stack(ptr_t lo, ptr_t hi)
26445 -{
26446 -    int i;
26447 -    GC_thread p;
26448 -    
26449 -#   ifdef PARALLEL_MARK
26450 -      for (i = 0; i < GC_markers; ++i) {
26451 -       if (marker_sp[i] > lo & marker_sp[i] < hi) return 1;
26452 -      }
26453 -#   endif
26454 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
26455 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
26456 -       if (0 != p -> stack_end) {
26457 -#        ifdef STACK_GROWS_UP
26458 -            if (p -> stack_end >= lo && p -> stack_end < hi) return 1;
26459 -#        else /* STACK_GROWS_DOWN */
26460 -            if (p -> stack_end > lo && p -> stack_end <= hi) return 1;
26461 -#        endif
26462 -       }
26463 -      }
26464 -    }
26465 -    return 0;
26466 -}
26467 -#endif /* USE_PROC_FOR_LIBRARIES */
26468 -
26469 -#ifdef GC_LINUX_THREADS
26470 -/* Return the number of processors, or i<= 0 if it can't be determined.        */
26471 -int GC_get_nprocs()
26472 -{
26473 -    /* Should be "return sysconf(_SC_NPROCESSORS_ONLN);" but that      */
26474 -    /* appears to be buggy in many cases.                              */
26475 -    /* We look for lines "cpu<n>" in /proc/stat.                       */
26476 -#   define STAT_BUF_SIZE 4096
26477 -#   define STAT_READ read
26478 -       /* If read is wrapped, this may need to be redefined to call    */
26479 -       /* the real one.                                                */
26480 -    char stat_buf[STAT_BUF_SIZE];
26481 -    int f;
26482 -    word result = 1;
26483 -       /* Some old kernels only have a single "cpu nnnn ..."   */
26484 -       /* entry in /proc/stat.  We identify those as           */
26485 -       /* uniprocessors.                                       */
26486 -    size_t i, len = 0;
26487 -
26488 -    f = open("/proc/stat", O_RDONLY);
26489 -    if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) {
26490 -       WARN("Couldn't read /proc/stat\n", 0);
26491 -       return -1;
26492 -    }
26493 -    for (i = 0; i < len - 100; ++i) {
26494 -        if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c'
26495 -           && stat_buf[i+2] == 'p' && stat_buf[i+3] == 'u') {
26496 -           int cpu_no = atoi(stat_buf + i + 4);
26497 -           if (cpu_no >= result) result = cpu_no + 1;
26498 -       }
26499 -    }
26500 -    close(f);
26501 -    return result;
26502 -}
26503 -#endif /* GC_LINUX_THREADS */
26504 -
26505 -/* We hold the GC lock.  Wait until an in-progress GC has finished.    */
26506 -/* Repeatedly RELEASES GC LOCK in order to wait.                       */
26507 -/* If wait_for_all is true, then we exit with the GC lock held and no  */
26508 -/* collection in progress; otherwise we just wait for the current GC   */
26509 -/* to finish.                                                          */
26510 -extern GC_bool GC_collection_in_progress();
26511 -void GC_wait_for_gc_completion(GC_bool wait_for_all)
26512 -{
26513 -    if (GC_incremental && GC_collection_in_progress()) {
26514 -       int old_gc_no = GC_gc_no;
26515 -
26516 -       /* Make sure that no part of our stack is still on the mark stack, */
26517 -       /* since it's about to be unmapped.                                */
26518 -       while (GC_incremental && GC_collection_in_progress()
26519 -              && (wait_for_all || old_gc_no == GC_gc_no)) {
26520 -           ENTER_GC();
26521 -            GC_collect_a_little_inner(1);
26522 -           EXIT_GC();
26523 -           UNLOCK();
26524 -           sched_yield();
26525 -           LOCK();
26526 -       }
26527 -    }
26528 -}
26529 -
26530 -#ifdef HANDLE_FORK
26531 -/* Procedures called before and after a fork.  The goal here is to make */
26532 -/* it safe to call GC_malloc() in a forked child.  It's unclear that is        */
26533 -/* attainable, since the single UNIX spec seems to imply that one      */
26534 -/* should only call async-signal-safe functions, and we probably can't */
26535 -/* quite guarantee that.  But we give it our best shot.  (That same    */
26536 -/* spec also implies that it's not safe to call the system malloc      */
26537 -/* between fork() and exec().  Thus we're doing no worse than it.      */
26538 -
26539 -/* Called before a fork()              */
26540 -void GC_fork_prepare_proc(void)
26541 -{
26542 -    /* Acquire all relevant locks, so that after releasing the locks   */
26543 -    /* the child will see a consistent state in which monitor          */
26544 -    /* invariants hold.         Unfortunately, we can't acquire libc locks     */
26545 -    /* we might need, and there seems to be no guarantee that libc     */
26546 -    /* must install a suitable fork handler.                           */
26547 -    /* Wait for an ongoing GC to finish, since we can't finish it in   */
26548 -    /* the (one remaining thread in) the child.                                */
26549 -      LOCK();
26550 -#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26551 -        GC_wait_for_reclaim();
26552 -#     endif
26553 -      GC_wait_for_gc_completion(TRUE);
26554 -#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26555 -        GC_acquire_mark_lock();
26556 -#     endif
26557 -}
26558 -
26559 -/* Called in parent after a fork()     */
26560 -void GC_fork_parent_proc(void)
26561 -{
26562 -#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26563 -      GC_release_mark_lock();
26564 -#   endif
26565 -    UNLOCK();
26566 -}
26567 -
26568 -/* Called in child after a fork()      */
26569 -void GC_fork_child_proc(void)
26570 -{
26571 -    /* Clean up the thread table, so that just our thread is left. */
26572 -#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26573 -      GC_release_mark_lock();
26574 -#   endif
26575 -    GC_remove_all_threads_but_me();
26576 -#   ifdef PARALLEL_MARK
26577 -      /* Turn off parallel marking in the child, since we are probably         */
26578 -      /* just going to exec, and we would have to restart mark threads.        */
26579 -        GC_markers = 1;
26580 -        GC_parallel = FALSE;
26581 -#   endif /* PARALLEL_MARK */
26582 -    UNLOCK();
26583 -}
26584 -#endif /* HANDLE_FORK */
26585 -
26586 -#if defined(GC_DGUX386_THREADS)
26587 -/* Return the number of processors, or i<= 0 if it can't be determined. */
26588 -int GC_get_nprocs()
26589 -{
26590 -    /* <takis@XFree86.Org> */
26591 -    int numCpus;
26592 -    struct dg_sys_info_pm_info pm_sysinfo;
26593 -    int status =0;
26594 -
26595 -    status = dg_sys_info((long int *) &pm_sysinfo,
26596 -       DG_SYS_INFO_PM_INFO_TYPE, DG_SYS_INFO_PM_CURRENT_VERSION);
26597 -    if (status < 0)
26598 -       /* set -1 for error */
26599 -       numCpus = -1;
26600 -    else
26601 -      /* Active CPUs */
26602 -      numCpus = pm_sysinfo.idle_vp_count;
26603 -
26604 -#  ifdef DEBUG_THREADS
26605 -    GC_printf1("Number of active CPUs in this system: %d\n", numCpus);
26606 -#  endif
26607 -    return(numCpus);
26608 -}
26609 -#endif /* GC_DGUX386_THREADS */
26610 -
26611 -/* We hold the allocation lock.        */
26612 -void GC_thr_init()
26613 -{
26614 -#      ifndef GC_DARWIN_THREADS
26615 -        int dummy;
26616 -#      endif
26617 -    GC_thread t;
26618 -
26619 -    if (GC_thr_initialized) return;
26620 -    GC_thr_initialized = TRUE;
26621 -    
26622 -#   ifdef HANDLE_FORK
26623 -      /* Prepare for a possible fork.  */
26624 -        pthread_atfork(GC_fork_prepare_proc, GC_fork_parent_proc,
26625 -                      GC_fork_child_proc);
26626 -#   endif /* HANDLE_FORK */
26627 -    /* Add the initial thread, so we can stop it.      */
26628 -      t = GC_new_thread(pthread_self());
26629 -#     ifdef GC_DARWIN_THREADS
26630 -         t -> stop_info.mach_thread = mach_thread_self();
26631 -#     else
26632 -         t -> stop_info.stack_ptr = (ptr_t)(&dummy);
26633 -#     endif
26634 -      t -> flags = DETACHED | MAIN_THREAD;
26635 -
26636 -    GC_stop_init();
26637 -
26638 -    /* Set GC_nprocs.  */
26639 -      {
26640 -       char * nprocs_string = GETENV("GC_NPROCS");
26641 -       GC_nprocs = -1;
26642 -       if (nprocs_string != NULL) GC_nprocs = atoi(nprocs_string);
26643 -      }
26644 -      if (GC_nprocs <= 0) {
26645 -#       if defined(GC_HPUX_THREADS)
26646 -         GC_nprocs = pthread_num_processors_np();
26647 -#       endif
26648 -#      if defined(GC_OSF1_THREADS)
26649 -         GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN);
26650 -         if (GC_nprocs <= 0) GC_nprocs = 1;
26651 -#      endif
26652 -#       if defined(GC_FREEBSD_THREADS)
26653 -          GC_nprocs = 1;
26654 -#       endif
26655 -#       if defined(GC_DARWIN_THREADS)
26656 -         int ncpus = 1;
26657 -         size_t len = sizeof(ncpus);
26658 -         sysctl((int[2]) {CTL_HW, HW_NCPU}, 2, &ncpus, &len, NULL, 0);
26659 -         GC_nprocs = ncpus;
26660 -#       endif
26661 -#      if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
26662 -          GC_nprocs = GC_get_nprocs();
26663 -#      endif
26664 -      }
26665 -      if (GC_nprocs <= 0) {
26666 -       WARN("GC_get_nprocs() returned %ld\n", GC_nprocs);
26667 -       GC_nprocs = 2;
26668 -#      ifdef PARALLEL_MARK
26669 -         GC_markers = 1;
26670 -#      endif
26671 -      } else {
26672 -#      ifdef PARALLEL_MARK
26673 -          {
26674 -           char * markers_string = GETENV("GC_MARKERS");
26675 -           if (markers_string != NULL) {
26676 -             GC_markers = atoi(markers_string);
26677 -           } else {
26678 -             GC_markers = GC_nprocs;
26679 -           }
26680 -          }
26681 -#      endif
26682 -      }
26683 -#   ifdef PARALLEL_MARK
26684 -#     ifdef CONDPRINT
26685 -        if (GC_print_stats) {
26686 -          GC_printf2("Number of processors = %ld, "
26687 -                "number of marker threads = %ld\n", GC_nprocs, GC_markers);
26688 -       }
26689 -#     endif
26690 -      if (GC_markers == 1) {
26691 -       GC_parallel = FALSE;
26692 -#      ifdef CONDPRINT
26693 -         if (GC_print_stats) {
26694 -           GC_printf0("Single marker thread, turning off parallel marking\n");
26695 -         }
26696 -#      endif
26697 -      } else {
26698 -       GC_parallel = TRUE;
26699 -       /* Disable true incremental collection, but generational is OK. */
26700 -       GC_time_limit = GC_TIME_UNLIMITED;
26701 -      }
26702 -#   endif
26703 -}
26704 -
26705 -
26706 -/* Perform all initializations, including those that   */
26707 -/* may require allocation.                             */
26708 -/* Called without allocation lock.                     */
26709 -/* Must be called before a second thread is created.   */
26710 -/* Called without allocation lock.                     */
26711 -void GC_init_parallel()
26712 -{
26713 -    if (parallel_initialized) return;
26714 -    parallel_initialized = TRUE;
26715 -
26716 -    /* GC_init() calls us back, so set flag first.     */
26717 -    if (!GC_is_initialized) GC_init();
26718 -    /* If we are using a parallel marker, start the helper threads.  */
26719 -#     ifdef PARALLEL_MARK
26720 -        if (GC_parallel) start_mark_threads();
26721 -#     endif
26722 -    /* Initialize thread local free lists if used.     */
26723 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26724 -      LOCK();
26725 -      GC_init_thread_local(GC_lookup_thread(pthread_self()));
26726 -      UNLOCK();
26727 -#   endif
26728 -}
26729 -
26730 -
26731 -#if !defined(GC_DARWIN_THREADS)
26732 -int WRAP_FUNC(pthread_sigmask)(int how, const sigset_t *set, sigset_t *oset)
26733 -{
26734 -    sigset_t fudged_set;
26735 -    
26736 -    if (set != NULL && (how == SIG_BLOCK || how == SIG_SETMASK)) {
26737 -        fudged_set = *set;
26738 -        sigdelset(&fudged_set, SIG_SUSPEND);
26739 -        set = &fudged_set;
26740 -    }
26741 -    return(REAL_FUNC(pthread_sigmask)(how, set, oset));
26742 -}
26743 -#endif /* !GC_DARWIN_THREADS */
26744 -
26745 -/* Wrappers for functions that are likely to block for an appreciable  */
26746 -/* length of time.  Must be called in pairs, if at all.                        */
26747 -/* Nothing much beyond the system call itself should be executed       */
26748 -/* between these.                                                      */
26749 -
26750 -void GC_start_blocking(void) {
26751 -#   define SP_SLOP 128
26752 -    GC_thread me;
26753 -    LOCK();
26754 -    me = GC_lookup_thread(pthread_self());
26755 -    GC_ASSERT(!(me -> thread_blocked));
26756 -#   ifdef SPARC
26757 -       me -> stop_info.stack_ptr = (ptr_t)GC_save_regs_in_stack();
26758 -#   else
26759 -#   ifndef GC_DARWIN_THREADS
26760 -       me -> stop_info.stack_ptr = (ptr_t)GC_approx_sp();
26761 -#   endif
26762 -#   endif
26763 -#   ifdef IA64
26764 -       me -> backing_store_ptr = (ptr_t)GC_save_regs_in_stack() + SP_SLOP;
26765 -#   endif
26766 -    /* Add some slop to the stack pointer, since the wrapped call may  */
26767 -    /* end up pushing more callee-save registers.                      */
26768 -#   ifndef GC_DARWIN_THREADS
26769 -#   ifdef STACK_GROWS_UP
26770 -       me -> stop_info.stack_ptr += SP_SLOP;
26771 -#   else
26772 -       me -> stop_info.stack_ptr -= SP_SLOP;
26773 -#   endif
26774 -#   endif
26775 -    me -> thread_blocked = TRUE;
26776 -    UNLOCK();
26777 -}
26778 -
26779 -void GC_end_blocking(void) {
26780 -    GC_thread me;
26781 -    LOCK();   /* This will block if the world is stopped.      */
26782 -    me = GC_lookup_thread(pthread_self());
26783 -    GC_ASSERT(me -> thread_blocked);
26784 -    me -> thread_blocked = FALSE;
26785 -    UNLOCK();
26786 -}
26787 -    
26788 -#if defined(GC_DGUX386_THREADS)
26789 -#define __d10_sleep sleep
26790 -#endif /* GC_DGUX386_THREADS */
26791 -
26792 -/* A wrapper for the standard C sleep function */
26793 -int WRAP_FUNC(sleep) (unsigned int seconds)
26794 -{
26795 -    int result;
26796 -
26797 -    GC_start_blocking();
26798 -    result = REAL_FUNC(sleep)(seconds);
26799 -    GC_end_blocking();
26800 -    return result;
26801 -}
26802 -
26803 -struct start_info {
26804 -    void *(*start_routine)(void *);
26805 -    void *arg;
26806 -    word flags;
26807 -    sem_t registered;          /* 1 ==> in our thread table, but       */
26808 -                               /* parent hasn't yet noticed.           */
26809 -};
26810 -
26811 -/* Called at thread exit.                              */
26812 -/* Never called for main thread.  That's OK, since it  */
26813 -/* results in at most a tiny one-time leak.  And       */
26814 -/* linuxthreads doesn't reclaim the main threads       */
26815 -/* resources or id anyway.                             */
26816 -void GC_thread_exit_proc(void *arg)
26817 -{
26818 -    GC_thread me;
26819 -
26820 -    LOCK();
26821 -    me = GC_lookup_thread(pthread_self());
26822 -    GC_destroy_thread_local(me);
26823 -    if (me -> flags & DETACHED) {
26824 -       GC_delete_thread(pthread_self());
26825 -    } else {
26826 -       me -> flags |= FINISHED;
26827 -    }
26828 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(USE_PTHREAD_SPECIFIC) \
26829 -       && !defined(USE_HPUX_TLS) && !defined(DBG_HDRS_ALL)
26830 -      GC_remove_specific(GC_thread_key);
26831 -#   endif
26832 -    GC_wait_for_gc_completion(FALSE);
26833 -    UNLOCK();
26834 -}
26835 -
26836 -int WRAP_FUNC(pthread_join)(pthread_t thread, void **retval)
26837 -{
26838 -    int result;
26839 -    GC_thread thread_gc_id;
26840 -    
26841 -    LOCK();
26842 -    thread_gc_id = GC_lookup_thread(thread);
26843 -    /* This is guaranteed to be the intended one, since the thread id  */
26844 -    /* cant have been recycled by pthreads.                            */
26845 -    UNLOCK();
26846 -    result = REAL_FUNC(pthread_join)(thread, retval);
26847 -# if defined (GC_FREEBSD_THREADS)
26848 -    /* On FreeBSD, the wrapped pthread_join() sometimes returns (what
26849 -       appears to be) a spurious EINTR which caused the test and real code
26850 -       to gratuitously fail.  Having looked at system pthread library source
26851 -       code, I see how this return code may be generated.  In one path of
26852 -       code, pthread_join() just returns the errno setting of the thread
26853 -       being joined.  This does not match the POSIX specification or the
26854 -       local man pages thus I have taken the liberty to catch this one
26855 -       spurious return value properly conditionalized on GC_FREEBSD_THREADS. */
26856 -    if (result == EINTR) result = 0;
26857 -# endif
26858 -    if (result == 0) {
26859 -        LOCK();
26860 -        /* Here the pthread thread id may have been recycled. */
26861 -        GC_delete_gc_thread(thread, thread_gc_id);
26862 -        UNLOCK();
26863 -    }
26864 -    return result;
26865 -}
26866 -
26867 -int
26868 -WRAP_FUNC(pthread_detach)(pthread_t thread)
26869 -{
26870 -    int result;
26871 -    GC_thread thread_gc_id;
26872 -    
26873 -    LOCK();
26874 -    thread_gc_id = GC_lookup_thread(thread);
26875 -    UNLOCK();
26876 -    result = REAL_FUNC(pthread_detach)(thread);
26877 -    if (result == 0) {
26878 -      LOCK();
26879 -      thread_gc_id -> flags |= DETACHED;
26880 -      /* Here the pthread thread id may have been recycled. */
26881 -      if (thread_gc_id -> flags & FINISHED) {
26882 -        GC_delete_gc_thread(thread, thread_gc_id);
26883 -      }
26884 -      UNLOCK();
26885 -    }
26886 -    return result;
26887 -}
26888 -
26889 -void * GC_start_routine(void * arg)
26890 -{
26891 -    int dummy;
26892 -    struct start_info * si = arg;
26893 -    void * result;
26894 -    GC_thread me;
26895 -    pthread_t my_pthread;
26896 -    void *(*start)(void *);
26897 -    void *start_arg;
26898 -
26899 -    my_pthread = pthread_self();
26900 -#   ifdef DEBUG_THREADS
26901 -        GC_printf1("Starting thread 0x%lx\n", my_pthread);
26902 -        GC_printf1("pid = %ld\n", (long) getpid());
26903 -        GC_printf1("sp = 0x%lx\n", (long) &arg);
26904 -#   endif
26905 -    LOCK();
26906 -    me = GC_new_thread(my_pthread);
26907 -#ifdef GC_DARWIN_THREADS
26908 -    me -> stop_info.mach_thread = mach_thread_self();
26909 -#else
26910 -    me -> stop_info.stack_ptr = 0;
26911 -#endif
26912 -    me -> flags = si -> flags;
26913 -    /* me -> stack_end = GC_linux_stack_base(); -- currently (11/99)   */
26914 -    /* doesn't work because the stack base in /proc/self/stat is the   */
26915 -    /* one for the main thread.  There is a strong argument that that's        */
26916 -    /* a kernel bug, but a pervasive one.                              */
26917 -#   ifdef STACK_GROWS_DOWN
26918 -      me -> stack_end = (ptr_t)(((word)(&dummy) + (GC_page_size - 1))
26919 -                               & ~(GC_page_size - 1));
26920 -#        ifndef GC_DARWIN_THREADS
26921 -        me -> stop_info.stack_ptr = me -> stack_end - 0x10;
26922 -#        endif
26923 -       /* Needs to be plausible, since an asynchronous stack mark      */
26924 -       /* should not crash.                                            */
26925 -#   else
26926 -      me -> stack_end = (ptr_t)((word)(&dummy) & ~(GC_page_size - 1));
26927 -      me -> stop_info.stack_ptr = me -> stack_end + 0x10;
26928 -#   endif
26929 -    /* This is dubious, since we may be more than a page into the stack, */
26930 -    /* and hence skip some of it, though it's not clear that matters.   */
26931 -#   ifdef IA64
26932 -      me -> backing_store_end = (ptr_t)
26933 -                       (GC_save_regs_in_stack() & ~(GC_page_size - 1));
26934 -      /* This is also < 100% convincing.  We should also read this     */
26935 -      /* from /proc, but the hook to do so isn't there yet.            */
26936 -#   endif /* IA64 */
26937 -    UNLOCK();
26938 -    start = si -> start_routine;
26939 -#   ifdef DEBUG_THREADS
26940 -       GC_printf1("start_routine = 0x%lx\n", start);
26941 -#   endif
26942 -    start_arg = si -> arg;
26943 -    sem_post(&(si -> registered));     /* Last action on si.   */
26944 -                                       /* OK to deallocate.    */
26945 -    pthread_cleanup_push(GC_thread_exit_proc, 0);
26946 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26947 -       LOCK();
26948 -        GC_init_thread_local(me);
26949 -       UNLOCK();
26950 -#   endif
26951 -    result = (*start)(start_arg);
26952 -#if DEBUG_THREADS
26953 -        GC_printf1("Finishing thread 0x%x\n", pthread_self());
26954 -#endif
26955 -    me -> status = result;
26956 -    me -> flags |= FINISHED;
26957 -    pthread_cleanup_pop(1);
26958 -    /* Cleanup acquires lock, ensuring that we can't exit              */
26959 -    /* while a collection that thinks we're alive is trying to stop     */
26960 -    /* us.                                                             */
26961 -    return(result);
26962 -}
26963 -
26964 -int
26965 -WRAP_FUNC(pthread_create)(pthread_t *new_thread,
26966 -                 const pthread_attr_t *attr,
26967 -                  void *(*start_routine)(void *), void *arg)
26968 -{
26969 -    int result;
26970 -    int detachstate;
26971 -    word my_flags = 0;
26972 -    struct start_info * si; 
26973 -       /* This is otherwise saved only in an area mmapped by the thread */
26974 -       /* library, which isn't visible to the collector.                */
26975
26976 -    /* We resist the temptation to muck with the stack size here,      */
26977 -    /* even if the default is unreasonably small.  That's the client's */
26978 -    /* responsibility.                                                 */
26979 -
26980 -    LOCK();
26981 -    si = (struct start_info *)GC_INTERNAL_MALLOC(sizeof(struct start_info),
26982 -                                                NORMAL);
26983 -    UNLOCK();
26984 -    if (!parallel_initialized) GC_init_parallel();
26985 -    if (0 == si) return(ENOMEM);
26986 -    sem_init(&(si -> registered), 0, 0);
26987 -    si -> start_routine = start_routine;
26988 -    si -> arg = arg;
26989 -    LOCK();
26990 -    if (!GC_thr_initialized) GC_thr_init();
26991 -#   ifdef GC_ASSERTIONS
26992 -      {
26993 -       int stack_size;
26994 -       if (NULL == attr) {
26995 -          pthread_attr_t my_attr;
26996 -          pthread_attr_init(&my_attr);
26997 -          pthread_attr_getstacksize(&my_attr, &stack_size);
26998 -       } else {
26999 -          pthread_attr_getstacksize(attr, &stack_size);
27000 -       }
27001 -       GC_ASSERT(stack_size >= (8*HBLKSIZE*sizeof(word)));
27002 -       /* Our threads may need to do some work for the GC.     */
27003 -       /* Ridiculously small threads won't work, and they      */
27004 -       /* probably wouldn't work anyway.                       */
27005 -      }
27006 -#   endif
27007 -    if (NULL == attr) {
27008 -       detachstate = PTHREAD_CREATE_JOINABLE;
27009 -    } else { 
27010 -        pthread_attr_getdetachstate(attr, &detachstate);
27011 -    }
27012 -    if (PTHREAD_CREATE_DETACHED == detachstate) my_flags |= DETACHED;
27013 -    si -> flags = my_flags;
27014 -    UNLOCK();
27015 -#   ifdef DEBUG_THREADS
27016 -        GC_printf1("About to start new thread from thread 0x%X\n",
27017 -                  pthread_self());
27018 -#   endif
27019 -
27020 -    result = REAL_FUNC(pthread_create)(new_thread, attr, GC_start_routine, si);
27021 -
27022 -#   ifdef DEBUG_THREADS
27023 -        GC_printf1("Started thread 0x%X\n", *new_thread);
27024 -#   endif
27025 -    /* Wait until child has been added to the thread table.            */
27026 -    /* This also ensures that we hold onto si until the child is done  */
27027 -    /* with it.  Thus it doesn't matter whether it is otherwise                */
27028 -    /* visible to the collector.                                       */
27029 -    while (0 != sem_wait(&(si -> registered))) {
27030 -        if (EINTR != errno) ABORT("sem_wait failed");
27031 -    }
27032 -    sem_destroy(&(si -> registered));
27033 -       LOCK();
27034 -       GC_INTERNAL_FREE(si);
27035 -       UNLOCK();
27036 -
27037 -    return(result);
27038 -}
27039 -
27040 -#ifdef GENERIC_COMPARE_AND_SWAP
27041 -  pthread_mutex_t GC_compare_and_swap_lock = PTHREAD_MUTEX_INITIALIZER;
27042 -
27043 -  GC_bool GC_compare_and_exchange(volatile GC_word *addr,
27044 -                                 GC_word old, GC_word new_val)
27045 -  {
27046 -    GC_bool result;
27047 -    pthread_mutex_lock(&GC_compare_and_swap_lock);
27048 -    if (*addr == old) {
27049 -      *addr = new_val;
27050 -      result = TRUE;
27051 -    } else {
27052 -      result = FALSE;
27053 -    }
27054 -    pthread_mutex_unlock(&GC_compare_and_swap_lock);
27055 -    return result;
27056 -  }
27057 -  
27058 -  GC_word GC_atomic_add(volatile GC_word *addr, GC_word how_much)
27059 -  {
27060 -    GC_word old;
27061 -    pthread_mutex_lock(&GC_compare_and_swap_lock);
27062 -    old = *addr;
27063 -    *addr = old + how_much;
27064 -    pthread_mutex_unlock(&GC_compare_and_swap_lock);
27065 -    return old;
27066 -  }
27067 -
27068 -#endif /* GENERIC_COMPARE_AND_SWAP */
27069 -/* Spend a few cycles in a way that can't introduce contention with    */
27070 -/* othre threads.                                                      */
27071 -void GC_pause()
27072 -{
27073 -    int i;
27074 -#      ifndef __GNUC__
27075 -        volatile word dummy = 0;
27076 -#      endif
27077 -
27078 -    for (i = 0; i < 10; ++i) { 
27079 -#     ifdef __GNUC__
27080 -        __asm__ __volatile__ (" " : : : "memory");
27081 -#     else
27082 -       /* Something that's unlikely to be optimized away. */
27083 -       GC_noop(++dummy);
27084 -#     endif
27085 -    }
27086 -}
27087 -    
27088 -#define SPIN_MAX 1024  /* Maximum number of calls to GC_pause before   */
27089 -                       /* give up.                                     */
27090 -
27091 -VOLATILE GC_bool GC_collecting = 0;
27092 -                       /* A hint that we're in the collector and       */
27093 -                        /* holding the allocation lock for an           */
27094 -                        /* extended period.                             */
27095 -
27096 -#if !defined(USE_SPIN_LOCK) || defined(PARALLEL_MARK)
27097 -/* If we don't want to use the below spinlock implementation, either   */
27098 -/* because we don't have a GC_test_and_set implementation, or because  */
27099 -/* we don't want to risk sleeping, we can still try spinning on        */
27100 -/* pthread_mutex_trylock for a while.  This appears to be very         */
27101 -/* beneficial in many cases.                                           */
27102 -/* I suspect that under high contention this is nearly always better   */
27103 -/* than the spin lock.  But it's a bit slower on a uniprocessor.       */
27104 -/* Hence we still default to the spin lock.                            */
27105 -/* This is also used to acquire the mark lock for the parallel         */
27106 -/* marker.                                                             */
27107 -
27108 -/* Here we use a strict exponential backoff scheme.  I don't know      */
27109 -/* whether that's better or worse than the above.  We eventually       */
27110 -/* yield by calling pthread_mutex_lock(); it never makes sense to      */
27111 -/* explicitly sleep.                                                   */
27112 -
27113 -void GC_generic_lock(pthread_mutex_t * lock)
27114 -{
27115 -#ifndef NO_PTHREAD_TRYLOCK
27116 -    unsigned pause_length = 1;
27117 -    unsigned i;
27118 -    
27119 -    if (0 == pthread_mutex_trylock(lock)) return;
27120 -    for (; pause_length <= SPIN_MAX; pause_length <<= 1) {
27121 -       for (i = 0; i < pause_length; ++i) {
27122 -           GC_pause();
27123 -       }
27124 -        switch(pthread_mutex_trylock(lock)) {
27125 -           case 0:
27126 -               return;
27127 -           case EBUSY:
27128 -               break;
27129 -           default:
27130 -               ABORT("Unexpected error from pthread_mutex_trylock");
27131 -        }
27132 -    }
27133 -#endif /* !NO_PTHREAD_TRYLOCK */
27134 -    pthread_mutex_lock(lock);
27135 -}
27136 -
27137 -#endif /* !USE_SPIN_LOCK || PARALLEL_MARK */
27138 -
27139 -#if defined(USE_SPIN_LOCK)
27140 -
27141 -/* Reasonably fast spin locks.  Basically the same implementation */
27142 -/* as STL alloc.h.  This isn't really the right way to do this.   */
27143 -/* but until the POSIX scheduling mess gets straightened out ...  */
27144 -
27145 -volatile unsigned int GC_allocate_lock = 0;
27146 -
27147 -
27148 -void GC_lock()
27149 -{
27150 -#   define low_spin_max 30  /* spin cycles if we suspect uniprocessor */
27151 -#   define high_spin_max SPIN_MAX /* spin cycles for multiprocessor */
27152 -    static unsigned spin_max = low_spin_max;
27153 -    unsigned my_spin_max;
27154 -    static unsigned last_spins = 0;
27155 -    unsigned my_last_spins;
27156 -    int i;
27157 -
27158 -    if (!GC_test_and_set(&GC_allocate_lock)) {
27159 -        return;
27160 -    }
27161 -    my_spin_max = spin_max;
27162 -    my_last_spins = last_spins;
27163 -    for (i = 0; i < my_spin_max; i++) {
27164 -        if (GC_collecting || GC_nprocs == 1) goto yield;
27165 -        if (i < my_last_spins/2 || GC_allocate_lock) {
27166 -            GC_pause();
27167 -            continue;
27168 -        }
27169 -        if (!GC_test_and_set(&GC_allocate_lock)) {
27170 -           /*
27171 -             * got it!
27172 -             * Spinning worked.  Thus we're probably not being scheduled
27173 -             * against the other process with which we were contending.
27174 -             * Thus it makes sense to spin longer the next time.
27175 -            */
27176 -            last_spins = i;
27177 -            spin_max = high_spin_max;
27178 -            return;
27179 -        }
27180 -    }
27181 -    /* We are probably being scheduled against the other process.  Sleep. */
27182 -    spin_max = low_spin_max;
27183 -yield:
27184 -    for (i = 0;; ++i) {
27185 -        if (!GC_test_and_set(&GC_allocate_lock)) {
27186 -            return;
27187 -        }
27188 -#       define SLEEP_THRESHOLD 12
27189 -               /* Under Linux very short sleeps tend to wait until     */
27190 -               /* the current time quantum expires.  On old Linux      */
27191 -               /* kernels nanosleep(<= 2ms) just spins under Linux.    */
27192 -               /* (Under 2.4, this happens only for real-time          */
27193 -               /* processes.)  We want to minimize both behaviors      */
27194 -               /* here.                                                */
27195 -        if (i < SLEEP_THRESHOLD) {
27196 -            sched_yield();
27197 -       } else {
27198 -           struct timespec ts;
27199 -       
27200 -           if (i > 24) i = 24;
27201 -                       /* Don't wait for more than about 15msecs, even */
27202 -                       /* under extreme contention.                    */
27203 -           ts.tv_sec = 0;
27204 -           ts.tv_nsec = 1 << i;
27205 -           nanosleep(&ts, 0);
27206 -       }
27207 -    }
27208 -}
27209 -
27210 -#else  /* !USE_SPINLOCK */
27211 -void GC_lock()
27212 -{
27213 -#ifndef NO_PTHREAD_TRYLOCK
27214 -    if (1 == GC_nprocs || GC_collecting) {
27215 -       pthread_mutex_lock(&GC_allocate_ml);
27216 -    } else {
27217 -        GC_generic_lock(&GC_allocate_ml);
27218 -    }
27219 -#else  /* !NO_PTHREAD_TRYLOCK */
27220 -    pthread_mutex_lock(&GC_allocate_ml);
27221 -#endif /* !NO_PTHREAD_TRYLOCK */
27222 -}
27223 -
27224 -#endif /* !USE_SPINLOCK */
27225 -
27226 -#if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
27227 -
27228 -#ifdef GC_ASSERTIONS
27229 -  pthread_t GC_mark_lock_holder = NO_THREAD;
27230 -#endif
27231 -
27232 -#if 0
27233 -  /* Ugly workaround for a linux threads bug in the final versions      */
27234 -  /* of glibc2.1.  Pthread_mutex_trylock sets the mutex owner           */
27235 -  /* field even when it fails to acquire the mutex.  This causes        */
27236 -  /* pthread_cond_wait to die.  Remove for glibc2.2.                    */
27237 -  /* According to the man page, we should use                           */
27238 -  /* PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, but that isn't actually   */
27239 -  /* defined.                                                           */
27240 -  static pthread_mutex_t mark_mutex =
27241 -        {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, {0, 0}};
27242 -#else
27243 -  static pthread_mutex_t mark_mutex = PTHREAD_MUTEX_INITIALIZER;
27244 -#endif
27245 -
27246 -static pthread_cond_t builder_cv = PTHREAD_COND_INITIALIZER;
27247 -
27248 -void GC_acquire_mark_lock()
27249 -{
27250 -/*
27251 -    if (pthread_mutex_lock(&mark_mutex) != 0) {
27252 -       ABORT("pthread_mutex_lock failed");
27253 -    }
27254 -*/
27255 -    GC_generic_lock(&mark_mutex);
27256 -#   ifdef GC_ASSERTIONS
27257 -       GC_mark_lock_holder = pthread_self();
27258 -#   endif
27259 -}
27260 -
27261 -void GC_release_mark_lock()
27262 -{
27263 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27264 -#   ifdef GC_ASSERTIONS
27265 -       GC_mark_lock_holder = NO_THREAD;
27266 -#   endif
27267 -    if (pthread_mutex_unlock(&mark_mutex) != 0) {
27268 -       ABORT("pthread_mutex_unlock failed");
27269 -    }
27270 -}
27271 -
27272 -/* Collector must wait for a freelist builders for 2 reasons:          */
27273 -/* 1) Mark bits may still be getting examined without lock.            */
27274 -/* 2) Partial free lists referenced only by locals may not be scanned  */
27275 -/*    correctly, e.g. if they contain "pointer-free" objects, since the        */
27276 -/*    free-list link may be ignored.                                   */
27277 -void GC_wait_builder()
27278 -{
27279 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27280 -#   ifdef GC_ASSERTIONS
27281 -       GC_mark_lock_holder = NO_THREAD;
27282 -#   endif
27283 -    if (pthread_cond_wait(&builder_cv, &mark_mutex) != 0) {
27284 -       ABORT("pthread_cond_wait failed");
27285 -    }
27286 -    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
27287 -#   ifdef GC_ASSERTIONS
27288 -       GC_mark_lock_holder = pthread_self();
27289 -#   endif
27290 -}
27291 -
27292 -void GC_wait_for_reclaim()
27293 -{
27294 -    GC_acquire_mark_lock();
27295 -    while (GC_fl_builder_count > 0) {
27296 -       GC_wait_builder();
27297 -    }
27298 -    GC_release_mark_lock();
27299 -}
27300 -
27301 -void GC_notify_all_builder()
27302 -{
27303 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27304 -    if (pthread_cond_broadcast(&builder_cv) != 0) {
27305 -       ABORT("pthread_cond_broadcast failed");
27306 -    }
27307 -}
27308 -
27309 -#endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
27310 -
27311 -#ifdef PARALLEL_MARK
27312 -
27313 -static pthread_cond_t mark_cv = PTHREAD_COND_INITIALIZER;
27314 -
27315 -void GC_wait_marker()
27316 -{
27317 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27318 -#   ifdef GC_ASSERTIONS
27319 -       GC_mark_lock_holder = NO_THREAD;
27320 -#   endif
27321 -    if (pthread_cond_wait(&mark_cv, &mark_mutex) != 0) {
27322 -       ABORT("pthread_cond_wait failed");
27323 -    }
27324 -    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
27325 -#   ifdef GC_ASSERTIONS
27326 -       GC_mark_lock_holder = pthread_self();
27327 -#   endif
27328 -}
27329 -
27330 -void GC_notify_all_marker()
27331 -{
27332 -    if (pthread_cond_broadcast(&mark_cv) != 0) {
27333 -       ABORT("pthread_cond_broadcast failed");
27334 -    }
27335 -}
27336 -
27337 -#endif /* PARALLEL_MARK */
27338 -
27339 -# endif /* GC_LINUX_THREADS and friends */
27340 -
27341 diff -Nur ../boehm-gc/ptr_chck.c boehm-gc/ptr_chck.c
27342 --- ../boehm-gc/ptr_chck.c      Mon May 26 12:48:52 2003
27343 +++ boehm-gc/ptr_chck.c Fri Aug 17 11:30:46 2001
27344 @@ -79,7 +79,7 @@
27345         return(p);
27346      }
27347      sz = WORDS_TO_BYTES(hhdr -> hb_sz);
27348 -    if (sz > MAXOBJBYTES) {
27349 +    if (sz > WORDS_TO_BYTES(MAXOBJSZ)) {
27350        base = (ptr_t)HBLKPTR(p);
27351        limit = base + sz;
27352        if ((ptr_t)p >= limit) {
27353 @@ -165,7 +165,7 @@
27354      pdispl = HBLKDISPL(p);
27355      map_entry = MAP_ENTRY((hhdr -> hb_map), pdispl);
27356      if (map_entry == OBJ_INVALID
27357 -       || sz > MAXOBJBYTES && (ptr_t)p >= (ptr_t)h + sz) {
27358 +       || sz > MAXOBJSZ && (ptr_t)p >= (ptr_t)h + sz) {
27359         goto fail;
27360      }
27361      return(p);
27362 diff -Nur ../boehm-gc/reclaim.c boehm-gc/reclaim.c
27363 --- ../boehm-gc/reclaim.c       Mon May 26 12:48:52 2003
27364 +++ boehm-gc/reclaim.c  Fri Mar 29 14:52:12 2002
27365 @@ -27,61 +27,23 @@
27366         /* nonzero.                                                     */
27367  #endif /* PARALLEL_MARK */
27368  
27369 -/* We defer printing of leaked objects until we're done with the GC    */
27370 -/* cycle, since the routine for printing objects needs to run outside  */
27371 -/* the collector, e.g. without the allocation lock.                    */
27372 -#define MAX_LEAKED 40
27373 -ptr_t GC_leaked[MAX_LEAKED];
27374 -unsigned GC_n_leaked = 0;
27375 -
27376 -GC_bool GC_have_errors = FALSE;
27377 -
27378 -void GC_add_leaked(leaked)
27379 -ptr_t leaked;
27380 -{
27381 -    if (GC_n_leaked < MAX_LEAKED) {
27382 -      GC_have_errors = TRUE;
27383 -      GC_leaked[GC_n_leaked++] = leaked;
27384 -      /* Make sure it's not reclaimed this cycle */
27385 -        GC_set_mark_bit(leaked);
27386 -    }
27387 -}
27388 -
27389 -static GC_bool printing_errors = FALSE;
27390 -/* Print all objects on the list after printing any smashed objs.      */
27391 -/* Clear both lists.                                                   */
27392 -void GC_print_all_errors ()
27393 +static void report_leak(p, sz)
27394 +ptr_t p;
27395 +word sz;
27396  {
27397 -    unsigned i;
27398 -
27399 -    LOCK();
27400 -    if (printing_errors) {
27401 -       UNLOCK();
27402 -       return;
27403 -    }
27404 -    printing_errors = TRUE;
27405 -    UNLOCK();
27406 -    if (GC_debugging_started) GC_print_all_smashed();
27407 -    for (i = 0; i < GC_n_leaked; ++i) {
27408 -       ptr_t p = GC_leaked[i];
27409 -       if (HDR(p) -> hb_obj_kind == PTRFREE) {
27410 -           GC_err_printf0("Leaked atomic object at ");
27411 -       } else {
27412 -           GC_err_printf0("Leaked composite object at ");
27413 -       }
27414 -       GC_print_heap_obj(p);
27415 -       GC_err_printf0("\n");
27416 -       GC_free(p);
27417 -       GC_leaked[i] = 0;
27418 +    if (HDR(p) -> hb_obj_kind == PTRFREE) {
27419 +        GC_err_printf0("Leaked atomic object at ");
27420 +    } else {
27421 +        GC_err_printf0("Leaked composite object at ");
27422      }
27423 -    GC_n_leaked = 0;
27424 -    printing_errors = FALSE;
27425 +    GC_print_heap_obj(p);
27426 +    GC_err_printf0("\n");
27427  }
27428  
27429 -
27430  #   define FOUND_FREE(hblk, word_no) \
27431        { \
27432 -         GC_add_leaked((ptr_t)hblk + WORDS_TO_BYTES(word_no)); \
27433 +         report_leak((ptr_t)hblk + WORDS_TO_BYTES(word_no), \
27434 +                    HDR(hblk) -> hb_sz); \
27435        }
27436  
27437  /*
27438 @@ -904,7 +866,7 @@
27439   * Clear *flp.
27440   * This must be done before dropping a list of free gcj-style objects,
27441   * since may otherwise end up with dangling "descriptor" pointers.
27442 - * It may help for other pointer-containing objects.
27443 + * It may help for other pointer-containg objects.
27444   */
27445  void GC_clear_fl_links(flp)
27446  ptr_t *flp;
27447 diff -Nur ../boehm-gc/solaris_pthreads.c boehm-gc/solaris_pthreads.c
27448 --- ../boehm-gc/solaris_pthreads.c      Mon May 26 12:48:52 2003
27449 +++ boehm-gc/solaris_pthreads.c Mon Feb 11 20:37:53 2002
27450 @@ -13,8 +13,9 @@
27451  /*
27452   * Support code for Solaris threads.  Provides functionality we wish Sun
27453   * had provided.  Relies on some information we probably shouldn't rely on.
27454 - * Modified by Peter C. for Solaris Posix Threads.
27455 + * Modified Peter C. for Solaris Posix Threads.
27456   */
27457 +/* Boehm, September 14, 1994 4:44 pm PDT */
27458  
27459  # if defined(GC_SOLARIS_PTHREADS)
27460  # include "private/gc_priv.h"
27461 diff -Nur ../boehm-gc/solaris_threads.c boehm-gc/solaris_threads.c
27462 --- ../boehm-gc/solaris_threads.c       Mon May 26 12:48:52 2003
27463 +++ boehm-gc/solaris_threads.c  Mon Feb 11 20:37:53 2002
27464 @@ -37,10 +37,6 @@
27465  # include <unistd.h>
27466  # include <errno.h>
27467  
27468 -#ifdef HANDLE_FORK
27469 -  --> Not yet supported.  Try porting the code from linux_threads.c.
27470 -#endif
27471 -
27472  /*
27473   * This is the default size of the LWP arrays. If there are more LWPs
27474   * than this when a stop-the-world GC happens, set_max_lwps will be
27475 @@ -365,7 +361,7 @@
27476                        sizeof (prgregset_t)) != 0) {
27477                     int j;
27478  
27479 -                   for(j = 0; j < NPRGREG; j++)
27480 +                   for(j = 0; j < NGREG; j++)
27481                     {
27482                             GC_printf3("%i: %x -> %x\n", j,
27483                                        GC_lwp_registers[i][j],
27484 @@ -825,7 +821,7 @@
27485      if (result == 0) {
27486         t = GC_lookup_thread(target_thread);
27487         if (t == 0) ABORT("thread unknown to GC");
27488 -        t -> flags |= SUSPNDED;
27489 +        t -> flags |= SUSPENDED;
27490      }
27491      UNLOCK();
27492      return(result);
27493 @@ -841,7 +837,7 @@
27494      if (result == 0) {
27495         t = GC_lookup_thread(target_thread);
27496         if (t == 0) ABORT("thread unknown to GC");
27497 -        t -> flags &= ~SUSPNDED;
27498 +        t -> flags &= ~SUSPENDED;
27499      }
27500      UNLOCK();
27501      return(result);
27502 @@ -927,7 +923,7 @@
27503         my_flags |= CLIENT_OWNS_STACK;
27504      }
27505      if (flags & THR_DETACHED) my_flags |= DETACHED;
27506 -    if (flags & THR_SUSPENDED) my_flags |= SUSPNDED;
27507 +    if (flags & THR_SUSPENDED) my_flags |= SUSPENDED;
27508      result = thr_create(stack, stack_size, start_routine,
27509                         arg, flags & ~THR_DETACHED, &my_new_thread);
27510      if (result == 0) {
27511 diff -Nur ../boehm-gc/sparc_mach_dep.S boehm-gc/sparc_mach_dep.S
27512 --- ../boehm-gc/sparc_mach_dep.S        Mon May 26 12:48:52 2003
27513 +++ boehm-gc/sparc_mach_dep.S   Thu Feb 14 16:09:29 2002
27514 @@ -37,7 +37,7 @@
27515         stx %g0,[%o3]           ! *(long *)p = 0
27516         cmp %o3,%o1
27517         bgu,pt %xcc, loop       ! if (p > limit) goto loop
27518 -          add %o3,-8,%o3       ! p -= 8 (delay slot)
27519 +        add %o3,-8,%o3         ! p -= 8 (delay slot)
27520         retl
27521           mov %o2,%sp           ! Restore sp., delay slot       
27522  #else  /* 32 bit SPARC */
27523 diff -Nur ../boehm-gc/threadlibs.c boehm-gc/threadlibs.c
27524 --- ../boehm-gc/threadlibs.c    Mon May 26 12:48:52 2003
27525 +++ boehm-gc/threadlibs.c       Mon Feb 11 20:37:53 2002
27526 @@ -4,14 +4,13 @@
27527  int main()
27528  {
27529  #   if defined(GC_USE_LD_WRAP)
27530 -       printf("-Wl,--wrap -Wl,dlopen "
27531 +       printf("-Wl,--wrap -Wl,read -Wl,--wrap -Wl,dlopen "
27532                "-Wl,--wrap -Wl,pthread_create -Wl,--wrap -Wl,pthread_join "
27533                "-Wl,--wrap -Wl,pthread_detach "
27534                "-Wl,--wrap -Wl,pthread_sigmask -Wl,--wrap -Wl,sleep\n");
27535  #   endif
27536  #   if defined(GC_LINUX_THREADS) || defined(GC_IRIX_THREADS) \
27537 -       || defined(GC_FREEBSD_THREADS) || defined(GC_SOLARIS_PTHREADS) \
27538 -       || defined(GC_MACOSX_THREADS)
27539 +       || defined(GC_FREEBSD_THREADS) || defined(GC_SOLARIS_PTHREADS)
27540          printf("-lpthread\n");
27541  #   endif
27542  #   if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
27543 @@ -19,17 +18,6 @@
27544  #   endif
27545  #   if defined(GC_SOLARIS_THREADS) && !defined(GC_SOLARIS_PTHREADS)
27546          printf("-lthread -ldl\n");
27547 -#   endif
27548 -#   if defined(GC_WIN32_THREADS) && defined(CYGWIN32)
27549 -        printf("-lpthread\n");
27550 -#   endif
27551 -#   if defined(GC_OSF1_THREADS)
27552 -       printf("-lpthread -lrt");
27553 -#   endif
27554 -    /* You need GCC 3.0.3 to build this one!           */  
27555 -    /* DG/UX native gcc doesnt know what "-pthread" is */
27556 -#   if defined(GC_DGUX386_THREADS)
27557 -        printf("-ldl -pthread\n");
27558  #   endif
27559      return 0;
27560  }
27561 diff -Nur ../boehm-gc/typd_mlc.c boehm-gc/typd_mlc.c
27562 --- ../boehm-gc/typd_mlc.c      Mon May 26 12:48:52 2003
27563 +++ boehm-gc/typd_mlc.c Fri Aug 17 11:30:46 2001
27564 @@ -437,7 +437,6 @@
27565      for (; bm != 0; bm >>= 1, current_p++) {
27566         if (bm & 1) {
27567             current = *current_p;
27568 -           FIXUP_POINTER(current);
27569             if ((ptr_t)current >= least_ha && (ptr_t)current <= greatest_ha) {
27570                 PUSH_CONTENTS((ptr_t)current, mark_stack_ptr,
27571                               mark_stack_limit, current_p, exit1);
27572 @@ -675,9 +674,9 @@
27573          if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
27574              FASTUNLOCK();
27575              op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind);
27576 -           if (0 == op) return 0;
27577 +           if (0 == op) return(0);
27578  #          ifdef MERGE_SIZES
27579 -               lw = GC_size_map[lb];   /* May have been uninitialized. */
27580 +               lw = GC_size_map[lb];   /* May have been uninitialized. */            
27581  #          endif
27582          } else {
27583              *opp = obj_link(op);
27584 @@ -721,7 +720,7 @@
27585              FASTUNLOCK();
27586              op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_explicit_kind);
27587  #          ifdef MERGE_SIZES
27588 -               lw = GC_size_map[lb];   /* May have been uninitialized. */
27589 +               lw = GC_size_map[lb];   /* May have been uninitialized. */            
27590  #          endif
27591          } else {
27592              *opp = obj_link(op);
27593 diff -Nur ../boehm-gc/version.h boehm-gc/version.h
27594 --- ../boehm-gc/version.h       Mon May 26 12:48:52 2003
27595 +++ boehm-gc/version.h  Mon Feb 11 20:37:53 2002
27596 @@ -1,25 +1,8 @@
27597 -/* The version here should match that in configure/configure.in        */
27598 -/* Eventually this one may become unnecessary.  For now we need        */
27599 -/* it to keep the old-style build process working.             */
27600 -#define GC_TMP_VERSION_MAJOR 6
27601 -#define GC_TMP_VERSION_MINOR 2
27602 -#define GC_TMP_ALPHA_VERSION 5
27603 +#define GC_VERSION_MAJOR 6
27604 +#define GC_VERSION_MINOR 1
27605 +#define GC_ALPHA_VERSION 3
27606  
27607 -#if defined(GC_VERSION_MAJOR)
27608 -# if GC_TMP_VERSION_MAJOR != GC_VERSION_MAJOR || \
27609 -     GC_TMP_VERSION_MINOR != GC_VERSION_MINOR || \
27610 -     GC_TMP_ALPHA_VERSION != GC_ALPHA_VERSION
27611 -#   error Inconsistent version info.  Check version.h and configure.in.
27612 -# endif
27613 -#else
27614 -# define GC_VERSION_MAJOR GC_TMP_VERSION_MAJOR
27615 -# define GC_VERSION_MINOR GC_TMP_VERSION_MINOR
27616 -# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
27617 -#endif
27618 -
27619 -#ifndef GC_NOT_ALPHA
27620  #   define GC_NOT_ALPHA 0xff
27621 -#endif
27622  
27623  #ifndef GC_NO_VERSION_VAR
27624  
27625 diff -Nur ../boehm-gc/win32_threads.c boehm-gc/win32_threads.c
27626 --- ../boehm-gc/win32_threads.c Mon May 26 12:48:52 2003
27627 +++ boehm-gc/win32_threads.c    Mon Apr 28 13:55:07 2003
27628 @@ -1,27 +1,13 @@
27629 -#if defined(GC_WIN32_THREADS) 
27630 +#if defined(GC_WIN32_THREADS)
27631  
27632  #include "private/gc_priv.h"
27633  
27634 -#ifdef CYGWIN32
27635 -# include <errno.h>
27636 -
27637 - /* Cygwin-specific forward decls */
27638 -# undef pthread_create 
27639 -# undef pthread_sigmask 
27640 -# undef pthread_join 
27641 -# undef dlopen 
27642 -
27643 -# define DEBUG_CYGWIN_THREADS 0
27644 -
27645 -  GC_bool GC_thr_initialized = FALSE;
27646 -  void * GC_start_routine(void * arg);
27647 -  void GC_thread_exit_proc(void *arg);
27648 -
27649 +#if 0
27650 +#define STRICT
27651 +#include <windows.h>
27652  #endif
27653  
27654 -#ifndef MAX_THREADS
27655 -# define MAX_THREADS 64
27656 -#endif
27657 +#define MAX_THREADS 64
27658  
27659  struct thread_entry {
27660    LONG in_use;
27661 @@ -32,12 +18,6 @@
27662                         /* !in_use ==> stack == 0       */
27663    CONTEXT context;
27664    GC_bool suspended;
27665 -
27666 -# ifdef CYGWIN32
27667 -    void *status; /* hold exit value until join in case it's a pointer */
27668 -    pthread_t pthread_id;
27669 -# endif
27670 -
27671  };
27672  
27673  volatile GC_bool GC_please_stop = FALSE;
27674 @@ -49,12 +29,6 @@
27675      /* Unlike the other threads implementations, the thread table here */
27676      /* contains no pointers to the collectable heap.  Thus we have     */
27677      /* no private structures we need to preserve.                      */
27678 -# ifdef CYGWIN32
27679 -  { int i; /* pthreads may keep a pointer in the thread exit value */
27680 -    for (i = 0; i < MAX_THREADS; i++)
27681 -      if (thread_table[i].in_use) GC_push_all((ptr_t)&(thread_table[i].status),(ptr_t)(&(thread_table[i].status)+1));
27682 -  }
27683 -# endif
27684  }
27685  
27686  void GC_stop_world()
27687 @@ -62,10 +36,6 @@
27688    DWORD thread_id = GetCurrentThreadId();
27689    int i;
27690  
27691 -#ifdef CYGWIN32
27692 -  if (!GC_thr_initialized) ABORT("GC_stop_world() called before GC_thr_init()");
27693 -#endif
27694 -
27695    GC_please_stop = TRUE;
27696    for (i = 0; i < MAX_THREADS; i++)
27697      if (thread_table[i].stack != 0
27698 @@ -83,15 +53,11 @@
27699         DWORD exitCode; 
27700         if (GetExitCodeThread(thread_table[i].handle,&exitCode) &&
27701              exitCode != STILL_ACTIVE) {
27702 -          thread_table[i].stack = 0; /* prevent stack from being pushed */
27703 -#         ifndef CYGWIN32
27704 -            /* this breaks pthread_join on Cygwin, which is guaranteed to  */
27705 -           /* only see user pthreads                                      */
27706 +            thread_table[i].stack = 0;
27707             thread_table[i].in_use = FALSE;
27708             CloseHandle(thread_table[i].handle);
27709             BZERO((void *)(&thread_table[i].context), sizeof(CONTEXT));
27710 -#         endif
27711 -         continue;
27712 +           continue;
27713         }
27714         if (SuspendThread(thread_table[i].handle) == (DWORD)-1)
27715           ABORT("SuspendThread failed");
27716 @@ -369,11 +335,9 @@
27717      if (*lo < start) *lo = start;
27718  }
27719  
27720 -#if !defined(MSWINCE) && defined(GC_DLL)
27721 -
27722 -/* We register threads from DllMain */
27723 +#if !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))
27724  
27725 -GC_API HANDLE GC_CreateThread(
27726 +HANDLE WINAPI GC_CreateThread(
27727      LPSECURITY_ATTRIBUTES lpThreadAttributes, 
27728      DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, 
27729      LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId )
27730 @@ -382,10 +346,7 @@
27731                          lpParameter, dwCreationFlags, lpThreadId);
27732  }
27733  
27734 -#else /* defined(MSWINCE) || !defined(GC_DLL))  */
27735 -
27736 -/* We have no DllMain to take care of new threads.  Thus we    */
27737 -/* must properly intercept thread creation.                    */
27738 +#else /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL)) */
27739  
27740  typedef struct {
27741      HANDLE child_ready_h, parent_ready_h;
27742 @@ -509,7 +470,7 @@
27743  
27744      return ret;
27745  }
27746 -#endif /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))  */
27747 +#endif /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL)) */
27748  
27749  #ifdef MSWINCE
27750  
27751 @@ -566,256 +527,13 @@
27752  
27753  LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info);
27754  
27755 -/* threadAttach/threadDetach routines used by both CYGWIN and DLL
27756 - * implementation, since both recieve explicit notification on thread
27757 - * creation/destruction.
27758 - */
27759 -static void threadAttach() {
27760 -  int i;
27761 -  /* It appears to be unsafe to acquire a lock here, since this        */
27762 -  /* code is apparently not preeemptible on some systems.      */
27763 -  /* (This is based on complaints, not on Microsoft's official */
27764 -  /* documentation, which says this should perform "only simple        */
27765 -  /* inititalization tasks".)                                  */
27766 -  /* Hence we make do with nonblocking synchronization.                */
27767 -
27768 -  /* The following should be a noop according to the win32     */
27769 -  /* documentation.  There is empirical evidence that it       */
27770 -  /* isn't.            - HB                                    */
27771 -# if defined(MPROTECT_VDB)
27772 -   if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
27773 -# endif
27774 -                /* cast away volatile qualifier */
27775 -  for (i = 0; InterlockedExchange((LONG*)&thread_table[i].in_use,1) != 0; i++) {
27776 -    /* Compare-and-swap would make this cleaner, but that's not        */
27777 -    /* supported before Windows 98 and NT 4.0.  In Windows 2000,       */
27778 -    /* InterlockedExchange is supposed to be replaced by               */
27779 -    /* InterlockedExchangePointer, but that's not really what I        */
27780 -    /* want here.                                                      */
27781 -    if (i == MAX_THREADS - 1)
27782 -      ABORT("too many threads");
27783 -  }
27784 -  thread_table[i].id = GetCurrentThreadId();
27785 -# ifdef CYGWIN32
27786 -    thread_table[i].pthread_id = pthread_self();
27787 -# endif
27788 -  if (!DuplicateHandle(GetCurrentProcess(),
27789 -                      GetCurrentThread(),
27790 -                      GetCurrentProcess(),
27791 -                      (HANDLE*)&thread_table[i].handle,
27792 -                      0,
27793 -                      0,
27794 -                      DUPLICATE_SAME_ACCESS)) {
27795 -       DWORD last_error = GetLastError();
27796 -       GC_printf1("Last error code: %lx\n", last_error);
27797 -       ABORT("DuplicateHandle failed");
27798 -  }
27799 -  thread_table[i].stack = GC_get_stack_base();
27800 -  if (thread_table[i].stack == NULL) 
27801 -    ABORT("Failed to find stack base in threadAttach");
27802 -  /* If this thread is being created while we are trying to stop       */
27803 -  /* the world, wait here.  Hopefully this can't happen on any */
27804 -  /* systems that don't allow us to block here.                        */
27805 -  while (GC_please_stop) Sleep(20);
27806 -}
27807 -
27808 -static void threadDetach(DWORD thread_id) {
27809 -  int i;
27810 -
27811 -  LOCK();
27812 -  for (i = 0;
27813 -       i < MAX_THREADS &&
27814 -       !thread_table[i].in_use || thread_table[i].id != thread_id;
27815 -       i++) {}
27816 -  if (i >= MAX_THREADS ) {
27817 -    WARN("thread %ld not found on detach", (GC_word)thread_id);
27818 -  }
27819 -  else {
27820 -    thread_table[i].stack = 0;
27821 -    thread_table[i].in_use = FALSE;
27822 -    CloseHandle(thread_table[i].handle);
27823 -      /* cast away volatile qualifier */
27824 -    BZERO((void *)&thread_table[i].context, sizeof(CONTEXT));
27825 -  }
27826 -  UNLOCK();
27827 -}
27828 -
27829 -#ifdef CYGWIN32
27830 -
27831 -/* Called by GC_init() - we hold the allocation lock.  */
27832 -void GC_thr_init() {
27833 -    if (GC_thr_initialized) return;
27834 -    GC_thr_initialized = TRUE;
27835 -
27836 -#if 0
27837 -    /* this might already be handled in GC_init... */
27838 -    InitializeCriticalSection(&GC_allocate_ml);
27839 -#endif
27840 -
27841 -    /* Add the initial thread, so we can stop it.      */
27842 -    threadAttach();
27843 -}
27844 -
27845 -struct start_info {
27846 -    void *(*start_routine)(void *);
27847 -    void *arg;
27848 -};
27849 -
27850 -int GC_pthread_join(pthread_t pthread_id, void **retval) {
27851 -    int result;
27852 -    int i;
27853 -
27854 -#   if DEBUG_CYGWIN_THREADS
27855 -      GC_printf3("thread 0x%x(0x%x) is joining thread 0x%x.\n",(int)pthread_self(),
27856 -                GetCurrentThreadId(), (int)pthread_id);
27857 -#   endif
27858 -
27859 -    /* Can't do any table lookups here, because thread being joined 
27860 -       might not have registered itself yet */
27861 -
27862 -    result = pthread_join(pthread_id, retval);
27863 -
27864 -    LOCK();
27865 -    for (i = 0; !thread_table[i].in_use || thread_table[i].pthread_id != pthread_id;
27866 -         i++) {
27867 -      if (i == MAX_THREADS - 1) {
27868 -        GC_printf1("Failed to find thread 0x%x in pthread_join()\n", pthread_id);
27869 -        ABORT("thread not found on detach");
27870 -      }
27871 -    }
27872 -    UNLOCK();
27873 -    threadDetach(thread_table[i].id);
27874 -
27875 -#   if DEBUG_CYGWIN_THREADS
27876 -      GC_printf3("thread 0x%x(0x%x) completed join with thread 0x%x.\n",
27877 -                (int)pthread_self(), GetCurrentThreadId(), (int)pthread_id);
27878 -#   endif
27879 -
27880 -    return result;
27881 -}
27882 -
27883 -/* Cygwin-pthreads calls CreateThread internally, but it's not
27884 - * easily interceptible by us..
27885 - *   so intercept pthread_create instead
27886 - */
27887 -int
27888 -GC_pthread_create(pthread_t *new_thread,
27889 -                 const pthread_attr_t *attr,
27890 -                  void *(*start_routine)(void *), void *arg) {
27891 -    int result;
27892 -    struct start_info * si;
27893 -
27894 -    if (!GC_is_initialized) GC_init();
27895 -               /* make sure GC is initialized (i.e. main thread is attached) */
27896 -    
27897 -    /* This is otherwise saved only in an area mmapped by the thread */
27898 -    /* library, which isn't visible to the collector.           */
27899 -    si = GC_malloc_uncollectable(sizeof(struct start_info)); 
27900 -    if (0 == si) return(EAGAIN);
27901 -
27902 -    si -> start_routine = start_routine;
27903 -    si -> arg = arg;
27904 -
27905 -#   if DEBUG_CYGWIN_THREADS
27906 -      GC_printf2("About to create a thread from 0x%x(0x%x)\n",(int)pthread_self(),
27907 -                                                             GetCurrentThreadId);
27908 -#   endif
27909 -    result = pthread_create(new_thread, attr, GC_start_routine, si); 
27910 -
27911 -    if (result) { /* failure */
27912 -       GC_free(si);
27913 -    } 
27914 -
27915 -    return(result);
27916 -}
27917 -
27918 -void * GC_start_routine(void * arg)
27919 -{
27920 -    struct start_info * si = arg;
27921 -    void * result;
27922 -    void *(*start)(void *);
27923 -    void *start_arg;
27924 -    pthread_t pthread_id;
27925 -    int i;
27926 -
27927 -#   if DEBUG_CYGWIN_THREADS
27928 -      GC_printf2("thread 0x%x(0x%x) starting...\n",(int)pthread_self(),
27929 -                                                  GetCurrentThreadId());
27930 -#   endif
27931 -
27932 -    /* If a GC occurs before the thread is registered, that GC will    */
27933 -    /* ignore this thread.  That's fine, since it will block trying to  */
27934 -    /* acquire the allocation lock, and won't yet hold interesting     */
27935 -    /* pointers.                                                       */
27936 -    LOCK();
27937 -    /* We register the thread here instead of in the parent, so that   */
27938 -    /* we don't need to hold the allocation lock during pthread_create. */
27939 -    threadAttach();
27940 -    UNLOCK();
27941 -
27942 -    start = si -> start_routine;
27943 -    start_arg = si -> arg;
27944 -    pthread_id = pthread_self();
27945 -
27946 -    GC_free(si); /* was allocated uncollectable */
27947 -
27948 -    pthread_cleanup_push(GC_thread_exit_proc, pthread_id);
27949 -    result = (*start)(start_arg);
27950 -    pthread_cleanup_pop(0);
27951 -
27952 -#   if DEBUG_CYGWIN_THREADS
27953 -      GC_printf2("thread 0x%x(0x%x) returned from start routine.\n",
27954 -                (int)pthread_self(),GetCurrentThreadId());
27955 -#   endif
27956 -
27957 -    LOCK();
27958 -    for (i = 0; thread_table[i].pthread_id != pthread_id; i++) {
27959 -      if (i == MAX_THREADS - 1)
27960 -        ABORT("thread not found on exit");
27961 -    }
27962 -    thread_table[i].status = result;
27963 -    UNLOCK();
27964 -
27965 -    return(result);
27966 -}
27967 -
27968 -void GC_thread_exit_proc(void *arg)
27969 -{
27970 -    pthread_t pthread_id = (pthread_t)arg;
27971 -    int i;
27972 -
27973 -#   if DEBUG_CYGWIN_THREADS
27974 -      GC_printf2("thread 0x%x(0x%x) called pthread_exit().\n",
27975 -                (int)pthread_self(),GetCurrentThreadId());
27976 -#   endif
27977 -
27978 -    LOCK();
27979 -    for (i = 0; thread_table[i].pthread_id != pthread_id; i++) {
27980 -      if (i == MAX_THREADS - 1)
27981 -        ABORT("thread not found on exit");
27982 -    }
27983 -    UNLOCK();
27984 -
27985 -#if 0
27986 -    /* TODO: we need a way to get the exit value after a pthread_exit so we can stash it safely away */
27987 -    thread_table[i].status = ???
27988 -#endif
27989 -}
27990 -
27991 -/* nothing required here... */
27992 -int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) {
27993 -  return pthread_sigmask(how, set, oset);
27994 -}
27995 -int GC_pthread_detach(pthread_t thread) {
27996 -  return pthread_detach(thread);
27997 -}
27998 -#else /* !CYGWIN32 */
27999 +#ifdef GC_DLL
28000  
28001  /*
28002 - * We avoid acquiring locks here, since this doesn't seem to be preemptable.
28003 + * This isn't generally safe, since DllMain is not premptible.
28004 + * If another thread holds the lock while this runs we're in trouble.
28005   * Pontus Rydin suggests wrapping the thread start routine instead.
28006   */
28007 -#ifdef GC_DLL
28008  BOOL WINAPI DllMain(HINSTANCE inst, ULONG reason, LPVOID reserved)
28009  {
28010    switch (reason) {
28011 @@ -824,13 +542,75 @@
28012      GC_init(); /* Force initialization before thread attach.   */
28013      /* fall through */
28014    case DLL_THREAD_ATTACH:
28015 -    threadAttach();
28016 -    break;
28017 +    {
28018 +      int i;
28019 +      /* It appears to be unsafe to acquire a lock here, since this    */
28020 +      /* code is apparently not preeemptible on some systems.          */
28021 +      /* (This is based on complaints, not on Microsoft's official     */
28022 +      /* documentation, which says this should perform "only simple    */
28023 +      /* inititalization tasks".)                                      */
28024 +      /* Hence we make do with nonblocking synchronization.            */
28025 +
28026 +      /* The following should be a noop according to the win32 */
28027 +      /* documentation.  There is empirical evidence that it   */
28028 +      /* isn't.                - HB                                    */
28029 +#     ifdef MPROTECT_VDB
28030 +       if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
28031 +#     endif
28032  
28033 +      for (i = 0;
28034 +                              /* cast away volatile qualifier */
28035 +          InterlockedExchange((LPLONG) &thread_table[i].in_use, 1) != 0;
28036 +          i++) {
28037 +       /* Compare-and-swap would make this cleaner, but that's not     */
28038 +       /* supported before Windows 98 and NT 4.0.  In Windows 2000,    */
28039 +       /* InterlockedExchange is supposed to be replaced by            */
28040 +       /* InterlockedExchangePointer, but that's not really what I     */
28041 +       /* want here.                                                   */
28042 +       if (i == MAX_THREADS - 1)
28043 +         ABORT("too many threads");
28044 +      }
28045 +      thread_table[i].id = GetCurrentThreadId();
28046 +      if (!DuplicateHandle(GetCurrentProcess(),
28047 +                          GetCurrentThread(),
28048 +                          GetCurrentProcess(),
28049 +                          /* cast away volatile qualifier */
28050 +                          (HANDLE *) &thread_table[i].handle,
28051 +                          0,
28052 +                          0,
28053 +                          DUPLICATE_SAME_ACCESS)) {
28054 +       DWORD last_error = GetLastError();
28055 +       GC_printf1("Last error code: %lx\n", last_error);
28056 +       ABORT("DuplicateHandle failed");
28057 +      }
28058 +      thread_table[i].stack = GC_get_stack_base();
28059 +      /* If this thread is being created while we are trying to stop   */
28060 +      /* the world, wait here.  Hopefully this can't happen on any     */
28061 +      /* systems that don't allow us to block here.                    */
28062 +      while (GC_please_stop) Sleep(20);
28063 +    }
28064 +    break;
28065    case DLL_THREAD_DETACH:
28066 -    threadDetach(GetCurrentThreadId());
28067 +    {
28068 +      int i;
28069 +      DWORD thread_id = GetCurrentThreadId();
28070 +      LOCK();
28071 +      for (i = 0;
28072 +           i < MAX_THREADS &&
28073 +          (thread_table[i].stack == 0 || thread_table[i].id != thread_id);
28074 +          i++) {}
28075 +      if (i >= MAX_THREADS) {
28076 +         WARN("thread %ld not found on detach", (GC_word)thread_id);
28077 +      } else {
28078 +          thread_table[i].stack = 0;
28079 +          thread_table[i].in_use = FALSE;
28080 +          CloseHandle(thread_table[i].handle);
28081 +           /* cast away volatile qualifier */
28082 +          BZERO((void *) &thread_table[i].context, sizeof(CONTEXT));
28083 +      }
28084 +      UNLOCK();
28085 +    }
28086      break;
28087 -
28088    case DLL_PROCESS_DETACH:
28089      {
28090        int i;
28091 @@ -856,8 +636,8 @@
28092    }
28093    return TRUE;
28094  }
28095 -#endif /* GC_DLL */
28096 -#endif /* !CYGWIN32 */
28097 +
28098 +#   endif /* GC_DLL */
28099  
28100  # endif /* !MSWINCE */
28101