Import('*') env = env.Clone() env.Prepend(CPPPATH = [ 'include', 'internals', 'libnurbs/internals', 'libnurbs/interface', 'libnurbs/nurbtess', ]) env.Prepend(CPPDEFINES = [ 'LIBRARYBUILD', 'RESOLVE_3D_TEXTURE_SUPPORT', ]) sources = [ 'libutil/error.c', 'libutil/glue.c', 'libutil/mipmap.c', 'libutil/project.c', 'libutil/quad.c', 'libutil/registry.c', 'libtess/dict.c', 'libtess/geom.c', 'libtess/memalloc.c', 'libtess/mesh.c', 'libtess/normal.c', 'libtess/priorityq.c', 'libtess/render.c', 'libtess/sweep.c', 'libtess/tess.c', 'libtess/tessmono.c', 'libnurbs/interface/bezierEval.cc', 'libnurbs/interface/bezierPatch.cc', 'libnurbs/interface/bezierPatchMesh.cc', 'libnurbs/interface/glcurveval.cc', 'libnurbs/interface/glinterface.cc', 'libnurbs/interface/glrenderer.cc', 'libnurbs/interface/glsurfeval.cc', 'libnurbs/interface/incurveeval.cc', 'libnurbs/interface/insurfeval.cc', 'libnurbs/internals/arc.cc', 'libnurbs/internals/arcsorter.cc', 'libnurbs/internals/arctess.cc', 'libnurbs/internals/backend.cc', 'libnurbs/internals/basiccrveval.cc', 'libnurbs/internals/basicsurfeval.cc', 'libnurbs/internals/bin.cc', 'libnurbs/internals/bufpool.cc', 'libnurbs/internals/cachingeval.cc', 'libnurbs/internals/ccw.cc', 'libnurbs/internals/coveandtiler.cc', 'libnurbs/internals/curve.cc', 'libnurbs/internals/curvelist.cc', 'libnurbs/internals/curvesub.cc', 'libnurbs/internals/dataTransform.cc', 'libnurbs/internals/displaylist.cc', 'libnurbs/internals/flist.cc', 'libnurbs/internals/flistsorter.cc', 'libnurbs/internals/hull.cc', 'libnurbs/internals/intersect.cc', 'libnurbs/internals/knotvector.cc', 'libnurbs/internals/mapdesc.cc', 'libnurbs/internals/mapdescv.cc', 'libnurbs/internals/maplist.cc', 'libnurbs/internals/mesher.cc', 'libnurbs/internals/monoTriangulationBackend.cc', 'libnurbs/internals/monotonizer.cc', 'libnurbs/internals/mycode.cc', 'libnurbs/internals/nurbsinterfac.cc', 'libnurbs/internals/nurbstess.cc', 'libnurbs/internals/patch.cc', 'libnurbs/internals/patchlist.cc', 'libnurbs/internals/quilt.cc', 'libnurbs/internals/reader.cc', 'libnurbs/internals/renderhints.cc', 'libnurbs/internals/slicer.cc', 'libnurbs/internals/sorter.cc', 'libnurbs/internals/splitarcs.cc', 'libnurbs/internals/subdivider.cc', 'libnurbs/internals/tobezier.cc', 'libnurbs/internals/trimline.cc', 'libnurbs/internals/trimregion.cc', 'libnurbs/internals/trimvertpool.cc', 'libnurbs/internals/uarray.cc', 'libnurbs/internals/varray.cc', 'libnurbs/nurbtess/directedLine.cc', 'libnurbs/nurbtess/gridWrap.cc', 'libnurbs/nurbtess/monoChain.cc', 'libnurbs/nurbtess/monoPolyPart.cc', 'libnurbs/nurbtess/monoTriangulation.cc', 'libnurbs/nurbtess/partitionX.cc', 'libnurbs/nurbtess/partitionY.cc', 'libnurbs/nurbtess/polyDBG.cc', 'libnurbs/nurbtess/polyUtil.cc', 'libnurbs/nurbtess/primitiveStream.cc', 'libnurbs/nurbtess/quicksort.cc', 'libnurbs/nurbtess/rectBlock.cc', 'libnurbs/nurbtess/sampleComp.cc', 'libnurbs/nurbtess/sampleCompBot.cc', 'libnurbs/nurbtess/sampleCompRight.cc', 'libnurbs/nurbtess/sampleCompTop.cc', 'libnurbs/nurbtess/sampleMonoPoly.cc', 'libnurbs/nurbtess/sampledLine.cc', 'libnurbs/nurbtess/searchTree.cc', ] if env['platform'] == 'windows': # -D_OPENGL32_ -Iinclude -DBUILD_GL32 env.PrependUnique(LIBS = [ 'gdi32', 'user32', 'opengl32', ]) target = 'glu32' sources += ['glu.def'] else: env.PrependUnique(LIBS = [ 'GL', ]) target = 'glu' if env['platform'] == 'haiku': glu = env.StaticLibrary( target = target, source = sources ) else: glu = env.SharedLibrary( target = target, source = sources ) env.Alias('glu', env.InstallSharedLibrary(glu, version=(1, 3, 0))) if env['platform'] == 'windows': glu = env.FindIxes(glu, 'LIBPREFIX', 'LIBSUFFIX') else: glu = env.FindIxes(glu, 'SHLIBPREFIX', 'SHLIBSUFFIX') Export('glu')