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

Emil Velikov emil.l.velikov at gmail.com
Fri Jun 12 07:39:48 PDT 2015


On 11 June 2015 at 00:19, Matt Turner <mattst88 at gmail.com> wrote:
> 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?
>
As Erik mentioned - you're bang on the spot. The alternative solutions
did end up way messier/longer. Props to Erik for this approach !

-Emil


More information about the mesa-stable mailing list