Add an autoconf option for mangling Mesa.

In addition to setting up the flags correctly, this renames the
generated libraries to ensure they get 'Mangled' in the name.
This is very useful for distros and the like, where mangled Mesa
and non-mangled GL libraries typically need to be installed
side-by-side.

Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
This commit is contained in:
Tom Fogal 2011-10-10 10:33:18 -06:00
parent 53d32600cc
commit c0573fb29d
2 changed files with 26 additions and 5 deletions

View File

@ -64,8 +64,8 @@ FLEX = @FLEX@
BISON = @BISON@
# Library names (base name)
GL_LIB = GL
GLU_LIB = GLU
GL_LIB = @GL_LIB@
GLU_LIB = @GLU_LIB@
GLW_LIB = GLw
OSMESA_LIB = @OSMESA_LIB@
GLESv1_CM_LIB = GLESv1_CM

View File

@ -349,6 +349,28 @@ else
esac
fi
dnl
dnl Mangled Mesa support
dnl
AC_ARG_ENABLE([mangling],
[AS_HELP_STRING([--enable-mangling],
[enable mangled symbols and library name @<:@default=disabled@:>@])],
[enable_mangling="${enableval}"],
[enable_mangling=no]
)
GL_LIB="GL"
GLU_LIB="GLU"
OSMESA_LIB="OSMesa"
if test "x${enable_mangling}" = "xyes" ; then
DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE"
GL_LIB="MangledGL"
GLU_LIB="MangledGLU"
OSMESA_LIB="MangledOSMesa"
fi
AC_SUBST([GL_LIB])
AC_SUBST([GLU_LIB])
AC_SUBST([OSMESA_LIB])
dnl
dnl potentially-infringing-but-nobody-knows-for-sure stuff
dnl
@ -1288,17 +1310,16 @@ if test "x$osmesa_bits" != x8; then
fi
case "x$osmesa_bits" in
x8)
OSMESA_LIB=OSMesa
OSMESA_LIB="${OSMESA_LIB}"
;;
x16|x32)
OSMESA_LIB="OSMesa$osmesa_bits"
OSMESA_LIB="${OSMESA_LIB}$osmesa_bits"
DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
;;
*)
AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
;;
esac
AC_SUBST([OSMESA_LIB])
if test "x$enable_osmesa" = xyes; then
# only link libraries with osmesa if shared