1b8e80941Smrg# Copyright © 2017 Intel Corporation
2b8e80941Smrg
3b8e80941Smrg# Permission is hereby granted, free of charge, to any person obtaining a copy
4b8e80941Smrg# of this software and associated documentation files (the "Software"), to deal
5b8e80941Smrg# in the Software without restriction, including without limitation the rights
6b8e80941Smrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7b8e80941Smrg# copies of the Software, and to permit persons to whom the Software is
8b8e80941Smrg# furnished to do so, subject to the following conditions:
9b8e80941Smrg
10b8e80941Smrg# The above copyright notice and this permission notice shall be included in
11b8e80941Smrg# all copies or substantial portions of the Software.
12b8e80941Smrg
13b8e80941Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14b8e80941Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15b8e80941Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16b8e80941Smrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17b8e80941Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18b8e80941Smrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19b8e80941Smrg# SOFTWARE.
20b8e80941Smrg
21b8e80941Smrgfiles_etnaviv = files(
22b8e80941Smrg  'hw/cmdstream.xml.h',
23b8e80941Smrg  'hw/common.xml.h',
24b8e80941Smrg  'hw/common_3d.xml.h',
25b8e80941Smrg  'hw/isa.xml.h',
26b8e80941Smrg  'hw/state_3d.xml.h',
27b8e80941Smrg  'hw/state_blt.xml.h',
28b8e80941Smrg  'hw/state.xml.h',
29b8e80941Smrg  'hw/texdesc_3d.xml.h',
30b8e80941Smrg  'etnaviv_asm.c',
31b8e80941Smrg  'etnaviv_asm.h',
32b8e80941Smrg  'etnaviv_blend.c',
33b8e80941Smrg  'etnaviv_blend.h',
34b8e80941Smrg  'etnaviv_blt.c',
35b8e80941Smrg  'etnaviv_blt.h',
36b8e80941Smrg  'etnaviv_clear_blit.c',
37b8e80941Smrg  'etnaviv_clear_blit.h',
38b8e80941Smrg  'etnaviv_compiler.c',
39b8e80941Smrg  'etnaviv_compiler.h',
40b8e80941Smrg  'etnaviv_context.c',
41b8e80941Smrg  'etnaviv_context.h',
42b8e80941Smrg  'etnaviv_debug.h',
43b8e80941Smrg  'etnaviv_disasm.c',
44b8e80941Smrg  'etnaviv_disasm.h',
45b8e80941Smrg  'etnaviv_emit.c',
46b8e80941Smrg  'etnaviv_emit.h',
47b8e80941Smrg  'etnaviv_etc2.c',
48b8e80941Smrg  'etnaviv_etc2.h',
49b8e80941Smrg  'etnaviv_fence.c',
50b8e80941Smrg  'etnaviv_fence.h',
51b8e80941Smrg  'etnaviv_format.c',
52b8e80941Smrg  'etnaviv_format.h',
53b8e80941Smrg  'etnaviv_internal.h',
54b8e80941Smrg  'etnaviv_query.c',
55b8e80941Smrg  'etnaviv_query.h',
56b8e80941Smrg  'etnaviv_query_hw.c',
57b8e80941Smrg  'etnaviv_query_hw.h',
58b8e80941Smrg  'etnaviv_query_sw.c',
59b8e80941Smrg  'etnaviv_query_sw.h',
60b8e80941Smrg  'etnaviv_query_pm.c',
61b8e80941Smrg  'etnaviv_query_pm.h',
62b8e80941Smrg  'etnaviv_rasterizer.c',
63b8e80941Smrg  'etnaviv_rasterizer.h',
64b8e80941Smrg  'etnaviv_resource.c',
65b8e80941Smrg  'etnaviv_resource.h',
66b8e80941Smrg  'etnaviv_rs.c',
67b8e80941Smrg  'etnaviv_rs.h',
68b8e80941Smrg  'etnaviv_screen.c',
69b8e80941Smrg  'etnaviv_screen.h',
70b8e80941Smrg  'etnaviv_shader.c',
71b8e80941Smrg  'etnaviv_shader.h',
72b8e80941Smrg  'etnaviv_state.c',
73b8e80941Smrg  'etnaviv_state.h',
74b8e80941Smrg  'etnaviv_surface.c',
75b8e80941Smrg  'etnaviv_surface.h',
76b8e80941Smrg  'etnaviv_texture.c',
77b8e80941Smrg  'etnaviv_texture.h',
78b8e80941Smrg  'etnaviv_texture_state.c',
79b8e80941Smrg  'etnaviv_texture_state.h',
80b8e80941Smrg  'etnaviv_tiling.c',
81b8e80941Smrg  'etnaviv_tiling.h',
82b8e80941Smrg  'etnaviv_transfer.c',
83b8e80941Smrg  'etnaviv_transfer.h',
84b8e80941Smrg  'etnaviv_translate.h',
85b8e80941Smrg  'etnaviv_uniforms.c',
86b8e80941Smrg  'etnaviv_uniforms.h',
87b8e80941Smrg  'etnaviv_util.h',
88b8e80941Smrg  'etnaviv_zsa.c',
89b8e80941Smrg  'etnaviv_zsa.h',
90b8e80941Smrg)
91b8e80941Smrg
92b8e80941Smrglibetnaviv = static_library(
93b8e80941Smrg  'etnaviv',
94b8e80941Smrg  files_etnaviv,
95b8e80941Smrg  c_args : [c_vis_args],
96b8e80941Smrg  include_directories : [inc_include, inc_src, inc_gallium, inc_gallium_aux],
97b8e80941Smrg  dependencies : dep_libdrm_etnaviv,
98b8e80941Smrg)
99b8e80941Smrg
100b8e80941Smrgetnaviv_compiler = executable(
101b8e80941Smrg  'etnaviv_compiler',
102b8e80941Smrg  'etnaviv_compiler_cmdline.c',
103b8e80941Smrg  include_directories : [inc_include, inc_src, inc_gallium, inc_gallium_aux],
104b8e80941Smrg  link_with : [libmesa_util, libgallium, libetnaviv],
105b8e80941Smrg  dependencies : [dep_libdrm_etnaviv],
106b8e80941Smrg  build_by_default : with_tools.contains('etnaviv'),
107b8e80941Smrg  install : with_tools.contains('etnaviv'),
108b8e80941Smrg)
109b8e80941Smrg
110b8e80941Smrgdriver_etnaviv = declare_dependency(
111b8e80941Smrg  compile_args : '-DGALLIUM_ETNAVIV',
112b8e80941Smrg  link_with : [libetnaviv, libetnavivdrm],
113b8e80941Smrg)
114