meson.build revision 9f464c52
101e04c3fSmrg# Copyright © 2017 Intel Corporation 201e04c3fSmrg 301e04c3fSmrg# Permission is hereby granted, free of charge, to any person obtaining a copy 401e04c3fSmrg# of this software and associated documentation files (the "Software"), to deal 501e04c3fSmrg# in the Software without restriction, including without limitation the rights 601e04c3fSmrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 701e04c3fSmrg# copies of the Software, and to permit persons to whom the Software is 801e04c3fSmrg# furnished to do so, subject to the following conditions: 901e04c3fSmrg 1001e04c3fSmrg# The above copyright notice and this permission notice shall be included in 1101e04c3fSmrg# all copies or substantial portions of the Software. 1201e04c3fSmrg 1301e04c3fSmrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1401e04c3fSmrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1501e04c3fSmrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1601e04c3fSmrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1701e04c3fSmrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 1801e04c3fSmrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 1901e04c3fSmrg# SOFTWARE. 2001e04c3fSmrg 2101e04c3fSmrgisl_gen_files = files( 2201e04c3fSmrg 'isl_emit_depth_stencil.c', 2301e04c3fSmrg 'isl_surface_state.c', 2401e04c3fSmrg) 2501e04c3fSmrg 2601e04c3fSmrgisl_gen4_files = files( 2701e04c3fSmrg 'isl_gen4.c', 2801e04c3fSmrg 'isl_gen4.h', 2901e04c3fSmrg) 3001e04c3fSmrg 3101e04c3fSmrgisl_gen6_files = files( 3201e04c3fSmrg 'isl_gen6.c', 3301e04c3fSmrg 'isl_gen6.h', 3401e04c3fSmrg) 3501e04c3fSmrg 3601e04c3fSmrgisl_gen7_files = files( 3701e04c3fSmrg 'isl_gen7.c', 3801e04c3fSmrg 'isl_gen7.h', 3901e04c3fSmrg) 4001e04c3fSmrg 4101e04c3fSmrgisl_gen8_files = files( 4201e04c3fSmrg 'isl_gen8.c', 4301e04c3fSmrg 'isl_gen8.h', 4401e04c3fSmrg) 4501e04c3fSmrg 4601e04c3fSmrgisl_gen9_files = files( 4701e04c3fSmrg 'isl_gen9.c', 4801e04c3fSmrg 'isl_gen9.h', 4901e04c3fSmrg) 5001e04c3fSmrg 5101e04c3fSmrgisl_gen_libs = [] 5201e04c3fSmrgforeach g : [['40', isl_gen4_files], ['50', []], ['60', isl_gen6_files], 5301e04c3fSmrg ['70', isl_gen7_files], ['75', []], ['80', isl_gen8_files], 5401e04c3fSmrg ['90', isl_gen9_files], ['100', []], ['110', []]] 5501e04c3fSmrg _gen = g[0] 5601e04c3fSmrg isl_gen_libs += static_library( 5701e04c3fSmrg 'isl_gen@0@'.format(_gen), 5801e04c3fSmrg [g[1], isl_gen_files, gen_xml_pack], 5901e04c3fSmrg include_directories : [inc_common, inc_intel], 6001e04c3fSmrg c_args : [c_vis_args, no_override_init_args, 6101e04c3fSmrg '-DGEN_VERSIONx10=@0@'.format(_gen)], 6201e04c3fSmrg ) 6301e04c3fSmrgendforeach 6401e04c3fSmrg 6501e04c3fSmrgisl_format_layout_c = custom_target( 6601e04c3fSmrg 'isl_format_layout.c', 6701e04c3fSmrg input : ['gen_format_layout.py', 'isl_format_layout.csv'], 6801e04c3fSmrg output : 'isl_format_layout.c', 6901e04c3fSmrg command : [prog_python, '@INPUT0@', '--csv', '@INPUT1@', '--out', '@OUTPUT@'], 7001e04c3fSmrg) 7101e04c3fSmrg 729f464c52Smayafiles_isl_tiled_memcpy = files( 739f464c52Smaya 'isl_tiled_memcpy_normal.c' 749f464c52Smaya) 759f464c52Smaya 769f464c52Smayafiles_isl_tiled_memcpy_sse41 = files( 779f464c52Smaya 'isl_tiled_memcpy_sse41.c', 789f464c52Smaya) 799f464c52Smaya 809f464c52Smayaisl_tiled_memcpy = static_library( 819f464c52Smaya 'isl_tiled_memcpy', 829f464c52Smaya [files_isl_tiled_memcpy], 839f464c52Smaya include_directories : [ 849f464c52Smaya inc_common, inc_intel, inc_include, 859f464c52Smaya ], 869f464c52Smaya c_args : [c_vis_args, no_override_init_args, '-msse2'], 879f464c52Smaya extra_files : ['isl_tiled_memcpy.c'] 889f464c52Smaya) 899f464c52Smaya 909f464c52Smayaif with_sse41 919f464c52Smaya isl_tiled_memcpy_sse41 = static_library( 929f464c52Smaya 'isl_tiled_memcpy_sse41', 939f464c52Smaya [files_isl_tiled_memcpy_sse41], 949f464c52Smaya include_directories : [ 959f464c52Smaya inc_common, inc_intel, inc_include, 969f464c52Smaya ], 979f464c52Smaya link_args : ['-Wl,--exclude-libs=ALL'], 989f464c52Smaya c_args : [c_vis_args, no_override_init_args, '-msse2', sse41_args], 999f464c52Smaya extra_files : ['isl_tiled_memcpy.c'] 1009f464c52Smaya ) 1019f464c52Smayaelse 1029f464c52Smaya isl_tiled_memcpy_sse41 = [] 1039f464c52Smayaendif 1049f464c52Smaya 10501e04c3fSmrglibisl_files = files( 10601e04c3fSmrg 'isl.c', 10701e04c3fSmrg 'isl.h', 10801e04c3fSmrg 'isl_drm.c', 10901e04c3fSmrg 'isl_genX_priv.h', 11001e04c3fSmrg 'isl_format.c', 11101e04c3fSmrg 'isl_priv.h', 11201e04c3fSmrg 'isl_storage_image.c', 11301e04c3fSmrg) 11401e04c3fSmrg 11501e04c3fSmrglibisl = static_library( 11601e04c3fSmrg 'isl', 11701e04c3fSmrg [libisl_files, isl_format_layout_c, genX_bits_h], 1189f464c52Smaya include_directories : [inc_common, inc_intel, inc_include], 1199f464c52Smaya link_with : [isl_gen_libs, isl_tiled_memcpy, isl_tiled_memcpy_sse41], 12001e04c3fSmrg c_args : [c_vis_args, no_override_init_args], 12101e04c3fSmrg) 12201e04c3fSmrg 12301e04c3fSmrgif with_tests 12401e04c3fSmrg test( 12501e04c3fSmrg 'isl_surf_get_image_offset', 12601e04c3fSmrg executable( 12701e04c3fSmrg 'isl_surf_get_image_offset_test', 12801e04c3fSmrg 'tests/isl_surf_get_image_offset_test.c', 12901e04c3fSmrg dependencies : dep_m, 13001e04c3fSmrg include_directories : [inc_common, inc_intel], 13101e04c3fSmrg link_with : [libisl, libintel_dev, libmesa_util], 1329f464c52Smaya ), 1339f464c52Smaya suite : ['intel'], 13401e04c3fSmrg ) 13501e04c3fSmrgendif 136