import os.path

Import('*')

env = env.Clone()

env.ParseConfig('pkg-config --cflags --libs libdrm xorg-server')

if env['kms']:
    env.ParseConfig('pkg-config --cflags --libs libkms')

env.Prepend(CPPPATH = [
    '#/include',
    '#/src/gallium',
    '#/src/mesa',
    '#/src/gallium/drivers/svga',
    '#/src/gallium/drivers/svga/include',
])

env.Append(CPPDEFINES = [
])

if env['gcc']:
    env.Append(CPPDEFINES = [
        'HAVE_STDINT_H',
        'HAVE_SYS_TYPES_H',
    ])

env.Append(CFLAGS = [
    '-std=gnu99',
    '-D_FILE_OFFSET_BITS=64',
])

env.Prepend(LIBPATH = [
])

env.Prepend(LIBS = [
    trace,
    rbug,
    st_xorg,
    svgadrm,
    svga,
    gallium,
])

sources = [
    'vmw_ioctl.c',
    'vmw_ctrl.c',
    'vmw_screen.c',
    'vmw_target.c',
    'vmw_video.c',
    'vmw_xorg.c',
]

# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
module = env.LoadableModule(
    target ='vmwgfx_drv.so',
    source = sources,
    LIBS = env['LIBS'],
    SHLIBPREFIX = '',
)

env.Alias('xorg-vmwgfx', module)
