2003/09/10 05:15:49
[org.ibex.core.git] / upstream / gcc-3.3 / patches / darwin.patch
1 diff -Nur ../boehm-gc/CVS/Entries boehm-gc/CVS/Entries
2 --- ../boehm-gc/CVS/Entries     Sat May 31 21:19:56 2003
3 +++ boehm-gc/CVS/Entries        Wed Dec 31 16:00:00 1969
4 @@ -1,89 +0,0 @@
5 -/BCC_MAKEFILE/1.2/Fri Sep 14 00:43:21 2001//
6 -/ChangeLog/1.15/Wed Jan 22 06:02:28 2003//
7 -/EMX_MAKEFILE/1.2/Fri Sep 14 00:43:22 2001//
8 -/MacProjects.sit.hqx/1.2/Fri Sep 14 00:43:22 2001//
9 -/Makefile.DLLs/1.2/Fri Sep 14 00:43:22 2001//
10 -/Makefile.am/1.8/Thu Oct 24 23:42:27 2002//
11 -/Makefile.direct/1.4/Thu Mar 14 07:28:09 2002//
12 -/Makefile.dist/1.2/Fri Sep 14 00:43:22 2001//
13 -/Makefile.dj/1.3/Tue Oct 23 03:47:12 2001//
14 -/Makefile.in/1.9/Wed Jan 22 06:02:28 2003//
15 -/NT_MAKEFILE/1.2/Fri Sep 14 00:43:23 2001//
16 -/NT_THREADS_MAKEFILE/1.3/Tue Oct 23 03:47:12 2001//
17 -/OS2_MAKEFILE/1.2/Fri Sep 14 00:43:23 2001//
18 -/PCR-Makefile/1.2/Fri Sep 14 00:43:23 2001//
19 -/SMakefile.amiga/1.2/Fri Sep 14 00:43:24 2001//
20 -/WCC_MAKEFILE/1.2/Fri Sep 14 00:43:24 2001//
21 -/allchblk.c/1.5/Sun Apr 21 00:58:58 2002//
22 -/alloc.c/1.3/Thu Mar 14 07:28:10 2002//
23 -/alpha_mach_dep.s/1.2/Fri Sep 14 00:43:25 2001//
24 -/backgraph.c/1.1.1.1/Thu Mar 14 03:39:41 2002//
25 -/callprocs/1.2/Fri Sep 14 00:43:25 2001//
26 -/config.guess/1.3/Thu Mar 14 07:28:10 2002//
27 -/config.sub/1.3/Thu Mar 14 07:28:10 2002//
28 -/configure.host/1.2/Fri Sep 14 00:43:26 2001//
29 -/configure.in/1.10/Fri Aug  2 10:04:37 2002//
30 -/dbg_mlc.c/1.5/Thu Aug  1 15:37:15 2002//
31 -/digimars.mak/1.2/Fri Sep 14 00:43:26 2001//
32 -/dyn_load.c/1.6/Sun Apr 21 00:58:58 2002//
33 -/finalize.c/1.4/Thu Mar 14 07:28:11 2002//
34 -/gc.mak/1.3/Tue Oct 23 03:47:14 2001//
35 -/gc_cpp.cc/1.2/Fri Sep 14 00:43:27 2001//
36 -/gc_cpp.cpp/1.2/Fri Sep 14 00:43:27 2001//
37 -/gc_dlopen.c/1.3/Tue Oct 23 03:47:14 2001//
38 -/gcj_mlc.c/1.3/Thu Mar 14 07:28:12 2002//
39 -/if_mach.c/1.2/Fri Sep 14 00:43:28 2001//
40 -/install-sh/1.2/Fri Sep 14 00:43:28 2001//
41 -/irix_threads.c/1.5/Fri Aug  2 10:04:37 2002//
42 -/mach_dep.c/1.5/Fri Aug  2 10:04:37 2002//
43 -/malloc.c/1.4/Thu Mar 14 07:28:13 2002//
44 -/mallocx.c/1.2/Fri Sep 14 00:43:29 2001//
45 -/mark.c/1.4/Thu Apr  4 07:13:13 2002//
46 -/mark_rts.c/1.4/Thu Mar 14 07:28:14 2002//
47 -/misc.c/1.6/Sun Apr 21 00:58:59 2002//
48 -/mkinstalldirs/1.2/Fri Sep 14 00:43:30 2001//
49 -/os_dep.c/1.7/Fri Aug  2 10:04:37 2002//
50 -/pc_excludes/1.2/Fri Sep 14 00:43:31 2001//
51 -/powerpc_macosx_mach_dep.s/1.2/Fri Sep 14 00:43:31 2001//
52 -/ptr_chck.c/1.2/Fri Sep 14 00:43:31 2001//
53 -/reclaim.c/1.5/Thu Apr  4 07:13:15 2002//
54 -/solaris_pthreads.c/1.4/Thu Mar 14 07:28:17 2002//
55 -/solaris_threads.c/1.5/Thu Mar 14 07:28:18 2002//
56 -/threadlibs.c/1.4/Thu Mar 14 07:28:19 2002//
57 -/typd_mlc.c/1.2/Fri Sep 14 00:43:33 2001//
58 -/version.h/1.4/Thu Mar 14 07:28:19 2002//
59 -/win32_threads.c/1.6/Thu Oct 24 23:42:27 2002//
60 -D/Mac_files////
61 -D/cord////
62 -D/doc////
63 -D/include////
64 -D/tests////
65 -/AmigaOS.c/1.2/Mon May 26 19:48:52 2003//
66 -/MacOS.c/1.2/Mon May 26 19:48:52 2003//
67 -/add_gc_prefix.c/1.2/Mon May 26 19:48:52 2003//
68 -/blacklst.c/1.2/Mon May 26 19:48:52 2003//
69 -/checksums.c/1.2/Mon May 26 19:48:52 2003//
70 -/gcc_support.c/1.2/Mon May 26 19:48:52 2003//
71 -/gcname.c/1.2/Mon May 26 19:48:52 2003//
72 -/headers.c/1.2/Mon May 26 19:48:52 2003//
73 -/hpux_test_and_clear.s/1.2/Mon May 26 19:48:52 2003//
74 -/ia64_save_regs_in_stack.s/1.1.1.1/Mon May 26 19:48:52 2003//
75 -/if_not_there.c/1.2/Mon May 26 19:48:52 2003//
76 -/linux_threads.c/1.8/Sun Jun  1 04:17:20 2003//
77 -/ltconfig/1.3/Sun Jun  1 04:17:20 2003//
78 -/ltmain.sh/1.3/Sun Jun  1 04:17:20 2003//
79 -/mips_ultrix_mach_dep.s/1.2/Mon May 26 19:48:52 2003//
80 -/new_hblk.c/1.3/Mon May 26 19:48:52 2003//
81 -/obj_map.c/1.2/Mon May 26 19:48:52 2003//
82 -/pcr_interface.c/1.2/Mon May 26 19:48:52 2003//
83 -/real_malloc.c/1.2/Mon May 26 19:48:52 2003//
84 -/rs6000_mach_dep.s/1.3/Mon May 26 19:48:52 2003//
85 -/setjmp_t.c/1.2/Mon May 26 19:48:52 2003//
86 -/sparc_netbsd_mach_dep.s/1.2/Mon May 26 19:48:52 2003//
87 -/sparc_sunos4_mach_dep.s/1.2/Mon May 26 19:48:52 2003//
88 -/specific.c/1.4/Mon May 26 19:48:52 2003//
89 -/stubborn.c/1.2/Mon May 26 19:48:52 2003//
90 -/acinclude.m4/1.4/Sun Jun  1 04:19:55 2003//
91 -/aclocal.m4/1.3/Sun Jun  1 04:19:55 2003//
92 -/configure/1.11/Sun Jun  1 04:19:56 2003//
93 -/libtool.m4/1.2/Sun Jun  1 04:19:56 2003//
94 diff -Nur ../boehm-gc/CVS/Repository boehm-gc/CVS/Repository
95 --- ../boehm-gc/CVS/Repository  Sun May 25 12:49:01 2003
96 +++ boehm-gc/CVS/Repository     Wed Dec 31 16:00:00 1969
97 @@ -1 +0,0 @@
98 -/cvs/root/gcc3/gcc3/boehm-gc
99 diff -Nur ../boehm-gc/CVS/Root boehm-gc/CVS/Root
100 --- ../boehm-gc/CVS/Root        Sun May 25 12:49:01 2003
101 +++ boehm-gc/CVS/Root   Wed Dec 31 16:00:00 1969
102 @@ -1 +0,0 @@
103 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
104 diff -Nur ../boehm-gc/ChangeLog boehm-gc/ChangeLog
105 --- ../boehm-gc/ChangeLog       Tue Jan 21 22:02:28 2003
106 +++ boehm-gc/ChangeLog  Tue May 13 17:08:56 2003
107 @@ -1,3 +1,69 @@
108 +2003-05-13  Release Manager
109 +
110 +       * GCC 3.3 Released.
111 +
112 +2003-05-13  Release Manager
113 +
114 +       * GCC 3.3 Released.
115 +
116 +2003-05-13  Release Manager
117 +
118 +       * GCC 3.3 Released.
119 +
120 +2003-05-13  Release Manager
121 +
122 +       * GCC 3.3 Released.
123 +
124 +2003-04-28  Mohan Embar  <gnustuff@thisiscool.com>
125 +
126 +       * configure.in: define GC_DLL under mingw if --enable-shared
127 +       * configure: rebuilt
128 +       * win32_threads.c: add #ifdef GC_DLL around DllMain
129 +
130 +2003-04-09  Tom Tromey  <tromey@redhat.com>
131 +
132 +       * include/private/gcconfig.h (LINUX_STACKBOTTOM): Define for
133 +       POWERPC.
134 +       (STACK_GRAN, HEURISTIC1): Don't define for POWERPC.
135 +
136 +2003-03-04  Hans Boehm <Hans.Boehm@hp.com>
137 +       * include/private/gcconfig.h (GC_data_start): declare when needed.
138 +       * include/private/gc_priv.h: Include gcconfig.h after ptr_t
139 +       declaration.
140 +
141 +2003-03-03  Hans Boehm  <Hans.Boehm@hp.com>
142 +       * mark_rts.c (GC_cond_register_dynamic_libraries): add.
143 +       (GC_push_roots): explicitly mark free list headers, register
144 +       dynamic libraries only if !REGISTER_LIBRARIES_EARLY.
145 +       * alloc.c (GC_stopped_mark): Conditionally call
146 +       GC_cond_register_dynamic_libraries().
147 +       (GC_collect_a_little_inner, GC_try_to_collect_inner): Check GC_dont_gc.
148 +       * dyn_load.c (GC_register_main_static_data): define.
149 +       (GC_register_dyn_libraries (Linux /proc, Linux ELF versions)):
150 +       no longer skip main data. Register main data for static executable.
151 +       * misc.c (GC_REGISTER_MAIN_STATIC_DATA): define.
152 +       (GC_init_inner): Make main data registration conditional.
153 +       * include/private/gc_priv.h (GC_register_main_static_data): declare.
154 +       * include/private/gcconfig.h (REGISTER_LIBRARIES_EARLY): define
155 +       for LINUX.
156 +
157 +2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
158 +
159 +       * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
160 +       config.status.
161 +       * configure: Rebuilt.
162 +
163 +2003-02-11  Andreas Tobler  <a.tobler@schweiz.ch>
164 +
165 +       * include/private/gcconfig.h: undefine MPROTECT_VDB for MACOSX
166 +
167 +2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
168 +
169 +       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
170 +       Remove USE_LIBDIR conditional.
171 +       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
172 +       * Makefile.in, configure: Rebuilt.
173 +
174  2002-12-31  Tom Tromey  <tromey@redhat.com>
175  
176         For PR libgcj/8933:
177 diff -Nur ../boehm-gc/Mac_files/CVS/Entries boehm-gc/Mac_files/CVS/Entries
178 --- ../boehm-gc/Mac_files/CVS/Entries   Sun May 25 12:49:07 2003
179 +++ boehm-gc/Mac_files/CVS/Entries      Wed Dec 31 16:00:00 1969
180 @@ -1,5 +0,0 @@
181 -/MacOS_Test_config.h/1.2/Fri Sep 14 00:43:44 2001//
182 -/MacOS_config.h/1.2/Fri Sep 14 00:43:44 2001//
183 -/dataend.c/1.2/Fri Sep 14 00:43:44 2001//
184 -/datastart.c/1.2/Fri Sep 14 00:43:44 2001//
185 -D
186 diff -Nur ../boehm-gc/Mac_files/CVS/Repository boehm-gc/Mac_files/CVS/Repository
187 --- ../boehm-gc/Mac_files/CVS/Repository        Sun May 25 12:49:07 2003
188 +++ boehm-gc/Mac_files/CVS/Repository   Wed Dec 31 16:00:00 1969
189 @@ -1 +0,0 @@
190 -/cvs/root/gcc3/gcc3/boehm-gc/Mac_files
191 diff -Nur ../boehm-gc/Mac_files/CVS/Root boehm-gc/Mac_files/CVS/Root
192 --- ../boehm-gc/Mac_files/CVS/Root      Sun May 25 12:49:07 2003
193 +++ boehm-gc/Mac_files/CVS/Root Wed Dec 31 16:00:00 1969
194 @@ -1 +0,0 @@
195 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
196 diff -Nur ../boehm-gc/Makefile.am boehm-gc/Makefile.am
197 --- ../boehm-gc/Makefile.am     Mon May 26 13:08:40 2003
198 +++ boehm-gc/Makefile.am        Mon Jan 27 17:44:52 2003
199 @@ -16,38 +16,22 @@
200  MULTIDO = true
201  MULTICLEAN = true
202  
203 -## Install a library built with a cross compiler in tooldir, not
204 -## libdir.
205 -if USE_LIBDIR
206 -toolexeclibdir = $(libdir)$(MULTISUBDIR)
207 -else
208 -toolexecdir = $(exec_prefix)/$(target_alias)
209 -toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
210 -endif
211 -
212  noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
213  
214  GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
215  dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
216 -malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
217 +linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
218  obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
219  solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
220 -backgraph.c win32_threads.c \
221 -pthread_support.c pthread_stop_world.c darwin_stop_world.c
222 +backgraph.c win32_threads.c
223  
224 -EXTRA_GC_SOURCES = alpha_mach_dep.S \
225 -    mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_darwin_mach_dep.s \
226 -    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
227 -    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
228 -
229 -if POWERPC_DARWIN
230 -asm_libgc_sources = powerpc_darwin_mach_dep.s
231 -else
232 -asm_libgc_sources = 
233 -endif
234 +EXTRA_GC_SOURCES = alpha_mach_dep.s \
235 +mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
236 +rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
237 +sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
238  
239 -libgcjgc_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
240 -libgcjgc_convenience_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
241 +libgcjgc_la_SOURCES = $(GC_SOURCES)
242 +libgcjgc_convenience_la_SOURCES = $(GC_SOURCES)
243  EXTRA_libgcjgc_la_SOURCES = $(EXTRA_GC_SOURCES)
244  EXTRA_libgcjgc_convenience_la_SOURCES = $(EXTRA_GC_SOURCES)
245  
246 @@ -93,6 +77,8 @@
247         $(AM_CPPFLAGS) $(CPPFLAGS) \
248         $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) 
249  LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
250 +
251 +AM_CFLAGS = @GC_CFLAGS@
252  
253  # Work around what appears to be a GNU make bug handling MAKEFLAGS
254  # values defined in terms of make variables, as is the case for CC and
255 diff -Nur ../boehm-gc/Makefile.am~ boehm-gc/Makefile.am~
256 --- ../boehm-gc/Makefile.am~    Thu Oct 24 16:42:27 2002
257 +++ boehm-gc/Makefile.am~       Wed Dec 31 16:00:00 1969
258 @@ -1,159 +0,0 @@
259 -## Process this file with automake to produce Makefile.in.
260 -
261 -## FIXME: `make dist' in this directory will not currently work.  Many
262 -## files that should be in the distribution are not mentioned in this
263 -## Makefile.am.
264 -
265 -AUTOMAKE_OPTIONS = cygnus
266 -
267 -SUBDIRS = include
268 -
269 -# Multilib support variables.
270 -MULTISRCTOP =
271 -MULTIBUILDTOP =
272 -MULTIDIRS =
273 -MULTISUBDIR =
274 -MULTIDO = true
275 -MULTICLEAN = true
276 -
277 -## Install a library built with a cross compiler in tooldir, not
278 -## libdir.
279 -if USE_LIBDIR
280 -toolexeclibdir = $(libdir)$(MULTISUBDIR)
281 -else
282 -toolexecdir = $(exec_prefix)/$(target_alias)
283 -toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
284 -endif
285 -
286 -noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
287 -
288 -GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
289 -dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
290 -linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
291 -obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
292 -solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
293 -backgraph.c win32_threads.c
294 -
295 -EXTRA_GC_SOURCES = alpha_mach_dep.s \
296 -mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
297 -rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
298 -sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
299 -
300 -libgcjgc_la_SOURCES = $(GC_SOURCES)
301 -libgcjgc_convenience_la_SOURCES = $(GC_SOURCES)
302 -EXTRA_libgcjgc_la_SOURCES = $(EXTRA_GC_SOURCES)
303 -EXTRA_libgcjgc_convenience_la_SOURCES = $(EXTRA_GC_SOURCES)
304 -
305 -# Include THREADLIBS here to ensure that the correct versions of
306 -# linuxthread semaphore functions get linked:
307 -libgcjgc_la_LIBADD = @addobjs@ $(THREADLIBS)
308 -libgcjgc_la_DEPENDENCIES = @addobjs@
309 -libgcjgc_la_LDFLAGS = -version-info 1:1:0 -rpath $(toolexeclibdir)
310 -
311 -libgcjgc_convenience_la_LIBADD = @addobjs@
312 -libgcjgc_convenience_la_DEPENDENCIES = @addobjs@
313 -
314 -AM_CXXFLAGS = @GC_CFLAGS@
315 -AM_CFLAGS = @GC_CFLAGS@
316 -
317 -check_PROGRAMS = gctest
318 -# The following hack produces a warning from automake, but we need it in order 
319 -# to build a file from a subdirectory. FIXME.
320 -test.o:        tests/test.c
321 -       $(COMPILE) -c $(srcdir)/tests/test.c
322 -#      Using $< in the above seems to fail with the HP/UX on Itanium make.
323 -
324 -gctest_OBJECTS = test.o
325 -gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(EXTRA_TEST_LIBS)
326 -gctest_LDFLAGS = -shared-libgcc
327 -TESTS_ENVIRONMENT = LD_LIBRARY_PATH=../../$(MULTIBUILDTOP)gcc
328 -TESTS = gctest
329 -
330 -## FIXME: relies on internal code generated by automake.
331 -all_objs = @addobjs@ $(libgcjgc_la_OBJECTS)
332 -$(all_objs) : include/private/gcconfig.h include/private/gc_priv.h \
333 -include/private/gc_hdrs.h include/gc.h include/gc_gcj.h include/gc_mark.h
334 -
335 -## FIXME: we shouldn't have to do this, but automake forces us to.
336 -.s.lo:
337 -## We use -Wp,-P to strip #line directives.  Irix `as' chokes on
338 -## these.
339 -       $(LTCOMPILE) -Wp,-P -x assembler-with-cpp -c $<
340 -
341 -## We have our own definition of LTCOMPILE because we want to use our
342 -## CFLAGS, not those passed in from the top level make.
343 -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) \
344 -       $(AM_CPPFLAGS) $(CPPFLAGS) \
345 -       $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) 
346 -LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
347 -
348 -AM_CFLAGS = @GC_CFLAGS@
349 -
350 -# Work around what appears to be a GNU make bug handling MAKEFLAGS
351 -# values defined in terms of make variables, as is the case for CC and
352 -# friends when we are called from the top level Makefile.
353 -AM_MAKEFLAGS = \
354 -       "AR_FLAGS=$(AR_FLAGS)" \
355 -       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
356 -       "CFLAGS=$(CFLAGS)" \
357 -       "CXXFLAGS=$(CXXFLAGS)" \
358 -       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
359 -       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
360 -       "INSTALL=$(INSTALL)" \
361 -       "INSTALL_DATA=$(INSTALL_DATA)" \
362 -       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
363 -       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
364 -       "LDFLAGS=$(LDFLAGS)" \
365 -       "LIBCFLAGS=$(LIBCFLAGS)" \
366 -       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
367 -       "MAKE=$(MAKE)" \
368 -       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
369 -       "PICFLAG=$(PICFLAG)" \
370 -       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
371 -       "SHELL=$(SHELL)" \
372 -       "EXPECT=$(EXPECT)" \
373 -       "RUNTEST=$(RUNTEST)" \
374 -       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
375 -       "exec_prefix=$(exec_prefix)" \
376 -       "infodir=$(infodir)" \
377 -       "libdir=$(libdir)" \
378 -       "prefix=$(prefix)" \
379 -       "tooldir=$(tooldir)" \
380 -       "AR=$(AR)" \
381 -       "AS=$(AS)" \
382 -       "CC=$(CC)" \
383 -       "CXX=$(CXX)" \
384 -       "LD=$(LD)" \
385 -       "LIBCFLAGS=$(LIBCFLAGS)" \
386 -       "NM=$(NM)" \
387 -       "PICFLAG=$(PICFLAG)" \
388 -       "RANLIB=$(RANLIB)" \
389 -       "DESTDIR=$(DESTDIR)"
390 -
391 -CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
392 -
393 -# Multilib support.
394 -.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
395 -       maintainer-clean-multi
396 -
397 -all-am: all-multi
398 -install-am: install-multi
399 -mostlyclean-am: mostlyclean-multi
400 -clean-am: clean-multi
401 -distclean-am: distclean-multi
402 -maintainer-clean-am: maintainer-clean-multi
403 -
404 -all-multi:
405 -       : $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
406 -install-multi:
407 -       $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
408 -mostlyclean-multi:
409 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
410 -clean-multi:
411 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
412 -distclean-multi:
413 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
414 -maintainer-clean-multi:
415 -       $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
416 -
417 -MAKEOVERRIDES=
418 diff -Nur ../boehm-gc/Makefile.in boehm-gc/Makefile.in
419 --- ../boehm-gc/Makefile.in     Mon May 26 13:08:48 2003
420 +++ boehm-gc/Makefile.in        Tue May 13 17:18:14 2003
421 @@ -1,8 +1,6 @@
422 -# Makefile.in generated by automake 1.6.3 from Makefile.am.
423 -# @configure_input@
424 +# Makefile.in generated automatically by automake 1.4 from Makefile.am
425  
426 -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
427 -# Free Software Foundation, Inc.
428 +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
429  # This Makefile.in is free software; the Free Software Foundation
430  # gives unlimited permission to copy and/or distribute it,
431  # with or without modifications, as long as this notice is preserved.
432 @@ -12,7 +10,7 @@
433  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
434  # PARTICULAR PURPOSE.
435  
436 -@SET_MAKE@
437 +
438  SHELL = @SHELL@
439  
440  srcdir = @srcdir@
441 @@ -33,9 +31,13 @@
442  mandir = @mandir@
443  includedir = @includedir@
444  oldincludedir = /usr/include
445 +
446 +DESTDIR =
447 +
448  pkgdatadir = $(datadir)/@PACKAGE@
449  pkglibdir = $(libdir)/@PACKAGE@
450  pkgincludedir = $(includedir)/@PACKAGE@
451 +
452  top_builddir = .
453  
454  ACLOCAL = @ACLOCAL@
455 @@ -43,16 +45,12 @@
456  AUTOMAKE = @AUTOMAKE@
457  AUTOHEADER = @AUTOHEADER@
458  
459 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
460  INSTALL = @INSTALL@
461 -INSTALL_PROGRAM = @INSTALL_PROGRAM@
462 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
463  INSTALL_DATA = @INSTALL_DATA@
464 -install_sh_DATA = $(install_sh) -c -m 644
465 -install_sh_PROGRAM = $(install_sh) -c
466 -install_sh_SCRIPT = $(install_sh) -c
467  INSTALL_SCRIPT = @INSTALL_SCRIPT@
468 -INSTALL_HEADER = $(INSTALL_DATA)
469  transform = @program_transform_name@
470 +
471  NORMAL_INSTALL = :
472  PRE_INSTALL = :
473  POST_INSTALL = :
474 @@ -65,48 +63,38 @@
475  host_triplet = @host@
476  target_alias = @target_alias@
477  target_triplet = @target@
478 -
479 -EXEEXT = @EXEEXT@
480 -OBJEXT = @OBJEXT@
481 -PATH_SEPARATOR = @PATH_SEPARATOR@
482 -AMTAR = @AMTAR@
483  AR = @AR@
484  AS = @AS@
485 -AWK = @AWK@
486  CC = @CC@
487  CPP = @CPP@
488  CXX = @CXX@
489  CXXCPP = @CXXCPP@
490  CXXINCLUDES = @CXXINCLUDES@
491 -DEPDIR = @DEPDIR@
492  DLLTOOL = @DLLTOOL@
493 -ECHO = @ECHO@
494 -EGREP = @EGREP@
495 +EXEEXT = @EXEEXT@
496  EXTRA_TEST_LIBS = @EXTRA_TEST_LIBS@
497 -F77 = @F77@
498  GCJ = @GCJ@
499  GCJFLAGS = @GCJFLAGS@
500  GC_CFLAGS = @GC_CFLAGS@
501  INCLUDES = @INCLUDES@
502 -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
503  LIBTOOL = @LIBTOOL@
504  LN_S = @LN_S@
505  MAINT = @MAINT@
506 +MAKEINFO = @MAKEINFO@
507  MY_CFLAGS = @MY_CFLAGS@
508  OBJDUMP = @OBJDUMP@
509 +OBJEXT = @OBJEXT@
510  PACKAGE = @PACKAGE@
511  RANLIB = @RANLIB@
512 -RC = @RC@
513  STRIP = @STRIP@
514  THREADLIBS = @THREADLIBS@
515  VERSION = @VERSION@
516  addobjs = @addobjs@
517 -am__include = @am__include@
518 -am__quote = @am__quote@
519  gc_basedir = @gc_basedir@
520 -install_sh = @install_sh@
521  mkinstalldirs = @mkinstalldirs@
522  target_all = @target_all@
523 +toolexecdir = @toolexecdir@
524 +toolexeclibdir = @toolexeclibdir@
525  
526  AUTOMAKE_OPTIONS = cygnus
527  
528 @@ -120,32 +108,24 @@
529  MULTIDO = true
530  MULTICLEAN = true
531  
532 -@USE_LIBDIR_TRUE@toolexeclibdir = $(libdir)$(MULTISUBDIR)
533 -@USE_LIBDIR_FALSE@toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
534 -@USE_LIBDIR_FALSE@toolexecdir = $(exec_prefix)/$(target_alias)
535 -
536  noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
537  
538  GC_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
539  dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c irix_threads.c \
540 -malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
541 +linux_threads.c malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
542  obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
543  solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
544 -backgraph.c win32_threads.c \
545 -pthread_support.c pthread_stop_world.c darwin_stop_world.c
546 -
547 +backgraph.c win32_threads.c
548  
549 -EXTRA_GC_SOURCES = alpha_mach_dep.S \
550 -    mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_darwin_mach_dep.s \
551 -    rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
552 -    sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
553  
554 +EXTRA_GC_SOURCES = alpha_mach_dep.s \
555 +mips_sgi_mach_dep.S mips_ultrix_mach_dep.s powerpc_macosx_mach_dep.s \
556 +rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
557 +sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
558  
559 -@POWERPC_DARWIN_TRUE@asm_libgc_sources = powerpc_darwin_mach_dep.s
560 -@POWERPC_DARWIN_FALSE@asm_libgc_sources = 
561  
562 -libgcjgc_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
563 -libgcjgc_convenience_la_SOURCES = $(GC_SOURCES) $(asm_libgc_sources)
564 +libgcjgc_la_SOURCES = $(GC_SOURCES)
565 +libgcjgc_convenience_la_SOURCES = $(GC_SOURCES)
566  EXTRA_libgcjgc_la_SOURCES = $(EXTRA_GC_SOURCES)
567  EXTRA_libgcjgc_convenience_la_SOURCES = $(EXTRA_GC_SOURCES)
568  
569 @@ -159,11 +139,12 @@
570  libgcjgc_convenience_la_DEPENDENCIES = @addobjs@
571  
572  AM_CXXFLAGS = @GC_CFLAGS@
573 +
574  AM_CFLAGS = @GC_CFLAGS@
575  
576  check_PROGRAMS = gctest
577 -
578  #      Using $< in the above seems to fail with the HP/UX on Itanium make.
579 +
580  gctest_OBJECTS = test.o
581  gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(EXTRA_TEST_LIBS)
582  gctest_LDFLAGS = -shared-libgcc
583 @@ -223,127 +204,104 @@
584  CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
585  
586  MAKEOVERRIDES = 
587 -subdir = .
588  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
589 -CONFIG_CLEAN_FILES =
590 -LTLIBRARIES = $(noinst_LTLIBRARIES)
591 +CONFIG_CLEAN_FILES = 
592 +LTLIBRARIES =  $(noinst_LTLIBRARIES)
593  
594 -am__objects_1 = allchblk.lo alloc.lo blacklst.lo checksums.lo dbg_mlc.lo \
595 -       dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo \
596 -       irix_threads.lo malloc.lo mallocx.lo mark.lo mark_rts.lo \
597 -       misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo \
598 -       ptr_chck.lo real_malloc.lo reclaim.lo solaris_pthreads.lo \
599 -       solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo \
600 -       backgraph.lo win32_threads.lo pthread_support.lo \
601 -       pthread_stop_world.lo darwin_stop_world.lo
602 -@POWERPC_DARWIN_TRUE@am__objects_2 = powerpc_darwin_mach_dep.lo
603 -@POWERPC_DARWIN_FALSE@am__objects_2 =
604 -am_libgcjgc_la_OBJECTS = $(am__objects_1) $(am__objects_2)
605 -libgcjgc_la_OBJECTS = $(am_libgcjgc_la_OBJECTS)
606 -libgcjgc_convenience_la_LDFLAGS =
607 -am_libgcjgc_convenience_la_OBJECTS = $(am__objects_1) $(am__objects_2)
608 -libgcjgc_convenience_la_OBJECTS = $(am_libgcjgc_convenience_la_OBJECTS)
609 -check_PROGRAMS = gctest$(EXEEXT)
610 -gctest_DEPENDENCIES = ./libgcjgc.la
611  
612 -DEFS = @DEFS@
613 -DEFAULT_INCLUDES =  -I. -I$(srcdir)
614 +DEFS = @DEFS@ -I. -I$(srcdir) 
615  CPPFLAGS = @CPPFLAGS@
616  LDFLAGS = @LDFLAGS@
617  LIBS = @LIBS@
618 -depcomp =
619 -am__depfiles_maybe =
620 -CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
621 -LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
622 -       $(CCASFLAGS)
623 -CCASFLAGS = @CCASFLAGS@
624 -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
625 -       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
626 -CCLD = $(CC)
627 +libgcjgc_la_OBJECTS =  allchblk.lo alloc.lo blacklst.lo checksums.lo \
628 +dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo \
629 +irix_threads.lo linux_threads.lo malloc.lo mallocx.lo mark.lo \
630 +mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo \
631 +ptr_chck.lo real_malloc.lo reclaim.lo solaris_pthreads.lo \
632 +solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo \
633 +win32_threads.lo
634 +libgcjgc_convenience_la_LDFLAGS = 
635 +libgcjgc_convenience_la_OBJECTS =  allchblk.lo alloc.lo blacklst.lo \
636 +checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
637 +headers.lo irix_threads.lo linux_threads.lo malloc.lo mallocx.lo \
638 +mark.lo mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo \
639 +pcr_interface.lo ptr_chck.lo real_malloc.lo reclaim.lo \
640 +solaris_pthreads.lo solaris_threads.lo specific.lo stubborn.lo \
641 +typd_mlc.lo backgraph.lo win32_threads.lo
642 +check_PROGRAMS =  gctest$(EXEEXT)
643 +gctest_DEPENDENCIES =  ./libgcjgc.la
644  CFLAGS = @CFLAGS@
645 -DIST_SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) \
646 -       $(libgcjgc_convenience_la_SOURCES) \
647 -       $(EXTRA_libgcjgc_convenience_la_SOURCES)
648 -
649 -RECURSIVE_TARGETS = info-recursive dvi-recursive \
650 -       uninstall-info-recursive all-recursive install-data-recursive \
651 -       install-exec-recursive installdirs-recursive install-recursive \
652 -       uninstall-recursive check-recursive installcheck-recursive
653 -SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES) $(EXTRA_libgcjgc_convenience_la_SOURCES)
654 +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
655 +CCLD = $(CC)
656 +DIST_COMMON =  ChangeLog Makefile.am Makefile.in acinclude.m4 aclocal.m4 \
657 +config.guess config.sub configure configure.in install-sh ltconfig \
658 +ltmain.sh mkinstalldirs
659 +
660 +
661 +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
662  
663 -all: all-recursive
664 +TAR = gtar
665 +GZIP_ENV = --best
666 +SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES) $(EXTRA_libgcjgc_convenience_la_SOURCES)
667 +OBJECTS = $(libgcjgc_la_OBJECTS) $(libgcjgc_convenience_la_OBJECTS)
668  
669 +all: all-redirect
670  .SUFFIXES:
671  .SUFFIXES: .S .c .lo .o .obj .s
672 +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
673 +       cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
674 +
675 +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
676 +       cd $(top_builddir) \
677 +         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
678  
679 -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
680 - configure.lineno
681 -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
682 -       cd $(top_srcdir) && \
683 -         $(AUTOMAKE) --cygnus  Makefile
684 -Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
685 -       cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
686 +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in  acinclude.m4
687 +       cd $(srcdir) && $(ACLOCAL)
688  
689 -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
690 +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
691         $(SHELL) ./config.status --recheck
692 -$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
693 +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
694         cd $(srcdir) && $(AUTOCONF)
695  
696 -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
697 -       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
698 +mostlyclean-noinstLTLIBRARIES:
699  
700  clean-noinstLTLIBRARIES:
701         -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
702 -       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
703 -         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
704 -         test -z "$dir" && dir=.; \
705 -         echo "rm -f \"$${dir}/so_locations\""; \
706 -         rm -f "$${dir}/so_locations"; \
707 -       done
708 -libgcjgc.la: $(libgcjgc_la_OBJECTS) $(libgcjgc_la_DEPENDENCIES) 
709 -       $(LINK)  $(libgcjgc_la_LDFLAGS) $(libgcjgc_la_OBJECTS) $(libgcjgc_la_LIBADD) $(LIBS)
710 -libgcjgc_convenience.la: $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_DEPENDENCIES) 
711 -       $(LINK)  $(libgcjgc_convenience_la_LDFLAGS) $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_LIBADD) $(LIBS)
712  
713 -clean-checkPROGRAMS:
714 -       @list='$(check_PROGRAMS)'; for p in $$list; do \
715 -         f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
716 -         echo " rm -f $$p $$f"; \
717 -         rm -f $$p $$f ; \
718 -       done
719 -gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES) 
720 -       @rm -f gctest$(EXEEXT)
721 -       $(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
722 +distclean-noinstLTLIBRARIES:
723  
724 -mostlyclean-compile:
725 -       -rm -f *.$(OBJEXT) core *.core
726 +maintainer-clean-noinstLTLIBRARIES:
727  
728 -distclean-compile:
729 -       -rm -f *.tab.c
730 +.c.o:
731 +       $(COMPILE) -c $<
732 +
733 +# FIXME: We should only use cygpath when building on Windows,
734 +# and only if it is available.
735 +.c.obj:
736 +       $(COMPILE) -c `cygpath -w $<`
737 +
738 +.s.o:
739 +       $(COMPILE) -c $<
740  
741  .S.o:
742 -       $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
743 +       $(COMPILE) -c $<
744  
745 -.S.obj:
746 -       $(CCASCOMPILE) -c `cygpath -w $<`
747 +mostlyclean-compile:
748 +       -rm -f *.o core *.core
749 +       -rm -f *.$(OBJEXT)
750  
751 -.S.lo:
752 -       $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
753 +clean-compile:
754  
755 -.c.o:
756 -       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
757 +distclean-compile:
758 +       -rm -f *.tab.c
759  
760 -.c.obj:
761 -       $(COMPILE) -c `cygpath -w $<`
762 +maintainer-clean-compile:
763  
764  .c.lo:
765 -       $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
766 +       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
767  
768 -.s.o:
769 -       $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
770 -
771 -.s.obj:
772 -       $(CCASCOMPILE) -c `cygpath -w $<`
773 +.S.lo:
774 +       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
775  
776  mostlyclean-libtool:
777         -rm -f *.lo
778 @@ -352,8 +310,27 @@
779         -rm -rf .libs _libs
780  
781  distclean-libtool:
782 -       -rm -f libtool
783 -uninstall-info-am:
784 +
785 +maintainer-clean-libtool:
786 +
787 +libgcjgc.la: $(libgcjgc_la_OBJECTS) $(libgcjgc_la_DEPENDENCIES)
788 +       $(LINK)  $(libgcjgc_la_LDFLAGS) $(libgcjgc_la_OBJECTS) $(libgcjgc_la_LIBADD) $(LIBS)
789 +
790 +libgcjgc_convenience.la: $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_DEPENDENCIES)
791 +       $(LINK)  $(libgcjgc_convenience_la_LDFLAGS) $(libgcjgc_convenience_la_OBJECTS) $(libgcjgc_convenience_la_LIBADD) $(LIBS)
792 +
793 +mostlyclean-checkPROGRAMS:
794 +
795 +clean-checkPROGRAMS:
796 +       -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
797 +
798 +distclean-checkPROGRAMS:
799 +
800 +maintainer-clean-checkPROGRAMS:
801 +
802 +gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES)
803 +       @rm -f gctest$(EXEEXT)
804 +       $(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
805  
806  # This directory's subdirectories are mostly independent; you can cd
807  # into them and run `make' without going through this Makefile.
808 @@ -361,8 +338,13 @@
809  # (1) if the variable is set in `config.status', edit `config.status'
810  #     (which will cause the Makefiles to be regenerated when you run `make');
811  # (2) otherwise, pass the desired values on the `make' command line.
812 -$(RECURSIVE_TARGETS):
813 -       @set fnord $$MAKEFLAGS; amf=$$2; \
814 +
815 +@SET_MAKE@
816 +
817 +all-recursive install-data-recursive install-exec-recursive \
818 +installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
819 +check-recursive installcheck-recursive info-recursive dvi-recursive:
820 +       @set fnord $(MAKEFLAGS); amf=$$2; \
821         dot_seen=no; \
822         target=`echo $@ | sed s/-recursive//`; \
823         list='$(SUBDIRS)'; for subdir in $$list; do \
824 @@ -382,18 +364,13 @@
825  
826  mostlyclean-recursive clean-recursive distclean-recursive \
827  maintainer-clean-recursive:
828 -       @set fnord $$MAKEFLAGS; amf=$$2; \
829 +       @set fnord $(MAKEFLAGS); amf=$$2; \
830         dot_seen=no; \
831 -       case "$@" in \
832 -         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
833 -         *) list='$(SUBDIRS)' ;; \
834 -       esac; \
835 -       rev=''; for subdir in $$list; do \
836 -         if test "$$subdir" = "."; then :; else \
837 -           rev="$$subdir $$rev"; \
838 -         fi; \
839 +       rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
840 +         rev="$$subdir $$rev"; \
841 +         test "$$subdir" = "." && dot_seen=yes; \
842         done; \
843 -       rev="$$rev ."; \
844 +       test "$$dot_seen" = "no" && rev=". $$rev"; \
845         target=`echo $@ | sed s/-recursive//`; \
846         for subdir in $$rev; do \
847           echo "Making $$target in $$subdir"; \
848 @@ -410,186 +387,211 @@
849           test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
850         done
851  
852 -ETAGS = etags
853 -ETAGSFLAGS =
854 -
855  tags: TAGS
856  
857 -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
858 -       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
859 -       unique=`for i in $$list; do \
860 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
861 -         done | \
862 -         $(AWK) '    { files[$$0] = 1; } \
863 +ID: $(HEADERS) $(SOURCES) $(LISP)
864 +       list='$(SOURCES) $(HEADERS)'; \
865 +       unique=`for i in $$list; do echo $$i; done | \
866 +         awk '    { files[$$0] = 1; } \
867                END { for (i in files) print i; }'`; \
868 -       mkid -fID $$unique
869 +       here=`pwd` && cd $(srcdir) \
870 +         && mkid -f$$here/ID $$unique $(LISP)
871  
872 -TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
873 -               $(TAGS_FILES) $(LISP)
874 +TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
875         tags=; \
876         here=`pwd`; \
877         list='$(SUBDIRS)'; for subdir in $$list; do \
878 -         if test "$$subdir" = .; then :; else \
879 +   if test "$$subdir" = .; then :; else \
880             test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
881 -         fi; \
882 +   fi; \
883         done; \
884 -       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
885 -       unique=`for i in $$list; do \
886 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
887 -         done | \
888 -         $(AWK) '    { files[$$0] = 1; } \
889 +       list='$(SOURCES) $(HEADERS)'; \
890 +       unique=`for i in $$list; do echo $$i; done | \
891 +         awk '    { files[$$0] = 1; } \
892                END { for (i in files) print i; }'`; \
893 -       test -z "$(ETAGS_ARGS)$$tags$$unique" \
894 -         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
895 -            $$tags $$unique
896 -
897 -GTAGS:
898 -       here=`$(am__cd) $(top_builddir) && pwd` \
899 -         && cd $(top_srcdir) \
900 -         && gtags -i $(GTAGS_ARGS) $$here
901 +       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
902 +         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
903 +
904 +mostlyclean-tags:
905 +
906 +clean-tags:
907  
908  distclean-tags:
909 -       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
910 +       -rm -f TAGS ID
911 +
912 +maintainer-clean-tags:
913  
914 +distdir = $(PACKAGE)-$(VERSION)
915 +top_distdir = $(distdir)
916 +
917 +# This target untars the dist file and tries a VPATH configuration.  Then
918 +# it guarantees that the distribution is self-contained by making another
919 +# tarfile.
920 +distcheck: dist
921 +       -rm -rf $(distdir)
922 +       GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
923 +       mkdir $(distdir)/=build
924 +       mkdir $(distdir)/=inst
925 +       dc_install_base=`cd $(distdir)/=inst && pwd`; \
926 +       cd $(distdir)/=build \
927 +         && ../configure --srcdir=.. --prefix=$$dc_install_base \
928 +         && $(MAKE) $(AM_MAKEFLAGS) \
929 +         && $(MAKE) $(AM_MAKEFLAGS) dvi \
930 +         && $(MAKE) $(AM_MAKEFLAGS) check \
931 +         && $(MAKE) $(AM_MAKEFLAGS) install \
932 +         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
933 +         && $(MAKE) $(AM_MAKEFLAGS) dist
934 +       -rm -rf $(distdir)
935 +       @banner="$(distdir).tar.gz is ready for distribution"; \
936 +       dashes=`echo "$$banner" | sed s/./=/g`; \
937 +       echo "$$dashes"; \
938 +       echo "$$banner"; \
939 +       echo "$$dashes"
940 +dist: distdir
941 +       -chmod -R a+r $(distdir)
942 +       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
943 +       -rm -rf $(distdir)
944 +dist-all: distdir
945 +       -chmod -R a+r $(distdir)
946 +       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
947 +       -rm -rf $(distdir)
948 +distdir: $(DISTFILES)
949 +       -rm -rf $(distdir)
950 +       mkdir $(distdir)
951 +       -chmod 777 $(distdir)
952 +       @for file in $(DISTFILES); do \
953 +         if test -f $$file; then d=.; else d=$(srcdir); fi; \
954 +         if test -d $$d/$$file; then \
955 +           cp -pr $$d/$$file $(distdir)/$$file; \
956 +         else \
957 +           test -f $(distdir)/$$file \
958 +           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
959 +           || cp -p $$d/$$file $(distdir)/$$file || :; \
960 +         fi; \
961 +       done
962 +       for subdir in $(SUBDIRS); do \
963 +         if test "$$subdir" = .; then :; else \
964 +           test -d $(distdir)/$$subdir \
965 +           || mkdir $(distdir)/$$subdir \
966 +           || exit 1; \
967 +           chmod 777 $(distdir)/$$subdir; \
968 +           (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
969 +             || exit 1; \
970 +         fi; \
971 +       done
972  check-TESTS: $(TESTS)
973 -       @failed=0; all=0; xfail=0; xpass=0; \
974 +       @failed=0; all=0; \
975         srcdir=$(srcdir); export srcdir; \
976 -       list='$(TESTS)'; \
977 -       if test -n "$$list"; then \
978 -         for tst in $$list; do \
979 -           if test -f ./$$tst; then dir=./; \
980 -           elif test -f $$tst; then dir=; \
981 -           else dir="$(srcdir)/"; fi; \
982 -           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
983 -             all=`expr $$all + 1`; \
984 -             case " $(XFAIL_TESTS) " in \
985 -             *" $$tst "*) \
986 -               xpass=`expr $$xpass + 1`; \
987 -               failed=`expr $$failed + 1`; \
988 -               echo "XPASS: $$tst"; \
989 -             ;; \
990 -             *) \
991 -               echo "PASS: $$tst"; \
992 -             ;; \
993 -             esac; \
994 -           elif test $$? -ne 77; then \
995 -             all=`expr $$all + 1`; \
996 -             case " $(XFAIL_TESTS) " in \
997 -             *" $$tst "*) \
998 -               xfail=`expr $$xfail + 1`; \
999 -               echo "XFAIL: $$tst"; \
1000 -             ;; \
1001 -             *) \
1002 -               failed=`expr $$failed + 1`; \
1003 -               echo "FAIL: $$tst"; \
1004 -             ;; \
1005 -             esac; \
1006 -           fi; \
1007 -         done; \
1008 -         if test "$$failed" -eq 0; then \
1009 -           if test "$$xfail" -eq 0; then \
1010 -             banner="All $$all tests passed"; \
1011 -           else \
1012 -             banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
1013 -           fi; \
1014 -         else \
1015 -           if test "$$xpass" -eq 0; then \
1016 -             banner="$$failed of $$all tests failed"; \
1017 -           else \
1018 -             banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
1019 -           fi; \
1020 +       for tst in $(TESTS); do \
1021 +         if test -f $$tst; then dir=.; \
1022 +         else dir="$(srcdir)"; fi; \
1023 +         if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
1024 +           all=`expr $$all + 1`; \
1025 +           echo "PASS: $$tst"; \
1026 +         elif test $$? -ne 77; then \
1027 +           all=`expr $$all + 1`; \
1028 +           failed=`expr $$failed + 1`; \
1029 +           echo "FAIL: $$tst"; \
1030           fi; \
1031 -         dashes=`echo "$$banner" | sed s/./=/g`; \
1032 -         echo "$$dashes"; \
1033 -         echo "$$banner"; \
1034 -         echo "$$dashes"; \
1035 -         test "$$failed" -eq 0; \
1036 -       else :; fi
1037 +       done; \
1038 +       if test "$$failed" -eq 0; then \
1039 +         banner="All $$all tests passed"; \
1040 +       else \
1041 +         banner="$$failed of $$all tests failed"; \
1042 +       fi; \
1043 +       dashes=`echo "$$banner" | sed s/./=/g`; \
1044 +       echo "$$dashes"; \
1045 +       echo "$$banner"; \
1046 +       echo "$$dashes"; \
1047 +       test "$$failed" -eq 0
1048 +info-am:
1049 +info: info-recursive
1050 +dvi-am:
1051 +dvi: dvi-recursive
1052  check-am: $(check_PROGRAMS)
1053         $(MAKE) $(AM_MAKEFLAGS) check-TESTS
1054  check: check-recursive
1055 +installcheck-am:
1056 +installcheck: installcheck-recursive
1057 +install-info-am: 
1058 +install-info: install-info-recursive
1059 +install-exec-am:
1060 +install-exec: install-exec-recursive
1061 +
1062 +install-data-am:
1063 +install-data: install-data-recursive
1064 +
1065 +install-am: all-am
1066 +       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
1067 +install: install-recursive
1068 +uninstall-am:
1069 +uninstall: uninstall-recursive
1070  all-am: Makefile $(LTLIBRARIES)
1071 +all-redirect: all-recursive
1072 +install-strip:
1073 +       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
1074  installdirs: installdirs-recursive
1075  installdirs-am:
1076  
1077 -install: install-recursive
1078 -install-exec: install-exec-recursive
1079 -install-data: install-data-recursive
1080 -uninstall: uninstall-recursive
1081  
1082 -installcheck: installcheck-recursive
1083 -install-strip:
1084 -       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1085 -         INSTALL_STRIP_FLAG=-s \
1086 -         `test -z '$(STRIP)' || \
1087 -           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
1088  mostlyclean-generic:
1089  
1090  clean-generic:
1091  
1092  distclean-generic:
1093         -rm -f Makefile $(CONFIG_CLEAN_FILES)
1094 +       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
1095  
1096  maintainer-clean-generic:
1097 -       @echo "This command is intended for maintainers to use"
1098 -       @echo "it deletes files that may require special tools to rebuild."
1099 -clean: clean-recursive
1100 -
1101 -clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
1102 -       clean-noinstLTLIBRARIES mostlyclean-am
1103 -
1104 -distclean: distclean-recursive
1105 -       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
1106 -distclean-am: clean-am distclean-compile distclean-generic \
1107 -       distclean-libtool distclean-tags
1108 -
1109 -dvi: dvi-recursive
1110 -
1111 -dvi-am:
1112 -
1113 -info: info-recursive
1114 +mostlyclean-am:  mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
1115 +               mostlyclean-libtool mostlyclean-checkPROGRAMS \
1116 +               mostlyclean-tags mostlyclean-generic
1117  
1118 -info-am:
1119 +mostlyclean: mostlyclean-recursive
1120  
1121 -install-data-am:
1122 +clean-am:  clean-noinstLTLIBRARIES clean-compile clean-libtool \
1123 +               clean-checkPROGRAMS clean-tags clean-generic \
1124 +               mostlyclean-am
1125  
1126 -install-exec-am:
1127 +clean: clean-recursive
1128  
1129 -install-info:
1130 +distclean-am:  distclean-noinstLTLIBRARIES distclean-compile \
1131 +               distclean-libtool distclean-checkPROGRAMS \
1132 +               distclean-tags distclean-generic clean-am
1133 +       -rm -f libtool
1134  
1135 -install-man:
1136 +distclean: distclean-recursive
1137 +       -rm -f config.status
1138  
1139 -installcheck-am:
1140 +maintainer-clean-am:  maintainer-clean-noinstLTLIBRARIES \
1141 +               maintainer-clean-compile maintainer-clean-libtool \
1142 +               maintainer-clean-checkPROGRAMS maintainer-clean-tags \
1143 +               maintainer-clean-generic distclean-am
1144 +       @echo "This command is intended for maintainers to use;"
1145 +       @echo "it deletes files that may require special tools to rebuild."
1146  
1147  maintainer-clean: maintainer-clean-recursive
1148 -       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
1149 -       -rm -rf autom4te.cache
1150 -maintainer-clean-am: distclean-am maintainer-clean-generic
1151 -
1152 -mostlyclean: mostlyclean-recursive
1153 -
1154 -mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1155 -       mostlyclean-libtool
1156 +       -rm -f config.status
1157  
1158 -uninstall-am:
1159 -
1160 -uninstall-info: uninstall-info-recursive
1161 -
1162 -.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-TESTS check-am \
1163 -       clean clean-checkPROGRAMS clean-generic clean-libtool \
1164 -       clean-noinstLTLIBRARIES clean-recursive distclean \
1165 -       distclean-compile distclean-generic distclean-libtool \
1166 -       distclean-recursive distclean-tags dvi dvi-am dvi-recursive \
1167 -       info info-am info-recursive install install-am install-data \
1168 -       install-data-am install-data-recursive install-exec \
1169 -       install-exec-am install-exec-recursive install-info \
1170 -       install-info-am install-man install-recursive install-strip \
1171 -       installcheck installcheck-am installdirs installdirs-am \
1172 -       installdirs-recursive maintainer-clean maintainer-clean-generic \
1173 -       maintainer-clean-recursive mostlyclean mostlyclean-compile \
1174 -       mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
1175 -       tags tags-recursive uninstall uninstall-am uninstall-info-am \
1176 -       uninstall-info-recursive uninstall-recursive
1177 +.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
1178 +clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
1179 +mostlyclean-compile distclean-compile clean-compile \
1180 +maintainer-clean-compile mostlyclean-libtool distclean-libtool \
1181 +clean-libtool maintainer-clean-libtool mostlyclean-checkPROGRAMS \
1182 +distclean-checkPROGRAMS clean-checkPROGRAMS \
1183 +maintainer-clean-checkPROGRAMS install-data-recursive \
1184 +uninstall-data-recursive install-exec-recursive \
1185 +uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
1186 +all-recursive check-recursive installcheck-recursive info-recursive \
1187 +dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
1188 +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
1189 +distclean-tags clean-tags maintainer-clean-tags distdir check-TESTS \
1190 +info-am info dvi-am dvi check check-am installcheck-am installcheck \
1191 +install-info-am install-info install-exec-am install-exec \
1192 +install-data-am install-data install-am install uninstall-am uninstall \
1193 +all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
1194 +distclean-generic clean-generic maintainer-clean-generic clean \
1195 +mostlyclean distclean maintainer-clean
1196  
1197  # The following hack produces a warning from automake, but we need it in order 
1198  # to build a file from a subdirectory. FIXME.
1199 @@ -624,6 +626,7 @@
1200         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
1201  maintainer-clean-multi:
1202         $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
1203 +
1204  # Tell versions [3.59,3.63) of GNU make to not export all variables.
1205  # Otherwise a system limit (for SysV at least) may be exceeded.
1206  .NOEXPORT:
1207 diff -Nur ../boehm-gc/allchblk.c boehm-gc/allchblk.c
1208 --- ../boehm-gc/allchblk.c      Mon May 26 12:48:52 2003
1209 +++ boehm-gc/allchblk.c Mon Apr  8 17:39:15 2002
1210 @@ -47,16 +47,12 @@
1211  struct hblk * GC_hblkfreelist[N_HBLK_FLS+1] = { 0 };
1212  
1213  #ifndef USE_MUNMAP
1214 -
1215    word GC_free_bytes[N_HBLK_FLS+1] = { 0 };
1216         /* Number of free bytes on each list.   */
1217  
1218    /* Is bytes + the number of free bytes on lists n .. N_HBLK_FLS      */
1219    /* > GC_max_large_allocd_bytes?                                      */
1220 -# ifdef __GNUC__
1221 -  __inline__
1222 -# endif
1223 -  static GC_bool GC_enough_large_bytes_left(bytes,n)
1224 +  GC_bool GC_enough_large_bytes_left(bytes,n)
1225    word bytes;
1226    int n;
1227    {
1228 @@ -587,11 +583,11 @@
1229             if (!GC_use_entire_heap
1230                 && size_avail != size_needed
1231                 && USED_HEAP_SIZE >= GC_requested_heapsize
1232 -               && !TRUE_INCREMENTAL && GC_should_collect()) {
1233 +               && !GC_incremental && GC_should_collect()) {
1234  #              ifdef USE_MUNMAP
1235                     continue;
1236  #              else
1237 -                   /* If we have enough large blocks left to cover any */
1238 +                   /* If we enough large blocks left to cover any      */
1239                     /* previous request for large blocks, we go ahead   */
1240                     /* and split.  Assuming a steady state, that should */
1241                     /* be safe.  It means that we can use the full      */
1242 @@ -599,12 +595,6 @@
1243                     if (!GC_enough_large_bytes_left(GC_large_allocd_bytes, n)) {
1244                       continue;
1245                     } 
1246 -                   /* If we are deallocating lots of memory from       */
1247 -                   /* finalizers, fail and collect sooner rather       */
1248 -                   /* than later.                                      */
1249 -                   if (GC_finalizer_mem_freed > (GC_heapsize >> 4))  {
1250 -                     continue;
1251 -                   }
1252  #              endif /* !USE_MUNMAP */
1253             }
1254             /* If the next heap block is obviously better, go on.       */
1255 diff -Nur ../boehm-gc/alloc.c boehm-gc/alloc.c
1256 --- ../boehm-gc/alloc.c Mon May 26 12:48:52 2003
1257 +++ boehm-gc/alloc.c    Mon Mar  3 22:38:30 2003
1258 @@ -72,13 +72,6 @@
1259  GC_bool GC_need_full_gc = FALSE;
1260                            /* Need full GC do to heap growth.   */
1261  
1262 -#ifdef THREADS
1263 -  GC_bool GC_world_stopped = FALSE;
1264 -# define IF_THREADS(x) x
1265 -#else
1266 -# define IF_THREADS(x)
1267 -#endif
1268 -
1269  word GC_used_heap_size_after_full = 0;
1270  
1271  char * GC_copyright[] =
1272 @@ -126,6 +119,7 @@
1273      unsigned long time_diff;
1274      
1275      if ((count++ & 3) != 0) return(0);
1276 +#ifndef NO_CLOCK
1277      GET_TIME(current_time);
1278      time_diff = MS_TIME_DIFF(current_time,GC_start_time);
1279      if (time_diff >= GC_time_limit) {
1280 @@ -138,6 +132,7 @@
1281  #      endif
1282         return(1);
1283      }
1284 +#endif
1285      return(0);
1286    }
1287  #endif /* !SMALL_CONFIG */
1288 @@ -165,7 +160,7 @@
1289                                + (GC_large_free_bytes >> 2)
1290                                    /* use a bit more of large empty heap */
1291                                + total_root_size);
1292 -    if (TRUE_INCREMENTAL) {
1293 +    if (GC_incremental) {
1294          return scan_size / (2 * GC_free_space_divisor);
1295      } else {
1296          return scan_size / GC_free_space_divisor;
1297 @@ -187,8 +182,7 @@
1298      /* managed object should not alter result, assuming the client     */
1299      /* is playing by the rules.                                                */
1300      result = (signed_word)GC_words_allocd
1301 -            - (signed_word)GC_mem_freed 
1302 -            + (signed_word)GC_finalizer_mem_freed - expl_managed;
1303 +            - (signed_word)GC_mem_freed - expl_managed;
1304      if (result > (signed_word)GC_words_allocd) {
1305          result = GC_words_allocd;
1306         /* probably client bug or unfortunate scheduling */
1307 @@ -256,6 +250,7 @@
1308  
1309      if (GC_should_collect()) {
1310          if (!GC_incremental) {
1311 +           GC_notify_full_gc();
1312              GC_gcollect_inner();
1313              n_partial_gcs = 0;
1314              return;
1315 @@ -307,14 +302,10 @@
1316  /*
1317   * Stop the world garbage collection.  Assumes lock held, signals disabled.
1318   * If stop_func is not GC_never_stop_func, then abort if stop_func returns TRUE.
1319 - * Return TRUE if we successfully completed the collection.
1320   */
1321  GC_bool GC_try_to_collect_inner(stop_func)
1322  GC_stop_func stop_func;
1323  {
1324 -#   ifdef CONDPRINT
1325 -        CLOCK_TYPE start_time, current_time;
1326 -#   endif
1327      if (GC_dont_gc) return FALSE;
1328      if (GC_incremental && GC_collection_in_progress()) {
1329  #   ifdef CONDPRINT
1330 @@ -329,10 +320,8 @@
1331             GC_collect_a_little_inner(1);
1332         }
1333      }
1334 -    if (stop_func == GC_never_stop_func) GC_notify_full_gc();
1335  #   ifdef CONDPRINT
1336        if (GC_print_stats) {
1337 -        if (GC_print_stats) GET_TIME(start_time);
1338         GC_printf2(
1339            "Initiating full world-stop collection %lu after %ld allocd bytes\n",
1340            (unsigned long) GC_gc_no+1,
1341 @@ -371,13 +360,6 @@
1342        return(FALSE);
1343      }
1344      GC_finish_collection();
1345 -#   if defined(CONDPRINT)
1346 -      if (GC_print_stats) {
1347 -        GET_TIME(current_time);
1348 -        GC_printf1("Complete collection took %lu msecs\n",
1349 -                   MS_TIME_DIFF(current_time,start_time));
1350 -      }
1351 -#   endif
1352      return(TRUE);
1353  }
1354  
1355 @@ -448,7 +430,6 @@
1356      result = (int)GC_collection_in_progress();
1357      UNLOCK();
1358      ENABLE_SIGNALS();
1359 -    if (!result && GC_debugging_started) GC_print_all_smashed();
1360      return(result);
1361  }
1362  
1363 @@ -467,17 +448,16 @@
1364         CLOCK_TYPE start_time, current_time;
1365  #   endif
1366         
1367 +#   if defined(REGISTER_LIBRARIES_EARLY)
1368 +        GC_cond_register_dynamic_libraries();
1369 +#   endif
1370 +    STOP_WORLD();
1371  #   ifdef PRINTTIMES
1372         GET_TIME(start_time);
1373  #   endif
1374  #   if defined(CONDPRINT) && !defined(PRINTTIMES)
1375         if (GC_print_stats) GET_TIME(start_time);
1376  #   endif
1377 -#   if defined(REGISTER_LIBRARIES_EARLY)
1378 -        GC_cond_register_dynamic_libraries();
1379 -#   endif
1380 -    STOP_WORLD();
1381 -    IF_THREADS(GC_world_stopped = TRUE);
1382  #   ifdef CONDPRINT
1383        if (GC_print_stats) {
1384         GC_printf1("--> Marking for collection %lu ",
1385 @@ -508,7 +488,6 @@
1386                       }
1387  #                  endif
1388                     GC_deficit = i; /* Give the mutator a chance. */
1389 -                    IF_THREADS(GC_world_stopped = FALSE);
1390                     START_WORLD();
1391                     return(FALSE);
1392             }
1393 @@ -542,8 +521,6 @@
1394              (*GC_check_heap)();
1395          }
1396      
1397 -    IF_THREADS(GC_world_stopped = FALSE);
1398 -    START_WORLD();
1399  #   ifdef PRINTTIMES
1400         GET_TIME(current_time);
1401         GC_printf1("World-stopped marking took %lu msecs\n",
1402 @@ -557,6 +534,7 @@
1403         }
1404  #     endif
1405  #   endif
1406 +    START_WORLD();
1407      return(TRUE);
1408  }
1409  
1410 @@ -633,7 +611,6 @@
1411           GC_print_address_map();
1412         }
1413  #   endif
1414 -    COND_DUMP;
1415      if (GC_find_leak) {
1416        /* Mark all objects on the free list.  All objects should be */
1417        /* marked when we're done.                                  */
1418 @@ -730,7 +707,6 @@
1419        GC_words_allocd = 0;
1420        GC_words_wasted = 0;
1421        GC_mem_freed = 0;
1422 -      GC_finalizer_mem_freed = 0;
1423        
1424  #   ifdef USE_MUNMAP
1425        GC_unmap_old();
1426 @@ -754,7 +730,6 @@
1427      int result;
1428      DCL_LOCK_STATE;
1429      
1430 -    if (GC_debugging_started) GC_print_all_smashed();
1431      GC_INVOKE_FINALIZERS();
1432      DISABLE_SIGNALS();
1433      LOCK();
1434 @@ -766,17 +741,14 @@
1435      EXIT_GC();
1436      UNLOCK();
1437      ENABLE_SIGNALS();
1438 -    if(result) {
1439 -        if (GC_debugging_started) GC_print_all_smashed();
1440 -        GC_INVOKE_FINALIZERS();
1441 -    }
1442 +    if(result) GC_INVOKE_FINALIZERS();
1443      return(result);
1444  }
1445  
1446  void GC_gcollect GC_PROTO(())
1447  {
1448 +    GC_notify_full_gc();
1449      (void)GC_try_to_collect(GC_never_stop_func);
1450 -    if (GC_have_errors) GC_print_all_errors();
1451  }
1452  
1453  word GC_n_heap_sects = 0;      /* Number of sections currently in heap. */
1454 @@ -978,6 +950,7 @@
1455  {
1456      if (!GC_incremental && !GC_dont_gc &&
1457         (GC_dont_expand && GC_words_allocd > 0 || GC_should_collect())) {
1458 +      GC_notify_full_gc();
1459        GC_gcollect_inner();
1460      } else {
1461        word blocks_to_get = GC_heapsize/(HBLKSIZE*GC_free_space_divisor)
1462 @@ -1002,6 +975,7 @@
1463          && !GC_expand_hp_inner(needed_blocks)) {
1464         if (GC_fail_count++ < GC_max_retries) {
1465             WARN("Out of Memory!  Trying to continue ...\n", 0);
1466 +           GC_notify_full_gc();
1467             GC_gcollect_inner();
1468         } else {
1469  #          if !defined(AMIGA) || !defined(GC_AMIGA_FASTALLOC)
1470 @@ -1031,38 +1005,29 @@
1471  word sz;
1472  int kind;
1473  {
1474 -    ptr_t * flh = &(GC_obj_kinds[kind].ok_freelist[sz]);
1475 -    GC_bool tried_minor = FALSE;
1476 +    register ptr_t * flh = &(GC_obj_kinds[kind].ok_freelist[sz]);
1477      
1478      if (sz == 0) return(0);
1479  
1480      while (*flh == 0) {
1481        ENTER_GC();
1482        /* Do our share of marking work */
1483 -        if(TRUE_INCREMENTAL) GC_collect_a_little_inner(1);
1484 +        if(GC_incremental && !GC_dont_gc) GC_collect_a_little_inner(1);
1485        /* Sweep blocks for objects of this size */
1486 -        GC_continue_reclaim(sz, kind);
1487 +          GC_continue_reclaim(sz, kind);
1488        EXIT_GC();
1489        if (*flh == 0) {
1490          GC_new_hblk(sz, kind);
1491        }
1492        if (*flh == 0) {
1493          ENTER_GC();
1494 -       if (GC_incremental && GC_time_limit == GC_TIME_UNLIMITED
1495 -           && ! tried_minor ) {
1496 -           GC_collect_a_little_inner(1);
1497 -           tried_minor = TRUE;
1498 -       } else {
1499 -          if (!GC_collect_or_expand((word)1,FALSE)) {
1500 +        if (!GC_collect_or_expand((word)1,FALSE)) {
1501             EXIT_GC();
1502             return(0);
1503 -         }
1504         }
1505         EXIT_GC();
1506        }
1507      }
1508 -    /* Successful allocation; reset failure count.     */
1509 -    GC_fail_count = 0;
1510      
1511      return(*flh);
1512  }
1513 diff -Nur ../boehm-gc/alpha_mach_dep.s boehm-gc/alpha_mach_dep.s
1514 --- ../boehm-gc/alpha_mach_dep.s        Mon May 26 12:48:52 2003
1515 +++ boehm-gc/alpha_mach_dep.s   Fri Aug 17 11:30:45 2001
1516 @@ -1,4 +1,3 @@
1517 - # $Id: darwin.patch,v 1.3 2003/09/10 04:15:49 megacz Exp $
1518         .arch ev6
1519  
1520          .text
1521 diff -Nur ../boehm-gc/autom4te.cache/output.0 boehm-gc/autom4te.cache/output.0
1522 --- ../boehm-gc/autom4te.cache/output.0 Mon May 26 13:14:22 2003
1523 +++ boehm-gc/autom4te.cache/output.0    Wed Dec 31 16:00:00 1969
1524 @@ -1,5049 +0,0 @@
1525 -@%:@! /bin/sh
1526 -@%:@ Guess values for system-dependent variables and create Makefiles.
1527 -@%:@ Generated by GNU Autoconf 2.57.
1528 -@%:@ 
1529 -@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
1530 -@%:@ Free Software Foundation, Inc.
1531 -@%:@ This configure script is free software; the Free Software Foundation
1532 -@%:@ gives unlimited permission to copy, distribute and modify it.
1533 -## --------------------- ##
1534 -## M4sh Initialization.  ##
1535 -## --------------------- ##
1536 -
1537 -# Be Bourne compatible
1538 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
1539 -  emulate sh
1540 -  NULLCMD=:
1541 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
1542 -  # is contrary to our usage.  Disable this feature.
1543 -  alias -g '${1+"$@"}'='"$@"'
1544 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
1545 -  set -o posix
1546 -fi
1547 -
1548 -# Support unset when possible.
1549 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
1550 -  as_unset=unset
1551 -else
1552 -  as_unset=false
1553 -fi
1554 -
1555 -
1556 -# Work around bugs in pre-3.0 UWIN ksh.
1557 -$as_unset ENV MAIL MAILPATH
1558 -PS1='$ '
1559 -PS2='> '
1560 -PS4='+ '
1561 -
1562 -# NLS nuisances.
1563 -for as_var in \
1564 -  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
1565 -  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
1566 -  LC_TELEPHONE LC_TIME
1567 -do
1568 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
1569 -    eval $as_var=C; export $as_var
1570 -  else
1571 -    $as_unset $as_var
1572 -  fi
1573 -done
1574 -
1575 -# Required to use basename.
1576 -if expr a : '\(a\)' >/dev/null 2>&1; then
1577 -  as_expr=expr
1578 -else
1579 -  as_expr=false
1580 -fi
1581 -
1582 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
1583 -  as_basename=basename
1584 -else
1585 -  as_basename=false
1586 -fi
1587 -
1588 -
1589 -# Name of the executable.
1590 -as_me=`$as_basename "$0" ||
1591 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
1592 -        X"$0" : 'X\(//\)$' \| \
1593 -        X"$0" : 'X\(/\)$' \| \
1594 -        .     : '\(.\)' 2>/dev/null ||
1595 -echo X/"$0" |
1596 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
1597 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
1598 -         /^X\/\(\/\).*/{ s//\1/; q; }
1599 -         s/.*/./; q'`
1600 -
1601 -
1602 -# PATH needs CR, and LINENO needs CR and PATH.
1603 -# Avoid depending upon Character Ranges.
1604 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
1605 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1606 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
1607 -as_cr_digits='0123456789'
1608 -as_cr_alnum=$as_cr_Letters$as_cr_digits
1609 -
1610 -# The user is always right.
1611 -if test "${PATH_SEPARATOR+set}" != set; then
1612 -  echo "#! /bin/sh" >conf$$.sh
1613 -  echo  "exit 0"   >>conf$$.sh
1614 -  chmod +x conf$$.sh
1615 -  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
1616 -    PATH_SEPARATOR=';'
1617 -  else
1618 -    PATH_SEPARATOR=:
1619 -  fi
1620 -  rm -f conf$$.sh
1621 -fi
1622 -
1623 -
1624 -  as_lineno_1=$LINENO
1625 -  as_lineno_2=$LINENO
1626 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
1627 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
1628 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
1629 -  # Find who we are.  Look in the path if we contain no path at all
1630 -  # relative or not.
1631 -  case $0 in
1632 -    *[\\/]* ) as_myself=$0 ;;
1633 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1634 -for as_dir in $PATH
1635 -do
1636 -  IFS=$as_save_IFS
1637 -  test -z "$as_dir" && as_dir=.
1638 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
1639 -done
1640 -
1641 -       ;;
1642 -  esac
1643 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
1644 -  # in which case we are not to be found in the path.
1645 -  if test "x$as_myself" = x; then
1646 -    as_myself=$0
1647 -  fi
1648 -  if test ! -f "$as_myself"; then
1649 -    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
1650 -   { (exit 1); exit 1; }; }
1651 -  fi
1652 -  case $CONFIG_SHELL in
1653 -  '')
1654 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1655 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
1656 -do
1657 -  IFS=$as_save_IFS
1658 -  test -z "$as_dir" && as_dir=.
1659 -  for as_base in sh bash ksh sh5; do
1660 -        case $as_dir in
1661 -        /*)
1662 -          if ("$as_dir/$as_base" -c '
1663 -  as_lineno_1=$LINENO
1664 -  as_lineno_2=$LINENO
1665 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
1666 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
1667 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
1668 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
1669 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
1670 -            CONFIG_SHELL=$as_dir/$as_base
1671 -            export CONFIG_SHELL
1672 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
1673 -          fi;;
1674 -        esac
1675 -       done
1676 -done
1677 -;;
1678 -  esac
1679 -
1680 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
1681 -  # uniformly replaced by the line number.  The first 'sed' inserts a
1682 -  # line-number line before each line; the second 'sed' does the real
1683 -  # work.  The second script uses 'N' to pair each line-number line
1684 -  # with the numbered line, and appends trailing '-' during
1685 -  # substitution so that $LINENO is not a special case at line end.
1686 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
1687 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
1688 -  sed '=' <$as_myself |
1689 -    sed '
1690 -      N
1691 -      s,$,-,
1692 -      : loop
1693 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
1694 -      t loop
1695 -      s,-$,,
1696 -      s,^['$as_cr_digits']*\n,,
1697 -    ' >$as_me.lineno &&
1698 -  chmod +x $as_me.lineno ||
1699 -    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
1700 -   { (exit 1); exit 1; }; }
1701 -
1702 -  # Don't try to exec as it changes $[0], causing all sort of problems
1703 -  # (the dirname of $[0] is not the place where we might find the
1704 -  # original and so on.  Autoconf is especially sensible to this).
1705 -  . ./$as_me.lineno
1706 -  # Exit status is that of the last command.
1707 -  exit
1708 -}
1709 -
1710 -
1711 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
1712 -  *c*,-n*) ECHO_N= ECHO_C='
1713 -' ECHO_T='     ' ;;
1714 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
1715 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
1716 -esac
1717 -
1718 -if expr a : '\(a\)' >/dev/null 2>&1; then
1719 -  as_expr=expr
1720 -else
1721 -  as_expr=false
1722 -fi
1723 -
1724 -rm -f conf$$ conf$$.exe conf$$.file
1725 -echo >conf$$.file
1726 -if ln -s conf$$.file conf$$ 2>/dev/null; then
1727 -  # We could just check for DJGPP; but this test a) works b) is more generic
1728 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
1729 -  if test -f conf$$.exe; then
1730 -    # Don't use ln at all; we don't have any links
1731 -    as_ln_s='cp -p'
1732 -  else
1733 -    as_ln_s='ln -s'
1734 -  fi
1735 -elif ln conf$$.file conf$$ 2>/dev/null; then
1736 -  as_ln_s=ln
1737 -else
1738 -  as_ln_s='cp -p'
1739 -fi
1740 -rm -f conf$$ conf$$.exe conf$$.file
1741 -
1742 -if mkdir -p . 2>/dev/null; then
1743 -  as_mkdir_p=:
1744 -else
1745 -  as_mkdir_p=false
1746 -fi
1747 -
1748 -as_executable_p="test -f"
1749 -
1750 -# Sed expression to map a string onto a valid CPP name.
1751 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
1752 -
1753 -# Sed expression to map a string onto a valid variable name.
1754 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
1755 -
1756 -
1757 -# IFS
1758 -# We need space, tab and new line, in precisely that order.
1759 -as_nl='
1760 -'
1761 -IFS="  $as_nl"
1762 -
1763 -# CDPATH.
1764 -$as_unset CDPATH
1765 -
1766 -
1767 -# Name of the host.
1768 -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
1769 -# so uname gets run too.
1770 -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
1771 -
1772 -exec 6>&1
1773 -
1774 -#
1775 -# Initializations.
1776 -#
1777 -ac_default_prefix=/usr/local
1778 -ac_config_libobj_dir=.
1779 -cross_compiling=no
1780 -subdirs=
1781 -MFLAGS=
1782 -MAKEFLAGS=
1783 -SHELL=${CONFIG_SHELL-/bin/sh}
1784 -
1785 -# Maximum number of lines to put in a shell here document.
1786 -# This variable seems obsolete.  It should probably be removed, and
1787 -# only ac_max_sed_lines should be used.
1788 -: ${ac_max_here_lines=38}
1789 -
1790 -# Identity of this package.
1791 -PACKAGE_NAME=
1792 -PACKAGE_TARNAME=
1793 -PACKAGE_VERSION=
1794 -PACKAGE_STRING=
1795 -PACKAGE_BUGREPORT=
1796 -
1797 -ac_unique_file="gcj_mlc.c"
1798 -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'
1799 -ac_subst_files=''
1800 -
1801 -# Initialize some variables set by options.
1802 -ac_init_help=
1803 -ac_init_version=false
1804 -# The variables have the same names as the options, with
1805 -# dashes changed to underlines.
1806 -cache_file=/dev/null
1807 -exec_prefix=NONE
1808 -no_create=
1809 -no_recursion=
1810 -prefix=NONE
1811 -program_prefix=NONE
1812 -program_suffix=NONE
1813 -program_transform_name=s,x,x,
1814 -silent=
1815 -site=
1816 -srcdir=
1817 -verbose=
1818 -x_includes=NONE
1819 -x_libraries=NONE
1820 -
1821 -# Installation directory options.
1822 -# These are left unexpanded so users can "make install exec_prefix=/foo"
1823 -# and all the variables that are supposed to be based on exec_prefix
1824 -# by default will actually change.
1825 -# Use braces instead of parens because sh, perl, etc. also accept them.
1826 -bindir='${exec_prefix}/bin'
1827 -sbindir='${exec_prefix}/sbin'
1828 -libexecdir='${exec_prefix}/libexec'
1829 -datadir='${prefix}/share'
1830 -sysconfdir='${prefix}/etc'
1831 -sharedstatedir='${prefix}/com'
1832 -localstatedir='${prefix}/var'
1833 -libdir='${exec_prefix}/lib'
1834 -includedir='${prefix}/include'
1835 -oldincludedir='/usr/include'
1836 -infodir='${prefix}/info'
1837 -mandir='${prefix}/man'
1838 -
1839 -ac_prev=
1840 -for ac_option
1841 -do
1842 -  # If the previous option needs an argument, assign it.
1843 -  if test -n "$ac_prev"; then
1844 -    eval "$ac_prev=\$ac_option"
1845 -    ac_prev=
1846 -    continue
1847 -  fi
1848 -
1849 -  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
1850 -
1851 -  # Accept the important Cygnus configure options, so we can diagnose typos.
1852 -
1853 -  case $ac_option in
1854 -
1855 -  -bindir | --bindir | --bindi | --bind | --bin | --bi)
1856 -    ac_prev=bindir ;;
1857 -  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
1858 -    bindir=$ac_optarg ;;
1859 -
1860 -  -build | --build | --buil | --bui | --bu)
1861 -    ac_prev=build_alias ;;
1862 -  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
1863 -    build_alias=$ac_optarg ;;
1864 -
1865 -  -cache-file | --cache-file | --cache-fil | --cache-fi \
1866 -  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
1867 -    ac_prev=cache_file ;;
1868 -  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
1869 -  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
1870 -    cache_file=$ac_optarg ;;
1871 -
1872 -  --config-cache | -C)
1873 -    cache_file=config.cache ;;
1874 -
1875 -  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
1876 -    ac_prev=datadir ;;
1877 -  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
1878 -  | --da=*)
1879 -    datadir=$ac_optarg ;;
1880 -
1881 -  -disable-* | --disable-*)
1882 -    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
1883 -    # Reject names that are not valid shell variable names.
1884 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1885 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
1886 -   { (exit 1); exit 1; }; }
1887 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
1888 -    eval "enable_$ac_feature=no" ;;
1889 -
1890 -  -enable-* | --enable-*)
1891 -    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
1892 -    # Reject names that are not valid shell variable names.
1893 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
1894 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
1895 -   { (exit 1); exit 1; }; }
1896 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
1897 -    case $ac_option in
1898 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
1899 -      *) ac_optarg=yes ;;
1900 -    esac
1901 -    eval "enable_$ac_feature='$ac_optarg'" ;;
1902 -
1903 -  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
1904 -  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
1905 -  | --exec | --exe | --ex)
1906 -    ac_prev=exec_prefix ;;
1907 -  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
1908 -  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
1909 -  | --exec=* | --exe=* | --ex=*)
1910 -    exec_prefix=$ac_optarg ;;
1911 -
1912 -  -gas | --gas | --ga | --g)
1913 -    # Obsolete; use --with-gas.
1914 -    with_gas=yes ;;
1915 -
1916 -  -help | --help | --hel | --he | -h)
1917 -    ac_init_help=long ;;
1918 -  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
1919 -    ac_init_help=recursive ;;
1920 -  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
1921 -    ac_init_help=short ;;
1922 -
1923 -  -host | --host | --hos | --ho)
1924 -    ac_prev=host_alias ;;
1925 -  -host=* | --host=* | --hos=* | --ho=*)
1926 -    host_alias=$ac_optarg ;;
1927 -
1928 -  -includedir | --includedir | --includedi | --included | --include \
1929 -  | --includ | --inclu | --incl | --inc)
1930 -    ac_prev=includedir ;;
1931 -  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
1932 -  | --includ=* | --inclu=* | --incl=* | --inc=*)
1933 -    includedir=$ac_optarg ;;
1934 -
1935 -  -infodir | --infodir | --infodi | --infod | --info | --inf)
1936 -    ac_prev=infodir ;;
1937 -  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
1938 -    infodir=$ac_optarg ;;
1939 -
1940 -  -libdir | --libdir | --libdi | --libd)
1941 -    ac_prev=libdir ;;
1942 -  -libdir=* | --libdir=* | --libdi=* | --libd=*)
1943 -    libdir=$ac_optarg ;;
1944 -
1945 -  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1946 -  | --libexe | --libex | --libe)
1947 -    ac_prev=libexecdir ;;
1948 -  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1949 -  | --libexe=* | --libex=* | --libe=*)
1950 -    libexecdir=$ac_optarg ;;
1951 -
1952 -  -localstatedir | --localstatedir | --localstatedi | --localstated \
1953 -  | --localstate | --localstat | --localsta | --localst \
1954 -  | --locals | --local | --loca | --loc | --lo)
1955 -    ac_prev=localstatedir ;;
1956 -  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1957 -  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
1958 -  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
1959 -    localstatedir=$ac_optarg ;;
1960 -
1961 -  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1962 -    ac_prev=mandir ;;
1963 -  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1964 -    mandir=$ac_optarg ;;
1965 -
1966 -  -nfp | --nfp | --nf)
1967 -    # Obsolete; use --without-fp.
1968 -    with_fp=no ;;
1969 -
1970 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1971 -  | --no-cr | --no-c | -n)
1972 -    no_create=yes ;;
1973 -
1974 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1975 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1976 -    no_recursion=yes ;;
1977 -
1978 -  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1979 -  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1980 -  | --oldin | --oldi | --old | --ol | --o)
1981 -    ac_prev=oldincludedir ;;
1982 -  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1983 -  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1984 -  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1985 -    oldincludedir=$ac_optarg ;;
1986 -
1987 -  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1988 -    ac_prev=prefix ;;
1989 -  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1990 -    prefix=$ac_optarg ;;
1991 -
1992 -  -program-prefix | --program-prefix | --program-prefi | --program-pref \
1993 -  | --program-pre | --program-pr | --program-p)
1994 -    ac_prev=program_prefix ;;
1995 -  -program-prefix=* | --program-prefix=* | --program-prefi=* \
1996 -  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1997 -    program_prefix=$ac_optarg ;;
1998 -
1999 -  -program-suffix | --program-suffix | --program-suffi | --program-suff \
2000 -  | --program-suf | --program-su | --program-s)
2001 -    ac_prev=program_suffix ;;
2002 -  -program-suffix=* | --program-suffix=* | --program-suffi=* \
2003 -  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
2004 -    program_suffix=$ac_optarg ;;
2005 -
2006 -  -program-transform-name | --program-transform-name \
2007 -  | --program-transform-nam | --program-transform-na \
2008 -  | --program-transform-n | --program-transform- \
2009 -  | --program-transform | --program-transfor \
2010 -  | --program-transfo | --program-transf \
2011 -  | --program-trans | --program-tran \
2012 -  | --progr-tra | --program-tr | --program-t)
2013 -    ac_prev=program_transform_name ;;
2014 -  -program-transform-name=* | --program-transform-name=* \
2015 -  | --program-transform-nam=* | --program-transform-na=* \
2016 -  | --program-transform-n=* | --program-transform-=* \
2017 -  | --program-transform=* | --program-transfor=* \
2018 -  | --program-transfo=* | --program-transf=* \
2019 -  | --program-trans=* | --program-tran=* \
2020 -  | --progr-tra=* | --program-tr=* | --program-t=*)
2021 -    program_transform_name=$ac_optarg ;;
2022 -
2023 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2024 -  | -silent | --silent | --silen | --sile | --sil)
2025 -    silent=yes ;;
2026 -
2027 -  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
2028 -    ac_prev=sbindir ;;
2029 -  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
2030 -  | --sbi=* | --sb=*)
2031 -    sbindir=$ac_optarg ;;
2032 -
2033 -  -sharedstatedir | --sharedstatedir | --sharedstatedi \
2034 -  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
2035 -  | --sharedst | --shareds | --shared | --share | --shar \
2036 -  | --sha | --sh)
2037 -    ac_prev=sharedstatedir ;;
2038 -  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
2039 -  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
2040 -  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
2041 -  | --sha=* | --sh=*)
2042 -    sharedstatedir=$ac_optarg ;;
2043 -
2044 -  -site | --site | --sit)
2045 -    ac_prev=site ;;
2046 -  -site=* | --site=* | --sit=*)
2047 -    site=$ac_optarg ;;
2048 -
2049 -  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
2050 -    ac_prev=srcdir ;;
2051 -  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
2052 -    srcdir=$ac_optarg ;;
2053 -
2054 -  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
2055 -  | --syscon | --sysco | --sysc | --sys | --sy)
2056 -    ac_prev=sysconfdir ;;
2057 -  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
2058 -  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
2059 -    sysconfdir=$ac_optarg ;;
2060 -
2061 -  -target | --target | --targe | --targ | --tar | --ta | --t)
2062 -    ac_prev=target_alias ;;
2063 -  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
2064 -    target_alias=$ac_optarg ;;
2065 -
2066 -  -v | -verbose | --verbose | --verbos | --verbo | --verb)
2067 -    verbose=yes ;;
2068 -
2069 -  -version | --version | --versio | --versi | --vers | -V)
2070 -    ac_init_version=: ;;
2071 -
2072 -  -with-* | --with-*)
2073 -    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
2074 -    # Reject names that are not valid shell variable names.
2075 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
2076 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
2077 -   { (exit 1); exit 1; }; }
2078 -    ac_package=`echo $ac_package| sed 's/-/_/g'`
2079 -    case $ac_option in
2080 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
2081 -      *) ac_optarg=yes ;;
2082 -    esac
2083 -    eval "with_$ac_package='$ac_optarg'" ;;
2084 -
2085 -  -without-* | --without-*)
2086 -    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
2087 -    # Reject names that are not valid shell variable names.
2088 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
2089 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
2090 -   { (exit 1); exit 1; }; }
2091 -    ac_package=`echo $ac_package | sed 's/-/_/g'`
2092 -    eval "with_$ac_package=no" ;;
2093 -
2094 -  --x)
2095 -    # Obsolete; use --with-x.
2096 -    with_x=yes ;;
2097 -
2098 -  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
2099 -  | --x-incl | --x-inc | --x-in | --x-i)
2100 -    ac_prev=x_includes ;;
2101 -  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
2102 -  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
2103 -    x_includes=$ac_optarg ;;
2104 -
2105 -  -x-libraries | --x-libraries | --x-librarie | --x-librari \
2106 -  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
2107 -    ac_prev=x_libraries ;;
2108 -  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
2109 -  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
2110 -    x_libraries=$ac_optarg ;;
2111 -
2112 -  -*) { echo "$as_me: error: unrecognized option: $ac_option
2113 -Try \`$0 --help' for more information." >&2
2114 -   { (exit 1); exit 1; }; }
2115 -    ;;
2116 -
2117 -  *=*)
2118 -    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
2119 -    # Reject names that are not valid shell variable names.
2120 -    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
2121 -      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
2122 -   { (exit 1); exit 1; }; }
2123 -    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
2124 -    eval "$ac_envvar='$ac_optarg'"
2125 -    export $ac_envvar ;;
2126 -
2127 -  *)
2128 -    # FIXME: should be removed in autoconf 3.0.
2129 -    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
2130 -    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
2131 -      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
2132 -    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
2133 -    ;;
2134 -
2135 -  esac
2136 -done
2137 -
2138 -if test -n "$ac_prev"; then
2139 -  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
2140 -  { echo "$as_me: error: missing argument to $ac_option" >&2
2141 -   { (exit 1); exit 1; }; }
2142 -fi
2143 -
2144 -# Be sure to have absolute paths.
2145 -for ac_var in exec_prefix prefix
2146 -do
2147 -  eval ac_val=$`echo $ac_var`
2148 -  case $ac_val in
2149 -    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
2150 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
2151 -   { (exit 1); exit 1; }; };;
2152 -  esac
2153 -done
2154 -
2155 -# Be sure to have absolute paths.
2156 -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
2157 -              localstatedir libdir includedir oldincludedir infodir mandir
2158 -do
2159 -  eval ac_val=$`echo $ac_var`
2160 -  case $ac_val in
2161 -    [\\/$]* | ?:[\\/]* ) ;;
2162 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
2163 -   { (exit 1); exit 1; }; };;
2164 -  esac
2165 -done
2166 -
2167 -# There might be people who depend on the old broken behavior: `$host'
2168 -# used to hold the argument of --host etc.
2169 -# FIXME: To remove some day.
2170 -build=$build_alias
2171 -host=$host_alias
2172 -target=$target_alias
2173 -
2174 -# FIXME: To remove some day.
2175 -if test "x$host_alias" != x; then
2176 -  if test "x$build_alias" = x; then
2177 -    cross_compiling=maybe
2178 -    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
2179 -    If a cross compiler is detected then cross compile mode will be used." >&2
2180 -  elif test "x$build_alias" != "x$host_alias"; then
2181 -    cross_compiling=yes
2182 -  fi
2183 -fi
2184 -
2185 -ac_tool_prefix=
2186 -test -n "$host_alias" && ac_tool_prefix=$host_alias-
2187 -
2188 -test "$silent" = yes && exec 6>/dev/null
2189 -
2190 -
2191 -# Find the source files, if location was not specified.
2192 -if test -z "$srcdir"; then
2193 -  ac_srcdir_defaulted=yes
2194 -  # Try the directory containing this script, then its parent.
2195 -  ac_confdir=`(dirname "$0") 2>/dev/null ||
2196 -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
2197 -         X"$0" : 'X\(//\)[^/]' \| \
2198 -         X"$0" : 'X\(//\)$' \| \
2199 -         X"$0" : 'X\(/\)' \| \
2200 -         .     : '\(.\)' 2>/dev/null ||
2201 -echo X"$0" |
2202 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
2203 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
2204 -         /^X\(\/\/\)$/{ s//\1/; q; }
2205 -         /^X\(\/\).*/{ s//\1/; q; }
2206 -         s/.*/./; q'`
2207 -  srcdir=$ac_confdir
2208 -  if test ! -r $srcdir/$ac_unique_file; then
2209 -    srcdir=..
2210 -  fi
2211 -else
2212 -  ac_srcdir_defaulted=no
2213 -fi
2214 -if test ! -r $srcdir/$ac_unique_file; then
2215 -  if test "$ac_srcdir_defaulted" = yes; then
2216 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
2217 -   { (exit 1); exit 1; }; }
2218 -  else
2219 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
2220 -   { (exit 1); exit 1; }; }
2221 -  fi
2222 -fi
2223 -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
2224 -  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
2225 -   { (exit 1); exit 1; }; }
2226 -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
2227 -ac_env_build_alias_set=${build_alias+set}
2228 -ac_env_build_alias_value=$build_alias
2229 -ac_cv_env_build_alias_set=${build_alias+set}
2230 -ac_cv_env_build_alias_value=$build_alias
2231 -ac_env_host_alias_set=${host_alias+set}
2232 -ac_env_host_alias_value=$host_alias
2233 -ac_cv_env_host_alias_set=${host_alias+set}
2234 -ac_cv_env_host_alias_value=$host_alias
2235 -ac_env_target_alias_set=${target_alias+set}
2236 -ac_env_target_alias_value=$target_alias
2237 -ac_cv_env_target_alias_set=${target_alias+set}
2238 -ac_cv_env_target_alias_value=$target_alias
2239 -ac_env_CXXCPP_set=${CXXCPP+set}
2240 -ac_env_CXXCPP_value=$CXXCPP
2241 -ac_cv_env_CXXCPP_set=${CXXCPP+set}
2242 -ac_cv_env_CXXCPP_value=$CXXCPP
2243 -ac_env_CPPFLAGS_set=${CPPFLAGS+set}
2244 -ac_env_CPPFLAGS_value=$CPPFLAGS
2245 -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
2246 -ac_cv_env_CPPFLAGS_value=$CPPFLAGS
2247 -
2248 -#
2249 -# Report the --help message.
2250 -#
2251 -if test "$ac_init_help" = "long"; then
2252 -  # Omit some internal or obsolete options to make the list less imposing.
2253 -  # This message is too long to be a string in the A/UX 3.1 sh.
2254 -  cat <<_ACEOF
2255 -\`configure' configures this package to adapt to many kinds of systems.
2256 -
2257 -Usage: $0 [OPTION]... [VAR=VALUE]...
2258 -
2259 -To assign environment variables (e.g., CC, CFLAGS...), specify them as
2260 -VAR=VALUE.  See below for descriptions of some of the useful variables.
2261 -
2262 -Defaults for the options are specified in brackets.
2263 -
2264 -Configuration:
2265 -  -h, --help              display this help and exit
2266 -      --help=short        display options specific to this package
2267 -      --help=recursive    display the short help of all the included packages
2268 -  -V, --version           display version information and exit
2269 -  -q, --quiet, --silent   do not print \`checking...' messages
2270 -      --cache-file=FILE   cache test results in FILE [disabled]
2271 -  -C, --config-cache      alias for \`--cache-file=config.cache'
2272 -  -n, --no-create         do not create output files
2273 -      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
2274 -
2275 -_ACEOF
2276 -
2277 -  cat <<_ACEOF
2278 -Installation directories:
2279 -  --prefix=PREFIX         install architecture-independent files in PREFIX
2280 -                          [$ac_default_prefix]
2281 -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
2282 -                          [PREFIX]
2283 -
2284 -By default, \`make install' will install all the files in
2285 -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
2286 -an installation prefix other than \`$ac_default_prefix' using \`--prefix',
2287 -for instance \`--prefix=\$HOME'.
2288 -
2289 -For better control, use the options below.
2290 -
2291 -Fine tuning of the installation directories:
2292 -  --bindir=DIR           user executables [EPREFIX/bin]
2293 -  --sbindir=DIR          system admin executables [EPREFIX/sbin]
2294 -  --libexecdir=DIR       program executables [EPREFIX/libexec]
2295 -  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
2296 -  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
2297 -  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
2298 -  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
2299 -  --libdir=DIR           object code libraries [EPREFIX/lib]
2300 -  --includedir=DIR       C header files [PREFIX/include]
2301 -  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
2302 -  --infodir=DIR          info documentation [PREFIX/info]
2303 -  --mandir=DIR           man documentation [PREFIX/man]
2304 -_ACEOF
2305 -
2306 -  cat <<\_ACEOF
2307 -
2308 -Program names:
2309 -  --program-prefix=PREFIX            prepend PREFIX to installed program names
2310 -  --program-suffix=SUFFIX            append SUFFIX to installed program names
2311 -  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
2312 -
2313 -System types:
2314 -  --build=BUILD     configure for building on BUILD [guessed]
2315 -  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
2316 -  --target=TARGET   configure for building compilers for TARGET [HOST]
2317 -_ACEOF
2318 -fi
2319 -
2320 -if test -n "$ac_init_help"; then
2321 -
2322 -  cat <<\_ACEOF
2323 -
2324 -Optional Features:
2325 -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
2326 -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
2327 -  --enable-multilib       build many library versions (default)
2328 -  --enable-maintainer-mode enable make rules and dependencies not useful
2329 -                          (and sometimes confusing) to the casual installer
2330 -  --enable-shared=PKGS  build shared libraries default=yes
2331 -  --enable-static=PKGS  build static libraries default=yes
2332 -  --enable-fast-install=PKGS  optimize for fast installation default=yes
2333 -  --disable-libtool-lock  avoid locking (might break parallel builds)
2334 -  --enable-parallel-mark       parallelize marking and free list construction
2335 -  --enable-shared=PKGS  build shared libraries default=no
2336 -  --enable-full-debug  include full support for pointer backtracing etc.
2337 -
2338 -Optional Packages:
2339 -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
2340 -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
2341 -  --with-gnu-ld           assume the C compiler uses GNU ld default=no
2342 -  --with-pic              try to use only PIC/non-PIC objects default=use both
2343 -  --with-target-subdir=SUBDIR
2344 -                          configuring with a cross compiler
2345 -  --with-cross-host=HOST  configuring with a cross compiler
2346 -  --with-ecos             enable runtime eCos target support
2347 -
2348 -Some influential environment variables:
2349 -  CXXCPP      C++ preprocessor
2350 -  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
2351 -              headers in a nonstandard directory <include dir>
2352 -
2353 -Use these variables to override the choices made by `configure' or to help
2354 -it to find libraries and programs with nonstandard names/locations.
2355 -
2356 -_ACEOF
2357 -fi
2358 -
2359 -if test "$ac_init_help" = "recursive"; then
2360 -  # If there are subdirs, report their specific --help.
2361 -  ac_popdir=`pwd`
2362 -  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
2363 -    test -d $ac_dir || continue
2364 -    ac_builddir=.
2365 -
2366 -if test "$ac_dir" != .; then
2367 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
2368 -  # A "../" for each directory in $ac_dir_suffix.
2369 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
2370 -else
2371 -  ac_dir_suffix= ac_top_builddir=
2372 -fi
2373 -
2374 -case $srcdir in
2375 -  .)  # No --srcdir option.  We are building in place.
2376 -    ac_srcdir=.
2377 -    if test -z "$ac_top_builddir"; then
2378 -       ac_top_srcdir=.
2379 -    else
2380 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
2381 -    fi ;;
2382 -  [\\/]* | ?:[\\/]* )  # Absolute path.
2383 -    ac_srcdir=$srcdir$ac_dir_suffix;
2384 -    ac_top_srcdir=$srcdir ;;
2385 -  *) # Relative path.
2386 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
2387 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
2388 -esac
2389 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
2390 -# absolute.
2391 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
2392 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
2393 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
2394 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
2395 -
2396 -    cd $ac_dir
2397 -    # Check for guested configure; otherwise get Cygnus style configure.
2398 -    if test -f $ac_srcdir/configure.gnu; then
2399 -      echo
2400 -      $SHELL $ac_srcdir/configure.gnu  --help=recursive
2401 -    elif test -f $ac_srcdir/configure; then
2402 -      echo
2403 -      $SHELL $ac_srcdir/configure  --help=recursive
2404 -    elif test -f $ac_srcdir/configure.ac ||
2405 -           test -f $ac_srcdir/configure.in; then
2406 -      echo
2407 -      $ac_configure --help
2408 -    else
2409 -      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
2410 -    fi
2411 -    cd $ac_popdir
2412 -  done
2413 -fi
2414 -
2415 -test -n "$ac_init_help" && exit 0
2416 -if $ac_init_version; then
2417 -  cat <<\_ACEOF
2418 -
2419 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
2420 -Free Software Foundation, Inc.
2421 -This configure script is free software; the Free Software Foundation
2422 -gives unlimited permission to copy, distribute and modify it.
2423 -_ACEOF
2424 -  exit 0
2425 -fi
2426 -exec 5>config.log
2427 -cat >&5 <<_ACEOF
2428 -This file contains any messages produced by compilers while
2429 -running configure, to aid debugging if configure makes a mistake.
2430 -
2431 -It was created by $as_me, which was
2432 -generated by GNU Autoconf 2.57.  Invocation command line was
2433 -
2434 -  $ $0 $@
2435 -
2436 -_ACEOF
2437 -{
2438 -cat <<_ASUNAME
2439 -@%:@@%:@ --------- @%:@@%:@
2440 -@%:@@%:@ Platform. @%:@@%:@
2441 -@%:@@%:@ --------- @%:@@%:@
2442 -
2443 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2444 -uname -m = `(uname -m) 2>/dev/null || echo unknown`
2445 -uname -r = `(uname -r) 2>/dev/null || echo unknown`
2446 -uname -s = `(uname -s) 2>/dev/null || echo unknown`
2447 -uname -v = `(uname -v) 2>/dev/null || echo unknown`
2448 -
2449 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2450 -/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
2451 -
2452 -/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
2453 -/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
2454 -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2455 -hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
2456 -/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
2457 -/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
2458 -/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
2459 -
2460 -_ASUNAME
2461 -
2462 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2463 -for as_dir in $PATH
2464 -do
2465 -  IFS=$as_save_IFS
2466 -  test -z "$as_dir" && as_dir=.
2467 -  echo "PATH: $as_dir"
2468 -done
2469 -
2470 -} >&5
2471 -
2472 -cat >&5 <<_ACEOF
2473 -
2474 -
2475 -@%:@@%:@ ----------- @%:@@%:@
2476 -@%:@@%:@ Core tests. @%:@@%:@
2477 -@%:@@%:@ ----------- @%:@@%:@
2478 -
2479 -_ACEOF
2480 -
2481 -
2482 -# Keep a trace of the command line.
2483 -# Strip out --no-create and --no-recursion so they do not pile up.
2484 -# Strip out --silent because we don't want to record it for future runs.
2485 -# Also quote any args containing shell meta-characters.
2486 -# Make two passes to allow for proper duplicate-argument suppression.
2487 -ac_configure_args=
2488 -ac_configure_args0=
2489 -ac_configure_args1=
2490 -ac_sep=
2491 -ac_must_keep_next=false
2492 -for ac_pass in 1 2
2493 -do
2494 -  for ac_arg
2495 -  do
2496 -    case $ac_arg in
2497 -    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2498 -    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2499 -    | -silent | --silent | --silen | --sile | --sil)
2500 -      continue ;;
2501 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
2502 -      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2503 -    esac
2504 -    case $ac_pass in
2505 -    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2506 -    2)
2507 -      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
2508 -      if test $ac_must_keep_next = true; then
2509 -        ac_must_keep_next=false # Got value, back to normal.
2510 -      else
2511 -        case $ac_arg in
2512 -          *=* | --config-cache | -C | -disable-* | --disable-* \
2513 -          | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2514 -          | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2515 -          | -with-* | --with-* | -without-* | --without-* | --x)
2516 -            case "$ac_configure_args0 " in
2517 -              "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2518 -            esac
2519 -            ;;
2520 -          -* ) ac_must_keep_next=true ;;
2521 -        esac
2522 -      fi
2523 -      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
2524 -      # Get rid of the leading space.
2525 -      ac_sep=" "
2526 -      ;;
2527 -    esac
2528 -  done
2529 -done
2530 -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
2531 -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
2532 -
2533 -# When interrupted or exit'd, cleanup temporary files, and complete
2534 -# config.log.  We remove comments because anyway the quotes in there
2535 -# would cause problems or look ugly.
2536 -# WARNING: Be sure not to use single quotes in there, as some shells,
2537 -# such as our DU 5.0 friend, will then `close' the trap.
2538 -trap 'exit_status=$?
2539 -  # Save into config.log some information that might help in debugging.
2540 -  {
2541 -    echo
2542 -
2543 -    cat <<\_ASBOX
2544 -@%:@@%:@ ---------------- @%:@@%:@
2545 -@%:@@%:@ Cache variables. @%:@@%:@
2546 -@%:@@%:@ ---------------- @%:@@%:@
2547 -_ASBOX
2548 -    echo
2549 -    # The following way of writing the cache mishandles newlines in values,
2550 -{
2551 -  (set) 2>&1 |
2552 -    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
2553 -    *ac_space=\ *)
2554 -      sed -n \
2555 -        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
2556 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
2557 -      ;;
2558 -    *)
2559 -      sed -n \
2560 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
2561 -      ;;
2562 -    esac;
2563 -}
2564 -    echo
2565 -
2566 -    cat <<\_ASBOX
2567 -@%:@@%:@ ----------------- @%:@@%:@
2568 -@%:@@%:@ Output variables. @%:@@%:@
2569 -@%:@@%:@ ----------------- @%:@@%:@
2570 -_ASBOX
2571 -    echo
2572 -    for ac_var in $ac_subst_vars
2573 -    do
2574 -      eval ac_val=$`echo $ac_var`
2575 -      echo "$ac_var='"'"'$ac_val'"'"'"
2576 -    done | sort
2577 -    echo
2578 -
2579 -    if test -n "$ac_subst_files"; then
2580 -      cat <<\_ASBOX
2581 -@%:@@%:@ ------------- @%:@@%:@
2582 -@%:@@%:@ Output files. @%:@@%:@
2583 -@%:@@%:@ ------------- @%:@@%:@
2584 -_ASBOX
2585 -      echo
2586 -      for ac_var in $ac_subst_files
2587 -      do
2588 -       eval ac_val=$`echo $ac_var`
2589 -        echo "$ac_var='"'"'$ac_val'"'"'"
2590 -      done | sort
2591 -      echo
2592 -    fi
2593 -
2594 -    if test -s confdefs.h; then
2595 -      cat <<\_ASBOX
2596 -@%:@@%:@ ----------- @%:@@%:@
2597 -@%:@@%:@ confdefs.h. @%:@@%:@
2598 -@%:@@%:@ ----------- @%:@@%:@
2599 -_ASBOX
2600 -      echo
2601 -      sed "/^$/d" confdefs.h | sort
2602 -      echo
2603 -    fi
2604 -    test "$ac_signal" != 0 &&
2605 -      echo "$as_me: caught signal $ac_signal"
2606 -    echo "$as_me: exit $exit_status"
2607 -  } >&5
2608 -  rm -f core core.* *.core &&
2609 -  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
2610 -    exit $exit_status
2611 -     ' 0
2612 -for ac_signal in 1 2 13 15; do
2613 -  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
2614 -done
2615 -ac_signal=0
2616 -
2617 -# confdefs.h avoids OS command line length limits that DEFS can exceed.
2618 -rm -rf conftest* confdefs.h
2619 -# AIX cpp loses on an empty file, so make sure it contains at least a newline.
2620 -echo >confdefs.h
2621 -
2622 -# Predefined preprocessor variables.
2623 -
2624 -cat >>confdefs.h <<_ACEOF
2625 -@%:@define PACKAGE_NAME "$PACKAGE_NAME"
2626 -_ACEOF
2627 -
2628 -
2629 -cat >>confdefs.h <<_ACEOF
2630 -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2631 -_ACEOF
2632 -
2633 -
2634 -cat >>confdefs.h <<_ACEOF
2635 -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
2636 -_ACEOF
2637 -
2638 -
2639 -cat >>confdefs.h <<_ACEOF
2640 -@%:@define PACKAGE_STRING "$PACKAGE_STRING"
2641 -_ACEOF
2642 -
2643 -
2644 -cat >>confdefs.h <<_ACEOF
2645 -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2646 -_ACEOF
2647 -
2648 -
2649 -# Let the site file select an alternate cache file if it wants to.
2650 -# Prefer explicitly selected file to automatically selected ones.
2651 -if test -z "$CONFIG_SITE"; then
2652 -  if test "x$prefix" != xNONE; then
2653 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
2654 -  else
2655 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
2656 -  fi
2657 -fi
2658 -for ac_site_file in $CONFIG_SITE; do
2659 -  if test -r "$ac_site_file"; then
2660 -    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
2661 -echo "$as_me: loading site script $ac_site_file" >&6;}
2662 -    sed 's/^/| /' "$ac_site_file" >&5
2663 -    . "$ac_site_file"
2664 -  fi
2665 -done
2666 -
2667 -if test -r "$cache_file"; then
2668 -  # Some versions of bash will fail to source /dev/null (special
2669 -  # files actually), so we avoid doing that.
2670 -  if test -f "$cache_file"; then
2671 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
2672 -echo "$as_me: loading cache $cache_file" >&6;}
2673 -    case $cache_file in
2674 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
2675 -      *)                      . ./$cache_file;;
2676 -    esac
2677 -  fi
2678 -else
2679 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
2680 -echo "$as_me: creating cache $cache_file" >&6;}
2681 -  >$cache_file
2682 -fi
2683 -
2684 -# Check that the precious variables saved in the cache have kept the same
2685 -# value.
2686 -ac_cache_corrupted=false
2687 -for ac_var in `(set) 2>&1 |
2688 -               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
2689 -  eval ac_old_set=\$ac_cv_env_${ac_var}_set
2690 -  eval ac_new_set=\$ac_env_${ac_var}_set
2691 -  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
2692 -  eval ac_new_val="\$ac_env_${ac_var}_value"
2693 -  case $ac_old_set,$ac_new_set in
2694 -    set,)
2695 -      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2696 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2697 -      ac_cache_corrupted=: ;;
2698 -    ,set)
2699 -      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
2700 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2701 -      ac_cache_corrupted=: ;;
2702 -    ,);;
2703 -    *)
2704 -      if test "x$ac_old_val" != "x$ac_new_val"; then
2705 -        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
2706 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2707 -        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
2708 -echo "$as_me:   former value:  $ac_old_val" >&2;}
2709 -        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
2710 -echo "$as_me:   current value: $ac_new_val" >&2;}
2711 -        ac_cache_corrupted=:
2712 -      fi;;
2713 -  esac
2714 -  # Pass precious variables to config.status.
2715 -  if test "$ac_new_set" = set; then
2716 -    case $ac_new_val in
2717 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
2718 -      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2719 -    *) ac_arg=$ac_var=$ac_new_val ;;
2720 -    esac
2721 -    case " $ac_configure_args " in
2722 -      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
2723 -      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
2724 -    esac
2725 -  fi
2726 -done
2727 -if $ac_cache_corrupted; then
2728 -  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
2729 -echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2730 -  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
2731 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
2732 -   { (exit 1); exit 1; }; }
2733 -fi
2734 -
2735 -ac_ext=c
2736 -ac_cpp='$CPP $CPPFLAGS'
2737 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2738 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2739 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
2740 -
2741 -
2742 -
2743 -
2744 -
2745 -
2746 -
2747 -
2748 -
2749 -
2750 -
2751 -
2752 -
2753 -
2754 -
2755 -
2756 -
2757 -
2758 -
2759 -
2760 -# This works around the fact that libtool configuration may change LD
2761 -# for this particular configuration, but some shells, instead of
2762 -# keeping the changes in LD private, export them just because LD is
2763 -# exported.
2764 -ORIGINAL_LD_FOR_MULTILIBS=$LD
2765 -
2766 -ac_aux_dir=
2767 -for ac_dir in . $srcdir/.; do
2768 -  if test -f $ac_dir/install-sh; then
2769 -    ac_aux_dir=$ac_dir
2770 -    ac_install_sh="$ac_aux_dir/install-sh -c"
2771 -    break
2772 -  elif test -f $ac_dir/install.sh; then
2773 -    ac_aux_dir=$ac_dir
2774 -    ac_install_sh="$ac_aux_dir/install.sh -c"
2775 -    break
2776 -  elif test -f $ac_dir/shtool; then
2777 -    ac_aux_dir=$ac_dir
2778 -    ac_install_sh="$ac_aux_dir/shtool install -c"
2779 -    break
2780 -  fi
2781 -done
2782 -if test -z "$ac_aux_dir"; then
2783 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . $srcdir/." >&5
2784 -echo "$as_me: error: cannot find install-sh or install.sh in . $srcdir/." >&2;}
2785 -   { (exit 1); exit 1; }; }
2786 -fi
2787 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
2788 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
2789 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
2790 -
2791 -
2792 -# Make sure we can run config.sub.
2793 -$ac_config_sub sun4 >/dev/null 2>&1 ||
2794 -  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
2795 -echo "$as_me: error: cannot run $ac_config_sub" >&2;}
2796 -   { (exit 1); exit 1; }; }
2797 -
2798 -echo "$as_me:$LINENO: checking build system type" >&5
2799 -echo $ECHO_N "checking build system type... $ECHO_C" >&6
2800 -if test "${ac_cv_build+set}" = set; then
2801 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2802 -else
2803 -  ac_cv_build_alias=$build_alias
2804 -test -z "$ac_cv_build_alias" &&
2805 -  ac_cv_build_alias=`$ac_config_guess`
2806 -test -z "$ac_cv_build_alias" &&
2807 -  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
2808 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
2809 -   { (exit 1); exit 1; }; }
2810 -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
2811 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
2812 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
2813 -   { (exit 1); exit 1; }; }
2814 -
2815 -fi
2816 -echo "$as_me:$LINENO: result: $ac_cv_build" >&5
2817 -echo "${ECHO_T}$ac_cv_build" >&6
2818 -build=$ac_cv_build
2819 -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2820 -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2821 -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2822 -
2823 -
2824 -echo "$as_me:$LINENO: checking host system type" >&5
2825 -echo $ECHO_N "checking host system type... $ECHO_C" >&6
2826 -if test "${ac_cv_host+set}" = set; then
2827 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2828 -else
2829 -  ac_cv_host_alias=$host_alias
2830 -test -z "$ac_cv_host_alias" &&
2831 -  ac_cv_host_alias=$ac_cv_build_alias
2832 -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
2833 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
2834 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
2835 -   { (exit 1); exit 1; }; }
2836 -
2837 -fi
2838 -echo "$as_me:$LINENO: result: $ac_cv_host" >&5
2839 -echo "${ECHO_T}$ac_cv_host" >&6
2840 -host=$ac_cv_host
2841 -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
2842 -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
2843 -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
2844 -
2845 -
2846 -# Find a good install program.  We prefer a C program (faster),
2847 -# so one script is as good as another.  But avoid the broken or
2848 -# incompatible versions:
2849 -# SysV /etc/install, /usr/sbin/install
2850 -# SunOS /usr/etc/install
2851 -# IRIX /sbin/install
2852 -# AIX /bin/install
2853 -# AmigaOS /C/install, which installs bootblocks on floppy discs
2854 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
2855 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
2856 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
2857 -# ./install, which can be erroneously created by make from ./install.sh.
2858 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
2859 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
2860 -if test -z "$INSTALL"; then
2861 -if test "${ac_cv_path_install+set}" = set; then
2862 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2863 -else
2864 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2865 -for as_dir in $PATH
2866 -do
2867 -  IFS=$as_save_IFS
2868 -  test -z "$as_dir" && as_dir=.
2869 -  # Account for people who put trailing slashes in PATH elements.
2870 -case $as_dir/ in
2871 -  ./ | .// | /cC/* | \
2872 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
2873 -  /usr/ucb/* ) ;;
2874 -  *)
2875 -    # OSF1 and SCO ODT 3.0 have their own names for install.
2876 -    # Don't use installbsd from OSF since it installs stuff as root
2877 -    # by default.
2878 -    for ac_prog in ginstall scoinst install; do
2879 -      for ac_exec_ext in '' $ac_executable_extensions; do
2880 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
2881 -          if test $ac_prog = install &&
2882 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2883 -            # AIX install.  It has an incompatible calling convention.
2884 -            :
2885 -          elif test $ac_prog = install &&
2886 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2887 -            # program-specific install script used by HP pwplus--don't use.
2888 -            :
2889 -          else
2890 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
2891 -            break 3
2892 -          fi
2893 -        fi
2894 -      done
2895 -    done
2896 -    ;;
2897 -esac
2898 -done
2899 -
2900 -
2901 -fi
2902 -  if test "${ac_cv_path_install+set}" = set; then
2903 -    INSTALL=$ac_cv_path_install
2904 -  else
2905 -    # As a last resort, use the slow shell script.  We don't cache a
2906 -    # path for INSTALL within a source directory, because that will
2907 -    # break other packages using the cache if that directory is
2908 -    # removed, or if the path is relative.
2909 -    INSTALL=$ac_install_sh
2910 -  fi
2911 -fi
2912 -echo "$as_me:$LINENO: result: $INSTALL" >&5
2913 -echo "${ECHO_T}$INSTALL" >&6
2914 -
2915 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
2916 -# It thinks the first close brace ends the variable substitution.
2917 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
2918 -
2919 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
2920 -
2921 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
2922 -
2923 -echo "$as_me:$LINENO: checking whether build environment is sane" >&5
2924 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
2925 -# Just in case
2926 -sleep 1
2927 -echo timestamp > conftestfile
2928 -# Do `set' in a subshell so we don't clobber the current shell's
2929 -# arguments.  Must try -L first in case configure is actually a
2930 -# symlink; some systems play weird games with the mod time of symlinks
2931 -# (eg FreeBSD returns the mod time of the symlink's containing
2932 -# directory).
2933 -if (
2934 -   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
2935 -   if test "$*" = "X"; then
2936 -      # -L didn't work.
2937 -      set X `ls -t $srcdir/configure conftestfile`
2938 -   fi
2939 -   if test "$*" != "X $srcdir/configure conftestfile" \
2940 -      && test "$*" != "X conftestfile $srcdir/configure"; then
2941 -
2942 -      # If neither matched, then we have a broken ls.  This can happen
2943 -      # if, for instance, CONFIG_SHELL is bash and it inherits a
2944 -      # broken ls alias from the environment.  This has actually
2945 -      # happened.  Such a system could not be considered "sane".
2946 -      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
2947 -alias in your environment" >&5
2948 -echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
2949 -alias in your environment" >&2;}
2950 -   { (exit 1); exit 1; }; }
2951 -   fi
2952 -
2953 -   test "$2" = conftestfile
2954 -   )
2955 -then
2956 -   # Ok.
2957 -   :
2958 -else
2959 -   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
2960 -Check your system clock" >&5
2961 -echo "$as_me: error: newly created file is older than distributed files!
2962 -Check your system clock" >&2;}
2963 -   { (exit 1); exit 1; }; }
2964 -fi
2965 -rm -f conftest*
2966 -echo "$as_me:$LINENO: result: yes" >&5
2967 -echo "${ECHO_T}yes" >&6
2968 -test "$program_prefix" != NONE &&
2969 -  program_transform_name="s,^,$program_prefix,;$program_transform_name"
2970 -# Use a double $ so make ignores it.
2971 -test "$program_suffix" != NONE &&
2972 -  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
2973 -# Double any \ or $.  echo might interpret backslashes.
2974 -# By default was `s,x,x', remove it if useless.
2975 -cat <<\_ACEOF >conftest.sed
2976 -s/[\\$]/&&/g;s/;s,x,x,$//
2977 -_ACEOF
2978 -program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
2979 -rm conftest.sed
2980 -
2981 -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
2982 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
2983 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
2984 -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
2985 -  echo $ECHO_N "(cached) $ECHO_C" >&6
2986 -else
2987 -  cat >conftest.make <<\_ACEOF
2988 -all:
2989 -       @echo 'ac_maketemp="$(MAKE)"'
2990 -_ACEOF
2991 -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
2992 -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
2993 -if test -n "$ac_maketemp"; then
2994 -  eval ac_cv_prog_make_${ac_make}_set=yes
2995 -else
2996 -  eval ac_cv_prog_make_${ac_make}_set=no
2997 -fi
2998 -rm -f conftest.make
2999 -fi
3000 -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
3001 -  echo "$as_me:$LINENO: result: yes" >&5
3002 -echo "${ECHO_T}yes" >&6
3003 -  SET_MAKE=
3004 -else
3005 -  echo "$as_me:$LINENO: result: no" >&5
3006 -echo "${ECHO_T}no" >&6
3007 -  SET_MAKE="MAKE=${MAKE-make}"
3008 -fi
3009 -
3010 -
3011 -# Check whether --enable-multilib or --disable-multilib was given.
3012 -if test "${enable_multilib+set}" = set; then
3013 -  enableval="$enable_multilib"
3014 -  case "${enableval}" in
3015 -  yes) multilib=yes ;;
3016 -  no)  multilib=no ;;
3017 -  *)   { { echo "$as_me:$LINENO: error: bad value ${enableval} for multilib option" >&5
3018 -echo "$as_me: error: bad value ${enableval} for multilib option" >&2;}
3019 -   { (exit 1); exit 1; }; } ;;
3020 - esac
3021 -else
3022 -  multilib=yes
3023 -fi; 
3024 -
3025 -if test "${srcdir}" = "."; then
3026 -  if test "${with_target_subdir}" != "." -a -n "${with_target_subdir}"; then
3027 -    gc_basedir="${srcdir}/${with_multisrctop}../."
3028 -  else
3029 -    gc_basedir="${srcdir}/${with_multisrctop}."
3030 -  fi
3031 -else
3032 -  gc_basedir="${srcdir}/."
3033 -fi
3034 -
3035 -ac_aux_dir=
3036 -for ac_dir in $gc_basedir/.. $srcdir/$gc_basedir/..; do
3037 -  if test -f $ac_dir/install-sh; then
3038 -    ac_aux_dir=$ac_dir
3039 -    ac_install_sh="$ac_aux_dir/install-sh -c"
3040 -    break
3041 -  elif test -f $ac_dir/install.sh; then
3042 -    ac_aux_dir=$ac_dir
3043 -    ac_install_sh="$ac_aux_dir/install.sh -c"
3044 -    break
3045 -  elif test -f $ac_dir/shtool; then
3046 -    ac_aux_dir=$ac_dir
3047 -    ac_install_sh="$ac_aux_dir/shtool install -c"
3048 -    break
3049 -  fi
3050 -done
3051 -if test -z "$ac_aux_dir"; then
3052 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&5
3053 -echo "$as_me: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&2;}
3054 -   { (exit 1); exit 1; }; }
3055 -fi
3056 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
3057 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
3058 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
3059 -
3060 -if :; then :; else
3061 -  # This overrides the previous occurrence for automake, but not for
3062 -  # autoconf, which is exactly what we want.
3063 -  ac_aux_dir=
3064 -for ac_dir in .. $srcdir/..; do
3065 -  if test -f $ac_dir/install-sh; then
3066 -    ac_aux_dir=$ac_dir
3067 -    ac_install_sh="$ac_aux_dir/install-sh -c"
3068 -    break
3069 -  elif test -f $ac_dir/install.sh; then
3070 -    ac_aux_dir=$ac_dir
3071 -    ac_install_sh="$ac_aux_dir/install.sh -c"
3072 -    break
3073 -  elif test -f $ac_dir/shtool; then
3074 -    ac_aux_dir=$ac_dir
3075 -    ac_install_sh="$ac_aux_dir/shtool install -c"
3076 -    break
3077 -  fi
3078 -done
3079 -if test -z "$ac_aux_dir"; then
3080 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5
3081 -echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;}
3082 -   { (exit 1); exit 1; }; }
3083 -fi
3084 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
3085 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
3086 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
3087 -
3088 -fi
3089 -
3090 -echo "$as_me:$LINENO: checking target system type" >&5
3091 -echo $ECHO_N "checking target system type... $ECHO_C" >&6
3092 -if test "${ac_cv_target+set}" = set; then
3093 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3094 -else
3095 -  ac_cv_target_alias=$target_alias
3096 -test "x$ac_cv_target_alias" = "x" &&
3097 -  ac_cv_target_alias=$ac_cv_host_alias
3098 -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
3099 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
3100 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
3101 -   { (exit 1); exit 1; }; }
3102 -
3103 -fi
3104 -echo "$as_me:$LINENO: result: $ac_cv_target" >&5
3105 -echo "${ECHO_T}$ac_cv_target" >&6
3106 -target=$ac_cv_target
3107 -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
3108 -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
3109 -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
3110 -
3111 -
3112 -# The aliases save the names the user supplied, while $host etc.
3113 -# will get canonicalized.
3114 -test -n "$target_alias" &&
3115 -  test "$program_prefix$program_suffix$program_transform_name" = \
3116 -    NONENONEs,x,x, &&
3117 -  program_prefix=${target_alias}-
3118 -
3119 -# This works around an automake problem.
3120 -mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
3121 -
3122 -
3123 -
3124 -PACKAGE=gc
3125 -
3126 -VERSION=6.0
3127 -
3128 -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
3129 -  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
3130 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
3131 -   { (exit 1); exit 1; }; }
3132 -fi
3133 -
3134 -
3135 -
3136 -missing_dir=`cd $ac_aux_dir && pwd`
3137 -echo "$as_me:$LINENO: checking for working aclocal" >&5
3138 -echo $ECHO_N "checking for working aclocal... $ECHO_C" >&6
3139 -# Run test in a subshell; some versions of sh will print an error if
3140 -# an executable is not found, even if stderr is redirected.
3141 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3142 -if (aclocal --version) < /dev/null > /dev/null 2>&1; then
3143 -   ACLOCAL=aclocal
3144 -   echo "$as_me:$LINENO: result: found" >&5
3145 -echo "${ECHO_T}found" >&6
3146 -else
3147 -   ACLOCAL="$missing_dir/missing aclocal"
3148 -   echo "$as_me:$LINENO: result: missing" >&5
3149 -echo "${ECHO_T}missing" >&6
3150 -fi
3151 -
3152 -echo "$as_me:$LINENO: checking for working autoconf" >&5
3153 -echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6
3154 -# Run test in a subshell; some versions of sh will print an error if
3155 -# an executable is not found, even if stderr is redirected.
3156 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3157 -if (autoconf --version) < /dev/null > /dev/null 2>&1; then
3158 -   AUTOCONF=autoconf
3159 -   echo "$as_me:$LINENO: result: found" >&5
3160 -echo "${ECHO_T}found" >&6
3161 -else
3162 -   AUTOCONF="$missing_dir/missing autoconf"
3163 -   echo "$as_me:$LINENO: result: missing" >&5
3164 -echo "${ECHO_T}missing" >&6
3165 -fi
3166 -
3167 -echo "$as_me:$LINENO: checking for working automake" >&5
3168 -echo $ECHO_N "checking for working automake... $ECHO_C" >&6
3169 -# Run test in a subshell; some versions of sh will print an error if
3170 -# an executable is not found, even if stderr is redirected.
3171 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3172 -if (automake --version) < /dev/null > /dev/null 2>&1; then
3173 -   AUTOMAKE=automake
3174 -   echo "$as_me:$LINENO: result: found" >&5
3175 -echo "${ECHO_T}found" >&6
3176 -else
3177 -   AUTOMAKE="$missing_dir/missing automake"
3178 -   echo "$as_me:$LINENO: result: missing" >&5
3179 -echo "${ECHO_T}missing" >&6
3180 -fi
3181 -
3182 -echo "$as_me:$LINENO: checking for working autoheader" >&5
3183 -echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6
3184 -# Run test in a subshell; some versions of sh will print an error if
3185 -# an executable is not found, even if stderr is redirected.
3186 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3187 -if (autoheader --version) < /dev/null > /dev/null 2>&1; then
3188 -   AUTOHEADER=autoheader
3189 -   echo "$as_me:$LINENO: result: found" >&5
3190 -echo "${ECHO_T}found" >&6
3191 -else
3192 -   AUTOHEADER="$missing_dir/missing autoheader"
3193 -   echo "$as_me:$LINENO: result: missing" >&5
3194 -echo "${ECHO_T}missing" >&6
3195 -fi
3196 -
3197 -echo "$as_me:$LINENO: checking for working makeinfo" >&5
3198 -echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6
3199 -# Run test in a subshell; some versions of sh will print an error if
3200 -# an executable is not found, even if stderr is redirected.
3201 -# Redirect stdin to placate older versions of autoconf.  Sigh.
3202 -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
3203 -   MAKEINFO=makeinfo
3204 -   echo "$as_me:$LINENO: result: found" >&5
3205 -echo "${ECHO_T}found" >&6
3206 -else
3207 -   MAKEINFO="$missing_dir/missing makeinfo"
3208 -   echo "$as_me:$LINENO: result: missing" >&5
3209 -echo "${ECHO_T}missing" >&6
3210 -fi
3211 -
3212 -
3213 -
3214 -# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
3215 -# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
3216 -# are probably using a cross compiler, which will not be able to fully
3217 -# link an executable.  This should really be fixed in autoconf
3218 -# itself.
3219 -
3220 -
3221 -
3222 -
3223 -# Extract the first word of "gcc", so it can be a program name with args.
3224 -set dummy gcc; ac_word=$2
3225 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3226 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3227 -if test "${ac_cv_prog_CC+set}" = set; then
3228 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3229 -else
3230 -  if test -n "$CC"; then
3231 -  ac_cv_prog_CC="$CC" # Let the user override the test.
3232 -else
3233 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3234 -for as_dir in $PATH
3235 -do
3236 -  IFS=$as_save_IFS
3237 -  test -z "$as_dir" && as_dir=.
3238 -  for ac_exec_ext in '' $ac_executable_extensions; do
3239 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3240 -    ac_cv_prog_CC="gcc"
3241 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3242 -    break 2
3243 -  fi
3244 -done
3245 -done
3246 -
3247 -fi
3248 -fi
3249 -CC=$ac_cv_prog_CC
3250 -if test -n "$CC"; then
3251 -  echo "$as_me:$LINENO: result: $CC" >&5
3252 -echo "${ECHO_T}$CC" >&6
3253 -else
3254 -  echo "$as_me:$LINENO: result: no" >&5
3255 -echo "${ECHO_T}no" >&6
3256 -fi
3257 -
3258 -if test -z "$CC"; then
3259 -  # Extract the first word of "cc", so it can be a program name with args.
3260 -set dummy cc; ac_word=$2
3261 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3262 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3263 -if test "${ac_cv_prog_CC+set}" = set; then
3264 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3265 -else
3266 -  if test -n "$CC"; then
3267 -  ac_cv_prog_CC="$CC" # Let the user override the test.
3268 -else
3269 -  ac_prog_rejected=no
3270 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3271 -for as_dir in $PATH
3272 -do
3273 -  IFS=$as_save_IFS
3274 -  test -z "$as_dir" && as_dir=.
3275 -  for ac_exec_ext in '' $ac_executable_extensions; do
3276 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3277 -    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
3278 -       ac_prog_rejected=yes
3279 -       continue
3280 -     fi
3281 -    ac_cv_prog_CC="cc"
3282 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3283 -    break 2
3284 -  fi
3285 -done
3286 -done
3287 -
3288 -if test $ac_prog_rejected = yes; then
3289 -  # We found a bogon in the path, so make sure we never use it.
3290 -  set dummy $ac_cv_prog_CC
3291 -  shift
3292 -  if test $@%:@ != 0; then
3293 -    # We chose a different compiler from the bogus one.
3294 -    # However, it has the same basename, so the bogon will be chosen
3295 -    # first if we set CC to just the basename; use the full file name.
3296 -    shift
3297 -    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
3298 -  fi
3299 -fi
3300 -fi
3301 -fi
3302 -CC=$ac_cv_prog_CC
3303 -if test -n "$CC"; then
3304 -  echo "$as_me:$LINENO: result: $CC" >&5
3305 -echo "${ECHO_T}$CC" >&6
3306 -else
3307 -  echo "$as_me:$LINENO: result: no" >&5
3308 -echo "${ECHO_T}no" >&6
3309 -fi
3310 -
3311 -  test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
3312 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
3313 -   { (exit 1); exit 1; }; }
3314 -fi
3315 -
3316 -AC_PROG_CC_GNU
3317 -
3318 -if test $ac_cv_c_compiler_gnu = yes; then
3319 -  GCC=yes
3320 -  ac_test_CFLAGS="${CFLAGS+set}"
3321 -  ac_save_CFLAGS="$CFLAGS"
3322 -  CFLAGS=
3323 -  AC_PROG_CC_G
3324 -  if test "$ac_test_CFLAGS" = set; then
3325 -    CFLAGS="$ac_save_CFLAGS"
3326 -  elif test $ac_cv_prog_cc_g = yes; then
3327 -    CFLAGS="-g -O2"
3328 -  else
3329 -    CFLAGS="-O2"
3330 -  fi
3331 -else
3332 -  GCC=
3333 -  test "${CFLAGS+set}" = set || CFLAGS="-g"
3334 -fi
3335 -
3336 -
3337 -# Likewise for AC_PROG_CXX.
3338 -
3339 -
3340 -
3341 -for ac_prog in $CCC c++ g++ gcc CC cxx cc++
3342 -do
3343 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
3344 -set dummy $ac_prog; ac_word=$2
3345 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3346 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3347 -if test "${ac_cv_prog_CXX+set}" = set; then
3348 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3349 -else
3350 -  if test -n "$CXX"; then
3351 -  ac_cv_prog_CXX="$CXX" # Let the user override the test.
3352 -else
3353 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3354 -for as_dir in $PATH
3355 -do
3356 -  IFS=$as_save_IFS
3357 -  test -z "$as_dir" && as_dir=.
3358 -  for ac_exec_ext in '' $ac_executable_extensions; do
3359 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3360 -    ac_cv_prog_CXX="$ac_prog"
3361 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3362 -    break 2
3363 -  fi
3364 -done
3365 -done
3366 -
3367 -fi
3368 -fi
3369 -CXX=$ac_cv_prog_CXX
3370 -if test -n "$CXX"; then
3371 -  echo "$as_me:$LINENO: result: $CXX" >&5
3372 -echo "${ECHO_T}$CXX" >&6
3373 -else
3374 -  echo "$as_me:$LINENO: result: no" >&5
3375 -echo "${ECHO_T}no" >&6
3376 -fi
3377 -
3378 -  test -n "$CXX" && break
3379 -done
3380 -test -n "$CXX" || CXX="gcc"
3381 -
3382 -test -z "$CXX" && { { echo "$as_me:$LINENO: error: no acceptable c++ found in \$PATH" >&5
3383 -echo "$as_me: error: no acceptable c++ found in \$PATH" >&2;}
3384 -   { (exit 1); exit 1; }; }
3385 -
3386 -AC_PROG_CXX_GNU
3387 -
3388 -if test $ac_cv_cxx_compiler_gnu = yes; then
3389 -  GXX=yes
3390 -  ac_test_CXXFLAGS="${CXXFLAGS+set}"
3391 -  ac_save_CXXFLAGS="$CXXFLAGS"
3392 -  CXXFLAGS=
3393 -  AC_PROG_CXX_G
3394 -  if test "$ac_test_CXXFLAGS" = set; then
3395 -    CXXFLAGS="$ac_save_CXXFLAGS"
3396 -  elif test $ac_cv_prog_cxx_g = yes; then
3397 -    CXXFLAGS="-g -O2"
3398 -  else
3399 -    CXXFLAGS="-O2"
3400 -  fi
3401 -else
3402 -  GXX=
3403 -  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
3404 -fi
3405 -
3406 -
3407 -# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
3408 -# run it explicitly here, it will be run implicitly before
3409 -# NEWLIB_CONFIGURE, which doesn't work because that means that it will
3410 -# be run before AC_CANONICAL_HOST.
3411 -
3412 -
3413 -if test -n "$ac_tool_prefix"; then
3414 -  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
3415 -set dummy ${ac_tool_prefix}as; ac_word=$2
3416 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3417 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3418 -if test "${ac_cv_prog_AS+set}" = set; then
3419 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3420 -else
3421 -  if test -n "$AS"; then
3422 -  ac_cv_prog_AS="$AS" # Let the user override the test.
3423 -else
3424 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3425 -for as_dir in $PATH
3426 -do
3427 -  IFS=$as_save_IFS
3428 -  test -z "$as_dir" && as_dir=.
3429 -  for ac_exec_ext in '' $ac_executable_extensions; do
3430 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3431 -    ac_cv_prog_AS="${ac_tool_prefix}as"
3432 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3433 -    break 2
3434 -  fi
3435 -done
3436 -done
3437 -
3438 -fi
3439 -fi
3440 -AS=$ac_cv_prog_AS
3441 -if test -n "$AS"; then
3442 -  echo "$as_me:$LINENO: result: $AS" >&5
3443 -echo "${ECHO_T}$AS" >&6
3444 -else
3445 -  echo "$as_me:$LINENO: result: no" >&5
3446 -echo "${ECHO_T}no" >&6
3447 -fi
3448 -
3449 -fi
3450 -if test -z "$ac_cv_prog_AS"; then
3451 -  ac_ct_AS=$AS
3452 -  # Extract the first word of "as", so it can be a program name with args.
3453 -set dummy as; ac_word=$2
3454 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3455 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3456 -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
3457 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3458 -else
3459 -  if test -n "$ac_ct_AS"; then
3460 -  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
3461 -else
3462 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3463 -for as_dir in $PATH
3464 -do
3465 -  IFS=$as_save_IFS
3466 -  test -z "$as_dir" && as_dir=.
3467 -  for ac_exec_ext in '' $ac_executable_extensions; do
3468 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3469 -    ac_cv_prog_ac_ct_AS="as"
3470 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3471 -    break 2
3472 -  fi
3473 -done
3474 -done
3475 -
3476 -fi
3477 -fi
3478 -ac_ct_AS=$ac_cv_prog_ac_ct_AS
3479 -if test -n "$ac_ct_AS"; then
3480 -  echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
3481 -echo "${ECHO_T}$ac_ct_AS" >&6
3482 -else
3483 -  echo "$as_me:$LINENO: result: no" >&5
3484 -echo "${ECHO_T}no" >&6
3485 -fi
3486 -
3487 -  AS=$ac_ct_AS
3488 -else
3489 -  AS="$ac_cv_prog_AS"
3490 -fi
3491 -
3492 -if test -n "$ac_tool_prefix"; then
3493 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
3494 -set dummy ${ac_tool_prefix}ar; ac_word=$2
3495 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3496 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3497 -if test "${ac_cv_prog_AR+set}" = set; then
3498 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3499 -else
3500 -  if test -n "$AR"; then
3501 -  ac_cv_prog_AR="$AR" # Let the user override the test.
3502 -else
3503 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3504 -for as_dir in $PATH
3505 -do
3506 -  IFS=$as_save_IFS
3507 -  test -z "$as_dir" && as_dir=.
3508 -  for ac_exec_ext in '' $ac_executable_extensions; do
3509 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3510 -    ac_cv_prog_AR="${ac_tool_prefix}ar"
3511 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3512 -    break 2
3513 -  fi
3514 -done
3515 -done
3516 -
3517 -fi
3518 -fi
3519 -AR=$ac_cv_prog_AR
3520 -if test -n "$AR"; then
3521 -  echo "$as_me:$LINENO: result: $AR" >&5
3522 -echo "${ECHO_T}$AR" >&6
3523 -else
3524 -  echo "$as_me:$LINENO: result: no" >&5
3525 -echo "${ECHO_T}no" >&6
3526 -fi
3527 -
3528 -fi
3529 -if test -z "$ac_cv_prog_AR"; then
3530 -  ac_ct_AR=$AR
3531 -  # Extract the first word of "ar", so it can be a program name with args.
3532 -set dummy ar; ac_word=$2
3533 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3534 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3535 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
3536 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3537 -else
3538 -  if test -n "$ac_ct_AR"; then
3539 -  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
3540 -else
3541 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3542 -for as_dir in $PATH
3543 -do
3544 -  IFS=$as_save_IFS
3545 -  test -z "$as_dir" && as_dir=.
3546 -  for ac_exec_ext in '' $ac_executable_extensions; do
3547 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3548 -    ac_cv_prog_ac_ct_AR="ar"
3549 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3550 -    break 2
3551 -  fi
3552 -done
3553 -done
3554 -
3555 -fi
3556 -fi
3557 -ac_ct_AR=$ac_cv_prog_ac_ct_AR
3558 -if test -n "$ac_ct_AR"; then
3559 -  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
3560 -echo "${ECHO_T}$ac_ct_AR" >&6
3561 -else
3562 -  echo "$as_me:$LINENO: result: no" >&5
3563 -echo "${ECHO_T}no" >&6
3564 -fi
3565 -
3566 -  AR=$ac_ct_AR
3567 -else
3568 -  AR="$ac_cv_prog_AR"
3569 -fi
3570 -
3571 -if test -n "$ac_tool_prefix"; then
3572 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
3573 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
3574 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3575 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3576 -if test "${ac_cv_prog_RANLIB+set}" = set; then
3577 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3578 -else
3579 -  if test -n "$RANLIB"; then
3580 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
3581 -else
3582 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3583 -for as_dir in $PATH
3584 -do
3585 -  IFS=$as_save_IFS
3586 -  test -z "$as_dir" && as_dir=.
3587 -  for ac_exec_ext in '' $ac_executable_extensions; do
3588 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3589 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
3590 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3591 -    break 2
3592 -  fi
3593 -done
3594 -done
3595 -
3596 -fi
3597 -fi
3598 -RANLIB=$ac_cv_prog_RANLIB
3599 -if test -n "$RANLIB"; then
3600 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
3601 -echo "${ECHO_T}$RANLIB" >&6
3602 -else
3603 -  echo "$as_me:$LINENO: result: no" >&5
3604 -echo "${ECHO_T}no" >&6
3605 -fi
3606 -
3607 -fi
3608 -if test -z "$ac_cv_prog_RANLIB"; then
3609 -  ac_ct_RANLIB=$RANLIB
3610 -  # Extract the first word of "ranlib", so it can be a program name with args.
3611 -set dummy ranlib; ac_word=$2
3612 -echo "$as_me:$LINENO: checking for $ac_word" >&5
3613 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3614 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
3615 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3616 -else
3617 -  if test -n "$ac_ct_RANLIB"; then
3618 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
3619 -else
3620 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3621 -for as_dir in $PATH
3622 -do
3623 -  IFS=$as_save_IFS
3624 -  test -z "$as_dir" && as_dir=.
3625 -  for ac_exec_ext in '' $ac_executable_extensions; do
3626 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3627 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
3628 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3629 -    break 2
3630 -  fi
3631 -done
3632 -done
3633 -
3634 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
3635 -fi
3636 -fi
3637 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
3638 -if test -n "$ac_ct_RANLIB"; then
3639 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
3640 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
3641 -else
3642 -  echo "$as_me:$LINENO: result: no" >&5
3643 -echo "${ECHO_T}no" >&6
3644 -fi
3645 -
3646 -  RANLIB=$ac_ct_RANLIB
3647 -else
3648 -  RANLIB="$ac_cv_prog_RANLIB"
3649 -fi
3650 -
3651 -
3652 -# Find a good install program.  We prefer a C program (faster),
3653 -# so one script is as good as another.  But avoid the broken or
3654 -# incompatible versions:
3655 -# SysV /etc/install, /usr/sbin/install
3656 -# SunOS /usr/etc/install
3657 -# IRIX /sbin/install
3658 -# AIX /bin/install
3659 -# AmigaOS /C/install, which installs bootblocks on floppy discs
3660 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
3661 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
3662 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
3663 -# ./install, which can be erroneously created by make from ./install.sh.
3664 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
3665 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
3666 -if test -z "$INSTALL"; then
3667 -if test "${ac_cv_path_install+set}" = set; then
3668 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3669 -else
3670 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3671 -for as_dir in $PATH
3672 -do
3673 -  IFS=$as_save_IFS
3674 -  test -z "$as_dir" && as_dir=.
3675 -  # Account for people who put trailing slashes in PATH elements.
3676 -case $as_dir/ in
3677 -  ./ | .// | /cC/* | \
3678 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
3679 -  /usr/ucb/* ) ;;
3680 -  *)
3681 -    # OSF1 and SCO ODT 3.0 have their own names for install.
3682 -    # Don't use installbsd from OSF since it installs stuff as root
3683 -    # by default.
3684 -    for ac_prog in ginstall scoinst install; do
3685 -      for ac_exec_ext in '' $ac_executable_extensions; do
3686 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
3687 -          if test $ac_prog = install &&
3688 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3689 -            # AIX install.  It has an incompatible calling convention.
3690 -            :
3691 -          elif test $ac_prog = install &&
3692 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3693 -            # program-specific install script used by HP pwplus--don't use.
3694 -            :
3695 -          else
3696 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
3697 -            break 3
3698 -          fi
3699 -        fi
3700 -      done
3701 -    done
3702 -    ;;
3703 -esac
3704 -done
3705 -
3706 -
3707 -fi
3708 -  if test "${ac_cv_path_install+set}" = set; then
3709 -    INSTALL=$ac_cv_path_install
3710 -  else
3711 -    # As a last resort, use the slow shell script.  We don't cache a
3712 -    # path for INSTALL within a source directory, because that will
3713 -    # break other packages using the cache if that directory is
3714 -    # removed, or if the path is relative.
3715 -    INSTALL=$ac_install_sh
3716 -  fi
3717 -fi
3718 -echo "$as_me:$LINENO: result: $INSTALL" >&5
3719 -echo "${ECHO_T}$INSTALL" >&6
3720 -
3721 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
3722 -# It thinks the first close brace ends the variable substitution.
3723 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
3724 -
3725 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
3726 -
3727 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
3728 -
3729 -
3730 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
3731 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
3732 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
3733 -if test "${enable_maintainer_mode+set}" = set; then
3734 -  enableval="$enable_maintainer_mode"
3735 -  USE_MAINTAINER_MODE=$enableval
3736 -else
3737 -  USE_MAINTAINER_MODE=no
3738 -fi; 
3739 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
3740 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
3741 -  
3742 -
3743 -if test $USE_MAINTAINER_MODE = yes; then
3744 -  MAINTAINER_MODE_TRUE=
3745 -  MAINTAINER_MODE_FALSE='#'
3746 -else
3747 -  MAINTAINER_MODE_TRUE='#'
3748 -  MAINTAINER_MODE_FALSE=
3749 -fi
3750 -  MAINT=$MAINTAINER_MODE_TRUE
3751 -  
3752 -
3753 -
3754 -# We need AC_EXEEXT to keep automake happy in cygnus mode.  However,
3755 -# at least currently, we never actually build a program, so we never
3756 -# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
3757 -# fails, because we are probably configuring with a cross compiler
3758 -# which can't create executables.  So we include AC_EXEEXT to keep
3759 -# automake happy, but we don't execute it, since we don't care about
3760 -# the result.
3761 -if false; then
3762 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
3763 -  # to nothing, so nothing would remain between `then' and `fi' if it
3764 -  # were not for the `:' below.
3765 -  :
3766 -  
3767 -fi
3768 -
3769 -. ${srcdir}/configure.host
3770 -
3771 -case ${gc_basedir} in
3772 -/* | A-Za-z:/\\*) gc_flagbasedir=${gc_basedir} ;;
3773 -*) gc_flagbasedir='$(top_builddir)/'${gc_basedir} ;;
3774 -esac
3775 -
3776 -gc_cflags="${gc_cflags} -I"'$(top_builddir)'"/./targ-include -I${gc_flagbasedir}/libc/include"
3777 -case "${host}" in
3778 -  *-*-cygwin32*)
3779 -    gc_cflags="${gc_cflags} -I${gc_flagbasedir}/../winsup/include"
3780 -    ;;
3781 -esac
3782 -
3783 -
3784 -GC_CFLAGS=${gc_cflags}
3785 -
3786 -
3787 -
3788 -# Check whether --enable-shared or --disable-shared was given.
3789 -if test "${enable_shared+set}" = set; then
3790 -  enableval="$enable_shared"
3791 -  p=${PACKAGE-default}
3792 -case $enableval in
3793 -yes) enable_shared=yes ;;
3794 -no) enable_shared=no ;;
3795 -*)
3796 -  enable_shared=no
3797 -  # Look at the argument we got.  We use all the common list separators.
3798 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3799 -  for pkg in $enableval; do
3800 -    if test "X$pkg" = "X$p"; then
3801 -      enable_shared=yes
3802 -    fi
3803 -  done
3804 -  IFS="$ac_save_ifs"
3805 -  ;;
3806 -esac
3807 -else
3808 -  enable_shared=yes
3809 -fi; 
3810 -# Check whether --enable-static or --disable-static was given.
3811 -if test "${enable_static+set}" = set; then
3812 -  enableval="$enable_static"
3813 -  p=${PACKAGE-default}
3814 -case $enableval in
3815 -yes) enable_static=yes ;;
3816 -no) enable_static=no ;;
3817 -*)
3818 -  enable_static=no
3819 -  # Look at the argument we got.  We use all the common list separators.
3820 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3821 -  for pkg in $enableval; do
3822 -    if test "X$pkg" = "X$p"; then
3823 -      enable_static=yes
3824 -    fi
3825 -  done
3826 -  IFS="$ac_save_ifs"
3827 -  ;;
3828 -esac
3829 -else
3830 -  enable_static=yes
3831 -fi; 
3832 -# Check whether --enable-fast-install or --disable-fast-install was given.
3833 -if test "${enable_fast_install+set}" = set; then
3834 -  enableval="$enable_fast_install"
3835 -  p=${PACKAGE-default}
3836 -case $enableval in
3837 -yes) enable_fast_install=yes ;;
3838 -no) enable_fast_install=no ;;
3839 -*)
3840 -  enable_fast_install=no
3841 -  # Look at the argument we got.  We use all the common list separators.
3842 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3843 -  for pkg in $enableval; do
3844 -    if test "X$pkg" = "X$p"; then
3845 -      enable_fast_install=yes
3846 -    fi
3847 -  done
3848 -  IFS="$ac_save_ifs"
3849 -  ;;
3850 -esac
3851 -else
3852 -  enable_fast_install=yes
3853 -fi; 
3854 -
3855 -# Check whether --with-gnu-ld or --without-gnu-ld was given.
3856 -if test "${with_gnu_ld+set}" = set; then
3857 -  withval="$with_gnu_ld"
3858 -  test "$withval" = no || with_gnu_ld=yes
3859 -else
3860 -  with_gnu_ld=no
3861 -fi; 
3862 -ac_prog=ld
3863 -if test "$GCC" = yes; then
3864 -  # Check if gcc -print-prog-name=ld gives a path.
3865 -  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
3866 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
3867 -  case $host in
3868 -  *-*-mingw*)
3869 -    # gcc leaves a trailing carriage return which upsets mingw
3870 -    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3871 -  *)
3872 -    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3873 -  esac
3874 -  case $ac_prog in
3875 -    # Accept absolute paths.
3876 -    [\\/]* | [A-Za-z]:[\\/]*)
3877 -      re_direlt='/[^/][^/]*/\.\./'
3878 -      # Canonicalize the path of ld
3879 -      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
3880 -      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3881 -       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
3882 -      done
3883 -      test -z "$LD" && LD="$ac_prog"
3884 -      ;;
3885 -  "")
3886 -    # If it fails, then pretend we aren't using GCC.
3887 -    ac_prog=ld
3888 -    ;;
3889 -  *)
3890 -    # If it is relative, then search for the first ld in PATH.
3891 -    with_gnu_ld=unknown
3892 -    ;;
3893 -  esac
3894 -elif test "$with_gnu_ld" = yes; then
3895 -  echo "$as_me:$LINENO: checking for GNU ld" >&5
3896 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
3897 -else
3898 -  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
3899 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
3900 -fi
3901 -if test "${lt_cv_path_LD+set}" = set; then
3902 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3903 -else
3904 -  if test -z "$LD"; then
3905 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
3906 -  for ac_dir in $PATH; do
3907 -    test -z "$ac_dir" && ac_dir=.
3908 -    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3909 -      lt_cv_path_LD="$ac_dir/$ac_prog"
3910 -      # Check to see if the program is GNU ld.  I'd rather use --version,
3911 -      # but apparently some GNU ld's only accept -v.
3912 -      # Break only if it was the GNU/non-GNU ld that we prefer.
3913 -      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
3914 -       test "$with_gnu_ld" != no && break
3915 -      else
3916 -       test "$with_gnu_ld" != yes && break
3917 -      fi
3918 -    fi
3919 -  done
3920 -  IFS="$ac_save_ifs"
3921 -else
3922 -  lt_cv_path_LD="$LD" # Let the user override the test with a path.
3923 -fi
3924 -fi
3925 -
3926 -LD="$lt_cv_path_LD"
3927 -if test -n "$LD"; then
3928 -  echo "$as_me:$LINENO: result: $LD" >&5
3929 -echo "${ECHO_T}$LD" >&6
3930 -else
3931 -  echo "$as_me:$LINENO: result: no" >&5
3932 -echo "${ECHO_T}no" >&6
3933 -fi
3934 -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
3935 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
3936 -   { (exit 1); exit 1; }; }
3937 -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
3938 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
3939 -if test "${lt_cv_prog_gnu_ld+set}" = set; then
3940 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3941 -else
3942 -  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
3943 -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
3944 -  lt_cv_prog_gnu_ld=yes
3945 -else
3946 -  lt_cv_prog_gnu_ld=no
3947 -fi
3948 -fi
3949 -echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
3950 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
3951 -with_gnu_ld=$lt_cv_prog_gnu_ld
3952 -
3953 -
3954 -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
3955 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
3956 -if test "${lt_cv_ld_reload_flag+set}" = set; then
3957 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3958 -else
3959 -  lt_cv_ld_reload_flag='-r'
3960 -fi
3961 -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
3962 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
3963 -reload_flag=$lt_cv_ld_reload_flag
3964 -test -n "$reload_flag" && reload_flag=" $reload_flag"
3965 -
3966 -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
3967 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
3968 -if test "${lt_cv_path_NM+set}" = set; then
3969 -  echo $ECHO_N "(cached) $ECHO_C" >&6
3970 -else
3971 -  if test -n "$NM"; then
3972 -  # Let the user override the test.
3973 -  lt_cv_path_NM="$NM"
3974 -else
3975 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
3976 -  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
3977 -    test -z "$ac_dir" && ac_dir=.
3978 -    tmp_nm=$ac_dir/${ac_tool_prefix}nm
3979 -    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
3980 -      # Check to see if the nm accepts a BSD-compat flag.
3981 -      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3982 -      #   nm: unknown option "B" ignored
3983 -      # Tru64's nm complains that /dev/null is an invalid object file
3984 -      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
3985 -       lt_cv_path_NM="$tmp_nm -B"
3986 -       break
3987 -      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
3988 -       lt_cv_path_NM="$tmp_nm -p"
3989 -       break
3990 -      else
3991 -       lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3992 -       continue # so that we can try to find one that supports BSD flags
3993 -      fi
3994 -    fi
3995 -  done
3996 -  IFS="$ac_save_ifs"
3997 -  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3998 -fi
3999 -fi
4000 -
4001 -NM="$lt_cv_path_NM"
4002 -echo "$as_me:$LINENO: result: $NM" >&5
4003 -echo "${ECHO_T}$NM" >&6
4004 -
4005 -echo "$as_me:$LINENO: checking whether ln -s works" >&5
4006 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
4007 -LN_S=$as_ln_s
4008 -if test "$LN_S" = "ln -s"; then
4009 -  echo "$as_me:$LINENO: result: yes" >&5
4010 -echo "${ECHO_T}yes" >&6
4011 -else
4012 -  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
4013 -echo "${ECHO_T}no, using $LN_S" >&6
4014 -fi
4015 -
4016 -echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
4017 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
4018 -if test "${lt_cv_deplibs_check_method+set}" = set; then
4019 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4020 -else
4021 -  lt_cv_file_magic_cmd='$MAGIC_CMD'
4022 -lt_cv_file_magic_test_file=
4023 -lt_cv_deplibs_check_method='unknown'
4024 -# Need to set the preceding variable on all platforms that support
4025 -# interlibrary dependencies.
4026 -# 'none' -- dependencies not supported.
4027 -# `unknown' -- same as none, but documents that we really don't know.
4028 -# 'pass_all' -- all dependencies passed with no checks.
4029 -# 'test_compile' -- check by making test program.
4030 -# 'file_magic [regex]' -- check by looking for files in library path
4031 -# which responds to the $file_magic_cmd with a given egrep regex.
4032 -# If you have `file' or equivalent on your system and you're not sure
4033 -# whether `pass_all' will *always* work, you probably want this one.
4034 -
4035 -case $host_os in
4036 -aix*)
4037 -  lt_cv_deplibs_check_method=pass_all
4038 -  ;;
4039 -
4040 -beos*)
4041 -  lt_cv_deplibs_check_method=pass_all
4042 -  ;;
4043 -
4044 -bsdi4*)
4045 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
4046 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
4047 -  lt_cv_file_magic_test_file=/shlib/libc.so
4048 -  ;;
4049 -
4050 -cygwin* | mingw* |pw32*)
4051 -  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
4052 -  lt_cv_file_magic_cmd='$OBJDUMP -f'
4053 -  ;;
4054 -
4055 -darwin* | rhapsody*)
4056 -  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
4057 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
4058 -  case "$host_os" in
4059 -  rhapsody* | darwin1.012)
4060 -    lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
4061 -    ;;
4062 -  *) # Darwin 1.3 on
4063 -    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
4064 -    ;;
4065 -  esac
4066 -  ;;
4067 -
4068 -freebsd* )
4069 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
4070 -    case $host_cpu in
4071 -    i*86 )
4072 -      # Not sure whether the presence of OpenBSD here was a mistake.
4073 -      # Let's accept both of them until this is cleared up.
4074 -      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
4075 -      lt_cv_file_magic_cmd=/usr/bin/file
4076 -      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
4077 -      ;;
4078 -    esac
4079 -  else
4080 -    lt_cv_deplibs_check_method=pass_all
4081 -  fi
4082 -  ;;
4083 -
4084 -gnu*)
4085 -  lt_cv_deplibs_check_method=pass_all
4086 -  ;;
4087 -
4088 -hpux10.20*|hpux11*)
4089 -  case $host_cpu in
4090 -  hppa*)
4091 -    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
4092 -    lt_cv_file_magic_cmd=/usr/bin/file
4093 -    lt_cv_file_magic_test_file=/usr/lib/libc.sl
4094 -    ;;
4095 -  ia64*)
4096 -    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
4097 -    lt_cv_file_magic_cmd=/usr/bin/file
4098 -    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
4099 -    ;;
4100 -  esac
4101 -  ;;
4102 -
4103 -irix5* | irix6*)
4104 -  case $host_os in
4105 -  irix5*)
4106 -    # this will be overridden with pass_all, but let us keep it just in case
4107 -    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
4108 -    ;;
4109 -  *)
4110 -    case $LD in
4111 -    *-32|*"-32 ") libmagic=32-bit;;
4112 -    *-n32|*"-n32 ") libmagic=N32;;
4113 -    *-64|*"-64 ") libmagic=64-bit;;
4114 -    *) libmagic=never-match;;
4115 -    esac
4116 -    # this will be overridden with pass_all, but let us keep it just in case
4117 -    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
4118 -    ;;
4119 -  esac
4120 -  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
4121 -  lt_cv_deplibs_check_method=pass_all
4122 -  ;;
4123 -
4124 -# This must be Linux ELF.
4125 -linux-gnu*)
4126 -  case $host_cpu in
4127 -  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
4128 -    lt_cv_deplibs_check_method=pass_all ;;
4129 -  *)
4130 -    # glibc up to 2.1.1 does not perform some relocations on ARM
4131 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
4132 -  esac
4133 -  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
4134 -  ;;
4135 -
4136 -netbsd*)
4137 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
4138 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
4139 -  else
4140 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
4141 -  fi
4142 -  ;;
4143 -
4144 -newsos6)
4145 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
4146 -  lt_cv_file_magic_cmd=/usr/bin/file
4147 -  lt_cv_file_magic_test_file=/usr/lib/libnls.so
4148 -  ;;
4149 -
4150 -osf3* | osf4* | osf5*)
4151 -  # this will be overridden with pass_all, but let us keep it just in case
4152 -  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
4153 -  lt_cv_file_magic_test_file=/shlib/libc.so
4154 -  lt_cv_deplibs_check_method=pass_all
4155 -  ;;
4156 -
4157 -sco3.2v5*)
4158 -  lt_cv_deplibs_check_method=pass_all
4159 -  ;;
4160 -
4161 -solaris*)
4162 -  lt_cv_deplibs_check_method=pass_all
4163 -  lt_cv_file_magic_test_file=/lib/libc.so
4164 -  ;;
4165 -
4166 -sysv5uw[78]* | sysv4*uw2*)
4167 -  lt_cv_deplibs_check_method=pass_all
4168 -  ;;
4169 -
4170 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
4171 -  case $host_vendor in
4172 -  ncr)
4173 -    lt_cv_deplibs_check_method=pass_all
4174 -    ;;
4175 -  motorola)
4176 -    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]'
4177 -    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
4178 -    ;;
4179 -  esac
4180 -  ;;
4181 -esac
4182 -
4183 -fi
4184 -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
4185 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
4186 -file_magic_cmd=$lt_cv_file_magic_cmd
4187 -deplibs_check_method=$lt_cv_deplibs_check_method
4188 -
4189 -
4190 -
4191 -
4192 -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
4193 -
4194 -# Only perform the check for file, if the check method requires it
4195 -case $deplibs_check_method in
4196 -file_magic*)
4197 -  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
4198 -    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
4199 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
4200 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
4201 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4202 -else
4203 -  case $MAGIC_CMD in
4204 -  /*)
4205 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
4206 -  ;;
4207 -  ?:/*)
4208 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
4209 -  ;;
4210 -  *)
4211 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
4212 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
4213 -  ac_dummy="/usr/bin:$PATH"
4214 -  for ac_dir in $ac_dummy; do
4215 -    test -z "$ac_dir" && ac_dir=.
4216 -    if test -f $ac_dir/${ac_tool_prefix}file; then
4217 -      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
4218 -      if test -n "$file_magic_test_file"; then
4219 -       case $deplibs_check_method in
4220 -       "file_magic "*)
4221 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
4222 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4223 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
4224 -           egrep "$file_magic_regex" > /dev/null; then
4225 -           :
4226 -         else
4227 -           cat <<EOF 1>&2
4228 -
4229 -*** Warning: the command libtool uses to detect shared libraries,
4230 -*** $file_magic_cmd, produces output that libtool cannot recognize.
4231 -*** The result is that libtool may fail to recognize shared libraries
4232 -*** as such.  This will affect the creation of libtool libraries that
4233 -*** depend on shared libraries, but programs linked with such libtool
4234 -*** libraries will work regardless of this problem.  Nevertheless, you
4235 -*** may want to report the problem to your system manager and/or to
4236 -*** bug-libtool@gnu.org
4237 -
4238 -EOF
4239 -         fi ;;
4240 -       esac
4241 -      fi
4242 -      break
4243 -    fi
4244 -  done
4245 -  IFS="$ac_save_ifs"
4246 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
4247 -  ;;
4248 -esac
4249 -fi
4250 -
4251 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4252 -if test -n "$MAGIC_CMD"; then
4253 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
4254 -echo "${ECHO_T}$MAGIC_CMD" >&6
4255 -else
4256 -  echo "$as_me:$LINENO: result: no" >&5
4257 -echo "${ECHO_T}no" >&6
4258 -fi
4259 -
4260 -if test -z "$lt_cv_path_MAGIC_CMD"; then
4261 -  if test -n "$ac_tool_prefix"; then
4262 -    echo "$as_me:$LINENO: checking for file" >&5
4263 -echo $ECHO_N "checking for file... $ECHO_C" >&6
4264 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
4265 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4266 -else
4267 -  case $MAGIC_CMD in
4268 -  /*)
4269 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
4270 -  ;;
4271 -  ?:/*)
4272 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
4273 -  ;;
4274 -  *)
4275 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
4276 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
4277 -  ac_dummy="/usr/bin:$PATH"
4278 -  for ac_dir in $ac_dummy; do
4279 -    test -z "$ac_dir" && ac_dir=.
4280 -    if test -f $ac_dir/file; then
4281 -      lt_cv_path_MAGIC_CMD="$ac_dir/file"
4282 -      if test -n "$file_magic_test_file"; then
4283 -       case $deplibs_check_method in
4284 -       "file_magic "*)
4285 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
4286 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4287 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
4288 -           egrep "$file_magic_regex" > /dev/null; then
4289 -           :
4290 -         else
4291 -           cat <<EOF 1>&2
4292 -
4293 -*** Warning: the command libtool uses to detect shared libraries,
4294 -*** $file_magic_cmd, produces output that libtool cannot recognize.
4295 -*** The result is that libtool may fail to recognize shared libraries
4296 -*** as such.  This will affect the creation of libtool libraries that
4297 -*** depend on shared libraries, but programs linked with such libtool
4298 -*** libraries will work regardless of this problem.  Nevertheless, you
4299 -*** may want to report the problem to your system manager and/or to
4300 -*** bug-libtool@gnu.org
4301 -
4302 -EOF
4303 -         fi ;;
4304 -       esac
4305 -      fi
4306 -      break
4307 -    fi
4308 -  done
4309 -  IFS="$ac_save_ifs"
4310 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
4311 -  ;;
4312 -esac
4313 -fi
4314 -
4315 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
4316 -if test -n "$MAGIC_CMD"; then
4317 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
4318 -echo "${ECHO_T}$MAGIC_CMD" >&6
4319 -else
4320 -  echo "$as_me:$LINENO: result: no" >&5
4321 -echo "${ECHO_T}no" >&6
4322 -fi
4323 -
4324 -  else
4325 -    MAGIC_CMD=:
4326 -  fi
4327 -fi
4328 -
4329 -  fi
4330 -  ;;
4331 -esac
4332 -
4333 -if test -n "$ac_tool_prefix"; then
4334 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
4335 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
4336 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4337 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4338 -if test "${ac_cv_prog_RANLIB+set}" = set; then
4339 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4340 -else
4341 -  if test -n "$RANLIB"; then
4342 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
4343 -else
4344 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4345 -for as_dir in $PATH
4346 -do
4347 -  IFS=$as_save_IFS
4348 -  test -z "$as_dir" && as_dir=.
4349 -  for ac_exec_ext in '' $ac_executable_extensions; do
4350 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4351 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
4352 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4353 -    break 2
4354 -  fi
4355 -done
4356 -done
4357 -
4358 -fi
4359 -fi
4360 -RANLIB=$ac_cv_prog_RANLIB
4361 -if test -n "$RANLIB"; then
4362 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
4363 -echo "${ECHO_T}$RANLIB" >&6
4364 -else
4365 -  echo "$as_me:$LINENO: result: no" >&5
4366 -echo "${ECHO_T}no" >&6
4367 -fi
4368 -
4369 -fi
4370 -if test -z "$ac_cv_prog_RANLIB"; then
4371 -  ac_ct_RANLIB=$RANLIB
4372 -  # Extract the first word of "ranlib", so it can be a program name with args.
4373 -set dummy ranlib; ac_word=$2
4374 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4375 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4376 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
4377 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4378 -else
4379 -  if test -n "$ac_ct_RANLIB"; then
4380 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
4381 -else
4382 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4383 -for as_dir in $PATH
4384 -do
4385 -  IFS=$as_save_IFS
4386 -  test -z "$as_dir" && as_dir=.
4387 -  for ac_exec_ext in '' $ac_executable_extensions; do
4388 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4389 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
4390 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4391 -    break 2
4392 -  fi
4393 -done
4394 -done
4395 -
4396 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
4397 -fi
4398 -fi
4399 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
4400 -if test -n "$ac_ct_RANLIB"; then
4401 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
4402 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
4403 -else
4404 -  echo "$as_me:$LINENO: result: no" >&5
4405 -echo "${ECHO_T}no" >&6
4406 -fi
4407 -
4408 -  RANLIB=$ac_ct_RANLIB
4409 -else
4410 -  RANLIB="$ac_cv_prog_RANLIB"
4411 -fi
4412 -
4413 -if test -n "$ac_tool_prefix"; then
4414 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
4415 -set dummy ${ac_tool_prefix}strip; ac_word=$2
4416 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4417 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4418 -if test "${ac_cv_prog_STRIP+set}" = set; then
4419 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4420 -else
4421 -  if test -n "$STRIP"; then
4422 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
4423 -else
4424 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4425 -for as_dir in $PATH
4426 -do
4427 -  IFS=$as_save_IFS
4428 -  test -z "$as_dir" && as_dir=.
4429 -  for ac_exec_ext in '' $ac_executable_extensions; do
4430 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4431 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
4432 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4433 -    break 2
4434 -  fi
4435 -done
4436 -done
4437 -
4438 -fi
4439 -fi
4440 -STRIP=$ac_cv_prog_STRIP
4441 -if test -n "$STRIP"; then
4442 -  echo "$as_me:$LINENO: result: $STRIP" >&5
4443 -echo "${ECHO_T}$STRIP" >&6
4444 -else
4445 -  echo "$as_me:$LINENO: result: no" >&5
4446 -echo "${ECHO_T}no" >&6
4447 -fi
4448 -
4449 -fi
4450 -if test -z "$ac_cv_prog_STRIP"; then
4451 -  ac_ct_STRIP=$STRIP
4452 -  # Extract the first word of "strip", so it can be a program name with args.
4453 -set dummy strip; ac_word=$2
4454 -echo "$as_me:$LINENO: checking for $ac_word" >&5
4455 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
4456 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
4457 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4458 -else
4459 -  if test -n "$ac_ct_STRIP"; then
4460 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
4461 -else
4462 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4463 -for as_dir in $PATH
4464 -do
4465 -  IFS=$as_save_IFS
4466 -  test -z "$as_dir" && as_dir=.
4467 -  for ac_exec_ext in '' $ac_executable_extensions; do
4468 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4469 -    ac_cv_prog_ac_ct_STRIP="strip"
4470 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4471 -    break 2
4472 -  fi
4473 -done
4474 -done
4475 -
4476 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
4477 -fi
4478 -fi
4479 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
4480 -if test -n "$ac_ct_STRIP"; then
4481 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
4482 -echo "${ECHO_T}$ac_ct_STRIP" >&6
4483 -else
4484 -  echo "$as_me:$LINENO: result: no" >&5
4485 -echo "${ECHO_T}no" >&6
4486 -fi
4487 -
4488 -  STRIP=$ac_ct_STRIP
4489 -else
4490 -  STRIP="$ac_cv_prog_STRIP"
4491 -fi
4492 -
4493 -
4494 -# Check for any special flags to pass to ltconfig.
4495 -libtool_flags="--cache-file=$cache_file"
4496 -test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
4497 -test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
4498 -test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
4499 -test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
4500 -test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
4501 -
4502 -
4503 -# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
4504 -if test "${enable_libtool_lock+set}" = set; then
4505 -  enableval="$enable_libtool_lock"
4506 -  
4507 -fi; 
4508 -test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
4509 -test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
4510 -
4511 -
4512 -# Check whether --with-pic or --without-pic was given.
4513 -if test "${with_pic+set}" = set; then
4514 -  withval="$with_pic"
4515 -  pic_mode="$withval"
4516 -else
4517 -  pic_mode=default
4518 -fi; 
4519 -test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
4520 -test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
4521 -
4522 -# Some flags need to be propagated to the compiler or linker for good
4523 -# libtool support.
4524 -case $host in
4525 -*-*-irix6*)
4526 -  # Find out which ABI we are using.
4527 -  echo '#line __oline__ "configure"' > conftest.$ac_ext
4528 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4529 -  (eval $ac_compile) 2>&5
4530 -  ac_status=$?
4531 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4532 -  (exit $ac_status); }; then
4533 -    case `/usr/bin/file conftest.$ac_objext` in
4534 -    *32-bit*)
4535 -      LD="${LD-ld} -32"
4536 -      ;;
4537 -    *N32*)
4538 -      LD="${LD-ld} -n32"
4539 -      ;;
4540 -    *64-bit*)
4541 -      LD="${LD-ld} -64"
4542 -      ;;
4543 -    esac
4544 -  fi
4545 -  rm -rf conftest*
4546 -  ;;
4547 -
4548 -ia64-*-hpux*)
4549 -  # Find out which ABI we are using.
4550 -  echo 'int i;' > conftest.$ac_ext
4551 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4552 -  (eval $ac_compile) 2>&5
4553 -  ac_status=$?
4554 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4555 -  (exit $ac_status); }; then
4556 -    case "`/usr/bin/file conftest.o`" in
4557 -    *ELF-32*)
4558 -      HPUX_IA64_MODE="32"
4559 -      ;;
4560 -    *ELF-64*)
4561 -      HPUX_IA64_MODE="64"
4562 -      ;;
4563 -    esac
4564 -  fi
4565 -  rm -rf conftest*
4566 -  ;;
4567 -
4568 -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
4569 -  # Find out which ABI we are using.
4570 -  echo 'int i;' > conftest.$ac_ext
4571 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4572 -  (eval $ac_compile) 2>&5
4573 -  ac_status=$?
4574 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4575 -  (exit $ac_status); }; then
4576 -    case "`/usr/bin/file conftest.o`" in
4577 -    *32-bit*)
4578 -      case $host in
4579 -        x86_64-*linux*)
4580 -          LD="${LD-ld} -m elf_i386"
4581 -          ;;
4582 -        ppc64-*linux*)
4583 -          LD="${LD-ld} -m elf32ppclinux"
4584 -          ;;
4585 -        s390x-*linux*)
4586 -          LD="${LD-ld} -m elf_s390"
4587 -          ;;
4588 -        sparc64-*linux*)
4589 -          LD="${LD-ld} -m elf32_sparc"
4590 -          ;;
4591 -      esac
4592 -      ;;
4593 -    *64-bit*)
4594 -      case $host in
4595 -        x86_64-*linux*)
4596 -          LD="${LD-ld} -m elf_x86_64"
4597 -          ;;
4598 -        ppc*-*linux*|powerpc*-*linux*)
4599 -          LD="${LD-ld} -m elf64ppc"
4600 -          ;;
4601 -        s390*-*linux*)
4602 -          LD="${LD-ld} -m elf64_s390"
4603 -          ;;
4604 -        sparc*-*linux*)
4605 -          LD="${LD-ld} -m elf64_sparc"
4606 -          ;;
4607 -      esac
4608 -      ;;
4609 -    esac
4610 -  fi
4611 -  rm -rf conftest*
4612 -  ;;
4613 -
4614 -*-*-sco3.2v5*)
4615 -  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
4616 -  SAVE_CFLAGS="$CFLAGS"
4617 -  CFLAGS="$CFLAGS -belf"
4618 -  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
4619 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
4620 -if test "${lt_cv_cc_needs_belf+set}" = set; then
4621 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4622 -else
4623 -  
4624 -
4625 -     ac_ext=c
4626 -ac_cpp='$CPP $CPPFLAGS'
4627 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4628 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4629 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4630 -
4631 -     cat >conftest.$ac_ext <<_ACEOF
4632 -#line $LINENO "configure"
4633 -/* confdefs.h.  */
4634 -_ACEOF
4635 -cat confdefs.h >>conftest.$ac_ext
4636 -cat >>conftest.$ac_ext <<_ACEOF
4637 -/* end confdefs.h.  */
4638 -
4639 -int
4640 -main ()
4641 -{
4642 -
4643 -  ;
4644 -  return 0;
4645 -}
4646 -_ACEOF
4647 -rm -f conftest.$ac_objext conftest$ac_exeext
4648 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
4649 -  (eval $ac_link) 2>&5
4650 -  ac_status=$?
4651 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4652 -  (exit $ac_status); } &&
4653 -         { ac_try='test -s conftest$ac_exeext'
4654 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
4655 -  (eval $ac_try) 2>&5
4656 -  ac_status=$?
4657 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4658 -  (exit $ac_status); }; }; then
4659 -  lt_cv_cc_needs_belf=yes
4660 -else
4661 -  echo "$as_me: failed program was:" >&5
4662 -sed 's/^/| /' conftest.$ac_ext >&5
4663 -
4664 -lt_cv_cc_needs_belf=no
4665 -fi
4666 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
4667 -     ac_ext=c
4668 -ac_cpp='$CPP $CPPFLAGS'
4669 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4670 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4671 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
4672 -
4673 -fi
4674 -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
4675 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
4676 -  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
4677 -    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
4678 -    CFLAGS="$SAVE_CFLAGS"
4679 -  fi
4680 -  ;;
4681 -
4682 -
4683 -esac
4684 -
4685 -
4686 -# Save cache, so that ltconfig can load it
4687 -cat >confcache <<\_ACEOF
4688 -# This file is a shell script that caches the results of configure
4689 -# tests run on this system so they can be shared between configure
4690 -# scripts and configure runs, see configure's option --config-cache.
4691 -# It is not useful on other systems.  If it contains results you don't
4692 -# want to keep, you may remove or edit it.
4693 -#
4694 -# config.status only pays attention to the cache file if you give it
4695 -# the --recheck option to rerun configure.
4696 -#
4697 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
4698 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
4699 -# following values.
4700 -
4701 -_ACEOF
4702 -
4703 -# The following way of writing the cache mishandles newlines in values,
4704 -# but we know of no workaround that is simple, portable, and efficient.
4705 -# So, don't put newlines in cache variables' values.
4706 -# Ultrix sh set writes to stderr and can't be redirected directly,
4707 -# and sets the high bit in the cache file unless we assign to the vars.
4708 -{
4709 -  (set) 2>&1 |
4710 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
4711 -    *ac_space=\ *)
4712 -      # `set' does not quote correctly, so add quotes (double-quote
4713 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
4714 -      sed -n \
4715 -        "s/'/'\\\\''/g;
4716 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
4717 -      ;;
4718 -    *)
4719 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
4720 -      sed -n \
4721 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
4722 -      ;;
4723 -    esac;
4724 -} |
4725 -  sed '
4726 -     t clear
4727 -     : clear
4728 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
4729 -     t end
4730 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
4731 -     : end' >>confcache
4732 -if diff $cache_file confcache >/dev/null 2>&1; then :; else
4733 -  if test -w $cache_file; then
4734 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
4735 -    cat confcache >$cache_file
4736 -  else
4737 -    echo "not updating unwritable cache $cache_file"
4738 -  fi
4739 -fi
4740 -rm -f confcache
4741 -
4742 -# Actually configure libtool.  ac_aux_dir is where install-sh is found.
4743 -AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
4744 -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
4745 -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
4746 -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
4747 -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
4748 -deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
4749 -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
4750 -$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
4751 -|| { { echo "$as_me:$LINENO: error: libtool configure failed" >&5
4752 -echo "$as_me: error: libtool configure failed" >&2;}
4753 -   { (exit 1); exit 1; }; }
4754 -
4755 -# Reload cache, that may have been modified by ltconfig
4756 -if test -r "$cache_file"; then
4757 -  # Some versions of bash will fail to source /dev/null (special
4758 -  # files actually), so we avoid doing that.
4759 -  if test -f "$cache_file"; then
4760 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
4761 -echo "$as_me: loading cache $cache_file" >&6;}
4762 -    case $cache_file in
4763 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
4764 -      *)                      . ./$cache_file;;
4765 -    esac
4766 -  fi
4767 -else
4768 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
4769 -echo "$as_me: creating cache $cache_file" >&6;}
4770 -  >$cache_file
4771 -fi
4772 -
4773 -
4774 -# This can be used to rebuild libtool when needed
4775 -LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
4776 -
4777 -# Always use our own libtool.
4778 -LIBTOOL='$(SHELL) $(top_builddir)/libtool'
4779 -
4780 -# Redirect the config.log output again, so that the ltconfig log is not
4781 -# clobbered by the next message.
4782 -exec 5>>./config.log
4783 -
4784 -ac_ext=cc
4785 -ac_cpp='$CXXCPP $CPPFLAGS'
4786 -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4787 -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4788 -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
4789 -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
4790 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
4791 -if test -z "$CXXCPP"; then
4792 -  if test "${ac_cv_prog_CXXCPP+set}" = set; then
4793 -  echo $ECHO_N "(cached) $ECHO_C" >&6
4794 -else
4795 -      # Double quotes because CXXCPP needs to be expanded
4796 -    for CXXCPP in "$CXX -E" "/lib/cpp"
4797 -    do
4798 -      ac_preproc_ok=false
4799 -for ac_cxx_preproc_warn_flag in '' yes
4800 -do
4801 -  # Use a header file that comes with gcc, so configuring glibc
4802 -  # with a fresh cross-compiler works.
4803 -  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4804 -  # <limits.h> exists even on freestanding compilers.
4805 -  # On the NeXT, cc -E runs the code through the compiler's parser,
4806 -  # not just through cpp. "Syntax error" is here to catch this case.
4807 -  cat >conftest.$ac_ext <<_ACEOF
4808 -#line $LINENO "configure"
4809 -/* confdefs.h.  */
4810 -_ACEOF
4811 -cat confdefs.h >>conftest.$ac_ext
4812 -cat >>conftest.$ac_ext <<_ACEOF
4813 -/* end confdefs.h.  */
4814 -@%:@ifdef __STDC__
4815 -@%:@ include <limits.h>
4816 -@%:@else
4817 -@%:@ include <assert.h>
4818 -@%:@endif
4819 -                     Syntax error
4820 -_ACEOF
4821 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4822 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4823 -  ac_status=$?
4824 -  grep -v '^ *+' conftest.er1 >conftest.err
4825 -  rm -f conftest.er1
4826 -  cat conftest.err >&5
4827 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4828 -  (exit $ac_status); } >/dev/null; then
4829 -  if test -s conftest.err; then
4830 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4831 -  else
4832 -    ac_cpp_err=
4833 -  fi
4834 -else
4835 -  ac_cpp_err=yes
4836 -fi
4837 -if test -z "$ac_cpp_err"; then
4838 -  :
4839 -else
4840 -  echo "$as_me: failed program was:" >&5
4841 -sed 's/^/| /' conftest.$ac_ext >&5
4842 -
4843 -  # Broken: fails on valid input.
4844 -continue
4845 -fi
4846 -rm -f conftest.err conftest.$ac_ext
4847 -
4848 -  # OK, works on sane cases.  Now check whether non-existent headers
4849 -  # can be detected and how.
4850 -  cat >conftest.$ac_ext <<_ACEOF
4851 -#line $LINENO "configure"
4852 -/* confdefs.h.  */
4853 -_ACEOF
4854 -cat confdefs.h >>conftest.$ac_ext
4855 -cat >>conftest.$ac_ext <<_ACEOF
4856 -/* end confdefs.h.  */
4857 -@%:@include <ac_nonexistent.h>
4858 -_ACEOF
4859 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4860 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4861 -  ac_status=$?
4862 -  grep -v '^ *+' conftest.er1 >conftest.err
4863 -  rm -f conftest.er1
4864 -  cat conftest.err >&5
4865 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4866 -  (exit $ac_status); } >/dev/null; then
4867 -  if test -s conftest.err; then
4868 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4869 -  else
4870 -    ac_cpp_err=
4871 -  fi
4872 -else
4873 -  ac_cpp_err=yes
4874 -fi
4875 -if test -z "$ac_cpp_err"; then
4876 -  # Broken: success on invalid input.
4877 -continue
4878 -else
4879 -  echo "$as_me: failed program was:" >&5
4880 -sed 's/^/| /' conftest.$ac_ext >&5
4881 -
4882 -  # Passes both tests.
4883 -ac_preproc_ok=:
4884 -break
4885 -fi
4886 -rm -f conftest.err conftest.$ac_ext
4887 -
4888 -done
4889 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4890 -rm -f conftest.err conftest.$ac_ext
4891 -if $ac_preproc_ok; then
4892 -  break
4893 -fi
4894 -
4895 -    done
4896 -    ac_cv_prog_CXXCPP=$CXXCPP
4897 -  
4898 -fi
4899 -  CXXCPP=$ac_cv_prog_CXXCPP
4900 -else
4901 -  ac_cv_prog_CXXCPP=$CXXCPP
4902 -fi
4903 -echo "$as_me:$LINENO: result: $CXXCPP" >&5
4904 -echo "${ECHO_T}$CXXCPP" >&6
4905 -ac_preproc_ok=false
4906 -for ac_cxx_preproc_warn_flag in '' yes
4907 -do
4908 -  # Use a header file that comes with gcc, so configuring glibc
4909 -  # with a fresh cross-compiler works.
4910 -  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4911 -  # <limits.h> exists even on freestanding compilers.
4912 -  # On the NeXT, cc -E runs the code through the compiler's parser,
4913 -  # not just through cpp. "Syntax error" is here to catch this case.
4914 -  cat >conftest.$ac_ext <<_ACEOF
4915 -#line $LINENO "configure"
4916 -/* confdefs.h.  */
4917 -_ACEOF
4918 -cat confdefs.h >>conftest.$ac_ext
4919 -cat >>conftest.$ac_ext <<_ACEOF
4920 -/* end confdefs.h.  */
4921 -@%:@ifdef __STDC__
4922 -@%:@ include <limits.h>
4923 -@%:@else
4924 -@%:@ include <assert.h>
4925 -@%:@endif
4926 -                     Syntax error
4927 -_ACEOF
4928 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4929 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4930 -  ac_status=$?
4931 -  grep -v '^ *+' conftest.er1 >conftest.err
4932 -  rm -f conftest.er1
4933 -  cat conftest.err >&5
4934 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4935 -  (exit $ac_status); } >/dev/null; then
4936 -  if test -s conftest.err; then
4937 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4938 -  else
4939 -    ac_cpp_err=
4940 -  fi
4941 -else
4942 -  ac_cpp_err=yes
4943 -fi
4944 -if test -z "$ac_cpp_err"; then
4945 -  :
4946 -else
4947 -  echo "$as_me: failed program was:" >&5
4948 -sed 's/^/| /' conftest.$ac_ext >&5
4949 -
4950 -  # Broken: fails on valid input.
4951 -continue
4952 -fi
4953 -rm -f conftest.err conftest.$ac_ext
4954 -
4955 -  # OK, works on sane cases.  Now check whether non-existent headers
4956 -  # can be detected and how.
4957 -  cat >conftest.$ac_ext <<_ACEOF
4958 -#line $LINENO "configure"
4959 -/* confdefs.h.  */
4960 -_ACEOF
4961 -cat confdefs.h >>conftest.$ac_ext
4962 -cat >>conftest.$ac_ext <<_ACEOF
4963 -/* end confdefs.h.  */
4964 -@%:@include <ac_nonexistent.h>
4965 -_ACEOF
4966 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
4967 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
4968 -  ac_status=$?
4969 -  grep -v '^ *+' conftest.er1 >conftest.err
4970 -  rm -f conftest.er1
4971 -  cat conftest.err >&5
4972 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
4973 -  (exit $ac_status); } >/dev/null; then
4974 -  if test -s conftest.err; then
4975 -    ac_cpp_err=$ac_cxx_preproc_warn_flag
4976 -  else
4977 -    ac_cpp_err=
4978 -  fi
4979 -else
4980 -  ac_cpp_err=yes
4981 -fi
4982 -if test -z "$ac_cpp_err"; then
4983 -  # Broken: success on invalid input.
4984 -continue
4985 -else
4986 -  echo "$as_me: failed program was:" >&5
4987 -sed 's/^/| /' conftest.$ac_ext >&5
4988 -
4989 -  # Passes both tests.
4990 -ac_preproc_ok=:
4991 -break
4992 -fi
4993 -rm -f conftest.err conftest.$ac_ext
4994 -
4995 -done
4996 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4997 -rm -f conftest.err conftest.$ac_ext
4998 -if $ac_preproc_ok; then
4999 -  :
5000 -else
5001 -  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
5002 -See \`config.log' for more details." >&5
5003 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
5004 -See \`config.log' for more details." >&2;}
5005 -   { (exit 1); exit 1; }; }
5006 -fi
5007 -
5008 -ac_ext=c
5009 -ac_cpp='$CPP $CPPFLAGS'
5010 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5011 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5012 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
5013 -
5014 -
5015 -
5016 -LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
5017 -lt_save_CC="$CC"
5018 -lt_save_CFLAGS="$CFLAGS"
5019 -AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
5020 -MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
5021 -LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
5022 -AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
5023 -objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
5024 -deplibs_check_method="$deplibs_check_method" \
5025 -file_magic_cmd="$file_magic_cmd" \
5026 -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
5027 ---build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
5028 -|| { { echo "$as_me:$LINENO: error: libtool tag configuration failed" >&5
5029 -echo "$as_me: error: libtool tag configuration failed" >&2;}
5030 -   { (exit 1); exit 1; }; }
5031 -CC="$lt_save_CC"
5032 -CFLAGS="$lt_save_CFLAGS"
5033 -
5034 -# Redirect the config.log output again, so that the ltconfig log is not
5035 -# clobbered by the next message.
5036 -exec 5>>./config.log
5037 -
5038 -  
5039 -
5040 -  
5041 -        
5042 -        
5043 -
5044 -
5045 -# Check whether --with-target-subdir or --without-target-subdir was given.
5046 -if test "${with_target_subdir+set}" = set; then
5047 -  withval="$with_target_subdir"
5048 -  
5049 -fi; 
5050 -
5051 -# Check whether --with-cross-host or --without-cross-host was given.
5052 -if test "${with_cross_host+set}" = set; then
5053 -  withval="$with_cross_host"
5054 -  
5055 -fi; 
5056 -
5057 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
5058 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
5059 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
5060 -if test "${enable_maintainer_mode+set}" = set; then
5061 -  enableval="$enable_maintainer_mode"
5062 -  USE_MAINTAINER_MODE=$enableval
5063 -else
5064 -  USE_MAINTAINER_MODE=no
5065 -fi; 
5066 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
5067 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
5068 -  
5069 -
5070 -if test $USE_MAINTAINER_MODE = yes; then
5071 -  MAINTAINER_MODE_TRUE=
5072 -  MAINTAINER_MODE_FALSE='#'
5073 -else
5074 -  MAINTAINER_MODE_TRUE='#'
5075 -  MAINTAINER_MODE_FALSE=
5076 -fi
5077 -  MAINT=$MAINTAINER_MODE_TRUE
5078 -  
5079 -
5080 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
5081 -# it is actually a problem, because the compiler we're passed can't
5082 -# necessarily do a full link.  So we fool automake here.
5083 -if false; then
5084 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
5085 -  # to nothing, so nothing would remain between `then' and `fi' if it
5086 -  # were not for the `:' below.
5087 -  :
5088 -  
5089 -fi
5090 -
5091 -echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
5092 -echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
5093 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
5094 -if test -z "$THREADS"; then
5095 -   THREADS=no
5096 -fi
5097 -echo "$as_me:$LINENO: result: $THREADS" >&5
5098 -echo "${ECHO_T}$THREADS" >&6
5099 -
5100 -# Check whether --enable-parallel-mark or --disable-parallel-mark was given.
5101 -if test "${enable_parallel_mark+set}" = set; then
5102 -  enableval="$enable_parallel_mark"
5103 -  case "$THREADS" in
5104 -      no | none | single)
5105 -       { { echo "$as_me:$LINENO: error: Parallel mark requires --enable-threads=x spec" >&5
5106 -echo "$as_me: error: Parallel mark requires --enable-threads=x spec" >&2;}
5107 -   { (exit 1); exit 1; }; }
5108 -       ;;
5109 -    esac
5110 -
5111 -fi; 
5112 -
5113 -INCLUDES=-I${srcdir}/include
5114 -THREADLIBS=
5115 -case "$THREADS" in
5116 - no | none | single)
5117 -    THREADS=none
5118 -    ;;
5119 - posix | pthreads)
5120 -    THREADS=posix
5121 -    THREADLIBS=-lpthread
5122 -    case "$host" in
5123 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
5124 -       cat >>confdefs.h <<\_ACEOF
5125 -@%:@define GC_LINUX_THREADS 1
5126 -_ACEOF
5127 -
5128 -       cat >>confdefs.h <<\_ACEOF
5129 -@%:@define _REENTRANT 1
5130 -_ACEOF
5131 -
5132 -        if test "${enable_parallel_mark}"; then
5133 -         cat >>confdefs.h <<\_ACEOF
5134 -@%:@define PARALLEL_MARK 1
5135 -_ACEOF
5136 -
5137 -       fi
5138 -       cat >>confdefs.h <<\_ACEOF
5139 -@%:@define THREAD_LOCAL_ALLOC 1
5140 -_ACEOF
5141 -
5142 -       ;;
5143 -     *-*-linux*)
5144 -       cat >>confdefs.h <<\_ACEOF
5145 -@%:@define GC_LINUX_THREADS 1
5146 -_ACEOF
5147 -
5148 -       cat >>confdefs.h <<\_ACEOF
5149 -@%:@define _REENTRANT 1
5150 -_ACEOF
5151 -
5152 -       ;;
5153 -     *-*-hpux*)
5154 -       { echo "$as_me:$LINENO: WARNING: \"Only HP/UX 11 threads are supported.\"" >&5
5155 -echo "$as_me: WARNING: \"Only HP/UX 11 threads are supported.\"" >&2;}
5156 -       cat >>confdefs.h <<\_ACEOF
5157 -@%:@define GC_HPUX_THREADS 1
5158 -_ACEOF
5159 -
5160 -       cat >>confdefs.h <<\_ACEOF
5161 -@%:@define _POSIX_C_SOURCE 199506L
5162 -_ACEOF
5163 -
5164 -       if test "${enable_parallel_mark}" = yes; then
5165 -         cat >>confdefs.h <<\_ACEOF
5166 -@%:@define PARALLEL_MARK 1
5167 -_ACEOF
5168 -
5169 -       fi
5170 -       cat >>confdefs.h <<\_ACEOF
5171 -@%:@define THREAD_LOCAL_ALLOC 1
5172 -_ACEOF
5173 -
5174 -       THREADLIBS="-lpthread -lrt"
5175 -       ;;
5176 -     *-*-freebsd*)
5177 -       { echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
5178 -echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
5179 -       cat >>confdefs.h <<\_ACEOF
5180 -@%:@define GC_FREEBSD_THREADS 1
5181 -_ACEOF
5182 -
5183 -       INCLUDES="$INCLUDES -pthread"
5184 -       THREADLIBS=-pthread
5185 -       ;;
5186 -     *-*-solaris*)
5187 -       cat >>confdefs.h <<\_ACEOF
5188 -@%:@define GC_SOLARIS_THREADS 1
5189 -_ACEOF
5190 -
5191 -       cat >>confdefs.h <<\_ACEOF
5192 -@%:@define GC_SOLARIS_PTHREADS 1
5193 -_ACEOF
5194 -
5195 -       ;;
5196 -     *-*-irix*)
5197 -       cat >>confdefs.h <<\_ACEOF
5198 -@%:@define GC_IRIX_THREADS 1
5199 -_ACEOF
5200 -
5201 -       ;;
5202 -     *-*-cygwin*)
5203 -       THREADLIBS=
5204 -       ;;
5205 -    esac
5206 -    ;;
5207 -     *-*-darwin*)
5208 -       cat >>confdefs.h <<\_ACEOF
5209 -@%:@define GC_DARWIN_THREADS 1
5210 -_ACEOF
5211 -
5212 -       cat >>confdefs.h <<\_ACEOF
5213 -@%:@define THREAD_LOCAL_ALLOC 1
5214 -_ACEOF
5215 -
5216 -       if test "${enable_parallel_mark}" = yes; then
5217 -         cat >>confdefs.h <<\_ACEOF
5218 -@%:@define PARALLEL_MARK 1
5219 -_ACEOF
5220 -
5221 -       fi
5222 -       ;;
5223 - win32)
5224 -    cat >>confdefs.h <<\_ACEOF
5225 -@%:@define GC_WIN32_THREADS 1
5226 -_ACEOF
5227 -
5228 -    cat >>confdefs.h <<\_ACEOF
5229 -@%:@define NO_GETENV 1
5230 -_ACEOF
5231 -
5232 -    ;;
5233 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
5234 -    { { echo "$as_me:$LINENO: error: thread package $THREADS not yet supported" >&5
5235 -echo "$as_me: error: thread package $THREADS not yet supported" >&2;}
5236 -   { (exit 1); exit 1; }; }
5237 -    ;;
5238 - *)
5239 -    { { echo "$as_me:$LINENO: error: $THREADS is an unknown thread package" >&5
5240 -echo "$as_me: error: $THREADS is an unknown thread package" >&2;}
5241 -   { (exit 1); exit 1; }; }
5242 -    ;;
5243 -esac
5244 -
5245 -
5246 -case "$host" in 
5247 -   powerpc-*-darwin*)
5248 -      powerpc_darwin=true
5249 -      ;;
5250 -esac
5251 -
5252 -
5253 -if test x$powerpc_darwin = xtrue; then
5254 -  POWERPC_DARWIN_TRUE=
5255 -  POWERPC_DARWIN_FALSE='#'
5256 -else
5257 -  POWERPC_DARWIN_TRUE='#'
5258 -  POWERPC_DARWIN_FALSE=
5259 -fi
5260 -
5261 -# We never want libdl on darwin. It is a fake libdl that just ends up making
5262 -# dyld calls anyway
5263 -case "$host" in
5264 -  *-*-darwin*) ;;
5265 -  *) 
5266 -    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
5267 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
5268 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
5269 -  echo $ECHO_N "(cached) $ECHO_C" >&6
5270 -else
5271 -  ac_check_lib_save_LIBS=$LIBS
5272 -LIBS="-ldl  $LIBS"
5273 -cat >conftest.$ac_ext <<_ACEOF
5274 -#line $LINENO "configure"
5275 -/* confdefs.h.  */
5276 -_ACEOF
5277 -cat confdefs.h >>conftest.$ac_ext
5278 -cat >>conftest.$ac_ext <<_ACEOF
5279 -/* end confdefs.h.  */
5280 -
5281 -/* Override any gcc2 internal prototype to avoid an error.  */
5282 -#ifdef __cplusplus
5283 -extern "C"
5284 -#endif
5285 -/* We use char because int might match the return type of a gcc2
5286 -   builtin and then its argument prototype would still apply.  */
5287 -char dlopen ();
5288 -int
5289 -main ()
5290 -{
5291 -dlopen ();
5292 -  ;
5293 -  return 0;
5294 -}
5295 -_ACEOF
5296 -rm -f conftest.$ac_objext conftest$ac_exeext
5297 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
5298 -  (eval $ac_link) 2>&5
5299 -  ac_status=$?
5300 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
5301 -  (exit $ac_status); } &&
5302 -         { ac_try='test -s conftest$ac_exeext'
5303 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
5304 -  (eval $ac_try) 2>&5
5305 -  ac_status=$?
5306 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
5307 -  (exit $ac_status); }; }; then
5308 -  ac_cv_lib_dl_dlopen=yes
5309 -else
5310 -  echo "$as_me: failed program was:" >&5
5311 -sed 's/^/| /' conftest.$ac_ext >&5
5312 -
5313 -ac_cv_lib_dl_dlopen=no
5314 -fi
5315 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
5316 -LIBS=$ac_check_lib_save_LIBS
5317 -fi
5318 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
5319 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
5320 -if test $ac_cv_lib_dl_dlopen = yes; then
5321 -  EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"
5322 -fi
5323 -
5324 -    ;;
5325 -esac
5326 -
5327 -
5328 -
5329 -target_all=libgcjgc.la
5330 -
5331 -
5332 -
5333 -TARGET_ECOS="no"
5334 -
5335 -# Check whether --with-ecos or --without-ecos was given.
5336 -if test "${with_ecos+set}" = set; then
5337 -  withval="$with_ecos"
5338 -  TARGET_ECOS="$with_ecos"
5339 -
5340 -fi; 
5341 -
5342 -addobjs=
5343 -CXXINCLUDES=
5344 -case "$TARGET_ECOS" in
5345 -   no)
5346 -      ;;
5347 -   *)
5348 -      cat >>confdefs.h <<\_ACEOF
5349 -@%:@define ECOS 1
5350 -_ACEOF
5351 -
5352 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
5353 -      addobjs="$addobjs ecos.lo"
5354 -      ;;
5355 -esac
5356 -
5357 -
5358 -
5359 -
5360 -
5361 -machdep=
5362 -case "$host" in
5363 - alpha*-*-openbsd*)
5364 -    machdep="alpha_mach_dep.lo"
5365 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
5366 -       { echo "$as_me:$LINENO: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&5
5367 -echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&2;}
5368 -       # Check whether --enable-shared or --disable-shared was given.
5369 -if test "${enable_shared+set}" = set; then
5370 -  enableval="$enable_shared"
5371 -  p=${PACKAGE-default}
5372 -case $enableval in
5373 -yes) enable_shared=yes ;;
5374 -no) enable_shared=no ;;
5375 -*)
5376 -  enable_shared=no
5377 -  # Look at the argument we got.  We use all the common list separators.
5378 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
5379 -  for pkg in $enableval; do
5380 -    if test "X$pkg" = "X$p"; then
5381 -      enable_shared=yes
5382 -    fi
5383 -  done
5384 -  IFS="$ac_save_ifs"
5385 -  ;;
5386 -esac
5387 -else
5388 -  enable_shared=no
5389 -fi; 
5390 -    fi
5391 -    ;;
5392 - alpha*-*-*)
5393 -    machdep="alpha_mach_dep.lo"
5394 -    ;;
5395 - i?86-*-solaris2.[89]*)
5396 -    cat >>confdefs.h <<\_ACEOF
5397 -@%:@define SOLARIS25_PROC_VDB_BUG_FIXED 1
5398 -_ACEOF
5399 -
5400 -    ;;
5401 - mipstx39-*-elf*)
5402 -    machdep="mips_ultrix_mach_dep.lo"
5403 -    cat >>confdefs.h <<\_ACEOF
5404 -@%:@define STACKBASE __stackbase
5405 -_ACEOF
5406 -
5407 -    cat >>confdefs.h <<\_ACEOF
5408 -@%:@define DATASTART_IS_ETEXT 1
5409 -_ACEOF
5410 -
5411 -    ;;
5412 - mips-dec-ultrix*)
5413 -    machdep="mips_ultrix_mach-dep.lo"
5414 -    ;;
5415 - mips*-*-linux*)
5416 -    ;;
5417 - mips-*-*)
5418 -    machdep="mips_sgi_mach_dep.lo"
5419 -    cat >>confdefs.h <<\_ACEOF
5420 -@%:@define NO_EXECUTE_PERMISSION 1
5421 -_ACEOF
5422 -
5423 -    ;;
5424 - sparc-sun-solaris2.3*)
5425 -    machdep="sparc_mach_dep.lo"
5426 -    cat >>confdefs.h <<\_ACEOF
5427 -@%:@define SUNOS53_SHARED_LIB 1
5428 -_ACEOF
5429 -
5430 -    ;;
5431 - sparc-sun-solaris2.*)
5432 -    machdep="sparc_mach_dep.lo"
5433 -    ;;
5434 - ia64-*-*)
5435 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
5436 -    ;;
5437 -esac
5438 -if test x"$machdep" = x; then
5439 -   machdep="mach_dep.lo"
5440 -fi
5441 -addobjs="$addobjs $machdep"
5442 -
5443 -
5444 -case "$host" in
5445 - sparc-sun-solaris2*)
5446 -    if test "$GCC" = yes; then
5447 -       new_CFLAGS=
5448 -       for i in $CFLAGS; do
5449 -         case "$i" in
5450 -          -O*)
5451 -             ;;
5452 -          *)
5453 -             new_CFLAGS="$new_CFLAGS $i"
5454 -             ;;
5455 -         esac
5456 -       done
5457 -       CFLAGS="$new_CFLAGS"
5458 -    fi
5459 -    ;;
5460 -esac
5461 -
5462 -MY_CFLAGS="$CFLAGS"
5463 -
5464 -
5465 -cat >>confdefs.h <<\_ACEOF
5466 -@%:@define SILENT 1
5467 -_ACEOF
5468 -
5469 -cat >>confdefs.h <<\_ACEOF
5470 -@%:@define NO_SIGNALS 1
5471 -_ACEOF
5472 -
5473 -cat >>confdefs.h <<\_ACEOF
5474 -@%:@define NO_EXECUTE_PERMISSION 1
5475 -_ACEOF
5476 -
5477 -cat >>confdefs.h <<\_ACEOF
5478 -@%:@define ALL_INTERIOR_POINTERS 1
5479 -_ACEOF
5480 -
5481 -
5482 -cat >>confdefs.h <<\_ACEOF
5483 -@%:@define JAVA_FINALIZATION 1
5484 -_ACEOF
5485 -
5486 -cat >>confdefs.h <<\_ACEOF
5487 -@%:@define GC_GCJ_SUPPORT 1
5488 -_ACEOF
5489 -
5490 -cat >>confdefs.h <<\_ACEOF
5491 -@%:@define ATOMIC_UNCOLLECTABLE 1
5492 -_ACEOF
5493 -
5494 -
5495 -if test -n "${with_cross_host}"; then
5496 -   cat >>confdefs.h <<\_ACEOF
5497 -@%:@define NO_SIGSET 1
5498 -_ACEOF
5499 -
5500 -   cat >>confdefs.h <<\_ACEOF
5501 -@%:@define NO_DEBUGGING 1
5502 -_ACEOF
5503 -
5504 -fi
5505 -
5506 -# Check whether --enable-full-debug or --disable-full-debug was given.
5507 -if test "${enable_full_debug+set}" = set; then
5508 -  enableval="$enable_full_debug"
5509 -   if test "$enable_full_debug" = "yes"; then
5510 -    { echo "$as_me:$LINENO: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&5
5511 -echo "$as_me: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&2;}
5512 -    cat >>confdefs.h <<\_ACEOF
5513 -@%:@define KEEP_BACK_PTRS 1
5514 -_ACEOF
5515 -
5516 -    cat >>confdefs.h <<\_ACEOF
5517 -@%:@define DBG_HDRS_ALL 1
5518 -_ACEOF
5519 -
5520 -    case $host in
5521 -      ia64-*-linux* )
5522 -       cat >>confdefs.h <<\_ACEOF
5523 -@%:@define MAKE_BACK_GRAPH 1
5524 -_ACEOF
5525 -
5526 -      ;;
5527 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
5528 -       cat >>confdefs.h <<\_ACEOF
5529 -@%:@define MAKE_BACK_GRAPH 1
5530 -_ACEOF
5531 -
5532 -       { echo "$as_me:$LINENO: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
5533 -echo "$as_me: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&2;}
5534 -       cat >>confdefs.h <<\_ACEOF
5535 -@%:@define SAVE_CALL_COUNT 8
5536 -_ACEOF
5537 -
5538 -      ;;
5539 -    esac 
5540 -  fi
5541 -fi; 
5542 -
5543 -
5544 -
5545 -if test -z "$with_cross_host"; then
5546 -  USE_LIBDIR_TRUE=
5547 -  USE_LIBDIR_FALSE='#'
5548 -else
5549 -  USE_LIBDIR_TRUE='#'
5550 -  USE_LIBDIR_FALSE=
5551 -fi
5552 -
5553 -if test "${multilib}" = "yes"; then
5554 -  multilib_arg="--enable-multilib"
5555 -else
5556 -  multilib_arg=
5557 -fi
5558 -
5559 -                    ac_config_files="$ac_config_files Makefile include/Makefile"
5560 -          ac_config_commands="$ac_config_commands default"
5561 -cat >confcache <<\_ACEOF
5562 -# This file is a shell script that caches the results of configure
5563 -# tests run on this system so they can be shared between configure
5564 -# scripts and configure runs, see configure's option --config-cache.
5565 -# It is not useful on other systems.  If it contains results you don't
5566 -# want to keep, you may remove or edit it.
5567 -#
5568 -# config.status only pays attention to the cache file if you give it
5569 -# the --recheck option to rerun configure.
5570 -#
5571 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
5572 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
5573 -# following values.
5574 -
5575 -_ACEOF
5576 -
5577 -# The following way of writing the cache mishandles newlines in values,
5578 -# but we know of no workaround that is simple, portable, and efficient.
5579 -# So, don't put newlines in cache variables' values.
5580 -# Ultrix sh set writes to stderr and can't be redirected directly,
5581 -# and sets the high bit in the cache file unless we assign to the vars.
5582 -{
5583 -  (set) 2>&1 |
5584 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
5585 -    *ac_space=\ *)
5586 -      # `set' does not quote correctly, so add quotes (double-quote
5587 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
5588 -      sed -n \
5589 -        "s/'/'\\\\''/g;
5590 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
5591 -      ;;
5592 -    *)
5593 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
5594 -      sed -n \
5595 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
5596 -      ;;
5597 -    esac;
5598 -} |
5599 -  sed '
5600 -     t clear
5601 -     : clear
5602 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
5603 -     t end
5604 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
5605 -     : end' >>confcache
5606 -if diff $cache_file confcache >/dev/null 2>&1; then :; else
5607 -  if test -w $cache_file; then
5608 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
5609 -    cat confcache >$cache_file
5610 -  else
5611 -    echo "not updating unwritable cache $cache_file"
5612 -  fi
5613 -fi
5614 -rm -f confcache
5615 -
5616 -test "x$prefix" = xNONE && prefix=$ac_default_prefix
5617 -# Let make expand exec_prefix.
5618 -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
5619 -
5620 -# VPATH may cause trouble with some makes, so we remove $(srcdir),
5621 -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
5622 -# trailing colons and then remove the whole line if VPATH becomes empty
5623 -# (actually we leave an empty line to preserve line numbers).
5624 -if test "x$srcdir" = x.; then
5625 -  ac_vpsub='/^[        ]*VPATH[        ]*=/{
5626 -s/:*\$(srcdir):*/:/;
5627 -s/:*\${srcdir}:*/:/;
5628 -s/:*@srcdir@:*/:/;
5629 -s/^\([^=]*=[   ]*\):*/\1/;
5630 -s/:*$//;
5631 -s/^[^=]*=[     ]*$//;
5632 -}'
5633 -fi
5634 -
5635 -# Transform confdefs.h into DEFS.
5636 -# Protect against shell expansion while executing Makefile rules.
5637 -# Protect against Makefile macro expansion.
5638 -#
5639 -# If the first sed substitution is executed (which looks for macros that
5640 -# take arguments), then we branch to the quote section.  Otherwise,
5641 -# look for a macro that doesn't take arguments.
5642 -cat >confdef2opt.sed <<\_ACEOF
5643 -t clear
5644 -: clear
5645 -s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\),-D\1=\2,g
5646 -t quote
5647 -s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\),-D\1=\2,g
5648 -t quote
5649 -d
5650 -: quote
5651 -s,[    `~#$^&*(){}\\|;'"<>?],\\&,g
5652 -s,\[,\\&,g
5653 -s,\],\\&,g
5654 -s,\$,$$,g
5655 -p
5656 -_ACEOF
5657 -# We use echo to avoid assuming a particular line-breaking character.
5658 -# The extra dot is to prevent the shell from consuming trailing
5659 -# line-breaks from the sub-command output.  A line-break within
5660 -# single-quotes doesn't work because, if this script is created in a
5661 -# platform that uses two characters for line-breaks (e.g., DOS), tr
5662 -# would break.
5663 -ac_LF_and_DOT=`echo; echo .`
5664 -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
5665 -rm -f confdef2opt.sed
5666 -
5667 -
5668 -ac_libobjs=
5669 -ac_ltlibobjs=
5670 -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
5671 -  # 1. Remove the extension, and $U if already installed.
5672 -  ac_i=`echo "$ac_i" |
5673 -         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
5674 -  # 2. Add them.
5675 -  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
5676 -  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
5677 -done
5678 -LIB@&t@OBJS=$ac_libobjs
5679 -
5680 -LTLIBOBJS=$ac_ltlibobjs
5681 -
5682 -
5683 -
5684 -: ${CONFIG_STATUS=./config.status}
5685 -ac_clean_files_save=$ac_clean_files
5686 -ac_clean_files="$ac_clean_files $CONFIG_STATUS"
5687 -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
5688 -echo "$as_me: creating $CONFIG_STATUS" >&6;}
5689 -cat >$CONFIG_STATUS <<_ACEOF
5690 -#! $SHELL
5691 -# Generated by $as_me.
5692 -# Run this file to recreate the current configuration.
5693 -# Compiler output produced by configure, useful for debugging
5694 -# configure, is in config.log if it exists.
5695 -
5696 -debug=false
5697 -ac_cs_recheck=false
5698 -ac_cs_silent=false
5699 -SHELL=\${CONFIG_SHELL-$SHELL}
5700 -_ACEOF
5701 -
5702 -cat >>$CONFIG_STATUS <<\_ACEOF
5703 -## --------------------- ##
5704 -## M4sh Initialization.  ##
5705 -## --------------------- ##
5706 -
5707 -# Be Bourne compatible
5708 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
5709 -  emulate sh
5710 -  NULLCMD=:
5711 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
5712 -  # is contrary to our usage.  Disable this feature.
5713 -  alias -g '${1+"$@"}'='"$@"'
5714 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
5715 -  set -o posix
5716 -fi
5717 -
5718 -# Support unset when possible.
5719 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
5720 -  as_unset=unset
5721 -else
5722 -  as_unset=false
5723 -fi
5724 -
5725 -
5726 -# Work around bugs in pre-3.0 UWIN ksh.
5727 -$as_unset ENV MAIL MAILPATH
5728 -PS1='$ '
5729 -PS2='> '
5730 -PS4='+ '
5731 -
5732 -# NLS nuisances.
5733 -for as_var in \
5734 -  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
5735 -  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
5736 -  LC_TELEPHONE LC_TIME
5737 -do
5738 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
5739 -    eval $as_var=C; export $as_var
5740 -  else
5741 -    $as_unset $as_var
5742 -  fi
5743 -done
5744 -
5745 -# Required to use basename.
5746 -if expr a : '\(a\)' >/dev/null 2>&1; then
5747 -  as_expr=expr
5748 -else
5749 -  as_expr=false
5750 -fi
5751 -
5752 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
5753 -  as_basename=basename
5754 -else
5755 -  as_basename=false
5756 -fi
5757 -
5758 -
5759 -# Name of the executable.
5760 -as_me=`$as_basename "$0" ||
5761 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
5762 -        X"$0" : 'X\(//\)$' \| \
5763 -        X"$0" : 'X\(/\)$' \| \
5764 -        .     : '\(.\)' 2>/dev/null ||
5765 -echo X/"$0" |
5766 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
5767 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
5768 -         /^X\/\(\/\).*/{ s//\1/; q; }
5769 -         s/.*/./; q'`
5770 -
5771 -
5772 -# PATH needs CR, and LINENO needs CR and PATH.
5773 -# Avoid depending upon Character Ranges.
5774 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
5775 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
5776 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
5777 -as_cr_digits='0123456789'
5778 -as_cr_alnum=$as_cr_Letters$as_cr_digits
5779 -
5780 -# The user is always right.
5781 -if test "${PATH_SEPARATOR+set}" != set; then
5782 -  echo "#! /bin/sh" >conf$$.sh
5783 -  echo  "exit 0"   >>conf$$.sh
5784 -  chmod +x conf$$.sh
5785 -  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
5786 -    PATH_SEPARATOR=';'
5787 -  else
5788 -    PATH_SEPARATOR=:
5789 -  fi
5790 -  rm -f conf$$.sh
5791 -fi
5792 -
5793 -
5794 -  as_lineno_1=$LINENO
5795 -  as_lineno_2=$LINENO
5796 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
5797 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
5798 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
5799 -  # Find who we are.  Look in the path if we contain no path at all
5800 -  # relative or not.
5801 -  case $0 in
5802 -    *[\\/]* ) as_myself=$0 ;;
5803 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5804 -for as_dir in $PATH
5805 -do
5806 -  IFS=$as_save_IFS
5807 -  test -z "$as_dir" && as_dir=.
5808 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
5809 -done
5810 -
5811 -       ;;
5812 -  esac
5813 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
5814 -  # in which case we are not to be found in the path.
5815 -  if test "x$as_myself" = x; then
5816 -    as_myself=$0
5817 -  fi
5818 -  if test ! -f "$as_myself"; then
5819 -    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
5820 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
5821 -   { (exit 1); exit 1; }; }
5822 -  fi
5823 -  case $CONFIG_SHELL in
5824 -  '')
5825 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5826 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
5827 -do
5828 -  IFS=$as_save_IFS
5829 -  test -z "$as_dir" && as_dir=.
5830 -  for as_base in sh bash ksh sh5; do
5831 -        case $as_dir in
5832 -        /*)
5833 -          if ("$as_dir/$as_base" -c '
5834 -  as_lineno_1=$LINENO
5835 -  as_lineno_2=$LINENO
5836 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
5837 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
5838 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
5839 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
5840 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
5841 -            CONFIG_SHELL=$as_dir/$as_base
5842 -            export CONFIG_SHELL
5843 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
5844 -          fi;;
5845 -        esac
5846 -       done
5847 -done
5848 -;;
5849 -  esac
5850 -
5851 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
5852 -  # uniformly replaced by the line number.  The first 'sed' inserts a
5853 -  # line-number line before each line; the second 'sed' does the real
5854 -  # work.  The second script uses 'N' to pair each line-number line
5855 -  # with the numbered line, and appends trailing '-' during
5856 -  # substitution so that $LINENO is not a special case at line end.
5857 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
5858 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
5859 -  sed '=' <$as_myself |
5860 -    sed '
5861 -      N
5862 -      s,$,-,
5863 -      : loop
5864 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
5865 -      t loop
5866 -      s,-$,,
5867 -      s,^['$as_cr_digits']*\n,,
5868 -    ' >$as_me.lineno &&
5869 -  chmod +x $as_me.lineno ||
5870 -    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
5871 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
5872 -   { (exit 1); exit 1; }; }
5873 -
5874 -  # Don't try to exec as it changes $[0], causing all sort of problems
5875 -  # (the dirname of $[0] is not the place where we might find the
5876 -  # original and so on.  Autoconf is especially sensible to this).
5877 -  . ./$as_me.lineno
5878 -  # Exit status is that of the last command.
5879 -  exit
5880 -}
5881 -
5882 -
5883 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
5884 -  *c*,-n*) ECHO_N= ECHO_C='
5885 -' ECHO_T='     ' ;;
5886 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
5887 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
5888 -esac
5889 -
5890 -if expr a : '\(a\)' >/dev/null 2>&1; then
5891 -  as_expr=expr
5892 -else
5893 -  as_expr=false
5894 -fi
5895 -
5896 -rm -f conf$$ conf$$.exe conf$$.file
5897 -echo >conf$$.file
5898 -if ln -s conf$$.file conf$$ 2>/dev/null; then
5899 -  # We could just check for DJGPP; but this test a) works b) is more generic
5900 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
5901 -  if test -f conf$$.exe; then
5902 -    # Don't use ln at all; we don't have any links
5903 -    as_ln_s='cp -p'
5904 -  else
5905 -    as_ln_s='ln -s'
5906 -  fi
5907 -elif ln conf$$.file conf$$ 2>/dev/null; then
5908 -  as_ln_s=ln
5909 -else
5910 -  as_ln_s='cp -p'
5911 -fi
5912 -rm -f conf$$ conf$$.exe conf$$.file
5913 -
5914 -if mkdir -p . 2>/dev/null; then
5915 -  as_mkdir_p=:
5916 -else
5917 -  as_mkdir_p=false
5918 -fi
5919 -
5920 -as_executable_p="test -f"
5921 -
5922 -# Sed expression to map a string onto a valid CPP name.
5923 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
5924 -
5925 -# Sed expression to map a string onto a valid variable name.
5926 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
5927 -
5928 -
5929 -# IFS
5930 -# We need space, tab and new line, in precisely that order.
5931 -as_nl='
5932 -'
5933 -IFS="  $as_nl"
5934 -
5935 -# CDPATH.
5936 -$as_unset CDPATH
5937 -
5938 -exec 6>&1
5939 -
5940 -# Open the log real soon, to keep \$[0] and so on meaningful, and to
5941 -# report actual input values of CONFIG_FILES etc. instead of their
5942 -# values after options handling.  Logging --version etc. is OK.
5943 -exec 5>>config.log
5944 -{
5945 -  echo
5946 -  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
5947 -@%:@@%:@ Running $as_me. @%:@@%:@
5948 -_ASBOX
5949 -} >&5
5950 -cat >&5 <<_CSEOF
5951 -
5952 -This file was extended by $as_me, which was
5953 -generated by GNU Autoconf 2.57.  Invocation command line was
5954 -
5955 -  CONFIG_FILES    = $CONFIG_FILES
5956 -  CONFIG_HEADERS  = $CONFIG_HEADERS
5957 -  CONFIG_LINKS    = $CONFIG_LINKS
5958 -  CONFIG_COMMANDS = $CONFIG_COMMANDS
5959 -  $ $0 $@
5960 -
5961 -_CSEOF
5962 -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
5963 -echo >&5
5964 -_ACEOF
5965 -
5966 -# Files that config.status was made for.
5967 -if test -n "$ac_config_files"; then
5968 -  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
5969 -fi
5970 -
5971 -if test -n "$ac_config_headers"; then
5972 -  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
5973 -fi
5974 -
5975 -if test -n "$ac_config_links"; then
5976 -  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
5977 -fi
5978 -
5979 -if test -n "$ac_config_commands"; then
5980 -  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
5981 -fi
5982 -
5983 -cat >>$CONFIG_STATUS <<\_ACEOF
5984 -
5985 -ac_cs_usage="\
5986 -\`$as_me' instantiates files from templates according to the
5987 -current configuration.
5988 -
5989 -Usage: $0 [OPTIONS] [FILE]...
5990 -
5991 -  -h, --help       print this help, then exit
5992 -  -V, --version    print version number, then exit
5993 -  -q, --quiet      do not print progress messages
5994 -  -d, --debug      don't remove temporary files
5995 -      --recheck    update $as_me by reconfiguring in the same conditions
5996 -  --file=FILE[:TEMPLATE]
5997 -                   instantiate the configuration file FILE
5998 -
5999 -Configuration files:
6000 -$config_files
6001 -
6002 -Configuration commands:
6003 -$config_commands
6004 -
6005 -Report bugs to <bug-autoconf@gnu.org>."
6006 -_ACEOF
6007 -
6008 -cat >>$CONFIG_STATUS <<_ACEOF
6009 -ac_cs_version="\\
6010 -config.status
6011 -configured by $0, generated by GNU Autoconf 2.57,
6012 -  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
6013 -
6014 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
6015 -Free Software Foundation, Inc.
6016 -This config.status script is free software; the Free Software Foundation
6017 -gives unlimited permission to copy, distribute and modify it."
6018 -srcdir=$srcdir
6019 -INSTALL="$INSTALL"
6020 -_ACEOF
6021 -
6022 -cat >>$CONFIG_STATUS <<\_ACEOF
6023 -# If no file are specified by the user, then we need to provide default
6024 -# value.  By we need to know if files were specified by the user.
6025 -ac_need_defaults=:
6026 -while test $# != 0
6027 -do
6028 -  case $1 in
6029 -  --*=*)
6030 -    ac_option=`expr "x$1" : 'x\([^=]*\)='`
6031 -    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
6032 -    ac_shift=:
6033 -    ;;
6034 -  -*)
6035 -    ac_option=$1
6036 -    ac_optarg=$2
6037 -    ac_shift=shift
6038 -    ;;
6039 -  *) # This is not an option, so the user has probably given explicit
6040 -     # arguments.
6041 -     ac_option=$1
6042 -     ac_need_defaults=false;;
6043 -  esac
6044 -
6045 -  case $ac_option in
6046 -  # Handling of the options.
6047 -_ACEOF
6048 -cat >>$CONFIG_STATUS <<\_ACEOF
6049 -  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
6050 -    ac_cs_recheck=: ;;
6051 -  --version | --vers* | -V )
6052 -    echo "$ac_cs_version"; exit 0 ;;
6053 -  --he | --h)
6054 -    # Conflict between --help and --header
6055 -    { { echo "$as_me:$LINENO: error: ambiguous option: $1
6056 -Try \`$0 --help' for more information." >&5
6057 -echo "$as_me: error: ambiguous option: $1
6058 -Try \`$0 --help' for more information." >&2;}
6059 -   { (exit 1); exit 1; }; };;
6060 -  --help | --hel | -h )
6061 -    echo "$ac_cs_usage"; exit 0 ;;
6062 -  --debug | --d* | -d )
6063 -    debug=: ;;
6064 -  --file | --fil | --fi | --f )
6065 -    $ac_shift
6066 -    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
6067 -    ac_need_defaults=false;;
6068 -  --header | --heade | --head | --hea )
6069 -    $ac_shift
6070 -    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
6071 -    ac_need_defaults=false;;
6072 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
6073 -  | -silent | --silent | --silen | --sile | --sil | --si | --s)
6074 -    ac_cs_silent=: ;;
6075 -
6076 -  # This is an error.
6077 -  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
6078 -Try \`$0 --help' for more information." >&5
6079 -echo "$as_me: error: unrecognized option: $1
6080 -Try \`$0 --help' for more information." >&2;}
6081 -   { (exit 1); exit 1; }; } ;;
6082 -
6083 -  *) ac_config_targets="$ac_config_targets $1" ;;
6084 -
6085 -  esac
6086 -  shift
6087 -done
6088 -
6089 -ac_configure_extra_args=
6090 -
6091 -if $ac_cs_silent; then
6092 -  exec 6>/dev/null
6093 -  ac_configure_extra_args="$ac_configure_extra_args --silent"
6094 -fi
6095 -
6096 -_ACEOF
6097 -cat >>$CONFIG_STATUS <<_ACEOF
6098 -if \$ac_cs_recheck; then
6099 -  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
6100 -  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
6101 -fi
6102 -
6103 -_ACEOF
6104 -
6105 -cat >>$CONFIG_STATUS <<_ACEOF
6106 -#
6107 -# INIT-COMMANDS section.
6108 -#
6109 -
6110 -srcdir=${srcdir}
6111 -host=${host}
6112 -target=${target}
6113 -with_multisubdir=${with_multisubdir}
6114 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
6115 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
6116 -gc_basedir=${gc_basedir}
6117 -CC="${CC}"
6118 -DEFS="$DEFS"
6119 -
6120 -
6121 -_ACEOF
6122 -
6123 -
6124 -
6125 -cat >>$CONFIG_STATUS <<\_ACEOF
6126 -for ac_config_target in $ac_config_targets
6127 -do
6128 -  case "$ac_config_target" in
6129 -  # Handling of arguments.
6130 -  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
6131 -  "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
6132 -  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
6133 -  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
6134 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
6135 -   { (exit 1); exit 1; }; };;
6136 -  esac
6137 -done
6138 -
6139 -# If the user did not use the arguments to specify the items to instantiate,
6140 -# then the envvar interface is used.  Set only those that are not.
6141 -# We use the long form for the default assignment because of an extremely
6142 -# bizarre bug on SunOS 4.1.3.
6143 -if $ac_need_defaults; then
6144 -  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
6145 -  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
6146 -fi
6147 -
6148 -# Have a temporary directory for convenience.  Make it in the build tree
6149 -# simply because there is no reason to put it here, and in addition,
6150 -# creating and moving files from /tmp can sometimes cause problems.
6151 -# Create a temporary directory, and hook for its removal unless debugging.
6152 -$debug ||
6153 -{
6154 -  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
6155 -  trap '{ (exit 1); exit 1; }' 1 2 13 15
6156 -}
6157 -
6158 -# Create a (secure) tmp directory for tmp files.
6159 -
6160 -{
6161 -  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
6162 -  test -n "$tmp" && test -d "$tmp"
6163 -}  ||
6164 -{
6165 -  tmp=./confstat$$-$RANDOM
6166 -  (umask 077 && mkdir $tmp)
6167 -} ||
6168 -{
6169 -   echo "$me: cannot create a temporary directory in ." >&2
6170 -   { (exit 1); exit 1; }
6171 -}
6172 -
6173 -_ACEOF
6174 -
6175 -cat >>$CONFIG_STATUS <<_ACEOF
6176 -
6177 -#
6178 -# CONFIG_FILES section.
6179 -#
6180 -
6181 -# No need to generate the scripts if there are no CONFIG_FILES.
6182 -# This happens for instance when ./config.status config.h
6183 -if test -n "\$CONFIG_FILES"; then
6184 -  # Protect against being on the right side of a sed subst in config.status.
6185 -  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
6186 -   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
6187 -s,@SHELL@,$SHELL,;t t
6188 -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
6189 -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
6190 -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
6191 -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
6192 -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
6193 -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
6194 -s,@exec_prefix@,$exec_prefix,;t t
6195 -s,@prefix@,$prefix,;t t
6196 -s,@program_transform_name@,$program_transform_name,;t t
6197 -s,@bindir@,$bindir,;t t
6198 -s,@sbindir@,$sbindir,;t t
6199 -s,@libexecdir@,$libexecdir,;t t
6200 -s,@datadir@,$datadir,;t t
6201 -s,@sysconfdir@,$sysconfdir,;t t
6202 -s,@sharedstatedir@,$sharedstatedir,;t t
6203 -s,@localstatedir@,$localstatedir,;t t
6204 -s,@libdir@,$libdir,;t t
6205 -s,@includedir@,$includedir,;t t
6206 -s,@oldincludedir@,$oldincludedir,;t t
6207 -s,@infodir@,$infodir,;t t
6208 -s,@mandir@,$mandir,;t t
6209 -s,@build_alias@,$build_alias,;t t
6210 -s,@host_alias@,$host_alias,;t t
6211 -s,@target_alias@,$target_alias,;t t
6212 -s,@DEFS@,$DEFS,;t t
6213 -s,@ECHO_C@,$ECHO_C,;t t
6214 -s,@ECHO_N@,$ECHO_N,;t t
6215 -s,@ECHO_T@,$ECHO_T,;t t
6216 -s,@LIBS@,$LIBS,;t t
6217 -s,@gc_basedir@,$gc_basedir,;t t
6218 -s,@build@,$build,;t t
6219 -s,@build_cpu@,$build_cpu,;t t
6220 -s,@build_vendor@,$build_vendor,;t t
6221 -s,@build_os@,$build_os,;t t
6222 -s,@host@,$host,;t t
6223 -s,@host_cpu@,$host_cpu,;t t
6224 -s,@host_vendor@,$host_vendor,;t t
6225 -s,@host_os@,$host_os,;t t
6226 -s,@target@,$target,;t t
6227 -s,@target_cpu@,$target_cpu,;t t
6228 -s,@target_vendor@,$target_vendor,;t t
6229 -s,@target_os@,$target_os,;t t
6230 -s,@mkinstalldirs@,$mkinstalldirs,;t t
6231 -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
6232 -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
6233 -s,@INSTALL_DATA@,$INSTALL_DATA,;t t
6234 -s,@PACKAGE@,$PACKAGE,;t t
6235 -s,@VERSION@,$VERSION,;t t
6236 -s,@ACLOCAL@,$ACLOCAL,;t t
6237 -s,@AUTOCONF@,$AUTOCONF,;t t
6238 -s,@AUTOMAKE@,$AUTOMAKE,;t t
6239 -s,@AUTOHEADER@,$AUTOHEADER,;t t
6240 -s,@MAKEINFO@,$MAKEINFO,;t t
6241 -s,@SET_MAKE@,$SET_MAKE,;t t
6242 -s,@CC@,$CC,;t t
6243 -s,@CXX@,$CXX,;t t
6244 -s,@AS@,$AS,;t t
6245 -s,@ac_ct_AS@,$ac_ct_AS,;t t
6246 -s,@AR@,$AR,;t t
6247 -s,@ac_ct_AR@,$ac_ct_AR,;t t
6248 -s,@RANLIB@,$RANLIB,;t t
6249 -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
6250 -s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
6251 -s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
6252 -s,@MAINT@,$MAINT,;t t
6253 -s,@GC_CFLAGS@,$GC_CFLAGS,;t t
6254 -s,@LN_S@,$LN_S,;t t
6255 -s,@STRIP@,$STRIP,;t t
6256 -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
6257 -s,@LIBTOOL@,$LIBTOOL,;t t
6258 -s,@CXXCPP@,$CXXCPP,;t t
6259 -s,@CPPFLAGS@,$CPPFLAGS,;t t
6260 -s,@THREADLIBS@,$THREADLIBS,;t t
6261 -s,@POWERPC_DARWIN_TRUE@,$POWERPC_DARWIN_TRUE,;t t
6262 -s,@POWERPC_DARWIN_FALSE@,$POWERPC_DARWIN_FALSE,;t t
6263 -s,@EXTRA_TEST_LIBS@,$EXTRA_TEST_LIBS,;t t
6264 -s,@target_all@,$target_all,;t t
6265 -s,@INCLUDES@,$INCLUDES,;t t
6266 -s,@CXXINCLUDES@,$CXXINCLUDES,;t t
6267 -s,@addobjs@,$addobjs,;t t
6268 -s,@MY_CFLAGS@,$MY_CFLAGS,;t t
6269 -s,@USE_LIBDIR_TRUE@,$USE_LIBDIR_TRUE,;t t
6270 -s,@USE_LIBDIR_FALSE@,$USE_LIBDIR_FALSE,;t t
6271 -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
6272 -s,@LTLIBOBJS@,$LTLIBOBJS,;t t
6273 -CEOF
6274 -
6275 -_ACEOF
6276 -
6277 -  cat >>$CONFIG_STATUS <<\_ACEOF
6278 -  # Split the substitutions into bite-sized pieces for seds with
6279 -  # small command number limits, like on Digital OSF/1 and HP-UX.
6280 -  ac_max_sed_lines=48
6281 -  ac_sed_frag=1 # Number of current file.
6282 -  ac_beg=1 # First line for current file.
6283 -  ac_end=$ac_max_sed_lines # Line after last line for current file.
6284 -  ac_more_lines=:
6285 -  ac_sed_cmds=
6286 -  while $ac_more_lines; do
6287 -    if test $ac_beg -gt 1; then
6288 -      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
6289 -    else
6290 -      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
6291 -    fi
6292 -    if test ! -s $tmp/subs.frag; then
6293 -      ac_more_lines=false
6294 -    else
6295 -      # The purpose of the label and of the branching condition is to
6296 -      # speed up the sed processing (if there are no `@' at all, there
6297 -      # is no need to browse any of the substitutions).
6298 -      # These are the two extra sed commands mentioned above.
6299 -      (echo ':t
6300 -  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
6301 -      if test -z "$ac_sed_cmds"; then
6302 -       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
6303 -      else
6304 -       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
6305 -      fi
6306 -      ac_sed_frag=`expr $ac_sed_frag + 1`
6307 -      ac_beg=$ac_end
6308 -      ac_end=`expr $ac_end + $ac_max_sed_lines`
6309 -    fi
6310 -  done
6311 -  if test -z "$ac_sed_cmds"; then
6312 -    ac_sed_cmds=cat
6313 -  fi
6314 -fi # test -n "$CONFIG_FILES"
6315 -
6316 -_ACEOF
6317 -cat >>$CONFIG_STATUS <<\_ACEOF
6318 -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
6319 -  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
6320 -  case $ac_file in
6321 -  - | *:- | *:-:* ) # input from stdin
6322 -        cat >$tmp/stdin
6323 -        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
6324 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
6325 -  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
6326 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
6327 -  * )   ac_file_in=$ac_file.in ;;
6328 -  esac
6329 -
6330 -  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
6331 -  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
6332 -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6333 -         X"$ac_file" : 'X\(//\)[^/]' \| \
6334 -         X"$ac_file" : 'X\(//\)$' \| \
6335 -         X"$ac_file" : 'X\(/\)' \| \
6336 -         .     : '\(.\)' 2>/dev/null ||
6337 -echo X"$ac_file" |
6338 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6339 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6340 -         /^X\(\/\/\)$/{ s//\1/; q; }
6341 -         /^X\(\/\).*/{ s//\1/; q; }
6342 -         s/.*/./; q'`
6343 -  { if $as_mkdir_p; then
6344 -    mkdir -p "$ac_dir"
6345 -  else
6346 -    as_dir="$ac_dir"
6347 -    as_dirs=
6348 -    while test ! -d "$as_dir"; do
6349 -      as_dirs="$as_dir $as_dirs"
6350 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
6351 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6352 -         X"$as_dir" : 'X\(//\)[^/]' \| \
6353 -         X"$as_dir" : 'X\(//\)$' \| \
6354 -         X"$as_dir" : 'X\(/\)' \| \
6355 -         .     : '\(.\)' 2>/dev/null ||
6356 -echo X"$as_dir" |
6357 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6358 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6359 -         /^X\(\/\/\)$/{ s//\1/; q; }
6360 -         /^X\(\/\).*/{ s//\1/; q; }
6361 -         s/.*/./; q'`
6362 -    done
6363 -    test ! -n "$as_dirs" || mkdir $as_dirs
6364 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
6365 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
6366 -   { (exit 1); exit 1; }; }; }
6367 -
6368 -  ac_builddir=.
6369 -
6370 -if test "$ac_dir" != .; then
6371 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
6372 -  # A "../" for each directory in $ac_dir_suffix.
6373 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
6374 -else
6375 -  ac_dir_suffix= ac_top_builddir=
6376 -fi
6377 -
6378 -case $srcdir in
6379 -  .)  # No --srcdir option.  We are building in place.
6380 -    ac_srcdir=.
6381 -    if test -z "$ac_top_builddir"; then
6382 -       ac_top_srcdir=.
6383 -    else
6384 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
6385 -    fi ;;
6386 -  [\\/]* | ?:[\\/]* )  # Absolute path.
6387 -    ac_srcdir=$srcdir$ac_dir_suffix;
6388 -    ac_top_srcdir=$srcdir ;;
6389 -  *) # Relative path.
6390 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
6391 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
6392 -esac
6393 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
6394 -# absolute.
6395 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
6396 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
6397 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
6398 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
6399 -
6400 -
6401 -  case $INSTALL in
6402 -  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
6403 -  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
6404 -  esac
6405 -
6406 -  if test x"$ac_file" != x-; then
6407 -    { echo "$as_me:$LINENO: creating $ac_file" >&5
6408 -echo "$as_me: creating $ac_file" >&6;}
6409 -    rm -f "$ac_file"
6410 -  fi
6411 -  # Let's still pretend it is `configure' which instantiates (i.e., don't
6412 -  # use $as_me), people would be surprised to read:
6413 -  #    /* config.h.  Generated by config.status.  */
6414 -  if test x"$ac_file" = x-; then
6415 -    configure_input=
6416 -  else
6417 -    configure_input="$ac_file.  "
6418 -  fi
6419 -  configure_input=$configure_input"Generated from `echo $ac_file_in |
6420 -                                     sed 's,.*/,,'` by configure."
6421 -
6422 -  # First look for the input files in the build tree, otherwise in the
6423 -  # src tree.
6424 -  ac_file_inputs=`IFS=:
6425 -    for f in $ac_file_in; do
6426 -      case $f in
6427 -      -) echo $tmp/stdin ;;
6428 -      [\\/$]*)
6429 -         # Absolute (can't be DOS-style, as IFS=:)
6430 -         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
6431 -echo "$as_me: error: cannot find input file: $f" >&2;}
6432 -   { (exit 1); exit 1; }; }
6433 -         echo $f;;
6434 -      *) # Relative
6435 -         if test -f "$f"; then
6436 -           # Build tree
6437 -           echo $f
6438 -         elif test -f "$srcdir/$f"; then
6439 -           # Source tree
6440 -           echo $srcdir/$f
6441 -         else
6442 -           # /dev/null tree
6443 -           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
6444 -echo "$as_me: error: cannot find input file: $f" >&2;}
6445 -   { (exit 1); exit 1; }; }
6446 -         fi;;
6447 -      esac
6448 -    done` || { (exit 1); exit 1; }
6449 -_ACEOF
6450 -cat >>$CONFIG_STATUS <<_ACEOF
6451 -  sed "$ac_vpsub
6452 -$extrasub
6453 -_ACEOF
6454 -cat >>$CONFIG_STATUS <<\_ACEOF
6455 -:t
6456 -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
6457 -s,@configure_input@,$configure_input,;t t
6458 -s,@srcdir@,$ac_srcdir,;t t
6459 -s,@abs_srcdir@,$ac_abs_srcdir,;t t
6460 -s,@top_srcdir@,$ac_top_srcdir,;t t
6461 -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
6462 -s,@builddir@,$ac_builddir,;t t
6463 -s,@abs_builddir@,$ac_abs_builddir,;t t
6464 -s,@top_builddir@,$ac_top_builddir,;t t
6465 -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
6466 -s,@INSTALL@,$ac_INSTALL,;t t
6467 -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
6468 -  rm -f $tmp/stdin
6469 -  if test x"$ac_file" != x-; then
6470 -    mv $tmp/out $ac_file
6471 -  else
6472 -    cat $tmp/out
6473 -    rm -f $tmp/out
6474 -  fi
6475 -
6476 -done
6477 -_ACEOF
6478 -cat >>$CONFIG_STATUS <<\_ACEOF
6479 -
6480 -#
6481 -# CONFIG_COMMANDS section.
6482 -#
6483 -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
6484 -  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
6485 -  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
6486 -  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
6487 -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
6488 -         X"$ac_dest" : 'X\(//\)[^/]' \| \
6489 -         X"$ac_dest" : 'X\(//\)$' \| \
6490 -         X"$ac_dest" : 'X\(/\)' \| \
6491 -         .     : '\(.\)' 2>/dev/null ||
6492 -echo X"$ac_dest" |
6493 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
6494 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
6495 -         /^X\(\/\/\)$/{ s//\1/; q; }
6496 -         /^X\(\/\).*/{ s//\1/; q; }
6497 -         s/.*/./; q'`
6498 -  ac_builddir=.
6499 -
6500 -if test "$ac_dir" != .; then
6501 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
6502 -  # A "../" for each directory in $ac_dir_suffix.
6503 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
6504 -else
6505 -  ac_dir_suffix= ac_top_builddir=
6506 -fi
6507 -
6508 -case $srcdir in
6509 -  .)  # No --srcdir option.  We are building in place.
6510 -    ac_srcdir=.
6511 -    if test -z "$ac_top_builddir"; then
6512 -       ac_top_srcdir=.
6513 -    else
6514 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
6515 -    fi ;;
6516 -  [\\/]* | ?:[\\/]* )  # Absolute path.
6517 -    ac_srcdir=$srcdir$ac_dir_suffix;
6518 -    ac_top_srcdir=$srcdir ;;
6519 -  *) # Relative path.
6520 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
6521 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
6522 -esac
6523 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
6524 -# absolute.
6525 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
6526 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
6527 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
6528 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
6529 -
6530 -
6531 -  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
6532 -echo "$as_me: executing $ac_dest commands" >&6;}
6533 -  case $ac_dest in
6534 -    default ) 
6535 -echo "$DEFS" > boehm-cflags
6536 -
6537 -if test -n "$CONFIG_FILES"; then
6538 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
6539 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
6540 -fi ;;
6541 -  esac
6542 -done
6543 -_ACEOF
6544 -
6545 -cat >>$CONFIG_STATUS <<\_ACEOF
6546 -
6547 -{ (exit 0); exit 0; }
6548 -_ACEOF
6549 -chmod +x $CONFIG_STATUS
6550 -ac_clean_files=$ac_clean_files_save
6551 -
6552 -
6553 -# configure is writing to config.log, and then calls config.status.
6554 -# config.status does its own redirection, appending to config.log.
6555 -# Unfortunately, on DOS this fails, as config.log is still kept open
6556 -# by configure, so config.status won't be able to write to it; its
6557 -# output is simply discarded.  So we exec the FD to /dev/null,
6558 -# effectively closing config.log, so it can be properly (re)opened and
6559 -# appended to by config.status.  When coming back to configure, we
6560 -# need to make the FD available again.
6561 -if test "$no_create" != yes; then
6562 -  ac_cs_success=:
6563 -  ac_config_status_args=
6564 -  test "$silent" = yes &&
6565 -    ac_config_status_args="$ac_config_status_args --quiet"
6566 -  exec 5>/dev/null
6567 -  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
6568 -  exec 5>>config.log
6569 -  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
6570 -  # would make configure fail if this is the last instruction.
6571 -  $ac_cs_success || { (exit 1); exit 1; }
6572 -fi
6573 -
6574 diff -Nur ../boehm-gc/autom4te.cache/output.1 boehm-gc/autom4te.cache/output.1
6575 --- ../boehm-gc/autom4te.cache/output.1 Sat May 31 15:09:31 2003
6576 +++ boehm-gc/autom4te.cache/output.1    Wed Dec 31 16:00:00 1969
6577 @@ -1,9496 +0,0 @@
6578 -@%:@! /bin/sh
6579 -@%:@ Guess values for system-dependent variables and create Makefiles.
6580 -@%:@ Generated by GNU Autoconf 2.54.
6581 -@%:@ 
6582 -@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
6583 -@%:@ Free Software Foundation, Inc.
6584 -@%:@ This configure script is free software; the Free Software Foundation
6585 -@%:@ gives unlimited permission to copy, distribute and modify it.
6586 -## --------------------- ##
6587 -## M4sh Initialization.  ##
6588 -## --------------------- ##
6589 -
6590 -# Be Bourne compatible
6591 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
6592 -  emulate sh
6593 -  NULLCMD=:
6594 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
6595 -  # is contrary to our usage.  Disable this feature.
6596 -  alias -g '${1+"$@"}'='"$@"'
6597 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
6598 -  set -o posix
6599 -fi
6600 -
6601 -# Support unset when possible.
6602 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
6603 -  as_unset=unset
6604 -else
6605 -  as_unset=false
6606 -fi
6607 -
6608 -
6609 -# Work around bugs in pre-3.0 UWIN ksh.
6610 -$as_unset ENV MAIL MAILPATH
6611 -PS1='$ '
6612 -PS2='> '
6613 -PS4='+ '
6614 -
6615 -# NLS nuisances.
6616 -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
6617 -do
6618 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
6619 -    eval $as_var=C; export $as_var
6620 -  else
6621 -    $as_unset $as_var
6622 -  fi
6623 -done
6624 -
6625 -# Required to use basename.
6626 -if expr a : '\(a\)' >/dev/null 2>&1; then
6627 -  as_expr=expr
6628 -else
6629 -  as_expr=false
6630 -fi
6631 -
6632 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
6633 -  as_basename=basename
6634 -else
6635 -  as_basename=false
6636 -fi
6637 -
6638 -
6639 -# Name of the executable.
6640 -as_me=`$as_basename "$0" ||
6641 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
6642 -        X"$0" : 'X\(//\)$' \| \
6643 -        X"$0" : 'X\(/\)$' \| \
6644 -        .     : '\(.\)' 2>/dev/null ||
6645 -echo X/"$0" |
6646 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
6647 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
6648 -         /^X\/\(\/\).*/{ s//\1/; q; }
6649 -         s/.*/./; q'`
6650 -
6651 -
6652 -# PATH needs CR, and LINENO needs CR and PATH.
6653 -# Avoid depending upon Character Ranges.
6654 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
6655 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
6656 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
6657 -as_cr_digits='0123456789'
6658 -as_cr_alnum=$as_cr_Letters$as_cr_digits
6659 -
6660 -# The user is always right.
6661 -if test "${PATH_SEPARATOR+set}" != set; then
6662 -  echo "#! /bin/sh" >conftest.sh
6663 -  echo  "exit 0"   >>conftest.sh
6664 -  chmod +x conftest.sh
6665 -  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
6666 -    PATH_SEPARATOR=';'
6667 -  else
6668 -    PATH_SEPARATOR=:
6669 -  fi
6670 -  rm -f conftest.sh
6671 -fi
6672 -
6673 -
6674 -  as_lineno_1=$LINENO
6675 -  as_lineno_2=$LINENO
6676 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
6677 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
6678 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
6679 -  # Find who we are.  Look in the path if we contain no path at all
6680 -  # relative or not.
6681 -  case $0 in
6682 -    *[\\/]* ) as_myself=$0 ;;
6683 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6684 -for as_dir in $PATH
6685 -do
6686 -  IFS=$as_save_IFS
6687 -  test -z "$as_dir" && as_dir=.
6688 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
6689 -done
6690 -
6691 -       ;;
6692 -  esac
6693 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
6694 -  # in which case we are not to be found in the path.
6695 -  if test "x$as_myself" = x; then
6696 -    as_myself=$0
6697 -  fi
6698 -  if test ! -f "$as_myself"; then
6699 -    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
6700 -   { (exit 1); exit 1; }; }
6701 -  fi
6702 -  case $CONFIG_SHELL in
6703 -  '')
6704 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6705 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
6706 -do
6707 -  IFS=$as_save_IFS
6708 -  test -z "$as_dir" && as_dir=.
6709 -  for as_base in sh bash ksh sh5; do
6710 -        case $as_dir in
6711 -        /*)
6712 -          if ("$as_dir/$as_base" -c '
6713 -  as_lineno_1=$LINENO
6714 -  as_lineno_2=$LINENO
6715 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
6716 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
6717 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
6718 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
6719 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
6720 -            CONFIG_SHELL=$as_dir/$as_base
6721 -            export CONFIG_SHELL
6722 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
6723 -          fi;;
6724 -        esac
6725 -       done
6726 -done
6727 -;;
6728 -  esac
6729 -
6730 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
6731 -  # uniformly replaced by the line number.  The first 'sed' inserts a
6732 -  # line-number line before each line; the second 'sed' does the real
6733 -  # work.  The second script uses 'N' to pair each line-number line
6734 -  # with the numbered line, and appends trailing '-' during
6735 -  # substitution so that $LINENO is not a special case at line end.
6736 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
6737 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
6738 -  sed '=' <$as_myself |
6739 -    sed '
6740 -      N
6741 -      s,$,-,
6742 -      : loop
6743 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
6744 -      t loop
6745 -      s,-$,,
6746 -      s,^['$as_cr_digits']*\n,,
6747 -    ' >$as_me.lineno &&
6748 -  chmod +x $as_me.lineno ||
6749 -    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
6750 -   { (exit 1); exit 1; }; }
6751 -
6752 -  # Don't try to exec as it changes $[0], causing all sort of problems
6753 -  # (the dirname of $[0] is not the place where we might find the
6754 -  # original and so on.  Autoconf is especially sensible to this).
6755 -  . ./$as_me.lineno
6756 -  # Exit status is that of the last command.
6757 -  exit
6758 -}
6759 -
6760 -
6761 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
6762 -  *c*,-n*) ECHO_N= ECHO_C='
6763 -' ECHO_T='     ' ;;
6764 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
6765 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
6766 -esac
6767 -
6768 -if expr a : '\(a\)' >/dev/null 2>&1; then
6769 -  as_expr=expr
6770 -else
6771 -  as_expr=false
6772 -fi
6773 -
6774 -rm -f conf$$ conf$$.exe conf$$.file
6775 -echo >conf$$.file
6776 -if ln -s conf$$.file conf$$ 2>/dev/null; then
6777 -  # We could just check for DJGPP; but this test a) works b) is more generic
6778 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
6779 -  if test -f conf$$.exe; then
6780 -    # Don't use ln at all; we don't have any links
6781 -    as_ln_s='cp -p'
6782 -  else
6783 -    as_ln_s='ln -s'
6784 -  fi
6785 -elif ln conf$$.file conf$$ 2>/dev/null; then
6786 -  as_ln_s=ln
6787 -else
6788 -  as_ln_s='cp -p'
6789 -fi
6790 -rm -f conf$$ conf$$.exe conf$$.file
6791 -
6792 -if mkdir -p . 2>/dev/null; then
6793 -  as_mkdir_p=:
6794 -else
6795 -  as_mkdir_p=false
6796 -fi
6797 -
6798 -as_executable_p="test -f"
6799 -
6800 -# Sed expression to map a string onto a valid CPP name.
6801 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
6802 -
6803 -# Sed expression to map a string onto a valid variable name.
6804 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
6805 -
6806 -
6807 -# IFS
6808 -# We need space, tab and new line, in precisely that order.
6809 -as_nl='
6810 -'
6811 -IFS="  $as_nl"
6812 -
6813 -# CDPATH.
6814 -$as_unset CDPATH
6815 -
6816 -
6817 -# Find the correct PATH separator.  Usually this is `:', but
6818 -# DJGPP uses `;' like DOS.
6819 -if test "X${PATH_SEPARATOR+set}" != Xset; then
6820 -  UNAME=${UNAME-`uname 2>/dev/null`}
6821 -  case X$UNAME in
6822 -    *-DOS) lt_cv_sys_path_separator=';' ;;
6823 -    *)     lt_cv_sys_path_separator=':' ;;
6824 -  esac
6825 -  PATH_SEPARATOR=$lt_cv_sys_path_separator
6826 -fi
6827 -
6828 -
6829 -# Check that we are running under the correct shell.
6830 -SHELL=${CONFIG_SHELL-/bin/sh}
6831 -
6832 -case X$ECHO in
6833 -X*--fallback-echo)
6834 -  # Remove one level of quotation (which was required for Make).
6835 -  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
6836 -  ;;
6837 -esac
6838 -
6839 -echo=${ECHO-echo}
6840 -if test "X$1" = X--no-reexec; then
6841 -  # Discard the --no-reexec flag, and continue.
6842 -  shift
6843 -elif test "X$1" = X--fallback-echo; then
6844 -  # Avoid inline document here, it may be left over
6845 -  :
6846 -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
6847 -  # Yippee, $echo works!
6848 -  :
6849 -else
6850 -  # Restart under the correct shell.
6851 -  exec $SHELL "$0" --no-reexec ${1+"$@"}
6852 -fi
6853 -
6854 -if test "X$1" = X--fallback-echo; then
6855 -  # used as fallback echo
6856 -  shift
6857 -  cat <<EOF
6858 -
6859 -EOF
6860 -  exit 0
6861 -fi
6862 -
6863 -# The HP-UX ksh and POSIX shell print the target directory to stdout
6864 -# if CDPATH is set.
6865 -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
6866 -
6867 -if test -z "$ECHO"; then
6868 -if test "X${echo_test_string+set}" != Xset; then
6869 -# find a string as large as possible, as long as the shell can cope with it
6870 -  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
6871 -    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
6872 -    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
6873 -       echo_test_string="`eval $cmd`" &&
6874 -       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
6875 -    then
6876 -      break
6877 -    fi
6878 -  done
6879 -fi
6880 -
6881 -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
6882 -   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
6883 -   test "X$echo_testing_string" = "X$echo_test_string"; then
6884 -  :
6885 -else
6886 -  # The Solaris, AIX, and Digital Unix default echo programs unquote
6887 -  # backslashes.  This makes it impossible to quote backslashes using
6888 -  #   echo "$something" | sed 's/\\/\\\\/g'
6889 -  #
6890 -  # So, first we look for a working echo in the user's PATH.
6891 -
6892 -  IFS="${IFS=  }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
6893 -  for dir in $PATH /usr/ucb; do
6894 -    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
6895 -       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
6896 -       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
6897 -       test "X$echo_testing_string" = "X$echo_test_string"; then
6898 -      echo="$dir/echo"
6899 -      break
6900 -    fi
6901 -  done
6902 -  IFS="$save_ifs"
6903 -
6904 -  if test "X$echo" = Xecho; then
6905 -    # We didn't find a better echo, so look for alternatives.
6906 -    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
6907 -       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
6908 -       test "X$echo_testing_string" = "X$echo_test_string"; then
6909 -      # This shell has a builtin print -r that does the trick.
6910 -      echo='print -r'
6911 -    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
6912 -        test "X$CONFIG_SHELL" != X/bin/ksh; then
6913 -      # If we have ksh, try running configure again with it.
6914 -      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
6915 -      export ORIGINAL_CONFIG_SHELL
6916 -      CONFIG_SHELL=/bin/ksh
6917 -      export CONFIG_SHELL
6918 -      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
6919 -    else
6920 -      # Try using printf.
6921 -      echo='printf %s\n'
6922 -      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
6923 -        echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
6924 -        test "X$echo_testing_string" = "X$echo_test_string"; then
6925 -       # Cool, printf works
6926 -       :
6927 -      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
6928 -          test "X$echo_testing_string" = 'X\t' &&
6929 -          echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
6930 -          test "X$echo_testing_string" = "X$echo_test_string"; then
6931 -       CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
6932 -       export CONFIG_SHELL
6933 -       SHELL="$CONFIG_SHELL"
6934 -       export SHELL
6935 -       echo="$CONFIG_SHELL $0 --fallback-echo"
6936 -      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
6937 -          test "X$echo_testing_string" = 'X\t' &&
6938 -          echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
6939 -          test "X$echo_testing_string" = "X$echo_test_string"; then
6940 -       echo="$CONFIG_SHELL $0 --fallback-echo"
6941 -      else
6942 -       # maybe with a smaller string...
6943 -       prev=:
6944 -
6945 -       for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
6946 -         if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
6947 -         then
6948 -           break
6949 -         fi
6950 -         prev="$cmd"
6951 -       done
6952 -
6953 -       if test "$prev" != 'sed 50q "$0"'; then
6954 -         echo_test_string=`eval $prev`
6955 -         export echo_test_string
6956 -         exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
6957 -       else
6958 -         # Oops.  We lost completely, so just stick with echo.
6959 -         echo=echo
6960 -       fi
6961 -      fi
6962 -    fi
6963 -  fi
6964 -fi
6965 -fi
6966 -
6967 -# Copy echo and quote the copy suitably for passing to libtool from
6968 -# the Makefile, instead of quoting the original, which is used later.
6969 -ECHO=$echo
6970 -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
6971 -   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
6972 -fi
6973 -
6974 -
6975 -
6976 -# Name of the host.
6977 -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
6978 -# so uname gets run too.
6979 -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
6980 -
6981 -exec 6>&1
6982 -
6983 -#
6984 -# Initializations.
6985 -#
6986 -ac_default_prefix=/usr/local
6987 -ac_config_libobj_dir=.
6988 -cross_compiling=no
6989 -subdirs=
6990 -MFLAGS=
6991 -MAKEFLAGS=
6992 -SHELL=${CONFIG_SHELL-/bin/sh}
6993 -
6994 -# Maximum number of lines to put in a shell here document.
6995 -# This variable seems obsolete.  It should probably be removed, and
6996 -# only ac_max_sed_lines should be used.
6997 -: ${ac_max_here_lines=38}
6998 -
6999 -# Identity of this package.
7000 -PACKAGE_NAME=
7001 -PACKAGE_TARNAME=
7002 -PACKAGE_VERSION=
7003 -PACKAGE_STRING=
7004 -PACKAGE_BUGREPORT=
7005 -
7006 -ac_unique_file="gcj_mlc.c"
7007 -# Factoring default headers for most tests.
7008 -ac_includes_default="\
7009 -#include <stdio.h>
7010 -#if HAVE_SYS_TYPES_H
7011 -# include <sys/types.h>
7012 -#endif
7013 -#if HAVE_SYS_STAT_H
7014 -# include <sys/stat.h>
7015 -#endif
7016 -#if STDC_HEADERS
7017 -# include <stdlib.h>
7018 -# include <stddef.h>
7019 -#else
7020 -# if HAVE_STDLIB_H
7021 -#  include <stdlib.h>
7022 -# endif
7023 -#endif
7024 -#if HAVE_STRING_H
7025 -# if !STDC_HEADERS && HAVE_MEMORY_H
7026 -#  include <memory.h>
7027 -# endif
7028 -# include <string.h>
7029 -#endif
7030 -#if HAVE_STRINGS_H
7031 -# include <strings.h>
7032 -#endif
7033 -#if HAVE_INTTYPES_H
7034 -# include <inttypes.h>
7035 -#else
7036 -# if HAVE_STDINT_H
7037 -#  include <stdint.h>
7038 -# endif
7039 -#endif
7040 -#if HAVE_UNISTD_H
7041 -# include <unistd.h>
7042 -#endif"
7043 -
7044 -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'
7045 -ac_subst_files=''
7046 -
7047 -# Initialize some variables set by options.
7048 -ac_init_help=
7049 -ac_init_version=false
7050 -# The variables have the same names as the options, with
7051 -# dashes changed to underlines.
7052 -cache_file=/dev/null
7053 -exec_prefix=NONE
7054 -no_create=
7055 -no_recursion=
7056 -prefix=NONE
7057 -program_prefix=NONE
7058 -program_suffix=NONE
7059 -program_transform_name=s,x,x,
7060 -silent=
7061 -site=
7062 -srcdir=
7063 -verbose=
7064 -x_includes=NONE
7065 -x_libraries=NONE
7066 -
7067 -# Installation directory options.
7068 -# These are left unexpanded so users can "make install exec_prefix=/foo"
7069 -# and all the variables that are supposed to be based on exec_prefix
7070 -# by default will actually change.
7071 -# Use braces instead of parens because sh, perl, etc. also accept them.
7072 -bindir='${exec_prefix}/bin'
7073 -sbindir='${exec_prefix}/sbin'
7074 -libexecdir='${exec_prefix}/libexec'
7075 -datadir='${prefix}/share'
7076 -sysconfdir='${prefix}/etc'
7077 -sharedstatedir='${prefix}/com'
7078 -localstatedir='${prefix}/var'
7079 -libdir='${exec_prefix}/lib'
7080 -includedir='${prefix}/include'
7081 -oldincludedir='/usr/include'
7082 -infodir='${prefix}/info'
7083 -mandir='${prefix}/man'
7084 -
7085 -ac_prev=
7086 -for ac_option
7087 -do
7088 -  # If the previous option needs an argument, assign it.
7089 -  if test -n "$ac_prev"; then
7090 -    eval "$ac_prev=\$ac_option"
7091 -    ac_prev=
7092 -    continue
7093 -  fi
7094 -
7095 -  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
7096 -
7097 -  # Accept the important Cygnus configure options, so we can diagnose typos.
7098 -
7099 -  case $ac_option in
7100 -
7101 -  -bindir | --bindir | --bindi | --bind | --bin | --bi)
7102 -    ac_prev=bindir ;;
7103 -  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
7104 -    bindir=$ac_optarg ;;
7105 -
7106 -  -build | --build | --buil | --bui | --bu)
7107 -    ac_prev=build_alias ;;
7108 -  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
7109 -    build_alias=$ac_optarg ;;
7110 -
7111 -  -cache-file | --cache-file | --cache-fil | --cache-fi \
7112 -  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
7113 -    ac_prev=cache_file ;;
7114 -  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
7115 -  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
7116 -    cache_file=$ac_optarg ;;
7117 -
7118 -  --config-cache | -C)
7119 -    cache_file=config.cache ;;
7120 -
7121 -  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
7122 -    ac_prev=datadir ;;
7123 -  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
7124 -  | --da=*)
7125 -    datadir=$ac_optarg ;;
7126 -
7127 -  -disable-* | --disable-*)
7128 -    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
7129 -    # Reject names that are not valid shell variable names.
7130 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7131 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
7132 -   { (exit 1); exit 1; }; }
7133 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
7134 -    eval "enable_$ac_feature=no" ;;
7135 -
7136 -  -enable-* | --enable-*)
7137 -    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
7138 -    # Reject names that are not valid shell variable names.
7139 -    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7140 -      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
7141 -   { (exit 1); exit 1; }; }
7142 -    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
7143 -    case $ac_option in
7144 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
7145 -      *) ac_optarg=yes ;;
7146 -    esac
7147 -    eval "enable_$ac_feature='$ac_optarg'" ;;
7148 -
7149 -  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
7150 -  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
7151 -  | --exec | --exe | --ex)
7152 -    ac_prev=exec_prefix ;;
7153 -  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
7154 -  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
7155 -  | --exec=* | --exe=* | --ex=*)
7156 -    exec_prefix=$ac_optarg ;;
7157 -
7158 -  -gas | --gas | --ga | --g)
7159 -    # Obsolete; use --with-gas.
7160 -    with_gas=yes ;;
7161 -
7162 -  -help | --help | --hel | --he | -h)
7163 -    ac_init_help=long ;;
7164 -  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
7165 -    ac_init_help=recursive ;;
7166 -  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
7167 -    ac_init_help=short ;;
7168 -
7169 -  -host | --host | --hos | --ho)
7170 -    ac_prev=host_alias ;;
7171 -  -host=* | --host=* | --hos=* | --ho=*)
7172 -    host_alias=$ac_optarg ;;
7173 -
7174 -  -includedir | --includedir | --includedi | --included | --include \
7175 -  | --includ | --inclu | --incl | --inc)
7176 -    ac_prev=includedir ;;
7177 -  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
7178 -  | --includ=* | --inclu=* | --incl=* | --inc=*)
7179 -    includedir=$ac_optarg ;;
7180 -
7181 -  -infodir | --infodir | --infodi | --infod | --info | --inf)
7182 -    ac_prev=infodir ;;
7183 -  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
7184 -    infodir=$ac_optarg ;;
7185 -
7186 -  -libdir | --libdir | --libdi | --libd)
7187 -    ac_prev=libdir ;;
7188 -  -libdir=* | --libdir=* | --libdi=* | --libd=*)
7189 -    libdir=$ac_optarg ;;
7190 -
7191 -  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
7192 -  | --libexe | --libex | --libe)
7193 -    ac_prev=libexecdir ;;
7194 -  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
7195 -  | --libexe=* | --libex=* | --libe=*)
7196 -    libexecdir=$ac_optarg ;;
7197 -
7198 -  -localstatedir | --localstatedir | --localstatedi | --localstated \
7199 -  | --localstate | --localstat | --localsta | --localst \
7200 -  | --locals | --local | --loca | --loc | --lo)
7201 -    ac_prev=localstatedir ;;
7202 -  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
7203 -  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
7204 -  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
7205 -    localstatedir=$ac_optarg ;;
7206 -
7207 -  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
7208 -    ac_prev=mandir ;;
7209 -  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
7210 -    mandir=$ac_optarg ;;
7211 -
7212 -  -nfp | --nfp | --nf)
7213 -    # Obsolete; use --without-fp.
7214 -    with_fp=no ;;
7215 -
7216 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
7217 -  | --no-cr | --no-c | -n)
7218 -    no_create=yes ;;
7219 -
7220 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
7221 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
7222 -    no_recursion=yes ;;
7223 -
7224 -  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
7225 -  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
7226 -  | --oldin | --oldi | --old | --ol | --o)
7227 -    ac_prev=oldincludedir ;;
7228 -  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
7229 -  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
7230 -  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
7231 -    oldincludedir=$ac_optarg ;;
7232 -
7233 -  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
7234 -    ac_prev=prefix ;;
7235 -  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
7236 -    prefix=$ac_optarg ;;
7237 -
7238 -  -program-prefix | --program-prefix | --program-prefi | --program-pref \
7239 -  | --program-pre | --program-pr | --program-p)
7240 -    ac_prev=program_prefix ;;
7241 -  -program-prefix=* | --program-prefix=* | --program-prefi=* \
7242 -  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
7243 -    program_prefix=$ac_optarg ;;
7244 -
7245 -  -program-suffix | --program-suffix | --program-suffi | --program-suff \
7246 -  | --program-suf | --program-su | --program-s)
7247 -    ac_prev=program_suffix ;;
7248 -  -program-suffix=* | --program-suffix=* | --program-suffi=* \
7249 -  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
7250 -    program_suffix=$ac_optarg ;;
7251 -
7252 -  -program-transform-name | --program-transform-name \
7253 -  | --program-transform-nam | --program-transform-na \
7254 -  | --program-transform-n | --program-transform- \
7255 -  | --program-transform | --program-transfor \
7256 -  | --program-transfo | --program-transf \
7257 -  | --program-trans | --program-tran \
7258 -  | --progr-tra | --program-tr | --program-t)
7259 -    ac_prev=program_transform_name ;;
7260 -  -program-transform-name=* | --program-transform-name=* \
7261 -  | --program-transform-nam=* | --program-transform-na=* \
7262 -  | --program-transform-n=* | --program-transform-=* \
7263 -  | --program-transform=* | --program-transfor=* \
7264 -  | --program-transfo=* | --program-transf=* \
7265 -  | --program-trans=* | --program-tran=* \
7266 -  | --progr-tra=* | --program-tr=* | --program-t=*)
7267 -    program_transform_name=$ac_optarg ;;
7268 -
7269 -  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
7270 -  | -silent | --silent | --silen | --sile | --sil)
7271 -    silent=yes ;;
7272 -
7273 -  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
7274 -    ac_prev=sbindir ;;
7275 -  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
7276 -  | --sbi=* | --sb=*)
7277 -    sbindir=$ac_optarg ;;
7278 -
7279 -  -sharedstatedir | --sharedstatedir | --sharedstatedi \
7280 -  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
7281 -  | --sharedst | --shareds | --shared | --share | --shar \
7282 -  | --sha | --sh)
7283 -    ac_prev=sharedstatedir ;;
7284 -  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
7285 -  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
7286 -  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
7287 -  | --sha=* | --sh=*)
7288 -    sharedstatedir=$ac_optarg ;;
7289 -
7290 -  -site | --site | --sit)
7291 -    ac_prev=site ;;
7292 -  -site=* | --site=* | --sit=*)
7293 -    site=$ac_optarg ;;
7294 -
7295 -  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
7296 -    ac_prev=srcdir ;;
7297 -  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
7298 -    srcdir=$ac_optarg ;;
7299 -
7300 -  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
7301 -  | --syscon | --sysco | --sysc | --sys | --sy)
7302 -    ac_prev=sysconfdir ;;
7303 -  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
7304 -  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
7305 -    sysconfdir=$ac_optarg ;;
7306 -
7307 -  -target | --target | --targe | --targ | --tar | --ta | --t)
7308 -    ac_prev=target_alias ;;
7309 -  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
7310 -    target_alias=$ac_optarg ;;
7311 -
7312 -  -v | -verbose | --verbose | --verbos | --verbo | --verb)
7313 -    verbose=yes ;;
7314 -
7315 -  -version | --version | --versio | --versi | --vers | -V)
7316 -    ac_init_version=: ;;
7317 -
7318 -  -with-* | --with-*)
7319 -    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
7320 -    # Reject names that are not valid shell variable names.
7321 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7322 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
7323 -   { (exit 1); exit 1; }; }
7324 -    ac_package=`echo $ac_package| sed 's/-/_/g'`
7325 -    case $ac_option in
7326 -      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
7327 -      *) ac_optarg=yes ;;
7328 -    esac
7329 -    eval "with_$ac_package='$ac_optarg'" ;;
7330 -
7331 -  -without-* | --without-*)
7332 -    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
7333 -    # Reject names that are not valid shell variable names.
7334 -    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
7335 -      { echo "$as_me: error: invalid package name: $ac_package" >&2
7336 -   { (exit 1); exit 1; }; }
7337 -    ac_package=`echo $ac_package | sed 's/-/_/g'`
7338 -    eval "with_$ac_package=no" ;;
7339 -
7340 -  --x)
7341 -    # Obsolete; use --with-x.
7342 -    with_x=yes ;;
7343 -
7344 -  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
7345 -  | --x-incl | --x-inc | --x-in | --x-i)
7346 -    ac_prev=x_includes ;;
7347 -  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
7348 -  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
7349 -    x_includes=$ac_optarg ;;
7350 -
7351 -  -x-libraries | --x-libraries | --x-librarie | --x-librari \
7352 -  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
7353 -    ac_prev=x_libraries ;;
7354 -  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
7355 -  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
7356 -    x_libraries=$ac_optarg ;;
7357 -
7358 -  -*) { echo "$as_me: error: unrecognized option: $ac_option
7359 -Try \`$0 --help' for more information." >&2
7360 -   { (exit 1); exit 1; }; }
7361 -    ;;
7362 -
7363 -  *=*)
7364 -    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
7365 -    # Reject names that are not valid shell variable names.
7366 -    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
7367 -      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
7368 -   { (exit 1); exit 1; }; }
7369 -    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
7370 -    eval "$ac_envvar='$ac_optarg'"
7371 -    export $ac_envvar ;;
7372 -
7373 -  *)
7374 -    # FIXME: should be removed in autoconf 3.0.
7375 -    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
7376 -    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
7377 -      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
7378 -    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
7379 -    ;;
7380 -
7381 -  esac
7382 -done
7383 -
7384 -if test -n "$ac_prev"; then
7385 -  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
7386 -  { echo "$as_me: error: missing argument to $ac_option" >&2
7387 -   { (exit 1); exit 1; }; }
7388 -fi
7389 -
7390 -# Be sure to have absolute paths.
7391 -for ac_var in exec_prefix prefix
7392 -do
7393 -  eval ac_val=$`echo $ac_var`
7394 -  case $ac_val in
7395 -    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
7396 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
7397 -   { (exit 1); exit 1; }; };;
7398 -  esac
7399 -done
7400 -
7401 -# Be sure to have absolute paths.
7402 -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
7403 -              localstatedir libdir includedir oldincludedir infodir mandir
7404 -do
7405 -  eval ac_val=$`echo $ac_var`
7406 -  case $ac_val in
7407 -    [\\/$]* | ?:[\\/]* ) ;;
7408 -    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
7409 -   { (exit 1); exit 1; }; };;
7410 -  esac
7411 -done
7412 -
7413 -# There might be people who depend on the old broken behavior: `$host'
7414 -# used to hold the argument of --host etc.
7415 -# FIXME: To remove some day.
7416 -build=$build_alias
7417 -host=$host_alias
7418 -target=$target_alias
7419 -
7420 -# FIXME: To remove some day.
7421 -if test "x$host_alias" != x; then
7422 -  if test "x$build_alias" = x; then
7423 -    cross_compiling=maybe
7424 -    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
7425 -    If a cross compiler is detected then cross compile mode will be used." >&2
7426 -  elif test "x$build_alias" != "x$host_alias"; then
7427 -    cross_compiling=yes
7428 -  fi
7429 -fi
7430 -
7431 -ac_tool_prefix=
7432 -test -n "$host_alias" && ac_tool_prefix=$host_alias-
7433 -
7434 -test "$silent" = yes && exec 6>/dev/null
7435 -
7436 -
7437 -# Find the source files, if location was not specified.
7438 -if test -z "$srcdir"; then
7439 -  ac_srcdir_defaulted=yes
7440 -  # Try the directory containing this script, then its parent.
7441 -  ac_confdir=`(dirname "$0") 2>/dev/null ||
7442 -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
7443 -         X"$0" : 'X\(//\)[^/]' \| \
7444 -         X"$0" : 'X\(//\)$' \| \
7445 -         X"$0" : 'X\(/\)' \| \
7446 -         .     : '\(.\)' 2>/dev/null ||
7447 -echo X"$0" |
7448 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
7449 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
7450 -         /^X\(\/\/\)$/{ s//\1/; q; }
7451 -         /^X\(\/\).*/{ s//\1/; q; }
7452 -         s/.*/./; q'`
7453 -  srcdir=$ac_confdir
7454 -  if test ! -r $srcdir/$ac_unique_file; then
7455 -    srcdir=..
7456 -  fi
7457 -else
7458 -  ac_srcdir_defaulted=no
7459 -fi
7460 -if test ! -r $srcdir/$ac_unique_file; then
7461 -  if test "$ac_srcdir_defaulted" = yes; then
7462 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
7463 -   { (exit 1); exit 1; }; }
7464 -  else
7465 -    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
7466 -   { (exit 1); exit 1; }; }
7467 -  fi
7468 -fi
7469 -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
7470 -  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
7471 -   { (exit 1); exit 1; }; }
7472 -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
7473 -ac_env_build_alias_set=${build_alias+set}
7474 -ac_env_build_alias_value=$build_alias
7475 -ac_cv_env_build_alias_set=${build_alias+set}
7476 -ac_cv_env_build_alias_value=$build_alias
7477 -ac_env_host_alias_set=${host_alias+set}
7478 -ac_env_host_alias_value=$host_alias
7479 -ac_cv_env_host_alias_set=${host_alias+set}
7480 -ac_cv_env_host_alias_value=$host_alias
7481 -ac_env_target_alias_set=${target_alias+set}
7482 -ac_env_target_alias_value=$target_alias
7483 -ac_cv_env_target_alias_set=${target_alias+set}
7484 -ac_cv_env_target_alias_value=$target_alias
7485 -ac_env_CC_set=${CC+set}
7486 -ac_env_CC_value=$CC
7487 -ac_cv_env_CC_set=${CC+set}
7488 -ac_cv_env_CC_value=$CC
7489 -ac_env_CFLAGS_set=${CFLAGS+set}
7490 -ac_env_CFLAGS_value=$CFLAGS
7491 -ac_cv_env_CFLAGS_set=${CFLAGS+set}
7492 -ac_cv_env_CFLAGS_value=$CFLAGS
7493 -ac_env_LDFLAGS_set=${LDFLAGS+set}
7494 -ac_env_LDFLAGS_value=$LDFLAGS
7495 -ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
7496 -ac_cv_env_LDFLAGS_value=$LDFLAGS
7497 -ac_env_CPPFLAGS_set=${CPPFLAGS+set}
7498 -ac_env_CPPFLAGS_value=$CPPFLAGS
7499 -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
7500 -ac_cv_env_CPPFLAGS_value=$CPPFLAGS
7501 -ac_env_CPP_set=${CPP+set}
7502 -ac_env_CPP_value=$CPP
7503 -ac_cv_env_CPP_set=${CPP+set}
7504 -ac_cv_env_CPP_value=$CPP
7505 -
7506 -#
7507 -# Report the --help message.
7508 -#
7509 -if test "$ac_init_help" = "long"; then
7510 -  # Omit some internal or obsolete options to make the list less imposing.
7511 -  # This message is too long to be a string in the A/UX 3.1 sh.
7512 -  cat <<_ACEOF
7513 -\`configure' configures this package to adapt to many kinds of systems.
7514 -
7515 -Usage: $0 [OPTION]... [VAR=VALUE]...
7516 -
7517 -To assign environment variables (e.g., CC, CFLAGS...), specify them as
7518 -VAR=VALUE.  See below for descriptions of some of the useful variables.
7519 -
7520 -Defaults for the options are specified in brackets.
7521 -
7522 -Configuration:
7523 -  -h, --help              display this help and exit
7524 -      --help=short        display options specific to this package
7525 -      --help=recursive    display the short help of all the included packages
7526 -  -V, --version           display version information and exit
7527 -  -q, --quiet, --silent   do not print \`checking...' messages
7528 -      --cache-file=FILE   cache test results in FILE [disabled]
7529 -  -C, --config-cache      alias for \`--cache-file=config.cache'
7530 -  -n, --no-create         do not create output files
7531 -      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
7532 -
7533 -_ACEOF
7534 -
7535 -  cat <<_ACEOF
7536 -Installation directories:
7537 -  --prefix=PREFIX         install architecture-independent files in PREFIX
7538 -                          [$ac_default_prefix]
7539 -  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
7540 -                          [PREFIX]
7541 -
7542 -By default, \`make install' will install all the files in
7543 -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
7544 -an installation prefix other than \`$ac_default_prefix' using \`--prefix',
7545 -for instance \`--prefix=\$HOME'.
7546 -
7547 -For better control, use the options below.
7548 -
7549 -Fine tuning of the installation directories:
7550 -  --bindir=DIR           user executables [EPREFIX/bin]
7551 -  --sbindir=DIR          system admin executables [EPREFIX/sbin]
7552 -  --libexecdir=DIR       program executables [EPREFIX/libexec]
7553 -  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
7554 -  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
7555 -  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
7556 -  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
7557 -  --libdir=DIR           object code libraries [EPREFIX/lib]
7558 -  --includedir=DIR       C header files [PREFIX/include]
7559 -  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
7560 -  --infodir=DIR          info documentation [PREFIX/info]
7561 -  --mandir=DIR           man documentation [PREFIX/man]
7562 -_ACEOF
7563 -
7564 -  cat <<\_ACEOF
7565 -
7566 -Program names:
7567 -  --program-prefix=PREFIX            prepend PREFIX to installed program names
7568 -  --program-suffix=SUFFIX            append SUFFIX to installed program names
7569 -  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
7570 -
7571 -System types:
7572 -  --build=BUILD     configure for building on BUILD [guessed]
7573 -  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
7574 -  --target=TARGET   configure for building compilers for TARGET [HOST]
7575 -_ACEOF
7576 -fi
7577 -
7578 -if test -n "$ac_init_help"; then
7579 -
7580 -  cat <<\_ACEOF
7581 -
7582 -Optional Features:
7583 -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
7584 -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
7585 -  --enable-multilib       build many library versions (default)
7586 -  --enable-maintainer-mode enable make rules and dependencies not useful
7587 -                          (and sometimes confusing) to the casual installer
7588 -  --enable-shared=PKGS  build shared libraries default=yes
7589 -  --enable-static=PKGS  build static libraries default=yes
7590 -  --enable-fast-install=PKGS  optimize for fast installation default=yes
7591 -  --disable-dependency-tracking Speeds up one-time builds
7592 -  --enable-dependency-tracking  Do not reject slow dependency extractors
7593 -  --disable-libtool-lock  avoid locking (might break parallel builds)
7594 -  --enable-parallel-mark       parallelize marking and free list construction
7595 -  --enable-shared=PKGS  build shared libraries default=no
7596 -  --enable-full-debug  include full support for pointer backtracing etc.
7597 -
7598 -Optional Packages:
7599 -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
7600 -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
7601 -  --with-gnu-ld           assume the C compiler uses GNU ld default=no
7602 -  --with-pic              try to use only PIC/non-PIC objects default=use both
7603 -  --with-target-subdir=SUBDIR
7604 -                          configuring with a cross compiler
7605 -  --with-cross-host=HOST  configuring with a cross compiler
7606 -  --with-ecos             enable runtime eCos target support
7607 -
7608 -Some influential environment variables:
7609 -  CC          C compiler command
7610 -  CFLAGS      C compiler flags
7611 -  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
7612 -              nonstandard directory <lib dir>
7613 -  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
7614 -              headers in a nonstandard directory <include dir>
7615 -  CPP         C preprocessor
7616 -
7617 -Use these variables to override the choices made by `configure' or to help
7618 -it to find libraries and programs with nonstandard names/locations.
7619 -
7620 -_ACEOF
7621 -fi
7622 -
7623 -if test "$ac_init_help" = "recursive"; then
7624 -  # If there are subdirs, report their specific --help.
7625 -  ac_popdir=`pwd`
7626 -  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
7627 -    test -d $ac_dir || continue
7628 -    ac_builddir=.
7629 -
7630 -if test "$ac_dir" != .; then
7631 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
7632 -  # A "../" for each directory in $ac_dir_suffix.
7633 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
7634 -else
7635 -  ac_dir_suffix= ac_top_builddir=
7636 -fi
7637 -
7638 -case $srcdir in
7639 -  .)  # No --srcdir option.  We are building in place.
7640 -    ac_srcdir=.
7641 -    if test -z "$ac_top_builddir"; then
7642 -       ac_top_srcdir=.
7643 -    else
7644 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
7645 -    fi ;;
7646 -  [\\/]* | ?:[\\/]* )  # Absolute path.
7647 -    ac_srcdir=$srcdir$ac_dir_suffix;
7648 -    ac_top_srcdir=$srcdir ;;
7649 -  *) # Relative path.
7650 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
7651 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
7652 -esac
7653 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
7654 -# absolute.
7655 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
7656 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
7657 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
7658 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
7659 -
7660 -    cd $ac_dir
7661 -    # Check for guested configure; otherwise get Cygnus style configure.
7662 -    if test -f $ac_srcdir/configure.gnu; then
7663 -      echo
7664 -      $SHELL $ac_srcdir/configure.gnu  --help=recursive
7665 -    elif test -f $ac_srcdir/configure; then
7666 -      echo
7667 -      $SHELL $ac_srcdir/configure  --help=recursive
7668 -    elif test -f $ac_srcdir/configure.ac ||
7669 -           test -f $ac_srcdir/configure.in; then
7670 -      echo
7671 -      $ac_configure --help
7672 -    else
7673 -      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
7674 -    fi
7675 -    cd $ac_popdir
7676 -  done
7677 -fi
7678 -
7679 -test -n "$ac_init_help" && exit 0
7680 -if $ac_init_version; then
7681 -  cat <<\_ACEOF
7682 -
7683 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
7684 -Free Software Foundation, Inc.
7685 -This configure script is free software; the Free Software Foundation
7686 -gives unlimited permission to copy, distribute and modify it.
7687 -_ACEOF
7688 -  exit 0
7689 -fi
7690 -exec 5>config.log
7691 -cat >&5 <<_ACEOF
7692 -This file contains any messages produced by compilers while
7693 -running configure, to aid debugging if configure makes a mistake.
7694 -
7695 -It was created by $as_me, which was
7696 -generated by GNU Autoconf 2.54.  Invocation command line was
7697 -
7698 -  $ $0 $@
7699 -
7700 -_ACEOF
7701 -{
7702 -cat <<_ASUNAME
7703 -@%:@@%:@ --------- @%:@@%:@
7704 -@%:@@%:@ Platform. @%:@@%:@
7705 -@%:@@%:@ --------- @%:@@%:@
7706 -
7707 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
7708 -uname -m = `(uname -m) 2>/dev/null || echo unknown`
7709 -uname -r = `(uname -r) 2>/dev/null || echo unknown`
7710 -uname -s = `(uname -s) 2>/dev/null || echo unknown`
7711 -uname -v = `(uname -v) 2>/dev/null || echo unknown`
7712 -
7713 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
7714 -/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
7715 -
7716 -/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
7717 -/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
7718 -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
7719 -hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
7720 -/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
7721 -/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
7722 -/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
7723 -
7724 -_ASUNAME
7725 -
7726 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7727 -for as_dir in $PATH
7728 -do
7729 -  IFS=$as_save_IFS
7730 -  test -z "$as_dir" && as_dir=.
7731 -  echo "PATH: $as_dir"
7732 -done
7733 -
7734 -} >&5
7735 -
7736 -cat >&5 <<_ACEOF
7737 -
7738 -
7739 -@%:@@%:@ ----------- @%:@@%:@
7740 -@%:@@%:@ Core tests. @%:@@%:@
7741 -@%:@@%:@ ----------- @%:@@%:@
7742 -
7743 -_ACEOF
7744 -
7745 -
7746 -# Keep a trace of the command line.
7747 -# Strip out --no-create and --no-recursion so they do not pile up.
7748 -# Also quote any args containing shell meta-characters.
7749 -ac_configure_args=
7750 -ac_sep=
7751 -for ac_arg
7752 -do
7753 -  case $ac_arg in
7754 -  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
7755 -  | --no-cr | --no-c | -n ) continue ;;
7756 -  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
7757 -  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
7758 -    continue ;;
7759 -  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
7760 -    ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
7761 -  esac
7762 -  ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
7763 -  # Get rid of the leading space.
7764 -  ac_sep=" "
7765 -done
7766 -
7767 -# When interrupted or exit'd, cleanup temporary files, and complete
7768 -# config.log.  We remove comments because anyway the quotes in there
7769 -# would cause problems or look ugly.
7770 -# WARNING: Be sure not to use single quotes in there, as some shells,
7771 -# such as our DU 5.0 friend, will then `close' the trap.
7772 -trap 'exit_status=$?
7773 -  # Save into config.log some information that might help in debugging.
7774 -  {
7775 -    echo
7776 -
7777 -    cat <<\_ASBOX
7778 -@%:@@%:@ ---------------- @%:@@%:@
7779 -@%:@@%:@ Cache variables. @%:@@%:@
7780 -@%:@@%:@ ---------------- @%:@@%:@
7781 -_ASBOX
7782 -    echo
7783 -    # The following way of writing the cache mishandles newlines in values,
7784 -{
7785 -  (set) 2>&1 |
7786 -    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
7787 -    *ac_space=\ *)
7788 -      sed -n \
7789 -        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
7790 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
7791 -      ;;
7792 -    *)
7793 -      sed -n \
7794 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
7795 -      ;;
7796 -    esac;
7797 -}
7798 -    echo
7799 -
7800 -    cat <<\_ASBOX
7801 -@%:@@%:@ ----------------- @%:@@%:@
7802 -@%:@@%:@ Output variables. @%:@@%:@
7803 -@%:@@%:@ ----------------- @%:@@%:@
7804 -_ASBOX
7805 -    echo
7806 -    for ac_var in $ac_subst_vars
7807 -    do
7808 -      eval ac_val=$`echo $ac_var`
7809 -      echo "$ac_var='"'"'$ac_val'"'"'"
7810 -    done | sort
7811 -    echo
7812 -
7813 -    if test -n "$ac_subst_files"; then
7814 -      cat <<\_ASBOX
7815 -@%:@@%:@ ------------- @%:@@%:@
7816 -@%:@@%:@ Output files. @%:@@%:@
7817 -@%:@@%:@ ------------- @%:@@%:@
7818 -_ASBOX
7819 -      echo
7820 -      for ac_var in $ac_subst_files
7821 -      do
7822 -       eval ac_val=$`echo $ac_var`
7823 -        echo "$ac_var='"'"'$ac_val'"'"'"
7824 -      done | sort
7825 -      echo
7826 -    fi
7827 -
7828 -    if test -s confdefs.h; then
7829 -      cat <<\_ASBOX
7830 -@%:@@%:@ ----------- @%:@@%:@
7831 -@%:@@%:@ confdefs.h. @%:@@%:@
7832 -@%:@@%:@ ----------- @%:@@%:@
7833 -_ASBOX
7834 -      echo
7835 -      sed "/^$/d" confdefs.h | sort
7836 -      echo
7837 -    fi
7838 -    test "$ac_signal" != 0 &&
7839 -      echo "$as_me: caught signal $ac_signal"
7840 -    echo "$as_me: exit $exit_status"
7841 -  } >&5
7842 -  rm -f core core.* *.core &&
7843 -  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
7844 -    exit $exit_status
7845 -     ' 0
7846 -for ac_signal in 1 2 13 15; do
7847 -  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
7848 -done
7849 -ac_signal=0
7850 -
7851 -# confdefs.h avoids OS command line length limits that DEFS can exceed.
7852 -rm -rf conftest* confdefs.h
7853 -# AIX cpp loses on an empty file, so make sure it contains at least a newline.
7854 -echo >confdefs.h
7855 -
7856 -# Predefined preprocessor variables.
7857 -
7858 -cat >>confdefs.h <<_ACEOF
7859 -@%:@define PACKAGE_NAME "$PACKAGE_NAME"
7860 -_ACEOF
7861 -
7862 -
7863 -cat >>confdefs.h <<_ACEOF
7864 -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
7865 -_ACEOF
7866 -
7867 -
7868 -cat >>confdefs.h <<_ACEOF
7869 -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
7870 -_ACEOF
7871 -
7872 -
7873 -cat >>confdefs.h <<_ACEOF
7874 -@%:@define PACKAGE_STRING "$PACKAGE_STRING"
7875 -_ACEOF
7876 -
7877 -
7878 -cat >>confdefs.h <<_ACEOF
7879 -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
7880 -_ACEOF
7881 -
7882 -
7883 -# Let the site file select an alternate cache file if it wants to.
7884 -# Prefer explicitly selected file to automatically selected ones.
7885 -if test -z "$CONFIG_SITE"; then
7886 -  if test "x$prefix" != xNONE; then
7887 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
7888 -  else
7889 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
7890 -  fi
7891 -fi
7892 -for ac_site_file in $CONFIG_SITE; do
7893 -  if test -r "$ac_site_file"; then
7894 -    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
7895 -echo "$as_me: loading site script $ac_site_file" >&6;}
7896 -    sed 's/^/| /' "$ac_site_file" >&5
7897 -    . "$ac_site_file"
7898 -  fi
7899 -done
7900 -
7901 -if test -r "$cache_file"; then
7902 -  # Some versions of bash will fail to source /dev/null (special
7903 -  # files actually), so we avoid doing that.
7904 -  if test -f "$cache_file"; then
7905 -    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
7906 -echo "$as_me: loading cache $cache_file" >&6;}
7907 -    case $cache_file in
7908 -      [\\/]* | ?:[\\/]* ) . $cache_file;;
7909 -      *)                      . ./$cache_file;;
7910 -    esac
7911 -  fi
7912 -else
7913 -  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
7914 -echo "$as_me: creating cache $cache_file" >&6;}
7915 -  >$cache_file
7916 -fi
7917 -
7918 -# Check that the precious variables saved in the cache have kept the same
7919 -# value.
7920 -ac_cache_corrupted=false
7921 -for ac_var in `(set) 2>&1 |
7922 -               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
7923 -  eval ac_old_set=\$ac_cv_env_${ac_var}_set
7924 -  eval ac_new_set=\$ac_env_${ac_var}_set
7925 -  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
7926 -  eval ac_new_val="\$ac_env_${ac_var}_value"
7927 -  case $ac_old_set,$ac_new_set in
7928 -    set,)
7929 -      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
7930 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
7931 -      ac_cache_corrupted=: ;;
7932 -    ,set)
7933 -      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
7934 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
7935 -      ac_cache_corrupted=: ;;
7936 -    ,);;
7937 -    *)
7938 -      if test "x$ac_old_val" != "x$ac_new_val"; then
7939 -        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
7940 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
7941 -        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
7942 -echo "$as_me:   former value:  $ac_old_val" >&2;}
7943 -        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
7944 -echo "$as_me:   current value: $ac_new_val" >&2;}
7945 -        ac_cache_corrupted=:
7946 -      fi;;
7947 -  esac
7948 -  # Pass precious variables to config.status.
7949 -  if test "$ac_new_set" = set; then
7950 -    case $ac_new_val in
7951 -    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
7952 -      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
7953 -    *) ac_arg=$ac_var=$ac_new_val ;;
7954 -    esac
7955 -    case " $ac_configure_args " in
7956 -      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
7957 -      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
7958 -    esac
7959 -  fi
7960 -done
7961 -if $ac_cache_corrupted; then
7962 -  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
7963 -echo "$as_me: error: changes in the environment can compromise the build" >&2;}
7964 -  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
7965 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
7966 -   { (exit 1); exit 1; }; }
7967 -fi
7968 -
7969 -ac_ext=c
7970 -ac_cpp='$CPP $CPPFLAGS'
7971 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7972 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7973 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
7974 -
7975 -
7976 -
7977 -
7978 -
7979 -
7980 -
7981 -
7982 -
7983 -
7984 -
7985 -
7986 -
7987 -
7988 -
7989 -
7990 -
7991 -
7992 -
7993 -
7994 -# This works around the fact that libtool configuration may change LD
7995 -# for this particular configuration, but some shells, instead of
7996 -# keeping the changes in LD private, export them just because LD is
7997 -# exported.
7998 -ORIGINAL_LD_FOR_MULTILIBS=$LD
7999 -
8000 -ac_aux_dir=
8001 -for ac_dir in . $srcdir/.; do
8002 -  if test -f $ac_dir/install-sh; then
8003 -    ac_aux_dir=$ac_dir
8004 -    ac_install_sh="$ac_aux_dir/install-sh -c"
8005 -    break
8006 -  elif test -f $ac_dir/install.sh; then
8007 -    ac_aux_dir=$ac_dir
8008 -    ac_install_sh="$ac_aux_dir/install.sh -c"
8009 -    break
8010 -  elif test -f $ac_dir/shtool; then
8011 -    ac_aux_dir=$ac_dir
8012 -    ac_install_sh="$ac_aux_dir/shtool install -c"
8013 -    break
8014 -  fi
8015 -done
8016 -if test -z "$ac_aux_dir"; then
8017 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . $srcdir/." >&5
8018 -echo "$as_me: error: cannot find install-sh or install.sh in . $srcdir/." >&2;}
8019 -   { (exit 1); exit 1; }; }
8020 -fi
8021 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
8022 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
8023 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
8024 -
8025 -
8026 -# Make sure we can run config.sub.
8027 -$ac_config_sub sun4 >/dev/null 2>&1 ||
8028 -  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
8029 -echo "$as_me: error: cannot run $ac_config_sub" >&2;}
8030 -   { (exit 1); exit 1; }; }
8031 -
8032 -echo "$as_me:$LINENO: checking build system type" >&5
8033 -echo $ECHO_N "checking build system type... $ECHO_C" >&6
8034 -if test "${ac_cv_build+set}" = set; then
8035 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8036 -else
8037 -  ac_cv_build_alias=$build_alias
8038 -test -z "$ac_cv_build_alias" &&
8039 -  ac_cv_build_alias=`$ac_config_guess`
8040 -test -z "$ac_cv_build_alias" &&
8041 -  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
8042 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
8043 -   { (exit 1); exit 1; }; }
8044 -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
8045 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
8046 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
8047 -   { (exit 1); exit 1; }; }
8048 -
8049 -fi
8050 -echo "$as_me:$LINENO: result: $ac_cv_build" >&5
8051 -echo "${ECHO_T}$ac_cv_build" >&6
8052 -build=$ac_cv_build
8053 -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
8054 -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
8055 -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
8056 -
8057 -
8058 -echo "$as_me:$LINENO: checking host system type" >&5
8059 -echo $ECHO_N "checking host system type... $ECHO_C" >&6
8060 -if test "${ac_cv_host+set}" = set; then
8061 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8062 -else
8063 -  ac_cv_host_alias=$host_alias
8064 -test -z "$ac_cv_host_alias" &&
8065 -  ac_cv_host_alias=$ac_cv_build_alias
8066 -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
8067 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
8068 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
8069 -   { (exit 1); exit 1; }; }
8070 -
8071 -fi
8072 -echo "$as_me:$LINENO: result: $ac_cv_host" >&5
8073 -echo "${ECHO_T}$ac_cv_host" >&6
8074 -host=$ac_cv_host
8075 -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
8076 -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
8077 -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
8078 -
8079 -
8080 -am__api_version="1.6"
8081 -# Find a good install program.  We prefer a C program (faster),
8082 -# so one script is as good as another.  But avoid the broken or
8083 -# incompatible versions:
8084 -# SysV /etc/install, /usr/sbin/install
8085 -# SunOS /usr/etc/install
8086 -# IRIX /sbin/install
8087 -# AIX /bin/install
8088 -# AmigaOS /C/install, which installs bootblocks on floppy discs
8089 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
8090 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
8091 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
8092 -# ./install, which can be erroneously created by make from ./install.sh.
8093 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
8094 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
8095 -if test -z "$INSTALL"; then
8096 -if test "${ac_cv_path_install+set}" = set; then
8097 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8098 -else
8099 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8100 -for as_dir in $PATH
8101 -do
8102 -  IFS=$as_save_IFS
8103 -  test -z "$as_dir" && as_dir=.
8104 -  # Account for people who put trailing slashes in PATH elements.
8105 -case $as_dir/ in
8106 -  ./ | .// | /cC/* | \
8107 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
8108 -  /usr/ucb/* ) ;;
8109 -  *)
8110 -    # OSF1 and SCO ODT 3.0 have their own names for install.
8111 -    # Don't use installbsd from OSF since it installs stuff as root
8112 -    # by default.
8113 -    for ac_prog in ginstall scoinst install; do
8114 -      for ac_exec_ext in '' $ac_executable_extensions; do
8115 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
8116 -          if test $ac_prog = install &&
8117 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8118 -            # AIX install.  It has an incompatible calling convention.
8119 -            :
8120 -          elif test $ac_prog = install &&
8121 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8122 -            # program-specific install script used by HP pwplus--don't use.
8123 -            :
8124 -          else
8125 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
8126 -            break 3
8127 -          fi
8128 -        fi
8129 -      done
8130 -    done
8131 -    ;;
8132 -esac
8133 -done
8134 -
8135 -
8136 -fi
8137 -  if test "${ac_cv_path_install+set}" = set; then
8138 -    INSTALL=$ac_cv_path_install
8139 -  else
8140 -    # As a last resort, use the slow shell script.  We don't cache a
8141 -    # path for INSTALL within a source directory, because that will
8142 -    # break other packages using the cache if that directory is
8143 -    # removed, or if the path is relative.
8144 -    INSTALL=$ac_install_sh
8145 -  fi
8146 -fi
8147 -echo "$as_me:$LINENO: result: $INSTALL" >&5
8148 -echo "${ECHO_T}$INSTALL" >&6
8149 -
8150 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
8151 -# It thinks the first close brace ends the variable substitution.
8152 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
8153 -
8154 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
8155 -
8156 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
8157 -
8158 -echo "$as_me:$LINENO: checking whether build environment is sane" >&5
8159 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
8160 -# Just in case
8161 -sleep 1
8162 -echo timestamp > conftest.file
8163 -# Do `set' in a subshell so we don't clobber the current shell's
8164 -# arguments.  Must try -L first in case configure is actually a
8165 -# symlink; some systems play weird games with the mod time of symlinks
8166 -# (eg FreeBSD returns the mod time of the symlink's containing
8167 -# directory).
8168 -if (
8169 -   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
8170 -   if test "$*" = "X"; then
8171 -      # -L didn't work.
8172 -      set X `ls -t $srcdir/configure conftest.file`
8173 -   fi
8174 -   rm -f conftest.file
8175 -   if test "$*" != "X $srcdir/configure conftest.file" \
8176 -      && test "$*" != "X conftest.file $srcdir/configure"; then
8177 -
8178 -      # If neither matched, then we have a broken ls.  This can happen
8179 -      # if, for instance, CONFIG_SHELL is bash and it inherits a
8180 -      # broken ls alias from the environment.  This has actually
8181 -      # happened.  Such a system could not be considered "sane".
8182 -      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
8183 -alias in your environment" >&5
8184 -echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
8185 -alias in your environment" >&2;}
8186 -   { (exit 1); exit 1; }; }
8187 -   fi
8188 -
8189 -   test "$2" = conftest.file
8190 -   )
8191 -then
8192 -   # Ok.
8193 -   :
8194 -else
8195 -   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
8196 -Check your system clock" >&5
8197 -echo "$as_me: error: newly created file is older than distributed files!
8198 -Check your system clock" >&2;}
8199 -   { (exit 1); exit 1; }; }
8200 -fi
8201 -echo "$as_me:$LINENO: result: yes" >&5
8202 -echo "${ECHO_T}yes" >&6
8203 -test "$program_prefix" != NONE &&
8204 -  program_transform_name="s,^,$program_prefix,;$program_transform_name"
8205 -# Use a double $ so make ignores it.
8206 -test "$program_suffix" != NONE &&
8207 -  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
8208 -# Double any \ or $.  echo might interpret backslashes.
8209 -# By default was `s,x,x', remove it if useless.
8210 -cat <<\_ACEOF >conftest.sed
8211 -s/[\\$]/&&/g;s/;s,x,x,$//
8212 -_ACEOF
8213 -program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
8214 -rm conftest.sed
8215 -
8216 -
8217 -# expand $ac_aux_dir to an absolute path
8218 -am_aux_dir=`cd $ac_aux_dir && pwd`
8219 -
8220 -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
8221 -# Use eval to expand $SHELL
8222 -if eval "$MISSING --run true"; then
8223 -  am_missing_run="$MISSING --run "
8224 -else
8225 -  am_missing_run=
8226 -  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
8227 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
8228 -fi
8229 -
8230 -for ac_prog in gawk mawk nawk awk
8231 -do
8232 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
8233 -set dummy $ac_prog; ac_word=$2
8234 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8235 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8236 -if test "${ac_cv_prog_AWK+set}" = set; then
8237 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8238 -else
8239 -  if test -n "$AWK"; then
8240 -  ac_cv_prog_AWK="$AWK" # Let the user override the test.
8241 -else
8242 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8243 -for as_dir in $PATH
8244 -do
8245 -  IFS=$as_save_IFS
8246 -  test -z "$as_dir" && as_dir=.
8247 -  for ac_exec_ext in '' $ac_executable_extensions; do
8248 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8249 -    ac_cv_prog_AWK="$ac_prog"
8250 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8251 -    break 2
8252 -  fi
8253 -done
8254 -done
8255 -
8256 -fi
8257 -fi
8258 -AWK=$ac_cv_prog_AWK
8259 -if test -n "$AWK"; then
8260 -  echo "$as_me:$LINENO: result: $AWK" >&5
8261 -echo "${ECHO_T}$AWK" >&6
8262 -else
8263 -  echo "$as_me:$LINENO: result: no" >&5
8264 -echo "${ECHO_T}no" >&6
8265 -fi
8266 -
8267 -  test -n "$AWK" && break
8268 -done
8269 -
8270 -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
8271 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
8272 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
8273 -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
8274 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8275 -else
8276 -  cat >conftest.make <<\_ACEOF
8277 -all:
8278 -       @echo 'ac_maketemp="${MAKE}"'
8279 -_ACEOF
8280 -# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
8281 -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
8282 -if test -n "$ac_maketemp"; then
8283 -  eval ac_cv_prog_make_${ac_make}_set=yes
8284 -else
8285 -  eval ac_cv_prog_make_${ac_make}_set=no
8286 -fi
8287 -rm -f conftest.make
8288 -fi
8289 -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
8290 -  echo "$as_me:$LINENO: result: yes" >&5
8291 -echo "${ECHO_T}yes" >&6
8292 -  SET_MAKE=
8293 -else
8294 -  echo "$as_me:$LINENO: result: no" >&5
8295 -echo "${ECHO_T}no" >&6
8296 -  SET_MAKE="MAKE=${MAKE-make}"
8297 -fi
8298 -
8299 -
8300 -# Check whether --enable-multilib or --disable-multilib was given.
8301 -if test "${enable_multilib+set}" = set; then
8302 -  enableval="$enable_multilib"
8303 -  case "${enableval}" in
8304 -  yes) multilib=yes ;;
8305 -  no)  multilib=no ;;
8306 -  *)   { { echo "$as_me:$LINENO: error: bad value ${enableval} for multilib option" >&5
8307 -echo "$as_me: error: bad value ${enableval} for multilib option" >&2;}
8308 -   { (exit 1); exit 1; }; } ;;
8309 - esac
8310 -else
8311 -  multilib=yes
8312 -fi; 
8313 -
8314 -if test "${srcdir}" = "."; then
8315 -  if test "${with_target_subdir}" != "." -a -n "${with_target_subdir}"; then
8316 -    gc_basedir="${srcdir}/${with_multisrctop}../."
8317 -  else
8318 -    gc_basedir="${srcdir}/${with_multisrctop}."
8319 -  fi
8320 -else
8321 -  gc_basedir="${srcdir}/."
8322 -fi
8323 -
8324 -ac_aux_dir=
8325 -for ac_dir in $gc_basedir/.. $srcdir/$gc_basedir/..; do
8326 -  if test -f $ac_dir/install-sh; then
8327 -    ac_aux_dir=$ac_dir
8328 -    ac_install_sh="$ac_aux_dir/install-sh -c"
8329 -    break
8330 -  elif test -f $ac_dir/install.sh; then
8331 -    ac_aux_dir=$ac_dir
8332 -    ac_install_sh="$ac_aux_dir/install.sh -c"
8333 -    break
8334 -  elif test -f $ac_dir/shtool; then
8335 -    ac_aux_dir=$ac_dir
8336 -    ac_install_sh="$ac_aux_dir/shtool install -c"
8337 -    break
8338 -  fi
8339 -done
8340 -if test -z "$ac_aux_dir"; then
8341 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&5
8342 -echo "$as_me: error: cannot find install-sh or install.sh in $gc_basedir/.. $srcdir/$gc_basedir/.." >&2;}
8343 -   { (exit 1); exit 1; }; }
8344 -fi
8345 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
8346 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
8347 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
8348 -
8349 -if :; then :; else
8350 -  # This overrides the previous occurrence for automake, but not for
8351 -  # autoconf, which is exactly what we want.
8352 -  ac_aux_dir=
8353 -for ac_dir in .. $srcdir/..; do
8354 -  if test -f $ac_dir/install-sh; then
8355 -    ac_aux_dir=$ac_dir
8356 -    ac_install_sh="$ac_aux_dir/install-sh -c"
8357 -    break
8358 -  elif test -f $ac_dir/install.sh; then
8359 -    ac_aux_dir=$ac_dir
8360 -    ac_install_sh="$ac_aux_dir/install.sh -c"
8361 -    break
8362 -  elif test -f $ac_dir/shtool; then
8363 -    ac_aux_dir=$ac_dir
8364 -    ac_install_sh="$ac_aux_dir/shtool install -c"
8365 -    break
8366 -  fi
8367 -done
8368 -if test -z "$ac_aux_dir"; then
8369 -  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in .. $srcdir/.." >&5
8370 -echo "$as_me: error: cannot find install-sh or install.sh in .. $srcdir/.." >&2;}
8371 -   { (exit 1); exit 1; }; }
8372 -fi
8373 -ac_config_guess="$SHELL $ac_aux_dir/config.guess"
8374 -ac_config_sub="$SHELL $ac_aux_dir/config.sub"
8375 -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
8376 -
8377 -fi
8378 -
8379 -echo "$as_me:$LINENO: checking target system type" >&5
8380 -echo $ECHO_N "checking target system type... $ECHO_C" >&6
8381 -if test "${ac_cv_target+set}" = set; then
8382 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8383 -else
8384 -  ac_cv_target_alias=$target_alias
8385 -test "x$ac_cv_target_alias" = "x" &&
8386 -  ac_cv_target_alias=$ac_cv_host_alias
8387 -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
8388 -  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
8389 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
8390 -   { (exit 1); exit 1; }; }
8391 -
8392 -fi
8393 -echo "$as_me:$LINENO: result: $ac_cv_target" >&5
8394 -echo "${ECHO_T}$ac_cv_target" >&6
8395 -target=$ac_cv_target
8396 -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
8397 -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
8398 -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
8399 -
8400 -
8401 -# The aliases save the names the user supplied, while $host etc.
8402 -# will get canonicalized.
8403 -test -n "$target_alias" &&
8404 -  test "$program_prefix$program_suffix$program_transform_name" = \
8405 -    NONENONEs,x,x, &&
8406 -  program_prefix=${target_alias}-
8407 -
8408 -# This works around an automake problem.
8409 -mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
8410 -
8411 -
8412 - # test to see if srcdir already configured
8413 -if test "`cd $srcdir && pwd`" != "`pwd`" &&
8414 -   test -f $srcdir/config.status; then
8415 -  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
8416 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
8417 -   { (exit 1); exit 1; }; }
8418 -fi
8419 -
8420 -# Define the identity of the package.
8421 - PACKAGE=gc
8422 - VERSION=6.1a1
8423 -
8424 -
8425 -# Some tools Automake needs.
8426 -
8427 -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
8428 -
8429 -
8430 -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
8431 -
8432 -
8433 -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
8434 -
8435 -
8436 -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
8437 -
8438 -
8439 -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
8440 -
8441 -
8442 -AMTAR=${AMTAR-"${am_missing_run}tar"}
8443 -
8444 -install_sh=${install_sh-"$am_aux_dir/install-sh"}
8445 -
8446 -# Installed binaries are usually stripped using `strip' when the user
8447 -# run `make install-strip'.  However `strip' might not be the right
8448 -# tool to use in cross-compilation environments, therefore Automake
8449 -# will honor the `STRIP' environment variable to overrule this program.
8450 -if test "$cross_compiling" != no; then
8451 -  if test -n "$ac_tool_prefix"; then
8452 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
8453 -set dummy ${ac_tool_prefix}strip; ac_word=$2
8454 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8455 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8456 -if test "${ac_cv_prog_STRIP+set}" = set; then
8457 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8458 -else
8459 -  if test -n "$STRIP"; then
8460 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
8461 -else
8462 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8463 -for as_dir in $PATH
8464 -do
8465 -  IFS=$as_save_IFS
8466 -  test -z "$as_dir" && as_dir=.
8467 -  for ac_exec_ext in '' $ac_executable_extensions; do
8468 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8469 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
8470 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8471 -    break 2
8472 -  fi
8473 -done
8474 -done
8475 -
8476 -fi
8477 -fi
8478 -STRIP=$ac_cv_prog_STRIP
8479 -if test -n "$STRIP"; then
8480 -  echo "$as_me:$LINENO: result: $STRIP" >&5
8481 -echo "${ECHO_T}$STRIP" >&6
8482 -else
8483 -  echo "$as_me:$LINENO: result: no" >&5
8484 -echo "${ECHO_T}no" >&6
8485 -fi
8486 -
8487 -fi
8488 -if test -z "$ac_cv_prog_STRIP"; then
8489 -  ac_ct_STRIP=$STRIP
8490 -  # Extract the first word of "strip", so it can be a program name with args.
8491 -set dummy strip; ac_word=$2
8492 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8493 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8494 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
8495 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8496 -else
8497 -  if test -n "$ac_ct_STRIP"; then
8498 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
8499 -else
8500 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8501 -for as_dir in $PATH
8502 -do
8503 -  IFS=$as_save_IFS
8504 -  test -z "$as_dir" && as_dir=.
8505 -  for ac_exec_ext in '' $ac_executable_extensions; do
8506 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8507 -    ac_cv_prog_ac_ct_STRIP="strip"
8508 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8509 -    break 2
8510 -  fi
8511 -done
8512 -done
8513 -
8514 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
8515 -fi
8516 -fi
8517 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
8518 -if test -n "$ac_ct_STRIP"; then
8519 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
8520 -echo "${ECHO_T}$ac_ct_STRIP" >&6
8521 -else
8522 -  echo "$as_me:$LINENO: result: no" >&5
8523 -echo "${ECHO_T}no" >&6
8524 -fi
8525 -
8526 -  STRIP=$ac_ct_STRIP
8527 -else
8528 -  STRIP="$ac_cv_prog_STRIP"
8529 -fi
8530 -
8531 -fi
8532 -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
8533 -
8534 -# We need awk for the "check" target.  The system "awk" is bad on
8535 -# some platforms.
8536 -
8537 -
8538 -
8539 -
8540 -# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
8541 -# run it explicitly here, it will be run implicitly before
8542 -# NEWLIB_CONFIGURE, which doesn't work because that means that it will
8543 -# be run before AC_CANONICAL_HOST.
8544 -
8545 -
8546 -if test -n "$ac_tool_prefix"; then
8547 -  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
8548 -set dummy ${ac_tool_prefix}as; ac_word=$2
8549 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8550 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8551 -if test "${ac_cv_prog_AS+set}" = set; then
8552 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8553 -else
8554 -  if test -n "$AS"; then
8555 -  ac_cv_prog_AS="$AS" # Let the user override the test.
8556 -else
8557 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8558 -for as_dir in $PATH
8559 -do
8560 -  IFS=$as_save_IFS
8561 -  test -z "$as_dir" && as_dir=.
8562 -  for ac_exec_ext in '' $ac_executable_extensions; do
8563 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8564 -    ac_cv_prog_AS="${ac_tool_prefix}as"
8565 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8566 -    break 2
8567 -  fi
8568 -done
8569 -done
8570 -
8571 -fi
8572 -fi
8573 -AS=$ac_cv_prog_AS
8574 -if test -n "$AS"; then
8575 -  echo "$as_me:$LINENO: result: $AS" >&5
8576 -echo "${ECHO_T}$AS" >&6
8577 -else
8578 -  echo "$as_me:$LINENO: result: no" >&5
8579 -echo "${ECHO_T}no" >&6
8580 -fi
8581 -
8582 -fi
8583 -if test -z "$ac_cv_prog_AS"; then
8584 -  ac_ct_AS=$AS
8585 -  # Extract the first word of "as", so it can be a program name with args.
8586 -set dummy as; ac_word=$2
8587 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8588 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8589 -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
8590 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8591 -else
8592 -  if test -n "$ac_ct_AS"; then
8593 -  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
8594 -else
8595 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8596 -for as_dir in $PATH
8597 -do
8598 -  IFS=$as_save_IFS
8599 -  test -z "$as_dir" && as_dir=.
8600 -  for ac_exec_ext in '' $ac_executable_extensions; do
8601 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8602 -    ac_cv_prog_ac_ct_AS="as"
8603 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8604 -    break 2
8605 -  fi
8606 -done
8607 -done
8608 -
8609 -fi
8610 -fi
8611 -ac_ct_AS=$ac_cv_prog_ac_ct_AS
8612 -if test -n "$ac_ct_AS"; then
8613 -  echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
8614 -echo "${ECHO_T}$ac_ct_AS" >&6
8615 -else
8616 -  echo "$as_me:$LINENO: result: no" >&5
8617 -echo "${ECHO_T}no" >&6
8618 -fi
8619 -
8620 -  AS=$ac_ct_AS
8621 -else
8622 -  AS="$ac_cv_prog_AS"
8623 -fi
8624 -
8625 -if test -n "$ac_tool_prefix"; then
8626 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
8627 -set dummy ${ac_tool_prefix}ar; ac_word=$2
8628 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8629 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8630 -if test "${ac_cv_prog_AR+set}" = set; then
8631 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8632 -else
8633 -  if test -n "$AR"; then
8634 -  ac_cv_prog_AR="$AR" # Let the user override the test.
8635 -else
8636 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8637 -for as_dir in $PATH
8638 -do
8639 -  IFS=$as_save_IFS
8640 -  test -z "$as_dir" && as_dir=.
8641 -  for ac_exec_ext in '' $ac_executable_extensions; do
8642 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8643 -    ac_cv_prog_AR="${ac_tool_prefix}ar"
8644 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8645 -    break 2
8646 -  fi
8647 -done
8648 -done
8649 -
8650 -fi
8651 -fi
8652 -AR=$ac_cv_prog_AR
8653 -if test -n "$AR"; then
8654 -  echo "$as_me:$LINENO: result: $AR" >&5
8655 -echo "${ECHO_T}$AR" >&6
8656 -else
8657 -  echo "$as_me:$LINENO: result: no" >&5
8658 -echo "${ECHO_T}no" >&6
8659 -fi
8660 -
8661 -fi
8662 -if test -z "$ac_cv_prog_AR"; then
8663 -  ac_ct_AR=$AR
8664 -  # Extract the first word of "ar", so it can be a program name with args.
8665 -set dummy ar; ac_word=$2
8666 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8667 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8668 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
8669 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8670 -else
8671 -  if test -n "$ac_ct_AR"; then
8672 -  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
8673 -else
8674 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8675 -for as_dir in $PATH
8676 -do
8677 -  IFS=$as_save_IFS
8678 -  test -z "$as_dir" && as_dir=.
8679 -  for ac_exec_ext in '' $ac_executable_extensions; do
8680 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8681 -    ac_cv_prog_ac_ct_AR="ar"
8682 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8683 -    break 2
8684 -  fi
8685 -done
8686 -done
8687 -
8688 -fi
8689 -fi
8690 -ac_ct_AR=$ac_cv_prog_ac_ct_AR
8691 -if test -n "$ac_ct_AR"; then
8692 -  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
8693 -echo "${ECHO_T}$ac_ct_AR" >&6
8694 -else
8695 -  echo "$as_me:$LINENO: result: no" >&5
8696 -echo "${ECHO_T}no" >&6
8697 -fi
8698 -
8699 -  AR=$ac_ct_AR
8700 -else
8701 -  AR="$ac_cv_prog_AR"
8702 -fi
8703 -
8704 -if test -n "$ac_tool_prefix"; then
8705 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
8706 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
8707 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8708 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8709 -if test "${ac_cv_prog_RANLIB+set}" = set; then
8710 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8711 -else
8712 -  if test -n "$RANLIB"; then
8713 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
8714 -else
8715 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8716 -for as_dir in $PATH
8717 -do
8718 -  IFS=$as_save_IFS
8719 -  test -z "$as_dir" && as_dir=.
8720 -  for ac_exec_ext in '' $ac_executable_extensions; do
8721 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8722 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
8723 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8724 -    break 2
8725 -  fi
8726 -done
8727 -done
8728 -
8729 -fi
8730 -fi
8731 -RANLIB=$ac_cv_prog_RANLIB
8732 -if test -n "$RANLIB"; then
8733 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
8734 -echo "${ECHO_T}$RANLIB" >&6
8735 -else
8736 -  echo "$as_me:$LINENO: result: no" >&5
8737 -echo "${ECHO_T}no" >&6
8738 -fi
8739 -
8740 -fi
8741 -if test -z "$ac_cv_prog_RANLIB"; then
8742 -  ac_ct_RANLIB=$RANLIB
8743 -  # Extract the first word of "ranlib", so it can be a program name with args.
8744 -set dummy ranlib; ac_word=$2
8745 -echo "$as_me:$LINENO: checking for $ac_word" >&5
8746 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
8747 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
8748 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8749 -else
8750 -  if test -n "$ac_ct_RANLIB"; then
8751 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
8752 -else
8753 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8754 -for as_dir in $PATH
8755 -do
8756 -  IFS=$as_save_IFS
8757 -  test -z "$as_dir" && as_dir=.
8758 -  for ac_exec_ext in '' $ac_executable_extensions; do
8759 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
8760 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
8761 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
8762 -    break 2
8763 -  fi
8764 -done
8765 -done
8766 -
8767 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
8768 -fi
8769 -fi
8770 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
8771 -if test -n "$ac_ct_RANLIB"; then
8772 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
8773 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
8774 -else
8775 -  echo "$as_me:$LINENO: result: no" >&5
8776 -echo "${ECHO_T}no" >&6
8777 -fi
8778 -
8779 -  RANLIB=$ac_ct_RANLIB
8780 -else
8781 -  RANLIB="$ac_cv_prog_RANLIB"
8782 -fi
8783 -
8784 -
8785 -# Find a good install program.  We prefer a C program (faster),
8786 -# so one script is as good as another.  But avoid the broken or
8787 -# incompatible versions:
8788 -# SysV /etc/install, /usr/sbin/install
8789 -# SunOS /usr/etc/install
8790 -# IRIX /sbin/install
8791 -# AIX /bin/install
8792 -# AmigaOS /C/install, which installs bootblocks on floppy discs
8793 -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
8794 -# AFS /usr/afsws/bin/install, which mishandles nonexistent args
8795 -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
8796 -# ./install, which can be erroneously created by make from ./install.sh.
8797 -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
8798 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
8799 -if test -z "$INSTALL"; then
8800 -if test "${ac_cv_path_install+set}" = set; then
8801 -  echo $ECHO_N "(cached) $ECHO_C" >&6
8802 -else
8803 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8804 -for as_dir in $PATH
8805 -do
8806 -  IFS=$as_save_IFS
8807 -  test -z "$as_dir" && as_dir=.
8808 -  # Account for people who put trailing slashes in PATH elements.
8809 -case $as_dir/ in
8810 -  ./ | .// | /cC/* | \
8811 -  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
8812 -  /usr/ucb/* ) ;;
8813 -  *)
8814 -    # OSF1 and SCO ODT 3.0 have their own names for install.
8815 -    # Don't use installbsd from OSF since it installs stuff as root
8816 -    # by default.
8817 -    for ac_prog in ginstall scoinst install; do
8818 -      for ac_exec_ext in '' $ac_executable_extensions; do
8819 -        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
8820 -          if test $ac_prog = install &&
8821 -            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8822 -            # AIX install.  It has an incompatible calling convention.
8823 -            :
8824 -          elif test $ac_prog = install &&
8825 -            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
8826 -            # program-specific install script used by HP pwplus--don't use.
8827 -            :
8828 -          else
8829 -            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
8830 -            break 3
8831 -          fi
8832 -        fi
8833 -      done
8834 -    done
8835 -    ;;
8836 -esac
8837 -done
8838 -
8839 -
8840 -fi
8841 -  if test "${ac_cv_path_install+set}" = set; then
8842 -    INSTALL=$ac_cv_path_install
8843 -  else
8844 -    # As a last resort, use the slow shell script.  We don't cache a
8845 -    # path for INSTALL within a source directory, because that will
8846 -    # break other packages using the cache if that directory is
8847 -    # removed, or if the path is relative.
8848 -    INSTALL=$ac_install_sh
8849 -  fi
8850 -fi
8851 -echo "$as_me:$LINENO: result: $INSTALL" >&5
8852 -echo "${ECHO_T}$INSTALL" >&6
8853 -
8854 -# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
8855 -# It thinks the first close brace ends the variable substitution.
8856 -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
8857 -
8858 -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
8859 -
8860 -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
8861 -
8862 -
8863 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
8864 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
8865 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
8866 -if test "${enable_maintainer_mode+set}" = set; then
8867 -  enableval="$enable_maintainer_mode"
8868 -  USE_MAINTAINER_MODE=$enableval
8869 -else
8870 -  USE_MAINTAINER_MODE=no
8871 -fi; 
8872 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
8873 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
8874 -  
8875 -
8876 -if test $USE_MAINTAINER_MODE = yes; then
8877 -  MAINTAINER_MODE_TRUE=
8878 -  MAINTAINER_MODE_FALSE='#'
8879 -else
8880 -  MAINTAINER_MODE_TRUE='#'
8881 -  MAINTAINER_MODE_FALSE=
8882 -fi
8883 -
8884 -  MAINT=$MAINTAINER_MODE_TRUE
8885 -  
8886 -
8887 -
8888 -# We need AC_EXEEXT to keep automake happy in cygnus mode.  However,
8889 -# at least currently, we never actually build a program, so we never
8890 -# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
8891 -# fails, because we are probably configuring with a cross compiler
8892 -# which can't create executables.  So we include AC_EXEEXT to keep
8893 -# automake happy, but we don't execute it, since we don't care about
8894 -# the result.
8895 -if false; then
8896 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
8897 -  # to nothing, so nothing would remain between `then' and `fi' if it
8898 -  # were not for the `:' below.
8899 -  :
8900 -  
8901 -fi
8902 -
8903 -. ${srcdir}/configure.host
8904 -
8905 -case ${gc_basedir} in
8906 -/* | A-Za-z:/\\*) gc_flagbasedir=${gc_basedir} ;;
8907 -*) gc_flagbasedir='$(top_builddir)/'${gc_basedir} ;;
8908 -esac
8909 -
8910 -gc_cflags="${gc_cflags} -I"'$(top_builddir)'"/./targ-include -I${gc_flagbasedir}/libc/include"
8911 -case "${host}" in
8912 -  *-*-cygwin32*)
8913 -    gc_cflags="${gc_cflags} -I${gc_flagbasedir}/../winsup/include"
8914 -    ;;
8915 -esac
8916 -
8917 -
8918 -GC_CFLAGS=${gc_cflags}
8919 -
8920 -
8921 -
8922 -# Check whether --enable-shared or --disable-shared was given.
8923 -if test "${enable_shared+set}" = set; then
8924 -  enableval="$enable_shared"
8925 -  p=${PACKAGE-default}
8926 -case $enableval in
8927 -yes) enable_shared=yes ;;
8928 -no) enable_shared=no ;;
8929 -*)
8930 -  enable_shared=no
8931 -  # Look at the argument we got.  We use all the common list separators.
8932 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8933 -  for pkg in $enableval; do
8934 -    if test "X$pkg" = "X$p"; then
8935 -      enable_shared=yes
8936 -    fi
8937 -  done
8938 -  IFS="$ac_save_ifs"
8939 -  ;;
8940 -esac
8941 -else
8942 -  enable_shared=yes
8943 -fi; 
8944 -# Check whether --enable-static or --disable-static was given.
8945 -if test "${enable_static+set}" = set; then
8946 -  enableval="$enable_static"
8947 -  p=${PACKAGE-default}
8948 -case $enableval in
8949 -yes) enable_static=yes ;;
8950 -no) enable_static=no ;;
8951 -*)
8952 -  enable_static=no
8953 -  # Look at the argument we got.  We use all the common list separators.
8954 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8955 -  for pkg in $enableval; do
8956 -    if test "X$pkg" = "X$p"; then
8957 -      enable_static=yes
8958 -    fi
8959 -  done
8960 -  IFS="$ac_save_ifs"
8961 -  ;;
8962 -esac
8963 -else
8964 -  enable_static=yes
8965 -fi; 
8966 -# Check whether --enable-fast-install or --disable-fast-install was given.
8967 -if test "${enable_fast_install+set}" = set; then
8968 -  enableval="$enable_fast_install"
8969 -  p=${PACKAGE-default}
8970 -case $enableval in
8971 -yes) enable_fast_install=yes ;;
8972 -no) enable_fast_install=no ;;
8973 -*)
8974 -  enable_fast_install=no
8975 -  # Look at the argument we got.  We use all the common list separators.
8976 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
8977 -  for pkg in $enableval; do
8978 -    if test "X$pkg" = "X$p"; then
8979 -      enable_fast_install=yes
8980 -    fi
8981 -  done
8982 -  IFS="$ac_save_ifs"
8983 -  ;;
8984 -esac
8985 -else
8986 -  enable_fast_install=yes
8987 -fi; 
8988 -rm -f .deps 2>/dev/null
8989 -mkdir .deps 2>/dev/null
8990 -if test -d .deps; then
8991 -  DEPDIR=.deps
8992 -else
8993 -  # MS-DOS does not allow filenames that begin with a dot.
8994 -  DEPDIR=_deps
8995 -fi
8996 -rmdir .deps 2>/dev/null
8997 -
8998 -
8999 -          ac_config_commands="$ac_config_commands depfiles"
9000 -
9001 -
9002 -am_make=${MAKE-make}
9003 -cat > confinc << 'END'
9004 -doit:
9005 -       @echo done
9006 -END
9007 -# If we don't find an include directive, just comment out the code.
9008 -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
9009 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
9010 -am__include="#"
9011 -am__quote=
9012 -_am_result=none
9013 -# First try GNU make style include.
9014 -echo "include confinc" > confmf
9015 -# We grep out `Entering directory' and `Leaving directory'
9016 -# messages which can occur if `w' ends up in MAKEFLAGS.
9017 -# In particular we don't look at `^make:' because GNU make might
9018 -# be invoked under some other name (usually "gmake"), in which
9019 -# case it prints its new name instead of `make'.
9020 -if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
9021 -   am__include=include
9022 -   am__quote=
9023 -   _am_result=GNU
9024 -fi
9025 -# Now try BSD make style include.
9026 -if test "$am__include" = "#"; then
9027 -   echo '.include "confinc"' > confmf
9028 -   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
9029 -      am__include=.include
9030 -      am__quote="\""
9031 -      _am_result=BSD
9032 -   fi
9033 -fi
9034 -
9035 -
9036 -echo "$as_me:$LINENO: result: $_am_result" >&5
9037 -echo "${ECHO_T}$_am_result" >&6
9038 -rm -f confinc confmf
9039 -
9040 -# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
9041 -if test "${enable_dependency_tracking+set}" = set; then
9042 -  enableval="$enable_dependency_tracking"
9043 -  
9044 -fi; 
9045 -if test "x$enable_dependency_tracking" != xno; then
9046 -  am_depcomp="$ac_aux_dir/depcomp"
9047 -  AMDEPBACKSLASH='\'
9048 -fi
9049 -
9050 -
9051 -if test "x$enable_dependency_tracking" != xno; then
9052 -  AMDEP_TRUE=
9053 -  AMDEP_FALSE='#'
9054 -else
9055 -  AMDEP_TRUE='#'
9056 -  AMDEP_FALSE=
9057 -fi
9058 -
9059 -
9060 -
9061 -ac_ext=c
9062 -ac_cpp='$CPP $CPPFLAGS'
9063 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
9064 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
9065 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
9066 -if test -n "$ac_tool_prefix"; then
9067 -  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
9068 -set dummy ${ac_tool_prefix}gcc; ac_word=$2
9069 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9070 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9071 -if test "${ac_cv_prog_CC+set}" = set; then
9072 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9073 -else
9074 -  if test -n "$CC"; then
9075 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9076 -else
9077 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9078 -for as_dir in $PATH
9079 -do
9080 -  IFS=$as_save_IFS
9081 -  test -z "$as_dir" && as_dir=.
9082 -  for ac_exec_ext in '' $ac_executable_extensions; do
9083 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9084 -    ac_cv_prog_CC="${ac_tool_prefix}gcc"
9085 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9086 -    break 2
9087 -  fi
9088 -done
9089 -done
9090 -
9091 -fi
9092 -fi
9093 -CC=$ac_cv_prog_CC
9094 -if test -n "$CC"; then
9095 -  echo "$as_me:$LINENO: result: $CC" >&5
9096 -echo "${ECHO_T}$CC" >&6
9097 -else
9098 -  echo "$as_me:$LINENO: result: no" >&5
9099 -echo "${ECHO_T}no" >&6
9100 -fi
9101 -
9102 -fi
9103 -if test -z "$ac_cv_prog_CC"; then
9104 -  ac_ct_CC=$CC
9105 -  # Extract the first word of "gcc", so it can be a program name with args.
9106 -set dummy gcc; 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_ac_ct_CC+set}" = set; then
9110 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9111 -else
9112 -  if test -n "$ac_ct_CC"; then
9113 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
9114 -else
9115 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9116 -for as_dir in $PATH
9117 -do
9118 -  IFS=$as_save_IFS
9119 -  test -z "$as_dir" && as_dir=.
9120 -  for ac_exec_ext in '' $ac_executable_extensions; do
9121 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9122 -    ac_cv_prog_ac_ct_CC="gcc"
9123 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9124 -    break 2
9125 -  fi
9126 -done
9127 -done
9128 -
9129 -fi
9130 -fi
9131 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
9132 -if test -n "$ac_ct_CC"; then
9133 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
9134 -echo "${ECHO_T}$ac_ct_CC" >&6
9135 -else
9136 -  echo "$as_me:$LINENO: result: no" >&5
9137 -echo "${ECHO_T}no" >&6
9138 -fi
9139 -
9140 -  CC=$ac_ct_CC
9141 -else
9142 -  CC="$ac_cv_prog_CC"
9143 -fi
9144 -
9145 -if test -z "$CC"; then
9146 -  if test -n "$ac_tool_prefix"; then
9147 -  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
9148 -set dummy ${ac_tool_prefix}cc; ac_word=$2
9149 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9150 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9151 -if test "${ac_cv_prog_CC+set}" = set; then
9152 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9153 -else
9154 -  if test -n "$CC"; then
9155 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9156 -else
9157 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9158 -for as_dir in $PATH
9159 -do
9160 -  IFS=$as_save_IFS
9161 -  test -z "$as_dir" && as_dir=.
9162 -  for ac_exec_ext in '' $ac_executable_extensions; do
9163 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9164 -    ac_cv_prog_CC="${ac_tool_prefix}cc"
9165 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9166 -    break 2
9167 -  fi
9168 -done
9169 -done
9170 -
9171 -fi
9172 -fi
9173 -CC=$ac_cv_prog_CC
9174 -if test -n "$CC"; then
9175 -  echo "$as_me:$LINENO: result: $CC" >&5
9176 -echo "${ECHO_T}$CC" >&6
9177 -else
9178 -  echo "$as_me:$LINENO: result: no" >&5
9179 -echo "${ECHO_T}no" >&6
9180 -fi
9181 -
9182 -fi
9183 -if test -z "$ac_cv_prog_CC"; then
9184 -  ac_ct_CC=$CC
9185 -  # Extract the first word of "cc", so it can be a program name with args.
9186 -set dummy cc; ac_word=$2
9187 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9188 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9189 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
9190 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9191 -else
9192 -  if test -n "$ac_ct_CC"; then
9193 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
9194 -else
9195 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9196 -for as_dir in $PATH
9197 -do
9198 -  IFS=$as_save_IFS
9199 -  test -z "$as_dir" && as_dir=.
9200 -  for ac_exec_ext in '' $ac_executable_extensions; do
9201 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9202 -    ac_cv_prog_ac_ct_CC="cc"
9203 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9204 -    break 2
9205 -  fi
9206 -done
9207 -done
9208 -
9209 -fi
9210 -fi
9211 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
9212 -if test -n "$ac_ct_CC"; then
9213 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
9214 -echo "${ECHO_T}$ac_ct_CC" >&6
9215 -else
9216 -  echo "$as_me:$LINENO: result: no" >&5
9217 -echo "${ECHO_T}no" >&6
9218 -fi
9219 -
9220 -  CC=$ac_ct_CC
9221 -else
9222 -  CC="$ac_cv_prog_CC"
9223 -fi
9224 -
9225 -fi
9226 -if test -z "$CC"; then
9227 -  # Extract the first word of "cc", so it can be a program name with args.
9228 -set dummy cc; ac_word=$2
9229 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9230 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9231 -if test "${ac_cv_prog_CC+set}" = set; then
9232 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9233 -else
9234 -  if test -n "$CC"; then
9235 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9236 -else
9237 -  ac_prog_rejected=no
9238 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9239 -for as_dir in $PATH
9240 -do
9241 -  IFS=$as_save_IFS
9242 -  test -z "$as_dir" && as_dir=.
9243 -  for ac_exec_ext in '' $ac_executable_extensions; do
9244 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9245 -    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
9246 -       ac_prog_rejected=yes
9247 -       continue
9248 -     fi
9249 -    ac_cv_prog_CC="cc"
9250 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9251 -    break 2
9252 -  fi
9253 -done
9254 -done
9255 -
9256 -if test $ac_prog_rejected = yes; then
9257 -  # We found a bogon in the path, so make sure we never use it.
9258 -  set dummy $ac_cv_prog_CC
9259 -  shift
9260 -  if test $@%:@ != 0; then
9261 -    # We chose a different compiler from the bogus one.
9262 -    # However, it has the same basename, so the bogon will be chosen
9263 -    # first if we set CC to just the basename; use the full file name.
9264 -    shift
9265 -    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
9266 -  fi
9267 -fi
9268 -fi
9269 -fi
9270 -CC=$ac_cv_prog_CC
9271 -if test -n "$CC"; then
9272 -  echo "$as_me:$LINENO: result: $CC" >&5
9273 -echo "${ECHO_T}$CC" >&6
9274 -else
9275 -  echo "$as_me:$LINENO: result: no" >&5
9276 -echo "${ECHO_T}no" >&6
9277 -fi
9278 -
9279 -fi
9280 -if test -z "$CC"; then
9281 -  if test -n "$ac_tool_prefix"; then
9282 -  for ac_prog in cl
9283 -  do
9284 -    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
9285 -set dummy $ac_tool_prefix$ac_prog; ac_word=$2
9286 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9287 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9288 -if test "${ac_cv_prog_CC+set}" = set; then
9289 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9290 -else
9291 -  if test -n "$CC"; then
9292 -  ac_cv_prog_CC="$CC" # Let the user override the test.
9293 -else
9294 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9295 -for as_dir in $PATH
9296 -do
9297 -  IFS=$as_save_IFS
9298 -  test -z "$as_dir" && as_dir=.
9299 -  for ac_exec_ext in '' $ac_executable_extensions; do
9300 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9301 -    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
9302 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9303 -    break 2
9304 -  fi
9305 -done
9306 -done
9307 -
9308 -fi
9309 -fi
9310 -CC=$ac_cv_prog_CC
9311 -if test -n "$CC"; then
9312 -  echo "$as_me:$LINENO: result: $CC" >&5
9313 -echo "${ECHO_T}$CC" >&6
9314 -else
9315 -  echo "$as_me:$LINENO: result: no" >&5
9316 -echo "${ECHO_T}no" >&6
9317 -fi
9318 -
9319 -    test -n "$CC" && break
9320 -  done
9321 -fi
9322 -if test -z "$CC"; then
9323 -  ac_ct_CC=$CC
9324 -  for ac_prog in cl
9325 -do
9326 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
9327 -set dummy $ac_prog; ac_word=$2
9328 -echo "$as_me:$LINENO: checking for $ac_word" >&5
9329 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
9330 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
9331 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9332 -else
9333 -  if test -n "$ac_ct_CC"; then
9334 -  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
9335 -else
9336 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9337 -for as_dir in $PATH
9338 -do
9339 -  IFS=$as_save_IFS
9340 -  test -z "$as_dir" && as_dir=.
9341 -  for ac_exec_ext in '' $ac_executable_extensions; do
9342 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
9343 -    ac_cv_prog_ac_ct_CC="$ac_prog"
9344 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
9345 -    break 2
9346 -  fi
9347 -done
9348 -done
9349 -
9350 -fi
9351 -fi
9352 -ac_ct_CC=$ac_cv_prog_ac_ct_CC
9353 -if test -n "$ac_ct_CC"; then
9354 -  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
9355 -echo "${ECHO_T}$ac_ct_CC" >&6
9356 -else
9357 -  echo "$as_me:$LINENO: result: no" >&5
9358 -echo "${ECHO_T}no" >&6
9359 -fi
9360 -
9361 -  test -n "$ac_ct_CC" && break
9362 -done
9363 -
9364 -  CC=$ac_ct_CC
9365 -fi
9366 -
9367 -fi
9368 -
9369 -
9370 -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5
9371 -echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;}
9372 -   { (exit 1); exit 1; }; }
9373 -
9374 -# Provide some information about the compiler.
9375 -echo "$as_me:$LINENO:" \
9376 -     "checking for C compiler version" >&5
9377 -ac_compiler=`set X $ac_compile; echo $2`
9378 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
9379 -  (eval $ac_compiler --version </dev/null >&5) 2>&5
9380 -  ac_status=$?
9381 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9382 -  (exit $ac_status); }
9383 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
9384 -  (eval $ac_compiler -v </dev/null >&5) 2>&5
9385 -  ac_status=$?
9386 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9387 -  (exit $ac_status); }
9388 -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
9389 -  (eval $ac_compiler -V </dev/null >&5) 2>&5
9390 -  ac_status=$?
9391 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9392 -  (exit $ac_status); }
9393 -
9394 -cat >conftest.$ac_ext <<_ACEOF
9395 -#line $LINENO "configure"
9396 -#include "confdefs.h"
9397 -
9398 -int
9399 -main ()
9400 -{
9401 -
9402 -  ;
9403 -  return 0;
9404 -}
9405 -_ACEOF
9406 -ac_clean_files_save=$ac_clean_files
9407 -ac_clean_files="$ac_clean_files a.out a.exe"
9408 -# Try to create an executable without -o first, disregard a.out.
9409 -# It will help us diagnose broken compilers, and finding out an intuition
9410 -# of exeext.
9411 -echo "$as_me:$LINENO: checking for C compiler default output" >&5
9412 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
9413 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
9414 -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
9415 -  (eval $ac_link_default) 2>&5
9416 -  ac_status=$?
9417 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9418 -  (exit $ac_status); }; then
9419 -  # Find the output, starting from the most likely.  This scheme is
9420 -# not robust to junk in `.', hence go to wildcards (a.*) only as a last
9421 -# resort.
9422 -
9423 -# Be careful to initialize this variable, since it used to be cached.
9424 -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
9425 -ac_cv_exeext=
9426 -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do
9427 -  test -f "$ac_file" || continue
9428 -  case $ac_file in
9429 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
9430 -    a.out ) # We found the default executable, but exeext='' is most
9431 -            # certainly right.
9432 -            break;;
9433 -    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
9434 -          # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
9435 -          export ac_cv_exeext
9436 -          break;;
9437 -    * ) break;;
9438 -  esac
9439 -done
9440 -else
9441 -  echo "$as_me: failed program was:" >&5
9442 -cat conftest.$ac_ext >&5
9443 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
9444 -check \`config.log' for details." >&5
9445 -echo "$as_me: error: C compiler cannot create executables
9446 -check \`config.log' for details." >&2;}
9447 -   { (exit 77); exit 77; }; }
9448 -fi
9449 -
9450 -ac_exeext=$ac_cv_exeext
9451 -echo "$as_me:$LINENO: result: $ac_file" >&5
9452 -echo "${ECHO_T}$ac_file" >&6
9453 -
9454 -# Check the compiler produces executables we can run.  If not, either
9455 -# the compiler is broken, or we cross compile.
9456 -echo "$as_me:$LINENO: checking whether the C compiler works" >&5
9457 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
9458 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
9459 -# If not cross compiling, check that we can run a simple program.
9460 -if test "$cross_compiling" != yes; then
9461 -  if { ac_try='./$ac_file'
9462 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9463 -  (eval $ac_try) 2>&5
9464 -  ac_status=$?
9465 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9466 -  (exit $ac_status); }; }; then
9467 -    cross_compiling=no
9468 -  else
9469 -    if test "$cross_compiling" = maybe; then
9470 -       cross_compiling=yes
9471 -    else
9472 -       { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
9473 -If you meant to cross compile, use \`--host'." >&5
9474 -echo "$as_me: error: cannot run C compiled programs.
9475 -If you meant to cross compile, use \`--host'." >&2;}
9476 -   { (exit 1); exit 1; }; }
9477 -    fi
9478 -  fi
9479 -fi
9480 -echo "$as_me:$LINENO: result: yes" >&5
9481 -echo "${ECHO_T}yes" >&6
9482 -
9483 -rm -f a.out a.exe conftest$ac_cv_exeext
9484 -ac_clean_files=$ac_clean_files_save
9485 -# Check the compiler produces executables we can run.  If not, either
9486 -# the compiler is broken, or we cross compile.
9487 -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
9488 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
9489 -echo "$as_me:$LINENO: result: $cross_compiling" >&5
9490 -echo "${ECHO_T}$cross_compiling" >&6
9491 -
9492 -echo "$as_me:$LINENO: checking for suffix of executables" >&5
9493 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
9494 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
9495 -  (eval $ac_link) 2>&5
9496 -  ac_status=$?
9497 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9498 -  (exit $ac_status); }; then
9499 -  # If both `conftest.exe' and `conftest' are `present' (well, observable)
9500 -# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
9501 -# work properly (i.e., refer to `conftest.exe'), while it won't with
9502 -# `rm'.
9503 -for ac_file in conftest.exe conftest conftest.*; do
9504 -  test -f "$ac_file" || continue
9505 -  case $ac_file in
9506 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
9507 -    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
9508 -          export ac_cv_exeext
9509 -          break;;
9510 -    * ) break;;
9511 -  esac
9512 -done
9513 -else
9514 -  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5
9515 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;}
9516 -   { (exit 1); exit 1; }; }
9517 -fi
9518 -
9519 -rm -f conftest$ac_cv_exeext
9520 -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
9521 -echo "${ECHO_T}$ac_cv_exeext" >&6
9522 -
9523 -rm -f conftest.$ac_ext
9524 -EXEEXT=$ac_cv_exeext
9525 -ac_exeext=$EXEEXT
9526 -echo "$as_me:$LINENO: checking for suffix of object files" >&5
9527 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
9528 -if test "${ac_cv_objext+set}" = set; then
9529 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9530 -else
9531 -  cat >conftest.$ac_ext <<_ACEOF
9532 -#line $LINENO "configure"
9533 -#include "confdefs.h"
9534 -
9535 -int
9536 -main ()
9537 -{
9538 -
9539 -  ;
9540 -  return 0;
9541 -}
9542 -_ACEOF
9543 -rm -f conftest.o conftest.obj
9544 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9545 -  (eval $ac_compile) 2>&5
9546 -  ac_status=$?
9547 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9548 -  (exit $ac_status); }; then
9549 -  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
9550 -  case $ac_file in
9551 -    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
9552 -    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
9553 -       break;;
9554 -  esac
9555 -done
9556 -else
9557 -  echo "$as_me: failed program was:" >&5
9558 -cat conftest.$ac_ext >&5
9559 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5
9560 -echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;}
9561 -   { (exit 1); exit 1; }; }
9562 -fi
9563 -
9564 -rm -f conftest.$ac_cv_objext conftest.$ac_ext
9565 -fi
9566 -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
9567 -echo "${ECHO_T}$ac_cv_objext" >&6
9568 -OBJEXT=$ac_cv_objext
9569 -ac_objext=$OBJEXT
9570 -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
9571 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
9572 -if test "${ac_cv_c_compiler_gnu+set}" = set; then
9573 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9574 -else
9575 -  cat >conftest.$ac_ext <<_ACEOF
9576 -#line $LINENO "configure"
9577 -#include "confdefs.h"
9578 -
9579 -int
9580 -main ()
9581 -{
9582 -#ifndef __GNUC__
9583 -       choke me
9584 -#endif
9585 -
9586 -  ;
9587 -  return 0;
9588 -}
9589 -_ACEOF
9590 -rm -f conftest.$ac_objext
9591 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9592 -  (eval $ac_compile) 2>&5
9593 -  ac_status=$?
9594 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9595 -  (exit $ac_status); } &&
9596 -         { ac_try='test -s conftest.$ac_objext'
9597 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9598 -  (eval $ac_try) 2>&5
9599 -  ac_status=$?
9600 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9601 -  (exit $ac_status); }; }; then
9602 -  ac_compiler_gnu=yes
9603 -else
9604 -  echo "$as_me: failed program was:" >&5
9605 -cat conftest.$ac_ext >&5
9606 -ac_compiler_gnu=no
9607 -fi
9608 -rm -f conftest.$ac_objext conftest.$ac_ext
9609 -ac_cv_c_compiler_gnu=$ac_compiler_gnu
9610 -
9611 -fi
9612 -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
9613 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
9614 -GCC=`test $ac_compiler_gnu = yes && echo yes`
9615 -ac_test_CFLAGS=${CFLAGS+set}
9616 -ac_save_CFLAGS=$CFLAGS
9617 -CFLAGS="-g"
9618 -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
9619 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
9620 -if test "${ac_cv_prog_cc_g+set}" = set; then
9621 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9622 -else
9623 -  cat >conftest.$ac_ext <<_ACEOF
9624 -#line $LINENO "configure"
9625 -#include "confdefs.h"
9626 -
9627 -int
9628 -main ()
9629 -{
9630 -
9631 -  ;
9632 -  return 0;
9633 -}
9634 -_ACEOF
9635 -rm -f conftest.$ac_objext
9636 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9637 -  (eval $ac_compile) 2>&5
9638 -  ac_status=$?
9639 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9640 -  (exit $ac_status); } &&
9641 -         { ac_try='test -s conftest.$ac_objext'
9642 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9643 -  (eval $ac_try) 2>&5
9644 -  ac_status=$?
9645 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9646 -  (exit $ac_status); }; }; then
9647 -  ac_cv_prog_cc_g=yes
9648 -else
9649 -  echo "$as_me: failed program was:" >&5
9650 -cat conftest.$ac_ext >&5
9651 -ac_cv_prog_cc_g=no
9652 -fi
9653 -rm -f conftest.$ac_objext conftest.$ac_ext
9654 -fi
9655 -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
9656 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
9657 -if test "$ac_test_CFLAGS" = set; then
9658 -  CFLAGS=$ac_save_CFLAGS
9659 -elif test $ac_cv_prog_cc_g = yes; then
9660 -  if test "$GCC" = yes; then
9661 -    CFLAGS="-g -O2"
9662 -  else
9663 -    CFLAGS="-g"
9664 -  fi
9665 -else
9666 -  if test "$GCC" = yes; then
9667 -    CFLAGS="-O2"
9668 -  else
9669 -    CFLAGS=
9670 -  fi
9671 -fi
9672 -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
9673 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
9674 -if test "${ac_cv_prog_cc_stdc+set}" = set; then
9675 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9676 -else
9677 -  ac_cv_prog_cc_stdc=no
9678 -ac_save_CC=$CC
9679 -cat >conftest.$ac_ext <<_ACEOF
9680 -#line $LINENO "configure"
9681 -#include "confdefs.h"
9682 -#include <stdarg.h>
9683 -#include <stdio.h>
9684 -#include <sys/types.h>
9685 -#include <sys/stat.h>
9686 -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
9687 -struct buf { int x; };
9688 -FILE * (*rcsopen) (struct buf *, struct stat *, int);
9689 -static char *e (p, i)
9690 -     char **p;
9691 -     int i;
9692 -{
9693 -  return p[i];
9694 -}
9695 -static char *f (char * (*g) (char **, int), char **p, ...)
9696 -{
9697 -  char *s;
9698 -  va_list v;
9699 -  va_start (v,p);
9700 -  s = g (p, va_arg (v,int));
9701 -  va_end (v);
9702 -  return s;
9703 -}
9704 -int test (int i, double x);
9705 -struct s1 {int (*f) (int a);};
9706 -struct s2 {int (*f) (double a);};
9707 -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
9708 -int argc;
9709 -char **argv;
9710 -int
9711 -main ()
9712 -{
9713 -return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
9714 -  ;
9715 -  return 0;
9716 -}
9717 -_ACEOF
9718 -# Don't try gcc -ansi; that turns off useful extensions and
9719 -# breaks some systems' header files.
9720 -# AIX                  -qlanglvl=ansi
9721 -# Ultrix and OSF/1     -std1
9722 -# HP-UX 10.20 and later        -Ae
9723 -# HP-UX older versions -Aa -D_HPUX_SOURCE
9724 -# SVR4                 -Xc -D__EXTENSIONS__
9725 -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
9726 -do
9727 -  CC="$ac_save_CC $ac_arg"
9728 -  rm -f conftest.$ac_objext
9729 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9730 -  (eval $ac_compile) 2>&5
9731 -  ac_status=$?
9732 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9733 -  (exit $ac_status); } &&
9734 -         { ac_try='test -s conftest.$ac_objext'
9735 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9736 -  (eval $ac_try) 2>&5
9737 -  ac_status=$?
9738 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9739 -  (exit $ac_status); }; }; then
9740 -  ac_cv_prog_cc_stdc=$ac_arg
9741 -break
9742 -else
9743 -  echo "$as_me: failed program was:" >&5
9744 -cat conftest.$ac_ext >&5
9745 -fi
9746 -rm -f conftest.$ac_objext 
9747 -done
9748 -rm -f conftest.$ac_ext conftest.$ac_objext
9749 -CC=$ac_save_CC
9750 -
9751 -fi
9752 -
9753 -case "x$ac_cv_prog_cc_stdc" in
9754 -  x|xno)
9755 -    echo "$as_me:$LINENO: result: none needed" >&5
9756 -echo "${ECHO_T}none needed" >&6 ;;
9757 -  *)
9758 -    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
9759 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
9760 -    CC="$CC $ac_cv_prog_cc_stdc" ;;
9761 -esac
9762 -
9763 -# Some people use a C++ compiler to compile C.  Since we use `exit',
9764 -# in C++ we need to declare it.  In case someone uses the same compiler
9765 -# for both compiling C and C++ we need to have the C++ compiler decide
9766 -# the declaration of exit, since it's the most demanding environment.
9767 -cat >conftest.$ac_ext <<_ACEOF
9768 -@%:@ifndef __cplusplus
9769 -  choke me
9770 -@%:@endif
9771 -_ACEOF
9772 -rm -f conftest.$ac_objext
9773 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9774 -  (eval $ac_compile) 2>&5
9775 -  ac_status=$?
9776 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9777 -  (exit $ac_status); } &&
9778 -         { ac_try='test -s conftest.$ac_objext'
9779 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9780 -  (eval $ac_try) 2>&5
9781 -  ac_status=$?
9782 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9783 -  (exit $ac_status); }; }; then
9784 -  for ac_declaration in \
9785 -   ''\
9786 -   '#include <stdlib.h>' \
9787 -   'extern "C" void std::exit (int) throw (); using std::exit;' \
9788 -   'extern "C" void std::exit (int); using std::exit;' \
9789 -   'extern "C" void exit (int) throw ();' \
9790 -   'extern "C" void exit (int);' \
9791 -   'void exit (int);'
9792 -do
9793 -  cat >conftest.$ac_ext <<_ACEOF
9794 -#line $LINENO "configure"
9795 -#include "confdefs.h"
9796 -@%:@include <stdlib.h>
9797 -$ac_declaration
9798 -int
9799 -main ()
9800 -{
9801 -exit (42);
9802 -  ;
9803 -  return 0;
9804 -}
9805 -_ACEOF
9806 -rm -f conftest.$ac_objext
9807 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9808 -  (eval $ac_compile) 2>&5
9809 -  ac_status=$?
9810 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9811 -  (exit $ac_status); } &&
9812 -         { ac_try='test -s conftest.$ac_objext'
9813 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9814 -  (eval $ac_try) 2>&5
9815 -  ac_status=$?
9816 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9817 -  (exit $ac_status); }; }; then
9818 -  :
9819 -else
9820 -  echo "$as_me: failed program was:" >&5
9821 -cat conftest.$ac_ext >&5
9822 -continue
9823 -fi
9824 -rm -f conftest.$ac_objext conftest.$ac_ext
9825 -  cat >conftest.$ac_ext <<_ACEOF
9826 -#line $LINENO "configure"
9827 -#include "confdefs.h"
9828 -$ac_declaration
9829 -int
9830 -main ()
9831 -{
9832 -exit (42);
9833 -  ;
9834 -  return 0;
9835 -}
9836 -_ACEOF
9837 -rm -f conftest.$ac_objext
9838 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
9839 -  (eval $ac_compile) 2>&5
9840 -  ac_status=$?
9841 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9842 -  (exit $ac_status); } &&
9843 -         { ac_try='test -s conftest.$ac_objext'
9844 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
9845 -  (eval $ac_try) 2>&5
9846 -  ac_status=$?
9847 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
9848 -  (exit $ac_status); }; }; then
9849 -  break
9850 -else
9851 -  echo "$as_me: failed program was:" >&5
9852 -cat conftest.$ac_ext >&5
9853 -fi
9854 -rm -f conftest.$ac_objext conftest.$ac_ext
9855 -done
9856 -rm -f conftest*
9857 -if test -n "$ac_declaration"; then
9858 -  echo '#ifdef __cplusplus' >>confdefs.h
9859 -  echo $ac_declaration      >>confdefs.h
9860 -  echo '#endif'             >>confdefs.h
9861 -fi
9862 -
9863 -else
9864 -  echo "$as_me: failed program was:" >&5
9865 -cat conftest.$ac_ext >&5
9866 -fi
9867 -rm -f conftest.$ac_objext conftest.$ac_ext
9868 -ac_ext=c
9869 -ac_cpp='$CPP $CPPFLAGS'
9870 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
9871 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
9872 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
9873 -
9874 -depcc="$CC"   am_compiler_list=
9875 -
9876 -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
9877 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
9878 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
9879 -  echo $ECHO_N "(cached) $ECHO_C" >&6
9880 -else
9881 -  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
9882 -  # We make a subdir and do the tests there.  Otherwise we can end up
9883 -  # making bogus files that we don't know about and never remove.  For
9884 -  # instance it was reported that on HP-UX the gcc test will end up
9885 -  # making a dummy file named `D' -- because `-MD' means `put the output
9886 -  # in D'.
9887 -  mkdir conftest.dir
9888 -  # Copy depcomp to subdir because otherwise we won't find it if we're
9889 -  # using a relative directory.
9890 -  cp "$am_depcomp" conftest.dir
9891 -  cd conftest.dir
9892 -
9893 -  am_cv_CC_dependencies_compiler_type=none
9894 -  if test "$am_compiler_list" = ""; then
9895 -     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
9896 -  fi
9897 -  for depmode in $am_compiler_list; do
9898 -    # We need to recreate these files for each test, as the compiler may
9899 -    # overwrite some of them when testing with obscure command lines.
9900 -    # This happens at least with the AIX C compiler.
9901 -    echo '#include "conftest.h"' > conftest.c
9902 -    echo 'int i;' > conftest.h
9903 -    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
9904 -
9905 -    case $depmode in
9906 -    nosideeffect)
9907 -      # after this tag, mechanisms are not by side-effect, so they'll
9908 -      # only be used when explicitly requested
9909 -      if test "x$enable_dependency_tracking" = xyes; then
9910 -       continue
9911 -      else
9912 -       break
9913 -      fi
9914 -      ;;
9915 -    none) break ;;
9916 -    esac
9917 -    # We check with `-c' and `-o' for the sake of the "dashmstdout"
9918 -    # mode.  It turns out that the SunPro C++ compiler does not properly
9919 -    # handle `-M -o', and we need to detect this.
9920 -    if depmode=$depmode \
9921 -       source=conftest.c object=conftest.o \
9922 -       depfile=conftest.Po tmpdepfile=conftest.TPo \
9923 -       $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
9924 -       grep conftest.h conftest.Po > /dev/null 2>&1 &&
9925 -       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
9926 -      am_cv_CC_dependencies_compiler_type=$depmode
9927 -      break
9928 -    fi
9929 -  done
9930 -
9931 -  cd ..
9932 -  rm -rf conftest.dir
9933 -else
9934 -  am_cv_CC_dependencies_compiler_type=none
9935 -fi
9936 -
9937 -fi
9938 -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
9939 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
9940 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
9941 -
9942 -
9943 -# Find the correct PATH separator.  Usually this is `:', but
9944 -# DJGPP uses `;' like DOS.
9945 -if test "X${PATH_SEPARATOR+set}" != Xset; then
9946 -  UNAME=${UNAME-`uname 2>/dev/null`}
9947 -  case X$UNAME in
9948 -    *-DOS) lt_cv_sys_path_separator=';' ;;
9949 -    *)     lt_cv_sys_path_separator=':' ;;
9950 -  esac
9951 -  PATH_SEPARATOR=$lt_cv_sys_path_separator
9952 -fi
9953 -
9954 -
9955 -# Check whether --with-gnu-ld or --without-gnu-ld was given.
9956 -if test "${with_gnu_ld+set}" = set; then
9957 -  withval="$with_gnu_ld"
9958 -  test "$withval" = no || with_gnu_ld=yes
9959 -else
9960 -  with_gnu_ld=no
9961 -fi; 
9962 -ac_prog=ld
9963 -if test "$GCC" = yes; then
9964 -  # Check if gcc -print-prog-name=ld gives a path.
9965 -  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
9966 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
9967 -  case $host in
9968 -  *-*-mingw*)
9969 -    # gcc leaves a trailing carriage return which upsets mingw
9970 -    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
9971 -  *)
9972 -    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
9973 -  esac
9974 -  case $ac_prog in
9975 -    # Accept absolute paths.
9976 -    [\\/]* | [A-Za-z]:[\\/]*)
9977 -      re_direlt='/[^/][^/]*/\.\./'
9978 -      # Canonicalize the path of ld
9979 -      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
9980 -      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
9981 -       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
9982 -      done
9983 -      test -z "$LD" && LD="$ac_prog"
9984 -      ;;
9985 -  "")
9986 -    # If it fails, then pretend we aren't using GCC.
9987 -    ac_prog=ld
9988 -    ;;
9989 -  *)
9990 -    # If it is relative, then search for the first ld in PATH.
9991 -    with_gnu_ld=unknown
9992 -    ;;
9993 -  esac
9994 -elif test "$with_gnu_ld" = yes; then
9995 -  echo "$as_me:$LINENO: checking for GNU ld" >&5
9996 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
9997 -else
9998 -  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
9999 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
10000 -fi
10001 -if test "${lt_cv_path_LD+set}" = set; then
10002 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10003 -else
10004 -  if test -z "$LD"; then
10005 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
10006 -  for ac_dir in $PATH; do
10007 -    test -z "$ac_dir" && ac_dir=.
10008 -    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
10009 -      lt_cv_path_LD="$ac_dir/$ac_prog"
10010 -      # Check to see if the program is GNU ld.  I'd rather use --version,
10011 -      # but apparently some GNU ld's only accept -v.
10012 -      # Break only if it was the GNU/non-GNU ld that we prefer.
10013 -      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
10014 -       test "$with_gnu_ld" != no && break
10015 -      else
10016 -       test "$with_gnu_ld" != yes && break
10017 -      fi
10018 -    fi
10019 -  done
10020 -  IFS="$ac_save_ifs"
10021 -else
10022 -  lt_cv_path_LD="$LD" # Let the user override the test with a path.
10023 -fi
10024 -fi
10025 -
10026 -LD="$lt_cv_path_LD"
10027 -if test -n "$LD"; then
10028 -  echo "$as_me:$LINENO: result: $LD" >&5
10029 -echo "${ECHO_T}$LD" >&6
10030 -else
10031 -  echo "$as_me:$LINENO: result: no" >&5
10032 -echo "${ECHO_T}no" >&6
10033 -fi
10034 -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
10035 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
10036 -   { (exit 1); exit 1; }; }
10037 -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
10038 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
10039 -if test "${lt_cv_prog_gnu_ld+set}" = set; then
10040 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10041 -else
10042 -  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
10043 -if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
10044 -  lt_cv_prog_gnu_ld=yes
10045 -else
10046 -  lt_cv_prog_gnu_ld=no
10047 -fi
10048 -fi
10049 -echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
10050 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
10051 -with_gnu_ld=$lt_cv_prog_gnu_ld
10052 -
10053 -
10054 -echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
10055 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
10056 -if test "${lt_cv_ld_reload_flag+set}" = set; then
10057 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10058 -else
10059 -  lt_cv_ld_reload_flag='-r'
10060 -fi
10061 -echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
10062 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
10063 -reload_flag=$lt_cv_ld_reload_flag
10064 -test -n "$reload_flag" && reload_flag=" $reload_flag"
10065 -
10066 -echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
10067 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
10068 -if test "${lt_cv_path_NM+set}" = set; then
10069 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10070 -else
10071 -  if test -n "$NM"; then
10072 -  # Let the user override the test.
10073 -  lt_cv_path_NM="$NM"
10074 -else
10075 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
10076 -  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
10077 -    test -z "$ac_dir" && ac_dir=.
10078 -    tmp_nm=$ac_dir/${ac_tool_prefix}nm
10079 -    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
10080 -      # Check to see if the nm accepts a BSD-compat flag.
10081 -      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
10082 -      #   nm: unknown option "B" ignored
10083 -      # Tru64's nm complains that /dev/null is an invalid object file
10084 -      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
10085 -       lt_cv_path_NM="$tmp_nm -B"
10086 -       break
10087 -      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
10088 -       lt_cv_path_NM="$tmp_nm -p"
10089 -       break
10090 -      else
10091 -       lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
10092 -       continue # so that we can try to find one that supports BSD flags
10093 -      fi
10094 -    fi
10095 -  done
10096 -  IFS="$ac_save_ifs"
10097 -  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
10098 -fi
10099 -fi
10100 -
10101 -NM="$lt_cv_path_NM"
10102 -echo "$as_me:$LINENO: result: $NM" >&5
10103 -echo "${ECHO_T}$NM" >&6
10104 -
10105 -echo "$as_me:$LINENO: checking whether ln -s works" >&5
10106 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
10107 -LN_S=$as_ln_s
10108 -if test "$LN_S" = "ln -s"; then
10109 -  echo "$as_me:$LINENO: result: yes" >&5
10110 -echo "${ECHO_T}yes" >&6
10111 -else
10112 -  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
10113 -echo "${ECHO_T}no, using $LN_S" >&6
10114 -fi
10115 -
10116 -echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
10117 -echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
10118 -if test "${lt_cv_deplibs_check_method+set}" = set; then
10119 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10120 -else
10121 -  lt_cv_file_magic_cmd='$MAGIC_CMD'
10122 -lt_cv_file_magic_test_file=
10123 -lt_cv_deplibs_check_method='unknown'
10124 -# Need to set the preceding variable on all platforms that support
10125 -# interlibrary dependencies.
10126 -# 'none' -- dependencies not supported.
10127 -# `unknown' -- same as none, but documents that we really don't know.
10128 -# 'pass_all' -- all dependencies passed with no checks.
10129 -# 'test_compile' -- check by making test program.
10130 -# 'file_magic [[regex]]' -- check by looking for files in library path
10131 -# which responds to the $file_magic_cmd with a given egrep regex.
10132 -# If you have `file' or equivalent on your system and you're not sure
10133 -# whether `pass_all' will *always* work, you probably want this one.
10134 -
10135 -case $host_os in
10136 -aix4* | aix5*)
10137 -  lt_cv_deplibs_check_method=pass_all
10138 -  ;;
10139 -
10140 -beos*)
10141 -  lt_cv_deplibs_check_method=pass_all
10142 -  ;;
10143 -
10144 -bsdi4*)
10145 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
10146 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
10147 -  lt_cv_file_magic_test_file=/shlib/libc.so
10148 -  ;;
10149 -
10150 -cygwin* | mingw* | pw32*)
10151 -  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
10152 -  lt_cv_file_magic_cmd='$OBJDUMP -f'
10153 -  ;;
10154 -
10155 -darwin* | rhapsody*)
10156 -  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
10157 -  lt_cv_file_magic_cmd='/usr/bin/file -L'
10158 -  case "$host_os" in
10159 -  rhapsody* | darwin1.[012])
10160 -    lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
10161 -    ;;
10162 -  *) # Darwin 1.3 on
10163 -    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
10164 -    ;;
10165 -  esac
10166 -  ;;
10167 -
10168 -freebsd*)
10169 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
10170 -    case $host_cpu in
10171 -    i*86 )
10172 -      # Not sure whether the presence of OpenBSD here was a mistake.
10173 -      # Let's accept both of them until this is cleared up.
10174 -      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
10175 -      lt_cv_file_magic_cmd=/usr/bin/file
10176 -      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
10177 -      ;;
10178 -    esac
10179 -  else
10180 -    lt_cv_deplibs_check_method=pass_all
10181 -  fi
10182 -  ;;
10183 -
10184 -gnu*)
10185 -  lt_cv_deplibs_check_method=pass_all
10186 -  ;;
10187 -
10188 -hpux10.20*|hpux11*)
10189 -  lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
10190 -  lt_cv_file_magic_cmd=/usr/bin/file
10191 -  lt_cv_file_magic_test_file=/usr/lib/libc.sl
10192 -  ;;
10193 -
10194 -irix5* | irix6*)
10195 -  case $host_os in
10196 -  irix5*)
10197 -    # this will be overridden with pass_all, but let us keep it just in case
10198 -    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
10199 -    ;;
10200 -  *)
10201 -    case $LD in
10202 -    *-32|*"-32 ") libmagic=32-bit;;
10203 -    *-n32|*"-n32 ") libmagic=N32;;
10204 -    *-64|*"-64 ") libmagic=64-bit;;
10205 -    *) libmagic=never-match;;
10206 -    esac
10207 -    # this will be overridden with pass_all, but let us keep it just in case
10208 -    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
10209 -    ;;
10210 -  esac
10211 -  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
10212 -  lt_cv_deplibs_check_method=pass_all
10213 -  ;;
10214 -
10215 -# This must be Linux ELF.
10216 -linux-gnu*)
10217 -  case $host_cpu in
10218 -  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
10219 -    lt_cv_deplibs_check_method=pass_all ;;
10220 -  *)
10221 -    # glibc up to 2.1.1 does not perform some relocations on ARM
10222 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
10223 -  esac
10224 -  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
10225 -  ;;
10226 -
10227 -netbsd*)
10228 -  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
10229 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
10230 -  else
10231 -    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
10232 -  fi
10233 -  ;;
10234 -
10235 -newos6*)
10236 -  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
10237 -  lt_cv_file_magic_cmd=/usr/bin/file
10238 -  lt_cv_file_magic_test_file=/usr/lib/libnls.so
10239 -  ;;
10240 -
10241 -openbsd*)
10242 -  lt_cv_file_magic_cmd=/usr/bin/file
10243 -  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
10244 -  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
10245 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
10246 -  else
10247 -    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
10248 -  fi
10249 -  ;;
10250 -
10251 -osf3* | osf4* | osf5*)
10252 -  # this will be overridden with pass_all, but let us keep it just in case
10253 -  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
10254 -  lt_cv_file_magic_test_file=/shlib/libc.so
10255 -  lt_cv_deplibs_check_method=pass_all
10256 -  ;;
10257 -
10258 -sco3.2v5*)
10259 -  lt_cv_deplibs_check_method=pass_all
10260 -  ;;
10261 -
10262 -solaris*)
10263 -  lt_cv_deplibs_check_method=pass_all
10264 -  lt_cv_file_magic_test_file=/lib/libc.so
10265 -  ;;
10266 -
10267 -sysv5uw[78]* | sysv4*uw2*)
10268 -  lt_cv_deplibs_check_method=pass_all
10269 -  ;;
10270 -
10271 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
10272 -  case $host_vendor in
10273 -  motorola)
10274 -    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]'
10275 -    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
10276 -    ;;
10277 -  ncr)
10278 -    lt_cv_deplibs_check_method=pass_all
10279 -    ;;
10280 -  sequent)
10281 -    lt_cv_file_magic_cmd='/bin/file'
10282 -    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
10283 -    ;;
10284 -  sni)
10285 -    lt_cv_file_magic_cmd='/bin/file'
10286 -    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
10287 -    lt_cv_file_magic_test_file=/lib/libc.so
10288 -    ;;
10289 -  esac
10290 -  ;;
10291 -esac
10292 -
10293 -fi
10294 -echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
10295 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
10296 -file_magic_cmd=$lt_cv_file_magic_cmd
10297 -deplibs_check_method=$lt_cv_deplibs_check_method
10298 -
10299 -
10300 -
10301 -
10302 -
10303 -
10304 -
10305 -# Check for command to grab the raw symbol name followed by C symbol from nm.
10306 -echo "$as_me:$LINENO: checking command to parse $NM output" >&5
10307 -echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6
10308 -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
10309 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10310 -else
10311 -  
10312 -# These are sane defaults that work on at least a few old systems.
10313 -# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
10314 -
10315 -# Character class describing NM global symbol codes.
10316 -symcode='[BCDEGRST]'
10317 -
10318 -# Regexp to match symbols that can be accessed directly from C.
10319 -sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
10320 -
10321 -# Transform the above into a raw symbol and a C symbol.
10322 -symxfrm='\1 \2\3 \3'
10323 -
10324 -# Transform an extracted symbol line into a proper C declaration
10325 -lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
10326 -
10327 -# Transform an extracted symbol line into symbol name and symbol address
10328 -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'"
10329 -
10330 -# Define system-specific variables.
10331 -case $host_os in
10332 -aix*)
10333 -  symcode='[BCDT]'
10334 -  ;;
10335 -cygwin* | mingw* | pw32*)
10336 -  symcode='[ABCDGISTW]'
10337 -  ;;
10338 -hpux*) # Its linker distinguishes data from code symbols
10339 -  lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
10340 -  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'"
10341 -  ;;
10342 -irix*)
10343 -  symcode='[BCDEGRST]'
10344 -  ;;
10345 -solaris* | sysv5*)
10346 -  symcode='[BDT]'
10347 -  ;;
10348 -sysv4)
10349 -  symcode='[DFNSTU]'
10350 -  ;;
10351 -esac
10352 -
10353 -# Handle CRLF in mingw tool chain
10354 -opt_cr=
10355 -case $host_os in
10356 -mingw*)
10357 -  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
10358 -  ;;
10359 -esac
10360 -
10361 -# If we're using GNU nm, then use its standard symbol codes.
10362 -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
10363 -  symcode='[ABCDGISTW]'
10364 -fi
10365 -
10366 -# Try without a prefix undercore, then with it.
10367 -for ac_symprfx in "" "_"; do
10368 -
10369 -  # Write the raw and C identifiers.
10370 -lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[        ]\($symcode$symcode*\)[         ][      ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
10371 -
10372 -  # Check to see that the pipe works correctly.
10373 -  pipe_works=no
10374 -  rm -f conftest*
10375 -  cat > conftest.$ac_ext <<EOF
10376 -#ifdef __cplusplus
10377 -extern "C" {
10378 -#endif
10379 -char nm_test_var;
10380 -void nm_test_func(){}
10381 -#ifdef __cplusplus
10382 -}
10383 -#endif
10384 -int main(){nm_test_var='a';nm_test_func();return(0);}
10385 -EOF
10386 -
10387 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10388 -  (eval $ac_compile) 2>&5
10389 -  ac_status=$?
10390 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10391 -  (exit $ac_status); }; then
10392 -    # Now try to grab the symbols.
10393 -    nlist=conftest.nm
10394 -    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
10395 -  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
10396 -  ac_status=$?
10397 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10398 -  (exit $ac_status); } && test -s "$nlist"; then
10399 -      # Try sorting and uniquifying the output.
10400 -      if sort "$nlist" | uniq > "$nlist"T; then
10401 -       mv -f "$nlist"T "$nlist"
10402 -      else
10403 -       rm -f "$nlist"T
10404 -      fi
10405 -
10406 -      # Make sure that we snagged all the symbols we need.
10407 -      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
10408 -       if egrep ' nm_test_func$' "$nlist" >/dev/null; then
10409 -         cat <<EOF > conftest.$ac_ext
10410 -#ifdef __cplusplus
10411 -extern "C" {
10412 -#endif
10413 -
10414 -EOF
10415 -         # Now generate the symbol file.
10416 -         eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
10417 -
10418 -         cat <<EOF >> conftest.$ac_ext
10419 -#if defined (__STDC__) && __STDC__
10420 -# define lt_ptr void *
10421 -#else
10422 -# define lt_ptr char *
10423 -# define const
10424 -#endif
10425 -
10426 -/* The mapping between symbol names and symbols. */
10427 -const struct {
10428 -  const char *name;
10429 -  lt_ptr address;
10430 -}
10431 -lt_preloaded_symbols[] =
10432 -{
10433 -EOF
10434 -         sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
10435 -         cat <<\EOF >> conftest.$ac_ext
10436 -  {0, (lt_ptr) 0}
10437 -};
10438 -
10439 -#ifdef __cplusplus
10440 -}
10441 -#endif
10442 -EOF
10443 -         # Now try linking the two files.
10444 -         mv conftest.$ac_objext conftstm.$ac_objext
10445 -         save_LIBS="$LIBS"
10446 -         save_CFLAGS="$CFLAGS"
10447 -         LIBS="conftstm.$ac_objext"
10448 -         CFLAGS="$CFLAGS$no_builtin_flag"
10449 -         if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
10450 -  (eval $ac_link) 2>&5
10451 -  ac_status=$?
10452 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10453 -  (exit $ac_status); } && test -s conftest; then
10454 -           pipe_works=yes
10455 -         fi
10456 -         LIBS="$save_LIBS"
10457 -         CFLAGS="$save_CFLAGS"
10458 -       else
10459 -         echo "cannot find nm_test_func in $nlist" >&5
10460 -       fi
10461 -      else
10462 -       echo "cannot find nm_test_var in $nlist" >&5
10463 -      fi
10464 -    else
10465 -      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
10466 -    fi
10467 -  else
10468 -    echo "$progname: failed program was:" >&5
10469 -    cat conftest.$ac_ext >&5
10470 -  fi
10471 -  rm -f conftest* conftst*
10472 -
10473 -  # Do not use the global_symbol_pipe unless it works.
10474 -  if test "$pipe_works" = yes; then
10475 -    break
10476 -  else
10477 -    lt_cv_sys_global_symbol_pipe=
10478 -  fi
10479 -done
10480 -
10481 -fi
10482 -
10483 -global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
10484 -if test -z "$lt_cv_sys_global_symbol_pipe"; then
10485 -  global_symbol_to_cdecl=
10486 -  global_symbol_to_c_name_address=
10487 -else
10488 -  global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
10489 -  global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
10490 -fi
10491 -if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
10492 -then
10493 -  echo "$as_me:$LINENO: result: failed" >&5
10494 -echo "${ECHO_T}failed" >&6
10495 -else
10496 -  echo "$as_me:$LINENO: result: ok" >&5
10497 -echo "${ECHO_T}ok" >&6
10498 -fi
10499 -
10500 -ac_ext=c
10501 -ac_cpp='$CPP $CPPFLAGS'
10502 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
10503 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
10504 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
10505 -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
10506 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
10507 -# On Suns, sometimes $CPP names a directory.
10508 -if test -n "$CPP" && test -d "$CPP"; then
10509 -  CPP=
10510 -fi
10511 -if test -z "$CPP"; then
10512 -  if test "${ac_cv_prog_CPP+set}" = set; then
10513 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10514 -else
10515 -      # Double quotes because CPP needs to be expanded
10516 -    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
10517 -    do
10518 -      ac_preproc_ok=false
10519 -for ac_c_preproc_warn_flag in '' yes
10520 -do
10521 -  # Use a header file that comes with gcc, so configuring glibc
10522 -  # with a fresh cross-compiler works.
10523 -  # On the NeXT, cc -E runs the code through the compiler's parser,
10524 -  # not just through cpp. "Syntax error" is here to catch this case.
10525 -  cat >conftest.$ac_ext <<_ACEOF
10526 -#line $LINENO "configure"
10527 -#include "confdefs.h"
10528 -@%:@include <assert.h>
10529 -                     Syntax error
10530 -_ACEOF
10531 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10532 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10533 -  ac_status=$?
10534 -  grep -v '^ *+' conftest.er1 >conftest.err
10535 -  rm -f conftest.er1
10536 -  cat conftest.err >&5
10537 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10538 -  (exit $ac_status); } >/dev/null; then
10539 -  if test -s conftest.err; then
10540 -    ac_cpp_err=$ac_c_preproc_warn_flag
10541 -  else
10542 -    ac_cpp_err=
10543 -  fi
10544 -else
10545 -  ac_cpp_err=yes
10546 -fi
10547 -if test -z "$ac_cpp_err"; then
10548 -  :
10549 -else
10550 -  echo "$as_me: failed program was:" >&5
10551 -  cat conftest.$ac_ext >&5
10552 -  # Broken: fails on valid input.
10553 -continue
10554 -fi
10555 -rm -f conftest.err conftest.$ac_ext
10556 -
10557 -  # OK, works on sane cases.  Now check whether non-existent headers
10558 -  # can be detected and how.
10559 -  cat >conftest.$ac_ext <<_ACEOF
10560 -#line $LINENO "configure"
10561 -#include "confdefs.h"
10562 -@%:@include <ac_nonexistent.h>
10563 -_ACEOF
10564 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10565 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10566 -  ac_status=$?
10567 -  grep -v '^ *+' conftest.er1 >conftest.err
10568 -  rm -f conftest.er1
10569 -  cat conftest.err >&5
10570 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10571 -  (exit $ac_status); } >/dev/null; then
10572 -  if test -s conftest.err; then
10573 -    ac_cpp_err=$ac_c_preproc_warn_flag
10574 -  else
10575 -    ac_cpp_err=
10576 -  fi
10577 -else
10578 -  ac_cpp_err=yes
10579 -fi
10580 -if test -z "$ac_cpp_err"; then
10581 -  # Broken: success on invalid input.
10582 -continue
10583 -else
10584 -  echo "$as_me: failed program was:" >&5
10585 -  cat conftest.$ac_ext >&5
10586 -  # Passes both tests.
10587 -ac_preproc_ok=:
10588 -break
10589 -fi
10590 -rm -f conftest.err conftest.$ac_ext
10591 -
10592 -done
10593 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
10594 -rm -f conftest.err conftest.$ac_ext
10595 -if $ac_preproc_ok; then
10596 -  break
10597 -fi
10598 -
10599 -    done
10600 -    ac_cv_prog_CPP=$CPP
10601 -  
10602 -fi
10603 -  CPP=$ac_cv_prog_CPP
10604 -else
10605 -  ac_cv_prog_CPP=$CPP
10606 -fi
10607 -echo "$as_me:$LINENO: result: $CPP" >&5
10608 -echo "${ECHO_T}$CPP" >&6
10609 -ac_preproc_ok=false
10610 -for ac_c_preproc_warn_flag in '' yes
10611 -do
10612 -  # Use a header file that comes with gcc, so configuring glibc
10613 -  # with a fresh cross-compiler works.
10614 -  # On the NeXT, cc -E runs the code through the compiler's parser,
10615 -  # not just through cpp. "Syntax error" is here to catch this case.
10616 -  cat >conftest.$ac_ext <<_ACEOF
10617 -#line $LINENO "configure"
10618 -#include "confdefs.h"
10619 -@%:@include <assert.h>
10620 -                     Syntax error
10621 -_ACEOF
10622 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10623 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10624 -  ac_status=$?
10625 -  grep -v '^ *+' conftest.er1 >conftest.err
10626 -  rm -f conftest.er1
10627 -  cat conftest.err >&5
10628 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10629 -  (exit $ac_status); } >/dev/null; then
10630 -  if test -s conftest.err; then
10631 -    ac_cpp_err=$ac_c_preproc_warn_flag
10632 -  else
10633 -    ac_cpp_err=
10634 -  fi
10635 -else
10636 -  ac_cpp_err=yes
10637 -fi
10638 -if test -z "$ac_cpp_err"; then
10639 -  :
10640 -else
10641 -  echo "$as_me: failed program was:" >&5
10642 -  cat conftest.$ac_ext >&5
10643 -  # Broken: fails on valid input.
10644 -continue
10645 -fi
10646 -rm -f conftest.err conftest.$ac_ext
10647 -
10648 -  # OK, works on sane cases.  Now check whether non-existent headers
10649 -  # can be detected and how.
10650 -  cat >conftest.$ac_ext <<_ACEOF
10651 -#line $LINENO "configure"
10652 -#include "confdefs.h"
10653 -@%:@include <ac_nonexistent.h>
10654 -_ACEOF
10655 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10656 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10657 -  ac_status=$?
10658 -  grep -v '^ *+' conftest.er1 >conftest.err
10659 -  rm -f conftest.er1
10660 -  cat conftest.err >&5
10661 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10662 -  (exit $ac_status); } >/dev/null; then
10663 -  if test -s conftest.err; then
10664 -    ac_cpp_err=$ac_c_preproc_warn_flag
10665 -  else
10666 -    ac_cpp_err=
10667 -  fi
10668 -else
10669 -  ac_cpp_err=yes
10670 -fi
10671 -if test -z "$ac_cpp_err"; then
10672 -  # Broken: success on invalid input.
10673 -continue
10674 -else
10675 -  echo "$as_me: failed program was:" >&5
10676 -  cat conftest.$ac_ext >&5
10677 -  # Passes both tests.
10678 -ac_preproc_ok=:
10679 -break
10680 -fi
10681 -rm -f conftest.err conftest.$ac_ext
10682 -
10683 -done
10684 -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
10685 -rm -f conftest.err conftest.$ac_ext
10686 -if $ac_preproc_ok; then
10687 -  :
10688 -else
10689 -  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5
10690 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
10691 -   { (exit 1); exit 1; }; }
10692 -fi
10693 -
10694 -ac_ext=c
10695 -ac_cpp='$CPP $CPPFLAGS'
10696 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
10697 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
10698 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
10699 -
10700 -
10701 -echo "$as_me:$LINENO: checking for egrep" >&5
10702 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6
10703 -if test "${ac_cv_prog_egrep+set}" = set; then
10704 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10705 -else
10706 -  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
10707 -    then ac_cv_prog_egrep='grep -E'
10708 -    else ac_cv_prog_egrep='egrep'
10709 -    fi
10710 -fi
10711 -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
10712 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6
10713 - EGREP=$ac_cv_prog_egrep
10714
10715 -
10716 -echo "$as_me:$LINENO: checking for ANSI C header files" >&5
10717 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
10718 -if test "${ac_cv_header_stdc+set}" = set; then
10719 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10720 -else
10721 -  cat >conftest.$ac_ext <<_ACEOF
10722 -#line $LINENO "configure"
10723 -#include "confdefs.h"
10724 -#include <stdlib.h>
10725 -#include <stdarg.h>
10726 -#include <string.h>
10727 -#include <float.h>
10728 -
10729 -_ACEOF
10730 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10731 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10732 -  ac_status=$?
10733 -  grep -v '^ *+' conftest.er1 >conftest.err
10734 -  rm -f conftest.er1
10735 -  cat conftest.err >&5
10736 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10737 -  (exit $ac_status); } >/dev/null; then
10738 -  if test -s conftest.err; then
10739 -    ac_cpp_err=$ac_c_preproc_warn_flag
10740 -  else
10741 -    ac_cpp_err=
10742 -  fi
10743 -else
10744 -  ac_cpp_err=yes
10745 -fi
10746 -if test -z "$ac_cpp_err"; then
10747 -  ac_cv_header_stdc=yes
10748 -else
10749 -  echo "$as_me: failed program was:" >&5
10750 -  cat conftest.$ac_ext >&5
10751 -  ac_cv_header_stdc=no
10752 -fi
10753 -rm -f conftest.err conftest.$ac_ext
10754 -
10755 -if test $ac_cv_header_stdc = yes; then
10756 -  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
10757 -  cat >conftest.$ac_ext <<_ACEOF
10758 -#line $LINENO "configure"
10759 -#include "confdefs.h"
10760 -#include <string.h>
10761 -
10762 -_ACEOF
10763 -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10764 -  $EGREP "memchr" >/dev/null 2>&1; then
10765 -  :
10766 -else
10767 -  ac_cv_header_stdc=no
10768 -fi
10769 -rm -f conftest*
10770 -
10771 -fi
10772 -
10773 -if test $ac_cv_header_stdc = yes; then
10774 -  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
10775 -  cat >conftest.$ac_ext <<_ACEOF
10776 -#line $LINENO "configure"
10777 -#include "confdefs.h"
10778 -#include <stdlib.h>
10779 -
10780 -_ACEOF
10781 -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10782 -  $EGREP "free" >/dev/null 2>&1; then
10783 -  :
10784 -else
10785 -  ac_cv_header_stdc=no
10786 -fi
10787 -rm -f conftest*
10788 -
10789 -fi
10790 -
10791 -if test $ac_cv_header_stdc = yes; then
10792 -  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
10793 -  if test "$cross_compiling" = yes; then
10794 -  :
10795 -else
10796 -  cat >conftest.$ac_ext <<_ACEOF
10797 -#line $LINENO "configure"
10798 -#include "confdefs.h"
10799 -#include <ctype.h>
10800 -#if ((' ' & 0x0FF) == 0x020)
10801 -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
10802 -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
10803 -#else
10804 -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
10805 -                     || ('j' <= (c) && (c) <= 'r') \
10806 -                     || ('s' <= (c) && (c) <= 'z'))
10807 -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
10808 -#endif
10809 -
10810 -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
10811 -int
10812 -main ()
10813 -{
10814 -  int i;
10815 -  for (i = 0; i < 256; i++)
10816 -    if (XOR (islower (i), ISLOWER (i))
10817 -        || toupper (i) != TOUPPER (i))
10818 -      exit(2);
10819 -  exit (0);
10820 -}
10821 -_ACEOF
10822 -rm -f conftest$ac_exeext
10823 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
10824 -  (eval $ac_link) 2>&5
10825 -  ac_status=$?
10826 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10827 -  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10828 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10829 -  (eval $ac_try) 2>&5
10830 -  ac_status=$?
10831 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10832 -  (exit $ac_status); }; }; then
10833 -  :
10834 -else
10835 -  echo "$as_me: program exited with status $ac_status" >&5
10836 -echo "$as_me: failed program was:" >&5
10837 -cat conftest.$ac_ext >&5
10838 -( exit $ac_status )
10839 -ac_cv_header_stdc=no
10840 -fi
10841 -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
10842 -fi
10843 -fi
10844 -fi
10845 -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
10846 -echo "${ECHO_T}$ac_cv_header_stdc" >&6
10847 -if test $ac_cv_header_stdc = yes; then
10848 -  
10849 -cat >>confdefs.h <<\_ACEOF
10850 -@%:@define STDC_HEADERS 1
10851 -_ACEOF
10852 -
10853 -fi
10854 -
10855 -# On IRIX 5.3, sys/types and inttypes.h are conflicting.
10856 -
10857 -
10858 -
10859 -
10860 -
10861 -
10862 -
10863 -
10864 -
10865 -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
10866 -                  inttypes.h stdint.h unistd.h
10867 -do
10868 -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10869 -echo "$as_me:$LINENO: checking for $ac_header" >&5
10870 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10871 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10872 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10873 -else
10874 -  cat >conftest.$ac_ext <<_ACEOF
10875 -#line $LINENO "configure"
10876 -#include "confdefs.h"
10877 -$ac_includes_default
10878 -
10879 -@%:@include <$ac_header>
10880 -_ACEOF
10881 -rm -f conftest.$ac_objext
10882 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10883 -  (eval $ac_compile) 2>&5
10884 -  ac_status=$?
10885 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10886 -  (exit $ac_status); } &&
10887 -         { ac_try='test -s conftest.$ac_objext'
10888 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10889 -  (eval $ac_try) 2>&5
10890 -  ac_status=$?
10891 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10892 -  (exit $ac_status); }; }; then
10893 -  eval "$as_ac_Header=yes"
10894 -else
10895 -  echo "$as_me: failed program was:" >&5
10896 -cat conftest.$ac_ext >&5
10897 -eval "$as_ac_Header=no"
10898 -fi
10899 -rm -f conftest.$ac_objext conftest.$ac_ext
10900 -fi
10901 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10902 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10903 -if test `eval echo '${'$as_ac_Header'}'` = yes; then
10904 -  cat >>confdefs.h <<_ACEOF
10905 -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
10906 -_ACEOF
10907
10908 -fi
10909 -
10910 -done
10911 -
10912 -
10913 -
10914 -for ac_header in dlfcn.h
10915 -do
10916 -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
10917 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10918 -  echo "$as_me:$LINENO: checking for $ac_header" >&5
10919 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
10920 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
10921 -  echo $ECHO_N "(cached) $ECHO_C" >&6
10922 -fi
10923 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
10924 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
10925 -else
10926 -  # Is the header compilable?
10927 -echo "$as_me:$LINENO: checking $ac_header usability" >&5
10928 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
10929 -cat >conftest.$ac_ext <<_ACEOF
10930 -#line $LINENO "configure"
10931 -#include "confdefs.h"
10932 -$ac_includes_default
10933 -@%:@include <$ac_header>
10934 -_ACEOF
10935 -rm -f conftest.$ac_objext
10936 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10937 -  (eval $ac_compile) 2>&5
10938 -  ac_status=$?
10939 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10940 -  (exit $ac_status); } &&
10941 -         { ac_try='test -s conftest.$ac_objext'
10942 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10943 -  (eval $ac_try) 2>&5
10944 -  ac_status=$?
10945 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10946 -  (exit $ac_status); }; }; then
10947 -  ac_header_compiler=yes
10948 -else
10949 -  echo "$as_me: failed program was:" >&5
10950 -cat conftest.$ac_ext >&5
10951 -ac_header_compiler=no
10952 -fi
10953 -rm -f conftest.$ac_objext conftest.$ac_ext
10954 -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
10955 -echo "${ECHO_T}$ac_header_compiler" >&6
10956 -
10957 -# Is the header present?
10958 -echo "$as_me:$LINENO: checking $ac_header presence" >&5
10959 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
10960 -cat >conftest.$ac_ext <<_ACEOF
10961 -#line $LINENO "configure"
10962 -#include "confdefs.h"
10963 -@%:@include <$ac_header>
10964 -_ACEOF
10965 -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
10966 -  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
10967 -  ac_status=$?
10968 -  grep -v '^ *+' conftest.er1 >conftest.err
10969 -  rm -f conftest.er1
10970 -  cat conftest.err >&5
10971 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10972 -  (exit $ac_status); } >/dev/null; then
10973 -  if test -s conftest.err; then
10974 -    ac_cpp_err=$ac_c_preproc_warn_flag
10975 -  else
10976 -    ac_cpp_err=
10977 -  fi
10978 -else
10979 -  ac_cpp_err=yes
10980 -fi
10981 -if test -z "$ac_cpp_err"; then
10982 -  ac_header_preproc=yes
10983 -else
10984 -  echo "$as_me: failed program was:" >&5
10985 -  cat conftest.$ac_ext >&5
10986 -  ac_header_preproc=no
10987 -fi
10988 -rm -f conftest.err conftest.$ac_ext
10989 -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
10990 -echo "${ECHO_T}$ac_header_preproc" >&6
10991 -
10992 -# So?  What about this header?
10993 -case $ac_header_compiler:$ac_header_preproc in
10994 -  yes:no )
10995 -    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
10996 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
10997 -    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
10998 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
10999 -  no:yes )
11000 -    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
11001 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
11002 -    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
11003 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
11004 -    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
11005 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
11006 -esac
11007 -echo "$as_me:$LINENO: checking for $ac_header" >&5
11008 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
11009 -if eval "test \"\${$as_ac_Header+set}\" = set"; then
11010 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11011 -else
11012 -  eval "$as_ac_Header=$ac_header_preproc"
11013 -fi
11014 -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
11015 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
11016 -
11017 -fi
11018 -if test `eval echo '${'$as_ac_Header'}'` = yes; then
11019 -  cat >>confdefs.h <<_ACEOF
11020 -@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
11021 -_ACEOF
11022
11023 -fi
11024 -
11025 -done
11026 -
11027 -
11028 -
11029 -
11030 -
11031 -# Only perform the check for file, if the check method requires it
11032 -case $deplibs_check_method in
11033 -file_magic*)
11034 -  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
11035 -    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
11036 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
11037 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
11038 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11039 -else
11040 -  case $MAGIC_CMD in
11041 -  /*)
11042 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
11043 -  ;;
11044 -  ?:/*)
11045 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
11046 -  ;;
11047 -  *)
11048 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
11049 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
11050 -  ac_dummy="/usr/bin:$PATH"
11051 -  for ac_dir in $ac_dummy; do
11052 -    test -z "$ac_dir" && ac_dir=.
11053 -    if test -f $ac_dir/${ac_tool_prefix}file; then
11054 -      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
11055 -      if test -n "$file_magic_test_file"; then
11056 -       case $deplibs_check_method in
11057 -       "file_magic "*)
11058 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
11059 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11060 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
11061 -           egrep "$file_magic_regex" > /dev/null; then
11062 -           :
11063 -         else
11064 -           cat <<EOF 1>&2
11065 -
11066 -*** Warning: the command libtool uses to detect shared libraries,
11067 -*** $file_magic_cmd, produces output that libtool cannot recognize.
11068 -*** The result is that libtool may fail to recognize shared libraries
11069 -*** as such.  This will affect the creation of libtool libraries that
11070 -*** depend on shared libraries, but programs linked with such libtool
11071 -*** libraries will work regardless of this problem.  Nevertheless, you
11072 -*** may want to report the problem to your system manager and/or to
11073 -*** bug-libtool@gnu.org
11074 -
11075 -EOF
11076 -         fi ;;
11077 -       esac
11078 -      fi
11079 -      break
11080 -    fi
11081 -  done
11082 -  IFS="$ac_save_ifs"
11083 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
11084 -  ;;
11085 -esac
11086 -fi
11087 -
11088 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11089 -if test -n "$MAGIC_CMD"; then
11090 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
11091 -echo "${ECHO_T}$MAGIC_CMD" >&6
11092 -else
11093 -  echo "$as_me:$LINENO: result: no" >&5
11094 -echo "${ECHO_T}no" >&6
11095 -fi
11096 -
11097 -if test -z "$lt_cv_path_MAGIC_CMD"; then
11098 -  if test -n "$ac_tool_prefix"; then
11099 -    echo "$as_me:$LINENO: checking for file" >&5
11100 -echo $ECHO_N "checking for file... $ECHO_C" >&6
11101 -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
11102 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11103 -else
11104 -  case $MAGIC_CMD in
11105 -  /*)
11106 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
11107 -  ;;
11108 -  ?:/*)
11109 -  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
11110 -  ;;
11111 -  *)
11112 -  ac_save_MAGIC_CMD="$MAGIC_CMD"
11113 -  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
11114 -  ac_dummy="/usr/bin:$PATH"
11115 -  for ac_dir in $ac_dummy; do
11116 -    test -z "$ac_dir" && ac_dir=.
11117 -    if test -f $ac_dir/file; then
11118 -      lt_cv_path_MAGIC_CMD="$ac_dir/file"
11119 -      if test -n "$file_magic_test_file"; then
11120 -       case $deplibs_check_method in
11121 -       "file_magic "*)
11122 -         file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
11123 -         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11124 -         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
11125 -           egrep "$file_magic_regex" > /dev/null; then
11126 -           :
11127 -         else
11128 -           cat <<EOF 1>&2
11129 -
11130 -*** Warning: the command libtool uses to detect shared libraries,
11131 -*** $file_magic_cmd, produces output that libtool cannot recognize.
11132 -*** The result is that libtool may fail to recognize shared libraries
11133 -*** as such.  This will affect the creation of libtool libraries that
11134 -*** depend on shared libraries, but programs linked with such libtool
11135 -*** libraries will work regardless of this problem.  Nevertheless, you
11136 -*** may want to report the problem to your system manager and/or to
11137 -*** bug-libtool@gnu.org
11138 -
11139 -EOF
11140 -         fi ;;
11141 -       esac
11142 -      fi
11143 -      break
11144 -    fi
11145 -  done
11146 -  IFS="$ac_save_ifs"
11147 -  MAGIC_CMD="$ac_save_MAGIC_CMD"
11148 -  ;;
11149 -esac
11150 -fi
11151 -
11152 -MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11153 -if test -n "$MAGIC_CMD"; then
11154 -  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
11155 -echo "${ECHO_T}$MAGIC_CMD" >&6
11156 -else
11157 -  echo "$as_me:$LINENO: result: no" >&5
11158 -echo "${ECHO_T}no" >&6
11159 -fi
11160 -
11161 -  else
11162 -    MAGIC_CMD=:
11163 -  fi
11164 -fi
11165 -
11166 -  fi
11167 -  ;;
11168 -esac
11169 -
11170 -if test -n "$ac_tool_prefix"; then
11171 -  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
11172 -set dummy ${ac_tool_prefix}ranlib; ac_word=$2
11173 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11174 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11175 -if test "${ac_cv_prog_RANLIB+set}" = set; then
11176 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11177 -else
11178 -  if test -n "$RANLIB"; then
11179 -  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
11180 -else
11181 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11182 -for as_dir in $PATH
11183 -do
11184 -  IFS=$as_save_IFS
11185 -  test -z "$as_dir" && as_dir=.
11186 -  for ac_exec_ext in '' $ac_executable_extensions; do
11187 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11188 -    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
11189 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11190 -    break 2
11191 -  fi
11192 -done
11193 -done
11194 -
11195 -fi
11196 -fi
11197 -RANLIB=$ac_cv_prog_RANLIB
11198 -if test -n "$RANLIB"; then
11199 -  echo "$as_me:$LINENO: result: $RANLIB" >&5
11200 -echo "${ECHO_T}$RANLIB" >&6
11201 -else
11202 -  echo "$as_me:$LINENO: result: no" >&5
11203 -echo "${ECHO_T}no" >&6
11204 -fi
11205 -
11206 -fi
11207 -if test -z "$ac_cv_prog_RANLIB"; then
11208 -  ac_ct_RANLIB=$RANLIB
11209 -  # Extract the first word of "ranlib", so it can be a program name with args.
11210 -set dummy ranlib; ac_word=$2
11211 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11212 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11213 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
11214 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11215 -else
11216 -  if test -n "$ac_ct_RANLIB"; then
11217 -  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
11218 -else
11219 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11220 -for as_dir in $PATH
11221 -do
11222 -  IFS=$as_save_IFS
11223 -  test -z "$as_dir" && as_dir=.
11224 -  for ac_exec_ext in '' $ac_executable_extensions; do
11225 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11226 -    ac_cv_prog_ac_ct_RANLIB="ranlib"
11227 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11228 -    break 2
11229 -  fi
11230 -done
11231 -done
11232 -
11233 -  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
11234 -fi
11235 -fi
11236 -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
11237 -if test -n "$ac_ct_RANLIB"; then
11238 -  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
11239 -echo "${ECHO_T}$ac_ct_RANLIB" >&6
11240 -else
11241 -  echo "$as_me:$LINENO: result: no" >&5
11242 -echo "${ECHO_T}no" >&6
11243 -fi
11244 -
11245 -  RANLIB=$ac_ct_RANLIB
11246 -else
11247 -  RANLIB="$ac_cv_prog_RANLIB"
11248 -fi
11249 -
11250 -if test -n "$ac_tool_prefix"; then
11251 -  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
11252 -set dummy ${ac_tool_prefix}strip; ac_word=$2
11253 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11254 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11255 -if test "${ac_cv_prog_STRIP+set}" = set; then
11256 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11257 -else
11258 -  if test -n "$STRIP"; then
11259 -  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
11260 -else
11261 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11262 -for as_dir in $PATH
11263 -do
11264 -  IFS=$as_save_IFS
11265 -  test -z "$as_dir" && as_dir=.
11266 -  for ac_exec_ext in '' $ac_executable_extensions; do
11267 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11268 -    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
11269 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11270 -    break 2
11271 -  fi
11272 -done
11273 -done
11274 -
11275 -fi
11276 -fi
11277 -STRIP=$ac_cv_prog_STRIP
11278 -if test -n "$STRIP"; then
11279 -  echo "$as_me:$LINENO: result: $STRIP" >&5
11280 -echo "${ECHO_T}$STRIP" >&6
11281 -else
11282 -  echo "$as_me:$LINENO: result: no" >&5
11283 -echo "${ECHO_T}no" >&6
11284 -fi
11285 -
11286 -fi
11287 -if test -z "$ac_cv_prog_STRIP"; then
11288 -  ac_ct_STRIP=$STRIP
11289 -  # Extract the first word of "strip", so it can be a program name with args.
11290 -set dummy strip; ac_word=$2
11291 -echo "$as_me:$LINENO: checking for $ac_word" >&5
11292 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
11293 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
11294 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11295 -else
11296 -  if test -n "$ac_ct_STRIP"; then
11297 -  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
11298 -else
11299 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11300 -for as_dir in $PATH
11301 -do
11302 -  IFS=$as_save_IFS
11303 -  test -z "$as_dir" && as_dir=.
11304 -  for ac_exec_ext in '' $ac_executable_extensions; do
11305 -  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
11306 -    ac_cv_prog_ac_ct_STRIP="strip"
11307 -    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11308 -    break 2
11309 -  fi
11310 -done
11311 -done
11312 -
11313 -  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
11314 -fi
11315 -fi
11316 -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
11317 -if test -n "$ac_ct_STRIP"; then
11318 -  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
11319 -echo "${ECHO_T}$ac_ct_STRIP" >&6
11320 -else
11321 -  echo "$as_me:$LINENO: result: no" >&5
11322 -echo "${ECHO_T}no" >&6
11323 -fi
11324 -
11325 -  STRIP=$ac_ct_STRIP
11326 -else
11327 -  STRIP="$ac_cv_prog_STRIP"
11328 -fi
11329 -
11330 -
11331 -enable_dlopen=no
11332 -enable_win32_dll=no
11333 -
11334 -# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
11335 -if test "${enable_libtool_lock+set}" = set; then
11336 -  enableval="$enable_libtool_lock"
11337 -  
11338 -fi; 
11339 -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
11340 -
11341 -# Some flags need to be propagated to the compiler or linker for good
11342 -# libtool support.
11343 -case $host in
11344 -*-*-irix6*)
11345 -  # Find out which ABI we are using.
11346 -  echo '#line __oline__ "configure"' > conftest.$ac_ext
11347 -  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11348 -  (eval $ac_compile) 2>&5
11349 -  ac_status=$?
11350 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11351 -  (exit $ac_status); }; then
11352 -    case `/usr/bin/file conftest.$ac_objext` in
11353 -    *32-bit*)
11354 -      LD="${LD-ld} -32"
11355 -      ;;
11356 -    *N32*)
11357 -      LD="${LD-ld} -n32"
11358 -      ;;
11359 -    *64-bit*)
11360 -      LD="${LD-ld} -64"
11361 -      ;;
11362 -    esac
11363 -  fi
11364 -  rm -rf conftest*
11365 -  ;;
11366 -
11367 -*-*-sco3.2v5*)
11368 -  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
11369 -  SAVE_CFLAGS="$CFLAGS"
11370 -  CFLAGS="$CFLAGS -belf"
11371 -  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
11372 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
11373 -if test "${lt_cv_cc_needs_belf+set}" = set; then
11374 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11375 -else
11376 -  
11377 -
11378 -     ac_ext=c
11379 -ac_cpp='$CPP $CPPFLAGS'
11380 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11381 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11382 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
11383 -
11384 -     cat >conftest.$ac_ext <<_ACEOF
11385 -#line $LINENO "configure"
11386 -#include "confdefs.h"
11387 -
11388 -int
11389 -main ()
11390 -{
11391 -
11392 -  ;
11393 -  return 0;
11394 -}
11395 -_ACEOF
11396 -rm -f conftest.$ac_objext conftest$ac_exeext
11397 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
11398 -  (eval $ac_link) 2>&5
11399 -  ac_status=$?
11400 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11401 -  (exit $ac_status); } &&
11402 -         { ac_try='test -s conftest$ac_exeext'
11403 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11404 -  (eval $ac_try) 2>&5
11405 -  ac_status=$?
11406 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11407 -  (exit $ac_status); }; }; then
11408 -  lt_cv_cc_needs_belf=yes
11409 -else
11410 -  echo "$as_me: failed program was:" >&5
11411 -cat conftest.$ac_ext >&5
11412 -lt_cv_cc_needs_belf=no
11413 -fi
11414 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
11415 -     ac_ext=c
11416 -ac_cpp='$CPP $CPPFLAGS'
11417 -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11418 -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11419 -ac_compiler_gnu=$ac_cv_c_compiler_gnu
11420 -
11421 -fi
11422 -echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
11423 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
11424 -  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
11425 -    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
11426 -    CFLAGS="$SAVE_CFLAGS"
11427 -  fi
11428 -  ;;
11429 -
11430 -
11431 -esac
11432 -
11433 -# Sed substitution that helps us do robust quoting.  It backslashifies
11434 -# metacharacters that are still active within double-quoted strings.
11435 -Xsed='sed -e s/^X//'
11436 -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
11437 -
11438 -# Same as above, but do not quote variable references.
11439 -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
11440 -
11441 -# Sed substitution to delay expansion of an escaped shell variable in a
11442 -# double_quote_subst'ed string.
11443 -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
11444 -
11445 -# Constants:
11446 -rm="rm -f"
11447 -
11448 -# Global variables:
11449 -default_ofile=libtool
11450 -can_build_shared=yes
11451 -
11452 -# All known linkers require a `.a' archive for static linking (except M$VC,
11453 -# which needs '.lib').
11454 -libext=a
11455 -ltmain="$ac_aux_dir/ltmain.sh"
11456 -ofile="$default_ofile"
11457 -with_gnu_ld="$lt_cv_prog_gnu_ld"
11458 -need_locks="$enable_libtool_lock"
11459 -
11460 -old_CC="$CC"
11461 -old_CFLAGS="$CFLAGS"
11462 -
11463 -# Set sane defaults for various variables
11464 -test -z "$AR" && AR=ar
11465 -test -z "$AR_FLAGS" && AR_FLAGS=cru
11466 -test -z "$AS" && AS=as
11467 -test -z "$CC" && CC=cc
11468 -test -z "$DLLTOOL" && DLLTOOL=dlltool
11469 -test -z "$LD" && LD=ld
11470 -test -z "$LN_S" && LN_S="ln -s"
11471 -test -z "$MAGIC_CMD" && MAGIC_CMD=file
11472 -test -z "$NM" && NM=nm
11473 -test -z "$OBJDUMP" && OBJDUMP=objdump
11474 -test -z "$RANLIB" && RANLIB=:
11475 -test -z "$STRIP" && STRIP=:
11476 -test -z "$ac_objext" && ac_objext=o
11477 -
11478 -if test x"$host" != x"$build"; then
11479 -  ac_tool_prefix=${host_alias}-
11480 -else
11481 -  ac_tool_prefix=
11482 -fi
11483 -
11484 -# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
11485 -case $host_os in
11486 -linux-gnu*) ;;
11487 -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
11488 -esac
11489 -
11490 -case $host_os in
11491 -aix3*)
11492 -  # AIX sometimes has problems with the GCC collect2 program.  For some
11493 -  # reason, if we set the COLLECT_NAMES environment variable, the problems
11494 -  # vanish in a puff of smoke.
11495 -  if test "X${COLLECT_NAMES+set}" != Xset; then
11496 -    COLLECT_NAMES=
11497 -    export COLLECT_NAMES
11498 -  fi
11499 -  ;;
11500 -esac
11501 -
11502 -# Determine commands to create old-style static archives.
11503 -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
11504 -old_postinstall_cmds='chmod 644 $oldlib'
11505 -old_postuninstall_cmds=
11506 -
11507 -if test -n "$RANLIB"; then
11508 -  case $host_os in
11509 -  openbsd*)
11510 -    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
11511 -    ;;
11512 -  *)
11513 -    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
11514 -    ;;
11515 -  esac
11516 -  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
11517 -fi
11518 -
11519 -# Allow CC to be a program name with arguments.
11520 -set dummy $CC
11521 -compiler="$2"
11522 -
11523 -echo "$as_me:$LINENO: checking for objdir" >&5
11524 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6
11525 -rm -f .libs 2>/dev/null
11526 -mkdir .libs 2>/dev/null
11527 -if test -d .libs; then
11528 -  objdir=.libs
11529 -else
11530 -  # MS-DOS does not allow filenames that begin with a dot.
11531 -  objdir=_libs
11532 -fi
11533 -rmdir .libs 2>/dev/null
11534 -echo "$as_me:$LINENO: result: $objdir" >&5
11535 -echo "${ECHO_T}$objdir" >&6
11536 -
11537 -
11538 -
11539 -# Check whether --with-pic or --without-pic was given.
11540 -if test "${with_pic+set}" = set; then
11541 -  withval="$with_pic"
11542 -  pic_mode="$withval"
11543 -else
11544 -  pic_mode=default
11545 -fi; 
11546 -test -z "$pic_mode" && pic_mode=default
11547 -
11548 -# We assume here that the value for lt_cv_prog_cc_pic will not be cached
11549 -# in isolation, and that seeing it set (from the cache) indicates that
11550 -# the associated values are set (in the cache) correctly too.
11551 -echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
11552 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
11553 -if test "${lt_cv_prog_cc_pic+set}" = set; then
11554 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11555 -else
11556 -   lt_cv_prog_cc_pic=
11557 -  lt_cv_prog_cc_shlib=
11558 -  lt_cv_prog_cc_wl=
11559 -  lt_cv_prog_cc_static=
11560 -  lt_cv_prog_cc_no_builtin=
11561 -  lt_cv_prog_cc_can_build_shared=$can_build_shared
11562 -
11563 -  if test "$GCC" = yes; then
11564 -    lt_cv_prog_cc_wl='-Wl,'
11565 -    lt_cv_prog_cc_static='-static'
11566 -
11567 -    case $host_os in
11568 -    aix*)
11569 -      # Below there is a dirty hack to force normal static linking with -ldl
11570 -      # The problem is because libdl dynamically linked with both libc and
11571 -      # libC (AIX C++ library), which obviously doesn't included in libraries
11572 -      # list by gcc. This cause undefined symbols with -static flags.
11573 -      # This hack allows C programs to be linked with "-static -ldl", but
11574 -      # not sure about C++ programs.
11575 -      lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
11576 -      ;;
11577 -    amigaos*)
11578 -      # FIXME: we need at least 68020 code to build shared libraries, but
11579 -      # adding the `-m68020' flag to GCC prevents building anything better,
11580 -      # like `-m68040'.
11581 -      lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
11582 -      ;;
11583 -    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
11584 -      # PIC is the default for these OSes.
11585 -      ;;
11586 -    darwin* | rhapsody*)
11587 -      # PIC is the default on this platform
11588 -      # Common symbols not allowed in MH_DYLIB files
11589 -      lt_cv_prog_cc_pic='-fno-common'
11590 -      ;;
11591 -    cygwin* | mingw* | pw32* | os2*)
11592 -      # This hack is so that the source file can tell whether it is being
11593 -      # built for inclusion in a dll (and should export symbols for example).
11594 -      lt_cv_prog_cc_pic='-DDLL_EXPORT'
11595 -      ;;
11596 -    sysv4*MP*)
11597 -      if test -d /usr/nec; then
11598 -        lt_cv_prog_cc_pic=-Kconform_pic
11599 -      fi
11600 -      ;;
11601 -    *)
11602 -      lt_cv_prog_cc_pic='-fPIC'
11603 -      ;;
11604 -    esac
11605 -  else
11606 -    # PORTME Check for PIC flags for the system compiler.
11607 -    case $host_os in
11608 -    aix3* | aix4* | aix5*)
11609 -      lt_cv_prog_cc_wl='-Wl,'
11610 -      # All AIX code is PIC.
11611 -      if test "$host_cpu" = ia64; then
11612 -       # AIX 5 now supports IA64 processor
11613 -       lt_cv_prog_cc_static='-Bstatic'
11614 -      else
11615 -       lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
11616 -      fi
11617 -      ;;
11618 -
11619 -    hpux9* | hpux10* | hpux11*)
11620 -      # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
11621 -      lt_cv_prog_cc_wl='-Wl,'
11622 -      lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
11623 -      lt_cv_prog_cc_pic='+Z'
11624 -      ;;
11625 -
11626 -    irix5* | irix6*)
11627 -      lt_cv_prog_cc_wl='-Wl,'
11628 -      lt_cv_prog_cc_static='-non_shared'
11629 -      # PIC (with -KPIC) is the default.
11630 -      ;;
11631 -
11632 -    cygwin* | mingw* | pw32* | os2*)
11633 -      # This hack is so that the source file can tell whether it is being
11634 -      # built for inclusion in a dll (and should export symbols for example).
11635 -      lt_cv_prog_cc_pic='-DDLL_EXPORT'
11636 -      ;;
11637 -
11638 -    newsos6)
11639 -      lt_cv_prog_cc_pic='-KPIC'
11640 -      lt_cv_prog_cc_static='-Bstatic'
11641 -      ;;
11642 -
11643 -    osf3* | osf4* | osf5*)
11644 -      # All OSF/1 code is PIC.
11645 -      lt_cv_prog_cc_wl='-Wl,'
11646 -      lt_cv_prog_cc_static='-non_shared'
11647 -      ;;
11648 -
11649 -    sco3.2v5*)
11650 -      lt_cv_prog_cc_pic='-Kpic'
11651 -      lt_cv_prog_cc_static='-dn'
11652 -      lt_cv_prog_cc_shlib='-belf'
11653 -      ;;
11654 -
11655 -    solaris*)
11656 -      lt_cv_prog_cc_pic='-KPIC'
11657 -      lt_cv_prog_cc_static='-Bstatic'
11658 -      lt_cv_prog_cc_wl='-Wl,'
11659 -      ;;
11660 -
11661 -    sunos4*)
11662 -      lt_cv_prog_cc_pic='-PIC'
11663 -      lt_cv_prog_cc_static='-Bstatic'
11664 -      lt_cv_prog_cc_wl='-Qoption ld '
11665 -      ;;
11666 -
11667 -    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
11668 -      lt_cv_prog_cc_pic='-KPIC'
11669 -      lt_cv_prog_cc_static='-Bstatic'
11670 -      if test "x$host_vendor" = xsni; then
11671 -       lt_cv_prog_cc_wl='-LD'
11672 -      else
11673 -       lt_cv_prog_cc_wl='-Wl,'
11674 -      fi
11675 -      ;;
11676 -
11677 -    uts4*)
11678 -      lt_cv_prog_cc_pic='-pic'
11679 -      lt_cv_prog_cc_static='-Bstatic'
11680 -      ;;
11681 -
11682 -    sysv4*MP*)
11683 -      if test -d /usr/nec ;then
11684 -       lt_cv_prog_cc_pic='-Kconform_pic'
11685 -       lt_cv_prog_cc_static='-Bstatic'
11686 -      fi
11687 -      ;;
11688 -
11689 -    *)
11690 -      lt_cv_prog_cc_can_build_shared=no
11691 -      ;;
11692 -    esac
11693 -  fi
11694 -
11695 -fi
11696 -
11697 -if test -z "$lt_cv_prog_cc_pic"; then
11698 -  echo "$as_me:$LINENO: result: none" >&5
11699 -echo "${ECHO_T}none" >&6
11700 -else
11701 -  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
11702 -echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6
11703 -
11704 -  # Check to make sure the pic_flag actually works.
11705 -  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
11706 -echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6
11707 -  if test "${lt_cv_prog_cc_pic_works+set}" = set; then
11708 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11709 -else
11710 -      save_CFLAGS="$CFLAGS"
11711 -    CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
11712 -    cat >conftest.$ac_ext <<_ACEOF
11713 -#line $LINENO "configure"
11714 -#include "confdefs.h"
11715 -
11716 -int
11717 -main ()
11718 -{
11719 -
11720 -  ;
11721 -  return 0;
11722 -}
11723 -_ACEOF
11724 -rm -f conftest.$ac_objext
11725 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11726 -  (eval $ac_compile) 2>&5
11727 -  ac_status=$?
11728 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11729 -  (exit $ac_status); } &&
11730 -         { ac_try='test -s conftest.$ac_objext'
11731 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11732 -  (eval $ac_try) 2>&5
11733 -  ac_status=$?
11734 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11735 -  (exit $ac_status); }; }; then
11736 -        case $host_os in
11737 -      hpux9* | hpux10* | hpux11*)
11738 -       # On HP-UX, both CC and GCC only warn that PIC is supported... then
11739 -       # they create non-PIC objects.  So, if there were any warnings, we
11740 -       # assume that PIC is not supported.
11741 -       if test -s conftest.err; then
11742 -         lt_cv_prog_cc_pic_works=no
11743 -       else
11744 -         lt_cv_prog_cc_pic_works=yes
11745 -       fi
11746 -       ;;
11747 -      *)
11748 -       lt_cv_prog_cc_pic_works=yes
11749 -       ;;
11750 -      esac
11751 -    
11752 -else
11753 -  echo "$as_me: failed program was:" >&5
11754 -cat conftest.$ac_ext >&5
11755 -      lt_cv_prog_cc_pic_works=no
11756 -    
11757 -fi
11758 -rm -f conftest.$ac_objext conftest.$ac_ext
11759 -    CFLAGS="$save_CFLAGS"
11760 -  
11761 -fi
11762 -
11763 -
11764 -  if test "X$lt_cv_prog_cc_pic_works" = Xno; then
11765 -    lt_cv_prog_cc_pic=
11766 -    lt_cv_prog_cc_can_build_shared=no
11767 -  else
11768 -    lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
11769 -  fi
11770 -
11771 -  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
11772 -echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6
11773 -fi
11774 -
11775 -# Check for any special shared library compilation flags.
11776 -if test -n "$lt_cv_prog_cc_shlib"; then
11777 -  { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5
11778 -echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;}
11779 -  if echo "$old_CC $old_CFLAGS " | egrep -e "[         ]$lt_cv_prog_cc_shlib[  ]" >/dev/null; then :
11780 -  else
11781 -   { echo "$as_me:$LINENO: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
11782 -echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
11783 -    lt_cv_prog_cc_can_build_shared=no
11784 -  fi
11785 -fi
11786 -
11787 -echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
11788 -echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6
11789 -if test "${lt_cv_prog_cc_static_works+set}" = set; then
11790 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11791 -else
11792 -    lt_cv_prog_cc_static_works=no
11793 -  save_LDFLAGS="$LDFLAGS"
11794 -  LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
11795 -  cat >conftest.$ac_ext <<_ACEOF
11796 -#line $LINENO "configure"
11797 -#include "confdefs.h"
11798 -
11799 -int
11800 -main ()
11801 -{
11802 -
11803 -  ;
11804 -  return 0;
11805 -}
11806 -_ACEOF
11807 -rm -f conftest.$ac_objext conftest$ac_exeext
11808 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
11809 -  (eval $ac_link) 2>&5
11810 -  ac_status=$?
11811 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11812 -  (exit $ac_status); } &&
11813 -         { ac_try='test -s conftest$ac_exeext'
11814 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11815 -  (eval $ac_try) 2>&5
11816 -  ac_status=$?
11817 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11818 -  (exit $ac_status); }; }; then
11819 -  lt_cv_prog_cc_static_works=yes
11820 -else
11821 -  echo "$as_me: failed program was:" >&5
11822 -cat conftest.$ac_ext >&5
11823 -fi
11824 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
11825 -  LDFLAGS="$save_LDFLAGS"
11826 -
11827 -fi
11828 -
11829 -
11830 -# Belt *and* braces to stop my trousers falling down:
11831 -test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
11832 -echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
11833 -echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6
11834 -
11835 -pic_flag="$lt_cv_prog_cc_pic"
11836 -special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
11837 -wl="$lt_cv_prog_cc_wl"
11838 -link_static_flag="$lt_cv_prog_cc_static"
11839 -no_builtin_flag="$lt_cv_prog_cc_no_builtin"
11840 -can_build_shared="$lt_cv_prog_cc_can_build_shared"
11841 -
11842 -
11843 -# Check to see if options -o and -c are simultaneously supported by compiler
11844 -echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
11845 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
11846 -if test "${lt_cv_compiler_c_o+set}" = set; then
11847 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11848 -else
11849 -  
11850 -$rm -r conftest 2>/dev/null
11851 -mkdir conftest
11852 -cd conftest
11853 -echo "int some_variable = 0;" > conftest.$ac_ext
11854 -mkdir out
11855 -# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
11856 -# that will create temporary files in the current directory regardless of
11857 -# the output directory.  Thus, making CWD read-only will cause this test
11858 -# to fail, enabling locking or at least warning the user not to do parallel
11859 -# builds.
11860 -chmod -w .
11861 -save_CFLAGS="$CFLAGS"
11862 -CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
11863 -compiler_c_o=no
11864 -if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
11865 -  # The compiler can only warn and ignore the option if not recognized
11866 -  # So say no if there are warnings
11867 -  if test -s out/conftest.err; then
11868 -    lt_cv_compiler_c_o=no
11869 -  else
11870 -    lt_cv_compiler_c_o=yes
11871 -  fi
11872 -else
11873 -  # Append any errors to the config.log.
11874 -  cat out/conftest.err 1>&5
11875 -  lt_cv_compiler_c_o=no
11876 -fi
11877 -CFLAGS="$save_CFLAGS"
11878 -chmod u+w .
11879 -$rm conftest* out/*
11880 -rmdir out
11881 -cd ..
11882 -rmdir conftest
11883 -$rm -r conftest 2>/dev/null
11884 -
11885 -fi
11886 -
11887 -compiler_c_o=$lt_cv_compiler_c_o
11888 -echo "$as_me:$LINENO: result: $compiler_c_o" >&5
11889 -echo "${ECHO_T}$compiler_c_o" >&6
11890 -
11891 -if test x"$compiler_c_o" = x"yes"; then
11892 -  # Check to see if we can write to a .lo
11893 -  echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
11894 -echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6
11895 -  if test "${lt_cv_compiler_o_lo+set}" = set; then
11896 -  echo $ECHO_N "(cached) $ECHO_C" >&6
11897 -else
11898 -  
11899 -  lt_cv_compiler_o_lo=no
11900 -  save_CFLAGS="$CFLAGS"
11901 -  CFLAGS="$CFLAGS -c -o conftest.lo"
11902 -  save_objext="$ac_objext"
11903 -  ac_objext=lo
11904 -  cat >conftest.$ac_ext <<_ACEOF
11905 -#line $LINENO "configure"
11906 -#include "confdefs.h"
11907 -
11908 -int
11909 -main ()
11910 -{
11911 -int some_variable = 0;
11912 -  ;
11913 -  return 0;
11914 -}
11915 -_ACEOF
11916 -rm -f conftest.$ac_objext
11917 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11918 -  (eval $ac_compile) 2>&5
11919 -  ac_status=$?
11920 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11921 -  (exit $ac_status); } &&
11922 -         { ac_try='test -s conftest.$ac_objext'
11923 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
11924 -  (eval $ac_try) 2>&5
11925 -  ac_status=$?
11926 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
11927 -  (exit $ac_status); }; }; then
11928 -      # The compiler can only warn and ignore the option if not recognized
11929 -    # So say no if there are warnings
11930 -    if test -s conftest.err; then
11931 -      lt_cv_compiler_o_lo=no
11932 -    else
11933 -      lt_cv_compiler_o_lo=yes
11934 -    fi
11935 -  
11936 -else
11937 -  echo "$as_me: failed program was:" >&5
11938 -cat conftest.$ac_ext >&5
11939 -fi
11940 -rm -f conftest.$ac_objext conftest.$ac_ext
11941 -  ac_objext="$save_objext"
11942 -  CFLAGS="$save_CFLAGS"
11943 -  
11944 -fi
11945 -
11946 -  compiler_o_lo=$lt_cv_compiler_o_lo
11947 -  echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
11948 -echo "${ECHO_T}$compiler_o_lo" >&6
11949 -else
11950 -  compiler_o_lo=no
11951 -fi
11952 -
11953 -# Check to see if we can do hard links to lock some files if needed
11954 -hard_links="nottested"
11955 -if test "$compiler_c_o" = no && test "$need_locks" != no; then
11956 -  # do not overwrite the value of need_locks provided by the user
11957 -  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
11958 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
11959 -  hard_links=yes
11960 -  $rm conftest*
11961 -  ln conftest.a conftest.b 2>/dev/null && hard_links=no
11962 -  touch conftest.a
11963 -  ln conftest.a conftest.b 2>&5 || hard_links=no
11964 -  ln conftest.a conftest.b 2>/dev/null && hard_links=no
11965 -  echo "$as_me:$LINENO: result: $hard_links" >&5
11966 -echo "${ECHO_T}$hard_links" >&6
11967 -  if test "$hard_links" = no; then
11968 -    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
11969 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
11970 -    need_locks=warn
11971 -  fi
11972 -else
11973 -  need_locks=no
11974 -fi
11975 -
11976 -if test "$GCC" = yes; then
11977 -  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
11978 -  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
11979 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
11980 -  echo "int some_variable = 0;" > conftest.$ac_ext
11981 -  save_CFLAGS="$CFLAGS"
11982 -  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
11983 -  compiler_rtti_exceptions=no
11984 -  cat >conftest.$ac_ext <<_ACEOF
11985 -#line $LINENO "configure"
11986 -#include "confdefs.h"
11987 -
11988 -int
11989 -main ()
11990 -{
11991 -int some_variable = 0;
11992 -  ;
11993 -  return 0;
11994 -}
11995 -_ACEOF
11996 -rm -f conftest.$ac_objext
11997 -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
11998 -  (eval $ac_compile) 2>&5
11999 -  ac_status=$?
12000 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
12001 -  (exit $ac_status); } &&
12002 -         { ac_try='test -s conftest.$ac_objext'
12003 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
12004 -  (eval $ac_try) 2>&5
12005 -  ac_status=$?
12006 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
12007 -  (exit $ac_status); }; }; then
12008 -      # The compiler can only warn and ignore the option if not recognized
12009 -    # So say no if there are warnings
12010 -    if test -s conftest.err; then
12011 -      compiler_rtti_exceptions=no
12012 -    else
12013 -      compiler_rtti_exceptions=yes
12014 -    fi
12015 -  
12016 -else
12017 -  echo "$as_me: failed program was:" >&5
12018 -cat conftest.$ac_ext >&5
12019 -fi
12020 -rm -f conftest.$ac_objext conftest.$ac_ext
12021 -  CFLAGS="$save_CFLAGS"
12022 -  echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
12023 -echo "${ECHO_T}$compiler_rtti_exceptions" >&6
12024 -
12025 -  if test "$compiler_rtti_exceptions" = "yes"; then
12026 -    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
12027 -  else
12028 -    no_builtin_flag=' -fno-builtin'
12029 -  fi
12030 -fi
12031 -
12032 -# See if the linker supports building shared libraries.
12033 -echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
12034 -echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6
12035 -
12036 -allow_undefined_flag=
12037 -no_undefined_flag=
12038 -need_lib_prefix=unknown
12039 -need_version=unknown
12040 -# when you set need_version to no, make sure it does not cause -set_version
12041 -# flags to be left without arguments
12042 -archive_cmds=
12043 -archive_expsym_cmds=
12044 -old_archive_from_new_cmds=
12045 -old_archive_from_expsyms_cmds=
12046 -export_dynamic_flag_spec=
12047 -whole_archive_flag_spec=
12048 -thread_safe_flag_spec=
12049 -hardcode_into_libs=no
12050 -hardcode_libdir_flag_spec=
12051 -hardcode_libdir_separator=
12052 -hardcode_direct=no
12053 -hardcode_minus_L=no
12054 -hardcode_shlibpath_var=unsupported
12055 -runpath_var=
12056 -link_all_deplibs=unknown
12057 -always_export_symbols=no
12058 -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
12059 -# include_expsyms should be a list of space-separated symbols to be *always*
12060 -# included in the symbol list
12061 -include_expsyms=
12062 -# exclude_expsyms can be an egrep regular expression of symbols to exclude
12063 -# it will be wrapped by ` (' and `)$', so one must not match beginning or
12064 -# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
12065 -# as well as any symbol that contains `d'.
12066 -exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
12067 -# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
12068 -# platforms (ab)use it in PIC code, but their linkers get confused if
12069 -# the symbol is explicitly referenced.  Since portable code cannot
12070 -# rely on this symbol name, it's probably fine to never include it in
12071 -# preloaded symbol tables.
12072 -extract_expsyms_cmds=
12073 -
12074 -case $host_os in
12075 -cygwin* | mingw* | pw32*)
12076 -  # FIXME: the MSVC++ port hasn't been tested in a loooong time
12077 -  # When not using gcc, we currently assume that we are using
12078 -  # Microsoft Visual C++.
12079 -  if test "$GCC" != yes; then
12080 -    with_gnu_ld=no
12081 -  fi
12082 -  ;;
12083 -openbsd*)
12084 -  with_gnu_ld=no
12085 -  ;;
12086 -esac
12087 -
12088 -ld_shlibs=yes
12089 -if test "$with_gnu_ld" = yes; then
12090 -  # If archive_cmds runs LD, not CC, wlarc should be empty
12091 -  wlarc='${wl}'
12092 -
12093 -  # See if GNU ld supports shared libraries.
12094 -  case $host_os in
12095 -  aix3* | aix4* | aix5*)
12096 -    # On AIX, the GNU linker is very broken
12097 -    # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
12098 -    ld_shlibs=no
12099 -    cat <<EOF 1>&2
12100 -
12101 -*** Warning: the GNU linker, at least up to release 2.9.1, is reported
12102 -*** to be unable to reliably create shared libraries on AIX.
12103 -*** Therefore, libtool is disabling shared libraries support.  If you
12104 -*** really care for shared libraries, you may want to modify your PATH
12105 -*** so that a non-GNU linker is found, and then restart.
12106 -
12107 -EOF
12108 -    ;;
12109 -
12110 -  amigaos*)
12111 -    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)'
12112 -    hardcode_libdir_flag_spec='-L$libdir'
12113 -    hardcode_minus_L=yes
12114 -
12115 -    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
12116 -    # that the semantics of dynamic libraries on AmigaOS, at least up
12117 -    # to version 4, is to share data among multiple programs linked
12118 -    # with the same dynamic library.  Since this doesn't match the
12119 -    # behavior of shared libraries on other platforms, we can use
12120 -    # them.
12121 -    ld_shlibs=no
12122 -    ;;
12123 -
12124 -  beos*)
12125 -    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
12126 -      allow_undefined_flag=unsupported
12127 -      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
12128 -      # support --undefined.  This deserves some investigation.  FIXME
12129 -      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12130 -    else
12131 -      ld_shlibs=no
12132 -    fi
12133 -    ;;
12134 -
12135 -  cygwin* | mingw* | pw32*)
12136 -    # hardcode_libdir_flag_spec is actually meaningless, as there is
12137 -    # no search path for DLLs.
12138 -    hardcode_libdir_flag_spec='-L$libdir'
12139 -    allow_undefined_flag=unsupported
12140 -    always_export_symbols=yes
12141 -
12142 -    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
12143 -      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
12144 -      test -f $output_objdir/impgen.exe || (cd $output_objdir && \
12145 -      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
12146 -      else $CC -o impgen impgen.c ; fi)~
12147 -      $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
12148 -
12149 -    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
12150 -
12151 -    # cygwin and mingw dlls have different entry points and sets of symbols
12152 -    # to exclude.
12153 -    # FIXME: what about values for MSVC?
12154 -    dll_entry=__cygwin_dll_entry@12
12155 -    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
12156 -    case $host_os in
12157 -    mingw*)
12158 -      # mingw values
12159 -      dll_entry=_DllMainCRTStartup@12
12160 -      dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
12161 -      ;;
12162 -    esac
12163 -
12164 -    # mingw and cygwin differ, and it's simplest to just exclude the union
12165 -    # of the two symbol sets.
12166 -    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
12167 -
12168 -    # recent cygwin and mingw systems supply a stub DllMain which the user
12169 -    # can override, but on older systems we have to supply one (in ltdll.c)
12170 -    if test "x$lt_cv_need_dllmain" = "xyes"; then
12171 -      ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
12172 -      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~
12173 -       test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
12174 -    else
12175 -      ltdll_obj=
12176 -      ltdll_cmds=
12177 -    fi
12178 -
12179 -    # Extract the symbol export list from an `--export-all' def file,
12180 -    # then regenerate the def file from the symbol export list, so that
12181 -    # the compiled dll only exports the symbol export list.
12182 -    # Be careful not to strip the DATA tag left be newer dlltools.
12183 -    export_symbols_cmds="$ltdll_cmds"'
12184 -      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
12185 -      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
12186 -
12187 -    # If the export-symbols file already is a .def file (1st line
12188 -    # is EXPORTS), use it as is.
12189 -    # If DATA tags from a recent dlltool are present, honour them!
12190 -    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
12191 -       cp $export_symbols $output_objdir/$soname-def;
12192 -      else
12193 -       echo EXPORTS > $output_objdir/$soname-def;
12194 -       _lt_hint=1;
12195 -       cat $export_symbols | while read symbol; do
12196 -        set dummy \$symbol;
12197 -        case \$# in
12198 -          2) echo "   \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
12199 -          *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
12200 -        esac;
12201 -        _lt_hint=`expr 1 + \$_lt_hint`;
12202 -       done;
12203 -      fi~
12204 -      '"$ltdll_cmds"'
12205 -      $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~
12206 -      $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~
12207 -      $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~
12208 -      $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~
12209 -      $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
12210 -    ;;
12211 -
12212 -  netbsd*)
12213 -    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12214 -      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
12215 -      wlarc=
12216 -    else
12217 -      archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12218 -      archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12219 -    fi
12220 -    ;;
12221 -
12222 -  solaris* | sysv5*)
12223 -    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
12224 -      ld_shlibs=no
12225 -      cat <<EOF 1>&2
12226 -
12227 -*** Warning: The releases 2.8.* of the GNU linker cannot reliably
12228 -*** create shared libraries on Solaris systems.  Therefore, libtool
12229 -*** is disabling shared libraries support.  We urge you to upgrade GNU
12230 -*** binutils to release 2.9.1 or newer.  Another option is to modify
12231 -*** your PATH or compiler configuration so that the native linker is
12232 -*** used, and then restart.
12233 -
12234 -EOF
12235 -    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
12236 -      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12237 -      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12238 -    else
12239 -      ld_shlibs=no
12240 -    fi
12241 -    ;;
12242 -
12243 -  sunos4*)
12244 -    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12245 -    wlarc=
12246 -    hardcode_direct=yes
12247 -    hardcode_shlibpath_var=no
12248 -    ;;
12249 -
12250 -  *)
12251 -    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
12252 -      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12253 -      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12254 -    else
12255 -      ld_shlibs=no
12256 -    fi
12257 -    ;;
12258 -  esac
12259 -
12260 -  if test "$ld_shlibs" = yes; then
12261 -    runpath_var=LD_RUN_PATH
12262 -    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
12263 -    export_dynamic_flag_spec='${wl}--export-dynamic'
12264 -    case $host_os in
12265 -    cygwin* | mingw* | pw32*)
12266 -      # dlltool doesn't understand --whole-archive et. al.
12267 -      whole_archive_flag_spec=
12268 -      ;;
12269 -    *)
12270 -      # ancient GNU ld didn't support --whole-archive et. al.
12271 -      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
12272 -       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
12273 -      else
12274 -       whole_archive_flag_spec=
12275 -      fi
12276 -      ;;
12277 -    esac
12278 -  fi
12279 -else
12280 -  # PORTME fill in a description of your system's linker (not GNU ld)
12281 -  case $host_os in
12282 -  aix3*)
12283 -    allow_undefined_flag=unsupported
12284 -    always_export_symbols=yes
12285 -    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'
12286 -    # Note: this linker hardcodes the directories in LIBPATH if there
12287 -    # are no directories specified by -L.
12288 -    hardcode_minus_L=yes
12289 -    if test "$GCC" = yes && test -z "$link_static_flag"; then
12290 -      # Neither direct hardcoding nor static linking is supported with a
12291 -      # broken collect2.
12292 -      hardcode_direct=unsupported
12293 -    fi
12294 -    ;;
12295 -
12296 -  aix4* | aix5*)
12297 -    if test "$host_cpu" = ia64; then
12298 -      # On IA64, the linker does run time linking by default, so we don't
12299 -      # have to do anything special.
12300 -      aix_use_runtimelinking=no
12301 -      exp_sym_flag='-Bexport'
12302 -      no_entry_flag=""
12303 -    else
12304 -      aix_use_runtimelinking=no
12305 -
12306 -      # Test if we are trying to use run time linking or normal
12307 -      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
12308 -      # need to do runtime linking.
12309 -      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
12310 -       for ld_flag in $LDFLAGS; do
12311 -         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
12312 -           aix_use_runtimelinking=yes
12313 -           break
12314 -         fi
12315 -       done
12316 -      esac
12317 -
12318 -      exp_sym_flag='-bexport'
12319 -      no_entry_flag='-bnoentry'
12320 -    fi
12321 -
12322 -    # When large executables or shared objects are built, AIX ld can
12323 -    # have problems creating the table of contents.  If linking a library
12324 -    # or program results in "error TOC overflow" add -mminimal-toc to
12325 -    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
12326 -    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
12327 -
12328 -    hardcode_direct=yes
12329 -    archive_cmds=''
12330 -    hardcode_libdir_separator=':'
12331 -    if test "$GCC" = yes; then
12332 -      case $host_os in aix4.[012]|aix4.[012].*)
12333 -       collect2name=`${CC} -print-prog-name=collect2`
12334 -       if test -f "$collect2name" && \
12335 -         strings "$collect2name" | grep resolve_lib_name >/dev/null
12336 -       then
12337 -         # We have reworked collect2
12338 -         hardcode_direct=yes
12339 -       else
12340 -         # We have old collect2
12341 -         hardcode_direct=unsupported
12342 -         # It fails to find uninstalled libraries when the uninstalled
12343 -         # path is not listed in the libpath.  Setting hardcode_minus_L
12344 -         # to unsupported forces relinking
12345 -         hardcode_minus_L=yes
12346 -         hardcode_libdir_flag_spec='-L$libdir'
12347 -         hardcode_libdir_separator=
12348 -       fi
12349 -      esac
12350 -
12351 -      shared_flag='-shared'
12352 -    else
12353 -      # not using gcc
12354 -      if test "$host_cpu" = ia64; then
12355 -       shared_flag='${wl}-G'
12356 -      else
12357 -       if test "$aix_use_runtimelinking" = yes; then
12358 -         shared_flag='${wl}-G'
12359 -       else
12360 -         shared_flag='${wl}-bM:SRE'
12361 -       fi
12362 -      fi
12363 -    fi
12364 -
12365 -    # It seems that -bexpall can do strange things, so it is better to
12366 -    # generate a list of symbols to export.
12367 -    always_export_symbols=yes
12368 -    if test "$aix_use_runtimelinking" = yes; then
12369 -      # Warning - without using the other runtime loading flags (-brtl),
12370 -      # -berok will link without error, but may produce a broken library.
12371 -      allow_undefined_flag='-berok'
12372 -      hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
12373 -      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"
12374 -    else
12375 -      if test "$host_cpu" = ia64; then
12376 -       hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
12377 -       allow_undefined_flag="-z nodefs"
12378 -       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"
12379 -      else
12380 -       hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
12381 -       # Warning - without using the other run time loading flags,
12382 -       # -berok will link without error, but may produce a broken library.
12383 -       allow_undefined_flag='${wl}-berok'
12384 -       # This is a bit strange, but is similar to how AIX traditionally builds
12385 -       # it's shared libraries.
12386 -       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'
12387 -      fi
12388 -    fi
12389 -    ;;
12390 -
12391 -  amigaos*)
12392 -    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)'
12393 -    hardcode_libdir_flag_spec='-L$libdir'
12394 -    hardcode_minus_L=yes
12395 -    # see comment about different semantics on the GNU ld section
12396 -    ld_shlibs=no
12397 -    ;;
12398 -
12399 -  cygwin* | mingw* | pw32*)
12400 -    # When not using gcc, we currently assume that we are using
12401 -    # Microsoft Visual C++.
12402 -    # hardcode_libdir_flag_spec is actually meaningless, as there is
12403 -    # no search path for DLLs.
12404 -    hardcode_libdir_flag_spec=' '
12405 -    allow_undefined_flag=unsupported
12406 -    # Tell ltmain to make .lib files, not .a files.
12407 -    libext=lib
12408 -    # FIXME: Setting linknames here is a bad hack.
12409 -    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
12410 -    # The linker will automatically build a .lib file if we build a DLL.
12411 -    old_archive_from_new_cmds='true'
12412 -    # FIXME: Should let the user specify the lib program.
12413 -    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
12414 -    fix_srcfile_path='`cygpath -w "$srcfile"`'
12415 -    ;;
12416 -
12417 -  darwin* | rhapsody*)
12418 -    case "$host_os" in
12419 -    rhapsody* | darwin1.[012])
12420 -      allow_undefined_flag='-undefined suppress'
12421 -      ;;
12422 -    *) # Darwin 1.3 on
12423 -      allow_undefined_flag='-flat_namespace -undefined suppress'
12424 -      ;;
12425 -    esac
12426 -    # FIXME: Relying on posixy $() will cause problems for
12427 -    #        cross-compilation, but unfortunately the echo tests do not
12428 -    #        yet detect zsh echo's removal of \ escapes.
12429 -    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'
12430 -    # We need to add '_' to the symbols in $export_symbols first
12431 -    #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
12432 -    hardcode_direct=yes
12433 -    hardcode_shlibpath_var=no
12434 -    whole_archive_flag_spec='-all_load $convenience'
12435 -    ;;
12436 -
12437 -  freebsd1*)
12438 -    ld_shlibs=no
12439 -    ;;
12440 -
12441 -  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
12442 -  # support.  Future versions do this automatically, but an explicit c++rt0.o
12443 -  # does not break anything, and helps significantly (at the cost of a little
12444 -  # extra space).
12445 -  freebsd2.2*)
12446 -    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
12447 -    hardcode_libdir_flag_spec='-R$libdir'
12448 -    hardcode_direct=yes
12449 -    hardcode_shlibpath_var=no
12450 -    ;;
12451 -
12452 -  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
12453 -  freebsd2*)
12454 -    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12455 -    hardcode_direct=yes
12456 -    hardcode_minus_L=yes
12457 -    hardcode_shlibpath_var=no
12458 -    ;;
12459 -
12460 -  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
12461 -  freebsd*)
12462 -    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
12463 -    hardcode_libdir_flag_spec='-R$libdir'
12464 -    hardcode_direct=yes
12465 -    hardcode_shlibpath_var=no
12466 -    ;;
12467 -
12468 -  hpux9* | hpux10* | hpux11*)
12469 -    case $host_os in
12470 -    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' ;;
12471 -    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
12472 -    esac
12473 -    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
12474 -    hardcode_libdir_separator=:
12475 -    hardcode_direct=yes
12476 -    hardcode_minus_L=yes # Not in the search PATH, but as the default
12477 -                        # location of the library.
12478 -    export_dynamic_flag_spec='${wl}-E'
12479 -    ;;
12480 -
12481 -  irix5* | irix6*)
12482 -    if test "$GCC" = yes; then
12483 -      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'
12484 -    else
12485 -      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'
12486 -    fi
12487 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12488 -    hardcode_libdir_separator=:
12489 -    link_all_deplibs=yes
12490 -    ;;
12491 -
12492 -  netbsd*)
12493 -    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12494 -      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
12495 -    else
12496 -      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
12497 -    fi
12498 -    hardcode_libdir_flag_spec='-R$libdir'
12499 -    hardcode_direct=yes
12500 -    hardcode_shlibpath_var=no
12501 -    ;;
12502 -
12503 -  newsos6)
12504 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12505 -    hardcode_direct=yes
12506 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12507 -    hardcode_libdir_separator=:
12508 -    hardcode_shlibpath_var=no
12509 -    ;;
12510 -
12511 -  openbsd*)
12512 -    hardcode_direct=yes
12513 -    hardcode_shlibpath_var=no
12514 -    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12515 -      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
12516 -      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
12517 -      export_dynamic_flag_spec='${wl}-E'
12518 -    else
12519 -      case "$host_os" in
12520 -      openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
12521 -       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12522 -       hardcode_libdir_flag_spec='-R$libdir'
12523 -        ;;
12524 -      *)
12525 -        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
12526 -        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
12527 -        ;;
12528 -      esac
12529 -    fi
12530 -    ;;
12531 -
12532 -  os2*)
12533 -    hardcode_libdir_flag_spec='-L$libdir'
12534 -    hardcode_minus_L=yes
12535 -    allow_undefined_flag=unsupported
12536 -    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'
12537 -    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
12538 -    ;;
12539 -
12540 -  osf3*)
12541 -    if test "$GCC" = yes; then
12542 -      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
12543 -      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'
12544 -    else
12545 -      allow_undefined_flag=' -expect_unresolved \*'
12546 -      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'
12547 -    fi
12548 -    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12549 -    hardcode_libdir_separator=:
12550 -    ;;
12551 -
12552 -  osf4* | osf5*)       # as osf3* with the addition of -msym flag
12553 -    if test "$GCC" = yes; then
12554 -      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
12555 -      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'
12556 -      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12557 -    else
12558 -      allow_undefined_flag=' -expect_unresolved \*'
12559 -      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'
12560 -      archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
12561 -      $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'
12562 -
12563 -      #Both c and cxx compiler support -rpath directly
12564 -      hardcode_libdir_flag_spec='-rpath $libdir'
12565 -    fi
12566 -    hardcode_libdir_separator=:
12567 -    ;;
12568 -
12569 -  sco3.2v5*)
12570 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12571 -    hardcode_shlibpath_var=no
12572 -    runpath_var=LD_RUN_PATH
12573 -    hardcode_runpath_var=yes
12574 -    export_dynamic_flag_spec='${wl}-Bexport'
12575 -    ;;
12576 -
12577 -  solaris*)
12578 -    # gcc --version < 3.0 without binutils cannot create self contained
12579 -    # shared libraries reliably, requiring libgcc.a to resolve some of
12580 -    # the object symbols generated in some cases.  Libraries that use
12581 -    # assert need libgcc.a to resolve __eprintf, for example.  Linking
12582 -    # a copy of libgcc.a into every shared library to guarantee resolving
12583 -    # such symbols causes other problems:  According to Tim Van Holder
12584 -    # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
12585 -    # (to the application) exception stack for one thing.
12586 -    no_undefined_flag=' -z defs'
12587 -    if test "$GCC" = yes; then
12588 -      case `$CC --version 2>/dev/null` in
12589 -      [12].*)
12590 -       cat <<EOF 1>&2
12591 -
12592 -*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
12593 -*** create self contained shared libraries on Solaris systems, without
12594 -*** introducing a dependency on libgcc.a.  Therefore, libtool is disabling
12595 -*** -no-undefined support, which will at least allow you to build shared
12596 -*** libraries.  However, you may find that when you link such libraries
12597 -*** into an application without using GCC, you have to manually add
12598 -*** \`gcc --print-libgcc-file-name\` to the link command.  We urge you to
12599 -*** upgrade to a newer version of GCC.  Another option is to rebuild your
12600 -*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
12601 -
12602 -EOF
12603 -        no_undefined_flag=
12604 -       ;;
12605 -      esac
12606 -    fi
12607 -    # $CC -shared without GNU ld will not create a library from C++
12608 -    # object files and a static libstdc++, better avoid it by now
12609 -    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
12610 -    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12611 -               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
12612 -    hardcode_libdir_flag_spec='-R$libdir'
12613 -    hardcode_shlibpath_var=no
12614 -    case $host_os in
12615 -    solaris2.[0-5] | solaris2.[0-5].*) ;;
12616 -    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
12617 -      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
12618 -    esac
12619 -    link_all_deplibs=yes
12620 -    ;;
12621 -
12622 -  sunos4*)
12623 -    if test "x$host_vendor" = xsequent; then
12624 -      # Use $CC to link under sequent, because it throws in some extra .o
12625 -      # files that make .init and .fini sections work.
12626 -      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
12627 -    else
12628 -      archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
12629 -    fi
12630 -    hardcode_libdir_flag_spec='-L$libdir'
12631 -    hardcode_direct=yes
12632 -    hardcode_minus_L=yes
12633 -    hardcode_shlibpath_var=no
12634 -    ;;
12635 -
12636 -  sysv4)
12637 -    if test "x$host_vendor" = xsno; then
12638 -      archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
12639 -      hardcode_direct=yes # is this really true???
12640 -    else
12641 -      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12642 -      hardcode_direct=no #Motorola manual says yes, but my tests say they lie
12643 -    fi
12644 -    runpath_var='LD_RUN_PATH'
12645 -    hardcode_shlibpath_var=no
12646 -    ;;
12647 -
12648 -  sysv4.3*)
12649 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12650 -    hardcode_shlibpath_var=no
12651 -    export_dynamic_flag_spec='-Bexport'
12652 -    ;;
12653 -
12654 -  sysv5*)
12655 -    no_undefined_flag=' -z text'
12656 -    # $CC -shared without GNU ld will not create a library from C++
12657 -    # object files and a static libstdc++, better avoid it by now
12658 -    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
12659 -    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12660 -               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
12661 -    hardcode_libdir_flag_spec=
12662 -    hardcode_shlibpath_var=no
12663 -    runpath_var='LD_RUN_PATH'
12664 -    ;;
12665 -
12666 -  uts4*)
12667 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12668 -    hardcode_libdir_flag_spec='-L$libdir'
12669 -    hardcode_shlibpath_var=no
12670 -    ;;
12671 -
12672 -  dgux*)
12673 -    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12674 -    hardcode_libdir_flag_spec='-L$libdir'
12675 -    hardcode_shlibpath_var=no
12676 -    ;;
12677 -
12678 -  sysv4*MP*)
12679 -    if test -d /usr/nec; then
12680 -      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12681 -      hardcode_shlibpath_var=no
12682 -      runpath_var=LD_RUN_PATH
12683 -      hardcode_runpath_var=yes
12684 -      ld_shlibs=yes
12685 -    fi
12686 -    ;;
12687 -
12688 -  sysv4.2uw2*)
12689 -    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
12690 -    hardcode_direct=yes
12691 -    hardcode_minus_L=no
12692 -    hardcode_shlibpath_var=no
12693 -    hardcode_runpath_var=yes
12694 -    runpath_var=LD_RUN_PATH
12695 -    ;;
12696 -
12697 -  sysv5uw7* | unixware7*)
12698 -    no_undefined_flag='${wl}-z ${wl}text'
12699 -    if test "$GCC" = yes; then
12700 -      archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12701 -    else
12702 -      archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12703 -    fi
12704 -    runpath_var='LD_RUN_PATH'
12705 -    hardcode_shlibpath_var=no
12706 -    ;;
12707 -
12708 -  *)
12709 -    ld_shlibs=no
12710 -    ;;
12711 -  esac
12712 -fi
12713 -echo "$as_me:$LINENO: result: $ld_shlibs" >&5
12714 -echo "${ECHO_T}$ld_shlibs" >&6
12715 -test "$ld_shlibs" = no && can_build_shared=no
12716 -
12717 -# Check hardcoding attributes.
12718 -echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
12719 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
12720 -hardcode_action=
12721 -if test -n "$hardcode_libdir_flag_spec" || \
12722 -   test -n "$runpath_var"; then
12723 -
12724 -  # We can hardcode non-existant directories.
12725 -  if test "$hardcode_direct" != no &&
12726 -     # If the only mechanism to avoid hardcoding is shlibpath_var, we
12727 -     # have to relink, otherwise we might link with an installed library
12728 -     # when we should be linking with a yet-to-be-installed one
12729 -     ## test "$hardcode_shlibpath_var" != no &&
12730 -     test "$hardcode_minus_L" != no; then
12731 -    # Linking always hardcodes the temporary library directory.
12732 -    hardcode_action=relink
12733 -  else
12734 -    # We can link without hardcoding, and we can hardcode nonexisting dirs.
12735 -    hardcode_action=immediate
12736 -  fi
12737 -else
12738 -  # We cannot hardcode anything, or else we can only hardcode existing
12739 -  # directories.
12740 -  hardcode_action=unsupported
12741 -fi
12742 -echo "$as_me:$LINENO: result: $hardcode_action" >&5
12743 -echo "${ECHO_T}$hardcode_action" >&6
12744 -
12745 -striplib=
12746 -old_striplib=
12747 -echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
12748 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
12749 -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
12750 -  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
12751 -  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
12752 -  echo "$as_me:$LINENO: result: yes" >&5
12753 -echo "${ECHO_T}yes" >&6
12754 -else
12755 -  echo "$as_me:$LINENO: result: no" >&5
12756 -echo "${ECHO_T}no" >&6
12757 -fi
12758 -
12759 -reload_cmds='$LD$reload_flag -o $output$reload_objs'
12760 -test -z "$deplibs_check_method" && deplibs_check_method=unknown
12761 -
12762 -# PORTME Fill in your ld.so characteristics
12763 -echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
12764 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
12765 -library_names_spec=
12766 -libname_spec='lib$name'
12767 -soname_spec=
12768 -postinstall_cmds=
12769 -postuninstall_cmds=
12770 -finish_cmds=
12771 -finish_eval=
12772 -shlibpath_var=
12773 -shlibpath_overrides_runpath=unknown
12774 -version_type=none
12775 -dynamic_linker="$host_os ld.so"
12776 -sys_lib_dlsearch_path_spec="/lib /usr/lib"
12777 -sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
12778 -
12779 -case $host_os in
12780 -aix3*)
12781 -  version_type=linux
12782 -  library_names_spec='${libname}${release}.so$versuffix $libname.a'
12783 -  shlibpath_var=LIBPATH
12784 -
12785 -  # AIX has no versioning support, so we append a major version to the name.
12786 -  soname_spec='${libname}${release}.so$major'
12787 -  ;;
12788 -
12789 -aix4* | aix5*)
12790 -  version_type=linux
12791 -  if test "$host_cpu" = ia64; then
12792 -    # AIX 5 supports IA64
12793 -    library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
12794 -    shlibpath_var=LD_LIBRARY_PATH
12795 -  else
12796 -    # With GCC up to 2.95.x, collect2 would create an import file
12797 -    # for dependence libraries.  The import file would start with
12798 -    # the line `#! .'.  This would cause the generated library to
12799 -    # depend on `.', always an invalid library.  This was fixed in
12800 -    # development snapshots of GCC prior to 3.0.
12801 -    case $host_os in
12802 -      aix4 | aix4.[01] | aix4.[01].*)
12803 -       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
12804 -            echo ' yes '
12805 -            echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
12806 -         :
12807 -       else
12808 -         can_build_shared=no
12809 -       fi
12810 -       ;;
12811 -    esac
12812 -    # AIX (on Power*) has no versioning support, so currently we can
12813 -    # not hardcode correct soname into executable. Probably we can
12814 -    # add versioning support to collect2, so additional links can
12815 -    # be useful in future.
12816 -    if test "$aix_use_runtimelinking" = yes; then
12817 -      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
12818 -      # instead of lib<name>.a to let people know that these are not
12819 -      # typical AIX shared libraries.
12820 -      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12821 -    else
12822 -      # We preserve .a as extension for shared libraries through AIX4.2
12823 -      # and later when we are not doing run time linking.
12824 -      library_names_spec='${libname}${release}.a $libname.a'
12825 -      soname_spec='${libname}${release}.so$major'
12826 -    fi
12827 -    shlibpath_var=LIBPATH
12828 -  fi
12829 -  ;;
12830 -
12831 -amigaos*)
12832 -  library_names_spec='$libname.ixlibrary $libname.a'
12833 -  # Create ${libname}_ixlibrary.a entries in /sys/libs.
12834 -  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'
12835 -  ;;
12836 -
12837 -beos*)
12838 -  library_names_spec='${libname}.so'
12839 -  dynamic_linker="$host_os ld.so"
12840 -  shlibpath_var=LIBRARY_PATH
12841 -  ;;
12842 -
12843 -bsdi4*)
12844 -  version_type=linux
12845 -  need_version=no
12846 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12847 -  soname_spec='${libname}${release}.so$major'
12848 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
12849 -  shlibpath_var=LD_LIBRARY_PATH
12850 -  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
12851 -  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
12852 -  export_dynamic_flag_spec=-rdynamic
12853 -  # the default ld.so.conf also contains /usr/contrib/lib and
12854 -  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
12855 -  # libtool to hard-code these into programs
12856 -  ;;
12857 -
12858 -cygwin* | mingw* | pw32*)
12859 -  version_type=windows
12860 -  need_version=no
12861 -  need_lib_prefix=no
12862 -  case $GCC,$host_os in
12863 -  yes,cygwin*)
12864 -    library_names_spec='$libname.dll.a'
12865 -    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
12866 -    postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
12867 -      dldir=$destdir/`dirname \$dlpath`~
12868 -      test -d \$dldir || mkdir -p \$dldir~
12869 -      $install_prog .libs/$dlname \$dldir/$dlname'
12870 -    postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
12871 -      dlpath=$dir/\$dldll~
12872 -       $rm \$dlpath'
12873 -    ;;
12874 -  yes,mingw*)
12875 -    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
12876 -    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
12877 -    ;;
12878 -  yes,pw32*)
12879 -    library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll'
12880 -    ;;
12881 -  *)
12882 -    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
12883 -    ;;
12884 -  esac
12885 -  dynamic_linker='Win32 ld.exe'
12886 -  # FIXME: first we should search . and the directory the executable is in
12887 -  shlibpath_var=PATH
12888 -  ;;
12889 -
12890 -darwin* | rhapsody*)
12891 -  dynamic_linker="$host_os dyld"
12892 -  version_type=darwin
12893 -  need_lib_prefix=no
12894 -  need_version=no
12895 -  # FIXME: Relying on posixy $() will cause problems for
12896 -  #        cross-compilation, but unfortunately the echo tests do not
12897 -  #        yet detect zsh echo's removal of \ escapes.
12898 -  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)'
12899 -  soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
12900 -  shlibpath_overrides_runpath=yes
12901 -  shlibpath_var=DYLD_LIBRARY_PATH
12902 -  ;;
12903 -
12904 -freebsd1*)
12905 -  dynamic_linker=no
12906 -  ;;
12907 -
12908 -freebsd*)
12909 -  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
12910 -  version_type=freebsd-$objformat
12911 -  case $version_type in
12912 -    freebsd-elf*)
12913 -      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
12914 -      need_version=no
12915 -      need_lib_prefix=no
12916 -      ;;
12917 -    freebsd-*)
12918 -      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
12919 -      need_version=yes
12920 -      ;;
12921 -  esac
12922 -  shlibpath_var=LD_LIBRARY_PATH
12923 -  case $host_os in
12924 -  freebsd2*)
12925 -    shlibpath_overrides_runpath=yes
12926 -    ;;
12927 -  *)
12928 -    shlibpath_overrides_runpath=no
12929 -    hardcode_into_libs=yes
12930 -    ;;
12931 -  esac
12932 -  ;;
12933 -
12934 -gnu*)
12935 -  version_type=linux
12936 -  need_lib_prefix=no
12937 -  need_version=no
12938 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
12939 -  soname_spec='${libname}${release}.so$major'
12940 -  shlibpath_var=LD_LIBRARY_PATH
12941 -  hardcode_into_libs=yes
12942 -  ;;
12943 -
12944 -hpux9* | hpux10* | hpux11*)
12945 -  # Give a soname corresponding to the major version so that dld.sl refuses to
12946 -  # link against other versions.
12947 -  dynamic_linker="$host_os dld.sl"
12948 -  version_type=sunos
12949 -  need_lib_prefix=no
12950 -  need_version=no
12951 -  shlibpath_var=SHLIB_PATH
12952 -  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
12953 -  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
12954 -  soname_spec='${libname}${release}.sl$major'
12955 -  # HP-UX runs *really* slowly unless shared libraries are mode 555.
12956 -  postinstall_cmds='chmod 555 $lib'
12957 -  ;;
12958 -
12959 -irix5* | irix6*)
12960 -  version_type=irix
12961 -  need_lib_prefix=no
12962 -  need_version=no
12963 -  soname_spec='${libname}${release}.so$major'
12964 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
12965 -  case $host_os in
12966 -  irix5*)
12967 -    libsuff= shlibsuff=
12968 -    ;;
12969 -  *)
12970 -    case $LD in # libtool.m4 will add one of these switches to LD
12971 -    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
12972 -    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
12973 -    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
12974 -    *) libsuff= shlibsuff= libmagic=never-match;;
12975 -    esac
12976 -    ;;
12977 -  esac
12978 -  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
12979 -  shlibpath_overrides_runpath=no
12980 -  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
12981 -  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
12982 -  ;;
12983 -
12984 -# No shared lib support for Linux oldld, aout, or coff.
12985 -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
12986 -  dynamic_linker=no
12987 -  ;;
12988 -
12989 -# This must be Linux ELF.
12990 -linux-gnu*)
12991 -  version_type=linux
12992 -  need_lib_prefix=no
12993 -  need_version=no
12994 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
12995 -  soname_spec='${libname}${release}.so$major'
12996 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
12997 -  shlibpath_var=LD_LIBRARY_PATH
12998 -  shlibpath_overrides_runpath=no
12999 -  # This implies no fast_install, which is unacceptable.
13000 -  # Some rework will be needed to allow for fast_install
13001 -  # before this can be enabled.
13002 -  hardcode_into_libs=yes
13003 -
13004 -  # We used to test for /lib/ld.so.1 and disable shared libraries on
13005 -  # powerpc, because MkLinux only supported shared libraries with the
13006 -  # GNU dynamic linker.  Since this was broken with cross compilers,
13007 -  # most powerpc-linux boxes support dynamic linking these days and
13008 -  # people can always --disable-shared, the test was removed, and we
13009 -  # assume the GNU/Linux dynamic linker is in use.
13010 -  dynamic_linker='GNU/Linux ld.so'
13011 -  ;;
13012 -
13013 -netbsd*)
13014 -  version_type=sunos
13015 -  need_lib_prefix=no
13016 -  need_version=no
13017 -  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
13018 -    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
13019 -    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
13020 -    dynamic_linker='NetBSD (a.out) ld.so'
13021 -  else
13022 -    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
13023 -    soname_spec='${libname}${release}.so$major'
13024 -    dynamic_linker='NetBSD ld.elf_so'
13025 -  fi
13026 -  shlibpath_var=LD_LIBRARY_PATH
13027 -  shlibpath_overrides_runpath=yes
13028 -  hardcode_into_libs=yes
13029 -  ;;
13030 -
13031 -newsos6)
13032 -  version_type=linux
13033 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13034 -  shlibpath_var=LD_LIBRARY_PATH
13035 -  shlibpath_overrides_runpath=yes
13036 -  ;;
13037 -
13038 -openbsd*)
13039 -  version_type=sunos
13040 -  need_lib_prefix=no
13041 -  need_version=no
13042 -  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
13043 -    case "$host_os" in
13044 -    openbsd2.[89] | openbsd2.[89].*)
13045 -      shlibpath_overrides_runpath=no
13046 -      ;;
13047 -    *)
13048 -      shlibpath_overrides_runpath=yes
13049 -      ;;
13050 -    esac
13051 -  else
13052 -    shlibpath_overrides_runpath=yes
13053 -  fi
13054 -  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
13055 -  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
13056 -  shlibpath_var=LD_LIBRARY_PATH
13057 -  ;;
13058 -
13059 -os2*)
13060 -  libname_spec='$name'
13061 -  need_lib_prefix=no
13062 -  library_names_spec='$libname.dll $libname.a'
13063 -  dynamic_linker='OS/2 ld.exe'
13064 -  shlibpath_var=LIBPATH
13065 -  ;;
13066 -
13067 -osf3* | osf4* | osf5*)
13068 -  version_type=osf
13069 -  need_version=no
13070 -  soname_spec='${libname}${release}.so'
13071 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
13072 -  shlibpath_var=LD_LIBRARY_PATH
13073 -  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
13074 -  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
13075 -  ;;
13076 -
13077 -sco3.2v5*)
13078 -  version_type=osf
13079 -  soname_spec='${libname}${release}.so$major'
13080 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13081 -  shlibpath_var=LD_LIBRARY_PATH
13082 -  ;;
13083 -
13084 -solaris*)
13085 -  version_type=linux
13086 -  need_lib_prefix=no
13087 -  need_version=no
13088 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13089 -  soname_spec='${libname}${release}.so$major'
13090 -  shlibpath_var=LD_LIBRARY_PATH
13091 -  shlibpath_overrides_runpath=yes
13092 -  hardcode_into_libs=yes
13093 -  # ldd complains unless libraries are executable
13094 -  postinstall_cmds='chmod +x $lib'
13095 -  ;;
13096 -
13097 -sunos4*)
13098 -  version_type=sunos
13099 -  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
13100 -  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
13101 -  shlibpath_var=LD_LIBRARY_PATH
13102 -  shlibpath_overrides_runpath=yes
13103 -  if test "$with_gnu_ld" = yes; then
13104 -    need_lib_prefix=no
13105 -  fi
13106 -  need_version=yes
13107 -  ;;
13108 -
13109 -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
13110 -  version_type=linux
13111 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13112 -  soname_spec='${libname}${release}.so$major'
13113 -  shlibpath_var=LD_LIBRARY_PATH
13114 -  case $host_vendor in
13115 -    sni)
13116 -      shlibpath_overrides_runpath=no
13117 -      ;;
13118 -    motorola)
13119 -      need_lib_prefix=no
13120 -      need_version=no
13121 -      shlibpath_overrides_runpath=no
13122 -      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
13123 -      ;;
13124 -  esac
13125 -  ;;
13126 -
13127 -uts4*)
13128 -  version_type=linux
13129 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13130 -  soname_spec='${libname}${release}.so$major'
13131 -  shlibpath_var=LD_LIBRARY_PATH
13132 -  ;;
13133 -
13134 -dgux*)
13135 -  version_type=linux
13136 -  need_lib_prefix=no
13137 -  need_version=no
13138 -  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
13139 -  soname_spec='${libname}${release}.so$major'
13140 -  shlibpath_var=LD_LIBRARY_PATH
13141 -  ;;
13142 -
13143 -sysv4*MP*)
13144 -  if test -d /usr/nec ;then
13145 -    version_type=linux
13146 -    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
13147 -    soname_spec='$libname.so.$major'
13148 -    shlibpath_var=LD_LIBRARY_PATH
13149 -  fi
13150 -  ;;
13151 -
13152 -*)
13153 -  dynamic_linker=no
13154 -  ;;
13155 -esac
13156 -echo "$as_me:$LINENO: result: $dynamic_linker" >&5
13157 -echo "${ECHO_T}$dynamic_linker" >&6
13158 -test "$dynamic_linker" = no && can_build_shared=no
13159 -
13160 -# Report the final consequences.
13161 -echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
13162 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
13163 -echo "$as_me:$LINENO: result: $can_build_shared" >&5
13164 -echo "${ECHO_T}$can_build_shared" >&6
13165 -
13166 -echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
13167 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
13168 -test "$can_build_shared" = "no" && enable_shared=no
13169 -
13170 -# On AIX, shared libraries and static libraries use the same namespace, and
13171 -# are all built from PIC.
13172 -case "$host_os" in
13173 -aix3*)
13174 -  test "$enable_shared" = yes && enable_static=no
13175 -  if test -n "$RANLIB"; then
13176 -    archive_cmds="$archive_cmds~\$RANLIB \$lib"
13177 -    postinstall_cmds='$RANLIB $lib'
13178 -  fi
13179 -  ;;
13180 -
13181 -aix4*)
13182 -  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
13183 -    test "$enable_shared" = yes && enable_static=no
13184 -  fi
13185 -  ;;
13186 -esac
13187 -echo "$as_me:$LINENO: result: $enable_shared" >&5
13188 -echo "${ECHO_T}$enable_shared" >&6
13189 -
13190 -echo "$as_me:$LINENO: checking whether to build static libraries" >&5
13191 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
13192 -# Make sure either enable_shared or enable_static is yes.
13193 -test "$enable_shared" = yes || enable_static=yes
13194 -echo "$as_me:$LINENO: result: $enable_static" >&5
13195 -echo "${ECHO_T}$enable_static" >&6
13196 -
13197 -if test "$hardcode_action" = relink; then
13198 -  # Fast installation is not supported
13199 -  enable_fast_install=no
13200 -elif test "$shlibpath_overrides_runpath" = yes ||
13201 -     test "$enable_shared" = no; then
13202 -  # Fast installation is not necessary
13203 -  enable_fast_install=needless
13204 -fi
13205 -
13206 -variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
13207 -if test "$GCC" = yes; then
13208 -  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
13209 -fi
13210 -
13211 -if test "x$enable_dlopen" != xyes; then
13212 -  enable_dlopen=unknown
13213 -  enable_dlopen_self=unknown
13214 -  enable_dlopen_self_static=unknown
13215 -else
13216 -  lt_cv_dlopen=no
13217 -  lt_cv_dlopen_libs=
13218 -
13219 -  case $host_os in
13220 -  beos*)
13221 -    lt_cv_dlopen="load_add_on"
13222 -    lt_cv_dlopen_libs=
13223 -    lt_cv_dlopen_self=yes
13224 -    ;;
13225 -
13226 -  cygwin* | mingw* | pw32*)
13227 -    lt_cv_dlopen="LoadLibrary"
13228 -    lt_cv_dlopen_libs=
13229 -   ;;
13230 -
13231 -  *)
13232 -    echo "$as_me:$LINENO: checking for shl_load" >&5
13233 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
13234 -if test "${ac_cv_func_shl_load+set}" = set; then
13235 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13236 -else
13237 -  cat >conftest.$ac_ext <<_ACEOF
13238 -#line $LINENO "configure"
13239 -#include "confdefs.h"
13240 -/* System header to define __stub macros and hopefully few prototypes,
13241 -    which can conflict with char shl_load (); below.  */
13242 -#include <assert.h>
13243 -/* Override any gcc2 internal prototype to avoid an error.  */
13244 -#ifdef __cplusplus
13245 -extern "C"
13246 -#endif
13247 -/* We use char because int might match the return type of a gcc2
13248 -   builtin and then its argument prototype would still apply.  */
13249 -char shl_load ();
13250 -char (*f) ();
13251 -
13252 -int
13253 -main ()
13254 -{
13255 -/* The GNU C library defines this for functions which it implements
13256 -    to always fail with ENOSYS.  Some functions are actually named
13257 -    something starting with __ and the normal name is an alias.  */
13258 -#if defined (__stub_shl_load) || defined (__stub___shl_load)
13259 -choke me
13260 -#else
13261 -f = shl_load;
13262 -#endif
13263 -
13264 -  ;
13265 -  return 0;
13266 -}
13267 -_ACEOF
13268 -rm -f conftest.$ac_objext conftest$ac_exeext
13269 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13270 -  (eval $ac_link) 2>&5
13271 -  ac_status=$?
13272 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13273 -  (exit $ac_status); } &&
13274 -         { ac_try='test -s conftest$ac_exeext'
13275 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13276 -  (eval $ac_try) 2>&5
13277 -  ac_status=$?
13278 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13279 -  (exit $ac_status); }; }; then
13280 -  ac_cv_func_shl_load=yes
13281 -else
13282 -  echo "$as_me: failed program was:" >&5
13283 -cat conftest.$ac_ext >&5
13284 -ac_cv_func_shl_load=no
13285 -fi
13286 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13287 -fi
13288 -echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
13289 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6
13290 -if test $ac_cv_func_shl_load = yes; then
13291 -  lt_cv_dlopen="shl_load"
13292 -else
13293 -  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
13294 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
13295 -if test "${ac_cv_lib_dld_shl_load+set}" = set; then
13296 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13297 -else
13298 -  ac_check_lib_save_LIBS=$LIBS
13299 -LIBS="-ldld  $LIBS"
13300 -cat >conftest.$ac_ext <<_ACEOF
13301 -#line $LINENO "configure"
13302 -#include "confdefs.h"
13303 -
13304 -/* Override any gcc2 internal prototype to avoid an error.  */
13305 -#ifdef __cplusplus
13306 -extern "C"
13307 -#endif
13308 -/* We use char because int might match the return type of a gcc2
13309 -   builtin and then its argument prototype would still apply.  */
13310 -char shl_load ();
13311 -int
13312 -main ()
13313 -{
13314 -shl_load ();
13315 -  ;
13316 -  return 0;
13317 -}
13318 -_ACEOF
13319 -rm -f conftest.$ac_objext conftest$ac_exeext
13320 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13321 -  (eval $ac_link) 2>&5
13322 -  ac_status=$?
13323 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13324 -  (exit $ac_status); } &&
13325 -         { ac_try='test -s conftest$ac_exeext'
13326 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13327 -  (eval $ac_try) 2>&5
13328 -  ac_status=$?
13329 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13330 -  (exit $ac_status); }; }; then
13331 -  ac_cv_lib_dld_shl_load=yes
13332 -else
13333 -  echo "$as_me: failed program was:" >&5
13334 -cat conftest.$ac_ext >&5
13335 -ac_cv_lib_dld_shl_load=no
13336 -fi
13337 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13338 -LIBS=$ac_check_lib_save_LIBS
13339 -fi
13340 -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
13341 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
13342 -if test $ac_cv_lib_dld_shl_load = yes; then
13343 -  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
13344 -else
13345 -  echo "$as_me:$LINENO: checking for dlopen" >&5
13346 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
13347 -if test "${ac_cv_func_dlopen+set}" = set; then
13348 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13349 -else
13350 -  cat >conftest.$ac_ext <<_ACEOF
13351 -#line $LINENO "configure"
13352 -#include "confdefs.h"
13353 -/* System header to define __stub macros and hopefully few prototypes,
13354 -    which can conflict with char dlopen (); below.  */
13355 -#include <assert.h>
13356 -/* Override any gcc2 internal prototype to avoid an error.  */
13357 -#ifdef __cplusplus
13358 -extern "C"
13359 -#endif
13360 -/* We use char because int might match the return type of a gcc2
13361 -   builtin and then its argument prototype would still apply.  */
13362 -char dlopen ();
13363 -char (*f) ();
13364 -
13365 -int
13366 -main ()
13367 -{
13368 -/* The GNU C library defines this for functions which it implements
13369 -    to always fail with ENOSYS.  Some functions are actually named
13370 -    something starting with __ and the normal name is an alias.  */
13371 -#if defined (__stub_dlopen) || defined (__stub___dlopen)
13372 -choke me
13373 -#else
13374 -f = dlopen;
13375 -#endif
13376 -
13377 -  ;
13378 -  return 0;
13379 -}
13380 -_ACEOF
13381 -rm -f conftest.$ac_objext conftest$ac_exeext
13382 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13383 -  (eval $ac_link) 2>&5
13384 -  ac_status=$?
13385 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13386 -  (exit $ac_status); } &&
13387 -         { ac_try='test -s conftest$ac_exeext'
13388 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13389 -  (eval $ac_try) 2>&5
13390 -  ac_status=$?
13391 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13392 -  (exit $ac_status); }; }; then
13393 -  ac_cv_func_dlopen=yes
13394 -else
13395 -  echo "$as_me: failed program was:" >&5
13396 -cat conftest.$ac_ext >&5
13397 -ac_cv_func_dlopen=no
13398 -fi
13399 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13400 -fi
13401 -echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
13402 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6
13403 -if test $ac_cv_func_dlopen = yes; then
13404 -  lt_cv_dlopen="dlopen"
13405 -else
13406 -  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
13407 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
13408 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
13409 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13410 -else
13411 -  ac_check_lib_save_LIBS=$LIBS
13412 -LIBS="-ldl  $LIBS"
13413 -cat >conftest.$ac_ext <<_ACEOF
13414 -#line $LINENO "configure"
13415 -#include "confdefs.h"
13416 -
13417 -/* Override any gcc2 internal prototype to avoid an error.  */
13418 -#ifdef __cplusplus
13419 -extern "C"
13420 -#endif
13421 -/* We use char because int might match the return type of a gcc2
13422 -   builtin and then its argument prototype would still apply.  */
13423 -char dlopen ();
13424 -int
13425 -main ()
13426 -{
13427 -dlopen ();
13428 -  ;
13429 -  return 0;
13430 -}
13431 -_ACEOF
13432 -rm -f conftest.$ac_objext conftest$ac_exeext
13433 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13434 -  (eval $ac_link) 2>&5
13435 -  ac_status=$?
13436 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13437 -  (exit $ac_status); } &&
13438 -         { ac_try='test -s conftest$ac_exeext'
13439 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13440 -  (eval $ac_try) 2>&5
13441 -  ac_status=$?
13442 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13443 -  (exit $ac_status); }; }; then
13444 -  ac_cv_lib_dl_dlopen=yes
13445 -else
13446 -  echo "$as_me: failed program was:" >&5
13447 -cat conftest.$ac_ext >&5
13448 -ac_cv_lib_dl_dlopen=no
13449 -fi
13450 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13451 -LIBS=$ac_check_lib_save_LIBS
13452 -fi
13453 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
13454 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
13455 -if test $ac_cv_lib_dl_dlopen = yes; then
13456 -  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
13457 -else
13458 -  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
13459 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
13460 -if test "${ac_cv_lib_svld_dlopen+set}" = set; then
13461 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13462 -else
13463 -  ac_check_lib_save_LIBS=$LIBS
13464 -LIBS="-lsvld  $LIBS"
13465 -cat >conftest.$ac_ext <<_ACEOF
13466 -#line $LINENO "configure"
13467 -#include "confdefs.h"
13468 -
13469 -/* Override any gcc2 internal prototype to avoid an error.  */
13470 -#ifdef __cplusplus
13471 -extern "C"
13472 -#endif
13473 -/* We use char because int might match the return type of a gcc2
13474 -   builtin and then its argument prototype would still apply.  */
13475 -char dlopen ();
13476 -int
13477 -main ()
13478 -{
13479 -dlopen ();
13480 -  ;
13481 -  return 0;
13482 -}
13483 -_ACEOF
13484 -rm -f conftest.$ac_objext conftest$ac_exeext
13485 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13486 -  (eval $ac_link) 2>&5
13487 -  ac_status=$?
13488 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13489 -  (exit $ac_status); } &&
13490 -         { ac_try='test -s conftest$ac_exeext'
13491 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13492 -  (eval $ac_try) 2>&5
13493 -  ac_status=$?
13494 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13495 -  (exit $ac_status); }; }; then
13496 -  ac_cv_lib_svld_dlopen=yes
13497 -else
13498 -  echo "$as_me: failed program was:" >&5
13499 -cat conftest.$ac_ext >&5
13500 -ac_cv_lib_svld_dlopen=no
13501 -fi
13502 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13503 -LIBS=$ac_check_lib_save_LIBS
13504 -fi
13505 -echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
13506 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
13507 -if test $ac_cv_lib_svld_dlopen = yes; then
13508 -  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
13509 -else
13510 -  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
13511 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
13512 -if test "${ac_cv_lib_dld_dld_link+set}" = set; then
13513 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13514 -else
13515 -  ac_check_lib_save_LIBS=$LIBS
13516 -LIBS="-ldld  $LIBS"
13517 -cat >conftest.$ac_ext <<_ACEOF
13518 -#line $LINENO "configure"
13519 -#include "confdefs.h"
13520 -
13521 -/* Override any gcc2 internal prototype to avoid an error.  */
13522 -#ifdef __cplusplus
13523 -extern "C"
13524 -#endif
13525 -/* We use char because int might match the return type of a gcc2
13526 -   builtin and then its argument prototype would still apply.  */
13527 -char dld_link ();
13528 -int
13529 -main ()
13530 -{
13531 -dld_link ();
13532 -  ;
13533 -  return 0;
13534 -}
13535 -_ACEOF
13536 -rm -f conftest.$ac_objext conftest$ac_exeext
13537 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13538 -  (eval $ac_link) 2>&5
13539 -  ac_status=$?
13540 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13541 -  (exit $ac_status); } &&
13542 -         { ac_try='test -s conftest$ac_exeext'
13543 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
13544 -  (eval $ac_try) 2>&5
13545 -  ac_status=$?
13546 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13547 -  (exit $ac_status); }; }; then
13548 -  ac_cv_lib_dld_dld_link=yes
13549 -else
13550 -  echo "$as_me: failed program was:" >&5
13551 -cat conftest.$ac_ext >&5
13552 -ac_cv_lib_dld_dld_link=no
13553 -fi
13554 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
13555 -LIBS=$ac_check_lib_save_LIBS
13556 -fi
13557 -echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
13558 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
13559 -if test $ac_cv_lib_dld_dld_link = yes; then
13560 -  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
13561 -fi
13562 -
13563 -             
13564 -fi
13565 -
13566 -           
13567 -fi
13568 -
13569 -         
13570 -fi
13571 -
13572 -       
13573 -fi
13574 -
13575 -      
13576 -fi
13577 -
13578 -    ;;
13579 -  esac
13580 -
13581 -  if test "x$lt_cv_dlopen" != xno; then
13582 -    enable_dlopen=yes
13583 -  else
13584 -    enable_dlopen=no
13585 -  fi
13586 -
13587 -  case $lt_cv_dlopen in
13588 -  dlopen)
13589 -    save_CPPFLAGS="$CPPFLAGS"
13590 -        test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
13591 -
13592 -    save_LDFLAGS="$LDFLAGS"
13593 -    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
13594 -
13595 -    save_LIBS="$LIBS"
13596 -    LIBS="$lt_cv_dlopen_libs $LIBS"
13597 -
13598 -    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
13599 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
13600 -if test "${lt_cv_dlopen_self+set}" = set; then
13601 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13602 -else
13603 -         if test "$cross_compiling" = yes; then :
13604 -  lt_cv_dlopen_self=cross
13605 -else
13606 -    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
13607 -  lt_status=$lt_dlunknown
13608 -  cat > conftest.$ac_ext <<EOF
13609 -#line __oline__ "configure"
13610 -#include "confdefs.h"
13611 -
13612 -#if HAVE_DLFCN_H
13613 -#include <dlfcn.h>
13614 -#endif
13615 -
13616 -#include <stdio.h>
13617 -
13618 -#ifdef RTLD_GLOBAL
13619 -#  define LT_DLGLOBAL          RTLD_GLOBAL
13620 -#else
13621 -#  ifdef DL_GLOBAL
13622 -#    define LT_DLGLOBAL                DL_GLOBAL
13623 -#  else
13624 -#    define LT_DLGLOBAL                0
13625 -#  endif
13626 -#endif
13627 -
13628 -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
13629 -   find out it does not work in some platform. */
13630 -#ifndef LT_DLLAZY_OR_NOW
13631 -#  ifdef RTLD_LAZY
13632 -#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
13633 -#  else
13634 -#    ifdef DL_LAZY
13635 -#      define LT_DLLAZY_OR_NOW         DL_LAZY
13636 -#    else
13637 -#      ifdef RTLD_NOW
13638 -#        define LT_DLLAZY_OR_NOW       RTLD_NOW
13639 -#      else
13640 -#        ifdef DL_NOW
13641 -#          define LT_DLLAZY_OR_NOW     DL_NOW
13642 -#        else
13643 -#          define LT_DLLAZY_OR_NOW     0
13644 -#        endif
13645 -#      endif
13646 -#    endif
13647 -#  endif
13648 -#endif
13649 -
13650 -#ifdef __cplusplus
13651 -extern "C" void exit (int);
13652 -#endif
13653 -
13654 -void fnord() { int i=42;}
13655 -int main ()
13656 -{
13657 -  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
13658 -  int status = $lt_dlunknown;
13659 -
13660 -  if (self)
13661 -    {
13662 -      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
13663 -      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
13664 -      /* dlclose (self); */
13665 -    }
13666 -
13667 -    exit (status);
13668 -}
13669 -EOF
13670 -  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13671 -  (eval $ac_link) 2>&5
13672 -  ac_status=$?
13673 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13674 -  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
13675 -    (./conftest; exit; ) 2>/dev/null
13676 -    lt_status=$?
13677 -    case x$lt_status in
13678 -      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
13679 -      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
13680 -      x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
13681 -    esac
13682 -  else :
13683 -    # compilation failed
13684 -    lt_cv_dlopen_self=no
13685 -  fi
13686 -fi
13687 -rm -fr conftest*
13688 -
13689 -    
13690 -fi
13691 -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
13692 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6
13693 -
13694 -    if test "x$lt_cv_dlopen_self" = xyes; then
13695 -      LDFLAGS="$LDFLAGS $link_static_flag"
13696 -      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
13697 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
13698 -if test "${lt_cv_dlopen_self_static+set}" = set; then
13699 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13700 -else
13701 -         if test "$cross_compiling" = yes; then :
13702 -  lt_cv_dlopen_self_static=cross
13703 -else
13704 -    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
13705 -  lt_status=$lt_dlunknown
13706 -  cat > conftest.$ac_ext <<EOF
13707 -#line __oline__ "configure"
13708 -#include "confdefs.h"
13709 -
13710 -#if HAVE_DLFCN_H
13711 -#include <dlfcn.h>
13712 -#endif
13713 -
13714 -#include <stdio.h>
13715 -
13716 -#ifdef RTLD_GLOBAL
13717 -#  define LT_DLGLOBAL          RTLD_GLOBAL
13718 -#else
13719 -#  ifdef DL_GLOBAL
13720 -#    define LT_DLGLOBAL                DL_GLOBAL
13721 -#  else
13722 -#    define LT_DLGLOBAL                0
13723 -#  endif
13724 -#endif
13725 -
13726 -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
13727 -   find out it does not work in some platform. */
13728 -#ifndef LT_DLLAZY_OR_NOW
13729 -#  ifdef RTLD_LAZY
13730 -#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
13731 -#  else
13732 -#    ifdef DL_LAZY
13733 -#      define LT_DLLAZY_OR_NOW         DL_LAZY
13734 -#    else
13735 -#      ifdef RTLD_NOW
13736 -#        define LT_DLLAZY_OR_NOW       RTLD_NOW
13737 -#      else
13738 -#        ifdef DL_NOW
13739 -#          define LT_DLLAZY_OR_NOW     DL_NOW
13740 -#        else
13741 -#          define LT_DLLAZY_OR_NOW     0
13742 -#        endif
13743 -#      endif
13744 -#    endif
13745 -#  endif
13746 -#endif
13747 -
13748 -#ifdef __cplusplus
13749 -extern "C" void exit (int);
13750 -#endif
13751 -
13752 -void fnord() { int i=42;}
13753 -int main ()
13754 -{
13755 -  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
13756 -  int status = $lt_dlunknown;
13757 -
13758 -  if (self)
13759 -    {
13760 -      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
13761 -      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
13762 -      /* dlclose (self); */
13763 -    }
13764 -
13765 -    exit (status);
13766 -}
13767 -EOF
13768 -  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
13769 -  (eval $ac_link) 2>&5
13770 -  ac_status=$?
13771 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13772 -  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
13773 -    (./conftest; exit; ) 2>/dev/null
13774 -    lt_status=$?
13775 -    case x$lt_status in
13776 -      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
13777 -      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
13778 -      x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
13779 -    esac
13780 -  else :
13781 -    # compilation failed
13782 -    lt_cv_dlopen_self_static=no
13783 -  fi
13784 -fi
13785 -rm -fr conftest*
13786 -
13787 -      
13788 -fi
13789 -echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
13790 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
13791 -    fi
13792 -
13793 -    CPPFLAGS="$save_CPPFLAGS"
13794 -    LDFLAGS="$save_LDFLAGS"
13795 -    LIBS="$save_LIBS"
13796 -    ;;
13797 -  esac
13798 -
13799 -  case $lt_cv_dlopen_self in
13800 -  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
13801 -  *) enable_dlopen_self=unknown ;;
13802 -  esac
13803 -
13804 -  case $lt_cv_dlopen_self_static in
13805 -  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
13806 -  *) enable_dlopen_self_static=unknown ;;
13807 -  esac
13808 -fi
13809 -
13810 -
13811 -if test "$enable_shared" = yes && test "$GCC" = yes; then
13812 -  case $archive_cmds in
13813 -  *'~'*)
13814 -    # FIXME: we may have to deal with multi-command sequences.
13815 -    ;;
13816 -  '$CC '*)
13817 -    # Test whether the compiler implicitly links with -lc since on some
13818 -    # systems, -lgcc has to come before -lc. If gcc already passes -lc
13819 -    # to ld, don't add -lc before -lgcc.
13820 -    echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
13821 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
13822 -    if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
13823 -  echo $ECHO_N "(cached) $ECHO_C" >&6
13824 -else
13825 -  $rm conftest*
13826 -    echo 'static int dummy;' > conftest.$ac_ext
13827 -
13828 -    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
13829 -  (eval $ac_compile) 2>&5
13830 -  ac_status=$?
13831 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13832 -  (exit $ac_status); }; then
13833 -      soname=conftest
13834 -      lib=conftest
13835 -      libobjs=conftest.$ac_objext
13836 -      deplibs=
13837 -      wl=$lt_cv_prog_cc_wl
13838 -      compiler_flags=-v
13839 -      linker_flags=-v
13840 -      verstring=
13841 -      output_objdir=.
13842 -      libname=conftest
13843 -      save_allow_undefined_flag=$allow_undefined_flag
13844 -      allow_undefined_flag=
13845 -      if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
13846 -  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
13847 -  ac_status=$?
13848 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
13849 -  (exit $ac_status); }
13850 -      then
13851 -       lt_cv_archive_cmds_need_lc=no
13852 -      else
13853 -       lt_cv_archive_cmds_need_lc=yes
13854 -      fi
13855 -      allow_undefined_flag=$save_allow_undefined_flag
13856 -    else
13857 -      cat conftest.err 1>&5
13858 -    fi
13859 -fi
13860 -
13861 -    echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
13862 -echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
13863 -    ;;
13864 -  esac
13865 -fi
13866 -need_lc=${lt_cv_archive_cmds_need_lc-yes}
13867 -
13868 -# The second clause should only fire when bootstrapping the
13869 -# libtool distribution, otherwise you forgot to ship ltmain.sh
13870 -# with your package, and you will get complaints that there are
13871 -# no rules to generate ltmain.sh.
13872 -if test -f "$ltmain"; then
13873 -  :
13874 -else
13875 -  # If there is no Makefile yet, we rely on a make rule to execute
13876 -  # `config.status --recheck' to rerun these tests and create the
13877 -  # libtool script then.
13878 -  test -f Makefile && make "$ltmain"
13879 -fi
13880 -
13881 -if test -f "$ltmain"; then
13882 -  trap "$rm \"${ofile}T\"; exit 1" 1 2 15
13883 -  $rm -f "${ofile}T"
13884 -
13885 -  echo creating $ofile
13886 -
13887 -  # Now quote all the things that may contain metacharacters while being
13888 -  # careful not to overquote the AC_SUBSTed values.  We take copies of the
13889 -  # variables and quote the copies for generation of the libtool script.
13890 -  for var in echo old_CC old_CFLAGS \
13891 -    AR AR_FLAGS CC LD LN_S NM SHELL \
13892 -    reload_flag reload_cmds wl \
13893 -    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
13894 -    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
13895 -    library_names_spec soname_spec \
13896 -    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
13897 -    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
13898 -    postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
13899 -    old_striplib striplib file_magic_cmd export_symbols_cmds \
13900 -    deplibs_check_method allow_undefined_flag no_undefined_flag \
13901 -    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
13902 -    global_symbol_to_c_name_address \
13903 -    hardcode_libdir_flag_spec hardcode_libdir_separator  \
13904 -    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
13905 -    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
13906 -
13907 -    case $var in
13908 -    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
13909 -    old_postinstall_cmds | old_postuninstall_cmds | \
13910 -    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
13911 -    extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
13912 -    postinstall_cmds | postuninstall_cmds | \
13913 -    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
13914 -      # Double-quote double-evaled strings.
13915 -      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
13916 -      ;;
13917 -    *)
13918 -      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
13919 -      ;;
13920 -    esac
13921 -  done
13922 -
13923 -  cat <<__EOF__ > "${ofile}T"
13924 -#! $SHELL
13925 -
13926 -# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
13927 -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
13928 -# NOTE: Changes made to this file will be lost: look at ltmain.sh.
13929 -#
13930 -# Copyright (C) 1996-2000 Free Software Foundation, Inc.
13931 -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
13932 -#
13933 -# This program is free software; you can redistribute it and/or modify
13934 -# it under the terms of the GNU General Public License as published by
13935 -# the Free Software Foundation; either version 2 of the License, or
13936 -# (at your option) any later version.
13937 -#
13938 -# This program is distributed in the hope that it will be useful, but
13939 -# WITHOUT ANY WARRANTY; without even the implied warranty of
13940 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13941 -# General Public License for more details.
13942 -#
13943 -# You should have received a copy of the GNU General Public License
13944 -# along with this program; if not, write to the Free Software
13945 -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
13946 -#
13947 -# As a special exception to the GNU General Public License, if you
13948 -# distribute this file as part of a program that contains a
13949 -# configuration script generated by Autoconf, you may include it under
13950 -# the same distribution terms that you use for the rest of that program.
13951 -
13952 -# Sed that helps us avoid accidentally triggering echo(1) options like -n.
13953 -Xsed="sed -e s/^X//"
13954 -
13955 -# The HP-UX ksh and POSIX shell print the target directory to stdout
13956 -# if CDPATH is set.
13957 -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
13958 -
13959 -# ### BEGIN LIBTOOL CONFIG
13960 -
13961 -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
13962 -
13963 -# Shell to use when invoking shell scripts.
13964 -SHELL=$lt_SHELL
13965 -
13966 -# Whether or not to build shared libraries.
13967 -build_libtool_libs=$enable_shared
13968 -
13969 -# Whether or not to build static libraries.
13970 -build_old_libs=$enable_static
13971 -
13972 -# Whether or not to add -lc for building shared libraries.
13973 -build_libtool_need_lc=$need_lc
13974 -
13975 -# Whether or not to optimize for fast installation.
13976 -fast_install=$enable_fast_install
13977 -
13978 -# The host system.
13979 -host_alias=$host_alias
13980 -host=$host
13981 -
13982 -# An echo program that does not interpret backslashes.
13983 -echo=$lt_echo
13984 -
13985 -# The archiver.
13986 -AR=$lt_AR
13987 -AR_FLAGS=$lt_AR_FLAGS
13988 -
13989 -# The default C compiler.
13990 -CC=$lt_CC
13991 -
13992 -# Is the compiler the GNU C compiler?
13993 -with_gcc=$GCC
13994 -
13995 -# The linker used to build libraries.
13996 -LD=$lt_LD
13997 -
13998 -# Whether we need hard or soft links.
13999 -LN_S=$lt_LN_S
14000 -
14001 -# A BSD-compatible nm program.
14002 -NM=$lt_NM
14003 -
14004 -# A symbol stripping program
14005 -STRIP=$STRIP
14006 -
14007 -# Used to examine libraries when file_magic_cmd begins "file"
14008 -MAGIC_CMD=$MAGIC_CMD
14009 -
14010 -# Used on cygwin: DLL creation program.
14011 -DLLTOOL="$DLLTOOL"
14012 -
14013 -# Used on cygwin: object dumper.
14014 -OBJDUMP="$OBJDUMP"
14015 -
14016 -# Used on cygwin: assembler.
14017 -AS="$AS"
14018 -
14019 -# The name of the directory that contains temporary libtool files.
14020 -objdir=$objdir
14021 -
14022 -# How to create reloadable object files.
14023 -reload_flag=$lt_reload_flag
14024 -reload_cmds=$lt_reload_cmds
14025 -
14026 -# How to pass a linker flag through the compiler.
14027 -wl=$lt_wl
14028 -
14029 -# Object file suffix (normally "o").
14030 -objext="$ac_objext"
14031 -
14032 -# Old archive suffix (normally "a").
14033 -libext="$libext"
14034 -
14035 -# Executable file suffix (normally "").
14036 -exeext="$exeext"
14037 -
14038 -# Additional compiler flags for building library objects.
14039 -pic_flag=$lt_pic_flag
14040 -pic_mode=$pic_mode
14041 -
14042 -# Does compiler simultaneously support -c and -o options?
14043 -compiler_c_o=$lt_compiler_c_o
14044 -
14045 -# Can we write directly to a .lo ?
14046 -compiler_o_lo=$lt_compiler_o_lo
14047 -
14048 -# Must we lock files when doing compilation ?
14049 -need_locks=$lt_need_locks
14050 -
14051 -# Do we need the lib prefix for modules?
14052 -need_lib_prefix=$need_lib_prefix
14053 -
14054 -# Do we need a version for libraries?
14055 -need_version=$need_version
14056 -
14057 -# Whether dlopen is supported.
14058 -dlopen_support=$enable_dlopen
14059 -
14060 -# Whether dlopen of programs is supported.
14061 -dlopen_self=$enable_dlopen_self
14062 -
14063 -# Whether dlopen of statically linked programs is supported.
14064 -dlopen_self_static=$enable_dlopen_self_static
14065 -
14066 -# Compiler flag to prevent dynamic linking.
14067 -link_static_flag=$lt_link_static_flag
14068 -
14069 -# Compiler flag to turn off builtin functions.
14070 -no_builtin_flag=$lt_no_builtin_flag
14071 -
14072 -# Compiler flag to allow reflexive dlopens.
14073 -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
14074 -
14075 -# Compiler flag to generate shared objects directly from archives.
14076 -whole_archive_flag_spec=$lt_whole_archive_flag_spec
14077 -
14078 -# Compiler flag to generate thread-safe objects.
14079 -thread_safe_flag_spec=$lt_thread_safe_flag_spec
14080 -
14081 -# Library versioning type.
14082 -version_type=$version_type
14083 -
14084 -# Format of library name prefix.
14085 -libname_spec=$lt_libname_spec
14086 -
14087 -# List of archive names.  First name is the real one, the rest are links.
14088 -# The last name is the one that the linker finds with -lNAME.
14089 -library_names_spec=$lt_library_names_spec
14090 -
14091 -# The coded name of the library, if different from the real name.
14092 -soname_spec=$lt_soname_spec
14093 -
14094 -# Commands used to build and install an old-style archive.
14095 -RANLIB=$lt_RANLIB
14096 -old_archive_cmds=$lt_old_archive_cmds
14097 -old_postinstall_cmds=$lt_old_postinstall_cmds
14098 -old_postuninstall_cmds=$lt_old_postuninstall_cmds
14099 -
14100 -# Create an old-style archive from a shared archive.
14101 -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
14102 -
14103 -# Create a temporary old-style archive to link instead of a shared archive.
14104 -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
14105 -
14106 -# Commands used to build and install a shared archive.
14107 -archive_cmds=$lt_archive_cmds
14108 -archive_expsym_cmds=$lt_archive_expsym_cmds
14109 -postinstall_cmds=$lt_postinstall_cmds
14110 -postuninstall_cmds=$lt_postuninstall_cmds
14111 -
14112 -# Commands to strip libraries.
14113 -old_striplib=$lt_old_striplib
14114 -striplib=$lt_striplib
14115 -
14116 -# Method to check whether dependent libraries are shared objects.
14117 -deplibs_check_method=$lt_deplibs_check_method
14118 -
14119 -# Command to use when deplibs_check_method == file_magic.
14120 -file_magic_cmd=$lt_file_magic_cmd
14121 -
14122 -# Flag that allows shared libraries with undefined symbols to be built.
14123 -allow_undefined_flag=$lt_allow_undefined_flag
14124 -
14125 -# Flag that forces no undefined symbols.
14126 -no_undefined_flag=$lt_no_undefined_flag
14127 -
14128 -# Commands used to finish a libtool library installation in a directory.
14129 -finish_cmds=$lt_finish_cmds
14130 -
14131 -# Same as above, but a single script fragment to be evaled but not shown.
14132 -finish_eval=$lt_finish_eval
14133 -
14134 -# Take the output of nm and produce a listing of raw symbols and C names.
14135 -global_symbol_pipe=$lt_global_symbol_pipe
14136 -
14137 -# Transform the output of nm in a proper C declaration
14138 -global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
14139 -
14140 -# Transform the output of nm in a C name address pair
14141 -global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
14142 -
14143 -# This is the shared library runtime path variable.
14144 -runpath_var=$runpath_var
14145 -
14146 -# This is the shared library path variable.
14147 -shlibpath_var=$shlibpath_var
14148 -
14149 -# Is shlibpath searched before the hard-coded library search path?
14150 -shlibpath_overrides_runpath=$shlibpath_overrides_runpath
14151 -
14152 -# How to hardcode a shared library path into an executable.
14153 -hardcode_action=$hardcode_action
14154 -
14155 -# Whether we should hardcode library paths into libraries.
14156 -hardcode_into_libs=$hardcode_into_libs
14157 -
14158 -# Flag to hardcode \$libdir into a binary during linking.
14159 -# This must work even if \$libdir does not exist.
14160 -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
14161 -
14162 -# Whether we need a single -rpath flag with a separated argument.
14163 -hardcode_libdir_separator=$lt_hardcode_libdir_separator
14164 -
14165 -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
14166 -# resulting binary.
14167 -hardcode_direct=$hardcode_direct
14168 -
14169 -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
14170 -# resulting binary.
14171 -hardcode_minus_L=$hardcode_minus_L
14172 -
14173 -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
14174 -# the resulting binary.
14175 -hardcode_shlibpath_var=$hardcode_shlibpath_var
14176 -
14177 -# Variables whose values should be saved in libtool wrapper scripts and
14178 -# restored at relink time.
14179 -variables_saved_for_relink="$variables_saved_for_relink"
14180 -
14181 -# Whether libtool must link a program against all its dependency libraries.
14182 -link_all_deplibs=$link_all_deplibs
14183 -
14184 -# Compile-time system search path for libraries
14185 -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
14186 -
14187 -# Run-time system search path for libraries
14188 -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
14189 -
14190 -# Fix the shell variable \$srcfile for the compiler.
14191 -fix_srcfile_path="$fix_srcfile_path"
14192 -
14193 -# Set to yes if exported symbols are required.
14194 -always_export_symbols=$always_export_symbols
14195 -
14196 -# The commands to list exported symbols.
14197 -export_symbols_cmds=$lt_export_symbols_cmds
14198 -
14199 -# The commands to extract the exported symbol list from a shared archive.
14200 -extract_expsyms_cmds=$lt_extract_expsyms_cmds
14201 -
14202 -# Symbols that should not be listed in the preloaded symbols.
14203 -exclude_expsyms=$lt_exclude_expsyms
14204 -
14205 -# Symbols that must always be exported.
14206 -include_expsyms=$lt_include_expsyms
14207 -
14208 -# ### END LIBTOOL CONFIG
14209 -
14210 -__EOF__
14211 -
14212 -  case $host_os in
14213 -  aix3*)
14214 -    cat <<\EOF >> "${ofile}T"
14215 -
14216 -# AIX sometimes has problems with the GCC collect2 program.  For some
14217 -# reason, if we set the COLLECT_NAMES environment variable, the problems
14218 -# vanish in a puff of smoke.
14219 -if test "X${COLLECT_NAMES+set}" != Xset; then
14220 -  COLLECT_NAMES=
14221 -  export COLLECT_NAMES
14222 -fi
14223 -EOF
14224 -    ;;
14225 -  esac
14226 -
14227 -  case $host_os in
14228 -  cygwin* | mingw* | pw32* | os2*)
14229 -    cat <<'EOF' >> "${ofile}T"
14230 -      # This is a source program that is used to create dlls on Windows
14231 -      # Don't remove nor modify the starting and closing comments
14232 -# /* ltdll.c starts here */
14233 -# #define WIN32_LEAN_AND_MEAN
14234 -# #include <windows.h>
14235 -# #undef WIN32_LEAN_AND_MEAN
14236 -# #include <stdio.h>
14237 -#
14238 -# #ifndef __CYGWIN__
14239 -# #  ifdef __CYGWIN32__
14240 -# #    define __CYGWIN__ __CYGWIN32__
14241 -# #  endif
14242 -# #endif
14243 -#
14244 -# #ifdef __cplusplus
14245 -# extern "C" {
14246 -# #endif
14247 -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
14248 -# #ifdef __cplusplus
14249 -# }
14250 -# #endif
14251 -#
14252 -# #ifdef __CYGWIN__
14253 -# #include <cygwin/cygwin_dll.h>
14254 -# DECLARE_CYGWIN_DLL( DllMain );
14255 -# #endif
14256 -# HINSTANCE __hDllInstance_base;
14257 -#
14258 -# BOOL APIENTRY
14259 -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
14260 -# {
14261 -#   __hDllInstance_base = hInst;
14262 -#   return TRUE;
14263 -# }
14264 -# /* ltdll.c ends here */
14265 -       # This is a source program that is used to create import libraries
14266 -       # on Windows for dlls which lack them. Don't remove nor modify the
14267 -       # starting and closing comments
14268 -# /* impgen.c starts here */
14269 -# /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
14270 -#
14271 -#  This file is part of GNU libtool.
14272 -#
14273 -#  This program is free software; you can redistribute it and/or modify
14274 -#  it under the terms of the GNU General Public License as published by
14275 -#  the Free Software Foundation; either version 2 of the License, or
14276 -#  (at your option) any later version.
14277 -#
14278 -#  This program is distributed in the hope that it will be useful,
14279 -#  but WITHOUT ANY WARRANTY; without even the implied warranty of
14280 -#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14281 -#  GNU General Public License for more details.
14282 -#
14283 -#  You should have received a copy of the GNU General Public License
14284 -#  along with this program; if not, write to the Free Software
14285 -#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
14286 -#  */
14287 -#
14288 -# #include <stdio.h>           /* for printf() */
14289 -# #include <unistd.h>          /* for open(), lseek(), read() */
14290 -# #include <fcntl.h>           /* for O_RDONLY, O_BINARY */
14291 -# #include <string.h>          /* for strdup() */
14292 -#
14293 -# /* O_BINARY isn't required (or even defined sometimes) under Unix */
14294 -# #ifndef O_BINARY
14295 -# #define O_BINARY 0
14296 -# #endif
14297 -#
14298 -# static unsigned int
14299 -# pe_get16 (fd, offset)
14300 -#      int fd;
14301 -#      int offset;
14302 -# {
14303 -#   unsigned char b[2];
14304 -#   lseek (fd, offset, SEEK_SET);
14305 -#   read (fd, b, 2);
14306 -#   return b[0] + (b[1]<<8);
14307 -# }
14308 -#
14309 -# static unsigned int
14310 -# pe_get32 (fd, offset)
14311 -#     int fd;
14312 -#     int offset;
14313 -# {
14314 -#   unsigned char b[4];
14315 -#   lseek (fd, offset, SEEK_SET);
14316 -#   read (fd, b, 4);
14317 -#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
14318 -# }
14319 -#
14320 -# static unsigned int
14321 -# pe_as32 (ptr)
14322 -#      void *ptr;
14323 -# {
14324 -#   unsigned char *b = ptr;
14325 -#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
14326 -# }
14327 -#
14328 -# int
14329 -# main (argc, argv)
14330 -#     int argc;
14331 -#     char *argv[];
14332 -# {
14333 -#     int dll;
14334 -#     unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
14335 -#     unsigned long export_rva, export_size, nsections, secptr, expptr;
14336 -#     unsigned long name_rvas, nexp;
14337 -#     unsigned char *expdata, *erva;
14338 -#     char *filename, *dll_name;
14339 -#
14340 -#     filename = argv[1];
14341 -#
14342 -#     dll = open(filename, O_RDONLY|O_BINARY);
14343 -#     if (dll < 1)
14344 -#      return 1;
14345 -#
14346 -#     dll_name = filename;
14347 -#
14348 -#     for (i=0; filename[i]; i++)
14349 -#      if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
14350 -#          dll_name = filename + i +1;
14351 -#
14352 -#     pe_header_offset = pe_get32 (dll, 0x3c);
14353 -#     opthdr_ofs = pe_header_offset + 4 + 20;
14354 -#     num_entries = pe_get32 (dll, opthdr_ofs + 92);
14355 -#
14356 -#     if (num_entries < 1) /* no exports */
14357 -#      return 1;
14358 -#
14359 -#     export_rva = pe_get32 (dll, opthdr_ofs + 96);
14360 -#     export_size = pe_get32 (dll, opthdr_ofs + 100);
14361 -#     nsections = pe_get16 (dll, pe_header_offset + 4 +2);
14362 -#     secptr = (pe_header_offset + 4 + 20 +
14363 -#            pe_get16 (dll, pe_header_offset + 4 + 16));
14364 -#
14365 -#     expptr = 0;
14366 -#     for (i = 0; i < nsections; i++)
14367 -#     {
14368 -#      char sname[8];
14369 -#      unsigned long secptr1 = secptr + 40 * i;
14370 -#      unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
14371 -#      unsigned long vsize = pe_get32 (dll, secptr1 + 16);
14372 -#      unsigned long fptr = pe_get32 (dll, secptr1 + 20);
14373 -#      lseek(dll, secptr1, SEEK_SET);
14374 -#      read(dll, sname, 8);
14375 -#      if (vaddr <= export_rva && vaddr+vsize > export_rva)
14376 -#      {
14377 -#          expptr = fptr + (export_rva - vaddr);
14378 -#          if (export_rva + export_size > vaddr + vsize)
14379 -#              export_size = vsize - (export_rva - vaddr);
14380 -#          break;
14381 -#      }
14382 -#     }
14383 -#
14384 -#     expdata = (unsigned char*)malloc(export_size);
14385 -#     lseek (dll, expptr, SEEK_SET);
14386 -#     read (dll, expdata, export_size);
14387 -#     erva = expdata - export_rva;
14388 -#
14389 -#     nexp = pe_as32 (expdata+24);
14390 -#     name_rvas = pe_as32 (expdata+32);
14391 -#
14392 -#     printf ("EXPORTS\n");
14393 -#     for (i = 0; i<nexp; i++)
14394 -#     {
14395 -#      unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
14396 -#      printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
14397 -#     }
14398 -#
14399 -#     return 0;
14400 -# }
14401 -# /* impgen.c ends here */
14402 -
14403 -EOF
14404 -    ;;
14405 -  esac
14406 -
14407 -  # We use sed instead of cat because bash on DJGPP gets confused if
14408 -  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
14409 -  # text mode, it properly converts lines to CR/LF.  This bash problem
14410 -  # is reportedly fixed, but why not run on old versions too?
14411 -  sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
14412 -
14413 -  mv -f "${ofile}T" "$ofile" || \
14414 -    (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
14415 -  chmod +x "$ofile"
14416 -fi
14417 -
14418 -
14419 -
14420 -
14421 -
14422 -# This can be used to rebuild libtool when needed
14423 -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
14424 -
14425 -# Always use our own libtool.
14426 -LIBTOOL='$(SHELL) $(top_builddir)/libtool'
14427 -
14428 -# Prevent multiple expansion
14429 -
14430 -
14431 -
14432 -
14433 -# Check whether --with-target-subdir or --without-target-subdir was given.
14434 -if test "${with_target_subdir+set}" = set; then
14435 -  withval="$with_target_subdir"
14436 -  
14437 -fi; 
14438 -
14439 -# Check whether --with-cross-host or --without-cross-host was given.
14440 -if test "${with_cross_host+set}" = set; then
14441 -  withval="$with_cross_host"
14442 -  
14443 -fi; 
14444 -
14445 -echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
14446 -echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
14447 -    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
14448 -if test "${enable_maintainer_mode+set}" = set; then
14449 -  enableval="$enable_maintainer_mode"
14450 -  USE_MAINTAINER_MODE=$enableval
14451 -else
14452 -  USE_MAINTAINER_MODE=no
14453 -fi; 
14454 -  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
14455 -echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
14456 -  
14457 -
14458 -if test $USE_MAINTAINER_MODE = yes; then
14459 -  MAINTAINER_MODE_TRUE=
14460 -  MAINTAINER_MODE_FALSE='#'
14461 -else
14462 -  MAINTAINER_MODE_TRUE='#'
14463 -  MAINTAINER_MODE_FALSE=
14464 -fi
14465 -
14466 -  MAINT=$MAINTAINER_MODE_TRUE
14467 -  
14468 -
14469 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
14470 -# it is actually a problem, because the compiler we're passed can't
14471 -# necessarily do a full link.  So we fool automake here.
14472 -if false; then
14473 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
14474 -  # to nothing, so nothing would remain between `then' and `fi' if it
14475 -  # were not for the `:' below.
14476 -  :
14477 -  
14478 -fi
14479 -
14480 -echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
14481 -echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
14482 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
14483 -if test -z "$THREADS"; then
14484 -   THREADS=no
14485 -fi
14486 -echo "$as_me:$LINENO: result: $THREADS" >&5
14487 -echo "${ECHO_T}$THREADS" >&6
14488 -
14489 -# Check whether --enable-parallel-mark or --disable-parallel-mark was given.
14490 -if test "${enable_parallel_mark+set}" = set; then
14491 -  enableval="$enable_parallel_mark"
14492 -  case "$THREADS" in
14493 -      no | none | single)
14494 -       { { echo "$as_me:$LINENO: error: Parallel mark requires --enable-threads=x spec" >&5
14495 -echo "$as_me: error: Parallel mark requires --enable-threads=x spec" >&2;}
14496 -   { (exit 1); exit 1; }; }
14497 -       ;;
14498 -    esac
14499 -
14500 -fi; 
14501 -
14502 -INCLUDES=-I${srcdir}/include
14503 -THREADLIBS=
14504 -case "$THREADS" in
14505 - no | none | single)
14506 -    THREADS=none
14507 -    ;;
14508 - posix | pthreads)
14509 -    THREADS=posix
14510 -    THREADLIBS=-lpthread
14511 -    case "$host" in
14512 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
14513 -       cat >>confdefs.h <<\_ACEOF
14514 -@%:@define GC_LINUX_THREADS 1
14515 -_ACEOF
14516 -
14517 -       cat >>confdefs.h <<\_ACEOF
14518 -@%:@define _REENTRANT 1
14519 -_ACEOF
14520 -
14521 -        if test "${enable_parallel_mark}"; then
14522 -         cat >>confdefs.h <<\_ACEOF
14523 -@%:@define PARALLEL_MARK 1
14524 -_ACEOF
14525 -
14526 -       fi
14527 -       cat >>confdefs.h <<\_ACEOF
14528 -@%:@define THREAD_LOCAL_ALLOC 1
14529 -_ACEOF
14530 -
14531 -       ;;
14532 -     *-*-linux*)
14533 -       cat >>confdefs.h <<\_ACEOF
14534 -@%:@define GC_LINUX_THREADS 1
14535 -_ACEOF
14536 -
14537 -       cat >>confdefs.h <<\_ACEOF
14538 -@%:@define _REENTRANT 1
14539 -_ACEOF
14540 -
14541 -       ;;
14542 -     *-*-hpux*)
14543 -       { echo "$as_me:$LINENO: WARNING: \"Only HP/UX 11 threads are supported.\"" >&5
14544 -echo "$as_me: WARNING: \"Only HP/UX 11 threads are supported.\"" >&2;}
14545 -       cat >>confdefs.h <<\_ACEOF
14546 -@%:@define GC_HPUX_THREADS 1
14547 -_ACEOF
14548 -
14549 -       cat >>confdefs.h <<\_ACEOF
14550 -@%:@define _POSIX_C_SOURCE 199506L
14551 -_ACEOF
14552 -
14553 -       if test "${enable_parallel_mark}" = yes; then
14554 -         cat >>confdefs.h <<\_ACEOF
14555 -@%:@define PARALLEL_MARK 1
14556 -_ACEOF
14557 -
14558 -       fi
14559 -       cat >>confdefs.h <<\_ACEOF
14560 -@%:@define THREAD_LOCAL_ALLOC 1
14561 -_ACEOF
14562 -
14563 -       THREADLIBS="-lpthread -lrt"
14564 -       ;;
14565 -     *-*-freebsd*)
14566 -       { echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
14567 -echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
14568 -       cat >>confdefs.h <<\_ACEOF
14569 -@%:@define GC_FREEBSD_THREADS 1
14570 -_ACEOF
14571 -
14572 -       INCLUDES="$INCLUDES -pthread"
14573 -       THREADLIBS=-pthread
14574 -       ;;
14575 -     *-*-solaris*)
14576 -       cat >>confdefs.h <<\_ACEOF
14577 -@%:@define GC_SOLARIS_THREADS 1
14578 -_ACEOF
14579 -
14580 -       cat >>confdefs.h <<\_ACEOF
14581 -@%:@define GC_SOLARIS_PTHREADS 1
14582 -_ACEOF
14583 -
14584 -       ;;
14585 -     *-*-irix*)
14586 -       cat >>confdefs.h <<\_ACEOF
14587 -@%:@define GC_IRIX_THREADS 1
14588 -_ACEOF
14589 -
14590 -       ;;
14591 -     *-*-cygwin*)
14592 -       THREADLIBS=
14593 -       ;;
14594 -     *-*-darwin*)
14595 -       cat >>confdefs.h <<\_ACEOF
14596 -@%:@define GC_DARWIN_THREADS 1
14597 -_ACEOF
14598 -
14599 -       cat >>confdefs.h <<\_ACEOF
14600 -@%:@define THREAD_LOCAL_ALLOC 1
14601 -_ACEOF
14602 -
14603 -       if test "${enable_parallel_mark}" = yes; then
14604 -         cat >>confdefs.h <<\_ACEOF
14605 -@%:@define PARALLEL_MARK 1
14606 -_ACEOF
14607 -
14608 -       fi
14609 -       ;;
14610 -    esac
14611 -    ;;
14612 - win32)
14613 -    cat >>confdefs.h <<\_ACEOF
14614 -@%:@define GC_WIN32_THREADS 1
14615 -_ACEOF
14616 -
14617 -    cat >>confdefs.h <<\_ACEOF
14618 -@%:@define NO_GETENV 1
14619 -_ACEOF
14620 -
14621 -    ;;
14622 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
14623 -    { { echo "$as_me:$LINENO: error: thread package $THREADS not yet supported" >&5
14624 -echo "$as_me: error: thread package $THREADS not yet supported" >&2;}
14625 -   { (exit 1); exit 1; }; }
14626 -    ;;
14627 - *)
14628 -    { { echo "$as_me:$LINENO: error: $THREADS is an unknown thread package" >&5
14629 -echo "$as_me: error: $THREADS is an unknown thread package" >&2;}
14630 -   { (exit 1); exit 1; }; }
14631 -    ;;
14632 -esac
14633 -
14634 -
14635 -case "$host" in 
14636 -   powerpc-*-darwin*)
14637 -      powerpc_darwin=true
14638 -      ;;
14639 -esac
14640 -
14641 -
14642 -if test x$powerpc_darwin = xtrue; then
14643 -  POWERPC_DARWIN_TRUE=
14644 -  POWERPC_DARWIN_FALSE='#'
14645 -else
14646 -  POWERPC_DARWIN_TRUE='#'
14647 -  POWERPC_DARWIN_FALSE=
14648 -fi
14649 -
14650 -
14651 -# We never want libdl on darwin. It is a fake libdl that just ends up making
14652 -# dyld calls anyway
14653 -case "$host" in
14654 -  *-*-darwin*) ;;
14655 -  *) 
14656 -    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
14657 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
14658 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then
14659 -  echo $ECHO_N "(cached) $ECHO_C" >&6
14660 -else
14661 -  ac_check_lib_save_LIBS=$LIBS
14662 -LIBS="-ldl  $LIBS"
14663 -cat >conftest.$ac_ext <<_ACEOF
14664 -#line $LINENO "configure"
14665 -#include "confdefs.h"
14666 -
14667 -/* Override any gcc2 internal prototype to avoid an error.  */
14668 -#ifdef __cplusplus
14669 -extern "C"
14670 -#endif
14671 -/* We use char because int might match the return type of a gcc2
14672 -   builtin and then its argument prototype would still apply.  */
14673 -char dlopen ();
14674 -int
14675 -main ()
14676 -{
14677 -dlopen ();
14678 -  ;
14679 -  return 0;
14680 -}
14681 -_ACEOF
14682 -rm -f conftest.$ac_objext conftest$ac_exeext
14683 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
14684 -  (eval $ac_link) 2>&5
14685 -  ac_status=$?
14686 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
14687 -  (exit $ac_status); } &&
14688 -         { ac_try='test -s conftest$ac_exeext'
14689 -  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
14690 -  (eval $ac_try) 2>&5
14691 -  ac_status=$?
14692 -  echo "$as_me:$LINENO: \$? = $ac_status" >&5
14693 -  (exit $ac_status); }; }; then
14694 -  ac_cv_lib_dl_dlopen=yes
14695 -else
14696 -  echo "$as_me: failed program was:" >&5
14697 -cat conftest.$ac_ext >&5
14698 -ac_cv_lib_dl_dlopen=no
14699 -fi
14700 -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
14701 -LIBS=$ac_check_lib_save_LIBS
14702 -fi
14703 -echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
14704 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
14705 -if test $ac_cv_lib_dl_dlopen = yes; then
14706 -  EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"
14707 -fi
14708 -
14709 -    ;;
14710 -esac
14711 -
14712 -
14713 -
14714 -target_all=libgcjgc.la
14715 -
14716 -
14717 -
14718 -TARGET_ECOS="no"
14719 -
14720 -# Check whether --with-ecos or --without-ecos was given.
14721 -if test "${with_ecos+set}" = set; then
14722 -  withval="$with_ecos"
14723 -  TARGET_ECOS="$with_ecos"
14724 -
14725 -fi; 
14726 -
14727 -addobjs=
14728 -CXXINCLUDES=
14729 -case "$TARGET_ECOS" in
14730 -   no)
14731 -      ;;
14732 -   *)
14733 -      cat >>confdefs.h <<\_ACEOF
14734 -@%:@define ECOS 1
14735 -_ACEOF
14736 -
14737 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
14738 -      addobjs="$addobjs ecos.lo"
14739 -      ;;
14740 -esac
14741 -
14742 -
14743 -
14744 -
14745 -
14746 -machdep=
14747 -case "$host" in
14748 - alpha*-*-openbsd*)
14749 -    machdep="alpha_mach_dep.lo"
14750 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
14751 -       { echo "$as_me:$LINENO: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&5
14752 -echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library support is disabled" >&2;}
14753 -       # Check whether --enable-shared or --disable-shared was given.
14754 -if test "${enable_shared+set}" = set; then
14755 -  enableval="$enable_shared"
14756 -  p=${PACKAGE-default}
14757 -case $enableval in
14758 -yes) enable_shared=yes ;;
14759 -no) enable_shared=no ;;
14760 -*)
14761 -  enable_shared=no
14762 -  # Look at the argument we got.  We use all the common list separators.
14763 -  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
14764 -  for pkg in $enableval; do
14765 -    if test "X$pkg" = "X$p"; then
14766 -      enable_shared=yes
14767 -    fi
14768 -  done
14769 -  IFS="$ac_save_ifs"
14770 -  ;;
14771 -esac
14772 -else
14773 -  enable_shared=no
14774 -fi; 
14775 -    fi
14776 -    ;;
14777 - alpha*-*-*)
14778 -    machdep="alpha_mach_dep.lo"
14779 -    ;;
14780 - i?86-*-solaris2.[89]*)
14781 -    cat >>confdefs.h <<\_ACEOF
14782 -@%:@define SOLARIS25_PROC_VDB_BUG_FIXED 1
14783 -_ACEOF
14784 -
14785 -    ;;
14786 - mipstx39-*-elf*)
14787 -    machdep="mips_ultrix_mach_dep.lo"
14788 -    cat >>confdefs.h <<\_ACEOF
14789 -@%:@define STACKBASE __stackbase
14790 -_ACEOF
14791 -
14792 -    cat >>confdefs.h <<\_ACEOF
14793 -@%:@define DATASTART_IS_ETEXT 1
14794 -_ACEOF
14795 -
14796 -    ;;
14797 - mips-dec-ultrix*)
14798 -    machdep="mips_ultrix_mach-dep.lo"
14799 -    ;;
14800 - mips*-*-linux*)
14801 -    ;;
14802 - mips-*-*)
14803 -    machdep="mips_sgi_mach_dep.lo"
14804 -    cat >>confdefs.h <<\_ACEOF
14805 -@%:@define NO_EXECUTE_PERMISSION 1
14806 -_ACEOF
14807 -
14808 -    ;;
14809 - sparc-sun-solaris2.3*)
14810 -    machdep="sparc_mach_dep.lo"
14811 -    cat >>confdefs.h <<\_ACEOF
14812 -@%:@define SUNOS53_SHARED_LIB 1
14813 -_ACEOF
14814 -
14815 -    ;;
14816 - sparc-sun-solaris2.*)
14817 -    machdep="sparc_mach_dep.lo"
14818 -    ;;
14819 - ia64-*-*)
14820 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
14821 -    ;;
14822 -esac
14823 -if test x"$machdep" = x; then
14824 -   machdep="mach_dep.lo"
14825 -fi
14826 -addobjs="$addobjs $machdep"
14827 -
14828 -
14829 -case "$host" in
14830 - sparc-sun-solaris2*)
14831 -    if test "$GCC" = yes; then
14832 -       new_CFLAGS=
14833 -       for i in $CFLAGS; do
14834 -         case "$i" in
14835 -          -O*)
14836 -             ;;
14837 -          *)
14838 -             new_CFLAGS="$new_CFLAGS $i"
14839 -             ;;
14840 -         esac
14841 -       done
14842 -       CFLAGS="$new_CFLAGS"
14843 -    fi
14844 -    ;;
14845 -esac
14846 -
14847 -MY_CFLAGS="$CFLAGS"
14848 -
14849 -
14850 -cat >>confdefs.h <<\_ACEOF
14851 -@%:@define SILENT 1
14852 -_ACEOF
14853 -
14854 -cat >>confdefs.h <<\_ACEOF
14855 -@%:@define NO_SIGNALS 1
14856 -_ACEOF
14857 -
14858 -cat >>confdefs.h <<\_ACEOF
14859 -@%:@define NO_EXECUTE_PERMISSION 1
14860 -_ACEOF
14861 -
14862 -cat >>confdefs.h <<\_ACEOF
14863 -@%:@define ALL_INTERIOR_POINTERS 1
14864 -_ACEOF
14865 -
14866 -
14867 -cat >>confdefs.h <<\_ACEOF
14868 -@%:@define JAVA_FINALIZATION 1
14869 -_ACEOF
14870 -
14871 -cat >>confdefs.h <<\_ACEOF
14872 -@%:@define GC_GCJ_SUPPORT 1
14873 -_ACEOF
14874 -
14875 -cat >>confdefs.h <<\_ACEOF
14876 -@%:@define ATOMIC_UNCOLLECTABLE 1
14877 -_ACEOF
14878 -
14879 -
14880 -if test -n "${with_cross_host}"; then
14881 -   cat >>confdefs.h <<\_ACEOF
14882 -@%:@define NO_SIGSET 1
14883 -_ACEOF
14884 -
14885 -   cat >>confdefs.h <<\_ACEOF
14886 -@%:@define NO_DEBUGGING 1
14887 -_ACEOF
14888 -
14889 -fi
14890 -
14891 -# Check whether --enable-full-debug or --disable-full-debug was given.
14892 -if test "${enable_full_debug+set}" = set; then
14893 -  enableval="$enable_full_debug"
14894 -   if test "$enable_full_debug" = "yes"; then
14895 -    { echo "$as_me:$LINENO: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&5
14896 -echo "$as_me: WARNING: \"Must define GC_DEBUG and use debug alloc. in clients.\"" >&2;}
14897 -    cat >>confdefs.h <<\_ACEOF
14898 -@%:@define KEEP_BACK_PTRS 1
14899 -_ACEOF
14900 -
14901 -    cat >>confdefs.h <<\_ACEOF
14902 -@%:@define DBG_HDRS_ALL 1
14903 -_ACEOF
14904 -
14905 -    case $host in
14906 -      ia64-*-linux* )
14907 -       cat >>confdefs.h <<\_ACEOF
14908 -@%:@define MAKE_BACK_GRAPH 1
14909 -_ACEOF
14910 -
14911 -      ;;
14912 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
14913 -       cat >>confdefs.h <<\_ACEOF
14914 -@%:@define MAKE_BACK_GRAPH 1
14915 -_ACEOF
14916 -
14917 -       { echo "$as_me:$LINENO: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&5
14918 -echo "$as_me: WARNING: \"Client must not use -fomit-frame-pointer.\"" >&2;}
14919 -       cat >>confdefs.h <<\_ACEOF
14920 -@%:@define SAVE_CALL_COUNT 8
14921 -_ACEOF
14922 -
14923 -      ;;
14924 -    esac 
14925 -  fi
14926 -fi; 
14927 -
14928 -
14929 -
14930 -if test -z "$with_cross_host"; then
14931 -  USE_LIBDIR_TRUE=
14932 -  USE_LIBDIR_FALSE='#'
14933 -else
14934 -  USE_LIBDIR_TRUE='#'
14935 -  USE_LIBDIR_FALSE=
14936 -fi
14937 -
14938 -
14939 -if test "${multilib}" = "yes"; then
14940 -  multilib_arg="--enable-multilib"
14941 -else
14942 -  multilib_arg=
14943 -fi
14944 -
14945 -                    ac_config_files="$ac_config_files Makefile include/Makefile"
14946 -          ac_config_commands="$ac_config_commands default"
14947 -cat >confcache <<\_ACEOF
14948 -# This file is a shell script that caches the results of configure
14949 -# tests run on this system so they can be shared between configure
14950 -# scripts and configure runs, see configure's option --config-cache.
14951 -# It is not useful on other systems.  If it contains results you don't
14952 -# want to keep, you may remove or edit it.
14953 -#
14954 -# config.status only pays attention to the cache file if you give it
14955 -# the --recheck option to rerun configure.
14956 -#
14957 -# `ac_cv_env_foo' variables (set or unset) will be overridden when
14958 -# loading this file, other *unset* `ac_cv_foo' will be assigned the
14959 -# following values.
14960 -
14961 -_ACEOF
14962 -
14963 -# The following way of writing the cache mishandles newlines in values,
14964 -# but we know of no workaround that is simple, portable, and efficient.
14965 -# So, don't put newlines in cache variables' values.
14966 -# Ultrix sh set writes to stderr and can't be redirected directly,
14967 -# and sets the high bit in the cache file unless we assign to the vars.
14968 -{
14969 -  (set) 2>&1 |
14970 -    case `(ac_space=' '; set | grep ac_space) 2>&1` in
14971 -    *ac_space=\ *)
14972 -      # `set' does not quote correctly, so add quotes (double-quote
14973 -      # substitution turns \\\\ into \\, and sed turns \\ into \).
14974 -      sed -n \
14975 -        "s/'/'\\\\''/g;
14976 -         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
14977 -      ;;
14978 -    *)
14979 -      # `set' quotes correctly as required by POSIX, so do not add quotes.
14980 -      sed -n \
14981 -        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
14982 -      ;;
14983 -    esac;
14984 -} |
14985 -  sed '
14986 -     t clear
14987 -     : clear
14988 -     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
14989 -     t end
14990 -     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
14991 -     : end' >>confcache
14992 -if cmp -s $cache_file confcache; then :; else
14993 -  if test -w $cache_file; then
14994 -    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
14995 -    cat confcache >$cache_file
14996 -  else
14997 -    echo "not updating unwritable cache $cache_file"
14998 -  fi
14999 -fi
15000 -rm -f confcache
15001 -
15002 -test "x$prefix" = xNONE && prefix=$ac_default_prefix
15003 -# Let make expand exec_prefix.
15004 -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
15005 -
15006 -# VPATH may cause trouble with some makes, so we remove $(srcdir),
15007 -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
15008 -# trailing colons and then remove the whole line if VPATH becomes empty
15009 -# (actually we leave an empty line to preserve line numbers).
15010 -if test "x$srcdir" = x.; then
15011 -  ac_vpsub='/^[        ]*VPATH[        ]*=/{
15012 -s/:*\$(srcdir):*/:/;
15013 -s/:*\${srcdir}:*/:/;
15014 -s/:*@srcdir@:*/:/;
15015 -s/^\([^=]*=[   ]*\):*/\1/;
15016 -s/:*$//;
15017 -s/^[^=]*=[     ]*$//;
15018 -}'
15019 -fi
15020 -
15021 -# Transform confdefs.h into DEFS.
15022 -# Protect against shell expansion while executing Makefile rules.
15023 -# Protect against Makefile macro expansion.
15024 -#
15025 -# If the first sed substitution is executed (which looks for macros that
15026 -# take arguments), then we branch to the quote section.  Otherwise,
15027 -# look for a macro that doesn't take arguments.
15028 -cat >confdef2opt.sed <<\_ACEOF
15029 -t clear
15030 -: clear
15031 -s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\),-D\1=\2,g
15032 -t quote
15033 -s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\),-D\1=\2,g
15034 -t quote
15035 -d
15036 -: quote
15037 -s,[    `~#$^&*(){}\\|;'"<>?],\\&,g
15038 -s,\[,\\&,g
15039 -s,\],\\&,g
15040 -s,\$,$$,g
15041 -p
15042 -_ACEOF
15043 -# We use echo to avoid assuming a particular line-breaking character.
15044 -# The extra dot is to prevent the shell from consuming trailing
15045 -# line-breaks from the sub-command output.  A line-break within
15046 -# single-quotes doesn't work because, if this script is created in a
15047 -# platform that uses two characters for line-breaks (e.g., DOS), tr
15048 -# would break.
15049 -ac_LF_and_DOT=`echo; echo .`
15050 -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
15051 -rm -f confdef2opt.sed
15052 -
15053 -
15054 -ac_libobjs=
15055 -ac_ltlibobjs=
15056 -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
15057 -  # 1. Remove the extension, and $U if already installed.
15058 -  ac_i=`echo "$ac_i" |
15059 -         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
15060 -  # 2. Add them.
15061 -  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
15062 -  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
15063 -done
15064 -LIB@&t@OBJS=$ac_libobjs
15065 -
15066 -LTLIBOBJS=$ac_ltlibobjs
15067 -
15068 -
15069 -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
15070 -  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
15071 -Usually this means the macro was only invoked conditionally." >&5
15072 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
15073 -Usually this means the macro was only invoked conditionally." >&2;}
15074 -   { (exit 1); exit 1; }; }
15075 -fi
15076 -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
15077 -  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
15078 -Usually this means the macro was only invoked conditionally." >&5
15079 -echo "$as_me: error: conditional \"AMDEP\" was never defined.
15080 -Usually this means the macro was only invoked conditionally." >&2;}
15081 -   { (exit 1); exit 1; }; }
15082 -fi
15083 -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
15084 -  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
15085 -Usually this means the macro was only invoked conditionally." >&5
15086 -echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
15087 -Usually this means the macro was only invoked conditionally." >&2;}
15088 -   { (exit 1); exit 1; }; }
15089 -fi
15090 -if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
15091 -  { { echo "$as_me:$LINENO: error: conditional \"POWERPC_DARWIN\" was never defined.
15092 -Usually this means the macro was only invoked conditionally." >&5
15093 -echo "$as_me: error: conditional \"POWERPC_DARWIN\" was never defined.
15094 -Usually this means the macro was only invoked conditionally." >&2;}
15095 -   { (exit 1); exit 1; }; }
15096 -fi
15097 -if test -z "${USE_LIBDIR_TRUE}" && test -z "${USE_LIBDIR_FALSE}"; then
15098 -  { { echo "$as_me:$LINENO: error: conditional \"USE_LIBDIR\" was never defined.
15099 -Usually this means the macro was only invoked conditionally." >&5
15100 -echo "$as_me: error: conditional \"USE_LIBDIR\" was never defined.
15101 -Usually this means the macro was only invoked conditionally." >&2;}
15102 -   { (exit 1); exit 1; }; }
15103 -fi
15104 -
15105 -: ${CONFIG_STATUS=./config.status}
15106 -ac_clean_files_save=$ac_clean_files
15107 -ac_clean_files="$ac_clean_files $CONFIG_STATUS"
15108 -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
15109 -echo "$as_me: creating $CONFIG_STATUS" >&6;}
15110 -cat >$CONFIG_STATUS <<_ACEOF
15111 -#! $SHELL
15112 -# Generated by $as_me.
15113 -# Run this file to recreate the current configuration.
15114 -# Compiler output produced by configure, useful for debugging
15115 -# configure, is in config.log if it exists.
15116 -
15117 -debug=false
15118 -SHELL=\${CONFIG_SHELL-$SHELL}
15119 -_ACEOF
15120 -
15121 -cat >>$CONFIG_STATUS <<\_ACEOF
15122 -## --------------------- ##
15123 -## M4sh Initialization.  ##
15124 -## --------------------- ##
15125 -
15126 -# Be Bourne compatible
15127 -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
15128 -  emulate sh
15129 -  NULLCMD=:
15130 -  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
15131 -  # is contrary to our usage.  Disable this feature.
15132 -  alias -g '${1+"$@"}'='"$@"'
15133 -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
15134 -  set -o posix
15135 -fi
15136 -
15137 -# Support unset when possible.
15138 -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
15139 -  as_unset=unset
15140 -else
15141 -  as_unset=false
15142 -fi
15143 -
15144 -
15145 -# Work around bugs in pre-3.0 UWIN ksh.
15146 -$as_unset ENV MAIL MAILPATH
15147 -PS1='$ '
15148 -PS2='> '
15149 -PS4='+ '
15150 -
15151 -# NLS nuisances.
15152 -for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
15153 -do
15154 -  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
15155 -    eval $as_var=C; export $as_var
15156 -  else
15157 -    $as_unset $as_var
15158 -  fi
15159 -done
15160 -
15161 -# Required to use basename.
15162 -if expr a : '\(a\)' >/dev/null 2>&1; then
15163 -  as_expr=expr
15164 -else
15165 -  as_expr=false
15166 -fi
15167 -
15168 -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
15169 -  as_basename=basename
15170 -else
15171 -  as_basename=false
15172 -fi
15173 -
15174 -
15175 -# Name of the executable.
15176 -as_me=`$as_basename "$0" ||
15177 -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
15178 -        X"$0" : 'X\(//\)$' \| \
15179 -        X"$0" : 'X\(/\)$' \| \
15180 -        .     : '\(.\)' 2>/dev/null ||
15181 -echo X/"$0" |
15182 -    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
15183 -         /^X\/\(\/\/\)$/{ s//\1/; q; }
15184 -         /^X\/\(\/\).*/{ s//\1/; q; }
15185 -         s/.*/./; q'`
15186 -
15187 -
15188 -# PATH needs CR, and LINENO needs CR and PATH.
15189 -# Avoid depending upon Character Ranges.
15190 -as_cr_letters='abcdefghijklmnopqrstuvwxyz'
15191 -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
15192 -as_cr_Letters=$as_cr_letters$as_cr_LETTERS
15193 -as_cr_digits='0123456789'
15194 -as_cr_alnum=$as_cr_Letters$as_cr_digits
15195 -
15196 -# The user is always right.
15197 -if test "${PATH_SEPARATOR+set}" != set; then
15198 -  echo "#! /bin/sh" >conftest.sh
15199 -  echo  "exit 0"   >>conftest.sh
15200 -  chmod +x conftest.sh
15201 -  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
15202 -    PATH_SEPARATOR=';'
15203 -  else
15204 -    PATH_SEPARATOR=:
15205 -  fi
15206 -  rm -f conftest.sh
15207 -fi
15208 -
15209 -
15210 -  as_lineno_1=$LINENO
15211 -  as_lineno_2=$LINENO
15212 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
15213 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
15214 -  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
15215 -  # Find who we are.  Look in the path if we contain no path at all
15216 -  # relative or not.
15217 -  case $0 in
15218 -    *[\\/]* ) as_myself=$0 ;;
15219 -    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15220 -for as_dir in $PATH
15221 -do
15222 -  IFS=$as_save_IFS
15223 -  test -z "$as_dir" && as_dir=.
15224 -  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
15225 -done
15226 -
15227 -       ;;
15228 -  esac
15229 -  # We did not find ourselves, most probably we were run as `sh COMMAND'
15230 -  # in which case we are not to be found in the path.
15231 -  if test "x$as_myself" = x; then
15232 -    as_myself=$0
15233 -  fi
15234 -  if test ! -f "$as_myself"; then
15235 -    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
15236 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
15237 -   { (exit 1); exit 1; }; }
15238 -  fi
15239 -  case $CONFIG_SHELL in
15240 -  '')
15241 -    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15242 -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
15243 -do
15244 -  IFS=$as_save_IFS
15245 -  test -z "$as_dir" && as_dir=.
15246 -  for as_base in sh bash ksh sh5; do
15247 -        case $as_dir in
15248 -        /*)
15249 -          if ("$as_dir/$as_base" -c '
15250 -  as_lineno_1=$LINENO
15251 -  as_lineno_2=$LINENO
15252 -  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
15253 -  test "x$as_lineno_1" != "x$as_lineno_2" &&
15254 -  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
15255 -            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
15256 -            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
15257 -            CONFIG_SHELL=$as_dir/$as_base
15258 -            export CONFIG_SHELL
15259 -            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
15260 -          fi;;
15261 -        esac
15262 -       done
15263 -done
15264 -;;
15265 -  esac
15266 -
15267 -  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
15268 -  # uniformly replaced by the line number.  The first 'sed' inserts a
15269 -  # line-number line before each line; the second 'sed' does the real
15270 -  # work.  The second script uses 'N' to pair each line-number line
15271 -  # with the numbered line, and appends trailing '-' during
15272 -  # substitution so that $LINENO is not a special case at line end.
15273 -  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
15274 -  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
15275 -  sed '=' <$as_myself |
15276 -    sed '
15277 -      N
15278 -      s,$,-,
15279 -      : loop
15280 -      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
15281 -      t loop
15282 -      s,-$,,
15283 -      s,^['$as_cr_digits']*\n,,
15284 -    ' >$as_me.lineno &&
15285 -  chmod +x $as_me.lineno ||
15286 -    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
15287 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
15288 -   { (exit 1); exit 1; }; }
15289 -
15290 -  # Don't try to exec as it changes $[0], causing all sort of problems
15291 -  # (the dirname of $[0] is not the place where we might find the
15292 -  # original and so on.  Autoconf is especially sensible to this).
15293 -  . ./$as_me.lineno
15294 -  # Exit status is that of the last command.
15295 -  exit
15296 -}
15297 -
15298 -
15299 -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
15300 -  *c*,-n*) ECHO_N= ECHO_C='
15301 -' ECHO_T='     ' ;;
15302 -  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
15303 -  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
15304 -esac
15305 -
15306 -if expr a : '\(a\)' >/dev/null 2>&1; then
15307 -  as_expr=expr
15308 -else
15309 -  as_expr=false
15310 -fi
15311 -
15312 -rm -f conf$$ conf$$.exe conf$$.file
15313 -echo >conf$$.file
15314 -if ln -s conf$$.file conf$$ 2>/dev/null; then
15315 -  # We could just check for DJGPP; but this test a) works b) is more generic
15316 -  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
15317 -  if test -f conf$$.exe; then
15318 -    # Don't use ln at all; we don't have any links
15319 -    as_ln_s='cp -p'
15320 -  else
15321 -    as_ln_s='ln -s'
15322 -  fi
15323 -elif ln conf$$.file conf$$ 2>/dev/null; then
15324 -  as_ln_s=ln
15325 -else
15326 -  as_ln_s='cp -p'
15327 -fi
15328 -rm -f conf$$ conf$$.exe conf$$.file
15329 -
15330 -if mkdir -p . 2>/dev/null; then
15331 -  as_mkdir_p=:
15332 -else
15333 -  as_mkdir_p=false
15334 -fi
15335 -
15336 -as_executable_p="test -f"
15337 -
15338 -# Sed expression to map a string onto a valid CPP name.
15339 -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
15340 -
15341 -# Sed expression to map a string onto a valid variable name.
15342 -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
15343 -
15344 -
15345 -# IFS
15346 -# We need space, tab and new line, in precisely that order.
15347 -as_nl='
15348 -'
15349 -IFS="  $as_nl"
15350 -
15351 -# CDPATH.
15352 -$as_unset CDPATH
15353 -
15354 -exec 6>&1
15355 -
15356 -# Open the log real soon, to keep \$[0] and so on meaningful, and to
15357 -# report actual input values of CONFIG_FILES etc. instead of their
15358 -# values after options handling.  Logging --version etc. is OK.
15359 -exec 5>>config.log
15360 -{
15361 -  echo
15362 -  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
15363 -@%:@@%:@ Running $as_me. @%:@@%:@
15364 -_ASBOX
15365 -} >&5
15366 -cat >&5 <<_CSEOF
15367 -
15368 -This file was extended by $as_me, which was
15369 -generated by GNU Autoconf 2.54.  Invocation command line was
15370 -
15371 -  CONFIG_FILES    = $CONFIG_FILES
15372 -  CONFIG_HEADERS  = $CONFIG_HEADERS
15373 -  CONFIG_LINKS    = $CONFIG_LINKS
15374 -  CONFIG_COMMANDS = $CONFIG_COMMANDS
15375 -  $ $0 $@
15376 -
15377 -_CSEOF
15378 -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
15379 -echo >&5
15380 -_ACEOF
15381 -
15382 -# Files that config.status was made for.
15383 -if test -n "$ac_config_files"; then
15384 -  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
15385 -fi
15386 -
15387 -if test -n "$ac_config_headers"; then
15388 -  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
15389 -fi
15390 -
15391 -if test -n "$ac_config_links"; then
15392 -  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
15393 -fi
15394 -
15395 -if test -n "$ac_config_commands"; then
15396 -  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
15397 -fi
15398 -
15399 -cat >>$CONFIG_STATUS <<\_ACEOF
15400 -
15401 -ac_cs_usage="\
15402 -\`$as_me' instantiates files from templates according to the
15403 -current configuration.
15404 -
15405 -Usage: $0 [OPTIONS] [FILE]...
15406 -
15407 -  -h, --help       print this help, then exit
15408 -  -V, --version    print version number, then exit
15409 -  -d, --debug      don't remove temporary files
15410 -      --recheck    update $as_me by reconfiguring in the same conditions
15411 -  --file=FILE[:TEMPLATE]
15412 -                   instantiate the configuration file FILE
15413 -
15414 -Configuration files:
15415 -$config_files
15416 -
15417 -Configuration commands:
15418 -$config_commands
15419 -
15420 -Report bugs to <bug-autoconf@gnu.org>."
15421 -_ACEOF
15422 -
15423 -cat >>$CONFIG_STATUS <<_ACEOF
15424 -ac_cs_version="\\
15425 -config.status
15426 -configured by $0, generated by GNU Autoconf 2.54,
15427 -  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
15428 -
15429 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
15430 -Free Software Foundation, Inc.
15431 -This config.status script is free software; the Free Software Foundation
15432 -gives unlimited permission to copy, distribute and modify it."
15433 -srcdir=$srcdir
15434 -INSTALL="$INSTALL"
15435 -_ACEOF
15436 -
15437 -cat >>$CONFIG_STATUS <<\_ACEOF
15438 -# If no file are specified by the user, then we need to provide default
15439 -# value.  By we need to know if files were specified by the user.
15440 -ac_need_defaults=:
15441 -while test $# != 0
15442 -do
15443 -  case $1 in
15444 -  --*=*)
15445 -    ac_option=`expr "x$1" : 'x\([^=]*\)='`
15446 -    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
15447 -    ac_shift=:
15448 -    ;;
15449 -  -*)
15450 -    ac_option=$1
15451 -    ac_optarg=$2
15452 -    ac_shift=shift
15453 -    ;;
15454 -  *) # This is not an option, so the user has probably given explicit
15455 -     # arguments.
15456 -     ac_option=$1
15457 -     ac_need_defaults=false;;
15458 -  esac
15459 -
15460 -  case $ac_option in
15461 -  # Handling of the options.
15462 -_ACEOF
15463 -cat >>$CONFIG_STATUS <<_ACEOF
15464 -  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
15465 -    echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
15466 -    exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
15467 -_ACEOF
15468 -cat >>$CONFIG_STATUS <<\_ACEOF
15469 -  --version | --vers* | -V )
15470 -    echo "$ac_cs_version"; exit 0 ;;
15471 -  --he | --h)
15472 -    # Conflict between --help and --header
15473 -    { { echo "$as_me:$LINENO: error: ambiguous option: $1
15474 -Try \`$0 --help' for more information." >&5
15475 -echo "$as_me: error: ambiguous option: $1
15476 -Try \`$0 --help' for more information." >&2;}
15477 -   { (exit 1); exit 1; }; };;
15478 -  --help | --hel | -h )
15479 -    echo "$ac_cs_usage"; exit 0 ;;
15480 -  --debug | --d* | -d )
15481 -    debug=: ;;
15482 -  --file | --fil | --fi | --f )
15483 -    $ac_shift
15484 -    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
15485 -    ac_need_defaults=false;;
15486 -  --header | --heade | --head | --hea )
15487 -    $ac_shift
15488 -    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
15489 -    ac_need_defaults=false;;
15490 -
15491 -  # This is an error.
15492 -  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
15493 -Try \`$0 --help' for more information." >&5
15494 -echo "$as_me: error: unrecognized option: $1
15495 -Try \`$0 --help' for more information." >&2;}
15496 -   { (exit 1); exit 1; }; } ;;
15497 -
15498 -  *) ac_config_targets="$ac_config_targets $1" ;;
15499 -
15500 -  esac
15501 -  shift
15502 -done
15503 -
15504 -_ACEOF
15505 -
15506 -cat >>$CONFIG_STATUS <<_ACEOF
15507 -#
15508 -# INIT-COMMANDS section.
15509 -#
15510 -
15511 -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
15512 -srcdir=${srcdir}
15513 -host=${host}
15514 -target=${target}
15515 -with_multisubdir=${with_multisubdir}
15516 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
15517 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
15518 -gc_basedir=${gc_basedir}
15519 -CC="${CC}"
15520 -DEFS="$DEFS"
15521 -
15522 -
15523 -_ACEOF
15524 -
15525 -
15526 -
15527 -cat >>$CONFIG_STATUS <<\_ACEOF
15528 -for ac_config_target in $ac_config_targets
15529 -do
15530 -  case "$ac_config_target" in
15531 -  # Handling of arguments.
15532 -  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
15533 -  "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
15534 -  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
15535 -  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
15536 -  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
15537 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
15538 -   { (exit 1); exit 1; }; };;
15539 -  esac
15540 -done
15541 -
15542 -# If the user did not use the arguments to specify the items to instantiate,
15543 -# then the envvar interface is used.  Set only those that are not.
15544 -# We use the long form for the default assignment because of an extremely
15545 -# bizarre bug on SunOS 4.1.3.
15546 -if $ac_need_defaults; then
15547 -  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
15548 -  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
15549 -fi
15550 -
15551 -# Create a temporary directory, and hook for its removal unless debugging.
15552 -$debug ||
15553 -{
15554 -  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
15555 -  trap '{ (exit 1); exit 1; }' 1 2 13 15
15556 -}
15557 -
15558 -# Create a (secure) tmp directory for tmp files.
15559 -: ${TMPDIR=/tmp}
15560 -{
15561 -  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
15562 -  test -n "$tmp" && test -d "$tmp"
15563 -}  ||
15564 -{
15565 -  tmp=$TMPDIR/cs$$-$RANDOM
15566 -  (umask 077 && mkdir $tmp)
15567 -} ||
15568 -{
15569 -   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
15570 -   { (exit 1); exit 1; }
15571 -}
15572 -
15573 -_ACEOF
15574 -
15575 -cat >>$CONFIG_STATUS <<_ACEOF
15576 -
15577 -#
15578 -# CONFIG_FILES section.
15579 -#
15580 -
15581 -# No need to generate the scripts if there are no CONFIG_FILES.
15582 -# This happens for instance when ./config.status config.h
15583 -if test -n "\$CONFIG_FILES"; then
15584 -  # Protect against being on the right side of a sed subst in config.status.
15585 -  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
15586 -   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
15587 -s,@SHELL@,$SHELL,;t t
15588 -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
15589 -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
15590 -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
15591 -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
15592 -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
15593 -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
15594 -s,@exec_prefix@,$exec_prefix,;t t
15595 -s,@prefix@,$prefix,;t t
15596 -s,@program_transform_name@,$program_transform_name,;t t
15597 -s,@bindir@,$bindir,;t t
15598 -s,@sbindir@,$sbindir,;t t
15599 -s,@libexecdir@,$libexecdir,;t t
15600 -s,@datadir@,$datadir,;t t
15601 -s,@sysconfdir@,$sysconfdir,;t t
15602 -s,@sharedstatedir@,$sharedstatedir,;t t
15603 -s,@localstatedir@,$localstatedir,;t t
15604 -s,@libdir@,$libdir,;t t
15605 -s,@includedir@,$includedir,;t t
15606 -s,@oldincludedir@,$oldincludedir,;t t
15607 -s,@infodir@,$infodir,;t t
15608 -s,@mandir@,$mandir,;t t
15609 -s,@build_alias@,$build_alias,;t t
15610 -s,@host_alias@,$host_alias,;t t
15611 -s,@target_alias@,$target_alias,;t t
15612 -s,@DEFS@,$DEFS,;t t
15613 -s,@ECHO_C@,$ECHO_C,;t t
15614 -s,@ECHO_N@,$ECHO_N,;t t
15615 -s,@ECHO_T@,$ECHO_T,;t t
15616 -s,@LIBS@,$LIBS,;t t
15617 -s,@gc_basedir@,$gc_basedir,;t t
15618 -s,@build@,$build,;t t
15619 -s,@build_cpu@,$build_cpu,;t t
15620 -s,@build_vendor@,$build_vendor,;t t
15621 -s,@build_os@,$build_os,;t t
15622 -s,@host@,$host,;t t
15623 -s,@host_cpu@,$host_cpu,;t t
15624 -s,@host_vendor@,$host_vendor,;t t
15625 -s,@host_os@,$host_os,;t t
15626 -s,@target@,$target,;t t
15627 -s,@target_cpu@,$target_cpu,;t t
15628 -s,@target_vendor@,$target_vendor,;t t
15629 -s,@target_os@,$target_os,;t t
15630 -s,@mkinstalldirs@,$mkinstalldirs,;t t
15631 -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
15632 -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
15633 -s,@INSTALL_DATA@,$INSTALL_DATA,;t t
15634 -s,@PACKAGE@,$PACKAGE,;t t
15635 -s,@VERSION@,$VERSION,;t t
15636 -s,@ACLOCAL@,$ACLOCAL,;t t
15637 -s,@AUTOCONF@,$AUTOCONF,;t t
15638 -s,@AUTOMAKE@,$AUTOMAKE,;t t
15639 -s,@AUTOHEADER@,$AUTOHEADER,;t t
15640 -s,@MAKEINFO@,$MAKEINFO,;t t
15641 -s,@AMTAR@,$AMTAR,;t t
15642 -s,@install_sh@,$install_sh,;t t
15643 -s,@STRIP@,$STRIP,;t t
15644 -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
15645 -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
15646 -s,@AWK@,$AWK,;t t
15647 -s,@SET_MAKE@,$SET_MAKE,;t t
15648 -s,@AS@,$AS,;t t
15649 -s,@ac_ct_AS@,$ac_ct_AS,;t t
15650 -s,@AR@,$AR,;t t
15651 -s,@ac_ct_AR@,$ac_ct_AR,;t t
15652 -s,@RANLIB@,$RANLIB,;t t
15653 -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
15654 -s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
15655 -s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
15656 -s,@MAINT@,$MAINT,;t t
15657 -s,@GC_CFLAGS@,$GC_CFLAGS,;t t
15658 -s,@CC@,$CC,;t t
15659 -s,@CFLAGS@,$CFLAGS,;t t
15660 -s,@LDFLAGS@,$LDFLAGS,;t t
15661 -s,@CPPFLAGS@,$CPPFLAGS,;t t
15662 -s,@ac_ct_CC@,$ac_ct_CC,;t t
15663 -s,@EXEEXT@,$EXEEXT,;t t
15664 -s,@OBJEXT@,$OBJEXT,;t t
15665 -s,@DEPDIR@,$DEPDIR,;t t
15666 -s,@am__include@,$am__include,;t t
15667 -s,@am__quote@,$am__quote,;t t
15668 -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
15669 -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
15670 -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
15671 -s,@CCDEPMODE@,$CCDEPMODE,;t t
15672 -s,@LN_S@,$LN_S,;t t
15673 -s,@ECHO@,$ECHO,;t t
15674 -s,@CPP@,$CPP,;t t
15675 -s,@EGREP@,$EGREP,;t t
15676 -s,@LIBTOOL@,$LIBTOOL,;t t
15677 -s,@THREADLIBS@,$THREADLIBS,;t t
15678 -s,@POWERPC_DARWIN_TRUE@,$POWERPC_DARWIN_TRUE,;t t
15679 -s,@POWERPC_DARWIN_FALSE@,$POWERPC_DARWIN_FALSE,;t t
15680 -s,@EXTRA_TEST_LIBS@,$EXTRA_TEST_LIBS,;t t
15681 -s,@target_all@,$target_all,;t t
15682 -s,@CXX@,$CXX,;t t
15683 -s,@INCLUDES@,$INCLUDES,;t t
15684 -s,@CXXINCLUDES@,$CXXINCLUDES,;t t
15685 -s,@addobjs@,$addobjs,;t t
15686 -s,@MY_CFLAGS@,$MY_CFLAGS,;t t
15687 -s,@USE_LIBDIR_TRUE@,$USE_LIBDIR_TRUE,;t t
15688 -s,@USE_LIBDIR_FALSE@,$USE_LIBDIR_FALSE,;t t
15689 -s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
15690 -s,@LTLIBOBJS@,$LTLIBOBJS,;t t
15691 -CEOF
15692 -
15693 -_ACEOF
15694 -
15695 -  cat >>$CONFIG_STATUS <<\_ACEOF
15696 -  # Split the substitutions into bite-sized pieces for seds with
15697 -  # small command number limits, like on Digital OSF/1 and HP-UX.
15698 -  ac_max_sed_lines=48
15699 -  ac_sed_frag=1 # Number of current file.
15700 -  ac_beg=1 # First line for current file.
15701 -  ac_end=$ac_max_sed_lines # Line after last line for current file.
15702 -  ac_more_lines=:
15703 -  ac_sed_cmds=
15704 -  while $ac_more_lines; do
15705 -    if test $ac_beg -gt 1; then
15706 -      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
15707 -    else
15708 -      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
15709 -    fi
15710 -    if test ! -s $tmp/subs.frag; then
15711 -      ac_more_lines=false
15712 -    else
15713 -      # The purpose of the label and of the branching condition is to
15714 -      # speed up the sed processing (if there are no `@' at all, there
15715 -      # is no need to browse any of the substitutions).
15716 -      # These are the two extra sed commands mentioned above.
15717 -      (echo ':t
15718 -  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
15719 -      if test -z "$ac_sed_cmds"; then
15720 -       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
15721 -      else
15722 -       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
15723 -      fi
15724 -      ac_sed_frag=`expr $ac_sed_frag + 1`
15725 -      ac_beg=$ac_end
15726 -      ac_end=`expr $ac_end + $ac_max_sed_lines`
15727 -    fi
15728 -  done
15729 -  if test -z "$ac_sed_cmds"; then
15730 -    ac_sed_cmds=cat
15731 -  fi
15732 -fi # test -n "$CONFIG_FILES"
15733 -
15734 -_ACEOF
15735 -cat >>$CONFIG_STATUS <<\_ACEOF
15736 -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
15737 -  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
15738 -  case $ac_file in
15739 -  - | *:- | *:-:* ) # input from stdin
15740 -        cat >$tmp/stdin
15741 -        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
15742 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
15743 -  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
15744 -        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
15745 -  * )   ac_file_in=$ac_file.in ;;
15746 -  esac
15747 -
15748 -  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
15749 -  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
15750 -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15751 -         X"$ac_file" : 'X\(//\)[^/]' \| \
15752 -         X"$ac_file" : 'X\(//\)$' \| \
15753 -         X"$ac_file" : 'X\(/\)' \| \
15754 -         .     : '\(.\)' 2>/dev/null ||
15755 -echo X"$ac_file" |
15756 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15757 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15758 -         /^X\(\/\/\)$/{ s//\1/; q; }
15759 -         /^X\(\/\).*/{ s//\1/; q; }
15760 -         s/.*/./; q'`
15761 -  { if $as_mkdir_p; then
15762 -    mkdir -p "$ac_dir"
15763 -  else
15764 -    as_dir="$ac_dir"
15765 -    as_dirs=
15766 -    while test ! -d "$as_dir"; do
15767 -      as_dirs="$as_dir $as_dirs"
15768 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
15769 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15770 -         X"$as_dir" : 'X\(//\)[^/]' \| \
15771 -         X"$as_dir" : 'X\(//\)$' \| \
15772 -         X"$as_dir" : 'X\(/\)' \| \
15773 -         .     : '\(.\)' 2>/dev/null ||
15774 -echo X"$as_dir" |
15775 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15776 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15777 -         /^X\(\/\/\)$/{ s//\1/; q; }
15778 -         /^X\(\/\).*/{ s//\1/; q; }
15779 -         s/.*/./; q'`
15780 -    done
15781 -    test ! -n "$as_dirs" || mkdir $as_dirs
15782 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
15783 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
15784 -   { (exit 1); exit 1; }; }; }
15785 -
15786 -  ac_builddir=.
15787 -
15788 -if test "$ac_dir" != .; then
15789 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
15790 -  # A "../" for each directory in $ac_dir_suffix.
15791 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
15792 -else
15793 -  ac_dir_suffix= ac_top_builddir=
15794 -fi
15795 -
15796 -case $srcdir in
15797 -  .)  # No --srcdir option.  We are building in place.
15798 -    ac_srcdir=.
15799 -    if test -z "$ac_top_builddir"; then
15800 -       ac_top_srcdir=.
15801 -    else
15802 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
15803 -    fi ;;
15804 -  [\\/]* | ?:[\\/]* )  # Absolute path.
15805 -    ac_srcdir=$srcdir$ac_dir_suffix;
15806 -    ac_top_srcdir=$srcdir ;;
15807 -  *) # Relative path.
15808 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
15809 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
15810 -esac
15811 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
15812 -# absolute.
15813 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
15814 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
15815 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
15816 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
15817 -
15818 -
15819 -  case $INSTALL in
15820 -  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
15821 -  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
15822 -  esac
15823 -
15824 -  if test x"$ac_file" != x-; then
15825 -    { echo "$as_me:$LINENO: creating $ac_file" >&5
15826 -echo "$as_me: creating $ac_file" >&6;}
15827 -    rm -f "$ac_file"
15828 -  fi
15829 -  # Let's still pretend it is `configure' which instantiates (i.e., don't
15830 -  # use $as_me), people would be surprised to read:
15831 -  #    /* config.h.  Generated by config.status.  */
15832 -  if test x"$ac_file" = x-; then
15833 -    configure_input=
15834 -  else
15835 -    configure_input="$ac_file.  "
15836 -  fi
15837 -  configure_input=$configure_input"Generated from `echo $ac_file_in |
15838 -                                     sed 's,.*/,,'` by configure."
15839 -
15840 -  # First look for the input files in the build tree, otherwise in the
15841 -  # src tree.
15842 -  ac_file_inputs=`IFS=:
15843 -    for f in $ac_file_in; do
15844 -      case $f in
15845 -      -) echo $tmp/stdin ;;
15846 -      [\\/$]*)
15847 -         # Absolute (can't be DOS-style, as IFS=:)
15848 -         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
15849 -echo "$as_me: error: cannot find input file: $f" >&2;}
15850 -   { (exit 1); exit 1; }; }
15851 -         echo $f;;
15852 -      *) # Relative
15853 -         if test -f "$f"; then
15854 -           # Build tree
15855 -           echo $f
15856 -         elif test -f "$srcdir/$f"; then
15857 -           # Source tree
15858 -           echo $srcdir/$f
15859 -         else
15860 -           # /dev/null tree
15861 -           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
15862 -echo "$as_me: error: cannot find input file: $f" >&2;}
15863 -   { (exit 1); exit 1; }; }
15864 -         fi;;
15865 -      esac
15866 -    done` || { (exit 1); exit 1; }
15867 -_ACEOF
15868 -cat >>$CONFIG_STATUS <<_ACEOF
15869 -  sed "$ac_vpsub
15870 -$extrasub
15871 -_ACEOF
15872 -cat >>$CONFIG_STATUS <<\_ACEOF
15873 -:t
15874 -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
15875 -s,@configure_input@,$configure_input,;t t
15876 -s,@srcdir@,$ac_srcdir,;t t
15877 -s,@abs_srcdir@,$ac_abs_srcdir,;t t
15878 -s,@top_srcdir@,$ac_top_srcdir,;t t
15879 -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
15880 -s,@builddir@,$ac_builddir,;t t
15881 -s,@abs_builddir@,$ac_abs_builddir,;t t
15882 -s,@top_builddir@,$ac_top_builddir,;t t
15883 -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
15884 -s,@INSTALL@,$ac_INSTALL,;t t
15885 -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
15886 -  rm -f $tmp/stdin
15887 -  if test x"$ac_file" != x-; then
15888 -    mv $tmp/out $ac_file
15889 -  else
15890 -    cat $tmp/out
15891 -    rm -f $tmp/out
15892 -  fi
15893 -
15894 -done
15895 -_ACEOF
15896 -cat >>$CONFIG_STATUS <<\_ACEOF
15897 -
15898 -#
15899 -# CONFIG_COMMANDS section.
15900 -#
15901 -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
15902 -  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
15903 -  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
15904 -  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
15905 -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15906 -         X"$ac_dest" : 'X\(//\)[^/]' \| \
15907 -         X"$ac_dest" : 'X\(//\)$' \| \
15908 -         X"$ac_dest" : 'X\(/\)' \| \
15909 -         .     : '\(.\)' 2>/dev/null ||
15910 -echo X"$ac_dest" |
15911 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15912 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15913 -         /^X\(\/\/\)$/{ s//\1/; q; }
15914 -         /^X\(\/\).*/{ s//\1/; q; }
15915 -         s/.*/./; q'`
15916 -  ac_builddir=.
15917 -
15918 -if test "$ac_dir" != .; then
15919 -  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
15920 -  # A "../" for each directory in $ac_dir_suffix.
15921 -  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
15922 -else
15923 -  ac_dir_suffix= ac_top_builddir=
15924 -fi
15925 -
15926 -case $srcdir in
15927 -  .)  # No --srcdir option.  We are building in place.
15928 -    ac_srcdir=.
15929 -    if test -z "$ac_top_builddir"; then
15930 -       ac_top_srcdir=.
15931 -    else
15932 -       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
15933 -    fi ;;
15934 -  [\\/]* | ?:[\\/]* )  # Absolute path.
15935 -    ac_srcdir=$srcdir$ac_dir_suffix;
15936 -    ac_top_srcdir=$srcdir ;;
15937 -  *) # Relative path.
15938 -    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
15939 -    ac_top_srcdir=$ac_top_builddir$srcdir ;;
15940 -esac
15941 -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
15942 -# absolute.
15943 -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
15944 -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
15945 -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
15946 -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
15947 -
15948 -
15949 -  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
15950 -echo "$as_me: executing $ac_dest commands" >&6;}
15951 -  case $ac_dest in
15952 -    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
15953 -  # Strip MF so we end up with the name of the file.
15954 -  mf=`echo "$mf" | sed -e 's/:.*$//'`
15955 -  if (sed 1q $mf | fgrep 'generated by automake') > /dev/null 2>&1; then
15956 -    dirpart=`(dirname "$mf") 2>/dev/null ||
15957 -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15958 -         X"$mf" : 'X\(//\)[^/]' \| \
15959 -         X"$mf" : 'X\(//\)$' \| \
15960 -         X"$mf" : 'X\(/\)' \| \
15961 -         .     : '\(.\)' 2>/dev/null ||
15962 -echo X"$mf" |
15963 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
15964 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
15965 -         /^X\(\/\/\)$/{ s//\1/; q; }
15966 -         /^X\(\/\).*/{ s//\1/; q; }
15967 -         s/.*/./; q'`
15968 -  else
15969 -    continue
15970 -  fi
15971 -  grep '^DEP_FILES *= *[^ @%:@]' < "$mf" > /dev/null || continue
15972 -  # Extract the definition of DEP_FILES from the Makefile without
15973 -  # running `make'.
15974 -  DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
15975 -  test -z "$DEPDIR" && continue
15976 -  # When using ansi2knr, U may be empty or an underscore; expand it
15977 -  U=`sed -n -e '/^U = / s///p' < "$mf"`
15978 -  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
15979 -  # We invoke sed twice because it is the simplest approach to
15980 -  # changing $(DEPDIR) to its actual value in the expansion.
15981 -  for file in `sed -n -e '
15982 -    /^DEP_FILES = .*\\\\$/ {
15983 -      s/^DEP_FILES = //
15984 -      :loop
15985 -       s/\\\\$//
15986 -       p
15987 -       n
15988 -       /\\\\$/ b loop
15989 -      p
15990 -    }
15991 -    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
15992 -       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
15993 -    # Make sure the directory exists.
15994 -    test -f "$dirpart/$file" && continue
15995 -    fdir=`(dirname "$file") 2>/dev/null ||
15996 -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
15997 -         X"$file" : 'X\(//\)[^/]' \| \
15998 -         X"$file" : 'X\(//\)$' \| \
15999 -         X"$file" : 'X\(/\)' \| \
16000 -         .     : '\(.\)' 2>/dev/null ||
16001 -echo X"$file" |
16002 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
16003 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
16004 -         /^X\(\/\/\)$/{ s//\1/; q; }
16005 -         /^X\(\/\).*/{ s//\1/; q; }
16006 -         s/.*/./; q'`
16007 -    { if $as_mkdir_p; then
16008 -    mkdir -p $dirpart/$fdir
16009 -  else
16010 -    as_dir=$dirpart/$fdir
16011 -    as_dirs=
16012 -    while test ! -d "$as_dir"; do
16013 -      as_dirs="$as_dir $as_dirs"
16014 -      as_dir=`(dirname "$as_dir") 2>/dev/null ||
16015 -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
16016 -         X"$as_dir" : 'X\(//\)[^/]' \| \
16017 -         X"$as_dir" : 'X\(//\)$' \| \
16018 -         X"$as_dir" : 'X\(/\)' \| \
16019 -         .     : '\(.\)' 2>/dev/null ||
16020 -echo X"$as_dir" |
16021 -    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
16022 -         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
16023 -         /^X\(\/\/\)$/{ s//\1/; q; }
16024 -         /^X\(\/\).*/{ s//\1/; q; }
16025 -         s/.*/./; q'`
16026 -    done
16027 -    test ! -n "$as_dirs" || mkdir $as_dirs
16028 -  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
16029 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
16030 -   { (exit 1); exit 1; }; }; }
16031 -
16032 -    # echo "creating $dirpart/$file"
16033 -    echo '# dummy' > "$dirpart/$file"
16034 -  done
16035 -done
16036 - ;;
16037 -    default ) 
16038 -echo "$DEFS" > boehm-cflags
16039 -
16040 -if test -n "$CONFIG_FILES"; then
16041 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
16042 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
16043 -fi ;;
16044 -  esac
16045 -done
16046 -_ACEOF
16047 -
16048 -cat >>$CONFIG_STATUS <<\_ACEOF
16049 -
16050 -{ (exit 0); exit 0; }
16051 -_ACEOF
16052 -chmod +x $CONFIG_STATUS
16053 -ac_clean_files=$ac_clean_files_save
16054 -
16055 -
16056 -# configure is writing to config.log, and then calls config.status.
16057 -# config.status does its own redirection, appending to config.log.
16058 -# Unfortunately, on DOS this fails, as config.log is still kept open
16059 -# by configure, so config.status won't be able to write to it; its
16060 -# output is simply discarded.  So we exec the FD to /dev/null,
16061 -# effectively closing config.log, so it can be properly (re)opened and
16062 -# appended to by config.status.  When coming back to configure, we
16063 -# need to make the FD available again.
16064 -if test "$no_create" != yes; then
16065 -  ac_cs_success=:
16066 -  exec 5>/dev/null
16067 -  $SHELL $CONFIG_STATUS || ac_cs_success=false
16068 -  exec 5>>config.log
16069 -  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
16070 -  # would make configure fail if this is the last instruction.
16071 -  $ac_cs_success || { (exit 1); exit 1; }
16072 -fi
16073 -
16074 diff -Nur ../boehm-gc/autom4te.cache/requests boehm-gc/autom4te.cache/requests
16075 --- ../boehm-gc/autom4te.cache/requests Sat May 31 15:09:32 2003
16076 +++ boehm-gc/autom4te.cache/requests    Wed Dec 31 16:00:00 1969
16077 @@ -1,198 +0,0 @@
16078 -# This file was created by autom4te-2.54.
16079 -# It contains the lists of macros which have been traced.
16080 -# It can be safely removed.
16081 -
16082 -@request = (
16083 -             bless( [
16084 -                      '0',
16085 -                      0,
16086 -                      [
16087 -                        '/sw/share/autoconf'
16088 -                      ],
16089 -                      [
16090 -                        '/sw/share/autoconf/autoconf/autoconf.m4f',
16091 -                        'aclocal.m4',
16092 -                        'configure.in'
16093 -                      ],
16094 -                      {
16095 -                        'm4_pattern_forbid' => 1,
16096 -                        'AC_C_VOLATILE' => 1,
16097 -                        'AC_TYPE_OFF_T' => 1,
16098 -                        'AC_FUNC_CLOSEDIR_VOID' => 1,
16099 -                        'AC_REPLACE_FNMATCH' => 1,
16100 -                        'AC_PROG_LIBTOOL' => 1,
16101 -                        'AC_FUNC_STAT' => 1,
16102 -                        'AC_FUNC_WAIT3' => 1,
16103 -                        'AC_HEADER_TIME' => 1,
16104 -                        'AC_FUNC_LSTAT' => 1,
16105 -                        'AC_STRUCT_TM' => 1,
16106 -                        'AM_AUTOMAKE_VERSION' => 1,
16107 -                        'AC_FUNC_GETMNTENT' => 1,
16108 -                        'AC_TYPE_MODE_T' => 1,
16109 -                        'AC_FUNC_STRTOD' => 1,
16110 -                        'AC_CHECK_HEADERS' => 1,
16111 -                        'AC_FUNC_STRNLEN' => 1,
16112 -                        'AC_PROG_CXX' => 1,
16113 -                        'AC_PATH_X' => 1,
16114 -                        'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
16115 -                        'AC_PROG_AWK' => 1,
16116 -                        'AC_HEADER_STDC' => 1,
16117 -                        'AC_HEADER_MAJOR' => 1,
16118 -                        'AC_FUNC_ERROR_AT_LINE' => 1,
16119 -                        'AC_PROG_GCC_TRADITIONAL' => 1,
16120 -                        'AC_LIBSOURCE' => 1,
16121 -                        'AC_FUNC_MBRTOWC' => 1,
16122 -                        'AC_STRUCT_ST_BLOCKS' => 1,
16123 -                        'AC_TYPE_SIGNAL' => 1,
16124 -                        'AC_TYPE_UID_T' => 1,
16125 -                        'AC_CONFIG_AUX_DIR' => 1,
16126 -                        'AC_PROG_MAKE_SET' => 1,
16127 -                        'm4_pattern_allow' => 1,
16128 -                        'AC_DEFINE_TRACE_LITERAL' => 1,
16129 -                        'AC_FUNC_STRERROR_R' => 1,
16130 -                        'AC_PROG_CC' => 1,
16131 -                        'AC_FUNC_FORK' => 1,
16132 -                        'AC_DECL_SYS_SIGLIST' => 1,
16133 -                        'AC_FUNC_STRCOLL' => 1,
16134 -                        'AC_FUNC_VPRINTF' => 1,
16135 -                        'AC_PROG_YACC' => 1,
16136 -                        'AC_INIT' => 1,
16137 -                        'AC_STRUCT_TIMEZONE' => 1,
16138 -                        'AC_FUNC_CHOWN' => 1,
16139 -                        'AC_SUBST' => 1,
16140 -                        'AC_FUNC_ALLOCA' => 1,
16141 -                        'AC_CANONICAL_HOST' => 1,
16142 -                        'AC_FUNC_GETPGRP' => 1,
16143 -                        'AC_PROG_RANLIB' => 1,
16144 -                        'AM_INIT_AUTOMAKE' => 1,
16145 -                        'AC_FUNC_SETPGRP' => 1,
16146 -                        'AC_CONFIG_SUBDIRS' => 1,
16147 -                        'AC_FUNC_MMAP' => 1,
16148 -                        'AC_FUNC_REALLOC' => 1,
16149 -                        'AC_TYPE_SIZE_T' => 1,
16150 -                        'AC_CHECK_TYPES' => 1,
16151 -                        'AC_CHECK_MEMBERS' => 1,
16152 -                        'AM_MAINTAINER_MODE' => 1,
16153 -                        'AC_FUNC_UTIME_NULL' => 1,
16154 -                        'AC_FUNC_SELECT_ARGTYPES' => 1,
16155 -                        'AC_FUNC_STRFTIME' => 1,
16156 -                        'AC_HEADER_STAT' => 1,
16157 -                        'AC_C_INLINE' => 1,
16158 -                        'AC_PROG_CPP' => 1,
16159 -                        'AC_TYPE_PID_T' => 1,
16160 -                        'AC_PROG_LEX' => 1,
16161 -                        'AC_C_CONST' => 1,
16162 -                        'AC_CONFIG_FILES' => 1,
16163 -                        'include' => 1,
16164 -                        'AC_FUNC_SETVBUF_REVERSED' => 1,
16165 -                        'AC_PROG_INSTALL' => 1,
16166 -                        'AM_GNU_GETTEXT' => 1,
16167 -                        'AC_CHECK_LIB' => 1,
16168 -                        'AC_FUNC_OBSTACK' => 1,
16169 -                        'AC_FUNC_MALLOC' => 1,
16170 -                        'AC_FUNC_GETGROUPS' => 1,
16171 -                        'AC_FUNC_GETLOADAVG' => 1,
16172 -                        'AH_OUTPUT' => 1,
16173 -                        'AC_FUNC_FSEEKO' => 1,
16174 -                        'AM_PROG_CC_C_O' => 1,
16175 -                        'AC_FUNC_MKTIME' => 1,
16176 -                        'AC_CANONICAL_SYSTEM' => 1,
16177 -                        'AM_CONDITIONAL' => 1,
16178 -                        'AC_CONFIG_HEADERS' => 1,
16179 -                        'AC_HEADER_SYS_WAIT' => 1,
16180 -                        'AC_PROG_LN_S' => 1,
16181 -                        'AC_FUNC_MEMCMP' => 1,
16182 -                        'm4_include' => 1,
16183 -                        'AC_HEADER_DIRENT' => 1,
16184 -                        'AC_CHECK_FUNCS' => 1
16185 -                      }
16186 -                    ], 'Request' ),
16187 -             bless( [
16188 -                      '1',
16189 -                      1,
16190 -                      [
16191 -                        '/sw/share/autoconf-2.54'
16192 -                      ],
16193 -                      [
16194 -                        '--reload-state=/sw/share/autoconf-2.54/autoconf/autoconf.m4f',
16195 -                        'aclocal.m4',
16196 -                        'configure.in'
16197 -                      ],
16198 -                      {
16199 -                        'm4_pattern_forbid' => 1,
16200 -                        'AC_TYPE_OFF_T' => 1,
16201 -                        'AC_PROG_LIBTOOL' => 1,
16202 -                        'AC_FUNC_STAT' => 1,
16203 -                        'AC_HEADER_TIME' => 1,
16204 -                        'AC_FUNC_WAIT3' => 1,
16205 -                        'AC_STRUCT_TM' => 1,
16206 -                        'AC_FUNC_LSTAT' => 1,
16207 -                        'AC_TYPE_MODE_T' => 1,
16208 -                        'AC_FUNC_STRTOD' => 1,
16209 -                        'AC_CHECK_HEADERS' => 1,
16210 -                        'AC_PROG_CXX' => 1,
16211 -                        'AC_PATH_X' => 1,
16212 -                        'AC_PROG_AWK' => 1,
16213 -                        'AC_HEADER_STDC' => 1,
16214 -                        'AC_HEADER_MAJOR' => 1,
16215 -                        'AC_FUNC_ERROR_AT_LINE' => 1,
16216 -                        'AC_PROG_GCC_TRADITIONAL' => 1,
16217 -                        'AC_LIBSOURCE' => 1,
16218 -                        'AC_STRUCT_ST_BLOCKS' => 1,
16219 -                        'AC_TYPE_SIGNAL' => 1,
16220 -                        'AC_TYPE_UID_T' => 1,
16221 -                        'AC_PROG_MAKE_SET' => 1,
16222 -                        'm4_pattern_allow' => 1,
16223 -                        'AC_DEFINE_TRACE_LITERAL' => 1,
16224 -                        'AM_PROG_LIBTOOL' => 1,
16225 -                        'AC_FUNC_STRERROR_R' => 1,
16226 -                        'AC_PROG_CC' => 1,
16227 -                        'AC_FUNC_FORK' => 1,
16228 -                        'AC_DECL_SYS_SIGLIST' => 1,
16229 -                        'AC_FUNC_STRCOLL' => 1,
16230 -                        'AC_FUNC_VPRINTF' => 1,
16231 -                        'AC_PROG_YACC' => 1,
16232 -                        'AC_STRUCT_TIMEZONE' => 1,
16233 -                        'AC_FUNC_CHOWN' => 1,
16234 -                        'AC_SUBST' => 1,
16235 -                        'AC_FUNC_ALLOCA' => 1,
16236 -                        'AC_FUNC_GETPGRP' => 1,
16237 -                        'AC_PROG_RANLIB' => 1,
16238 -                        'AC_FUNC_SETPGRP' => 1,
16239 -                        'AC_FUNC_MMAP' => 1,
16240 -                        'AC_TYPE_SIZE_T' => 1,
16241 -                        'AC_CHECK_TYPES' => 1,
16242 -                        'AC_FUNC_UTIME_NULL' => 1,
16243 -                        'AC_FUNC_STRFTIME' => 1,
16244 -                        'AC_HEADER_STAT' => 1,
16245 -                        'AC_C_INLINE' => 1,
16246 -                        'AC_PROG_CPP' => 1,
16247 -                        'AC_C_CONST' => 1,
16248 -                        'AC_PROG_LEX' => 1,
16249 -                        'AC_TYPE_PID_T' => 1,
16250 -                        'AC_CONFIG_FILES' => 1,
16251 -                        'include' => 1,
16252 -                        'AC_FUNC_SETVBUF_REVERSED' => 1,
16253 -                        'AC_FUNC_FNMATCH' => 1,
16254 -                        'AC_PROG_INSTALL' => 1,
16255 -                        'AM_GNU_GETTEXT' => 1,
16256 -                        'AC_FUNC_OBSTACK' => 1,
16257 -                        'AC_CHECK_LIB' => 1,
16258 -                        'AC_FUNC_MALLOC' => 1,
16259 -                        'AC_FUNC_GETGROUPS' => 1,
16260 -                        'AC_FUNC_GETLOADAVG' => 1,
16261 -                        'AH_OUTPUT' => 1,
16262 -                        'AC_FUNC_FSEEKO' => 1,
16263 -                        'AC_FUNC_MKTIME' => 1,
16264 -                        'AM_CONDITIONAL' => 1,
16265 -                        'AC_CONFIG_HEADERS' => 1,
16266 -                        'AC_HEADER_SYS_WAIT' => 1,
16267 -                        'AC_PROG_LN_S' => 1,
16268 -                        'AC_FUNC_MEMCMP' => 1,
16269 -                        'm4_include' => 1,
16270 -                        'AC_HEADER_DIRENT' => 1,
16271 -                        'AC_CHECK_FUNCS' => 1
16272 -                      }
16273 -                    ], 'Request' )
16274 -           );
16275 -
16276 diff -Nur ../boehm-gc/autom4te.cache/traces.0 boehm-gc/autom4te.cache/traces.0
16277 --- ../boehm-gc/autom4te.cache/traces.0 Mon May 26 13:14:22 2003
16278 +++ boehm-gc/autom4te.cache/traces.0    Wed Dec 31 16:00:00 1969
16279 @@ -1,185 +0,0 @@
16280 -m4trace:configure.in:16: -1- AC_INIT([gcj_mlc.c])
16281 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?A[CHUM]_])
16282 -m4trace:configure.in:16: -1- m4_pattern_forbid([_AC_])
16283 -m4trace:configure.in:16: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
16284 -m4trace:configure.in:16: -1- m4_pattern_allow([^AS_FLAGS$])
16285 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?m4_])
16286 -m4trace:configure.in:16: -1- m4_pattern_forbid([^dnl$])
16287 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?AS_])
16288 -m4trace:configure.in:16: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
16289 -m4trace:configure.in:16: -1- AC_SUBST([PATH_SEPARATOR])
16290 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
16291 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
16292 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
16293 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
16294 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
16295 -m4trace:configure.in:16: -1- AC_SUBST([exec_prefix], [NONE])
16296 -m4trace:configure.in:16: -1- AC_SUBST([prefix], [NONE])
16297 -m4trace:configure.in:16: -1- AC_SUBST([program_transform_name], [s,x,x,])
16298 -m4trace:configure.in:16: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
16299 -m4trace:configure.in:16: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
16300 -m4trace:configure.in:16: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
16301 -m4trace:configure.in:16: -1- AC_SUBST([datadir], ['${prefix}/share'])
16302 -m4trace:configure.in:16: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
16303 -m4trace:configure.in:16: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
16304 -m4trace:configure.in:16: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
16305 -m4trace:configure.in:16: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
16306 -m4trace:configure.in:16: -1- AC_SUBST([includedir], ['${prefix}/include'])
16307 -m4trace:configure.in:16: -1- AC_SUBST([oldincludedir], ['/usr/include'])
16308 -m4trace:configure.in:16: -1- AC_SUBST([infodir], ['${prefix}/info'])
16309 -m4trace:configure.in:16: -1- AC_SUBST([mandir], ['${prefix}/man'])
16310 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
16311 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
16312 -#undef PACKAGE_NAME])
16313 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
16314 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
16315 -#undef PACKAGE_TARNAME])
16316 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
16317 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
16318 -#undef PACKAGE_VERSION])
16319 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
16320 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
16321 -#undef PACKAGE_STRING])
16322 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
16323 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
16324 -#undef PACKAGE_BUGREPORT])
16325 -m4trace:configure.in:16: -1- AC_SUBST([build_alias])
16326 -m4trace:configure.in:16: -1- AC_SUBST([host_alias])
16327 -m4trace:configure.in:16: -1- AC_SUBST([target_alias])
16328 -m4trace:configure.in:16: -1- AC_SUBST([DEFS])
16329 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_C])
16330 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_N])
16331 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_T])
16332 -m4trace:configure.in:16: -1- AC_SUBST([LIBS])
16333 -m4trace:configure.in:25: -1- AC_CONFIG_AUX_DIR([.])
16334 -m4trace:configure.in:27: -1- AC_SUBST([gc_basedir])
16335 -m4trace:configure.in:27: -1- AC_CONFIG_AUX_DIR([$gc_basedir/..])
16336 -m4trace:configure.in:27: -1- AC_CONFIG_AUX_DIR([..])
16337 -m4trace:configure.in:27: -1- AC_CANONICAL_SYSTEM
16338 -m4trace:configure.in:27: -1- AC_CANONICAL_HOST
16339 -m4trace:configure.in:27: -1- AC_SUBST([build], [$ac_cv_build])
16340 -m4trace:configure.in:27: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16341 -m4trace:configure.in:27: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16342 -m4trace:configure.in:27: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16343 -m4trace:configure.in:27: -1- AC_SUBST([host], [$ac_cv_host])
16344 -m4trace:configure.in:27: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16345 -m4trace:configure.in:27: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16346 -m4trace:configure.in:27: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16347 -m4trace:configure.in:27: -1- AC_SUBST([target], [$ac_cv_target])
16348 -m4trace:configure.in:27: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16349 -m4trace:configure.in:27: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16350 -m4trace:configure.in:27: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16351 -m4trace:configure.in:27: -1- AC_SUBST([mkinstalldirs])
16352 -m4trace:configure.in:27: -1- AM_INIT_AUTOMAKE([gc], [6.0], [no-define])
16353 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16354 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16355 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16356 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16357 -m4trace:configure.in:27: -1- AC_SUBST([PACKAGE])
16358 -m4trace:configure.in:27: -1- AC_SUBST([VERSION])
16359 -m4trace:configure.in:27: -2- AC_DEFINE_TRACE_LITERAL([PACKAGE])
16360 -m4trace:configure.in:27: -2- AH_OUTPUT([PACKAGE], [/* Name of package */
16361 -#undef PACKAGE])
16362 -m4trace:configure.in:27: -2- AC_DEFINE_TRACE_LITERAL([VERSION])
16363 -m4trace:configure.in:27: -2- AH_OUTPUT([VERSION], [/* Version number of package */
16364 -#undef VERSION])
16365 -m4trace:configure.in:27: -1- AC_SUBST([ACLOCAL])
16366 -m4trace:configure.in:27: -1- AC_SUBST([AUTOCONF])
16367 -m4trace:configure.in:27: -1- AC_SUBST([AUTOMAKE])
16368 -m4trace:configure.in:27: -1- AC_SUBST([AUTOHEADER])
16369 -m4trace:configure.in:27: -1- AC_SUBST([MAKEINFO])
16370 -m4trace:configure.in:27: -1- AC_PROG_MAKE_SET
16371 -m4trace:configure.in:27: -1- AC_SUBST([SET_MAKE])
16372 -m4trace:configure.in:27: -1- AC_SUBST([CC])
16373 -m4trace:configure.in:27: -1- AC_SUBST([CC])
16374 -m4trace:configure.in:27: -1- AC_SUBST([CXX])
16375 -m4trace:configure.in:27: -1- AC_SUBST([AS])
16376 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AS])
16377 -m4trace:configure.in:27: -1- AC_SUBST([AR])
16378 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AR])
16379 -m4trace:configure.in:27: -1- AC_SUBST([RANLIB])
16380 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_RANLIB])
16381 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16382 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16383 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16384 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16385 -m4trace:configure.in:27: -1- AM_MAINTAINER_MODE
16386 -m4trace:configure.in:27: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16387 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16388 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16389 -m4trace:configure.in:27: -1- AC_SUBST([MAINT])
16390 -m4trace:configure.in:27: -1- AC_SUBST([GC_CFLAGS])
16391 -m4trace:configure.in:29: -1- AC_PROG_LIBTOOL
16392 -m4trace:configure.in:29: -1- AC_PROG_LN_S
16393 -m4trace:configure.in:29: -1- AC_SUBST([LN_S], [$as_ln_s])
16394 -m4trace:configure.in:29: -1- AC_SUBST([RANLIB])
16395 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_RANLIB])
16396 -m4trace:configure.in:29: -1- AC_SUBST([STRIP])
16397 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_STRIP])
16398 -m4trace:configure.in:29: -1- AC_SUBST([LIBTOOL])
16399 -m4trace:configure.in:29: -1- AC_SUBST([CXXCPP])
16400 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16401 -m4trace:configure.in:29: -1- AC_SUBST([CXXCPP])
16402 -m4trace:configure.in:38: -1- AM_MAINTAINER_MODE
16403 -m4trace:configure.in:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16404 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16405 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16406 -m4trace:configure.in:38: -1- AC_SUBST([MAINT])
16407 -m4trace:configure.in:77: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16408 -m4trace:configure.in:78: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16409 -m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16410 -m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16411 -m4trace:configure.in:85: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16412 -m4trace:configure.in:86: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16413 -m4trace:configure.in:90: -1- AC_DEFINE_TRACE_LITERAL([GC_HPUX_THREADS])
16414 -m4trace:configure.in:91: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_C_SOURCE])
16415 -m4trace:configure.in:93: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16416 -m4trace:configure.in:95: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16417 -m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([GC_FREEBSD_THREADS])
16418 -m4trace:configure.in:105: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_THREADS])
16419 -m4trace:configure.in:106: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_PTHREADS])
16420 -m4trace:configure.in:109: -1- AC_DEFINE_TRACE_LITERAL([GC_IRIX_THREADS])
16421 -m4trace:configure.in:117: -1- AC_DEFINE_TRACE_LITERAL([GC_DARWIN_THREADS])
16422 -m4trace:configure.in:118: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16423 -m4trace:configure.in:120: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16424 -m4trace:configure.in:124: -1- AC_DEFINE_TRACE_LITERAL([GC_WIN32_THREADS])
16425 -m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([NO_GETENV])
16426 -m4trace:configure.in:134: -1- AC_SUBST([THREADLIBS])
16427 -m4trace:configure.in:141: -1- AM_CONDITIONAL([POWERPC_DARWIN], [test x$powerpc_darwin = xtrue])
16428 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_TRUE])
16429 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_FALSE])
16430 -m4trace:configure.in:148: -1- AC_CHECK_LIB([dl], [dlopen], [EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"])
16431 -m4trace:configure.in:152: -1- AC_SUBST([EXTRA_TEST_LIBS])
16432 -m4trace:configure.in:155: -1- AC_SUBST([target_all])
16433 -m4trace:configure.in:156: -1- AC_SUBST([target_alias])
16434 -m4trace:configure.in:174: -1- AC_DEFINE_TRACE_LITERAL([ECOS])
16435 -m4trace:configure.in:179: -1- AC_SUBST([CXX])
16436 -m4trace:configure.in:181: -1- AC_SUBST([INCLUDES])
16437 -m4trace:configure.in:182: -1- AC_SUBST([CXXINCLUDES])
16438 -m4trace:configure.in:197: -1- AC_DEFINE_TRACE_LITERAL([SOLARIS25_PROC_VDB_BUG_FIXED])
16439 -m4trace:configure.in:201: -1- AC_DEFINE_TRACE_LITERAL([STACKBASE])
16440 -m4trace:configure.in:202: -1- AC_DEFINE_TRACE_LITERAL([DATASTART_IS_ETEXT])
16441 -m4trace:configure.in:211: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16442 -m4trace:configure.in:215: -1- AC_DEFINE_TRACE_LITERAL([SUNOS53_SHARED_LIB])
16443 -m4trace:configure.in:228: -1- AC_SUBST([addobjs])
16444 -m4trace:configure.in:252: -1- AC_SUBST([MY_CFLAGS])
16445 -m4trace:configure.in:256: -1- AC_DEFINE_TRACE_LITERAL([SILENT])
16446 -m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGNALS])
16447 -m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16448 -m4trace:configure.in:259: -1- AC_DEFINE_TRACE_LITERAL([ALL_INTERIOR_POINTERS])
16449 -m4trace:configure.in:262: -1- AC_DEFINE_TRACE_LITERAL([JAVA_FINALIZATION])
16450 -m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([GC_GCJ_SUPPORT])
16451 -m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([ATOMIC_UNCOLLECTABLE])
16452 -m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGSET])
16453 -m4trace:configure.in:271: -1- AC_DEFINE_TRACE_LITERAL([NO_DEBUGGING])
16454 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([KEEP_BACK_PTRS])
16455 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([DBG_HDRS_ALL])
16456 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16457 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16458 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([SAVE_CALL_COUNT])
16459 -m4trace:configure.in:292: -1- AM_CONDITIONAL([USE_LIBDIR], [test -z "$with_cross_host"])
16460 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_TRUE])
16461 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_FALSE])
16462 -m4trace:configure.in:317: -1- AC_CONFIG_FILES([Makefile include/Makefile])
16463 -m4trace:configure.in:317: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
16464 -m4trace:configure.in:317: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
16465 diff -Nur ../boehm-gc/autom4te.cache/traces.1 boehm-gc/autom4te.cache/traces.1
16466 --- ../boehm-gc/autom4te.cache/traces.1 Sat May 31 15:09:31 2003
16467 +++ boehm-gc/autom4te.cache/traces.1    Wed Dec 31 16:00:00 1969
16468 @@ -1,250 +0,0 @@
16469 -m4trace:aclocal.m4:166: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
16470 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?A[CHUM]_])
16471 -m4trace:configure.in:16: -1- m4_pattern_forbid([_AC_])
16472 -m4trace:configure.in:16: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
16473 -m4trace:configure.in:16: -1- m4_pattern_allow([^AS_FLAGS$])
16474 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?m4_])
16475 -m4trace:configure.in:16: -1- m4_pattern_forbid([^dnl$])
16476 -m4trace:configure.in:16: -1- m4_pattern_forbid([^_?AS_])
16477 -m4trace:configure.in:16: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
16478 -m4trace:configure.in:16: -1- AC_SUBST([PATH_SEPARATOR])
16479 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
16480 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
16481 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
16482 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
16483 -m4trace:configure.in:16: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
16484 -m4trace:configure.in:16: -1- AC_SUBST([exec_prefix], [NONE])
16485 -m4trace:configure.in:16: -1- AC_SUBST([prefix], [NONE])
16486 -m4trace:configure.in:16: -1- AC_SUBST([program_transform_name], [s,x,x,])
16487 -m4trace:configure.in:16: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
16488 -m4trace:configure.in:16: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
16489 -m4trace:configure.in:16: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
16490 -m4trace:configure.in:16: -1- AC_SUBST([datadir], ['${prefix}/share'])
16491 -m4trace:configure.in:16: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
16492 -m4trace:configure.in:16: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
16493 -m4trace:configure.in:16: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
16494 -m4trace:configure.in:16: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
16495 -m4trace:configure.in:16: -1- AC_SUBST([includedir], ['${prefix}/include'])
16496 -m4trace:configure.in:16: -1- AC_SUBST([oldincludedir], ['/usr/include'])
16497 -m4trace:configure.in:16: -1- AC_SUBST([infodir], ['${prefix}/info'])
16498 -m4trace:configure.in:16: -1- AC_SUBST([mandir], ['${prefix}/man'])
16499 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
16500 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
16501 -#undef PACKAGE_NAME])
16502 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
16503 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
16504 -#undef PACKAGE_TARNAME])
16505 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
16506 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
16507 -#undef PACKAGE_VERSION])
16508 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
16509 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
16510 -#undef PACKAGE_STRING])
16511 -m4trace:configure.in:16: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
16512 -m4trace:configure.in:16: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
16513 -#undef PACKAGE_BUGREPORT])
16514 -m4trace:configure.in:16: -1- AC_SUBST([build_alias])
16515 -m4trace:configure.in:16: -1- AC_SUBST([host_alias])
16516 -m4trace:configure.in:16: -1- AC_SUBST([target_alias])
16517 -m4trace:configure.in:16: -1- AC_SUBST([DEFS])
16518 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_C])
16519 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_N])
16520 -m4trace:configure.in:16: -1- AC_SUBST([ECHO_T])
16521 -m4trace:configure.in:16: -1- AC_SUBST([LIBS])
16522 -m4trace:configure.in:27: -1- AC_SUBST([gc_basedir])
16523 -m4trace:configure.in:27: -1- AC_SUBST([build], [$ac_cv_build])
16524 -m4trace:configure.in:27: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16525 -m4trace:configure.in:27: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16526 -m4trace:configure.in:27: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16527 -m4trace:configure.in:27: -1- AC_SUBST([host], [$ac_cv_host])
16528 -m4trace:configure.in:27: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16529 -m4trace:configure.in:27: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16530 -m4trace:configure.in:27: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16531 -m4trace:configure.in:27: -1- AC_SUBST([target], [$ac_cv_target])
16532 -m4trace:configure.in:27: -1- AC_SUBST([target_cpu], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
16533 -m4trace:configure.in:27: -1- AC_SUBST([target_vendor], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
16534 -m4trace:configure.in:27: -1- AC_SUBST([target_os], [`echo $ac_cv_target | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
16535 -m4trace:configure.in:27: -1- AC_SUBST([mkinstalldirs])
16536 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16537 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16538 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16539 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16540 -m4trace:configure.in:27: -1- AC_SUBST([PACKAGE], [gc])
16541 -m4trace:configure.in:27: -1- AC_SUBST([VERSION], [6.1a1])
16542 -m4trace:configure.in:27: -1- AC_SUBST([ACLOCAL])
16543 -m4trace:configure.in:27: -1- AC_SUBST([AUTOCONF])
16544 -m4trace:configure.in:27: -1- AC_SUBST([AUTOMAKE])
16545 -m4trace:configure.in:27: -1- AC_SUBST([AUTOHEADER])
16546 -m4trace:configure.in:27: -1- AC_SUBST([MAKEINFO])
16547 -m4trace:configure.in:27: -1- AC_SUBST([AMTAR])
16548 -m4trace:configure.in:27: -1- AC_SUBST([install_sh])
16549 -m4trace:configure.in:27: -1- AC_SUBST([STRIP])
16550 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_STRIP])
16551 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
16552 -m4trace:configure.in:27: -1- AC_PROG_AWK
16553 -m4trace:configure.in:27: -1- AC_SUBST([AWK])
16554 -m4trace:configure.in:27: -1- AC_PROG_MAKE_SET
16555 -m4trace:configure.in:27: -1- AC_SUBST([SET_MAKE])
16556 -m4trace:configure.in:27: -1- AC_SUBST([AS])
16557 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AS])
16558 -m4trace:configure.in:27: -1- AC_SUBST([AR])
16559 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_AR])
16560 -m4trace:configure.in:27: -1- AC_SUBST([RANLIB])
16561 -m4trace:configure.in:27: -1- AC_SUBST([ac_ct_RANLIB])
16562 -m4trace:configure.in:27: -1- AC_PROG_INSTALL
16563 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_PROGRAM])
16564 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_SCRIPT])
16565 -m4trace:configure.in:27: -1- AC_SUBST([INSTALL_DATA])
16566 -m4trace:configure.in:27: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16567 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16568 -m4trace:configure.in:27: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16569 -m4trace:configure.in:27: -1- AC_SUBST([MAINT])
16570 -m4trace:configure.in:27: -1- AC_SUBST([GC_CFLAGS])
16571 -m4trace:configure.in:29: -1- AM_PROG_LIBTOOL
16572 -m4trace:configure.in:29: -1- AC_PROG_LIBTOOL
16573 -m4trace:configure.in:29: -1- AC_PROG_CC
16574 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16575 -m4trace:configure.in:29: -1- AC_SUBST([CFLAGS])
16576 -m4trace:configure.in:29: -1- AC_SUBST([LDFLAGS])
16577 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16578 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16579 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16580 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16581 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16582 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16583 -m4trace:configure.in:29: -1- AC_SUBST([CC])
16584 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_CC])
16585 -m4trace:configure.in:29: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
16586 -m4trace:configure.in:29: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
16587 -m4trace:configure.in:29: -1- AC_SUBST([DEPDIR])
16588 -m4trace:configure.in:29: -1- AC_SUBST([am__include])
16589 -m4trace:configure.in:29: -1- AC_SUBST([am__quote])
16590 -m4trace:configure.in:29: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
16591 -m4trace:configure.in:29: -1- AC_SUBST([AMDEP_TRUE])
16592 -m4trace:configure.in:29: -1- AC_SUBST([AMDEP_FALSE])
16593 -m4trace:configure.in:29: -1- AC_SUBST([AMDEPBACKSLASH])
16594 -m4trace:configure.in:29: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
16595 -m4trace:configure.in:29: -1- AC_PROG_LN_S
16596 -m4trace:configure.in:29: -1- AC_SUBST([LN_S], [$as_ln_s])
16597 -m4trace:configure.in:29: -1- AC_SUBST([ECHO])
16598 -m4trace:configure.in:29: -1- AC_SUBST([RANLIB])
16599 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_RANLIB])
16600 -m4trace:configure.in:29: -1- AC_SUBST([STRIP])
16601 -m4trace:configure.in:29: -1- AC_SUBST([ac_ct_STRIP])
16602 -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],
16603 -             [lt_cv_dlopen="dlopen"],
16604 -         [AC_CHECK_LIB([dl], [dlopen],
16605 -               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
16606 -           [AC_CHECK_LIB([svld], [dlopen],
16607 -                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
16608 -             [AC_CHECK_LIB([dld], [dld_link],
16609 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16610 -             ])
16611 -           ])
16612 -         ])
16613 -       ])
16614 -m4trace:configure.in:29: -1- AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen],
16615 -                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
16616 -             [AC_CHECK_LIB([dld], [dld_link],
16617 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16618 -             ])
16619 -           ])
16620 -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],
16621 -                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16622 -             ])
16623 -m4trace:configure.in:29: -1- AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
16624 -m4trace:configure.in:29: -1- AC_CHECK_HEADERS([dlfcn.h])
16625 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
16626 -#undef HAVE_DLFCN_H])
16627 -m4trace:configure.in:29: -1- AC_HEADER_STDC
16628 -m4trace:configure.in:29: -1- AC_PROG_CPP
16629 -m4trace:configure.in:29: -1- AC_SUBST([CPP])
16630 -m4trace:configure.in:29: -1- AC_SUBST([CPPFLAGS])
16631 -m4trace:configure.in:29: -1- AC_SUBST([CPP])
16632 -m4trace:configure.in:29: -1- AC_SUBST([EGREP])
16633 -m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
16634 -m4trace:configure.in:29: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
16635 -#undef STDC_HEADERS])
16636 -m4trace:configure.in:29: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
16637 -                  inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
16638 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
16639 -#undef HAVE_SYS_TYPES_H])
16640 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
16641 -#undef HAVE_SYS_STAT_H])
16642 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
16643 -#undef HAVE_STDLIB_H])
16644 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
16645 -#undef HAVE_STRING_H])
16646 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
16647 -#undef HAVE_MEMORY_H])
16648 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
16649 -#undef HAVE_STRINGS_H])
16650 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
16651 -#undef HAVE_INTTYPES_H])
16652 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
16653 -#undef HAVE_STDINT_H])
16654 -m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
16655 -#undef HAVE_UNISTD_H])
16656 -m4trace:configure.in:29: -1- AC_SUBST([LIBTOOL])
16657 -m4trace:configure.in:38: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
16658 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
16659 -m4trace:configure.in:38: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
16660 -m4trace:configure.in:38: -1- AC_SUBST([MAINT])
16661 -m4trace:configure.in:77: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16662 -m4trace:configure.in:78: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16663 -m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16664 -m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16665 -m4trace:configure.in:85: -1- AC_DEFINE_TRACE_LITERAL([GC_LINUX_THREADS])
16666 -m4trace:configure.in:86: -1- AC_DEFINE_TRACE_LITERAL([_REENTRANT])
16667 -m4trace:configure.in:90: -1- AC_DEFINE_TRACE_LITERAL([GC_HPUX_THREADS])
16668 -m4trace:configure.in:91: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_C_SOURCE])
16669 -m4trace:configure.in:93: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16670 -m4trace:configure.in:95: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16671 -m4trace:configure.in:100: -1- AC_DEFINE_TRACE_LITERAL([GC_FREEBSD_THREADS])
16672 -m4trace:configure.in:105: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_THREADS])
16673 -m4trace:configure.in:106: -1- AC_DEFINE_TRACE_LITERAL([GC_SOLARIS_PTHREADS])
16674 -m4trace:configure.in:109: -1- AC_DEFINE_TRACE_LITERAL([GC_IRIX_THREADS])
16675 -m4trace:configure.in:115: -1- AC_DEFINE_TRACE_LITERAL([GC_DARWIN_THREADS])
16676 -m4trace:configure.in:116: -1- AC_DEFINE_TRACE_LITERAL([THREAD_LOCAL_ALLOC])
16677 -m4trace:configure.in:118: -1- AC_DEFINE_TRACE_LITERAL([PARALLEL_MARK])
16678 -m4trace:configure.in:124: -1- AC_DEFINE_TRACE_LITERAL([GC_WIN32_THREADS])
16679 -m4trace:configure.in:125: -1- AC_DEFINE_TRACE_LITERAL([NO_GETENV])
16680 -m4trace:configure.in:134: -1- AC_SUBST([THREADLIBS])
16681 -m4trace:configure.in:141: -1- AM_CONDITIONAL([POWERPC_DARWIN], [test x$powerpc_darwin = xtrue])
16682 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_TRUE])
16683 -m4trace:configure.in:141: -1- AC_SUBST([POWERPC_DARWIN_FALSE])
16684 -m4trace:configure.in:148: -1- AC_CHECK_LIB([dl], [dlopen], [EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl"])
16685 -m4trace:configure.in:152: -1- AC_SUBST([EXTRA_TEST_LIBS])
16686 -m4trace:configure.in:155: -1- AC_SUBST([target_all])
16687 -m4trace:configure.in:156: -1- AC_SUBST([target_alias])
16688 -m4trace:configure.in:174: -1- AC_DEFINE_TRACE_LITERAL([ECOS])
16689 -m4trace:configure.in:179: -1- AC_SUBST([CXX])
16690 -m4trace:configure.in:181: -1- AC_SUBST([INCLUDES])
16691 -m4trace:configure.in:182: -1- AC_SUBST([CXXINCLUDES])
16692 -m4trace:configure.in:197: -1- AC_DEFINE_TRACE_LITERAL([SOLARIS25_PROC_VDB_BUG_FIXED])
16693 -m4trace:configure.in:201: -1- AC_DEFINE_TRACE_LITERAL([STACKBASE])
16694 -m4trace:configure.in:202: -1- AC_DEFINE_TRACE_LITERAL([DATASTART_IS_ETEXT])
16695 -m4trace:configure.in:211: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16696 -m4trace:configure.in:215: -1- AC_DEFINE_TRACE_LITERAL([SUNOS53_SHARED_LIB])
16697 -m4trace:configure.in:228: -1- AC_SUBST([addobjs])
16698 -m4trace:configure.in:252: -1- AC_SUBST([MY_CFLAGS])
16699 -m4trace:configure.in:256: -1- AC_DEFINE_TRACE_LITERAL([SILENT])
16700 -m4trace:configure.in:257: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGNALS])
16701 -m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([NO_EXECUTE_PERMISSION])
16702 -m4trace:configure.in:259: -1- AC_DEFINE_TRACE_LITERAL([ALL_INTERIOR_POINTERS])
16703 -m4trace:configure.in:262: -1- AC_DEFINE_TRACE_LITERAL([JAVA_FINALIZATION])
16704 -m4trace:configure.in:263: -1- AC_DEFINE_TRACE_LITERAL([GC_GCJ_SUPPORT])
16705 -m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([ATOMIC_UNCOLLECTABLE])
16706 -m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([NO_SIGSET])
16707 -m4trace:configure.in:271: -1- AC_DEFINE_TRACE_LITERAL([NO_DEBUGGING])
16708 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([KEEP_BACK_PTRS])
16709 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([DBG_HDRS_ALL])
16710 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16711 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([MAKE_BACK_GRAPH])
16712 -m4trace:configure.in:290: -1- AC_DEFINE_TRACE_LITERAL([SAVE_CALL_COUNT])
16713 -m4trace:configure.in:292: -1- AM_CONDITIONAL([USE_LIBDIR], [test -z "$with_cross_host"])
16714 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_TRUE])
16715 -m4trace:configure.in:292: -1- AC_SUBST([USE_LIBDIR_FALSE])
16716 -m4trace:configure.in:317: -1- AC_CONFIG_FILES([Makefile include/Makefile])
16717 -m4trace:configure.in:317: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
16718 -m4trace:configure.in:317: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
16719 diff -Nur ../boehm-gc/backgraph.c boehm-gc/backgraph.c
16720 --- ../boehm-gc/backgraph.c     Mon May 26 12:48:52 2003
16721 +++ boehm-gc/backgraph.c        Wed Jan 30 18:48:45 2002
16722 @@ -307,7 +307,6 @@
16723      }
16724    while (currentp < (word *)(p + gc_descr)) {
16725      word current = *currentp++;
16726 -    FIXUP_POINTER(current);
16727      if (current >= (word)GC_least_plausible_heap_addr && 
16728         current <= (word)GC_greatest_plausible_heap_addr) {
16729         ptr_t target = GC_base((GC_PTR)current);
16730 diff -Nur ../boehm-gc/configure boehm-gc/configure
16731 --- ../boehm-gc/configure       Sat May 31 21:21:37 2003
16732 +++ boehm-gc/configure  Tue May 13 17:18:14 2003
16733 @@ -61,6 +61,7 @@
16734  program_transform_name=s,x,x,
16735  silent=
16736  site=
16737 +sitefile=
16738  srcdir=
16739  target=NONE
16740  verbose=
16741 @@ -175,6 +176,7 @@
16742    --help                  print this message
16743    --no-create             do not create output files
16744    --quiet, --silent       do not print \`checking...' messages
16745 +  --site-file=FILE        use FILE as the site file
16746    --version               print the version of autoconf that created configure
16747  Directory and file names:
16748    --prefix=PREFIX         install architecture-independent files in PREFIX
16749 @@ -345,6 +347,11 @@
16750    -site=* | --site=* | --sit=*)
16751      site="$ac_optarg" ;;
16752  
16753 +  -site-file | --site-file | --site-fil | --site-fi | --site-f)
16754 +    ac_prev=sitefile ;;
16755 +  -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
16756 +    sitefile="$ac_optarg" ;;
16757 +
16758    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
16759      ac_prev=srcdir ;;
16760    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
16761 @@ -510,12 +517,16 @@
16762  srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
16763  
16764  # Prefer explicitly selected file to automatically selected ones.
16765 -if test -z "$CONFIG_SITE"; then
16766 -  if test "x$prefix" != xNONE; then
16767 -    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
16768 -  else
16769 -    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
16770 +if test -z "$sitefile"; then
16771 +  if test -z "$CONFIG_SITE"; then
16772 +    if test "x$prefix" != xNONE; then
16773 +      CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
16774 +    else
16775 +      CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
16776 +    fi
16777    fi
16778 +else
16779 +  CONFIG_SITE="$sitefile"
16780  fi
16781  for ac_site_file in $CONFIG_SITE; do
16782    if test -r "$ac_site_file"; then
16783 @@ -593,7 +604,7 @@
16784  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
16785  # ./install, which can be erroneously created by make from ./install.sh.
16786  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
16787 -echo "configure:597: checking for a BSD compatible install" >&5
16788 +echo "configure:608: checking for a BSD compatible install" >&5
16789  if test -z "$INSTALL"; then
16790  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
16791    echo $ac_n "(cached) $ac_c" 1>&6
16792 @@ -646,7 +657,7 @@
16793  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
16794  
16795  echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
16796 -echo "configure:650: checking whether build environment is sane" >&5
16797 +echo "configure:661: checking whether build environment is sane" >&5
16798  # Just in case
16799  sleep 1
16800  echo timestamp > conftestfile
16801 @@ -703,7 +714,7 @@
16802  test "$program_transform_name" = "" && program_transform_name="s,x,x,"
16803  
16804  echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
16805 -echo "configure:707: checking whether ${MAKE-make} sets \${MAKE}" >&5
16806 +echo "configure:718: checking whether ${MAKE-make} sets \${MAKE}" >&5
16807  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
16808  if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
16809    echo $ac_n "(cached) $ac_c" 1>&6
16810 @@ -736,12 +747,12 @@
16811  fi
16812  
16813  echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
16814 -echo "configure:740: checking for Cygwin environment" >&5
16815 +echo "configure:751: checking for Cygwin environment" >&5
16816  if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
16817    echo $ac_n "(cached) $ac_c" 1>&6
16818  else
16819    cat > conftest.$ac_ext <<EOF
16820 -#line 745 "configure"
16821 +#line 756 "configure"
16822  #include "confdefs.h"
16823  
16824  int main() {
16825 @@ -752,7 +763,7 @@
16826  return __CYGWIN__;
16827  ; return 0; }
16828  EOF
16829 -if { (eval echo configure:756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16830 +if { (eval echo configure:767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16831    rm -rf conftest*
16832    ac_cv_cygwin=yes
16833  else
16834 @@ -769,19 +780,19 @@
16835  CYGWIN=
16836  test "$ac_cv_cygwin" = yes && CYGWIN=yes
16837  echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
16838 -echo "configure:773: checking for mingw32 environment" >&5
16839 +echo "configure:784: checking for mingw32 environment" >&5
16840  if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
16841    echo $ac_n "(cached) $ac_c" 1>&6
16842  else
16843    cat > conftest.$ac_ext <<EOF
16844 -#line 778 "configure"
16845 +#line 789 "configure"
16846  #include "confdefs.h"
16847  
16848  int main() {
16849  return __MINGW32__;
16850  ; return 0; }
16851  EOF
16852 -if { (eval echo configure:785: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16853 +if { (eval echo configure:796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
16854    rm -rf conftest*
16855    ac_cv_mingw32=yes
16856  else
16857 @@ -892,7 +903,7 @@
16858  fi
16859  
16860  echo $ac_n "checking host system type""... $ac_c" 1>&6
16861 -echo "configure:896: checking host system type" >&5
16862 +echo "configure:907: checking host system type" >&5
16863  
16864  host_alias=$host
16865  case "$host_alias" in
16866 @@ -913,7 +924,7 @@
16867  echo "$ac_t""$host" 1>&6
16868  
16869  echo $ac_n "checking target system type""... $ac_c" 1>&6
16870 -echo "configure:917: checking target system type" >&5
16871 +echo "configure:928: checking target system type" >&5
16872  
16873  target_alias=$target
16874  case "$target_alias" in
16875 @@ -931,7 +942,7 @@
16876  echo "$ac_t""$target" 1>&6
16877  
16878  echo $ac_n "checking build system type""... $ac_c" 1>&6
16879 -echo "configure:935: checking build system type" >&5
16880 +echo "configure:946: checking build system type" >&5
16881  
16882  build_alias=$build
16883  case "$build_alias" in
16884 @@ -971,7 +982,7 @@
16885  
16886  missing_dir=`cd $ac_aux_dir && pwd`
16887  echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
16888 -echo "configure:975: checking for working aclocal" >&5
16889 +echo "configure:986: checking for working aclocal" >&5
16890  # Run test in a subshell; some versions of sh will print an error if
16891  # an executable is not found, even if stderr is redirected.
16892  # Redirect stdin to placate older versions of autoconf.  Sigh.
16893 @@ -984,7 +995,7 @@
16894  fi
16895  
16896  echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
16897 -echo "configure:988: checking for working autoconf" >&5
16898 +echo "configure:999: checking for working autoconf" >&5
16899  # Run test in a subshell; some versions of sh will print an error if
16900  # an executable is not found, even if stderr is redirected.
16901  # Redirect stdin to placate older versions of autoconf.  Sigh.
16902 @@ -997,7 +1008,7 @@
16903  fi
16904  
16905  echo $ac_n "checking for working automake""... $ac_c" 1>&6
16906 -echo "configure:1001: checking for working automake" >&5
16907 +echo "configure:1012: checking for working automake" >&5
16908  # Run test in a subshell; some versions of sh will print an error if
16909  # an executable is not found, even if stderr is redirected.
16910  # Redirect stdin to placate older versions of autoconf.  Sigh.
16911 @@ -1010,7 +1021,7 @@
16912  fi
16913  
16914  echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
16915 -echo "configure:1014: checking for working autoheader" >&5
16916 +echo "configure:1025: checking for working autoheader" >&5
16917  # Run test in a subshell; some versions of sh will print an error if
16918  # an executable is not found, even if stderr is redirected.
16919  # Redirect stdin to placate older versions of autoconf.  Sigh.
16920 @@ -1023,7 +1034,7 @@
16921  fi
16922  
16923  echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
16924 -echo "configure:1027: checking for working makeinfo" >&5
16925 +echo "configure:1038: checking for working makeinfo" >&5
16926  # Run test in a subshell; some versions of sh will print an error if
16927  # an executable is not found, even if stderr is redirected.
16928  # Redirect stdin to placate older versions of autoconf.  Sigh.
16929 @@ -1049,7 +1060,7 @@
16930  # Extract the first word of "gcc", so it can be a program name with args.
16931  set dummy gcc; ac_word=$2
16932  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16933 -echo "configure:1053: checking for $ac_word" >&5
16934 +echo "configure:1064: checking for $ac_word" >&5
16935  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
16936    echo $ac_n "(cached) $ac_c" 1>&6
16937  else
16938 @@ -1079,7 +1090,7 @@
16939    # Extract the first word of "cc", so it can be a program name with args.
16940  set dummy cc; ac_word=$2
16941  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16942 -echo "configure:1083: checking for $ac_word" >&5
16943 +echo "configure:1094: checking for $ac_word" >&5
16944  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
16945    echo $ac_n "(cached) $ac_c" 1>&6
16946  else
16947 @@ -1128,7 +1139,7 @@
16948  fi
16949  
16950  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
16951 -echo "configure:1132: checking whether we are using GNU C" >&5
16952 +echo "configure:1143: checking whether we are using GNU C" >&5
16953  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
16954    echo $ac_n "(cached) $ac_c" 1>&6
16955  else
16956 @@ -1137,7 +1148,7 @@
16957    yes;
16958  #endif
16959  EOF
16960 -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
16961 +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
16962    ac_cv_prog_gcc=yes
16963  else
16964    ac_cv_prog_gcc=no
16965 @@ -1152,7 +1163,7 @@
16966    ac_save_CFLAGS="$CFLAGS"
16967    CFLAGS=
16968    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
16969 -echo "configure:1156: checking whether ${CC-cc} accepts -g" >&5
16970 +echo "configure:1167: checking whether ${CC-cc} accepts -g" >&5
16971  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
16972    echo $ac_n "(cached) $ac_c" 1>&6
16973  else
16974 @@ -1189,7 +1200,7 @@
16975  # Extract the first word of "$ac_prog", so it can be a program name with args.
16976  set dummy $ac_prog; ac_word=$2
16977  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
16978 -echo "configure:1193: checking for $ac_word" >&5
16979 +echo "configure:1204: checking for $ac_word" >&5
16980  if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
16981    echo $ac_n "(cached) $ac_c" 1>&6
16982  else
16983 @@ -1222,7 +1233,7 @@
16984  test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
16985  
16986  echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
16987 -echo "configure:1226: checking whether we are using GNU C++" >&5
16988 +echo "configure:1237: checking whether we are using GNU C++" >&5
16989  if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
16990    echo $ac_n "(cached) $ac_c" 1>&6
16991  else
16992 @@ -1231,7 +1242,7 @@
16993    yes;
16994  #endif
16995  EOF
16996 -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
16997 +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
16998    ac_cv_prog_gxx=yes
16999  else
17000    ac_cv_prog_gxx=no
17001 @@ -1246,7 +1257,7 @@
17002    ac_save_CXXFLAGS="$CXXFLAGS"
17003    CXXFLAGS=
17004    echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
17005 -echo "configure:1250: checking whether ${CXX-g++} accepts -g" >&5
17006 +echo "configure:1261: checking whether ${CXX-g++} accepts -g" >&5
17007  if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
17008    echo $ac_n "(cached) $ac_c" 1>&6
17009  else
17010 @@ -1279,7 +1290,7 @@
17011  # NEWLIB_CONFIGURE, which doesn't work because that means that it will
17012  # be run before AC_CANONICAL_HOST.
17013  echo $ac_n "checking build system type""... $ac_c" 1>&6
17014 -echo "configure:1283: checking build system type" >&5
17015 +echo "configure:1294: checking build system type" >&5
17016  
17017  build_alias=$build
17018  case "$build_alias" in
17019 @@ -1300,7 +1311,7 @@
17020  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
17021  set dummy ${ac_tool_prefix}as; ac_word=$2
17022  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17023 -echo "configure:1304: checking for $ac_word" >&5
17024 +echo "configure:1315: checking for $ac_word" >&5
17025  if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
17026    echo $ac_n "(cached) $ac_c" 1>&6
17027  else
17028 @@ -1332,7 +1343,7 @@
17029  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
17030  set dummy ${ac_tool_prefix}ar; ac_word=$2
17031  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17032 -echo "configure:1336: checking for $ac_word" >&5
17033 +echo "configure:1347: checking for $ac_word" >&5
17034  if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
17035    echo $ac_n "(cached) $ac_c" 1>&6
17036  else
17037 @@ -1364,7 +1375,7 @@
17038  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
17039  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
17040  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17041 -echo "configure:1368: checking for $ac_word" >&5
17042 +echo "configure:1379: checking for $ac_word" >&5
17043  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
17044    echo $ac_n "(cached) $ac_c" 1>&6
17045  else
17046 @@ -1396,7 +1407,7 @@
17047    # Extract the first word of "ranlib", so it can be a program name with args.
17048  set dummy ranlib; ac_word=$2
17049  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17050 -echo "configure:1400: checking for $ac_word" >&5
17051 +echo "configure:1411: checking for $ac_word" >&5
17052  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
17053    echo $ac_n "(cached) $ac_c" 1>&6
17054  else
17055 @@ -1441,7 +1452,7 @@
17056  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
17057  # ./install, which can be erroneously created by make from ./install.sh.
17058  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
17059 -echo "configure:1445: checking for a BSD compatible install" >&5
17060 +echo "configure:1456: checking for a BSD compatible install" >&5
17061  if test -z "$INSTALL"; then
17062  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
17063    echo $ac_n "(cached) $ac_c" 1>&6
17064 @@ -1495,7 +1506,7 @@
17065  
17066  
17067  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
17068 -echo "configure:1499: checking whether to enable maintainer-specific portions of Makefiles" >&5
17069 +echo "configure:1510: checking whether to enable maintainer-specific portions of Makefiles" >&5
17070      # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
17071  if test "${enable_maintainer_mode+set}" = set; then
17072    enableval="$enable_maintainer_mode"
17073 @@ -1533,7 +1544,7 @@
17074    
17075  
17076  echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
17077 -echo "configure:1537: checking for executable suffix" >&5
17078 +echo "configure:1548: checking for executable suffix" >&5
17079  if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
17080    echo $ac_n "(cached) $ac_c" 1>&6
17081  else
17082 @@ -1543,10 +1554,10 @@
17083    rm -f conftest*
17084    echo 'int main () { return 0; }' > conftest.$ac_ext
17085    ac_cv_exeext=
17086 -  if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17087 +  if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17088      for file in conftest.*; do
17089        case $file in
17090 -      *.c | *.o | *.obj) ;;
17091 +      *.c | *.o | *.obj | *.ilk | *.pdb) ;;
17092        *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
17093        esac
17094      done
17095 @@ -1665,7 +1676,7 @@
17096  if test "$GCC" = yes; then
17097    # Check if gcc -print-prog-name=ld gives a path.
17098    echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
17099 -echo "configure:1669: checking for ld used by GCC" >&5
17100 +echo "configure:1680: checking for ld used by GCC" >&5
17101    case $host in
17102    *-*-mingw*)
17103      # gcc leaves a trailing carriage return which upsets mingw
17104 @@ -1695,10 +1706,10 @@
17105    esac
17106  elif test "$with_gnu_ld" = yes; then
17107    echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
17108 -echo "configure:1699: checking for GNU ld" >&5
17109 +echo "configure:1710: checking for GNU ld" >&5
17110  else
17111    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
17112 -echo "configure:1702: checking for non-GNU ld" >&5
17113 +echo "configure:1713: checking for non-GNU ld" >&5
17114  fi
17115  if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
17116    echo $ac_n "(cached) $ac_c" 1>&6
17117 @@ -1733,7 +1744,7 @@
17118  fi
17119  test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
17120  echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
17121 -echo "configure:1737: checking if the linker ($LD) is GNU ld" >&5
17122 +echo "configure:1748: checking if the linker ($LD) is GNU ld" >&5
17123  if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
17124    echo $ac_n "(cached) $ac_c" 1>&6
17125  else
17126 @@ -1750,7 +1761,7 @@
17127  
17128  
17129  echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
17130 -echo "configure:1754: checking for $LD option to reload object files" >&5
17131 +echo "configure:1765: checking for $LD option to reload object files" >&5
17132  if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
17133    echo $ac_n "(cached) $ac_c" 1>&6
17134  else
17135 @@ -1762,7 +1773,7 @@
17136  test -n "$reload_flag" && reload_flag=" $reload_flag"
17137  
17138  echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
17139 -echo "configure:1766: checking for BSD-compatible nm" >&5
17140 +echo "configure:1777: checking for BSD-compatible nm" >&5
17141  if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
17142    echo $ac_n "(cached) $ac_c" 1>&6
17143  else
17144 @@ -1800,7 +1811,7 @@
17145  echo "$ac_t""$NM" 1>&6
17146  
17147  echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
17148 -echo "configure:1804: checking whether ln -s works" >&5
17149 +echo "configure:1815: checking whether ln -s works" >&5
17150  if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
17151    echo $ac_n "(cached) $ac_c" 1>&6
17152  else
17153 @@ -1821,7 +1832,7 @@
17154  fi
17155  
17156  echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
17157 -echo "configure:1825: checking how to recognise dependant libraries" >&5
17158 +echo "configure:1836: checking how to recognise dependant libraries" >&5
17159  if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
17160    echo $ac_n "(cached) $ac_c" 1>&6
17161  else
17162 @@ -1994,13 +2005,13 @@
17163  deplibs_check_method=$lt_cv_deplibs_check_method
17164  
17165  echo $ac_n "checking for object suffix""... $ac_c" 1>&6
17166 -echo "configure:1998: checking for object suffix" >&5
17167 +echo "configure:2009: checking for object suffix" >&5
17168  if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
17169    echo $ac_n "(cached) $ac_c" 1>&6
17170  else
17171    rm -f conftest*
17172  echo 'int i = 1;' > conftest.$ac_ext
17173 -if { (eval echo configure:2004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17174 +if { (eval echo configure:2015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17175    for ac_file in conftest.*; do
17176      case $ac_file in
17177      *.c) ;;
17178 @@ -2024,7 +2035,7 @@
17179  file_magic*)
17180    if test "$file_magic_cmd" = '$MAGIC_CMD'; then
17181      echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
17182 -echo "configure:2028: checking for ${ac_tool_prefix}file" >&5
17183 +echo "configure:2039: checking for ${ac_tool_prefix}file" >&5
17184  if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
17185    echo $ac_n "(cached) $ac_c" 1>&6
17186  else
17187 @@ -2086,7 +2097,7 @@
17188  if test -z "$lt_cv_path_MAGIC_CMD"; then
17189    if test -n "$ac_tool_prefix"; then
17190      echo $ac_n "checking for file""... $ac_c" 1>&6
17191 -echo "configure:2090: checking for file" >&5
17192 +echo "configure:2101: checking for file" >&5
17193  if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
17194    echo $ac_n "(cached) $ac_c" 1>&6
17195  else
17196 @@ -2157,7 +2168,7 @@
17197  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
17198  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
17199  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17200 -echo "configure:2161: checking for $ac_word" >&5
17201 +echo "configure:2172: checking for $ac_word" >&5
17202  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
17203    echo $ac_n "(cached) $ac_c" 1>&6
17204  else
17205 @@ -2189,7 +2200,7 @@
17206    # Extract the first word of "ranlib", so it can be a program name with args.
17207  set dummy ranlib; ac_word=$2
17208  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17209 -echo "configure:2193: checking for $ac_word" >&5
17210 +echo "configure:2204: checking for $ac_word" >&5
17211  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
17212    echo $ac_n "(cached) $ac_c" 1>&6
17213  else
17214 @@ -2224,7 +2235,7 @@
17215  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
17216  set dummy ${ac_tool_prefix}strip; ac_word=$2
17217  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17218 -echo "configure:2228: checking for $ac_word" >&5
17219 +echo "configure:2239: checking for $ac_word" >&5
17220  if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
17221    echo $ac_n "(cached) $ac_c" 1>&6
17222  else
17223 @@ -2256,7 +2267,7 @@
17224    # Extract the first word of "strip", so it can be a program name with args.
17225  set dummy strip; ac_word=$2
17226  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
17227 -echo "configure:2260: checking for $ac_word" >&5
17228 +echo "configure:2271: checking for $ac_word" >&5
17229  if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
17230    echo $ac_n "(cached) $ac_c" 1>&6
17231  else
17232 @@ -2323,8 +2334,21 @@
17233  case $host in
17234  *-*-irix6*)
17235    # Find out which ABI we are using.
17236 -  echo '#line 2327 "configure"' > conftest.$ac_ext
17237 -  if { (eval echo configure:2328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17238 +  echo '#line 2338 "configure"' > conftest.$ac_ext
17239 +  if { (eval echo configure:2339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17240 +   if test "$lt_cv_prog_gnu_ld" = yes; then
17241 +    case `/usr/bin/file conftest.$ac_objext` in
17242 +    *32-bit*)
17243 +      LD="${LD-ld} -melf32bsmip"
17244 +      ;;
17245 +    *N32*)
17246 +      LD="${LD-ld} -melf32bmipn32"
17247 +      ;;
17248 +    *64-bit*)
17249 +      LD="${LD-ld} -melf64bmip"
17250 +      ;;
17251 +    esac
17252 +   else
17253      case `/usr/bin/file conftest.$ac_objext` in
17254      *32-bit*)
17255        LD="${LD-ld} -32"
17256 @@ -2336,6 +2360,7 @@
17257        LD="${LD-ld} -64"
17258        ;;
17259      esac
17260 +   fi
17261    fi
17262    rm -rf conftest*
17263    ;;
17264 @@ -2343,7 +2368,7 @@
17265  ia64-*-hpux*)
17266    # Find out which ABI we are using.
17267    echo 'int i;' > conftest.$ac_ext
17268 -  if { (eval echo configure:2347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17269 +  if { (eval echo configure:2372: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17270      case "`/usr/bin/file conftest.o`" in
17271      *ELF-32*)
17272        HPUX_IA64_MODE="32"
17273 @@ -2359,7 +2384,7 @@
17274  x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
17275    # Find out which ABI we are using.
17276    echo 'int i;' > conftest.$ac_ext
17277 -  if { (eval echo configure:2363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17278 +  if { (eval echo configure:2388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
17279      case "`/usr/bin/file conftest.o`" in
17280      *32-bit*)
17281        case $host in
17282 @@ -2403,7 +2428,7 @@
17283    SAVE_CFLAGS="$CFLAGS"
17284    CFLAGS="$CFLAGS -belf"
17285    echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
17286 -echo "configure:2407: checking whether the C compiler needs -belf" >&5
17287 +echo "configure:2432: checking whether the C compiler needs -belf" >&5
17288  if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
17289    echo $ac_n "(cached) $ac_c" 1>&6
17290  else
17291 @@ -2416,14 +2441,14 @@
17292  cross_compiling=$ac_cv_prog_cc_cross
17293  
17294       cat > conftest.$ac_ext <<EOF
17295 -#line 2420 "configure"
17296 +#line 2445 "configure"
17297  #include "confdefs.h"
17298  
17299  int main() {
17300  
17301  ; return 0; }
17302  EOF
17303 -if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17304 +if { (eval echo configure:2452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17305    rm -rf conftest*
17306    lt_cv_cc_needs_belf=yes
17307  else
17308 @@ -2453,7 +2478,7 @@
17309  esac
17310  
17311  echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
17312 -echo "configure:2457: checking how to run the C++ preprocessor" >&5
17313 +echo "configure:2482: checking how to run the C++ preprocessor" >&5
17314  if test -z "$CXXCPP"; then
17315  if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
17316    echo $ac_n "(cached) $ac_c" 1>&6
17317 @@ -2466,12 +2491,12 @@
17318  cross_compiling=$ac_cv_prog_cxx_cross
17319    CXXCPP="${CXX-g++} -E"
17320    cat > conftest.$ac_ext <<EOF
17321 -#line 2470 "configure"
17322 +#line 2495 "configure"
17323  #include "confdefs.h"
17324  #include <stdlib.h>
17325  EOF
17326  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
17327 -{ (eval echo configure:2475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
17328 +{ (eval echo configure:2500: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
17329  ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
17330  if test -z "$ac_err"; then
17331    :
17332 @@ -2618,7 +2643,7 @@
17333  
17334  
17335  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
17336 -echo "configure:2622: checking whether to enable maintainer-specific portions of Makefiles" >&5
17337 +echo "configure:2647: checking whether to enable maintainer-specific portions of Makefiles" >&5
17338      # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
17339  if test "${enable_maintainer_mode+set}" = set; then
17340    enableval="$enable_maintainer_mode"
17341 @@ -2651,7 +2676,7 @@
17342    
17343  
17344  echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
17345 -echo "configure:2655: checking for executable suffix" >&5
17346 +echo "configure:2680: checking for executable suffix" >&5
17347  if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
17348    echo $ac_n "(cached) $ac_c" 1>&6
17349  else
17350 @@ -2661,10 +2686,10 @@
17351    rm -f conftest*
17352    echo 'int main () { return 0; }' > conftest.$ac_ext
17353    ac_cv_exeext=
17354 -  if { (eval echo configure:2665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17355 +  if { (eval echo configure:2690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
17356      for file in conftest.*; do
17357        case $file in
17358 -      *.c | *.o | *.obj) ;;
17359 +      *.c | *.o | *.obj | *.ilk | *.pdb) ;;
17360        *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
17361        esac
17362      done
17363 @@ -2684,7 +2709,7 @@
17364  fi
17365  
17366  echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6
17367 -echo "configure:2688: checking for thread model used by GCC" >&5
17368 +echo "configure:2713: checking for thread model used by GCC" >&5
17369  THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
17370  if test -z "$THREADS"; then
17371     THREADS=no
17372 @@ -2793,22 +2818,6 @@
17373       *-*-cygwin*)
17374         THREADLIBS=
17375         ;;
17376 -     *-*-darwin*)
17377 -       cat >> confdefs.h <<\EOF
17378 -#define GC_DARWIN_THREADS 1
17379 -EOF
17380 -
17381 -       cat >> confdefs.h <<\EOF
17382 -#define THREAD_LOCAL_ALLOC 1
17383 -EOF
17384 -
17385 -       if test "${enable_parallel_mark}" = yes; then
17386 -         cat >> confdefs.h <<\EOF
17387 -#define PARALLEL_MARK 1
17388 -EOF
17389 -
17390 -       fi
17391 -       ;;
17392      esac
17393      ;;
17394   win32)
17395 @@ -2820,6 +2829,12 @@
17396  #define NO_GETENV 1
17397  EOF
17398  
17399 +    if test $enable_shared = yes; then
17400 +      cat >> confdefs.h <<\EOF
17401 +#define GC_DLL 1
17402 +EOF
17403 +
17404 +    fi
17405      ;;
17406   decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17407      { echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
17408 @@ -2830,28 +2845,8 @@
17409  esac
17410  
17411  
17412 -case "$host" in 
17413 -   powerpc-*-darwin*)
17414 -      powerpc_darwin=true
17415 -      ;;
17416 -esac
17417 -
17418 -
17419 -if test x$powerpc_darwin = xtrue; then
17420 -  POWERPC_DARWIN_TRUE=
17421 -  POWERPC_DARWIN_FALSE='#'
17422 -else
17423 -  POWERPC_DARWIN_TRUE='#'
17424 -  POWERPC_DARWIN_FALSE=
17425 -fi
17426 -
17427 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17428 -# dyld calls anyway
17429 -case "$host" in
17430 -  *-*-darwin*) ;;
17431 -  *) 
17432 -    echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
17433 -echo "configure:2855: checking for dlopen in -ldl" >&5
17434 +echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
17435 +echo "configure:2850: checking for dlopen in -ldl" >&5
17436  ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
17437  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
17438    echo $ac_n "(cached) $ac_c" 1>&6
17439 @@ -2859,7 +2854,7 @@
17440    ac_save_LIBS="$LIBS"
17441  LIBS="-ldl  $LIBS"
17442  cat > conftest.$ac_ext <<EOF
17443 -#line 2863 "configure"
17444 +#line 2858 "configure"
17445  #include "confdefs.h"
17446  /* Override any gcc2 internal prototype to avoid an error.  */
17447  /* We use char because int might match the return type of a gcc2
17448 @@ -2870,7 +2865,7 @@
17449  dlopen()
17450  ; return 0; }
17451  EOF
17452 -if { (eval echo configure:2874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17453 +if { (eval echo configure:2869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
17454    rm -rf conftest*
17455    eval "ac_cv_lib_$ac_lib_var=yes"
17456  else
17457 @@ -2890,9 +2885,6 @@
17458    echo "$ac_t""no" 1>&6
17459  fi
17460  
17461 -    ;;
17462 -esac
17463 -
17464  
17465  
17466  target_all=libgcjgc.la
17467 @@ -3108,15 +3100,17 @@
17468  fi
17469  
17470  
17471 -
17472 -
17473 -if test -z "$with_cross_host"; then
17474 -  USE_LIBDIR_TRUE=
17475 -  USE_LIBDIR_FALSE='#'
17476 +if test -n "$with_cross_host" &&
17477 +   test x"$with_cross_host" != x"no"; then
17478 +  toolexecdir='$(exec_prefix)/$(target_alias)'
17479 +  toolexeclibdir='$(toolexecdir)/lib'
17480  else
17481 -  USE_LIBDIR_TRUE='#'
17482 -  USE_LIBDIR_FALSE=
17483 +  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
17484 +  toolexeclibdir='$(libdir)'
17485  fi
17486 +toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
17487 +
17488 +
17489  
17490  if test "${multilib}" = "yes"; then
17491    multilib_arg="--enable-multilib"
17492 @@ -3313,16 +3307,14 @@
17493  s%@LIBTOOL@%$LIBTOOL%g
17494  s%@CXXCPP@%$CXXCPP%g
17495  s%@THREADLIBS@%$THREADLIBS%g
17496 -s%@POWERPC_DARWIN_TRUE@%$POWERPC_DARWIN_TRUE%g
17497 -s%@POWERPC_DARWIN_FALSE@%$POWERPC_DARWIN_FALSE%g
17498  s%@EXTRA_TEST_LIBS@%$EXTRA_TEST_LIBS%g
17499  s%@target_all@%$target_all%g
17500  s%@INCLUDES@%$INCLUDES%g
17501  s%@CXXINCLUDES@%$CXXINCLUDES%g
17502  s%@addobjs@%$addobjs%g
17503  s%@MY_CFLAGS@%$MY_CFLAGS%g
17504 -s%@USE_LIBDIR_TRUE@%$USE_LIBDIR_TRUE%g
17505 -s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
17506 +s%@toolexecdir@%$toolexecdir%g
17507 +s%@toolexeclibdir@%$toolexeclibdir%g
17508  
17509  CEOF
17510  EOF
17511 @@ -3331,7 +3323,7 @@
17512  
17513  # Split the substitutions into bite-sized pieces for seds with
17514  # small command number limits, like on Digital OSF/1 and HP-UX.
17515 -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
17516 +ac_max_sed_cmds=60 # Maximum number of lines to put in a sed script.
17517  ac_file=1 # Number of current file.
17518  ac_beg=1 # First line for current file.
17519  ac_end=$ac_max_sed_cmds # Line after last line for current file.
17520 @@ -3433,6 +3425,7 @@
17521  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17522  gc_basedir=${gc_basedir}
17523  CC="${CC}"
17524 +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
17525  DEFS="$DEFS"
17526  
17527  EOF
17528 diff -Nur ../boehm-gc/configure.in boehm-gc/configure.in
17529 --- ../boehm-gc/configure.in    Mon May 26 13:33:22 2003
17530 +++ boehm-gc/configure.in       Mon Apr 28 13:55:07 2003
17531 @@ -1,4 +1,4 @@
17532 -# Copyright (c) 1999, 2000, 2001, 2002 by Red Hat, Inc. All rights reserved.
17533 +# Copyright (c) 1999, 2000, 2001, 2002, 2003 by Red Hat, Inc. All rights reserved.
17534  # 
17535  # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
17536  # OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
17537 @@ -111,18 +111,14 @@
17538       *-*-cygwin*)
17539         THREADLIBS=
17540         ;;
17541 -     *-*-darwin*)
17542 -       AC_DEFINE(GC_DARWIN_THREADS)
17543 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17544 -       if test "${enable_parallel_mark}" = yes; then
17545 -         AC_DEFINE(PARALLEL_MARK)
17546 -       fi
17547 -       ;;
17548      esac
17549      ;;
17550   win32)
17551      AC_DEFINE(GC_WIN32_THREADS)
17552      AC_DEFINE(NO_GETENV)
17553 +    if test $enable_shared = yes; then
17554 +      AC_DEFINE(GC_DLL)
17555 +    fi
17556      ;;
17557   decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17558      AC_MSG_ERROR(thread package $THREADS not yet supported)
17559 @@ -133,22 +129,7 @@
17560  esac
17561  AC_SUBST(THREADLIBS)
17562  
17563 -case "$host" in 
17564 -   powerpc-*-darwin*)
17565 -      powerpc_darwin=true
17566 -      ;;
17567 -esac
17568 -AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue)
17569 -
17570 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17571 -# dyld calls anyway
17572 -case "$host" in
17573 -  *-*-darwin*) ;;
17574 -  *) 
17575 -    AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17576 -    ;;
17577 -esac
17578 -
17579 +AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17580  AC_SUBST(EXTRA_TEST_LIBS)
17581  
17582  target_all=libgcjgc.la
17583 @@ -289,7 +270,17 @@
17584      esac ]
17585    fi)
17586  
17587 -AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
17588 +if test -n "$with_cross_host" &&
17589 +   test x"$with_cross_host" != x"no"; then
17590 +  toolexecdir='$(exec_prefix)/$(target_alias)'
17591 +  toolexeclibdir='$(toolexecdir)/lib'
17592 +else
17593 +  toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
17594 +  toolexeclibdir='$(libdir)'
17595 +fi
17596 +toolexeclibdir=$toolexeclibdir/`$CC -print-multi-os-directory`
17597 +AC_SUBST(toolexecdir)
17598 +AC_SUBST(toolexeclibdir)
17599  
17600  if test "${multilib}" = "yes"; then
17601    multilib_arg="--enable-multilib"
17602 @@ -313,5 +304,6 @@
17603  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17604  gc_basedir=${gc_basedir}
17605  CC="${CC}"
17606 +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
17607  DEFS="$DEFS"
17608  )
17609 diff -Nur ../boehm-gc/configure.in~ boehm-gc/configure.in~
17610 --- ../boehm-gc/configure.in~   Mon May 26 13:33:22 2003
17611 +++ boehm-gc/configure.in~      Wed Dec 31 16:00:00 1969
17612 @@ -1,317 +0,0 @@
17613 -# Copyright (c) 1999, 2000, 2001, 2002 by Red Hat, Inc. All rights reserved.
17614 -# 
17615 -# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
17616 -# OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
17617 -# 
17618 -# Permission is hereby granted to use or copy this program
17619 -# for any purpose,  provided the above notices are retained on all copies.
17620 -# Permission to modify the code and to distribute modified code is granted,
17621 -# provided the above notices are retained, and a notice that the code was
17622 -# modified is included with the above copyright notice.
17623 -#
17624 -# Original author: Tom Tromey
17625 -
17626 -dnl Process this file with autoconf to produce configure.
17627 -
17628 -AC_INIT(gcj_mlc.c)
17629 -
17630 -# This works around the fact that libtool configuration may change LD
17631 -# for this particular configuration, but some shells, instead of
17632 -# keeping the changes in LD private, export them just because LD is
17633 -# exported.
17634 -ORIGINAL_LD_FOR_MULTILIBS=$LD
17635 -
17636 -dnl Can't be done in GC_CONFIGURE because that confuses automake. 
17637 -AC_CONFIG_AUX_DIR(.)
17638 -
17639 -GC_CONFIGURE(.)
17640 -
17641 -AM_PROG_LIBTOOL
17642 -
17643 -dnl We use these options to decide which functions to include.
17644 -AC_ARG_WITH(target-subdir,
17645 -[  --with-target-subdir=SUBDIR
17646 -                          configuring with a cross compiler])
17647 -AC_ARG_WITH(cross-host,
17648 -[  --with-cross-host=HOST  configuring with a cross compiler])
17649 -
17650 -AM_MAINTAINER_MODE
17651 -# automake wants to see AC_EXEEXT.  But we don't need it.  And having
17652 -# it is actually a problem, because the compiler we're passed can't
17653 -# necessarily do a full link.  So we fool automake here.
17654 -if false; then
17655 -  # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
17656 -  # to nothing, so nothing would remain between `then' and `fi' if it
17657 -  # were not for the `:' below.
17658 -  :
17659 -  AC_EXEEXT
17660 -fi
17661 -
17662 -AC_MSG_CHECKING([for thread model used by GCC])
17663 -THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
17664 -if test -z "$THREADS"; then
17665 -   THREADS=no
17666 -fi
17667 -AC_MSG_RESULT([$THREADS])
17668 -
17669 -AC_ARG_ENABLE(parallel-mark,
17670 -[  --enable-parallel-mark      parallelize marking and free list construction],
17671 -   [case "$THREADS" in
17672 -      no | none | single)
17673 -       AC_MSG_ERROR([Parallel mark requires --enable-threads=x spec])
17674 -       ;;
17675 -    esac]
17676 -)
17677 -
17678 -INCLUDES=-I${srcdir}/include
17679 -THREADLIBS=
17680 -case "$THREADS" in
17681 - no | none | single)
17682 -    THREADS=none
17683 -    ;;
17684 - posix | pthreads)
17685 -    THREADS=posix
17686 -    THREADLIBS=-lpthread
17687 -    case "$host" in
17688 -     x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
17689 -       AC_DEFINE(GC_LINUX_THREADS)
17690 -       AC_DEFINE(_REENTRANT)
17691 -        if test "${enable_parallel_mark}"; then
17692 -         AC_DEFINE(PARALLEL_MARK)
17693 -       fi
17694 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17695 -       ;;
17696 -     *-*-linux*)
17697 -       AC_DEFINE(GC_LINUX_THREADS)
17698 -       AC_DEFINE(_REENTRANT)
17699 -       ;;
17700 -     *-*-hpux*)
17701 -       AC_MSG_WARN("Only HP/UX 11 threads are supported.")
17702 -       AC_DEFINE(GC_HPUX_THREADS)
17703 -       AC_DEFINE(_POSIX_C_SOURCE,199506L)
17704 -       if test "${enable_parallel_mark}" = yes; then
17705 -         AC_DEFINE(PARALLEL_MARK)
17706 -       fi
17707 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17708 -       THREADLIBS="-lpthread -lrt"
17709 -       ;;
17710 -     *-*-freebsd*)
17711 -       AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.")
17712 -       AC_DEFINE(GC_FREEBSD_THREADS)
17713 -       INCLUDES="$INCLUDES -pthread"
17714 -       THREADLIBS=-pthread
17715 -       ;;
17716 -     *-*-solaris*)
17717 -       AC_DEFINE(GC_SOLARIS_THREADS)
17718 -       AC_DEFINE(GC_SOLARIS_PTHREADS)
17719 -       ;;
17720 -     *-*-irix*)
17721 -       AC_DEFINE(GC_IRIX_THREADS)
17722 -       ;;
17723 -     *-*-cygwin*)
17724 -       THREADLIBS=
17725 -       ;;
17726 -    esac
17727 -    ;;
17728 -     *-*-darwin*)
17729 -       AC_DEFINE(GC_DARWIN_THREADS)
17730 -       AC_DEFINE(THREAD_LOCAL_ALLOC)
17731 -       if test "${enable_parallel_mark}" = yes; then
17732 -         AC_DEFINE(PARALLEL_MARK)
17733 -       fi
17734 -       ;;
17735 - win32)
17736 -    AC_DEFINE(GC_WIN32_THREADS)
17737 -    AC_DEFINE(NO_GETENV)
17738 -    ;;
17739 - decosf1 | irix | mach | os2 | solaris | dce | vxworks)
17740 -    AC_MSG_ERROR(thread package $THREADS not yet supported)
17741 -    ;;
17742 - *)
17743 -    AC_MSG_ERROR($THREADS is an unknown thread package)
17744 -    ;;
17745 -esac
17746 -AC_SUBST(THREADLIBS)
17747 -
17748 -case "$host" in 
17749 -   powerpc-*-darwin*)
17750 -      powerpc_darwin=true
17751 -      ;;
17752 -esac
17753 -AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue)
17754 -
17755 -# We never want libdl on darwin. It is a fake libdl that just ends up making
17756 -# dyld calls anyway
17757 -case "$host" in
17758 -  *-*-darwin*) ;;
17759 -  *) 
17760 -    AC_CHECK_LIB(dl, dlopen, EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -ldl")
17761 -    ;;
17762 -esac
17763 -
17764 -AC_SUBST(EXTRA_TEST_LIBS)
17765 -
17766 -target_all=libgcjgc.la
17767 -AC_SUBST(target_all)
17768 -AC_SUBST(target_alias)
17769 -
17770 -dnl If the target is an eCos system, use the appropriate eCos
17771 -dnl I/O routines.
17772 -dnl FIXME: this should not be a local option but a global target
17773 -dnl system; at present there is no eCos target.
17774 -TARGET_ECOS="no"
17775 -AC_ARG_WITH(ecos,
17776 -[  --with-ecos             enable runtime eCos target support],
17777 -TARGET_ECOS="$with_ecos"
17778 -)
17779 -
17780 -addobjs=
17781 -CXXINCLUDES=
17782 -case "$TARGET_ECOS" in
17783 -   no)
17784 -      ;;
17785 -   *)
17786 -      AC_DEFINE(ECOS)
17787 -      CXXINCLUDES="-I${TARGET_ECOS}/include"
17788 -      addobjs="$addobjs ecos.lo"
17789 -      ;;
17790 -esac
17791 -AC_SUBST(CXX)
17792 -
17793 -AC_SUBST(INCLUDES)
17794 -AC_SUBST(CXXINCLUDES)
17795 -
17796 -machdep=
17797 -case "$host" in
17798 - alpha*-*-openbsd*)
17799 -    machdep="alpha_mach_dep.lo"
17800 -    if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then
17801 -       AC_MSG_WARN(OpenBSD/Alpha without dlopen(). Shared library support is disabled)
17802 -       AM_DISABLE_SHARED
17803 -    fi
17804 -    ;;
17805 - alpha*-*-*)
17806 -    machdep="alpha_mach_dep.lo"
17807 -    ;;
17808 - i?86-*-solaris2.[[89]]*)
17809 -    AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED)
17810 -    ;;
17811 - mipstx39-*-elf*)
17812 -    machdep="mips_ultrix_mach_dep.lo"
17813 -    AC_DEFINE(STACKBASE, __stackbase)
17814 -    AC_DEFINE(DATASTART_IS_ETEXT)
17815 -    ;;
17816 - mips-dec-ultrix*)
17817 -    machdep="mips_ultrix_mach-dep.lo"
17818 -    ;;
17819 - mips*-*-linux*)
17820 -    ;;
17821 - mips-*-*)
17822 -    machdep="mips_sgi_mach_dep.lo"
17823 -    AC_DEFINE(NO_EXECUTE_PERMISSION)
17824 -    ;;
17825 - sparc-sun-solaris2.3*)
17826 -    machdep="sparc_mach_dep.lo"
17827 -    AC_DEFINE(SUNOS53_SHARED_LIB)
17828 -    ;;
17829 - sparc-sun-solaris2.*)
17830 -    machdep="sparc_mach_dep.lo"
17831 -    ;;
17832 - ia64-*-*)
17833 -    machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
17834 -    ;;
17835 -esac
17836 -if test x"$machdep" = x; then
17837 -   machdep="mach_dep.lo"
17838 -fi
17839 -addobjs="$addobjs $machdep"
17840 -AC_SUBST(addobjs)
17841 -
17842 -dnl As of 4.13a2, the collector will not properly work on Solaris when
17843 -dnl built with gcc and -O.  So we remove -O in the appropriate case.
17844 -case "$host" in
17845 - sparc-sun-solaris2*)
17846 -    if test "$GCC" = yes; then
17847 -       new_CFLAGS=
17848 -       for i in $CFLAGS; do
17849 -         case "$i" in
17850 -          -O*)
17851 -             ;;
17852 -          *)
17853 -             new_CFLAGS="$new_CFLAGS $i"
17854 -             ;;
17855 -         esac
17856 -       done
17857 -       CFLAGS="$new_CFLAGS"
17858 -    fi
17859 -    ;;
17860 -esac
17861 -
17862 -dnl We need to override the top-level CFLAGS.  This is how we do it.
17863 -MY_CFLAGS="$CFLAGS"
17864 -AC_SUBST(MY_CFLAGS)
17865 -
17866 -dnl Include defines that have become de facto standard.
17867 -dnl ALL_INTERIOR_POINTERS can be overridden in startup code.
17868 -AC_DEFINE(SILENT)
17869 -AC_DEFINE(NO_SIGNALS)
17870 -AC_DEFINE(NO_EXECUTE_PERMISSION)
17871 -AC_DEFINE(ALL_INTERIOR_POINTERS)
17872 -
17873 -dnl By default, make the library as general as possible.
17874 -AC_DEFINE(JAVA_FINALIZATION)
17875 -AC_DEFINE(GC_GCJ_SUPPORT)
17876 -AC_DEFINE(ATOMIC_UNCOLLECTABLE)
17877 -
17878 -dnl This is something of a hack.  When cross-compiling we turn off
17879 -dnl some functionality. These is only correct when targetting an
17880 -dnl embedded system.  FIXME.
17881 -if test -n "${with_cross_host}"; then
17882 -   AC_DEFINE(NO_SIGSET)
17883 -   AC_DEFINE(NO_DEBUGGING)
17884 -fi
17885 -
17886 -AC_ARG_ENABLE(full-debug,
17887 -[  --enable-full-debug include full support for pointer backtracing etc.],
17888 -[ if test "$enable_full_debug" = "yes"; then
17889 -    AC_MSG_WARN("Must define GC_DEBUG and use debug alloc. in clients.")
17890 -    AC_DEFINE(KEEP_BACK_PTRS)
17891 -    AC_DEFINE(DBG_HDRS_ALL)
17892 -    case $host in
17893 -      ia64-*-linux* )
17894 -       AC_DEFINE(MAKE_BACK_GRAPH)
17895 -      ;;
17896 -      x86-*-linux* | i586-*-linux* | i686-*-linux* | x86_64-*-linux* )
17897 -       AC_DEFINE(MAKE_BACK_GRAPH)
17898 -       AC_MSG_WARN("Client must not use -fomit-frame-pointer.")
17899 -       AC_DEFINE(SAVE_CALL_COUNT, 8)
17900 -      ;;
17901 -    esac ]
17902 -  fi)
17903 -
17904 -AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
17905 -
17906 -if test "${multilib}" = "yes"; then
17907 -  multilib_arg="--enable-multilib"
17908 -else
17909 -  multilib_arg=
17910 -fi
17911 -
17912 -AC_OUTPUT(Makefile include/Makefile, [
17913 -dnl Put all the -D options in a file.
17914 -echo "$DEFS" > boehm-cflags
17915 -
17916 -if test -n "$CONFIG_FILES"; then
17917 -  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
17918 -  ac_file=Makefile . ${gc_basedir}/../config-ml.in
17919 -fi],
17920 -srcdir=${srcdir}
17921 -host=${host}
17922 -target=${target}
17923 -with_multisubdir=${with_multisubdir}
17924 -ac_configure_args="${multilib_arg} ${ac_configure_args}"
17925 -CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
17926 -gc_basedir=${gc_basedir}
17927 -CC="${CC}"
17928 -DEFS="$DEFS"
17929 -)
17930 diff -Nur ../boehm-gc/cord/CVS/Entries boehm-gc/cord/CVS/Entries
17931 --- ../boehm-gc/cord/CVS/Entries        Mon May 26 12:46:21 2003
17932 +++ boehm-gc/cord/CVS/Entries   Wed Dec 31 16:00:00 1969
17933 @@ -1,11 +0,0 @@
17934 -/cordbscs.c/1.2/Fri Sep 14 00:43:44 2001//
17935 -/cordprnt.c/1.2/Fri Sep 14 00:43:45 2001//
17936 -/cordtest.c/1.2/Fri Sep 14 00:43:45 2001//
17937 -/cordxtra.c/1.2/Fri Sep 14 00:43:45 2001//
17938 -/de.c/1.2/Fri Sep 14 00:43:45 2001//
17939 -/de_cmds.h/1.2/Fri Sep 14 00:43:45 2001//
17940 -/de_win.ICO/1.2/Fri Sep 14 00:43:45 2001/-kb/
17941 -/de_win.RC/1.2/Fri Sep 14 00:43:45 2001//
17942 -/de_win.c/1.2/Fri Sep 14 00:43:45 2001//
17943 -/de_win.h/1.2/Fri Sep 14 00:43:46 2001//
17944 -D/private////
17945 diff -Nur ../boehm-gc/cord/CVS/Repository boehm-gc/cord/CVS/Repository
17946 --- ../boehm-gc/cord/CVS/Repository     Sun May 25 12:49:07 2003
17947 +++ boehm-gc/cord/CVS/Repository        Wed Dec 31 16:00:00 1969
17948 @@ -1 +0,0 @@
17949 -/cvs/root/gcc3/gcc3/boehm-gc/cord
17950 diff -Nur ../boehm-gc/cord/CVS/Root boehm-gc/cord/CVS/Root
17951 --- ../boehm-gc/cord/CVS/Root   Sun May 25 12:49:07 2003
17952 +++ boehm-gc/cord/CVS/Root      Wed Dec 31 16:00:00 1969
17953 @@ -1 +0,0 @@
17954 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
17955 diff -Nur ../boehm-gc/cord/private/CVS/Entries boehm-gc/cord/private/CVS/Entries
17956 --- ../boehm-gc/cord/private/CVS/Entries        Sun May 25 12:49:08 2003
17957 +++ boehm-gc/cord/private/CVS/Entries   Wed Dec 31 16:00:00 1969
17958 @@ -1 +0,0 @@
17959 -D
17960 diff -Nur ../boehm-gc/cord/private/CVS/Repository boehm-gc/cord/private/CVS/Repository
17961 --- ../boehm-gc/cord/private/CVS/Repository     Sun May 25 12:49:08 2003
17962 +++ boehm-gc/cord/private/CVS/Repository        Wed Dec 31 16:00:00 1969
17963 @@ -1 +0,0 @@
17964 -/cvs/root/gcc3/gcc3/boehm-gc/cord/private
17965 diff -Nur ../boehm-gc/cord/private/CVS/Root boehm-gc/cord/private/CVS/Root
17966 --- ../boehm-gc/cord/private/CVS/Root   Sun May 25 12:49:08 2003
17967 +++ boehm-gc/cord/private/CVS/Root      Wed Dec 31 16:00:00 1969
17968 @@ -1 +0,0 @@
17969 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
17970 diff -Nur ../boehm-gc/darwin_stop_world.c boehm-gc/darwin_stop_world.c
17971 --- ../boehm-gc/darwin_stop_world.c     Sun Jun  1 14:17:58 2003
17972 +++ boehm-gc/darwin_stop_world.c        Wed Dec 31 16:00:00 1969
17973 @@ -1,200 +0,0 @@
17974 -#include "private/pthread_support.h"
17975 -
17976 -# if defined(GC_DARWIN_THREADS)
17977 -
17978 -#define DEBUG_THREADS 0
17979 -
17980 -/* From "Inside Mac OS X - Mach-O Runtime Architecture" published by Apple
17981 -   Page 49:
17982 -   "The space beneath the stack pointer, where a new stack frame would normally
17983 -   be allocated, is called the red zone. This area as shown in Figure 3-2 may
17984 -   be used for any purpose as long as a new stack frame does not need to be
17985 -   added to the stack."
17986 -   
17987 -   Page 50: "If a leaf procedure's red zone usage would exceed 224 bytes, then
17988 -   it must set up a stack frame just like routines that call other routines."
17989 -*/
17990 -#define PPC_RED_ZONE_SIZE 224
17991 -
17992 -void GC_push_all_stacks() {
17993 -    int i;
17994 -    kern_return_t r;
17995 -    GC_thread p;
17996 -    pthread_t me;
17997 -    ptr_t lo, hi;
17998 -#      if defined(POWERPC)
17999 -        ppc_thread_state_t state;
18000 -#      else
18001 -#              error FIXME for non-ppc OS X
18002 -#      endif
18003 -    mach_msg_type_number_t thread_state_count = MACHINE_THREAD_STATE_COUNT;
18004 -    
18005 -    me = pthread_self();
18006 -    if (!GC_thr_initialized) GC_thr_init();
18007 -    
18008 -    for(i=0;i<THREAD_TABLE_SZ;i++) {
18009 -        for(p=GC_threads[i];p!=0;p=p->next) {
18010 -            if(p -> flags & FINISHED) continue;
18011 -            if(pthread_equal(p->id,me)) {
18012 -                lo = GC_approx_sp();
18013 -            } else {
18014 -                /* Get the thread state (registers, etc) */
18015 -                r = thread_get_state(
18016 -                    p->stop_info.mach_thread,
18017 -                    MACHINE_THREAD_STATE,
18018 -                    (natural_t*)&state,
18019 -                    &thread_state_count);
18020 -                if(r != KERN_SUCCESS) ABORT("thread_get_state failed");
18021 -    
18022 -                #ifdef POWERPC
18023 -                    lo = (void*)(state.r1 - PPC_RED_ZONE_SIZE);
18024 -                    
18025 -                    GC_push_one(state.r0); 
18026 -                    GC_push_one(state.r2); 
18027 -                    GC_push_one(state.r3); 
18028 -                    GC_push_one(state.r4); 
18029 -                    GC_push_one(state.r5); 
18030 -                    GC_push_one(state.r6); 
18031 -                    GC_push_one(state.r7); 
18032 -                    GC_push_one(state.r8); 
18033 -                    GC_push_one(state.r9); 
18034 -                    GC_push_one(state.r10); 
18035 -                    GC_push_one(state.r11); 
18036 -                    GC_push_one(state.r12); 
18037 -                    GC_push_one(state.r13); 
18038 -                    GC_push_one(state.r14); 
18039 -                    GC_push_one(state.r15); 
18040 -                    GC_push_one(state.r16); 
18041 -                    GC_push_one(state.r17); 
18042 -                    GC_push_one(state.r18); 
18043 -                    GC_push_one(state.r19); 
18044 -                    GC_push_one(state.r20); 
18045 -                    GC_push_one(state.r21); 
18046 -                    GC_push_one(state.r22); 
18047 -                    GC_push_one(state.r23); 
18048 -                    GC_push_one(state.r24); 
18049 -                    GC_push_one(state.r25); 
18050 -                    GC_push_one(state.r26); 
18051 -                    GC_push_one(state.r27); 
18052 -                    GC_push_one(state.r28); 
18053 -                    GC_push_one(state.r29); 
18054 -                    GC_push_one(state.r30); 
18055 -                    GC_push_one(state.r31);
18056 -                #else
18057 -                #      error FIXME for non-PPC darwin
18058 -                #endif /* !POWERPC */
18059 -            } /* p != me */
18060 -            if(p->flags & MAIN_THREAD)
18061 -                hi = GC_stackbottom;
18062 -            else
18063 -                hi = p->stack_end;
18064 -            #if DEBUG_THREADS
18065 -                GC_printf3("Darwin: Stack for thread 0x%lx = [%lx,%lx)\n",
18066 -                    (unsigned long) p -> id,
18067 -                    (unsigned long) lo,
18068 -                    (unsigned long) hi
18069 -                );
18070 -            #endif
18071 -            GC_push_all_stack(lo,hi);
18072 -        } /* for(p=GC_threads[i]...) */
18073 -    } /* for(i=0;i<THREAD_TABLE_SZ...) */
18074 -}
18075 -
18076 -/* Caller holds allocation lock.       */
18077 -void GC_stop_world()
18078 -{
18079 -    int i;
18080 -    GC_thread p;
18081 -    pthread_t my_thread = pthread_self();
18082 -    kern_return_t kern_result;
18083 -    
18084 -    #if DEBUG_THREADS
18085 -    GC_printf1("Stopping the world from 0x%lx\n", pthread_self());
18086 -    #endif
18087 -       
18088 -    /* Make sure all free list construction has stopped before we start. */
18089 -    /* No new construction can start, since free list construction is  */
18090 -    /* required to acquire and release the GC lock before it starts,   */
18091 -    /* and we have the lock.                                           */
18092 -#   ifdef PARALLEL_MARK
18093 -      GC_acquire_mark_lock();
18094 -      GC_ASSERT(GC_fl_builder_count == 0);
18095 -      /* We should have previously waited for it to become zero. */
18096 -#   endif /* PARALLEL_MARK */
18097 -
18098 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
18099 -        for (p = GC_threads[i]; p != 0; p = p -> next) {
18100 -            if (p -> id == my_thread) continue;
18101 -            if (p -> flags & FINISHED) continue;
18102 -            if (p -> thread_blocked) /* Will wait */ continue;
18103 -            
18104 -            #if DEBUG_THREADS
18105 -            GC_printf1("Suspending thread 0x%lx\n", p -> id);
18106 -            #endif
18107 -            
18108 -            /* Suspend the thread */
18109 -            kern_result = thread_suspend(p->stop_info.mach_thread);
18110 -            if(kern_result != KERN_SUCCESS) ABORT("thread_suspend failed");            
18111 -        }
18112 -    }
18113 -    
18114 -#   ifdef MPROTECT_VDB
18115 -    if(GC_incremental) {
18116 -        extern void GC_mprotect_stop();
18117 -        GC_mprotect_stop();
18118 -    }
18119 -#   endif
18120 -    
18121 -#   ifdef PARALLEL_MARK
18122 -      GC_release_mark_lock();
18123 -#   endif
18124 -    #if DEBUG_THREADS
18125 -      GC_printf1("World stopped from 0x%lx\n", pthread_self());
18126 -    #endif
18127 -}
18128 -
18129 -/* Caller holds allocation lock, and has held it continuously since    */
18130 -/* the world stopped.                                                  */
18131 -void GC_start_world()
18132 -{
18133 -    pthread_t my_thread = pthread_self();
18134 -    int i;
18135 -    GC_thread p;
18136 -    kern_return_t kern_result;
18137 -
18138 -#   if DEBUG_THREADS
18139 -      GC_printf0("World starting\n");
18140 -#   endif
18141 -
18142 -#   ifdef MPROTECT_VDB
18143 -    if(GC_incremental) {
18144 -        extern void GC_mprotect_resume();
18145 -        GC_mprotect_resume();
18146 -    }
18147 -#   endif
18148 -
18149 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
18150 -        for (p = GC_threads[i]; p != 0; p = p -> next) {
18151 -            if (p -> id == my_thread) continue;
18152 -            if (p -> flags & FINISHED) continue;
18153 -            if (p -> thread_blocked) continue;
18154 -    
18155 -            #if DEBUG_THREADS
18156 -            GC_printf1("Resuming 0x%lx\n", p -> id);
18157 -            #endif
18158 -            
18159 -            /* Resume the thread */
18160 -            kern_result = thread_resume(p->stop_info.mach_thread);
18161 -            if(kern_result != KERN_SUCCESS) ABORT("thread_resume failed");
18162 -        }
18163 -    }
18164 -    #if DEBUG_THREADS
18165 -      GC_printf0("World started\n");
18166 -    #endif
18167 -}
18168 -
18169 -void GC_stop_init() {
18170 -
18171 -}
18172 -
18173 -#endif
18174 diff -Nur ../boehm-gc/dbg_mlc.c boehm-gc/dbg_mlc.c
18175 --- ../boehm-gc/dbg_mlc.c       Mon May 26 12:48:52 2003
18176 +++ boehm-gc/dbg_mlc.c  Tue Feb 12 21:38:39 2002
18177 @@ -60,7 +60,7 @@
18178  # include <stdlib.h>
18179  
18180  # if defined(LINUX) || defined(SUNOS4) || defined(SUNOS5) \
18181 -     || defined(HPUX) || defined(IRIX5) || defined(OSF1)
18182 +     || defined(HPUX) || defined(IRIX) || defined(OSF1)
18183  #   define RANDOM() random()
18184  # else
18185  #   define RANDOM() (long)rand()
18186 @@ -228,8 +228,6 @@
18187      
18188  #endif /* KEEP_BACK_PTRS */
18189  
18190 -# define CROSSES_HBLK(p, sz) \
18191 -       (((word)(p + sizeof(oh) + sz - 1) ^ (word)p) >= HBLKSIZE)
18192  /* Store debugging info into p.  Return displaced pointer. */
18193  /* Assumes we don't hold allocation lock.                 */
18194  ptr_t GC_store_debug_info(p, sz, string, integer)
18195 @@ -245,8 +243,6 @@
18196      /* But that's expensive.  And this way things should only appear   */
18197      /* inconsistent while we're in the handler.                                */
18198      LOCK();
18199 -    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
18200 -    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
18201  #   ifdef KEEP_BACK_PTRS
18202        ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
18203  #   endif
18204 @@ -279,8 +275,6 @@
18205      /* There is some argument that we should disable signals here.     */
18206      /* But that's expensive.  And this way things should only appear   */
18207      /* inconsistent while we're in the handler.                                */
18208 -    GC_ASSERT(GC_size(p) >= sizeof(oh) + sz);
18209 -    GC_ASSERT(!(SMALL_OBJ(sz) && CROSSES_HBLK(p, sz)));
18210  #   ifdef KEEP_BACK_PTRS
18211        ((oh *)p) -> oh_back_ptr = HIDE_BACK_PTR(NOT_MARKED);
18212  #   endif
18213 @@ -330,11 +324,10 @@
18214  {
18215      register oh * ohdr = (oh *)GC_base(p);
18216      
18217 -    GC_ASSERT(!I_HOLD_LOCK());
18218      GC_err_printf1("0x%lx (", ((unsigned long)ohdr + sizeof(oh)));
18219      GC_err_puts(ohdr -> oh_string);
18220  #   ifdef SHORT_DBG_HDRS
18221 -      GC_err_printf1(":%ld)\n", (unsigned long)(ohdr -> oh_int));
18222 +      GC_err_printf1(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int));
18223  #   else
18224        GC_err_printf2(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int),
18225                                         (unsigned long)(ohdr -> oh_sz));
18226 @@ -349,7 +342,6 @@
18227      ptr_t p;
18228  # endif
18229  {
18230 -    GC_ASSERT(!I_HOLD_LOCK());
18231      if (GC_HAS_DEBUG_INFO(p)) {
18232         GC_print_obj(p);
18233      } else {
18234 @@ -363,7 +355,6 @@
18235  {
18236      register oh * ohdr = (oh *)GC_base(p);
18237      
18238 -    GC_ASSERT(!I_HOLD_LOCK());
18239      GC_err_printf2("0x%lx in object at 0x%lx(", (unsigned long)clobbered_addr,
18240                                                 (unsigned long)p);
18241      if (clobbered_addr <= (ptr_t)(&(ohdr -> oh_sz))
18242 @@ -385,18 +376,14 @@
18243  
18244  void GC_check_heap_proc GC_PROTO((void));
18245  
18246 -void GC_print_all_smashed_proc GC_PROTO((void));
18247 -
18248  void GC_do_nothing() {}
18249  
18250  void GC_start_debugging()
18251  {
18252  #   ifndef SHORT_DBG_HDRS
18253        GC_check_heap = GC_check_heap_proc;
18254 -      GC_print_all_smashed = GC_print_all_smashed_proc;
18255  #   else
18256        GC_check_heap = GC_do_nothing;
18257 -      GC_print_all_smashed = GC_do_nothing;
18258  #   endif
18259      GC_print_heap_obj = GC_debug_print_heap_obj_proc;
18260      GC_debugging_started = TRUE;
18261 @@ -442,62 +429,6 @@
18262      return (GC_store_debug_info(result, (word)lb, s, (word)i));
18263  }
18264  
18265 -# ifdef __STDC__
18266 -    GC_PTR GC_debug_malloc_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
18267 -# else
18268 -    GC_PTR GC_debug_malloc_ignore_off_page(lb, s, i)
18269 -    size_t lb;
18270 -    char * s;
18271 -    int i;
18272 -#   ifdef GC_ADD_CALLER
18273 -       --> GC_ADD_CALLER not implemented for K&R C
18274 -#   endif
18275 -# endif
18276 -{
18277 -    GC_PTR result = GC_malloc_ignore_off_page(lb + DEBUG_BYTES);
18278 -    
18279 -    if (result == 0) {
18280 -        GC_err_printf1("GC_debug_malloc_ignore_off_page(%ld) returning NIL (",
18281 -                      (unsigned long) lb);
18282 -        GC_err_puts(s);
18283 -        GC_err_printf1(":%ld)\n", (unsigned long)i);
18284 -        return(0);
18285 -    }
18286 -    if (!GC_debugging_started) {
18287 -       GC_start_debugging();
18288 -    }
18289 -    ADD_CALL_CHAIN(result, ra);
18290 -    return (GC_store_debug_info(result, (word)lb, s, (word)i));
18291 -}
18292 -
18293 -# ifdef __STDC__
18294 -    GC_PTR GC_debug_malloc_atomic_ignore_off_page(size_t lb, GC_EXTRA_PARAMS)
18295 -# else
18296 -    GC_PTR GC_debug_malloc_atomic_ignore_off_page(lb, s, i)
18297 -    size_t lb;
18298 -    char * s;
18299 -    int i;
18300 -#   ifdef GC_ADD_CALLER
18301 -       --> GC_ADD_CALLER not implemented for K&R C
18302 -#   endif
18303 -# endif
18304 -{
18305 -    GC_PTR result = GC_malloc_atomic_ignore_off_page(lb + DEBUG_BYTES);
18306 -    
18307 -    if (result == 0) {
18308 -        GC_err_printf1("GC_debug_malloc_atomic_ignore_off_page(%ld)"
18309 -                      " returning NIL (", (unsigned long) lb);
18310 -        GC_err_puts(s);
18311 -        GC_err_printf1(":%ld)\n", (unsigned long)i);
18312 -        return(0);
18313 -    }
18314 -    if (!GC_debugging_started) {
18315 -       GC_start_debugging();
18316 -    }
18317 -    ADD_CALL_CHAIN(result, ra);
18318 -    return (GC_store_debug_info(result, (word)lb, s, (word)i));
18319 -}
18320 -
18321  # ifdef DBG_HDRS_ALL
18322  /* 
18323   * An allocation function for internal use.
18324 @@ -516,7 +447,7 @@
18325                        (unsigned long) lb);
18326          return(0);
18327      }
18328 -    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
18329 +    ADD_CALL_CHAIN(result, ra);
18330      return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
18331    }
18332  
18333 @@ -530,7 +461,7 @@
18334                        (unsigned long) lb);
18335          return(0);
18336      }
18337 -    ADD_CALL_CHAIN(result, GC_RETURN_ADDR);
18338 +    ADD_CALL_CHAIN(result, ra);
18339      return (GC_store_debug_info_inner(result, (word)lb, "INTERNAL", (word)0));
18340    }
18341  # endif
18342 @@ -661,7 +592,7 @@
18343      int i;
18344  # endif
18345  {
18346 -    GC_PTR result = GC_malloc_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
18347 +    GC_PTR result = GC_malloc_uncollectable(lb + DEBUG_BYTES);
18348      
18349      if (result == 0) {
18350          GC_err_printf1("GC_debug_malloc_uncollectable(%ld) returning NIL (",
18351 @@ -687,8 +618,7 @@
18352      int i;
18353  # endif
18354  {
18355 -    GC_PTR result =
18356 -       GC_malloc_atomic_uncollectable(lb + UNCOLLECTABLE_DEBUG_BYTES);
18357 +    GC_PTR result = GC_malloc_atomic_uncollectable(lb + DEBUG_BYTES);
18358      
18359      if (result == 0) {
18360          GC_err_printf1(
18361 @@ -844,45 +774,6 @@
18362  }
18363  
18364  #ifndef SHORT_DBG_HDRS
18365 -
18366 -/* List of smashed objects.  We defer printing these, since we can't   */
18367 -/* always print them nicely with the allocation lock held.             */
18368 -/* We put them here instead of in GC_arrays, since it may be useful to */
18369 -/* be able to look at them with the debugger.                          */
18370 -#define MAX_SMASHED 20
18371 -ptr_t GC_smashed[MAX_SMASHED];
18372 -unsigned GC_n_smashed = 0;
18373 -
18374 -# if defined(__STDC__) || defined(__cplusplus)
18375 -    void GC_add_smashed(ptr_t smashed)
18376 -# else
18377 -    void GC_add_smashed(smashed)
18378 -    ptr_t smashed;
18379 -#endif
18380 -{
18381 -    GC_ASSERT(GC_is_marked(GC_base(smashed)));
18382 -    GC_smashed[GC_n_smashed] = smashed;
18383 -    if (GC_n_smashed < MAX_SMASHED - 1) ++GC_n_smashed;
18384 -      /* In case of overflow, we keep the first MAX_SMASHED-1  */
18385 -      /* entries plus the last one.                            */
18386 -    GC_have_errors = TRUE;
18387 -}
18388 -
18389 -/* Print all objects on the list.  Clear the list.     */
18390 -void GC_print_all_smashed_proc ()
18391 -{
18392 -    unsigned i;
18393 -
18394 -    GC_ASSERT(!I_HOLD_LOCK());
18395 -    if (GC_n_smashed == 0) return;
18396 -    GC_err_printf0("GC_check_heap_block: found smashed heap objects:\n");
18397 -    for (i = 0; i < GC_n_smashed; ++i) {
18398 -        GC_print_smashed_obj(GC_base(GC_smashed[i]), GC_smashed[i]);
18399 -       GC_smashed[i] = 0;
18400 -    }
18401 -    GC_n_smashed = 0;
18402 -}
18403 -
18404  /* Check all marked objects in the given block for validity */
18405  /*ARGSUSED*/
18406  # if defined(__STDC__) || defined(__cplusplus)
18407 @@ -911,7 +802,11 @@
18408                 && GC_HAS_DEBUG_INFO((ptr_t)p)) {
18409                 ptr_t clobbered = GC_check_annotated_obj((oh *)p);
18410                 
18411 -               if (clobbered != 0) GC_add_smashed(clobbered);
18412 +               if (clobbered != 0) {
18413 +                   GC_err_printf0(
18414 +                       "GC_check_heap_block: found smashed location at ");
18415 +                   GC_print_smashed_obj((ptr_t)p, clobbered);
18416 +               }
18417             }
18418             word_no += sz;
18419             p += sz;
18420 @@ -924,11 +819,9 @@
18421  void GC_check_heap_proc()
18422  {
18423  #   ifndef SMALL_CONFIG
18424 -#     ifdef ALIGN_DOUBLE
18425 -        GC_STATIC_ASSERT((sizeof(oh) & (2 * sizeof(word) - 1)) == 0);
18426 -#     else
18427 -        GC_STATIC_ASSERT((sizeof(oh) & (sizeof(word) - 1)) == 0);
18428 -#     endif
18429 +       if (sizeof(oh) & (2 * sizeof(word) - 1) != 0) {
18430 +           ABORT("Alignment problem: object header has inappropriate size\n");
18431 +       }
18432  #   endif
18433      GC_apply_to_all_blocks(GC_check_heap_block, (word)0);
18434  }
18435 @@ -949,12 +842,12 @@
18436  # endif
18437  {
18438      struct closure * result =
18439 -#   ifdef DBG_HDRS_ALL
18440 -      (struct closure *) GC_debug_malloc(sizeof (struct closure),
18441 -                                        GC_EXTRAS);
18442 -#   else
18443 -      (struct closure *) GC_malloc(sizeof (struct closure));
18444 -#   endif
18445 +#              ifdef DBG_HDRS_ALL
18446 +                 (struct closure *) GC_debug_malloc(sizeof (struct closure),
18447 +                                                    GC_EXTRAS);
18448 +#              else
18449 +                 (struct closure *) GC_malloc(sizeof (struct closure));
18450 +#              endif
18451      
18452      result -> cl_fn = fn;
18453      result -> cl_data = data;
18454 @@ -1015,7 +908,7 @@
18455      ptr_t base = GC_base(obj);
18456      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
18457          GC_err_printf1(
18458 -           "GC_debug_register_finalizer called with non-base-pointer 0x%lx\n",
18459 +           "GC_register_finalizer called with non-base-pointer 0x%lx\n",
18460             obj);
18461      }
18462      if (0 == fn) {
18463 @@ -1047,7 +940,7 @@
18464      ptr_t base = GC_base(obj);
18465      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
18466          GC_err_printf1(
18467 -         "GC_debug_register_finalizer_no_order called with non-base-pointer 0x%lx\n",
18468 +         "GC_register_finalizer_no_order called with non-base-pointer 0x%lx\n",
18469           obj);
18470      }
18471      if (0 == fn) {
18472 @@ -1080,7 +973,7 @@
18473      ptr_t base = GC_base(obj);
18474      if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
18475          GC_err_printf1(
18476 -           "GC_debug_register_finalizer_ignore_self called with non-base-pointer 0x%lx\n",
18477 +           "GC_register_finalizer_ignore_self called with non-base-pointer 0x%lx\n",
18478             obj);
18479      }
18480      if (0 == fn) {
18481 diff -Nur ../boehm-gc/doc/CVS/Entries boehm-gc/doc/CVS/Entries
18482 --- ../boehm-gc/doc/CVS/Entries Sun May 25 12:49:09 2003
18483 +++ boehm-gc/doc/CVS/Entries    Wed Dec 31 16:00:00 1969
18484 @@ -1,26 +0,0 @@
18485 -/README/1.4/Thu Mar 14 07:28:30 2002//
18486 -/README.Mac/1.2/Fri Sep 14 00:43:47 2001//
18487 -/README.MacOSX/1.2/Fri Sep 14 00:43:47 2001//
18488 -/README.OS2/1.2/Fri Sep 14 00:43:47 2001//
18489 -/README.amiga/1.2/Fri Sep 14 00:43:47 2001//
18490 -/README.autoconf/1.2/Fri Sep 14 00:43:47 2001//
18491 -/README.changes/1.4/Thu Mar 14 07:28:30 2002//
18492 -/README.contributors/1.2/Fri Sep 14 00:43:48 2001//
18493 -/README.cords/1.2/Fri Sep 14 00:43:48 2001//
18494 -/README.dj/1.2/Fri Sep 14 00:43:48 2001//
18495 -/README.environment/1.4/Sun Apr 21 00:59:00 2002//
18496 -/README.ews4800/1.1.1.1/Thu Mar 14 03:40:19 2002//
18497 -/README.hp/1.2/Fri Sep 14 00:43:48 2001//
18498 -/README.linux/1.2/Fri Sep 14 00:43:48 2001//
18499 -/README.macros/1.2/Fri Sep 14 00:43:48 2001//
18500 -/README.rs6000/1.2/Fri Sep 14 00:43:48 2001//
18501 -/README.sgi/1.2/Fri Sep 14 00:43:49 2001//
18502 -/README.solaris2/1.2/Fri Sep 14 00:43:49 2001//
18503 -/README.uts/1.2/Fri Sep 14 00:43:49 2001//
18504 -/README.win32/1.3/Thu Mar 14 07:28:30 2002//
18505 -/barrett_diagram/1.2/Fri Sep 14 00:43:49 2001//
18506 -/debugging.html/1.3/Thu Mar 14 07:28:30 2002//
18507 -/gc.man/1.2/Fri Sep 14 00:43:49 2001//
18508 -/gcdescr.html/1.2/Fri Sep 14 00:43:49 2001//
18509 -/tree.html/1.2/Fri Sep 14 00:43:49 2001//
18510 -D
18511 diff -Nur ../boehm-gc/doc/CVS/Repository boehm-gc/doc/CVS/Repository
18512 --- ../boehm-gc/doc/CVS/Repository      Sun May 25 12:49:08 2003
18513 +++ boehm-gc/doc/CVS/Repository Wed Dec 31 16:00:00 1969
18514 @@ -1 +0,0 @@
18515 -/cvs/root/gcc3/gcc3/boehm-gc/doc
18516 diff -Nur ../boehm-gc/doc/CVS/Root boehm-gc/doc/CVS/Root
18517 --- ../boehm-gc/doc/CVS/Root    Sun May 25 12:49:08 2003
18518 +++ boehm-gc/doc/CVS/Root       Wed Dec 31 16:00:00 1969
18519 @@ -1 +0,0 @@
18520 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
18521 diff -Nur ../boehm-gc/dyn_load.c boehm-gc/dyn_load.c
18522 --- ../boehm-gc/dyn_load.c      Mon May 26 12:48:52 2003
18523 +++ boehm-gc/dyn_load.c Mon Mar  3 22:38:30 2003
18524 @@ -55,10 +55,9 @@
18525      !defined(MSWIN32) && !defined(MSWINCE) && \
18526      !(defined(ALPHA) && defined(OSF1)) && \
18527      !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \
18528 -    !defined(RS6000) && !defined(SCO_ELF) && !defined(DGUX) && \
18529 +    !defined(RS6000) && !defined(SCO_ELF) && \
18530      !(defined(FREEBSD) && defined(__ELF__)) && \
18531 -    !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
18532 -    !defined(DARWIN)
18533 +    !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD)
18534   --> We only know how to find data segments of dynamic libraries for the
18535   --> above.  Additional SVR4 variants might not be too
18536   --> hard to add.
18537 @@ -81,7 +80,7 @@
18538  #endif
18539  
18540  #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
18541 -    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
18542 +    (defined(FREEBSD) && defined(__ELF__)) || \
18543      (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
18544  #   include <stddef.h>
18545  #   include <elf.h>
18546 @@ -265,7 +264,7 @@
18547  # endif /* SUNOS */
18548  
18549  #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
18550 -    (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
18551 +    (defined(FREEBSD) && defined(__ELF__)) || \
18552      (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
18553  
18554  
18555 @@ -283,23 +282,56 @@
18556         /* Repeatedly read until buffer is filled, or EOF is encountered */
18557         /* Defined in os_dep.c.                                          */
18558  
18559 -char *GC_parse_map_entry(char *buf_ptr, word *start, word *end,
18560 -                         char *prot_buf, unsigned int *maj_dev);
18561 -word GC_apply_to_maps(word (*fn)(char *));
18562 -       /* From os_dep.c        */
18563 +static char *parse_map_entry(char *buf_ptr, word *start, word *end,
18564 +                             char *prot_buf, unsigned int *maj_dev);
18565  
18566 -word GC_register_map_entries(char *maps)
18567 +void GC_register_dynamic_libraries()
18568  {
18569 +    int f;
18570 +    int result;
18571      char prot_buf[5];
18572 -    char *buf_ptr = maps;
18573 +    int maps_size;
18574 +    char maps_temp[32768];
18575 +    char *maps_buf;
18576 +    char *buf_ptr;
18577      int count;
18578      word start, end;
18579 -    unsigned int maj_dev;
18580 +    unsigned int maj_dev, min_dev;
18581      word least_ha, greatest_ha;
18582      unsigned i;
18583      word datastart = (word)(DATASTART);
18584  
18585 -    /* Compute heap bounds. FIXME: Should be done by add_to_heap?      */
18586 +    /* Read /proc/self/maps    */
18587 +        /* Note that we may not allocate, and thus can't use stdio.    */
18588 +        f = open("/proc/self/maps", O_RDONLY);
18589 +        if (-1 == f) ABORT("Couldn't open /proc/self/maps");
18590 +       /* stat() doesn't work for /proc/self/maps, so we have to
18591 +          read it to find out how large it is... */
18592 +       maps_size = 0;
18593 +       do {
18594 +           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
18595 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
18596 +           maps_size += result;
18597 +       } while (result == sizeof(maps_temp));
18598 +
18599 +       if (maps_size > sizeof(maps_temp)) {
18600 +           /* If larger than our buffer, close and re-read it. */
18601 +           close(f);
18602 +           f = open("/proc/self/maps", O_RDONLY);
18603 +           if (-1 == f) ABORT("Couldn't open /proc/self/maps");
18604 +           maps_buf = alloca(maps_size);
18605 +           if (NULL == maps_buf) ABORT("/proc/self/maps alloca failed");
18606 +           result = GC_repeat_read(f, maps_buf, maps_size);
18607 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
18608 +       } else {
18609 +           /* Otherwise use the fixed size buffer */
18610 +           maps_buf = maps_temp;
18611 +       }
18612 +
18613 +       close(f);
18614 +        maps_buf[result] = '\0';
18615 +        buf_ptr = maps_buf;
18616 +    /* Compute heap bounds. Should be done by add_to_heap?     */
18617         least_ha = (word)(-1);
18618         greatest_ha = 0;
18619         for (i = 0; i < GC_n_heap_sects; ++i) {
18620 @@ -310,10 +342,11 @@
18621          }
18622         if (greatest_ha < (word)GC_scratch_last_end_ptr)
18623             greatest_ha = (word)GC_scratch_last_end_ptr; 
18624 -
18625      for (;;) {
18626 -        buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
18627 -       if (buf_ptr == NULL) return 1;
18628 +
18629 +        buf_ptr = parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
18630 +       if (buf_ptr == NULL) return;
18631 +
18632         if (prot_buf[1] == 'w') {
18633             /* This is a writable mapping.  Add it to           */
18634             /* the root set unless it is already otherwise      */
18635 @@ -325,7 +358,16 @@
18636  #          ifdef THREADS
18637               if (GC_segment_is_thread_stack(start, end)) continue;
18638  #          endif
18639 -           /* We no longer exclude the main data segment.              */
18640 +           /* The rest of this assumes that there is no mapping        */
18641 +           /* spanning the beginning of the data segment, or extending */
18642 +           /* beyond the entire heap at both ends.                     */
18643 +           /* Empirically these assumptions hold.                      */
18644 +           
18645 +           if (start < (word)DATAEND && end > (word)DATAEND) {
18646 +               /* Rld may use space at the end of the main data        */
18647 +               /* segment.  Thus we add that in.                       */
18648 +               start = (word)DATAEND;
18649 +           }
18650             if (start < least_ha && end > least_ha) {
18651                 end = least_ha;
18652             }
18653 @@ -335,14 +377,7 @@
18654             if (start >= least_ha && end <= greatest_ha) continue;
18655             GC_add_roots_inner((char *)start, (char *)end, TRUE);
18656         }
18657 -    }
18658 -    return 1;
18659 -}
18660 -
18661 -void GC_register_dynamic_libraries()
18662 -{
18663 -   if (!GC_apply_to_maps(GC_register_map_entries))
18664 -       ABORT("Failed to read /proc for library registration.");
18665 +     }
18666  }
18667  
18668  /* We now take care of the main data segment ourselves: */
18669 @@ -352,6 +387,60 @@
18670  }
18671    
18672  # define HAVE_REGISTER_MAIN_STATIC_DATA
18673 +//
18674 +//  parse_map_entry parses an entry from /proc/self/maps so we can
18675 +//  locate all writable data segments that belong to shared libraries.
18676 +//  The format of one of these entries and the fields we care about
18677 +//  is as follows:
18678 +//  XXXXXXXX-XXXXXXXX r-xp 00000000 30:05 260537     name of mapping...\n
18679 +//  ^^^^^^^^ ^^^^^^^^ ^^^^          ^^
18680 +//  start    end      prot          maj_dev
18681 +//  0        9        18            32
18682 +//
18683 +//  The parser is called with a pointer to the entry and the return value
18684 +//  is either NULL or is advanced to the next entry(the byte after the
18685 +//  trailing '\n'.)
18686 +//
18687 +#define OFFSET_MAP_START   0
18688 +#define OFFSET_MAP_END     9
18689 +#define OFFSET_MAP_PROT   18
18690 +#define OFFSET_MAP_MAJDEV 32
18691 +
18692 +static char *parse_map_entry(char *buf_ptr, word *start, word *end,
18693 +                             char *prot_buf, unsigned int *maj_dev)
18694 +{
18695 +    int i;
18696 +    unsigned int val;
18697 +    char *tok;
18698 +
18699 +    if (buf_ptr == NULL || *buf_ptr == '\0') {
18700 +        return NULL;
18701 +    }
18702 +
18703 +    memcpy(prot_buf, buf_ptr+OFFSET_MAP_PROT, 4); // do the protections first
18704 +    prot_buf[4] = '\0';
18705 +
18706 +    if (prot_buf[1] == 'w') { // we can skip all of this if it's not writable
18707 +
18708 +        tok = buf_ptr;
18709 +        buf_ptr[OFFSET_MAP_START+8] = '\0';
18710 +        *start = strtoul(tok, NULL, 16);
18711 +
18712 +        tok = buf_ptr+OFFSET_MAP_END;
18713 +        buf_ptr[OFFSET_MAP_END+8] = '\0';
18714 +        *end = strtoul(tok, NULL, 16);
18715 +
18716 +        buf_ptr += OFFSET_MAP_MAJDEV;
18717 +        tok = buf_ptr;
18718 +        while (*buf_ptr != ':') buf_ptr++;
18719 +        *buf_ptr++ = '\0';
18720 +        *maj_dev = strtoul(tok, NULL, 16);
18721 +    }
18722 +
18723 +    while (*buf_ptr && *buf_ptr++ != '\n');
18724 +
18725 +    return buf_ptr;
18726 +}
18727  
18728  #endif /* USE_PROC_FOR_LIBRARIES */
18729  
18730 @@ -419,7 +508,6 @@
18731            GC_add_roots_inner(DATASTART2, (char *)(DATAEND2), TRUE);
18732  #       endif
18733      }
18734 -
18735      return TRUE;
18736    } else {
18737      return FALSE;
18738 @@ -542,7 +630,6 @@
18739         /* The type is a lie, since the real type doesn't make sense here, */
18740         /* and we only test for NULL.                                      */
18741  
18742 -
18743  /* We use /proc to track down all parts of the address space that are  */
18744  /* mapped by the process, and throw out regions we know we shouldn't   */
18745  /* worry about.  This may also work under other SVR4 variants.         */
18746 @@ -969,122 +1056,7 @@
18747  }
18748  #endif /* RS6000 */
18749  
18750 -#ifdef DARWIN
18751 -
18752 -#include <mach-o/dyld.h>
18753 -#include <mach-o/getsect.h>
18754 -
18755 -/*#define DARWIN_DEBUG*/
18756 -    
18757 -const static struct { 
18758 -    const char *seg;
18759 -    const char *sect;
18760 -} GC_dyld_sections[] = {
18761 -    { SEG_DATA, SECT_DATA },
18762 -    { SEG_DATA, SECT_BSS },
18763 -    { SEG_DATA, SECT_COMMON }
18764 -};
18765 -
18766 -#ifdef DARWIN_DEBUG
18767 -static const char *GC_dyld_name_for_hdr(struct mach_header *hdr) {
18768 -    unsigned long i,c;
18769 -    c = _dyld_image_count();
18770 -    for(i=0;i<c;i++) if(_dyld_get_image_header(i) == hdr)
18771 -        return _dyld_get_image_name(i);
18772 -    return NULL;
18773 -}
18774 -#endif
18775 -
18776 -/* This should never be called by a thread holding the lock */
18777 -static void GC_dyld_image_add(struct mach_header* hdr, unsigned long slide) {
18778 -    unsigned long start,end,i;
18779 -    const struct section *sec;
18780 -    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
18781 -        sec = getsectbynamefromheader(
18782 -            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
18783 -        if(sec == NULL || sec->size == 0) continue;
18784 -        start = slide + sec->addr;
18785 -        end = start + sec->size;
18786 -#              ifdef DARWIN_DEBUG
18787 -            GC_printf4("Adding section at %p-%p (%lu bytes) from image %s\n",
18788 -                start,end,sec->size,GC_dyld_name_for_hdr(hdr));
18789 -#              endif
18790 -        GC_add_roots((char*)start,(char*)end);
18791 -    }
18792 -#      ifdef DARWIN_DEBUG
18793 -    GC_print_static_roots();
18794 -#      endif
18795 -}
18796 -
18797 -/* This should never be called by a thread holding the lock */
18798 -static void GC_dyld_image_remove(struct mach_header* hdr, unsigned long slide) {
18799 -    unsigned long start,end,i;
18800 -    const struct section *sec;
18801 -    for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
18802 -        sec = getsectbynamefromheader(
18803 -            hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
18804 -        if(sec == NULL || sec->size == 0) continue;
18805 -        start = slide + sec->addr;
18806 -        end = start + sec->size;
18807 -#              ifdef DARWIN_DEBUG
18808 -            GC_printf4("Removing section at %p-%p (%lu bytes) from image %s\n",
18809 -                start,end,sec->size,GC_dyld_name_for_hdr(hdr));
18810 -#              endif
18811 -        GC_remove_roots((char*)start,(char*)end);
18812 -    }
18813 -#      ifdef DARWIN_DEBUG
18814 -    GC_print_static_roots();
18815 -#      endif
18816 -}
18817 -
18818 -void GC_register_dynamic_libraries() {
18819 -    /* Currently does nothing. The callbacks are setup by GC_init_dyld() 
18820 -    The dyld library takes it from there. */
18821 -}
18822 -
18823 -/* The _dyld_* functions have an internal lock so no _dyld functions
18824 -   can be called while the world is stopped without the risk of a deadlock.
18825 -   Because of this we MUST setup callbacks BEFORE we ever stop the world.
18826 -   This should be called BEFORE any thread in created and WITHOUT the
18827 -   allocation lock held. */
18828 -   
18829 -void GC_init_dyld() {
18830 -    static GC_bool initialized = FALSE;
18831 -    
18832 -    if(initialized) return;
18833 -    
18834 -#   ifdef DARWIN_DEBUG
18835 -        GC_printf0("Forcing full bind of GC code...\n");
18836 -#   endif
18837 -    if(!_dyld_bind_fully_image_containing_address((unsigned long*)GC_malloc))
18838 -        GC_abort("_dyld_bind_fully_image_containing_addres failed");
18839 -            
18840 -#   ifdef DARWIN_DEBUG
18841 -        GC_printf0("Registering dyld callbacks...\n");
18842 -#   endif
18843 -
18844 -    /* Apple's Documentation:
18845 -    When you call _dyld_register_func_for_add_image, the dynamic linker runtime
18846 -    calls the specified callback (func) once for each of the images that is
18847 -    currently loaded into the program. When a new image is added to the program,
18848 -    your callback is called again with the mach_header for the new image, and the      virtual memory slide amount of the new image. 
18849 -        
18850 -    This WILL properly register existing and all future libraries
18851 -    */
18852 -        
18853 -    _dyld_register_func_for_add_image(GC_dyld_image_add);
18854 -    _dyld_register_func_for_remove_image(GC_dyld_image_remove);
18855 -    initialized = TRUE;
18856 -}
18857 -
18858 -#define HAVE_REGISTER_MAIN_STATIC_DATA
18859 -GC_bool GC_register_main_static_data()
18860 -{
18861 -  /* Already done through dyld callbacks */
18862 -  return FALSE;
18863 -}
18864  
18865 -#endif /* DARWIN */
18866  
18867  #else /* !DYNAMIC_LOADING */
18868  
18869 diff -Nur ../boehm-gc/finalize.c boehm-gc/finalize.c
18870 --- ../boehm-gc/finalize.c      Mon May 26 12:48:52 2003
18871 +++ boehm-gc/finalize.c Mon Feb 11 20:37:53 2002
18872 @@ -207,8 +207,7 @@
18873         UNLOCK();
18874         ENABLE_SIGNALS();
18875  #     endif
18876 -      new_dl = (struct disappearing_link *)
18877 -             GC_oom_fn(sizeof(struct disappearing_link));
18878 +      new_dl = GC_oom_fn(sizeof(struct disappearing_link));
18879        if (0 == new_dl) {
18880         GC_finalization_failures++;
18881         return(0);
18882 @@ -434,8 +433,7 @@
18883         UNLOCK();
18884         ENABLE_SIGNALS();
18885  #     endif
18886 -      new_fo = (struct finalizable_object *)
18887 -             GC_oom_fn(sizeof(struct finalizable_object));
18888 +      new_fo = GC_oom_fn(sizeof(struct finalizable_object));
18889        if (0 == new_fo) {
18890         GC_finalization_failures++;
18891         return;
18892 @@ -761,9 +759,8 @@
18893  /* Should be called without allocation lock.                           */
18894  int GC_invoke_finalizers()
18895  {
18896 -    struct finalizable_object * curr_fo;
18897 -    int count = 0;
18898 -    word mem_freed_before;
18899 +    register struct finalizable_object * curr_fo;
18900 +    register int count = 0;
18901      DCL_LOCK_STATE;
18902      
18903      while (GC_finalize_now != 0) {
18904 @@ -771,9 +768,6 @@
18905             DISABLE_SIGNALS();
18906             LOCK();
18907  #      endif
18908 -       if (count == 0) {
18909 -           mem_freed_before = GC_mem_freed;
18910 -       }
18911         curr_fo = GC_finalize_now;
18912  #      ifdef THREADS
18913             if (curr_fo != 0) GC_finalize_now = fo_next(curr_fo);
18914 @@ -795,11 +789,6 @@
18915             GC_free((GC_PTR)curr_fo);
18916  #      endif
18917      }
18918 -    if (count != 0 && mem_freed_before != GC_mem_freed) {
18919 -        LOCK();
18920 -       GC_finalizer_mem_freed += (GC_mem_freed - mem_freed_before);
18921 -       UNLOCK();
18922 -    }
18923      return count;
18924  }
18925  
18926 @@ -812,9 +801,7 @@
18927      if (GC_finalize_now == 0) return;
18928      if (!GC_finalize_on_demand) {
18929         (void) GC_invoke_finalizers();
18930 -#      ifndef THREADS
18931 -         GC_ASSERT(GC_finalize_now == 0);
18932 -#      endif   /* Otherwise GC can run concurrently and add more */
18933 +       GC_ASSERT(GC_finalize_now == 0);
18934         return;
18935      }
18936      if (GC_finalizer_notifier != (void (*) GC_PROTO((void)))0
18937 @@ -852,17 +839,3 @@
18938      return(result);
18939  }
18940  
18941 -#if !defined(NO_DEBUGGING)
18942 -
18943 -void GC_print_finalization_stats()
18944 -{
18945 -    struct finalizable_object *fo = GC_finalize_now;
18946 -    size_t ready = 0;
18947 -
18948 -    GC_printf2("%lu finalization table entries; %lu disappearing links\n",
18949 -              GC_fo_entries, GC_dl_entries);
18950 -    for (; 0 != fo; fo = fo_next(fo)) ++ready;
18951 -    GC_printf1("%lu objects are eligible for immediate finalization\n", ready);
18952 -}
18953 -
18954 -#endif /* NO_DEBUGGING */
18955 diff -Nur ../boehm-gc/gc_dlopen.c boehm-gc/gc_dlopen.c
18956 --- ../boehm-gc/gc_dlopen.c     Mon May 26 12:48:52 2003
18957 +++ boehm-gc/gc_dlopen.c        Tue Oct 16 02:01:35 2001
18958 @@ -19,14 +19,12 @@
18959  /*
18960   * This used to be in dyn_load.c.  It was extracted into a separate file
18961   * to avoid having to link against libdl.{a,so} if the client doesn't call
18962 - * dlopen.  Of course this fails if the collector is in a dynamic
18963 - * library. -HB
18964 + * dlopen.  -HB
18965   */
18966  
18967  #include "private/gc_priv.h"
18968  
18969 -# if (defined(GC_PTHREADS) && !defined(GC_DARWIN_THREADS)) \
18970 -      || defined(GC_SOLARIS_THREADS)
18971 +# if defined(GC_PTHREADS) || defined(GC_SOLARIS_THREADS)
18972  
18973  # if defined(dlopen) && !defined(GC_USE_LD_WRAP)
18974      /* To support various threads pkgs, gc.h interposes on dlopen by     */
18975 @@ -46,14 +44,19 @@
18976    /* calls in either a multithreaded environment, or if the library    */
18977    /* initialization code allocates substantial amounts of GC'ed memory.        */
18978    /* But I don't know of a better solution.                            */
18979 -  static void disable_gc_for_dlopen()
18980 +  /* This can still deadlock if the client explicitly starts a GC      */
18981 +  /* during the dlopen.  He shouldn't do that.                         */
18982 +  static GC_bool disable_gc_for_dlopen()
18983    {
18984 +    GC_bool result;
18985      LOCK();
18986 +    result = GC_dont_gc;
18987      while (GC_incremental && GC_collection_in_progress()) {
18988         GC_collect_a_little_inner(1000);
18989      }
18990 -    ++GC_dont_gc;
18991 +    GC_dont_gc = TRUE;
18992      UNLOCK();
18993 +    return(result);
18994    }
18995  
18996    /* Redefine dlopen to guarantee mutual exclusion with        */
18997 @@ -71,9 +74,10 @@
18998  #endif
18999  {
19000      void * result;
19001 +    GC_bool dont_gc_save;
19002      
19003  #   ifndef USE_PROC_FOR_LIBRARIES
19004 -      disable_gc_for_dlopen();
19005 +      dont_gc_save = disable_gc_for_dlopen();
19006  #   endif
19007  #   ifdef GC_USE_LD_WRAP
19008        result = (void *)__real_dlopen(path, mode);
19009 @@ -81,7 +85,7 @@
19010        result = dlopen(path, mode);
19011  #   endif
19012  #   ifndef USE_PROC_FOR_LIBRARIES
19013 -      GC_enable(); /* undoes disable_gc_for_dlopen */
19014 +      GC_dont_gc = dont_gc_save;
19015  #   endif
19016      return(result);
19017  }
19018 diff -Nur ../boehm-gc/gcj_mlc.c boehm-gc/gcj_mlc.c
19019 --- ../boehm-gc/gcj_mlc.c       Mon May 26 12:48:52 2003
19020 +++ boehm-gc/gcj_mlc.c  Mon Feb 11 20:37:53 2002
19021 @@ -157,7 +157,6 @@
19022              GC_words_allocd += lw;
19023          }
19024         *(void **)op = ptr_to_struct_containing_descr;
19025 -       GC_ASSERT(((void **)op)[1] == 0);
19026         UNLOCK();
19027      } else {
19028         LOCK();
19029 diff -Nur ../boehm-gc/if_mach.c boehm-gc/if_mach.c
19030 --- ../boehm-gc/if_mach.c       Mon May 26 12:48:52 2003
19031 +++ boehm-gc/if_mach.c  Fri Aug 17 11:30:45 2001
19032 @@ -14,7 +14,7 @@
19033      if (strcmp(MACH_TYPE, argv[1]) != 0) return(0);
19034      if (strcmp(OS_TYPE, "") != 0 && strcmp(argv[2], "") != 0
19035          && strcmp(OS_TYPE, argv[2]) != 0) return(0);
19036 -    fprintf(stderr, "^^^^Starting command^^^^\n");
19037 +    printf("^^^^Starting command^^^^\n");
19038      fflush(stdout);
19039      execvp(argv[3], argv+3);
19040      perror("Couldn't execute");
19041 diff -Nur ../boehm-gc/include/CVS/Entries boehm-gc/include/CVS/Entries
19042 --- ../boehm-gc/include/CVS/Entries     Sat May 31 21:17:20 2003
19043 +++ boehm-gc/include/CVS/Entries        Wed Dec 31 16:00:00 1969
19044 @@ -1,21 +0,0 @@
19045 -/Makefile.am/1.1.1.2/Tue Jan 21 20:40:57 2003//
19046 -/Makefile.in/1.1.1.4/Tue Jan 21 20:40:57 2003//
19047 -/gc.h/1.5/Thu Mar 14 07:28:32 2002//
19048 -/gc_cpp.h/1.2/Fri Sep 14 00:43:53 2001//
19049 -/gc_local_alloc.h/1.2/Fri Sep 14 00:43:54 2001//
19050 -/gc_mark.h/1.2/Fri Sep 14 00:43:54 2001//
19051 -/gc_pthread_redirects.h/1.3/Tue Oct 23 03:47:26 2001//
19052 -/gc_typed.h/1.2/Fri Sep 14 00:43:54 2001//
19053 -/new_gc_alloc.h/1.3/Tue Oct 23 03:47:26 2001//
19054 -D/private////
19055 -/cord.h/1.2/Mon May 26 20:28:19 2003//
19056 -/ec.h/1.2/Mon May 26 20:28:19 2003//
19057 -/gc_alloc.h/1.2/Mon May 26 20:28:19 2003//
19058 -/gc_amiga_redirects.h/1.2/Mon May 26 20:28:19 2003//
19059 -/gc_backptr.h/1.2/Mon May 26 20:28:19 2003//
19060 -/gc_gcj.h/1.3/Mon May 26 20:28:19 2003//
19061 -/gc_inl.h/1.2/Mon May 26 20:28:19 2003//
19062 -/gc_inline.h/1.2/Mon May 26 20:28:19 2003//
19063 -/javaxfc.h/1.2/Mon May 26 20:28:19 2003//
19064 -/leak_detector.h/1.3/Mon May 26 20:28:19 2003//
19065 -/weakpointer.h/1.2/Mon May 26 20:28:19 2003//
19066 diff -Nur ../boehm-gc/include/CVS/Repository boehm-gc/include/CVS/Repository
19067 --- ../boehm-gc/include/CVS/Repository  Sun May 25 12:49:09 2003
19068 +++ boehm-gc/include/CVS/Repository     Wed Dec 31 16:00:00 1969
19069 @@ -1 +0,0 @@
19070 -/cvs/root/gcc3/gcc3/boehm-gc/include
19071 diff -Nur ../boehm-gc/include/CVS/Root boehm-gc/include/CVS/Root
19072 --- ../boehm-gc/include/CVS/Root        Sun May 25 12:49:09 2003
19073 +++ boehm-gc/include/CVS/Root   Wed Dec 31 16:00:00 1969
19074 @@ -1 +0,0 @@
19075 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
19076 diff -Nur ../boehm-gc/include/Makefile.in boehm-gc/include/Makefile.in
19077 --- ../boehm-gc/include/Makefile.in     Mon May 26 13:08:48 2003
19078 +++ boehm-gc/include/Makefile.in        Tue Dec 31 09:52:45 2002
19079 @@ -1,8 +1,6 @@
19080 -# Makefile.in generated by automake 1.6.3 from Makefile.am.
19081 -# @configure_input@
19082 +# Makefile.in generated automatically by automake 1.4 from Makefile.am
19083  
19084 -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
19085 -# Free Software Foundation, Inc.
19086 +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
19087  # This Makefile.in is free software; the Free Software Foundation
19088  # gives unlimited permission to copy and/or distribute it,
19089  # with or without modifications, as long as this notice is preserved.
19090 @@ -12,7 +10,7 @@
19091  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
19092  # PARTICULAR PURPOSE.
19093  
19094 -@SET_MAKE@
19095 +
19096  SHELL = @SHELL@
19097  
19098  srcdir = @srcdir@
19099 @@ -33,9 +31,13 @@
19100  mandir = @mandir@
19101  includedir = @includedir@
19102  oldincludedir = /usr/include
19103 +
19104 +DESTDIR =
19105 +
19106  pkgdatadir = $(datadir)/@PACKAGE@
19107  pkglibdir = $(libdir)/@PACKAGE@
19108  pkgincludedir = $(includedir)/@PACKAGE@
19109 +
19110  top_builddir = ..
19111  
19112  ACLOCAL = @ACLOCAL@
19113 @@ -43,16 +45,12 @@
19114  AUTOMAKE = @AUTOMAKE@
19115  AUTOHEADER = @AUTOHEADER@
19116  
19117 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
19118  INSTALL = @INSTALL@
19119 -INSTALL_PROGRAM = @INSTALL_PROGRAM@
19120 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
19121  INSTALL_DATA = @INSTALL_DATA@
19122 -install_sh_DATA = $(install_sh) -c -m 644
19123 -install_sh_PROGRAM = $(install_sh) -c
19124 -install_sh_SCRIPT = $(install_sh) -c
19125  INSTALL_SCRIPT = @INSTALL_SCRIPT@
19126 -INSTALL_HEADER = $(INSTALL_DATA)
19127  transform = @program_transform_name@
19128 +
19129  NORMAL_INSTALL = :
19130  PRE_INSTALL = :
19131  POST_INSTALL = :
19132 @@ -65,190 +63,171 @@
19133  host_triplet = @host@
19134  target_alias = @target_alias@
19135  target_triplet = @target@
19136 -
19137 -EXEEXT = @EXEEXT@
19138 -OBJEXT = @OBJEXT@
19139 -PATH_SEPARATOR = @PATH_SEPARATOR@
19140 -AMTAR = @AMTAR@
19141  AR = @AR@
19142  AS = @AS@
19143 -AWK = @AWK@
19144  CC = @CC@
19145  CPP = @CPP@
19146  CXX = @CXX@
19147  CXXCPP = @CXXCPP@
19148  CXXINCLUDES = @CXXINCLUDES@
19149 -DEPDIR = @DEPDIR@
19150  DLLTOOL = @DLLTOOL@
19151 -ECHO = @ECHO@
19152 -EGREP = @EGREP@
19153 +EXEEXT = @EXEEXT@
19154  EXTRA_TEST_LIBS = @EXTRA_TEST_LIBS@
19155 -F77 = @F77@
19156  GCJ = @GCJ@
19157  GCJFLAGS = @GCJFLAGS@
19158  GC_CFLAGS = @GC_CFLAGS@
19159  INCLUDES = @INCLUDES@
19160 -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
19161  LIBTOOL = @LIBTOOL@
19162  LN_S = @LN_S@
19163  MAINT = @MAINT@
19164 +MAKEINFO = @MAKEINFO@
19165  MY_CFLAGS = @MY_CFLAGS@
19166  OBJDUMP = @OBJDUMP@
19167 +OBJEXT = @OBJEXT@
19168  PACKAGE = @PACKAGE@
19169  RANLIB = @RANLIB@
19170 -RC = @RC@
19171  STRIP = @STRIP@
19172  THREADLIBS = @THREADLIBS@
19173  VERSION = @VERSION@
19174  addobjs = @addobjs@
19175 -am__include = @am__include@
19176 -am__quote = @am__quote@
19177  gc_basedir = @gc_basedir@
19178 -install_sh = @install_sh@
19179  mkinstalldirs = @mkinstalldirs@
19180  target_all = @target_all@
19181 +
19182  AUTOMAKE_OPTIONS = foreign
19183  
19184  noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \
19185    gc_pthread_redirects.h gc_cpp.h
19186  
19187 -subdir = include
19188 -CONFIG_CLEAN_FILES =
19189 -depcomp =
19190 -am__depfiles_maybe =
19191 -DIST_SOURCES =
19192 -HEADERS = $(noinst_HEADERS)
19193 +CONFIG_CLEAN_FILES = 
19194 +HEADERS =  $(noinst_HEADERS)
19195  
19196 -all: all-am
19197 +DIST_COMMON =  Makefile.am Makefile.in
19198  
19199 -.SUFFIXES:
19200 -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
19201 -       cd $(top_srcdir) && \
19202 -         $(AUTOMAKE) --cygnus  include/Makefile
19203 -Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
19204 -       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
19205  
19206 -mostlyclean-libtool:
19207 -       -rm -f *.lo
19208 +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
19209  
19210 -clean-libtool:
19211 -       -rm -rf .libs _libs
19212 +TAR = gtar
19213 +GZIP_ENV = --best
19214 +all: all-redirect
19215 +.SUFFIXES:
19216 +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
19217 +       cd $(top_srcdir) && $(AUTOMAKE) --cygnus include/Makefile
19218  
19219 -distclean-libtool:
19220 -       -rm -f libtool
19221 -uninstall-info-am:
19222 +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
19223 +       cd $(top_builddir) \
19224 +         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
19225  
19226 -ETAGS = etags
19227 -ETAGSFLAGS =
19228  
19229  tags: TAGS
19230  
19231 -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
19232 -       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
19233 -       unique=`for i in $$list; do \
19234 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
19235 -         done | \
19236 -         $(AWK) '    { files[$$0] = 1; } \
19237 +ID: $(HEADERS) $(SOURCES) $(LISP)
19238 +       list='$(SOURCES) $(HEADERS)'; \
19239 +       unique=`for i in $$list; do echo $$i; done | \
19240 +         awk '    { files[$$0] = 1; } \
19241                END { for (i in files) print i; }'`; \
19242 -       mkid -fID $$unique
19243 +       here=`pwd` && cd $(srcdir) \
19244 +         && mkid -f$$here/ID $$unique $(LISP)
19245  
19246 -TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
19247 -               $(TAGS_FILES) $(LISP)
19248 +TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
19249         tags=; \
19250         here=`pwd`; \
19251 -       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
19252 -       unique=`for i in $$list; do \
19253 -           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
19254 -         done | \
19255 -         $(AWK) '    { files[$$0] = 1; } \
19256 +       list='$(SOURCES) $(HEADERS)'; \
19257 +       unique=`for i in $$list; do echo $$i; done | \
19258 +         awk '    { files[$$0] = 1; } \
19259                END { for (i in files) print i; }'`; \
19260 -       test -z "$(ETAGS_ARGS)$$tags$$unique" \
19261 -         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
19262 -            $$tags $$unique
19263 -
19264 -GTAGS:
19265 -       here=`$(am__cd) $(top_builddir) && pwd` \
19266 -         && cd $(top_srcdir) \
19267 -         && gtags -i $(GTAGS_ARGS) $$here
19268 +       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
19269 +         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
19270 +
19271 +mostlyclean-tags:
19272 +
19273 +clean-tags:
19274  
19275  distclean-tags:
19276 -       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
19277 -check-am:
19278 -check: check-am
19279 -all-am: Makefile $(HEADERS)
19280 +       -rm -f TAGS ID
19281  
19282 -installdirs:
19283 +maintainer-clean-tags:
19284  
19285 -install: install-am
19286 +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
19287 +
19288 +subdir = include
19289 +
19290 +distdir: $(DISTFILES)
19291 +       @for file in $(DISTFILES); do \
19292 +         if test -f $$file; then d=.; else d=$(srcdir); fi; \
19293 +         if test -d $$d/$$file; then \
19294 +           cp -pr $$d/$$file $(distdir)/$$file; \
19295 +         else \
19296 +           test -f $(distdir)/$$file \
19297 +           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
19298 +           || cp -p $$d/$$file $(distdir)/$$file || :; \
19299 +         fi; \
19300 +       done
19301 +info-am:
19302 +info: info-am
19303 +dvi-am:
19304 +dvi: dvi-am
19305 +check-am:
19306 +check: check-am
19307 +installcheck-am:
19308 +installcheck: installcheck-am
19309 +install-info-am: 
19310 +install-info: install-info-am
19311 +install-exec-am:
19312  install-exec: install-exec-am
19313 +
19314 +install-data-am:
19315  install-data: install-data-am
19316 -uninstall: uninstall-am
19317  
19318  install-am: all-am
19319         @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
19320 -
19321 -installcheck: installcheck-am
19322 +install: install-am
19323 +uninstall-am:
19324 +uninstall: uninstall-am
19325 +all-am: Makefile $(HEADERS)
19326 +all-redirect: all-am
19327  install-strip:
19328 -       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
19329 -         INSTALL_STRIP_FLAG=-s \
19330 -         `test -z '$(STRIP)' || \
19331 -           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
19332 +       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
19333 +installdirs:
19334 +
19335 +
19336  mostlyclean-generic:
19337  
19338  clean-generic:
19339  
19340  distclean-generic:
19341         -rm -f Makefile $(CONFIG_CLEAN_FILES)
19342 +       -rm -f config.cache config.log stamp-h stamp-h[0-9]*
19343  
19344  maintainer-clean-generic:
19345 -       @echo "This command is intended for maintainers to use"
19346 -       @echo "it deletes files that may require special tools to rebuild."
19347 -clean: clean-am
19348 -
19349 -clean-am: clean-generic clean-libtool mostlyclean-am
19350 -
19351 -distclean: distclean-am
19352 -
19353 -distclean-am: clean-am distclean-generic distclean-libtool \
19354 -       distclean-tags
19355 -
19356 -dvi: dvi-am
19357 +mostlyclean-am:  mostlyclean-tags mostlyclean-generic
19358  
19359 -dvi-am:
19360 -
19361 -info: info-am
19362 -
19363 -info-am:
19364 +mostlyclean: mostlyclean-am
19365  
19366 -install-data-am:
19367 +clean-am:  clean-tags clean-generic mostlyclean-am
19368  
19369 -install-exec-am:
19370 +clean: clean-am
19371  
19372 -install-info:
19373 +distclean-am:  distclean-tags distclean-generic clean-am
19374 +       -rm -f libtool
19375  
19376 -install-man:
19377 +distclean: distclean-am
19378  
19379 -installcheck-am:
19380 +maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
19381 +               distclean-am
19382 +       @echo "This command is intended for maintainers to use;"
19383 +       @echo "it deletes files that may require special tools to rebuild."
19384  
19385  maintainer-clean: maintainer-clean-am
19386  
19387 -maintainer-clean-am: distclean-am maintainer-clean-generic
19388 -
19389 -mostlyclean: mostlyclean-am
19390 -
19391 -mostlyclean-am: mostlyclean-generic mostlyclean-libtool
19392 -
19393 -uninstall-am:
19394 +.PHONY: tags mostlyclean-tags distclean-tags clean-tags \
19395 +maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
19396 +installcheck-am installcheck install-info-am install-info \
19397 +install-exec-am install-exec install-data-am install-data install-am \
19398 +install uninstall-am uninstall all-redirect all-am all installdirs \
19399 +mostlyclean-generic distclean-generic clean-generic \
19400 +maintainer-clean-generic clean mostlyclean distclean maintainer-clean
19401  
19402 -.PHONY: GTAGS all all-am check check-am clean clean-generic \
19403 -       clean-libtool distclean distclean-generic distclean-libtool \
19404 -       distclean-tags dvi dvi-am info info-am install install-am \
19405 -       install-data install-data-am install-exec install-exec-am \
19406 -       install-info install-info-am install-man install-strip \
19407 -       installcheck installcheck-am installdirs maintainer-clean \
19408 -       maintainer-clean-generic mostlyclean mostlyclean-generic \
19409 -       mostlyclean-libtool tags uninstall uninstall-am \
19410 -       uninstall-info-am
19411  
19412  # Tell versions [3.59,3.63) of GNU make to not export all variables.
19413  # Otherwise a system limit (for SysV at least) may be exceeded.
19414 diff -Nur ../boehm-gc/include/gc.h boehm-gc/include/gc.h
19415 --- ../boehm-gc/include/gc.h    Mon May 26 13:28:19 2003
19416 +++ boehm-gc/include/gc.h       Mon Feb 11 20:37:56 2002
19417 @@ -30,7 +30,91 @@
19418  
19419  # define _GC_H
19420  
19421 -# include "gc_config_macros.h"
19422 +/*
19423 + * Some tests for old macros.  These violate our namespace rules and will
19424 + * disappear shortly.  Use the GC_ names.
19425 + */
19426 +#if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS)
19427 +# define GC_SOLARIS_THREADS
19428 +#endif
19429 +#if defined(_SOLARIS_PTHREADS)
19430 +# define GC_SOLARIS_PTHREADS
19431 +#endif
19432 +#if defined(IRIX_THREADS)
19433 +# define GC_IRIX_THREADS
19434 +#endif
19435 +#if defined(HPUX_THREADS)
19436 +# define GC_HPUX_THREADS
19437 +#endif
19438 +#if defined(OSF1_THREADS)
19439 +# define GC_OSF1_THREADS
19440 +#endif
19441 +#if defined(LINUX_THREADS)
19442 +# define GC_LINUX_THREADS
19443 +#endif
19444 +#if defined(WIN32_THREADS)
19445 +# define GC_WIN32_THREADS
19446 +#endif
19447 +#if defined(USE_LD_WRAP)
19448 +# define GC_USE_LD_WRAP
19449 +#endif
19450 +
19451 +#if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
19452 +                            || defined(GC_SOLARIS_PTHREADS) \
19453 +                            || defined(GC_HPUX_THREADS) \
19454 +                            || defined(GC_LINUX_THREADS))
19455 +# define _REENTRANT
19456 +       /* Better late than never.  This fails if system headers that   */
19457 +       /* depend on this were previously included.                     */
19458 +#endif
19459 +
19460 +#if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
19461 +#   define GC_SOLARIS_THREADS
19462 +#endif
19463 +
19464 +# if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
19465 +       defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
19466 +       defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
19467 +#   define GC_PTHREADS
19468 +# endif
19469 +
19470 +# define __GC
19471 +# include <stddef.h>
19472 +# ifdef _WIN32_WCE
19473 +/* Yet more kluges for WinCE */
19474 +#   include <stdlib.h>         /* size_t is defined here */
19475 +    typedef long ptrdiff_t;    /* ptrdiff_t is not defined */
19476 +# endif
19477 +
19478 +#if defined(__MINGW32__) &&defined(_DLL) && !defined(GC_NOT_DLL)
19479 +# ifdef GC_BUILD
19480 +#   define GC_API __declspec(dllexport)
19481 +# else
19482 +#   define GC_API __declspec(dllimport)
19483 +# endif
19484 +#endif
19485 +
19486 +#if (defined(__DMC__) || defined(_MSC_VER)) \
19487 +               && (defined(_DLL) && !defined(GC_NOT_DLL) \
19488 +                   || defined(GC_DLL))
19489 +# ifdef GC_BUILD
19490 +#   define GC_API extern __declspec(dllexport)
19491 +# else
19492 +#   define GC_API __declspec(dllimport)
19493 +# endif
19494 +#endif
19495 +
19496 +#if defined(__WATCOMC__) && defined(GC_DLL)
19497 +# ifdef GC_BUILD
19498 +#   define GC_API extern __declspec(dllexport)
19499 +# else
19500 +#   define GC_API extern __declspec(dllimport)
19501 +# endif
19502 +#endif
19503 +
19504 +#ifndef GC_API
19505 +#define GC_API extern
19506 +#endif
19507  
19508  # if defined(__STDC__) || defined(__cplusplus)
19509  #   define GC_PROTO(args) args
19510 @@ -70,7 +154,7 @@
19511                         /*  Env variable GC_NPROC is set to > 1, or     */
19512                         /*  GC_NPROC is not set and this is an MP.      */
19513                         /* If GC_parallel is set, incremental           */
19514 -                       /* collection is only partially functional,     */
19515 +                       /* collection is aonly partially functional,    */
19516                         /* and may not be desirable.                    */
19517                         
19518  
19519 @@ -131,14 +215,8 @@
19520                         /* thread, which will call GC_invoke_finalizers */
19521                         /* in response.                                 */
19522  
19523 -GC_API int GC_dont_gc; /* != 0 ==> Dont collect.  In versions 7.2a1+,  */
19524 -                       /* this overrides explicit GC_gcollect() calls. */
19525 -                       /* Used as a counter, so that nested enabling   */
19526 -                       /* and disabling work correctly.  Should        */
19527 -                       /* normally be updated with GC_enable() and     */
19528 -                       /* GC_disable() calls.                          */
19529 -                       /* Direct assignment to GC_dont_gc is           */
19530 -                       /* deprecated.                                  */
19531 +GC_API int GC_dont_gc; /* Dont collect unless explicitly requested, e.g. */
19532 +                       /* because it's not safe.                         */
19533  
19534  GC_API int GC_dont_expand;
19535                         /* Dont expand heap unless explicitly requested */
19536 @@ -218,6 +296,15 @@
19537                                 /* Interferes with blacklisting.        */
19538                                 /* Wizards only.                        */
19539  
19540 +/* Public procedures */
19541 +
19542 +/* Initialize the collector.  This is only required when using thread-local
19543 + * allocation, since unlike the regular allocation routines, GC_local_malloc
19544 + * is not self-initializing.  If you use GC_local_malloc you should arrange
19545 + * to call this somehow (e.g. from a constructor) before doing any allocation.
19546 + */
19547 +GC_API void GC_init GC_PROTO((void));
19548 +
19549  GC_API unsigned long GC_time_limit;
19550                                 /* If incremental collection is enabled, */
19551                                 /* We try to terminate collections       */
19552 @@ -229,18 +316,9 @@
19553                                 /* enabled.                              */
19554  #      define GC_TIME_UNLIMITED 999999
19555                                 /* Setting GC_time_limit to this value   */
19556 -                               /* will disable the "pause time exceeded"*/
19557 +                               /* will disable the "pause time exceeded */
19558                                 /* tests.                                */
19559  
19560 -/* Public procedures */
19561 -
19562 -/* Initialize the collector.  This is only required when using thread-local
19563 - * allocation, since unlike the regular allocation routines, GC_local_malloc
19564 - * is not self-initializing.  If you use GC_local_malloc you should arrange
19565 - * to call this somehow (e.g. from a constructor) before doing any allocation.
19566 - */
19567 -GC_API void GC_init GC_PROTO((void));
19568 -
19569  /*
19570   * general purpose allocation routines, with roughly malloc calling conv.
19571   * The atomic versions promise that no relevant pointers are contained
19572 @@ -341,21 +419,17 @@
19573  GC_API void GC_add_roots GC_PROTO((char * low_address,
19574                                    char * high_address_plus_1));
19575  
19576 -/* Remove a root segment.  Wizards only. */
19577 -GC_API void GC_remove_roots GC_PROTO((char * low_address, 
19578 -    char * high_address_plus_1));
19579 -
19580  /* Add a displacement to the set of those considered valid by the      */
19581  /* collector.  GC_register_displacement(n) means that if p was returned */
19582  /* by GC_malloc, then (char *)p + n will be considered to be a valid   */
19583 -/* pointer to p.  N must be small and less than the size of p.         */
19584 +/* pointer to n.  N must be small and less than the size of p.         */
19585  /* (All pointers to the interior of objects from the stack are         */
19586  /* considered valid in any case.  This applies to heap objects and     */
19587  /* static data.)                                                       */
19588  /* Preferably, this should be called before any other GC procedures.   */
19589  /* Calling it later adds to the probability of excess memory           */
19590  /* retention.                                                          */
19591 -/* This is a no-op if the collector has recognition of                 */
19592 +/* This is a no-op if the collector was compiled with recognition of   */
19593  /* arbitrary interior pointers enabled, which is now the default.      */
19594  GC_API void GC_register_displacement GC_PROTO((GC_word n));
19595  
19596 @@ -390,18 +464,9 @@
19597  GC_API size_t GC_get_bytes_since_gc GC_PROTO((void));
19598  
19599  /* Return the total number of bytes allocated in this process.         */
19600 -/* Never decreases, except due to wrapping.                            */
19601 +/* Never decreases.                                                    */
19602  GC_API size_t GC_get_total_bytes GC_PROTO((void));
19603  
19604 -/* Disable garbage collection.  Even GC_gcollect calls will be                 */
19605 -/* ineffective.                                                                */
19606 -GC_API void GC_disable GC_PROTO((void));
19607 -
19608 -/* Reenable garbage collection.  GC_diable() and GC_enable() calls     */
19609 -/* nest.  Garbage collection is enabled if the number of calls to both */
19610 -/* both functions is equal.                                            */
19611 -GC_API void GC_enable GC_PROTO((void));
19612 -
19613  /* Enable incremental/generational collection. */
19614  /* Not advisable unless dirty bits are                 */
19615  /* available or most heap objects are          */
19616 @@ -409,11 +474,7 @@
19617  /* Don't use in leak finding mode.             */
19618  /* Ignored if GC_dont_gc is true.              */
19619  /* Only the generational piece of this is      */
19620 -/* functional if GC_parallel is TRUE           */
19621 -/* or if GC_time_limit is GC_TIME_UNLIMITED.   */
19622 -/* Causes GC_local_gcj_malloc() to revert to   */
19623 -/* locked allocation.  Must be called          */
19624 -/* before any GC_local_gcj_malloc() calls.     */
19625 +/* functional if GC_parallel is TRUE.          */
19626  GC_API void GC_enable_incremental GC_PROTO((void));
19627  
19628  /* Does incremental mode write-protect pages?  Returns zero or */
19629 @@ -457,42 +518,6 @@
19630  #   define GC_RETURN_ADDR (GC_word)__return_address
19631  #endif
19632  
19633 -#ifdef __linux__
19634 -# include <features.h>
19635 -# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
19636 -     && !defined(__ia64__)
19637 -#   define GC_HAVE_BUILTIN_BACKTRACE
19638 -#   define GC_CAN_SAVE_CALL_STACKS
19639 -# endif
19640 -# if defined(__i386__) || defined(__x86_64__)
19641 -#   define GC_CAN_SAVE_CALL_STACKS
19642 -# endif
19643 -#endif
19644 -
19645 -#if defined(__sparc__)
19646 -#   define GC_CAN_SAVE_CALL_STACKS
19647 -#endif
19648 -
19649 -/* If we're on an a platform on which we can't save call stacks, but   */
19650 -/* gcc is normally used, we go ahead and define GC_ADD_CALLER.         */
19651 -/* We make this decision independent of whether gcc is actually being  */
19652 -/* used, in order to keep the interface consistent, and allow mixing   */
19653 -/* of compilers.                                                       */
19654 -/* This may also be desirable if it is possible but expensive to       */
19655 -/* retrieve the call chain.                                            */
19656 -#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
19657 -     || defined(__FreeBSD__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
19658 -# define GC_ADD_CALLER
19659 -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) 
19660 -    /* gcc knows how to retrieve return address, but we don't know */
19661 -    /* how to generate call stacks.                               */
19662 -#   define GC_RETURN_ADDR (GC_word)__builtin_return_address(0)
19663 -# else
19664 -    /* Just pass 0 for gcc compatibility. */
19665 -#   define GC_RETURN_ADDR 0
19666 -# endif
19667 -#endif
19668 -
19669  #ifdef GC_ADD_CALLER
19670  #  define GC_EXTRAS GC_RETURN_ADDR, __FILE__, __LINE__
19671  #  define GC_EXTRA_PARAMS GC_word ra, GC_CONST char * s, int i
19672 @@ -511,42 +536,18 @@
19673         GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19674  GC_API GC_PTR GC_debug_malloc_stubborn
19675         GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19676 -GC_API GC_PTR GC_debug_malloc_ignore_off_page
19677 -       GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19678 -GC_API GC_PTR GC_debug_malloc_atomic_ignore_off_page
19679 -       GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
19680  GC_API void GC_debug_free GC_PROTO((GC_PTR object_addr));
19681  GC_API GC_PTR GC_debug_realloc
19682         GC_PROTO((GC_PTR old_object, size_t new_size_in_bytes,
19683                   GC_EXTRA_PARAMS));
19684 +                                
19685  GC_API void GC_debug_change_stubborn GC_PROTO((GC_PTR));
19686  GC_API void GC_debug_end_stubborn_change GC_PROTO((GC_PTR));
19687 -
19688 -/* Routines that allocate objects with debug information (like the     */
19689 -/* above), but just fill in dummy file and line number information.    */
19690 -/* Thus they can serve as drop-in malloc/realloc replacements.  This   */
19691 -/* can be useful for two reasons:                                      */
19692 -/* 1) It allows the collector to be built with DBG_HDRS_ALL defined    */
19693 -/*    even if some allocation calls come from 3rd party libraries      */
19694 -/*    that can't be recompiled.                                                */
19695 -/* 2) On some platforms, the file and line information is redundant,   */
19696 -/*    since it can be reconstructed from a stack trace.  On such       */
19697 -/*    platforms it may be more convenient not to recompile, e.g. for   */
19698 -/*    leak detection.  This can be accomplished by instructing the     */
19699 -/*    linker to replace malloc/realloc with these.                     */
19700 -GC_API GC_PTR GC_debug_malloc_replacement GC_PROTO((size_t size_in_bytes));
19701 -GC_API GC_PTR GC_debug_realloc_replacement
19702 -             GC_PROTO((GC_PTR object_addr, size_t size_in_bytes));
19703 -                                
19704  # ifdef GC_DEBUG
19705  #   define GC_MALLOC(sz) GC_debug_malloc(sz, GC_EXTRAS)
19706  #   define GC_MALLOC_ATOMIC(sz) GC_debug_malloc_atomic(sz, GC_EXTRAS)
19707 -#   define GC_MALLOC_UNCOLLECTABLE(sz) \
19708 -                       GC_debug_malloc_uncollectable(sz, GC_EXTRAS)
19709 -#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
19710 -                       GC_debug_malloc_ignore_off_page(sz, GC_EXTRAS)
19711 -#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
19712 -                       GC_debug_malloc_atomic_ignore_off_page(sz, GC_EXTRAS)
19713 +#   define GC_MALLOC_UNCOLLECTABLE(sz) GC_debug_malloc_uncollectable(sz, \
19714 +                                                       GC_EXTRAS)
19715  #   define GC_REALLOC(old, sz) GC_debug_realloc(old, sz, GC_EXTRAS)
19716  #   define GC_FREE(p) GC_debug_free(p)
19717  #   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
19718 @@ -565,10 +566,6 @@
19719  #   define GC_MALLOC(sz) GC_malloc(sz)
19720  #   define GC_MALLOC_ATOMIC(sz) GC_malloc_atomic(sz)
19721  #   define GC_MALLOC_UNCOLLECTABLE(sz) GC_malloc_uncollectable(sz)
19722 -#   define GC_MALLOC_IGNORE_OFF_PAGE(sz) \
19723 -                       GC_malloc_ignore_off_page(sz)
19724 -#   define GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(sz) \
19725 -                       GC_malloc_atomic_ignore_off_page(sz)
19726  #   define GC_REALLOC(old, sz) GC_realloc(old, sz)
19727  #   define GC_FREE(p) GC_free(p)
19728  #   define GC_REGISTER_FINALIZER(p, f, d, of, od) \
19729 @@ -647,8 +644,7 @@
19730  /* itself.  There is a stylistic argument that this is wrong,  */
19731  /* but it's unavoidable for C++, since the compiler may                */
19732  /* silently introduce these.  It's also benign in that specific        */
19733 -/* case.  And it helps if finalizable objects are split to     */
19734 -/* avoid cycles.                                               */
19735 +/* case.                                                       */
19736  /* Note that cd will still be viewed as accessible, even if it */
19737  /* refers to the object itself.                                        */
19738  GC_API void GC_register_finalizer_ignore_self
19739 @@ -721,6 +717,11 @@
19740         /* Undoes a registration by either of the above two     */
19741         /* routines.                                            */
19742  
19743 +/* Auxiliary fns to make finalization work correctly with displaced    */
19744 +/* pointers introduced by the debugging allocators.                    */
19745 +GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
19746 +GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
19747 +
19748  /* Returns !=0  if GC_invoke_finalizers has something to do.           */
19749  GC_API int GC_should_invoke_finalizers GC_PROTO((void));
19750  
19751 @@ -737,10 +738,6 @@
19752  typedef void (*GC_warn_proc) GC_PROTO((char *msg, GC_word arg));
19753  GC_API GC_warn_proc GC_set_warn_proc GC_PROTO((GC_warn_proc p));
19754      /* Returns old warning procedure.  */
19755 -
19756 -GC_API GC_word GC_set_free_space_divisor GC_PROTO((GC_word value));
19757 -    /* Set free_space_divisor.  See above for definition.      */
19758 -    /* Returns old value.                                      */
19759         
19760  /* The following is intended to be used by a higher level      */
19761  /* (e.g. Java-like) finalization facility.  It is expected     */
19762 @@ -878,16 +875,12 @@
19763  
19764  #if defined(GC_WIN32_THREADS)
19765  # include <windows.h>
19766 -# include <winbase.h>
19767  
19768    /*
19769     * All threads must be created using GC_CreateThread, so that they will be
19770 -   * recorded in the thread table.  For backwards compatibility, this is not
19771 -   * technically true if the GC is built as a dynamic library, since it can
19772 -   * and does then use DllMain to keep track of thread creations.  But new code
19773 -   * should be built to call GC_CreateThread.
19774 +   * recorded in the thread table.
19775     */
19776 -  GC_API HANDLE GC_CreateThread(
19777 +  HANDLE WINAPI GC_CreateThread(
19778        LPSECURITY_ATTRIBUTES lpThreadAttributes,
19779        DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress,
19780        LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId );
19781 @@ -921,18 +914,13 @@
19782  #   define GC_INIT() { extern end, etext; \
19783                        GC_noop(&end, &etext); }
19784  #else
19785 -# if defined(__CYGWIN32__) && defined(GC_DLL) || defined (_AIX)
19786 +# if (defined(__CYGWIN32__) && defined(GC_USE_DLL)) || defined (_AIX)
19787      /*
19788 -     * Similarly gnu-win32 DLLs need explicit initialization from
19789 -     * the main program, as does AIX.
19790 +     * Similarly gnu-win32 DLLs need explicit initialization
19791       */
19792  #   define GC_INIT() { GC_add_roots(DATASTART, DATAEND); }
19793  # else
19794 -#  if defined(__APPLE__) && defined(__MACH__)
19795 -#   define GC_INIT() { GC_init(); }
19796 -#  else
19797 -#    define GC_INIT()
19798 -#  endif
19799 +#   define GC_INIT()
19800  # endif
19801  #endif
19802  
19803 diff -Nur ../boehm-gc/include/gc_allocator.h boehm-gc/include/gc_allocator.h
19804 --- ../boehm-gc/include/gc_allocator.h  Mon May 26 13:28:19 2003
19805 +++ boehm-gc/include/gc_allocator.h     Wed Dec 31 16:00:00 1969
19806 @@ -1,232 +0,0 @@
19807 -/*
19808 - * Copyright (c) 1996-1997
19809 - * Silicon Graphics Computer Systems, Inc.
19810 - *
19811 - * Permission to use, copy, modify, distribute and sell this software
19812 - * and its documentation for any purpose is hereby granted without fee,
19813 - * provided that the above copyright notice appear in all copies and
19814 - * that both that copyright notice and this permission notice appear
19815 - * in supporting documentation.  Silicon Graphics makes no
19816 - * representations about the suitability of this software for any
19817 - * purpose.  It is provided "as is" without express or implied warranty.
19818 - *
19819 - * Copyright (c) 2002
19820 - * Hewlett-Packard Company
19821 - *
19822 - * Permission to use, copy, modify, distribute and sell this software
19823 - * and its documentation for any purpose is hereby granted without fee,
19824 - * provided that the above copyright notice appear in all copies and
19825 - * that both that copyright notice and this permission notice appear
19826 - * in supporting documentation.  Hewlett-Packard Company makes no
19827 - * representations about the suitability of this software for any
19828 - * purpose.  It is provided "as is" without express or implied warranty.
19829 - */
19830 -
19831 -/*
19832 - * This implements standard-conforming allocators that interact with
19833 - * the garbage collector.  Gc_alloctor<T> allocates garbage-collectable
19834 - * objects of type T.  Traceable_allocator<T> allocates objects that
19835 - * are not temselves garbage collected, but are scanned by the
19836 - * collector for pointers to collectable objects.  Traceable_alloc
19837 - * should be used for explicitly managed STL containers that may
19838 - * point to collectable objects.
19839 - *
19840 - * This code was derived from an earlier version of the GNU C++ standard
19841 - * library, which itself was derived from the SGI STL implementation.
19842 - */
19843 -
19844 -#include "gc.h"        // For size_t
19845 -
19846 -/* First some helpers to allow us to dispatch on whether or not a type
19847 - * is known to be pointerfree.
19848 - * These are private, except that the client may invoke the
19849 - * GC_DECLARE_PTRFREE macro.
19850 - */
19851 -
19852 -struct GC_true_type {};
19853 -struct GC_false_type {};
19854 -
19855 -template <class GC_tp>
19856 -struct GC_type_traits {
19857 -  GC_false_type GC_is_ptr_free;
19858 -};
19859 -
19860 -# define GC_DECLARE_PTRFREE(T) \
19861 -template<> struct GC_type_traits<T> { GC_true_type GC_is_ptr_free; }
19862 -
19863 -GC_DECLARE_PTRFREE(signed char);
19864 -GC_DECLARE_PTRFREE(unsigned char);
19865 -GC_DECLARE_PTRFREE(signed short);
19866 -GC_DECLARE_PTRFREE(unsigned short);
19867 -GC_DECLARE_PTRFREE(signed int);
19868 -GC_DECLARE_PTRFREE(unsigned int);
19869 -GC_DECLARE_PTRFREE(signed long);
19870 -GC_DECLARE_PTRFREE(unsigned long);
19871 -GC_DECLARE_PTRFREE(float);
19872 -GC_DECLARE_PTRFREE(double);
19873 -/* The client may want to add others.  */
19874 -
19875 -// In the following GC_Tp is GC_true_type iff we are allocating a
19876 -// pointerfree object.
19877 -template <class GC_Tp>
19878 -inline void * GC_selective_alloc(size_t n, GC_Tp) {
19879 -    return GC_MALLOC(n);
19880 -}
19881 -
19882 -template <>
19883 -inline void * GC_selective_alloc<GC_true_type>(size_t n, GC_true_type) {
19884 -    return GC_MALLOC_ATOMIC(n);
19885 -}
19886 -
19887 -/* Now the public gc_allocator<T> class:
19888 - */
19889 -template <class GC_Tp>
19890 -class gc_allocator {
19891 -public:
19892 -  typedef size_t     size_type;
19893 -  typedef ptrdiff_t  difference_type;
19894 -  typedef GC_Tp*       pointer;
19895 -  typedef const GC_Tp* const_pointer;
19896 -  typedef GC_Tp&       reference;
19897 -  typedef const GC_Tp& const_reference;
19898 -  typedef GC_Tp        value_type;
19899 -
19900 -  template <class GC_Tp1> struct rebind {
19901 -    typedef gc_allocator<GC_Tp1> other;
19902 -  };
19903 -
19904 -  gc_allocator()  {}
19905 -# ifndef _MSC_VER
19906 -    // I'm not sure why this is needed here in addition to the following.
19907 -    // The standard specifies it for the standard allocator, but VC++ rejects
19908 -    // it.     -HB
19909 -    gc_allocator(const gc_allocator&) throw() {}
19910 -# endif
19911 -  template <class GC_Tp1> gc_allocator(const gc_allocator<GC_Tp1>&) throw() {}
19912 -  ~gc_allocator() throw() {}
19913 -
19914 -  pointer address(reference GC_x) const { return &GC_x; }
19915 -  const_pointer address(const_reference GC_x) const { return &GC_x; }
19916 -
19917 -  // GC_n is permitted to be 0.  The C++ standard says nothing about what
19918 -  // the return value is when GC_n == 0.
19919 -  GC_Tp* allocate(size_type GC_n, const void* = 0) {
19920 -    GC_type_traits<GC_Tp> traits;
19921 -    return static_cast<GC_Tp *>
19922 -           (GC_selective_alloc(GC_n * sizeof(GC_Tp),
19923 -                               traits.GC_is_ptr_free));
19924 -  }
19925 -
19926 -  // __p is not permitted to be a null pointer.
19927 -  void deallocate(pointer __p, size_type GC_n)
19928 -    { GC_FREE(__p); }
19929 -
19930 -  size_type max_size() const throw()
19931 -    { return size_t(-1) / sizeof(GC_Tp); }
19932 -
19933 -  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
19934 -  void destroy(pointer __p) { __p->~GC_Tp(); }
19935 -};
19936 -
19937 -template<>
19938 -class gc_allocator<void> {
19939 -  typedef size_t      size_type;
19940 -  typedef ptrdiff_t   difference_type;
19941 -  typedef void*       pointer;
19942 -  typedef const void* const_pointer;
19943 -  typedef void        value_type;
19944 -
19945 -  template <class GC_Tp1> struct rebind {
19946 -    typedef gc_allocator<GC_Tp1> other;
19947 -  };
19948 -};
19949 -
19950 -
19951 -template <class GC_T1, class GC_T2>
19952 -inline bool operator==(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
19953 -{
19954 -  return true;
19955 -}
19956 -
19957 -template <class GC_T1, class GC_T2>
19958 -inline bool operator!=(const gc_allocator<GC_T1>&, const gc_allocator<GC_T2>&)
19959 -{
19960 -  return false;
19961 -}
19962 -
19963 -/*
19964 - * And the public traceable_allocator class.
19965 - */
19966 -
19967 -// Note that we currently don't specialize the pointer-free case, since a
19968 -// pointer-free traceable container doesn't make that much sense,
19969 -// though it could become an issue due to abstraction boundaries.
19970 -template <class GC_Tp>
19971 -class traceable_allocator {
19972 -public:
19973 -  typedef size_t     size_type;
19974 -  typedef ptrdiff_t  difference_type;
19975 -  typedef GC_Tp*       pointer;
19976 -  typedef const GC_Tp* const_pointer;
19977 -  typedef GC_Tp&       reference;
19978 -  typedef const GC_Tp& const_reference;
19979 -  typedef GC_Tp        value_type;
19980 -
19981 -  template <class GC_Tp1> struct rebind {
19982 -    typedef traceable_allocator<GC_Tp1> other;
19983 -  };
19984 -
19985 -  traceable_allocator() throw() {}
19986 -# ifndef _MSC_VER
19987 -    traceable_allocator(const traceable_allocator&) throw() {}
19988 -# endif
19989 -  template <class GC_Tp1> traceable_allocator
19990 -         (const traceable_allocator<GC_Tp1>&) throw() {}
19991 -  ~traceable_allocator() throw() {}
19992 -
19993 -  pointer address(reference GC_x) const { return &GC_x; }
19994 -  const_pointer address(const_reference GC_x) const { return &GC_x; }
19995 -
19996 -  // GC_n is permitted to be 0.  The C++ standard says nothing about what
19997 -  // the return value is when GC_n == 0.
19998 -  GC_Tp* allocate(size_type GC_n, const void* = 0) {
19999 -    return static_cast<GC_Tp*>(GC_MALLOC_UNCOLLECTABLE(GC_n * sizeof(GC_Tp)));
20000 -  }
20001 -
20002 -  // __p is not permitted to be a null pointer.
20003 -  void deallocate(pointer __p, size_type GC_n)
20004 -    { GC_FREE(__p); }
20005 -
20006 -  size_type max_size() const throw()
20007 -    { return size_t(-1) / sizeof(GC_Tp); }
20008 -
20009 -  void construct(pointer __p, const GC_Tp& __val) { new(__p) GC_Tp(__val); }
20010 -  void destroy(pointer __p) { __p->~GC_Tp(); }
20011 -};
20012 -
20013 -template<>
20014 -class traceable_allocator<void> {
20015 -  typedef size_t      size_type;
20016 -  typedef ptrdiff_t   difference_type;
20017 -  typedef void*       pointer;
20018 -  typedef const void* const_pointer;
20019 -  typedef void        value_type;
20020 -
20021 -  template <class GC_Tp1> struct rebind {
20022 -    typedef traceable_allocator<GC_Tp1> other;
20023 -  };
20024 -};
20025 -
20026 -
20027 -template <class GC_T1, class GC_T2>
20028 -inline bool operator==(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
20029 -{
20030 -  return true;
20031 -}
20032 -
20033 -template <class GC_T1, class GC_T2>
20034 -inline bool operator!=(const traceable_allocator<GC_T1>&, const traceable_allocator<GC_T2>&)
20035 -{
20036 -  return false;
20037 -}
20038 -
20039 diff -Nur ../boehm-gc/include/gc_config_macros.h boehm-gc/include/gc_config_macros.h
20040 --- ../boehm-gc/include/gc_config_macros.h      Mon May 26 13:28:19 2003
20041 +++ boehm-gc/include/gc_config_macros.h Wed Dec 31 16:00:00 1969
20042 @@ -1,142 +0,0 @@
20043 -/*
20044 - * This should never be included directly.  It is included only from gc.h.
20045 - * We separate it only to make gc.h more suitable as documentation.
20046 - * 
20047 - * Some tests for old macros.  These violate our namespace rules and will
20048 - * disappear shortly.  Use the GC_ names.
20049 - */
20050 -#if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS)
20051 -# define GC_SOLARIS_THREADS
20052 -#endif
20053 -#if defined(_SOLARIS_PTHREADS)
20054 -# define GC_SOLARIS_PTHREADS
20055 -#endif
20056 -#if defined(IRIX_THREADS)
20057 -# define GC_IRIX_THREADS
20058 -#endif
20059 -#if defined(DGUX_THREADS)
20060 -# if !defined(GC_DGUX386_THREADS)
20061 -#  define GC_DGUX386_THREADS
20062 -# endif
20063 -#endif
20064 -#if defined(HPUX_THREADS)
20065 -# define GC_HPUX_THREADS
20066 -#endif
20067 -#if defined(OSF1_THREADS)
20068 -# define GC_OSF1_THREADS
20069 -#endif
20070 -#if defined(LINUX_THREADS)
20071 -# define GC_LINUX_THREADS
20072 -#endif
20073 -#if defined(WIN32_THREADS)
20074 -# define GC_WIN32_THREADS
20075 -#endif
20076 -#if defined(USE_LD_WRAP)
20077 -# define GC_USE_LD_WRAP
20078 -#endif
20079 -
20080 -#if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
20081 -                            || defined(GC_SOLARIS_PTHREADS) \
20082 -                            || defined(GC_HPUX_THREADS) \
20083 -                            || defined(GC_LINUX_THREADS))
20084 -# define _REENTRANT
20085 -       /* Better late than never.  This fails if system headers that   */
20086 -       /* depend on this were previously included.                     */
20087 -#endif
20088 -
20089 -#if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
20090 -# define _POSIX4A_DRAFT10_SOURCE 1
20091 -#endif
20092 -
20093 -# if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
20094 -       defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
20095 -       defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
20096 -       defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
20097 -        (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__))
20098 -#   define GC_PTHREADS
20099 -# endif
20100 -
20101 -#if defined(GC_THREADS) && !defined(GC_PTHREADS)
20102 -# if defined(__linux__)
20103 -#   define GC_LINUX_THREADS
20104 -#   define GC_PTHREADS
20105 -# endif
20106 -# if !defined(LINUX) && (defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
20107 -                         || defined(hppa) || defined(__HPPA))
20108 -#   define GC_HPUX_THREADS
20109 -#   define GC_PTHREADS
20110 -# endif
20111 -# if !defined(__linux__) && (defined(__alpha) || defined(__alpha__))
20112 -#   define GC_OSF1_THREADS
20113 -#   define GC_PTHREADS
20114 -# endif
20115 -# if defined(__mips) && !defined(__linux__)
20116 -#   define GC_IRIX_THREADS
20117 -#   define GC_PTHREADS
20118 -# endif
20119 -# if defined(__sparc) && !defined(__linux__)
20120 -#   define GC_SOLARIS_PTHREADS
20121 -#   define GC_PTHREADS
20122 -# endif
20123 -# if defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
20124 -#   define GC_DARWIN_THREADS
20125 -#   define GC_PTHREADS
20126 -# endif
20127 -# if !defined(GC_PTHREADS) && defined(__FreeBSD__)
20128 -#   define GC_FREEBSD_THREADS
20129 -#   define GC_PTHREADS
20130 -# endif
20131 -# if defined(DGUX) && (defined(i386) || defined(__i386__))
20132 -#   define GC_DGUX386_THREADS
20133 -#   define GC_PTHREADS
20134 -# endif
20135 -#endif /* GC_THREADS */
20136 -
20137 -#if defined(GC_THREADS) && !defined(GC_PTHREADS) && defined(MSWIN32)
20138 -# define GC_WIN32_THREADS
20139 -#endif
20140 -
20141 -#if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
20142 -#   define GC_SOLARIS_THREADS
20143 -#endif
20144 -
20145 -# define __GC
20146 -# include <stddef.h>
20147 -# ifdef _WIN32_WCE
20148 -/* Yet more kluges for WinCE */
20149 -#   include <stdlib.h>         /* size_t is defined here */
20150 -    typedef long ptrdiff_t;    /* ptrdiff_t is not defined */
20151 -# endif
20152 -
20153 -#if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL)
20154 -# define GC_DLL
20155 -#endif
20156 -
20157 -#if defined(__MINGW32__) && defined(GC_DLL)
20158 -# ifdef GC_BUILD
20159 -#   define GC_API __declspec(dllexport)
20160 -# else
20161 -#   define GC_API __declspec(dllimport)
20162 -# endif
20163 -#endif
20164 -
20165 -#if (defined(__DMC__) || defined(_MSC_VER)) && defined(GC_DLL)
20166 -# ifdef GC_BUILD
20167 -#   define GC_API extern __declspec(dllexport)
20168 -# else
20169 -#   define GC_API __declspec(dllimport)
20170 -# endif
20171 -#endif
20172 -
20173 -#if defined(__WATCOMC__) && defined(GC_DLL)
20174 -# ifdef GC_BUILD
20175 -#   define GC_API extern __declspec(dllexport)
20176 -# else
20177 -#   define GC_API extern __declspec(dllimport)
20178 -# endif
20179 -#endif
20180 -
20181 -#ifndef GC_API
20182 -#define GC_API extern
20183 -#endif
20184 -
20185 diff -Nur ../boehm-gc/include/gc_cpp.h boehm-gc/include/gc_cpp.h
20186 --- ../boehm-gc/include/gc_cpp.h        Mon May 26 13:28:19 2003
20187 +++ boehm-gc/include/gc_cpp.h   Fri Aug 17 18:04:43 2001
20188 @@ -134,9 +134,7 @@
20189  #include "gc.h"
20190  
20191  #ifndef THINK_CPLUS
20192 -#  define GC_cdecl
20193 -#else
20194 -#  define GC_cdecl _cdecl
20195 +#define _cdecl
20196  #endif
20197  
20198  #if ! defined( GC_NO_OPERATOR_NEW_ARRAY ) \
20199 @@ -161,22 +159,12 @@
20200  class gc {public:
20201      inline void* operator new( size_t size );
20202      inline void* operator new( size_t size, GCPlacement gcp );
20203 -    inline void* operator new( size_t size, void *p );
20204 -       /* Must be redefined here, since the other overloadings */
20205 -       /* hide the global definition.                          */
20206      inline void operator delete( void* obj );
20207 -#   ifndef __BORLANDC__  /* Confuses the Borland compiler. */
20208 -      inline void operator delete( void*, void* );
20209 -#   endif
20210  
20211  #ifdef GC_OPERATOR_NEW_ARRAY
20212      inline void* operator new[]( size_t size );
20213      inline void* operator new[]( size_t size, GCPlacement gcp );
20214 -    inline void* operator new[]( size_t size, void *p );
20215      inline void operator delete[]( void* obj );
20216 -#   ifndef __BORLANDC__
20217 -      inline void gc::operator delete[]( void*, void* );
20218 -#   endif
20219  #endif /* GC_OPERATOR_NEW_ARRAY */
20220      };    
20221      /*
20222 @@ -188,7 +176,7 @@
20223      inline gc_cleanup();
20224      inline virtual ~gc_cleanup();
20225  private:
20226 -    inline static void GC_cdecl cleanup( void* obj, void* clientData );};
20227 +    inline static void _cdecl cleanup( void* obj, void* clientData );};
20228      /*
20229      Instances of classes derived from "gc_cleanup" will be allocated
20230      in the collected heap by default.  When the collector discovers an
20231 @@ -223,6 +211,7 @@
20232      classes derived from "gc_cleanup" or containing members derived
20233      from "gc_cleanup". */
20234  
20235 +#ifdef GC_OPERATOR_NEW_ARRAY
20236  
20237  #ifdef _MSC_VER
20238   /** This ensures that the system default operator new[] doesn't get
20239 @@ -231,23 +220,41 @@
20240    *  There seems to be really redirect new in this environment without
20241    *  including this everywhere. 
20242    */
20243 - void *operator new[]( size_t size );
20244
20245 - void operator delete[](void* obj);
20246 -
20247 - void* operator new( size_t size);
20248 + inline void *operator new[]( size_t size )
20249 + {
20250 +    return GC_MALLOC_UNCOLLECTABLE( size );
20251 + }
20252 +
20253 + inline void operator delete[](void* obj)
20254 + {
20255 +    GC_FREE(obj);
20256 + };
20257 +
20258 + inline void* operator new( size_t size)
20259 + {
20260 +    return GC_MALLOC_UNCOLLECTABLE( size);
20261 + };   
20262 +
20263 + inline void operator delete(void* obj)
20264 + {
20265 +    GC_FREE(obj);
20266 + };
20267  
20268 - void operator delete(void* obj);
20269  
20270 - // This new operator is used by VC++ in case of Debug builds !
20271 - void* operator new(  size_t size,
20272 +// This new operator is used by VC++ in case of Debug builds !
20273 +  inline void* operator new( size_t size,
20274                       int ,//nBlockUse,
20275                       const char * szFileName,
20276 -                     int nLine );
20277 -#endif /* _MSC_VER */
20278 +                     int nLine
20279 +                     ) {
20280 +# ifndef GC_DEBUG
20281 +     return GC_malloc_uncollectable( size );
20282 +# else
20283 +     return GC_debug_malloc_uncollectable(size, szFileName, nLine);
20284 +# endif
20285 +  }
20286  
20287 -
20288 -#ifdef GC_OPERATOR_NEW_ARRAY
20289 +#endif /* _MSC_VER */
20290  
20291  inline void* operator new[](
20292      size_t size, 
20293 @@ -276,15 +283,9 @@
20294      else
20295          return GC_MALLOC_UNCOLLECTABLE( size );}
20296  
20297 -inline void* gc::operator new( size_t size, void *p ) {
20298 -    return p;}
20299 -
20300  inline void gc::operator delete( void* obj ) {
20301      GC_FREE( obj );}
20302      
20303 -#ifndef __BORLANDC__
20304 -  inline void gc::operator delete( void*, void* ) {}
20305 -#endif
20306  
20307  #ifdef GC_OPERATOR_NEW_ARRAY
20308  
20309 @@ -294,21 +295,14 @@
20310  inline void* gc::operator new[]( size_t size, GCPlacement gcp ) {
20311      return gc::operator new( size, gcp );}
20312  
20313 -inline void* gc::operator new[]( size_t size, void *p ) {
20314 -    return p;}
20315 -
20316  inline void gc::operator delete[]( void* obj ) {
20317      gc::operator delete( obj );}
20318 -
20319 -#ifndef __BORLANDC__
20320 -  inline void gc::operator delete[]( void*, void* ) {}
20321 -#endif
20322      
20323  #endif /* GC_OPERATOR_NEW_ARRAY */
20324  
20325  
20326  inline gc_cleanup::~gc_cleanup() {
20327 -    GC_register_finalizer_ignore_self( GC_base(this), 0, 0, 0, 0 );}
20328 +    GC_REGISTER_FINALIZER_IGNORE_SELF( GC_base(this), 0, 0, 0, 0 );}
20329  
20330  inline void gc_cleanup::cleanup( void* obj, void* displ ) {
20331      ((gc_cleanup*) ((char*) obj + (ptrdiff_t) displ))->~gc_cleanup();}
20332 diff -Nur ../boehm-gc/include/gc_local_alloc.h boehm-gc/include/gc_local_alloc.h
20333 --- ../boehm-gc/include/gc_local_alloc.h        Mon May 26 13:28:19 2003
20334 +++ boehm-gc/include/gc_local_alloc.h   Fri Aug 17 11:30:50 2001
20335 @@ -33,9 +33,6 @@
20336   * -DTHREAD_LOCAL_ALLOC, which is currently supported only on Linux.
20337   *
20338   * The debugging allocators use standard, not thread-local allocation.
20339 - *
20340 - * These routines normally require an explicit call to GC_init(), though
20341 - * that may be done from a constructor function.
20342   */
20343  
20344  #ifndef GC_LOCAL_ALLOC_H
20345 diff -Nur ../boehm-gc/include/gc_mark.h boehm-gc/include/gc_mark.h
20346 --- ../boehm-gc/include/gc_mark.h       Mon May 26 13:28:19 2003
20347 +++ boehm-gc/include/gc_mark.h  Fri Aug 17 11:30:50 2001
20348 @@ -129,9 +129,7 @@
20349  /* be reserved for exceptional cases.  That will ensure that           */
20350  /* performance of this call is not extremely performance critical.     */
20351  /* (Otherwise we would need to inline GC_mark_and_push completely,     */
20352 -/* which would tie the client code to a fixed collector version.)      */
20353 -/* Note that mark procedures should explicitly call FIXUP_POINTER()    */
20354 -/* if required.                                                                */
20355 +/* which would tie the client code to a fixed colllector version.)     */
20356  struct GC_ms_entry *GC_mark_and_push
20357                 GC_PROTO((GC_PTR obj,
20358                           struct GC_ms_entry * mark_stack_ptr,
20359 diff -Nur ../boehm-gc/include/gc_pthread_redirects.h boehm-gc/include/gc_pthread_redirects.h
20360 --- ../boehm-gc/include/gc_pthread_redirects.h  Mon May 26 13:28:19 2003
20361 +++ boehm-gc/include/gc_pthread_redirects.h     Tue Oct 16 21:55:28 2001
20362 @@ -52,21 +52,15 @@
20363    int GC_pthread_create(pthread_t *new_thread,
20364                          const pthread_attr_t *attr,
20365                         void *(*start_routine)(void *), void *arg);
20366 -#ifndef GC_DARWIN_THREADS
20367    int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
20368 -#endif
20369    int GC_pthread_join(pthread_t thread, void **retval);
20370    int GC_pthread_detach(pthread_t thread);
20371  
20372  # define pthread_create GC_pthread_create
20373 -#ifndef GC_DARWIN_THREADS
20374  # define pthread_sigmask GC_pthread_sigmask
20375 -#endif
20376  # define pthread_join GC_pthread_join
20377  # define pthread_detach GC_pthread_detach
20378 -#ifndef GC_DARWIN_THREADS
20379  # define dlopen GC_dlopen
20380 -#endif
20381  
20382  #endif /* GC_xxxxx_THREADS */
20383  
20384 diff -Nur ../boehm-gc/include/gc_typed.h boehm-gc/include/gc_typed.h
20385 --- ../boehm-gc/include/gc_typed.h      Mon May 26 13:28:19 2003
20386 +++ boehm-gc/include/gc_typed.h Fri Aug 17 11:30:50 2001
20387 @@ -29,21 +29,14 @@
20388  #   include "gc.h"
20389  # endif
20390  
20391 -#ifdef __cplusplus
20392 -  extern "C" {
20393 -#endif
20394  typedef GC_word * GC_bitmap;
20395         /* The least significant bit of the first word is one if        */
20396         /* the first word in the object may be a pointer.               */
20397         
20398 -# define GC_WORDSZ (8*sizeof(GC_word))
20399  # define GC_get_bit(bm, index) \
20400 -               (((bm)[index/GC_WORDSZ] >> (index%GC_WORDSZ)) & 1)
20401 +               (((bm)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
20402  # define GC_set_bit(bm, index) \
20403 -               (bm)[index/GC_WORDSZ] |= ((GC_word)1 << (index%GC_WORDSZ))
20404 -# define GC_WORD_OFFSET(t, f) (offsetof(t,f)/sizeof(GC_word))
20405 -# define GC_WORD_LEN(t) (sizeof(t)/ sizeof(GC_word))
20406 -# define GC_BITMAP_SIZE(t) ((GC_WORD_LEN(t) + GC_WORDSZ-1)/GC_WORDSZ)
20407 +               (bm)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
20408  
20409  typedef GC_word GC_descr;
20410  
20411 @@ -64,16 +57,6 @@
20412                 /* is intended to be called once per type, not once     */
20413                 /* per allocation.                                      */
20414  
20415 -/* It is possible to generate a descriptor for a C type T with */
20416 -/* word aligned pointer fields f1, f2, ... as follows:                 */
20417 -/*                                                                     */
20418 -/* GC_descr T_descr;
20419 -/* GC_word T_bitmap[GC_BITMAP_SIZE(T)] = {0};                          */
20420 -/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f1));                         */
20421 -/* GC_set_bit(T_bitmap, GC_WORD_OFFSET(T,f2));                         */
20422 -/* ...                                                                 */
20423 -/* T_descr = GC_make_descriptor(T_bitmap, GC_WORD_LEN(T));             */
20424 -
20425  GC_API GC_PTR GC_malloc_explicitly_typed
20426                         GC_PROTO((size_t size_in_bytes, GC_descr d));
20427                 /* Allocate an object whose layout is described by d.   */
20428 @@ -96,18 +79,15 @@
20429         /* Returned object is cleared.                          */
20430  
20431  #ifdef GC_DEBUG
20432 -#   define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) GC_MALLOC(bytes)
20433 -#   define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
20434 +#   define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) GC_MALLOC(bytes)
20435 +#   define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
20436  #else
20437 -#  define GC_MALLOC_EXPLICITLY_TYPED(bytes, d) \
20438 +#  define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) \
20439         GC_malloc_explicitly_typed(bytes, d)
20440 -#  define GC_CALLOC_EXPLICITLY_TYPED(n, bytes, d) \
20441 +#  define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) \
20442         GC_calloc_explicitly_typed(n, bytes, d)
20443  #endif /* !GC_DEBUG */
20444  
20445 -#ifdef __cplusplus
20446 -  } /* matches extern "C" */
20447 -#endif
20448  
20449  #endif /* _GC_TYPED_H */
20450  
20451 diff -Nur ../boehm-gc/include/new_gc_alloc.h boehm-gc/include/new_gc_alloc.h
20452 --- ../boehm-gc/include/new_gc_alloc.h  Mon May 26 13:28:19 2003
20453 +++ boehm-gc/include/new_gc_alloc.h     Tue Oct 16 02:01:38 2001
20454 @@ -64,14 +64,6 @@
20455  #endif
20456  #endif
20457  
20458 -/* A hack to deal with gcc 3.1.  If you are using gcc3.1 and later,    */
20459 -/* you should probably really use gc_allocator.h instead.              */
20460 -#if defined (__GNUC__) && \
20461 -    (__GNUC > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ >= 1)))
20462 -# define simple_alloc __simple_alloc
20463 -#endif
20464 -
20465 -
20466  
20467  #define GC_ALLOC_H
20468  
20469 diff -Nur ../boehm-gc/include/private/CVS/Entries boehm-gc/include/private/CVS/Entries
20470 --- ../boehm-gc/include/private/CVS/Entries     Sat May 31 21:17:21 2003
20471 +++ boehm-gc/include/private/CVS/Entries        Wed Dec 31 16:00:00 1969
20472 @@ -1,10 +0,0 @@
20473 -/dbg_mlc.h/1.3/Thu Mar 14 07:28:33 2002//
20474 -/gc_hdrs.h/1.2/Fri Sep 14 00:43:56 2001//
20475 -/gc_locks.h/1.5/Thu Oct 24 23:42:28 2002//
20476 -/gc_pmark.h/1.3/Thu Mar 14 07:28:33 2002//
20477 -/gc_priv.h/1.7/Fri Aug  2 10:04:39 2002//
20478 -/gcconfig.h/1.10/Thu Oct 24 23:42:28 2002//
20479 -/solaris_threads.h/1.3/Mon Nov 12 19:17:42 2001//
20480 -/specific.h/1.3/Thu Apr  4 07:13:22 2002//
20481 -/cord_pos.h/1.2/Mon May 26 20:28:24 2003//
20482 -D
20483 diff -Nur ../boehm-gc/include/private/CVS/Repository boehm-gc/include/private/CVS/Repository
20484 --- ../boehm-gc/include/private/CVS/Repository  Sun May 25 12:49:09 2003
20485 +++ boehm-gc/include/private/CVS/Repository     Wed Dec 31 16:00:00 1969
20486 @@ -1 +0,0 @@
20487 -/cvs/root/gcc3/gcc3/boehm-gc/include/private
20488 diff -Nur ../boehm-gc/include/private/CVS/Root boehm-gc/include/private/CVS/Root
20489 --- ../boehm-gc/include/private/CVS/Root        Sun May 25 12:49:09 2003
20490 +++ boehm-gc/include/private/CVS/Root   Wed Dec 31 16:00:00 1969
20491 @@ -1 +0,0 @@
20492 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
20493 diff -Nur ../boehm-gc/include/private/darwin_semaphore.h boehm-gc/include/private/darwin_semaphore.h
20494 --- ../boehm-gc/include/private/darwin_semaphore.h      Mon May 26 13:28:24 2003
20495 +++ boehm-gc/include/private/darwin_semaphore.h Wed Dec 31 16:00:00 1969
20496 @@ -1,68 +0,0 @@
20497 -#ifndef GC_DARWIN_SEMAPHORE_H
20498 -#define GC_DARWIN_SEMAPHORE_H
20499 -
20500 -#if !defined(GC_DARWIN_THREADS)
20501 -#error darwin_semaphore.h included with GC_DARWIN_THREADS not defined
20502 -#endif
20503 -
20504 -/*
20505 -   This is a very simple semaphore implementation for darwin. It
20506 -   is implemented in terms of pthreads calls so it isn't async signal
20507 -   safe. This isn't a problem because signals aren't used to
20508 -   suspend threads on darwin.
20509 -*/
20510 -   
20511 -typedef struct {
20512 -    pthread_mutex_t mutex;
20513 -    pthread_cond_t cond;
20514 -    int value;
20515 -} sem_t;
20516 -
20517 -static int sem_init(sem_t *sem, int pshared, int value) {
20518 -    int ret;
20519 -    if(pshared)
20520 -        GC_abort("sem_init with pshared set");
20521 -    sem->value = value;
20522 -    
20523 -    ret = pthread_mutex_init(&sem->mutex,NULL);
20524 -    if(ret < 0) return -1;
20525 -    ret = pthread_cond_init(&sem->cond,NULL);
20526 -    if(ret < 0) return -1;
20527 -    return 0;
20528 -}
20529 -
20530 -static int sem_post(sem_t *sem) {
20531 -    if(pthread_mutex_lock(&sem->mutex) < 0)
20532 -        return -1;
20533 -    sem->value++;
20534 -    if(pthread_cond_signal(&sem->cond) < 0) {
20535 -        pthread_mutex_unlock(&sem->mutex);
20536 -        return -1;
20537 -    }
20538 -    if(pthread_mutex_unlock(&sem->mutex) < 0)
20539 -        return -1;
20540 -    return 0;
20541 -}
20542 -
20543 -static int sem_wait(sem_t *sem) {
20544 -    if(pthread_mutex_lock(&sem->mutex) < 0)
20545 -        return -1;
20546 -    while(sem->value == 0) {
20547 -        pthread_cond_wait(&sem->cond,&sem->mutex);
20548 -    }
20549 -    sem->value--;
20550 -    if(pthread_mutex_unlock(&sem->mutex) < 0)
20551 -        return -1;    
20552 -    return 0;
20553 -}
20554 -
20555 -static int sem_destroy(sem_t *sem) {
20556 -    int ret;
20557 -    ret = pthread_cond_destroy(&sem->cond);
20558 -    if(ret < 0) return -1;
20559 -    ret = pthread_mutex_destroy(&sem->mutex);
20560 -    if(ret < 0) return -1;
20561 -    return 0;
20562 -}
20563 -
20564 -#endif
20565 diff -Nur ../boehm-gc/include/private/darwin_stop_world.h boehm-gc/include/private/darwin_stop_world.h
20566 --- ../boehm-gc/include/private/darwin_stop_world.h     Mon May 26 13:28:24 2003
20567 +++ boehm-gc/include/private/darwin_stop_world.h        Wed Dec 31 16:00:00 1969
20568 @@ -1,15 +0,0 @@
20569 -#ifndef GC_DARWIN_STOP_WORLD_H
20570 -#define GC_DARWIN_STOP_WORLD_H
20571 -
20572 -#if !defined(GC_DARWIN_THREADS)
20573 -#error darwin_stop_world.h included without GC_DARWIN_THREADS defined
20574 -#endif
20575 -
20576 -#include <mach/mach.h>
20577 -#include <mach/thread_act.h>
20578 -
20579 -struct thread_stop_info {
20580 -    mach_port_t mach_thread;
20581 -};
20582 -
20583 -#endif
20584 diff -Nur ../boehm-gc/include/private/dbg_mlc.h boehm-gc/include/private/dbg_mlc.h
20585 --- ../boehm-gc/include/private/dbg_mlc.h       Mon May 26 13:28:24 2003
20586 +++ boehm-gc/include/private/dbg_mlc.h  Mon Feb 11 20:37:57 2002
20587 @@ -115,24 +115,16 @@
20588  
20589  #ifdef SHORT_DBG_HDRS
20590  #   define DEBUG_BYTES (sizeof (oh))
20591 -#   define UNCOLLECTABLE_DEBUG_BYTES DEBUG_BYTES
20592  #else
20593      /* Add space for END_FLAG, but use any extra space that was already        */
20594      /* added to catch off-the-end pointers.                            */
20595 -    /* For uncollectable objects, the extra byte is not added.         */
20596 -#   define UNCOLLECTABLE_DEBUG_BYTES (sizeof (oh) + sizeof (word))
20597 -#   define DEBUG_BYTES (UNCOLLECTABLE_DEBUG_BYTES - EXTRA_BYTES)
20598 +#   define DEBUG_BYTES (sizeof (oh) + sizeof (word) - EXTRA_BYTES)
20599  #endif
20600  #define USR_PTR_FROM_BASE(p) ((ptr_t)(p) + sizeof(oh))
20601  
20602  /* Round bytes to words without adding extra byte at end.      */
20603  #define SIMPLE_ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + WORDS_TO_BYTES(1) - 1)
20604  
20605 -/* ADD_CALL_CHAIN stores a (partial) call chain into an object */
20606 -/* header.  It may be called with or without the allocation    */
20607 -/* lock.                                                       */
20608 -/* PRINT_CALL_CHAIN prints the call chain stored in an object  */
20609 -/* to stderr.  It requires that we do not hold the lock.       */
20610  #ifdef SAVE_CALL_CHAIN
20611  #   define ADD_CALL_CHAIN(base, ra) GC_save_callers(((oh *)(base)) -> oh_ci)
20612  #   define PRINT_CALL_CHAIN(base) GC_print_callers(((oh *)(base)) -> oh_ci)
20613 diff -Nur ../boehm-gc/include/private/gc_hdrs.h boehm-gc/include/private/gc_hdrs.h
20614 --- ../boehm-gc/include/private/gc_hdrs.h       Mon May 26 13:28:24 2003
20615 +++ boehm-gc/include/private/gc_hdrs.h  Fri Aug 17 18:04:43 2001
20616 @@ -70,7 +70,7 @@
20617  #define ADVANCE(p, hhdr, source) \
20618             { \
20619               hdr * new_hdr = GC_invalid_header; \
20620 -              p = GC_find_start(p, hhdr, &new_hdr); \
20621 +              p = GC_FIND_START(p, hhdr, &new_hdr, (word)source); \
20622               hhdr = new_hdr; \
20623             }
20624  
20625 diff -Nur ../boehm-gc/include/private/gc_locks.h boehm-gc/include/private/gc_locks.h
20626 --- ../boehm-gc/include/private/gc_locks.h      Mon May 26 13:28:24 2003
20627 +++ boehm-gc/include/private/gc_locks.h Fri Sep 27 13:40:06 2002
20628 @@ -145,24 +145,23 @@
20629  #    if defined(POWERPC)
20630          inline static int GC_test_and_set(volatile unsigned int *addr) {
20631            int oldval;
20632 -          int temp = 1; /* locked value */
20633 +          int temp = 1; // locked value
20634  
20635            __asm__ __volatile__(
20636 -               "1:\tlwarx %0,0,%3\n"   /* load and reserve               */
20637 -               "\tcmpwi %0, 0\n"       /* if load is                     */
20638 -               "\tbne 2f\n"            /*   non-zero, return already set */
20639 -               "\tstwcx. %2,0,%1\n"    /* else store conditional         */
20640 -               "\tbne- 1b\n"           /* retry if lost reservation      */
20641 -               "\tsync\n"              /* import barrier                 */
20642 -               "2:\t\n"                /* oldval is zero if we set       */
20643 +               "1:\tlwarx %0,0,%3\n"   // load and reserve
20644 +               "\tcmpwi %0, 0\n"       // if load is
20645 +               "\tbne 2f\n"            //   non-zero, return already set
20646 +               "\tstwcx. %2,0,%1\n"    // else store conditional
20647 +               "\tbne- 1b\n"           // retry if lost reservation
20648 +               "2:\t\n"                // oldval is zero if we set
20649                : "=&r"(oldval), "=p"(addr)
20650                : "r"(temp), "1"(addr)
20651 -              : "cr0","memory");
20652 -          return oldval;
20653 +              : "memory");
20654 +          return (int)oldval;
20655          }
20656  #       define GC_TEST_AND_SET_DEFINED
20657          inline static void GC_clear(volatile unsigned int *addr) {
20658 -         __asm__ __volatile__("eieio" : : : "memory");
20659 +         __asm__ __volatile__("eieio" ::: "memory");
20660            *(addr) = 0;
20661          }
20662  #       define GC_CLEAR_DEFINED
20663 @@ -192,11 +191,8 @@
20664            return oldvalue;
20665          }
20666  #       define GC_TEST_AND_SET_DEFINED
20667 -        inline static void GC_clear(volatile unsigned int *addr) {
20668 -          __asm__ __volatile__("mb" : : : "memory");
20669 -          *(addr) = 0;
20670 -        }
20671 -#       define GC_CLEAR_DEFINED
20672 +        /* Should probably also define GC_clear, since it needs        */
20673 +        /* a memory barrier ??                                 */
20674  #    endif /* ALPHA */
20675  #    ifdef ARM32
20676          inline static int GC_test_and_set(volatile unsigned int *addr) {
20677 @@ -214,30 +210,22 @@
20678  #       define GC_TEST_AND_SET_DEFINED
20679  #    endif /* ARM32 */
20680  #    ifdef S390
20681 -       inline static int GC_test_and_set(volatile unsigned int *addr) {
20682 -         int ret;
20683 -         __asm__ __volatile__ (
20684 -          "     l     %0,0(%2)\n"
20685 -          "0:   cs    %0,%1,0(%2)\n"
20686 -          "     jl    0b"
20687 -          : "=&d" (ret)
20688 -          : "d" (1), "a" (addr)
20689 -          : "cc", "memory");
20690 -         return ret;
20691 -       }
20692 +       inline static int GC_test_and_set(volatile unsigned int *addr) {
20693 +        int ret;
20694 +        __asm__ __volatile__ (
20695 +               "       l       %0,0(%2)\n"
20696 +               "0:     cs      %0,%1,0(%2)\n"
20697 +               "       jl      0b"
20698 +               : "=&d" (ret)
20699 +               : "d" (1), "a" (addr)
20700 +               : "cc", "memory");
20701 +         return ret;
20702 +       }
20703  #    endif
20704  #  endif /* __GNUC__ */
20705  #  if (defined(ALPHA) && !defined(__GNUC__))
20706 -#    ifndef OSF1
20707 -       --> We currently assume that if gcc is not used, we are
20708 -       --> running under Tru64.
20709 -#    endif
20710 -#    include <machine/builtins.h>
20711 -#    include <c_asm.h>
20712 -#    define GC_test_and_set(addr) __ATOMIC_EXCH_LONG(addr, 1)
20713 +#    define GC_test_and_set(addr) __cxx_test_and_set_atomic(addr, 1)
20714  #    define GC_TEST_AND_SET_DEFINED
20715 -#    define GC_clear(addr) { asm("mb"); *(volatile unsigned *)addr = 0; }
20716 -#    define GC_CLEAR_DEFINED
20717  #  endif
20718  #  if defined(MSWIN32)
20719  #    define GC_test_and_set(addr) InterlockedExchange((LPLONG)addr,1)
20720 @@ -250,11 +238,7 @@
20721  #      define GC_TEST_AND_SET_DEFINED
20722  #    elif __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) \
20723         || !defined(_COMPILER_VERSION) || _COMPILER_VERSION < 700
20724 -#       ifdef __GNUC__
20725 -#          define GC_test_and_set(addr) _test_and_set(addr,1)
20726 -#       else
20727 -#          define GC_test_and_set(addr) test_and_set(addr,1)
20728 -#       endif
20729 +#        define GC_test_and_set(addr) test_and_set(addr, 1)
20730  #    else
20731  #       define GC_test_and_set(addr) __test_and_set(addr,1)
20732  #       define GC_clear(addr) __lock_release(addr);
20733 @@ -295,7 +279,7 @@
20734  #  endif
20735  
20736  #  if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
20737 -      && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
20738 +      && !defined(GC_IRIX_THREADS)
20739  #    define NO_THREAD (pthread_t)(-1)
20740  #    include <pthread.h>
20741  #    if defined(PARALLEL_MARK) 
20742 @@ -326,12 +310,12 @@
20743           {
20744            char result;
20745            __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
20746 -               : "+m"(*(addr)), "=r"(result)
20747 -               : "r" (new_val), "a"(old) : "memory");
20748 +               : "=m"(*(addr)), "=r"(result)
20749 +               : "r" (new_val), "0"(*(addr)), "a"(old) : "memory");
20750            return (GC_bool) result;
20751           }
20752  #      endif /* !GENERIC_COMPARE_AND_SWAP */
20753 -       inline static void GC_memory_barrier()
20754 +       inline static void GC_memory_write_barrier()
20755         {
20756          /* We believe the processor ensures at least processor */
20757          /* consistent ordering.  Thus a compiler barrier       */
20758 @@ -339,37 +323,6 @@
20759           __asm__ __volatile__("" : : : "memory");
20760         }
20761  #     endif /* I386 */
20762 -
20763 -#     if defined(POWERPC)
20764 -#      if !defined(GENERIC_COMPARE_AND_SWAP)
20765 -        /* Returns TRUE if the comparison succeeded. */
20766 -        inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20767 -            GC_word old, GC_word new_val) 
20768 -        {
20769 -            int result, dummy;
20770 -            __asm__ __volatile__(
20771 -                "1:\tlwarx %0,0,%5\n"
20772 -                  "\tcmpw %0,%4\n"
20773 -                  "\tbne  2f\n"
20774 -                  "\tstwcx. %3,0,%2\n"
20775 -                  "\tbne- 1b\n"
20776 -                  "\tsync\n"
20777 -                  "\tli %1, 1\n"
20778 -                  "\tb 3f\n"
20779 -                "2:\tli %1, 0\n"
20780 -                "3:\t\n"
20781 -                :  "=&r" (dummy), "=r" (result), "=p" (addr)
20782 -                :  "r" (new_val), "r" (old), "2"(addr)
20783 -                : "cr0","memory");
20784 -            return (GC_bool) result;
20785 -        }
20786 -#      endif /* !GENERIC_COMPARE_AND_SWAP */
20787 -        inline static void GC_memory_barrier()
20788 -        {
20789 -            __asm__ __volatile__("sync" : : : "memory");
20790 -        }
20791 -#     endif /* POWERPC */
20792 -
20793  #     if defined(IA64)
20794  #      if !defined(GENERIC_COMPARE_AND_SWAP)
20795           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20796 @@ -384,71 +337,31 @@
20797  #      endif /* !GENERIC_COMPARE_AND_SWAP */
20798  #      if 0
20799         /* Shouldn't be needed; we use volatile stores instead. */
20800 -        inline static void GC_memory_barrier()
20801 +        inline static void GC_memory_write_barrier()
20802          {
20803            __asm__ __volatile__("mf" : : : "memory");
20804          }
20805  #      endif /* 0 */
20806  #     endif /* IA64 */
20807 -#     if defined(ALPHA)
20808 -#      if !defined(GENERIC_COMPARE_AND_SWAP)
20809 -#        if defined(__GNUC__)
20810 -           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20811 -                                                        GC_word old, GC_word new_val) 
20812 -          {
20813 -            unsigned long was_equal;
20814 -             unsigned long temp;
20815 -
20816 -             __asm__ __volatile__(
20817 -                             "1:     ldq_l %0,%1\n"
20818 -                             "       cmpeq %0,%4,%2\n"
20819 -                            "       mov %3,%0\n"
20820 -                             "       beq %2,2f\n"
20821 -                             "       stq_c %0,%1\n"
20822 -                             "       beq %0,1b\n"
20823 -                             "2:\n"
20824 -                             "       mb\n"
20825 -                             :"=&r" (temp), "=m" (*addr), "=&r" (was_equal)
20826 -                             : "r" (new_val), "Ir" (old)
20827 -                            :"memory");
20828 -             return was_equal;
20829 -           }
20830 -#        else /* !__GNUC__ */
20831 -           inline static GC_bool GC_compare_and_exchange(volatile GC_word *addr,
20832 -                                                        GC_word old, GC_word new_val) 
20833 -         {
20834 -           return __CMP_STORE_QUAD(addr, old, new_val, addr);
20835 -          }
20836 -#        endif /* !__GNUC__ */
20837 -#      endif /* !GENERIC_COMPARE_AND_SWAP */
20838 -#      ifdef __GNUC__
20839 -         inline static void GC_memory_barrier()
20840 -         {
20841 -           __asm__ __volatile__("mb" : : : "memory");
20842 -         }
20843 -#      else
20844 -#       define GC_memory_barrier() asm("mb")
20845 -#      endif /* !__GNUC__ */
20846 -#     endif /* ALPHA */
20847  #     if defined(S390)
20848  #      if !defined(GENERIC_COMPARE_AND_SWAP)
20849 -         inline static GC_bool GC_compare_and_exchange(volatile C_word *addr,
20850 -                                         GC_word old, GC_word new_val)
20851 -         {
20852 -           int retval;
20853 -           __asm__ __volatile__ (
20854 -#            ifndef __s390x__
20855 -               "     cs  %1,%2,0(%3)\n"
20856 -#            else
20857 -               "     csg %1,%2,0(%3)\n"
20858 -#            endif
20859 -             "     ipm %0\n"
20860 -             "     srl %0,28\n"
20861 -             : "=&d" (retval), "+d" (old)
20862 -             : "d" (new_val), "a" (addr)
20863 -             : "cc", "memory");
20864 -           return retval == 0;
20865 -         }
20866 +        inline static GC_bool GC_compare_and_exchange(volatile C_word *addr,
20867 +                                                      GC_word old, GC_word new_val) 
20868 +        {
20869 +          int retval;
20870 +          __asm__ __volatile__ (
20871 +#          ifndef __s390x__
20872 +               "       cs  %1,%2,0(%3)\n"
20873 +#          else
20874 +               "       csg %1,%2,0(%3)\n"
20875 +#         endif
20876 +               "       ipm %0\n"
20877 +               "       srl %0,28\n"
20878 +               : "=&d" (retval), "+d" (old)
20879 +               : "d" (new_val), "a" (addr)
20880 +               : "cc", "memory");
20881 +          return retval == 0;
20882 +       }
20883  #      endif
20884  #     endif
20885  #     if !defined(GENERIC_COMPARE_AND_SWAP)
20886 @@ -480,7 +393,7 @@
20887        extern void GC_lock(void);
20888         /* Allocation lock holder.  Only set if acquired by client through */
20889         /* GC_call_with_alloc_lock.                                        */
20890 -#     ifdef GC_ASSERTIONS 
20891 +#     ifdef GC_ASSERTIONS
20892  #        define LOCK() \
20893                 { if (GC_test_and_set(&GC_allocate_lock)) GC_lock(); \
20894                   SET_LOCK_HOLDER(); }
20895 @@ -521,12 +434,8 @@
20896                 { GC_ASSERT(I_HOLD_LOCK()); UNSET_LOCK_HOLDER(); \
20897                   pthread_mutex_unlock(&GC_allocate_ml); }
20898  #      else /* !GC_ASSERTIONS */
20899 -#        if defined(NO_PTHREAD_TRYLOCK)
20900 -#          define LOCK() GC_lock();
20901 -#        else /* !defined(NO_PTHREAD_TRYLOCK) */
20902 -#          define LOCK() \
20903 +#        define LOCK() \
20904            { if (0 != pthread_mutex_trylock(&GC_allocate_ml)) GC_lock(); }
20905 -#        endif
20906  #        define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
20907  #      endif /* !GC_ASSERTIONS */
20908  #   endif /* USE_PTHREAD_LOCKS */
20909 @@ -569,18 +478,11 @@
20910                 }
20911  #    define EXIT_GC() GC_collecting = 0;
20912  #  endif /* GC_IRIX_THREADS */
20913 -#  if defined(GC_WIN32_THREADS)
20914 -#    if defined(GC_PTHREADS)
20915 -#      include <pthread.h>
20916 -       extern pthread_mutex_t GC_allocate_ml;
20917 -#      define LOCK()   pthread_mutex_lock(&GC_allocate_ml)
20918 -#      define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
20919 -#    else
20920 -#      include <windows.h>
20921 -       GC_API CRITICAL_SECTION GC_allocate_ml;
20922 -#      define LOCK() EnterCriticalSection(&GC_allocate_ml);
20923 -#      define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
20924 -#    endif
20925 +#  ifdef GC_WIN32_THREADS
20926 +#    include <windows.h>
20927 +     GC_API CRITICAL_SECTION GC_allocate_ml;
20928 +#    define LOCK() EnterCriticalSection(&GC_allocate_ml);
20929 +#    define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
20930  #  endif
20931  #  ifndef SET_LOCK_HOLDER
20932  #      define SET_LOCK_HOLDER()
20933 diff -Nur ../boehm-gc/include/private/gc_pmark.h boehm-gc/include/private/gc_pmark.h
20934 --- ../boehm-gc/include/private/gc_pmark.h      Mon May 26 13:28:24 2003
20935 +++ boehm-gc/include/private/gc_pmark.h Mon Feb 11 20:37:57 2002
20936 @@ -137,7 +137,7 @@
20937  #ifdef __STDC__
20938  # ifdef PRINT_BLACK_LIST
20939      ptr_t GC_find_start(ptr_t current, hdr *hhdr, hdr **new_hdr_p,
20940 -                       word source);
20941 +                       ptr_t source);
20942  # else
20943      ptr_t GC_find_start(ptr_t current, hdr *hhdr, hdr **new_hdr_p);
20944  # endif
20945 @@ -145,7 +145,7 @@
20946    ptr_t GC_find_start();
20947  #endif
20948  
20949 -mse * GC_signal_mark_stack_overflow GC_PROTO((mse *msp));
20950 +mse *GC_signal_mark_stack_overflow(mse *msp);
20951  
20952  # ifdef GATHERSTATS
20953  #   define ADD_TO_ATOMIC(sz) GC_atomic_in_use += (sz)
20954 @@ -174,6 +174,14 @@
20955      } \
20956  }
20957  
20958 +#ifdef PRINT_BLACK_LIST
20959 +#   define GC_FIND_START(current, hhdr, new_hdr_p, source) \
20960 +       GC_find_start(current, hhdr, new_hdr_p, source)
20961 +#else
20962 +#   define GC_FIND_START(current, hhdr, new_hdr_p, source) \
20963 +       GC_find_start(current, hhdr, new_hdr_p)
20964 +#endif
20965 +
20966  /* Push the contents of current onto the mark stack if it is a valid   */
20967  /* ptr to a currently unmarked object.  Mark it.                       */
20968  /* If we assumed a standard-conforming compiler, we could probably     */
20969 @@ -187,7 +195,8 @@
20970      GET_HDR(my_current, my_hhdr); \
20971      if (IS_FORWARDING_ADDR_OR_NIL(my_hhdr)) { \
20972          hdr * new_hdr = GC_invalid_header; \
20973 -         my_current = GC_find_start(my_current, my_hhdr, &new_hdr); \
20974 +         my_current = GC_FIND_START(my_current, my_hhdr, \
20975 +                                   &new_hdr, (word)source); \
20976           my_hhdr = new_hdr; \
20977      } \
20978      PUSH_CONTENTS_HDR(my_current, mark_stack_top, mark_stack_limit, \
20979 @@ -281,39 +290,21 @@
20980  
20981  /*
20982   * Push a single value onto mark stack. Mark from the object pointed to by p.
20983 - * Invoke FIXUP_POINTER(p) before any further processing.
20984   * P is considered valid even if it is an interior pointer.
20985   * Previously marked objects are not pushed.  Hence we make progress even
20986   * if the mark stack overflows.
20987   */
20988 -
20989 -# if NEED_FIXUP_POINTER
20990 -    /* Try both the raw version and the fixed up one.  */
20991 -#   define GC_PUSH_ONE_STACK(p, source) \
20992 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20993 -        && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20994 -        PUSH_ONE_CHECKED_STACK(p, source);     \
20995 -      } \
20996 -      FIXUP_POINTER(p); \
20997 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
20998 -        && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
20999 -        PUSH_ONE_CHECKED_STACK(p, source);     \
21000 -      }
21001 -# else /* !NEED_FIXUP_POINTER */
21002 -#   define GC_PUSH_ONE_STACK(p, source) \
21003 -      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr    \
21004 +# define GC_PUSH_ONE_STACK(p, source) \
21005 +    if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr      \
21006          && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
21007          PUSH_ONE_CHECKED_STACK(p, source);     \
21008 -      }
21009 -# endif
21010 -
21011 +    }
21012  
21013  /*
21014   * As above, but interior pointer recognition as for
21015   * normal for heap pointers.
21016   */
21017  # define GC_PUSH_ONE_HEAP(p,source) \
21018 -    FIXUP_POINTER(p); \
21019      if ((ptr_t)(p) >= (ptr_t)GC_least_plausible_heap_addr      \
21020          && (ptr_t)(p) < (ptr_t)GC_greatest_plausible_heap_addr) {      \
21021             GC_mark_stack_top = GC_mark_and_push( \
21022 diff -Nur ../boehm-gc/include/private/gc_priv.h boehm-gc/include/private/gc_priv.h
21023 --- ../boehm-gc/include/private/gc_priv.h       Mon May 26 13:28:24 2003
21024 +++ boehm-gc/include/private/gc_priv.h  Tue Mar  4 09:56:49 2003
21025 @@ -30,12 +30,6 @@
21026  #   define BSD_TIME
21027  #endif
21028  
21029 -#ifdef DGUX
21030 -#   include <sys/types.h>
21031 -#   include <sys/time.h>
21032 -#   include <sys/resource.h>
21033 -#endif /* DGUX */
21034 -
21035  #ifdef BSD_TIME
21036  #   include <sys/types.h>
21037  #   include <sys/time.h>
21038 @@ -212,10 +206,11 @@
21039  #endif
21040  
21041  #if defined(GC_GCJ_SUPPORT) && ALIGNMENT < 8 && !defined(ALIGN_DOUBLE)
21042 -   /* GCJ's Hashtable synchronization code requires 64-bit alignment.  */
21043 +   /* GCJ's Hashtable synchronization code requires 64-bit alignment.  */
21044  #  define ALIGN_DOUBLE
21045  #endif
21046  
21047 +
21048  /* ALIGN_DOUBLE requires MERGE_SIZES at present. */
21049  # if defined(ALIGN_DOUBLE) && !defined(MERGE_SIZES)
21050  #   define MERGE_SIZES
21051 @@ -352,8 +347,7 @@
21052  #   include <string.h>
21053  #   define BCOPY_EXISTS
21054  # endif
21055 -# if defined(DARWIN)
21056 -#   include <string.h>
21057 +# if defined(MACOSX)
21058  #   define BCOPY_EXISTS
21059  # endif
21060  
21061 @@ -366,6 +360,68 @@
21062  #   define BZERO(x,n) bzero((char *)(x),(int)(n))
21063  # endif
21064  
21065 +/* HBLKSIZE aligned allocation.  0 is taken to mean failure    */
21066 +/* space is assumed to be cleared.                             */
21067 +/* In the case os USE_MMAP, the argument must also be a        */
21068 +/* physical page size.                                         */
21069 +/* GET_MEM is currently not assumed to retrieve 0 filled space, */
21070 +/* though we should perhaps take advantage of the case in which */
21071 +/* does.                                                       */
21072 +struct hblk;   /* See below.   */
21073 +# ifdef PCR
21074 +    char * real_malloc();
21075 +#   define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
21076 +                                 + GC_page_size-1)
21077 +# else
21078 +#   ifdef OS2
21079 +      void * os2_alloc(size_t bytes);
21080 +#     define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
21081 +                                   + GC_page_size) \
21082 +                                    + GC_page_size-1)
21083 +#   else
21084 +#     if defined(NEXT) || defined(MACOSX) || defined(DOS4GW) || \
21085 +        (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
21086 +        (defined(SUNOS5) && !defined(USE_MMAP))
21087 +#       define GET_MEM(bytes) HBLKPTR((size_t) \
21088 +                                     calloc(1, (size_t)bytes + GC_page_size) \
21089 +                                      + GC_page_size-1)
21090 +#     else
21091 +#      ifdef MSWIN32
21092 +          extern ptr_t GC_win32_get_mem();
21093 +#         define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
21094 +#      else
21095 +#        ifdef MACOS
21096 +#          if defined(USE_TEMPORARY_MEMORY)
21097 +               extern Ptr GC_MacTemporaryNewPtr(size_t size,
21098 +                                                Boolean clearMemory);
21099 +#               define GET_MEM(bytes) HBLKPTR( \
21100 +                   GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
21101 +                   + GC_page_size-1)
21102 +#          else
21103 +#                  define GET_MEM(bytes) HBLKPTR( \
21104 +                       NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
21105 +#          endif
21106 +#        else
21107 +#          ifdef MSWINCE
21108 +             extern ptr_t GC_wince_get_mem();
21109 +#            define GET_MEM(bytes) (struct hblk *)GC_wince_get_mem(bytes)
21110 +#          else
21111 +#            if defined(AMIGA) && defined(GC_AMIGA_FASTALLOC)
21112 +               extern void *GC_amiga_get_mem(size_t size);
21113 +               define GET_MEM(bytes) HBLKPTR((size_t) \
21114 +                  GC_amiga_get_mem((size_t)bytes + GC_page_size) \
21115 +                 + GC_page_size-1)
21116 +#            else
21117 +                extern ptr_t GC_unix_get_mem();
21118 +#               define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
21119 +#            endif
21120 +#          endif
21121 +#        endif
21122 +#      endif
21123 +#     endif
21124 +#   endif
21125 +# endif
21126 +
21127  /* Delay any interrupts or signals that may abort this thread.  Data   */
21128  /* structures are in a consistent state outside this pair of calls.    */
21129  /* ANSI C allows both to be empty (though the standard isn't very      */
21130 @@ -430,7 +486,7 @@
21131  #   ifdef SMALL_CONFIG
21132  #      define ABORT(msg) abort();
21133  #   else
21134 -       GC_API void GC_abort GC_PROTO((GC_CONST char * msg));
21135 +       GC_API void GC_abort();
21136  #       define ABORT(msg) GC_abort(msg);
21137  #   endif
21138  # endif
21139 @@ -590,10 +646,9 @@
21140   */
21141   
21142  # ifdef LARGE_CONFIG
21143 -#   define LOG_PHT_ENTRIES  20  /* Collisions likely at 1M blocks,     */
21144 -                               /* which is >= 4GB.  Each table takes   */
21145 -                               /* 128KB, some of which may never be    */
21146 -                               /* touched.                             */
21147 +#   define LOG_PHT_ENTRIES  19  /* Collisions likely at 512K blocks,   */
21148 +                               /* which is >= 2GB.  Each table takes   */
21149 +                               /* 64KB.                                */
21150  # else
21151  #   ifdef SMALL_CONFIG
21152  #     define LOG_PHT_ENTRIES  14 /* Collisions are likely if heap grows        */
21153 @@ -601,7 +656,7 @@
21154                                  /* Each hash table occupies 2K bytes.   */
21155  #   else /* default "medium" configuration */
21156  #     define LOG_PHT_ENTRIES  16 /* Collisions are likely if heap grows        */
21157 -                                /* to more than 64K hblks >= 256MB.    */
21158 +                                /* to more than 16K hblks >= 256MB.    */
21159                                  /* Each hash table occupies 8K bytes.  */
21160  #   endif
21161  # endif
21162 @@ -842,10 +897,6 @@
21163    word _mem_freed;
21164         /* Number of explicitly deallocated words of memory     */
21165         /* since last collection.                               */
21166 -  word _finalizer_mem_freed;
21167 -       /* Words of memory explicitly deallocated while         */
21168 -       /* finalizers were running.  Used to approximate mem.   */
21169 -       /* explicitly deallocated by finalizers.                */
21170    ptr_t _scratch_end_ptr;
21171    ptr_t _scratch_last_end_ptr;
21172         /* Used by headers.c, and can easily appear to point to */
21173 @@ -906,7 +957,7 @@
21174                        /* OFFSET_TOO_BIG if the value j would be too    */
21175                        /* large to fit in the entry.  (Note that the    */
21176                        /* size of these entries matters, both for       */
21177 -                      /* space consumption and for cache utilization.) */
21178 +                      /* space consumption and for cache utilization.  */
21179  #   define OFFSET_TOO_BIG 0xfe
21180  #   define OBJ_INVALID 0xff
21181  #   define MAP_ENTRY(map, bytes) (map)[bytes]
21182 @@ -1016,7 +1067,6 @@
21183  # define GC_words_finalized GC_arrays._words_finalized
21184  # define GC_non_gc_bytes_at_gc GC_arrays._non_gc_bytes_at_gc
21185  # define GC_mem_freed GC_arrays._mem_freed
21186 -# define GC_finalizer_mem_freed GC_arrays._finalizer_mem_freed
21187  # define GC_scratch_end_ptr GC_arrays._scratch_end_ptr
21188  # define GC_scratch_last_end_ptr GC_arrays._scratch_last_end_ptr
21189  # define GC_mark_procs GC_arrays._mark_procs
21190 @@ -1151,19 +1201,17 @@
21191                                 /* header structure associated with     */
21192                                 /* block.                               */
21193  
21194 +extern GC_bool GC_is_initialized;      /* GC_init() has been run.      */
21195 +
21196  extern GC_bool GC_objects_are_marked;  /* There are marked objects in  */
21197                                         /* the heap.                    */
21198  
21199  #ifndef SMALL_CONFIG
21200    extern GC_bool GC_incremental;
21201                         /* Using incremental/generational collection. */
21202 -# define TRUE_INCREMENTAL \
21203 -       (GC_incremental && GC_time_limit != GC_TIME_UNLIMITED)
21204 -       /* True incremental, not just generational, mode */
21205  #else
21206  # define GC_incremental FALSE
21207                         /* Hopefully allow optimizer to remove some code. */
21208 -# define TRUE_INCREMENTAL FALSE
21209  #endif
21210  
21211  extern GC_bool GC_dirty_maintained;
21212 @@ -1181,10 +1229,6 @@
21213  extern long GC_large_alloc_warn_suppressed;
21214         /* Number of warnings suppressed so far.        */
21215  
21216 -#ifdef THREADS
21217 -  extern GC_bool GC_world_stopped;
21218 -#endif
21219 -
21220  /* Operations */
21221  # ifndef abs
21222  #   define abs(x)  ((x) < 0? (-(x)) : (x))
21223 @@ -1408,7 +1452,6 @@
21224                                     /* Set all mark bits associated with */
21225                                     /* a free list.                      */
21226  void GC_add_roots_inner GC_PROTO((char * b, char * e, GC_bool tmp));
21227 -void GC_remove_roots_inner GC_PROTO((char * b, char * e));
21228  GC_bool GC_is_static_root GC_PROTO((ptr_t p));
21229                 /* Is the address p in one of the registered static     */
21230                 /* root sections?                                       */
21231 @@ -1421,9 +1464,9 @@
21232                 /* Add dynamic library data sections to the root set. */
21233  
21234  GC_bool GC_register_main_static_data GC_PROTO((void));
21235 -               /* We need to register the main data segment.  Returns  */
21236 -               /* TRUE unless this is done implicitly as part of       */
21237 -               /* dynamic library registration.                        */
21238 +               /* We need to register the main data segment.  Returns  */
21239 +               /* TRUE unless this is done implicitly as part of       */
21240 +               /* dynamic library registration.                        */
21241    
21242  /* Machine dependent startup routines */
21243  ptr_t GC_get_stack_base GC_PROTO((void));      /* Cold end of stack */
21244 @@ -1581,8 +1624,6 @@
21245                                 /* until the blocks are available or    */
21246                                 /* until it fails by returning FALSE.   */
21247  
21248 -extern GC_bool GC_is_initialized;      /* GC_init() has been run.      */
21249 -
21250  #if defined(MSWIN32) || defined(MSWINCE)
21251    void GC_deinit GC_PROTO((void));
21252                                  /* Free any resources allocated by      */
21253 @@ -1624,8 +1665,6 @@
21254                                 /* Make the indicated                   */
21255                                 /* free list nonempty, and return its   */
21256                                 /* head.                                */
21257 -
21258 -void GC_free_inner(GC_PTR p);
21259    
21260  void GC_init_headers GC_PROTO((void));
21261  struct hblkhdr * GC_install_header GC_PROTO((struct hblk *h));
21262 @@ -1655,12 +1694,6 @@
21263                         /* Call *GC_finalizer_notifier if there are     */
21264                         /* finalizers to be run, and we haven't called  */
21265                         /* this procedure yet this GC cycle.            */
21266 -
21267 -GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
21268 -GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
21269 -                       /* Auxiliary fns to make finalization work      */
21270 -                       /* correctly with displaced pointers introduced */
21271 -                       /* by the debugging allocators.                 */
21272                         
21273  void GC_add_to_heap GC_PROTO((struct hblk *p, word bytes));
21274                         /* Add a HBLKSIZE aligned chunk to the heap.    */
21275 @@ -1671,36 +1704,16 @@
21276                         /* description of the object to stderr.         */
21277  extern void (*GC_check_heap) GC_PROTO((void));
21278                         /* Check that all objects in the heap with      */
21279 -                       /* debugging info are intact.                   */
21280 -                       /* Add any that are not to GC_smashed list.     */
21281 -extern void (*GC_print_all_smashed) GC_PROTO((void));
21282 -                       /* Print GC_smashed if it's not empty.          */
21283 -                       /* Clear GC_smashed list.                       */
21284 -extern void GC_print_all_errors GC_PROTO((void));
21285 -                       /* Print smashed and leaked objects, if any.    */
21286 -                       /* Clear the lists of such objects.             */
21287 +                       /* debugging info are intact.  Print            */
21288 +                       /* descriptions of any that are not.            */
21289  extern void (*GC_print_heap_obj) GC_PROTO((ptr_t p));
21290                         /* If possible print s followed by a more       */
21291                         /* detailed description of the object           */
21292                         /* referred to by p.                            */
21293 -#if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
21294 -  void GC_print_address_map GC_PROTO((void));
21295 -                       /* Print an address map of the process.         */
21296 -#endif
21297  
21298 -extern GC_bool GC_have_errors;  /* We saw a smashed or leaked object.  */
21299 -                               /* Call error printing routine          */
21300 -                               /* occasionally.                        */
21301  extern GC_bool GC_print_stats; /* Produce at least some logging output */
21302                                 /* Set from environment variable.       */
21303  
21304 -#ifndef NO_DEBUGGING
21305 -  extern GC_bool GC_dump_regularly;  /* Generate regular debugging dumps. */
21306 -# define COND_DUMP if (GC_dump_regularly) GC_dump();
21307 -#else
21308 -# define COND_DUMP
21309 -#endif
21310 -
21311  /* Macros used for collector internal allocation.      */
21312  /* These assume the collector lock is held.            */
21313  #ifdef DBG_HDRS_ALL
21314 @@ -1772,7 +1785,6 @@
21315  void GC_print_hblkfreelist GC_PROTO((void));
21316  void GC_print_heap_sects GC_PROTO((void));
21317  void GC_print_static_roots GC_PROTO((void));
21318 -void GC_print_finalization_stats GC_PROTO((void));
21319  void GC_dump GC_PROTO((void));
21320  
21321  #ifdef KEEP_BACK_PTRS
21322 @@ -1854,10 +1866,6 @@
21323  #      define GC_ASSERT(expr)
21324  # endif
21325  
21326 -/* Check a compile time assertion at compile time.  The error  */
21327 -/* message for failure is a bit baroque, but ...               */
21328 -# define GC_STATIC_ASSERT(expr) sizeof(char[(expr)? 1 : -1])
21329 -
21330  # if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
21331      /* We need additional synchronization facilities from the thread   */
21332      /* support.  We believe these are less performance critical                */
21333 @@ -1903,7 +1911,7 @@
21334    /* in Linux glibc, but it's not exported.)  Thus we continue to use  */
21335    /* the same hard-coded signals we've always used.                    */
21336  #  if !defined(SIG_SUSPEND)
21337 -#   if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
21338 +#   if defined(GC_LINUX_THREADS)
21339  #    if defined(SPARC) && !defined(SIGPWR)
21340         /* SPARC/Linux doesn't properly define SIGPWR in <signal.h>.
21341          * It is aliased to SIGLOST in asm/signal.h, though.            */
21342 diff -Nur ../boehm-gc/include/private/gcconfig.h boehm-gc/include/private/gcconfig.h
21343 --- ../boehm-gc/include/private/gcconfig.h      Mon May 26 13:28:24 2003
21344 +++ boehm-gc/include/private/gcconfig.h Wed Apr  9 17:08:01 2003
21345 @@ -13,25 +13,11 @@
21346   * provided the above notices are retained, and a notice that the code was
21347   * modified is included with the above copyright notice.
21348   */
21349 -
21350 -/*
21351 - * This header is private to the gc.  It is almost always included from
21352 - * gc_priv.h.  However it is possible to include it by itself if just the
21353 - * configuration macros are needed.  In that
21354 - * case, a few declarations relying on types declared in gc_priv.h will be
21355 - * omitted.
21356 - */
21357   
21358  #ifndef GCCONFIG_H
21359  
21360  # define GCCONFIG_H
21361  
21362 -# ifndef GC_PRIVATE_H
21363 -    /* Fake ptr_t declaration, just to avoid compilation errors.       */
21364 -    /* This avoids many instances if "ifndef GC_PRIVATE_H" below.      */
21365 -    typedef struct GC_undefined_struct * ptr_t;
21366 -# endif
21367 -
21368  /* Machine dependent parameters.  Some tuning parameters can be found  */
21369  /* near the top of gc_private.h.                                       */
21370  
21371 @@ -58,7 +44,7 @@
21372  # endif
21373  
21374  /* Determine the machine type: */
21375 -# if defined(__XSCALE__)
21376 +# if defined(__arm__) || defined(__thumb__)
21377  #    define ARM32
21378  #    if !defined(LINUX)
21379  #      define NOSYS
21380 @@ -109,8 +95,8 @@
21381  #    if defined(nec_ews) || defined(_nec_ews)
21382  #      define EWS4800
21383  #    endif
21384 -#    if !defined(LINUX) && !defined(EWS4800)
21385 -#      if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
21386 +#    if !defined(LINUX) && !defined(EWS4800) && !defined(NETBSD)
21387 +#      if defined(ultrix) || defined(__ultrix)
21388  #       define ULTRIX
21389  #      else
21390  #       if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) \
21391 @@ -121,16 +107,6 @@
21392  #       endif
21393  #      endif
21394  #    endif /* !LINUX */
21395 -#    if defined(__NetBSD__) && defined(__MIPSEL__)
21396 -#      undef ULTRIX
21397 -#    endif
21398 -#    define mach_type_known
21399 -# endif
21400 -# if defined(DGUX) && (defined(i386) || defined(__i386__))
21401 -#    define I386
21402 -#    ifndef _USING_DGUX
21403 -#    define _USING_DGUX
21404 -#    endif
21405  #    define mach_type_known
21406  # endif
21407  # if defined(sequent) && (defined(i386) || defined(__i386__))
21408 @@ -222,10 +198,6 @@
21409  #    define IA64
21410  #    define mach_type_known
21411  # endif
21412 -# if defined(LINUX) && defined(__arm__)
21413 -#    define ARM32
21414 -#    define mach_type_known
21415 -# endif
21416  # if defined(LINUX) && (defined(powerpc) || defined(__powerpc__))
21417  #    define POWERPC
21418  #    define mach_type_known
21419 @@ -265,19 +237,19 @@
21420  #   define MACOS
21421  #   define mach_type_known
21422  # endif
21423 -# if defined(__MWERKS__) && defined(__powerc) && !defined(__MACH__)
21424 +# if defined(__MWERKS__) && defined(__powerc)
21425  #   define POWERPC
21426  #   define MACOS
21427  #   define mach_type_known
21428  # endif
21429  # if defined(macosx) || \
21430       defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
21431 -#    define DARWIN
21432 +#    define MACOSX
21433  #    define POWERPC
21434  #    define mach_type_known
21435  # endif
21436  # if defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
21437 -#    define DARWIN
21438 +#    define MACOSX
21439  #    define I386
21440       --> Not really supported, but at least we recognize it.
21441  # endif
21442 @@ -319,7 +291,7 @@
21443  #   define CX_UX
21444  #   define mach_type_known
21445  # endif
21446 -# if defined(DGUX) && defined(m88k)
21447 +# if defined(DGUX)
21448  #   define M88K
21449      /* DGUX defined */
21450  #   define mach_type_known
21451 @@ -447,12 +419,14 @@
21452                     /*                  (CX_UX and DGUX)                */
21453                     /*             S370       ==> 370-like machine      */
21454                     /*                  running Amdahl UTS4             */
21455 -                    /*             S390       ==> 390-like machine      */
21456 -                   /*                  running LINUX                   */
21457 +                   /*             S390       ==> 390-like machine      */
21458 +                   /*                  running LINUX                   */
21459                     /*             ARM32      ==> Intel StrongARM       */
21460                     /*             IA64       ==> Intel IPF             */
21461                     /*                            (e.g. Itanium)        */
21462                     /*                  (LINUX and HPUX)                */
21463 +                   /*             IA64_32    ==> IA64 w/32 bit ABI     */
21464 +                   /*                  (HPUX)                          */
21465                     /*             SH         ==> Hitachi SuperH        */
21466                     /*                  (LINUX & MSWINCE)               */
21467                     /*             X86_64     ==> AMD x86-64            */
21468 @@ -476,17 +450,15 @@
21469   * defining it to be 1 will always work, but perform poorly.
21470   *
21471   * DATASTART is the beginning of the data segment.
21472 - * On some platforms SEARCH_FOR_DATA_START is defined.
21473 - * SEARCH_FOR_DATASTART will cause GC_data_start to
21474 - * be set to an address determined by accessing data backwards from _end
21475 - * until an unmapped page is found.  DATASTART will be defined to be
21476 - * GC_data_start.
21477 - * On UNIX-like systems, the collector will scan the area between DATASTART
21478 + * On UNIX systems, the collector will scan the area between DATASTART
21479   * and DATAEND for root pointers.
21480   *
21481   * DATAEND, if not `end' where `end' is defined as ``extern int end[];''.
21482   * RTH suggests gaining access to linker script synth'd values with
21483   * this idiom instead of `&end' where `end' is defined as ``extern int end;'' .
21484 + * Otherwise, ``GCC will assume these are in .sdata/.sbss'' and it will, e.g.,
21485 + * cause failures on alpha*-*-* with ``-msmall-data or -fpic'' or mips-*-*
21486 + * without any special options.
21487   *
21488   * ALIGN_DOUBLE of GC_malloc should return blocks aligned to twice
21489   * the pointer size.
21490 @@ -498,13 +470,8 @@
21491   * 1) define STACK_GROWS_UP if the stack grows toward higher addresses, and
21492   * 2) define exactly one of
21493   *     STACKBOTTOM (should be defined to be an expression)
21494 - *     LINUX_STACKBOTTOM
21495   *     HEURISTIC1
21496   *     HEURISTIC2
21497 - * If STACKBOTTOM is defined, then it's value will be used directly as the
21498 - * stack base.  If LINUX_STACKBOTTOM is defined, then it will be determined
21499 - * with a method appropriate for most Linux systems.  Currently we look
21500 - * first for __libc_stack_end, and if that fails read it from /proc.
21501   * If either of the last two macros are defined, then STACKBOTTOM is computed
21502   * during collector startup using one of the following two heuristics:
21503   * HEURISTIC1:  Take an address inside GC_init's frame, and round it up to
21504 @@ -569,9 +536,6 @@
21505   * An architecture may also define CLEAR_DOUBLE(x) to be a fast way to
21506   * clear the two words at GC_malloc-aligned address x.  By default,
21507   * word stores of 0 are used instead.
21508 - *
21509 - * HEAP_START may be defined as the initial address hint for mmap-based
21510 - * allocation.
21511   */
21512  
21513  /* If we are using a recent version of gcc, we can use __builtin_unwind_init()
21514 @@ -607,7 +571,7 @@
21515  #            define DYNAMIC_LOADING
21516  #           include <features.h>
21517  #           if defined(__GLIBC__)&& __GLIBC__>=2
21518 -#              define SEARCH_FOR_DATA_START
21519 +#              define LINUX_DATA_START
21520  #           else /* !GLIBC2 */
21521                 extern char **__environ;
21522  #              define DATASTART ((ptr_t)(&__environ))
21523 @@ -705,42 +669,23 @@
21524  #     define ALIGNMENT 4       /* Guess.  Can someone verify?  */
21525                                 /* This was 2, but that didn't sound right. */
21526  #     define OS_TYPE "LINUX"
21527 -      /* HEURISTIC1 has been reliably reported to fail for a 32-bit    */
21528 -      /* executable on a 64 bit kernel.                                        */
21529 -#     define LINUX_STACKBOTTOM
21530  #     define DYNAMIC_LOADING
21531 -#     define SEARCH_FOR_DATA_START
21532 +#     define LINUX_STACKBOTTOM
21533 +       /* Stack usually starts at 0x80000000 */
21534 +#     define LINUX_DATA_START
21535        extern int _end[];
21536  #     define DATAEND (_end)
21537  #   endif
21538 -#   ifdef DARWIN
21539 +#   ifdef MACOSX
21540        /* There are reasons to suspect this may not be reliable.        */
21541  #     define ALIGNMENT 4
21542 -#     define OS_TYPE "DARWIN"
21543 -#     define DYNAMIC_LOADING
21544 -      /* XXX: see get_end(3), get_etext() and get_end() should not be used.
21545 -         These aren't used when dyld support is enabled (it is by default) */
21546 +#     define OS_TYPE "MACOSX"
21547  #     define DATASTART ((ptr_t) get_etext())
21548 -#     define DATAEND   ((ptr_t) get_end())
21549  #     define STACKBOTTOM ((ptr_t) 0xc0000000)
21550 -#     define USE_MMAP
21551 -#     define USE_MMAP_ANON
21552 -#     define USE_ASM_PUSH_REGS
21553 -      /* This is potentially buggy. It needs more testing. See the comments in
21554 -         os_dep.c */
21555 -#     define MPROTECT_VDB
21556 +#     define DATAEND   /* not needed */
21557 +#     undef MPROTECT_VDB
21558  #     include <unistd.h>
21559  #     define GETPAGESIZE() getpagesize()
21560 -#     if defined(USE_PPC_PREFETCH) && defined(__GNUC__)
21561 -       /* The performance impact of prefetches is untested */
21562 -#      define PREFETCH(x) \
21563 -         __asm__ __volatile__ ("dcbt 0,%0" : : "r" ((const void *) (x)))
21564 -#      define PREFETCH_FOR_WRITE(x) \
21565 -         __asm__ __volatile__ ("dcbtst 0,%0" : : "r" ((const void *) (x)))
21566 -#     endif
21567 -      /* There seems to be some issues with trylock hanging on darwin. This
21568 -         should be looked into some more */
21569 -#     define NO_PTHREAD_TRYLOCK
21570  #   endif
21571  #   ifdef NETBSD
21572  #     define ALIGNMENT 4
21573 @@ -801,8 +746,8 @@
21574  #      define OS_TYPE "SUNOS5"
21575         extern int _etext[];
21576         extern int _end[];
21577 -       extern ptr_t GC_SysVGetDataStart();
21578 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
21579 +       extern char * GC_SysVGetDataStart();
21580 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
21581  #      define DATAEND (_end)
21582  #      if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
21583  #          define USE_MMAP
21584 @@ -856,9 +801,9 @@
21585  #   endif
21586  #   ifdef DRSNX
21587  #      define OS_TYPE "DRSNX"
21588 -       extern ptr_t GC_SysVGetDataStart();
21589 +       extern char * GC_SysVGetDataStart();
21590         extern int etext[];
21591 -#       define DATASTART GC_SysVGetDataStart(0x10000, etext)
21592 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, etext)
21593  #      define MPROTECT_VDB
21594  #       define STACKBOTTOM ((ptr_t) 0xdfff0000)
21595  #      define DYNAMIC_LOADING
21596 @@ -874,14 +819,13 @@
21597        extern int _etext[];
21598  #     define DATAEND (_end)
21599  #     define SVR4
21600 -      extern ptr_t GC_SysVGetDataStart();
21601  #     ifdef __arch64__
21602 -#      define DATASTART GC_SysVGetDataStart(0x100000, _etext)
21603         /* libc_stack_end is not set reliably for sparc64 */
21604 -#       define STACKBOTTOM ((ptr_t) 0x80000000000ULL)
21605 +#       define STACKBOTTOM ((ptr_t) 0x80000000000)
21606 +#      define DATASTART (ptr_t)GC_SysVGetDataStart(0x100000, _etext)
21607  #     else
21608 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
21609 -#      define LINUX_STACKBOTTOM
21610 +#       define LINUX_STACKBOTTOM
21611 +#      define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
21612  #     endif
21613  #   endif
21614  #   ifdef OPENBSD
21615 @@ -932,7 +876,7 @@
21616  #   ifdef SUNOS5
21617  #      define OS_TYPE "SUNOS5"
21618          extern int _etext[], _end[];
21619 -       extern ptr_t GC_SysVGetDataStart();
21620 +       extern char * GC_SysVGetDataStart();
21621  #       define DATASTART GC_SysVGetDataStart(0x1000, _etext)
21622  #      define DATAEND (_end)
21623  /*     # define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7,      */
21624 @@ -977,28 +921,6 @@
21625  #       define DYNAMIC_LOADING
21626  #      define ELF_CLASS ELFCLASS32
21627  #   endif
21628 -#   ifdef DGUX
21629 -#      define OS_TYPE "DGUX"
21630 -       extern int _etext, _end;
21631 -       extern ptr_t GC_SysVGetDataStart();
21632 -#      define DATASTART GC_SysVGetDataStart(0x1000, &_etext)
21633 -#      define DATAEND (&_end)
21634 -#      define STACK_GROWS_DOWN
21635 -#      define HEURISTIC2
21636 -#      include <unistd.h>
21637 -#      define GETPAGESIZE()  sysconf(_SC_PAGESIZE)
21638 -#      define DYNAMIC_LOADING
21639 -#      ifndef USE_MMAP
21640 -#        define USE_MMAP
21641 -#      endif /* USE_MMAP */
21642 -#      define MAP_FAILED (void *) -1
21643 -#      ifdef USE_MMAP
21644 -#        define HEAP_START (ptr_t)0x40000000
21645 -#      else /* USE_MMAP */
21646 -#        define HEAP_START DATAEND
21647 -#      endif /* USE_MMAP */
21648 -#   endif /* DGUX */
21649 -
21650  #   ifdef LINUX
21651  #      ifndef __GNUC__
21652           /* The Intel compiler doesn't like inline assembly */
21653 @@ -1022,9 +944,6 @@
21654             /* possibly because Linux threads is itself a malloc client */
21655             /* and can't deal with the signals.                         */
21656  #      endif
21657 -#      define HEAP_START 0x1000
21658 -               /* This encourages mmap to give us low addresses,       */
21659 -               /* thus allowing the heap to grow to ~3GB               */
21660  #       ifdef __ELF__
21661  #            define DYNAMIC_LOADING
21662  #           ifdef UNDEFINED    /* includes ro data */
21663 @@ -1033,7 +952,7 @@
21664  #           endif
21665  #           include <features.h>
21666  #           if defined(__GLIBC__) && __GLIBC__ >= 2
21667 -#               define SEARCH_FOR_DATA_START
21668 +#               define LINUX_DATA_START
21669  #           else
21670                  extern char **__environ;
21671  #                define DATASTART ((ptr_t)(&__environ))
21672 @@ -1142,9 +1061,16 @@
21673  #      ifdef __ELF__
21674  #          define DYNAMIC_LOADING
21675  #      endif
21676 +/* Handle unmapped hole i386*-*-freebsd[45]* may put between etext and edata. */
21677         extern char etext[];
21678 -       extern char * GC_FreeBSDGetDataStart();
21679 -#      define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
21680 +       extern char edata[];
21681 +       extern char end[];
21682 +#      define NEED_FIND_LIMIT
21683 +#      define DATASTART ((ptr_t)(etext))
21684 +#      define MIN(x,y) ((x) < (y) ? (x) : (y))
21685 +#      define DATAEND (MIN (GC_find_limit (DATASTART, TRUE), DATASTART2))
21686 +#      define DATASTART2 ((ptr_t)(edata))
21687 +#      define DATAEND2 ((ptr_t)(end))
21688  #   endif
21689  #   ifdef NETBSD
21690  #      define OS_TYPE "NETBSD"
21691 @@ -1223,11 +1149,7 @@
21692  #     define DATASTART ((ptr_t)(__data_start))
21693  #     define ALIGNMENT 4
21694  #     define USE_GENERIC_PUSH_REGS
21695 -#     if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2 || __GLIBC__ > 2
21696 -#        define LINUX_STACKBOTTOM
21697 -#     else
21698 -#        define STACKBOTTOM 0x80000000
21699 -#     endif
21700 +#     define LINUX_STACKBOTTOM
21701  #   endif /* Linux */
21702  #   ifdef EWS4800
21703  #      define HEURISTIC2
21704 @@ -1300,21 +1222,15 @@
21705  #       define DATAEND /* not needed */
21706  #   endif
21707  #   if defined(NETBSD)
21708 -      /* This also checked for __MIPSEL__ .  Why?  NETBSD recognition  */
21709 -      /* should be handled at the top of the file.                     */
21710 -#     define ALIGNMENT 4
21711  #     define OS_TYPE "NETBSD"
21712 +#     define ALIGNMENT 4
21713  #     define HEURISTIC2
21714  #     define USE_GENERIC_PUSH_REGS
21715 -#     ifdef __ELF__
21716 -        extern int etext[];
21717 -#       define DATASTART GC_data_start
21718 -#       define NEED_FIND_LIMIT
21719 -#       define DYNAMIC_LOADING
21720 -#     else
21721 -#       define DATASTART ((ptr_t) 0x10000000)
21722 -#       define STACKBOTTOM ((ptr_t) 0x7ffff000)
21723 -#     endif /* _ELF_ */
21724 +      extern int _fdata[];
21725 +#     define DATASTART ((ptr_t)(_fdata))
21726 +      extern int _end[];
21727 +#     define DATAEND ((ptr_t)(_end))
21728 +#     define DYNAMIC_LOADING
21729  #  endif
21730  # endif
21731  
21732 @@ -1323,16 +1239,15 @@
21733  #   ifdef __64BIT__
21734  #     define ALIGNMENT 8
21735  #     define CPP_WORDSZ 64
21736 -#     define STACKBOTTOM 0x1000000000000000
21737  #   else
21738  #     define ALIGNMENT 4
21739  #     define CPP_WORDSZ 32
21740 -#     define STACKBOTTOM ((ptr_t)((ulong)&errno))
21741  #   endif
21742      extern int _data[], _end[];
21743  #   define DATASTART ((ptr_t)((ulong)_data))
21744  #   define DATAEND ((ptr_t)((ulong)_end))
21745      extern int errno;
21746 +#   define STACKBOTTOM ((ptr_t)((ulong)&errno))
21747  #   define USE_GENERIC_PUSH_REGS
21748  #   define DYNAMIC_LOADING
21749         /* For really old versions of AIX, this may have to be removed. */
21750 @@ -1396,23 +1311,15 @@
21751  #     define OS_TYPE "LINUX"
21752  #     define LINUX_STACKBOTTOM
21753  #     define DYNAMIC_LOADING
21754 -#     define SEARCH_FOR_DATA_START
21755 +#     define LINUX_DATA_START
21756        extern int _end[];
21757 -#     define DATAEND (&_end)
21758 +#     define DATAEND (_end)
21759  #   endif /* LINUX */
21760  # endif /* HP_PA */
21761  
21762  # ifdef ALPHA
21763  #   define MACH_TYPE "ALPHA"
21764  #   define ALIGNMENT 8
21765 -#   define CPP_WORDSZ 64
21766 -#   ifndef LINUX
21767 -#     define USE_GENERIC_PUSH_REGS
21768 -      /* Gcc and probably the DEC/Compaq compiler spill pointers to preserved */
21769 -      /* fp registers in some cases when the target is a 21264.  The assembly */
21770 -      /* code doesn't handle that yet, and version dependencies make that a   */
21771 -      /* bit tricky.  Do the easy thing for now.                                   */
21772 -#   endif
21773  #   ifdef NETBSD
21774  #      define OS_TYPE "NETBSD"
21775  #      define HEURISTIC2
21776 @@ -1420,11 +1327,13 @@
21777  #      define ELFCLASS32 32
21778  #      define ELFCLASS64 64
21779  #      define ELF_CLASS ELFCLASS64
21780 +#      define CPP_WORDSZ 64
21781  #       define DYNAMIC_LOADING
21782  #   endif
21783  #   ifdef OPENBSD
21784  #      define OS_TYPE "OPENBSD"
21785  #      define HEURISTIC2
21786 +#      define CPP_WORDSZ 64
21787  #      ifdef __ELF__   /* since OpenBSD/Alpha 2.9 */
21788  #         define DATASTART GC_data_start
21789  #         define ELFCLASS32 32
21790 @@ -1448,16 +1357,17 @@
21791         extern char edata[];
21792         extern char end[];
21793  #      define NEED_FIND_LIMIT
21794 -#      define DATASTART ((ptr_t)(&etext))
21795 +#      define DATASTART ((ptr_t)(etext))
21796  #      define DATAEND (GC_find_limit (DATASTART, TRUE))
21797 -#      define DATASTART2 ((ptr_t)(&edata))
21798 -#      define DATAEND2 ((ptr_t)(&end))
21799 +#      define DATASTART2 ((ptr_t)(edata))
21800 +#      define DATAEND2 ((ptr_t)(end))
21801 +#      define CPP_WORDSZ 64
21802  #   endif
21803  #   ifdef OSF1
21804  #      define OS_TYPE "OSF1"
21805  #      define DATASTART ((ptr_t) 0x140000000)
21806         extern int _end[];
21807 -#      define DATAEND ((ptr_t) &_end)
21808 +#      define DATAEND ((ptr_t) _end)
21809         extern char ** environ;
21810         /* round up from the value of environ to the nearest page boundary */
21811         /* Probably breaks if putenv is called before collector            */
21812 @@ -1470,17 +1380,17 @@
21813         /* This is currently unused, since we disabled HEURISTIC2       */
21814         extern int __start[];
21815  #      define HEURISTIC2_LIMIT ((ptr_t)((word)(__start) & ~(getpagesize()-1)))
21816 -#      ifndef GC_OSF1_THREADS
21817 -         /* Unresolved signal issues with threads.     */
21818 -#        define MPROTECT_VDB
21819 -#       endif
21820 +#      define CPP_WORDSZ 64
21821 +#      define MPROTECT_VDB
21822  #      define DYNAMIC_LOADING
21823  #   endif
21824  #   ifdef LINUX
21825  #       define OS_TYPE "LINUX"
21826 +#       define CPP_WORDSZ 64
21827  #       define STACKBOTTOM ((ptr_t) 0x120000000)
21828  #       ifdef __ELF__
21829  #        define SEARCH_FOR_DATA_START
21830 +#        define DATASTART GC_data_start
21831  #         define DYNAMIC_LOADING
21832  #       else
21833  #           define DATASTART ((ptr_t) 0x140000000)
21834 @@ -1558,6 +1468,7 @@
21835         extern char * GC_register_stackbottom;
21836  #      define BACKING_STORE_BASE ((ptr_t)GC_register_stackbottom)
21837  #      define SEARCH_FOR_DATA_START
21838 +#      define DATASTART GC_data_start
21839  #      ifdef __GNUC__
21840  #         define DYNAMIC_LOADING
21841  #      else
21842 @@ -1591,15 +1502,13 @@
21843  #   endif
21844  #   ifdef  DGUX
21845  #      define OS_TYPE "DGUX"
21846 -       extern ptr_t GC_SysVGetDataStart();
21847 -#       define DATASTART GC_SysVGetDataStart(0x10000, etext)
21848 +       extern char * GC_SysVGetDataStart();
21849 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, etext)
21850  #   endif
21851  #   define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */
21852  # endif
21853  
21854  # ifdef S370
21855 -    /* If this still works, and if anyone cares, this should probably  */
21856 -    /* be moved to the S390 category.                                  */
21857  #   define MACH_TYPE "S370"
21858  #   define ALIGNMENT 4 /* Required by hardware */
21859  #   define USE_GENERIC_PUSH_REGS
21860 @@ -1608,8 +1517,8 @@
21861          extern int etext[];
21862         extern int _etext[];
21863         extern int _end[];
21864 -       extern ptr_t GC_SysVGetDataStart();
21865 -#       define DATASTART GC_SysVGetDataStart(0x10000, _etext)
21866 +       extern char * GC_SysVGetDataStart();
21867 +#       define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, _etext)
21868  #      define DATAEND (_end)
21869  #      define HEURISTIC2
21870  #   endif
21871 @@ -1619,12 +1528,12 @@
21872  #   define MACH_TYPE "S390"
21873  #   define USE_GENERIC_PUSH_REGS
21874  #   ifndef __s390x__
21875 -#   define ALIGNMENT 4
21876 -#   define CPP_WORDSZ 32
21877 +#      define ALIGNMENT 4
21878 +#      define CPP_WORDSZ 32
21879  #   else
21880 -#   define ALIGNMENT 8
21881 -#   define CPP_WORDSZ 64
21882 -#   define HBLKSIZE 4096
21883 +#      define ALIGNMENT 8
21884 +#      define CPP_WORDSZ 64
21885 +#      define HBLKSIZE 4096
21886  #   endif
21887  #   ifdef LINUX
21888  #       define OS_TYPE "LINUX"
21889 @@ -1632,10 +1541,10 @@
21890  #       define DYNAMIC_LOADING
21891          extern int __data_start[];
21892  #       define DATASTART ((ptr_t)(__data_start))
21893 -    extern int _end[];
21894 -#   define DATAEND (_end)
21895 -#   define CACHE_LINE_SIZE 256
21896 -#   define GETPAGESIZE() 4096
21897 +       extern int _end[];
21898 +#      define DATAEND (_end)
21899 +#      define CACHE_LINE_SIZE 256
21900 +#      define GETPAGESIZE() 4096
21901  #   endif
21902  # endif
21903  
21904 @@ -1667,7 +1576,7 @@
21905  #            define DYNAMIC_LOADING
21906  #           include <features.h>
21907  #           if defined(__GLIBC__) && __GLIBC__ >= 2
21908 -#               define SEARCH_FOR_DATA_START
21909 +#               define LINUX_DATA_START
21910  #           else
21911                  extern char **__environ;
21912  #                define DATASTART ((ptr_t)(&__environ))
21913 @@ -1714,7 +1623,7 @@
21914  #     define STACKBOTTOM ((ptr_t) 0x7c000000)
21915  #     define USE_GENERIC_PUSH_REGS
21916  #     define DYNAMIC_LOADING
21917 -#     define SEARCH_FOR_DATA_START
21918 +#     define LINUX_DATA_START
21919        extern int _end[];
21920  #     define DATAEND (_end)
21921  #   endif
21922 @@ -1731,9 +1640,7 @@
21923  #   define MACH_TYPE "X86_64"
21924  #   define ALIGNMENT 8
21925  #   define CPP_WORDSZ 64
21926 -#   ifndef HBLKSIZE
21927 -#     define HBLKSIZE 4096
21928 -#   endif
21929 +#   define HBLKSIZE 4096
21930  #   define CACHE_LINE_SIZE 64
21931  #   define USE_GENERIC_PUSH_REGS
21932  #   ifdef LINUX
21933 @@ -1753,7 +1660,7 @@
21934  #              define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
21935  #           endif
21936  #           include <features.h>
21937 -#           define SEARCH_FOR_DATA_START
21938 +#           define LINUX_DATA_START
21939              extern int _end[];
21940  #           define DATAEND (_end)
21941  #      else
21942 @@ -1767,6 +1674,19 @@
21943  #   endif
21944  # endif
21945  
21946 +#ifdef LINUX_DATA_START
21947 +    /* Some Linux distributions arrange to define __data_start.  Some  */
21948 +    /* define data_start as a weak symbol.  The latter is technically  */
21949 +    /* broken, since the user program may define data_start, in which  */
21950 +    /* case we lose.  Nonetheless, we try both, prefering __data_start.        */
21951 +    /* We assume gcc.  */
21952 +#   pragma weak __data_start
21953 +    extern int __data_start[];
21954 +#   pragma weak data_start
21955 +    extern int data_start[];
21956 +#   define DATASTART ((ptr_t)(__data_start != 0? __data_start : data_start))
21957 +#endif
21958 +
21959  #if defined(LINUX) && defined(REDIRECT_MALLOC)
21960      /* Rld appears to allocate some memory with its own allocator, and */
21961      /* some through malloc, which might be redirected.  To make this   */
21962 @@ -1805,15 +1725,15 @@
21963  # endif
21964  
21965  # if defined(SUNOS5) || defined(DRSNX) || defined(UTS4)
21966 -           /* OS has SVR4 generic features.  Probably others also qualify.     */
21967 +    /* OS has SVR4 generic features.  Probably others also qualify.    */
21968  #   define SVR4
21969  # endif
21970  
21971  # if defined(SUNOS5) || defined(DRSNX)
21972 -           /* OS has SUNOS5 style semi-undocumented interface to dynamic       */
21973 -           /* loader.                                                          */
21974 +    /* OS has SUNOS5 style semi-undocumented interface to dynamic      */
21975 +    /* loader.                                                         */
21976  #   define SUNOS5DL
21977 -           /* OS has SUNOS5 style signal handlers.                             */
21978 +    /* OS has SUNOS5 style signal handlers.                            */
21979  #   define SUNOS5SIGS
21980  # endif
21981  
21982 @@ -1822,13 +1742,13 @@
21983  # endif
21984  
21985  # if defined(SVR4) || defined(LINUX) || defined(IRIX) || defined(HPUX) \
21986 -           || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) || defined(DGUX) \
21987 -           || defined(BSD) || defined(AIX) || defined(DARWIN) || defined(OSF1)
21988 +    || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
21989 +    || defined(BSD) || defined(_AIX) || defined(MACOSX) || defined(OSF1)
21990  #   define UNIX_LIKE   /* Basic Unix-like system calls work.   */
21991  # endif
21992  
21993  # if CPP_WORDSZ != 32 && CPP_WORDSZ != 64
21994 -          -> bad word size
21995 +   -> bad word size
21996  # endif
21997  
21998  # ifdef PCR
21999 @@ -1842,13 +1762,13 @@
22000  # endif
22001  
22002  # ifdef SRC_M3
22003 -       /* Postponed for now. */
22004 +/* Postponed for now. */
22005  #   undef PROC_VDB
22006  #   undef MPROTECT_VDB
22007  # endif
22008  
22009  # ifdef SMALL_CONFIG
22010 -       /* Presumably not worth the space it takes. */
22011 +/* Presumably not worth the space it takes. */
22012  #   undef PROC_VDB
22013  #   undef MPROTECT_VDB
22014  # endif
22015 @@ -1888,47 +1808,49 @@
22016      /* platforms as well, though it should be avoided in win32.                */
22017  # endif /* LINUX */
22018  
22019 -# if defined(SEARCH_FOR_DATA_START)
22020 +# if defined(SEARCH_FOR_DATA_START) && defined(GC_PRIVATE_H)
22021      extern ptr_t GC_data_start;
22022 -#   define DATASTART GC_data_start
22023  # endif
22024  
22025  # ifndef CLEAR_DOUBLE
22026  #   define CLEAR_DOUBLE(x) \
22027 -               ((word*)x)[0] = 0; \
22028 -               ((word*)x)[1] = 0;
22029 +       ((word*)x)[0] = 0; \
22030 +       ((word*)x)[1] = 0;
22031  # endif /* CLEAR_DOUBLE */
22032  
22033 -       /* Internally we use GC_SOLARIS_THREADS to test for either old or pthreads. */
22034 +/* Internally we use GC_SOLARIS_THREADS to test for either old or pthreads. */
22035  # if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
22036  #   define GC_SOLARIS_THREADS
22037  # endif
22038  
22039  # if defined(GC_IRIX_THREADS) && !defined(IRIX5)
22040 -       --> inconsistent configuration
22041 +--> inconsistent configuration
22042  # endif
22043  # if defined(GC_LINUX_THREADS) && !defined(LINUX)
22044 -       --> inconsistent configuration
22045 +--> inconsistent configuration
22046  # endif
22047  # if defined(GC_SOLARIS_THREADS) && !defined(SUNOS5)
22048 -       --> inconsistent configuration
22049 +--> inconsistent configuration
22050  # endif
22051  # if defined(GC_HPUX_THREADS) && !defined(HPUX)
22052 -       --> inconsistent configuration
22053 +--> inconsistent configuration
22054  # endif
22055 -# if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && !defined(CYGWIN32)
22056 -       --> inconsistent configuration
22057 +# if defined(GC_WIN32_THREADS) && !defined(MSWIN32)
22058 +    /* Ideally CYGWIN32 should work, in addition to MSWIN32.  I suspect        */
22059 +    /* the necessary code is mostly there, but nobody has actually made */
22060 +    /* sure the right combination of pieces is compiled in, etc.       */
22061 +--> inconsistent configuration
22062  # endif
22063  
22064  # if defined(PCR) || defined(SRC_M3) || \
22065 -               defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) || \
22066 -               defined(GC_PTHREADS)
22067 +       defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) || \
22068 +       defined(GC_PTHREADS)
22069  #   define THREADS
22070  # endif
22071  
22072 -# if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(DARWIN) \
22073 -            || defined(LINT) || defined(MSWINCE) || defined(ARM32) \
22074 -            || (defined(I386) && defined(__LCC__))
22075 +# if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(MACOSX) \
22076 +     || defined(LINT) || defined(MSWINCE) \
22077 +     || (defined(I386) && defined(__LCC__))
22078         /* Use setjmp based hack to mark from callee-save registers.    */
22079         /* The define should move to the individual platform            */
22080         /* descriptions.                                                */
22081 @@ -1940,26 +1862,36 @@
22082                                 /* include assembly code to do it well. */
22083  # endif
22084  
22085 -  /* Can we save call chain in objects for debugging?                  */
22086 -  /* SET NFRAMES (# of saved frames) and NARGS (#of args for each      */
22087 -  /* frame) to reasonable values for the platform.                     */
22088 -  /* Set SAVE_CALL_CHAIN if we can.  SAVE_CALL_COUNT can be specified  */
22089 -  /* at build time, though we feel free to adjust it slightly.         */
22090 -  /* Define NEED_CALLINFO if we either save the call stack or          */
22091 -  /* GC_ADD_CALLER is defined.                                         */
22092 -  /* GC_CAN_SAVE_CALL_STACKS is set in gc.h.                           */
22093 +/* Can we save call chain in objects for debugging?                    */
22094 +/* SET NFRAMES (# of saved frames) and NARGS (#of args for each frame) */
22095 +/* to reasonable values for the platform.                              */
22096 +/* Set SAVE_CALL_CHAIN if we can.  SAVE_CALL_COUNT can be specified at */
22097 +/* build time, though we feel free to adjust it slightly.              */
22098 +/* Define NEED_CALLINFO if we either save the call stack or            */
22099 +/* GC_ADD_CALLER is defined.                                           */
22100 +#ifdef LINUX
22101 +# include <features.h>
22102 +# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2
22103 +#   define HAVE_BUILTIN_BACKTRACE
22104 +# endif
22105 +#endif
22106  
22107  #if defined(SPARC)
22108 +# define CAN_SAVE_CALL_STACKS
22109  # define CAN_SAVE_CALL_ARGS
22110  #endif
22111  #if (defined(I386) || defined(X86_64)) && defined(LINUX)
22112 -           /* SAVE_CALL_CHAIN is supported if the code is compiled to save     */
22113 -           /* frame pointers by default, i.e. no -fomit-frame-pointer flag.    */
22114 +    /* SAVE_CALL_CHAIN is supported if the code is compiled to save    */
22115 +    /* frame pointers by default, i.e. no -fomit-frame-pointer flag.   */
22116 +# define CAN_SAVE_CALL_STACKS
22117  # define CAN_SAVE_CALL_ARGS
22118  #endif
22119 +#if defined(HAVE_BUILTIN_BACKTRACE) && !defined(CAN_SAVE_CALL_STACKS)
22120 +# define CAN_SAVE_CALL_STACKS
22121 +#endif
22122  
22123  # if defined(SAVE_CALL_COUNT) && !defined(GC_ADD_CALLER) \
22124 -            && defined(GC_CAN_SAVE_CALL_STACKS)
22125 +     && defined(CAN_SAVE_CALL_STACKS)
22126  #   define SAVE_CALL_CHAIN 
22127  # endif
22128  # ifdef SAVE_CALL_CHAIN
22129 @@ -1972,7 +1904,7 @@
22130  # ifdef SAVE_CALL_CHAIN
22131  #   ifndef SAVE_CALL_COUNT
22132  #     define NFRAMES 6 /* Number of frames to save. Even for           */
22133 -                               /* alignment reasons.                           */
22134 +                       /* alignment reasons.                           */
22135  #   else
22136  #     define NFRAMES ((SAVE_CALL_COUNT + 1) & ~1)
22137  #   endif
22138 @@ -1987,97 +1919,5 @@
22139  # if defined(MAKE_BACK_GRAPH) && !defined(DBG_HDRS_ALL)
22140  #   define DBG_HDRS_ALL
22141  # endif
22142 -
22143 -# if defined(POINTER_MASK) && !defined(POINTER_SHIFT)
22144 -#   define POINTER_SHIFT 0
22145 -# endif
22146 -
22147 -# if defined(POINTER_SHIFT) && !defined(POINTER_MASK)
22148 -#   define POINTER_MASK ((GC_word)(-1))
22149 -# endif
22150 -
22151 -# if !defined(FIXUP_POINTER) && defined(POINTER_MASK)
22152 -#   define FIXUP_POINTER(p) (p) = ((p) & (POINTER_MASK) << POINTER_SHIFT)
22153 -# endif
22154 -
22155 -# if defined(FIXUP_POINTER)
22156 -#   define NEED_FIXUP_POINTER 1
22157 -# else
22158 -#   define NEED_FIXUP_POINTER 0
22159 -#   define FIXUP_POINTER(p)
22160 -# endif
22161 -
22162 -#ifdef GC_PRIVATE_H
22163 -       /* This relies on some type definitions from gc_priv.h, from    */
22164 -        /* where it's normally included.                               */
22165 -       /*                                                              */
22166 -       /* How to get heap memory from the OS:                          */
22167 -       /* Note that sbrk()-like allocation is preferred, since it      */
22168 -       /* usually makes it possible to merge consecutively allocated   */
22169 -       /* chunks.  It also avoids unintented recursion with            */
22170 -       /* -DREDIRECT_MALLOC.                                           */
22171 -       /* GET_MEM() returns a HLKSIZE aligned chunk.                   */
22172 -       /* 0 is taken to mean failure.                                  */
22173 -       /* In the case os USE_MMAP, the argument must also be a         */
22174 -       /* physical page size.                                          */
22175 -       /* GET_MEM is currently not assumed to retrieve 0 filled space, */
22176 -       /* though we should perhaps take advantage of the case in which */
22177 -       /* does.                                                        */
22178 -       struct hblk;    /* See gc_priv.h.       */
22179 -# ifdef PCR
22180 -           char * real_malloc();
22181 -#   define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
22182 -                                         + GC_page_size-1)
22183 -# else
22184 -#   ifdef OS2
22185 -             void * os2_alloc(size_t bytes);
22186 -#     define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
22187 -                                           + GC_page_size) \
22188 -                                           + GC_page_size-1)
22189 -#   else
22190 -#     if defined(NEXT) || defined(DOS4GW) || \
22191 -                (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
22192 -                (defined(SUNOS5) && !defined(USE_MMAP))
22193 -#       define GET_MEM(bytes) HBLKPTR((size_t) \
22194 -                                             calloc(1, (size_t)bytes + GC_page_size) \
22195 -                                             + GC_page_size-1)
22196 -#     else
22197 -#      ifdef MSWIN32
22198 -         extern ptr_t GC_win32_get_mem();
22199 -#         define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
22200 -#      else
22201 -#        ifdef MACOS
22202 -#          if defined(USE_TEMPORARY_MEMORY)
22203 -                       extern Ptr GC_MacTemporaryNewPtr(size_t size,
22204 -                                                        Boolean clearMemory);
22205 -#               define GET_MEM(bytes) HBLKPTR( \
22206 -                           GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
22207 -                           + GC_page_size-1)
22208 -#          else
22209 -#                  define GET_MEM(bytes) HBLKPTR( \
22210 -                               NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
22211 -#          endif
22212 -#        else
22213 -#          ifdef MSWINCE
22214 -             extern ptr_t GC_wince_get_mem();
22215 -#            define GET_MEM(bytes) (struct hblk *)GC_wince_get_mem(bytes)
22216 -#          else
22217 -#            if defined(AMIGA) && defined(GC_AMIGA_FASTALLOC)
22218 -                       extern void *GC_amiga_get_mem(size_t size);
22219 -                       define GET_MEM(bytes) HBLKPTR((size_t) \
22220 -                         GC_amiga_get_mem((size_t)bytes + GC_page_size) \
22221 -                         + GC_page_size-1)
22222 -#            else
22223 -               extern ptr_t GC_unix_get_mem();
22224 -#               define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
22225 -#            endif
22226 -#          endif
22227 -#        endif
22228 -#      endif
22229 -#     endif
22230 -#   endif
22231 -# endif
22232 -
22233 -#endif /* GC_PRIVATE_H */
22234  
22235  # endif /* GCCONFIG_H */
22236 diff -Nur ../boehm-gc/include/private/pthread_stop_world.h boehm-gc/include/private/pthread_stop_world.h
22237 --- ../boehm-gc/include/private/pthread_stop_world.h    Mon May 26 13:28:24 2003
22238 +++ boehm-gc/include/private/pthread_stop_world.h       Wed Dec 31 16:00:00 1969
22239 @@ -1,12 +0,0 @@
22240 -#ifndef GC_PTHREAD_STOP_WORLD_H
22241 -#define GC_PTHREAD_STOP_WORLD_H
22242 -
22243 -struct thread_stop_info {
22244 -    int        signal;
22245 -    word last_stop_count;      /* GC_last_stop_count value when thread */
22246 -                               /* last successfully handled a suspend  */
22247 -                               /* signal.                              */
22248 -    ptr_t stack_ptr;           /* Valid only when stopped.             */
22249 -};
22250 -    
22251 -#endif
22252 diff -Nur ../boehm-gc/include/private/pthread_support.h boehm-gc/include/private/pthread_support.h
22253 --- ../boehm-gc/include/private/pthread_support.h       Mon May 26 13:28:24 2003
22254 +++ boehm-gc/include/private/pthread_support.h  Wed Dec 31 16:00:00 1969
22255 @@ -1,97 +0,0 @@
22256 -#ifndef GC_PTHREAD_SUPPORT_H
22257 -#define GC_PTHREAD_SUPPORT_H
22258 -
22259 -# include "private/gc_priv.h"
22260 -
22261 -# if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
22262 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
22263 -     
22264 -#if defined(GC_DARWIN_THREADS)
22265 -# include "private/darwin_stop_world.h"
22266 -#else
22267 -# include "private/pthread_stop_world.h"
22268 -#endif
22269 -
22270 -/* We use the allocation lock to protect thread-related data structures. */
22271 -
22272 -/* The set of all known threads.  We intercept thread creation and     */
22273 -/* joins.                                                              */
22274 -/* Protected by allocation/GC lock.                                    */
22275 -/* Some of this should be declared volatile, but that's inconsistent   */
22276 -/* with some library routine declarations.                             */
22277 -typedef struct GC_Thread_Rep {
22278 -    struct GC_Thread_Rep * next;  /* More recently allocated threads   */
22279 -                                 /* with a given pthread id come       */
22280 -                                 /* first.  (All but the first are     */
22281 -                                 /* guaranteed to be dead, but we may  */
22282 -                                 /* not yet have registered the join.) */
22283 -    pthread_t id;
22284 -    /* Extra bookkeeping information the stopping code uses */
22285 -    struct thread_stop_info stop_info;
22286 -    
22287 -    short flags;
22288 -#      define FINISHED 1       /* Thread has exited.   */
22289 -#      define DETACHED 2       /* Thread is intended to be detached.   */
22290 -#      define MAIN_THREAD 4    /* True for the original thread only.   */
22291 -    short thread_blocked;      /* Protected by GC lock.                */
22292 -                               /* Treated as a boolean value.  If set, */
22293 -                               /* thread will acquire GC lock before   */
22294 -                               /* doing any pointer manipulations, and */
22295 -                               /* has set its sp value.  Thus it does  */
22296 -                               /* not need to be sent a signal to stop */
22297 -                               /* it.                                  */
22298 -    ptr_t stack_end;           /* Cold end of the stack.               */
22299 -#   ifdef IA64
22300 -       ptr_t backing_store_end;
22301 -       ptr_t backing_store_ptr;
22302 -#   endif
22303 -    void * status;             /* The value returned from the thread.  */
22304 -                               /* Used only to avoid premature         */
22305 -                               /* reclamation of any data it might     */
22306 -                               /* reference.                           */
22307 -#   ifdef THREAD_LOCAL_ALLOC
22308 -#      if CPP_WORDSZ == 64 && defined(ALIGN_DOUBLE)
22309 -#          define GRANULARITY 16
22310 -#          define NFREELISTS 49
22311 -#      else
22312 -#          define GRANULARITY 8
22313 -#          define NFREELISTS 65
22314 -#      endif
22315 -       /* The ith free list corresponds to size i*GRANULARITY */
22316 -#      define INDEX_FROM_BYTES(n) ((ADD_SLOP(n) + GRANULARITY - 1)/GRANULARITY)
22317 -#      define BYTES_FROM_INDEX(i) ((i) * GRANULARITY - EXTRA_BYTES)
22318 -#      define SMALL_ENOUGH(bytes) (ADD_SLOP(bytes) <= \
22319 -                                   (NFREELISTS-1)*GRANULARITY)
22320 -       ptr_t ptrfree_freelists[NFREELISTS];
22321 -       ptr_t normal_freelists[NFREELISTS];
22322 -#      ifdef GC_GCJ_SUPPORT
22323 -         ptr_t gcj_freelists[NFREELISTS];
22324 -#      endif
22325 -               /* Free lists contain either a pointer or a small count */
22326 -               /* reflecting the number of granules allocated at that  */
22327 -               /* size.                                                */
22328 -               /* 0 ==> thread-local allocation in use, free list      */
22329 -               /*       empty.                                         */
22330 -               /* > 0, <= DIRECT_GRANULES ==> Using global allocation, */
22331 -               /*       too few objects of this size have been         */
22332 -               /*       allocated by this thread.                      */
22333 -               /* >= HBLKSIZE  => pointer to nonempty free list.       */
22334 -               /* > DIRECT_GRANULES, < HBLKSIZE ==> transition to      */
22335 -               /*    local alloc, equivalent to 0.                     */
22336 -#      define DIRECT_GRANULES (HBLKSIZE/GRANULARITY)
22337 -               /* Don't use local free lists for up to this much       */
22338 -               /* allocation.                                          */
22339 -#   endif
22340 -} * GC_thread;
22341 -
22342 -# define THREAD_TABLE_SZ 128   /* Must be power of 2   */
22343 -extern volatile GC_thread GC_threads[THREAD_TABLE_SZ];
22344 -
22345 -extern GC_bool GC_thr_initialized;
22346 -
22347 -GC_thread GC_lookup_thread(pthread_t id);
22348 -
22349 -void GC_stop_init();
22350 -
22351 -#endif /* GC_PTHREADS && !GC_SOLARIS_THREADS.... etc */
22352 -#endif /* GC_PTHREAD_SUPPORT_H */
22353 diff -Nur ../boehm-gc/include/private/solaris_threads.h boehm-gc/include/private/solaris_threads.h
22354 --- ../boehm-gc/include/private/solaris_threads.h       Mon May 26 13:28:24 2003
22355 +++ boehm-gc/include/private/solaris_threads.h  Tue Oct 23 16:21:39 2001
22356 @@ -16,8 +16,7 @@
22357  #      define DETACHED 2       /* Thread is intended to be detached.   */
22358  #      define CLIENT_OWNS_STACK        4
22359                                 /* Stack was supplied by client.        */
22360 -#      define SUSPNDED 8       /* Currently suspended.                 */
22361 -                              /* SUSPENDED is used insystem header.    */
22362 +#      define SUSPENDED 8      /* Currently suspended. */
22363      ptr_t stack;
22364      size_t stack_size;
22365      cond_t join_cv;
22366 diff -Nur ../boehm-gc/include/private/specific.h boehm-gc/include/private/specific.h
22367 --- ../boehm-gc/include/private/specific.h      Mon May 26 13:28:24 2003
22368 +++ boehm-gc/include/private/specific.h Fri Mar 29 14:52:13 2002
22369 @@ -85,7 +85,7 @@
22370      unsigned hash_val = CACHE_HASH(qtid);
22371      tse * volatile * entry_ptr = key -> cache + hash_val;
22372      tse * entry = *entry_ptr;   /* Must be loaded only once.   */
22373 -    if (EXPECT(entry -> qtid == qtid, 1)) {
22374 +    if (entry -> qtid == qtid) {
22375        GC_ASSERT(entry -> thread == pthread_self());
22376        return entry -> value;
22377      }
22378 diff -Nur ../boehm-gc/irix_threads.c boehm-gc/irix_threads.c
22379 --- ../boehm-gc/irix_threads.c  Mon May 26 12:48:52 2003
22380 +++ boehm-gc/irix_threads.c     Sun May 19 10:36:14 2002
22381 @@ -41,10 +41,6 @@
22382  #undef pthread_join
22383  #undef pthread_detach
22384  
22385 -#ifdef HANDLE_FORK
22386 -  --> Not yet supported.  Try porting the code from linux_threads.c.
22387 -#endif
22388 -
22389  void GC_thr_init();
22390  
22391  #if 0
22392 diff -Nur ../boehm-gc/mach_dep.c boehm-gc/mach_dep.c
22393 --- ../boehm-gc/mach_dep.c      Mon May 26 12:48:52 2003
22394 +++ boehm-gc/mach_dep.c Thu Jul 18 13:06:00 2002
22395 @@ -74,7 +74,7 @@
22396  /* on your architecture.  Run the test_setjmp program to see whether    */
22397  /* there is any chance it will work.                                    */
22398  
22399 -#if !defined(USE_GENERIC_PUSH_REGS) && !defined(USE_ASM_PUSH_REGS)
22400 +#ifndef USE_GENERIC_PUSH_REGS
22401  void GC_push_regs()
22402  {
22403  #       ifdef RT
22404 @@ -228,8 +228,7 @@
22405         || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) \
22406         || ( defined(I386) && defined(NETBSD) && defined(__ELF__) ) \
22407         || ( defined(I386) && defined(OPENBSD) && defined(__ELF__) ) \
22408 -       || ( defined(I386) && defined(HURD) && defined(__ELF__) ) \
22409 -       || ( defined(I386) && defined(DGUX) )
22410 +       || ( defined(I386) && defined(HURD) && defined(__ELF__) )
22411  
22412         /* This is modified for Linux with ELF (Note: _ELF_ only) */
22413         /* This section handles FreeBSD with ELF. */
22414 @@ -378,7 +377,7 @@
22415        /* other machines... */
22416  #       if !defined(M68K) && !defined(VAX) && !defined(RT) 
22417  #      if !defined(SPARC) && !defined(I386) && !defined(NS32K)
22418 -#      if !(defined(POWERPC) && defined(LINUX)) && !defined(UTS4) 
22419 +#      if !defined(POWERPC) && !defined(UTS4) 
22420  #       if !defined(PJ) && !(defined(MIPS) && defined(LINUX))
22421             --> bad news <--
22422  #      endif
22423 @@ -386,7 +385,7 @@
22424  #       endif
22425  #       endif
22426  }
22427 -#endif /* !USE_GENERIC_PUSH_REGS && !USE_ASM_PUSH_REGS */
22428 +#endif /* !USE_GENERIC_PUSH_REGS */
22429  
22430  #if defined(USE_GENERIC_PUSH_REGS)
22431  void GC_generic_push_regs(cold_gc_frame)
22432 diff -Nur ../boehm-gc/malloc.c boehm-gc/malloc.c
22433 --- ../boehm-gc/malloc.c        Mon May 26 12:48:52 2003
22434 +++ boehm-gc/malloc.c   Mon Feb 11 20:37:53 2002
22435 @@ -182,7 +182,6 @@
22436      ptr_t result;
22437      DCL_LOCK_STATE;
22438  
22439 -    if (GC_have_errors) GC_print_all_errors();
22440      GC_INVOKE_FINALIZERS();
22441      if (SMALL_OBJ(lb)) {
22442         DISABLE_SIGNALS();
22443 @@ -295,11 +294,6 @@
22444              return(GENERAL_MALLOC((word)lb, NORMAL));
22445          }
22446          /* See above comment on signals.       */
22447 -       GC_ASSERT(0 == obj_link(op)
22448 -                 || (word)obj_link(op)
22449 -                       <= (word)GC_greatest_plausible_heap_addr
22450 -                    && (word)obj_link(op)
22451 -                       >= (word)GC_least_plausible_heap_addr);
22452          *opp = obj_link(op);
22453          obj_link(op) = 0;
22454          GC_words_allocd += lw;
22455 @@ -344,7 +338,6 @@
22456      return((GC_PTR)REDIRECT_MALLOC(n*lb));
22457    }
22458  
22459 -#ifndef strdup
22460  # include <string.h>
22461  # ifdef __STDC__
22462      char *strdup(const char *s)
22463 @@ -353,16 +346,11 @@
22464      char *s;
22465  # endif
22466    {
22467 -    size_t len = strlen(s) + 1;
22468 +    size_t len = strlen + 1;
22469      char * result = ((char *)REDIRECT_MALLOC(len+1));
22470      BCOPY(s, result, len+1);
22471      return result;
22472    }
22473 -#endif /* !defined(strdup) */
22474 - /* If strdup is macro defined, we assume that it actually calls malloc, */
22475 - /* and thus the right thing will happen even without overriding it.    */
22476 - /* This seems to be true on most Linux systems.                        */
22477 -
22478  # endif /* REDIRECT_MALLOC */
22479  
22480  /* Explicitly deallocate an object p.                          */
22481 @@ -385,7 +373,6 @@
22482         /* Required by ANSI.  It's not my fault ...     */
22483      h = HBLKPTR(p);
22484      hhdr = HDR(h);
22485 -    GC_ASSERT(GC_base(p) == p);
22486  #   if defined(REDIRECT_MALLOC) && \
22487         (defined(GC_SOLARIS_THREADS) || defined(GC_LINUX_THREADS) \
22488          || defined(__MINGW32__)) /* Should this be MSWIN32 in general? */
22489 @@ -467,10 +454,7 @@
22490  }
22491  #endif /* THREADS */
22492  
22493 -# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_FREE)
22494 -#   define REDIRECT_FREE GC_free
22495 -# endif
22496 -# ifdef REDIRECT_FREE
22497 +# ifdef REDIRECT_MALLOC
22498  #   ifdef __STDC__
22499        void free(GC_PTR p)
22500  #   else
22501 @@ -479,7 +463,7 @@
22502  #   endif
22503    {
22504  #   ifndef IGNORE_FREE
22505 -      REDIRECT_FREE(p);
22506 +      GC_free(p);
22507  #   endif
22508    }
22509  # endif  /* REDIRECT_MALLOC */
22510 diff -Nur ../boehm-gc/mallocx.c boehm-gc/mallocx.c
22511 --- ../boehm-gc/mallocx.c       Mon May 26 12:48:52 2003
22512 +++ boehm-gc/mallocx.c  Fri Aug 17 18:04:43 2001
22513 @@ -142,11 +142,7 @@
22514      }
22515  }
22516  
22517 -# if defined(REDIRECT_MALLOC) && !defined(REDIRECT_REALLOC)
22518 -#   define REDIRECT_REALLOC GC_realloc
22519 -# endif
22520 -
22521 -# ifdef REDIRECT_REALLOC
22522 +# if defined(REDIRECT_MALLOC) || defined(REDIRECT_REALLOC)
22523  # ifdef __STDC__
22524      GC_PTR realloc(GC_PTR p, size_t lb)
22525  # else
22526 @@ -155,9 +151,13 @@
22527      size_t lb;
22528  # endif
22529    {
22530 -    return(REDIRECT_REALLOC(p, lb));
22531 +#   ifdef REDIRECT_REALLOC
22532 +      return(REDIRECT_REALLOC(p, lb));
22533 +#   else
22534 +      return(GC_realloc(p, lb));
22535 +#   endif
22536    }
22537 -# endif /* REDIRECT_REALLOC */
22538 +# endif /* REDIRECT_MALLOC */
22539  
22540  
22541  /* The same thing, except caller does not hold allocation lock.        */
22542 @@ -177,7 +177,6 @@
22543      lw = ROUNDED_UP_WORDS(lb);
22544      n_blocks = OBJ_SZ_TO_BLOCKS(lw);
22545      init = GC_obj_kinds[k].ok_init;
22546 -    if (GC_have_errors) GC_print_all_errors();
22547      GC_INVOKE_FINALIZERS();
22548      DISABLE_SIGNALS();
22549      LOCK();
22550 @@ -287,7 +286,6 @@
22551  register ptr_t op;
22552  DCL_LOCK_STATE;
22553  
22554 -    if (GC_have_errors) GC_print_all_errors();
22555      GC_INVOKE_FINALIZERS();
22556      DISABLE_SIGNALS();
22557      LOCK();
22558 @@ -356,7 +354,6 @@
22559          return;
22560      }
22561      lw = ALIGNED_WORDS(lb);
22562 -    if (GC_have_errors) GC_print_all_errors();
22563      GC_INVOKE_FINALIZERS();
22564      DISABLE_SIGNALS();
22565      LOCK();
22566 @@ -378,7 +375,6 @@
22567         while ((hbp = *rlh) != 0) {
22568              hhdr = HDR(hbp);
22569              *rlh = hhdr -> hb_next;
22570 -           hhdr -> hb_last_reclaimed = (unsigned short) GC_gc_no;
22571  #          ifdef PARALLEL_MARK
22572                 {
22573                   signed_word my_words_allocd_tmp = GC_words_allocd_tmp;
22574 @@ -578,44 +574,6 @@
22575         return((GC_PTR) op);
22576      }
22577  }
22578 -
22579 -#ifdef __STDC__
22580 -/* Not well tested nor integrated.     */
22581 -/* Debug version is tricky and currently missing.      */
22582 -#include <limits.h>
22583 -
22584 -GC_PTR GC_memalign(size_t align, size_t lb) 
22585 -{ 
22586 -    size_t new_lb;
22587 -    size_t offset;
22588 -    ptr_t result;
22589 -
22590 -#   ifdef ALIGN_DOUBLE
22591 -       if (align <= WORDS_TO_BYTES(2) && lb > align) return GC_malloc(lb);
22592 -#   endif
22593 -    if (align <= WORDS_TO_BYTES(1)) return GC_malloc(lb);
22594 -    if (align >= HBLKSIZE/2 || lb >= HBLKSIZE/2) {
22595 -        if (align > HBLKSIZE) return GC_oom_fn(LONG_MAX-1024) /* Fail */;
22596 -       return GC_malloc(lb <= HBLKSIZE? HBLKSIZE : lb);
22597 -           /* Will be HBLKSIZE aligned.        */
22598 -    }
22599 -    /* We could also try to make sure that the real rounded-up object size */
22600 -    /* is a multiple of align.  That would be correct up to HBLKSIZE.     */
22601 -    new_lb = lb + align - 1;
22602 -    result = GC_malloc(new_lb);
22603 -    offset = (word)result % align;
22604 -    if (offset != 0) {
22605 -       offset = align - offset;
22606 -        if (!GC_all_interior_pointers) {
22607 -           if (offset >= VALID_OFFSET_SZ) return GC_malloc(HBLKSIZE);
22608 -           GC_register_displacement(offset);
22609 -       }
22610 -    }
22611 -    result = (GC_PTR) ((ptr_t)result + offset);
22612 -    GC_ASSERT((word)result % align == 0);
22613 -    return result;
22614 -}
22615 -#endif 
22616  
22617  # ifdef ATOMIC_UNCOLLECTABLE
22618  /* Allocate lb bytes of pointerfree, untraced, uncollectable data      */
22619 diff -Nur ../boehm-gc/mark.c boehm-gc/mark.c
22620 --- ../boehm-gc/mark.c  Mon May 26 12:48:52 2003
22621 +++ boehm-gc/mark.c     Fri Mar 29 14:52:12 2002
22622 @@ -19,10 +19,6 @@
22623  # include <stdio.h>
22624  # include "private/gc_pmark.h"
22625  
22626 -#if defined(MSWIN32) && defined(__GNUC__)
22627 -# include <excpt.h>
22628 -#endif
22629 -
22630  /* We put this here to minimize the risk of inlining. */
22631  /*VARARGS*/
22632  #ifdef __WATCOMC__
22633 @@ -265,20 +261,20 @@
22634  /* remains valid until all marking is complete.                */
22635  /* A zero value indicates that it's OK to miss some    */
22636  /* register values.                                    */
22637 -/* We hold the allocation lock.  In the case of        */
22638 -/* incremental collection, the world may not be stopped.*/
22639 -#ifdef MSWIN32
22640 -  /* For win32, this is called after we establish a structured */
22641 -  /* exception handler, in case Windows unmaps one of our root */
22642 -  /* segments.  See below.  In either case, we acquire the     */
22643 -  /* allocator lock long before we get here.                   */
22644 -  GC_bool GC_mark_some_inner(cold_gc_frame)
22645 -  ptr_t cold_gc_frame;
22646 -#else
22647 -  GC_bool GC_mark_some(cold_gc_frame)
22648 -  ptr_t cold_gc_frame;
22649 -#endif
22650 +GC_bool GC_mark_some(cold_gc_frame)
22651 +ptr_t cold_gc_frame;
22652  {
22653 +#if defined(MSWIN32) && !defined(__GNUC__)
22654 +  /* Windows 98 appears to asynchronously create and remove writable   */
22655 +  /* memory mappings, for reasons we haven't yet understood.  Since    */
22656 +  /* we look for writable regions to determine the root set, we may    */
22657 +  /* try to mark from an address range that disappeared since we       */
22658 +  /* started the collection.  Thus we have to recover from faults here. */
22659 +  /* This code does not appear to be necessary for Windows 95/NT/2000. */ 
22660 +  /* Note that this code should never generate an incremental GC write */
22661 +  /* fault.                                                            */
22662 +  __try {
22663 +#endif /* defined(MSWIN32) && !defined(__GNUC__) */
22664      switch(GC_mark_state) {
22665         case MS_NONE:
22666             return(FALSE);
22667 @@ -399,130 +395,23 @@
22668             ABORT("GC_mark_some: bad state");
22669             return(FALSE);
22670      }
22671 -}
22672 -
22673 -
22674 -#ifdef MSWIN32
22675 -
22676 -# ifdef __GNUC__
22677 -
22678 -    typedef struct {
22679 -      EXCEPTION_REGISTRATION ex_reg;
22680 -      void *alt_path;
22681 -    } ext_ex_regn;
22682 -
22683 -
22684 -    static EXCEPTION_DISPOSITION mark_ex_handler(
22685 -        struct _EXCEPTION_RECORD *ex_rec, 
22686 -        void *est_frame,
22687 -        struct _CONTEXT *context,
22688 -        void *disp_ctxt)
22689 -    {
22690 -        if (ex_rec->ExceptionCode == STATUS_ACCESS_VIOLATION) {
22691 -          ext_ex_regn *xer = (ext_ex_regn *)est_frame;
22692 -
22693 -          /* Unwind from the inner function assuming the standard */
22694 -          /* function prologue.                                   */
22695 -          /* Assumes code has not been compiled with              */
22696 -          /* -fomit-frame-pointer.                                */
22697 -          context->Esp = context->Ebp;
22698 -          context->Ebp = *((DWORD *)context->Esp);
22699 -          context->Esp = context->Esp - 8;
22700 -
22701 -          /* Resume execution at the "real" handler within the    */
22702 -          /* wrapper function.                                    */
22703 -          context->Eip = (DWORD )(xer->alt_path);
22704 -
22705 -          return ExceptionContinueExecution;
22706 -
22707 -        } else {
22708 -            return ExceptionContinueSearch;
22709 -        }
22710 -    }
22711 -# endif /* __GNUC__ */
22712 -
22713 -
22714 -  GC_bool GC_mark_some(cold_gc_frame)
22715 -  ptr_t cold_gc_frame;
22716 -  {
22717 -      GC_bool ret_val;
22718 -
22719 -#   ifndef __GNUC__
22720 -      /* Windows 98 appears to asynchronously create and remove  */
22721 -      /* writable memory mappings, for reasons we haven't yet    */
22722 -      /* understood.  Since we look for writable regions to      */
22723 -      /* determine the root set, we may try to mark from an      */
22724 -      /* address range that disappeared since we started the     */
22725 -      /* collection.  Thus we have to recover from faults here.  */
22726 -      /* This code does not appear to be necessary for Windows   */
22727 -      /* 95/NT/2000. Note that this code should never generate   */
22728 -      /* an incremental GC write fault.                          */
22729 -
22730 -      __try {
22731 -
22732 -#   else /* __GNUC__ */
22733 -
22734 -      /* Manually install an exception handler since GCC does    */
22735 -      /* not yet support Structured Exception Handling (SEH) on  */
22736 -      /* Win32.                                                  */
22737 -
22738 -      ext_ex_regn er;
22739 -
22740 -      er.alt_path = &&handle_ex;
22741 -      er.ex_reg.handler = mark_ex_handler;
22742 -      asm volatile ("movl %%fs:0, %0" : "=r" (er.ex_reg.prev));
22743 -      asm volatile ("movl %0, %%fs:0" : : "r" (&er));
22744 -
22745 -#   endif /* __GNUC__ */
22746 -
22747 -          ret_val = GC_mark_some_inner(cold_gc_frame);
22748 -
22749 -#   ifndef __GNUC__
22750 -
22751 -      } __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ?
22752 -                EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
22753 -
22754 -#   else /* __GNUC__ */
22755 -
22756 -          /* Prevent GCC from considering the following code unreachable */
22757 -          /* and thus eliminating it.                                    */
22758 -          if (er.alt_path != 0)
22759 -              goto rm_handler;
22760 -
22761 -handle_ex:
22762 -          /* Execution resumes from here on an access violation. */
22763 -
22764 -#   endif /* __GNUC__ */
22765 -
22766 -#         ifdef CONDPRINT
22767 -            if (GC_print_stats) {
22768 -             GC_printf0("Caught ACCESS_VIOLATION in marker. "
22769 -                        "Memory mapping disappeared.\n");
22770 -            }
22771 -#         endif /* CONDPRINT */
22772 -
22773 -          /* We have bad roots on the stack.  Discard mark stack.  */
22774 -          /* Rescan from marked objects.  Redetermine roots.    */
22775 -          GC_invalidate_mark_state();  
22776 -          scan_ptr = 0;
22777 -
22778 -          ret_val = FALSE;
22779 -
22780 -#   ifndef __GNUC__
22781 -
22782 +#if defined(MSWIN32) && !defined(__GNUC__)
22783 +  } __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ?
22784 +           EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
22785 +#   ifdef CONDPRINT
22786 +      if (GC_print_stats) {
22787 +       GC_printf0("Caught ACCESS_VIOLATION in marker. "
22788 +                  "Memory mapping disappeared.\n");
22789        }
22790 -
22791 -#   else /* __GNUC__ */
22792 -
22793 -rm_handler:
22794 -      /* Uninstall the exception handler */
22795 -      asm volatile ("mov %0, %%fs:0" : : "r" (er.ex_reg.prev));
22796 -
22797 -#   endif /* __GNUC__ */
22798 -
22799 -      return ret_val;
22800 +#   endif /* CONDPRINT */
22801 +    /* We have bad roots on the stack.  Discard mark stack.    */
22802 +    /* Rescan from marked objects.  Redetermine roots.         */
22803 +    GC_invalidate_mark_state();        
22804 +    scan_ptr = 0;
22805 +    return FALSE;
22806    }
22807 -#endif /* MSWIN32 */
22808 +#endif /* defined(MSWIN32) && !defined(__GNUC__) */
22809 +}
22810  
22811  
22812  GC_bool GC_mark_stack_empty()
22813 @@ -545,7 +434,13 @@
22814  /*       for the large object.                                         */
22815  /*     - just return current if it does not point to a large object.   */
22816  /*ARGSUSED*/
22817 -ptr_t GC_find_start(current, hhdr, new_hdr_p)
22818 +# ifdef PRINT_BLACK_LIST
22819 +  ptr_t GC_find_start(current, hhdr, new_hdr_p, source)
22820 +  ptr_t source;
22821 +# else
22822 +  ptr_t GC_find_start(current, hhdr, new_hdr_p)
22823 +# define source 0
22824 +# endif
22825  register ptr_t current;
22826  register hdr *hhdr, **new_hdr_p;
22827  {
22828 @@ -573,6 +468,7 @@
22829      } else {
22830          return(current);
22831      }
22832 +#   undef source
22833  }
22834  
22835  void GC_invalidate_mark_state()
22836 @@ -650,8 +546,8 @@
22837            /* Large length.                                             */
22838            /* Process part of the range to avoid pushing too much on the        */
22839            /* stack.                                                    */
22840 -         GC_ASSERT(descr < (word)GC_greatest_plausible_heap_addr
22841 -                           - (word)GC_least_plausible_heap_addr);
22842 +         GC_ASSERT(descr < GC_greatest_plausible_heap_addr
22843 +                           - GC_least_plausible_heap_addr);
22844  #        ifdef PARALLEL_MARK
22845  #          define SHARE_BYTES 2048
22846             if (descr > SHARE_BYTES && GC_parallel
22847 @@ -682,7 +578,6 @@
22848            while (descr != 0) {
22849              if ((signed_word)descr < 0) {
22850                current = *current_p;
22851 -             FIXUP_POINTER(current);
22852               if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) {
22853                 PREFETCH(current);
22854                  HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top,
22855 @@ -757,7 +652,6 @@
22856           PREFETCH((ptr_t)limit - PREF_DIST*CACHE_LINE_SIZE);
22857           GC_ASSERT(limit >= current_p);
22858           deferred = *limit;
22859 -         FIXUP_POINTER(deferred);
22860           limit = (word *)((char *)limit - ALIGNMENT);
22861           if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
22862             PREFETCH(deferred);
22863 @@ -767,7 +661,6 @@
22864           /* Unroll once, so we don't do too many of the prefetches     */
22865           /* based on limit.                                            */
22866           deferred = *limit;
22867 -         FIXUP_POINTER(deferred);
22868           limit = (word *)((char *)limit - ALIGNMENT);
22869           if ((ptr_t)deferred >= least_ha && (ptr_t)deferred <  greatest_ha) {
22870             PREFETCH(deferred);
22871 @@ -782,7 +675,6 @@
22872         /* Since HC_PUSH_CONTENTS expands to a lot of code,     */
22873         /* we don't.                                            */
22874          current = *current_p;
22875 -       FIXUP_POINTER(current);
22876          PREFETCH((ptr_t)current_p + PREF_DIST*CACHE_LINE_SIZE);
22877          if ((ptr_t)current >= least_ha && (ptr_t)current <  greatest_ha) {
22878           /* Prefetch the contents of the object we just pushed.  It's  */
22879 @@ -834,33 +726,22 @@
22880      mse *top = local - 1;
22881      unsigned i = 0;
22882  
22883 -    /* Make sure that prior writes to the mark stack are visible. */
22884 -    /* On some architectures, the fact that the reads are        */
22885 -    /* volatile should suffice.                                          */
22886 -#   if !defined(IA64) && !defined(HP_PA) && !defined(I386)
22887 -      GC_memory_barrier();
22888 -#   endif
22889      GC_ASSERT(high >= low-1 && high - low + 1 <= GC_mark_stack_size);
22890      for (p = low; p <= high && i <= max; ++p) {
22891         word descr = *(volatile word *) &(p -> mse_descr);
22892 -       /* In the IA64 memory model, the following volatile store is    */
22893 -       /* ordered after this read of descr.  Thus a thread must read   */
22894 -       /* the original nonzero value.  HP_PA appears to be similar,    */
22895 -       /* and if I'm reading the P4 spec correctly, X86 is probably    */
22896 -       /* also OK.  In some other cases we need a barrier.             */
22897 -#       if !defined(IA64) && !defined(HP_PA) && !defined(I386)
22898 -          GC_memory_barrier();
22899 -#       endif
22900         if (descr != 0) {
22901             *(volatile word *) &(p -> mse_descr) = 0;
22902 -           /* More than one thread may get this entry, but that's only */
22903 -           /* a minor performance problem.                             */
22904             ++top;
22905             top -> mse_descr = descr;
22906             top -> mse_start = p -> mse_start;
22907             GC_ASSERT(  top -> mse_descr & GC_DS_TAGS != GC_DS_LENGTH || 
22908                         top -> mse_descr < GC_greatest_plausible_heap_addr
22909                                            - GC_least_plausible_heap_addr);
22910 +           /* There is no synchronization here.  We assume that at     */
22911 +           /* least one thread will see the original descriptor.       */
22912 +           /* Otherwise we need a barrier.                             */
22913 +           /* More than one thread may get this entry, but that's only */
22914 +           /* a minor performance problem.                             */
22915             /* If this is a big object, count it as                     */
22916             /* size/256 + 1 objects.                                    */
22917             ++i;
22918 @@ -897,7 +778,7 @@
22919        BCOPY(low, my_start, stack_size * sizeof(mse));
22920        GC_ASSERT(GC_mark_stack_top = my_top);
22921  #     if !defined(IA64) && !defined(HP_PA)
22922 -        GC_memory_barrier();
22923 +        GC_memory_write_barrier();
22924  #     endif
22925         /* On IA64, the volatile write acts as a release barrier. */
22926        GC_mark_stack_top = my_top + stack_size;
22927 @@ -1461,8 +1342,8 @@
22928  #   define GC_least_plausible_heap_addr least_ha
22929  
22930      if (top == 0) return;
22931 -    /* check all pointers in range and push if they appear     */
22932 -    /* to be valid.                                            */
22933 +    /* check all pointers in range and put in push if they appear */
22934 +    /* to be valid.                                              */
22935        lim = t - 1 /* longword */;
22936        for (p = b; p <= lim; p = (word *)(((char *)p) + ALIGNMENT)) {
22937         q = *p;
22938 @@ -1485,7 +1366,7 @@
22939  ptr_t top;
22940  ptr_t cold_gc_frame;
22941  {
22942 -  if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
22943 +  if (GC_all_interior_pointers) {
22944  #   define EAGER_BYTES 1024
22945      /* Push the hot end of the stack eagerly, so that register values   */
22946      /* saved inside GC frames are marked before they disappear.                */
22947 @@ -1494,7 +1375,6 @@
22948         GC_push_all_stack(bottom, top);
22949         return;
22950      }
22951 -    GC_ASSERT(bottom <= cold_gc_frame && cold_gc_frame <= top);
22952  #   ifdef STACK_GROWS_DOWN
22953         GC_push_all(cold_gc_frame - sizeof(ptr_t), top);
22954         GC_push_all_eager(bottom, cold_gc_frame);
22955 @@ -1515,7 +1395,7 @@
22956  ptr_t bottom;
22957  ptr_t top;
22958  {
22959 -  if (!NEED_FIXUP_POINTER && GC_all_interior_pointers) {
22960 +  if (GC_all_interior_pointers) {
22961      GC_push_all(bottom, top);
22962    } else {
22963      GC_push_all_eager(bottom, top);
22964 diff -Nur ../boehm-gc/mark_rts.c boehm-gc/mark_rts.c
22965 --- ../boehm-gc/mark_rts.c      Mon May 26 12:48:52 2003
22966 +++ boehm-gc/mark_rts.c Mon Mar  3 22:38:29 2003
22967 @@ -275,72 +275,33 @@
22968  }
22969  
22970  /* Internal use only; lock held.       */
22971 -static void GC_remove_root_at_pos(i) 
22972 -int i;
22973 -{
22974 -    GC_root_size -= (GC_static_roots[i].r_end - GC_static_roots[i].r_start);
22975 -    GC_static_roots[i].r_start = GC_static_roots[n_root_sets-1].r_start;
22976 -    GC_static_roots[i].r_end = GC_static_roots[n_root_sets-1].r_end;
22977 -    GC_static_roots[i].r_tmp = GC_static_roots[n_root_sets-1].r_tmp;
22978 -    n_root_sets--;
22979 -}
22980 -
22981 -#if !defined(MSWIN32) && !defined(MSWINCE)
22982 -static void GC_rebuild_root_index()
22983 -{
22984 -    register int i;
22985 -       
22986 -    for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
22987 -    for (i = 0; i < n_root_sets; i++)
22988 -        add_roots_to_index(GC_static_roots + i);
22989 -}
22990 -#endif
22991 -
22992 -/* Internal use only; lock held.       */
22993  void GC_remove_tmp_roots()
22994  {
22995      register int i;
22996      
22997      for (i = 0; i < n_root_sets; ) {
22998         if (GC_static_roots[i].r_tmp) {
22999 -            GC_remove_root_at_pos(i);
23000 +           GC_root_size -=
23001 +               (GC_static_roots[i].r_end - GC_static_roots[i].r_start);
23002 +           GC_static_roots[i].r_start = GC_static_roots[n_root_sets-1].r_start;
23003 +           GC_static_roots[i].r_end = GC_static_roots[n_root_sets-1].r_end;
23004 +           GC_static_roots[i].r_tmp = GC_static_roots[n_root_sets-1].r_tmp;
23005 +           n_root_sets--;
23006         } else {
23007             i++;
23008         }
23009      }
23010 -    #if !defined(MSWIN32) && !defined(MSWINCE)
23011 -    GC_rebuild_root_index();
23012 -    #endif
23013 -}
23014 -
23015 -#if !defined(MSWIN32) && !defined(MSWINCE)
23016 -void GC_remove_roots(b, e)
23017 -char * b; char * e;
23018 -{
23019 -    DCL_LOCK_STATE;
23020 -    
23021 -    DISABLE_SIGNALS();
23022 -    LOCK();
23023 -    GC_remove_roots_inner(b, e);
23024 -    UNLOCK();
23025 -    ENABLE_SIGNALS();
23026 -}
23027 -
23028 -/* Should only be called when the lock is held */
23029 -void GC_remove_roots_inner(b,e)
23030 -char * b; char * e;
23031 -{
23032 -    int i;
23033 -    for (i = 0; i < n_root_sets; ) {
23034 -       if (GC_static_roots[i].r_start >= (ptr_t)b && GC_static_roots[i].r_end <= (ptr_t)e) {
23035 -            GC_remove_root_at_pos(i);
23036 -       } else {
23037 -           i++;
23038 -       }
23039 +#   if !defined(MSWIN32) && !defined(MSWINCE)
23040 +    {
23041 +       register int i;
23042 +       
23043 +       for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
23044 +       for (i = 0; i < n_root_sets; i++)
23045 +               add_roots_to_index(GC_static_roots + i);
23046      }
23047 -    GC_rebuild_root_index();
23048 +#   endif
23049 +    
23050  }
23051 -#endif /* !defined(MSWIN32) && !defined(MSWINCE) */
23052  
23053  #if defined(MSWIN32) || defined(_WIN32_WCE_EMULATION)
23054  /* Workaround for the OS mapping and unmapping behind our back:                */
23055 @@ -612,11 +573,8 @@
23056  
23057       /* Mark thread local free lists, even if their mark       */
23058       /* descriptor excludes the link field.                    */
23059 -     /* If the world is not stopped, this is unsafe.  It is    */
23060 -     /* also unnecessary, since we will do this again with the */
23061 -     /* world stopped.                                         */
23062  #      ifdef THREAD_LOCAL_ALLOC
23063 -         if (GC_world_stopped) GC_mark_thread_local_free_lists();
23064 +         GC_mark_thread_local_free_lists();
23065  #      endif
23066  
23067      /*
23068 diff -Nur ../boehm-gc/misc.c boehm-gc/misc.c
23069 --- ../boehm-gc/misc.c  Mon May 26 12:48:52 2003
23070 +++ boehm-gc/misc.c     Mon Mar  3 22:38:30 2003
23071 @@ -46,10 +46,8 @@
23072  #      ifdef GC_SOLARIS_THREADS
23073           mutex_t GC_allocate_ml;       /* Implicitly initialized.      */
23074  #      else
23075 -#          if defined(GC_WIN32_THREADS) 
23076 -#             if defined(GC_PTHREADS)
23077 -                 pthread_mutex_t GC_allocate_ml = PTHREAD_MUTEX_INITIALIZER;
23078 -#            elif defined(GC_DLL)
23079 +#          ifdef GC_WIN32_THREADS
23080 +#            if !defined(GC_NOT_DLL) && (defined(_DLL) || defined(GC_DLL))
23081                  __declspec(dllexport) CRITICAL_SECTION GC_allocate_ml;
23082  #            else
23083                  CRITICAL_SECTION GC_allocate_ml;
23084 @@ -77,8 +75,8 @@
23085  #undef STACKBASE
23086  #endif
23087  
23088 -/* Dont unnecessarily call GC_register_main_static_data() in case      */
23089 -/* dyn_load.c isn't linked in.                                         */
23090 +/* Dont unnecessarily call GC_register_main_static_data() in case      */
23091 +/* dyn_load.c isn't linked in.                                         */
23092  #ifdef DYNAMIC_LOADING
23093  # define GC_REGISTER_MAIN_STATIC_DATA() GC_register_main_static_data()
23094  #else
23095 @@ -92,7 +90,6 @@
23096         /* defined here so we don't have to load debug_malloc.o */
23097  
23098  void (*GC_check_heap) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
23099 -void (*GC_print_all_smashed) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
23100  
23101  void (*GC_start_call_back) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0;
23102  
23103 @@ -112,10 +109,6 @@
23104  
23105  GC_bool GC_print_back_height = 0;
23106  
23107 -#ifndef NO_DEBUGGING
23108 -  GC_bool GC_dump_regularly = 0;  /* Generate regular debugging dumps. */
23109 -#endif
23110 -
23111  #ifdef FIND_LEAK
23112    int GC_find_leak = 1;
23113  #else
23114 @@ -144,13 +137,6 @@
23115  
23116  extern signed_word GC_mem_found;
23117  
23118 -void * GC_project2(arg1, arg2)
23119 -void *arg1;
23120 -void *arg2;
23121 -{
23122 -  return arg2;
23123 -}
23124 -
23125  # ifdef MERGE_SIZES
23126      /* Set things up so that GC_size_map[i] >= words(i),               */
23127      /* but not too much bigger                                         */
23128 @@ -469,7 +455,7 @@
23129      
23130      DISABLE_SIGNALS();
23131  
23132 -#if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS)
23133 +#ifdef MSWIN32
23134      if (!GC_is_initialized) InitializeCriticalSection(&GC_allocate_ml);
23135  #endif /* MSWIN32 */
23136  
23137 @@ -487,15 +473,6 @@
23138           GC_init_parallel();
23139         }
23140  #   endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
23141 -
23142 -#   if defined(DYNAMIC_LOADING) && defined(DARWIN)
23143 -    {
23144 -        /* This must be called WITHOUT the allocation lock held
23145 -        and before any threads are created */
23146 -        extern void GC_init_dyld();
23147 -        GC_init_dyld();
23148 -    }
23149 -#   endif
23150  }
23151  
23152  #if defined(MSWIN32) || defined(MSWINCE)
23153 @@ -508,22 +485,6 @@
23154  
23155  extern void GC_setpagesize();
23156  
23157 -
23158 -#ifdef MSWIN32
23159 -extern GC_bool GC_no_win32_dlls;
23160 -#else
23161 -# define GC_no_win32_dlls FALSE
23162 -#endif
23163 -
23164 -void GC_exit_check GC_PROTO((void))
23165 -{
23166 -   GC_gcollect();
23167 -}
23168 -
23169 -#ifdef SEARCH_FOR_DATA_START
23170 -  extern void GC_init_linux_data_start GC_PROTO((void));
23171 -#endif
23172 -
23173  #ifdef UNIX_LIKE
23174  
23175  extern void GC_set_and_save_fault_handler GC_PROTO((void (*handler)(int)));
23176 @@ -534,23 +495,12 @@
23177      GC_err_printf1("Caught signal %d: looping in handler\n", sig);
23178      for(;;);
23179  }
23180 +#endif
23181  
23182 -static GC_bool installed_looping_handler = FALSE;
23183 -
23184 -void maybe_install_looping_handler()
23185 -{
23186 -    /* Install looping handler before the write fault handler, so we   */
23187 -    /* handle write faults correctly.                                  */
23188 -      if (!installed_looping_handler && 0 != GETENV("GC_LOOP_ON_ABORT")) {
23189 -        GC_set_and_save_fault_handler(looping_handler);
23190 -        installed_looping_handler = TRUE;
23191 -      }
23192 -}
23193 -
23194 -#else /* !UNIX_LIKE */
23195 -
23196 -# define maybe_install_looping_handler()
23197 -
23198 +#ifdef MSWIN32
23199 +extern GC_bool GC_no_win32_dlls;
23200 +#else
23201 +# define GC_no_win32_dlls FALSE
23202  #endif
23203  
23204  void GC_init_inner()
23205 @@ -565,21 +515,14 @@
23206        GC_print_stats = 1;
23207  #   endif
23208  #   if defined(MSWIN32) || defined(MSWINCE)
23209 -      InitializeCriticalSection(&GC_write_cs);
23210 +       InitializeCriticalSection(&GC_write_cs);
23211  #   endif
23212 +
23213      if (0 != GETENV("GC_PRINT_STATS")) {
23214        GC_print_stats = 1;
23215      } 
23216 -#   ifndef NO_DEBUGGING
23217 -      if (0 != GETENV("GC_DUMP_REGULARLY")) {
23218 -        GC_dump_regularly = 1;
23219 -      }
23220 -#   endif
23221      if (0 != GETENV("GC_FIND_LEAK")) {
23222        GC_find_leak = 1;
23223 -#     ifdef __STDC__
23224 -        atexit(GC_exit_check);
23225 -#     endif
23226      }
23227      if (0 != GETENV("GC_ALL_INTERIOR_POINTERS")) {
23228        GC_all_interior_pointers = 1;
23229 @@ -617,7 +560,11 @@
23230          }
23231        }
23232      }
23233 -    maybe_install_looping_handler();
23234 +#   ifdef UNIX_LIKE
23235 +      if (0 != GETENV("GC_LOOP_ON_ABORT")) {
23236 +        GC_set_and_save_fault_handler(looping_handler);
23237 +      }
23238 +#   endif
23239      /* Adjust normal object descriptor for extra allocation.   */
23240      if (ALIGNMENT > GC_DS_TAGS && EXTRA_BYTES != 0) {
23241        GC_obj_kinds[NORMAL].ok_descriptor = ((word)(-ALIGNMENT) | GC_DS_LENGTH);
23242 @@ -652,21 +599,11 @@
23243  #       if defined(LINUX) && defined(IA64)
23244           GC_register_stackbottom = GC_get_register_stack_base();
23245  #       endif
23246 -      } else {
23247 -#       if defined(LINUX) && defined(IA64)
23248 -         if (GC_register_stackbottom == 0) {
23249 -           WARN("GC_register_stackbottom should be set with GC_stackbottom", 0);
23250 -           /* The following is likely to fail, since we rely on        */
23251 -           /* alignment properties that may not hold with a user set   */
23252 -           /* GC_stackbottom.                                          */
23253 -           GC_register_stackbottom = GC_get_register_stack_base();
23254 -         }
23255 -#      endif
23256        }
23257  #   endif
23258 -    GC_STATIC_ASSERT(sizeof (ptr_t) == sizeof(word));
23259 -    GC_STATIC_ASSERT(sizeof (signed_word) == sizeof(word));
23260 -    GC_STATIC_ASSERT(sizeof (struct hblk) == HBLKSIZE);
23261 +    GC_ASSERT(sizeof (ptr_t) == sizeof(word));
23262 +    GC_ASSERT(sizeof (signed_word) == sizeof(word));
23263 +    GC_ASSERT(sizeof (struct hblk) == HBLKSIZE);
23264  #   ifndef THREADS
23265  #     if defined(STACK_GROWS_UP) && defined(STACK_GROWS_DOWN)
23266         ABORT(
23267 @@ -705,18 +642,6 @@
23268           initial_heap_sz = divHBLKSZ(initial_heap_sz);
23269         }
23270      }
23271 -    {
23272 -       char * sz_str = GETENV("GC_MAXIMUM_HEAP_SIZE");
23273 -       if (sz_str != NULL) {
23274 -         word max_heap_sz = (word)atol(sz_str);
23275 -         if (max_heap_sz < initial_heap_sz * HBLKSIZE) {
23276 -           WARN("Bad maximum heap size %s - ignoring it.\n",
23277 -                sz_str);
23278 -         } 
23279 -         if (0 == GC_max_retries) GC_max_retries = 2;
23280 -         GC_set_max_heap_size(max_heap_sz);
23281 -       }
23282 -    }
23283      if (!GC_expand_hp_inner(initial_heap_sz)) {
23284          GC_err_printf0("Can't start up: not enough memory\n");
23285          EXIT();
23286 @@ -752,7 +677,6 @@
23287         GC_incremental = TRUE;
23288        }
23289  #   endif /* !SMALL_CONFIG */
23290 -    COND_DUMP;
23291      /* Get black list set up and/or incrmental GC started */
23292        if (!GC_dont_precollect || GC_incremental) GC_gcollect_inner();
23293      GC_is_initialized = TRUE;
23294 @@ -788,9 +712,8 @@
23295      if (GC_incremental) goto out;
23296      GC_setpagesize();
23297      if (GC_no_win32_dlls) goto out;
23298 -#   ifndef GC_SOLARIS_THREADS 
23299 -      maybe_install_looping_handler();  /* Before write fault handler! */
23300 -      GC_dirty_init();
23301 +#   ifndef GC_SOLARIS_THREADS
23302 +        GC_dirty_init();
23303  #   endif
23304      if (!GC_is_initialized) {
23305          GC_init_inner();
23306 @@ -1009,17 +932,6 @@
23307      return(result);
23308  }
23309  
23310 -# if defined(__STDC__) || defined(__cplusplus)
23311 -    GC_word GC_set_free_space_divisor (GC_word value)
23312 -# else
23313 -    GC_word GC_set_free_space_divisor (value)
23314 -    GC_word value;
23315 -# endif
23316 -{
23317 -    GC_word old = GC_free_space_divisor;
23318 -    GC_free_space_divisor = value;
23319 -    return old;
23320 -}
23321  
23322  #ifndef PCR
23323  void GC_abort(msg)
23324 @@ -1046,18 +958,122 @@
23325  }
23326  #endif
23327  
23328 +#ifdef NEED_CALLINFO
23329 +
23330 +#ifdef HAVE_BUILTIN_BACKTRACE
23331 +# include <execinfo.h>
23332 +# ifdef LINUX
23333 +#   include <unistd.h>
23334 +# endif
23335 +#endif
23336 +
23337 +void GC_print_callers (info)
23338 +struct callinfo info[NFRAMES];
23339 +{
23340 +    register int i;
23341 +    
23342 +#   if NFRAMES == 1
23343 +      GC_err_printf0("\tCaller at allocation:\n");
23344 +#   else
23345 +      GC_err_printf0("\tCall chain at allocation:\n");
23346 +#   endif
23347 +    for (i = 0; i < NFRAMES; i++) {
23348 +       if (info[i].ci_pc == 0) break;
23349 +#      if NARGS > 0
23350 +       {
23351 +         int j;
23352 +
23353 +         GC_err_printf0("\t\targs: ");
23354 +         for (j = 0; j < NARGS; j++) {
23355 +           if (j != 0) GC_err_printf0(", ");
23356 +           GC_err_printf2("%d (0x%X)", ~(info[i].ci_arg[j]),
23357 +                                       ~(info[i].ci_arg[j]));
23358 +         }
23359 +         GC_err_printf0("\n");
23360 +       }
23361 +#      endif
23362 +#      if defined(HAVE_BUILTIN_BACKTRACE) && !defined(REDIRECT_MALLOC)
23363 +         /* Unfortunately backtrace_symbols calls malloc, which makes  */
23364 +         /* it dangersous if that has been redirected.                 */
23365 +         {
23366 +           char **sym_name =
23367 +             backtrace_symbols((void **)(&(info[i].ci_pc)), 1);
23368 +           char *name = sym_name[0];
23369 +           GC_bool found_it = (strchr(name, '(') != 0);
23370 +           FILE *pipe;
23371 +#          ifdef LINUX
23372 +             if (!found_it) {
23373 +#              define EXE_SZ 100
23374 +               static char exe_name[EXE_SZ];
23375 +#              define CMD_SZ 200
23376 +               char cmd_buf[CMD_SZ];
23377 +#              define RESULT_SZ 200
23378 +               static char result_buf[RESULT_SZ];
23379 +               size_t result_len;
23380 +               static GC_bool found_exe_name = FALSE;
23381 +               static GC_bool will_fail = FALSE;
23382 +               int ret_code;
23383 +               /* Unfortunately, this is the common case for the       */
23384 +               /* main executable.                                     */
23385 +               /* Try to get it via a hairy and expensive scheme.      */
23386 +               /* First we get the name of the executable:             */
23387 +               if (will_fail) goto out;
23388 +               if (!found_exe_name) { 
23389 +                 ret_code = readlink("/proc/self/exe", exe_name, EXE_SZ);
23390 +                 if (ret_code < 0 || ret_code >= EXE_SZ || exe_name[0] != '/') {
23391 +                   will_fail = TRUE;   /* Dont try again. */
23392 +                   goto out;
23393 +                 }
23394 +                 exe_name[ret_code] = '\0';
23395 +                 found_exe_name = TRUE;
23396 +               }
23397 +               /* Then we use popen to start addr2line -e <exe> <addr> */
23398 +               /* There are faster ways to do this, but hopefully this */
23399 +               /* isn't time critical.                                 */
23400 +               sprintf(cmd_buf, "/usr/bin/addr2line -e %s 0x%lx", exe_name,
23401 +                                (unsigned long)info[i].ci_pc);
23402 +               pipe = popen(cmd_buf, "r");
23403 +               if (pipe < 0 || fgets(result_buf, RESULT_SZ, pipe) == 0) {
23404 +                 will_fail = TRUE;
23405 +                 goto out;
23406 +               }
23407 +               result_len = strlen(result_buf);
23408 +               if (result_buf[result_len - 1] == '\n') --result_len;
23409 +               if (result_buf[0] == '?'
23410 +                   || result_buf[result_len-2] == ':' 
23411 +                      && result_buf[result_len-1] == '0')
23412 +                   goto out;
23413 +               if (result_len < RESULT_SZ - 25) {
23414 +                 /* Add in hex address */
23415 +                   sprintf(result_buf + result_len, " [0x%lx]",
23416 +                         (unsigned long)info[i].ci_pc);
23417 +               }
23418 +               name = result_buf;
23419 +               pclose(pipe);
23420 +               out:
23421 +             }
23422 +#          endif
23423 +           GC_err_printf1("\t\t%s\n", name);
23424 +           free(sym_name);
23425 +         }
23426 +#      else
23427 +         GC_err_printf1("\t\t##PC##= 0x%lx\n", info[i].ci_pc);
23428 +#      endif
23429 +    }
23430 +}
23431 +
23432 +#endif /* SAVE_CALL_CHAIN */
23433 +
23434 +/* Needed by SRC_M3, gcj, and should perhaps be the official interface */
23435 +/* to GC_dont_gc.                                                      */
23436  void GC_enable()
23437  {
23438 -    LOCK();
23439      GC_dont_gc--;
23440 -    UNLOCK();
23441  }
23442  
23443  void GC_disable()
23444  {
23445 -    LOCK();
23446      GC_dont_gc++;
23447 -    UNLOCK();
23448  }
23449  
23450  #if !defined(NO_DEBUGGING)
23451 @@ -1072,8 +1088,6 @@
23452      GC_print_hblkfreelist();
23453      GC_printf0("\n***Blocks in use:\n");
23454      GC_print_block_list();
23455 -    GC_printf0("\n***Finalization statistics:\n");
23456 -    GC_print_finalization_stats();
23457  }
23458  
23459  #endif /* NO_DEBUGGING */
23460 diff -Nur ../boehm-gc/os_dep.c boehm-gc/os_dep.c
23461 --- ../boehm-gc/os_dep.c        Sat May 31 14:46:38 2003
23462 +++ boehm-gc/os_dep.c   Fri Jul 19 01:54:43 2002
23463 @@ -80,17 +80,14 @@
23464  #   define NEED_FIND_LIMIT
23465  # endif
23466  
23467 -#if defined(FREEBSD) && defined(I386)
23468 -#  include <machine/trap.h>
23469 -#  if !defined(PCR)
23470 -#    define NEED_FIND_LIMIT
23471 -#  endif
23472 -#endif
23473 -
23474  #ifdef NEED_FIND_LIMIT
23475  #   include <setjmp.h>
23476  #endif
23477  
23478 +#if defined(FREEBSD) && defined(I386)
23479 +#  include <machine/trap.h>
23480 +#endif
23481 +
23482  #ifdef AMIGA
23483  # define GC_AMIGA_DEF
23484  # include "AmigaOS.c"
23485 @@ -132,11 +129,6 @@
23486  # define jmp_buf sigjmp_buf
23487  #endif
23488  
23489 -#ifdef DARWIN
23490 -/* for get_etext and friends */
23491 -#include <mach-o/getsect.h>
23492 -#endif
23493 -
23494  #ifdef DJGPP
23495    /* Apparently necessary for djgpp 2.01.  May cause problems with     */
23496    /* other versions.                                                   */
23497 @@ -155,155 +147,6 @@
23498  # define OPT_PROT_EXEC 0
23499  #endif
23500  
23501 -#if defined(LINUX) && \
23502 -    (defined(USE_PROC_FOR_LIBRARIES) || defined(IA64) || !defined(SMALL_CONFIG))
23503 -
23504 -/* We need to parse /proc/self/maps, either to find dynamic libraries, */
23505 -/* and/or to find the register backing store base (IA64).  Do it once  */
23506 -/* here.                                                               */
23507 -
23508 -#define READ read
23509 -
23510 -/* Repeatedly perform a read call until the buffer is filled or        */
23511 -/* we encounter EOF.                                           */
23512 -ssize_t GC_repeat_read(int fd, char *buf, size_t count)
23513 -{
23514 -    ssize_t num_read = 0;
23515 -    ssize_t result;
23516 -    
23517 -    while (num_read < count) {
23518 -       result = READ(fd, buf + num_read, count - num_read);
23519 -       if (result < 0) return result;
23520 -       if (result == 0) break;
23521 -       num_read += result;
23522 -    }
23523 -    return num_read;
23524 -}
23525 -
23526 -/*
23527 - * Apply fn to a buffer containing the contents of /proc/self/maps.
23528 - * Return the result of fn or, if we failed, 0.
23529 - */
23530 -
23531 -word GC_apply_to_maps(word (*fn)(char *))
23532 -{
23533 -    int f;
23534 -    int result;
23535 -    int maps_size;
23536 -    char maps_temp[32768];
23537 -    char *maps_buf;
23538 -
23539 -    /* Read /proc/self/maps    */
23540 -        /* Note that we may not allocate, and thus can't use stdio.    */
23541 -        f = open("/proc/self/maps", O_RDONLY);
23542 -        if (-1 == f) return 0;
23543 -       /* stat() doesn't work for /proc/self/maps, so we have to
23544 -          read it to find out how large it is... */
23545 -       maps_size = 0;
23546 -       do {
23547 -           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
23548 -           if (result <= 0) return 0;
23549 -           maps_size += result;
23550 -       } while (result == sizeof(maps_temp));
23551 -
23552 -       if (maps_size > sizeof(maps_temp)) {
23553 -           /* If larger than our buffer, close and re-read it. */
23554 -           close(f);
23555 -           f = open("/proc/self/maps", O_RDONLY);
23556 -           if (-1 == f) return 0;
23557 -           maps_buf = alloca(maps_size);
23558 -           if (NULL == maps_buf) return 0;
23559 -           result = GC_repeat_read(f, maps_buf, maps_size);
23560 -           if (result <= 0) return 0;
23561 -       } else {
23562 -           /* Otherwise use the fixed size buffer */
23563 -           maps_buf = maps_temp;
23564 -       }
23565 -
23566 -       close(f);
23567 -        maps_buf[result] = '\0';
23568 -       
23569 -    /* Apply fn to result. */
23570 -       return fn(maps_buf);
23571 -}
23572 -
23573 -#endif /* Need GC_apply_to_maps */
23574 -
23575 -#if defined(LINUX) && (defined(USE_PROC_FOR_LIBRARIES) || defined(IA64))
23576 -//
23577 -//  GC_parse_map_entry parses an entry from /proc/self/maps so we can
23578 -//  locate all writable data segments that belong to shared libraries.
23579 -//  The format of one of these entries and the fields we care about
23580 -//  is as follows:
23581 -//  XXXXXXXX-XXXXXXXX r-xp 00000000 30:05 260537     name of mapping...\n
23582 -//  ^^^^^^^^ ^^^^^^^^ ^^^^          ^^
23583 -//  start    end      prot          maj_dev
23584 -//  0        9        18            32
23585 -//  
23586 -//  For 64 bit ABIs:
23587 -//  0       17       34            56
23588 -//
23589 -//  The parser is called with a pointer to the entry and the return value
23590 -//  is either NULL or is advanced to the next entry(the byte after the
23591 -//  trailing '\n'.)
23592 -//
23593 -#if CPP_WORDSZ == 32
23594 -# define OFFSET_MAP_START   0
23595 -# define OFFSET_MAP_END     9
23596 -# define OFFSET_MAP_PROT   18
23597 -# define OFFSET_MAP_MAJDEV 32
23598 -# define ADDR_WIDTH        8
23599 -#endif
23600 -
23601 -#if CPP_WORDSZ == 64
23602 -# define OFFSET_MAP_START   0
23603 -# define OFFSET_MAP_END    17
23604 -# define OFFSET_MAP_PROT   34
23605 -# define OFFSET_MAP_MAJDEV 56
23606 -# define ADDR_WIDTH       16
23607 -#endif
23608 -
23609 -/*
23610 - * Assign various fields of the first line in buf_ptr to *start, *end,
23611 - * *prot_buf and *maj_dev.  Only *prot_buf may be set for unwritable maps.
23612 - */
23613 -char *GC_parse_map_entry(char *buf_ptr, word *start, word *end,
23614 -                                char *prot_buf, unsigned int *maj_dev)
23615 -{
23616 -    int i;
23617 -    char *tok;
23618 -
23619 -    if (buf_ptr == NULL || *buf_ptr == '\0') {
23620 -        return NULL;
23621 -    }
23622 -
23623 -    memcpy(prot_buf, buf_ptr+OFFSET_MAP_PROT, 4); // do the protections first
23624 -    prot_buf[4] = '\0';
23625 -
23626 -    if (prot_buf[1] == 'w') { // we can skip all of this if it's not writable
23627 -
23628 -        tok = buf_ptr;
23629 -        buf_ptr[OFFSET_MAP_START+ADDR_WIDTH] = '\0';
23630 -        *start = strtoul(tok, NULL, 16);
23631 -
23632 -        tok = buf_ptr+OFFSET_MAP_END;
23633 -        buf_ptr[OFFSET_MAP_END+ADDR_WIDTH] = '\0';
23634 -        *end = strtoul(tok, NULL, 16);
23635 -
23636 -        buf_ptr += OFFSET_MAP_MAJDEV;
23637 -        tok = buf_ptr;
23638 -        while (*buf_ptr != ':') buf_ptr++;
23639 -        *buf_ptr++ = '\0';
23640 -        *maj_dev = strtoul(tok, NULL, 16);
23641 -    }
23642 -
23643 -    while (*buf_ptr && *buf_ptr++ != '\n');
23644 -
23645 -    return buf_ptr;
23646 -}
23647 -
23648 -#endif /* Need to parse /proc/self/maps. */    
23649 -
23650  #if defined(SEARCH_FOR_DATA_START)
23651    /* The I386 case can be handled without a search.  The Alpha case    */
23652    /* used to be handled differently as well, but the rules changed     */
23653 @@ -311,11 +154,6 @@
23654    /* cover all versions.                                               */
23655  
23656  # ifdef LINUX
23657 -    /* Some Linux distributions arrange to define __data_start.  Some  */
23658 -    /* define data_start as a weak symbol.  The latter is technically  */
23659 -    /* broken, since the user program may define data_start, in which  */
23660 -    /* case we lose.  Nonetheless, we try both, prefering __data_start.        */
23661 -    /* We assume gcc-compatible pragmas.       */
23662  #   pragma weak __data_start
23663      extern int __data_start[];
23664  #   pragma weak data_start
23665 @@ -331,16 +169,16 @@
23666  
23667  #   ifdef LINUX
23668        /* Try the easy approaches first:        */
23669 -      if ((ptr_t)__data_start != 0) {
23670 -         GC_data_start = (ptr_t)(__data_start);
23671 +      if (__data_start != 0) {
23672 +         GC_data_start = (ptr_t)__data_start;
23673           return;
23674        }
23675 -      if ((ptr_t)data_start != 0) {
23676 -         GC_data_start = (ptr_t)(data_start);
23677 +      if (data_start != 0) {
23678 +         GC_data_start = (ptr_t)data_start;
23679           return;
23680        }
23681  #   endif /* LINUX */
23682 -    GC_data_start = GC_find_limit((ptr_t)(_end), FALSE);
23683 +    GC_data_start = GC_find_limit((ptr_t)_end, FALSE);
23684    }
23685  #endif
23686  
23687 @@ -703,7 +541,7 @@
23688        handler h;
23689  #   endif
23690      {
23691 -#      if defined(SUNOS5SIGS) || defined(IRIX5)  \
23692 +#     if defined(SUNOS5SIGS) || defined(IRIX5)  \
23693          || defined(OSF1) || defined(HURD)
23694           struct sigaction      act;
23695  
23696 @@ -763,68 +601,67 @@
23697      
23698      void GC_reset_fault_handler()
23699      {
23700 -#       if defined(SUNOS5SIGS) || defined(IRIX5) \
23701 -          || defined(OSF1) || defined(HURD)
23702 -         (void) sigaction(SIGSEGV, &old_segv_act, 0);
23703 -#        if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
23704 -            || defined(HPUX) || defined(HURD)
23705 -             (void) sigaction(SIGBUS, &old_bus_act, 0);
23706 -#        endif
23707 -#       else
23708 -         (void) signal(SIGSEGV, old_segv_handler);
23709 -#        ifdef SIGBUS
23710 -           (void) signal(SIGBUS, old_bus_handler);
23711 -#        endif
23712 -#       endif
23713 +#     if defined(SUNOS5SIGS) || defined(IRIX5) \
23714 +        || defined(OSF1) || defined(HURD)
23715 +       (void) sigaction(SIGSEGV, &old_segv_act, 0);
23716 +#      if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \
23717 +          || defined(HPUX) || defined(HURD)
23718 +           (void) sigaction(SIGBUS, &old_bus_act, 0);
23719 +#      endif
23720 +#      else
23721 +       (void) signal(SIGSEGV, old_segv_handler);
23722 +#      ifdef SIGBUS
23723 +         (void) signal(SIGBUS, old_bus_handler);
23724 +#      endif
23725 +#     endif
23726      }
23727  
23728      /* Return the first nonaddressible location > p (up) or    */
23729 -    /* the smallest location q s.t. [q,p) is addressable (!up).        */
23730 -    /* We assume that p (up) or p-1 (!up) is addressable.      */
23731 +    /* the smallest location q s.t. [q,p] is addressible (!up).        */
23732      ptr_t GC_find_limit(p, up)
23733      ptr_t p;
23734      GC_bool up;
23735      {
23736 -        static VOLATILE ptr_t result;
23737 -               /* Needs to be static, since otherwise it may not be    */
23738 -               /* preserved across the longjmp.  Can safely be         */
23739 -               /* static since it's only called once, with the         */
23740 -               /* allocation lock held.                                */
23741 -
23742 -
23743 -       GC_setup_temporary_fault_handler();
23744 -       if (setjmp(GC_jmp_buf) == 0) {
23745 -           result = (ptr_t)(((word)(p))
23746 -                             & ~(MIN_PAGE_SIZE-1));
23747 -           for (;;) {
23748 -               if (up) {
23749 -                   result += MIN_PAGE_SIZE;
23750 -               } else {
23751 -                   result -= MIN_PAGE_SIZE;
23752 -               }
23753 -               GC_noop1((word)(*result));
23754 -           }
23755 -       }
23756 -       GC_reset_fault_handler();
23757 -       if (!up) {
23758 +      static VOLATILE ptr_t result;
23759 +               /* Needs to be static, since otherwise it may not be    */
23760 +               /* preserved across the longjmp.  Can safely be         */
23761 +               /* static since it's only called once, with the         */
23762 +               /* allocation lock held.                                */
23763 +
23764 +
23765 +      GC_setup_temporary_fault_handler();
23766 +      if (setjmp(GC_jmp_buf) == 0) {
23767 +       result = (ptr_t)(((word)(p))
23768 +                        & ~(MIN_PAGE_SIZE-1));
23769 +       for (;;) {
23770 +         if (up) {
23771             result += MIN_PAGE_SIZE;
23772 -       }
23773 -       return(result);
23774 +         } else {
23775 +           result -= MIN_PAGE_SIZE;
23776 +         }
23777 +         GC_noop1((word)(*result));
23778 +       }
23779 +      }
23780 +      GC_reset_fault_handler();
23781 +      if (!up) {
23782 +       result += MIN_PAGE_SIZE;
23783 +      }
23784 +      return(result);
23785      }
23786  # endif
23787  
23788 -#if defined(ECOS) || defined(NOSYS)
23789 -  ptr_t GC_get_stack_base()
23790 -  {
23791 -    return STACKBOTTOM;
23792 -  }
23793 -#endif
23794 +# if defined(ECOS) || defined(NOSYS)
23795 +ptr_t GC_get_stack_base()
23796 +{
23797 +  return STACKBOTTOM;
23798 +}
23799 +
23800 +#else
23801  
23802  #ifdef LINUX_STACKBOTTOM
23803  
23804  #include <sys/types.h>
23805  #include <sys/stat.h>
23806 -#include <ctype.h>
23807  
23808  # define STAT_SKIP 27   /* Number of fields preceding startstack       */
23809                         /* field in /proc/self/stat                     */
23810 @@ -833,33 +670,6 @@
23811    extern ptr_t __libc_stack_end;
23812  
23813  # ifdef IA64
23814 -    /* Try to read the backing store base from /proc/self/maps.        */
23815 -    /* We look for the writable mapping with a 0 major device,  */
23816 -    /* which is        as close to our frame as possible, but below it.*/
23817 -    static word backing_store_base_from_maps(char *maps)
23818 -    {
23819 -      char prot_buf[5];
23820 -      char *buf_ptr = maps;
23821 -      word start, end;
23822 -      unsigned int maj_dev;
23823 -      word current_best = 0;
23824 -      word dummy;
23825 -  
23826 -      for (;;) {
23827 -        buf_ptr = GC_parse_map_entry(buf_ptr, &start, &end, prot_buf, &maj_dev);
23828 -       if (buf_ptr == NULL) return current_best;
23829 -       if (prot_buf[1] == 'w' && maj_dev == 0) {
23830 -           if (end < (word)(&dummy) && start > current_best) current_best = start;
23831 -       }
23832 -      }
23833 -      return current_best;
23834 -    }
23835 -
23836 -    static word backing_store_base_from_proc(void)
23837 -    {
23838 -        return GC_apply_to_maps(backing_store_base_from_maps);
23839 -    }
23840 -
23841  #   pragma weak __libc_ia64_register_backing_store_base
23842      extern ptr_t __libc_ia64_register_backing_store_base;
23843  
23844 @@ -873,15 +683,9 @@
23845         /* Hence we check for both nonzero address and value.           */
23846         return __libc_ia64_register_backing_store_base;
23847        } else {
23848 -       word result = backing_store_base_from_proc();
23849 -       if (0 == result) {
23850 -         /* Use dumb heuristics.  Works only for default configuration. */
23851 -         result = (word)GC_stackbottom - BACKING_STORE_DISPLACEMENT;
23852 -         result += BACKING_STORE_ALIGNMENT - 1;
23853 -         result &= ~(BACKING_STORE_ALIGNMENT - 1);
23854 -         /* Verify that it's at least readable.  If not, we goofed. */
23855 -         GC_noop1(*(word *)result); 
23856 -       }
23857 +       word result = (word)GC_stackbottom - BACKING_STORE_DISPLACEMENT;
23858 +       result += BACKING_STORE_ALIGNMENT - 1;
23859 +       result &= ~(BACKING_STORE_ALIGNMENT - 1);
23860         return (ptr_t)result;
23861        }
23862      }
23863 @@ -893,8 +697,11 @@
23864      /* using direct I/O system calls in order to avoid calling malloc   */
23865      /* in case REDIRECT_MALLOC is defined.                             */ 
23866  #   define STAT_BUF_SIZE 4096
23867 -#   define STAT_READ read
23868 -         /* Should probably call the real read, if read is wrapped.    */
23869 +#   if defined(GC_USE_LD_WRAP)
23870 +#      define STAT_READ __real_read
23871 +#   else
23872 +#      define STAT_READ read
23873 +#   endif    
23874      char stat_buf[STAT_BUF_SIZE];
23875      int f;
23876      char c;
23877 @@ -903,16 +710,7 @@
23878  
23879      /* First try the easy way.  This should work for glibc 2.2 */
23880        if (0 != &__libc_stack_end) {
23881 -#       ifdef IA64
23882 -         /* Some versions of glibc set the address 16 bytes too        */
23883 -         /* low while the initialization code is running.              */
23884 -         if (((word)__libc_stack_end & 0xfff) + 0x10 < 0x1000) {
23885 -           return __libc_stack_end + 0x10;
23886 -         } /* Otherwise it's not safe to add 16 bytes and we fall      */
23887 -           /* back to using /proc.                                     */
23888 -#      else 
23889 -         return __libc_stack_end;
23890 -#      endif
23891 +       return __libc_stack_end;
23892        }
23893      f = open("/proc/self/stat", O_RDONLY);
23894      if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
23895 @@ -966,11 +764,8 @@
23896  
23897  ptr_t GC_get_stack_base()
23898  {
23899 -#   if defined(HEURISTIC1) || defined(HEURISTIC2) || \
23900 -       defined(LINUX_STACKBOTTOM) || defined(FREEBSD_STACKBOTTOM)
23901 -        word dummy;
23902 -        ptr_t result;
23903 -#   endif
23904 +    word dummy;
23905 +    ptr_t result;
23906  
23907  #   define STACKBOTTOM_ALIGNMENT_M1 ((word)STACK_GRAN - 1)
23908  
23909 @@ -1019,6 +814,7 @@
23910         return(result);
23911  #   endif /* STACKBOTTOM */
23912  }
23913 +# endif /* NOSYS ECOS */
23914  
23915  # endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS */
23916  
23917 @@ -1128,14 +924,15 @@
23918    /* Unfortunately, we have to handle win32s very differently from NT,         */
23919    /* Since VirtualQuery has very different semantics.  In particular,  */
23920    /* under win32s a VirtualQuery call on an unmapped page returns an   */
23921 -  /* invalid result.  Under NT, GC_register_data_segments is a noop and        */
23922 +  /* invalid result.  Under GC_register_data_segments is a noop and    */
23923    /* all real work is done by GC_register_dynamic_libraries.  Under    */
23924    /* win32s, we cannot find the data segments associated with dll's.   */
23925 -  /* We register the main data segment here.                           */
23926 +  /* We rgister the main data segment here.                            */
23927 +#  ifdef __GCC__
23928 +  GC_bool GC_no_win32_dlls = TRUE;      /* GCC can't do SEH, so we can't use VirtualQuery */
23929 +#  else
23930    GC_bool GC_no_win32_dlls = FALSE;     
23931 -       /* This used to be set for gcc, to avoid dealing with           */
23932 -       /* the structured exception handling issues.  But we now have   */
23933 -       /* assembly code to do that right.                              */
23934 +#  endif
23935    
23936    void GC_init_win32()
23937    {
23938 @@ -1167,102 +964,36 @@
23939      return(p);
23940    }
23941  # endif
23942 -
23943 -# ifndef REDIRECT_MALLOC
23944 -  /* We maintain a linked list of AllocationBase values that we know   */
23945 -  /* correspond to malloc heap sections.  Currently this is only called */
23946 -  /* during a GC.  But there is some hope that for long running                */
23947 -  /* programs we will eventually see most heap sections.               */
23948 -
23949 -  /* In the long run, it would be more reliable to occasionally walk   */
23950 -  /* the malloc heap with HeapWalk on the default heap.  But that      */
23951 -  /* apparently works only for NT-based Windows.                       */ 
23952 -
23953 -  /* In the long run, a better data structure would also be nice ...   */
23954 -  struct GC_malloc_heap_list {
23955 -    void * allocation_base;
23956 -    struct GC_malloc_heap_list *next;
23957 -  } *GC_malloc_heap_l = 0;
23958 -
23959 -  /* Is p the base of one of the malloc heap sections we already know  */
23960 -  /* about?                                                            */
23961 -  GC_bool GC_is_malloc_heap_base(ptr_t p)
23962 -  {
23963 -    struct GC_malloc_heap_list *q = GC_malloc_heap_l;
23964 -
23965 -    while (0 != q) {
23966 -      if (q -> allocation_base == p) return TRUE;
23967 -      q = q -> next;
23968 -    }
23969 -    return FALSE;
23970 -  }
23971 -
23972 -  void *GC_get_allocation_base(void *p)
23973 -  {
23974 -    MEMORY_BASIC_INFORMATION buf;
23975 -    DWORD result = VirtualQuery(p, &buf, sizeof(buf));
23976 -    if (result != sizeof(buf)) {
23977 -      ABORT("Weird VirtualQuery result");
23978 -    }
23979 -    return buf.AllocationBase;
23980 -  }
23981 -
23982 -  size_t GC_max_root_size = 100000;    /* Appr. largest root size.     */
23983 -
23984 -  void GC_add_current_malloc_heap()
23985 -  {
23986 -    struct GC_malloc_heap_list *new_l =
23987 -                 malloc(sizeof(struct GC_malloc_heap_list));
23988 -    void * candidate = GC_get_allocation_base(new_l);
23989 -
23990 -    if (new_l == 0) return;
23991 -    if (GC_is_malloc_heap_base(candidate)) {
23992 -      /* Try a little harder to find malloc heap.                      */
23993 -       size_t req_size = 10000;
23994 -       do {
23995 -         void *p = malloc(req_size);
23996 -         if (0 == p) { free(new_l); return; }
23997 -         candidate = GC_get_allocation_base(p);
23998 -         free(p);
23999 -         req_size *= 2;
24000 -       } while (GC_is_malloc_heap_base(candidate)
24001 -                && req_size < GC_max_root_size/10 && req_size < 500000);
24002 -       if (GC_is_malloc_heap_base(candidate)) {
24003 -         free(new_l); return;
24004 -       }
24005 -    }
24006 -#   ifdef CONDPRINT
24007 -      if (GC_print_stats)
24008 -         GC_printf1("Found new system malloc AllocationBase at 0x%lx\n",
24009 -                     candidate);
24010 -#   endif
24011 -    new_l -> allocation_base = candidate;
24012 -    new_l -> next = GC_malloc_heap_l;
24013 -    GC_malloc_heap_l = new_l;
24014 -  }
24015 -# endif /* REDIRECT_MALLOC */
24016    
24017    /* Is p the start of either the malloc heap, or of one of our */
24018    /* heap sections?                                            */
24019    GC_bool GC_is_heap_base (ptr_t p)
24020    {
24021       
24022 -     unsigned i;
24023 +     register unsigned i;
24024       
24025  #    ifndef REDIRECT_MALLOC
24026 -       static word last_gc_no = -1;
24027 +       static ptr_t malloc_heap_pointer = 0;
24028       
24029 -       if (last_gc_no != GC_gc_no) {
24030 -        GC_add_current_malloc_heap();
24031 -        last_gc_no = GC_gc_no;
24032 +       if (0 == malloc_heap_pointer) {
24033 +         MEMORY_BASIC_INFORMATION buf;
24034 +         void *pTemp = malloc( 1 );
24035 +         register DWORD result = VirtualQuery(pTemp, &buf, sizeof(buf));
24036 +           
24037 +         free( pTemp );
24038 +
24039 +         
24040 +         if (result != sizeof(buf)) {
24041 +             ABORT("Weird VirtualQuery result");
24042 +         }
24043 +         malloc_heap_pointer = (ptr_t)(buf.AllocationBase);
24044         }
24045 -       if (GC_root_size > GC_max_root_size) GC_max_root_size = GC_root_size;
24046 -       if (GC_is_malloc_heap_base(p)) return TRUE;
24047 +       if (p == malloc_heap_pointer) return(TRUE);
24048  #    endif
24049       for (i = 0; i < GC_n_heap_bases; i++) {
24050 -         if (GC_heap_bases[i] == p) return TRUE;
24051 +         if (GC_heap_bases[i] == p) return(TRUE);
24052       }
24053 -     return FALSE ;
24054 +     return(FALSE);
24055    }
24056  
24057  # ifdef MSWIN32
24058 @@ -1312,7 +1043,7 @@
24059  
24060  # if (defined(SVR4) || defined(AUX) || defined(DGUX) \
24061        || (defined(LINUX) && defined(SPARC))) && !defined(PCR)
24062 -ptr_t GC_SysVGetDataStart(max_page_size, etext_addr)
24063 +char * GC_SysVGetDataStart(max_page_size, etext_addr)
24064  int max_page_size;
24065  int * etext_addr;
24066  {
24067 @@ -1338,43 +1069,10 @@
24068         /* string constants in the text segment, but after etext.       */
24069         /* Use plan B.  Note that we now know there is a gap between    */
24070         /* text and data segments, so plan A bought us something.       */
24071 -       result = (char *)GC_find_limit((ptr_t)(DATAEND), FALSE);
24072 +       result = (char *)GC_find_limit((ptr_t)(DATAEND) - MIN_PAGE_SIZE, FALSE);
24073      }
24074 -    return((ptr_t)result);
24075 -}
24076 -# endif
24077 -
24078 -# if defined(FREEBSD) && defined(I386) && !defined(PCR)
24079 -/* Its unclear whether this should be identical to the above, or       */
24080 -/* whether it should apply to non-X86 architectures.                   */
24081 -/* For now we don't assume that there is always an empty page after    */
24082 -/* etext.  But in some cases there actually seems to be slightly more.  */
24083 -/* This also deals with holes between read-only data and writable data.        */
24084 -ptr_t GC_FreeBSDGetDataStart(max_page_size, etext_addr)
24085 -int max_page_size;
24086 -int * etext_addr;
24087 -{
24088 -    word text_end = ((word)(etext_addr) + sizeof(word) - 1)
24089 -                    & ~(sizeof(word) - 1);
24090 -       /* etext rounded to word boundary       */
24091 -    VOLATILE word next_page = (text_end + (word)max_page_size - 1)
24092 -                             & ~((word)max_page_size - 1);
24093 -    VOLATILE ptr_t result = (ptr_t)text_end;
24094 -    GC_setup_temporary_fault_handler();
24095 -    if (setjmp(GC_jmp_buf) == 0) {
24096 -       /* Try reading at the address.                          */
24097 -       /* This should happen before there is another thread.   */
24098 -       for (; next_page < (word)(DATAEND); next_page += (word)max_page_size)
24099 -           *(VOLATILE char *)next_page;
24100 -       GC_reset_fault_handler();
24101 -    } else {
24102 -       GC_reset_fault_handler();
24103 -       /* As above, we go to plan B    */
24104 -       result = GC_find_limit((ptr_t)(DATAEND), FALSE);
24105 -    }
24106 -    return(result);
24107 +    return((char *)result);
24108  }
24109 -
24110  # endif
24111  
24112  
24113 @@ -1388,7 +1086,8 @@
24114  
24115  void GC_register_data_segments()
24116  {
24117 -#   if !defined(PCR) && !defined(SRC_M3) && !defined(MACOS)
24118 +#   if !defined(PCR) && !defined(SRC_M3) && !defined(NEXT) && !defined(MACOS) \
24119 +       && !defined(MACOSX)
24120  #     if defined(REDIRECT_MALLOC) && defined(GC_SOLARIS_THREADS)
24121         /* As of Solaris 2.3, the Solaris threads implementation        */
24122         /* allocates the data structure for the initial thread with     */
24123 @@ -1405,6 +1104,9 @@
24124  #       endif
24125  #     endif
24126  #   endif
24127 +#   if !defined(PCR) && (defined(NEXT) || defined(MACOSX))
24128 +      GC_add_roots_inner(DATASTART, (char *) get_end(), FALSE);
24129 +#   endif
24130  #   if defined(MACOS)
24131      {
24132  #   if defined(THINK_C)
24133 @@ -1514,28 +1216,18 @@
24134  ptr_t GC_unix_get_mem(bytes)
24135  word bytes;
24136  {
24137 +    static GC_bool initialized = FALSE;
24138 +    static int fd;
24139      void *result;
24140      static ptr_t last_addr = HEAP_START;
24141  
24142 -#   ifndef USE_MMAP_ANON
24143 -      static GC_bool initialized = FALSE;
24144 -      static int fd;
24145 -
24146 -      if (!initialized) {
24147 -         fd = open("/dev/zero", O_RDONLY);
24148 -         fcntl(fd, F_SETFD, FD_CLOEXEC);
24149 -         initialized = TRUE;
24150 -      }
24151 -#   endif
24152 -
24153 +    if (!initialized) {
24154 +       fd = open("/dev/zero", O_RDONLY);
24155 +       initialized = TRUE;
24156 +    }
24157      if (bytes & (GC_page_size -1)) ABORT("Bad GET_MEM arg");
24158 -#   ifdef USE_MMAP_ANON
24159 -      result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
24160 -                   GC_MMAP_FLAGS | MAP_ANON, -1, 0/* offset */);
24161 -#   else
24162 -      result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
24163 -                   GC_MMAP_FLAGS, fd, 0/* offset */);
24164 -#   endif
24165 +    result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
24166 +                 GC_MMAP_FLAGS, fd, 0/* offset */);
24167      if (result == MAP_FAILED) return(0);
24168      last_addr = (ptr_t)result + bytes + GC_page_size - 1;
24169      last_addr = (ptr_t)((word)last_addr & ~(GC_page_size - 1));
24170 @@ -1630,15 +1322,7 @@
24171          result = (ptr_t) GlobalAlloc(0, bytes + HBLKSIZE);
24172          result = (ptr_t)(((word)result + HBLKSIZE) & ~(HBLKSIZE-1));
24173      } else {
24174 -       /* VirtualProtect only works on regions returned by a   */
24175 -       /* single VirtualAlloc call.  Thus we allocate one      */
24176 -       /* extra page, which will prevent merging of blocks     */
24177 -       /* in separate regions, and eliminate any temptation    */
24178 -       /* to call VirtualProtect on a range spanning regions.  */
24179 -       /* This wastes a small amount of memory, and risks      */
24180 -       /* increased fragmentation.  But better alternatives    */
24181 -       /* would require effort.                                */
24182 -        result = (ptr_t) VirtualAlloc(NULL, bytes + 1,
24183 +        result = (ptr_t) VirtualAlloc(NULL, bytes,
24184                                       MEM_COMMIT | MEM_RESERVE,
24185                                       PAGE_EXECUTE_READWRITE);
24186      }
24187 @@ -1694,10 +1378,6 @@
24188         /* Reserve more pages */
24189         word res_bytes = (bytes + GC_sysinfo.dwAllocationGranularity-1)
24190                          & ~(GC_sysinfo.dwAllocationGranularity-1);
24191 -       /* If we ever support MPROTECT_VDB here, we will probably need to       */
24192 -       /* ensure that res_bytes is strictly > bytes, so that VirtualProtect    */
24193 -       /* never spans regions.  It seems to be OK for a VirtualFree argument   */
24194 -       /* to span regions, so we should be OK for now.                         */
24195         result = (ptr_t) VirtualAlloc(NULL, res_bytes,
24196                                       MEM_RESERVE | MEM_TOP_DOWN,
24197                                       PAGE_EXECUTE_READWRITE);
24198 @@ -1828,7 +1508,6 @@
24199        }
24200  #   else
24201        if (-1 == zero_descr) zero_descr = open("/dev/zero", O_RDWR);
24202 -      fcntl(zero_descr, F_SETFD, FD_CLOEXEC);
24203        if (0 == start_addr) return;
24204        result = mmap(start_addr, len, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
24205                     MAP_FIXED | MAP_PRIVATE, zero_descr, 0);
24206 @@ -2015,6 +1694,7 @@
24207   *             make sure that other system calls are similarly protected
24208   *             or write only to the stack.
24209   */
24210
24211  GC_bool GC_dirty_maintained = FALSE;
24212  
24213  # ifdef DEFAULT_VDB
24214 @@ -2028,9 +1708,6 @@
24215  /* Initialize virtual dirty bit implementation.                        */
24216  void GC_dirty_init()
24217  {
24218 -#ifdef PRINTSTATS
24219 -    GC_printf0("Initializing DEFAULT_VDB...\n");
24220 -#endif
24221      GC_dirty_maintained = TRUE;
24222  }
24223  
24224 @@ -2099,21 +1776,17 @@
24225  /*
24226   * This implementation maintains dirty bits itself by catching write
24227   * faults and keeping track of them.  We assume nobody else catches
24228 - * SIGBUS or SIGSEGV.  We assume no write faults occur in system calls.
24229 - * This means that clients must ensure that system calls don't write
24230 - * to the write-protected heap.  Probably the best way to do this is to
24231 - * ensure that system calls write at most to POINTERFREE objects in the
24232 - * heap, and do even that only if we are on a platform on which those
24233 - * are not protected.  Another alternative is to wrap system calls
24234 - * (see example for read below), but the current implementation holds
24235 - * a lock across blocking calls, making it problematic for multithreaded
24236 - * applications. 
24237 + * SIGBUS or SIGSEGV.  We assume no write faults occur in system calls
24238 + * except as a result of a read system call.  This means clients must
24239 + * either ensure that system calls do not touch the heap, or must
24240 + * provide their own wrappers analogous to the one for read.
24241   * We assume the page size is a multiple of HBLKSIZE.
24242 - * We prefer them to be the same.  We avoid protecting POINTERFREE
24243 - * objects only if they are the same.
24244 + * This implementation is currently SunOS 4.X and IRIX 5.X specific, though we
24245 + * tried to use portable code where easily possible.  It is known
24246 + * not to work under a number of other systems.
24247   */
24248  
24249 -# if !defined(MSWIN32) && !defined(MSWINCE) && !defined(DARWIN)
24250 +# if !defined(MSWIN32) && !defined(MSWINCE)
24251  
24252  #   include <sys/mman.h>
24253  #   include <signal.h>
24254 @@ -2132,23 +1805,6 @@
24255           
24256  # else
24257  
24258 -# ifdef DARWIN
24259 -    /* Using vm_protect (mach syscall) over mprotect (BSD syscall) seems to
24260 -       decrease the likelihood of some of the problems described below. */
24261 -    #include <mach/vm_map.h>
24262 -    extern mach_port_t GC_task_self;
24263 -    #define PROTECT(addr,len) \
24264 -        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
24265 -                FALSE,VM_PROT_READ) != KERN_SUCCESS) { \
24266 -            ABORT("vm_portect failed"); \
24267 -        }
24268 -    #define UNPROTECT(addr,len) \
24269 -        if(vm_protect(GC_task_self,(vm_address_t)(addr),(vm_size_t)(len), \
24270 -                FALSE,VM_PROT_READ|VM_PROT_WRITE) != KERN_SUCCESS) { \
24271 -            ABORT("vm_portect failed"); \
24272 -        }
24273 -# else
24274 -    
24275  #   ifndef MSWINCE
24276  #     include <signal.h>
24277  #   endif
24278 @@ -2166,22 +1822,20 @@
24279                               &protect_junk)) { \
24280             ABORT("un-VirtualProtect failed"); \
24281           }
24282 -# endif /* !DARWIN */
24283 -# endif /* MSWIN32 || MSWINCE || DARWIN */
24284 +         
24285 +# endif
24286  
24287  #if defined(SUNOS4) || defined(FREEBSD)
24288      typedef void (* SIG_PF)();
24289 -#endif /* SUNOS4 || FREEBSD */
24290 -
24291 +#endif
24292  #if defined(SUNOS5SIGS) || defined(OSF1) || defined(LINUX) \
24293 -    || defined(HURD)
24294 +    || defined(MACOSX) || defined(HURD)
24295  # ifdef __STDC__
24296      typedef void (* SIG_PF)(int);
24297  # else
24298      typedef void (* SIG_PF)();
24299  # endif
24300 -#endif /* SUNOS5SIGS || OSF1 || LINUX || HURD */
24301 -
24302 +#endif
24303  #if defined(MSWIN32)
24304      typedef LPTOP_LEVEL_EXCEPTION_FILTER SIG_PF;
24305  #   undef SIG_DFL
24306 @@ -2195,8 +1849,7 @@
24307  
24308  #if defined(IRIX5) || defined(OSF1) || defined(HURD)
24309      typedef void (* REAL_SIG_PF)(int, int, struct sigcontext *);
24310 -#endif /* IRIX5 || OSF1 || HURD */
24311 -
24312 +#endif
24313  #if defined(SUNOS5SIGS)
24314  # ifdef HPUX
24315  #   define SIGINFO __siginfo
24316 @@ -2208,14 +1861,13 @@
24317  # else
24318      typedef void (* REAL_SIG_PF)();
24319  # endif
24320 -#endif /* SUNOS5SIGS */
24321 -
24322 +#endif
24323  #if defined(LINUX)
24324  #   if __GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2
24325        typedef struct sigcontext s_c;
24326  #   else  /* glibc < 2.2 */
24327  #     include <linux/version.h>
24328 -#     if (LINUX_VERSION_CODE >= 0x20100) && !defined(M68K) || defined(ALPHA) || defined(ARM32)
24329 +#     if (LINUX_VERSION_CODE >= 0x20100) && !defined(M68K) || defined(ALPHA)
24330          typedef struct sigcontext s_c;
24331  #     else
24332          typedef struct sigcontext_struct s_c;
24333 @@ -2243,14 +1895,139 @@
24334         return (char *)faultaddr;
24335      }
24336  #   endif /* !ALPHA */
24337 -# endif /* LINUX */
24338 +# endif
24339 +
24340 +# if defined(MACOSX) /* Should also test for PowerPC? */
24341 +    typedef void (* REAL_SIG_PF)(int, int, struct sigcontext *);
24342 +
24343 +/* Decodes the machine instruction which was responsible for the sending of the
24344 +   SIGBUS signal. Sadly this is the only way to find the faulting address because
24345 +   the signal handler doesn't get it directly from the kernel (although it is
24346 +   available on the Mach level, but droppped by the BSD personality before it
24347 +   calls our signal handler...)
24348 +   This code should be able to deal correctly with all PPCs starting from the
24349 +   601 up to and including the G4s (including Velocity Engine). */
24350 +#define EXTRACT_OP1(iw)     (((iw) & 0xFC000000) >> 26)
24351 +#define EXTRACT_OP2(iw)     (((iw) & 0x000007FE) >> 1)
24352 +#define EXTRACT_REGA(iw)    (((iw) & 0x001F0000) >> 16)
24353 +#define EXTRACT_REGB(iw)    (((iw) & 0x03E00000) >> 21)
24354 +#define EXTRACT_REGC(iw)    (((iw) & 0x0000F800) >> 11)
24355 +#define EXTRACT_DISP(iw)    ((short *) &(iw))[1]
24356 +
24357 +static char *get_fault_addr(struct sigcontext *scp)
24358 +{
24359 +   unsigned int   instr = *((unsigned int *) scp->sc_ir);
24360 +   unsigned int * regs = &((unsigned int *) scp->sc_regs)[2];
24361 +   int            disp = 0, tmp;
24362 +   unsigned int   baseA = 0, baseB = 0;
24363 +   unsigned int   addr, alignmask = 0xFFFFFFFF;
24364 +
24365 +#ifdef GC_DEBUG_DECODER
24366 +   GC_err_printf1("Instruction: 0x%lx\n", instr);
24367 +   GC_err_printf1("Opcode 1: d\n", (int)EXTRACT_OP1(instr));
24368 +#endif
24369 +   switch(EXTRACT_OP1(instr)) {
24370 +      case 38:   /* stb */
24371 +      case 39:   /* stbu */
24372 +      case 54:   /* stfd */
24373 +      case 55:   /* stfdu */
24374 +      case 52:   /* stfs */
24375 +      case 53:   /* stfsu */
24376 +      case 44:   /* sth */
24377 +      case 45:   /* sthu */
24378 +      case 47:   /* stmw */
24379 +      case 36:   /* stw */
24380 +      case 37:   /* stwu */
24381 +            tmp = EXTRACT_REGA(instr);
24382 +            if(tmp > 0)
24383 +               baseA = regs[tmp];
24384 +            disp = EXTRACT_DISP(instr);
24385 +            break;
24386 +      case 31:
24387 +#ifdef GC_DEBUG_DECODER
24388 +            GC_err_printf1("Opcode 2: %d\n", (int)EXTRACT_OP2(instr));
24389 +#endif
24390 +            switch(EXTRACT_OP2(instr)) {
24391 +               case 86:    /* dcbf */
24392 +               case 54:    /* dcbst */
24393 +               case 1014:  /* dcbz */
24394 +               case 247:   /* stbux */
24395 +               case 215:   /* stbx */
24396 +               case 759:   /* stfdux */
24397 +               case 727:   /* stfdx */
24398 +               case 983:   /* stfiwx */
24399 +               case 695:   /* stfsux */
24400 +               case 663:   /* stfsx */
24401 +               case 918:   /* sthbrx */
24402 +               case 439:   /* sthux */
24403 +               case 407:   /* sthx */
24404 +               case 661:   /* stswx */
24405 +               case 662:   /* stwbrx */
24406 +               case 150:   /* stwcx. */
24407 +               case 183:   /* stwux */
24408 +               case 151:   /* stwx */
24409 +               case 135:   /* stvebx */
24410 +               case 167:   /* stvehx */
24411 +               case 199:   /* stvewx */
24412 +               case 231:   /* stvx */
24413 +               case 487:   /* stvxl */
24414 +                     tmp = EXTRACT_REGA(instr);
24415 +                     if(tmp > 0)
24416 +                        baseA = regs[tmp];
24417 +                        baseB = regs[EXTRACT_REGC(instr)];
24418 +                        /* determine Altivec alignment mask */
24419 +                        switch(EXTRACT_OP2(instr)) {
24420 +                           case 167:   /* stvehx */
24421 +                                 alignmask = 0xFFFFFFFE;
24422 +                                 break;
24423 +                           case 199:   /* stvewx */
24424 +                                 alignmask = 0xFFFFFFFC;
24425 +                                 break;
24426 +                           case 231:   /* stvx */
24427 +                                 alignmask = 0xFFFFFFF0;
24428 +                                 break;
24429 +                           case 487:  /* stvxl */
24430 +                                 alignmask = 0xFFFFFFF0;
24431 +                                 break;
24432 +                        }
24433 +                        break;
24434 +               case 725:   /* stswi */
24435 +                     tmp = EXTRACT_REGA(instr);
24436 +                     if(tmp > 0)
24437 +                        baseA = regs[tmp];
24438 +                        break;
24439 +               default:   /* ignore instruction */
24440 +#ifdef GC_DEBUG_DECODER
24441 +                     GC_err_printf("Ignored by inner handler\n");
24442 +#endif
24443 +                     return NULL;
24444 +                    break;
24445 +            }
24446 +            break;
24447 +      default:   /* ignore instruction */
24448 +#ifdef GC_DEBUG_DECODER
24449 +            GC_err_printf("Ignored by main handler\n");
24450 +#endif
24451 +            return NULL;
24452 +            break;
24453 +   }
24454 +       
24455 +   addr = (baseA + baseB) + disp;
24456 +  addr &= alignmask;
24457 +#ifdef GC_DEBUG_DECODER
24458 +   GC_err_printf1("BaseA: %d\n", baseA);
24459 +   GC_err_printf1("BaseB: %d\n", baseB);
24460 +   GC_err_printf1("Disp:  %d\n", disp);
24461 +   GC_err_printf1("Address: %d\n", addr);
24462 +#endif
24463 +   return (char *)addr;
24464 +}
24465 +#endif /* MACOSX */
24466  
24467 -#ifndef DARWIN
24468  SIG_PF GC_old_bus_handler;
24469  SIG_PF GC_old_segv_handler;    /* Also old MSWIN32 ACCESS_VIOLATION filter */
24470 -#endif /* !DARWIN */
24471  
24472 -#if defined(THREADS)
24473 +#ifdef THREADS
24474  /* We need to lock around the bitmap update in the write fault handler */
24475  /* in order to avoid the risk of losing a bit.  We do this with a      */
24476  /* test-and-set spin lock if we know how to do that.  Otherwise we     */
24477 @@ -2299,7 +2076,6 @@
24478  #endif /* !THREADS */
24479  
24480  /*ARGSUSED*/
24481 -#if !defined(DARWIN)
24482  # if defined (SUNOS4) || defined(FREEBSD)
24483      void GC_write_fault_handler(sig, code, scp, addr)
24484      int sig, code;
24485 @@ -2315,8 +2091,7 @@
24486  #     define SIG_OK (sig == SIGBUS)
24487  #     define CODE_OK (code == BUS_PAGE_FAULT)
24488  #   endif
24489 -# endif /* SUNOS4 || FREEBSD */
24490 -
24491 +# endif
24492  # if defined(IRIX5) || defined(OSF1) || defined(HURD)
24493  #   include <errno.h>
24494      void GC_write_fault_handler(int sig, int code, struct sigcontext *scp)
24495 @@ -2332,8 +2107,7 @@
24496  #     define SIG_OK (sig == SIGBUS || sig == SIGSEGV)  
24497  #     define CODE_OK  TRUE
24498  #   endif
24499 -# endif /* IRIX5 || OSF1 || HURD */
24500 -
24501 +# endif
24502  # if defined(LINUX)
24503  #   if defined(ALPHA) || defined(M68K)
24504        void GC_write_fault_handler(int sig, int code, s_c * sc)
24505 @@ -2341,11 +2115,7 @@
24506  #     if defined(IA64) || defined(HP_PA)
24507          void GC_write_fault_handler(int sig, siginfo_t * si, s_c * scp)
24508  #     else
24509 -#       if defined(ARM32)
24510 -          void GC_write_fault_handler(int sig, int a2, int a3, int a4, s_c sc)
24511 -#       else
24512 -          void GC_write_fault_handler(int sig, s_c sc)
24513 -#       endif
24514 +        void GC_write_fault_handler(int sig, s_c sc)
24515  #     endif
24516  #   endif
24517  #   define SIG_OK (sig == SIGSEGV)
24518 @@ -2353,8 +2123,7 @@
24519         /* Empirically c.trapno == 14, on IA32, but is that useful?     */
24520         /* Should probably consider alignment issues on other           */
24521         /* architectures.                                               */
24522 -# endif /* LINUX */
24523 -
24524 +# endif
24525  # if defined(SUNOS5SIGS)
24526  #  ifdef __STDC__
24527      void GC_write_fault_handler(int sig, struct SIGINFO *scp, void * context)
24528 @@ -2375,7 +2144,13 @@
24529  #     define SIG_OK (sig == SIGSEGV)
24530  #     define CODE_OK (scp -> si_code == SEGV_ACCERR)
24531  #   endif
24532 -# endif /* SUNOS5SIGS */
24533 +# endif
24534 +
24535 +# if defined(MACOSX)
24536 +    void GC_write_fault_handler(int sig, int code, struct sigcontext *scp)
24537 +#   define SIG_OK (sig == SIGBUS)
24538 +#   define CODE_OK (code == 0 /* experimentally determined */)
24539 +# endif
24540  
24541  # if defined(MSWIN32) || defined(MSWINCE)
24542      LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info)
24543 @@ -2383,7 +2158,7 @@
24544                         STATUS_ACCESS_VIOLATION)
24545  #   define CODE_OK (exc_info -> ExceptionRecord -> ExceptionInformation[0] == 1)
24546                         /* Write fault */
24547 -# endif /* MSWIN32 || MSWINCE */
24548 +# endif
24549  {
24550      register unsigned i;
24551  #   if defined(HURD) 
24552 @@ -2443,17 +2218,16 @@
24553  #             if defined(POWERPC)
24554                  char * addr = (char *) (sc.regs->dar);
24555  #            else
24556 -#               if defined(ARM32)
24557 -                  char * addr = (char *)sc.fault_address;
24558 -#               else
24559 -                 --> architecture not supported
24560 -#               endif
24561 +               --> architecture not supported
24562  #            endif
24563  #          endif
24564  #        endif
24565  #      endif
24566  #     endif
24567  #   endif
24568 +#   if defined(MACOSX)
24569 +        char * addr = get_fault_addr(scp);
24570 +#   endif
24571  #   if defined(MSWIN32) || defined(MSWINCE)
24572         char * addr = (char *) (exc_info -> ExceptionRecord
24573                                 -> ExceptionInformation[1]);
24574 @@ -2517,6 +2291,9 @@
24575                     (*(REAL_SIG_PF)old_handler) (sig, code, scp);
24576                     return;
24577  #              endif
24578 +#              ifdef MACOSX
24579 +                   (*(REAL_SIG_PF)old_handler) (sig, code, scp);
24580 +#              endif
24581  #              ifdef MSWIN32
24582                     return((*old_handler)(exc_info));
24583  #              endif
24584 @@ -2558,11 +2335,10 @@
24585      ABORT("Unexpected bus error or segmentation fault");
24586  #endif
24587  }
24588 -#endif /* !DARWIN */
24589  
24590  /*
24591   * We hold the allocation lock.  We expect block h to be written
24592 - * shortly.  Ensure that all pages containing any part of the n hblks
24593 + * shortly.  Ensure that all pages cvontaining any part of the n hblks
24594   * starting at h are no longer protected.  If is_ptrfree is false,
24595   * also ensure that they will subsequently appear to be dirty.
24596   */
24597 @@ -2591,7 +2367,6 @@
24598      UNPROTECT(h_trunc, (ptr_t)h_end - (ptr_t)h_trunc);
24599  }
24600  
24601 -#if !defined(DARWIN)
24602  void GC_dirty_init()
24603  {
24604  #   if defined(SUNOS5SIGS) || defined(IRIX5) || defined(LINUX) || \
24605 @@ -2614,6 +2389,13 @@
24606          (void)sigaddset(&act.sa_mask, SIG_SUSPEND);
24607  #     endif /* SIG_SUSPEND */
24608  #    endif
24609 +#   if defined(MACOSX)
24610 +      struct sigaction act, oldact;
24611 +
24612 +      act.sa_flags = SA_RESTART;
24613 +      act.sa_handler = GC_write_fault_handler;
24614 +      sigemptyset(&act.sa_mask);
24615 +#   endif
24616  #   ifdef PRINTSTATS
24617         GC_printf0("Inititalizing mprotect virtual dirty bit implementation\n");
24618  #   endif
24619 @@ -2653,12 +2435,9 @@
24620         sigaction(SIGSEGV, 0, &oldact);
24621         sigaction(SIGSEGV, &act, 0);
24622  #     else
24623 -       {
24624 -         int res = sigaction(SIGSEGV, &act, &oldact);
24625 -         if (res != 0) ABORT("Sigaction failed");
24626 -       }
24627 +       sigaction(SIGSEGV, &act, &oldact);
24628  #     endif
24629 -#     if defined(_sigargs) || defined(HURD) || !defined(SA_SIGINFO)
24630 +#     if defined(_sigargs) || defined(HURD)
24631         /* This is Irix 5.x, not 6.x.  Irix 5.x does not have   */
24632         /* sa_sigaction.                                        */
24633         GC_old_segv_handler = oldact.sa_handler;
24634 @@ -2679,7 +2458,7 @@
24635  #       endif
24636        }
24637  #   endif
24638 -#   if defined(HPUX) || defined(LINUX) || defined(HURD)
24639 +#   if defined(MACOSX) || defined(HPUX) || defined(LINUX) || defined(HURD)
24640        sigaction(SIGBUS, &act, &oldact);
24641        GC_old_bus_handler = oldact.sa_handler;
24642        if (GC_old_bus_handler == SIG_IGN) {
24643 @@ -2691,7 +2470,7 @@
24644           GC_err_printf0("Replaced other SIGBUS handler\n");
24645  #       endif
24646        }
24647 -#   endif /* HPUX || LINUX || HURD */
24648 +#   endif /* MACOS || HPUX || LINUX */
24649  #   if defined(MSWIN32)
24650        GC_old_segv_handler = SetUnhandledExceptionFilter(GC_write_fault_handler);
24651        if (GC_old_segv_handler != NULL) {
24652 @@ -2703,7 +2482,6 @@
24653        }
24654  #   endif
24655  }
24656 -#endif /* !DARWIN */
24657  
24658  int GC_incremental_protection_needs()
24659  {
24660 @@ -2850,23 +2628,15 @@
24661               ((ptr_t)end_block - (ptr_t)start_block) + HBLKSIZE);
24662  }
24663  
24664 -#if 0
24665 -
24666 -/* We no longer wrap read by default, since that was causing too many  */
24667 -/* problems.  It is preferred that the client instead avoids writing   */
24668 -/* to the write-protected heap with a system call.                     */
24669 -/* This still serves as sample code if you do want to wrap system calls.*/
24670 -
24671 -#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(GC_USE_LD_WRAP)
24672 -/* Replacement for UNIX system call.                                     */
24673 -/* Other calls that write to the heap should be handled similarly.       */
24674 -/* Note that this doesn't work well for blocking reads:  It will hold    */
24675 -/* the allocation lock for the entire duration of the call. Multithreaded */
24676 -/* clients should really ensure that it won't block, either by setting           */
24677 -/* the descriptor nonblocking, or by calling select or poll first, to    */
24678 -/* make sure that input is available.                                    */
24679 -/* Another, preferred alternative is to ensure that system calls never           */
24680 -/* write to the protected heap (see above).                              */
24681 +#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(THREADS) \
24682 +    && !defined(GC_USE_LD_WRAP)
24683 +/* Replacement for UNIX system call.                                    */
24684 +/* Other calls that write to the heap should be handled similarly.      */
24685 +/* Note that this doesn't work well for blocking reads:  It will hold   */
24686 +/* tha allocation lock for the entur duration of the call. Multithreaded */
24687 +/* clients should really ensure that it won't block, either by setting          */
24688 +/* the descriptor nonblocking, or by calling select or poll first, to   */
24689 +/* make sure that input is available.                                   */
24690  # if defined(__STDC__) && !defined(SUNOS4)
24691  #   include <unistd.h>
24692  #   include <sys/uio.h>
24693 @@ -2936,8 +2706,6 @@
24694      /* actually calls.                                                 */
24695  #endif
24696  
24697 -#endif /* 0 */
24698 -
24699  /*ARGSUSED*/
24700  GC_bool GC_page_was_ever_dirty(h)
24701  struct hblk *h;
24702 @@ -2953,6 +2721,13 @@
24703  {
24704  }
24705  
24706 +# else /* !MPROTECT_VDB */
24707 +
24708 +#   ifdef GC_USE_LD_WRAP
24709 +      ssize_t __wrap_read(int fd, void *buf, size_t nbyte)
24710 +      { return __real_read(fd, buf, nbyte); }
24711 +#   endif
24712 +
24713  # endif /* MPROTECT_VDB */
24714  
24715  # ifdef PROC_VDB
24716 @@ -3031,7 +2806,6 @@
24717      }
24718      GC_proc_fd = syscall(SYS_ioctl, fd, PIOCOPENPD, 0);
24719      close(fd);
24720 -    syscall(SYS_fcntl, GC_proc_fd, F_SETFD, FD_CLOEXEC);
24721      if (GC_proc_fd < 0) {
24722         ABORT("/proc ioctl failed");
24723      }
24724 @@ -3271,553 +3045,6 @@
24725  
24726  # endif /* PCR_VDB */
24727  
24728 -#if defined(MPROTECT_VDB) && defined(DARWIN)
24729 -/* The following sources were used as a *reference* for this exception handling
24730 -   code:
24731 -      1. Apple's mach/xnu documentation
24732 -      2. Timothy J. Wood's "Mach Exception Handlers 101" post to the
24733 -         omnigroup's macosx-dev list. 
24734 -         www.omnigroup.com/mailman/archive/macosx-dev/2000-June/002030.html
24735 -      3. macosx-nat.c from Apple's GDB source code.
24736 -*/
24737 -   
24738 -/* There seem to be numerous problems with darwin's mach exception handling.
24739 -   I'm pretty sure they are not problems in my code. Search for 
24740 -   BROKEN_EXCEPTION_HANDLING for more information. */
24741 -#define BROKEN_EXCEPTION_HANDLING
24742 -   
24743 -#include <mach/mach.h>
24744 -#include <mach/mach_error.h>
24745 -#include <mach/thread_status.h>
24746 -#include <mach/exception.h>
24747 -#include <mach/task.h>
24748 -#include <pthread.h>
24749 -
24750 -/* These are not defined in any header, although they are documented */
24751 -extern boolean_t exc_server(mach_msg_header_t *,mach_msg_header_t *);
24752 -extern kern_return_t exception_raise(
24753 -    mach_port_t,mach_port_t,mach_port_t,
24754 -    exception_type_t,exception_data_t,mach_msg_type_number_t);
24755 -extern kern_return_t exception_raise_state(
24756 -    mach_port_t,mach_port_t,mach_port_t,
24757 -    exception_type_t,exception_data_t,mach_msg_type_number_t,
24758 -    thread_state_flavor_t*,thread_state_t,mach_msg_type_number_t,
24759 -    thread_state_t,mach_msg_type_number_t*);
24760 -extern kern_return_t exception_raise_state_identity(
24761 -    mach_port_t,mach_port_t,mach_port_t,
24762 -    exception_type_t,exception_data_t,mach_msg_type_number_t,
24763 -    thread_state_flavor_t*,thread_state_t,mach_msg_type_number_t,
24764 -    thread_state_t,mach_msg_type_number_t*);
24765 -
24766 -
24767 -#define MAX_EXCEPTION_PORTS 16
24768 -
24769 -static mach_port_t GC_task_self;
24770 -
24771 -static struct {
24772 -    mach_msg_type_number_t count;
24773 -    exception_mask_t      masks[MAX_EXCEPTION_PORTS];
24774 -    exception_handler_t   ports[MAX_EXCEPTION_PORTS];
24775 -    exception_behavior_t  behaviors[MAX_EXCEPTION_PORTS];
24776 -    thread_state_flavor_t flavors[MAX_EXCEPTION_PORTS];
24777 -} GC_old_exc_ports;
24778 -
24779 -static struct {
24780 -    mach_port_t exception;
24781 -#if defined(THREADS)
24782 -    mach_port_t reply;
24783 -#endif
24784 -} GC_ports;
24785 -
24786 -typedef struct {
24787 -    mach_msg_header_t head;
24788 -} GC_msg_t;
24789 -
24790 -typedef enum {
24791 -    GC_MP_NORMAL, GC_MP_DISCARDING, GC_MP_STOPPED
24792 -} GC_mprotect_state_t;
24793 -
24794 -/* FIXME: 1 and 2 seem to be safe to use in the msgh_id field,
24795 -   but it isn't  documented. Use the source and see if they
24796 -   should be ok. */
24797 -#define ID_STOP 1
24798 -#define ID_RESUME 2
24799 -
24800 -/* These values are only used on the reply port */
24801 -#define ID_ACK 3
24802 -
24803 -#if defined(THREADS)
24804 -
24805 -GC_mprotect_state_t GC_mprotect_state;
24806 -
24807 -/* The following should ONLY be called when the world is stopped  */
24808 -static void GC_mprotect_thread_notify(mach_msg_id_t id) {
24809 -    struct {
24810 -        GC_msg_t msg;
24811 -        mach_msg_trailer_t trailer;
24812 -    } buf;
24813 -    mach_msg_return_t r;
24814 -    /* remote, local */
24815 -    buf.msg.head.msgh_bits = 
24816 -        MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND,0);
24817 -    buf.msg.head.msgh_size = sizeof(buf.msg);
24818 -    buf.msg.head.msgh_remote_port = GC_ports.exception;
24819 -    buf.msg.head.msgh_local_port = MACH_PORT_NULL;
24820 -    buf.msg.head.msgh_id = id;
24821 -            
24822 -    r = mach_msg(
24823 -        &buf.msg.head,
24824 -        MACH_SEND_MSG|MACH_RCV_MSG|MACH_RCV_LARGE,
24825 -        sizeof(buf.msg),
24826 -        sizeof(buf),
24827 -        GC_ports.reply,
24828 -        MACH_MSG_TIMEOUT_NONE,
24829 -        MACH_PORT_NULL);
24830 -    if(r != MACH_MSG_SUCCESS)
24831 -        ABORT("mach_msg failed in GC_mprotect_thread_notify");
24832 -    if(buf.msg.head.msgh_id != ID_ACK)
24833 -        ABORT("invalid ack in GC_mprotect_thread_notify");
24834 -}
24835 -
24836 -/* Should only be called by the mprotect thread */
24837 -static void GC_mprotect_thread_reply() {
24838 -    GC_msg_t msg;
24839 -    mach_msg_return_t r;
24840 -    /* remote, local */
24841 -    msg.head.msgh_bits = 
24842 -        MACH_MSGH_BITS(MACH_MSG_TYPE_MAKE_SEND,0);
24843 -    msg.head.msgh_size = sizeof(msg);
24844 -    msg.head.msgh_remote_port = GC_ports.reply;
24845 -    msg.head.msgh_local_port = MACH_PORT_NULL;
24846 -    msg.head.msgh_id = ID_ACK;
24847 -            
24848 -    r = mach_msg(
24849 -        &msg.head,
24850 -        MACH_SEND_MSG,
24851 -        sizeof(msg),
24852 -        0,
24853 -        MACH_PORT_NULL,
24854 -        MACH_MSG_TIMEOUT_NONE,
24855 -        MACH_PORT_NULL);
24856 -    if(r != MACH_MSG_SUCCESS)
24857 -        ABORT("mach_msg failed in GC_mprotect_thread_reply");
24858 -}
24859 -
24860 -void GC_mprotect_stop() {
24861 -    GC_mprotect_thread_notify(ID_STOP);
24862 -}
24863 -void GC_mprotect_resume() {
24864 -    GC_mprotect_thread_notify(ID_RESUME);
24865 -}
24866 -
24867 -#else /* !THREADS */
24868 -/* The compiler should optimize away any GC_mprotect_state computations */
24869 -#define GC_mprotect_state GC_MP_NORMAL
24870 -#endif
24871 -
24872 -static void *GC_mprotect_thread(void *arg) {
24873 -    mach_msg_return_t r;
24874 -    /* These two structures contain some private kernel data. We don't need to
24875 -       access any of it so we don't bother defining a proper struct. The
24876 -       correct definitions are in the xnu source code. */
24877 -    struct {
24878 -        mach_msg_header_t head;
24879 -        char data[256];
24880 -    } reply;
24881 -    struct {
24882 -        mach_msg_header_t head;
24883 -        mach_msg_body_t msgh_body;
24884 -        char data[1024];
24885 -    } msg;
24886 -
24887 -    mach_msg_id_t id;
24888 -    
24889 -    for(;;) {
24890 -        r = mach_msg(
24891 -            &msg.head,
24892 -            MACH_RCV_MSG|MACH_RCV_LARGE|
24893 -                (GC_mprotect_state == GC_MP_DISCARDING ? MACH_RCV_TIMEOUT : 0),
24894 -            0,
24895 -            sizeof(msg),
24896 -            GC_ports.exception,
24897 -            GC_mprotect_state == GC_MP_DISCARDING ? 0 : MACH_MSG_TIMEOUT_NONE,
24898 -            MACH_PORT_NULL);
24899 -        
24900 -        id = r == MACH_MSG_SUCCESS ? msg.head.msgh_id : -1;
24901 -        
24902 -#if defined(THREADS)
24903 -        if(GC_mprotect_state == GC_MP_DISCARDING) {
24904 -            if(r == MACH_RCV_TIMED_OUT) {
24905 -                GC_mprotect_state = GC_MP_STOPPED;
24906 -                GC_mprotect_thread_reply();
24907 -                continue;
24908 -            }
24909 -            if(r == MACH_MSG_SUCCESS && (id == ID_STOP || id == ID_RESUME))
24910 -                ABORT("out of order mprotect thread request");
24911 -        }
24912 -#endif
24913 -        
24914 -        if(r != MACH_MSG_SUCCESS) {
24915 -            GC_err_printf2("mach_msg failed with %d %s\n", 
24916 -                (int)r,mach_error_string(r));
24917 -            ABORT("mach_msg failed");
24918 -        }
24919 -        
24920 -        switch(id) {
24921 -#if defined(THREADS)
24922 -            case ID_STOP:
24923 -                if(GC_mprotect_state != GC_MP_NORMAL)
24924 -                    ABORT("Called mprotect_stop when state wasn't normal");
24925 -                GC_mprotect_state = GC_MP_DISCARDING;
24926 -                break;
24927 -            case ID_RESUME:
24928 -                if(GC_mprotect_state != GC_MP_STOPPED)
24929 -                    ABORT("Called mprotect_resume when state wasn't stopped");
24930 -                GC_mprotect_state = GC_MP_NORMAL;
24931 -                GC_mprotect_thread_reply();
24932 -                break;
24933 -#endif /* THREADS */
24934 -            default:
24935 -                   /* Handle the message (calls catch_exception_raise) */
24936 -               if(!exc_server(&msg.head,&reply.head))
24937 -                    ABORT("exc_server failed");
24938 -                /* Send the reply */
24939 -                r = mach_msg(
24940 -                    &reply.head,
24941 -                    MACH_SEND_MSG,
24942 -                    reply.head.msgh_size,
24943 -                    0,
24944 -                    MACH_PORT_NULL,
24945 -                    MACH_MSG_TIMEOUT_NONE,
24946 -                    MACH_PORT_NULL);
24947 -               if(r != MACH_MSG_SUCCESS) {
24948 -                       /* This will fail if the thread dies, but the thread shouldn't
24949 -                          die... */
24950 -                       #ifdef BROKEN_EXCEPTION_HANDLING
24951 -                       GC_err_printf2(
24952 -                        "mach_msg failed with %d %s while sending exc reply\n",
24953 -                        (int)r,mach_error_string(r));
24954 -               #else
24955 -                       ABORT("mach_msg failed while sending exception reply");
24956 -               #endif
24957 -               }
24958 -        } /* switch */
24959 -    } /* for(;;) */
24960 -    /* NOT REACHED */
24961 -    return NULL;
24962 -}
24963 -
24964 -/* All this SIGBUS code shouldn't be necessary. All protection faults should
24965 -   be going throught the mach exception handler. However, it seems a SIGBUS is
24966 -   occasionally sent for some unknown reason. Even more odd, it seems to be
24967 -   meaningless and safe to ignore. */
24968 -#ifdef BROKEN_EXCEPTION_HANDLING
24969 -
24970 -typedef void (* SIG_PF)();
24971 -static SIG_PF GC_old_bus_handler;
24972 -
24973 -/* Updates to this aren't atomic, but the SIGBUSs seem pretty rare.
24974 -   Even if this doesn't get updated property, it isn't really a problem */
24975 -static int GC_sigbus_count;
24976 -
24977 -static void GC_darwin_sigbus(int num,siginfo_t *sip,void *context) {
24978 -    if(num != SIGBUS) ABORT("Got a non-sigbus signal in the sigbus handler");
24979 -    
24980 -    /* Ugh... some seem safe to ignore, but too many in a row probably means
24981 -       trouble. GC_sigbus_count is reset for each mach exception that is
24982 -       handled */
24983 -    if(GC_sigbus_count >= 8) {
24984 -        ABORT("Got more than 8 SIGBUSs in a row!");
24985 -    } else {
24986 -        GC_sigbus_count++;
24987 -        GC_err_printf0("GC: WARNING: Ignoring SIGBUS.\n");
24988 -    }
24989 -}
24990 -#endif /* BROKEN_EXCEPTION_HANDLING */
24991 -
24992 -void GC_dirty_init() {
24993 -    kern_return_t r;
24994 -    mach_port_t me;
24995 -    pthread_t thread;
24996 -    pthread_attr_t attr;
24997 -    exception_mask_t mask;
24998 -    
24999 -#   ifdef PRINTSTATS
25000 -        GC_printf0("Inititalizing mach/darwin mprotect virtual dirty bit "
25001 -            "implementation\n");
25002 -#   endif  
25003 -#      ifdef BROKEN_EXCEPTION_HANDLING
25004 -        GC_err_printf0("GC: WARNING: Enabling workarounds for various darwin "
25005 -            "exception handling bugs.\n");
25006 -#      endif
25007 -    GC_dirty_maintained = TRUE;
25008 -    if (GC_page_size % HBLKSIZE != 0) {
25009 -        GC_err_printf0("Page size not multiple of HBLKSIZE\n");
25010 -        ABORT("Page size not multiple of HBLKSIZE");
25011 -    }
25012 -    
25013 -    GC_task_self = me = mach_task_self();
25014 -    
25015 -    r = mach_port_allocate(me,MACH_PORT_RIGHT_RECEIVE,&GC_ports.exception);
25016 -    if(r != KERN_SUCCESS) ABORT("mach_port_allocate failed (exception port)");
25017 -    
25018 -    r = mach_port_insert_right(me,GC_ports.exception,GC_ports.exception,
25019 -       MACH_MSG_TYPE_MAKE_SEND);
25020 -    if(r != KERN_SUCCESS)
25021 -       ABORT("mach_port_insert_right failed (exception port)");
25022 -
25023 -    #if defined(THREADS)
25024 -        r = mach_port_allocate(me,MACH_PORT_RIGHT_RECEIVE,&GC_ports.reply);
25025 -        if(r != KERN_SUCCESS) ABORT("mach_port_allocate failed (reply port)");
25026 -    #endif
25027 -
25028 -    /* The exceptions we want to catch */  
25029 -    mask = EXC_MASK_BAD_ACCESS;
25030 -
25031 -    r = task_get_exception_ports(
25032 -        me,
25033 -        mask,
25034 -        GC_old_exc_ports.masks,
25035 -        &GC_old_exc_ports.count,
25036 -        GC_old_exc_ports.ports,
25037 -        GC_old_exc_ports.behaviors,
25038 -        GC_old_exc_ports.flavors
25039 -    );
25040 -    if(r != KERN_SUCCESS) ABORT("task_get_exception_ports failed");
25041 -        
25042 -    r = task_set_exception_ports(
25043 -        me,
25044 -        mask,
25045 -        GC_ports.exception,
25046 -        EXCEPTION_DEFAULT,
25047 -        MACHINE_THREAD_STATE
25048 -    );
25049 -    if(r != KERN_SUCCESS) ABORT("task_set_exception_ports failed");
25050 -
25051 -    if(pthread_attr_init(&attr) != 0) ABORT("pthread_attr_init failed");
25052 -    if(pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED) != 0) 
25053 -        ABORT("pthread_attr_setdetachedstate failed");
25054 -
25055 -#      undef pthread_create
25056 -    /* This will call the real pthread function, not our wrapper */
25057 -    if(pthread_create(&thread,&attr,GC_mprotect_thread,NULL) != 0)
25058 -        ABORT("pthread_create failed");
25059 -    pthread_attr_destroy(&attr);
25060 -    
25061 -    /* Setup the sigbus handler for ignoring the meaningless SIGBUSs */
25062 -    #ifdef BROKEN_EXCEPTION_HANDLING 
25063 -    {
25064 -        struct sigaction sa, oldsa;
25065 -        sa.sa_handler = (SIG_PF)GC_darwin_sigbus;
25066 -        sigemptyset(&sa.sa_mask);
25067 -        sa.sa_flags = SA_RESTART|SA_SIGINFO;
25068 -        if(sigaction(SIGBUS,&sa,&oldsa) < 0) ABORT("sigaction");
25069 -        GC_old_bus_handler = (SIG_PF)oldsa.sa_handler;
25070 -        if (GC_old_bus_handler != SIG_DFL) {
25071 -#              ifdef PRINTSTATS
25072 -                GC_err_printf0("Replaced other SIGBUS handler\n");
25073 -#              endif
25074 -        }
25075 -    }
25076 -    #endif /* BROKEN_EXCEPTION_HANDLING  */
25077 -}
25078
25079 -/* The source code for Apple's GDB was used as a reference for the exception
25080 -   forwarding code. This code is similar to be GDB code only because there is 
25081 -   only one way to do it. */
25082 -static kern_return_t GC_forward_exception(
25083 -        mach_port_t thread,
25084 -        mach_port_t task,
25085 -        exception_type_t exception,
25086 -        exception_data_t data,
25087 -        mach_msg_type_number_t data_count
25088 -) {
25089 -    int i;
25090 -    kern_return_t r;
25091 -    mach_port_t port;
25092 -    exception_behavior_t behavior;
25093 -    thread_state_flavor_t flavor;
25094 -    
25095 -    thread_state_data_t thread_state;
25096 -    mach_msg_type_number_t thread_state_count = THREAD_STATE_MAX;
25097 -        
25098 -    for(i=0;i<GC_old_exc_ports.count;i++)
25099 -        if(GC_old_exc_ports.masks[i] & (1 << exception))
25100 -            break;
25101 -    if(i==GC_old_exc_ports.count) ABORT("No handler for exception!");
25102 -    
25103 -    port = GC_old_exc_ports.ports[i];
25104 -    behavior = GC_old_exc_ports.behaviors[i];
25105 -    flavor = GC_old_exc_ports.flavors[i];
25106 -
25107 -    if(behavior != EXCEPTION_DEFAULT) {
25108 -        r = thread_get_state(thread,flavor,thread_state,&thread_state_count);
25109 -        if(r != KERN_SUCCESS)
25110 -            ABORT("thread_get_state failed in forward_exception");
25111 -    }
25112 -    
25113 -    switch(behavior) {
25114 -        case EXCEPTION_DEFAULT:
25115 -            r = exception_raise(port,thread,task,exception,data,data_count);
25116 -            break;
25117 -        case EXCEPTION_STATE:
25118 -            r = exception_raise_state(port,thread,task,exception,data,
25119 -                data_count,&flavor,thread_state,thread_state_count,
25120 -                thread_state,&thread_state_count);
25121 -            break;
25122 -        case EXCEPTION_STATE_IDENTITY:
25123 -            r = exception_raise_state_identity(port,thread,task,exception,data,
25124 -                data_count,&flavor,thread_state,thread_state_count,
25125 -                thread_state,&thread_state_count);
25126 -            break;
25127 -        default:
25128 -            r = KERN_FAILURE; /* make gcc happy */
25129 -            ABORT("forward_exception: unknown behavior");
25130 -            break;
25131 -    }
25132 -    
25133 -    if(behavior != EXCEPTION_DEFAULT) {
25134 -        r = thread_set_state(thread,flavor,thread_state,thread_state_count);
25135 -        if(r != KERN_SUCCESS)
25136 -            ABORT("thread_set_state failed in forward_exception");
25137 -    }
25138 -    
25139 -    return r;
25140 -}
25141 -
25142 -#define FWD() GC_forward_exception(thread,task,exception,code,code_count)
25143 -
25144 -/* This violates the namespace rules but there isn't anything that can be done
25145 -   about it. The exception handling stuff is hard coded to call this */
25146 -kern_return_t
25147 -catch_exception_raise(
25148 -   mach_port_t exception_port,mach_port_t thread,mach_port_t task,
25149 -   exception_type_t exception,exception_data_t code,
25150 -   mach_msg_type_number_t code_count
25151 -) {
25152 -    kern_return_t r;
25153 -    char *addr;
25154 -    struct hblk *h;
25155 -    int i;
25156 -#ifdef POWERPC
25157 -    thread_state_flavor_t flavor = PPC_EXCEPTION_STATE;
25158 -    mach_msg_type_number_t exc_state_count = PPC_EXCEPTION_STATE_COUNT;
25159 -    ppc_exception_state_t exc_state;
25160 -#else
25161 -#      error FIXME for non-ppc darwin
25162 -#endif
25163 -
25164 -    
25165 -    if(exception != EXC_BAD_ACCESS || code[0] != KERN_PROTECTION_FAILURE) {
25166 -        #ifdef DEBUG_EXCEPTION_HANDLING
25167 -        /* We aren't interested, pass it on to the old handler */
25168 -        GC_printf3("Exception: 0x%x Code: 0x%x 0x%x in catch....\n",
25169 -            exception,
25170 -            code_count > 0 ? code[0] : -1,
25171 -            code_count > 1 ? code[1] : -1); 
25172 -        #endif
25173 -        return FWD();
25174 -    }
25175 -
25176 -    r = thread_get_state(thread,flavor,
25177 -        (natural_t*)&exc_state,&exc_state_count);
25178 -    if(r != KERN_SUCCESS) {
25179 -        /* The thread is supposed to be suspended while the exception handler
25180 -           is called. This shouldn't fail. */
25181 -        #ifdef BROKEN_EXCEPTION_HANDLING
25182 -            GC_err_printf0("thread_get_state failed in "
25183 -                "catch_exception_raise\n");
25184 -            return KERN_SUCCESS;
25185 -        #else
25186 -            ABORT("thread_get_state failed in catch_exception_raise");
25187 -        #endif
25188 -    }
25189 -    
25190 -    /* This is the address that caused the fault */
25191 -    addr = (char*) exc_state.dar;
25192 -        
25193 -    if((HDR(addr)) == 0) {
25194 -        /* Ugh... just like the SIGBUS problem above, it seems we get a bogus 
25195 -           KERN_PROTECTION_FAILURE every once and a while. We wait till we get
25196 -           a bunch in a row before doing anything about it. If a "real" fault 
25197 -           ever occurres it'll just keep faulting over and over and we'll hit
25198 -           the limit pretty quickly. */
25199 -        #ifdef BROKEN_EXCEPTION_HANDLING
25200 -            static char *last_fault;
25201 -            static int last_fault_count;
25202 -            
25203 -            if(addr != last_fault) {
25204 -                last_fault = addr;
25205 -                last_fault_count = 0;
25206 -            }
25207 -            if(++last_fault_count < 32) {
25208 -                if(last_fault_count == 1)
25209 -                    GC_err_printf1(
25210 -                        "GC: WARNING: Ignoring KERN_PROTECTION_FAILURE at %p\n",
25211 -                        addr);
25212 -                return KERN_SUCCESS;
25213 -            }
25214 -            
25215 -            GC_err_printf1("Unexpected KERN_PROTECTION_FAILURE at %p\n",addr);
25216 -            /* Can't pass it along to the signal handler because that is
25217 -               ignoring SIGBUS signals. We also shouldn't call ABORT here as
25218 -               signals don't always work too well from the exception handler. */
25219 -            GC_err_printf0("Aborting\n");
25220 -            exit(EXIT_FAILURE);
25221 -        #else /* BROKEN_EXCEPTION_HANDLING */
25222 -            /* Pass it along to the next exception handler 
25223 -               (which should call SIGBUS/SIGSEGV) */
25224 -            return FWD();
25225 -        #endif /* !BROKEN_EXCEPTION_HANDLING */
25226 -    }
25227 -
25228 -    #ifdef BROKEN_EXCEPTION_HANDLING
25229 -        /* Reset the number of consecutive SIGBUSs */
25230 -        GC_sigbus_count = 0;
25231 -    #endif
25232 -    
25233 -    if(GC_mprotect_state == GC_MP_NORMAL) { /* common case */
25234 -        h = (struct hblk*)((word)addr & ~(GC_page_size-1));
25235 -        UNPROTECT(h, GC_page_size);    
25236 -        for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
25237 -            register int index = PHT_HASH(h+i);
25238 -            async_set_pht_entry_from_index(GC_dirty_pages, index);
25239 -        }
25240 -    } else if(GC_mprotect_state == GC_MP_DISCARDING) {
25241 -        /* Lie to the thread for now. No sense UNPROTECT()ing the memory
25242 -           when we're just going to PROTECT() it again later. The thread
25243 -           will just fault again once it resumes */
25244 -    } else {
25245 -        /* Shouldn't happen, i don't think */
25246 -        GC_printf0("KERN_PROTECTION_FAILURE while world is stopped\n");
25247 -        return FWD();
25248 -    }
25249 -    return KERN_SUCCESS;
25250 -}
25251 -#undef FWD
25252 -
25253 -/* These should never be called, but just in case...  */
25254 -kern_return_t catch_exception_raise_state(mach_port_name_t exception_port,
25255 -    int exception, exception_data_t code, mach_msg_type_number_t codeCnt,
25256 -    int flavor, thread_state_t old_state, int old_stateCnt,
25257 -    thread_state_t new_state, int new_stateCnt)
25258 -{
25259 -    ABORT("catch_exception_raise_state");
25260 -    return(KERN_INVALID_ARGUMENT);
25261 -}
25262 -kern_return_t catch_exception_raise_state_identity(
25263 -    mach_port_name_t exception_port, mach_port_t thread, mach_port_t task,
25264 -    int exception, exception_data_t code, mach_msg_type_number_t codeCnt,
25265 -    int flavor, thread_state_t old_state, int old_stateCnt, 
25266 -    thread_state_t new_state, int new_stateCnt)
25267 -{
25268 -    ABORT("catch_exception_raise_state_identity");
25269 -    return(KERN_INVALID_ARGUMENT);
25270 -}
25271 -
25272 -
25273 -#endif /* DARWIN && MPROTECT_VDB */
25274 -
25275  # ifndef HAVE_INCREMENTAL_PROTECTION_NEEDS
25276    int GC_incremental_protection_needs()
25277    {
25278 @@ -3878,20 +3105,19 @@
25279  #  endif
25280  #endif /* SPARC */
25281  
25282 -#ifdef  NEED_CALLINFO
25283 +#ifdef SAVE_CALL_CHAIN
25284  /* Fill in the pc and argument information for up to NFRAMES of my     */
25285  /* callers.  Ignore my frame and my callers frame.                     */
25286  
25287  #ifdef LINUX
25288 -#   include <unistd.h>
25289 +# include <features.h>
25290 +# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2
25291 +#   define HAVE_BUILTIN_BACKTRACE
25292 +# endif
25293  #endif
25294  
25295 -#endif /* NEED_CALLINFO */
25296 -
25297 -#ifdef SAVE_CALL_CHAIN
25298 -
25299  #if NARGS == 0 && NFRAMES % 2 == 0 /* No padding */ \
25300 -    && defined(GC_HAVE_BUILTIN_BACKTRACE)
25301 +    && defined(HAVE_BUILTIN_BACKTRACE)
25302  
25303  #include <execinfo.h>
25304  
25305 @@ -3962,139 +3188,31 @@
25306  
25307  #endif /* SAVE_CALL_CHAIN */
25308  
25309 -#ifdef NEED_CALLINFO
25310 +#if defined(LINUX) && defined(__ELF__) && \
25311 +    (!defined(SMALL_CONFIG) || defined(USE_PROC_FOR_LIBRARIES))
25312 +#ifdef GC_USE_LD_WRAP
25313 +#   define READ __real_read
25314 +#else
25315 +#   define READ read
25316 +#endif
25317  
25318 -/* Print info to stderr.  We do NOT hold the allocation lock */
25319 -void GC_print_callers (info)
25320 -struct callinfo info[NFRAMES];
25321 -{
25322 -    register int i;
25323 -    static int reentry_count = 0;
25324 -    GC_bool stop = FALSE;
25325  
25326 -    LOCK();
25327 -      ++reentry_count;
25328 -    UNLOCK();
25329 +/* Repeatedly perform a read call until the buffer is filled or        */
25330 +/* we encounter EOF.                                           */
25331 +ssize_t GC_repeat_read(int fd, char *buf, size_t count)
25332 +{
25333 +    ssize_t num_read = 0;
25334 +    ssize_t result;
25335      
25336 -#   if NFRAMES == 1
25337 -      GC_err_printf0("\tCaller at allocation:\n");
25338 -#   else
25339 -      GC_err_printf0("\tCall chain at allocation:\n");
25340 -#   endif
25341 -    for (i = 0; i < NFRAMES && !stop ; i++) {
25342 -       if (info[i].ci_pc == 0) break;
25343 -#      if NARGS > 0
25344 -       {
25345 -         int j;
25346 -
25347 -         GC_err_printf0("\t\targs: ");
25348 -         for (j = 0; j < NARGS; j++) {
25349 -           if (j != 0) GC_err_printf0(", ");
25350 -           GC_err_printf2("%d (0x%X)", ~(info[i].ci_arg[j]),
25351 -                                       ~(info[i].ci_arg[j]));
25352 -         }
25353 -         GC_err_printf0("\n");
25354 -       }
25355 -#      endif
25356 -        if (reentry_count > 1) {
25357 -           /* We were called during an allocation during       */
25358 -           /* a previous GC_print_callers call; punt.          */
25359 -           GC_err_printf1("\t\t##PC##= 0x%lx\n", info[i].ci_pc);
25360 -           continue;
25361 -       }
25362 -       {
25363 -#        ifdef LINUX
25364 -           FILE *pipe;
25365 -#        endif
25366 -#        if defined(GC_HAVE_BUILTIN_BACKTRACE)
25367 -           char **sym_name =
25368 -             backtrace_symbols((void **)(&(info[i].ci_pc)), 1);
25369 -           char *name = sym_name[0];
25370 -#        else
25371 -           char buf[40];
25372 -           char *name = buf;
25373 -           sprintf(buf, "##PC##= 0x%lx", info[i].ci_pc);
25374 -#        endif
25375 -#        if defined(LINUX) && !defined(SMALL_CONFIG)
25376 -           /* Try for a line number. */
25377 -           {
25378 -#              define EXE_SZ 100
25379 -               static char exe_name[EXE_SZ];
25380 -#              define CMD_SZ 200
25381 -               char cmd_buf[CMD_SZ];
25382 -#              define RESULT_SZ 200
25383 -               static char result_buf[RESULT_SZ];
25384 -               size_t result_len;
25385 -               static GC_bool found_exe_name = FALSE;
25386 -               static GC_bool will_fail = FALSE;
25387 -               int ret_code;
25388 -               /* Try to get it via a hairy and expensive scheme.      */
25389 -               /* First we get the name of the executable:             */
25390 -               if (will_fail) goto out;
25391 -               if (!found_exe_name) { 
25392 -                 ret_code = readlink("/proc/self/exe", exe_name, EXE_SZ);
25393 -                 if (ret_code < 0 || ret_code >= EXE_SZ
25394 -                     || exe_name[0] != '/') {
25395 -                   will_fail = TRUE;   /* Dont try again. */
25396 -                   goto out;
25397 -                 }
25398 -                 exe_name[ret_code] = '\0';
25399 -                 found_exe_name = TRUE;
25400 -               }
25401 -               /* Then we use popen to start addr2line -e <exe> <addr> */
25402 -               /* There are faster ways to do this, but hopefully this */
25403 -               /* isn't time critical.                                 */
25404 -               sprintf(cmd_buf, "/usr/bin/addr2line -f -e %s 0x%lx", exe_name,
25405 -                                (unsigned long)info[i].ci_pc);
25406 -               pipe = popen(cmd_buf, "r");
25407 -               if (pipe == NULL
25408 -                   || (result_len = fread(result_buf, 1, RESULT_SZ - 1, pipe))
25409 -                      == 0) {
25410 -                 if (pipe != NULL) pclose(pipe);
25411 -                 will_fail = TRUE;
25412 -                 goto out;
25413 -               }
25414 -               if (result_buf[result_len - 1] == '\n') --result_len;
25415 -               result_buf[result_len] = 0;
25416 -               if (result_buf[0] == '?'
25417 -                   || result_buf[result_len-2] == ':' 
25418 -                      && result_buf[result_len-1] == '0') {
25419 -                   pclose(pipe);
25420 -                   goto out;
25421 -               }
25422 -               /* Get rid of embedded newline, if any.  Test for "main" */
25423 -               {
25424 -                  char * nl = strchr(result_buf, '\n');
25425 -                  if (nl != NULL && nl < result_buf + result_len) {
25426 -                    *nl = ':';
25427 -                  }
25428 -                  if (strncmp(result_buf, "main", nl - result_buf) == 0) {
25429 -                    stop = TRUE;
25430 -                  }
25431 -               }
25432 -               if (result_len < RESULT_SZ - 25) {
25433 -                 /* Add in hex address */
25434 -                   sprintf(result_buf + result_len, " [0x%lx]",
25435 -                         (unsigned long)info[i].ci_pc);
25436 -               }
25437 -               name = result_buf;
25438 -               pclose(pipe);
25439 -               out:;
25440 -           }
25441 -#        endif /* LINUX */
25442 -         GC_err_printf1("\t\t%s\n", name);
25443 -#        if defined(GC_HAVE_BUILTIN_BACKTRACE)
25444 -           free(sym_name);  /* May call GC_free; that's OK */
25445 -#         endif
25446 -       }
25447 +    while (num_read < count) {
25448 +       result = READ(fd, buf + num_read, count - num_read);
25449 +       if (result < 0) return result;
25450 +       if (result == 0) break;
25451 +       num_read += result;
25452      }
25453 -    LOCK();
25454 -      --reentry_count;
25455 -    UNLOCK();
25456 +    return num_read;
25457  }
25458 -
25459 -#endif /* NEED_CALLINFO */
25460 -
25461 +#endif /* LINUX && ... */
25462  
25463  
25464  #if defined(LINUX) && defined(__ELF__) && !defined(SMALL_CONFIG)
25465 @@ -4102,16 +3220,20 @@
25466  /* Dump /proc/self/maps to GC_stderr, to enable looking up names for
25467     addresses in FIND_LEAK output. */
25468  
25469 -static word dump_maps(char *maps)
25470 -{
25471 -    GC_err_write(maps, strlen(maps));
25472 -    return 1;
25473 -}
25474 -
25475  void GC_print_address_map()
25476  {
25477 +    int f;
25478 +    int result;
25479 +    char maps_temp[32768];
25480      GC_err_printf0("---------- Begin address map ----------\n");
25481 -    GC_apply_to_maps(dump_maps);
25482 +        f = open("/proc/self/maps", O_RDONLY);
25483 +        if (-1 == f) ABORT("Couldn't open /proc/self/maps");
25484 +       do {
25485 +           result = GC_repeat_read(f, maps_temp, sizeof(maps_temp));
25486 +           if (result <= 0) ABORT("Couldn't read /proc/self/maps");
25487 +           GC_err_write(maps_temp, result);
25488 +       } while (result == sizeof(maps_temp));
25489 +     
25490      GC_err_printf0("---------- End address map ----------\n");
25491  }
25492  
25493 diff -Nur ../boehm-gc/powerpc_darwin_mach_dep.s boehm-gc/powerpc_darwin_mach_dep.s
25494 --- ../boehm-gc/powerpc_darwin_mach_dep.s       Mon May 26 12:48:52 2003
25495 +++ boehm-gc/powerpc_darwin_mach_dep.s  Wed Dec 31 16:00:00 1969
25496 @@ -1,84 +0,0 @@
25497 -
25498 -; GC_push_regs function. Under some optimization levels GCC will clobber
25499 -; some of the non-volatile registers before we get a chance to save them
25500 -; therefore, this can't be inline asm.
25501 -
25502 -.text
25503 -       .align 2
25504 -       .globl _GC_push_regs
25505 -_GC_push_regs:
25506 -    
25507 -    ; Prolog
25508 -       mflr r0
25509 -       stw r0,8(r1)
25510 -       stwu r1,-80(r1)
25511 -
25512 -       ; Push r13-r31
25513 -       mr r3,r13
25514 -       bl L_GC_push_one$stub
25515 -       mr r3,r14
25516 -       bl L_GC_push_one$stub
25517 -       mr r3,r15
25518 -       bl L_GC_push_one$stub
25519 -       mr r3,r16
25520 -       bl L_GC_push_one$stub
25521 -       mr r3,r17
25522 -       bl L_GC_push_one$stub
25523 -       mr r3,r18
25524 -       bl L_GC_push_one$stub
25525 -       mr r3,r19
25526 -       bl L_GC_push_one$stub
25527 -       mr r3,r20
25528 -       bl L_GC_push_one$stub
25529 -       mr r3,r21
25530 -       bl L_GC_push_one$stub
25531 -       mr r3,r22
25532 -       bl L_GC_push_one$stub
25533 -       mr r3,r23
25534 -       bl L_GC_push_one$stub
25535 -       mr r3,r24
25536 -       bl L_GC_push_one$stub
25537 -       mr r3,r25
25538 -       bl L_GC_push_one$stub
25539 -       mr r3,r26
25540 -       bl L_GC_push_one$stub
25541 -       mr r3,r27
25542 -       bl L_GC_push_one$stub
25543 -       mr r3,r28
25544 -       bl L_GC_push_one$stub
25545 -       mr r3,r29
25546 -       bl L_GC_push_one$stub
25547 -       mr r3,r30
25548 -       bl L_GC_push_one$stub
25549 -       mr r3,r31
25550 -       bl L_GC_push_one$stub
25551 -
25552 -    ; 
25553 -    lwz r0,88(r1)
25554 -    addi r1,r1,80
25555 -       mtlr r0
25556 -       
25557 -       ; Return
25558 -       blr
25559 -
25560 -; PIC stuff, generated by GCC
25561 -
25562 -.data
25563 -.picsymbol_stub
25564 -L_GC_push_one$stub:
25565 -       .indirect_symbol _GC_push_one
25566 -       mflr r0
25567 -       bcl 20,31,L0$_GC_push_one
25568 -L0$_GC_push_one:
25569 -       mflr r11
25570 -       addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
25571 -       mtlr r0
25572 -       lwz r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11)
25573 -       mtctr r12
25574 -       addi r11,r11,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
25575 -       bctr
25576 -.data
25577 -.lazy_symbol_pointer
25578 -L_GC_push_one$lazy_ptr:
25579 -       .indirect_symbol _GC_push_one
25580 -       .long dyld_stub_binding_helper
25581 diff -Nur ../boehm-gc/pthread_stop_world.c boehm-gc/pthread_stop_world.c
25582 --- ../boehm-gc/pthread_stop_world.c    Mon May 26 12:48:52 2003
25583 +++ boehm-gc/pthread_stop_world.c       Wed Dec 31 16:00:00 1969
25584 @@ -1,445 +0,0 @@
25585 -#include "private/pthread_support.h"
25586 -
25587 -#if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
25588 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS) \
25589 -     && !defined(GC_DARWIN_THREADS)
25590 -
25591 -#include <signal.h>
25592 -#include <semaphore.h>
25593 -#include <errno.h>
25594 -#include <unistd.h>
25595 -
25596 -#if DEBUG_THREADS
25597 -
25598 -#ifndef NSIG
25599 -# if defined(MAXSIG)
25600 -#  define NSIG (MAXSIG+1)
25601 -# elif defined(_NSIG)
25602 -#  define NSIG _NSIG
25603 -# elif defined(__SIGRTMAX)
25604 -#  define NSIG (__SIGRTMAX+1)
25605 -# else
25606 -  --> please fix it
25607 -# endif
25608 -#endif
25609 -
25610 -void GC_print_sig_mask()
25611 -{
25612 -    sigset_t blocked;
25613 -    int i;
25614 -
25615 -    if (pthread_sigmask(SIG_BLOCK, NULL, &blocked) != 0)
25616 -       ABORT("pthread_sigmask");
25617 -    GC_printf0("Blocked: ");
25618 -    for (i = 1; i < NSIG; i++) {
25619 -        if (sigismember(&blocked, i)) { GC_printf1("%ld ",(long) i); }
25620 -    }
25621 -    GC_printf0("\n");
25622 -}
25623 -
25624 -#endif
25625 -
25626 -word GC_stop_count;    /* Incremented at the beginning of GC_stop_world. */
25627 -
25628 -#ifdef GC_OSF1_THREADS
25629 -  GC_bool GC_retry_signals = TRUE;
25630 -#else
25631 -  GC_bool GC_retry_signals = FALSE;
25632 -#endif
25633 -
25634 -/*
25635 - * We use signals to stop threads during GC.
25636 - * 
25637 - * Suspended threads wait in signal handler for SIG_THR_RESTART.
25638 - * That's more portable than semaphores or condition variables.
25639 - * (We do use sem_post from a signal handler, but that should be portable.)
25640 - *
25641 - * The thread suspension signal SIG_SUSPEND is now defined in gc_priv.h.
25642 - * Note that we can't just stop a thread; we need it to save its stack
25643 - * pointer(s) and acknowledge.
25644 - */
25645 -
25646 -#ifndef SIG_THR_RESTART
25647 -#  if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
25648 -#    ifdef _SIGRTMIN
25649 -#      define SIG_THR_RESTART _SIGRTMIN + 5
25650 -#    else
25651 -#      define SIG_THR_RESTART SIGRTMIN + 5
25652 -#    endif
25653 -#  else
25654 -#   define SIG_THR_RESTART SIGXCPU
25655 -#  endif
25656 -#endif
25657 -
25658 -sem_t GC_suspend_ack_sem;
25659 -
25660 -void GC_suspend_handler(int sig)
25661 -{
25662 -    int dummy;
25663 -    pthread_t my_thread = pthread_self();
25664 -    GC_thread me;
25665 -    sigset_t mask;
25666 -#   ifdef PARALLEL_MARK
25667 -       word my_mark_no = GC_mark_no;
25668 -       /* Marker can't proceed until we acknowledge.  Thus this is     */
25669 -       /* guaranteed to be the mark_no correspending to our            */
25670 -       /* suspension, i.e. the marker can't have incremented it yet.   */
25671 -#   endif
25672 -    word my_stop_count = GC_stop_count;
25673 -
25674 -    if (sig != SIG_SUSPEND) ABORT("Bad signal in suspend_handler");
25675 -
25676 -#if DEBUG_THREADS
25677 -    GC_printf1("Suspending 0x%lx\n", my_thread);
25678 -#endif
25679 -
25680 -    me = GC_lookup_thread(my_thread);
25681 -    /* The lookup here is safe, since I'm doing this on behalf  */
25682 -    /* of a thread which holds the allocation lock in order    */
25683 -    /* to stop the world.  Thus concurrent modification of the */
25684 -    /* data structure is impossible.                           */
25685 -    if (me -> stop_info.last_stop_count == my_stop_count) {
25686 -       /* Duplicate signal.  OK if we are retrying.    */
25687 -       if (!GC_retry_signals) {
25688 -           WARN("Duplicate suspend signal in thread %lx\n",
25689 -                pthread_self());
25690 -       }
25691 -       return;
25692 -    }
25693 -#   ifdef SPARC
25694 -       me -> stop_info.stack_ptr = (ptr_t)GC_save_regs_in_stack();
25695 -#   else
25696 -       me -> stop_info.stack_ptr = (ptr_t)(&dummy);
25697 -#   endif
25698 -#   ifdef IA64
25699 -       me -> backing_store_ptr = (ptr_t)GC_save_regs_in_stack();
25700 -#   endif
25701 -
25702 -    /* Tell the thread that wants to stop the world that this   */
25703 -    /* thread has been stopped.  Note that sem_post() is       */
25704 -    /* the only async-signal-safe primitive in LinuxThreads.    */
25705 -    sem_post(&GC_suspend_ack_sem);
25706 -    me -> stop_info.last_stop_count = my_stop_count;
25707 -
25708 -    /* Wait until that thread tells us to restart by sending    */
25709 -    /* this thread a SIG_THR_RESTART signal.                   */
25710 -    /* SIG_THR_RESTART should be masked at this point.  Thus there     */
25711 -    /* is no race.                                             */
25712 -    if (sigfillset(&mask) != 0) ABORT("sigfillset() failed");
25713 -    if (sigdelset(&mask, SIG_THR_RESTART) != 0) ABORT("sigdelset() failed");
25714 -#   ifdef NO_SIGNALS
25715 -      if (sigdelset(&mask, SIGINT) != 0) ABORT("sigdelset() failed");
25716 -      if (sigdelset(&mask, SIGQUIT) != 0) ABORT("sigdelset() failed");
25717 -      if (sigdelset(&mask, SIGTERM) != 0) ABORT("sigdelset() failed");
25718 -      if (sigdelset(&mask, SIGABRT) != 0) ABORT("sigdelset() failed");
25719 -#   endif
25720 -    do {
25721 -           me->stop_info.signal = 0;
25722 -           sigsuspend(&mask);             /* Wait for signal */
25723 -    } while (me->stop_info.signal != SIG_THR_RESTART);
25724 -    /* If the RESTART signal gets lost, we can still lose.  That should be  */
25725 -    /* less likely than losing the SUSPEND signal, since we don't do much   */
25726 -    /* between the sem_post and sigsuspend.                                */
25727 -    /* We'd need more handshaking to work around that, since we don't want  */
25728 -    /* to accidentally leave a RESTART signal pending, thus causing us to   */
25729 -    /* continue prematurely in a future round.                             */ 
25730 -
25731 -#if DEBUG_THREADS
25732 -    GC_printf1("Continuing 0x%lx\n", my_thread);
25733 -#endif
25734 -}
25735 -
25736 -void GC_restart_handler(int sig)
25737 -{
25738 -    pthread_t my_thread = pthread_self();
25739 -    GC_thread me;
25740 -
25741 -    if (sig != SIG_THR_RESTART) ABORT("Bad signal in suspend_handler");
25742 -
25743 -    /* Let the GC_suspend_handler() know that we got a SIG_THR_RESTART. */
25744 -    /* The lookup here is safe, since I'm doing this on behalf  */
25745 -    /* of a thread which holds the allocation lock in order    */
25746 -    /* to stop the world.  Thus concurrent modification of the */
25747 -    /* data structure is impossible.                           */
25748 -    me = GC_lookup_thread(my_thread);
25749 -    me->stop_info.signal = SIG_THR_RESTART;
25750 -
25751 -    /*
25752 -    ** Note: even if we didn't do anything useful here,
25753 -    ** it would still be necessary to have a signal handler,
25754 -    ** rather than ignoring the signals, otherwise
25755 -    ** the signals will not be delivered at all, and
25756 -    ** will thus not interrupt the sigsuspend() above.
25757 -    */
25758 -
25759 -#if DEBUG_THREADS
25760 -    GC_printf1("In GC_restart_handler for 0x%lx\n", pthread_self());
25761 -#endif
25762 -}
25763 -
25764 -# ifdef IA64
25765 -#   define IF_IA64(x) x
25766 -# else
25767 -#   define IF_IA64(x)
25768 -# endif
25769 -/* We hold allocation lock.  Should do exactly the right thing if the  */
25770 -/* world is stopped.  Should not fail if it isn't.                     */
25771 -void GC_push_all_stacks()
25772 -{
25773 -    int i;
25774 -    GC_thread p;
25775 -    ptr_t lo, hi;
25776 -    /* On IA64, we also need to scan the register backing store. */
25777 -    IF_IA64(ptr_t bs_lo; ptr_t bs_hi;)
25778 -    pthread_t me = pthread_self();
25779 -    
25780 -    if (!GC_thr_initialized) GC_thr_init();
25781 -    #if DEBUG_THREADS
25782 -        GC_printf1("Pushing stacks from thread 0x%lx\n", (unsigned long) me);
25783 -    #endif
25784 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25785 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25786 -        if (p -> flags & FINISHED) continue;
25787 -        if (pthread_equal(p -> id, me)) {
25788 -#          ifdef SPARC
25789 -               lo = (ptr_t)GC_save_regs_in_stack();
25790 -#          else
25791 -               lo = GC_approx_sp();
25792 -#           endif
25793 -           IF_IA64(bs_hi = (ptr_t)GC_save_regs_in_stack();)
25794 -       } else {
25795 -           lo = p -> stop_info.stack_ptr;
25796 -           IF_IA64(bs_hi = p -> backing_store_ptr;)
25797 -       }
25798 -        if ((p -> flags & MAIN_THREAD) == 0) {
25799 -           hi = p -> stack_end;
25800 -           IF_IA64(bs_lo = p -> backing_store_end);
25801 -        } else {
25802 -            /* The original stack. */
25803 -            hi = GC_stackbottom;
25804 -           IF_IA64(bs_lo = BACKING_STORE_BASE;)
25805 -        }
25806 -        #if DEBUG_THREADS
25807 -            GC_printf3("Stack for thread 0x%lx = [%lx,%lx)\n",
25808 -               (unsigned long) p -> id,
25809 -               (unsigned long) lo, (unsigned long) hi);
25810 -        #endif
25811 -       if (0 == lo) ABORT("GC_push_all_stacks: sp not set!\n");
25812 -#       ifdef STACK_GROWS_UP
25813 -         /* We got them backwards! */
25814 -          GC_push_all_stack(hi, lo);
25815 -#       else
25816 -          GC_push_all_stack(lo, hi);
25817 -#      endif
25818 -#      ifdef IA64
25819 -          if (pthread_equal(p -> id, me)) {
25820 -           GC_push_all_eager(bs_lo, bs_hi);
25821 -         } else {
25822 -           GC_push_all_stack(bs_lo, bs_hi);
25823 -         }
25824 -#      endif
25825 -      }
25826 -    }
25827 -}
25828 -
25829 -/* There seems to be a very rare thread stopping problem.  To help us  */
25830 -/* debug that, we save the ids of the stopping thread. */
25831 -pthread_t GC_stopping_thread;
25832 -int GC_stopping_pid;
25833 -
25834 -/* We hold the allocation lock.  Suspend all threads that might        */
25835 -/* still be running.  Return the number of suspend signals that        */
25836 -/* were sent. */
25837 -int GC_suspend_all()
25838 -{
25839 -    int n_live_threads = 0;
25840 -    int i;
25841 -    GC_thread p;
25842 -    int result;
25843 -    pthread_t my_thread = pthread_self();
25844 -    
25845 -    GC_stopping_thread = my_thread;    /* debugging only.      */
25846 -    GC_stopping_pid = getpid();                /* debugging only.      */
25847 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25848 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25849 -        if (p -> id != my_thread) {
25850 -            if (p -> flags & FINISHED) continue;
25851 -            if (p -> stop_info.last_stop_count == GC_stop_count) continue;
25852 -           if (p -> thread_blocked) /* Will wait */ continue;
25853 -            n_live_threads++;
25854 -           #if DEBUG_THREADS
25855 -             GC_printf1("Sending suspend signal to 0x%lx\n", p -> id);
25856 -           #endif
25857 -        
25858 -        result = pthread_kill(p -> id, SIG_SUSPEND);
25859 -           switch(result) {
25860 -                case ESRCH:
25861 -                    /* Not really there anymore.  Possible? */
25862 -                    n_live_threads--;
25863 -                    break;
25864 -                case 0:
25865 -                    break;
25866 -                default:
25867 -                    ABORT("pthread_kill failed");
25868 -            }
25869 -        }
25870 -      }
25871 -    }
25872 -    return n_live_threads;
25873 -}
25874 -
25875 -/* Caller holds allocation lock.       */
25876 -void GC_stop_world()
25877 -{
25878 -    int i;
25879 -    int n_live_threads;
25880 -    int code;
25881 -
25882 -    #if DEBUG_THREADS
25883 -    GC_printf1("Stopping the world from 0x%lx\n", pthread_self());
25884 -    #endif
25885 -       
25886 -    /* Make sure all free list construction has stopped before we start. */
25887 -    /* No new construction can start, since free list construction is  */
25888 -    /* required to acquire and release the GC lock before it starts,   */
25889 -    /* and we have the lock.                                           */
25890 -#   ifdef PARALLEL_MARK
25891 -      GC_acquire_mark_lock();
25892 -      GC_ASSERT(GC_fl_builder_count == 0);
25893 -      /* We should have previously waited for it to become zero. */
25894 -#   endif /* PARALLEL_MARK */
25895 -    ++GC_stop_count;
25896 -    n_live_threads = GC_suspend_all();
25897 -
25898 -      if (GC_retry_signals) {
25899 -         unsigned long wait_usecs = 0;  /* Total wait since retry.     */
25900 -#        define WAIT_UNIT 3000
25901 -#        define RETRY_INTERVAL 100000
25902 -         for (;;) {
25903 -             int ack_count;
25904 -
25905 -             sem_getvalue(&GC_suspend_ack_sem, &ack_count);
25906 -             if (ack_count == n_live_threads) break;
25907 -             if (wait_usecs > RETRY_INTERVAL) {
25908 -                 int newly_sent = GC_suspend_all();
25909 -
25910 -#                 ifdef CONDPRINT
25911 -                   if (GC_print_stats) {
25912 -                     GC_printf1("Resent %ld signals after timeout\n",
25913 -                                newly_sent);
25914 -                   }
25915 -#                 endif
25916 -                 sem_getvalue(&GC_suspend_ack_sem, &ack_count);
25917 -                 if (newly_sent < n_live_threads - ack_count) {
25918 -                     WARN("Lost some threads during GC_stop_world?!\n",0);
25919 -                     n_live_threads = ack_count + newly_sent;
25920 -                 }
25921 -                 wait_usecs = 0;
25922 -             }
25923 -             usleep(WAIT_UNIT);
25924 -             wait_usecs += WAIT_UNIT;
25925 -         }
25926 -      }
25927 -    for (i = 0; i < n_live_threads; i++) {
25928 -         if (0 != (code = sem_wait(&GC_suspend_ack_sem))) {
25929 -             GC_err_printf1("Sem_wait returned %ld\n", (unsigned long)code);
25930 -             ABORT("sem_wait for handler failed");
25931 -         }
25932 -    }
25933 -#   ifdef PARALLEL_MARK
25934 -      GC_release_mark_lock();
25935 -#   endif
25936 -    #if DEBUG_THREADS
25937 -      GC_printf1("World stopped from 0x%lx\n", pthread_self());
25938 -    #endif
25939 -    GC_stopping_thread = 0;  /* debugging only */
25940 -}
25941 -
25942 -/* Caller holds allocation lock, and has held it continuously since    */
25943 -/* the world stopped.                                                  */
25944 -void GC_start_world()
25945 -{
25946 -    pthread_t my_thread = pthread_self();
25947 -    register int i;
25948 -    register GC_thread p;
25949 -    register int n_live_threads = 0;
25950 -    register int result;
25951 -
25952 -#   if DEBUG_THREADS
25953 -      GC_printf0("World starting\n");
25954 -#   endif
25955 -
25956 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
25957 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
25958 -        if (p -> id != my_thread) {
25959 -            if (p -> flags & FINISHED) continue;
25960 -           if (p -> thread_blocked) continue;
25961 -            n_live_threads++;
25962 -           #if DEBUG_THREADS
25963 -             GC_printf1("Sending restart signal to 0x%lx\n", p -> id);
25964 -           #endif
25965 -        
25966 -        result = pthread_kill(p -> id, SIG_THR_RESTART);
25967 -           switch(result) {
25968 -                case ESRCH:
25969 -                    /* Not really there anymore.  Possible? */
25970 -                    n_live_threads--;
25971 -                    break;
25972 -                case 0:
25973 -                    break;
25974 -                default:
25975 -                    ABORT("pthread_kill failed");
25976 -            }
25977 -        }
25978 -      }
25979 -    }
25980 -    #if DEBUG_THREADS
25981 -      GC_printf0("World started\n");
25982 -    #endif
25983 -}
25984 -
25985 -void GC_stop_init() {
25986 -    struct sigaction act;
25987 -    
25988 -    if (sem_init(&GC_suspend_ack_sem, 0, 0) != 0)
25989 -        ABORT("sem_init failed");
25990 -
25991 -    act.sa_flags = SA_RESTART;
25992 -    if (sigfillset(&act.sa_mask) != 0) {
25993 -       ABORT("sigfillset() failed");
25994 -    }
25995 -#   ifdef NO_SIGNALS
25996 -      if (sigdelset(&act.sa_mask, SIGINT) != 0
25997 -         || sigdelset(&act.sa_mask, SIGQUIT != 0)
25998 -         || sigdelset(&act.sa_mask, SIGABRT != 0)
25999 -         || sigdelset(&act.sa_mask, SIGTERM != 0)) {
26000 -        ABORT("sigdelset() failed");
26001 -      }
26002 -#   endif
26003 -
26004 -    /* SIG_THR_RESTART is unmasked by the handler when necessary.      */
26005 -    act.sa_handler = GC_suspend_handler;
26006 -    if (sigaction(SIG_SUSPEND, &act, NULL) != 0) {
26007 -       ABORT("Cannot set SIG_SUSPEND handler");
26008 -    }
26009 -
26010 -    act.sa_handler = GC_restart_handler;
26011 -    if (sigaction(SIG_THR_RESTART, &act, NULL) != 0) {
26012 -       ABORT("Cannot set SIG_THR_RESTART handler");
26013 -    }
26014 -
26015 -    /* Check for GC_RETRY_SIGNALS.     */
26016 -      if (0 != GETENV("GC_RETRY_SIGNALS")) {
26017 -         GC_retry_signals = TRUE;
26018 -      }
26019 -      if (0 != GETENV("GC_NO_RETRY_SIGNALS")) {
26020 -         GC_retry_signals = FALSE;
26021 -      }
26022 -#     ifdef CONDPRINT
26023 -          if (GC_print_stats && GC_retry_signals) {
26024 -              GC_printf0("Will retry suspend signal if necessary.\n");
26025 -         }
26026 -#     endif
26027 -}
26028 -
26029 -#endif
26030 diff -Nur ../boehm-gc/pthread_support.c boehm-gc/pthread_support.c
26031 --- ../boehm-gc/pthread_support.c       Mon May 26 12:48:52 2003
26032 +++ boehm-gc/pthread_support.c  Wed Dec 31 16:00:00 1969
26033 @@ -1,1568 +0,0 @@
26034 -/* 
26035 - * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
26036 - * Copyright (c) 1996 by Silicon Graphics.  All rights reserved.
26037 - * Copyright (c) 1998 by Fergus Henderson.  All rights reserved.
26038 - * Copyright (c) 2000-2001 by Hewlett-Packard Company.  All rights reserved.
26039 - *
26040 - * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
26041 - * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
26042 - *
26043 - * Permission is hereby granted to use or copy this program
26044 - * for any purpose,  provided the above notices are retained on all copies.
26045 - * Permission to modify the code and to distribute modified code is granted,
26046 - * provided the above notices are retained, and a notice that the code was
26047 - * modified is included with the above copyright notice.
26048 - */
26049 -/*
26050 - * Support code for LinuxThreads, the clone()-based kernel
26051 - * thread package for Linux which is included in libc6.
26052 - *
26053 - * This code relies on implementation details of LinuxThreads,
26054 - * (i.e. properties not guaranteed by the Pthread standard),
26055 - * though this version now does less of that than the other Pthreads
26056 - * support code.
26057 - *
26058 - * Note that there is a lot of code duplication between linux_threads.c
26059 - * and thread support for some of the other Posix platforms; any changes
26060 - * made here may need to be reflected there too.
26061 - */
26062 - /* DG/UX ix86 support <takis@xfree86.org> */
26063 -/*
26064 - * Linux_threads.c now also includes some code to support HPUX and
26065 - * OSF1 (Compaq Tru64 Unix, really).  The OSF1 support is not yet
26066 - * functional.  The OSF1 code is based on Eric Benson's
26067 - * patch, though that was originally against hpux_irix_threads.  The code
26068 - * here is completely untested.  With 0.0000001% probability, it might
26069 - * actually work.
26070 - *
26071 - * Eric also suggested an alternate basis for a lock implementation in
26072 - * his code:
26073 - * + #elif defined(OSF1)
26074 - * +    unsigned long GC_allocate_lock = 0;
26075 - * +    msemaphore GC_allocate_semaphore;
26076 - * + #  define GC_TRY_LOCK() \
26077 - * +    ((msem_lock(&GC_allocate_semaphore, MSEM_IF_NOWAIT) == 0) \
26078 - * +     ? (GC_allocate_lock = 1) \
26079 - * +     : 0)
26080 - * + #  define GC_LOCK_TAKEN GC_allocate_lock
26081 - */
26082 -
26083 -/*#define DEBUG_THREADS 1*/
26084 -/*#define GC_ASSERTIONS*/
26085 -
26086 -# include "private/pthread_support.h"
26087 -
26088 -# if defined(GC_PTHREADS) && !defined(GC_SOLARIS_THREADS) \
26089 -     && !defined(GC_IRIX_THREADS) && !defined(GC_WIN32_THREADS)
26090 -
26091 -# if defined(GC_HPUX_THREADS) && !defined(USE_PTHREAD_SPECIFIC) \
26092 -     && !defined(USE_HPUX_TLS)
26093 -#   define USE_HPUX_TLS
26094 -# endif
26095 -
26096 -# if (defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) || \
26097 -      defined(GC_DARWIN_THREADS)) && !defined(USE_PTHREAD_SPECIFIC)
26098 -#   define USE_PTHREAD_SPECIFIC
26099 -# endif
26100 -
26101 -# if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
26102 -#   define _POSIX4A_DRAFT10_SOURCE 1
26103 -# endif
26104 -
26105 -# if defined(GC_DGUX386_THREADS) && !defined(_USING_POSIX4A_DRAFT10)
26106 -#   define _USING_POSIX4A_DRAFT10 1
26107 -# endif
26108 -
26109 -# ifdef THREAD_LOCAL_ALLOC
26110 -#   if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_HPUX_TLS)
26111 -#     include "private/specific.h"
26112 -#   endif
26113 -#   if defined(USE_PTHREAD_SPECIFIC)
26114 -#     define GC_getspecific pthread_getspecific
26115 -#     define GC_setspecific pthread_setspecific
26116 -#     define GC_key_create pthread_key_create
26117 -      typedef pthread_key_t GC_key_t;
26118 -#   endif
26119 -#   if defined(USE_HPUX_TLS)
26120 -#     define GC_getspecific(x) (x)
26121 -#     define GC_setspecific(key, v) ((key) = (v), 0)
26122 -#     define GC_key_create(key, d) 0
26123 -      typedef void * GC_key_t;
26124 -#   endif
26125 -# endif
26126 -# include <stdlib.h>
26127 -# include <pthread.h>
26128 -# include <sched.h>
26129 -# include <time.h>
26130 -# include <errno.h>
26131 -# include <unistd.h>
26132 -# include <sys/mman.h>
26133 -# include <sys/time.h>
26134 -# include <sys/types.h>
26135 -# include <sys/stat.h>
26136 -# include <fcntl.h>
26137 -
26138 -#if defined(GC_DARWIN_THREADS)
26139 -# include "private/darwin_semaphore.h"
26140 -#else
26141 -# include <semaphore.h>
26142 -#endif /* !GC_DARWIN_THREADS */
26143 -
26144 -#if defined(GC_DARWIN_THREADS)
26145 -# include <sys/sysctl.h>
26146 -#endif /* GC_DARWIN_THREADS */
26147 -
26148 -
26149 -
26150 -#if defined(GC_DGUX386_THREADS)
26151 -# include <sys/dg_sys_info.h>
26152 -# include <sys/_int_psem.h>
26153 -  /* sem_t is an uint in DG/UX */
26154 -  typedef unsigned int  sem_t;
26155 -#endif /* GC_DGUX386_THREADS */
26156 -
26157 -#ifndef __GNUC__
26158 -#   define __inline__
26159 -#endif
26160 -
26161 -#ifdef GC_USE_LD_WRAP
26162 -#   define WRAP_FUNC(f) __wrap_##f
26163 -#   define REAL_FUNC(f) __real_##f
26164 -#else
26165 -#   define WRAP_FUNC(f) GC_##f
26166 -#   if !defined(GC_DGUX386_THREADS)
26167 -#     define REAL_FUNC(f) f
26168 -#   else /* GC_DGUX386_THREADS */
26169 -#     define REAL_FUNC(f) __d10_##f
26170 -#   endif /* GC_DGUX386_THREADS */
26171 -#   undef pthread_create
26172 -#   if !defined(GC_DARWIN_THREADS)
26173 -#   undef pthread_sigmask
26174 -#   endif
26175 -#   undef pthread_join
26176 -#   undef pthread_detach
26177 -#endif
26178 -
26179 -void GC_thr_init();
26180 -
26181 -static GC_bool parallel_initialized = FALSE;
26182 -
26183 -void GC_init_parallel();
26184 -
26185 -# if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26186 -
26187 -/* We don't really support thread-local allocation with DBG_HDRS_ALL */
26188 -
26189 -#ifdef USE_HPUX_TLS
26190 -  __thread
26191 -#endif
26192 -GC_key_t GC_thread_key;
26193 -
26194 -static GC_bool keys_initialized;
26195 -
26196 -/* Recover the contents of the freelist array fl into the global one gfl.*/
26197 -/* Note that the indexing scheme differs, in that gfl has finer size   */
26198 -/* resolution, even if not all entries are used.                       */
26199 -/* We hold the allocator lock.                                         */
26200 -static void return_freelists(ptr_t *fl, ptr_t *gfl)
26201 -{
26202 -    int i;
26203 -    ptr_t q, *qptr;
26204 -    size_t nwords;
26205 -
26206 -    for (i = 1; i < NFREELISTS; ++i) {
26207 -       nwords = i * (GRANULARITY/sizeof(word));
26208 -        qptr = fl + i; 
26209 -       q = *qptr;
26210 -       if ((word)q >= HBLKSIZE) {
26211 -         if (gfl[nwords] == 0) {
26212 -           gfl[nwords] = q;
26213 -         } else {
26214 -           /* Concatenate: */
26215 -           for (; (word)q >= HBLKSIZE; qptr = &(obj_link(q)), q = *qptr);
26216 -           GC_ASSERT(0 == q);
26217 -           *qptr = gfl[nwords];
26218 -           gfl[nwords] = fl[i];
26219 -         }
26220 -       }
26221 -       /* Clear fl[i], since the thread structure may hang around.     */
26222 -       /* Do it in a way that is likely to trap if we access it.       */
26223 -       fl[i] = (ptr_t)HBLKSIZE;
26224 -    }
26225 -}
26226 -
26227 -/* We statically allocate a single "size 0" object. It is linked to    */
26228 -/* itself, and is thus repeatedly reused for all size 0 allocation     */
26229 -/* requests.  (Size 0 gcj allocation requests are incorrect, and       */
26230 -/* we arrange for those to fault asap.)                                        */
26231 -static ptr_t size_zero_object = (ptr_t)(&size_zero_object);
26232 -
26233 -/* Each thread structure must be initialized.  */
26234 -/* This call must be made from the new thread. */
26235 -/* Caller holds allocation lock.               */
26236 -void GC_init_thread_local(GC_thread p)
26237 -{
26238 -    int i;
26239 -
26240 -    if (!keys_initialized) {
26241 -       if (0 != GC_key_create(&GC_thread_key, 0)) {
26242 -           ABORT("Failed to create key for local allocator");
26243 -        }
26244 -       keys_initialized = TRUE;
26245 -    }
26246 -    if (0 != GC_setspecific(GC_thread_key, p)) {
26247 -       ABORT("Failed to set thread specific allocation pointers");
26248 -    }
26249 -    for (i = 1; i < NFREELISTS; ++i) {
26250 -       p -> ptrfree_freelists[i] = (ptr_t)1;
26251 -       p -> normal_freelists[i] = (ptr_t)1;
26252 -#      ifdef GC_GCJ_SUPPORT
26253 -         p -> gcj_freelists[i] = (ptr_t)1;
26254 -#      endif
26255 -    }   
26256 -    /* Set up the size 0 free lists.   */
26257 -    p -> ptrfree_freelists[0] = (ptr_t)(&size_zero_object);
26258 -    p -> normal_freelists[0] = (ptr_t)(&size_zero_object);
26259 -#   ifdef GC_GCJ_SUPPORT
26260 -        p -> gcj_freelists[0] = (ptr_t)(-1);
26261 -#   endif
26262 -}
26263 -
26264 -#ifdef GC_GCJ_SUPPORT
26265 -  extern ptr_t * GC_gcjobjfreelist;
26266 -#endif
26267 -
26268 -/* We hold the allocator lock. */
26269 -void GC_destroy_thread_local(GC_thread p)
26270 -{
26271 -    /* We currently only do this from the thread itself or from        */
26272 -    /* the fork handler for a child process.                   */
26273 -#   ifndef HANDLE_FORK
26274 -      GC_ASSERT(GC_getspecific(GC_thread_key) == (void *)p);
26275 -#   endif
26276 -    return_freelists(p -> ptrfree_freelists, GC_aobjfreelist);
26277 -    return_freelists(p -> normal_freelists, GC_objfreelist);
26278 -#   ifdef GC_GCJ_SUPPORT
26279 -       return_freelists(p -> gcj_freelists, GC_gcjobjfreelist);
26280 -#   endif
26281 -}
26282 -
26283 -extern GC_PTR GC_generic_malloc_many();
26284 -
26285 -GC_PTR GC_local_malloc(size_t bytes)
26286 -{
26287 -    if (EXPECT(!SMALL_ENOUGH(bytes),0)) {
26288 -        return(GC_malloc(bytes));
26289 -    } else {
26290 -       int index = INDEX_FROM_BYTES(bytes);
26291 -       ptr_t * my_fl;
26292 -       ptr_t my_entry;
26293 -#      if defined(REDIRECT_MALLOC) && !defined(USE_PTHREAD_SPECIFIC)
26294 -       GC_key_t k = GC_thread_key;
26295 -#      endif
26296 -       void * tsd;
26297 -
26298 -#      if defined(REDIRECT_MALLOC) && !defined(USE_PTHREAD_SPECIFIC)
26299 -           if (EXPECT(0 == k, 0)) {
26300 -               /* This can happen if we get called when the world is   */
26301 -               /* being initialized.  Whether we can actually complete */
26302 -               /* the initialization then is unclear.                  */
26303 -               GC_init_parallel();
26304 -               k = GC_thread_key;
26305 -           }
26306 -#      endif
26307 -       tsd = GC_getspecific(GC_thread_key);
26308 -#      ifdef GC_ASSERTIONS
26309 -         LOCK();
26310 -         GC_ASSERT(tsd == (void *)GC_lookup_thread(pthread_self()));
26311 -         UNLOCK();
26312 -#      endif
26313 -       my_fl = ((GC_thread)tsd) -> normal_freelists + index;
26314 -       my_entry = *my_fl;
26315 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
26316 -           ptr_t next = obj_link(my_entry);
26317 -           GC_PTR result = (GC_PTR)my_entry;
26318 -           *my_fl = next;
26319 -           obj_link(my_entry) = 0;
26320 -           PREFETCH_FOR_WRITE(next);
26321 -           return result;
26322 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
26323 -           *my_fl = my_entry + index + 1;
26324 -            return GC_malloc(bytes);
26325 -       } else {
26326 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), NORMAL, my_fl);
26327 -           if (*my_fl == 0) return GC_oom_fn(bytes);
26328 -           return GC_local_malloc(bytes);
26329 -       }
26330 -    }
26331 -}
26332 -
26333 -GC_PTR GC_local_malloc_atomic(size_t bytes)
26334 -{
26335 -    if (EXPECT(!SMALL_ENOUGH(bytes), 0)) {
26336 -        return(GC_malloc_atomic(bytes));
26337 -    } else {
26338 -       int index = INDEX_FROM_BYTES(bytes);
26339 -       ptr_t * my_fl = ((GC_thread)GC_getspecific(GC_thread_key))
26340 -                       -> ptrfree_freelists + index;
26341 -       ptr_t my_entry = *my_fl;
26342 -    
26343 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
26344 -           GC_PTR result = (GC_PTR)my_entry;
26345 -           *my_fl = obj_link(my_entry);
26346 -           return result;
26347 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
26348 -           *my_fl = my_entry + index + 1;
26349 -        return GC_malloc_atomic(bytes);
26350 -       } else {
26351 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), PTRFREE, my_fl);
26352 -           /* *my_fl is updated while the collector is excluded;       */
26353 -           /* the free list is always visible to the collector as      */
26354 -           /* such.                                                    */
26355 -           if (*my_fl == 0) return GC_oom_fn(bytes);
26356 -           return GC_local_malloc_atomic(bytes);
26357 -       }
26358 -    }
26359 -}
26360 -
26361 -#ifdef GC_GCJ_SUPPORT
26362 -
26363 -#include "include/gc_gcj.h"
26364 -
26365 -#ifdef GC_ASSERTIONS
26366 -  extern GC_bool GC_gcj_malloc_initialized;
26367 -#endif
26368 -
26369 -extern int GC_gcj_kind;
26370 -
26371 -GC_PTR GC_local_gcj_malloc(size_t bytes,
26372 -                          void * ptr_to_struct_containing_descr)
26373 -{
26374 -    GC_ASSERT(GC_gcj_malloc_initialized);
26375 -    if (EXPECT(!SMALL_ENOUGH(bytes), 0)) {
26376 -        return GC_gcj_malloc(bytes, ptr_to_struct_containing_descr);
26377 -    } else {
26378 -       int index = INDEX_FROM_BYTES(bytes);
26379 -       ptr_t * my_fl = ((GC_thread)GC_getspecific(GC_thread_key))
26380 -                       -> gcj_freelists + index;
26381 -       ptr_t my_entry = *my_fl;
26382 -       if (EXPECT((word)my_entry >= HBLKSIZE, 1)) {
26383 -           GC_PTR result = (GC_PTR)my_entry;
26384 -           GC_ASSERT(!GC_incremental);
26385 -           /* We assert that any concurrent marker will stop us.       */
26386 -           /* Thus it is impossible for a mark procedure to see the    */
26387 -           /* allocation of the next object, but to see this object    */
26388 -           /* still containing a free list pointer.  Otherwise the     */
26389 -           /* marker might find a random "mark descriptor".            */
26390 -           *(volatile ptr_t *)my_fl = obj_link(my_entry);
26391 -           /* We must update the freelist before we store the pointer. */
26392 -           /* Otherwise a GC at this point would see a corrupted       */
26393 -           /* free list.                                               */
26394 -           /* A memory barrier is probably never needed, since the     */
26395 -           /* action of stopping this thread will cause prior writes   */
26396 -           /* to complete.                                             */
26397 -           GC_ASSERT(((void * volatile *)result)[1] == 0); 
26398 -           *(void * volatile *)result = ptr_to_struct_containing_descr; 
26399 -           return result;
26400 -       } else if ((word)my_entry - 1 < DIRECT_GRANULES) {
26401 -           if (!GC_incremental) *my_fl = my_entry + index + 1;
26402 -               /* In the incremental case, we always have to take this */
26403 -               /* path.  Thus we leave the counter alone.              */
26404 -            return GC_gcj_malloc(bytes, ptr_to_struct_containing_descr);
26405 -       } else {
26406 -           GC_generic_malloc_many(BYTES_FROM_INDEX(index), GC_gcj_kind, my_fl);
26407 -           if (*my_fl == 0) return GC_oom_fn(bytes);
26408 -           return GC_local_gcj_malloc(bytes, ptr_to_struct_containing_descr);
26409 -       }
26410 -    }
26411 -}
26412 -
26413 -#endif /* GC_GCJ_SUPPORT */
26414 -
26415 -# else  /* !THREAD_LOCAL_ALLOC  && !DBG_HDRS_ALL */
26416 -
26417 -#   define GC_destroy_thread_local(t)
26418 -
26419 -# endif /* !THREAD_LOCAL_ALLOC */
26420 -
26421 -#if 0
26422 -/*
26423 -To make sure that we're using LinuxThreads and not some other thread
26424 -package, we generate a dummy reference to `pthread_kill_other_threads_np'
26425 -(was `__pthread_initial_thread_bos' but that disappeared),
26426 -which is a symbol defined in LinuxThreads, but (hopefully) not in other
26427 -thread packages.
26428 -
26429 -We no longer do this, since this code is now portable enough that it might
26430 -actually work for something else.
26431 -*/
26432 -void (*dummy_var_to_force_linux_threads)() = pthread_kill_other_threads_np;
26433 -#endif /* 0 */
26434 -
26435 -#if defined(SPARC) || defined(IA64)
26436 -  extern word GC_save_regs_in_stack();
26437 -#endif
26438 -
26439 -long GC_nprocs = 1;    /* Number of processors.  We may not have       */
26440 -                       /* access to all of them, but this is as good   */
26441 -                       /* a guess as any ...                           */
26442 -
26443 -#ifdef PARALLEL_MARK
26444 -
26445 -# ifndef MAX_MARKERS
26446 -#   define MAX_MARKERS 16
26447 -# endif
26448 -
26449 -static ptr_t marker_sp[MAX_MARKERS] = {0};
26450 -
26451 -void * GC_mark_thread(void * id)
26452 -{
26453 -  word my_mark_no = 0;
26454 -
26455 -  marker_sp[(word)id] = GC_approx_sp();
26456 -  for (;; ++my_mark_no) {
26457 -    /* GC_mark_no is passed only to allow GC_help_marker to terminate  */
26458 -    /* promptly.  This is important if it were called from the signal  */
26459 -    /* handler or from the GC lock acquisition code.  Under Linux, it's        */
26460 -    /* not safe to call it from a signal handler, since it uses mutexes        */
26461 -    /* and condition variables.  Since it is called only here, the     */
26462 -    /* argument is unnecessary.                                                */
26463 -    if (my_mark_no < GC_mark_no || my_mark_no > GC_mark_no + 2) {
26464 -       /* resynchronize if we get far off, e.g. because GC_mark_no     */
26465 -       /* wrapped.                                                     */
26466 -       my_mark_no = GC_mark_no;
26467 -    }
26468 -#   ifdef DEBUG_THREADS
26469 -       GC_printf1("Starting mark helper for mark number %ld\n", my_mark_no);
26470 -#   endif
26471 -    GC_help_marker(my_mark_no);
26472 -  }
26473 -}
26474 -
26475 -extern long GC_markers;                /* Number of mark threads we would      */
26476 -                               /* like to have.  Includes the          */
26477 -                               /* initiating thread.                   */
26478 -
26479 -pthread_t GC_mark_threads[MAX_MARKERS];
26480 -
26481 -#define PTHREAD_CREATE REAL_FUNC(pthread_create)
26482 -
26483 -static void start_mark_threads()
26484 -{
26485 -    unsigned i;
26486 -    pthread_attr_t attr;
26487 -
26488 -    if (GC_markers > MAX_MARKERS) {
26489 -       WARN("Limiting number of mark threads\n", 0);
26490 -       GC_markers = MAX_MARKERS;
26491 -    }
26492 -    if (0 != pthread_attr_init(&attr)) ABORT("pthread_attr_init failed");
26493 -       
26494 -    if (0 != pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED))
26495 -       ABORT("pthread_attr_setdetachstate failed");
26496 -
26497 -#   if defined(HPUX) || defined(GC_DGUX386_THREADS)
26498 -      /* Default stack size is usually too small: fix it. */
26499 -      /* Otherwise marker threads or GC may run out of   */
26500 -      /* space.                                                  */
26501 -#     define MIN_STACK_SIZE (8*HBLKSIZE*sizeof(word))
26502 -      {
26503 -       size_t old_size;
26504 -       int code;
26505 -
26506 -        if (pthread_attr_getstacksize(&attr, &old_size) != 0)
26507 -         ABORT("pthread_attr_getstacksize failed\n");
26508 -       if (old_size < MIN_STACK_SIZE) {
26509 -         if (pthread_attr_setstacksize(&attr, MIN_STACK_SIZE) != 0)
26510 -                 ABORT("pthread_attr_setstacksize failed\n");
26511 -       }
26512 -      }
26513 -#   endif /* HPUX || GC_DGUX386_THREADS */
26514 -#   ifdef CONDPRINT
26515 -      if (GC_print_stats) {
26516 -       GC_printf1("Starting %ld marker threads\n", GC_markers - 1);
26517 -      }
26518 -#   endif
26519 -    for (i = 0; i < GC_markers - 1; ++i) {
26520 -      if (0 != PTHREAD_CREATE(GC_mark_threads + i, &attr,
26521 -                             GC_mark_thread, (void *)(word)i)) {
26522 -       WARN("Marker thread creation failed, errno = %ld.\n", errno);
26523 -      }
26524 -    }
26525 -}
26526 -
26527 -#else  /* !PARALLEL_MARK */
26528 -
26529 -static __inline__ void start_mark_threads()
26530 -{
26531 -}
26532 -
26533 -#endif /* !PARALLEL_MARK */
26534 -
26535 -/* Defining INSTALL_LOOPING_SEGV_HANDLER causes SIGSEGV and SIGBUS to  */
26536 -/* result in an infinite loop in a signal handler.  This can be very   */
26537 -/* useful for debugging, since (as of RH7) gdb still seems to have     */
26538 -/* serious problems with threads.                                      */
26539 -#ifdef INSTALL_LOOPING_SEGV_HANDLER
26540 -void GC_looping_handler(int sig)
26541 -{
26542 -    GC_printf3("Signal %ld in thread %lx, pid %ld\n",
26543 -              sig, pthread_self(), getpid());
26544 -    for (;;);
26545 -}
26546 -#endif
26547 -
26548 -GC_bool GC_thr_initialized = FALSE;
26549 -
26550 -volatile GC_thread GC_threads[THREAD_TABLE_SZ];
26551 -
26552 -void GC_push_thread_structures GC_PROTO((void))
26553 -{
26554 -    GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
26555 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26556 -      GC_push_all((ptr_t)(&GC_thread_key),
26557 -         (ptr_t)(&GC_thread_key)+sizeof(&GC_thread_key));
26558 -#   endif
26559 -}
26560 -
26561 -#ifdef THREAD_LOCAL_ALLOC
26562 -/* We must explicitly mark ptrfree and gcj free lists, since the free  */
26563 -/* list links wouldn't otherwise be found.  We also set them in the    */
26564 -/* normal free lists, since that involves touching less memory than if */
26565 -/* we scanned them normally.                                           */
26566 -void GC_mark_thread_local_free_lists(void)
26567 -{
26568 -    int i, j;
26569 -    GC_thread p;
26570 -    ptr_t q;
26571 -    
26572 -    for (i = 0; i < THREAD_TABLE_SZ; ++i) {
26573 -      for (p = GC_threads[i]; 0 != p; p = p -> next) {
26574 -       for (j = 1; j < NFREELISTS; ++j) {
26575 -         q = p -> ptrfree_freelists[j];
26576 -         if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
26577 -         q = p -> normal_freelists[j];
26578 -         if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
26579 -#        ifdef GC_GCJ_SUPPORT
26580 -           q = p -> gcj_freelists[j];
26581 -           if ((word)q > HBLKSIZE) GC_set_fl_marks(q);
26582 -#        endif /* GC_GCJ_SUPPORT */
26583 -       }
26584 -      }
26585 -    }
26586 -}
26587 -#endif /* THREAD_LOCAL_ALLOC */
26588 -
26589 -static struct GC_Thread_Rep first_thread;
26590 -
26591 -/* Add a thread to GC_threads.  We assume it wasn't already there.     */
26592 -/* Caller holds allocation lock.                                       */
26593 -GC_thread GC_new_thread(pthread_t id)
26594 -{
26595 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26596 -    GC_thread result;
26597 -    static GC_bool first_thread_used = FALSE;
26598 -    
26599 -    if (!first_thread_used) {
26600 -       result = &first_thread;
26601 -       first_thread_used = TRUE;
26602 -    } else {
26603 -        result = (struct GC_Thread_Rep *)
26604 -                GC_INTERNAL_MALLOC(sizeof(struct GC_Thread_Rep), NORMAL);
26605 -    }
26606 -    if (result == 0) return(0);
26607 -    result -> id = id;
26608 -    result -> next = GC_threads[hv];
26609 -    GC_threads[hv] = result;
26610 -    GC_ASSERT(result -> flags == 0 && result -> thread_blocked == 0);
26611 -    return(result);
26612 -}
26613 -
26614 -/* Delete a thread from GC_threads.  We assume it is there.    */
26615 -/* (The code intentionally traps if it wasn't.)                        */
26616 -/* Caller holds allocation lock.                               */
26617 -void GC_delete_thread(pthread_t id)
26618 -{
26619 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26620 -    register GC_thread p = GC_threads[hv];
26621 -    register GC_thread prev = 0;
26622 -    
26623 -    while (!pthread_equal(p -> id, id)) {
26624 -        prev = p;
26625 -        p = p -> next;
26626 -    }
26627 -    if (prev == 0) {
26628 -        GC_threads[hv] = p -> next;
26629 -    } else {
26630 -        prev -> next = p -> next;
26631 -    }
26632 -    GC_INTERNAL_FREE(p);
26633 -}
26634 -
26635 -/* If a thread has been joined, but we have not yet            */
26636 -/* been notified, then there may be more than one thread       */
26637 -/* in the table with the same pthread id.                      */
26638 -/* This is OK, but we need a way to delete a specific one.     */
26639 -void GC_delete_gc_thread(pthread_t id, GC_thread gc_id)
26640 -{
26641 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26642 -    register GC_thread p = GC_threads[hv];
26643 -    register GC_thread prev = 0;
26644 -
26645 -    while (p != gc_id) {
26646 -        prev = p;
26647 -        p = p -> next;
26648 -    }
26649 -    if (prev == 0) {
26650 -        GC_threads[hv] = p -> next;
26651 -    } else {
26652 -        prev -> next = p -> next;
26653 -    }
26654 -    GC_INTERNAL_FREE(p);
26655 -}
26656 -
26657 -/* Return a GC_thread corresponding to a given thread_t.       */
26658 -/* Returns 0 if it's not there.                                        */
26659 -/* Caller holds  allocation lock or otherwise inhibits                 */
26660 -/* updates.                                                    */
26661 -/* If there is more than one thread with the given id we       */
26662 -/* return the most recent one.                                 */
26663 -GC_thread GC_lookup_thread(pthread_t id)
26664 -{
26665 -    int hv = ((word)id) % THREAD_TABLE_SZ;
26666 -    register GC_thread p = GC_threads[hv];
26667 -    
26668 -    while (p != 0 && !pthread_equal(p -> id, id)) p = p -> next;
26669 -    return(p);
26670 -}
26671 -
26672 -#ifdef HANDLE_FORK
26673 -/* Remove all entries from the GC_threads table, except the    */
26674 -/* one for the current thread.  We need to do this in the child        */
26675 -/* process after a fork(), since only the current thread       */
26676 -/* survives in the child.                                      */
26677 -void GC_remove_all_threads_but_me(void)
26678 -{
26679 -    pthread_t self = pthread_self();
26680 -    int hv;
26681 -    GC_thread p, next, me;
26682 -
26683 -    for (hv = 0; hv < THREAD_TABLE_SZ; ++hv) {
26684 -      me = 0;
26685 -      for (p = GC_threads[hv]; 0 != p; p = next) {
26686 -       next = p -> next;
26687 -       if (p -> id == self) {
26688 -         me = p;
26689 -         p -> next = 0;
26690 -       } else {
26691 -#        ifdef THREAD_LOCAL_ALLOC
26692 -           if (!(p -> flags & FINISHED)) {
26693 -             GC_destroy_thread_local(p);
26694 -           }
26695 -#        endif /* THREAD_LOCAL_ALLOC */
26696 -         if (p != &first_thread) GC_INTERNAL_FREE(p);
26697 -       }
26698 -      }
26699 -      GC_threads[hv] = me;
26700 -    }
26701 -}
26702 -#endif /* HANDLE_FORK */
26703 -
26704 -#ifdef USE_PROC_FOR_LIBRARIES
26705 -int GC_segment_is_thread_stack(ptr_t lo, ptr_t hi)
26706 -{
26707 -    int i;
26708 -    GC_thread p;
26709 -    
26710 -#   ifdef PARALLEL_MARK
26711 -      for (i = 0; i < GC_markers; ++i) {
26712 -       if (marker_sp[i] > lo & marker_sp[i] < hi) return 1;
26713 -      }
26714 -#   endif
26715 -    for (i = 0; i < THREAD_TABLE_SZ; i++) {
26716 -      for (p = GC_threads[i]; p != 0; p = p -> next) {
26717 -       if (0 != p -> stack_end) {
26718 -#        ifdef STACK_GROWS_UP
26719 -            if (p -> stack_end >= lo && p -> stack_end < hi) return 1;
26720 -#        else /* STACK_GROWS_DOWN */
26721 -            if (p -> stack_end > lo && p -> stack_end <= hi) return 1;
26722 -#        endif
26723 -       }
26724 -      }
26725 -    }
26726 -    return 0;
26727 -}
26728 -#endif /* USE_PROC_FOR_LIBRARIES */
26729 -
26730 -#ifdef GC_LINUX_THREADS
26731 -/* Return the number of processors, or i<= 0 if it can't be determined.        */
26732 -int GC_get_nprocs()
26733 -{
26734 -    /* Should be "return sysconf(_SC_NPROCESSORS_ONLN);" but that      */
26735 -    /* appears to be buggy in many cases.                              */
26736 -    /* We look for lines "cpu<n>" in /proc/stat.                       */
26737 -#   define STAT_BUF_SIZE 4096
26738 -#   define STAT_READ read
26739 -       /* If read is wrapped, this may need to be redefined to call    */
26740 -       /* the real one.                                                */
26741 -    char stat_buf[STAT_BUF_SIZE];
26742 -    int f;
26743 -    word result = 1;
26744 -       /* Some old kernels only have a single "cpu nnnn ..."   */
26745 -       /* entry in /proc/stat.  We identify those as           */
26746 -       /* uniprocessors.                                       */
26747 -    size_t i, len = 0;
26748 -
26749 -    f = open("/proc/stat", O_RDONLY);
26750 -    if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) {
26751 -       WARN("Couldn't read /proc/stat\n", 0);
26752 -       return -1;
26753 -    }
26754 -    for (i = 0; i < len - 100; ++i) {
26755 -        if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c'
26756 -           && stat_buf[i+2] == 'p' && stat_buf[i+3] == 'u') {
26757 -           int cpu_no = atoi(stat_buf + i + 4);
26758 -           if (cpu_no >= result) result = cpu_no + 1;
26759 -       }
26760 -    }
26761 -    close(f);
26762 -    return result;
26763 -}
26764 -#endif /* GC_LINUX_THREADS */
26765 -
26766 -/* We hold the GC lock.  Wait until an in-progress GC has finished.    */
26767 -/* Repeatedly RELEASES GC LOCK in order to wait.                       */
26768 -/* If wait_for_all is true, then we exit with the GC lock held and no  */
26769 -/* collection in progress; otherwise we just wait for the current GC   */
26770 -/* to finish.                                                          */
26771 -extern GC_bool GC_collection_in_progress();
26772 -void GC_wait_for_gc_completion(GC_bool wait_for_all)
26773 -{
26774 -    if (GC_incremental && GC_collection_in_progress()) {
26775 -       int old_gc_no = GC_gc_no;
26776 -
26777 -       /* Make sure that no part of our stack is still on the mark stack, */
26778 -       /* since it's about to be unmapped.                                */
26779 -       while (GC_incremental && GC_collection_in_progress()
26780 -              && (wait_for_all || old_gc_no == GC_gc_no)) {
26781 -           ENTER_GC();
26782 -            GC_collect_a_little_inner(1);
26783 -           EXIT_GC();
26784 -           UNLOCK();
26785 -           sched_yield();
26786 -           LOCK();
26787 -       }
26788 -    }
26789 -}
26790 -
26791 -#ifdef HANDLE_FORK
26792 -/* Procedures called before and after a fork.  The goal here is to make */
26793 -/* it safe to call GC_malloc() in a forked child.  It's unclear that is        */
26794 -/* attainable, since the single UNIX spec seems to imply that one      */
26795 -/* should only call async-signal-safe functions, and we probably can't */
26796 -/* quite guarantee that.  But we give it our best shot.  (That same    */
26797 -/* spec also implies that it's not safe to call the system malloc      */
26798 -/* between fork() and exec().  Thus we're doing no worse than it.      */
26799 -
26800 -/* Called before a fork()              */
26801 -void GC_fork_prepare_proc(void)
26802 -{
26803 -    /* Acquire all relevant locks, so that after releasing the locks   */
26804 -    /* the child will see a consistent state in which monitor          */
26805 -    /* invariants hold.         Unfortunately, we can't acquire libc locks     */
26806 -    /* we might need, and there seems to be no guarantee that libc     */
26807 -    /* must install a suitable fork handler.                           */
26808 -    /* Wait for an ongoing GC to finish, since we can't finish it in   */
26809 -    /* the (one remaining thread in) the child.                                */
26810 -      LOCK();
26811 -#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26812 -        GC_wait_for_reclaim();
26813 -#     endif
26814 -      GC_wait_for_gc_completion(TRUE);
26815 -#     if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26816 -        GC_acquire_mark_lock();
26817 -#     endif
26818 -}
26819 -
26820 -/* Called in parent after a fork()     */
26821 -void GC_fork_parent_proc(void)
26822 -{
26823 -#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26824 -      GC_release_mark_lock();
26825 -#   endif
26826 -    UNLOCK();
26827 -}
26828 -
26829 -/* Called in child after a fork()      */
26830 -void GC_fork_child_proc(void)
26831 -{
26832 -    /* Clean up the thread table, so that just our thread is left. */
26833 -#   if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
26834 -      GC_release_mark_lock();
26835 -#   endif
26836 -    GC_remove_all_threads_but_me();
26837 -#   ifdef PARALLEL_MARK
26838 -      /* Turn off parallel marking in the child, since we are probably         */
26839 -      /* just going to exec, and we would have to restart mark threads.        */
26840 -        GC_markers = 1;
26841 -        GC_parallel = FALSE;
26842 -#   endif /* PARALLEL_MARK */
26843 -    UNLOCK();
26844 -}
26845 -#endif /* HANDLE_FORK */
26846 -
26847 -#if defined(GC_DGUX386_THREADS)
26848 -/* Return the number of processors, or i<= 0 if it can't be determined. */
26849 -int GC_get_nprocs()
26850 -{
26851 -    /* <takis@XFree86.Org> */
26852 -    int numCpus;
26853 -    struct dg_sys_info_pm_info pm_sysinfo;
26854 -    int status =0;
26855 -
26856 -    status = dg_sys_info((long int *) &pm_sysinfo,
26857 -       DG_SYS_INFO_PM_INFO_TYPE, DG_SYS_INFO_PM_CURRENT_VERSION);
26858 -    if (status < 0)
26859 -       /* set -1 for error */
26860 -       numCpus = -1;
26861 -    else
26862 -      /* Active CPUs */
26863 -      numCpus = pm_sysinfo.idle_vp_count;
26864 -
26865 -#  ifdef DEBUG_THREADS
26866 -    GC_printf1("Number of active CPUs in this system: %d\n", numCpus);
26867 -#  endif
26868 -    return(numCpus);
26869 -}
26870 -#endif /* GC_DGUX386_THREADS */
26871 -
26872 -/* We hold the allocation lock.        */
26873 -void GC_thr_init()
26874 -{
26875 -#      ifndef GC_DARWIN_THREADS
26876 -        int dummy;
26877 -#      endif
26878 -    GC_thread t;
26879 -
26880 -    if (GC_thr_initialized) return;
26881 -    GC_thr_initialized = TRUE;
26882 -    
26883 -#   ifdef HANDLE_FORK
26884 -      /* Prepare for a possible fork.  */
26885 -        pthread_atfork(GC_fork_prepare_proc, GC_fork_parent_proc,
26886 -                      GC_fork_child_proc);
26887 -#   endif /* HANDLE_FORK */
26888 -    /* Add the initial thread, so we can stop it.      */
26889 -      t = GC_new_thread(pthread_self());
26890 -#     ifdef GC_DARWIN_THREADS
26891 -         t -> stop_info.mach_thread = mach_thread_self();
26892 -#     else
26893 -         t -> stop_info.stack_ptr = (ptr_t)(&dummy);
26894 -#     endif
26895 -      t -> flags = DETACHED | MAIN_THREAD;
26896 -
26897 -    GC_stop_init();
26898 -
26899 -    /* Set GC_nprocs.  */
26900 -      {
26901 -       char * nprocs_string = GETENV("GC_NPROCS");
26902 -       GC_nprocs = -1;
26903 -       if (nprocs_string != NULL) GC_nprocs = atoi(nprocs_string);
26904 -      }
26905 -      if (GC_nprocs <= 0) {
26906 -#       if defined(GC_HPUX_THREADS)
26907 -         GC_nprocs = pthread_num_processors_np();
26908 -#       endif
26909 -#      if defined(GC_OSF1_THREADS)
26910 -         GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN);
26911 -         if (GC_nprocs <= 0) GC_nprocs = 1;
26912 -#      endif
26913 -#       if defined(GC_FREEBSD_THREADS)
26914 -          GC_nprocs = 1;
26915 -#       endif
26916 -#       if defined(GC_DARWIN_THREADS)
26917 -         int ncpus = 1;
26918 -         size_t len = sizeof(ncpus);
26919 -         sysctl((int[2]) {CTL_HW, HW_NCPU}, 2, &ncpus, &len, NULL, 0);
26920 -         GC_nprocs = ncpus;
26921 -#       endif
26922 -#      if defined(GC_LINUX_THREADS) || defined(GC_DGUX386_THREADS)
26923 -          GC_nprocs = GC_get_nprocs();
26924 -#      endif
26925 -      }
26926 -      if (GC_nprocs <= 0) {
26927 -       WARN("GC_get_nprocs() returned %ld\n", GC_nprocs);
26928 -       GC_nprocs = 2;
26929 -#      ifdef PARALLEL_MARK
26930 -         GC_markers = 1;
26931 -#      endif
26932 -      } else {
26933 -#      ifdef PARALLEL_MARK
26934 -          {
26935 -           char * markers_string = GETENV("GC_MARKERS");
26936 -           if (markers_string != NULL) {
26937 -             GC_markers = atoi(markers_string);
26938 -           } else {
26939 -             GC_markers = GC_nprocs;
26940 -           }
26941 -          }
26942 -#      endif
26943 -      }
26944 -#   ifdef PARALLEL_MARK
26945 -#     ifdef CONDPRINT
26946 -        if (GC_print_stats) {
26947 -          GC_printf2("Number of processors = %ld, "
26948 -                "number of marker threads = %ld\n", GC_nprocs, GC_markers);
26949 -       }
26950 -#     endif
26951 -      if (GC_markers == 1) {
26952 -       GC_parallel = FALSE;
26953 -#      ifdef CONDPRINT
26954 -         if (GC_print_stats) {
26955 -           GC_printf0("Single marker thread, turning off parallel marking\n");
26956 -         }
26957 -#      endif
26958 -      } else {
26959 -       GC_parallel = TRUE;
26960 -       /* Disable true incremental collection, but generational is OK. */
26961 -       GC_time_limit = GC_TIME_UNLIMITED;
26962 -      }
26963 -#   endif
26964 -}
26965 -
26966 -
26967 -/* Perform all initializations, including those that   */
26968 -/* may require allocation.                             */
26969 -/* Called without allocation lock.                     */
26970 -/* Must be called before a second thread is created.   */
26971 -/* Called without allocation lock.                     */
26972 -void GC_init_parallel()
26973 -{
26974 -    if (parallel_initialized) return;
26975 -    parallel_initialized = TRUE;
26976 -
26977 -    /* GC_init() calls us back, so set flag first.     */
26978 -    if (!GC_is_initialized) GC_init();
26979 -    /* If we are using a parallel marker, start the helper threads.  */
26980 -#     ifdef PARALLEL_MARK
26981 -        if (GC_parallel) start_mark_threads();
26982 -#     endif
26983 -    /* Initialize thread local free lists if used.     */
26984 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
26985 -      LOCK();
26986 -      GC_init_thread_local(GC_lookup_thread(pthread_self()));
26987 -      UNLOCK();
26988 -#   endif
26989 -}
26990 -
26991 -
26992 -#if !defined(GC_DARWIN_THREADS)
26993 -int WRAP_FUNC(pthread_sigmask)(int how, const sigset_t *set, sigset_t *oset)
26994 -{
26995 -    sigset_t fudged_set;
26996 -    
26997 -    if (set != NULL && (how == SIG_BLOCK || how == SIG_SETMASK)) {
26998 -        fudged_set = *set;
26999 -        sigdelset(&fudged_set, SIG_SUSPEND);
27000 -        set = &fudged_set;
27001 -    }
27002 -    return(REAL_FUNC(pthread_sigmask)(how, set, oset));
27003 -}
27004 -#endif /* !GC_DARWIN_THREADS */
27005 -
27006 -/* Wrappers for functions that are likely to block for an appreciable  */
27007 -/* length of time.  Must be called in pairs, if at all.                        */
27008 -/* Nothing much beyond the system call itself should be executed       */
27009 -/* between these.                                                      */
27010 -
27011 -void GC_start_blocking(void) {
27012 -#   define SP_SLOP 128
27013 -    GC_thread me;
27014 -    LOCK();
27015 -    me = GC_lookup_thread(pthread_self());
27016 -    GC_ASSERT(!(me -> thread_blocked));
27017 -#   ifdef SPARC
27018 -       me -> stop_info.stack_ptr = (ptr_t)GC_save_regs_in_stack();
27019 -#   else
27020 -#   ifndef GC_DARWIN_THREADS
27021 -       me -> stop_info.stack_ptr = (ptr_t)GC_approx_sp();
27022 -#   endif
27023 -#   endif
27024 -#   ifdef IA64
27025 -       me -> backing_store_ptr = (ptr_t)GC_save_regs_in_stack() + SP_SLOP;
27026 -#   endif
27027 -    /* Add some slop to the stack pointer, since the wrapped call may  */
27028 -    /* end up pushing more callee-save registers.                      */
27029 -#   ifndef GC_DARWIN_THREADS
27030 -#   ifdef STACK_GROWS_UP
27031 -       me -> stop_info.stack_ptr += SP_SLOP;
27032 -#   else
27033 -       me -> stop_info.stack_ptr -= SP_SLOP;
27034 -#   endif
27035 -#   endif
27036 -    me -> thread_blocked = TRUE;
27037 -    UNLOCK();
27038 -}
27039 -
27040 -void GC_end_blocking(void) {
27041 -    GC_thread me;
27042 -    LOCK();   /* This will block if the world is stopped.      */
27043 -    me = GC_lookup_thread(pthread_self());
27044 -    GC_ASSERT(me -> thread_blocked);
27045 -    me -> thread_blocked = FALSE;
27046 -    UNLOCK();
27047 -}
27048 -    
27049 -#if defined(GC_DGUX386_THREADS)
27050 -#define __d10_sleep sleep
27051 -#endif /* GC_DGUX386_THREADS */
27052 -
27053 -/* A wrapper for the standard C sleep function */
27054 -int WRAP_FUNC(sleep) (unsigned int seconds)
27055 -{
27056 -    int result;
27057 -
27058 -    GC_start_blocking();
27059 -    result = REAL_FUNC(sleep)(seconds);
27060 -    GC_end_blocking();
27061 -    return result;
27062 -}
27063 -
27064 -struct start_info {
27065 -    void *(*start_routine)(void *);
27066 -    void *arg;
27067 -    word flags;
27068 -    sem_t registered;          /* 1 ==> in our thread table, but       */
27069 -                               /* parent hasn't yet noticed.           */
27070 -};
27071 -
27072 -/* Called at thread exit.                              */
27073 -/* Never called for main thread.  That's OK, since it  */
27074 -/* results in at most a tiny one-time leak.  And       */
27075 -/* linuxthreads doesn't reclaim the main threads       */
27076 -/* resources or id anyway.                             */
27077 -void GC_thread_exit_proc(void *arg)
27078 -{
27079 -    GC_thread me;
27080 -
27081 -    LOCK();
27082 -    me = GC_lookup_thread(pthread_self());
27083 -    GC_destroy_thread_local(me);
27084 -    if (me -> flags & DETACHED) {
27085 -       GC_delete_thread(pthread_self());
27086 -    } else {
27087 -       me -> flags |= FINISHED;
27088 -    }
27089 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(USE_PTHREAD_SPECIFIC) \
27090 -       && !defined(USE_HPUX_TLS) && !defined(DBG_HDRS_ALL)
27091 -      GC_remove_specific(GC_thread_key);
27092 -#   endif
27093 -    GC_wait_for_gc_completion(FALSE);
27094 -    UNLOCK();
27095 -}
27096 -
27097 -int WRAP_FUNC(pthread_join)(pthread_t thread, void **retval)
27098 -{
27099 -    int result;
27100 -    GC_thread thread_gc_id;
27101 -    
27102 -    LOCK();
27103 -    thread_gc_id = GC_lookup_thread(thread);
27104 -    /* This is guaranteed to be the intended one, since the thread id  */
27105 -    /* cant have been recycled by pthreads.                            */
27106 -    UNLOCK();
27107 -    result = REAL_FUNC(pthread_join)(thread, retval);
27108 -# if defined (GC_FREEBSD_THREADS)
27109 -    /* On FreeBSD, the wrapped pthread_join() sometimes returns (what
27110 -       appears to be) a spurious EINTR which caused the test and real code
27111 -       to gratuitously fail.  Having looked at system pthread library source
27112 -       code, I see how this return code may be generated.  In one path of
27113 -       code, pthread_join() just returns the errno setting of the thread
27114 -       being joined.  This does not match the POSIX specification or the
27115 -       local man pages thus I have taken the liberty to catch this one
27116 -       spurious return value properly conditionalized on GC_FREEBSD_THREADS. */
27117 -    if (result == EINTR) result = 0;
27118 -# endif
27119 -    if (result == 0) {
27120 -        LOCK();
27121 -        /* Here the pthread thread id may have been recycled. */
27122 -        GC_delete_gc_thread(thread, thread_gc_id);
27123 -        UNLOCK();
27124 -    }
27125 -    return result;
27126 -}
27127 -
27128 -int
27129 -WRAP_FUNC(pthread_detach)(pthread_t thread)
27130 -{
27131 -    int result;
27132 -    GC_thread thread_gc_id;
27133 -    
27134 -    LOCK();
27135 -    thread_gc_id = GC_lookup_thread(thread);
27136 -    UNLOCK();
27137 -    result = REAL_FUNC(pthread_detach)(thread);
27138 -    if (result == 0) {
27139 -      LOCK();
27140 -      thread_gc_id -> flags |= DETACHED;
27141 -      /* Here the pthread thread id may have been recycled. */
27142 -      if (thread_gc_id -> flags & FINISHED) {
27143 -        GC_delete_gc_thread(thread, thread_gc_id);
27144 -      }
27145 -      UNLOCK();
27146 -    }
27147 -    return result;
27148 -}
27149 -
27150 -void * GC_start_routine(void * arg)
27151 -{
27152 -    int dummy;
27153 -    struct start_info * si = arg;
27154 -    void * result;
27155 -    GC_thread me;
27156 -    pthread_t my_pthread;
27157 -    void *(*start)(void *);
27158 -    void *start_arg;
27159 -
27160 -    my_pthread = pthread_self();
27161 -#   ifdef DEBUG_THREADS
27162 -        GC_printf1("Starting thread 0x%lx\n", my_pthread);
27163 -        GC_printf1("pid = %ld\n", (long) getpid());
27164 -        GC_printf1("sp = 0x%lx\n", (long) &arg);
27165 -#   endif
27166 -    LOCK();
27167 -    me = GC_new_thread(my_pthread);
27168 -#ifdef GC_DARWIN_THREADS
27169 -    me -> stop_info.mach_thread = mach_thread_self();
27170 -#else
27171 -    me -> stop_info.stack_ptr = 0;
27172 -#endif
27173 -    me -> flags = si -> flags;
27174 -    /* me -> stack_end = GC_linux_stack_base(); -- currently (11/99)   */
27175 -    /* doesn't work because the stack base in /proc/self/stat is the   */
27176 -    /* one for the main thread.  There is a strong argument that that's        */
27177 -    /* a kernel bug, but a pervasive one.                              */
27178 -#   ifdef STACK_GROWS_DOWN
27179 -      me -> stack_end = (ptr_t)(((word)(&dummy) + (GC_page_size - 1))
27180 -                               & ~(GC_page_size - 1));
27181 -#        ifndef GC_DARWIN_THREADS
27182 -        me -> stop_info.stack_ptr = me -> stack_end - 0x10;
27183 -#        endif
27184 -       /* Needs to be plausible, since an asynchronous stack mark      */
27185 -       /* should not crash.                                            */
27186 -#   else
27187 -      me -> stack_end = (ptr_t)((word)(&dummy) & ~(GC_page_size - 1));
27188 -      me -> stop_info.stack_ptr = me -> stack_end + 0x10;
27189 -#   endif
27190 -    /* This is dubious, since we may be more than a page into the stack, */
27191 -    /* and hence skip some of it, though it's not clear that matters.   */
27192 -#   ifdef IA64
27193 -      me -> backing_store_end = (ptr_t)
27194 -                       (GC_save_regs_in_stack() & ~(GC_page_size - 1));
27195 -      /* This is also < 100% convincing.  We should also read this     */
27196 -      /* from /proc, but the hook to do so isn't there yet.            */
27197 -#   endif /* IA64 */
27198 -    UNLOCK();
27199 -    start = si -> start_routine;
27200 -#   ifdef DEBUG_THREADS
27201 -       GC_printf1("start_routine = 0x%lx\n", start);
27202 -#   endif
27203 -    start_arg = si -> arg;
27204 -    sem_post(&(si -> registered));     /* Last action on si.   */
27205 -                                       /* OK to deallocate.    */
27206 -    pthread_cleanup_push(GC_thread_exit_proc, 0);
27207 -#   if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
27208 -       LOCK();
27209 -        GC_init_thread_local(me);
27210 -       UNLOCK();
27211 -#   endif
27212 -    result = (*start)(start_arg);
27213 -#if DEBUG_THREADS
27214 -        GC_printf1("Finishing thread 0x%x\n", pthread_self());
27215 -#endif
27216 -    me -> status = result;
27217 -    me -> flags |= FINISHED;
27218 -    pthread_cleanup_pop(1);
27219 -    /* Cleanup acquires lock, ensuring that we can't exit              */
27220 -    /* while a collection that thinks we're alive is trying to stop     */
27221 -    /* us.                                                             */
27222 -    return(result);
27223 -}
27224 -
27225 -int
27226 -WRAP_FUNC(pthread_create)(pthread_t *new_thread,
27227 -                 const pthread_attr_t *attr,
27228 -                  void *(*start_routine)(void *), void *arg)
27229 -{
27230 -    int result;
27231 -    int detachstate;
27232 -    word my_flags = 0;
27233 -    struct start_info * si; 
27234 -       /* This is otherwise saved only in an area mmapped by the thread */
27235 -       /* library, which isn't visible to the collector.                */
27236
27237 -    /* We resist the temptation to muck with the stack size here,      */
27238 -    /* even if the default is unreasonably small.  That's the client's */
27239 -    /* responsibility.                                                 */
27240 -
27241 -    LOCK();
27242 -    si = (struct start_info *)GC_INTERNAL_MALLOC(sizeof(struct start_info),
27243 -                                                NORMAL);
27244 -    UNLOCK();
27245 -    if (!parallel_initialized) GC_init_parallel();
27246 -    if (0 == si) return(ENOMEM);
27247 -    sem_init(&(si -> registered), 0, 0);
27248 -    si -> start_routine = start_routine;
27249 -    si -> arg = arg;
27250 -    LOCK();
27251 -    if (!GC_thr_initialized) GC_thr_init();
27252 -#   ifdef GC_ASSERTIONS
27253 -      {
27254 -       int stack_size;
27255 -       if (NULL == attr) {
27256 -          pthread_attr_t my_attr;
27257 -          pthread_attr_init(&my_attr);
27258 -          pthread_attr_getstacksize(&my_attr, &stack_size);
27259 -       } else {
27260 -          pthread_attr_getstacksize(attr, &stack_size);
27261 -       }
27262 -       GC_ASSERT(stack_size >= (8*HBLKSIZE*sizeof(word)));
27263 -       /* Our threads may need to do some work for the GC.     */
27264 -       /* Ridiculously small threads won't work, and they      */
27265 -       /* probably wouldn't work anyway.                       */
27266 -      }
27267 -#   endif
27268 -    if (NULL == attr) {
27269 -       detachstate = PTHREAD_CREATE_JOINABLE;
27270 -    } else { 
27271 -        pthread_attr_getdetachstate(attr, &detachstate);
27272 -    }
27273 -    if (PTHREAD_CREATE_DETACHED == detachstate) my_flags |= DETACHED;
27274 -    si -> flags = my_flags;
27275 -    UNLOCK();
27276 -#   ifdef DEBUG_THREADS
27277 -        GC_printf1("About to start new thread from thread 0x%X\n",
27278 -                  pthread_self());
27279 -#   endif
27280 -
27281 -    result = REAL_FUNC(pthread_create)(new_thread, attr, GC_start_routine, si);
27282 -
27283 -#   ifdef DEBUG_THREADS
27284 -        GC_printf1("Started thread 0x%X\n", *new_thread);
27285 -#   endif
27286 -    /* Wait until child has been added to the thread table.            */
27287 -    /* This also ensures that we hold onto si until the child is done  */
27288 -    /* with it.  Thus it doesn't matter whether it is otherwise                */
27289 -    /* visible to the collector.                                       */
27290 -    while (0 != sem_wait(&(si -> registered))) {
27291 -        if (EINTR != errno) ABORT("sem_wait failed");
27292 -    }
27293 -    sem_destroy(&(si -> registered));
27294 -       LOCK();
27295 -       GC_INTERNAL_FREE(si);
27296 -       UNLOCK();
27297 -
27298 -    return(result);
27299 -}
27300 -
27301 -#ifdef GENERIC_COMPARE_AND_SWAP
27302 -  pthread_mutex_t GC_compare_and_swap_lock = PTHREAD_MUTEX_INITIALIZER;
27303 -
27304 -  GC_bool GC_compare_and_exchange(volatile GC_word *addr,
27305 -                                 GC_word old, GC_word new_val)
27306 -  {
27307 -    GC_bool result;
27308 -    pthread_mutex_lock(&GC_compare_and_swap_lock);
27309 -    if (*addr == old) {
27310 -      *addr = new_val;
27311 -      result = TRUE;
27312 -    } else {
27313 -      result = FALSE;
27314 -    }
27315 -    pthread_mutex_unlock(&GC_compare_and_swap_lock);
27316 -    return result;
27317 -  }
27318 -  
27319 -  GC_word GC_atomic_add(volatile GC_word *addr, GC_word how_much)
27320 -  {
27321 -    GC_word old;
27322 -    pthread_mutex_lock(&GC_compare_and_swap_lock);
27323 -    old = *addr;
27324 -    *addr = old + how_much;
27325 -    pthread_mutex_unlock(&GC_compare_and_swap_lock);
27326 -    return old;
27327 -  }
27328 -
27329 -#endif /* GENERIC_COMPARE_AND_SWAP */
27330 -/* Spend a few cycles in a way that can't introduce contention with    */
27331 -/* othre threads.                                                      */
27332 -void GC_pause()
27333 -{
27334 -    int i;
27335 -#      ifndef __GNUC__
27336 -        volatile word dummy = 0;
27337 -#      endif
27338 -
27339 -    for (i = 0; i < 10; ++i) { 
27340 -#     ifdef __GNUC__
27341 -        __asm__ __volatile__ (" " : : : "memory");
27342 -#     else
27343 -       /* Something that's unlikely to be optimized away. */
27344 -       GC_noop(++dummy);
27345 -#     endif
27346 -    }
27347 -}
27348 -    
27349 -#define SPIN_MAX 1024  /* Maximum number of calls to GC_pause before   */
27350 -                       /* give up.                                     */
27351 -
27352 -VOLATILE GC_bool GC_collecting = 0;
27353 -                       /* A hint that we're in the collector and       */
27354 -                        /* holding the allocation lock for an           */
27355 -                        /* extended period.                             */
27356 -
27357 -#if !defined(USE_SPIN_LOCK) || defined(PARALLEL_MARK)
27358 -/* If we don't want to use the below spinlock implementation, either   */
27359 -/* because we don't have a GC_test_and_set implementation, or because  */
27360 -/* we don't want to risk sleeping, we can still try spinning on        */
27361 -/* pthread_mutex_trylock for a while.  This appears to be very         */
27362 -/* beneficial in many cases.                                           */
27363 -/* I suspect that under high contention this is nearly always better   */
27364 -/* than the spin lock.  But it's a bit slower on a uniprocessor.       */
27365 -/* Hence we still default to the spin lock.                            */
27366 -/* This is also used to acquire the mark lock for the parallel         */
27367 -/* marker.                                                             */
27368 -
27369 -/* Here we use a strict exponential backoff scheme.  I don't know      */
27370 -/* whether that's better or worse than the above.  We eventually       */
27371 -/* yield by calling pthread_mutex_lock(); it never makes sense to      */
27372 -/* explicitly sleep.                                                   */
27373 -
27374 -void GC_generic_lock(pthread_mutex_t * lock)
27375 -{
27376 -#ifndef NO_PTHREAD_TRYLOCK
27377 -    unsigned pause_length = 1;
27378 -    unsigned i;
27379 -    
27380 -    if (0 == pthread_mutex_trylock(lock)) return;
27381 -    for (; pause_length <= SPIN_MAX; pause_length <<= 1) {
27382 -       for (i = 0; i < pause_length; ++i) {
27383 -           GC_pause();
27384 -       }
27385 -        switch(pthread_mutex_trylock(lock)) {
27386 -           case 0:
27387 -               return;
27388 -           case EBUSY:
27389 -               break;
27390 -           default:
27391 -               ABORT("Unexpected error from pthread_mutex_trylock");
27392 -        }
27393 -    }
27394 -#endif /* !NO_PTHREAD_TRYLOCK */
27395 -    pthread_mutex_lock(lock);
27396 -}
27397 -
27398 -#endif /* !USE_SPIN_LOCK || PARALLEL_MARK */
27399 -
27400 -#if defined(USE_SPIN_LOCK)
27401 -
27402 -/* Reasonably fast spin locks.  Basically the same implementation */
27403 -/* as STL alloc.h.  This isn't really the right way to do this.   */
27404 -/* but until the POSIX scheduling mess gets straightened out ...  */
27405 -
27406 -volatile unsigned int GC_allocate_lock = 0;
27407 -
27408 -
27409 -void GC_lock()
27410 -{
27411 -#   define low_spin_max 30  /* spin cycles if we suspect uniprocessor */
27412 -#   define high_spin_max SPIN_MAX /* spin cycles for multiprocessor */
27413 -    static unsigned spin_max = low_spin_max;
27414 -    unsigned my_spin_max;
27415 -    static unsigned last_spins = 0;
27416 -    unsigned my_last_spins;
27417 -    int i;
27418 -
27419 -    if (!GC_test_and_set(&GC_allocate_lock)) {
27420 -        return;
27421 -    }
27422 -    my_spin_max = spin_max;
27423 -    my_last_spins = last_spins;
27424 -    for (i = 0; i < my_spin_max; i++) {
27425 -        if (GC_collecting || GC_nprocs == 1) goto yield;
27426 -        if (i < my_last_spins/2 || GC_allocate_lock) {
27427 -            GC_pause();
27428 -            continue;
27429 -        }
27430 -        if (!GC_test_and_set(&GC_allocate_lock)) {
27431 -           /*
27432 -             * got it!
27433 -             * Spinning worked.  Thus we're probably not being scheduled
27434 -             * against the other process with which we were contending.
27435 -             * Thus it makes sense to spin longer the next time.
27436 -            */
27437 -            last_spins = i;
27438 -            spin_max = high_spin_max;
27439 -            return;
27440 -        }
27441 -    }
27442 -    /* We are probably being scheduled against the other process.  Sleep. */
27443 -    spin_max = low_spin_max;
27444 -yield:
27445 -    for (i = 0;; ++i) {
27446 -        if (!GC_test_and_set(&GC_allocate_lock)) {
27447 -            return;
27448 -        }
27449 -#       define SLEEP_THRESHOLD 12
27450 -               /* Under Linux very short sleeps tend to wait until     */
27451 -               /* the current time quantum expires.  On old Linux      */
27452 -               /* kernels nanosleep(<= 2ms) just spins under Linux.    */
27453 -               /* (Under 2.4, this happens only for real-time          */
27454 -               /* processes.)  We want to minimize both behaviors      */
27455 -               /* here.                                                */
27456 -        if (i < SLEEP_THRESHOLD) {
27457 -            sched_yield();
27458 -       } else {
27459 -           struct timespec ts;
27460 -       
27461 -           if (i > 24) i = 24;
27462 -                       /* Don't wait for more than about 15msecs, even */
27463 -                       /* under extreme contention.                    */
27464 -           ts.tv_sec = 0;
27465 -           ts.tv_nsec = 1 << i;
27466 -           nanosleep(&ts, 0);
27467 -       }
27468 -    }
27469 -}
27470 -
27471 -#else  /* !USE_SPINLOCK */
27472 -void GC_lock()
27473 -{
27474 -#ifndef NO_PTHREAD_TRYLOCK
27475 -    if (1 == GC_nprocs || GC_collecting) {
27476 -       pthread_mutex_lock(&GC_allocate_ml);
27477 -    } else {
27478 -        GC_generic_lock(&GC_allocate_ml);
27479 -    }
27480 -#else  /* !NO_PTHREAD_TRYLOCK */
27481 -    pthread_mutex_lock(&GC_allocate_ml);
27482 -#endif /* !NO_PTHREAD_TRYLOCK */
27483 -}
27484 -
27485 -#endif /* !USE_SPINLOCK */
27486 -
27487 -#if defined(PARALLEL_MARK) || defined(THREAD_LOCAL_ALLOC)
27488 -
27489 -#ifdef GC_ASSERTIONS
27490 -  pthread_t GC_mark_lock_holder = NO_THREAD;
27491 -#endif
27492 -
27493 -#if 0
27494 -  /* Ugly workaround for a linux threads bug in the final versions      */
27495 -  /* of glibc2.1.  Pthread_mutex_trylock sets the mutex owner           */
27496 -  /* field even when it fails to acquire the mutex.  This causes        */
27497 -  /* pthread_cond_wait to die.  Remove for glibc2.2.                    */
27498 -  /* According to the man page, we should use                           */
27499 -  /* PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, but that isn't actually   */
27500 -  /* defined.                                                           */
27501 -  static pthread_mutex_t mark_mutex =
27502 -        {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, {0, 0}};
27503 -#else
27504 -  static pthread_mutex_t mark_mutex = PTHREAD_MUTEX_INITIALIZER;
27505 -#endif
27506 -
27507 -static pthread_cond_t builder_cv = PTHREAD_COND_INITIALIZER;
27508 -
27509 -void GC_acquire_mark_lock()
27510 -{
27511 -/*
27512 -    if (pthread_mutex_lock(&mark_mutex) != 0) {
27513 -       ABORT("pthread_mutex_lock failed");
27514 -    }
27515 -*/
27516 -    GC_generic_lock(&mark_mutex);
27517 -#   ifdef GC_ASSERTIONS
27518 -       GC_mark_lock_holder = pthread_self();
27519 -#   endif
27520 -}
27521 -
27522 -void GC_release_mark_lock()
27523 -{
27524 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27525 -#   ifdef GC_ASSERTIONS
27526 -       GC_mark_lock_holder = NO_THREAD;
27527 -#   endif
27528 -    if (pthread_mutex_unlock(&mark_mutex) != 0) {
27529 -       ABORT("pthread_mutex_unlock failed");
27530 -    }
27531 -}
27532 -
27533 -/* Collector must wait for a freelist builders for 2 reasons:          */
27534 -/* 1) Mark bits may still be getting examined without lock.            */
27535 -/* 2) Partial free lists referenced only by locals may not be scanned  */
27536 -/*    correctly, e.g. if they contain "pointer-free" objects, since the        */
27537 -/*    free-list link may be ignored.                                   */
27538 -void GC_wait_builder()
27539 -{
27540 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27541 -#   ifdef GC_ASSERTIONS
27542 -       GC_mark_lock_holder = NO_THREAD;
27543 -#   endif
27544 -    if (pthread_cond_wait(&builder_cv, &mark_mutex) != 0) {
27545 -       ABORT("pthread_cond_wait failed");
27546 -    }
27547 -    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
27548 -#   ifdef GC_ASSERTIONS
27549 -       GC_mark_lock_holder = pthread_self();
27550 -#   endif
27551 -}
27552 -
27553 -void GC_wait_for_reclaim()
27554 -{
27555 -    GC_acquire_mark_lock();
27556 -    while (GC_fl_builder_count > 0) {
27557 -       GC_wait_builder();
27558 -    }
27559 -    GC_release_mark_lock();
27560 -}
27561 -
27562 -void GC_notify_all_builder()
27563 -{
27564 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27565 -    if (pthread_cond_broadcast(&builder_cv) != 0) {
27566 -       ABORT("pthread_cond_broadcast failed");
27567 -    }
27568 -}
27569 -
27570 -#endif /* PARALLEL_MARK || THREAD_LOCAL_ALLOC */
27571 -
27572 -#ifdef PARALLEL_MARK
27573 -
27574 -static pthread_cond_t mark_cv = PTHREAD_COND_INITIALIZER;
27575 -
27576 -void GC_wait_marker()
27577 -{
27578 -    GC_ASSERT(GC_mark_lock_holder == pthread_self());
27579 -#   ifdef GC_ASSERTIONS
27580 -       GC_mark_lock_holder = NO_THREAD;
27581 -#   endif
27582 -    if (pthread_cond_wait(&mark_cv, &mark_mutex) != 0) {
27583 -       ABORT("pthread_cond_wait failed");
27584 -    }
27585 -    GC_ASSERT(GC_mark_lock_holder == NO_THREAD);
27586 -#   ifdef GC_ASSERTIONS
27587 -       GC_mark_lock_holder = pthread_self();
27588 -#   endif
27589 -}
27590 -
27591 -void GC_notify_all_marker()
27592 -{
27593 -    if (pthread_cond_broadcast(&mark_cv) != 0) {
27594 -       ABORT("pthread_cond_broadcast failed");
27595 -    }
27596 -}
27597 -
27598 -#endif /* PARALLEL_MARK */
27599 -
27600 -# endif /* GC_LINUX_THREADS and friends */
27601 -
27602 diff -Nur ../boehm-gc/ptr_chck.c boehm-gc/ptr_chck.c
27603 --- ../boehm-gc/ptr_chck.c      Mon May 26 12:48:52 2003
27604 +++ boehm-gc/ptr_chck.c Fri Aug 17 11:30:46 2001
27605 @@ -79,7 +79,7 @@
27606         return(p);
27607      }
27608      sz = WORDS_TO_BYTES(hhdr -> hb_sz);
27609 -    if (sz > MAXOBJBYTES) {
27610 +    if (sz > WORDS_TO_BYTES(MAXOBJSZ)) {
27611        base = (ptr_t)HBLKPTR(p);
27612        limit = base + sz;
27613        if ((ptr_t)p >= limit) {
27614 @@ -165,7 +165,7 @@
27615      pdispl = HBLKDISPL(p);
27616      map_entry = MAP_ENTRY((hhdr -> hb_map), pdispl);
27617      if (map_entry == OBJ_INVALID
27618 -       || sz > MAXOBJBYTES && (ptr_t)p >= (ptr_t)h + sz) {
27619 +       || sz > MAXOBJSZ && (ptr_t)p >= (ptr_t)h + sz) {
27620         goto fail;
27621      }
27622      return(p);
27623 diff -Nur ../boehm-gc/reclaim.c boehm-gc/reclaim.c
27624 --- ../boehm-gc/reclaim.c       Mon May 26 12:48:52 2003
27625 +++ boehm-gc/reclaim.c  Fri Mar 29 14:52:12 2002
27626 @@ -27,61 +27,23 @@
27627         /* nonzero.                                                     */
27628  #endif /* PARALLEL_MARK */
27629  
27630 -/* We defer printing of leaked objects until we're done with the GC    */
27631 -/* cycle, since the routine for printing objects needs to run outside  */
27632 -/* the collector, e.g. without the allocation lock.                    */
27633 -#define MAX_LEAKED 40
27634 -ptr_t GC_leaked[MAX_LEAKED];
27635 -unsigned GC_n_leaked = 0;
27636 -
27637 -GC_bool GC_have_errors = FALSE;
27638 -
27639 -void GC_add_leaked(leaked)
27640 -ptr_t leaked;
27641 -{
27642 -    if (GC_n_leaked < MAX_LEAKED) {
27643 -      GC_have_errors = TRUE;
27644 -      GC_leaked[GC_n_leaked++] = leaked;
27645 -      /* Make sure it's not reclaimed this cycle */
27646 -        GC_set_mark_bit(leaked);
27647 -    }
27648 -}
27649 -
27650 -static GC_bool printing_errors = FALSE;
27651 -/* Print all objects on the list after printing any smashed objs.      */
27652 -/* Clear both lists.                                                   */
27653 -void GC_print_all_errors ()
27654 +static void report_leak(p, sz)
27655 +ptr_t p;
27656 +word sz;
27657  {
27658 -    unsigned i;
27659 -
27660 -    LOCK();
27661 -    if (printing_errors) {
27662 -       UNLOCK();
27663 -       return;
27664 -    }
27665 -    printing_errors = TRUE;
27666 -    UNLOCK();
27667 -    if (GC_debugging_started) GC_print_all_smashed();
27668 -    for (i = 0; i < GC_n_leaked; ++i) {
27669 -       ptr_t p = GC_leaked[i];
27670 -       if (HDR(p) -> hb_obj_kind == PTRFREE) {
27671 -           GC_err_printf0("Leaked atomic object at ");
27672 -       } else {
27673 -           GC_err_printf0("Leaked composite object at ");
27674 -       }
27675 -       GC_print_heap_obj(p);
27676 -       GC_err_printf0("\n");
27677 -       GC_free(p);
27678 -       GC_leaked[i] = 0;
27679 +    if (HDR(p) -> hb_obj_kind == PTRFREE) {
27680 +        GC_err_printf0("Leaked atomic object at ");
27681 +    } else {
27682 +        GC_err_printf0("Leaked composite object at ");
27683      }
27684 -    GC_n_leaked = 0;
27685 -    printing_errors = FALSE;
27686 +    GC_print_heap_obj(p);
27687 +    GC_err_printf0("\n");
27688  }
27689  
27690 -
27691  #   define FOUND_FREE(hblk, word_no) \
27692        { \
27693 -         GC_add_leaked((ptr_t)hblk + WORDS_TO_BYTES(word_no)); \
27694 +         report_leak((ptr_t)hblk + WORDS_TO_BYTES(word_no), \
27695 +                    HDR(hblk) -> hb_sz); \
27696        }
27697  
27698  /*
27699 @@ -904,7 +866,7 @@
27700   * Clear *flp.
27701   * This must be done before dropping a list of free gcj-style objects,
27702   * since may otherwise end up with dangling "descriptor" pointers.
27703 - * It may help for other pointer-containing objects.
27704 + * It may help for other pointer-containg objects.
27705   */
27706  void GC_clear_fl_links(flp)
27707  ptr_t *flp;
27708 diff -Nur ../boehm-gc/solaris_pthreads.c boehm-gc/solaris_pthreads.c
27709 --- ../boehm-gc/solaris_pthreads.c      Mon May 26 12:48:52 2003
27710 +++ boehm-gc/solaris_pthreads.c Mon Feb 11 20:37:53 2002
27711 @@ -13,8 +13,9 @@
27712  /*
27713   * Support code for Solaris threads.  Provides functionality we wish Sun
27714   * had provided.  Relies on some information we probably shouldn't rely on.
27715 - * Modified by Peter C. for Solaris Posix Threads.
27716 + * Modified Peter C. for Solaris Posix Threads.
27717   */
27718 +/* Boehm, September 14, 1994 4:44 pm PDT */
27719  
27720  # if defined(GC_SOLARIS_PTHREADS)
27721  # include "private/gc_priv.h"
27722 diff -Nur ../boehm-gc/solaris_threads.c boehm-gc/solaris_threads.c
27723 --- ../boehm-gc/solaris_threads.c       Mon May 26 12:48:52 2003
27724 +++ boehm-gc/solaris_threads.c  Mon Feb 11 20:37:53 2002
27725 @@ -37,10 +37,6 @@
27726  # include <unistd.h>
27727  # include <errno.h>
27728  
27729 -#ifdef HANDLE_FORK
27730 -  --> Not yet supported.  Try porting the code from linux_threads.c.
27731 -#endif
27732 -
27733  /*
27734   * This is the default size of the LWP arrays. If there are more LWPs
27735   * than this when a stop-the-world GC happens, set_max_lwps will be
27736 @@ -365,7 +361,7 @@
27737                        sizeof (prgregset_t)) != 0) {
27738                     int j;
27739  
27740 -                   for(j = 0; j < NPRGREG; j++)
27741 +                   for(j = 0; j < NGREG; j++)
27742                     {
27743                             GC_printf3("%i: %x -> %x\n", j,
27744                                        GC_lwp_registers[i][j],
27745 @@ -825,7 +821,7 @@
27746      if (result == 0) {
27747         t = GC_lookup_thread(target_thread);
27748         if (t == 0) ABORT("thread unknown to GC");
27749 -        t -> flags |= SUSPNDED;
27750 +        t -> flags |= SUSPENDED;
27751      }
27752      UNLOCK();
27753      return(result);
27754 @@ -841,7 +837,7 @@
27755      if (result == 0) {
27756         t = GC_lookup_thread(target_thread);
27757         if (t == 0) ABORT("thread unknown to GC");
27758 -        t -> flags &= ~SUSPNDED;
27759 +        t -> flags &= ~SUSPENDED;
27760      }
27761      UNLOCK();
27762      return(result);
27763 @@ -927,7 +923,7 @@
27764         my_flags |= CLIENT_OWNS_STACK;
27765      }
27766      if (flags & THR_DETACHED) my_flags |= DETACHED;
27767 -    if (flags & THR_SUSPENDED) my_flags |= SUSPNDED;
27768 +    if (flags & THR_SUSPENDED) my_flags |= SUSPENDED;
27769      result = thr_create(stack, stack_size, start_routine,
27770                         arg, flags & ~THR_DETACHED, &my_new_thread);
27771      if (result == 0) {
27772 diff -Nur ../boehm-gc/sparc_mach_dep.S boehm-gc/sparc_mach_dep.S
27773 --- ../boehm-gc/sparc_mach_dep.S        Mon May 26 12:48:52 2003
27774 +++ boehm-gc/sparc_mach_dep.S   Thu Feb 14 16:09:29 2002
27775 @@ -37,7 +37,7 @@
27776         stx %g0,[%o3]           ! *(long *)p = 0
27777         cmp %o3,%o1
27778         bgu,pt %xcc, loop       ! if (p > limit) goto loop
27779 -          add %o3,-8,%o3       ! p -= 8 (delay slot)
27780 +        add %o3,-8,%o3         ! p -= 8 (delay slot)
27781         retl
27782           mov %o2,%sp           ! Restore sp., delay slot       
27783  #else  /* 32 bit SPARC */
27784 diff -Nur ../boehm-gc/tests/CVS/Entries boehm-gc/tests/CVS/Entries
27785 --- ../boehm-gc/tests/CVS/Entries       Sun May 25 12:49:10 2003
27786 +++ boehm-gc/tests/CVS/Entries  Wed Dec 31 16:00:00 1969
27787 @@ -1,6 +0,0 @@
27788 -/leak_test.c/1.2/Fri Sep 14 00:43:59 2001//
27789 -/test.c/1.4/Thu Mar 14 07:28:34 2002//
27790 -/test_cpp.cc/1.2/Fri Sep 14 00:43:59 2001//
27791 -/thread_leak_test.c/1.2/Fri Sep 14 00:43:59 2001//
27792 -/trace_test.c/1.2/Fri Sep 14 00:43:59 2001//
27793 -D
27794 diff -Nur ../boehm-gc/tests/CVS/Repository boehm-gc/tests/CVS/Repository
27795 --- ../boehm-gc/tests/CVS/Repository    Sun May 25 12:49:10 2003
27796 +++ boehm-gc/tests/CVS/Repository       Wed Dec 31 16:00:00 1969
27797 @@ -1 +0,0 @@
27798 -/cvs/root/gcc3/gcc3/boehm-gc/tests
27799 diff -Nur ../boehm-gc/tests/CVS/Root boehm-gc/tests/CVS/Root
27800 --- ../boehm-gc/tests/CVS/Root  Sun May 25 12:49:10 2003
27801 +++ boehm-gc/tests/CVS/Root     Wed Dec 31 16:00:00 1969
27802 @@ -1 +0,0 @@
27803 -:pserver:anonymous@anoncvs.opensource.apple.com:/cvs/root
27804 diff -Nur ../boehm-gc/threadlibs.c boehm-gc/threadlibs.c
27805 --- ../boehm-gc/threadlibs.c    Mon May 26 12:48:52 2003
27806 +++ boehm-gc/threadlibs.c       Mon Feb 11 20:37:53 2002
27807 @@ -4,14 +4,13 @@
27808  int main()
27809  {
27810  #   if defined(GC_USE_LD_WRAP)
27811 -       printf("-Wl,--wrap -Wl,dlopen "
27812 +       printf("-Wl,--wrap -Wl,read -Wl,--wrap -Wl,dlopen "
27813                "-Wl,--wrap -Wl,pthread_create -Wl,--wrap -Wl,pthread_join "
27814                "-Wl,--wrap -Wl,pthread_detach "
27815                "-Wl,--wrap -Wl,pthread_sigmask -Wl,--wrap -Wl,sleep\n");
27816  #   endif
27817  #   if defined(GC_LINUX_THREADS) || defined(GC_IRIX_THREADS) \
27818 -       || defined(GC_FREEBSD_THREADS) || defined(GC_SOLARIS_PTHREADS) \
27819 -       || defined(GC_MACOSX_THREADS)
27820 +       || defined(GC_FREEBSD_THREADS) || defined(GC_SOLARIS_PTHREADS)
27821          printf("-lpthread\n");
27822  #   endif
27823  #   if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS)
27824 @@ -19,17 +18,6 @@
27825  #   endif
27826  #   if defined(GC_SOLARIS_THREADS) && !defined(GC_SOLARIS_PTHREADS)
27827          printf("-lthread -ldl\n");
27828 -#   endif
27829 -#   if defined(GC_WIN32_THREADS) && defined(CYGWIN32)
27830 -        printf("-lpthread\n");
27831 -#   endif
27832 -#   if defined(GC_OSF1_THREADS)
27833 -       printf("-lpthread -lrt");
27834 -#   endif
27835 -    /* You need GCC 3.0.3 to build this one!           */  
27836 -    /* DG/UX native gcc doesnt know what "-pthread" is */
27837 -#   if defined(GC_DGUX386_THREADS)
27838 -        printf("-ldl -pthread\n");
27839  #   endif
27840      return 0;
27841  }
27842 diff -Nur ../boehm-gc/typd_mlc.c boehm-gc/typd_mlc.c
27843 --- ../boehm-gc/typd_mlc.c      Mon May 26 12:48:52 2003
27844 +++ boehm-gc/typd_mlc.c Fri Aug 17 11:30:46 2001
27845 @@ -437,7 +437,6 @@
27846      for (; bm != 0; bm >>= 1, current_p++) {
27847         if (bm & 1) {
27848             current = *current_p;
27849 -           FIXUP_POINTER(current);
27850             if ((ptr_t)current >= least_ha && (ptr_t)current <= greatest_ha) {
27851                 PUSH_CONTENTS((ptr_t)current, mark_stack_ptr,
27852                               mark_stack_limit, current_p, exit1);
27853 @@ -675,9 +674,9 @@
27854          if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
27855              FASTUNLOCK();
27856              op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind);
27857 -           if (0 == op) return 0;
27858 +           if (0 == op) return(0);
27859  #          ifdef MERGE_SIZES
27860 -               lw = GC_size_map[lb];   /* May have been uninitialized. */
27861 +               lw = GC_size_map[lb];   /* May have been uninitialized. */            
27862  #          endif
27863          } else {
27864              *opp = obj_link(op);
27865 @@ -721,7 +720,7 @@
27866              FASTUNLOCK();
27867              op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_explicit_kind);
27868  #          ifdef MERGE_SIZES
27869 -               lw = GC_size_map[lb];   /* May have been uninitialized. */
27870 +               lw = GC_size_map[lb];   /* May have been uninitialized. */            
27871  #          endif
27872          } else {
27873              *opp = obj_link(op);
27874 diff -Nur ../boehm-gc/version.h boehm-gc/version.h
27875 --- ../boehm-gc/version.h       Mon May 26 12:48:52 2003
27876 +++ boehm-gc/version.h  Mon Feb 11 20:37:53 2002
27877 @@ -1,25 +1,8 @@
27878 -/* The version here should match that in configure/configure.in        */
27879 -/* Eventually this one may become unnecessary.  For now we need        */
27880 -/* it to keep the old-style build process working.             */
27881 -#define GC_TMP_VERSION_MAJOR 6
27882 -#define GC_TMP_VERSION_MINOR 2
27883 -#define GC_TMP_ALPHA_VERSION 5
27884 +#define GC_VERSION_MAJOR 6
27885 +#define GC_VERSION_MINOR 1
27886 +#define GC_ALPHA_VERSION 3
27887  
27888 -#if defined(GC_VERSION_MAJOR)
27889 -# if GC_TMP_VERSION_MAJOR != GC_VERSION_MAJOR || \
27890 -     GC_TMP_VERSION_MINOR != GC_VERSION_MINOR || \
27891 -     GC_TMP_ALPHA_VERSION != GC_ALPHA_VERSION
27892 -#   error Inconsistent version info.  Check version.h and configure.in.
27893 -# endif
27894 -#else
27895 -# define GC_VERSION_MAJOR GC_TMP_VERSION_MAJOR
27896 -# define GC_VERSION_MINOR GC_TMP_VERSION_MINOR
27897 -# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
27898 -#endif
27899 -
27900 -#ifndef GC_NOT_ALPHA
27901  #   define GC_NOT_ALPHA 0xff
27902 -#endif
27903  
27904  #ifndef GC_NO_VERSION_VAR
27905  
27906 diff -Nur ../boehm-gc/win32_threads.c boehm-gc/win32_threads.c
27907 --- ../boehm-gc/win32_threads.c Mon May 26 12:48:52 2003
27908 +++ boehm-gc/win32_threads.c    Mon Apr 28 13:55:07 2003
27909 @@ -1,27 +1,13 @@
27910 -#if defined(GC_WIN32_THREADS) 
27911 +#if defined(GC_WIN32_THREADS)
27912  
27913  #include "private/gc_priv.h"
27914  
27915 -#ifdef CYGWIN32
27916 -# include <errno.h>
27917 -
27918 - /* Cygwin-specific forward decls */
27919 -# undef pthread_create 
27920 -# undef pthread_sigmask 
27921 -# undef pthread_join 
27922 -# undef dlopen 
27923 -
27924 -# define DEBUG_CYGWIN_THREADS 0
27925 -
27926 -  GC_bool GC_thr_initialized = FALSE;
27927 -  void * GC_start_routine(void * arg);
27928 -  void GC_thread_exit_proc(void *arg);
27929 -
27930 +#if 0
27931 +#define STRICT
27932 +#include <windows.h>
27933  #endif
27934  
27935 -#ifndef MAX_THREADS
27936 -# define MAX_THREADS 64
27937 -#endif
27938 +#define MAX_THREADS 64
27939  
27940  struct thread_entry {
27941    LONG in_use;
27942 @@ -32,12 +18,6 @@
27943                         /* !in_use ==> stack == 0       */
27944    CONTEXT context;
27945    GC_bool suspended;
27946 -
27947 -# ifdef CYGWIN32
27948 -    void *status; /* hold exit value until join in case it's a pointer */
27949 -    pthread_t pthread_id;
27950 -# endif
27951 -
27952  };
27953  
27954  volatile GC_bool GC_please_stop = FALSE;
27955 @@ -49,12 +29,6 @@
27956      /* Unlike the other threads implementations, the thread table here */
27957      /* contains no pointers to the collectable heap.  Thus we have     */
27958      /* no private structures we need to preserve.                      */
27959 -# ifdef CYGWIN32
27960 -  { int i; /* pthreads may keep a pointer in the thread exit value */
27961 -    for (i = 0; i < MAX_THREADS; i++)
27962 -      if (thread_table[i].in_use) GC_push_all((ptr_t)&(thread_table[i].status),(ptr_t)(&(thread_table[i].status)+1));
27963 -  }
27964 -# endif
27965  }
27966  
27967  void GC_stop_world()
27968 @@ -62,10 +36,6 @@
27969    DWORD thread_id = GetCurrentThreadId();
27970    int i;
27971  
27972 -#ifdef CYGWIN32
27973 -  if (!GC_thr_initialized) ABORT("GC_stop_world() called before GC_thr_init()");
27974 -#endif
27975 -
27976    GC_please_stop = TRUE;
27977    for (i = 0; i < MAX_THREADS; i++)
27978      if (thread_table[i].stack != 0
27979 @@ -83,15 +53,11 @@
27980         DWORD exitCode; 
27981         if (GetExitCodeThread(thread_table[i].handle,&exitCode) &&
27982              exitCode != STILL_ACTIVE) {
27983 -          thread_table[i].stack = 0; /* prevent stack from being pushed */
27984 -#         ifndef CYGWIN32
27985 -            /* this breaks pthread_join on Cygwin, which is guaranteed to  */
27986 -           /* only see user pthreads                                      */
27987 +            thread_table[i].stack = 0;
27988             thread_table[i].in_use = FALSE;
27989             CloseHandle(thread_table[i].handle);
27990             BZERO((void *)(&thread_table[i].context), sizeof(CONTEXT));
27991 -#         endif
27992 -         continue;
27993 +           continue;
27994         }
27995         if (SuspendThread(thread_table[i].handle) == (DWORD)-1)
27996           ABORT("SuspendThread failed");
27997 @@ -369,11 +335,9 @@
27998      if (*lo < start) *lo = start;
27999  }
28000  
28001 -#if !defined(MSWINCE) && defined(GC_DLL)
28002 -
28003 -/* We register threads from DllMain */
28004 +#if !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))
28005  
28006 -GC_API HANDLE GC_CreateThread(
28007 +HANDLE WINAPI GC_CreateThread(
28008      LPSECURITY_ATTRIBUTES lpThreadAttributes, 
28009      DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, 
28010      LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId )
28011 @@ -382,10 +346,7 @@
28012                          lpParameter, dwCreationFlags, lpThreadId);
28013  }
28014  
28015 -#else /* defined(MSWINCE) || !defined(GC_DLL))  */
28016 -
28017 -/* We have no DllMain to take care of new threads.  Thus we    */
28018 -/* must properly intercept thread creation.                    */
28019 +#else /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL)) */
28020  
28021  typedef struct {
28022      HANDLE child_ready_h, parent_ready_h;
28023 @@ -509,7 +470,7 @@
28024  
28025      return ret;
28026  }
28027 -#endif /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))  */
28028 +#endif /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL)) */
28029  
28030  #ifdef MSWINCE
28031  
28032 @@ -566,256 +527,13 @@
28033  
28034  LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info);
28035  
28036 -/* threadAttach/threadDetach routines used by both CYGWIN and DLL
28037 - * implementation, since both recieve explicit notification on thread
28038 - * creation/destruction.
28039 - */
28040 -static void threadAttach() {
28041 -  int i;
28042 -  /* It appears to be unsafe to acquire a lock here, since this        */
28043 -  /* code is apparently not preeemptible on some systems.      */
28044 -  /* (This is based on complaints, not on Microsoft's official */
28045 -  /* documentation, which says this should perform "only simple        */
28046 -  /* inititalization tasks".)                                  */
28047 -  /* Hence we make do with nonblocking synchronization.                */
28048 -
28049 -  /* The following should be a noop according to the win32     */
28050 -  /* documentation.  There is empirical evidence that it       */
28051 -  /* isn't.            - HB                                    */
28052 -# if defined(MPROTECT_VDB)
28053 -   if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
28054 -# endif
28055 -                /* cast away volatile qualifier */
28056 -  for (i = 0; InterlockedExchange((LONG*)&thread_table[i].in_use,1) != 0; i++) {
28057 -    /* Compare-and-swap would make this cleaner, but that's not        */
28058 -    /* supported before Windows 98 and NT 4.0.  In Windows 2000,       */
28059 -    /* InterlockedExchange is supposed to be replaced by               */
28060 -    /* InterlockedExchangePointer, but that's not really what I        */
28061 -    /* want here.                                                      */
28062 -    if (i == MAX_THREADS - 1)
28063 -      ABORT("too many threads");
28064 -  }
28065 -  thread_table[i].id = GetCurrentThreadId();
28066 -# ifdef CYGWIN32
28067 -    thread_table[i].pthread_id = pthread_self();
28068 -# endif
28069 -  if (!DuplicateHandle(GetCurrentProcess(),
28070 -                      GetCurrentThread(),
28071 -                      GetCurrentProcess(),
28072 -                      (HANDLE*)&thread_table[i].handle,
28073 -                      0,
28074 -                      0,
28075 -                      DUPLICATE_SAME_ACCESS)) {
28076 -       DWORD last_error = GetLastError();
28077 -       GC_printf1("Last error code: %lx\n", last_error);
28078 -       ABORT("DuplicateHandle failed");
28079 -  }
28080 -  thread_table[i].stack = GC_get_stack_base();
28081 -  if (thread_table[i].stack == NULL) 
28082 -    ABORT("Failed to find stack base in threadAttach");
28083 -  /* If this thread is being created while we are trying to stop       */
28084 -  /* the world, wait here.  Hopefully this can't happen on any */
28085 -  /* systems that don't allow us to block here.                        */
28086 -  while (GC_please_stop) Sleep(20);
28087 -}
28088 -
28089 -static void threadDetach(DWORD thread_id) {
28090 -  int i;
28091 -
28092 -  LOCK();
28093 -  for (i = 0;
28094 -       i < MAX_THREADS &&
28095 -       !thread_table[i].in_use || thread_table[i].id != thread_id;
28096 -       i++) {}
28097 -  if (i >= MAX_THREADS ) {
28098 -    WARN("thread %ld not found on detach", (GC_word)thread_id);
28099 -  }
28100 -  else {
28101 -    thread_table[i].stack = 0;
28102 -    thread_table[i].in_use = FALSE;
28103 -    CloseHandle(thread_table[i].handle);
28104 -      /* cast away volatile qualifier */
28105 -    BZERO((void *)&thread_table[i].context, sizeof(CONTEXT));
28106 -  }
28107 -  UNLOCK();
28108 -}
28109 -
28110 -#ifdef CYGWIN32
28111 -
28112 -/* Called by GC_init() - we hold the allocation lock.  */
28113 -void GC_thr_init() {
28114 -    if (GC_thr_initialized) return;
28115 -    GC_thr_initialized = TRUE;
28116 -
28117 -#if 0
28118 -    /* this might already be handled in GC_init... */
28119 -    InitializeCriticalSection(&GC_allocate_ml);
28120 -#endif
28121 -
28122 -    /* Add the initial thread, so we can stop it.      */
28123 -    threadAttach();
28124 -}
28125 -
28126 -struct start_info {
28127 -    void *(*start_routine)(void *);
28128 -    void *arg;
28129 -};
28130 -
28131 -int GC_pthread_join(pthread_t pthread_id, void **retval) {
28132 -    int result;
28133 -    int i;
28134 -
28135 -#   if DEBUG_CYGWIN_THREADS
28136 -      GC_printf3("thread 0x%x(0x%x) is joining thread 0x%x.\n",(int)pthread_self(),
28137 -                GetCurrentThreadId(), (int)pthread_id);
28138 -#   endif
28139 -
28140 -    /* Can't do any table lookups here, because thread being joined 
28141 -       might not have registered itself yet */
28142 -
28143 -    result = pthread_join(pthread_id, retval);
28144 -
28145 -    LOCK();
28146 -    for (i = 0; !thread_table[i].in_use || thread_table[i].pthread_id != pthread_id;
28147 -         i++) {
28148 -      if (i == MAX_THREADS - 1) {
28149 -        GC_printf1("Failed to find thread 0x%x in pthread_join()\n", pthread_id);
28150 -        ABORT("thread not found on detach");
28151 -      }
28152 -    }
28153 -    UNLOCK();
28154 -    threadDetach(thread_table[i].id);
28155 -
28156 -#   if DEBUG_CYGWIN_THREADS
28157 -      GC_printf3("thread 0x%x(0x%x) completed join with thread 0x%x.\n",
28158 -                (int)pthread_self(), GetCurrentThreadId(), (int)pthread_id);
28159 -#   endif
28160 -
28161 -    return result;
28162 -}
28163 -
28164 -/* Cygwin-pthreads calls CreateThread internally, but it's not
28165 - * easily interceptible by us..
28166 - *   so intercept pthread_create instead
28167 - */
28168 -int
28169 -GC_pthread_create(pthread_t *new_thread,
28170 -                 const pthread_attr_t *attr,
28171 -                  void *(*start_routine)(void *), void *arg) {
28172 -    int result;
28173 -    struct start_info * si;
28174 -
28175 -    if (!GC_is_initialized) GC_init();
28176 -               /* make sure GC is initialized (i.e. main thread is attached) */
28177 -    
28178 -    /* This is otherwise saved only in an area mmapped by the thread */
28179 -    /* library, which isn't visible to the collector.           */
28180 -    si = GC_malloc_uncollectable(sizeof(struct start_info)); 
28181 -    if (0 == si) return(EAGAIN);
28182 -
28183 -    si -> start_routine = start_routine;
28184 -    si -> arg = arg;
28185 -
28186 -#   if DEBUG_CYGWIN_THREADS
28187 -      GC_printf2("About to create a thread from 0x%x(0x%x)\n",(int)pthread_self(),
28188 -                                                             GetCurrentThreadId);
28189 -#   endif
28190 -    result = pthread_create(new_thread, attr, GC_start_routine, si); 
28191 -
28192 -    if (result) { /* failure */
28193 -       GC_free(si);
28194 -    } 
28195 -
28196 -    return(result);
28197 -}
28198 -
28199 -void * GC_start_routine(void * arg)
28200 -{
28201 -    struct start_info * si = arg;
28202 -    void * result;
28203 -    void *(*start)(void *);
28204 -    void *start_arg;
28205 -    pthread_t pthread_id;
28206 -    int i;
28207 -
28208 -#   if DEBUG_CYGWIN_THREADS
28209 -      GC_printf2("thread 0x%x(0x%x) starting...\n",(int)pthread_self(),
28210 -                                                  GetCurrentThreadId());
28211 -#   endif
28212 -
28213 -    /* If a GC occurs before the thread is registered, that GC will    */
28214 -    /* ignore this thread.  That's fine, since it will block trying to  */
28215 -    /* acquire the allocation lock, and won't yet hold interesting     */
28216 -    /* pointers.                                                       */
28217 -    LOCK();
28218 -    /* We register the thread here instead of in the parent, so that   */
28219 -    /* we don't need to hold the allocation lock during pthread_create. */
28220 -    threadAttach();
28221 -    UNLOCK();
28222 -
28223 -    start = si -> start_routine;
28224 -    start_arg = si -> arg;
28225 -    pthread_id = pthread_self();
28226 -
28227 -    GC_free(si); /* was allocated uncollectable */
28228 -
28229 -    pthread_cleanup_push(GC_thread_exit_proc, pthread_id);
28230 -    result = (*start)(start_arg);
28231 -    pthread_cleanup_pop(0);
28232 -
28233 -#   if DEBUG_CYGWIN_THREADS
28234 -      GC_printf2("thread 0x%x(0x%x) returned from start routine.\n",
28235 -                (int)pthread_self(),GetCurrentThreadId());
28236 -#   endif
28237 -
28238 -    LOCK();
28239 -    for (i = 0; thread_table[i].pthread_id != pthread_id; i++) {
28240 -      if (i == MAX_THREADS - 1)
28241 -        ABORT("thread not found on exit");
28242 -    }
28243 -    thread_table[i].status = result;
28244 -    UNLOCK();
28245 -
28246 -    return(result);
28247 -}
28248 -
28249 -void GC_thread_exit_proc(void *arg)
28250 -{
28251 -    pthread_t pthread_id = (pthread_t)arg;
28252 -    int i;
28253 -
28254 -#   if DEBUG_CYGWIN_THREADS
28255 -      GC_printf2("thread 0x%x(0x%x) called pthread_exit().\n",
28256 -                (int)pthread_self(),GetCurrentThreadId());
28257 -#   endif
28258 -
28259 -    LOCK();
28260 -    for (i = 0; thread_table[i].pthread_id != pthread_id; i++) {
28261 -      if (i == MAX_THREADS - 1)
28262 -        ABORT("thread not found on exit");
28263 -    }
28264 -    UNLOCK();
28265 -
28266 -#if 0
28267 -    /* TODO: we need a way to get the exit value after a pthread_exit so we can stash it safely away */
28268 -    thread_table[i].status = ???
28269 -#endif
28270 -}
28271 -
28272 -/* nothing required here... */
28273 -int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset) {
28274 -  return pthread_sigmask(how, set, oset);
28275 -}
28276 -int GC_pthread_detach(pthread_t thread) {
28277 -  return pthread_detach(thread);
28278 -}
28279 -#else /* !CYGWIN32 */
28280 +#ifdef GC_DLL
28281  
28282  /*
28283 - * We avoid acquiring locks here, since this doesn't seem to be preemptable.
28284 + * This isn't generally safe, since DllMain is not premptible.
28285 + * If another thread holds the lock while this runs we're in trouble.
28286   * Pontus Rydin suggests wrapping the thread start routine instead.
28287   */
28288 -#ifdef GC_DLL
28289  BOOL WINAPI DllMain(HINSTANCE inst, ULONG reason, LPVOID reserved)
28290  {
28291    switch (reason) {
28292 @@ -824,13 +542,75 @@
28293      GC_init(); /* Force initialization before thread attach.   */
28294      /* fall through */
28295    case DLL_THREAD_ATTACH:
28296 -    threadAttach();
28297 -    break;
28298 +    {
28299 +      int i;
28300 +      /* It appears to be unsafe to acquire a lock here, since this    */
28301 +      /* code is apparently not preeemptible on some systems.          */
28302 +      /* (This is based on complaints, not on Microsoft's official     */
28303 +      /* documentation, which says this should perform "only simple    */
28304 +      /* inititalization tasks".)                                      */
28305 +      /* Hence we make do with nonblocking synchronization.            */
28306 +
28307 +      /* The following should be a noop according to the win32 */
28308 +      /* documentation.  There is empirical evidence that it   */
28309 +      /* isn't.                - HB                                    */
28310 +#     ifdef MPROTECT_VDB
28311 +       if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
28312 +#     endif
28313  
28314 +      for (i = 0;
28315 +                              /* cast away volatile qualifier */
28316 +          InterlockedExchange((LPLONG) &thread_table[i].in_use, 1) != 0;
28317 +          i++) {
28318 +       /* Compare-and-swap would make this cleaner, but that's not     */
28319 +       /* supported before Windows 98 and NT 4.0.  In Windows 2000,    */
28320 +       /* InterlockedExchange is supposed to be replaced by            */
28321 +       /* InterlockedExchangePointer, but that's not really what I     */
28322 +       /* want here.                                                   */
28323 +       if (i == MAX_THREADS - 1)
28324 +         ABORT("too many threads");
28325 +      }
28326 +      thread_table[i].id = GetCurrentThreadId();
28327 +      if (!DuplicateHandle(GetCurrentProcess(),
28328 +                          GetCurrentThread(),
28329 +                          GetCurrentProcess(),
28330 +                          /* cast away volatile qualifier */
28331 +                          (HANDLE *) &thread_table[i].handle,
28332 +                          0,
28333 +                          0,
28334 +                          DUPLICATE_SAME_ACCESS)) {
28335 +       DWORD last_error = GetLastError();
28336 +       GC_printf1("Last error code: %lx\n", last_error);
28337 +       ABORT("DuplicateHandle failed");
28338 +      }
28339 +      thread_table[i].stack = GC_get_stack_base();
28340 +      /* If this thread is being created while we are trying to stop   */
28341 +      /* the world, wait here.  Hopefully this can't happen on any     */
28342 +      /* systems that don't allow us to block here.                    */
28343 +      while (GC_please_stop) Sleep(20);
28344 +    }
28345 +    break;
28346    case DLL_THREAD_DETACH:
28347 -    threadDetach(GetCurrentThreadId());
28348 +    {
28349 +      int i;
28350 +      DWORD thread_id = GetCurrentThreadId();
28351 +      LOCK();
28352 +      for (i = 0;
28353 +           i < MAX_THREADS &&
28354 +          (thread_table[i].stack == 0 || thread_table[i].id != thread_id);
28355 +          i++) {}
28356 +      if (i >= MAX_THREADS) {
28357 +         WARN("thread %ld not found on detach", (GC_word)thread_id);
28358 +      } else {
28359 +          thread_table[i].stack = 0;
28360 +          thread_table[i].in_use = FALSE;
28361 +          CloseHandle(thread_table[i].handle);
28362 +           /* cast away volatile qualifier */
28363 +          BZERO((void *) &thread_table[i].context, sizeof(CONTEXT));
28364 +      }
28365 +      UNLOCK();
28366 +    }
28367      break;
28368 -
28369    case DLL_PROCESS_DETACH:
28370      {
28371        int i;
28372 @@ -856,8 +636,8 @@
28373    }
28374    return TRUE;
28375  }
28376 -#endif /* GC_DLL */
28377 -#endif /* !CYGWIN32 */
28378 +
28379 +#   endif /* GC_DLL */
28380  
28381  # endif /* !MSWINCE */
28382