[cfe-dev] MinGW include directories [RFC]

Yaron Keren yaron.keren at gmail.com
Sun Mar 23 03:36:30 PDT 2014


Hi,

The current setup of MinGW include directories in InitHeaderSearch.cpp has
several problems:

* New versions are added manually to the code.
* All existing versions of MinGW directories are added regardless of what
is actually installed (and pruned later), wasted work.
* Two MinGW.org C includes are missing.
* If multiple MinGW versions are installed clang will add directories for
all of them leading to unpredictable results.

I'd like to suggest that clang will add include directories only for the
gcc.exe which is on the system PATH based on the list below for both
distributions.
This way:
* clang will not add include diectories for every possible version, only
for this one.
* clang  will correctly hanlde multiple based on the dveloper choice which
gcc.exe is on the path
* We won't have to manually update new versions in InitHeaderSearch.cpp.

What do you think?

Yaron

mingw.org
---------
gcc location
BASEPATH\bin\gcc.exe

C32 includes
BASEPATH\lib\gcc\mingw32\X.Y.Z\include
BASEPATH\lib\gcc\mingw32\X.Y.Z\include-fixed
BASEPATH\include

C++32 includes
BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++
BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++\mingw32
BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++\backward

mingw-w64
---------
gcc includes
BASEPATH\bin\gcc.exe

C32 includes
BASEPATH\lib\gcc\i686-w64-mingw32\X.Y.Z\include
BASEPATH\lib\gcc\i686-w64-mingw32\X.Y.Z\include-fixed
BASEPATH\i686-w64-mingw32\include

C64 includes
BASEPATH\lib\gcc\x86_64-w64-mingw32\X.Y.Z\include
BASEPATH\lib\gcc\x86_64-w64-mingw32\X.Y.Z\include-fixed
BASEPATH\x86_64-w64-mingw32\include

C++32 includes
BASEPATH\i686-w64-mingw32\include\c++

C++64 includes
BASEPATH\x86_64-w64-mingw32\include\c++
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140323/f7256afb/attachment.html>


More information about the cfe-dev mailing list