[Mesa-dev] [PATCH v2] meson: Don't confuse the install and search paths for dri drivers
Dylan Baker
dylan at pnwbakers.com
Wed Jan 24 00:17:27 UTC 2018
Sure enough, it does use ':'
You might want to send the patch to the list and CC Emil, and probably stable.
Although Emil also mentioned that maybe it would just be better to delete this
option since we have LIBGL_DRIVERS_PATH.
Quoting Eric Engestrom (2018-01-23 15:28:50)
> On Tuesday, 2018-01-23 21:53:14 +0000, Dylan Baker wrote:
> > Quoting Eric Engestrom (2018-01-18 15:02:46)
> > > On Thursday, 2018-01-18 17:09:33 +0000, Dylan Baker wrote:
> > > > Currently there is not a separate option for setting the search path of
> > > > DRI drivers in meson, like there is in scons and autotools. This is an
> > > > oversight and needs to be fixed. This adds an extra option
> > > > `dri-search-path`, which will default to the value of
> > > > `dri-drivers-path`, like autotools does.
> > > >
> > > > v2: - Split input list before joining.
> > > >
> > > > Reported-by: Ilia Mirkin <imirkin at alum.mit.edu>
> > > > Signed-off-by: Dylan Baker <dylan.c.baker at intel.com>
> > > > ---
> > > > meson.build | 6 ++++++
> > > > meson_options.txt | 8 +++++++-
> > > > src/egl/meson.build | 2 +-
> > > > src/gbm/meson.build | 2 +-
> > > > src/glx/meson.build | 3 ++-
> > > > 5 files changed, 17 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git a/meson.build b/meson.build
> > > > index f3179c38062..8bab43681e9 100644
> > > > --- a/meson.build
> > > > +++ b/meson.build
> > > > @@ -57,6 +57,12 @@ dri_drivers_path = get_option('dri-drivers-path')
> > > > if dri_drivers_path == ''
> > > > dri_drivers_path = join_paths(get_option('libdir'), 'dri')
> > > > endif
> > > > +_search = get_option('dri-search-path')
> > > > +if _search != ''
> > > > + dri_search_path = ';'.join(_search.split(','))
> > >
> > > s/;/:/
> >
> > The autotools help string says semi-colon. Does the help string need to be
> > updated?
>
> I had checked the code, I didn't think to check if there was
> documentation for this.
>
> All 3 users that I saw (egl, gbm, glx) use ':' as the delimiter:
> src/egl/drivers/dri2/egl_dri2.c:525
> src/gbm/backends/dri/gbm_dri.c:338
> src/glx/dri_common.c:120
>
> So it looks like you found an error in the autotools doc :)
>
> ----8<----
> diff --git a/configure.ac b/configure.ac
> index e236a3c54f..7209e42c55 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1852,7 +1852,7 @@ AC_SUBST([DRI_DRIVER_INSTALL_DIR])
> dnl Extra search path for DRI drivers
> AC_ARG_WITH([dri-searchpath],
> [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
> - [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
> + [colon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
> [DRI_DRIVER_SEARCH_DIR="$withval"],
> [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
> AC_SUBST([DRI_DRIVER_SEARCH_DIR])
> ---->8----
>
> >
> > >
> > > Reviewed-by: Eric Engestrom <eric at engestrom.ch>
> > >
> > > > +else
> > > > + dri_search_path = dri_drivers_path
> > > > +endif
> > > >
> > > > with_gles1 = get_option('gles1')
> > > > with_gles2 = get_option('gles2')
> > > > diff --git a/meson_options.txt b/meson_options.txt
> > > > index 894378985fd..e541659733f 100644
> > > > --- a/meson_options.txt
> > > > +++ b/meson_options.txt
> > > > @@ -41,7 +41,13 @@ option(
> > > > 'dri-drivers-path',
> > > > type : 'string',
> > > > value : '',
> > > > - description : 'Location of dri drivers. Default: $libdir/dri.'
> > > > + description : 'Location to install dri drivers. Default: $libdir/dri.'
> > > > +)
> > > > +option(
> > > > + 'dri-search-path',
> > > > + type : 'string',
> > > > + value : '',
> > > > + description : 'Locations to search for dri drivers, passed as comma separated list. Default: dri-drivers-path.'
> > > > )
> > > > option(
> > > > 'gallium-drivers',
> > > > diff --git a/src/egl/meson.build b/src/egl/meson.build
> > > > index df6e8b49dac..6cd04567b0d 100644
> > > > --- a/src/egl/meson.build
> > > > +++ b/src/egl/meson.build
> > > > @@ -160,7 +160,7 @@ libegl = shared_library(
> > > > c_args : [
> > > > c_vis_args,
> > > > c_args_for_egl,
> > > > - '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir),
> > > > + '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path),
> > > > '-D_EGL_BUILT_IN_DRIVER_DRI2',
> > > > '-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ at 0@'.format(egl_native_platform.to_upper()),
> > > > ],
> > > > diff --git a/src/gbm/meson.build b/src/gbm/meson.build
> > > > index 14b9e960360..2f5d1c6ddd7 100644
> > > > --- a/src/gbm/meson.build
> > > > +++ b/src/gbm/meson.build
> > > > @@ -38,7 +38,7 @@ incs_gbm = [
> > > > if with_dri2
> > > > files_gbm += files('backends/dri/gbm_dri.c', 'backends/dri/gbm_driint.h')
> > > > deps_gbm += dep_libdrm # TODO: pthread-stubs
> > > > - args_gbm += '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir)
> > > > + args_gbm += '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path)
> > > > endif
> > > > if with_platform_wayland
> > > > deps_gbm += dep_wayland_server
> > > > diff --git a/src/glx/meson.build b/src/glx/meson.build
> > > > index 04cd647ee49..508e7583ee5 100644
> > > > --- a/src/glx/meson.build
> > > > +++ b/src/glx/meson.build
> > > > @@ -128,7 +128,8 @@ else
> > > > endif
> > > >
> > > > gl_lib_cargs = [
> > > > - '-D_REENTRANT', '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir),
> > > > + '-D_REENTRANT',
> > > > + '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path),
> > > > ]
> > > >
> > > > if dep_xxf86vm != [] and dep_xxf86vm.found()
> > > > --
> > > > 2.15.1
> > > >
> > > > _______________________________________________
> > > > mesa-dev mailing list
> > > > mesa-dev at lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- 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/20180123/4bde4ff9/attachment-0001.sig>
More information about the mesa-dev
mailing list