From 8d336f8b3ceea9652debd9216d92b36b2dd2ab0f Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 13 Jan 2012 11:31:46 -0800 Subject: Add an autotools build system for libGLU. Now that it's split out from Mesa, we don't have the old build system. --- Makefile.am | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ autogen.sh | 6 +++ configure.ac | 74 ++++++++++++++++++++++++++++++++++ 3 files changed, 208 insertions(+) create mode 100644 Makefile.am create mode 100755 autogen.sh create mode 100644 configure.ac diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..61dc9c3 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,128 @@ +# Copyright © 2011 Intel Corporation +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = glu.pc + +ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} + +AM_CPPFLAGS = -DLIBRARYBUILD \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/src/include \ + -I$(top_srcdir)/src/libnurbs/internals \ + -I$(top_srcdir)/src/libnurbs/interface \ + -I$(top_srcdir)/src/libnurbs/nurbtess + +GLU_LIBRARY_VERSION=1:3:1 +lib_LTLIBRARIES = libGLU.la +libGLU_la_SOURCES = \ + src/libutil/error.c \ + src/libutil/glue.c \ + src/libutil/mipmap.c \ + src/libutil/project.c \ + src/libutil/quad.c \ + src/libutil/registry.c \ + src/libtess/dict.c \ + src/libtess/geom.c \ + src/libtess/memalloc.c \ + src/libtess/mesh.c \ + src/libtess/normal.c \ + src/libtess/priorityq.c \ + src/libtess/render.c \ + src/libtess/sweep.c \ + src/libtess/tess.c \ + src/libtess/tessmono.c \ + src/libnurbs/interface/bezierEval.cc \ + src/libnurbs/interface/bezierPatch.cc \ + src/libnurbs/interface/bezierPatchMesh.cc \ + src/libnurbs/interface/glcurveval.cc \ + src/libnurbs/interface/glinterface.cc \ + src/libnurbs/interface/glrenderer.cc \ + src/libnurbs/interface/glsurfeval.cc \ + src/libnurbs/interface/incurveeval.cc \ + src/libnurbs/interface/insurfeval.cc \ + src/libnurbs/internals/arc.cc \ + src/libnurbs/internals/arcsorter.cc \ + src/libnurbs/internals/arctess.cc \ + src/libnurbs/internals/backend.cc \ + src/libnurbs/internals/basiccrveval.cc \ + src/libnurbs/internals/basicsurfeval.cc \ + src/libnurbs/internals/bin.cc \ + src/libnurbs/internals/bufpool.cc \ + src/libnurbs/internals/cachingeval.cc \ + src/libnurbs/internals/ccw.cc \ + src/libnurbs/internals/coveandtiler.cc \ + src/libnurbs/internals/curve.cc \ + src/libnurbs/internals/curvelist.cc \ + src/libnurbs/internals/curvesub.cc \ + src/libnurbs/internals/dataTransform.cc \ + src/libnurbs/internals/displaylist.cc \ + src/libnurbs/internals/flist.cc \ + src/libnurbs/internals/flistsorter.cc \ + src/libnurbs/internals/hull.cc \ + src/libnurbs/internals/intersect.cc \ + src/libnurbs/internals/knotvector.cc \ + src/libnurbs/internals/mapdesc.cc \ + src/libnurbs/internals/mapdescv.cc \ + src/libnurbs/internals/maplist.cc \ + src/libnurbs/internals/mesher.cc \ + src/libnurbs/internals/monoTriangulationBackend.cc \ + src/libnurbs/internals/monotonizer.cc \ + src/libnurbs/internals/mycode.cc \ + src/libnurbs/internals/nurbsinterfac.cc \ + src/libnurbs/internals/nurbstess.cc \ + src/libnurbs/internals/patch.cc \ + src/libnurbs/internals/patchlist.cc \ + src/libnurbs/internals/quilt.cc \ + src/libnurbs/internals/reader.cc \ + src/libnurbs/internals/renderhints.cc \ + src/libnurbs/internals/slicer.cc \ + src/libnurbs/internals/sorter.cc \ + src/libnurbs/internals/splitarcs.cc \ + src/libnurbs/internals/subdivider.cc \ + src/libnurbs/internals/tobezier.cc \ + src/libnurbs/internals/trimline.cc \ + src/libnurbs/internals/trimregion.cc \ + src/libnurbs/internals/trimvertpool.cc \ + src/libnurbs/internals/uarray.cc \ + src/libnurbs/internals/varray.cc \ + src/libnurbs/nurbtess/directedLine.cc \ + src/libnurbs/nurbtess/gridWrap.cc \ + src/libnurbs/nurbtess/monoChain.cc \ + src/libnurbs/nurbtess/monoPolyPart.cc \ + src/libnurbs/nurbtess/monoTriangulation.cc \ + src/libnurbs/nurbtess/partitionX.cc \ + src/libnurbs/nurbtess/partitionY.cc \ + src/libnurbs/nurbtess/polyDBG.cc \ + src/libnurbs/nurbtess/polyUtil.cc \ + src/libnurbs/nurbtess/primitiveStream.cc \ + src/libnurbs/nurbtess/quicksort.cc \ + src/libnurbs/nurbtess/rectBlock.cc \ + src/libnurbs/nurbtess/sampleComp.cc \ + src/libnurbs/nurbtess/sampleCompBot.cc \ + src/libnurbs/nurbtess/sampleCompRight.cc \ + src/libnurbs/nurbtess/sampleCompTop.cc \ + src/libnurbs/nurbtess/sampleMonoPoly.cc \ + src/libnurbs/nurbtess/sampledLine.cc \ + src/libnurbs/nurbtess/searchTree.cc +libGLU_la_CFLAGS = $(GL_CFLAGS) +libGLU_la_LIBADD = $(GL_LIBS) +libGLU_la_LDFLAGS = -version-number $(GLU_LIBRARY_VERSION) -no-undefined -export-symbols-regex '^glu' diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..30d679f --- /dev/null +++ b/autogen.sh @@ -0,0 +1,6 @@ +#! /bin/sh + +test -n "$srcdir" || srcdir=`dirname "$0"` +test -n "$srcdir" || srcdir=. +autoreconf --force --install --verbose "$srcdir" +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..5656341 --- /dev/null +++ b/configure.ac @@ -0,0 +1,74 @@ +# Copyright © 2011 Intel Corporation +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +AC_PREREQ([2.60]) +AC_INIT([glu], + [1.3.1], + [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa]) +AC_CONFIG_SRCDIR([Makefile.am]) +AC_CANONICAL_HOST + +AM_INIT_AUTOMAKE([dist-bzip2 foreign subdir-objects]) + +dnl Check for progs +AC_PROG_CPP +AC_PROG_CC +AC_PROG_CXX +AC_PROG_LIBTOOL + +dnl Enable quiet compiles on automake 1.11. +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +dnl Make sure the pkg-config macros are defined +m4_ifndef([PKG_PROG_PKG_CONFIG], + [m4_fatal([Could not locate the pkg-config autoconf macros. + These are usually located in /usr/share/aclocal/pkg.m4. If your macros + are in a different location, try setting the environment variable + 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_CHECK_HEADER([GL/gl.h], + [], + AC_MSG_ERROR([GL not found])) + AC_CHECK_LIB([GL], + [glBegin], + [GL_LIBS=-lGL], + AC_MSG_ERROR([GL required])) + ]) + +dnl Set up C warning flags. +if test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -Wall" + CXXFLAGS="$CXXFLAGS -Wall" +else + AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) + if test "x$SUNCC" = "xyes"; then + WARNFLAGS="-v" + fi +fi + +AC_CONFIG_FILES([glu.pc]) +AC_OUTPUT([ + Makefile +]) -- cgit v1.2.1