<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.video.mesa3d.devel">
    <title>gmane.comp.video.mesa3d.devel</title>
    <link>http://blog.gmane.org/gmane.comp.video.mesa3d.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40779"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40778"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40777"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40776"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40775"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40774"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40773"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40772"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40771"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40770"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40769"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40768"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40767"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40766"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40765"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40764"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40763"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40762"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40761"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40760"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40779">
    <title>Re: [PATCH 04/11] clover: Add a function for retrievinga device's preferred ir v2</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40779</link>
    <description>&lt;pre&gt;

It doesn't look like this include is necessary.


If you're assuming that 'target' is NULL-terminated, why don't you use
the normal constructor of std::string that takes a 'char *' as argument?

Like:
| return { target.data() };

_______________________________________________
mesa-dev mailing list
mesa-dev&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
&lt;/pre&gt;</description>
    <dc:creator>Francisco Jerez</dc:creator>
    <dc:date>2012-05-25T02:30:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40778">
    <title>Re: [PATCH 03/11] gallium/compute: AddPIPE_COMPUTE_CAP_IR_TARGET</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40778</link>
    <description>&lt;pre&gt;

This documentation seems wrong now, the CAP isn't used to determine the
representation of the compute program anymore, and it has nothing to do
with TGSI being used or not.

_______________________________________________
mesa-dev mailing list
mesa-dev&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
&lt;/pre&gt;</description>
    <dc:creator>Francisco Jerez</dc:creator>
    <dc:date>2012-05-25T02:29:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40777">
    <title>Re: [PATCH 02/11] gallium: Add PIPE_SHADER_IR_LLVM toenum pipe_shader_ir v2</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40777</link>
    <description>&lt;pre&gt;

Reviewed-by: Francisco Jerez &amp;lt;currojerez&amp;lt; at &amp;gt;riseup.net&amp;gt;
_______________________________________________
mesa-dev mailing list
mesa-dev&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
&lt;/pre&gt;</description>
    <dc:creator>Francisco Jerez</dc:creator>
    <dc:date>2012-05-25T02:27:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40776">
    <title>Re: [PATCH 10/11] clover: Add function for building aclover::module for non-TGSI targets v3</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40776</link>
    <description>&lt;pre&gt;

Just pass dev-&amp;gt;ir_target() to compile_program_tgsi() as it was done
before, or remove the argument if you want, it's useless anyway.


OK, I think I didn't explain myself correctly when I suggested you to
use a "struct"...  What I meant is, if this convention of storing the
bitcode size at the beginning of an LLVM program is part of the state
tracker/driver interface, wouldn't it make sense to define it as a
struct in some public header file?

_______________________________________________
mesa-dev mailing list
mesa-dev&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
&lt;/pre&gt;</description>
    <dc:creator>Francisco Jerez</dc:creator>
    <dc:date>2012-05-25T02:27:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40775">
    <title>Re: Doing 8.0.1 release?</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40775</link>
    <description>&lt;pre&gt;
On May 24, 2012, at 11:36, Matt Turner &amp;lt;mattst88&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:


It's a packaging bug.  The generated source should be packaged with the tarball like other generated source (flex, bison, etc).  MesaLib tarballs have sometimes contained and sometimes missed these files, and I'd like it to be consistent.  Yes, I can use a python with that module, but the build system I use for XQuartz (namely a vanilla OS X) does not come with that python module, and I frequently forget to install it or change to a different python when I roll a build.
&lt;/pre&gt;</description>
    <dc:creator>Jeremy Huddleston</dc:creator>
    <dc:date>2012-05-25T02:08:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40774">
    <title>Re: No more make clean!</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40774</link>
    <description>&lt;pre&gt;
Awesome. One step closer.

With the small typos fixed in 7/8, this series is

Reviewed-by: Matt Turner &amp;lt;mattst88&amp;lt; at &amp;gt;gmail.com&amp;gt;
&lt;/pre&gt;</description>
    <dc:creator>Matt Turner</dc:creator>
    <dc:date>2012-05-25T01:43:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40773">
    <title>Re: [PATCH 7/8] automake: Convert dricore building toautomake.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40773</link>
    <description>&lt;pre&gt;
$DRIVER_DIRS (missing $)


$ASM_FLAGS (missing $)

&lt;/pre&gt;</description>
    <dc:creator>Matt Turner</dc:creator>
    <dc:date>2012-05-25T01:42:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40772">
    <title>[PATCH 6/6] mesa: Fix hash table leak</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40772</link>
    <description>&lt;pre&gt;From: Antoine Labour &amp;lt;piman&amp;lt; at &amp;gt;chromium.org&amp;gt;

When a value was replaced, the new key was strdup'd and leaked.
To fix this, we modify the hash table implementation to return
whether the value was replaced and free() the (now useless)
duplicate string.
---
 src/mesa/program/hash_table.c |    5 +++--
 src/mesa/program/hash_table.h |   16 ++++++++++++----
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/mesa/program/hash_table.c b/src/mesa/program/hash_table.c
index dc8563a..067c20b 100644
--- a/src/mesa/program/hash_table.c
+++ b/src/mesa/program/hash_table.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -149,7 +149,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; hash_table_insert(struct hash_table *ht, void *data, const void *key)
     insert_at_head(&amp;amp; ht-&amp;gt;buckets[bucket], &amp;amp; node-&amp;gt;link);
 }
 
-void
+int
 hash_table_replace(struct hash_table *ht, void *data, const void *key)
 {
     const unsigned hash_value = (*ht-&amp;gt;hash)(key);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -162,7 +162,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; hash_table_replace(struct hash_table *ht, void *data, const void *key)
 
        if ((*ht-&amp;gt;compare)(hn-&amp;gt;key, key) == 0) {
   hn-&amp;gt;data = data;
-  return;
+  return 1;
        }
     }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -172,6 +172,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; hash_table_replace(struct hash_table *ht, void *data, const void *key)
     hn-&amp;gt;key = key;
 
     insert_at_head(&amp;amp; ht-&amp;gt;buckets[bucket], &amp;amp; hn-&amp;gt;link);
+    return 0;
 }
 
 void
diff --git a/src/mesa/program/hash_table.h b/src/mesa/program/hash_table.h
index bcf65df..a14bf13 100644
--- a/src/mesa/program/hash_table.h
+++ b/src/mesa/program/hash_table.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -114,6 +114,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; extern void hash_table_insert(struct hash_table *ht, void *data,
 /**
  * Add an element to a hash table with replacement
  *
+ * \return
+ * 1 if it did replace the the value (in which case the old key is kept), 0 if
+ * it did not replace the value (in which case the new key is kept).
+ *
  * \warning
  * If \c key is already in the hash table, \c data will \b replace the most
  * recently inserted \c data (see the warning in \c hash_table_insert) for
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -121,7 +125,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; extern void hash_table_insert(struct hash_table *ht, void *data,
  *
  * \sa hash_table_insert
  */
-extern void hash_table_replace(struct hash_table *ht, void *data,
+extern int hash_table_replace(struct hash_table *ht, void *data,
     const void *key);
 
 /**
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -219,6 +223,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; public:
     */
    void clear()
    {
+      hash_table_call_foreach(this-&amp;gt;ht, delete_key, NULL);
       hash_table_clear(this-&amp;gt;ht);
    }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -258,9 +263,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; public:
        * because UINT_MAX+1 = 0.
        */
       assert(value != UINT_MAX);
-      hash_table_replace(this-&amp;gt;ht,
- (void *) (intptr_t) (value + 1),
- strdup(key));
+      char *dup_key = strdup(key);
+      int result = hash_table_replace(this-&amp;gt;ht,
+      (void *) (intptr_t) (value + 1),
+      dup_key);
+      if (result)
+ free(dup_key);
    }
 
 private:
&lt;/pre&gt;</description>
    <dc:creator>Stéphane Marchesin</dc:creator>
    <dc:date>2012-05-25T01:29:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40771">
    <title>[PATCH 5/6] mesa: Free uniforms correclty.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40771</link>
    <description>&lt;pre&gt;From: Antoine Labour &amp;lt;piman&amp;lt; at &amp;gt;chromium.org&amp;gt;

This is an array of uniforms, not a single one.
---
 src/mesa/main/shaderobj.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c
index 7eb6f0b..d5ebf54 100644
--- a/src/mesa/main/shaderobj.c
+++ b/src/mesa/main/shaderobj.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -278,7 +278,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _mesa_clear_shader_program_data(struct gl_context *ctx,
                                 struct gl_shader_program *shProg)
 {
    if (shProg-&amp;gt;UniformStorage) {
-      _mesa_uniform_detach_all_driver_storage(shProg-&amp;gt;UniformStorage);
+      for (unsigned i = 0; i &amp;lt; shProg-&amp;gt;NumUserUniformStorage; ++i)
+         _mesa_uniform_detach_all_driver_storage(&amp;amp;shProg-&amp;gt;UniformStorage[i]);
       ralloc_free(shProg-&amp;gt;UniformStorage);
       shProg-&amp;gt;NumUserUniformStorage = 0;
       shProg-&amp;gt;UniformStorage = NULL;
&lt;/pre&gt;</description>
    <dc:creator>Stéphane Marchesin</dc:creator>
    <dc:date>2012-05-25T01:29:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40770">
    <title>[PATCH 4/6] meta: Cleanup the resources we allocate.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40770</link>
    <description>&lt;pre&gt;From: Antoine Labour &amp;lt;piman&amp;lt; at &amp;gt;chromium.org&amp;gt;

When we have multiple shared contexts, and one of them is
long-running, this will lead to never freeing those resources
since they are shared. Instead, free them right away on context
destruction since we know the other context isn't using them.
---
 src/mesa/drivers/common/meta.c |   72 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 66 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 95336fc..a52de86 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -319,6 +319,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct gl_meta_state
    struct drawtex_state DrawTex;  /**&amp;lt; For _mesa_meta_DrawTex() */
 };
 
+static void meta_glsl_blit_cleanup(struct gl_context *ctx, struct blit_state *blit);
+static void cleanup_temp_texture(struct gl_context *ctx, struct temp_texture *tex);
+static void meta_glsl_clear_cleanup(struct gl_context *ctx, struct clear_state *clear);
+
 static GLuint
 compile_shader_with_debug(struct gl_context *ctx, GLenum target, const GLcharARB *source)
 {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -335,12 +339,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; compile_shader_with_debug(struct gl_context *ctx, GLenum target, const GLcharARB
       return shader;
 
    _mesa_GetShaderiv(shader, GL_INFO_LOG_LENGTH, &amp;amp;size);
-   if (size == 0)
+   if (size == 0) {
+      _mesa_DeleteObjectARB(shader);
       return 0;
+   }
 
    info = malloc(size);
-   if (!info)
+   if (!info) {
+      _mesa_DeleteObjectARB(shader);
       return 0;
+   }
 
    _mesa_GetProgramInfoLog(shader, size, NULL, info);
    _mesa_problem(ctx,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -349,6 +357,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; compile_shader_with_debug(struct gl_context *ctx, GLenum target, const GLcharARB
  info, source);
 
    free(info);
+   _mesa_DeleteObjectARB(shader);
 
    return 0;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -401,10 +410,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _mesa_meta_init(struct gl_context *ctx)
 void
 _mesa_meta_free(struct gl_context *ctx)
 {
-   /* Note: Any textures, VBOs, etc, that we allocate should get
-    * freed by the normal context destruction code.  But this would be
-    * the place to free other meta data someday.
-    */
+   GET_CURRENT_CONTEXT(old_context);
+   _mesa_make_current(ctx, NULL, NULL);
+   meta_glsl_blit_cleanup(ctx, &amp;amp;ctx-&amp;gt;Meta-&amp;gt;Blit);
+   meta_glsl_clear_cleanup(ctx, &amp;amp;ctx-&amp;gt;Meta-&amp;gt;Clear);
+   cleanup_temp_texture(ctx, &amp;amp;ctx-&amp;gt;Meta-&amp;gt;TempTex);
+   if (old_context)
+      _mesa_make_current(old_context, old_context-&amp;gt;WinSysDrawBuffer, old_context-&amp;gt;WinSysReadBuffer);
+   else
+      _mesa_make_current(NULL, NULL, NULL);
    free(ctx-&amp;gt;Meta);
    ctx-&amp;gt;Meta = NULL;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1068,6 +1082,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; init_temp_texture(struct gl_context *ctx, struct temp_texture *tex)
    _mesa_GenTextures(1, &amp;amp;tex-&amp;gt;TexObj);
 }
 
+static void
+cleanup_temp_texture(struct gl_context *ctx, struct temp_texture *tex)
+{
+   if (!tex-&amp;gt;TexObj)
+     return;
+   _mesa_DeleteTextures(1, &amp;amp;tex-&amp;gt;TexObj);
+   tex-&amp;gt;TexObj = 0;
+}
+
 
 /**
  * Return pointer to temp_texture info for non-bitmap ops.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1604,6 +1627,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _mesa_meta_BlitFramebuffer(struct gl_context *ctx,
    }
 }
 
+static void
+meta_glsl_blit_cleanup(struct gl_context *ctx, struct blit_state *blit)
+{
+   if (blit-&amp;gt;ArrayObj) {
+      _mesa_DeleteVertexArraysAPPLE(1, &amp;amp;blit-&amp;gt;ArrayObj);
+      blit-&amp;gt;ArrayObj = 0;
+      _mesa_DeleteBuffersARB(1, &amp;amp;blit-&amp;gt;VBO);
+      blit-&amp;gt;VBO = 0;
+   }
+   if (blit-&amp;gt;DepthFP) {
+      _mesa_DeletePrograms(1, &amp;amp;blit-&amp;gt;DepthFP);
+      blit-&amp;gt;DepthFP = 0;
+   }
+}
+
 
 /**
  * Meta implementation of ctx-&amp;gt;Driver.Clear() in terms of polygon rendering.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1786,7 +1824,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; meta_glsl_clear_init(struct gl_context *ctx, struct clear_state *clear)
 
    clear-&amp;gt;ShaderProg = _mesa_CreateProgramObjectARB();
    _mesa_AttachShader(clear-&amp;gt;ShaderProg, fs);
+   _mesa_DeleteObjectARB(fs);
    _mesa_AttachShader(clear-&amp;gt;ShaderProg, vs);
+   _mesa_DeleteObjectARB(vs);
    _mesa_BindAttribLocationARB(clear-&amp;gt;ShaderProg, 0, "position");
    _mesa_LinkProgramARB(clear-&amp;gt;ShaderProg);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1799,7 +1839,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; meta_glsl_clear_init(struct gl_context *ctx, struct clear_state *clear)
 
       clear-&amp;gt;IntegerShaderProg = _mesa_CreateProgramObjectARB();
       _mesa_AttachShader(clear-&amp;gt;IntegerShaderProg, fs);
+      _mesa_DeleteObjectARB(fs);
       _mesa_AttachShader(clear-&amp;gt;IntegerShaderProg, vs);
+      _mesa_DeleteObjectARB(vs);
       _mesa_BindAttribLocationARB(clear-&amp;gt;IntegerShaderProg, 0, "position");
 
       /* Note that user-defined out attributes get automatically assigned
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1814,6 +1856,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; meta_glsl_clear_init(struct gl_context *ctx, struct clear_state *clear)
    }
 }
 
+static void
+meta_glsl_clear_cleanup(struct gl_context *ctx, struct clear_state *clear)
+{
+   if (clear-&amp;gt;ArrayObj == 0)
+      return;
+   _mesa_DeleteVertexArraysAPPLE(1, &amp;amp;clear-&amp;gt;ArrayObj);
+   clear-&amp;gt;ArrayObj = 0;
+   _mesa_DeleteBuffersARB(1, &amp;amp;clear-&amp;gt;VBO);
+   clear-&amp;gt;VBO = 0;
+   _mesa_DeleteObjectARB(clear-&amp;gt;ShaderProg);
+   clear-&amp;gt;ShaderProg = 0;
+
+   if (clear-&amp;gt;IntegerShaderProg) {
+      _mesa_DeleteObjectARB(clear-&amp;gt;IntegerShaderProg);
+      clear-&amp;gt;IntegerShaderProg = 0;
+   }
+}
+
 /**
  * Meta implementation of ctx-&amp;gt;Driver.Clear() in terms of polygon rendering.
  */
&lt;/pre&gt;</description>
    <dc:creator>Stéphane Marchesin</dc:creator>
    <dc:date>2012-05-25T01:29:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40769">
    <title>[PATCH 3/6] mesa/Makefile: Fix a race in the build.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40769</link>
    <description>&lt;pre&gt;From: Mike Frysinger &amp;lt;vapier&amp;lt; at &amp;gt;chromium.org&amp;gt;

The intent of the message above it is right (we need to build those
dependencies in that order) but the implementation is wrong, as it
can be executed in any order. To enforce the order, invoke make
multiple times.
---
 src/mesa/Makefile |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index 71e22b9..ce38081 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -65,7 +65,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(DRICORE_OBJ_DIR)/%.o: %.S
 
 # Default: build dependencies, then asm_subdirs, GLSL built-in lib,
 # then convenience libs (.a) and finally the device drivers:
-default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) driver_subdirs
+default: $(DEPENDS)
+$(MAKE) asm_subdirs
+$(MAKE) $(MESA_LIBS) $(DRICORE_LIBS)
+$(MAKE) driver_subdirs
 
 # include glapi_gen.mk for generating glapi headers for GLES
 GLAPI := $(TOP)/src/mapi/glapi/gen
&lt;/pre&gt;</description>
    <dc:creator>Stéphane Marchesin</dc:creator>
    <dc:date>2012-05-25T01:29:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40768">
    <title>[PATCH 2/6] glx: Handle a null reply in QueryVersion.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40768</link>
    <description>&lt;pre&gt;Works around crashes when X connections break.
---
 src/glx/glxext.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 12fff22..a4e76c1 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -293,6 +293,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; QueryVersion(Display * dpy, int opcode, int *major, int *minor)
                                                                        GLX_MINOR_VERSION),
                                                                       NULL);
 
+   if (!reply)
+     return GL_FALSE;
+
    if (reply-&amp;gt;major_version != GLX_MAJOR_VERSION) {
       free(reply);
       return GL_FALSE;
&lt;/pre&gt;</description>
    <dc:creator>Stéphane Marchesin</dc:creator>
    <dc:date>2012-05-25T01:29:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40767">
    <title>[PATCH 1/6] st/mesa: Don't flush the front buffer</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40767</link>
    <description>&lt;pre&gt;We might not even have a frontbuffer bound, this is the wrong place to do
this, and this is not needed, so remove it.
---
 src/mesa/state_tracker/st_manager.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
index d54b7ed..5990eaf 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -460,8 +460,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; st_context_flush(struct st_context_iface *stctxi, unsigned flags,
 {
    struct st_context *st = (struct st_context *) stctxi;
    st_flush(st, fence);
-   if (flags &amp;amp; ST_FLUSH_FRONT)
-      st_manager_flush_frontbuffer(st);
 }
 
 static boolean
&lt;/pre&gt;</description>
    <dc:creator>Stéphane Marchesin</dc:creator>
    <dc:date>2012-05-25T01:29:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40766">
    <title>[PATCH 4/8] mesa: Remove generated source files duringmake clean.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40766</link>
    <description>&lt;pre&gt;---
 src/mesa/Makefile |   12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index bb7b13a..4783f32 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,6 +71,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) driver_subdirs
 GLAPI := $(TOP)/src/mapi/glapi/gen
 include $(GLAPI)/glapi_gen.mk
 
+BUILT_SOURCES = \
+main/api_exec_es1_dispatch.h \
+main/api_exec_es1_remap_helper.h \
+main/api_exec_es2_dispatch.h \
+main/api_exec_es2_remap_helper.h \
+main/api_exec_es1.c \
+main/api_exec_es2.c \
+program/program_parse.tab.c \
+program/program_parse.tab.h \
+program/lex.yy.c
+
 main/api_exec_es1_dispatch.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_dispatch_deps)
 $(call glapi_gen_dispatch,$&amp;lt;,es1)
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -243,6 +254,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; clean: clean-dricore
 -rm -f depend depend.bak libmesa.a libmesagallium.a
 -rm -f drivers/*/*.o
 -rm -f *.pc
+-rm -f $(BUILT_SOURCES)
 -&amp;lt; at &amp;gt;cd drivers/dri &amp;amp;&amp;amp; $(MAKE) clean
 -&amp;lt; at &amp;gt;cd drivers/x11 &amp;amp;&amp;amp; $(MAKE) clean
 -&amp;lt; at &amp;gt;cd drivers/osmesa &amp;amp;&amp;amp; $(MAKE) clean
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40765">
    <title>[PATCH 7/8] automake: Convert dricore building to automake.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40765</link>
    <description>&lt;pre&gt;This is performed in a subdirectory to avoid needing to convert all of
src/mesa/Makefile in one go.

I can now cherry-pick a commit containing glapi XML changes, do "(cd
src/mapi/glapi/gen &amp;amp;&amp;amp; make) &amp;amp;&amp;amp; make", and get a working driver.
---
 configure.ac                    |   12 ++++++
 src/mesa/Makefile               |   54 ++++++--------------------
 src/mesa/libdricore/.gitignore  |    2 +
 src/mesa/libdricore/Makefile.am |   79 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 105 insertions(+), 42 deletions(-)
 create mode 100644 src/mesa/libdricore/.gitignore
 create mode 100644 src/mesa/libdricore/Makefile.am

diff --git a/configure.ac b/configure.ac
index 30a1099..e4280a0 100644
--- a/configure.ac
+++ b/configure.ac
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -50,6 +50,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; AC_PROG_CPP
 AC_PROG_CC
 AC_PROG_CXX
 AM_PROG_CC_C_O
+AM_PROG_AS
 AC_CHECK_PROGS([MAKE], [gmake make])
 AC_CHECK_PROGS([PYTHON2], [python2 python])
 AC_PROG_SED
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1087,7 +1088,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; if test "x$enable_dri" = xyes &amp;amp;&amp;amp; test "x$driglx_direct" = xyes ; then
     DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE'
     DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE'
     MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)'
+    HAVE_DRICORE=yes
 fi
+AM_CONDITIONAL(HAVE_DRICORE, test x$HAVE_DRICORE = xyes)
 AC_SUBST([DRICORE_LIBS])
 AC_SUBST([DRICORE_GLSL_LIBS])
 AC_SUBST([DRICORE_LIB_DEPS])
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2074,6 +2077,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
 AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
 AC_SUBST([GALLIUM_MAKE_DIRS])
 
+AM_CONDITIONAL(HAVE_X11_DRIVER, echo "DRIVER_DIRS" | grep 'x11' &amp;gt;/dev/null 2&amp;gt;&amp;amp;1)
+AM_CONDITIONAL(HAVE_DRI_DRIVER, echo "$DRIVER_DIRS" | grep 'dri' &amp;gt;/dev/null 2&amp;gt;&amp;amp;1)
+AM_CONDITIONAL(HAVE_OSMESA_DRIVER, echo "$DRIVER_DIRS" | grep 'osmesa' &amp;gt;/dev/null 2&amp;gt;&amp;amp;1)
+
+AM_CONDITIONAL(HAVE_X86_ASM, echo "ASM_FLAGS" | grep 'X86_ASM' &amp;gt;/dev/null 2&amp;gt;&amp;amp;1)
+AM_CONDITIONAL(HAVE_X86_64_ASM, echo "$ASM_FLAGS" | grep 'X86_64_ASM' &amp;gt;/dev/null 2&amp;gt;&amp;amp;1)
+AM_CONDITIONAL(HAVE_SPARC_ASM, echo "$ASM_FLAGS" | grep 'SPARC_ASM' &amp;gt;/dev/null 2&amp;gt;&amp;amp;1)
+
 dnl prepend CORE_DIRS to SRC_DIRS
 SRC_DIRS="$CORE_DIRS $SRC_DIRS"
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2108,6 +2119,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; AC_CONFIG_FILES([configs/autoconf
 src/glx/Makefile
 src/mapi/shared-glapi/Makefile
 src/gtest/Makefile
+src/mesa/libdricore/Makefile
 src/mesa/drivers/dri/dri.pc
 src/mesa/drivers/dri/Makefile
 src/mesa/drivers/dri/common/Makefile
diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index 2d5b727..dab1c37 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -7,13 +7,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; MESA_LIBS := libmesa.a libmesagallium.a
 DEPENDS := depend
 
 MESA_OBJ_DIR := .
-DRICORE_OBJ_DIR := objs-dricore
 
 SRCDIR = .
 include sources.mak
 
 # adjust object dirs
-DRICORE_OBJECTS := $(addprefix $(DRICORE_OBJ_DIR)/, $(MESA_OBJECTS))
 MESA_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_OBJECTS))
 MESA_GALLIUM_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS))
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,18 +21,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; MESA_CPPFLAGS := $(API_DEFINES) $(DEFINES)
 # append include dirs
 MESA_CPPFLAGS += $(INCLUDE_DIRS)
 
-DRICORE_CPPFLAGS = $(MESA_CPPFLAGS)
-
 # tidy compiler flags
 CFLAGS := $(filter-out $(DEFINES), $(CFLAGS))
 CXXFLAGS := $(filter-out $(DEFINES), $(CXXFLAGS))
 
 # LLVM is needed for the state tracker
 MESA_CFLAGS := $(LLVM_CFLAGS) $(CFLAGS)
-DRICORE_CFLAGS := $(LLVM_CFLAGS) $(DRI_CFLAGS)
-
 MESA_CXXFLAGS := $(LLVM_CFLAGS) $(CXXFLAGS)
-DRICORE_CXXFLAGS := $(LLVM_CFLAGS) $(DRI_CXXFLAGS)
 
 define mesa-cc-c
 &amp;lt; at &amp;gt;mkdir -p $(dir $&amp;lt; at &amp;gt;)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -55,18 +48,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(MESA_OBJ_DIR)/%.o: %.cpp
 $(MESA_OBJ_DIR)/%.o: %.S
 $(call mesa-cc-c,MESA)
 
-$(DRICORE_OBJ_DIR)/%.o: %.c
-$(call mesa-cc-c,DRICORE)
-
-$(DRICORE_OBJ_DIR)/%.o: %.cpp
-$(call mesa-cxx-c,DRICORE)
-
-$(DRICORE_OBJ_DIR)/%.o: %.S
-$(call mesa-cc-c,DRICORE)
-
 # Default: build dependencies, then asm_subdirs, GLSL built-in lib,
 # then convenience libs (.a) and finally the device drivers:
-default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) driver_subdirs
+default: $(DEPENDS) asm_subdirs $(MESA_LIBS) driver_subdirs
 
 # include glapi_gen.mk for generating glapi headers for GLES
 GLAPI := $(TOP)/src/mapi/glapi/gen
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,6 +95,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; program/program_parse.tab.c program/program_parse.tab.h: program/program_parse.y
 program/lex.yy.c: program/program_lexer.l
 $(FLEX) --never-interactive --outfile=$&amp;lt; at &amp;gt; $&amp;lt;
 
+ifneq (,$(DRICORE_LIBS))
+DRICORE_TARGET = dricore
+DRICORE_INSTALL_TARGET = install-dricore
+endif
+
 ######################################################################
 # Helper libraries used by many drivers:
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -118,20 +107,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; program/lex.yy.c: program/program_lexer.l
 libmesa.a: $(MESA_OBJECTS) $(GLSL_LIBS)
 &amp;lt; at &amp;gt; $(MKLIB) -o mesa -static $(MESA_OBJECTS) $(GLSL_LIBS)
 
-# Shared dricore library for classic DRI drivers
-$(TOP)/$(LIB_DIR)/libdricore.so: $(DRICORE_OBJECTS) $(DRICORE_GLSL_LIBS)
-&amp;lt; at &amp;gt;$(MKLIB) -o $&amp;lt; at &amp;gt; -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
--cplusplus -noprefix \
--install $(TOP)/$(LIB_DIR) -id $(DRI_DRIVER_INSTALL_DIR)/$&amp;lt; at &amp;gt;.dylib \
-$(DRICORE_LIB_DEPS) $(DRICORE_OBJECTS)
-
 # Make archive of subset of core mesa object files for gallium
 libmesagallium.a: $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS)
 &amp;lt; at &amp;gt; $(MKLIB) -o mesagallium -static $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS)
 
+dricore: $(BUILT_SOURCES)
+&amp;lt; at &amp;gt; (cd libdricore &amp;amp;&amp;amp; $(MAKE))
+
 ######################################################################
 # Device drivers
-driver_subdirs: $(MESA_LIBS) $(DRICORE_LIBS)
+driver_subdirs: $(MESA_LIBS) $(DRICORE_TARGET)
 &amp;lt; at &amp;gt; (cd drivers &amp;amp;&amp;amp; $(MAKE))
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -146,7 +131,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; asm_subdirs:
 (cd x86-64 &amp;amp;&amp;amp; $(MAKE)) || exit 1 ; \
 fi
 
-
 ######################################################################
 # Dependency generation
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -155,8 +139,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; depend: $(ALL_FILES)
 &amp;lt; at &amp;gt; touch depend
 &amp;lt; at &amp;gt;$(MKDEP) $(MKDEP_OPTIONS) -p$(MESA_OBJ_DIR)/ $(MESA_CPPFLAGS) \
 $(ALL_FILES) &amp;gt; /dev/null 2&amp;gt;/dev/null
-&amp;lt; at &amp;gt;$(MKDEP) $(MKDEP_OPTIONS) -a -p$(DRICORE_OBJ_DIR)/ $(MESA_CPPFLAGS) \
-$(ALL_FILES) &amp;gt; /dev/null 2&amp;gt;/dev/null
 
 ######################################################################
 # Installation rules
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -165,10 +147,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; depend: $(ALL_FILES)
 new_install:
 (cd drivers &amp;amp;&amp;amp; $(MAKE) install)
 
-ifneq (,$(DRICORE_LIBS))
-DRICORE_INSTALL_TARGET = install-dricore
-endif
-
 # XXX replace this with new_install above someday
 install: default $(DRICORE_INSTALL_TARGET)
 &amp;lt; at &amp;gt;for driver in $(DRIVER_DIRS) ; do \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -234,22 +212,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; install-osmesa: default osmesa.pc
 install-dri: default
 cd drivers/dri &amp;amp;&amp;amp; $(MAKE) install
 
-# We don't need MINSTALL here because we're not installing symbolic links
 install-dricore: default
-$(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-$(INSTALL) -m 755 $(DRICORE_LIBS) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-
+&amp;lt; at &amp;gt; (cd libdricore &amp;amp;&amp;amp; $(MAKE) install)
 
 # Emacs tags
 tags:
 etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h
 
-clean-dricore:
--rm -f libdricore.so
--rm -f $(DRICORE_LIBS)
--rm -rf $(DRICORE_OBJ_DIR)
-
-clean: clean-dricore
+clean:
 -rm -f */*.o
 -rm -f */*/*.o
 -rm -f depend depend.bak libmesa.a libmesagallium.a
diff --git a/src/mesa/libdricore/.gitignore b/src/mesa/libdricore/.gitignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/src/mesa/libdricore/.gitignore
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,2 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+Makefile
+Makefile.in
diff --git a/src/mesa/libdricore/Makefile.am b/src/mesa/libdricore/Makefile.am
new file mode 100644
index 0000000..6fc4bbe
--- /dev/null
+++ b/src/mesa/libdricore/Makefile.am
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,79 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+# Copyright © 2012 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+TOP=$(top_srcdir)
+SRCDIR = $(srcdir)/..
+include ../sources.mak
+
+noinst_PROGRAMS =
+
+AM_CPPFLAGS = \
+$(INCLUDE_DIRS) \
+$(API_DEFINES) \
+$(DEFINES)
+
+dridir = $(libdir)/dri
+
+AM_CFLAGS = $(CFLAGS_NOVISIBILITY) $(ASM_FLAGS) -DUSE_DRICORE
+AM_CXXFLAGS = $(CXXFLAGS_NOVISIBILITY) $(ASM_FLAGS) -DUSE_DRICORE
+AM_CCASFLAGS = $(CFLAGS_NOVISIBILITY) $(ASM_FLAGS) -DUSE_DRICORE
+
+libdricore_la_SOURCES = \
+$(MESA_FILES) \
+$(MESA_CXX_FILES)
+libdricore_la_LDFLAGS = -module -avoid-version -shared
+libdricore_la_LIBADD = libdricore-asm.la
+
+# This is separated from libdricore to avoid conflics in object
+# outputs between main/clip.c and sparc/clip.c.  The documented way to
+# do this is with the automake option subdir-objects, except that
+# option is broken in the presence of variable expansion in *_SOURCES.
+# I have no idea how that option is supposed to be usable as is.
+libdricore_asm_la_SOURCES =
+libdricore_asm_la_CCASFLAGS = $(AM_CCASFLAGS) -DWORKAROUND_AUTOMAKE_OBJ_FILE_CONFLICTS
+
+if HAVE_X86_ASM
+libdricore_asm_la_SOURCES += $(X86_FILES)
+endif
+
+if HAVE_X86_64_ASM
+libdricore_asm_la_SOURCES += $(X86_64_FILES)
+endif
+
+if HAVE_SPARC_ASM
+libdricore_asm_la_SOURCES += $(SPARC_FILES)
+endif
+
+if HAVE_DRICORE
+noinst_LTLIBRARIES = libdricore-asm.la
+dri_LTLIBRARIES = libdricore.la
+
+# Provide compatibility with scripts for the old Mesa build system for
+# a while by putting a link to the driver into /lib of the build tree.
+all-local: libdricore.la
+$(MKDIR_P) $(top_builddir)/$(LIB_DIR);
+ln -f .libs/libdricore.so $(top_builddir)/$(LIB_DIR)/libdricore.so;
+endif
+
+CLEANFILES = \
+$(top_builddir)/$(LIB_DIR)/libdricore.so
+
+-include $(DEPENDS)
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40764">
    <title>[PATCH 5/8] automake: Rename variables in sources.mak tobe automake compatible.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40764</link>
    <description>&lt;pre&gt;*_SOURCES is reserved for files lists for particular automake targets.
 Also, "-" in the variable names is not allowed.
---
 configs/autoconf.in  |    2 +-
 configs/default      |    2 +-
 configure.ac         |   10 ++---
 src/mesa/Android.mk  |   20 +++++-----
 src/mesa/Makefile    |    6 +--
 src/mesa/sources.mak |  108 +++++++++++++++++++++++++-------------------------
 6 files changed, 74 insertions(+), 74 deletions(-)

diff --git a/configs/autoconf.in b/configs/autoconf.in
index 3c8f4c1..38f49a2 100644
--- a/configs/autoconf.in
+++ b/configs/autoconf.in
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -47,7 +47,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DRI_CXXFLAGS = &amp;lt; at &amp;gt;DRI_CXXFLAGS&amp;lt; at &amp;gt;
 DLOPEN_LIBS = &amp;lt; at &amp;gt;DLOPEN_LIBS&amp;lt; at &amp;gt;
 
 # Source selection
-MESA_ASM_SOURCES = &amp;lt; at &amp;gt;MESA_ASM_SOURCES&amp;lt; at &amp;gt;
+MESA_ASM_FILES = &amp;lt; at &amp;gt;MESA_ASM_FILES&amp;lt; at &amp;gt;
 GLAPI_ASM_SOURCES = &amp;lt; at &amp;gt;GLAPI_ASM_SOURCES&amp;lt; at &amp;gt;
 
 # Misc tools and flags
diff --git a/configs/default b/configs/default
index 40fa5e3..0f8b09f 100644
--- a/configs/default
+++ b/configs/default
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -89,7 +89,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DRI_CFLAGS = $(CFLAGS)
 DRI_CXXFLAGS = $(CXXFLAGS)
 
 # Optional assembly language optimization files for libGL
-MESA_ASM_SOURCES = 
+MESA_ASM_FILES =
 
 # GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
 # order to build the Motif widget too)
diff --git a/configure.ac b/configure.ac
index 5ccf77d..30a1099 100644
--- a/configure.ac
+++ b/configure.ac
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -436,7 +436,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; AC_ARG_ENABLE([asm],
 )
 asm_arch=""
 ASM_FLAGS=""
-MESA_ASM_SOURCES=""
+MESA_ASM_FILES=""
 GLAPI_ASM_SOURCES=""
 AC_MSG_CHECKING([whether to enable assembly])
 test "x$enable_asm" = xno &amp;amp;&amp;amp; AC_MSG_RESULT([no])
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -485,19 +485,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; if test "x$enable_asm" = xyes; then
     case "$asm_arch" in
     x86)
         ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
-        MESA_ASM_SOURCES='$(X86_SOURCES)'
+        MESA_ASM_FILES='$(X86_FILES)'
         GLAPI_ASM_SOURCES='$(X86_API)'
         AC_MSG_RESULT([yes, x86])
         ;;
     x86_64)
         ASM_FLAGS="-DUSE_X86_64_ASM"
-        MESA_ASM_SOURCES='$(X86-64_SOURCES)'
+        MESA_ASM_FILES='$(X86_64_FILES)'
         GLAPI_ASM_SOURCES='$(X86-64_API)'
         AC_MSG_RESULT([yes, x86_64])
         ;;
     sparc)
         ASM_FLAGS="-DUSE_SPARC_ASM"
-        MESA_ASM_SOURCES='$(SPARC_SOURCES)'
+        MESA_ASM_FILES='$(SPARC_FILES)'
         GLAPI_ASM_SOURCES='$(SPARC_API)'
         AC_MSG_RESULT([yes, sparc])
         ;;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -507,7 +507,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; if test "x$enable_asm" = xyes; then
     esac
 fi
 AC_SUBST([ASM_FLAGS])
-AC_SUBST([MESA_ASM_SOURCES])
+AC_SUBST([MESA_ASM_FILES])
 AC_SUBST([GLAPI_ASM_SOURCES])
 
 dnl PIC code macro
diff --git a/src/mesa/Android.mk b/src/mesa/Android.mk
index f6c0f4e..4b62b81 100644
--- a/src/mesa/Android.mk
+++ b/src/mesa/Android.mk
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -26,11 +26,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 LOCAL_PATH := $(call my-dir)
 
 # Import the following variables:
-#     MESA_CXX_SOURCES
-#     MESA_GALLIUM_CXX_SOURCES
-#     MESA_GALLIUM_SOURCES
-#     MESA_SOURCES
-#     X86_SOURCES
+#     MESA_CXX_FILES
+#     MESA_GALLIUM_CXX_FILES
+#     MESA_GALLIUM_FILES
+#     MESA_FILES
+#     X86_FILES
 include $(LOCAL_PATH)/sources.mak
 
 common_CFLAGS := \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -49,7 +49,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; common_ASM :=
 
 ifeq ($(strip $(MESA_ENABLE_ASM)),true)
 ifeq ($(TARGET_ARCH),x86)
-common_ASM += $(X86_SOURCES)
+common_ASM += $(X86_FILES)
 
 include $(CLEAR_VARS)
 LOCAL_SRC_FILES := x86/gen_matypes.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,8 +71,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES := \
-$(MESA_GALLIUM_SOURCES) \
-$(MESA_GALLIUM_CXX_SOURCES) \
+$(MESA_GALLIUM_FILES) \
+$(MESA_GALLIUM_CXX_FILES) \
 $(common_ASM)
 
 LOCAL_CFLAGS := $(common_CFLAGS)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -108,8 +108,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; LOCAL_C_INCLUDES := \
 $(common_C_INCLUDES)
 
 LOCAL_SRC_FILES := \
-        $(MESA_SOURCES) \
-        $(MESA_CXX_SOURCES) \
+        $(MESA_FILES) \
+        $(MESA_CXX_FILES) \
         $(common_ASM)
 
 include $(LOCAL_PATH)/Android.gen.mk
diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index 4783f32..3906053 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -149,13 +149,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; asm_subdirs:
 ######################################################################
 # Dependency generation
 
-depend: $(ALL_SOURCES)
+depend: $(ALL_FILES)
 &amp;lt; at &amp;gt; echo "running $(MKDEP)"
 &amp;lt; at &amp;gt; touch depend
 &amp;lt; at &amp;gt;$(MKDEP) $(MKDEP_OPTIONS) -p$(MESA_OBJ_DIR)/ $(MESA_CPPFLAGS) \
-$(ALL_SOURCES) &amp;gt; /dev/null 2&amp;gt;/dev/null
+$(ALL_FILES) &amp;gt; /dev/null 2&amp;gt;/dev/null
 &amp;lt; at &amp;gt;$(MKDEP) $(MKDEP_OPTIONS) -a -p$(DRICORE_OBJ_DIR)/ $(MESA_CPPFLAGS) \
-$(ALL_SOURCES) &amp;gt; /dev/null 2&amp;gt;/dev/null
+$(ALL_FILES) &amp;gt; /dev/null 2&amp;gt;/dev/null
 
 ######################################################################
 # Installation rules
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
index 19a05ec..7b19bbc 100644
--- a/src/mesa/sources.mak
+++ b/src/mesa/sources.mak
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,11 +1,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 ### Lists of source files, included by Makefiles
 
-# this is part of MAIN_SOURCES
-MAIN_ES_SOURCES = \
+# this is part of MAIN_FILES
+MAIN_ES_FILES = \
 main/api_exec_es1.c \
 main/api_exec_es2.c
 
-MAIN_SOURCES = \
+MAIN_FILES = \
 main/api_arrayelt.c \
 main/api_exec.c \
 main/api_loopback.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -103,14 +103,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; MAIN_SOURCES = \
 main/version.c \
 main/viewport.c \
 main/vtxfmt.c \
-$(MAIN_ES_SOURCES)
+$(MAIN_ES_FILES)
 
-MAIN_CXX_SOURCES = \
+MAIN_CXX_FILES = \
 main/ff_fragment_shader.cpp \
 main/shader_query.cpp \
 main/uniform_query.cpp
 
-MATH_SOURCES = \
+MATH_FILES = \
 math/m_debug_clip.c \
 math/m_debug_norm.c \
 math/m_debug_xform.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -119,10 +119,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; MATH_SOURCES = \
 math/m_translate.c \
 math/m_vector.c
 
-MATH_XFORM_SOURCES = \
+MATH_XFORM_FILES = \
 math/m_xform.c
 
-SWRAST_SOURCES = \
+SWRAST_FILES = \
 swrast/s_aaline.c \
 swrast/s_aatriangle.c \
 swrast/s_alpha.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -153,11 +153,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; SWRAST_SOURCES = \
 swrast/s_triangle.c \
 swrast/s_zoom.c
 
-SWRAST_SETUP_SOURCES = \
+SWRAST_SETUP_FILES = \
 swrast_setup/ss_context.c \
 swrast_setup/ss_triangle.c 
 
-TNL_SOURCES = \
+TNL_FILES = \
 tnl/t_context.c \
 tnl/t_pipeline.c \
 tnl/t_draw.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -176,7 +176,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; TNL_SOURCES = \
 tnl/t_vertex_sse.c \
 tnl/t_vertex_generic.c 
 
-VBO_SOURCES = \
+VBO_FILES = \
 vbo/vbo_context.c \
 vbo/vbo_exec.c \
 vbo/vbo_exec_api.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -194,7 +194,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; VBO_SOURCES = \
 vbo/vbo_save_draw.c \
 vbo/vbo_save_loopback.c 
 
-STATETRACKER_SOURCES = \
+STATETRACKER_FILES = \
 state_tracker/st_atom.c \
 state_tracker/st_atom_blend.c \
 state_tracker/st_atom_clip.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -243,7 +243,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; STATETRACKER_SOURCES = \
 state_tracker/st_program.c \
 state_tracker/st_texture.c
 
-PROGRAM_SOURCES = \
+PROGRAM_FILES = \
 program/arbprogparse.c \
 program/hash_table.c \
 program/lex.yy.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -267,12 +267,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; PROGRAM_SOURCES = \
 program/symbol_table.c
 
 
-SHADER_CXX_SOURCES = \
+SHADER_CXX_FILES = \
 program/ir_to_mesa.cpp \
 program/sampler.cpp \
 program/string_to_uint_map.cpp
 
-ASM_C_SOURCES =\
+ASM_C_FILES =\
 x86/common_x86.c \
 x86/x86_xform.c \
 x86/3dnow.c \
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -281,7 +281,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; ASM_C_SOURCES =\
 sparc/sparc.c \
 x86-64/x86-64.c
 
-X86_SOURCES =\
+X86_FILES =\
 x86/common_x86_asm.S\
 x86/x86_xform2.S\
 x86/x86_xform3.S\
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -300,71 +300,71 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; X86_SOURCES =\
 x86/sse_normal.S\
 x86/read_rgba_span_x86.S
 
-X86-64_SOURCES =\
+X86_64_FILES =\
 x86-64/xform4.S
 
-SPARC_SOURCES =\
+SPARC_FILES =\
 sparc/clip.S\
 sparc/norm.S\
 sparc/xform.S
 
-COMMON_DRIVER_SOURCES =\
+COMMON_DRIVER_FILES =\
 drivers/common/driverfuncs.c\
 drivers/common/meta.c
 
 
 # Sources for building non-Gallium drivers
-MESA_SOURCES = \
-$(MAIN_SOURCES)\
-$(MATH_SOURCES)\
-$(MATH_XFORM_SOURCES)\
-$(VBO_SOURCES)\
-$(TNL_SOURCES)\
-$(PROGRAM_SOURCES)\
-$(SWRAST_SOURCES)\
-$(SWRAST_SETUP_SOURCES)\
-$(COMMON_DRIVER_SOURCES)\
-$(ASM_C_SOURCES)
-
-MESA_CXX_SOURCES = \
-$(MAIN_CXX_SOURCES) \
-$(SHADER_CXX_SOURCES)
+MESA_FILES = \
+$(MAIN_FILES)\
+$(MATH_FILES)\
+$(MATH_XFORM_FILES)\
+$(VBO_FILES)\
+$(TNL_FILES)\
+$(PROGRAM_FILES)\
+$(SWRAST_FILES)\
+$(SWRAST_SETUP_FILES)\
+$(COMMON_DRIVER_FILES)\
+$(ASM_C_FILES)
+
+MESA_CXX_FILES = \
+$(MAIN_CXX_FILES) \
+$(SHADER_CXX_FILES)
 
 # Sources for building Gallium drivers
-MESA_GALLIUM_SOURCES = \
-$(MAIN_SOURCES)\
-$(MATH_SOURCES)\
-$(VBO_SOURCES)\
-$(STATETRACKER_SOURCES)\
-$(PROGRAM_SOURCES)\
+MESA_GALLIUM_FILES = \
+$(MAIN_FILES)\
+$(MATH_FILES)\
+$(VBO_FILES)\
+$(STATETRACKER_FILES)\
+$(PROGRAM_FILES)\
 x86/common_x86.c
 
-MESA_GALLIUM_CXX_SOURCES = \
-$(MESA_CXX_SOURCES) \
+MESA_GALLIUM_CXX_FILES = \
+$(MESA_CXX_FILES) \
 state_tracker/st_glsl_to_tgsi.cpp
 
 # All the core C sources, for dependency checking
-ALL_SOURCES = \
-$(MESA_SOURCES)\
-$(MESA_GALLIUM_CXX_SOURCES) \
-$(MESA_ASM_SOURCES)\
-$(STATETRACKER_SOURCES)
+ALL_FILES = \
+$(MESA_FILES)\
+$(MESA_GALLIUM_CXX_FILES) \
+$(MESA_ASM_FILES)\
+$(STATETRACKER_FILES)
 
 
 ### Object files
 
 MESA_OBJECTS = \
-$(MESA_SOURCES:.c=.o) \
-$(MESA_CXX_SOURCES:.cpp=.o) \
-$(MESA_ASM_SOURCES:.S=.o)
+$(MESA_FILES:.c=.o) \
+$(MESA_CXX_FILES:.cpp=.o) \
+$(MESA_ASM_FILES:.S=.o)
 
 MESA_GALLIUM_OBJECTS = \
-$(MESA_GALLIUM_SOURCES:.c=.o) \
-$(MESA_GALLIUM_CXX_SOURCES:.cpp=.o) \
-$(MESA_ASM_SOURCES:.S=.o)
+$(MESA_GALLIUM_FILES:.c=.o) \
+$(MESA_GALLIUM_CXX_FILES:.cpp=.o) \
+$(MESA_ASM_FILES:.S=.o)
 
 
-COMMON_DRIVER_OBJECTS = $(COMMON_DRIVER_SOURCES:.c=.o)
+COMMON_DRIVER_OBJECTS = $(COMMON_DRIVER_FILES:.c=.o)
 
 
 ### Other archives/libraries
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40763">
    <title>[PATCH 8/8] mesa: Clean up some dricore-related detritusin the old Makefile.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40763</link>
    <description>&lt;pre&gt;---
 src/mesa/Makefile |   30 +++++++-----------------------
 1 file changed, 7 insertions(+), 23 deletions(-)

diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index dab1c37..069527e 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,15 +6,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; include $(TOP)/configs/current
 MESA_LIBS := libmesa.a libmesagallium.a
 DEPENDS := depend
 
-MESA_OBJ_DIR := .
-
 SRCDIR = .
 include sources.mak
 
-# adjust object dirs
-MESA_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_OBJECTS))
-MESA_GALLIUM_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS))
-
 # define preprocessor flags
 MESA_CPPFLAGS := $(API_DEFINES) $(DEFINES)
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,24 +23,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; CXXFLAGS := $(filter-out $(DEFINES), $(CXXFLAGS))
 MESA_CFLAGS := $(LLVM_CFLAGS) $(CFLAGS)
 MESA_CXXFLAGS := $(LLVM_CFLAGS) $(CXXFLAGS)
 
-define mesa-cc-c
-&amp;lt; at &amp;gt;mkdir -p $(dir $&amp;lt; at &amp;gt;)
-$(CC) -c -o $&amp;lt; at &amp;gt; $&amp;lt; $($(1)_CPPFLAGS) $($(1)_CFLAGS)
-endef
-
-define mesa-cxx-c
-&amp;lt; at &amp;gt;mkdir -p $(dir $&amp;lt; at &amp;gt;)
-$(CXX) -c -o $&amp;lt; at &amp;gt; $&amp;lt; $($(1)_CPPFLAGS) $($(1)_CXXFLAGS)
-endef
-
-$(MESA_OBJ_DIR)/%.o: %.c
-$(call mesa-cc-c,MESA)
+%.o: %.c
+$(CC) -c -o $&amp;lt; at &amp;gt; $&amp;lt; $(MESA_CPPFLAGS) $(MESA_CFLAGS)
 
-$(MESA_OBJ_DIR)/%.o: %.cpp
-$(call mesa-cxx-c,MESA)
+%.o: %.cpp
+$(CXX) -c -o $&amp;lt; at &amp;gt; $&amp;lt; $(MESA_CPPFLAGS) $(MESA_CXXFLAGS)
 
-$(MESA_OBJ_DIR)/%.o: %.S
-$(call mesa-cc-c,MESA)
+%.o: %.S
+$(CC) -c -o $&amp;lt; at &amp;gt; $&amp;lt; $(MESA_CPPFLAGS) $(MESA_CFLAGS)
 
 # Default: build dependencies, then asm_subdirs, GLSL built-in lib,
 # then convenience libs (.a) and finally the device drivers:
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -137,7 +121,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; asm_subdirs:
 depend: $(ALL_FILES)
 &amp;lt; at &amp;gt; echo "running $(MKDEP)"
 &amp;lt; at &amp;gt; touch depend
-&amp;lt; at &amp;gt;$(MKDEP) $(MKDEP_OPTIONS) -p$(MESA_OBJ_DIR)/ $(MESA_CPPFLAGS) \
+&amp;lt; at &amp;gt;$(MKDEP) $(MKDEP_OPTIONS) $(MESA_CPPFLAGS) \
 $(ALL_FILES) &amp;gt; /dev/null 2&amp;gt;/dev/null
 
 ######################################################################
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40762">
    <title>[PATCH 6/8] automake: Add a prefix variable to thecommon sources lists.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40762</link>
    <description>&lt;pre&gt;In order to do the minimal change for libdricore conversion to
automake, I need to put its Makefile.am in a subdirectory.  Automake
gets whiny/broken if you use GNU make features like "addprefix" or
"$(FILES:%=../%)" to munge your *_SOURCES.  So, use a plain old
variable to be able to substitute in that "../"
---
 src/mesa/Android.mk  |    1 +
 src/mesa/Makefile    |    1 +
 src/mesa/sources.mak |  554 +++++++++++++++++++++++++-------------------------
 3 files changed, 279 insertions(+), 277 deletions(-)

diff --git a/src/mesa/Android.mk b/src/mesa/Android.mk
index 4b62b81..115db47 100644
--- a/src/mesa/Android.mk
+++ b/src/mesa/Android.mk
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,6 +31,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; LOCAL_PATH := $(call my-dir)
 #     MESA_GALLIUM_FILES
 #     MESA_FILES
 #     X86_FILES
+SRCDIR = .
 include $(LOCAL_PATH)/sources.mak
 
 common_CFLAGS := \
diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index 3906053..2d5b727 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -9,6 +9,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DEPENDS := depend
 MESA_OBJ_DIR := .
 DRICORE_OBJ_DIR := objs-dricore
 
+SRCDIR = .
 include sources.mak
 
 # adjust object dirs
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
index 7b19bbc..63fbf58 100644
--- a/src/mesa/sources.mak
+++ b/src/mesa/sources.mak
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2,315 +2,315 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 # this is part of MAIN_FILES
 MAIN_ES_FILES = \
-main/api_exec_es1.c \
-main/api_exec_es2.c
+$(SRCDIR)/main/api_exec_es1.c \
+$(SRCDIR)/main/api_exec_es2.c
 
 MAIN_FILES = \
-main/api_arrayelt.c \
-main/api_exec.c \
-main/api_loopback.c \
-main/api_validate.c \
-main/accum.c \
-main/arbprogram.c \
-main/atifragshader.c \
-main/attrib.c \
-main/arrayobj.c \
-main/blend.c \
-main/bufferobj.c \
-main/buffers.c \
-main/clear.c \
-main/clip.c \
-main/colortab.c \
-main/condrender.c \
-main/context.c \
-main/convolve.c \
-main/cpuinfo.c \
-main/debug.c \
-main/depth.c \
-main/dlist.c \
-main/dlopen.c \
-main/drawpix.c \
-main/drawtex.c \
-main/enable.c \
-main/enums.c \
-main/errors.c \
-main/eval.c \
-main/execmem.c \
-main/extensions.c \
-main/fbobject.c \
-main/feedback.c \
-main/ffvertex_prog.c \
-main/fog.c \
-main/formats.c \
-main/format_pack.c \
-main/format_unpack.c \
-main/framebuffer.c \
-main/get.c \
-main/getstring.c \
-main/hash.c \
-main/hint.c \
-main/histogram.c \
-main/image.c \
-main/imports.c \
-main/light.c \
-main/lines.c \
-main/matrix.c \
-main/mipmap.c \
-main/mm.c \
-main/multisample.c \
-main/nvprogram.c \
-main/pack.c \
-main/pbo.c \
-main/pixel.c \
-main/pixelstore.c \
-main/pixeltransfer.c \
-main/points.c \
-main/polygon.c \
-main/queryobj.c \
-main/querymatrix.c \
-main/rastpos.c \
-main/readpix.c \
-main/remap.c \
-main/renderbuffer.c \
-main/samplerobj.c \
-main/scissor.c \
-main/shaderapi.c \
-main/shaderobj.c \
-main/shared.c \
-main/state.c \
-main/stencil.c \
-main/syncobj.c \
-main/texcompress.c \
-main/texcompress_rgtc.c \
-main/texcompress_s3tc.c \
-main/texcompress_fxt1.c \
-main/texcompress_etc.c \
-main/texenv.c \
-main/texformat.c \
-main/texgen.c \
-main/texgetimage.c \
-main/teximage.c \
-main/texobj.c \
-main/texpal.c \
-main/texparam.c \
-main/texstate.c \
-main/texstorage.c \
-main/texstore.c \
-main/texturebarrier.c \
-main/transformfeedback.c \
-main/uniforms.c \
-main/varray.c \
-main/version.c \
-main/viewport.c \
-main/vtxfmt.c \
+$(SRCDIR)/main/api_arrayelt.c \
+$(SRCDIR)/main/api_exec.c \
+$(SRCDIR)/main/api_loopback.c \
+$(SRCDIR)/main/api_validate.c \
+$(SRCDIR)/main/accum.c \
+$(SRCDIR)/main/arbprogram.c \
+$(SRCDIR)/main/atifragshader.c \
+$(SRCDIR)/main/attrib.c \
+$(SRCDIR)/main/arrayobj.c \
+$(SRCDIR)/main/blend.c \
+$(SRCDIR)/main/bufferobj.c \
+$(SRCDIR)/main/buffers.c \
+$(SRCDIR)/main/clear.c \
+$(SRCDIR)/main/clip.c \
+$(SRCDIR)/main/colortab.c \
+$(SRCDIR)/main/condrender.c \
+$(SRCDIR)/main/context.c \
+$(SRCDIR)/main/convolve.c \
+$(SRCDIR)/main/cpuinfo.c \
+$(SRCDIR)/main/debug.c \
+$(SRCDIR)/main/depth.c \
+$(SRCDIR)/main/dlist.c \
+$(SRCDIR)/main/dlopen.c \
+$(SRCDIR)/main/drawpix.c \
+$(SRCDIR)/main/drawtex.c \
+$(SRCDIR)/main/enable.c \
+$(SRCDIR)/main/enums.c \
+$(SRCDIR)/main/errors.c \
+$(SRCDIR)/main/eval.c \
+$(SRCDIR)/main/execmem.c \
+$(SRCDIR)/main/extensions.c \
+$(SRCDIR)/main/fbobject.c \
+$(SRCDIR)/main/feedback.c \
+$(SRCDIR)/main/ffvertex_prog.c \
+$(SRCDIR)/main/fog.c \
+$(SRCDIR)/main/formats.c \
+$(SRCDIR)/main/format_pack.c \
+$(SRCDIR)/main/format_unpack.c \
+$(SRCDIR)/main/framebuffer.c \
+$(SRCDIR)/main/get.c \
+$(SRCDIR)/main/getstring.c \
+$(SRCDIR)/main/hash.c \
+$(SRCDIR)/main/hint.c \
+$(SRCDIR)/main/histogram.c \
+$(SRCDIR)/main/image.c \
+$(SRCDIR)/main/imports.c \
+$(SRCDIR)/main/light.c \
+$(SRCDIR)/main/lines.c \
+$(SRCDIR)/main/matrix.c \
+$(SRCDIR)/main/mipmap.c \
+$(SRCDIR)/main/mm.c \
+$(SRCDIR)/main/multisample.c \
+$(SRCDIR)/main/nvprogram.c \
+$(SRCDIR)/main/pack.c \
+$(SRCDIR)/main/pbo.c \
+$(SRCDIR)/main/pixel.c \
+$(SRCDIR)/main/pixelstore.c \
+$(SRCDIR)/main/pixeltransfer.c \
+$(SRCDIR)/main/points.c \
+$(SRCDIR)/main/polygon.c \
+$(SRCDIR)/main/queryobj.c \
+$(SRCDIR)/main/querymatrix.c \
+$(SRCDIR)/main/rastpos.c \
+$(SRCDIR)/main/readpix.c \
+$(SRCDIR)/main/remap.c \
+$(SRCDIR)/main/renderbuffer.c \
+$(SRCDIR)/main/samplerobj.c \
+$(SRCDIR)/main/scissor.c \
+$(SRCDIR)/main/shaderapi.c \
+$(SRCDIR)/main/shaderobj.c \
+$(SRCDIR)/main/shared.c \
+$(SRCDIR)/main/state.c \
+$(SRCDIR)/main/stencil.c \
+$(SRCDIR)/main/syncobj.c \
+$(SRCDIR)/main/texcompress.c \
+$(SRCDIR)/main/texcompress_rgtc.c \
+$(SRCDIR)/main/texcompress_s3tc.c \
+$(SRCDIR)/main/texcompress_fxt1.c \
+$(SRCDIR)/main/texcompress_etc.c \
+$(SRCDIR)/main/texenv.c \
+$(SRCDIR)/main/texformat.c \
+$(SRCDIR)/main/texgen.c \
+$(SRCDIR)/main/texgetimage.c \
+$(SRCDIR)/main/teximage.c \
+$(SRCDIR)/main/texobj.c \
+$(SRCDIR)/main/texpal.c \
+$(SRCDIR)/main/texparam.c \
+$(SRCDIR)/main/texstate.c \
+$(SRCDIR)/main/texstorage.c \
+$(SRCDIR)/main/texstore.c \
+$(SRCDIR)/main/texturebarrier.c \
+$(SRCDIR)/main/transformfeedback.c \
+$(SRCDIR)/main/uniforms.c \
+$(SRCDIR)/main/varray.c \
+$(SRCDIR)/main/version.c \
+$(SRCDIR)/main/viewport.c \
+$(SRCDIR)/main/vtxfmt.c \
 $(MAIN_ES_FILES)
 
 MAIN_CXX_FILES = \
-main/ff_fragment_shader.cpp \
-main/shader_query.cpp \
-main/uniform_query.cpp
+$(SRCDIR)/main/ff_fragment_shader.cpp \
+$(SRCDIR)/main/shader_query.cpp \
+$(SRCDIR)/main/uniform_query.cpp
 
 MATH_FILES = \
-math/m_debug_clip.c \
-math/m_debug_norm.c \
-math/m_debug_xform.c \
-math/m_eval.c \
-math/m_matrix.c \
-math/m_translate.c \
-math/m_vector.c
+$(SRCDIR)/math/m_debug_clip.c \
+$(SRCDIR)/math/m_debug_norm.c \
+$(SRCDIR)/math/m_debug_xform.c \
+$(SRCDIR)/math/m_eval.c \
+$(SRCDIR)/math/m_matrix.c \
+$(SRCDIR)/math/m_translate.c \
+$(SRCDIR)/math/m_vector.c
 
 MATH_XFORM_FILES = \
-math/m_xform.c
+$(SRCDIR)/math/m_xform.c
 
 SWRAST_FILES = \
-swrast/s_aaline.c \
-swrast/s_aatriangle.c \
-swrast/s_alpha.c \
-swrast/s_atifragshader.c \
-swrast/s_bitmap.c \
-swrast/s_blend.c \
-swrast/s_blit.c \
-swrast/s_clear.c \
-swrast/s_copypix.c \
-swrast/s_context.c \
-swrast/s_depth.c \
-swrast/s_drawpix.c \
-swrast/s_feedback.c \
-swrast/s_fog.c \
-swrast/s_fragprog.c \
-swrast/s_lines.c \
-swrast/s_logic.c \
-swrast/s_masking.c \
-swrast/s_points.c \
-swrast/s_renderbuffer.c \
-swrast/s_span.c \
-swrast/s_stencil.c \
-swrast/s_texcombine.c \
-swrast/s_texfetch.c \
-swrast/s_texfilter.c \
-swrast/s_texrender.c \
-swrast/s_texture.c \
-swrast/s_triangle.c \
-swrast/s_zoom.c
+$(SRCDIR)/swrast/s_aaline.c \
+$(SRCDIR)/swrast/s_aatriangle.c \
+$(SRCDIR)/swrast/s_alpha.c \
+$(SRCDIR)/swrast/s_atifragshader.c \
+$(SRCDIR)/swrast/s_bitmap.c \
+$(SRCDIR)/swrast/s_blend.c \
+$(SRCDIR)/swrast/s_blit.c \
+$(SRCDIR)/swrast/s_clear.c \
+$(SRCDIR)/swrast/s_copypix.c \
+$(SRCDIR)/swrast/s_context.c \
+$(SRCDIR)/swrast/s_depth.c \
+$(SRCDIR)/swrast/s_drawpix.c \
+$(SRCDIR)/swrast/s_feedback.c \
+$(SRCDIR)/swrast/s_fog.c \
+$(SRCDIR)/swrast/s_fragprog.c \
+$(SRCDIR)/swrast/s_lines.c \
+$(SRCDIR)/swrast/s_logic.c \
+$(SRCDIR)/swrast/s_masking.c \
+$(SRCDIR)/swrast/s_points.c \
+$(SRCDIR)/swrast/s_renderbuffer.c \
+$(SRCDIR)/swrast/s_span.c \
+$(SRCDIR)/swrast/s_stencil.c \
+$(SRCDIR)/swrast/s_texcombine.c \
+$(SRCDIR)/swrast/s_texfetch.c \
+$(SRCDIR)/swrast/s_texfilter.c \
+$(SRCDIR)/swrast/s_texrender.c \
+$(SRCDIR)/swrast/s_texture.c \
+$(SRCDIR)/swrast/s_triangle.c \
+$(SRCDIR)/swrast/s_zoom.c
 
 SWRAST_SETUP_FILES = \
-swrast_setup/ss_context.c \
-swrast_setup/ss_triangle.c 
+$(SRCDIR)/swrast_setup/ss_context.c \
+$(SRCDIR)/swrast_setup/ss_triangle.c
 
 TNL_FILES = \
-tnl/t_context.c \
-tnl/t_pipeline.c \
-tnl/t_draw.c \
-tnl/t_rasterpos.c \
-tnl/t_vb_program.c \
-tnl/t_vb_render.c \
-tnl/t_vb_texgen.c \
-tnl/t_vb_texmat.c \
-tnl/t_vb_vertex.c \
-tnl/t_vb_fog.c \
-tnl/t_vb_light.c \
-tnl/t_vb_normals.c \
-tnl/t_vb_points.c \
-tnl/t_vp_build.c \
-tnl/t_vertex.c \
-tnl/t_vertex_sse.c \
-tnl/t_vertex_generic.c 
+$(SRCDIR)/tnl/t_context.c \
+$(SRCDIR)/tnl/t_pipeline.c \
+$(SRCDIR)/tnl/t_draw.c \
+$(SRCDIR)/tnl/t_rasterpos.c \
+$(SRCDIR)/tnl/t_vb_program.c \
+$(SRCDIR)/tnl/t_vb_render.c \
+$(SRCDIR)/tnl/t_vb_texgen.c \
+$(SRCDIR)/tnl/t_vb_texmat.c \
+$(SRCDIR)/tnl/t_vb_vertex.c \
+$(SRCDIR)/tnl/t_vb_fog.c \
+$(SRCDIR)/tnl/t_vb_light.c \
+$(SRCDIR)/tnl/t_vb_normals.c \
+$(SRCDIR)/tnl/t_vb_points.c \
+$(SRCDIR)/tnl/t_vp_build.c \
+$(SRCDIR)/tnl/t_vertex.c \
+$(SRCDIR)/tnl/t_vertex_sse.c \
+$(SRCDIR)/tnl/t_vertex_generic.c
 
 VBO_FILES = \
-vbo/vbo_context.c \
-vbo/vbo_exec.c \
-vbo/vbo_exec_api.c \
-vbo/vbo_exec_array.c \
-vbo/vbo_exec_draw.c \
-vbo/vbo_exec_eval.c \
-vbo/vbo_noop.c \
-vbo/vbo_primitive_restart.c \
-vbo/vbo_rebase.c \
-vbo/vbo_split.c \
-vbo/vbo_split_copy.c \
-vbo/vbo_split_inplace.c \
-vbo/vbo_save.c \
-vbo/vbo_save_api.c \
-vbo/vbo_save_draw.c \
-vbo/vbo_save_loopback.c 
+$(SRCDIR)/vbo/vbo_context.c \
+$(SRCDIR)/vbo/vbo_exec.c \
+$(SRCDIR)/vbo/vbo_exec_api.c \
+$(SRCDIR)/vbo/vbo_exec_array.c \
+$(SRCDIR)/vbo/vbo_exec_draw.c \
+$(SRCDIR)/vbo/vbo_exec_eval.c \
+$(SRCDIR)/vbo/vbo_noop.c \
+$(SRCDIR)/vbo/vbo_primitive_restart.c \
+$(SRCDIR)/vbo/vbo_rebase.c \
+$(SRCDIR)/vbo/vbo_split.c \
+$(SRCDIR)/vbo/vbo_split_copy.c \
+$(SRCDIR)/vbo/vbo_split_inplace.c \
+$(SRCDIR)/vbo/vbo_save.c \
+$(SRCDIR)/vbo/vbo_save_api.c \
+$(SRCDIR)/vbo/vbo_save_draw.c \
+$(SRCDIR)/vbo/vbo_save_loopback.c
 
 STATETRACKER_FILES = \
-state_tracker/st_atom.c \
-state_tracker/st_atom_blend.c \
-state_tracker/st_atom_clip.c \
-state_tracker/st_atom_constbuf.c \
-state_tracker/st_atom_depth.c \
-state_tracker/st_atom_framebuffer.c \
-state_tracker/st_atom_msaa.c \
-state_tracker/st_atom_pixeltransfer.c \
-state_tracker/st_atom_sampler.c \
-state_tracker/st_atom_scissor.c \
-state_tracker/st_atom_shader.c \
-state_tracker/st_atom_rasterizer.c \
-state_tracker/st_atom_stipple.c \
-state_tracker/st_atom_texture.c \
-state_tracker/st_atom_viewport.c \
-state_tracker/st_cb_bitmap.c \
-state_tracker/st_cb_blit.c \
-state_tracker/st_cb_bufferobjects.c \
-state_tracker/st_cb_clear.c \
-state_tracker/st_cb_condrender.c \
-state_tracker/st_cb_flush.c \
-state_tracker/st_cb_drawpixels.c \
-state_tracker/st_cb_drawtex.c \
-state_tracker/st_cb_eglimage.c \
-state_tracker/st_cb_fbo.c \
-state_tracker/st_cb_feedback.c \
-state_tracker/st_cb_program.c \
-state_tracker/st_cb_queryobj.c \
-state_tracker/st_cb_rasterpos.c \
-state_tracker/st_cb_readpixels.c \
-state_tracker/st_cb_syncobj.c \
-state_tracker/st_cb_strings.c \
-state_tracker/st_cb_texture.c \
-state_tracker/st_cb_texturebarrier.c \
-state_tracker/st_cb_viewport.c \
-state_tracker/st_cb_xformfb.c \
-state_tracker/st_context.c \
-state_tracker/st_debug.c \
-state_tracker/st_draw.c \
-state_tracker/st_draw_feedback.c \
-state_tracker/st_extensions.c \
-state_tracker/st_format.c \
-state_tracker/st_gen_mipmap.c \
-state_tracker/st_manager.c \
-state_tracker/st_mesa_to_tgsi.c \
-state_tracker/st_program.c \
-state_tracker/st_texture.c
+$(SRCDIR)/state_tracker/st_atom.c \
+$(SRCDIR)/state_tracker/st_atom_blend.c \
+$(SRCDIR)/state_tracker/st_atom_clip.c \
+$(SRCDIR)/state_tracker/st_atom_constbuf.c \
+$(SRCDIR)/state_tracker/st_atom_depth.c \
+$(SRCDIR)/state_tracker/st_atom_framebuffer.c \
+$(SRCDIR)/state_tracker/st_atom_msaa.c \
+$(SRCDIR)/state_tracker/st_atom_pixeltransfer.c \
+$(SRCDIR)/state_tracker/st_atom_sampler.c \
+$(SRCDIR)/state_tracker/st_atom_scissor.c \
+$(SRCDIR)/state_tracker/st_atom_shader.c \
+$(SRCDIR)/state_tracker/st_atom_rasterizer.c \
+$(SRCDIR)/state_tracker/st_atom_stipple.c \
+$(SRCDIR)/state_tracker/st_atom_texture.c \
+$(SRCDIR)/state_tracker/st_atom_viewport.c \
+$(SRCDIR)/state_tracker/st_cb_bitmap.c \
+$(SRCDIR)/state_tracker/st_cb_blit.c \
+$(SRCDIR)/state_tracker/st_cb_bufferobjects.c \
+$(SRCDIR)/state_tracker/st_cb_clear.c \
+$(SRCDIR)/state_tracker/st_cb_condrender.c \
+$(SRCDIR)/state_tracker/st_cb_flush.c \
+$(SRCDIR)/state_tracker/st_cb_drawpixels.c \
+$(SRCDIR)/state_tracker/st_cb_drawtex.c \
+$(SRCDIR)/state_tracker/st_cb_eglimage.c \
+$(SRCDIR)/state_tracker/st_cb_fbo.c \
+$(SRCDIR)/state_tracker/st_cb_feedback.c \
+$(SRCDIR)/state_tracker/st_cb_program.c \
+$(SRCDIR)/state_tracker/st_cb_queryobj.c \
+$(SRCDIR)/state_tracker/st_cb_rasterpos.c \
+$(SRCDIR)/state_tracker/st_cb_readpixels.c \
+$(SRCDIR)/state_tracker/st_cb_syncobj.c \
+$(SRCDIR)/state_tracker/st_cb_strings.c \
+$(SRCDIR)/state_tracker/st_cb_texture.c \
+$(SRCDIR)/state_tracker/st_cb_texturebarrier.c \
+$(SRCDIR)/state_tracker/st_cb_viewport.c \
+$(SRCDIR)/state_tracker/st_cb_xformfb.c \
+$(SRCDIR)/state_tracker/st_context.c \
+$(SRCDIR)/state_tracker/st_debug.c \
+$(SRCDIR)/state_tracker/st_draw.c \
+$(SRCDIR)/state_tracker/st_draw_feedback.c \
+$(SRCDIR)/state_tracker/st_extensions.c \
+$(SRCDIR)/state_tracker/st_format.c \
+$(SRCDIR)/state_tracker/st_gen_mipmap.c \
+$(SRCDIR)/state_tracker/st_manager.c \
+$(SRCDIR)/state_tracker/st_mesa_to_tgsi.c \
+$(SRCDIR)/state_tracker/st_program.c \
+$(SRCDIR)/state_tracker/st_texture.c
 
 PROGRAM_FILES = \
-program/arbprogparse.c \
-program/hash_table.c \
-program/lex.yy.c \
-program/nvfragparse.c \
-program/nvvertparse.c \
-program/program.c \
-program/program_parse.tab.c \
-program/program_parse_extra.c \
-program/prog_cache.c \
-program/prog_execute.c \
-program/prog_instruction.c \
-program/prog_noise.c \
-program/prog_optimize.c \
-program/prog_opt_constant_fold.c \
-program/prog_parameter.c \
-program/prog_parameter_layout.c \
-program/prog_print.c \
-program/prog_statevars.c \
-program/programopt.c \
-program/register_allocate.c \
-program/symbol_table.c
+$(SRCDIR)/program/arbprogparse.c \
+$(SRCDIR)/program/hash_table.c \
+$(SRCDIR)/program/lex.yy.c \
+$(SRCDIR)/program/nvfragparse.c \
+$(SRCDIR)/program/nvvertparse.c \
+$(SRCDIR)/program/program.c \
+$(SRCDIR)/program/program_parse.tab.c \
+$(SRCDIR)/program/program_parse_extra.c \
+$(SRCDIR)/program/prog_cache.c \
+$(SRCDIR)/program/prog_execute.c \
+$(SRCDIR)/program/prog_instruction.c \
+$(SRCDIR)/program/prog_noise.c \
+$(SRCDIR)/program/prog_optimize.c \
+$(SRCDIR)/program/prog_opt_constant_fold.c \
+$(SRCDIR)/program/prog_parameter.c \
+$(SRCDIR)/program/prog_parameter_layout.c \
+$(SRCDIR)/program/prog_print.c \
+$(SRCDIR)/program/prog_statevars.c \
+$(SRCDIR)/program/programopt.c \
+$(SRCDIR)/program/register_allocate.c \
+$(SRCDIR)/program/symbol_table.c
 
 
 SHADER_CXX_FILES = \
-program/ir_to_mesa.cpp \
-program/sampler.cpp \
-program/string_to_uint_map.cpp
+$(SRCDIR)/program/ir_to_mesa.cpp \
+$(SRCDIR)/program/sampler.cpp \
+$(SRCDIR)/program/string_to_uint_map.cpp
 
 ASM_C_FILES =\
-x86/common_x86.c \
-x86/x86_xform.c \
-x86/3dnow.c \
-x86/sse.c \
-x86/rtasm/x86sse.c \
-sparc/sparc.c \
-x86-64/x86-64.c
+$(SRCDIR)/x86/common_x86.c \
+$(SRCDIR)/x86/x86_xform.c \
+$(SRCDIR)/x86/3dnow.c \
+$(SRCDIR)/x86/sse.c \
+$(SRCDIR)/x86/rtasm/x86sse.c \
+$(SRCDIR)/sparc/sparc.c \
+$(SRCDIR)/x86-64/x86-64.c
 
 X86_FILES =\
-x86/common_x86_asm.S\
-x86/x86_xform2.S\
-x86/x86_xform3.S\
-x86/x86_xform4.S\
-x86/x86_cliptest.S\
-x86/mmx_blend.S\
-x86/3dnow_xform1.S\
-x86/3dnow_xform2.S\
-x86/3dnow_xform3.S\
-x86/3dnow_xform4.S\
-x86/3dnow_normal.S\
-x86/sse_xform1.S\
-x86/sse_xform2.S\
-x86/sse_xform3.S\
-x86/sse_xform4.S\
-x86/sse_normal.S\
-x86/read_rgba_span_x86.S
+$(SRCDIR)/x86/common_x86_asm.S\
+$(SRCDIR)/x86/x86_xform2.S\
+$(SRCDIR)/x86/x86_xform3.S\
+$(SRCDIR)/x86/x86_xform4.S\
+$(SRCDIR)/x86/x86_cliptest.S\
+$(SRCDIR)/x86/mmx_blend.S\
+$(SRCDIR)/x86/3dnow_xform1.S\
+$(SRCDIR)/x86/3dnow_xform2.S\
+$(SRCDIR)/x86/3dnow_xform3.S\
+$(SRCDIR)/x86/3dnow_xform4.S\
+$(SRCDIR)/x86/3dnow_normal.S\
+$(SRCDIR)/x86/sse_xform1.S\
+$(SRCDIR)/x86/sse_xform2.S\
+$(SRCDIR)/x86/sse_xform3.S\
+$(SRCDIR)/x86/sse_xform4.S\
+$(SRCDIR)/x86/sse_normal.S\
+$(SRCDIR)/x86/read_rgba_span_x86.S
 
 X86_64_FILES =\
-x86-64/xform4.S
+$(SRCDIR)/x86-64/xform4.S
 
 SPARC_FILES =\
-sparc/clip.S\
-sparc/norm.S\
-sparc/xform.S
+$(SRCDIR)/sparc/clip.S\
+$(SRCDIR)/sparc/norm.S\
+$(SRCDIR)/sparc/xform.S
 
 COMMON_DRIVER_FILES =\
-drivers/common/driverfuncs.c\
-drivers/common/meta.c
+$(SRCDIR)/drivers/common/driverfuncs.c\
+$(SRCDIR)/drivers/common/meta.c
 
 
 # Sources for building non-Gallium drivers
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -337,11 +337,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; MESA_GALLIUM_FILES = \
 $(VBO_FILES)\
 $(STATETRACKER_FILES)\
 $(PROGRAM_FILES)\
-x86/common_x86.c
+$(SRCDIR)/x86/common_x86.c
 
 MESA_GALLIUM_CXX_FILES = \
 $(MESA_CXX_FILES) \
-state_tracker/st_glsl_to_tgsi.cpp
+$(SRCDIR)/state_tracker/st_glsl_to_tgsi.cpp
 
 # All the core C sources, for dependency checking
 ALL_FILES = \
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40761">
    <title>[PATCH 1/8] mesa: Restore installing of libGL fornon-dri builds.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40761</link>
    <description>&lt;pre&gt;Reported-by: Sven Joachim &amp;lt;svenjoac&amp;lt; at &amp;gt;gmx.de&amp;gt;
---
 src/mesa/Makefile |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/mesa/Makefile b/src/mesa/Makefile
index 71e22b9..bb7b13a 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -166,8 +166,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; install: default $(DRICORE_INSTALL_TARGET)
             else \
               $(MAKE) install-osmesa || exit 1 ; \
             fi ;; \
-    dri)    $(MAKE) install-libgl install-dri || exit 1 ;; \
-    *)      $(MAKE) install-libgl || exit 1 ;; \
+    dri)    $(MAKE) install-libgl-pc install-dri || exit 1 ;; \
+    *)      $(MAKE) install-libgl-pc install-libgl || exit 1 ;; \
   esac ; \
 done
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -203,7 +203,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; install-headers:
 $(INSTALL) -m 644 $(TOP)/include/GL/*.h \
 $(DESTDIR)$(INSTALL_INC_DIR)/GL
 
-install-libgl: default gl.pc install-headers
+install-libgl: default
+$(MINSTALL) $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB) \
+$(DESTDIR)$(INSTALL_LIB_DIR)
+
+install-libgl-pc: gl.pc install-headers
 $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
 $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
 $(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40760">
    <title>[PATCH 3/8] glapi: Enable silent rules for generationwhen used from automake.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40760</link>
    <description>&lt;pre&gt;This variable won't be set when called from non-automake makefiles,
but it cleans up shared-glapi's output.
---
 src/mapi/glapi/gen/glapi_gen.mk |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mapi/glapi/gen/glapi_gen.mk b/src/mapi/glapi/gen/glapi_gen.mk
index c7fa7c0..1b05a40 100644
--- a/src/mapi/glapi/gen/glapi_gen.mk
+++ b/src/mapi/glapi/gen/glapi_gen.mk
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,7 +17,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; glapi_gen_mapi_deps := \
 # $(2): name of the printer
 define glapi_gen_mapi
 &amp;lt; at &amp;gt;mkdir -p $(dir $&amp;lt; at &amp;gt;)
-$(PYTHON2) $(PYTHON_FLAGS) $(glapi_gen_mapi_script) \
+$(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) $(glapi_gen_mapi_script) \
 --mode lib --printer $(2) $(1) &amp;gt; $&amp;lt; at &amp;gt;
 endef
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -28,7 +28,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; glapi_gen_dispatch_deps := $(glapi_gen_common_deps)
 # $(2): empty, es1, or es2 for entry point filtering
 define glapi_gen_dispatch
 &amp;lt; at &amp;gt;mkdir -p $(dir $&amp;lt; at &amp;gt;)
-$(PYTHON2) $(PYTHON_FLAGS) $(glapi_gen_dispatch_script) \
+$(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) $(glapi_gen_dispatch_script) \
 -f $(1) -m remap_table $(if $(2),-c $(2),) &amp;gt; $&amp;lt; at &amp;gt;
 endef
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,6 +39,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; glapi_gen_remap_deps := $(glapi_gen_common_deps)
 # $(2): empty, es1, or es2 for entry point filtering
 define glapi_gen_remap
 &amp;lt; at &amp;gt;mkdir -p $(dir $&amp;lt; at &amp;gt;)
-$(PYTHON2) $(PYTHON_FLAGS) $(glapi_gen_remap_script) \
+$(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) $(glapi_gen_remap_script) \
 -f $(1) $(if $(2),-c $(2),) &amp;gt; $&amp;lt; at &amp;gt;
 endef
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40759">
    <title>[PATCH 2/8] shared-glapi: Don't forget to clean ourbuilt file.</title>
    <link>http://permalink.gmane.org/gmane.comp.video.mesa3d.devel/40759</link>
    <description>&lt;pre&gt;---
 src/mapi/shared-glapi/Makefile.am |    1 +
 1 file changed, 1 insertion(+)

diff --git a/src/mapi/shared-glapi/Makefile.am b/src/mapi/shared-glapi/Makefile.am
index a80ba1f..9485683 100644
--- a/src/mapi/shared-glapi/Makefile.am
+++ b/src/mapi/shared-glapi/Makefile.am
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,6 +13,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; glapi_mapi_tmp.h : $(GLAPI)/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
 $(call glapi_gen_mapi,$&amp;lt;,shared-glapi)
 
 BUILT_SOURCES = glapi_mapi_tmp.h
+CLEANFILES = $(BUILT_SOURCES)
 
 AM_CPPFLAGS =\
 $(DEFINES)\
&lt;/pre&gt;</description>
    <dc:creator>Eric Anholt</dc:creator>
    <dc:date>2012-05-24T23:45:06</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.video.mesa3d.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.video.mesa3d.devel</link>
  </textinput>
</rdf:RDF>

