[Mesa-dev] [PATCH v2] meson: Don't confuse the install and search paths for dri drivers
Eric Engestrom
eric at engestrom.ch
Tue Jan 23 23:28:50 UTC 2018
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: 858 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180123/ea1baaf3/attachment-0001.sig>
More information about the mesa-dev
mailing list