This is the mail archive of the
mailing list for the Cygwin project.
RE: EGCS 1.0.2: weird include paths with gcc -b, specs, etc
- To: gnu-win32 at cygnus dot com
- Subject: RE: EGCS 1.0.2: weird include paths with gcc -b, specs, etc
- From: "Fieldhouse, Dirk" <Fieldhouse at logica dot com>
- Date: Mon, 24 Aug 1998 14:01:47 +0100
OK folks, now I'm really confused.
> > On Mon, 17 Aug 1998, Fieldhouse, Dirk wrote:
> > > ref: Earnie Boyd's
> > >
> > > I'm trying to set up a dual cygwin32/mingw32 environment with the egcs
> > > cygwin32 binaries and being defeated by some strange behaviour with
> > > paths.
> > > The binary distribution of egcs-1.0.2 for cygwin32 seems to have some
> > > hard-wired directories built into it, specifically
> > >
> > > ../../../../../include
> > > and
> > > ../../../../i386-cygwin32/include
> > >
> > Yeah, this is what I call the "Cygnus unlibsubdir" patch that is
> > with Cygnus built distributions. Basically, unlibsubdir patch relocates
> > the entire GCC package with only one env variable -- GCC_EXEC_PREFIX --
> > and everything is accessed relative to that. This change affects the
> > language drivers, cpp and proto tools only.
But look at this transcript:
BASH.EXE-2.01$ /bin/cpp -v -iprefix
/usr/H-i386-cygwin32/lib/gcc-lib/egcs-2.90.27 glob.c /dev/null
GNU CPP version 2.7-B19 (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
End of search list.
So the default 2.7-B19 cpp also uses the prefix-relative paths when
-iprefix is used, but prepends them to the C_INCLUDE_PATH. If I still had
gcc-2.7-B19 to hand, I could verify that as I guess it doesn't actually pass
-iprefix to cpp, whereas gcc-2.9 does but ignores C_INCLUDE_PATH.
In any case, I would have expected the search path to start with
C_INCLUDE_PATH followed by compiler version defaults (relative to
GCC_EXEC_PREFIX), followed by global defaults (/usr/include).
And here's a strange 'feature'. With COMPILER_PATH=/usr/bin, where /usr is
mounted on c:\programf\gnu,
BASH.EXE-2.01$ echo $COMPILER_PATH
gcc-2.90.27 adds the following options to cpp:
-isystem c\include -isystem \programf\gnu\include
Apparently it sees the : from the DOS filename and parses it as a separator.
Dirk Fieldhouse Logica UK Limited
email@example.com 75 Hampstead Road
c=gb;a=attmail;p=logica; London NW1 2PL
+44 (171) 637 9111
For help on using this list (especially unsubscribing), send a message to
"firstname.lastname@example.org" with one line of text: "help".