summaryrefslogtreecommitdiff
path: root/assembler
diff options
context:
space:
mode:
Diffstat (limited to 'assembler')
-rw-r--r--assembler/meson.build73
1 files changed, 73 insertions, 0 deletions
diff --git a/assembler/meson.build b/assembler/meson.build
new file mode 100644
index 00000000..bdddd0e2
--- /dev/null
+++ b/assembler/meson.build
@@ -0,0 +1,73 @@
+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 = shared_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)
+
+executable('intel-gen4disasm', 'disasm-main.c', link_with : lib_brw)
+
+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