Add support for Xnest

This commit is contained in:
Kevin E Martin 2005-07-14 03:32:09 +00:00
parent c582560c62
commit 7375f4d136
8 changed files with 149 additions and 17 deletions

View File

@ -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
])

View File

@ -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)

View File

@ -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

View File

@ -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

62
hw/xnest/Makefile.am Normal file
View File

@ -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

37
hw/xnest/xnest-config.h Normal file
View File

@ -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 */

10
include/xkb-config.h.in Normal file
View File

@ -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

View File

@ -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