scons: Add Haiku build support
[mesa.git] / src / glu / sgi / SConscript
1 Import('*')
2
3 env = env.Clone()
4
5 env.Prepend(CPPPATH = [
6 'include',
7 'internals',
8 'libnurbs/internals',
9 'libnurbs/interface',
10 'libnurbs/nurbtess',
11 ])
12
13 env.Prepend(CPPDEFINES = [
14 'LIBRARYBUILD',
15 'RESOLVE_3D_TEXTURE_SUPPORT',
16 ])
17
18 sources = [
19 'libutil/error.c',
20 'libutil/glue.c',
21 'libutil/mipmap.c',
22 'libutil/project.c',
23 'libutil/quad.c',
24 'libutil/registry.c',
25 'libtess/dict.c',
26 'libtess/geom.c',
27 'libtess/memalloc.c',
28 'libtess/mesh.c',
29 'libtess/normal.c',
30 'libtess/priorityq.c',
31 'libtess/render.c',
32 'libtess/sweep.c',
33 'libtess/tess.c',
34 'libtess/tessmono.c',
35 'libnurbs/interface/bezierEval.cc',
36 'libnurbs/interface/bezierPatch.cc',
37 'libnurbs/interface/bezierPatchMesh.cc',
38 'libnurbs/interface/glcurveval.cc',
39 'libnurbs/interface/glinterface.cc',
40 'libnurbs/interface/glrenderer.cc',
41 'libnurbs/interface/glsurfeval.cc',
42 'libnurbs/interface/incurveeval.cc',
43 'libnurbs/interface/insurfeval.cc',
44 'libnurbs/internals/arc.cc',
45 'libnurbs/internals/arcsorter.cc',
46 'libnurbs/internals/arctess.cc',
47 'libnurbs/internals/backend.cc',
48 'libnurbs/internals/basiccrveval.cc',
49 'libnurbs/internals/basicsurfeval.cc',
50 'libnurbs/internals/bin.cc',
51 'libnurbs/internals/bufpool.cc',
52 'libnurbs/internals/cachingeval.cc',
53 'libnurbs/internals/ccw.cc',
54 'libnurbs/internals/coveandtiler.cc',
55 'libnurbs/internals/curve.cc',
56 'libnurbs/internals/curvelist.cc',
57 'libnurbs/internals/curvesub.cc',
58 'libnurbs/internals/dataTransform.cc',
59 'libnurbs/internals/displaylist.cc',
60 'libnurbs/internals/flist.cc',
61 'libnurbs/internals/flistsorter.cc',
62 'libnurbs/internals/hull.cc',
63 'libnurbs/internals/intersect.cc',
64 'libnurbs/internals/knotvector.cc',
65 'libnurbs/internals/mapdesc.cc',
66 'libnurbs/internals/mapdescv.cc',
67 'libnurbs/internals/maplist.cc',
68 'libnurbs/internals/mesher.cc',
69 'libnurbs/internals/monoTriangulationBackend.cc',
70 'libnurbs/internals/monotonizer.cc',
71 'libnurbs/internals/mycode.cc',
72 'libnurbs/internals/nurbsinterfac.cc',
73 'libnurbs/internals/nurbstess.cc',
74 'libnurbs/internals/patch.cc',
75 'libnurbs/internals/patchlist.cc',
76 'libnurbs/internals/quilt.cc',
77 'libnurbs/internals/reader.cc',
78 'libnurbs/internals/renderhints.cc',
79 'libnurbs/internals/slicer.cc',
80 'libnurbs/internals/sorter.cc',
81 'libnurbs/internals/splitarcs.cc',
82 'libnurbs/internals/subdivider.cc',
83 'libnurbs/internals/tobezier.cc',
84 'libnurbs/internals/trimline.cc',
85 'libnurbs/internals/trimregion.cc',
86 'libnurbs/internals/trimvertpool.cc',
87 'libnurbs/internals/uarray.cc',
88 'libnurbs/internals/varray.cc',
89 'libnurbs/nurbtess/directedLine.cc',
90 'libnurbs/nurbtess/gridWrap.cc',
91 'libnurbs/nurbtess/monoChain.cc',
92 'libnurbs/nurbtess/monoPolyPart.cc',
93 'libnurbs/nurbtess/monoTriangulation.cc',
94 'libnurbs/nurbtess/partitionX.cc',
95 'libnurbs/nurbtess/partitionY.cc',
96 'libnurbs/nurbtess/polyDBG.cc',
97 'libnurbs/nurbtess/polyUtil.cc',
98 'libnurbs/nurbtess/primitiveStream.cc',
99 'libnurbs/nurbtess/quicksort.cc',
100 'libnurbs/nurbtess/rectBlock.cc',
101 'libnurbs/nurbtess/sampleComp.cc',
102 'libnurbs/nurbtess/sampleCompBot.cc',
103 'libnurbs/nurbtess/sampleCompRight.cc',
104 'libnurbs/nurbtess/sampleCompTop.cc',
105 'libnurbs/nurbtess/sampleMonoPoly.cc',
106 'libnurbs/nurbtess/sampledLine.cc',
107 'libnurbs/nurbtess/searchTree.cc',
108 ]
109
110 if env['platform'] == 'windows':
111 # -D_OPENGL32_ -Iinclude -DBUILD_GL32
112 env.PrependUnique(LIBS = [
113 'gdi32',
114 'user32',
115 'opengl32',
116 ])
117 target = 'glu32'
118 sources += ['glu.def']
119 else:
120 env.PrependUnique(LIBS = [
121 'GL',
122 ])
123 target = 'glu'
124
125 if env['platform'] == 'haiku':
126 glu = env.StaticLibrary(
127 target = target,
128 source = sources
129 )
130 else:
131 glu = env.SharedLibrary(
132 target = target,
133 source = sources
134 )
135 env.Alias('glu', env.InstallSharedLibrary(glu, version=(1, 3, 0)))
136
137
138 if env['platform'] == 'windows':
139 glu = env.FindIxes(glu, 'LIBPREFIX', 'LIBSUFFIX')
140 else:
141 glu = env.FindIxes(glu, 'SHLIBPREFIX', 'SHLIBSUFFIX')
142
143 Export('glu')