From: Dan Nicholson Date: Wed, 16 Jun 2010 16:23:17 +0000 (-0700) Subject: osmesa: always build standalone for internal symbols X-Git-Tag: 062012170305~11787 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cbf30fce322506bd43692617de9d201533f41532;p=profile%2Fivi%2Fmesa.git osmesa: always build standalone for internal symbols When building OSMesa and xlib GL, the resulting OSMesa would be linked against libGL instead of the internal mesa libraries. However, when building with -fvisibility=hidden, some of the internal functions used in OSMesa could not be resolved through libGL. Instead, always build OSMesa standalone without linking against libGL. This has the advantage that OSMesa is always built the same way, but it means that disk space is wasted when libGL is installed since both libraries will contain the internal objects. Signed-off-by: Dan Nicholson Tested-by: Tom Fogal --- diff --git a/configure.ac b/configure.ac index 7307d89..57d2d92 100644 --- a/configure.ac +++ b/configure.ac @@ -891,7 +891,7 @@ else fi AC_ARG_ENABLE([gl-osmesa], [AS_HELP_STRING([--enable-gl-osmesa], - [enable OSMesa on libGL @<:@default=enabled for xlib driver@:>@])], + [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])], [gl_osmesa="$enableval"], [gl_osmesa="$default_gl_osmesa"]) if test "x$gl_osmesa" = xyes; then @@ -926,8 +926,8 @@ x16|x32) esac AC_SUBST([OSMESA_LIB]) -case "$mesa_driver" in -osmesa) +case "$DRIVER_DIRS" in +*osmesa*) # only link libraries with osmesa if shared if test "$enable_static" = no; then OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS" @@ -937,19 +937,7 @@ osmesa) OSMESA_MESA_DEPS="" OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS" ;; -*) - # Link OSMesa to libGL otherwise - OSMESA_LIB_DEPS="" - # only link libraries with osmesa if shared - if test "$enable_static" = no; then - OSMESA_MESA_DEPS='-l$(GL_LIB)' - else - OSMESA_MESA_DEPS="" - fi - OSMESA_PC_REQ="gl" - ;; esac -OSMESA_PC_LIB_PRIV="$OSMESA_PC_LIB_PRIV" AC_SUBST([OSMESA_LIB_DEPS]) AC_SUBST([OSMESA_MESA_DEPS]) AC_SUBST([OSMESA_PC_REQ]) diff --git a/src/mesa/drivers/osmesa/Makefile b/src/mesa/drivers/osmesa/Makefile index ea49a89..c6b4a04 100644 --- a/src/mesa/drivers/osmesa/Makefile +++ b/src/mesa/drivers/osmesa/Makefile @@ -20,17 +20,11 @@ INCLUDE_DIRS = \ -I$(TOP)/src/mesa \ -I$(TOP)/src/mesa/main -# Standalone osmesa needs to be linked with core Mesa APIs -ifeq ($(DRIVER_DIRS), osmesa) CORE_MESA = \ $(TOP)/src/mesa/libmesa.a \ $(TOP)/src/mapi/glapi/libglapi.a \ $(TOP)/src/glsl/cl/libglslcl.a \ $(TOP)/src/glsl/pp/libglslpp.a -else -CORE_MESA = -endif - .c.o: $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@