I ran into an issue where different distributions of MinGW report their include
search paths differently with respect to how directory separators are used.
Below, you can see the output of one MinGW distribution and corresponding
gccxml build that mostly works followed by another that is completely broken.
In the first example, MinGW mostly uses all forward slashes. There are a
couple paths that have backslashes, which MinGW fail on. In the second
example, all of the paths have backslashes, so gccxml doesn't pick up any of
the system headers.
Is there a way to work around this? I don't want to pass in the system
includes via -I because that can change from machine to machine.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER A GCC CONFIG!!!!!!!!!!!!!!!!!!!!
C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:\MinGW-simics\bin\gcc.exe"
-v BoostHeaders.hpp
Using built-in specs.
COLLECT_GCC=c:\MinGW-simics\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw-simics/bin/../libexec/gcc/x86_64-w64-mingw32/4.5.3/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../build/gcc/src/configure --target=x86_64-w64-mingw32
--prefix=/c/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root
--with-sysroot=/c/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root
--enable-languages=all,obj-c++ --enable-fully-dynamic-string --disable-multilib
Thread model: win32
gcc version 4.5.3 20110207 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
c:/mingw-simics/bin/../libexec/gcc/x86_64-w64-mingw32/4.5.3/cc1plus.exe -quiet
-v -iprefix c:\mingw-simics\bin\../lib/gcc/x86_64-w64-mingw32/4.5.3/
BoostHeaders.hpp -quiet -dumpbase BoostHeaders.hpp -mtune=generic -march=x86-64
-auxbase BoostHeaders -version -o
C:\Users\davidsj2\AppData\Local\Temp\ccYFaCr3.s
--output-pch=BoostHeaders.hpp.gch
GNU C++ (GCC) version 4.5.3 20110207 (prerelease) (x86_64-w64-mingw32)
compiled by GNU C version 4.4.5 20101001 (release) [svn/rev.164871 -
mingw-w64/oz], GMP version 5.0.1, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory
"c:/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/rootc:/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root/include"
ignoring duplicate directory
"c:/mingw-simics/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.5.3/include"
ignoring duplicate directory
"c:/mingw-simics/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.5.3/include-fixed"
ignoring nonexistent directory
"c:/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
c:\mingw-simics\bin\../lib/gcc/x86_64-w64-mingw32/4.5.3/include
c:\mingw-simics\bin\../lib/gcc/x86_64-w64-mingw32/4.5.3/include-fixed
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/x86_64-w64-mingw32
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/backward
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include
End of search list.
GNU C++ (GCC) version 4.5.3 20110207 (prerelease) (x86_64-w64-mingw32)
compiled by GNU C version 4.4.5 20101001 (release) [svn/rev.164871 -
mingw-w64/oz], GMP version 5.0.1, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 3fd3e1a57a1ebaa3e31328561e04d6bd
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER A GCCXML CONFIG!!!!!!!!!!!!!!!!!!!!
C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:\MinGW-simics\bin\gccxml.exe"
-v BoostHeaders.hpp
ignoring nonexistent directory
"c:mingw-simicsbin../lib/gcc/x86_64-w64-mingw32/4.5.3/include"
ignoring nonexistent directory
"c:mingw-simicsbin../lib/gcc/x86_64-w64-mingw32/4.5.3/include-fixed"
#include wrapper search starts here:
c:/MinGW-simics/share/gccxml-0.9/GCC/4.5
#include "..." search starts here:
#include <...> search starts here:
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/x86_64-w64-mingw32
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/backward
c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include
End of search list.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER B GCC CONFIG!!!!!!!!!!!!!!!!!!!!
C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:/MinGW/bin/gcc.exe" -v
BoostHeaders.hpp
Using built-in specs.
COLLECT_GCC=c:/MinGW/bin/gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/4.6.3/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: /home/drangon/work/mingw-w64-dgn/source/gcc/configure
--host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-nls
--enable-languages=c,c++,objc,obj-c++
--with-gmp=/home/drangon/work/mingw-w64-dgn/build/for_target
--enable-twoprocess --disable-libstdcxx-pch --disable-win32-registry
--prefix=/home/drangon/work/mingw-w64-dgn/target
--with-sysroot=/home/drangon/work/mingw-w64-dgn/target
Thread model: win32
gcc version 4.6.3 20120127 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/4.6.3/cc1plus.exe -quiet -v
-iprefix c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/ BoostHeaders.hpp
-quiet -dumpbase BoostHeaders.hpp -mtune=generic -march=x86-64 -auxbase
BoostHeaders -version -o C:\Users\davidsj2\AppData\Local\Temp\cciw6Dae.s
--output-pch=BoostHeaders.hpp.gch
GNU C++ (GCC) version 4.6.3 20120127 (prerelease) (x86_64-w64-mingw32)
compiled by GNU C version 4.6.3 20120127 (prerelease), GMP version
5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory
"c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3"
ignoring duplicate directory
"c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/x86_64-w64-mingw32"
ignoring duplicate directory
"c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/backward"
ignoring duplicate directory
"c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/include"
ignoring nonexistent directory
"/home/drangon/work/mingw-w64-dgn/target/home/drangon/work/mingw-w64-dgn/target/lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include"
ignoring duplicate directory
"c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/include-fixed"
ignoring duplicate directory
"c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory
"/home/drangon/work/mingw-w64-dgn/target/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/x86_64-w64-mingw32
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/backward
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/include
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/include-fixed
c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/include
End of search list.
GNU C++ (GCC) version 4.6.3 20120127 (prerelease) (x86_64-w64-mingw32)
compiled by GNU C version 4.6.3 20120127 (prerelease), GMP version
5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5928114aaac0e37010a3909c738d0355
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER B GCCXML CONFIG!!!!!!!!!!!!!!!!!!!!
C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:/MinGW/bin/gccxml.exe" -v
BoostHeaders.hpp
ignoring nonexistent directory
"c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3"
ignoring nonexistent directory
"c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/x86_64-w64-mingw32"
ignoring nonexistent directory
"c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/backward"
ignoring nonexistent directory
"c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/include"
ignoring nonexistent directory
"c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/include-fixed"
ignoring nonexistent directory
"c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/include"
#include wrapper search starts here:
c:/MinGW/share/gccxml-0.9/GCC/4.6
#include "..." search starts here:
#include <...> search starts here:
End of search list.
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://www.gccxml.org/mailman/listinfo/gccxml