<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 13, 2018 at 9:46 AM Dylan Baker <<a href="mailto:dylan@pnwbakers.com">dylan@pnwbakers.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Quoting Eric Engestrom (2018-06-13 03:03:25)<br>
> On Tuesday, 2018-06-12 11:19:40 -0600, <a href="mailto:bmgordon@chromium.org" target="_blank" class="cremed">bmgordon@chromium.org</a> wrote:<br>
> > From: Benjamin Gordon <<a href="mailto:bmgordon@chromium.org" target="_blank" class="cremed">bmgordon@chromium.org</a>><br>
> > <br>
> > When building the Chrome OS Android container, we need to build copies<br>
> > of mesa that don't conflict with the Android system-supplied libraries.<br>
> > This adds options to create suffixed versions of EGL and GLES libraries:<br>
> > <br>
> > libEGL.so -> libEGL${egl-lib-suffix}.so<br>
> > libGLESv1_CM.so -> libGLESv1_CM${gles-lib-suffix}.so<br>
> > libGLESv2.so -> libGLES${gles-lib-suffix}.so<br>
> > <br>
> > This is similar to what happens when --enable-libglvnd is specified, but<br>
> > without the side effects of linking against libglvnd.<br>
> <br>
> This seems reasonable, and the meson side of this patch is correct,<br>
> but we need to document or prevent the interaction between<br>
> --enable-libglvnd and --with-egl-lib-suffix.<br>
> <br>
> I can't think of a use-case for having both, so I suggest "if both are<br>
> enabled, error out"; scroll down for what this could look like in meson.<br>
<br>
Agreed, making it hard error to use both makes sense to me.<br></blockquote><div><br></div><div>Thanks for the reviews.  I just sent a v2 that makes it an error to pass both flags.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> With that (and the corresponding autotools hunk):<br>
> Reviewed-by: Eric Engestrom <<a href="mailto:eric.engestrom@intel.com" target="_blank" class="cremed">eric.engestrom@intel.com</a>><br>
> <br>
> > <br>
> > Change-Id: I0a534d3921a24c031e2532ee7d5ba9813740b33b<br>
> <br>
> (Note to whoever merges this patch: drop this line ^)<br>
> <br>
> > Signed-off-by: Benjamin Gordon <<a href="mailto:bmgordon@chromium.org" target="_blank" class="cremed">bmgordon@chromium.org</a>><br>
> > ---<br>
> >  <a href="http://configure.ac" rel="noreferrer" target="_blank" class="cremed">configure.ac</a>                | 14 ++++++++++++++<br>
> >  meson_options.txt           | 12 ++++++++++++<br>
> >  src/egl/Makefile.am         |  8 ++++----<br>
> >  src/egl/meson.build         |  2 +-<br>
> >  src/mapi/Makefile.am        | 28 ++++++++++++++--------------<br>
> >  src/mapi/es1api/meson.build |  2 +-<br>
> >  src/mapi/es2api/meson.build |  2 +-<br>
> >  7 files changed, 47 insertions(+), 21 deletions(-)<br>
> > <br>
> > diff --git a/<a href="http://configure.ac" rel="noreferrer" target="_blank" class="cremed">configure.ac</a> b/<a href="http://configure.ac" rel="noreferrer" target="_blank" class="cremed">configure.ac</a><br>
> > index 35ade986d1..6070a2146b 100644<br>
> > --- a/<a href="http://configure.ac" rel="noreferrer" target="_blank" class="cremed">configure.ac</a><br>
> > +++ b/<a href="http://configure.ac" rel="noreferrer" target="_blank" class="cremed">configure.ac</a><br>
> > @@ -1511,12 +1511,24 @@ AC_ARG_WITH([gl-lib-name],<br>
> >      [specify GL library name @<:@default=GL@:>@])],<br>
> >    [GL_LIB=$withval],<br>
> >    [GL_LIB="$DEFAULT_GL_LIB_NAME"])<br>
> > +AC_ARG_WITH([egl-lib-suffix],<br>
> > +  [AS_HELP_STRING([--with-egl-lib-suffix@<:@=NAME@:>@],<br>
> > +    [specify EGL library suffix @<:@default=none@:>@])],<br>
> > +  [EGL_LIB_SUFFIX=$withval],<br>
> > +  [EGL_LIB_SUFFIX=""])<br>
> > +AC_ARG_WITH([gles-lib-suffix],<br>
> > +  [AS_HELP_STRING([--with-gles-lib-suffix@<:@=NAME@:>@],<br>
> > +    [specify GLES library suffix @<:@default=none@:>@])],<br>
> > +  [GLES_LIB_SUFFIX=$withval],<br>
> > +  [GLES_LIB_SUFFIX=""])<br>
> >  AC_ARG_WITH([osmesa-lib-name],<br>
> >    [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@],<br>
> >      [specify OSMesa library name @<:@default=OSMesa@:>@])],<br>
> >    [OSMESA_LIB=$withval],<br>
> >    [OSMESA_LIB=OSMesa])<br>
> >  AS_IF([test "x$GL_LIB" = xyes], [GL_LIB="$DEFAULT_GL_LIB_NAME"])<br>
> > +AS_IF([test "x$EGL_LIB_SUFFIX" = xyes], [EGL_LIB_SUFFIX=""])<br>
> > +AS_IF([test "x$GLES_LIB_SUFFIX" = xyes], [GLES_LIB_SUFFIX=""])<br>
> >  AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa])<br>
> >  <br>
> >  dnl<br>
> > @@ -1534,6 +1546,8 @@ if test "x${enable_mangling}" = "xyes" ; then<br>
> >    OSMESA_LIB="Mangled${OSMESA_LIB}"<br>
> >  fi<br>
> >  AC_SUBST([GL_LIB])<br>
> > +AC_SUBST([EGL_LIB_SUFFIX])<br>
> > +AC_SUBST([GLES_LIB_SUFFIX])<br>
> >  AC_SUBST([OSMESA_LIB])<br>
> >  <br>
> >  # Check for libdrm<br>
> > diff --git a/meson_options.txt b/meson_options.txt<br>
> > index ce7d87f1eb..9d84c3b5bb 100644<br>
> > --- a/meson_options.txt<br>
> > +++ b/meson_options.txt<br>
> > @@ -298,3 +298,15 @@ option(<br>
> >    choices : ['freedreno', 'glsl', 'intel', 'nir', 'nouveau', 'all'],<br>
> >    description : 'List of tools to build.',<br>
> >  )<br>
> > +option(<br>
> > +  'egl-lib-suffix',<br>
> > +  type : 'string',<br>
> > +  value : '',<br>
> > +  description : 'Suffix to append to EGL library name.  Default: none.'<br>
> > +)<br>
> > +option(<br>
> > +  'gles-lib-suffix',<br>
> > +  type : 'string',<br>
> > +  value : '',<br>
> > +  description : 'Suffix to append to GLES library names.  Default: none.'<br>
> > +)<br>
> > diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am<br>
> > index 086a4a1e63..c3aeeea007 100644<br>
> > --- a/src/egl/Makefile.am<br>
> > +++ b/src/egl/Makefile.am<br>
> > @@ -184,12 +184,12 @@ libEGL_mesa_la_LDFLAGS = \<br>
> >  <br>
> >  else # USE_LIBGLVND<br>
> >  <br>
> > -lib_LTLIBRARIES = libEGL.la<br>
> > -libEGL_la_SOURCES =<br>
> > -libEGL_la_LIBADD = \<br>
> > +lib_LTLIBRARIES = libEGL@EGL_LIB_SUFFIX@.la<br>
> > +libEGL@EGL_LIB_SUFFIX@_la_SOURCES =<br>
> > +libEGL@EGL_LIB_SUFFIX@_la_LIBADD = \<br>
> >       libEGL_common.la \<br>
> >       $(top_builddir)/src/mapi/shared-glapi/<a href="http://libglapi.la" rel="noreferrer" target="_blank" class="cremed">libglapi.la</a><br>
> > -libEGL_la_LDFLAGS = \<br>
> > +libEGL@EGL_LIB_SUFFIX@_la_LDFLAGS = \<br>
> >       -no-undefined \<br>
> >       -version-number 1:0 \<br>
> >       $(BSYMBOLIC) \<br>
> > diff --git a/src/egl/meson.build b/src/egl/meson.build<br>
> > index 6537e4bdee..b833fd1729 100644<br>
> > --- a/src/egl/meson.build<br>
> > +++ b/src/egl/meson.build<br>
> > @@ -148,7 +148,7 @@ if cc.has_function('mincore')<br>
> >  endif<br>
> >  <br>
> <br>
>   if with_glvnd and get_option('egl-lib-suffix') != ''<br>
>     error('''EGL lib suffix can't be used with libglvnd''')<br>
>   endif<br>
> <br>
> >  if not with_glvnd<br>
> > -  egl_lib_name = 'EGL'<br>
> > +  egl_lib_name = 'EGL' + get_option('egl-lib-suffix')<br>
> >    egl_lib_version = '1.0.0'<br>
> >  else<br>
> >    egl_lib_name = 'EGL_mesa'<br>
> > diff --git a/src/mapi/Makefile.am b/src/mapi/Makefile.am<br>
> > index 3da1a193d2..a2b108adc9 100644<br>
> > --- a/src/mapi/Makefile.am<br>
> > +++ b/src/mapi/Makefile.am<br>
> > @@ -178,24 +178,24 @@ GLES_include_HEADERS = \<br>
> >       $(top_srcdir)/include/GLES/glext.h \<br>
> >       $(top_srcdir)/include/GLES/glplatform.h<br>
> >  <br>
> > -lib_LTLIBRARIES += es1api/libGLESv1_CM.la<br>
> > +lib_LTLIBRARIES += es1api/libGLESv1_CM@GLES_LIB_SUFFIX@.la<br>
> >  <br>
> > -es1api_libGLESv1_CM_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h<br>
> > -es1api_libGLESv1_CM_la_CFLAGS = \<br>
> > +es1api_libGLESv1_CM@GLES_LIB_SUFFIX@_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h<br>
> > +es1api_libGLESv1_CM@GLES_LIB_SUFFIX@_la_CFLAGS = \<br>
> >       $(AM_CFLAGS) \<br>
> >       $(VISIBILITY_CFLAGS)<br>
> > -es1api_libGLESv1_CM_la_CPPFLAGS = \<br>
> > +es1api_libGLESv1_CM@GLES_LIB_SUFFIX@_la_CPPFLAGS = \<br>
> >       $(AM_CPPFLAGS) \<br>
> >       -DMAPI_MODE_BRIDGE \<br>
> >       -DMAPI_ABI_HEADER=\"es1api/glapi_mapi_tmp.h\"<br>
> > -es1api_libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS)<br>
> > -es1api_libGLESv1_CM_la_LDFLAGS = \<br>
> > +es1api_libGLESv1_CM@GLES_LIB_SUFFIX@_la_LIBADD = $(GLESv1_CM_LIB_DEPS)<br>
> > +es1api_libGLESv1_CM@GLES_LIB_SUFFIX@_la_LDFLAGS = \<br>
> >       -no-undefined \<br>
> >       -version-number 1:1 \<br>
> >       $(GC_SECTIONS) \<br>
> >       $(LD_NO_UNDEFINED)<br>
> >  <br>
> > -es1api_libGLESv1_CM_la_LIBADD += shared-glapi/<a href="http://libglapi.la" rel="noreferrer" target="_blank" class="cremed">libglapi.la</a><br>
> > +es1api_libGLESv1_CM@GLES_LIB_SUFFIX@_la_LIBADD += shared-glapi/<a href="http://libglapi.la" rel="noreferrer" target="_blank" class="cremed">libglapi.la</a><br>
> >  endif<br>
> >  <br>
> >  es1api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)<br>
> > @@ -223,24 +223,24 @@ GLES3_include_HEADERS = \<br>
> >       $(top_srcdir)/include/GLES3/gl3ext.h \<br>
> >       $(top_srcdir)/include/GLES3/gl3platform.h<br>
> >  <br>
> > -lib_LTLIBRARIES += es2api/libGLESv2.la<br>
> > +lib_LTLIBRARIES += es2api/libGLESv2@GLES_LIB_SUFFIX@.la<br>
> >  <br>
> > -es2api_libGLESv2_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h<br>
> > -es2api_libGLESv2_la_CFLAGS = \<br>
> > +es2api_libGLESv2@GLES_LIB_SUFFIX@_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h<br>
> > +es2api_libGLESv2@GLES_LIB_SUFFIX@_la_CFLAGS = \<br>
> >       $(AM_CFLAGS) \<br>
> >       $(VISIBILITY_CFLAGS)<br>
> > -es2api_libGLESv2_la_CPPFLAGS = \<br>
> > +es2api_libGLESv2@GLES_LIB_SUFFIX@_la_CPPFLAGS = \<br>
> >       $(AM_CPPFLAGS) \<br>
> >       -DMAPI_MODE_BRIDGE \<br>
> >       -DMAPI_ABI_HEADER=\"es2api/glapi_mapi_tmp.h\"<br>
> > -es2api_libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)<br>
> > -es2api_libGLESv2_la_LDFLAGS = \<br>
> > +es2api_libGLESv2@GLES_LIB_SUFFIX@_la_LIBADD = $(GLESv2_LIB_DEPS)<br>
> > +es2api_libGLESv2@GLES_LIB_SUFFIX@_la_LDFLAGS = \<br>
> >       -no-undefined \<br>
> >       -version-number 2 \<br>
> >       $(GC_SECTIONS) \<br>
> >       $(LD_NO_UNDEFINED)<br>
> >  <br>
> > -es2api_libGLESv2_la_LIBADD += shared-glapi/<a href="http://libglapi.la" rel="noreferrer" target="_blank" class="cremed">libglapi.la</a><br>
> > +es2api_libGLESv2@GLES_LIB_SUFFIX@_la_LIBADD += shared-glapi/<a href="http://libglapi.la" rel="noreferrer" target="_blank" class="cremed">libglapi.la</a><br>
> >  endif<br>
> >  <br>
> >  es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)<br>
> > diff --git a/src/mapi/es1api/meson.build b/src/mapi/es1api/meson.build<br>
> > index 657dc2d9ef..14a1a6b4e0 100644<br>
> > --- a/src/mapi/es1api/meson.build<br>
> > +++ b/src/mapi/es1api/meson.build<br>
> > @@ -28,7 +28,7 @@ es1_glapi_mapi_tmp_h = custom_target(<br>
> >  )<br>
> >  <br>
> >  libglesv1_cm = shared_library(<br>
> > -  'GLESv1_CM',<br>
> > +  'GLESv1_CM' + get_option('gles-lib-suffix'),<br>
> >    ['../entry.c', es1_glapi_mapi_tmp_h],<br>
> >    c_args : [<br>
> >      c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_BRIDGE',<br>
> > diff --git a/src/mapi/es2api/meson.build b/src/mapi/es2api/meson.build<br>
> > index da5198ed6e..35ea3ccf71 100644<br>
> > --- a/src/mapi/es2api/meson.build<br>
> > +++ b/src/mapi/es2api/meson.build<br>
> > @@ -28,7 +28,7 @@ es2_glapi_mapi_tmp_h = custom_target(<br>
> >  )<br>
> >  <br>
> >  libgles2 = shared_library(<br>
> > -  'GLESv2',<br>
> > +  'GLESv2' + get_option('gles-lib-suffix'),<br>
> >    ['../entry.c', es2_glapi_mapi_tmp_h],<br>
> >    c_args : [<br>
> >      c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_BRIDGE',<br>
> > -- <br>
> > 2.18.0.rc1.242.g61856ae69a-goog<br>
> > <br>
> > _______________________________________________<br>
> > mesa-dev mailing list<br>
> > <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank" class="cremed">mesa-dev@lists.freedesktop.org</a><br>
> > <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank" class="cremed">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank" class="cremed">mesa-dev@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank" class="cremed">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div></div>