<br><br><div class="gmail_quote">On Tue, Jun 21, 2011 at 12:06 AM, Josh Triplett <span dir="ltr">&lt;<a href="mailto:josh@joshtriplett.org">josh@joshtriplett.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On Fri, Jun 17, 2011 at 06:51:37PM +0530, vikash agrawal wrote:<br>
&gt; So far I have understood the code generation, Now I want to test it, so how<br>
&gt; do I do it?<br>
&gt; Also if I add this<br>
&gt;<br>
&gt;  &lt;!-- This are for testing purpose --&gt;<br>
&gt;   &lt;enum name=&quot;Test&quot;&gt;<br>
&gt;       &lt;item name=&quot;Test&quot; /&gt;<br>
&gt;       &lt;item name=&quot;Reteset&quot; /&gt;<br>
&gt;   &lt;/enum&gt;<br>
&gt;<br>
&gt; to any of protocol then will it compile to give outputs? because I tried but<br>
&gt; it didnt. So how do I test if I am going correct in understanding the code<br>
&gt; generation.<br>
<br>
</div>That seems like a nice test to start with.  You should start by making<br>
sure that the libxcb build finds your modified proto files; it may only<br>
look at the system-wide files.  Try configuring your modified proto with<br>
&quot;./configure --prefix=/tmp/xcbtest&quot;, doing &quot;make install&quot; on it, then<br>
configuring libxcb with &quot;PKG_CONFIG_PATH=/tmp/xcbtest/lib/pkgconfig<br>
./configure --prefix=/tmp/xcbtest/&quot; so it uses the modified proto.  If<br>
all goes well, during the build process you should see lines like this:<br>
<br>
/usr/bin/python ./c_client.py -p /tmp/xcbtest/lib/python2.6/site-packages /tmp/xcbtest/share/xcb/xproto.xml<br>
<br>
Actually, you can probably run commands like that directly.<br>
<div class="im"><br>
&gt; And should I move to xkb or xproto now?<br>
<br>
</div>I&#39;d suggest first running more tests along the lines of what you did<br>
above.  Once you see the generated code for your &lt;enum&gt; test, try<br>
building a &lt;struct&gt; to see what that produces.  In particular, try<br>
putting simple fields with various sizes (CARD8, CARD16, CARD32) next to<br>
each other and see when you end up with generated padding.  That should<br>
help you understand the padding rules.<br>
<div class="im"><br>
&gt; [ Am I going very slow? Please speak to me bluntly as this is very<br>
&gt; important, with context to deadlines, work and assessments ( less than 20<br>
&gt; days left ) as I really want to know and would pace up more to give my best,<br>
&gt; By now almost 3 weeks are coming to an end and I feel very unsatisfied with<br>
&gt; my work, though still I am not sure, if I am judging my self very brutally<br>
&gt; or sympathetically]<br>
<br>
</div>See my previous reply regarding this.  In short, please don&#39;t worry too<br>
much about the deadline; focus on learning about the code generation<br>
through experiments, understanding the padding bug, and figuring out how<br>
to implement the padding rules.  Remember, you have a large, complex,<br>
and unfamiliar codebase to work with here; you will absolutely need time<br>
to understand it.  Don&#39;t worry about having to do experiments to learn,<br>
and don&#39;t worry that you haven&#39;t already produced useful code.  This<br>
part of the process will feel a bit unproductive until you realize how<br>
much information you&#39;ve had to learn so that you could start writing<br>
code.  Experiments and learning count as productive work, as long as you<br>
go on to use that knowledge later in the process. :)<br>
<font color="#888888"><br>
- Josh Triplett<br></font></blockquote><div><br><br>All points noted,<br><br>Also I wanted to convey that from past 4 days, I have come to Bangalore ( have some major family issue and cant post that in the mailing list ) so, I was out of work. Coming here was very urgent and indispensable.<br>

And now again I am back to work, though I will be leaving Bangalore by Tuesday.<br><br>Also I bought a new phone :)<br><br>Thank You Guys<br><br>With love<br><br>Vikash Agrawal<br></div></div>