| 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 |