Mail Archives: djgpp/2008/07/11/09:25:59
I understand this small problem.
Am curious for consensus on what to do about it.
toplevel gcc configure:
  $ /src/gcc431/configure  
    -disable-bootstrap  
    -disable-nls  
    -enable-languages=c,c++  
    -disable-werror  
    -target i586-pc-msdosdjgpp  
    -without-libiconv-prefix  
    -with-sysroot           <<<<   
 resulting libgcc configure which fails, not actually interesting: 
  $ /src/gcc431/libgcc/configure 
    --cache-file=./config.cache 
    --enable-multilib 
    --with-cross-host=i686-pc-cygwin 
    -disable-bootstrap 
    -disable-nls 
    -enable-languages=c,c++ 
    -disable-werror 
    -without-libiconv-prefix 
    -with-sysroot             <<<< 
    --enable-languages=c,c++ 
    --program-transform-name=s,^,i586-pc-msdosdjgpp-, 
    --with-target-subdir=i586-pc-msdosdjgpp 
    --build=i686-pc-cygwin 
    --host=i586-pc-msdosdjgpp 
    --target=i586-pc-msdosdjgpp 
    --srcdir=/src/gcc431/libgcc 
 libgcc/configure result: 
In file included from conftest.c:10:
/obj/gcc/./gcc/include-fixed/stdio.h:27:25: error: sys/version.h: No such file or directory
/obj/gcc/./gcc/include-fixed/stdio.h:28:25: error: sys/djtypes.h: No such file or directory
actual file locations:
C:\cygwin\usr\local\i586-pc-msdosdjgpp\sys-root\include\sys\djtypes.h
C:\cygwin\usr\local\i586-pc-msdosdjgpp\sys-root\include\sys\version.h
gcc invocations in config.log (slightly confusing, seems
intermixed with output to user):
configure:2747: checking for /obj/gcc/./gcc/xgcc -B/obj/gcc/./gcc/
    -B/usr/local/i586-pc-msdosdjgpp/bin/
    -B/usr/local/i586-pc-msdosdjgpp/lib/
    -isystem /usr/local/i586-pc-msdosdjgpp/include
    -isystem /usr/local/i586-pc-msdosdjgpp/sys-include
    option to accept ANSI C
configure:2817: /obj/gcc/./gcc/xgcc
    -B/obj/gcc/./gcc/
    -B/usr/local/i586-pc-msdosdjgpp/bin/
    -B/usr/local/i586-pc-msdosdjgpp/lib/
    -isystem /usr/local/i586-pc-msdosdjgpp/include
    -isystem /usr/local/i586-pc-msdosdjgpp/sys-include
     -c -O2 -g -g -O2    conftest.c>&5
What do people think should be done?
 - nothing 
  users should use -with-headers or restructure/copy/link
  the headers to fit the search
 - patch gcc to look in sys-root/include instead of or
   in addition to sys-root/usr/include, perhaps only for
   djgpp (yes, I see the years-old post where someone
   essentially asked for this for all platforms)
 - restructure djgpp to use djgpp/usr/include in place
   of djgpp/include; unlikely; native system shouldn't
   change to cater to cross builds; could change the cross
   compilation packages though 
I think #2 patch gcc.
A very small change.
In general I don't want to invent file system layouts if
there is already an existing convention or default.
This seems like disagreement of two conventions.
djgpp's native environment being DOS, it makes up its own
very reasonable and shorter standard include path, which
is /include and not /usr/include.
Gcc configuration for cross builds changed at some point (4.x?)
and assumes a more Unixy layout.
Maybe this belongs in djgpp-workers?
 - Jay
- Raw text -