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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to