import os

Import('*')

env = env.Clone()

env.Append(CPPPATH = [
    '#src/mapi',
    '#src/mesa',
    '.',
])

env.AppendUnique(CPPDEFINES = [
    '_GDI32_', # prevent wgl* being declared __declspec(dllimport)
    'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers 
    'WIN32_LEAN_AND_MEAN', # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx
])
if not env['gles']:
    # prevent _glapi_* from being declared __declspec(dllimport)
    env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])

sources = [
    'stw_context.c',
    'stw_device.c',
    'stw_ext_context.c',
    'stw_ext_extensionsstring.c',
    'stw_ext_gallium.c',
    'stw_ext_pbuffer.c',
    'stw_ext_pixelformat.c',
    'stw_ext_swapinterval.c',
    'stw_framebuffer.c',
    'stw_getprocaddress.c',
    'stw_pixelformat.c',
    'stw_st.c',
    'stw_tls.c',
    'stw_wgl.c',
]

wgl = env.ConvenienceLibrary(
    target ='wgl',
    source = sources,
)
Export('wgl')
