delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/10/12/09:40:10

From: khan AT xraylith DOT wisc DOT edu (Mumit Khan)
Subject: Re: rotd09-25, cygwin beta18
12 Oct 1998 09:40:10 -0700 :
Message-ID: <9810112330.AA07914.cygnus.gnu-win32@modi.xraylith.wisc.edu>
References: <19981011205201 DOT 01994 AT murlibobo DOT cs DOT mu DOT OZ DOT AU>
To: Fergus Henderson <fjh AT cs DOT mu DOT OZ DOT AU>
Cc: Dominique de Waleffe <ddw AT acm DOT org>, rpa AT miscrit DOT be,
Cygnus GNU-win32 mailing list <gnu-win32 AT cygnus DOT com>

Fergus Henderson <fjh AT cs DOT mu DOT oz DOT au> writes:
> On 11-Oct-1998, Dominique de Waleffe <ddw AT acm DOT org> wrote:
> > [...] I did an install with a --prefix=//h/m on my home pc.
> > 
> > I then tried to compile an example using the odbc package.
> > It could not find the mercury_imp.h file even though gcc
> > received -I//h/m/lib/mercury/inc as argument....
> >
> > The file was at its expected place. when I mounted h:/m as /mercury
> > and temporarily patched the mgnuc script, I was able to compile the
> > file. Could it be that b18 gcc does not fully handle the //drive/dir
> > notation?
> 
> Yes, I believe that gcc assumes Unix file naming semantics, where
> `//' is the same as `/'.  

GCC now keeps the leading slashes intact on x86-*win32. ``gcc -v'' is a 
good debugging tool for such problems; it tells you what directories it 
ends up searching for include paths, and you can see if it's omitting the 
path you're supplying to it.

  $ gcc -I//g/tmp/junk -c -v foo.c
  GNU CPP version egcs-2.91.57 19980901 (egcs-1.1 release) (80386, BSD syntax)
  #include "..." search starts here:
  #include <...> search starts here:
   \\g\tmp\junk
   C:\cygb19-1.1\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\  \
                  egcs-2.91.57\..\..\..\..\..\include
  [...]

b18 is rather old by now. Also, it's hard to tell what's wrong w/out the 
gcc version number.  If you're using b18 gcc, all bets are off. Lots 
and lots of work have gone into gcc since then, and all of it is in
egcs-1.1. If someone needs it for b18, it should be pretty easy to 
build it from source (please don't ask me for it -- I don't have b18
on my disk anymore).

With b19.x, it works as advertised. In fact, you should also be able 
to do //server/service/include/path with b19, and I'd guess with
upcoming b19. 

  $ gcc -I//srcserver/srcroot/tmp/junk -c -v foo.c
  GNU CPP version egcs-2.91.57 19980901 (egcs-1.1 release) (80386, BSD syntax)
  #include "..." search starts here:
  #include <...> search starts here:
   \\srcserver\srcroot\tmp\junk 
   C:\cygb19-1.1\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\  \
                  egcs-2.91.57\..\..\..\..\..\include
  [...]


Of course, you could get rid of these problems and build it on a real
OS and treat win32 as an embedded target like I do ;-)

Regards,
Mumit

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019