Path: blob/21.2-virgl/src/intel/tools/meson.build
4547 views
# Copyright © 2017 Intel Corporation12# Permission is hereby granted, free of charge, to any person obtaining a copy3# of this software and associated documentation files (the "Software"), to deal4# in the Software without restriction, including without limitation the rights5# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell6# copies of the Software, and to permit persons to whom the Software is7# furnished to do so, subject to the following conditions:89# The above copyright notice and this permission notice shall be included in10# all copies or substantial portions of the Software.1112# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR13# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,14# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE15# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER16# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,17# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE18# SOFTWARE.1920libaub = static_library(21'aub',22files('aub_read.c', 'aub_mem.c'),23include_directories : [inc_include, inc_src, inc_intel],24dependencies : idep_mesautil,25link_with : [libintel_common, libintel_dev],26c_args : [no_override_init_args],27gnu_symbol_visibility : 'hidden',28install : false29)3031aubinator = executable(32'aubinator',33files('aubinator.c'),34dependencies : [idep_mesautil, dep_expat, dep_zlib, dep_dl, dep_thread, dep_m],35include_directories : [inc_include, inc_src, inc_intel],36link_with : [libintel_common, libintel_compiler, libintel_dev, libaub],37c_args : [no_override_init_args],38gnu_symbol_visibility : 'hidden',39install : true40)4142aubinator_error_decode = executable(43'aubinator_error_decode',44files('aubinator_error_decode.c'),45dependencies : [idep_mesautil, dep_zlib, dep_thread],46include_directories : [inc_include, inc_src, inc_intel],47link_with : [libintel_common, libintel_compiler, libintel_dev],48c_args : [no_override_init_args],49gnu_symbol_visibility : 'hidden',50install : true51)5253i965_disasm = executable(54'i965_disasm',55files('i965_disasm.c'),56dependencies : [idep_mesautil, dep_thread],57include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_intel],58link_with : [libintel_common, libintel_compiler, libintel_dev],59c_args : [no_override_init_args],60gnu_symbol_visibility : 'hidden',61install : true62)6364error2aub = executable(65'intel_error2aub',66files('aub_write.h', 'aub_write.c', 'error2aub.c'),67dependencies : [dep_zlib, dep_dl, dep_thread, dep_m],68include_directories : [inc_include, inc_src, inc_intel],69link_with : [libintel_dev],70c_args : [no_override_init_args],71gnu_symbol_visibility : 'hidden',72install : true73)7475sanitize_data = configuration_data()76sanitize_data.set(77'install_libexecdir',78join_paths(get_option('prefix'), get_option('libexecdir'))79)80sanitize_data.set(81'install_libdir',82join_paths(get_option('prefix'), get_option('libdir'))83)84configure_file(85input : 'intel_sanitize_gpu.in',86output : '@BASENAME@',87install_dir : get_option('bindir'),88install : true,89configuration : sanitize_data90)9192libintel_sanitize_gpu = shared_library(93'intel_sanitize_gpu',94files('intel_sanitize_gpu.c'),95dependencies : [idep_mesautil, dep_dl, dep_thread],96include_directories : [inc_include, inc_src, inc_intel],97link_with : libintel_common,98c_args : [no_override_init_args, c_sse2_args],99gnu_symbol_visibility : 'hidden',100install_dir : get_option('libexecdir'),101install : true102)103104configure_file(105input : 'intel_dump_gpu.in',106output : '@BASENAME@',107install_dir : get_option('bindir'),108configuration : sanitize_data,109install : true110)111112libintel_dump_gpu = shared_library(113'intel_dump_gpu',114files(115'intel_context.h', 'gfx8_context.h', 'gfx10_context.h', 'intel_aub.h',116'aub_write.h', 'aub_write.c', 'intel_dump_gpu.c',117),118dependencies : [dep_dl, idep_mesautil],119include_directories : [inc_include, inc_src, inc_intel],120link_with : libintel_dev,121c_args : [no_override_init_args],122gnu_symbol_visibility : 'hidden',123install_dir : get_option('libexecdir'),124install : true125)126127if with_tools.contains('drm-shim')128configure_file(129input : 'intel_stub_gpu.in',130output : '@BASENAME@',131install_dir : get_option('bindir'),132configuration : sanitize_data,133install : true134)135136libintel_stub_gpu = shared_library(137['intel_noop_drm_shim'],138'intel_noop_drm_shim.c',139include_directories: [inc_include, inc_src, inc_intel],140link_with: libintel_dev,141dependencies: [dep_libdrm, dep_drm_shim, idep_mesautil, idep_libintel_common],142gnu_symbol_visibility : 'hidden',143install : true,144)145endif146147if with_tools.contains('intel-ui')148subdir('imgui')149150aubinator_viewer = executable(151'aubinator_viewer',152files('aubinator_viewer.cpp', 'aubinator_viewer_decoder.cpp'),153dependencies : [idep_mesautil, dep_zlib, dep_dl, dep_thread, dep_m, libintel_imgui_gtk_dep],154include_directories : [inc_include, inc_src, inc_intel],155link_with : [libintel_common, libintel_compiler, libintel_dev, libaub],156c_args : [no_override_init_args],157gnu_symbol_visibility : 'hidden',158cpp_args : ['-fpermissive', '-Wno-parentheses', '-Wno-class-memaccess'],159install : true160)161endif162163bison_command = []164if yacc_is_bison165bison_command = [166prog_bison, '@INPUT@', '--defines=@OUTPUT1@',167'--output=@OUTPUT0@'168]169else170bison_command = [171prog_bison, '-H', '@OUTPUT1@',172'-o', '@OUTPUT0@', '@INPUT@'173]174endif175176i965_gram_tab = custom_target(177'i965_gram.tab.[ch]',178input : 'i965_gram.y',179output : ['i965_gram.tab.c', 'i965_gram.tab.h'],180command : bison_command181)182183i965_lex_yy_c = custom_target(184'i965_lex.yy.c',185input : 'i965_lex.l',186output : 'i965_lex.yy.c',187command : [prog_flex, '-o', '@OUTPUT@', '@INPUT@']188)189190i965_asm = executable(191'i965_asm',192['i965_asm.c', i965_gram_tab[0], i965_gram_tab[1], i965_lex_yy_c],193dependencies : [idep_mesautil, dep_thread],194include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_intel],195link_with : [libintel_common, libintel_compiler, libintel_dev],196c_args : [no_override_init_args],197gnu_symbol_visibility : 'hidden',198install : true199)200201asm_testcases = [202['brw', 'gfx4'],203['g4x', 'gfx4.5'],204['ilk', 'gfx5'],205['snb', 'gfx6'],206['ivb', 'gfx7'],207['hsw', 'gfx7.5'],208['bdw', 'gfx8'],209['skl', 'gfx9'],210['icl', 'gfx11'],211]212213test_runner = find_program('tests/run-test.py')214foreach testcase : asm_testcases215_gen_name = testcase[0]216_gen_num = testcase[1]217_gen_folder = join_paths(meson.current_source_dir(), 'tests', _gen_num)218test(219'i965_asm_' + _gen_num, test_runner,220args : [221'--i965_asm', i965_asm,222'--gen_name', _gen_name,223'--gen_folder', _gen_folder,224],225suite : 'intel',226)227endforeach228229230