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 -