[Mesa-dev] [PATCH 4/6] meson: build gbm
Dylan Baker
dylan at pnwbakers.com
Thu Oct 5 00:15:05 UTC 2017
Quoting Eric Anholt (2017-10-04 15:04:28)
> 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.
Sure. I've been adding inc_* variables when I found more than one consumer for
an include dir. I'd rather not fill the namespace if we don't need to.
>
> > 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.
yup, looks like I got sloppy squashing my fixup commits.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171004/82690b93/attachment.sig>
More information about the mesa-dev
mailing list