On 11/30/2014 4:36 PM, Abel Sinkovics wrote:
Hi Edward,
Building Metashell on Windows seems pretty flawed:
1) Metashell depends on Templight. 2) Templight supposedly depends on an older version of Clang than what is currently in the Clang svn source tree. Metashell uses the functionality Templight provides. Since Templight is not part of Clang (yet?), you need to build a Templight-enabled Clang for Metashell. The patch is not following the Clang trunk continuously - it is upgraded to the latest trunk sometimes. If you'd like to port the
On 2014-11-30 20:08, Edward Diener wrote: patch to the latest in trunk, I'm happy to merge it.
It would be more reasonable for the developers of Templight to port their patch to the latest clang trunk. I e-mailed them suggesting this, but did not receive a reply as yet.
3) The instructions say "Download the source code from github" soon followed by "Download the source code on your Windows host". Huh ? I've removed this extra instruction. Thank you for pointing it out.
4) The instructions tell me to build Clang with Templight. Suppose I already have Clang regularly built from source using mingw/gcc. Am I actually building another version of clang just for Metashell and using that version instead as Clang when working with Metashell ? Ugh !!! It would be much better if whatever is needed from Clang were part of the latest clang source rather than some backdated version. Of course it would be much easier if Templight was part of Clang, but it isn't at the moment, so you need a special build. Let me know if you have a better idea than this approach.
5) There is something about re-downloading the MingW header files. Is his ever necessary ? Why should I be doing this on Linux if I am building for Windows. You probably don't need to do this, as they are part of the source tree. The script it was done with is there, so you can see how they were
collected and I expect it to be useful for upgrading to newer versions of these headers. The reason why it is a Linux script is that I found it easier to write it this way - it shouldn't matter which platform you do this on.
I was able to build Metashell successfully under Windows with your instructions. Two further suggestions for your "Building Metashell on Windows" instructions: 1) The Visual Studio build for Metashell should I believe specify that the configuration should match that of Clang build, ie. 'release'. Or do I have that wrong and Metashell is supposed to be built/run as the 'debug' version ? 2) You should specify where the final metaclass.exe will be built. Evidently it is in the bin/app/Release directory for me. I will try out your product. It is great to see you working on this as it may be a great boon to template metaprogramming.