https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879
--- Comment #11 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- Those -isystem paths are the *non-sysroot* kind of paths for headers for a cross compiler. There is no support for building a *non-sysroot* cross toolchain when its libc is installed in a location other than the configured location, as there is no non-sysroot-headers equivalent of --with-build-sysroot. Rather, you can only build a sysroot toolchain that way, meaning configuring with the --with-sysroot and --with-build-sysroot options. If you want to configure a non-sysroot cross toolchain with such directory arrangements, you need to configure it as a sysroot one (with --with-sysroot=$prefix/$target and a corresponding --with-build-sysroot= option). Then, you need to have a $target/usr -> . symlink present during the build process (under $DESTDIR/$prefix) to emulate a sysroot arrangement well enough for the installed headers to be found during the build (usr -> . works for newlib, other libraries may need other symlinks, e.g. mingw -> . for MinGW-w64 targets). I don't know if that works for DJGPP, but it definitely works for newlib and MinGW-w64, as I've implemented build systems doing just that.