• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
21inc_util = include_directories('.')
22
23subdir('xmlpool')
24
25files_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
86install_data('drirc', install_dir : get_option('sysconfdir'))
87
88files_xmlconfig = files(
89  'xmlconfig.c',
90  'xmlconfig.h',
91)
92
93format_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
101libmesa_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
110libxmlconfig = 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
124if 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')
160endif
161