blob: b5ac678d29505607e9fdfa922ee3e66b818af2c3 [file] [log] [blame]
lib_brw_src = [
'brw_context.c',
'brw_disasm.c',
'brw_eu.c',
'brw_eu_compact.c',
'brw_eu_debug.c',
'brw_eu_emit.c',
'brw_eu_util.c',
'gen8_disasm.c',
'gen8_instruction.c',
'ralloc.c',
]
lib_brw = static_library('brw', lib_brw_src,
dependencies : igt_deps)
flex = find_program('flex')
bison = find_program('bison')
lgen = generator(flex,
output : '@BASENAME@.c',
arguments : ['-o', '@OUTPUT@', '@INPUT@'])
lfiles = lgen.process('lex.l')
pgen = generator(bison,
output : ['@BASENAME@.c', '@BASENAME@.h'],
arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'])
pfiles = pgen.process('gram.y')
executable('intel-gen4asm', 'main.c', lfiles, pfiles,
link_with : lib_brw, install : true)
executable('intel-gen4disasm', 'disasm-main.c',
link_with : lib_brw, install : true)
pkgconfigdir = join_paths(get_option('libdir'), 'pgkconfig')
conf_data = configuration_data()
conf_data.set('prefix', get_option('prefix'))
conf_data.set('exec_prefix', '${prefix}')
conf_data.set('libdir', join_paths('${prefix}', get_option('libdir')))
conf_data.set('includedir', join_paths('${prefix}', get_option('includedir')))
conf_data.set('VERSION', meson.project_version())
configure_file(input : 'intel-gen4asm.pc.in', output : 'intel-gen4asm.pc',
configuration : conf_data, install_dir : pkgconfigdir)
gen4asm_testcases = [
'test/mov',
'test/frc',
'test/rndd',
'test/rndu',
'test/rnde',
'test/rnde-intsrc',
'test/rndz',
'test/lzd',
'test/not',
'test/immediate',
]
# Those tests were already failing when the assembler was imported from
# the intel-gen4asm git repository:
# http://cgit.freedesktop.org/xorg/app/intel-gen4asm/
# We disable them "for now" as a workaround to be able to release i-g-t
gen4asm_testcases_broken = [
'test/declare',
'test/jmpi',
'test/if',
'test/iff',
'test/while',
'test/else',
'test/break',
'test/cont',
'test/halt',
'test/wait',
'test/endif',
]
test_runner = find_program('test/run-test.sh')
foreach testcase : gen4asm_testcases
test('assembler: ' + testcase, test_runner,
args : testcase,
env : [ 'srcdir=' + meson.current_source_dir(),
'top_builddir=' + meson.current_build_dir()])
endforeach