b1a6986395
Classic GNU ld resolves symbol dependencies only forward, while GOLD seems to work regardless of the specified library order. Suggested-by: Eero Tamminen <eero.t.tamminen@intel.com> Reviewed-by: Mihail Konev <k.mvc@ya.ru> Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
242 lines
5.7 KiB
Makefile
242 lines
5.7 KiB
Makefile
if ENABLE_UNIT_TESTS
|
|
SUBDIRS= .
|
|
AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
|
|
AM_CPPFLAGS = $(XORG_INCS)
|
|
|
|
tests_CPPFLAGS=
|
|
CLEANFILES=
|
|
|
|
if XORG
|
|
# Tests that require at least some DDX functions in order to fully link
|
|
# For now, requires xf86 ddx, could be adjusted to use another
|
|
if RES
|
|
RES_SRCS = hashtabletest.c
|
|
AM_CPPFLAGS += -DRES_TESTS
|
|
endif
|
|
endif
|
|
|
|
noinst_PROGRAMS = simple-xinit tests
|
|
|
|
if XVFB
|
|
XVFB_TESTS = scripts/xvfb-piglit.sh
|
|
if XEPHYR
|
|
if GLAMOR
|
|
XEPHYR_GLAMOR_TESTS = scripts/xephyr-glamor-piglit.sh
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
SCRIPT_TESTS = \
|
|
$(XVFB_TESTS) \
|
|
$(XEPHYR_GLAMOR_TESTS) \
|
|
$(NULL)
|
|
|
|
TESTS = tests \
|
|
$(SCRIPT_TESTS) \
|
|
$(NULL)
|
|
|
|
TESTS_ENVIRONMENT = \
|
|
XSERVER_DIR=$(abs_top_srcdir) \
|
|
XSERVER_BUILDDIR=$(abs_top_builddir) \
|
|
$(XORG_MALLOC_DEBUG_ENV) \
|
|
$(NULL)
|
|
|
|
if XORG
|
|
AM_CPPFLAGS += \
|
|
-I$(srcdir)/xi1 \
|
|
-I$(srcdir)/xi2 \
|
|
-I$(top_srcdir)/hw/xfree86/common \
|
|
-I$(top_srcdir)/hw/xfree86/parser \
|
|
-I$(top_srcdir)/hw/xfree86/ddc \
|
|
-I$(top_srcdir)/hw/xfree86/i2c -I$(top_srcdir)/hw/xfree86/modes \
|
|
-I$(top_srcdir)/hw/xfree86/ramdac -I$(top_srcdir)/hw/xfree86/dri \
|
|
-I$(top_srcdir)/hw/xfree86/dri2 -I$(top_srcdir)/dri3
|
|
tests_CPPFLAGS += $(AM_CPPFLAGS)
|
|
endif
|
|
|
|
tests_LDFLAGS = \
|
|
-Wl,-wrap,dixLookupWindow \
|
|
-Wl,-wrap,dixLookupClient \
|
|
-Wl,-wrap,WriteToClient \
|
|
-Wl,-wrap,dixLookupWindow \
|
|
-Wl,-wrap,XISetEventMask \
|
|
-Wl,-wrap,AddResource \
|
|
-Wl,-wrap,GrabButton \
|
|
$()
|
|
|
|
tests_LDADD =
|
|
|
|
tests_SOURCES = \
|
|
tests-common.c \
|
|
fixes.c \
|
|
input.c \
|
|
list.c \
|
|
misc.c \
|
|
signal-logging.c \
|
|
string.c \
|
|
touch.c \
|
|
xfree86.c \
|
|
test_xkb.c \
|
|
xtest.c \
|
|
$(RES_SRCS) \
|
|
tests.c
|
|
|
|
if HAVE_LD_WRAP
|
|
|
|
tests_CPPFLAGS += -DLDWRAP_TESTS
|
|
|
|
tests_SOURCES += \
|
|
xi1/protocol-xchangedevicecontrol.c \
|
|
xi2/protocol-common.c \
|
|
xi2/protocol-xiqueryversion.c \
|
|
xi2/protocol-xiquerydevice.c \
|
|
xi2/protocol-xiselectevents.c \
|
|
xi2/protocol-xigetselectedevents.c \
|
|
xi2/protocol-xisetclientpointer.c \
|
|
xi2/protocol-xigetclientpointer.c \
|
|
xi2/protocol-xiquerypointer.c \
|
|
xi2/protocol-xipassivegrabdevice.c \
|
|
xi2/protocol-xiwarppointer.c \
|
|
xi2/protocol-eventconvert.c \
|
|
xi2/xi2.c
|
|
|
|
else !HAVE_LD_WRAP
|
|
|
|
# Print that xi1-tests were skipped (exit code 77 for automake test harness)
|
|
TESTS += xi1-tests
|
|
CLEANFILES += xi1-tests
|
|
|
|
xi1-tests:
|
|
@echo 'echo "ld -wrap support required for xi1 unit tests, skipping"' > $@
|
|
@echo 'exit 77' >> $@
|
|
$(AM_V_GEN)chmod +x $@
|
|
|
|
# Print that xi2-tests were skipped (exit code 77 for automake test harness)
|
|
TESTS += xi2-tests
|
|
CLEANFILES += xi2-tests
|
|
|
|
xi2-tests:
|
|
@echo 'echo "ld -wrap support required for xi2 unit tests, skipping"' > $@
|
|
@echo 'exit 77' >> $@
|
|
$(AM_V_GEN)chmod +x $@
|
|
|
|
endif !HAVE_LD_WRAP
|
|
|
|
tests_LDADD += $(XSERVER_LIBS)
|
|
|
|
if XORG
|
|
|
|
nodist_tests_SOURCES = sdksyms.c
|
|
|
|
tests_LDADD += \
|
|
$(top_builddir)/hw/xfree86/loader/libloader.la \
|
|
$(top_builddir)/hw/xfree86/common/libcommon.la \
|
|
$(top_builddir)/hw/xfree86/os-support/libxorgos.la \
|
|
$(top_builddir)/hw/xfree86/parser/libxf86config.la \
|
|
$(top_builddir)/hw/xfree86/dixmods/libdixmods.la \
|
|
$(top_builddir)/hw/xfree86/modes/libxf86modes.la \
|
|
$(top_builddir)/hw/xfree86/ramdac/libramdac.la \
|
|
$(top_builddir)/hw/xfree86/ddc/libddc.la \
|
|
$(top_builddir)/hw/xfree86/i2c/libi2c.la \
|
|
$(top_builddir)/hw/xfree86/dixmods/libxorgxkb.la \
|
|
$(top_builddir)/Xext/libXvidmode.la \
|
|
@XORG_LIBS@
|
|
|
|
if !SPECIAL_DTRACE_OBJECTS
|
|
tests_LDADD += $(top_builddir)/os/libos.la
|
|
endif
|
|
|
|
BUILT_SOURCES = sdksyms.c
|
|
CLEANFILES += sdksyms.c
|
|
|
|
sdksyms.c: $(top_builddir)/hw/xfree86/sdksyms.c
|
|
$(AM_V_GEN)$(LN_S) $(top_builddir)/hw/xfree86/sdksyms.c
|
|
|
|
if DRI
|
|
tests_LDADD += $(top_builddir)/hw/xfree86/dri/libdri.la
|
|
endif
|
|
|
|
if DRI2
|
|
tests_LDADD += $(top_builddir)/hw/xfree86/dri2/libdri2.la
|
|
endif
|
|
|
|
if DRI3
|
|
tests_LDADD += $(top_builddir)/dri3/libdri3.la
|
|
endif
|
|
|
|
else !XORG
|
|
|
|
nodist_tests_SOURCES = \
|
|
ddxstubs.c \
|
|
$(top_srcdir)/mi/miinitext.c
|
|
|
|
tests_LDADD += \
|
|
$(top_builddir)/damageext/libdamageext.la \
|
|
$(top_builddir)/fb/libfb.la \
|
|
$(top_builddir)/fb/libwfb.la \
|
|
$(top_builddir)/miext/damage/libdamage.la \
|
|
$(top_builddir)/miext/sync/libsync.la \
|
|
$(top_builddir)/randr/librandr.la \
|
|
$(top_builddir)/render/librender.la \
|
|
$(top_builddir)/Xext/libXext.la \
|
|
$(top_builddir)/Xext/libXextdpmsstubs.la \
|
|
$(top_builddir)/Xext/libXvidmode.la \
|
|
$(top_builddir)/Xi/libXi.la \
|
|
$(top_builddir)/Xi/libXistubs.la \
|
|
$(top_builddir)/xfixes/libxfixes.la \
|
|
$(top_builddir)/xkb/libxkb.la \
|
|
$(top_builddir)/xkb/libxkbstubs.la
|
|
|
|
if COMPOSITE
|
|
tests_LDADD += \
|
|
$(top_builddir)/composite/libcomposite.la
|
|
endif
|
|
|
|
if DBE
|
|
tests_LDADD += \
|
|
$(top_builddir)/dbe/libdbe.la
|
|
endif
|
|
|
|
if GLX
|
|
tests_LDADD += \
|
|
$(top_builddir)/glx/libglx.la
|
|
endif
|
|
|
|
if RECORD
|
|
tests_LDADD += \
|
|
$(top_builddir)/record/librecord.la
|
|
endif
|
|
|
|
if DRI3
|
|
tests_LDADD += \
|
|
$(top_builddir)/dri3/libdri3.la
|
|
endif
|
|
|
|
if XQUARTZ
|
|
tests_LDADD += \
|
|
$(top_builddir)/miext/rootless/librootless.la
|
|
tests_LDADD += -lXplugin
|
|
endif
|
|
|
|
if XWIN_MULTIWINDOWEXTWM
|
|
tests_LDADD += \
|
|
$(top_builddir)/miext/rootless/librootless.la
|
|
endif
|
|
|
|
endif !XORG
|
|
|
|
# GNU LD scans only in one direction, add the following dependencies at the end
|
|
# so as they get picked up by the previously-linked libraries
|
|
tests_LDADD += $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) $(GLX_SYS_LIBS)
|
|
|
|
endif ENABLE_UNIT_TESTS
|
|
|
|
EXTRA_DIST = \
|
|
scripts/xvfb-piglit.sh \
|
|
scripts/xephyr-glamor-piglit.sh \
|
|
scripts/xinit-piglit-session.sh \
|
|
scripts/run-piglit.sh \
|
|
ddxstubs.c \
|
|
$(NULL)
|
|
|