[Mesa-dev] [PATCH 5/5] meson: build gallium-xlib based glx

Eric Anholt eric at anholt.net
Wed Nov 8 21:26:12 UTC 2017


Dylan Baker <dylan at pnwbakers.com> writes:

> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
>  meson.build                                     | 16 +++---
>  src/gallium/meson.build                         | 11 +++-
>  src/gallium/state_trackers/glx/xlib/meson.build | 27 ++++++++++
>  src/gallium/targets/libgl-xlib/meson.build      | 68 +++++++++++++++++++++++++
>  src/gallium/winsys/sw/xlib/meson.build          | 27 ++++++++++
>  5 files changed, 139 insertions(+), 10 deletions(-)
>  create mode 100644 src/gallium/state_trackers/glx/xlib/meson.build
>  create mode 100644 src/gallium/targets/libgl-xlib/meson.build
>  create mode 100644 src/gallium/winsys/sw/xlib/meson.build
>

> diff --git a/src/gallium/targets/libgl-xlib/meson.build b/src/gallium/targets/libgl-xlib/meson.build
> new file mode 100644
> index 00000000000..825b7b4a0f1
> --- /dev/null
> +++ b/src/gallium/targets/libgl-xlib/meson.build
> @@ -0,0 +1,68 @@
> +# Copyright © 2017 Intel Corporation
> +
> +# 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.
> +
> +# TODO: support non-static targets
> +# Static targets are always enabled in autotools (unless you modify
> +# configure.ac)
> +
> +gallium_xlib_c_args = [
> +  '-DGALLIUM_SOFTPIPE',
> +  '-DGALLIUM_RBUG',
> +  '-DGALLIUME_TRACE',
> +]
> +gallium_xlib_ld_args = []
> +gallium_xlib_link_with = []
> +gallium_xlib_depends = []
> +gallium_xlib_link_depends = []
> +gallium_xlib_xlibvers = []
> +gallium_xlib_sources = []
> +
> +if with_ld_version_script
> +  gallium_xlib_ld_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'libgl-xlib.sym')]
> +  gallium_xlib_link_depends += files('libgl-xlib.sym')
> +endif
> +if with_shared_glapi
> +  gallium_xlib_link_with += libglapi
> +endif
> +if with_llvm
> +  gallium_xlib_c_args += '-DGALLIUM_LLVMPIPE'
> +  gallium_xlib_depends += dep_llvm
> +  gallium_xlib_link_with += libllvmpipe
> +endif
> +# TODO: SWR
> +
> +libgl = shared_library(
> +  'GL',
> +  files('xlib.c'),
> +  include_directories : [
> +    inc_common, inc_gallium_winsys, inc_gallium_drivers,
> +    include_directories('../../state_trackers/glx/xlib'),
> +  ],
> +  c_args : [c_vis_args, gallium_xlib_c_args],
> +  link_args : [ld_args_bsymbolic, ld_args_gc_sections, gallium_xlib_ld_args],
> +  link_depends : gallium_xlib_link_depends,
> +  link_with : [
> +    libxlib, libws_xlib, libsoftpipe, libtrace, librbug, libglapi_static,
> +    libgallium, libmesa_util, libmesa_gallium, gallium_xlib_link_with,
> +  ],
> +  dependencies : [dep_clock, dep_unwind, gallium_xlib_depends],

We shouldn't have to manually specify most of these deps, I think, since
they should be transitively pulled in by the static libraries using
them, right?  It's fine either way, though.

> +  install : true,
> +  version : '1.5.0',

Looks like this drops the MESA_MAJOR/MINOR/TINY version handling of the
automake version.  Other than this, and needing the build fix in patch
3, the series is:

Reviewed-by: Eric Anholt <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171108/1400d63c/attachment-0001.sig>


More information about the mesa-dev mailing list