From 0c7b1419ff5b1dc7fd7a27ff221785bafa5ca4c1 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Mon, 20 Aug 2012 14:44:01 -0700 Subject: build: Allow linking against OSMesa instead of libGL --- Makefile.am | 6 +++--- configure.ac | 24 +++++++++++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index 23ae5e7..332b96c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,8 +30,8 @@ AM_CPPFLAGS = -DLIBRARYBUILD \ -I$(top_srcdir)/src/libnurbs/internals \ -I$(top_srcdir)/src/libnurbs/interface \ -I$(top_srcdir)/src/libnurbs/nurbtess -AM_CFLAGS = $(GL_CFLAGS) $(WARNCFLAGS) -AM_CXXFLAGS = $(GL_CFLAGS) $(WARNCXXFLAGS) +AM_CFLAGS = $(GL_CFLAGS) $(OSMESA_CFLAGS) $(WARNCFLAGS) +AM_CXXFLAGS = $(GL_CFLAGS) $(OSMESA_CFLAGS) $(WARNCXXFLAGS) GLU_LIBRARY_VERSION=1:3:1 lib_LTLIBRARIES = libGLU.la @@ -125,5 +125,5 @@ libGLU_la_SOURCES = \ src/libnurbs/nurbtess/sampleMonoPoly.cc \ src/libnurbs/nurbtess/sampledLine.cc \ src/libnurbs/nurbtess/searchTree.cc -libGLU_la_LIBADD = $(GL_LIBS) +libGLU_la_LIBADD = $(GL_LIBS) $(OSMESA_LIBS) libGLU_la_LDFLAGS = -version-number $(GLU_LIBRARY_VERSION) -no-undefined -export-symbols-regex '^glu' diff --git a/configure.ac b/configure.ac index e0ee467..68ff97a 100644 --- a/configure.ac +++ b/configure.ac @@ -47,9 +47,26 @@ m4_ifndef([PKG_PROG_PKG_CONFIG], ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])]) PKG_PROG_PKG_CONFIG() -dnl Get the pkg-config definitions for libGL. We include a fallback -dnl path for GL implementation that don't provide a .pc file -PKG_CHECK_MODULES(GL, [gl], [], [ +AC_ARG_ENABLE(osmesa, + AS_HELP_STRING([--enable-osmesa], + [Enable use of OSMesa instead of libGL]), + [OSMESA="$enableval"], + [OSMESA=no]) + +dnl Get the pkg-config definitions for libGL/OSMesa. We include a fallback +dnl path for implementations that don't provide a .pc file +if test "x$OSMESA" = "xyes"; then + PKG_CHECK_MODULES(OSMESA, [osmesa], [], [ + AC_CHECK_HEADER([GL/osmesa.h], + [], + AC_MSG_ERROR([OSMesa not found])) + AC_CHECK_LIB([OSMesa], + [glBegin], + [OSMESA_LIBS=-lOSMesa], + AC_MSG_ERROR([OSMesa required])) + ]) +else + PKG_CHECK_MODULES(GL, [gl], [], [ AC_CHECK_HEADER([GL/gl.h], [], AC_MSG_ERROR([GL not found])) @@ -58,6 +75,7 @@ PKG_CHECK_MODULES(GL, [gl], [], [ [GL_LIBS=-lGL], AC_MSG_ERROR([GL required])) ]) +fi dnl Set up C warning flags. if test "x$GCC" = xyes; then -- cgit v1.2.1