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

2012-06-05 Thread Brad King
On 06/04/2012 12:29 PM, Brian Paul wrote:
 On 06/01/2012 12:55 PM, Brad King wrote:
 However, I still get the above undefined symbols on x86_64 when
 linking to the resulting GL library.  The patch below (also in
 my previous post) solves it.  It seems configs/* is still in use
 even by the autotools system.
 
 Hmmm, I don't quite see how the linux-x86-64 file is getting pulled 
 in.  The files under configs/ will be gone soon.

Okay, I can patch it locally until then.

However, please consider the main patch I posted in this thread
to allow the (GL|GLU|OSMESA)_LIB names to be changed at
configuration time with autotools.

Thanks,
-Brad
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2012-06-05 Thread Brian Paul

On 06/05/2012 08:07 AM, Brad King wrote:

On 06/04/2012 12:29 PM, Brian Paul wrote:

On 06/01/2012 12:55 PM, Brad King wrote:

However, I still get the above undefined symbols on x86_64 when
linking to the resulting GL library.  The patch below (also in
my previous post) solves it.  It seems configs/* is still in use
even by the autotools system.


Hmmm, I don't quite see how the linux-x86-64 file is getting pulled
in.  The files under configs/ will be gone soon.


Okay, I can patch it locally until then.

However, please consider the main patch I posted in this thread
to allow the (GL|GLU|OSMESA)_LIB names to be changed at
configuration time with autotools.


I'm an automake novice so I'm leaving it up to others to review such 
patches.


-Brian
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2012-06-04 Thread Brian Paul

On 06/01/2012 12:55 PM, Brad King wrote:

On 06/01/2012 10:06 AM, Brian Paul wrote:

On 06/01/2012 07:32 AM, Brad King wrote:

   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 old makefile system is going away.


Okay, thanks for confirming.  I'll switch to autotools.


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


Thanks, that got me started.  I ended up using

  ./autogen.sh --disable-dri --disable-egl --enable-xlib-glx \
   --enable-osmesa --without-gallium-drivers

However, I still get the above undefined symbols on x86_64 when
linking to the resulting GL library.  The patch below (also in
my previous post) solves it.  It seems configs/* is still in use
even by the autotools system.


Hmmm, I don't quite see how the linux-x86-64 file is getting pulled 
in.  The files under configs/ will be gone soon.


-Brian

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2012-06-01 Thread Brad King
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.

Thanks,
-Brad


diff --git a/configs/default b/configs/default
index 40fa5e3..ca9ac71 100644
--- a/configs/default
+++ b/configs/default
@@ -99,7 +99,7 @@ MOTIF_CFLAGS = -I/usr/include/Motif1.2

 # Directories to build
 LIB_DIR = lib
-SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
+SRC_DIRS = glsl mapi/glapi/gen mapi/glapi mapi/vgapi mesa \
gallium egl gallium/winsys gallium/targets glu
 GLU_DIRS = sgi
 DRIVER_DIRS = x11 osmesa

diff --git a/configs/linux-x86-64 b/configs/linux-x86-64
index c2441e0..81bb36b 100644
--- a/configs/linux-x86-64
+++ b/configs/linux-x86-64
@@ -6,7 +6,7 @@ CONFIG_NAME = linux-x86-64

 ARCH_FLAGS = -m64

-MESA_ASM_SOURCES = $(X86-64_SOURCES)
+MESA_ASM_FILES = $(X86_64_FILES)
 GLAPI_ASM_SOURCES = $(X86-64_API)
 ASM_FLAGS = -DUSE_X86_64_ASM


___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2012-06-01 Thread Brian Paul

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


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

2012-06-01 Thread Brad King
On 06/01/2012 10:06 AM, Brian Paul wrote:
 On 06/01/2012 07:32 AM, Brad King wrote:
   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 old makefile system is going away.

Okay, thanks for confirming.  I'll switch to autotools.

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

Thanks, that got me started.  I ended up using

 ./autogen.sh --disable-dri --disable-egl --enable-xlib-glx \
  --enable-osmesa --without-gallium-drivers

However, I still get the above undefined symbols on x86_64 when
linking to the resulting GL library.  The patch below (also in
my previous post) solves it.  It seems configs/* is still in use
even by the autotools system.

-Brad


diff --git a/configs/linux-x86-64 b/configs/linux-x86-64
index c2441e0..81bb36b 100644
--- a/configs/linux-x86-64
+++ b/configs/linux-x86-64
@@ -6,7 +6,7 @@ CONFIG_NAME = linux-x86-64

 ARCH_FLAGS = -m64

-MESA_ASM_SOURCES = $(X86-64_SOURCES)
+MESA_ASM_FILES = $(X86_64_FILES)
 GLAPI_ASM_SOURCES = $(X86-64_API)
 ASM_FLAGS = -DUSE_X86_64_ASM

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev