summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin E Martin <kem@kem.org>2005-07-14 03:32:09 +0000
committerKevin E Martin <kem@kem.org>2005-07-14 03:32:09 +0000
commit7375f4d13626bbba4204e2f08f41c212b2eed992 (patch)
tree644c1730c9ecdb4c92b64740b4e7788f6bbca7bc
parentc582560c62fd8181b7521e470f118a59c418a95f (diff)
Add support for Xnest
-rw-r--r--configure.ac31
-rw-r--r--hw/Makefile.am9
-rw-r--r--hw/xfree86/Makefile.am6
-rw-r--r--hw/xfree86/dri/Makefile.am2
-rw-r--r--hw/xnest/Makefile.am62
-rw-r--r--hw/xnest/xnest-config.h37
-rw-r--r--include/xkb-config.h.in10
-rw-r--r--include/xorg-config.h.in9
8 files changed, 149 insertions, 17 deletions
diff --git a/configure.ac b/configure.ac
index b94dc7278..410c8b664 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,8 @@ dnl dix/).
AC_CONFIG_HEADERS(include/dix-config.h)
dnl xorg-config.h covers the Xorg DDX.
AC_CONFIG_HEADERS(include/xorg-config.h)
+dnl xkb-config.h covers XKB for the Xorg and Xnest DDXs.
+AC_CONFIG_HEADERS(include/xkb-config.h)
dnl xwin-config.h covers the XWin DDX.
AC_CONFIG_HEADERS(include/xwin-config.h)
@@ -159,6 +161,7 @@ AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--enable-xcsecurity],[Build Securi
AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg],[Build Xorg server (default: auto)]),[XORG=$enableval],[XORG=auto])
AC_ARG_ENABLE(dmx, AS_HELP_STRING([--enable-dmx],[Build DMX server (default: disabled)]),[DMX=$enableval],[DMX=no])
AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb],[Build Xvfb server (default: auto)]),[XVFB=$enableval],[XVFB=auto])
+AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest],[Build Xnest server (default: auto)]),[XNEST=$enableval],[XNEST=auto])
AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin],[Build XWin server (default: auto)]),[XWIN=$enableval],[XWIN=auto])
AC_ARG_ENABLE(xevie, AS_HELP_STRING([--enable-xevie],[Build XEvIE extension (default: disabled)]), [XEVIE=$enableval],[XEVIE=no])
@@ -209,7 +212,7 @@ AC_DEFINE(SHAPE,1,[Support SHAPE extension])
AM_CONDITIONAL(DMX, [test x$DMX = xyes])
if test "$DMX" = yes; then
- PKG_CHECK_MODULES([DMXMODULES],[xmuu xextproto x11 xrender xfont xi dmxproto])
+ PKG_CHECK_MODULES([DMXMODULES],[xmuu xext x11 xrender xfont xi dmxproto])
if test "$GLX" = yes; then
PKG_CHECK_MODULES(GL,gl)
fi
@@ -232,6 +235,16 @@ fi
AC_MSG_RESULT([$XVFB])
AM_CONDITIONAL(XVFB, [test x$XVFB = xyes])
+AC_MSG_CHECKING([whether to build Xnest DDX])
+if test x$XNEST = xauto; then
+ XNEST="yes"
+fi
+AC_MSG_RESULT([$XNEST])
+if test "$XNEST" = yes; then
+ PKG_CHECK_MODULES([XNESTMODULES],[xfont xext x11])
+fi
+AM_CONDITIONAL(XNEST, [test x$XNEST = xyes])
+
dnl
dnl Definitions for XWin DDX
dnl
@@ -379,6 +392,7 @@ AM_CONDITIONAL(DRI, test x$DRI = xyes)
if test "$DRI" = yes; then
AC_DEFINE(XORGDRI,1,[Build DRI extension])
AC_DEFINE(_XORGDRI_SERVER_,1,[XORGDRI internal define])
+ REQUIRED_MODULES="$REQUIRED_MODULES xf86driproto"
fi
AC_DEFINE(XINPUT,1,[Support X Input extension])
EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/Xi/libXi.la'
@@ -556,9 +570,10 @@ XSERVER_LIBS="${XSERVER_LIBS} -lm -lz"
XORG_CORE_LIBS="$DIX_LIB"
XORG_LIBS="$MI_LIB $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $EXTENSION_LIBS $XPSTUBS_LIB $OS_LIB"
-XVFB_LIBS="$FB_LIB $MI_LIB $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $EXTENSION_LIBS $XPSTUBS_LIB $OS_LIB"
+XVFB_LIBS="$FB_LIB $MI_LIB $EXTENSION_LIBS $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $XPSTUBS_LIB $OS_LIB"
+XNEST_LIBS="$FB_LIB $MI_LIB $EXTENSION_LIBS $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $XPSTUBS_LIB $OS_LIB"
XWIN_LIBS="$FB_LIB $MI_LIB $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $EXTENSION_LIBS $XPSTUBS_LIB $OS_LIB $SHADOW_LIB"
-XDMX_LIBS="$FB_LIB $MI_LIB $XI_LIB $XKB_LIB $DAMAGE_LIB $DMX_EXTENSIONS $OS_LIB $SHADOW_LIB"
+XDMX_LIBS="$FB_LIB $MI_LIB $DMX_EXTENSIONS $XI_LIB $XKB_LIB $DAMAGE_LIB $OS_LIB $SHADOW_LIB"
XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
@@ -631,6 +646,7 @@ fi
AC_SUBST([XORG_CORE_LIBS])
AC_SUBST([XORG_LIBS])
AC_SUBST([XVFB_LIBS])
+AC_SUBST([XNEST_LIBS])
AC_SUBST([XWIN_LIBS])
AC_SUBST([EXTENSION_LIBS])
AC_SUBST([XDMX_LIBS])
@@ -641,10 +657,14 @@ AC_SUBST([XORG_OS_KBD])
AC_SUBST([XORG_OS_PCI])
AM_CONDITIONAL([XORG_BUS_SBUS], [test "x$xorg_bus_sbus" = xyes])
+dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers)
+XKBDIR="$datadir/X11/xkb"
+AC_DEFINE(__XKBDEFRULES__,"xorg",[Default XKB rules])
+AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBDIR, [Path to XKB data])
+
dnl these only go in xorg-config.h
CONFIGFILE="$sysconfdir/xorg.conf"
LOGPREFIX="$localstatedir/log/Xorg."
-XKBDIR="$datadir/X11/xkb"
AC_DEFINE(XFree86Server,1,[Building XFree86 server])
AC_DEFINE(XORGSERVER,,[Building Xorg server])
AC_DEFINE(XFree86LOADER,1,[Building XFree86 loader])
@@ -652,7 +672,6 @@ AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT,[XF86_VERSION_NUMERIC($VERSION_STRING)],
AC_DEFINE(NEED_XF86_TYPES,1,[Need XFree86 typedefs])
AC_DEFINE(NEED_XF86_PROTOTYPES,1,[Need XFree86 helper functions])
AC_DEFINE(__XSERVERNAME__,"Xorg",[Name of X server])
-AC_DEFINE(__XKBDEFRULES__,"xorg",[Default XKB rules])
# XXX HACK! if anyone cares about elfloader in 7.0 you need to
# XXX do something smarter here.
AC_DEFINE(DLOPEN_HACK,1,[Prefer dlloader modules to elfloader])
@@ -663,7 +682,6 @@ AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE,[Location of configuration file])
AC_DEFINE_DIR(XF86CONFIGFILE, CONFIGFILE, [Path to Xorg configuration file])
AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
-AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBDIR, [Path to XKB data])
AC_DEFINE(XORGSERVER,,[Build Xorg server])
AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
@@ -806,6 +824,7 @@ hw/dmx/input/Makefile
hw/dmx/glxProxy/Makefile
hw/dmx/Makefile
hw/vfb/Makefile
+hw/xnest/Makefile
hw/xwin/Makefile
xorg-server.pc
])
diff --git a/hw/Makefile.am b/hw/Makefile.am
index a015b93db..e2681953c 100644
--- a/hw/Makefile.am
+++ b/hw/Makefile.am
@@ -3,11 +3,15 @@ DMX_SUBDIRS = dmx
endif
if XORG
-XORG_SUBDIRS = xfree86
+XORG_SUBDIRS = xfree86
endif
if XVFB
-XVFB_SUBDIRS = vfb
+XVFB_SUBDIRS = vfb
+endif
+
+if XNEST
+XNEST_SUBDIRS = xnest
endif
if XWIN
@@ -18,4 +22,5 @@ SUBDIRS = \
$(XORG_SUBDIRS) \
$(XWIN_SUBDIRS) \
$(XVFB_SUBDIRS) \
+ $(XNEST_SUBDIRS) \
$(DMX_SUBDIRS)
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index e9d21762c..342d8a094 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -1,6 +1,10 @@
+if DRI
+DRI_SUBDIR = dri
+endif
+
SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser rac \
ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp xf8_16bpp \
- xf8_32wid loader scanpci dixmods dri
+ xf8_32wid loader scanpci dixmods $(DRI_SUBDIR)
bin_PROGRAMS = Xorg
diff --git a/hw/xfree86/dri/Makefile.am b/hw/xfree86/dri/Makefile.am
index cdc1c8bf1..95fcfebab 100644
--- a/hw/xfree86/dri/Makefile.am
+++ b/hw/xfree86/dri/Makefile.am
@@ -10,4 +10,4 @@ libdri_la_SOURCES = \
sarea.h \
xf86dri.c
-sdk_HEADERS = dri.h sarea.h dristruct.h xf86dri.h
+sdk_HEADERS = dri.h sarea.h dristruct.h
diff --git a/hw/xnest/Makefile.am b/hw/xnest/Makefile.am
new file mode 100644
index 000000000..4b037b5ce
--- /dev/null
+++ b/hw/xnest/Makefile.am
@@ -0,0 +1,62 @@
+bin_PROGRAMS = Xnest
+
+SRCS = Args.c \
+ Args.h \
+ Color.c \
+ Color.h \
+ Cursor.c \
+ Display.c \
+ Display.h \
+ Drawable.h \
+ Events.c \
+ Events.h \
+ Font.c \
+ GC.c \
+ GCOps.c \
+ GCOps.h \
+ GetTime.c \
+ Handlers.c \
+ Handlers.h \
+ Init.c \
+ Init.h \
+ Keyboard.c \
+ Keyboard.h \
+ Pixmap.c \
+ Pointer.c \
+ Pointer.h \
+ Screen.c \
+ Screen.h \
+ TestExt.c \
+ Visual.c \
+ Visual.h \
+ Window.c \
+ XNCursor.h \
+ Xnest.h \
+ XNFont.h \
+ XNGC.h \
+ XNPixmap.h \
+ XNWindow.h \
+ $(top_srcdir)/Xext/dpmsstubs.c \
+ $(top_srcdir)/Xi/stubs.c \
+ $(top_srcdir)/mi/miinitext.c \
+ $(top_srcdir)/fb/fbcmap.c
+
+
+Xnest_SOURCES = $(SRCS)
+
+Xnest_LDADD = $(XORG_CORE_LIBS) \
+ $(XNEST_LIBS) \
+ $(XNESTMODULES_LIBS)
+
+Xnest_LDFLAGS =
+
+AM_CFLAGS = -DHAVE_XNEST_CONFIG_H \
+ -DNO_HW_ONLY_EXTS \
+ $(XNESTMODULES_CFLAGS)
+
+EXTRA_DIST = os2Stub.c
+
+# -UDPMSExtension for miinitext? can't put into
+# OS_DEFINES???
+# EXT_DEFINES???
+# ICONFIGFILES -- SpecialCObjectRule
diff --git a/hw/xnest/xnest-config.h b/hw/xnest/xnest-config.h
new file mode 100644
index 000000000..8b477767a
--- /dev/null
+++ b/hw/xnest/xnest-config.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2005 Red Hat Inc., Raleigh, North Carolina.
+ *
+ * All Rights Reserved.
+ *
+ * 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 on 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
+ * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
+ * 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.
+ */
+
+#ifndef XNEST_CONFIG_H
+#define XNEST_CONFIG_H
+
+#include <dix-config.h>
+#include <xkb-config.h>
+
+#undef MITSHM
+#undef XFree86LOADER
+
+#endif /* XNEST_CONFIG_H */
diff --git a/include/xkb-config.h.in b/include/xkb-config.h.in
new file mode 100644
index 000000000..411bcc4a5
--- /dev/null
+++ b/include/xkb-config.h.in
@@ -0,0 +1,10 @@
+/*
+ * xkb-config.h.in: not at all generated.
+ *
+ */
+
+/* Default set of XKB rules. */
+#undef __XKBDEFRULES__
+
+/* Path to XKB definitions. */
+#undef XKB_BASE_DIRECTORY
diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in
index 77bc5566e..f4c25f13a 100644
--- a/include/xorg-config.h.in
+++ b/include/xorg-config.h.in
@@ -7,9 +7,10 @@
*
*/
-/* Normally this is guarded, but if we don't have dix-config.h, we're in some
+/* Normally these are guarded, but if we don't have dix-config.h, we're in some
* pretty serious trouble anyway. Consider this a canary. */
#include <dix-config.h>
+#include <xkb-config.h>
/* Building XFree86-based server. */
#undef XFree86Server
@@ -32,9 +33,6 @@
/* Name of X server. */
#undef __XSERVERNAME__
-/* Default set of XKB rules. */
-#undef __XKBDEFRULES__
-
/* URL to go to for support. */
#undef __VENDORDWEBSUPPORT__
@@ -62,9 +60,6 @@
/* Path to server log file. */
#undef DEFAULT_LOGPREFIX
-/* Path to XKB definitions. */
-#undef XKB_BASE_DIRECTORY
-
/* Building DRI-capable DDX. */
#undef XORGDRI