<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 30, 2014 at 10:01 AM, Matthias Goldhoorn <span dir="ltr"><<a href="mailto:matthias.goldhoorn@dfki.de" target="_blank">matthias.goldhoorn@dfki.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>1. orogen calls the gccxml and forwards it to the typelib<br></div></div></blockquote><div>Nope. orogen calls typelib to import a C/C++ file using Registry#import and typelib does the importing using gccxml. From the p.o.v. of orogen, gccxml does not exist.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div>
2. typelib creates the structure and tlb's<br></div></div></blockquote><div>Correct. The gccxml output is parsed by typelib's gccxml importer to create a typelib registry. This is what is returned to orogen.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div>
what i don't understand, the gccxml output is only kind of
"preprocessor" output. <br></div></div></blockquote><div>The gccxml output contains the whole information. The gccxml importer extracts only what typelib will need (throws away all the method/function information). This is in big part why the import is so damn slow, a gccxml output can be very easily multi-MB of XML while we need maybe 1% of it.</div>
<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div>
How are the padding/sizes/alignments are created or calculated,
where is this part?<br>
I only found this in orogen lib/orogen/gen/typekit.rb:1406. But i
have no clue how the typeinfos are gathered.<br></div></div></blockquote><div>The padding / alignment / sizes should NOT be calculated, but provided by the compiler. I was doing it once upon a time, but that's really really fragile to do right.</div>
<div><br></div><div>By the way, with clang the whole process should be done within typelib in C++. No need to pass through Ruby.</div><div> </div><div>Sylvain</div></div><br></div></div>