Import('*')

from sys import executable as python_cmd

env.Append(CPPPATH = [
    '#src',
    'indices',
    'util',
    '#src/compiler/nir',
    '../../compiler/nir',
])

env = env.Clone()

env.MSVC2013Compat()

env.CodeGenerate(
    target = 'indices/u_indices_gen.c',
    script = 'indices/u_indices_gen.py',
    source = [],
    command = python_cmd + ' $SCRIPT > $TARGET'
)

env.CodeGenerate(
    target = 'indices/u_unfilled_gen.c',
    script = 'indices/u_unfilled_gen.py',
    source = [],
    command = python_cmd + ' $SCRIPT > $TARGET'
)

source = env.ParseSourceList('Makefile.sources', [
    'C_SOURCES',
    'NIR_SOURCES',
    'VL_STUB_SOURCES',
    'GENERATED_SOURCES'
])

if env['llvm']:
    source += env.ParseSourceList('Makefile.sources', [
        'GALLIVM_SOURCES',
    ])

gallium = env.ConvenienceLibrary(
    target = 'gallium',
    source = source,
)

env.Alias('gallium', gallium)

Export('gallium')
