Home | History | Annotate | Download | only in util
      1 # Copyright  2017 Intel Corporation
      2 
      3 # Permission is hereby granted, free of charge, to any person obtaining a copy
      4 # of this software and associated documentation files (the "Software"), to deal
      5 # in the Software without restriction, including without limitation the rights
      6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      7 # copies of the Software, and to permit persons to whom the Software is
      8 # furnished to do so, subject to the following conditions:
      9 
     10 # The above copyright notice and this permission notice shall be included in
     11 # all copies or substantial portions of the Software.
     12 
     13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     19 # SOFTWARE.
     20 
     21 inc_util = include_directories('.')
     22 
     23 subdir('xmlpool')
     24 
     25 files_mesa_util = files(
     26   'bitscan.c',
     27   'bitscan.h',
     28   'bitset.h',
     29   'build_id.c',
     30   'build_id.h',
     31   'crc32.c',
     32   'crc32.h',
     33   'debug.c',
     34   'debug.h',
     35   'disk_cache.c',
     36   'disk_cache.h',
     37   'format_r11g11b10f.h',
     38   'format_rgb9e5.h',
     39   'format_srgb.h',
     40   'futex.h',
     41   'half_float.c',
     42   'half_float.h',
     43   'hash_table.c',
     44   'hash_table.h',
     45   'list.h',
     46   'macros.h',
     47   'mesa-sha1.c',
     48   'mesa-sha1.h',
     49   'os_time.c',
     50   'os_time.h',
     51   'sha1/sha1.c',
     52   'sha1/sha1.h',
     53   'ralloc.c',
     54   'ralloc.h',
     55   'rand_xor.c',
     56   'rand_xor.h',
     57   'register_allocate.c',
     58   'register_allocate.h',
     59   'rgtc.c',
     60   'rgtc.h',
     61   'rounding.h',
     62   'set.c',
     63   'set.h',
     64   'simple_list.h',
     65   'simple_mtx.h',
     66   'slab.c',
     67   'slab.h',
     68   'string_buffer.c',
     69   'string_buffer.h',
     70   'strndup.h',
     71   'strtod.c',
     72   'strtod.h',
     73   'texcompress_rgtc_tmp.h',
     74   'u_atomic.c',
     75   'u_atomic.h',
     76   'u_dynarray.h',
     77   'u_endian.h',
     78   'u_queue.c',
     79   'u_queue.h',
     80   'u_string.h',
     81   'u_thread.h',
     82   'u_vector.c',
     83   'u_vector.h',
     84 )
     85 
     86 install_data('drirc', install_dir : get_option('sysconfdir'))
     87 
     88 files_xmlconfig = files(
     89   'xmlconfig.c',
     90   'xmlconfig.h',
     91 )
     92 
     93 format_srgb = custom_target(
     94   'format_srgb',
     95   input : ['format_srgb.py'],
     96   output : 'format_srgb.c',
     97   command : [prog_python2, '@INPUT0@'],
     98   capture : true,
     99 )
    100 
    101 libmesa_util = static_library(
    102   'mesa_util',
    103   [files_mesa_util, format_srgb],
    104   include_directories : inc_common,
    105   dependencies : [dep_zlib, dep_clock, dep_thread],
    106   c_args : [c_msvc_compat_args, c_vis_args],
    107   build_by_default : false
    108 )
    109 
    110 libxmlconfig = static_library(
    111   'xmlconfig',
    112   files_xmlconfig,
    113   include_directories : inc_common,
    114   dependencies : [dep_expat, dep_m],
    115   c_args : [
    116     c_msvc_compat_args, c_vis_args,
    117     '-DSYSCONFDIR="@0@"'.format(
    118       join_paths(get_option('prefix'), get_option('sysconfdir'))
    119     ),
    120   ],
    121   build_by_default : false,
    122 )
    123 
    124 if with_tests
    125   test(
    126     'u_atomic',
    127     executable(
    128       'u_atomic_test',
    129       files('u_atomic_test.c'),
    130       include_directories : inc_common,
    131       link_with : libmesa_util,
    132       c_args : [c_msvc_compat_args],
    133     )
    134   )
    135 
    136   test(
    137     'roundeven',
    138     executable(
    139       'roundeven_test',
    140       files('roundeven_test.c'),
    141       include_directories : inc_common,
    142       c_args : [c_msvc_compat_args],
    143       dependencies : [dep_m],
    144     )
    145   )
    146 
    147   test(
    148     'mesa-sha1',
    149     executable(
    150       'mesa-sha1_test',
    151       files('mesa-sha1_test.c'),
    152       include_directories : inc_common,
    153       link_with : libmesa_util,
    154       c_args : [c_msvc_compat_args],
    155     )
    156   )
    157 
    158   subdir('tests/hash_table')
    159   subdir('tests/string_buffer')
    160 endif
    161