summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2012-08-20 14:44:01 -0700
committerMatt Turner <mattst88@gmail.com>2012-08-28 20:53:27 -0700
commit0c7b1419ff5b1dc7fd7a27ff221785bafa5ca4c1 (patch)
tree76d9d554d47af3bdb1a70bb2200f01ea3924d27b
parentb1d3e8308a0f41e766f1b5769a820e12e50391ba (diff)
downloadglu-0c7b1419ff5b1dc7fd7a27ff221785bafa5ca4c1.tar.gz
build: Allow linking against OSMesa instead of libGL
-rw-r--r--Makefile.am6
-rw-r--r--configure.ac24
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