A new user interface for you! Read more...

File 0301-RH-mesa-7.1-link-shared-v1.7.patch of Package mesa

From 482065a4a5c8acb03631e85cea5176c68d096ea6 Mon Sep 17 00:00:00 2001
From: Paulo Ricardo Zanoni <pzanoni@mandriva.com>
Date: Tue, 22 Dec 2009 15:00:31 -0200
Subject: [PATCH] RH: mesa-7.1-link-shared v1.7

---
 src/mesa/drivers/dri/Makefile          |   12 ++++++++++--
 src/mesa/drivers/dri/Makefile.template |    5 +++--
 src/mesa/x86/read_rgba_span_x86.S      |    4 ----
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/Makefile b/src/mesa/drivers/dri/Makefile
index 264648c..44a034a 100644
--- a/src/mesa/drivers/dri/Makefile
+++ b/src/mesa/drivers/dri/Makefile
@@ -6,12 +6,17 @@ include $(TOP)/configs/current
 
 
 
-default: $(TOP)/$(LIB_DIR) subdirs dri.pc
+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs dri.pc
 
 
 $(TOP)/$(LIB_DIR):
 	-mkdir $(TOP)/$(LIB_DIR)
 
+libdricore.so:
+	gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
+
+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
+	$(INSTALL) libdricore.so $(TOP)/$(LIB_DIR) 
 
 subdirs:
 	@for dir in $(DRI_DIRS) ; do \
@@ -32,12 +37,14 @@ dri.pc: dri.pc.in
 	$(pcedit) $< > $@
 
 
-install: dri.pc
+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
 	@for dir in $(DRI_DIRS) ; do \
 		if [ -d $$dir ] ; then \
 			(cd $$dir && $(MAKE) install) || exit 1 ; \
 		fi \
 	done
+	$(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
+	$(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
 	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
 	$(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
 	  $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
@@ -51,5 +58,6 @@ clean:
 			(cd $$dir && $(MAKE) clean) ; \
 		fi \
 	done
+	-rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
 	-rm -f common/*.o
 	-rm -f *.pc
diff --git a/src/mesa/drivers/dri/Makefile.template b/src/mesa/drivers/dri/Makefile.template
index 39d25ce..da616a6 100644
--- a/src/mesa/drivers/dri/Makefile.template
+++ b/src/mesa/drivers/dri/Makefile.template
@@ -1,6 +1,6 @@
 # -*-makefile-*-
 
-MESA_MODULES = $(TOP)/src/mesa/libmesa.a
+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
 
 COMMON_GALLIUM_SOURCES = \
         ../common/utils.c \
@@ -70,7 +70,8 @@ lib: symlinks subdirs depend
 $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) Makefile \
 		$(TOP)/src/mesa/drivers/dri/Makefile.template
 	$(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-		$(OBJECTS) $(MESA_MODULES) $(EXTRA_MODULES) $(WINOBJ) \
+		$(OBJECTS) $(EXTRA_MODULES) $(WINOBJ) \
+		-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
 		$(DRI_LIB_DEPS)
 
 
diff --git a/src/mesa/x86/read_rgba_span_x86.S b/src/mesa/x86/read_rgba_span_x86.S
index 92b1c2d..3631091 100644
--- a/src/mesa/x86/read_rgba_span_x86.S
+++ b/src/mesa/x86/read_rgba_span_x86.S
@@ -77,7 +77,6 @@
  */
 
 .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
-.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
 	.type	_generic_read_RGBA_span_BGRA8888_REV_MMX, @function
 _generic_read_RGBA_span_BGRA8888_REV_MMX:
 	pushl	%ebx
@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX:
  */
 
 .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
-.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
 	.type	_generic_read_RGBA_span_BGRA8888_REV_SSE, @function
 _generic_read_RGBA_span_BGRA8888_REV_SSE:
 	pushl	%esi
@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE:
 
 	.text
 .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
-.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
 	.type	_generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
 _generic_read_RGBA_span_BGRA8888_REV_SSE2:
 	pushl	%esi
@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE2:
 
 	.text
 	.globl	_generic_read_RGBA_span_RGB565_MMX
-        .hidden _generic_read_RGBA_span_RGB565_MMX
 	.type	_generic_read_RGBA_span_RGB565_MMX, @function
 
 _generic_read_RGBA_span_RGB565_MMX:
-- 
1.6.4.4