import os
import os.path
import sys

env = Environment(
    tools = ['generic'],
    toolpath = ['../scons'],
    ENV = os.environ,
)


# Use Mesa's headers and libs
if 1:
    build_topdir = 'build'
    build_subdir = env['platform']
    if env['machine'] != 'generic':
        build_subdir += '-' + env['machine']
    if env['debug']:
        build_subdir += "-debug"
    if env['profile']:
        build_subdir += "-profile"
    build_dir = os.path.join(build_topdir, build_subdir)

    env.Append(CPPDEFINES = ['GLEW_STATIC'])
    env.Append(CPPPATH = ['#../include'])
    env.Append(LIBPATH = [
        '#../' + build_dir + '/glew/',
        '#../' + build_dir + '/glut/glx',
    ])


conf = Configure(env)

# OpenGL
if env['platform'] == 'windows':
    env.Prepend(LIBS = ['glu32', 'opengl32'])
else:
    env.Prepend(LIBS = ['GLU', 'GL'])

# Glut
env['GLUT'] = False
if conf.CheckCHeader('GL/glut.h'):
    if env['platform'] == 'windows':
        env['GLUT_LIB'] = 'glut32'
    else:
        env['GLUT_LIB'] = 'glut'
    env['GLUT'] = True

# GLEW
env['GLEW'] = False
if conf.CheckCHeader('GL/glew.h'):
    env['GLEW_LIB'] = 'glew'
    env['GLEW'] = True
    env.Prepend(LIBS = ['glew'])

conf.Finish()


Export('env')

SConscript(
    'SConscript',
    build_dir = env['build'],
    duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
)