[cfe-dev] MinGW include directories [RFC]

Yaron Keren yaron.keren at gmail.com
Sun Mar 23 05:24:43 PDT 2014


Hi Rafael,

Do you mean Generic_GCC::GCCInstallationDetector ?

Yaron



2014-03-23 14:10 GMT+02:00 Rafael Avila de Espindola <
rafael.espindola at gmail.com>:

>
>
> Sent from my iPhone
>
> On Mar 23, 2014, at 6:54, Reid Kleckner <rnk at google.com> wrote:
>
> That makes total sense, given that (I think) we do roughly the same on
> Linux.
>
>
> We do a search in the driver and pass the result down. Doing the same for
> mingw would be nice.
>
>
> Sent from phone
> On Mar 23, 2014 5:40 AM, "Yaron Keren" <yaron.keren at gmail.com> wrote:
>
>> 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++
>>
>>
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140323/a9f74b87/attachment.html>


More information about the cfe-dev mailing list