diff options
author | Dylan Baker <[email protected]> | 2017-09-28 22:25:02 -0700 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2017-10-16 16:32:43 -0700 |
commit | b1b65397d0c4978e36a84c0a1c98a4bd6cb9588e (patch) | |
tree | 165535796a6ba46dcc4b64299ca8bd805838b827 /src | |
parent | af9d276134d9af3b6145f10943eaf7bf1a6226b6 (diff) |
meson: Build gallium auxiliary
v2: - guard gallivm files with "with_llvm" instead of "dep_llvm.found()"
Signed-off-by: Dylan Baker <[email protected]>
Reviewed-by: Eric Anholt <[email protected]> (v1)
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/auxiliary/meson.build | 528 | ||||
-rw-r--r-- | src/gallium/meson.build | 23 | ||||
-rw-r--r-- | src/meson.build | 2 |
3 files changed, 552 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/meson.build b/src/gallium/auxiliary/meson.build new file mode 100644 index 00000000000..bb7c0506d84 --- /dev/null +++ b/src/gallium/auxiliary/meson.build @@ -0,0 +1,528 @@ +# Copyright © 2017 Dylan Baker + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +files_libgallium = files( + 'cso_cache/cso_cache.c', + 'cso_cache/cso_cache.h', + 'cso_cache/cso_context.c', + 'cso_cache/cso_context.h', + 'cso_cache/cso_hash.c', + 'cso_cache/cso_hash.h', + 'draw/draw_cliptest_tmp.h', + 'draw/draw_context.c', + 'draw/draw_context.h', + 'draw/draw_decompose_tmp.h', + 'draw/draw_fs.c', + 'draw/draw_fs.h', + 'draw/draw_gs.c', + 'draw/draw_gs.h', + 'draw/draw_gs_tmp.h', + 'draw/draw_pipe_aaline.c', + 'draw/draw_pipe_aapoint.c', + 'draw/draw_pipe.c', + 'draw/draw_pipe.h', + 'draw/draw_pipe_clip.c', + 'draw/draw_pipe_cull.c', + 'draw/draw_pipe_flatshade.c', + 'draw/draw_pipe_offset.c', + 'draw/draw_pipe_pstipple.c', + 'draw/draw_pipe_stipple.c', + 'draw/draw_pipe_twoside.c', + 'draw/draw_pipe_unfilled.c', + 'draw/draw_pipe_util.c', + 'draw/draw_pipe_validate.c', + 'draw/draw_pipe_vbuf.c', + 'draw/draw_pipe_wide_line.c', + 'draw/draw_pipe_wide_point.c', + 'draw/draw_prim_assembler.c', + 'draw/draw_prim_assembler.h', + 'draw/draw_prim_assembler_tmp.h', + 'draw/draw_private.h', + 'draw/draw_pt.c', + 'draw/draw_pt_decompose.h', + 'draw/draw_pt_emit.c', + 'draw/draw_pt_fetch.c', + 'draw/draw_pt_fetch_emit.c', + 'draw/draw_pt_fetch_shade_emit.c', + 'draw/draw_pt_fetch_shade_pipeline.c', + 'draw/draw_pt.h', + 'draw/draw_pt_post_vs.c', + 'draw/draw_pt_so_emit.c', + 'draw/draw_pt_util.c', + 'draw/draw_pt_vsplit.c', + 'draw/draw_pt_vsplit_tmp.h', + 'draw/draw_so_emit_tmp.h', + 'draw/draw_split_tmp.h', + 'draw/draw_vbuf.h', + 'draw/draw_vertex.c', + 'draw/draw_vertex.h', + 'draw/draw_vs.c', + 'draw/draw_vs_exec.c', + 'draw/draw_vs.h', + 'draw/draw_vs_variant.c', + 'hud/font.c', + 'hud/font.h', + 'hud/hud_context.c', + 'hud/hud_context.h', + 'hud/hud_cpu.c', + 'hud/hud_nic.c', + 'hud/hud_cpufreq.c', + 'hud/hud_diskstat.c', + 'hud/hud_sensors_temp.c', + 'hud/hud_driver_query.c', + 'hud/hud_fps.c', + 'hud/hud_private.h', + 'indices/u_indices.h', + 'indices/u_indices_priv.h', + 'indices/u_primconvert.c', + 'indices/u_primconvert.h', + 'os/os_memory_aligned.h', + 'os/os_memory_debug.h', + 'os/os_memory_stdc.h', + 'os/os_memory.h', + 'os/os_misc.c', + 'os/os_misc.h', + 'os/os_mman.h', + 'os/os_process.c', + 'os/os_process.h', + 'os/os_thread.h', + 'os/os_time.c', + 'os/os_time.h', + 'pipebuffer/pb_buffer_fenced.c', + 'pipebuffer/pb_buffer_fenced.h', + 'pipebuffer/pb_buffer.h', + 'pipebuffer/pb_buffer_malloc.c', + 'pipebuffer/pb_bufmgr_alt.c', + 'pipebuffer/pb_bufmgr_cache.c', + 'pipebuffer/pb_bufmgr_debug.c', + 'pipebuffer/pb_bufmgr.h', + 'pipebuffer/pb_bufmgr_mm.c', + 'pipebuffer/pb_bufmgr_ondemand.c', + 'pipebuffer/pb_bufmgr_pool.c', + 'pipebuffer/pb_bufmgr_slab.c', + 'pipebuffer/pb_cache.c', + 'pipebuffer/pb_cache.h', + 'pipebuffer/pb_slab.c', + 'pipebuffer/pb_slab.h', + 'pipebuffer/pb_validate.c', + 'pipebuffer/pb_validate.h', + 'postprocess/filters.h', + 'postprocess/postprocess.h', + 'postprocess/pp_celshade.c', + 'postprocess/pp_celshade.h', + 'postprocess/pp_colors.c', + 'postprocess/pp_colors.h', + 'postprocess/pp_filters.h', + 'postprocess/pp_init.c', + 'postprocess/pp_mlaa_areamap.h', + 'postprocess/pp_mlaa.c', + 'postprocess/pp_mlaa.h', + 'postprocess/pp_private.h', + 'postprocess/pp_program.c', + 'postprocess/pp_run.c', + 'rbug/rbug_connection.c', + 'rbug/rbug_connection.h', + 'rbug/rbug_context.c', + 'rbug/rbug_context.h', + 'rbug/rbug_core.c', + 'rbug/rbug_core.h', + 'rbug/rbug_demarshal.c', + 'rbug/rbug.h', + 'rbug/rbug_internal.h', + 'rbug/rbug_proto.h', + 'rbug/rbug_shader.c', + 'rbug/rbug_shader.h', + 'rbug/rbug_texture.c', + 'rbug/rbug_texture.h', + 'rtasm/rtasm_cpu.c', + 'rtasm/rtasm_cpu.h', + 'rtasm/rtasm_execmem.c', + 'rtasm/rtasm_execmem.h', + 'rtasm/rtasm_x86sse.c', + 'rtasm/rtasm_x86sse.h', + 'tgsi/tgsi_aa_point.c', + 'tgsi/tgsi_aa_point.h', + 'tgsi/tgsi_build.c', + 'tgsi/tgsi_build.h', + 'tgsi/tgsi_dump.c', + 'tgsi/tgsi_dump.h', + 'tgsi/tgsi_exec.c', + 'tgsi/tgsi_exec.h', + 'tgsi/tgsi_emulate.c', + 'tgsi/tgsi_emulate.h', + 'tgsi/tgsi_from_mesa.c', + 'tgsi/tgsi_from_mesa.h', + 'tgsi/tgsi_info.c', + 'tgsi/tgsi_info.h', + 'tgsi/tgsi_info_opcodes.h', + 'tgsi/tgsi_iterate.c', + 'tgsi/tgsi_iterate.h', + 'tgsi/tgsi_lowering.c', + 'tgsi/tgsi_lowering.h', + 'tgsi/tgsi_opcode_tmp.h', + 'tgsi/tgsi_parse.c', + 'tgsi/tgsi_parse.h', + 'tgsi/tgsi_point_sprite.c', + 'tgsi/tgsi_point_sprite.h', + 'tgsi/tgsi_sanity.c', + 'tgsi/tgsi_sanity.h', + 'tgsi/tgsi_scan.c', + 'tgsi/tgsi_scan.h', + 'tgsi/tgsi_strings.c', + 'tgsi/tgsi_strings.h', + 'tgsi/tgsi_text.c', + 'tgsi/tgsi_text.h', + 'tgsi/tgsi_transform.c', + 'tgsi/tgsi_transform.h', + 'tgsi/tgsi_two_side.c', + 'tgsi/tgsi_two_side.h', + 'tgsi/tgsi_ureg.c', + 'tgsi/tgsi_ureg.h', + 'tgsi/tgsi_util.c', + 'tgsi/tgsi_util.h', + 'translate/translate.c', + 'translate/translate.h', + 'translate/translate_cache.c', + 'translate/translate_cache.h', + 'translate/translate_generic.c', + 'translate/translate_sse.c', + 'util/dbghelp.h', + 'util/u_bitcast.h', + 'util/u_bitmask.c', + 'util/u_bitmask.h', + 'util/u_blend.h', + 'util/u_blit.c', + 'util/u_blit.h', + 'util/u_blitter.c', + 'util/u_blitter.h', + 'util/u_box.h', + 'util/u_cache.c', + 'util/u_cache.h', + 'util/u_cpu_detect.c', + 'util/u_cpu_detect.h', + 'util/u_debug.c', + 'util/u_debug.h', + 'util/u_debug_describe.c', + 'util/u_debug_describe.h', + 'util/u_debug_flush.c', + 'util/u_debug_flush.h', + 'util/u_debug_image.c', + 'util/u_debug_image.h', + 'util/u_debug_memory.c', + 'util/u_debug_refcnt.c', + 'util/u_debug_refcnt.h', + 'util/u_debug_stack.c', + 'util/u_debug_stack.h', + 'util/u_debug_symbol.c', + 'util/u_debug_symbol.h', + 'util/u_dirty_flags.h', + 'util/u_dirty_surfaces.h', + 'util/u_dl.c', + 'util/u_dl.h', + 'util/u_draw.c', + 'util/u_draw.h', + 'util/u_draw_quad.c', + 'util/u_draw_quad.h', + 'util/u_dual_blend.h', + 'util/u_dump_defines.c', + 'util/u_dump.h', + 'util/u_dump_state.c', + 'util/u_fifo.h', + 'util/u_format.c', + 'util/u_format.h', + 'util/u_format_etc.c', + 'util/u_format_etc.h', + 'util/u_format_latc.c', + 'util/u_format_latc.h', + 'util/u_format_other.c', + 'util/u_format_other.h', + 'util/u_format_rgtc.c', + 'util/u_format_rgtc.h', + 'util/u_format_s3tc.c', + 'util/u_format_s3tc.h', + 'util/u_format_tests.c', + 'util/u_format_tests.h', + 'util/u_format_yuv.c', + 'util/u_format_yuv.h', + 'util/u_format_zs.c', + 'util/u_format_zs.h', + 'util/u_framebuffer.c', + 'util/u_framebuffer.h', + 'util/u_gen_mipmap.c', + 'util/u_gen_mipmap.h', + 'util/u_half.h', + 'util/u_handle_table.c', + 'util/u_handle_table.h', + 'util/u_hash_table.c', + 'util/u_hash_table.h', + 'util/u_helpers.c', + 'util/u_helpers.h', + 'util/u_idalloc.c', + 'util/u_idalloc.h', + 'util/u_index_modify.c', + 'util/u_index_modify.h', + 'util/u_inlines.h', + 'util/u_linear.c', + 'util/u_linear.h', + 'util/u_log.c', + 'util/u_log.h', + 'util/u_math.c', + 'util/u_math.h', + 'util/u_memory.h', + 'util/u_mm.c', + 'util/u_mm.h', + 'util/u_network.c', + 'util/u_network.h', + 'util/u_pack_color.h', + 'util/u_pointer.h', + 'util/u_prim.h', + 'util/u_prim_restart.c', + 'util/u_prim_restart.h', + 'util/u_pstipple.c', + 'util/u_pstipple.h', + 'util/u_pwr8.h', + 'util/u_range.h', + 'util/u_rect.h', + 'util/u_resource.c', + 'util/u_resource.h', + 'util/u_ringbuffer.c', + 'util/u_ringbuffer.h', + 'util/u_sampler.c', + 'util/u_sampler.h', + 'util/u_simple_shaders.c', + 'util/u_simple_shaders.h', + 'util/u_split_prim.h', + 'util/u_sse.h', + 'util/u_suballoc.c', + 'util/u_suballoc.h', + 'util/u_surface.c', + 'util/u_surface.h', + 'util/u_surfaces.c', + 'util/u_surfaces.h', + 'util/u_tests.c', + 'util/u_tests.h', + 'util/u_texture.c', + 'util/u_texture.h', + 'util/u_tile.c', + 'util/u_tile.h', + 'util/u_time.h', + 'util/u_transfer.c', + 'util/u_transfer.h', + 'util/u_threaded_context.c', + 'util/u_threaded_context.h', + 'util/u_threaded_context_calls.h', + 'util/u_upload_mgr.c', + 'util/u_upload_mgr.h', + 'util/u_vbuf.c', + 'util/u_vbuf.h', + 'util/u_video.h', + 'util/u_viewport.h', + 'nir/tgsi_to_nir.c', + 'nir/tgsi_to_nir.h', +) + +if dep_libdrm != [] and dep_libdrm.found() + files_libgallium += files( + 'renderonly/renderonly.c', + 'renderonly/renderonly.h', + ) +endif + +if with_llvm + files_libgallium += files( + 'gallivm/lp_bld_arit.c', + 'gallivm/lp_bld_arit.h', + 'gallivm/lp_bld_arit_overflow.c', + 'gallivm/lp_bld_arit_overflow.h', + 'gallivm/lp_bld_assert.c', + 'gallivm/lp_bld_assert.h', + 'gallivm/lp_bld_bitarit.c', + 'gallivm/lp_bld_bitarit.h', + 'gallivm/lp_bld_const.c', + 'gallivm/lp_bld_const.h', + 'gallivm/lp_bld_conv.c', + 'gallivm/lp_bld_conv.h', + 'gallivm/lp_bld_debug.cpp', + 'gallivm/lp_bld_debug.h', + 'gallivm/lp_bld_flow.c', + 'gallivm/lp_bld_flow.h', + 'gallivm/lp_bld_format_aos_array.c', + 'gallivm/lp_bld_format_aos.c', + 'gallivm/lp_bld_format_cached.c', + 'gallivm/lp_bld_format_float.c', + 'gallivm/lp_bld_format.c', + 'gallivm/lp_bld_format.h', + 'gallivm/lp_bld_format_soa.c', + 'gallivm/lp_bld_format_srgb.c', + 'gallivm/lp_bld_format_yuv.c', + 'gallivm/lp_bld_gather.c', + 'gallivm/lp_bld_gather.h', + 'gallivm/lp_bld.h', + 'gallivm/lp_bld_init.c', + 'gallivm/lp_bld_init.h', + 'gallivm/lp_bld_intr.c', + 'gallivm/lp_bld_intr.h', + 'gallivm/lp_bld_limits.h', + 'gallivm/lp_bld_logic.c', + 'gallivm/lp_bld_logic.h', + 'gallivm/lp_bld_misc.cpp', + 'gallivm/lp_bld_misc.h', + 'gallivm/lp_bld_pack.c', + 'gallivm/lp_bld_pack.h', + 'gallivm/lp_bld_printf.c', + 'gallivm/lp_bld_printf.h', + 'gallivm/lp_bld_quad.c', + 'gallivm/lp_bld_quad.h', + 'gallivm/lp_bld_sample_aos.c', + 'gallivm/lp_bld_sample_aos.h', + 'gallivm/lp_bld_sample.c', + 'gallivm/lp_bld_sample.h', + 'gallivm/lp_bld_sample_soa.c', + 'gallivm/lp_bld_struct.c', + 'gallivm/lp_bld_struct.h', + 'gallivm/lp_bld_swizzle.c', + 'gallivm/lp_bld_swizzle.h', + 'gallivm/lp_bld_tgsi_action.c', + 'gallivm/lp_bld_tgsi_action.h', + 'gallivm/lp_bld_tgsi_aos.c', + 'gallivm/lp_bld_tgsi.c', + 'gallivm/lp_bld_tgsi.h', + 'gallivm/lp_bld_tgsi_info.c', + 'gallivm/lp_bld_tgsi_soa.c', + 'gallivm/lp_bld_type.c', + 'gallivm/lp_bld_type.h', + 'draw/draw_llvm.c', + 'draw/draw_llvm.h', + 'draw/draw_llvm_sample.c', + 'draw/draw_pt_fetch_shade_pipeline_llvm.c', + 'draw/draw_vs_llvm.c', + ) +endif + +files_libgalliumvl = files( + 'vl/vl_bicubic_filter.c', + 'vl/vl_bicubic_filter.h', + 'vl/vl_compositor.c', + 'vl/vl_compositor.h', + 'vl/vl_csc.c', + 'vl/vl_csc.h', + 'vl/vl_decoder.c', + 'vl/vl_decoder.h', + 'vl/vl_defines.h', + 'vl/vl_deint_filter.c', + 'vl/vl_deint_filter.h', + 'vl/vl_idct.c', + 'vl/vl_idct.h', + 'vl/vl_matrix_filter.c', + 'vl/vl_matrix_filter.h', + 'vl/vl_mc.c', + 'vl/vl_mc.h', + 'vl/vl_median_filter.c', + 'vl/vl_median_filter.h', + 'vl/vl_mpeg12_bitstream.c', + 'vl/vl_mpeg12_bitstream.h', + 'vl/vl_mpeg12_decoder.c', + 'vl/vl_mpeg12_decoder.h', + 'vl/vl_rbsp.h', + 'vl/vl_types.h', + 'vl/vl_vertex_buffers.c', + 'vl/vl_vertex_buffers.h', + 'vl/vl_video_buffer.c', + 'vl/vl_video_buffer.h', + 'vl/vl_vlc.h', + 'vl/vl_zscan.c', + 'vl/vl_zscan.h', +) + +files_libgalliumvlwinsys = files('vl/vl_winsys.h') +if with_dri2 + files_libgalliumvlwinsys += files('vl/vl_winsys_dri.c') + if with_dri3 + files_libgalliumvlwinsys += files('vl/vl_winsys_dri3.c') + endif +endif +if with_platform_drm + files_libgalliumvlwinsys += files('vl/vl_winsys_drm.c') +endif + +u_indices_gen_c = custom_target( + 'u_indices_gen.c', + input : 'indices/u_indices_gen.py', + output : 'u_indices_gen.c', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +u_unfilled_gen_c = custom_target( + 'u_unfilled_gen.c', + input : 'indices/u_unfilled_gen.py', + output : 'u_unfilled_gen.c', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +u_format_table_c = custom_target( + 'u_format_table.c', + input : ['util/u_format_table.py', 'util/u_format.csv'], + output : 'u_format_table.c', + command : [prog_python2, '@INPUT@'], + depend_files : files('util/u_format_pack.py', 'util/u_format_parse.py'), + capture : true, +) + +libgallium = static_library( + 'gallium', + [files_libgallium, u_indices_gen_c, u_unfilled_gen_c, u_format_table_c, + nir_opcodes_h], + include_directories : [ + inc_loader, inc_gallium, inc_src, inc_include, include_directories('util') + ], + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + dependencies : [dep_libdrm, dep_llvm, dep_unwind, dep_dl], + build_by_default : false, +) + +libgalliumvl_stub = static_library( + 'galliumvl_stub', + 'vl/vl_stubs.c', + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories: [inc_gallium, inc_include, inc_src], + build_by_default : false, +) + +libgalliumvl = static_library( + 'galliumvl', + files_libgalliumvl, + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories : [inc_gallium, inc_include, inc_src], + build_by_default : false, +) + +# XXX: The dependencies here may be off... +libgalliumvlwinsys = static_library( + 'galliumvlwinsys', + files_libgalliumvlwinsys, + include_directories : [inc_gallium, inc_include, inc_loader, inc_src], + dependencies : [dep_libdrm], + build_by_default : false, +) diff --git a/src/gallium/meson.build b/src/gallium/meson.build new file mode 100644 index 00000000000..a9c36973ca1 --- /dev/null +++ b/src/gallium/meson.build @@ -0,0 +1,23 @@ +# Copyright © 2017 Dylan Baker + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +inc_gallium = include_directories('include') + +subdir('auxiliary') diff --git a/src/meson.build b/src/meson.build index 544d831ea63..15d8af0197d 100644 --- a/src/meson.build +++ b/src/meson.build @@ -58,4 +58,4 @@ if with_gbm subdir('gbm') endif # TODO: egl -# TODO: gallium +subdir('gallium') |