[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