summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@apple.com>2012-01-11 12:17:06 -0800
committerJeremy Huddleston <jeremyhu@apple.com>2012-01-15 02:28:07 -0800
commitcd89482088f71ed517c2e88ed437e4752070c3f4 (patch)
tree146bac27680d6aed732541474ebee58aa39de524
parent78d39b3222a4b0b92d840137f5455d3a20dd6906 (diff)
test: Fix linking issues when building unit tests without the Xorg DDX
This allows unit tests to build and run successfully on darwin when only the Xvfb or XQuartz DDX is built. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
-rw-r--r--test/Makefile.am57
-rw-r--r--test/ddxstubs.c91
2 files changed, 144 insertions, 4 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index ba8932c5d..b875b75f7 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -50,11 +50,60 @@ libxservertest_la_LIBADD += \
$(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)/hw/xfree86/dixmods/libxorgxkb.la \
+ @XORG_LIBS@
+else
+nodist_libxservertest_la_SOURCES = \
+ ddxstubs.c \
+ $(top_srcdir)/mi/miinitext.c \
+ $(top_srcdir)/Xext/dpmsstubs.c \
+ $(top_srcdir)/Xi/stubs.c
+
+libxservertest_la_LIBADD += \
+ $(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)/Xi/libXi.la \
+ $(top_builddir)/xfixes/libxfixes.la \
+ $(top_builddir)/xkb/libxkb.la \
+ $(top_builddir)/xkb/libxkbstubs.la
+
+if COMPOSITE
+libxservertest_la_LIBADD += \
+ $(top_builddir)/composite/libcomposite.la
endif
+
+if DBE
libxservertest_la_LIBADD += \
- $(top_builddir)/mi/libmi.la \
- $(top_builddir)/os/libos.la \
- @XORG_LIBS@
+ $(top_builddir)/dbe/libdbe.la
+endif
+
+if GLX
+libxservertest_la_LIBADD += \
+ $(top_builddir)/glx/libglx.la
+endif
+
+if RECORD
+libxservertest_la_LIBADD += \
+ $(top_builddir)/record/librecord.la
+endif
+
+if XQUARTZ
+libxservertest_la_LIBADD += \
+ $(top_builddir)/miext/rootless/librootless.la
+TEST_LDADD += -lXplugin
+endif
+
+if XWIN_MULTIWINDOWEXTWM
+libxservertest_la_LIBADD += \
+ $(top_builddir)/miext/rootless/librootless.la
+endif
+endif
+
libxservertest_la_DEPENDENCIES = $(libxservertest_la_LIBADD)
endif
diff --git a/test/ddxstubs.c b/test/ddxstubs.c
new file mode 100644
index 000000000..baf2a7a50
--- /dev/null
+++ b/test/ddxstubs.c
@@ -0,0 +1,91 @@
+/**
+ * Copyright © 2012 Apple Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/* This file contains stubs for some symbols which are usually provided by a
+ * DDX. These stubs should allow the unit tests to build on platforms with
+ * stricter linkers (eg: darwin) when the Xorg DDX is not built.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "input.h"
+#include "mi.h"
+
+void DDXRingBell(int volume, int pitch, int duration) {
+}
+
+void ProcessInputEvents(void) {
+ mieqProcessInputEvents();
+}
+
+void OsVendorInit(void) {
+}
+
+void OsVendorFatalError(void) {
+}
+
+void AbortDDX(enum ExitCode error) {
+ OsAbort();
+}
+
+void ddxUseMsg(void) {
+}
+
+int ddxProcessArgument(int argc, char *argv[], int i) {
+ return 0;
+}
+
+void ddxGiveUp( enum ExitCode error ) {
+}
+
+Bool LegalModifier(unsigned int key, DeviceIntPtr pDev) {
+ return TRUE;
+}
+
+#ifdef XQUARTZ
+#include <pthread.h>
+
+BOOL serverRunning = TRUE;
+pthread_mutex_t serverRunningMutex = PTHREAD_MUTEX_INITIALIZER;
+pthread_cond_t serverRunningCond = PTHREAD_COND_INITIALIZER;
+
+int darwinMainScreenX = 0;
+int darwinMainScreenY = 0;
+
+BOOL no_configure_window = FALSE;
+
+void darwinEvents_lock(void) {
+}
+
+void darwinEvents_unlock(void) {
+}
+#endif
+
+#ifdef DDXBEFORERESET
+void
+ddxBeforeReset(void) {
+}
+#endif
+