I'm getting a build failure on AIX --with-driver=xlib via the autoconf
build system.  It appears as if creating libglslpp.a && libglslcl.a and
then merging them into the single libmesa.a is not supported.

Is there a compelling reason for the build to be this way (other than
convenience)?  Would something like the attached diff be an acceptable
approach for a fix (note -- untested, even on Linux, and it might need
to git rm glsl/Makefile* or similar)?

`make tarballs' also creates broken tarballs because they are missing
src/glsl/Makefile.template.  Another patch attached to fix that,
but depending on the answer above Makefile.template might go away
completely anyway.

Thanks,

-tom

  gmake[4]: Entering directory `/u0/fogal1/mesa/src/mesa/drivers/x11'
  nm: ../../../../src/mesa/libmesa.a[libglslpp.a]: 0654-203 Specify an XCOFF 
object module.
  nm: ../../../../src/mesa/libmesa.a[libglslcl.a]: 0654-203 Specify an XCOFF 
object module.
  ld: 0711-230 WARNING: Nested archives are not supported.
          Archive member ../../../../src/mesa/libmesa.a[libglslpp.a] is being 
ignored.
  ld: 0711-230 WARNING: Nested archives are not supported.
          Archive member ../../../../src/mesa/libmesa.a[libglslcl.a] is being 
ignored.
  ld: 0711-317 ERROR: Undefined symbol: .sl_pp_context_create
  ld: 0711-317 ERROR: Undefined symbol: .sl_pp_version
  ld: 0711-317 ERROR: Undefined symbol: .sl_pp_context_error_message
  ld: 0711-317 ERROR: Undefined symbol: .sl_pp_context_destroy
  ld: 0711-317 ERROR: Undefined symbol: .sl_pp_context_add_extension
  ld: 0711-317 ERROR: Undefined symbol: .sl_cl_compile
  ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
  ar: Creating an archive file libGL.a.
  ar: A file or directory in the path name does not exist.
  ar: 0707-117 The fopen system call failed on file shr.o.
  mklib: Installing libGL.a in ../../../../lib
  mv: cannot stat `libGL.a': A file or directory in the path name does not 
exist.
  gmake[4]: *** [../../../../lib/libGL.a] Error 1

diff --git a/configs/darwin b/configs/darwin
index 7556688..336b54e 100644
--- a/configs/darwin
+++ b/configs/darwin
@@ -49,7 +49,7 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X
 APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm
 
 # omit glw lib for now:
-SRC_DIRS = glsl glx/x11 mesa gallium glu glut/glx glew
+SRC_DIRS = glx/x11 mesa gallium glu glut/glx glew
 GLU_DIRS = sgi
 DRIVER_DIRS = osmesa
 #DRIVER_DIRS = dri
diff --git a/configs/default b/configs/default
index 94beca4..b19fa90 100644
--- a/configs/default
+++ b/configs/default
@@ -83,11 +83,11 @@ MOTIF_CFLAGS = -I/usr/include/Motif1.2
 
 # Directories to build
 LIB_DIR = lib
-SRC_DIRS = glsl mesa gallium egl gallium/winsys glu glut/glx glew glw
+SRC_DIRS = mesa gallium egl gallium/winsys glu glut/glx glew glw
 GLU_DIRS = sgi
 DRIVER_DIRS = x11 osmesa
 # Which subdirs under $(TOP)/progs/ to enter:
-PROGRAM_DIRS = demos redbook samples glsl objviewer xdemos
+PROGRAM_DIRS = demos redbook samples objviewer xdemos
 
 # EGL directories
 EGL_DRIVERS_DIRS = demo
diff --git a/configs/linux-cell b/configs/linux-cell
index 221655c..e9e796e 100644
--- a/configs/linux-cell
+++ b/configs/linux-cell
@@ -33,7 +33,7 @@ CFLAGS = $(OPT_FLAGS) -Wall -Winline -Wmissing-prototypes \
 CXXFLAGS = $(CFLAGS)
 
 # Omitting glw here:
-SRC_DIRS = glsl mesa gallium gallium/winsys glu glut/glx glew
+SRC_DIRS = mesa gallium gallium/winsys glu glut/glx glew
 
 # Build no traditional Mesa drivers:
 DRIVER_DIRS =
diff --git a/configure.ac b/configure.ac
index d3fbd02..3f8afe0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -414,7 +414,7 @@ esac
 dnl
 dnl Driver specific build directories
 dnl
-SRC_DIRS="glsl mesa glew"
+SRC_DIRS="mesa glew"
 GLU_DIRS="sgi"
 WINDOW_SYSTEM=""
 GALLIUM_DIRS="auxiliary drivers state_trackers"
@@ -1081,7 +1081,7 @@ if test "x$enable_glut" = xyes; then
 
     # If glut is available, we can build most programs
     if test "$with_demos" = yes; then
-        PROGRAM_DIRS="$PROGRAM_DIRS demos redbook samples glsl"
+        PROGRAM_DIRS="$PROGRAM_DIRS demos redbook samples"
     fi
 
     # If static, empty GLUT_LIB_DEPS and add libs for programs to link
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
index c42f61a..94bcb99 100644
--- a/src/mesa/sources.mak
+++ b/src/mesa/sources.mak
@@ -314,6 +314,26 @@ COMMON_DRIVER_SOURCES =			\
 	drivers/common/driverfuncs.c	\
 	drivers/common/meta.c
 
+GLSL_PP_SOURCES = \
+	glsl/pp/sl_pp_context.c \
+	glsl/pp/sl_pp_define.c \
+	glsl/pp/sl_pp_dict.c \
+	glsl/pp/sl_pp_error.c \
+	glsl/pp/sl_pp_expression.c \
+	glsl/pp/sl_pp_extension.c \
+	glsl/pp/sl_pp_if.c \
+	glsl/pp/sl_pp_line.c \
+	glsl/pp/sl_pp_macro.c \
+	glsl/pp/sl_pp_pragma.c \
+	glsl/pp/sl_pp_process.c \
+	glsl/pp/sl_pp_purify.c \
+	glsl/pp/sl_pp_token.c \
+	glsl/pp/sl_pp_token_util.c \
+	glsl/pp/sl_pp_version.c
+
+GLSL_CL_SOURCES = \
+	glsl/cl/sl_cl_parse.c
+
 
 # Sources for building non-Gallium drivers
 MESA_SOURCES = \
@@ -327,7 +347,9 @@ MESA_SOURCES = \
 	$(SWRAST_SETUP_SOURCES)	\
 	$(COMMON_DRIVER_SOURCES)\
 	$(ASM_C_SOURCES)	\
-	$(SLANG_SOURCES)
+	$(SLANG_SOURCES)  \
+	$(GLSL_PP_SOURCES) \
+	$(GLSL_CL_SOURCES)
 
 # Sources for building Gallium drivers
 MESA_GALLIUM_SOURCES = \
@@ -372,7 +394,6 @@ GLSL_LIBS = \
 	$(TOP)/src/glsl/pp/libglslpp.a \
 	$(TOP)/src/glsl/cl/libglslcl.a
 
-
 ### Include directories
 
 INCLUDE_DIRS = \
From 77284afce08278b92f8ebd380c1e9b3c44d87d1f Mon Sep 17 00:00:00 2001
From: Tom Fogal <tfo...@alumni.unh.edu>
Date: Wed, 6 Jan 2010 22:15:55 -0700
Subject: [PATCH] Fix generated tarballs.

glsl directory needs a `Makefile.template' or the build will fail.
---
 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index eb8dcc1..9db1776 100644
--- a/Makefile
+++ b/Makefile
@@ -226,7 +226,7 @@ MAIN_FILES = \
 	$(DIRECTORY)/include/GL/vms_x_fix.h				\
 	$(DIRECTORY)/include/GL/wglext.h				\
 	$(DIRECTORY)/include/GL/wmesa.h					\
-	$(DIRECTORY)/src/glsl/Makefile					\
+	$(DIRECTORY)/src/glsl/Makefile* 				\
 	$(DIRECTORY)/src/glsl/*/Makefile				\
 	$(DIRECTORY)/src/glsl/*/SConscript				\
 	$(DIRECTORY)/src/glsl/*/*.[ch]					\
-- 
1.6.3.3

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to