fixing the recurring Mesa build problem

Michel Dänzer michel at tungstengraphics.com
Fri Oct 27 06:21:07 PDT 2006


On Mon, 2006-10-09 at 18:18 -0600, Brian Paul wrote:
> Every time we add/remove sources files in Mesa we have to update 
> several files in the X.org xserver tree.  I'd like to fix that.

That would certainly be good, but I suspect any source based solution
will be susceptible to this kind of problems to some degree. Building an
X server module in the Mesa tree might be a better long term solution.


> My plan is this:
> 
> 1. Add a 'sources' file in Mesa for each subdir which lists the .c 
> files.  For example, src/mesa/main/sources will contain:
> 
> MAIN_SOURCES = \
> accum.c \
> api_arrayelt.c \
> api_loopback.c \
> api_noop.c \
> api_validate.c \
> arrayobj.c \
> attrib.c \
> blend.c \
> [etc...]
> 
> The Mesa developers will update the various 'sources' files whenever 
> we add/remove files.

If they remember to do it... this is also still slightly messy because
there is a many-to-many relationship between the source and destination
directories of the symlinks.


> 2. In the xserver tree, change the Makefile.am files under GL/mesa/ to 
> include the new 'sources' file.  For example, 
> xserver/GL/mesa/main/Makefile.am will contain:
> 
> [...]
> 
> include sources
> 
> nodist_libmain_la_SOURCES = $(MAIN_SOURCES)

I'm afraid I've discovered a bootstrap problem with this: The include
directive is interpreted by automake, not make. But the symlinks for the
sources files generally don't exist yet when automake runs. Any ideas
how to solve this would be appreciated.


> 3. Update the xserver/GL/symlinks-mesa.sh script to link in the new 
> 'sources' files from the Mesa tree.
> 
> 
> Sound good?
> 
> 
> Another issue is the Mesa directory skeleton under xserver/GL/mesa/ 
> doesn't quite match the Mesa CVS directory tree.  Specifically, the 
> xserver/GL/mesa/X/ directory should be renamed or moved to 
> xserver/GL/mesa/drivers/x11/.  There should also be an 
> xserver/GL/mesa/drivers/common/ subdir.
> 
> I'd appreciate it if someone more proficient with git would take care 
> of this task first.

The attached patches do the above. You can apply them with git-am.


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer




More information about the xorg mailing list