etnaviv: move functions that generate asm to own file
[mesa.git] / src / gallium / drivers / etnaviv / meson.build
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 files_etnaviv = files(
22 'hw/cmdstream.xml.h',
23 'hw/common.xml.h',
24 'hw/common_3d.xml.h',
25 'hw/isa.xml.h',
26 'hw/state_3d.xml.h',
27 'hw/state_blt.xml.h',
28 'hw/state.xml.h',
29 'hw/texdesc_3d.xml.h',
30 'etnaviv_asm.c',
31 'etnaviv_asm.h',
32 'etnaviv_blend.c',
33 'etnaviv_blend.h',
34 'etnaviv_blt.c',
35 'etnaviv_blt.h',
36 'etnaviv_clear_blit.c',
37 'etnaviv_clear_blit.h',
38 'etnaviv_compiler.h',
39 'etnaviv_compiler_nir.c',
40 'etnaviv_compiler_nir_emit.c',
41 'etnaviv_compiler_nir_emit.h',
42 'etnaviv_compiler_nir_liveness.c',
43 'etnaviv_compiler_tgsi.c',
44 'etnaviv_context.c',
45 'etnaviv_context.h',
46 'etnaviv_debug.h',
47 'etnaviv_disasm.c',
48 'etnaviv_disasm.h',
49 'etnaviv_emit.c',
50 'etnaviv_emit.h',
51 'etnaviv_etc2.c',
52 'etnaviv_etc2.h',
53 'etnaviv_fence.c',
54 'etnaviv_fence.h',
55 'etnaviv_format.c',
56 'etnaviv_format.h',
57 'etnaviv_internal.h',
58 'etnaviv_nir.c',
59 'etnaviv_nir.h',
60 'etnaviv_perfmon.c',
61 'etnaviv_perfmon.h',
62 'etnaviv_query.c',
63 'etnaviv_query.h',
64 'etnaviv_query_acc_occlusion.c',
65 'etnaviv_query_acc_perfmon.c',
66 'etnaviv_query_acc.c',
67 'etnaviv_query_acc.h',
68 'etnaviv_query_sw.c',
69 'etnaviv_query_sw.h',
70 'etnaviv_rasterizer.c',
71 'etnaviv_rasterizer.h',
72 'etnaviv_resource.c',
73 'etnaviv_resource.h',
74 'etnaviv_rs.c',
75 'etnaviv_rs.h',
76 'etnaviv_screen.c',
77 'etnaviv_screen.h',
78 'etnaviv_shader.c',
79 'etnaviv_shader.h',
80 'etnaviv_state.c',
81 'etnaviv_state.h',
82 'etnaviv_surface.c',
83 'etnaviv_surface.h',
84 'etnaviv_texture.c',
85 'etnaviv_texture.h',
86 'etnaviv_texture_desc.c',
87 'etnaviv_texture_desc.h',
88 'etnaviv_texture_state.c',
89 'etnaviv_texture_state.h',
90 'etnaviv_tiling.c',
91 'etnaviv_tiling.h',
92 'etnaviv_transfer.c',
93 'etnaviv_transfer.h',
94 'etnaviv_translate.h',
95 'etnaviv_uniforms.c',
96 'etnaviv_uniforms.h',
97 'etnaviv_util.h',
98 'etnaviv_zsa.c',
99 'etnaviv_zsa.h',
100 )
101
102 libetnaviv = static_library(
103 'etnaviv',
104 files_etnaviv,
105 gnu_symbol_visibility : 'hidden',
106 include_directories : [
107 inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_etnaviv,
108 ],
109 link_with: libetnaviv_drm,
110 dependencies : [dep_libdrm, idep_nir_headers],
111 )
112
113 etnaviv_compiler = executable(
114 'etnaviv_compiler',
115 'etnaviv_compiler_cmdline.c',
116 include_directories : [
117 inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_etnaviv,
118 ],
119 link_with : [libgallium, libetnaviv, libetnaviv_drm],
120 build_by_default : with_tools.contains('etnaviv'),
121 install : with_tools.contains('etnaviv'),
122 dependencies : [idep_mesautil, dep_libdrm],
123 )
124
125 driver_etnaviv = declare_dependency(
126 compile_args : '-DGALLIUM_ETNAVIV',
127 link_with : [libetnaviv, libetnavivdrm],
128 dependencies : idep_nir,
129 )