The following unfortunately breaks FreeBSD 4.8 (and probably other systems as well):
/home/wine/wine/dlls/msvcrtd/msvcrtd.spec revision 1.1 date: 2003/04/04 19:37:57; author: julliard; state: Exp; Adam Gundy arg@cyberscience.com Added an implementation of the MSVCRTD.DLL debugging C runtime DLL.
Here is the actual failure mode:
/usr/bin/gcc -shared -Wl,-Bsymbolic,-z,defs msvcrtd.spec.o debug.o msvcrtd.dll.dbg.o -o msvcrtd.dll.so -L../../dlls -L../../libs/wine -lwine -L../../libs/port -lwine_port -lm -lc msvcrtd.spec.o: In function `__wine_spec_exports_funcs': msvcrtd.spec.o(.data+0x3a8): undefined reference to `ecvt' msvcrtd.spec.o(.data+0x3f8): undefined reference to `fcvt' msvcrtd.spec.o(.data+0x474): undefined reference to `gcvt' msvcrtd.spec.o: In function `__wine_spec_forwards': msvcrtd.spec.o(.data+0x52cc): undefined reference to `ecvt' msvcrtd.spec.o(.data+0x540c): undefined reference to `fcvt' msvcrtd.spec.o(.data+0x55fc): undefined reference to `gcvt' msvcrtd.spec.o(.data+0x52c5): undefined reference to `ecvt' msvcrtd.spec.o(.data+0x5405): undefined reference to `fcvt' msvcrtd.spec.o(.data+0x55f5): undefined reference to `gcvt' gmake[2]: *** [msvcrtd.dll.so] Error 1 gmake[2]: Leaving directory `/.amd_mnt/nashira/files5/test/wine/dlls/msvcrtd' gmake[1]: *** [msvcrtd] Error 2
According to /usr/include/stdlib.h on my GNU/Linux boxes and the man pages, I'm quite sure that these three functions are not ISO C:
#if defined __USE_SVID || defined __USE_XOPEN_EXTENDED
NOTES These functions are obsolete. Instead, sprintf() is recommended. Linux libc4 and libc5 specified the type of ndigits as size_t. Not all locales use a point as the radix character (`decimal point').
CONFORMING TO SysVR2, XPG2
Can we simply remove them?
Gerald