<div dir="rtl"><div dir="ltr">Hi <span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Takumi,</span></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div>

<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Do you mean to create a new MinGWToolChain in driver?</span><br></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br>

</span></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">I am trying to solve the situation on host Windows where the install directory is not standard and different between the distributions and between 32 and 64 bit.</span></div>

<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">I'd like clang to handle at least MinGW.org and mingw-builds 32,64 bit automatically for any install directory as long as gcc.exe is on the PATH. </span></div>

<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">This scheme should work running under host CygWin as well just the same.</span></div>

<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Under host Linux it's not MinGW but gcc and clang already knows to find include directory since they are standard.</span></div>

<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Yaron</span></div><div dir="ltr">

<span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div dir="ltr"><br></div>

<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Yaron</span></div><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div></div><div class="gmail_extra">

<br><br><div class="gmail_quote"><div dir="ltr">2014-03-23 15:05 GMT+02:00 NAKAMURA Takumi <span dir="ltr"><<a href="mailto:geek4civic@gmail.com" target="_blank">geek4civic@gmail.com</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Yaron,<br>
<br>
At first, we may implement the driver instead of twiddling InitHeaderSearch.<br>
By the way, did you consider cross tools on other hosts, like cygwin and linux?<br>
<br>
...Takumi<br>
<br>
2014-03-23 19:36 GMT+09:00 Yaron Keren <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>>:<br>
<div class="HOEnZb"><div class="h5">> Hi,<br>
><br>
> The current setup of MinGW include directories in InitHeaderSearch.cpp has<br>
> several problems:<br>
><br>
> * New versions are added manually to the code.<br>
> * All existing versions of MinGW directories are added regardless of what is<br>
> actually installed (and pruned later), wasted work.<br>
> * Two MinGW.org C includes are missing.<br>
> * If multiple MinGW versions are installed clang will add directories for<br>
> all of them leading to unpredictable results.<br>
><br>
> I'd like to suggest that clang will add include directories only for the<br>
> gcc.exe which is on the system PATH based on the list below for both<br>
> distributions.<br>
> This way:<br>
> * clang will not add include diectories for every possible version, only for<br>
> this one.<br>
> * clang  will correctly hanlde multiple based on the dveloper choice which<br>
> gcc.exe is on the path<br>
> * We won't have to manually update new versions in InitHeaderSearch.cpp.<br>
><br>
> What do you think?<br>
><br>
> Yaron<br>
><br>
> <a href="http://mingw.org" target="_blank">mingw.org</a><br>
> ---------<br>
> gcc location<br>
> BASEPATH\bin\gcc.exe<br>
><br>
> C32 includes<br>
> BASEPATH\lib\gcc\mingw32\X.Y.Z\include<br>
> BASEPATH\lib\gcc\mingw32\X.Y.Z\include-fixed<br>
> BASEPATH\include<br>
><br>
> C++32 includes<br>
> BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++<br>
> BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++\mingw32<br>
> BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++\backward<br>
><br>
> mingw-w64<br>
> ---------<br>
> gcc includes<br>
> BASEPATH\bin\gcc.exe<br>
><br>
> C32 includes<br>
> BASEPATH\lib\gcc\i686-w64-mingw32\X.Y.Z\include<br>
> BASEPATH\lib\gcc\i686-w64-mingw32\X.Y.Z\include-fixed<br>
> BASEPATH\i686-w64-mingw32\include<br>
><br>
> C64 includes<br>
> BASEPATH\lib\gcc\x86_64-w64-mingw32\X.Y.Z\include<br>
> BASEPATH\lib\gcc\x86_64-w64-mingw32\X.Y.Z\include-fixed<br>
> BASEPATH\x86_64-w64-mingw32\include<br>
><br>
> C++32 includes<br>
> BASEPATH\i686-w64-mingw32\include\c++<br>
><br>
> C++64 includes<br>
> BASEPATH\x86_64-w64-mingw32\include\c++<br>
><br>
><br>
><br>
</div></div></blockquote></div><br></div>