scons: Add support for GLES.
GLES can be enabled by running scons with
$ scons gles=yes
When gles=yes is given, the build is changed in three ways. First,
libmesa.a will be built with FEATURE_ES1 and FEATURE_ES2. This makes
DRI drivers and libEGL support and advertise GLES support. Second, GLES
libraries will be created. They are libGLESv1_CM, libGLESv2, and
libglapi. Last, libGL or opengl32 will link to libglapi. This change
is required as _glapi_* will be declared as __declspec(dllimport) in
libmesa.a on windows. libmesa.a expects those symbols to be defined in
another DLL. Due to this change to GL, GLES support is marked
experimental.
Note that GLES requires libxml2-python to generate some of its sources.
diff --git a/src/SConscript b/src/SConscript
index 201812c..06c6f94 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -8,6 +8,10 @@
Export('talloc')
SConscript('glsl/SConscript')
+# When env['gles'] is set, the targets defined in mapi/glapi/SConscript are not
+# used. libgl-xlib and libgl-gdi adapt themselves to use the targets defined
+# in mapi/glapi-shared/SConscript. mesa/SConscript also adapts itself to
+# enable OpenGL ES support.
SConscript('mapi/glapi/SConscript')
SConscript('mesa/SConscript')
@@ -17,5 +21,8 @@
SConscript('egl/main/SConscript')
SConscript('glut/glx/SConscript')
+ if env['gles']:
+ SConscript('mapi/shared-glapi/SConscript')
+
SConscript('gallium/SConscript')