From 5b2928ca6c54a3dbcffec27a6c067ab1d0364bad Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 23 Sep 2009 06:20:59 +0200 Subject: [PATCH] Mesa-master: - add a patch to build drivers shared, that saves some space when install more then one driver --- packages/graphics/Mesa-master/install | 1 + .../patches/mesa-7.1-link-shared.diff | 102 ++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 packages/graphics/Mesa-master/patches/mesa-7.1-link-shared.diff diff --git a/packages/graphics/Mesa-master/install b/packages/graphics/Mesa-master/install index 6eacd9b66a..6abf3480fe 100755 --- a/packages/graphics/Mesa-master/install +++ b/packages/graphics/Mesa-master/install @@ -16,6 +16,7 @@ cp -PR $PKG_BUILD/lib/libGLU.so* $INSTALL/usr/lib cp -PR $PKG_BUILD/lib/libEGL.so* $INSTALL/usr/lib mkdir -p $INSTALL/usr/lib/dri +cp -PR $PKG_BUILD/lib/libdricore.so $INSTALL/usr/lib/dri cp -PR $PKG_BUILD/lib/*_dri.so $INSTALL/usr/lib/dri cp -PR $PKG_BUILD/lib/gallium/EGL_*.so $INSTALL/usr/lib/dri diff --git a/packages/graphics/Mesa-master/patches/mesa-7.1-link-shared.diff b/packages/graphics/Mesa-master/patches/mesa-7.1-link-shared.diff new file mode 100644 index 0000000000..f04238311a --- /dev/null +++ b/packages/graphics/Mesa-master/patches/mesa-7.1-link-shared.diff @@ -0,0 +1,102 @@ +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: