[Mesa-dev] [PATCH 6/7] mesa: build xmlconfig to a separate static library

Matt Turner mattst88 at gmail.com
Wed Jun 10 16:19:06 PDT 2015


On Wed, Jun 10, 2015 at 3:54 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> From: Erik Faye-Lund <kusmabite at gmail.com>
>
> As we use the file from both the dri modules and loader, we end up with
> multiple definition of the symbols provided in our gallium dri  modules.
> Additionally we compile the file twice.
>
> Resolve both issues, effectively enabling the build on toolchains which
> don't support -Wl,--allow-multiple-definition.
>
> v2: [Emil Velikov]
>  - Fix the Scons/Android build.
>  - Resolve libgbm build issues (bring back the missing -lm)
>
> Cc: Julien Isorce <j.isorce at samsung.com>
> Cc: "10.5 10.6" <mesa-stable at lists.freedesktop.org>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90310
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90905
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>  src/gallium/targets/dri/Makefile.am          |  6 ------
>  src/loader/Makefile.am                       | 10 +++-------
>  src/mesa/drivers/dri/Makefile.am             |  1 +
>  src/mesa/drivers/dri/common/Android.mk       |  4 +++-
>  src/mesa/drivers/dri/common/Makefile.am      |  6 +++++-
>  src/mesa/drivers/dri/common/Makefile.sources |  4 +++-
>  src/mesa/drivers/dri/common/SConscript       |  2 +-
>  src/mesa/drivers/dri/i965/Makefile.am        |  1 +
>  8 files changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
> index f9e4ada..9648396 100644
> --- a/src/gallium/targets/dri/Makefile.am
> +++ b/src/gallium/targets/dri/Makefile.am
> @@ -53,12 +53,6 @@ gallium_dri_la_LIBADD = \
>         $(LIBDRM_LIBS) \
>         $(GALLIUM_COMMON_LIB_DEPS)
>
> -# XXX: Temporary allow duplicated symbols, as the loader pulls in xmlconfig.c
> -# which already provides driParse* and driQuery* amongst others.
> -# Remove this hack as we come up with a cleaner solution.
> -gallium_dri_la_LDFLAGS += \
> -       -Wl,--allow-multiple-definition
> -
>  EXTRA_gallium_dri_la_DEPENDENCIES = \
>         dri.sym \
>         $(top_srcdir)/src/gallium/targets/dri-vdpau.dyn
> diff --git a/src/loader/Makefile.am b/src/loader/Makefile.am
> index 36ddba8..aef1bd6 100644
> --- a/src/loader/Makefile.am
> +++ b/src/loader/Makefile.am
> @@ -41,15 +41,11 @@ libloader_la_CPPFLAGS += \
>         -I$(top_builddir)/src/mesa/drivers/dri/common/ \
>         -I$(top_srcdir)/src/mesa/ \
>         -I$(top_srcdir)/src/mapi/ \
> -       -DUSE_DRICONF \
> -       $(EXPAT_CFLAGS)
> +       -DUSE_DRICONF
>
> -libloader_la_SOURCES += \
> -       $(top_srcdir)/src/mesa/drivers/dri/common/xmlconfig.c
> + libloader_la_LIBADD += \

Looks like we have an extra leading space here.

Do I understand correctly that after this patch the Gallium drivers
will get their only copy of xmlconfig via linking against
libloader.la?

If that's correct,

Acked-by: Matt Turner <mattst88 at gmail.com>

> +       $(top_builddir)/src/mesa/drivers/dri/common/libxmlconfig.la
>
> -libloader_la_LIBADD += \
> -       -lm \
> -       $(EXPAT_LIBS)
>  endif
>
>  if !HAVE_LIBDRM


More information about the mesa-dev mailing list