[Mesa-dev] [PATCH 4/6] meson: build gbm
Eric Anholt
eric at anholt.net
Wed Oct 4 22:04:28 UTC 2017
Dylan Baker <dylan at pnwbakers.com> writes:
> This doesn't include egl support, just dri support.
>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
> meson.build | 49 +++++++++++++++++++++-----------
> meson_options.txt | 14 +++++----
> src/{loader => gbm}/meson.build | 63 ++++++++++++++++++++++++++++-------------
> src/glx/meson.build | 10 +++----
> src/loader/meson.build | 2 ++
> src/mesa/meson.build | 2 +-
> src/meson.build | 4 ++-
> 7 files changed, 95 insertions(+), 49 deletions(-)
> copy src/{loader => gbm}/meson.build (50%)
>
> diff --git a/meson.build b/meson.build
> index ec50e10b38c..185d70509c5 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -54,19 +54,6 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
> # Only build shared_glapi if at least one OpenGL API is enabled
> with_shared_glapi = get_option('shared-glapi') and with_any_opengl
>
> -with_dri3 = get_option('dri3')
> -if with_dri3 == 'auto'
> - if host_machine.system() == 'linux'
> - with_dri3 = true
> - else
> - with_dri3 = false
> - endif
> -elif with_dri3 == 'yes'
> - with_dri3 = true
> -else
> - with_dri3 = false
> -endif
> -
> # TODO: these will need options, but at the moment they just control header
> # installs
> with_osmesa = false
> @@ -107,6 +94,27 @@ with_dri_platform = 'drm'
> with_gallium = false
> # TODO: gallium drivers
>
> +# TODO: conditionalize libdrm requirement
> +dep_libdrm = dependency('libdrm', version : '>= 2.4.75')
> +pre_args += '-DHAVE_LIBDRM'
> +
> +with_dri2 = with_dri and with_dri_platform == 'drm' and dep_libdrm.found()
> +with_dri3 = get_option('dri3')
> +if with_dri3 == 'auto'
> + if host_machine.system() == 'linux' and with_dri2
> + with_dri3 = true
> + else
> + with_dri3 = false
> + endif
> +elif with_dri3 == 'yes'
> + if not with_dri2
> + error('dri3 support requires libdrm')
> + endif
> + with_dri3 = true
> +else
> + with_dri3 = false
> +endif
It would be great if the hunk could appear in its ultimate position
earlier in the series.
> diff --git a/meson_options.txt b/meson_options.txt
> index 130d3962db7..b6d44c44ba9 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -32,17 +32,19 @@ option('shader-cache', type : 'boolean', value : true,
> description : 'Build with on-disk shader cache support')
> option('vulkan-icd-dir', type : 'string', value : '',
> description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d')
> -option('shared-glapi', type : 'boolean', value : true,
> +option('shared-glapi', type : 'boolean', value : true,
> description : 'Whether to build a shared or static glapi')
More stray changes.
> -option('gles1', type : 'boolean', value : true,
> +option('gles1', type : 'boolean', value : true,
> description : 'Build support for OpenGL ES 1.x')
> -option('gles2', type : 'boolean', value : true,
> +option('gles2', type : 'boolean', value : true,
> description : 'Build support for OpenGL ES 2.x and 3.x')
> -option('opengl', type : 'boolean', value : true,
> +option('opengl', type : 'boolean', value : true,
> description : 'Build support for OpenGL (all versions)')
> -option('glx', type : 'combo', value : 'auto', choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'],
> +option('gbm', type : 'combo', value : 'auto', choices : ['auto', 'yes', 'no'],
> + description : 'Build support for gbm platform')
> +option('glx', type : 'combo', value : 'auto', choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'],
> description : 'Build support for GLX platform')
> -option('glvnd', type : 'boolean', vaule : false,
> +option('glvnd', type : 'boolean', value : false,
> description : 'Enable GLVND support.')
Stray changes.
> diff --git a/src/glx/meson.build b/src/glx/meson.build
> index 6b6e9095740..8c1b29a9ff8 100644
> --- a/src/glx/meson.build
> +++ b/src/glx/meson.build
> @@ -106,8 +106,6 @@ elif with_windowsdri
> #]
> endif
>
> -# TODO: libglvnd
> -
> dri_driver_dir = join_paths(get_option('prefix'), with_dri_drivers_path)
> if not with_glvnd
> gl_lib_name = 'GL'
> @@ -137,8 +135,8 @@ libglx = static_library(
> [files_libglx, glx_indirect_c, glx_indirect_h, glx_indirect_init_c,
> glx_indirect_size_c, glx_indirect_size_h],
> include_directories : [
> - inc_common, inc_glapi,
> - include_directories('../loader', '../../include/GL/internal')
> + inc_common, inc_glapi, inc_loader,
> + include_directories('../../include/GL/internal')
> ],
> c_args : [c_vis_args, gl_lib_cargs,
> '-DGL_LIB_NAME="lib at 0@.so. at 1@"'.format(gl_lib_name, gl_lib_version)],
> @@ -159,8 +157,8 @@ if with_glx == 'dri'
> gl_lib_name,
> dummy_c, # workaround for bug #2180
> include_directories : [
> - inc_common, inc_glapi,
> - include_directories('../loader', '../../include/GL/internal')
> + inc_common, inc_glapi, inc_loader,
> + include_directories('../../include/GL/internal')
> ],
This file looks like changes that should be earlier in the series.
> diff --git a/src/loader/meson.build b/src/loader/meson.build
> index 2c2af7a3d59..425620372aa 100644
> --- a/src/loader/meson.build
> +++ b/src/loader/meson.build
> @@ -18,6 +18,8 @@
> # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> # SOFTWARE.
>
> +inc_loader = include_directories('.')
> +
> if with_platform_x11 and with_dri3
> libloader_dri3_helper = static_library(
> 'loader_dri3_helper',
Earlier?
> diff --git a/src/mesa/meson.build b/src/mesa/meson.build
> index 68f1a463fee..d9081829f2b 100644
> --- a/src/mesa/meson.build
> +++ b/src/mesa/meson.build
> @@ -570,7 +570,7 @@ libmesa_classic = static_library(
> main_api_exec_c, main_enums_c, format_fallback_c, format_info_h,
> format_pack_c, format_unpack_c, get_hash_h, main_marshal_generated_c,
> main_marshal_generated_h, main_dispatch_h, ir_expression_operation_h,
> - nir_opcodes_h, main_remap_helper_h, matypes_h],
> + nir_opcodes_h, main_remap_helper_h, matypes_h, sha1_h],
> c_args : [c_vis_args, c_msvc_compat_args],
> cpp_args : [cpp_vis_args, cpp_msvc_compat_args],
> include_directories : [inc_common, include_directories('main')],
Doesn't look related at all.
-------------- 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/20171004/30b27b30/attachment.sig>
More information about the mesa-dev
mailing list