summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/SConscript1
-rw-r--r--src/glu/sgi/SConscript136
-rw-r--r--src/glu/sgi/include/gluos.h6
-rw-r--r--src/glu/sgi/libutil/mipmap.c2
4 files changed, 143 insertions, 2 deletions
diff --git a/src/SConscript b/src/SConscript
index f11894f2990..7b614daeea1 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -23,6 +23,7 @@ SConscript('mapi/vgapi/SConscript')
if env['platform'] != 'embedded':
SConscript('egl/main/SConscript')
+ SConscript('glu/sgi/SConscript')
SConscript('glut/glx/SConscript')
if env['gles']:
diff --git a/src/glu/sgi/SConscript b/src/glu/sgi/SConscript
new file mode 100644
index 00000000000..b1bcfa0827a
--- /dev/null
+++ b/src/glu/sgi/SConscript
@@ -0,0 +1,136 @@
+Import('*')
+
+env.Prepend(CPPPATH = [
+ 'include',
+ 'internals',
+ 'libnurbs/internals',
+ 'libnurbs/interface',
+ 'libnurbs/nurbtess',
+])
+
+env.Prepend(CPPDEFINES = [
+ 'NDEBUG',
+ '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'
+
+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')
diff --git a/src/glu/sgi/include/gluos.h b/src/glu/sgi/include/gluos.h
index 8eaa7a153bd..802aa8402d4 100644
--- a/src/glu/sgi/include/gluos.h
+++ b/src/glu/sgi/include/gluos.h
@@ -40,7 +40,9 @@
#define NOIME
#define NOMINMAX
-#define _WIN32_WINNT 0x0400
+#ifndef _WIN32_WINNT
+ #define _WIN32_WINNT 0x0400
+#endif
#ifndef STRICT
#define STRICT 1
#endif
@@ -48,9 +50,11 @@
#include <windows.h>
/* Disable warnings */
+#if defined(_MSC_VER)
#pragma warning(disable : 4101)
#pragma warning(disable : 4244)
#pragma warning(disable : 4761)
+#endif
#if defined(_MSC_VER) && _MSC_VER >= 1200 && _MSC_VER < 1300
#pragma comment(linker, "/OPT:NOWIN98")
diff --git a/src/glu/sgi/libutil/mipmap.c b/src/glu/sgi/libutil/mipmap.c
index 026ab849c1b..71e76afb872 100644
--- a/src/glu/sgi/libutil/mipmap.c
+++ b/src/glu/sgi/libutil/mipmap.c
@@ -6631,7 +6631,7 @@ static TexImage3Dproc pTexImage3D = 0;
# include <dlfcn.h>
# include <sys/types.h>
#else
- WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
+# include <windows.h>
#endif
static void gluTexImage3D( GLenum target, GLint level,