Subject: EGCS 1.0.2: weird include paths with gcc -b, specs, etc
From: [email-masked] (Fieldhouse, Dirk)

19 Aug 1998 01:33:23 -0700
Message-ID: <[email-masked]>
To: [email-masked]

ref: Earnie Boyd's http://www.cygnus.com/ml/gnu-win32/1998-Apr/0028.html

I'm trying to set up a dual cygwin32/mingw32 environment with the egcs 1.0.2
cygwin32 binaries and being defeated by some strange behaviour with search
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

relative to the GCC_EXEC_PREFIX or -b option value. (It also hard-wires the
${GCC_EXEC_PREFIX}include subdirectory, which seems sensible). See the
transcripts at the end of the msg for detailed examples.

It would be nice if these could be removed or overridden in some way (other
than rebuilding - I don't feel strong enough today to take on the whole egcs
source just to rebuild gcc). Surely that is why C_INCLUDE_PATH and -I exist?

Perhaps best would be to have them defined in the specs file if that's
possible.

In any case I think they should be absolute paths (such as
/usr/include/i386-cygwin32) so as to be independent of the relationship
between the GCC_EXEC_PREFIX and the Cygwin header files. 

My 2nd question: does egcs gcc use anything apart from the built-in default,
GCC_EXEC_PREFIX and the -b and --specs options to find the specs file? It
was my perception that LIBRARY_PATH was searched with the standard b19 gcc.

Please copy me with any reply since I'm not subscribed and normally read
this list through the WWW archive.

-- 
Dirk Fieldhouse                 Logica UK Limited
[email-masked]           75 Hampstead Road
c=gb;a=attmail;p=logica;        London NW1 2PL
o=lg;ou1=lgwct;s=fieldhouse     UK
+44 (171) 637 9111

----------------------------------------------------------------------------
----
BASH.EXE-2.01$ pwd
/Program Files/gnu/src/mingw/src/samples/globbing
BASH.EXE-2.01$ ls
CRTnoglob.exe  glob.exe       noglob.c       readme.txt
glob.c         jamfile        noglob.exe
BASH.EXE-2.01$ echo $C_INCLUDE_PATH
/usr/local/include/mingw:/usr/include:/usr/H-i386-cygwin32/i386-cygwin32/inc
lude

BASH.EXE-2.01$ echo $GCC_EXEC_PREFIX
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/
BASH.EXE-2.01$ ls $GCC_EXEC_PREFIX
i386-cygwin32  i386-mingw32
BASH.EXE-2.01$ gcc -v -b /dev/null -o glob.exe glob.c
Using builtin specs.
gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
 cpp -lang-c -v -iprefix
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib//dev/null\e
gcs-2.90.27\ -undef -D__GNUC__=2 -D__GNUC_MINOR__=90 -Di386 -D_WIN32
-D__CYGWIN3
2__ -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__))
-D__
cdecl=__attribute__((__cdecl__)) -D__i386__ -D_WIN32 -D__CYGWIN32__
-D__WINNT__
-D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__))
-D__cdecl=__attr
ibute__((__cdecl__)) -D__i386 -D__WINNT -Asystem(winnt) -Acpu(i386)
-Amachine(i3
86) -Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__
-Asystem(unix)
-Acpu(i386) -Amachine(i386) glob.c C:\TMP\cc001007.i
GNU CPP version egcs-2.90.27 980315 (egcs-1.0.2 release) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
 \programf\gnu\H-i386-cygwin32\i386-cygwin32\include
 /usr/include
End of search list.
....

BASH.EXE-2.01$ gcc -v -b i386-mingw32 -o glob.exe glob.c
Reading specs from
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-mingw32\egcs
-2.90.27\specs
gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-mingw32\egcs-2.90.27\cpp.ex
e -
lang-c -v -iprefix
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-mingw32\egcs
-2.90.27\ -undef -D__GNUC__=2 -D__GNUC_MINOR__=90 -Di386 -D_WIN32
-D__CYGWIN32__
 -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__))
-D__cde
cl=__attribute__((__cdecl__)) -D__i386__ -D_WIN32 -D__CYGWIN32__ -D__WINNT__
-D_
X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__))
-D__cdecl=__attribu
te__((__cdecl__)) -D__i386 -D__WINNT -Asystem(winnt) -Acpu(i386)
-Amachine(i386)
 glob.c C:\TMP\cc001011.i
GNU CPP version egcs-2.90.27 980315 (egcs-1.0.2 release) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-mingw32\egcs-2.90.27\../../
.../
.../../include
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-mingw32\egcs-2.90.27\../../
.../
.../i386-cygwin32/include
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-mingw32\egcs-2.90.27\includ
e
 \programf\gnu\H-i386-cygwin32\i386-cygwin32\include
 /usr/include
End of search list.
....

BASH.EXE-2.01$ gcc -v -b i386-cygwin32 -o glob.exe glob.c
Reading specs from
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32\egc
s-2.90.27\specs
gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32\egcs-2.90.27\cpp.e
xe
-lang-c -v -iprefix
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32\eg
cs-2.90.27\ -undef -D__GNUC__=2 -D__GNUC_MINOR__=90 -Di386 -D_WIN32
-D__CYGWIN32
__ -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__))
-D__c
decl=__attribute__((__cdecl__)) -D__i386__ -D_WIN32 -D__CYGWIN32__
-D__WINNT__ -
D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__))
-D__cdecl=__attri
bute__((__cdecl__)) -D__i386 -D__WINNT -Asystem(winnt) -Acpu(i386)
-Amachine(i38
6) -Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__
-Asystem(unix) -
Acpu(i386) -Amachine(i386) glob.c C:\TMP\cc001014.i
GNU CPP version egcs-2.90.27 980315 (egcs-1.0.2 release) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32\egcs-2.90.27\../..
/..
/../../include
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32\egcs-2.90.27\../..
/..
/../i386-cygwin32/include
 
c:/programf/gnu/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32\egcs-2.90.27\inclu
de
 \programf\gnu\H-i386-cygwin32\i386-cygwin32\include
 /usr/include
End of search list.

# end of examples
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".