From: Fieldhouse AT logica DOT com (Fieldhouse, Dirk) Subject: EGCS 1.0.2: weird include paths with gcc -b, specs, etc 19 Aug 1998 01:33:23 -0700 Message-ID: <6DA86DEBF68AD1119B1C00A0C94D230690987D.cygnus.gnu-win32@hopper.logica.co.uk> To: gnu-win32 AT cygnus DOT com 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 fieldhouse AT logica DOT com 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 "gnu-win32-request AT cygnus DOT com" with one line of text: "help".