On 22 February 2012 16:06, Chad Versace <span dir="ltr">&lt;<a href="mailto:chad.versace@linux.intel.com">chad.versace@linux.intel.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On 02/22/2012 02:22 PM, Ian Romanick wrote:<br>
&gt; On 02/22/2012 02:17 PM, Paul Berry wrote:<br>
&gt;&gt; On 22 February 2012 13:52, Ian Romanick &lt;<a href="mailto:idr@freedesktop.org">idr@freedesktop.org</a><br>
&gt;&gt; &lt;mailto:<a href="mailto:idr@freedesktop.org">idr@freedesktop.org</a>&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;     On 02/22/2012 01:41 PM, Paul Berry wrote:<br>
&gt;&gt;<br>
&gt;&gt;           From<br>
&gt;&gt;         <a href="http://www.opengl.org/__registry/specs/ARB/seamless___cube_map.txt" target="_blank">http://www.opengl.org/__registry/specs/ARB/seamless___cube_map.txt</a><br>
&gt;&gt;         &lt;<a href="http://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt" target="_blank">http://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt</a>&gt;:<br>
&gt;&gt;<br>
&gt;&gt;              Accepted by the&lt;cap&gt;  parameter of Enable, Disable and<br>
&gt;&gt;         IsEnabled,<br>
&gt;&gt;              and by the&lt;pname&gt;  parameter of GetBooleanv, GetIntegerv,<br>
&gt;&gt;         GetFloatv<br>
&gt;&gt;              and GetDoublev:<br>
&gt;&gt;<br>
&gt;&gt;              TEXTURE_CUBE_MAP_SEAMLESS                   0x884F<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;     Oops.  That was my typo.  You&#39;ll also have to regenerate the various<br>
&gt;&gt;     files that depend on the XML definitions.  I think this change<br>
&gt;&gt;     should only cause changes in src/mesa/main/enums.c.<br>
&gt;&gt;<br>
&gt;&gt;     Reviewed-by: Ian Romanick &lt;<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a><br>
&gt;&gt;     &lt;mailto:<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Oops.  I didn&#39;t realize that those files weren&#39;t built automatically.<br>
&gt;&gt; I&#39;ll send an updated patch.<br>
&gt;<br>
&gt; Dear god, no!  The patch will be huge.<br>
<br>
&gt;&gt; Is there any good reason why we don&#39;t automatically generate files like<br>
&gt;&gt; enum.c as part of the mesa build process?  The comment at the top of<br>
&gt;&gt; src/mapi/glapi/gen/Makefile says &quot;This file isn&#39;t used during a normal<br>
&gt;&gt; compilation since we don&#39;t want to require Python in order to compile<br>
&gt;&gt; Mesa.&quot;  But I don&#39;t think that makes sense anymore, because Python is<br>
&gt;&gt; required to build files like src/mapi/es2api/glapi_mapi_tmp.h, as well<br>
&gt;&gt; as some files in src/glsl.<br>
&gt;&gt;<br>
&gt;&gt; In point of fact, it seems really strange that a file like<br>
&gt;&gt; src/mapi/es2api/glapi_mapi_tmp.h is autogenerated during the build<br>
&gt;&gt; process, but src/mesa/main/enums.c isn&#39;t, since both files are built<br>
&gt;&gt; from the same set of xml sources.<br>
&gt;<br>
&gt; A couple reasons:<br>
<br>
</div></div>I really want to see all *build* artifacts removed from Mesa&#39;s *source* control. I recall the<br>
pain of having the bison and flex output managed by git, and I don&#39;t like continuing that fallacy.<br>
<div class="im"><br>
&gt; 1. The generated files really, really, really should be in git so that accidental changes will be noticed.  This has bitten us a couple times.<br>
<br>
</div>Wouldn&#39;t `git log *.xml *.py` also alert you that the generated headers have changed?<br>
<div class="im">&gt;<br>
&gt; 2. Changes to the XML files frequently precipitate changes to files in the xserver.  There&#39;s no way to automatically handle that.<br>
<br>
</div>I don&#39;t understand how 2 affects this discussion. Is it that the xserver build relies on these generated headers? If so, then<br>
we can move the generated headers to the xserver repo and merrily remove these build artifacts from Mesa&#39;s source control.<br>
Afterwards, it would be the xserver&#39;s devs responsibility to manually update their headers, or fix their makefiles to gen them<br>
at build time.<br>
<div class="im"><br>
&gt; 3. Several of the scripts take a really, really long time to run.  I&#39;m not eager to add a few minutes to my clean-build times.<br>
<br>
</div>$ cd src/mapi/glapi/gen<br>
$ make mesa<br>
real    0m5.634s<br>
<br>
I don&#39;t think an adding 5 seconds to a clean build is cause for concern if the addition allows us<br>
to remove build artifacts from source control.<br></blockquote><div><br>I agree with this.  In my experience, including build outputs in source control is nearly always a mistake; as a rule, I&#39;d rather exclude build artifacts from source control except in situations where there is no feasible alternative.  IMHO this doesn&#39;t seem like one of those situations.<br>
</div></div>