Mail Archives: djgpp-workers/2003/05/09/01:55:30
On Thursday 08 May 2003 16:10, Charles Sandmann wrote:
> > 3) After I put bin2c on path, got linker error messages:
> >
> > gcc -g -O2 -I ../../include -DDXE_LD=\"i586-pc-msdosdjgpp-ld\" dxe3gen.c
> > -o ../../hostbin/dxegen.exe In file included from dxe3gen.c:23:
> > ../../include/string.h:28: warning: conflicting types for built-in
> > function `memcmp' ../../include/string.h:29: warning: conflicting types
> > for built-in function `memcpy' ../../include/string.h:31: warning:
> > conflicting types for built-in function `memset'
> > ../../include/string.h:40: warning: conflicting types for built-in
> > function `strncat' ../../include/string.h:41: warning: conflicting types
> > for built-in function `strncmp' ../../include/string.h:42: warning:
> > conflicting types for built-in function `strncpy'
> > /tmp/ccLEBaD8.o(.text+0x722): In function `process_args':
> > /disk2/cvs/djgpp/build/djgpp/src/dxe/dxe3gen.c:240: undefined reference
> > to `__dj_stderr'
>
> It turns out all of these are because we have compiled against the DJGPP
> headers instead of the Linux headers. This can be fixed by removing the
> -I ../../include - but then it can't find dxe.h
>
> It appears this was "fixed" in the old dxegen by hard coding the location
> of dxe.h (which tied dxegen to the src directory structure). Since dxe3gen
> is currently also used "separately" - any suggestions on getting it to
> include only the one file without all the other headers?
One of the possible solutions could be creating directory for include files
needed for host tools (eg. hostinc) and copy (or symlink when possible) needed
include files there.
Perhaps for native build symlinks should not be used, as
that could break build with older DJGPP tools (eg. when gcc if built using
djdev203, like in released archives)
Adding target in makefile to copy (symlink) needed files to current directory
and adding them to .cvsignore should also be sufficient
Andris
- Raw text -