[Mesa-dev] Is the pure-make build system still supported?

Brian Paul brianp at vmware.com
Fri Jun 1 07:06:10 PDT 2012


On 06/01/2012 07:32 AM, Brad King wrote:
> Hi Folks,
>
> Since commit 0ce0f7c0 (mesa: Remove the generated glapi from source
> control, and just build it, 2012-05-15) I get this:
>
>   $ make linux-x86-64
>   ...
>   make[3]: Entering directory `.../src/mapi/glapi'
>   make[3]: *** No rule to make target `depend', needed by `default'.  Stop.
>   make[3]: Leaving directory `.../src/mapi/glapi'
>   make[2]: *** [subdirs] Error 1
>   make[2]: Leaving directory `.../src'
>   make[1]: *** [default] Error 1
>   make[1]: Leaving directory `...'
>
> It's easily addressed by the first patch below, but the build later
> fails with
>
>   make[5]: Entering directory `.../src/gallium/auxiliary/pipe-loader'
>   make[5]: *** No rule to make target `default'.  Stop.
>   make[5]: Leaving directory `.../src/gallium/auxiliary/pipe-loader'
>
> All I really need is GL and GLU so after applying the patch I can
> build using the command
>
>   $ bin/extract_git_sha1&&
>     ln -s linux-x86-64 configs/current&&
>     (cd src/glsl&&  make default)&&
>     (cd src/mapi/glapi/gen&&  make all)&&
>     (cd src/mapi/glapi&&  make default)&&
>     (cd src/mesa&&  make default)&&
>     (cd src/glu/sgi&&  make default)&&
>     true
>
> However, later commit 7d7fe1b0 (automake: Rename variables in
> sources.mak to be automake compatible, 2012-05-16) renamed many
> Makefile variables but did not update configs/* accordingly.  The
> result drops config-specific sources from pure-make builds.  For
> example on x86_64 when linking to Mesa GL I get:
>
>   undefined reference to `_mesa_x86_64_transform_points4_3d'
>   undefined reference to `_mesa_3dnow_transform_points4_perspective'
>   undefined reference to `_mesa_x86_64_transform_points4_identity'
>   undefined reference to `_mesa_x86_64_transform_points4_general'
>   undefined reference to `_mesa_3dnow_transform_points4_2d'
>   undefined reference to `_mesa_x86_64_cpuid'
>   undefined reference to `_mesa_3dnow_transform_points4_2d_no_rot'
>   undefined reference to `_mesa_3dnow_transform_points4_3d_no_rot'
>
> The second patch below fixes this particular issue but there are
> probably many more cases.
>
> FYI, the reason I use the pure-make build with the above command
> sequence is to achieve a minimal build of just GL and GLU.  I use
> it to run a nightly build of Mesa so I can run the VTK test suite
> against it to catch any Mesa regressions VTK exposes.  Occasionally
> Mesa fails to build in sources unrelated to GL and GLU which then
> prevents that version from being tested, so I want to build only
> the minimal part needed.

The old makefile system is going away.  You should transition to using 
autoconf or scons.

For autoconf, I'm guessing you'll probably want to use something like 
this:

./autogen.sh --disable-dri --enable-xlib-glx --enable-osmesa

-Brian


More information about the mesa-dev mailing list