meson.build revision 01e04c3f
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 2101e04c3fSmrginc_util = include_directories('.') 2201e04c3fSmrg 2301e04c3fSmrgsubdir('xmlpool') 2401e04c3fSmrg 2501e04c3fSmrgfiles_mesa_util = files( 2601e04c3fSmrg 'bigmath.h', 2701e04c3fSmrg 'bitscan.c', 2801e04c3fSmrg 'bitscan.h', 2901e04c3fSmrg 'bitset.h', 3001e04c3fSmrg 'build_id.c', 3101e04c3fSmrg 'build_id.h', 3201e04c3fSmrg 'crc32.c', 3301e04c3fSmrg 'crc32.h', 3401e04c3fSmrg 'debug.c', 3501e04c3fSmrg 'debug.h', 3601e04c3fSmrg 'disk_cache.c', 3701e04c3fSmrg 'disk_cache.h', 3801e04c3fSmrg 'fast_idiv_by_const.c', 3901e04c3fSmrg 'fast_idiv_by_const.h', 4001e04c3fSmrg 'format_r11g11b10f.h', 4101e04c3fSmrg 'format_rgb9e5.h', 4201e04c3fSmrg 'format_srgb.h', 4301e04c3fSmrg 'futex.h', 4401e04c3fSmrg 'half_float.c', 4501e04c3fSmrg 'half_float.h', 4601e04c3fSmrg 'hash_table.c', 4701e04c3fSmrg 'hash_table.h', 4801e04c3fSmrg 'list.h', 4901e04c3fSmrg 'macros.h', 5001e04c3fSmrg 'mesa-sha1.c', 5101e04c3fSmrg 'mesa-sha1.h', 5201e04c3fSmrg 'os_time.c', 5301e04c3fSmrg 'os_time.h', 5401e04c3fSmrg 'os_misc.c', 5501e04c3fSmrg 'os_misc.h', 5601e04c3fSmrg 'u_process.c', 5701e04c3fSmrg 'u_process.h', 5801e04c3fSmrg 'sha1/sha1.c', 5901e04c3fSmrg 'sha1/sha1.h', 6001e04c3fSmrg 'ralloc.c', 6101e04c3fSmrg 'ralloc.h', 6201e04c3fSmrg 'rand_xor.c', 6301e04c3fSmrg 'rand_xor.h', 6401e04c3fSmrg 'rb_tree.c', 6501e04c3fSmrg 'rb_tree.h', 6601e04c3fSmrg 'register_allocate.c', 6701e04c3fSmrg 'register_allocate.h', 6801e04c3fSmrg 'rgtc.c', 6901e04c3fSmrg 'rgtc.h', 7001e04c3fSmrg 'rounding.h', 7101e04c3fSmrg 'set.c', 7201e04c3fSmrg 'set.h', 7301e04c3fSmrg 'simple_list.h', 7401e04c3fSmrg 'simple_mtx.h', 7501e04c3fSmrg 'slab.c', 7601e04c3fSmrg 'slab.h', 7701e04c3fSmrg 'string_buffer.c', 7801e04c3fSmrg 'string_buffer.h', 7901e04c3fSmrg 'strndup.h', 8001e04c3fSmrg 'strtod.c', 8101e04c3fSmrg 'strtod.h', 8201e04c3fSmrg 'texcompress_rgtc_tmp.h', 8301e04c3fSmrg 'u_atomic.c', 8401e04c3fSmrg 'u_atomic.h', 8501e04c3fSmrg 'u_dynarray.h', 8601e04c3fSmrg 'u_endian.h', 8701e04c3fSmrg 'u_queue.c', 8801e04c3fSmrg 'u_queue.h', 8901e04c3fSmrg 'u_string.h', 9001e04c3fSmrg 'u_thread.h', 9101e04c3fSmrg 'u_vector.c', 9201e04c3fSmrg 'u_vector.h', 9301e04c3fSmrg 'u_math.c', 9401e04c3fSmrg 'u_math.h', 9501e04c3fSmrg 'u_debug.c', 9601e04c3fSmrg 'u_debug.h', 9701e04c3fSmrg 'u_cpu_detect.c', 9801e04c3fSmrg 'u_cpu_detect.h', 9901e04c3fSmrg 'vma.c', 10001e04c3fSmrg 'vma.h', 10101e04c3fSmrg) 10201e04c3fSmrg 10301e04c3fSmrginstall_data('00-mesa-defaults.conf', install_dir : join_paths(get_option('datadir'), 'drirc.d')) 10401e04c3fSmrg 10501e04c3fSmrgfiles_xmlconfig = files( 10601e04c3fSmrg 'xmlconfig.c', 10701e04c3fSmrg 'xmlconfig.h', 10801e04c3fSmrg) 10901e04c3fSmrg 11001e04c3fSmrgformat_srgb = custom_target( 11101e04c3fSmrg 'format_srgb', 11201e04c3fSmrg input : ['format_srgb.py'], 11301e04c3fSmrg output : 'format_srgb.c', 11401e04c3fSmrg command : [prog_python, '@INPUT0@'], 11501e04c3fSmrg capture : true, 11601e04c3fSmrg) 11701e04c3fSmrg 11801e04c3fSmrglibmesa_util = static_library( 11901e04c3fSmrg 'mesa_util', 12001e04c3fSmrg [files_mesa_util, format_srgb], 12101e04c3fSmrg include_directories : inc_common, 12201e04c3fSmrg dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m], 12301e04c3fSmrg c_args : [c_msvc_compat_args, c_vis_args], 12401e04c3fSmrg build_by_default : false 12501e04c3fSmrg) 12601e04c3fSmrg 12701e04c3fSmrglibxmlconfig = static_library( 12801e04c3fSmrg 'xmlconfig', 12901e04c3fSmrg files_xmlconfig, 13001e04c3fSmrg include_directories : inc_common, 13101e04c3fSmrg link_with : libmesa_util, 13201e04c3fSmrg dependencies : [dep_expat, dep_m], 13301e04c3fSmrg c_args : [ 13401e04c3fSmrg c_msvc_compat_args, c_vis_args, 13501e04c3fSmrg '-DSYSCONFDIR="@0@"'.format( 13601e04c3fSmrg join_paths(get_option('prefix'), get_option('sysconfdir')) 13701e04c3fSmrg ), 13801e04c3fSmrg '-DDATADIR="@0@"'.format( 13901e04c3fSmrg join_paths(get_option('prefix'), get_option('datadir')) 14001e04c3fSmrg ), 14101e04c3fSmrg ], 14201e04c3fSmrg build_by_default : false, 14301e04c3fSmrg) 14401e04c3fSmrg 14501e04c3fSmrgif with_tests 14601e04c3fSmrg test( 14701e04c3fSmrg 'u_atomic', 14801e04c3fSmrg executable( 14901e04c3fSmrg 'u_atomic_test', 15001e04c3fSmrg files('u_atomic_test.c'), 15101e04c3fSmrg include_directories : inc_common, 15201e04c3fSmrg link_with : libmesa_util, 15301e04c3fSmrg c_args : [c_msvc_compat_args], 15401e04c3fSmrg ) 15501e04c3fSmrg ) 15601e04c3fSmrg 15701e04c3fSmrg test( 15801e04c3fSmrg 'roundeven', 15901e04c3fSmrg executable( 16001e04c3fSmrg 'roundeven_test', 16101e04c3fSmrg files('roundeven_test.c'), 16201e04c3fSmrg include_directories : inc_common, 16301e04c3fSmrg c_args : [c_msvc_compat_args], 16401e04c3fSmrg dependencies : [dep_m], 16501e04c3fSmrg ) 16601e04c3fSmrg ) 16701e04c3fSmrg 16801e04c3fSmrg test( 16901e04c3fSmrg 'mesa-sha1', 17001e04c3fSmrg executable( 17101e04c3fSmrg 'mesa-sha1_test', 17201e04c3fSmrg files('mesa-sha1_test.c'), 17301e04c3fSmrg include_directories : inc_common, 17401e04c3fSmrg link_with : libmesa_util, 17501e04c3fSmrg c_args : [c_msvc_compat_args], 17601e04c3fSmrg ) 17701e04c3fSmrg ) 17801e04c3fSmrg 17901e04c3fSmrg subdir('tests/fast_idiv_by_const') 18001e04c3fSmrg subdir('tests/hash_table') 18101e04c3fSmrg subdir('tests/string_buffer') 18201e04c3fSmrg subdir('tests/vma') 18301e04c3fSmrg subdir('tests/set') 18401e04c3fSmrgendif 185