Boost logo

Boost :

Subject: Re: [boost] GDB-like debugger for template metaprograms
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-12-01 18:25:39


On 11/30/2014 4:36 PM, Abel Sinkovics wrote:
> Hi Edward,
>
> On 2014-11-30 20:08, Edward Diener wrote:
>> 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
> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk