[cfe-dev] MinGW include directories [RFC]

NAKAMURA Takumi geek4civic at gmail.com
Sun Mar 23 06:05:44 PDT 2014


Yaron,

At first, we may implement the driver instead of twiddling InitHeaderSearch.
By the way, did you consider cross tools on other hosts, like cygwin and linux?

...Takumi

2014-03-23 19:36 GMT+09:00 Yaron Keren <yaron.keren at gmail.com>:
> 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++
>
>
>



More information about the cfe-dev mailing list