Import('*')


if env['platform'] == 'windows':
    SConscript('getopt/SConscript')

SConscript('util/SConscript')
SConscript('glsl/SConscript')

if env['hostonly']:
    # We are just compiling the things necessary on the host for cross
    # compilation
    Return()

SConscript('loader/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/gen/SConscript')
SConscript('mapi/glapi/SConscript')

# Haiku C++ libGL dispatch (renderers depend on libgl)
if env['platform'] in ['haiku']:
    SConscript('hgl/SConscript')

SConscript('mesa/SConscript')

if not env['embedded']:
    if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'windows'):
        SConscript('glx/SConscript')
    if env['platform'] not in ['darwin', 'haiku', 'sunos']:
        if env['dri']:
            SConscript('egl/drivers/dri2/SConscript')
        SConscript('egl/main/SConscript')
    if env['platform'] == 'haiku':
        SConscript('egl/drivers/haiku/SConscript')
        SConscript('egl/main/SConscript')

    if env['gles']:
        SConscript('mapi/shared-glapi/SConscript')

SConscript('gallium/SConscript')

