Initial revision
[openwrt.git] / toolchain / gcc / 3.3.4 / 100-uclibc-conf.patch
1 diff -urN gcc-3.3.3-dist/boehm-gc/config.sub gcc-3.3.3/boehm-gc/config.sub
2 --- gcc-3.3.3-dist/boehm-gc/config.sub  2002-02-11 22:37:53.000000000 -0600
3 +++ gcc-3.3.3/boehm-gc/config.sub       2004-08-12 04:47:51.000000000 -0500
4 @@ -118,7 +118,7 @@
5  # Here we must recognize all the valid KERNEL-OS combinations.
6  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
7  case $maybe_os in
8 -  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
9 +  nto-qnx* | linux-gnu* | linux-uclibc* | storm-chaos* | os2-emx* | windows32-*)
10      os=-$maybe_os
11      basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12      ;;
13 @@ -1089,7 +1089,8 @@
14               | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
15               | -chorusos* | -chorusrdb* \
16               | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
17 -             | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
18 +             | -mingw32* | -linux-gnu* | -linux-uclibc* \
19 +             | -uxpv* | -beos* | -mpeix* | -udk* \
20               | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
21               | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
22               | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
23 diff -urN gcc-3.3.3-dist/boehm-gc/configure gcc-3.3.3/boehm-gc/configure
24 --- gcc-3.3.3-dist/boehm-gc/configure   2004-02-14 14:34:20.000000000 -0600
25 +++ gcc-3.3.3/boehm-gc/configure        2004-08-12 04:47:51.000000000 -0500
26 @@ -1940,6 +1940,11 @@
27    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
28    ;;
29  
30 +linux-uclibc*)
31 +  lt_cv_deplibs_check_method=pass_all
32 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
33 +  ;;
34 +
35  netbsd*)
36    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
37      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
38 diff -urN gcc-3.3.3-dist/config.sub gcc-3.3.3/config.sub
39 --- gcc-3.3.3-dist/config.sub   2003-01-30 17:25:36.000000000 -0600
40 +++ gcc-3.3.3/config.sub        2004-08-12 04:47:51.000000000 -0500
41 @@ -118,7 +118,7 @@
42  # Here we must recognize all the valid KERNEL-OS combinations.
43  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
44  case $maybe_os in
45 -  nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
46 +  nto-qnx* | linux-gnu* | linux-uclibc* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
47      os=-$maybe_os
48      basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
49      ;;
50 @@ -1112,7 +1112,8 @@
51               | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
52               | -chorusos* | -chorusrdb* \
53               | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
54 -             | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
55 +             | -mingw32* | -linux-gnu* | -linux-uclibc* \
56 +             | -uxpv* | -beos* | -mpeix* | -udk* \
57               | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
58               | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
59               | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
60 diff -urN gcc-3.3.3-dist/gcc/config/arm/linux-elf.h gcc-3.3.3/gcc/config/arm/linux-elf.h
61 --- gcc-3.3.3-dist/gcc/config/arm/linux-elf.h   2003-09-16 10:39:23.000000000 -0500
62 +++ gcc-3.3.3/gcc/config/arm/linux-elf.h        2004-08-12 04:47:51.000000000 -0500
63 @@ -78,6 +78,18 @@
64    "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
65  
66  #undef  LINK_SPEC
67 +#ifdef USE_UCLIBC
68 +#define LINK_SPEC "%{h*} %{version:-v} \
69 +   %{b} %{Wl,*:%*} \
70 +   %{static:-Bstatic} \
71 +   %{shared:-shared} \
72 +   %{symbolic:-Bsymbolic} \
73 +   %{rdynamic:-export-dynamic} \
74 +   %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
75 +   -X \
76 +   %{mbig-endian:-EB}" \
77 +   SUBTARGET_EXTRA_LINK_SPEC
78 +#else
79  #define LINK_SPEC "%{h*} %{version:-v} \
80     %{b} %{Wl,*:%*} \
81     %{static:-Bstatic} \
82 @@ -88,6 +100,7 @@
83     -X \
84     %{mbig-endian:-EB}" \
85     SUBTARGET_EXTRA_LINK_SPEC
86 +#endif
87  
88  #define TARGET_OS_CPP_BUILTINS()               \
89      do {                                       \
90 diff -urN gcc-3.3.3-dist/gcc/config/cris/linux.h gcc-3.3.3/gcc/config/cris/linux.h
91 --- gcc-3.3.3-dist/gcc/config/cris/linux.h      2003-03-10 21:01:35.000000000 -0600
92 +++ gcc-3.3.3/gcc/config/cris/linux.h   2004-08-12 04:47:51.000000000 -0500
93 @@ -81,6 +81,25 @@
94  #undef CRIS_DEFAULT_CPU_VERSION
95  #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
96  
97 +#ifdef USE_UCLIBC
98 +
99 +#undef CRIS_SUBTARGET_VERSION
100 +#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
101 +
102 +#undef CRIS_LINK_SUBTARGET_SPEC
103 +#define CRIS_LINK_SUBTARGET_SPEC \
104 + "-mcrislinux\
105 +  -rpath-link include/asm/../..%s\
106 +  %{shared} %{static}\
107 +  %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
108 +  %{!shared: \
109 +    %{!static: \
110 +      %{rdynamic:-export-dynamic} \
111 +      %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
112 +  %{!r:%{O2|O3: --gc-sections}}"
113 +
114 +#else  /* USE_UCLIBC */
115 +
116  #undef CRIS_SUBTARGET_VERSION
117  #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
118  
119 @@ -95,6 +114,8 @@
120    %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
121    %{!r:%{O2|O3: --gc-sections}}"
122  
123 +#endif  /* USE_UCLIBC */
124 +
125  
126  /* Node: Run-time Target */
127  
128 diff -urN gcc-3.3.3-dist/gcc/config/cris/t-linux-uclibc gcc-3.3.3/gcc/config/cris/t-linux-uclibc
129 --- gcc-3.3.3-dist/gcc/config/cris/t-linux-uclibc       1969-12-31 18:00:00.000000000 -0600
130 +++ gcc-3.3.3/gcc/config/cris/t-linux-uclibc    2004-08-12 04:47:51.000000000 -0500
131 @@ -0,0 +1,3 @@
132 +T_CFLAGS = -DUSE_UCLIBC
133 +TARGET_LIBGCC2_CFLAGS += -fPIC
134 +CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
135 diff -urN gcc-3.3.3-dist/gcc/config/i386/linux.h gcc-3.3.3/gcc/config/i386/linux.h
136 --- gcc-3.3.3-dist/gcc/config/i386/linux.h      2003-11-14 00:46:12.000000000 -0600
137 +++ gcc-3.3.3/gcc/config/i386/linux.h   2004-08-12 04:47:51.000000000 -0500
138 @@ -136,6 +136,15 @@
139         %{static:-static}}}"
140  #endif
141  #else
142 +#if defined USE_UCLIBC
143 +#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
144 +  %{!shared: \
145 +    %{!ibcs: \
146 +      %{!static: \
147 +       %{rdynamic:-export-dynamic} \
148 +       %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
149 +       %{static:-static}}}"
150 +#else
151  #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
152    %{!shared: \
153      %{!ibcs: \
154 @@ -144,6 +153,7 @@
155         %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
156         %{static:-static}}}"
157  #endif
158 +#endif
159  
160  /* A C statement (sans semicolon) to output to the stdio stream
161     FILE the assembler definition of uninitialized global DECL named
162 diff -urN gcc-3.3.3-dist/gcc/config/mips/linux.h gcc-3.3.3/gcc/config/mips/linux.h
163 --- gcc-3.3.3-dist/gcc/config/mips/linux.h      2003-12-23 02:58:00.000000000 -0600
164 +++ gcc-3.3.3/gcc/config/mips/linux.h   2004-08-12 04:47:51.000000000 -0500
165 @@ -175,6 +175,17 @@
166  
167  /* Borrowed from sparc/linux.h */
168  #undef LINK_SPEC
169 +#ifdef USE_UCLIBC
170 +#define LINK_SPEC \
171 + "%(endian_spec) \
172 +  %{shared:-shared} \
173 +  %{!shared: \
174 +    %{!ibcs: \
175 +      %{!static: \
176 +        %{rdynamic:-export-dynamic} \
177 +        %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
178 +        %{static:-static}}}"
179 +#else
180  #define LINK_SPEC \
181   "%(endian_spec) \
182    %{shared:-shared} \
183 @@ -184,6 +195,7 @@
184          %{rdynamic:-export-dynamic} \
185          %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
186          %{static:-static}}}"
187 +#endif
188  
189  #undef SUBTARGET_ASM_SPEC
190  #define SUBTARGET_ASM_SPEC "\
191 diff -urN gcc-3.3.3-dist/gcc/config/sh/linux.h gcc-3.3.3/gcc/config/sh/linux.h
192 --- gcc-3.3.3-dist/gcc/config/sh/linux.h        2003-11-06 17:13:33.000000000 -0600
193 +++ gcc-3.3.3/gcc/config/sh/linux.h     2004-08-12 04:47:51.000000000 -0500
194 @@ -44,12 +44,21 @@
195  #undef SUBTARGET_LINK_EMUL_SUFFIX
196  #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
197  #undef SUBTARGET_LINK_SPEC
198 +#ifdef USE_UCLIBC
199 +#define SUBTARGET_LINK_SPEC \
200 +  "%{shared:-shared} \
201 +   %{!static: \
202 +     %{rdynamic:-export-dynamic} \
203 +     %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
204 +   %{static:-static}"
205 +#else
206  #define SUBTARGET_LINK_SPEC \
207    "%{shared:-shared} \
208     %{!static: \
209       %{rdynamic:-export-dynamic} \
210       %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
211     %{static:-static}"
212 +#endif
213  
214  /* The GNU C++ standard library requires that these macros be defined.  */
215  #undef CPLUSPLUS_CPP_SPEC
216 diff -urN gcc-3.3.3-dist/gcc/config/sh/t-linux-uclibc gcc-3.3.3/gcc/config/sh/t-linux-uclibc
217 --- gcc-3.3.3-dist/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
218 +++ gcc-3.3.3/gcc/config/sh/t-linux-uclibc      2004-08-12 04:47:51.000000000 -0500
219 @@ -0,0 +1,16 @@
220 +T_CFLAGS = -DUSE_UCLIBC
221 +
222 +# Don't run fixproto
223 +STMP_FIXPROTO =
224 +
225 +TARGET_LIBGCC2_CFLAGS = -fpic
226 +LIB1ASMFUNCS_CACHE = _ic_invalidate
227 +
228 +LIB2FUNCS_EXTRA=
229 +
230 +MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
231 +MULTILIB_DIRNAMES= 
232 +MULTILIB_MATCHES = 
233 +MULTILIB_EXCEPTIONS=
234 +
235 +EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o
236 diff -urN gcc-3.3.3-dist/gcc/config/sh/t-sh64-uclibc gcc-3.3.3/gcc/config/sh/t-sh64-uclibc
237 --- gcc-3.3.3-dist/gcc/config/sh/t-sh64-uclibc  1969-12-31 18:00:00.000000000 -0600
238 +++ gcc-3.3.3/gcc/config/sh/t-sh64-uclibc       2004-08-12 04:47:51.000000000 -0500
239 @@ -0,0 +1,13 @@
240 +EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o
241 +
242 +LIB1ASMFUNCS = \
243 +  _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
244 +  _shcompact_call_trampoline _shcompact_return_trampoline \
245 +  _shcompact_incoming_args _ic_invalidate _nested_trampoline \
246 +  _push_pop_shmedia_regs \
247 +  _udivdi3 _divdi3 _umoddi3 _moddi3
248 +
249 +MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
250 +MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
251 +MULTILIB_MATCHES=
252 +MULTILIB_EXCEPTIONS=
253 diff -urN gcc-3.3.3-dist/gcc/config/t-linux-uclibc gcc-3.3.3/gcc/config/t-linux-uclibc
254 --- gcc-3.3.3-dist/gcc/config/t-linux-uclibc    1969-12-31 18:00:00.000000000 -0600
255 +++ gcc-3.3.3/gcc/config/t-linux-uclibc 2004-08-12 04:47:51.000000000 -0500
256 @@ -0,0 +1,23 @@
257 +T_CFLAGS = -DUSE_UCLIBC
258 +
259 +# Don't run fixproto
260 +STMP_FIXPROTO =
261 +
262 +# Compile crtbeginS.o and crtendS.o with pic.
263 +CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
264 +# Compile libgcc2.a with pic.
265 +TARGET_LIBGCC2_CFLAGS = -fPIC
266 +
267 +# Override t-slibgcc-elf-ver to export some libgcc symbols with
268 +# the symbol versions that glibc used.
269 +SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
270 +
271 +# Use unwind-dw2-fde-glibc
272 +#LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
273 +#  $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
274 +#LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
275 +
276 +# Use unwind-dw2-fde
277 +LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
278 +  $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
279 +LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
280 diff -urN gcc-3.3.3-dist/gcc/config.gcc gcc-3.3.3/gcc/config.gcc
281 --- gcc-3.3.3-dist/gcc/config.gcc       2004-01-21 00:06:00.000000000 -0600
282 +++ gcc-3.3.3/gcc/config.gcc    2004-08-12 04:47:51.000000000 -0500
283 @@ -697,6 +697,17 @@
284         extra_parts=""
285         use_collect2=yes
286         ;;
287 +arm*-*-linux-uclibc*)          # ARM GNU/Linux with ELF - uClibc
288 +       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h"
289 +       tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
290 +       extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
291 +       gnu_ld=yes
292 +       case x${enable_threads} in
293 +       x | xyes | xpthreads | xposix)
294 +               thread_file='posix'
295 +               ;;
296 +       esac
297 +       ;;
298  arm*-*-linux*)                 # ARM GNU/Linux with ELF
299         tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h"
300         tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
301 @@ -772,6 +783,10 @@
302         tmake_file="cris/t-cris cris/t-elfmulti"
303         gas=yes
304         ;;
305 +cris-*-linux-uclibc*)
306 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
307 +       tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
308 +       ;;
309  cris-*-linux*)
310         tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
311         tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
312 @@ -1173,6 +1188,11 @@
313                 thread_file='single'
314         fi
315         ;;
316 +i[34567]86-*-linux*uclibc*)    # Intel 80386's running GNU/Linux
317 +                               # with ELF format using uClibc
318 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
319 +       tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff"
320 +       ;;
321  i[34567]86-*-linux*)   # Intel 80386's running GNU/Linux
322                         # with ELF format using glibc 2
323                         # aka GNU/Linux C library 6
324 @@ -1883,6 +1903,16 @@
325         tm_file="elfos.h ${tm_file} mips/netbsd.h"
326         tmake_file="${tmake_file} mips/t-netbsd"
327         ;;
328 +mips*-*-linux-uclibc*)                 # Linux MIPS, either endian. uClibc
329 +        tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
330 +       case $machine in
331 +        mipsisa32*-*)
332 +                target_cpu_default="MASK_SOFT_FLOAT"
333 +               tm_defines="MIPS_ISA_DEFAULT=32"
334 +                ;;
335 +        esac
336 +       tmake_file="t-slibgcc-elf-ver t-linux-uclibc mips/t-linux"
337 +       ;;
338  mips*-*-linux*)                                # Linux MIPS, either endian.
339          tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
340         case $machine in
341 @@ -2129,6 +2159,11 @@
342         out_file=rs6000/rs6000.c
343         tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
344         ;;
345 +powerpc-*-linux-uclibc*)
346 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
347 +       out_file=rs6000/rs6000.c
348 +       tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
349 +       ;;
350  powerpc-*-linux*)
351         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
352         out_file=rs6000/rs6000.c
353 @@ -2313,10 +2348,18 @@
354                 tmake_file="${tmake_file} sh/t-le"
355                 ;;
356         esac
357 -       tmake_file="${tmake_file} sh/t-linux"
358 +       case $machine in
359 +       *-*-linux-uclibc*) tmake_file="${tmake_file} sh/t-linux-uclibc" ;;
360 +       *) tmake_file="${tmake_file} sh/t-linux" ;;
361 +       esac
362         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
363         gas=yes gnu_ld=yes
364         case $machine in
365 +       sh64*-*-linux-uclibc*)
366 +               tmake_file="${tmake_file} sh/t-sh64-uclibc"
367 +               tm_file="${tm_file} sh/sh64.h"
368 +               extra_headers="shmedia.h ushmedia.h sshmedia.h"
369 +               ;;
370         sh64*)
371                 tmake_file="${tmake_file} sh/t-sh64"
372                 tm_file="${tm_file} sh/sh64.h"
373 diff -urN gcc-3.3.3-dist/libstdc++-v3/aclocal.m4 gcc-3.3.3/libstdc++-v3/aclocal.m4
374 --- gcc-3.3.3-dist/libstdc++-v3/aclocal.m4      2004-01-12 10:18:44.000000000 -0600
375 +++ gcc-3.3.3/libstdc++-v3/aclocal.m4   2004-08-12 04:47:51.000000000 -0500
376 @@ -1216,6 +1216,9 @@
377    dnl Default to "generic"
378    if test x$enable_clocale_flag = xno; then
379      case x${target_os} in
380 +      xlinux-uclibc*)
381 +       enable_clocale_flag=uclibc
382 +       ;;
383        xlinux* | xgnu*)
384         AC_EGREP_CPP([_GLIBCPP_ok], [
385          #include <features.h>
386 @@ -1339,6 +1342,41 @@
387        CTIME_CC=config/locale/generic/time_members.cc
388        CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
389        ;;
390 +    xuclibc)
391 +      AC_MSG_RESULT(uclibc)
392 +
393 +      # Declare intention to use gettext, and add support for specific
394 +      # languages.
395 +      # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
396 +      ALL_LINGUAS="de fr"
397 +
398 +      # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
399 +      AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
400 +      if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
401 +       USE_NLS=yes
402 +      fi
403 +      # Export the build objects.
404 +      for ling in $ALL_LINGUAS; do \
405 +        glibcpp_MOFILES="$glibcpp_MOFILES $ling.mo"; \
406 +        glibcpp_POFILES="$glibcpp_POFILES $ling.po"; \
407 +      done
408 +      AC_SUBST(glibcpp_MOFILES)
409 +      AC_SUBST(glibcpp_POFILES)
410 +
411 +      CLOCALE_H=config/locale/uclibc/c_locale.h
412 +      CLOCALE_CC=config/locale/uclibc/c_locale.cc
413 +      CCODECVT_H=config/locale/uclibc/codecvt_specializations.h
414 +      CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
415 +      CCOLLATE_CC=config/locale/uclibc/collate_members.cc
416 +      CCTYPE_CC=config/locale/uclibc/ctype_members.cc
417 +      CMESSAGES_H=config/locale/uclibc/messages_members.h
418 +      CMESSAGES_CC=config/locale/uclibc/messages_members.cc
419 +      CMONEY_CC=config/locale/uclibc/monetary_members.cc
420 +      CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
421 +      CTIME_H=config/locale/uclibc/time_members.h
422 +      CTIME_CC=config/locale/uclibc/time_members.cc
423 +      CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
424 +      ;;
425      *)
426        echo "$enable_clocale is an unknown locale package" 1>&2
427        exit 1
428 diff -urN gcc-3.3.3-dist/libstdc++-v3/configure gcc-3.3.3/libstdc++-v3/configure
429 --- gcc-3.3.3-dist/libstdc++-v3/configure       2004-01-12 10:18:45.000000000 -0600
430 +++ gcc-3.3.3/libstdc++-v3/configure    2004-08-12 04:49:13.000000000 -0500
431 @@ -2010,6 +2010,11 @@
432    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
433    ;;
434  
435 +linux-uclibc*)
436 +  lt_cv_deplibs_check_method=pass_all
437 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
438 +  ;;
439 +
440  netbsd*)
441    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
442      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
443 @@ -2996,6 +3001,9 @@
444  
445        if test x$enable_clocale_flag = xno; then
446      case x${target_os} in
447 +      xlinux-uclibc*)
448 +       enable_clocale_flag=uclibc
449 +       ;;
450        xlinux* | xgnu*)
451         cat > conftest.$ac_ext <<EOF
452  #line 3002 "configure"
453 @@ -3182,6 +3190,70 @@
454        CTIME_CC=config/locale/generic/time_members.cc
455        CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
456        ;;
457 +    xuclibc)
458 +      echo "$ac_t""uclibc" 1>&6
459 +
460 +      # Declare intention to use gettext, and add support for specific
461 +      # languages.
462 +      # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
463 +      ALL_LINGUAS="de fr"
464 +
465 +      # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
466 +      # Extract the first word of "msgfmt", so it can be a program name with args.
467 +set dummy msgfmt; ac_word=$2
468 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
469 +echo "configure:3117: checking for $ac_word" >&5
470 +if eval "test \"`echo '$''{'ac_cv_prog_check_msgfmt'+set}'`\" = set"; then
471 +  echo $ac_n "(cached) $ac_c" 1>&6
472 +else
473 +  if test -n "$check_msgfmt"; then
474 +  ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
475 +else
476 +  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
477 +  ac_dummy="$PATH"
478 +  for ac_dir in $ac_dummy; do
479 +    test -z "$ac_dir" && ac_dir=.
480 +    if test -f $ac_dir/$ac_word; then
481 +      ac_cv_prog_check_msgfmt="yes"
482 +      break
483 +    fi
484 +  done
485 +  IFS="$ac_save_ifs"
486 +  test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
487 +fi
488 +fi
489 +check_msgfmt="$ac_cv_prog_check_msgfmt"
490 +if test -n "$check_msgfmt"; then
491 +  echo "$ac_t""$check_msgfmt" 1>&6
492 +else
493 +  echo "$ac_t""no" 1>&6
494 +fi
495 +
496 +      if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
497 +       USE_NLS=yes
498 +      fi
499 +      # Export the build objects.
500 +      for ling in $ALL_LINGUAS; do \
501 +        glibcpp_MOFILES="$glibcpp_MOFILES $ling.mo"; \
502 +        glibcpp_POFILES="$glibcpp_POFILES $ling.po"; \
503 +      done
504 +      
505 +      
506 +
507 +      CLOCALE_H=config/locale/uclibc/c_locale.h
508 +      CLOCALE_CC=config/locale/uclibc/c_locale.cc
509 +      CCODECVT_H=config/locale/uclibc/codecvt_specializations.h
510 +      CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
511 +      CCOLLATE_CC=config/locale/uclibc/collate_members.cc
512 +      CCTYPE_CC=config/locale/uclibc/ctype_members.cc
513 +      CMESSAGES_H=config/locale/uclibc/messages_members.h
514 +      CMESSAGES_CC=config/locale/uclibc/messages_members.cc
515 +      CMONEY_CC=config/locale/uclibc/monetary_members.cc
516 +      CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
517 +      CTIME_H=config/locale/uclibc/time_members.h
518 +      CTIME_CC=config/locale/uclibc/time_members.cc
519 +      CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
520 +      ;;
521      *)
522        echo "$enable_clocale is an unknown locale package" 1>&2
523        exit 1
524 @@ -4212,6 +4284,968 @@
525    # GLIBCPP_CHECK_MATH_SUPPORT
526  
527    case "$target" in
528 +    *-uclibc*)
529 +      os_include_dir="os/uclibc"
530 +      for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \
531 +        machine/endian.h machine/param.h sys/machine.h sys/types.h \
532 +        fp.h locale.h float.h inttypes.h
533 +do
534 +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
535 +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
536 +echo "configure:4224: checking for $ac_hdr" >&5
537 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
538 +  echo $ac_n "(cached) $ac_c" 1>&6
539 +else
540 +  cat > conftest.$ac_ext <<EOF
541 +#line 4229 "configure"
542 +#include "confdefs.h"
543 +#include <$ac_hdr>
544 +EOF
545 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
546 +{ (eval echo configure:4234: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
547 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
548 +if test -z "$ac_err"; then
549 +  rm -rf conftest*
550 +  eval "ac_cv_header_$ac_safe=yes"
551 +else
552 +  echo "$ac_err" >&5
553 +  echo "configure: failed program was:" >&5
554 +  cat conftest.$ac_ext >&5
555 +  rm -rf conftest*
556 +  eval "ac_cv_header_$ac_safe=no"
557 +fi
558 +rm -f conftest*
559 +fi
560 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
561 +  echo "$ac_t""yes" 1>&6
562 +    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
563 +  cat >> confdefs.h <<EOF
564 +#define $ac_tr_hdr 1
565 +EOF
566
567 +else
568 +  echo "$ac_t""no" 1>&6
569 +fi
570 +done
571 +
572 +      SECTION_FLAGS='-ffunction-sections -fdata-sections'
573 +      
574 +      
575 +  # If we're not using GNU ld, then there's no point in even trying these
576 +  # tests.  Check for that first.  We should have already tested for gld
577 +  # by now (in libtool), but require it now just to be safe...
578 +  test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
579 +  test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
580 +  
581 +
582 +  # The name set by libtool depends on the version of libtool.  Shame on us
583 +  # for depending on an impl detail, but c'est la vie.  Older versions used
584 +  # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
585 +  # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
586 +  # makes sense).  We'll test with_gnu_ld everywhere else, so if that isn't
587 +  # set (hence we're using an older libtool), then set it.
588 +  if test x${with_gnu_ld+set} != xset; then
589 +    if test x${ac_cv_prog_gnu_ld+set} != xset; then
590 +      # We got through "ac_require(ac_prog_ld)" and still not set?  Huh?
591 +      with_gnu_ld=no
592 +    else
593 +      with_gnu_ld=$ac_cv_prog_gnu_ld
594 +    fi
595 +  fi
596 +
597 +  # Start by getting the version number.  I think the libtool test already
598 +  # does some of this, but throws away the result.
599 +  
600 +  ldver=`$LD --version 2>/dev/null | head -1 | \
601 +         sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
602 +  
603 +  glibcpp_gnu_ld_version=`echo $ldver | \
604 +         $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
605 +
606 +  # Set --gc-sections.
607 +  if test "$with_gnu_ld" = "notbroken"; then
608 +    # GNU ld it is!  Joy and bunny rabbits!
609 +
610 +    # All these tests are for C++; save the language and the compiler flags.
611 +    # Need to do this so that g++ won't try to link in libstdc++
612 +    ac_test_CFLAGS="${CFLAGS+set}"
613 +    ac_save_CFLAGS="$CFLAGS"
614 +    CFLAGS='-x c++  -Wl,--gc-sections'
615 +
616 +    # Check for -Wl,--gc-sections
617 +    # XXX This test is broken at the moment, as symbols required for
618 +    # linking are now in libsupc++ (not built yet.....). In addition, 
619 +    # this test has cored on solaris in the past. In addition,
620 +    # --gc-sections doesn't really work at the moment (keeps on discarding
621 +    # used sections, first .eh_frame and now some of the glibc sections for
622 +    # iconv). Bzzzzt. Thanks for playing, maybe next time.
623 +    echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
624 +echo "configure:4312: checking for ld that supports -Wl,--gc-sections" >&5
625 +    if test "$cross_compiling" = yes; then
626 +  ac_sectionLDflags=yes
627 +else
628 +  cat > conftest.$ac_ext <<EOF
629 +#line 4317 "configure"
630 +#include "confdefs.h"
631 +
632 +     int main(void) 
633 +     {
634 +       try { throw 1; }
635 +       catch (...) { };
636 +       return 0;
637 +     }
638 +    
639 +EOF
640 +if { (eval echo configure:4328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
641 +then
642 +  ac_sectionLDflags=yes
643 +else
644 +  echo "configure: failed program was:" >&5
645 +  cat conftest.$ac_ext >&5
646 +  rm -fr conftest*
647 +  ac_sectionLDflags=no
648 +fi
649 +rm -fr conftest*
650 +fi
651 +
652 +    if test "$ac_test_CFLAGS" = set; then
653 +      CFLAGS="$ac_save_CFLAGS"
654 +    else
655 +      # this is the suspicious part
656 +      CFLAGS=''
657 +    fi
658 +    if test "$ac_sectionLDflags" = "yes"; then
659 +      SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
660 +    fi
661 +    echo "$ac_t""$ac_sectionLDflags" 1>&6
662 +  fi
663 +
664 +  # Set linker optimization flags.
665 +  if test x"$with_gnu_ld" = x"yes"; then
666 +    OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
667 +  fi
668 +
669 +  
670 +  
671 +
672 +      
673 +    echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
674 +echo "configure:4362: checking for main in -lm" >&5
675 +ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
676 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
677 +  echo $ac_n "(cached) $ac_c" 1>&6
678 +else
679 +  ac_save_LIBS="$LIBS"
680 +LIBS="-lm  $LIBS"
681 +cat > conftest.$ac_ext <<EOF
682 +#line 4370 "configure"
683 +#include "confdefs.h"
684 +
685 +int main() {
686 +main()
687 +; return 0; }
688 +EOF
689 +if { (eval echo configure:4377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
690 +  rm -rf conftest*
691 +  eval "ac_cv_lib_$ac_lib_var=yes"
692 +else
693 +  echo "configure: failed program was:" >&5
694 +  cat conftest.$ac_ext >&5
695 +  rm -rf conftest*
696 +  eval "ac_cv_lib_$ac_lib_var=no"
697 +fi
698 +rm -f conftest*
699 +LIBS="$ac_save_LIBS"
700 +
701 +fi
702 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
703 +  echo "$ac_t""yes" 1>&6
704 +    ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
705 +    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
706 +  cat >> confdefs.h <<EOF
707 +#define $ac_tr_lib 1
708 +EOF
709 +
710 +  LIBS="-lm $LIBS"
711 +
712 +else
713 +  echo "$ac_t""no" 1>&6
714 +fi
715 +
716 +  for ac_func in nan copysignf
717 +do
718 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
719 +echo "configure:4407: checking for $ac_func" >&5
720 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
721 +  echo $ac_n "(cached) $ac_c" 1>&6
722 +else
723 +  cat > conftest.$ac_ext <<EOF
724 +#line 4412 "configure"
725 +#include "confdefs.h"
726 +/* System header to define __stub macros and hopefully few prototypes,
727 +    which can conflict with char $ac_func(); below.  */
728 +#include <assert.h>
729 +/* Override any gcc2 internal prototype to avoid an error.  */
730 +/* We use char because int might match the return type of a gcc2
731 +    builtin and then its argument prototype would still apply.  */
732 +char $ac_func();
733 +
734 +int main() {
735 +
736 +/* The GNU C library defines this for functions which it implements
737 +    to always fail with ENOSYS.  Some functions are actually named
738 +    something starting with __ and the normal name is an alias.  */
739 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
740 +choke me
741 +#else
742 +$ac_func();
743 +#endif
744 +
745 +; return 0; }
746 +EOF
747 +if { (eval echo configure:4435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
748 +  rm -rf conftest*
749 +  eval "ac_cv_func_$ac_func=yes"
750 +else
751 +  echo "configure: failed program was:" >&5
752 +  cat conftest.$ac_ext >&5
753 +  rm -rf conftest*
754 +  eval "ac_cv_func_$ac_func=no"
755 +fi
756 +rm -f conftest*
757 +fi
758 +
759 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
760 +  echo "$ac_t""yes" 1>&6
761 +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
762 +  cat >> confdefs.h <<EOF
763 +#define $ac_tr_func 1
764 +EOF
765
766 +else
767 +  echo "$ac_t""no" 1>&6
768 +LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
769 +fi
770 +done
771 +
772 +
773 +    for ac_func in __signbit
774 +do
775 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
776 +echo "configure:4464: checking for $ac_func" >&5
777 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
778 +  echo $ac_n "(cached) $ac_c" 1>&6
779 +else
780 +  cat > conftest.$ac_ext <<EOF
781 +#line 4469 "configure"
782 +#include "confdefs.h"
783 +/* System header to define __stub macros and hopefully few prototypes,
784 +    which can conflict with char $ac_func(); below.  */
785 +#include <assert.h>
786 +/* Override any gcc2 internal prototype to avoid an error.  */
787 +/* We use char because int might match the return type of a gcc2
788 +    builtin and then its argument prototype would still apply.  */
789 +char $ac_func();
790 +
791 +int main() {
792 +
793 +/* The GNU C library defines this for functions which it implements
794 +    to always fail with ENOSYS.  Some functions are actually named
795 +    something starting with __ and the normal name is an alias.  */
796 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
797 +choke me
798 +#else
799 +$ac_func();
800 +#endif
801 +
802 +; return 0; }
803 +EOF
804 +if { (eval echo configure:4492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
805 +  rm -rf conftest*
806 +  eval "ac_cv_func_$ac_func=yes"
807 +else
808 +  echo "configure: failed program was:" >&5
809 +  cat conftest.$ac_ext >&5
810 +  rm -rf conftest*
811 +  eval "ac_cv_func_$ac_func=no"
812 +fi
813 +rm -f conftest*
814 +fi
815 +
816 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
817 +  echo "$ac_t""yes" 1>&6
818 +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
819 +  cat >> confdefs.h <<EOF
820 +#define $ac_tr_func 1
821 +EOF
822
823 +else
824 +  echo "$ac_t""no" 1>&6
825 +LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
826 +fi
827 +done
828 +
829 +  for ac_func in __signbitf
830 +do
831 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
832 +echo "configure:4520: checking for $ac_func" >&5
833 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
834 +  echo $ac_n "(cached) $ac_c" 1>&6
835 +else
836 +  cat > conftest.$ac_ext <<EOF
837 +#line 4525 "configure"
838 +#include "confdefs.h"
839 +/* System header to define __stub macros and hopefully few prototypes,
840 +    which can conflict with char $ac_func(); below.  */
841 +#include <assert.h>
842 +/* Override any gcc2 internal prototype to avoid an error.  */
843 +/* We use char because int might match the return type of a gcc2
844 +    builtin and then its argument prototype would still apply.  */
845 +char $ac_func();
846 +
847 +int main() {
848 +
849 +/* The GNU C library defines this for functions which it implements
850 +    to always fail with ENOSYS.  Some functions are actually named
851 +    something starting with __ and the normal name is an alias.  */
852 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
853 +choke me
854 +#else
855 +$ac_func();
856 +#endif
857 +
858 +; return 0; }
859 +EOF
860 +if { (eval echo configure:4548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
861 +  rm -rf conftest*
862 +  eval "ac_cv_func_$ac_func=yes"
863 +else
864 +  echo "configure: failed program was:" >&5
865 +  cat conftest.$ac_ext >&5
866 +  rm -rf conftest*
867 +  eval "ac_cv_func_$ac_func=no"
868 +fi
869 +rm -f conftest*
870 +fi
871 +
872 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
873 +  echo "$ac_t""yes" 1>&6
874 +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
875 +  cat >> confdefs.h <<EOF
876 +#define $ac_tr_func 1
877 +EOF
878
879 +else
880 +  echo "$ac_t""no" 1>&6
881 +LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
882 +fi
883 +done
884 +
885 +
886 +          if test x$ac_cv_func_copysignl = x"yes"; then
887 +    for ac_func in __signbitl
888 +do
889 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
890 +echo "configure:4578: checking for $ac_func" >&5
891 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
892 +  echo $ac_n "(cached) $ac_c" 1>&6
893 +else
894 +  cat > conftest.$ac_ext <<EOF
895 +#line 4583 "configure"
896 +#include "confdefs.h"
897 +/* System header to define __stub macros and hopefully few prototypes,
898 +    which can conflict with char $ac_func(); below.  */
899 +#include <assert.h>
900 +/* Override any gcc2 internal prototype to avoid an error.  */
901 +/* We use char because int might match the return type of a gcc2
902 +    builtin and then its argument prototype would still apply.  */
903 +char $ac_func();
904 +
905 +int main() {
906 +
907 +/* The GNU C library defines this for functions which it implements
908 +    to always fail with ENOSYS.  Some functions are actually named
909 +    something starting with __ and the normal name is an alias.  */
910 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
911 +choke me
912 +#else
913 +$ac_func();
914 +#endif
915 +
916 +; return 0; }
917 +EOF
918 +if { (eval echo configure:4606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
919 +  rm -rf conftest*
920 +  eval "ac_cv_func_$ac_func=yes"
921 +else
922 +  echo "configure: failed program was:" >&5
923 +  cat conftest.$ac_ext >&5
924 +  rm -rf conftest*
925 +  eval "ac_cv_func_$ac_func=no"
926 +fi
927 +rm -f conftest*
928 +fi
929 +
930 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
931 +  echo "$ac_t""yes" 1>&6
932 +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
933 +  cat >> confdefs.h <<EOF
934 +#define $ac_tr_func 1
935 +EOF
936
937 +else
938 +  echo "$ac_t""no" 1>&6
939 +LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
940 +fi
941 +done
942 +
943 +  fi
944 +
945 +  if test -n "$LIBMATHOBJS"; then
946 +    need_libmath=yes
947 +  fi
948 +  
949 +  
950 +
951 +if test "$need_libmath" = yes; then
952 +  GLIBCPP_BUILD_LIBMATH_TRUE=
953 +  GLIBCPP_BUILD_LIBMATH_FALSE='#'
954 +else
955 +  GLIBCPP_BUILD_LIBMATH_TRUE='#'
956 +  GLIBCPP_BUILD_LIBMATH_FALSE=
957 +fi
958 +
959 +      
960 +    enable_wchar_t=no
961 +
962 +      echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
963 +echo "configure:4651: checking for mbstate_t" >&5
964 +  cat > conftest.$ac_ext <<EOF
965 +#line 4653 "configure"
966 +#include "confdefs.h"
967 +#include <wchar.h>
968 +int main() {
969 +mbstate_t teststate;
970 +; return 0; }
971 +EOF
972 +if { (eval echo configure:4660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
973 +  rm -rf conftest*
974 +  have_mbstate_t=yes
975 +else
976 +  echo "configure: failed program was:" >&5
977 +  cat conftest.$ac_ext >&5
978 +  rm -rf conftest*
979 +  have_mbstate_t=no
980 +fi
981 +rm -f conftest*
982 +  echo "$ac_t""$have_mbstate_t" 1>&6
983 +  if test x"$have_mbstate_t" = xyes; then
984 +    cat >> confdefs.h <<\EOF
985 +#define HAVE_MBSTATE_T 1
986 +EOF
987 +
988 +  fi
989 +
990 +    for ac_hdr in wchar.h
991 +do
992 +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
993 +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
994 +echo "configure:4682: checking for $ac_hdr" >&5
995 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
996 +  echo $ac_n "(cached) $ac_c" 1>&6
997 +else
998 +  cat > conftest.$ac_ext <<EOF
999 +#line 4687 "configure"
1000 +#include "confdefs.h"
1001 +#include <$ac_hdr>
1002 +EOF
1003 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
1004 +{ (eval echo configure:4692: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
1005 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
1006 +if test -z "$ac_err"; then
1007 +  rm -rf conftest*
1008 +  eval "ac_cv_header_$ac_safe=yes"
1009 +else
1010 +  echo "$ac_err" >&5
1011 +  echo "configure: failed program was:" >&5
1012 +  cat conftest.$ac_ext >&5
1013 +  rm -rf conftest*
1014 +  eval "ac_cv_header_$ac_safe=no"
1015 +fi
1016 +rm -f conftest*
1017 +fi
1018 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
1019 +  echo "$ac_t""yes" 1>&6
1020 +    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
1021 +  cat >> confdefs.h <<EOF
1022 +#define $ac_tr_hdr 1
1023 +EOF
1024 + ac_has_wchar_h=yes
1025 +else
1026 +  echo "$ac_t""no" 1>&6
1027 +ac_has_wchar_h=no
1028 +fi
1029 +done
1030 +
1031 +  for ac_hdr in wctype.h
1032 +do
1033 +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
1034 +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
1035 +echo "configure:4723: checking for $ac_hdr" >&5
1036 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1037 +  echo $ac_n "(cached) $ac_c" 1>&6
1038 +else
1039 +  cat > conftest.$ac_ext <<EOF
1040 +#line 4728 "configure"
1041 +#include "confdefs.h"
1042 +#include <$ac_hdr>
1043 +EOF
1044 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
1045 +{ (eval echo configure:4733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
1046 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
1047 +if test -z "$ac_err"; then
1048 +  rm -rf conftest*
1049 +  eval "ac_cv_header_$ac_safe=yes"
1050 +else
1051 +  echo "$ac_err" >&5
1052 +  echo "configure: failed program was:" >&5
1053 +  cat conftest.$ac_ext >&5
1054 +  rm -rf conftest*
1055 +  eval "ac_cv_header_$ac_safe=no"
1056 +fi
1057 +rm -f conftest*
1058 +fi
1059 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
1060 +  echo "$ac_t""yes" 1>&6
1061 +    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
1062 +  cat >> confdefs.h <<EOF
1063 +#define $ac_tr_hdr 1
1064 +EOF
1065 + ac_has_wctype_h=yes
1066 +else
1067 +  echo "$ac_t""no" 1>&6
1068 +ac_has_wctype_h=no
1069 +fi
1070 +done
1071 +
1072 +  
1073 +    if test x"$ac_has_wchar_h" = xyes &&
1074 +     test x"$ac_has_wctype_h" = xyes &&
1075 +     test x"$enable_c_mbchar" != xno; then
1076 +      
1077 +            echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
1078 +echo "configure:4766: checking for WCHAR_MIN and WCHAR_MAX" >&5
1079 +    cat > conftest.$ac_ext <<EOF
1080 +#line 4768 "configure"
1081 +#include "confdefs.h"
1082 +#include <wchar.h>
1083 +int main() {
1084 +int i = WCHAR_MIN; int j = WCHAR_MAX;
1085 +; return 0; }
1086 +EOF
1087 +if { (eval echo configure:4775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1088 +  rm -rf conftest*
1089 +  has_wchar_minmax=yes
1090 +else
1091 +  echo "configure: failed program was:" >&5
1092 +  cat conftest.$ac_ext >&5
1093 +  rm -rf conftest*
1094 +  has_wchar_minmax=no
1095 +fi
1096 +rm -f conftest*
1097 +    echo "$ac_t""$has_wchar_minmax" 1>&6
1098 +    
1099 +            echo $ac_n "checking for WEOF""... $ac_c" 1>&6
1100 +echo "configure:4788: checking for WEOF" >&5
1101 +    cat > conftest.$ac_ext <<EOF
1102 +#line 4790 "configure"
1103 +#include "confdefs.h"
1104 +
1105 +      #include <wchar.h>
1106 +      #include <stddef.h>
1107 +int main() {
1108 +wint_t i = WEOF;
1109 +; return 0; }
1110 +EOF
1111 +if { (eval echo configure:4799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
1112 +  rm -rf conftest*
1113 +  has_weof=yes
1114 +else
1115 +  echo "configure: failed program was:" >&5
1116 +  cat conftest.$ac_ext >&5
1117 +  rm -rf conftest*
1118 +  has_weof=no
1119 +fi
1120 +rm -f conftest*
1121 +    echo "$ac_t""$has_weof" 1>&6
1122 +  
1123 +        ac_wfuncs=yes
1124 +    for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
1125 +do
1126 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
1127 +echo "configure:4815: checking for $ac_func" >&5
1128 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
1129 +  echo $ac_n "(cached) $ac_c" 1>&6
1130 +else
1131 +  cat > conftest.$ac_ext <<EOF
1132 +#line 4820 "configure"
1133 +#include "confdefs.h"
1134 +/* System header to define __stub macros and hopefully few prototypes,
1135 +    which can conflict with char $ac_func(); below.  */
1136 +#include <assert.h>
1137 +/* Override any gcc2 internal prototype to avoid an error.  */
1138 +/* We use char because int might match the return type of a gcc2
1139 +    builtin and then its argument prototype would still apply.  */
1140 +char $ac_func();
1141 +
1142 +int main() {
1143 +
1144 +/* The GNU C library defines this for functions which it implements
1145 +    to always fail with ENOSYS.  Some functions are actually named
1146 +    something starting with __ and the normal name is an alias.  */
1147 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
1148 +choke me
1149 +#else
1150 +$ac_func();
1151 +#endif
1152 +
1153 +; return 0; }
1154 +EOF
1155 +if { (eval echo configure:4843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1156 +  rm -rf conftest*
1157 +  eval "ac_cv_func_$ac_func=yes"
1158 +else
1159 +  echo "configure: failed program was:" >&5
1160 +  cat conftest.$ac_ext >&5
1161 +  rm -rf conftest*
1162 +  eval "ac_cv_func_$ac_func=no"
1163 +fi
1164 +rm -f conftest*
1165 +fi
1166 +
1167 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
1168 +  echo "$ac_t""yes" 1>&6
1169 +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
1170 +  cat >> confdefs.h <<EOF
1171 +#define $ac_tr_func 1
1172 +EOF
1173
1174 +else
1175 +  echo "$ac_t""no" 1>&6
1176 +\
1177 +    ac_wfuncs=no
1178 +fi
1179 +done
1180 +
1181 +  
1182 +        for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
1183 +    fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
1184 +    vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
1185 +    mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
1186 +    wcstoul wcscpy wcsncpy wcscat wcsncat wcscmp wcscoll wcsncmp wcsxfrm \
1187 +    wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
1188 +do
1189 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
1190 +echo "configure:4878: checking for $ac_func" >&5
1191 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
1192 +  echo $ac_n "(cached) $ac_c" 1>&6
1193 +else
1194 +  cat > conftest.$ac_ext <<EOF
1195 +#line 4883 "configure"
1196 +#include "confdefs.h"
1197 +/* System header to define __stub macros and hopefully few prototypes,
1198 +    which can conflict with char $ac_func(); below.  */
1199 +#include <assert.h>
1200 +/* Override any gcc2 internal prototype to avoid an error.  */
1201 +/* We use char because int might match the return type of a gcc2
1202 +    builtin and then its argument prototype would still apply.  */
1203 +char $ac_func();
1204 +
1205 +int main() {
1206 +
1207 +/* The GNU C library defines this for functions which it implements
1208 +    to always fail with ENOSYS.  Some functions are actually named
1209 +    something starting with __ and the normal name is an alias.  */
1210 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
1211 +choke me
1212 +#else
1213 +$ac_func();
1214 +#endif
1215 +
1216 +; return 0; }
1217 +EOF
1218 +if { (eval echo configure:4906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1219 +  rm -rf conftest*
1220 +  eval "ac_cv_func_$ac_func=yes"
1221 +else
1222 +  echo "configure: failed program was:" >&5
1223 +  cat conftest.$ac_ext >&5
1224 +  rm -rf conftest*
1225 +  eval "ac_cv_func_$ac_func=no"
1226 +fi
1227 +rm -f conftest*
1228 +fi
1229 +
1230 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
1231 +  echo "$ac_t""yes" 1>&6
1232 +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
1233 +  cat >> confdefs.h <<EOF
1234 +#define $ac_tr_func 1
1235 +EOF
1236
1237 +else
1238 +  echo "$ac_t""no" 1>&6
1239 +\
1240 +    ac_wfuncs=no
1241 +fi
1242 +done
1243 +
1244 +
1245 +    echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
1246 +echo "configure:4934: checking for ISO C99 wchar_t support" >&5
1247 +    if test x"$has_weof" = xyes &&
1248 +       test x"$has_wchar_minmax" = xyes &&
1249 +       test x"$ac_wfuncs" = xyes; then
1250 +      ac_isoC99_wchar_t=yes
1251 +    else
1252 +      ac_isoC99_wchar_t=no
1253 +    fi
1254 +    echo "$ac_t""$ac_isoC99_wchar_t" 1>&6
1255 +  
1256 +            ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
1257 +echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
1258 +echo "configure:4946: checking for iconv.h" >&5
1259 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1260 +  echo $ac_n "(cached) $ac_c" 1>&6
1261 +else
1262 +  cat > conftest.$ac_ext <<EOF
1263 +#line 4951 "configure"
1264 +#include "confdefs.h"
1265 +#include <iconv.h>
1266 +EOF
1267 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
1268 +{ (eval echo configure:4956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
1269 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
1270 +if test -z "$ac_err"; then
1271 +  rm -rf conftest*
1272 +  eval "ac_cv_header_$ac_safe=yes"
1273 +else
1274 +  echo "$ac_err" >&5
1275 +  echo "configure: failed program was:" >&5
1276 +  cat conftest.$ac_ext >&5
1277 +  rm -rf conftest*
1278 +  eval "ac_cv_header_$ac_safe=no"
1279 +fi
1280 +rm -f conftest*
1281 +fi
1282 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
1283 +  echo "$ac_t""yes" 1>&6
1284 +  ac_has_iconv_h=yes
1285 +else
1286 +  echo "$ac_t""no" 1>&6
1287 +ac_has_iconv_h=no
1288 +fi
1289 +
1290 +    ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
1291 +echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
1292 +echo "configure:4980: checking for langinfo.h" >&5
1293 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
1294 +  echo $ac_n "(cached) $ac_c" 1>&6
1295 +else
1296 +  cat > conftest.$ac_ext <<EOF
1297 +#line 4985 "configure"
1298 +#include "confdefs.h"
1299 +#include <langinfo.h>
1300 +EOF
1301 +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
1302 +{ (eval echo configure:4990: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
1303 +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
1304 +if test -z "$ac_err"; then
1305 +  rm -rf conftest*
1306 +  eval "ac_cv_header_$ac_safe=yes"
1307 +else
1308 +  echo "$ac_err" >&5
1309 +  echo "configure: failed program was:" >&5
1310 +  cat conftest.$ac_ext >&5
1311 +  rm -rf conftest*
1312 +  eval "ac_cv_header_$ac_safe=no"
1313 +fi
1314 +rm -f conftest*
1315 +fi
1316 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
1317 +  echo "$ac_t""yes" 1>&6
1318 +  ac_has_langinfo_h=yes
1319 +else
1320 +  echo "$ac_t""no" 1>&6
1321 +ac_has_langinfo_h=no
1322 +fi
1323 +
1324 +
1325 +        echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
1326 +echo "configure:5014: checking for iconv in -liconv" >&5
1327 +ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
1328 +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
1329 +  echo $ac_n "(cached) $ac_c" 1>&6
1330 +else
1331 +  ac_save_LIBS="$LIBS"
1332 +LIBS="-liconv  $LIBS"
1333 +cat > conftest.$ac_ext <<EOF
1334 +#line 5022 "configure"
1335 +#include "confdefs.h"
1336 +/* Override any gcc2 internal prototype to avoid an error.  */
1337 +/* We use char because int might match the return type of a gcc2
1338 +    builtin and then its argument prototype would still apply.  */
1339 +char iconv();
1340 +
1341 +int main() {
1342 +iconv()
1343 +; return 0; }
1344 +EOF
1345 +if { (eval echo configure:5033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1346 +  rm -rf conftest*
1347 +  eval "ac_cv_lib_$ac_lib_var=yes"
1348 +else
1349 +  echo "configure: failed program was:" >&5
1350 +  cat conftest.$ac_ext >&5
1351 +  rm -rf conftest*
1352 +  eval "ac_cv_lib_$ac_lib_var=no"
1353 +fi
1354 +rm -f conftest*
1355 +LIBS="$ac_save_LIBS"
1356 +
1357 +fi
1358 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
1359 +  echo "$ac_t""yes" 1>&6
1360 +  libiconv="-liconv"
1361 +else
1362 +  echo "$ac_t""no" 1>&6
1363 +fi
1364 +
1365 +    ac_save_LIBS="$LIBS"
1366 +    LIBS="$LIBS $libiconv"
1367 +
1368 +    for ac_func in iconv_open iconv_close iconv nl_langinfo
1369 +do
1370 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
1371 +echo "configure:5059: checking for $ac_func" >&5
1372 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
1373 +  echo $ac_n "(cached) $ac_c" 1>&6
1374 +else
1375 +  cat > conftest.$ac_ext <<EOF
1376 +#line 5064 "configure"
1377 +#include "confdefs.h"
1378 +/* System header to define __stub macros and hopefully few prototypes,
1379 +    which can conflict with char $ac_func(); below.  */
1380 +#include <assert.h>
1381 +/* Override any gcc2 internal prototype to avoid an error.  */
1382 +/* We use char because int might match the return type of a gcc2
1383 +    builtin and then its argument prototype would still apply.  */
1384 +char $ac_func();
1385 +
1386 +int main() {
1387 +
1388 +/* The GNU C library defines this for functions which it implements
1389 +    to always fail with ENOSYS.  Some functions are actually named
1390 +    something starting with __ and the normal name is an alias.  */
1391 +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
1392 +choke me
1393 +#else
1394 +$ac_func();
1395 +#endif
1396 +
1397 +; return 0; }
1398 +EOF
1399 +if { (eval echo configure:5087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
1400 +  rm -rf conftest*
1401 +  eval "ac_cv_func_$ac_func=yes"
1402 +else
1403 +  echo "configure: failed program was:" >&5
1404 +  cat conftest.$ac_ext >&5
1405 +  rm -rf conftest*
1406 +  eval "ac_cv_func_$ac_func=no"
1407 +fi
1408 +rm -f conftest*
1409 +fi
1410 +
1411 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
1412 +  echo "$ac_t""yes" 1>&6
1413 +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
1414 +  cat >> confdefs.h <<EOF
1415 +#define $ac_tr_func 1
1416 +EOF
1417 + \
1418 +    ac_XPG2funcs=yes
1419 +else
1420 +  echo "$ac_t""no" 1>&6
1421 +ac_XPG2funcs=no
1422 +fi
1423 +done
1424 +
1425 +  
1426 +    LIBS="$ac_save_LIBS"
1427 +
1428 +    echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
1429 +echo "configure:5117: checking for XPG2 wchar_t support" >&5
1430 +    if test x"$ac_has_iconv_h" = xyes &&
1431 +       test x"$ac_has_langinfo_h" = xyes &&
1432 +       test x"$ac_XPG2funcs" = xyes; then
1433 +      ac_XPG2_wchar_t=yes
1434 +    else
1435 +      ac_XPG2_wchar_t=no
1436 +    fi
1437 +    echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
1438 +  
1439 +            if test x"$ac_isoC99_wchar_t" = xyes &&
1440 +       test x"$ac_XPG2_wchar_t" = xyes; then
1441 +       cat >> confdefs.h <<\EOF
1442 +#define _GLIBCPP_USE_WCHAR_T 1
1443 +EOF
1444 +
1445 +       enable_wchar_t=yes 
1446 +    fi
1447 +  fi
1448 +  echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
1449 +echo "configure:5137: checking for enabled wchar_t specializations" >&5
1450 +  echo "$ac_t""$enable_wchar_t" 1>&6   
1451 +  
1452 +
1453 +if test "$enable_wchar_t" = yes; then
1454 +  GLIBCPP_TEST_WCHAR_T_TRUE=
1455 +  GLIBCPP_TEST_WCHAR_T_FALSE='#'
1456 +else
1457 +  GLIBCPP_TEST_WCHAR_T_TRUE='#'
1458 +  GLIBCPP_TEST_WCHAR_T_FALSE=
1459 +fi     
1460 +
1461 +
1462 +      cat >> confdefs.h <<\EOF
1463 +#define HAVE_COPYSIGN 1
1464 +EOF
1465 +
1466 +      cat >> confdefs.h <<\EOF
1467 +#define HAVE_FINITE 1
1468 +EOF
1469 +
1470 +      cat >> confdefs.h <<\EOF
1471 +#define HAVE_FINITEF 1
1472 +EOF
1473 +
1474 +      cat >> confdefs.h <<\EOF
1475 +#define HAVE_ISINF 1
1476 +EOF
1477 +
1478 +      cat >> confdefs.h <<\EOF
1479 +#define HAVE_ISINFF 1
1480 +EOF
1481 +
1482 +      cat >> confdefs.h <<\EOF
1483 +#define HAVE_ISNAN 1
1484 +EOF
1485 +
1486 +      cat >> confdefs.h <<\EOF
1487 +#define HAVE_ISNANF 1
1488 +EOF
1489 +      ;;
1490      *-linux*)
1491        os_include_dir="os/gnu-linux"
1492        for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \
1493 diff -urN gcc-3.3.3-dist/libstdc++-v3/configure.in gcc-3.3.3/libstdc++-v3/configure.in
1494 --- gcc-3.3.3-dist/libstdc++-v3/configure.in    2004-01-12 10:19:22.000000000 -0600
1495 +++ gcc-3.3.3/libstdc++-v3/configure.in 2004-08-12 04:47:51.000000000 -0500
1496 @@ -117,6 +117,36 @@
1497    # GLIBCPP_CHECK_MATH_SUPPORT
1498  
1499    case "$target" in
1500 +    *-uclibc*)
1501 +      os_include_dir="os/uclibc"
1502 +      AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
1503 +        machine/endian.h machine/param.h sys/machine.h sys/types.h \
1504 +        fp.h locale.h float.h inttypes.h])
1505 +      SECTION_FLAGS='-ffunction-sections -fdata-sections'
1506 +      AC_SUBST(SECTION_FLAGS)
1507 +      GLIBCPP_CHECK_LINKER_FEATURES
1508 +      GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
1509 +      GLIBCPP_CHECK_WCHAR_T_SUPPORT
1510 +
1511 +      AC_DEFINE(HAVE_COPYSIGN)
1512 +      #AC_DEFINE(HAVE_COPYSIGNF)
1513 +      AC_DEFINE(HAVE_FINITE)
1514 +      AC_DEFINE(HAVE_FINITEF)
1515 +      #AC_DEFINE(HAVE_FREXPF)
1516 +      #AC_DEFINE(HAVE_HYPOTF)
1517 +      AC_DEFINE(HAVE_ISINF)
1518 +      AC_DEFINE(HAVE_ISINFF)
1519 +      AC_DEFINE(HAVE_ISNAN)
1520 +      AC_DEFINE(HAVE_ISNANF)
1521 +      #AC_DEFINE(HAVE_SINCOS)
1522 +      #AC_DEFINE(HAVE_SINCOSF)
1523 +      #if test x"long_double_math_on_this_cpu" = x"yes"; then
1524 +        #AC_DEFINE(HAVE_FINITEL)
1525 +        #AC_DEFINE(HAVE_HYPOTL)
1526 +        #AC_DEFINE(HAVE_ISINFL)
1527 +        #AC_DEFINE(HAVE_ISNANL)
1528 +      #fi
1529 +      ;;
1530      *-linux*)
1531        os_include_dir="os/gnu-linux"
1532        AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
1533 diff -urN gcc-3.3.3-dist/libstdc++-v3/configure.target gcc-3.3.3/libstdc++-v3/configure.target
1534 --- gcc-3.3.3-dist/libstdc++-v3/configure.target        2003-10-01 14:07:07.000000000 -0500
1535 +++ gcc-3.3.3/libstdc++-v3/configure.target     2004-08-12 04:47:51.000000000 -0500
1536 @@ -133,6 +133,9 @@
1537    freebsd*)
1538      os_include_dir="os/bsd/freebsd"
1539      ;;
1540 +  linux-uclibc*)
1541 +    os_include_dir="os/uclibc"
1542 +    ;;
1543    gnu* | linux*)
1544      os_include_dir="os/gnu-linux"
1545      ;;
1546 diff -urN gcc-3.3.3-dist/libstdc++-v3/include/c_std/std_cstdlib.h gcc-3.3.3/libstdc++-v3/include/c_std/std_cstdlib.h
1547 --- gcc-3.3.3-dist/libstdc++-v3/include/c_std/std_cstdlib.h     2003-04-18 05:08:05.000000000 -0500
1548 +++ gcc-3.3.3/libstdc++-v3/include/c_std/std_cstdlib.h  2004-08-12 04:47:51.000000000 -0500
1549 @@ -101,9 +101,11 @@
1550    using ::labs;
1551    using ::ldiv;
1552    using ::malloc;
1553 +#if _GLIBCPP_USE_WCHAR_T
1554    using ::mblen;
1555    using ::mbstowcs;
1556    using ::mbtowc;
1557 +#endif
1558    using ::qsort;
1559    using ::rand;
1560    using ::realloc;
1561 @@ -112,8 +114,10 @@
1562    using ::strtol;
1563    using ::strtoul;
1564    using ::system;
1565 +#if _GLIBCPP_USE_WCHAR_T
1566    using ::wcstombs;
1567    using ::wctomb;
1568 +#endif
1569  
1570    inline long 
1571    abs(long __i) { return labs(__i); }
1572 diff -urN gcc-3.3.3-dist/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.3.3/libstdc++-v3/include/c_std/std_cwchar.h
1573 --- gcc-3.3.3-dist/libstdc++-v3/include/c_std/std_cwchar.h      2003-04-18 05:08:05.000000000 -0500
1574 +++ gcc-3.3.3/libstdc++-v3/include/c_std/std_cwchar.h   2004-08-12 04:47:51.000000000 -0500
1575 @@ -165,7 +165,9 @@
1576    using ::wcscoll;
1577    using ::wcscpy;
1578    using ::wcscspn;
1579 +#ifdef HAVE_WCSFTIME
1580    using ::wcsftime;
1581 +#endif
1582    using ::wcslen;
1583    using ::wcsncat;
1584    using ::wcsncmp;
1585 diff -urN gcc-3.3.3-dist/libtool.m4 gcc-3.3.3/libtool.m4
1586 --- gcc-3.3.3-dist/libtool.m4   2003-09-09 03:04:17.000000000 -0500
1587 +++ gcc-3.3.3/libtool.m4        2004-08-12 04:47:51.000000000 -0500
1588 @@ -687,6 +687,11 @@
1589    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
1590    ;;
1591  
1592 +linux-uclibc*)
1593 +  lt_cv_deplibs_check_method=pass_all
1594 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
1595 +  ;;
1596 +
1597  netbsd*)
1598    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
1599      [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
1600 diff -urN gcc-3.3.3-dist/ltconfig gcc-3.3.3/ltconfig
1601 --- gcc-3.3.3-dist/ltconfig     2003-02-19 20:10:02.000000000 -0600
1602 +++ gcc-3.3.3/ltconfig  2004-08-12 04:47:51.000000000 -0500
1603 @@ -603,6 +603,7 @@
1604  # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
1605  case $host_os in
1606  linux-gnu*) ;;
1607 +linux-uclibc*) ;;
1608  linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
1609  esac
1610  
1611 @@ -1247,6 +1248,24 @@
1612    dynamic_linker='GNU/Linux ld.so'
1613    ;;
1614  
1615 +linux-uclibc*)
1616 +  version_type=linux
1617 +  need_lib_prefix=no
1618 +  need_version=no
1619 +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1620 +  soname_spec='${libname}${release}.so$major'
1621 +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
1622 +  shlibpath_var=LD_LIBRARY_PATH
1623 +  shlibpath_overrides_runpath=no
1624 +  # This implies no fast_install, which is unacceptable.
1625 +  # Some rework will be needed to allow for fast_install
1626 +  # before this can be enabled.
1627 +  # Note: copied from linux-gnu, and may not be appropriate.
1628 +  hardcode_into_libs=yes
1629 +  # Assume using the uClibc dynamic linker.
1630 +  dynamic_linker="uClibc ld.so"
1631 +  ;;
1632 +
1633  netbsd*)
1634    need_lib_prefix=no
1635    need_version=no