mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-19 06:18:24 +02:00
mesa: build xmlconfig to a separate static library
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@samsung.com>
Cc: "10.5 10.6" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90310
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90905
Acked-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
(cherry picked from commit 634f200256)
This commit is contained in:
parent
bb00457f49
commit
20fd2abdd6
8 changed files with 17 additions and 17 deletions
|
|
@ -55,12 +55,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
|
||||
|
|
|
|||
|
|
@ -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 += \
|
||||
$(top_builddir)/src/mesa/drivers/dri/common/libxmlconfig.la
|
||||
|
||||
libloader_la_LIBADD += \
|
||||
-lm \
|
||||
$(EXPAT_LIBS)
|
||||
endif
|
||||
|
||||
if !HAVE_LIBDRM
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ mesa_dri_drivers_la_LIBADD = \
|
|||
../../libmesa.la \
|
||||
common/libmegadriver_stub.la \
|
||||
common/libdricommon.la \
|
||||
common/libxmlconfig.la \
|
||||
$(MEGADRIVERS_DEPS) \
|
||||
$(DRI_LIB_DEPS) \
|
||||
$()
|
||||
|
|
|
|||
|
|
@ -47,7 +47,9 @@ else
|
|||
LOCAL_SHARED_LIBRARIES := libdrm
|
||||
endif
|
||||
|
||||
LOCAL_SRC_FILES := $(DRI_COMMON_FILES)
|
||||
LOCAL_SRC_FILES := \
|
||||
$(DRI_COMMON_FILES) \
|
||||
$(XMLCONFIG_FILES)
|
||||
|
||||
LOCAL_GENERATED_SOURCES := \
|
||||
$(intermediates)/xmlpool/options.h
|
||||
|
|
|
|||
|
|
@ -31,16 +31,20 @@ AM_CFLAGS = \
|
|||
-I$(top_srcdir)/src/mapi \
|
||||
-I$(top_srcdir)/src/mesa/ \
|
||||
$(DEFINES) \
|
||||
$(EXPAT_CFLAGS) \
|
||||
$(VISIBILITY_CFLAGS)
|
||||
|
||||
noinst_LTLIBRARIES = \
|
||||
libdricommon.la \
|
||||
libxmlconfig.la \
|
||||
libmegadriver_stub.la \
|
||||
libdri_test_stubs.la
|
||||
|
||||
libdricommon_la_SOURCES = $(DRI_COMMON_FILES)
|
||||
|
||||
libxmlconfig_la_SOURCES = $(XMLCONFIG_FILES)
|
||||
libxmlconfig_la_CFLAGS = $(AM_CFLAGS) $(EXPAT_CFLAGS)
|
||||
libxmlconfig_la_LIBADD = $(EXPAT_LIBS) -lm
|
||||
|
||||
libdri_test_stubs_la_SOURCES = $(test_stubs_FILES)
|
||||
libdri_test_stubs_la_CFLAGS = $(AM_CFLAGS) -DNO_MAIN
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ DRI_COMMON_FILES := \
|
|||
utils.c \
|
||||
utils.h \
|
||||
dri_util.c \
|
||||
dri_util.h \
|
||||
dri_util.h
|
||||
|
||||
XMLCONFIG_FILES := \
|
||||
xmlconfig.c \
|
||||
xmlconfig.h
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ drienv.PkgUseModules('DRM')
|
|||
# else
|
||||
#env.Append(CPPDEFINES = ['__NOT_HAVE_DRM_H'])
|
||||
|
||||
sources = drienv.ParseSourceList('Makefile.sources', 'DRI_COMMON_FILES')
|
||||
sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES', 'XMLCONFIG_FILES' ])
|
||||
|
||||
dri_common = drienv.ConvenienceLibrary(
|
||||
target = 'dri_common',
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ libi965_dri_la_LIBADD = $(INTEL_LIBS)
|
|||
TEST_LIBS = \
|
||||
libi965_dri.la \
|
||||
../common/libdricommon.la \
|
||||
../common/libxmlconfig.la \
|
||||
../common/libmegadriver_stub.la \
|
||||
../../../libmesa.la \
|
||||
$(DRI_LIB_DEPS) \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue