<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">&lt;<a href="mailto:matthias.goldhoorn@dfki.de" target="_blank">matthias.goldhoorn@dfki.de</a>&gt;</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&#39;s<br></div></div></blockquote><div>Correct. The gccxml output is parsed by typelib&#39;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&#39;t understand, the gccxml output is only kind of
      &quot;preprocessor&quot; 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&#39;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>