summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicholson <dbn.lists@gmail.com>2010-06-16 09:23:17 -0700
committerDan Nicholson <dbn.lists@gmail.com>2010-06-16 09:23:17 -0700
commitcbf30fce322506bd43692617de9d201533f41532 (patch)
tree2944f8425c07d57e726169cdc08075e9b882d3db
parent1c377cea1094c0b5414c663adf2fd393bf41ddfb (diff)
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 <dbn.lists@gmail.com> Tested-by: Tom Fogal <tfogal@alumni.unh.edu>
-rw-r--r--configure.ac18
-rw-r--r--src/mesa/drivers/osmesa/Makefile6
2 files changed, 3 insertions, 21 deletions
diff --git a/configure.ac b/configure.ac
index 7307d89ae21..57d2d92c881 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 ea49a896590..c6b4a040851 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 $@