diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile --- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000 +++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000 @@ -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 \ @@ -31,12 +36,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 @@ -52,5 +59,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 -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template --- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000 +++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000 @@ -1,6 +1,6 @@ # -*-makefile-*- -MESA_MODULES = $(TOP)/src/mesa/libmesa.a +MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so COMMON_SOURCES = \ ../common/utils.c \ @@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \ - $(OBJECTS) $(PIPE_DRIVERS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS) + $(OBJECTS) $(PIPE_DRIVERS) $(WINOBJ) \ + -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \ + $(DRI_LIB_DEPS) $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME) diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S --- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000 +++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000 @@ -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_SSE .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: