Mail Archives: djgpp-workers/2002/02/06/15:31:12
> > While I was trying to port(compiling) gettext 0.11 I got a
> warning similar
> > to this one in almost every file:
>
> Jeff Williams suggested a define in the source to clear up a
> similar problem
> with bcopy:
>
> > Don't know if this will help in resolving the issue, but recently
> > I encountered a problem with bcopy when compiling GNU termcap-1.3
> > under djgpp; in termcap.c you'll find:
> >
> > /* Do this after the include, in case string.h prototypes bcopy. */
> > #if (defined(HAVE_STRING_H) || defined(STDC_HEADERS)) &&
> !defined(bcopy)
> > #define bcopy(s, d, n) memcpy ((d), (s), (n))
> > #endif
For gettext, another solution is simply to edit the Makefile and remove
the use of -I$DJDIR/include, as that causes gcc to use our stock
stdlib.h
instead of the fixed version it keeps in $DJDIR/lib/gcc-lib/3.x/include.
The root of the problem seems to be the lib-prefix macro used; passing
'--without-libiconv-prefix --without-libintl-prefix' to configure also
solves the problem.
A DJGPP refresh is of course a good thing, but it's not required in this
case. Furthermore, since the package is effectively overriding gcc's
correct include paths, I'd even consider it a package bug (or more
precisely, a bug in the m4 macros used).
> Or can the prototypes be removed completely with GCC 3.x if they are
> built-in?
Our prototypes are normally not even seen; gcc uses its own stdlib.h
(presumably the result of a fixincludes run). It's only because gettext
overrides this by specifying -I<prefix>/include that warnings appear.
- Raw text -