summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin E Martin <kem@kem.org>2005-07-12 01:20:36 +0000
committerKevin E Martin <kem@kem.org>2005-07-12 01:20:36 +0000
commit02427d4d04f70109a499578c6762654463ebdae4 (patch)
tree0fa96e475a0c40881319b73c62d6462ec3ad8ae3
parent3fe6b5bb30e8e1b9017a9cf818fcceb279a28e65 (diff)
Add support for building Xdmx and Xvfb
-rw-r--r--XTrap/Makefile.am4
-rw-r--r--configure.ac33
-rw-r--r--hw/Makefile.am5
-rw-r--r--hw/dmx/Makefile.am56
-rw-r--r--hw/dmx/config/Makefile.am13
-rw-r--r--hw/dmx/dmx-config.h98
-rw-r--r--hw/dmx/input/Makefile.am12
-rw-r--r--hw/vfb/Makefile.am22
-rw-r--r--include/dix-config.h.in8
-rw-r--r--miext/shadow/Makefile.am2
10 files changed, 199 insertions, 54 deletions
diff --git a/XTrap/Makefile.am b/XTrap/Makefile.am
index 1d9aeeb17..1eddd4f56 100644
--- a/XTrap/Makefile.am
+++ b/XTrap/Makefile.am
@@ -1,5 +1,5 @@
-module_LTLIBRARIES = libxtrap.la
+noinst_LTLIBRARIES = libxtrap.la
AM_CFLAGS = $(DIX_CFLAGS)
-libxtrap_la_SOURCES = xf86XTrapModule.c xtrapddmi.c xtrapdi.c xtrapdiswp.c xtrapditbl.c
+libxtrap_la_SOURCES = xtrapddmi.c xtrapdi.c xtrapdiswp.c xtrapditbl.c
diff --git a/configure.ac b/configure.ac
index 60de33057..0c8e5d416 100644
--- a/configure.ac
+++ b/configure.ac
@@ -141,7 +141,8 @@ AC_ARG_ENABLE(composite, [ --enable-composite ],[COMPOSITE=$enableval],[COM
AC_ARG_ENABLE(mitshm, [ --disable-shm ],[MITSHM=$enableval],[MITSHM=yes])
AC_ARG_ENABLE(xres, [ --disable-xres ],[RES=$enableval],[RES=yes])
AC_ARG_ENABLE(xtrap, [ --enable-xtrap ],[XTRAP=$enableval],[XTRAP=no])
-AC_ARG_ENABLE(record, [ --enable-record ],[RECORD=$enableval],[RECORD=no])
+AC_ARG_ENABLE(record, [ --disable-record ],[RECORD=$enableval],[RECORD=yes])
+AC_ARG_ENABLE(xv, [ --disable-xv ],[XV=$enableval],[XV=yes])
AC_ARG_ENABLE(screensaver, [ --disable-screensaver ],[SCREENSAVER=$enableval],[SCREENSAVER=yes])
AC_ARG_ENABLE(xdmcp, [ --disable-xdmcp ],[XDMCP=$enableval],[XDMCP=auto])
AC_ARG_ENABLE(xdm-auth-1, [ --disable-xdm-auth-1 ],[XDMAUTH=$enableval],[XDMAUTH=auto])
@@ -153,6 +154,7 @@ AC_ARG_ENABLE(xf86misc, [ --disable-xf86misc ],[XF86MISC=$enableval],[XF86
AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--enable-xcsecurity],[Build Security extension (default: disabled)]),[XCSECURITY=$enableval],[XCSECURITY=no])
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(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])
@@ -180,6 +182,12 @@ AC_ARG_WITH(module-dir, [ --with-module-dir=DIR ],
AC_ARG_WITH(builder-addr, [ --with-builder-addr=ADDRESS ],
[ BUILDERADDR="$withval" ],
[ BUILDERADDR="xorg@lists.freedesktop.org" ])
+AC_ARG_WITH(os-name, [ --with-os-name=OSNAME ],
+ [ OSNAME="$withval" ],
+ [ OSNAME="UNKNOWN" ])
+AC_ARG_WITH(os-vendor, [ --with-os-vendor=OSVENDOR ],
+ [ OSVENDOR="$withval" ],
+ [ OSVENDOR="" ])
AM_CONDITIONAL(INT10_VM86, [test x$INT10 = xvm86])
AM_CONDITIONAL(INT10_X86EMU, [test x$INT10 = xx86emu])
@@ -197,7 +205,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])
+ PKG_CHECK_MODULES([DMXMODULES],[xmuu xextproto x11 xrender xfont xi dmxproto])
if test "$GLX" = yes; then
PKG_CHECK_MODULES(GL,gl)
fi
@@ -213,6 +221,13 @@ fi
AC_MSG_RESULT([$XORG])
AM_CONDITIONAL(XORG, [test x$XORG = xyes])
+AC_MSG_CHECKING([whether to build Xvfb DDX])
+if test x$XVFB = xauto; then
+ XVFB="yes"
+fi
+AC_MSG_RESULT([$XVFB])
+AM_CONDITIONAL(XVFB, [test x$XVFB = xyes])
+
dnl
dnl Definitions for XWin DDX
dnl
@@ -323,12 +338,15 @@ AC_SUBST([XKB])
AM_CONDITIONAL(XTRAP, [test x$XTRAP = xyes])
if test "$XTRAP" = yes; then
AC_DEFINE(XTRAP,1,[Support XTrap extension])
+ EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/XTrap/libxtrap.la'
DMX_EXTENSIONS="$DMX_EXTENSIONS "'$(top_builddir)/XTrap/libxtrap.la'
fi
AM_CONDITIONAL(RECORD, [test x$RECORD = xyes])
if test "$RECORD" = yes; then
- AC_DEFINE(RECORD,1,[Support Record extension])
+ AC_DEFINE(XRECORD,1,[Support Record extension])
REQUIRED_MODULES="$REQUIRED_MODULES recordproto"
+ EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/record/librecord.la'
+ DMX_EXTENSIONS="$DMX_EXTENSIONS "'$(top_builddir)/record/librecord.la'
fi
AM_CONDITIONAL(SCREENSAVER, [test x$SCREENSAVER = xyes])
@@ -463,6 +481,8 @@ AC_DEFINE_UNQUOTED(COMPILEDDEFAULTFONTPATH, ["$FONTPATH"], [Default font path])
AC_DEFINE_UNQUOTED(XVENDORNAME,["$VENDOR_STRING"], [Vendor name])
AC_DEFINE_UNQUOTED(XORG_RELEASE, ["$VENDOR_RELEASE"], [Vendor release])
AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
+AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
+AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
dnl
dnl A bunch of configuration values which shouldn't be optional
@@ -514,6 +534,7 @@ MI_LIB='$(top_builddir)/mi/libmi.la'
MINIMI_LIB='$(top_builddir)/mi/libminimi.la'
MI_EXT_LIB='$(top_builddir)/mi/libmiext.la'
MI_INC='-I$(top_srcdir)/mi'
+FB_LIB='$(top_builddir)/fb/libfb.la'
FB_INC='-I$(top_srcdir)/fb'
DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
DAMAGE_INC='-I$(top_srcdir)/miext/damage'
@@ -531,8 +552,9 @@ 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"
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="$OS_LIB $DAMAGE_LIB $MINIMI_LIB $XKB_LIB $XI_LIB $DMX_EXTENSIONS"
+XDMX_LIBS="$FB_LIB $MI_LIB $XI_LIB $XKB_LIB $DAMAGE_LIB $DMX_EXTENSIONS $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"
@@ -575,6 +597,7 @@ test x$XORG = xyes && case $host_os in
esac
AC_SUBST([XORG_CORE_LIBS])
AC_SUBST([XORG_LIBS])
+AC_SUBST([XVFB_LIBS])
AC_SUBST([XWIN_LIBS])
AC_SUBST([EXTENSION_LIBS])
AC_SUBST([XDMX_LIBS])
@@ -732,9 +755,11 @@ hw/xfree86/xf1bpp/Makefile
hw/xfree86/xf4bpp/Makefile
hw/xfree86/xf8_16bpp/Makefile
hw/xfree86/xf8_32wid/Makefile
+hw/dmx/config/Makefile
hw/dmx/input/Makefile
hw/dmx/glxProxy/Makefile
hw/dmx/Makefile
+hw/vfb/Makefile
hw/xwin/Makefile
xorg-server.pc
])
diff --git a/hw/Makefile.am b/hw/Makefile.am
index 2a25ae2be..a015b93db 100644
--- a/hw/Makefile.am
+++ b/hw/Makefile.am
@@ -6,6 +6,10 @@ if XORG
XORG_SUBDIRS = xfree86
endif
+if XVFB
+XVFB_SUBDIRS = vfb
+endif
+
if XWIN
XWIN_SUBDIRS = xwin
endif
@@ -13,4 +17,5 @@ endif
SUBDIRS = \
$(XORG_SUBDIRS) \
$(XWIN_SUBDIRS) \
+ $(XVFB_SUBDIRS) \
$(DMX_SUBDIRS)
diff --git a/hw/dmx/Makefile.am b/hw/dmx/Makefile.am
index b387a9ffe..9dba2d7c4 100644
--- a/hw/dmx/Makefile.am
+++ b/hw/dmx/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = input
+SUBDIRS = input config
bin_PROGRAMS = Xdmx
if XINERAMA
@@ -30,55 +30,23 @@ Xdmx_SOURCES = dmxinit.c \
dmxstat.c \
dmxsync.c \
dmxextension.c \
- miinitext.c \
dmxpict.c \
- libc_wrapper.c \
+ $(top_srcdir)/fb/fbcmap.c \
+ $(top_srcdir)/Xext/dmx.c \
+ $(top_srcdir)/mi/miinitext.c \
$(GLX_SRCS)
-
#if COMPOSITE
#Xdmx_SOURCES += fakecw.c
#endif
-miinitext.c:
- echo "#include <config.h>" > $@
- echo "#undef HAVE_CONFIG_H" >> $@
- echo "#define DMXEXT" >> $@
- echo "#undef BEZIER " >> $@
- echo "#undef PEXEXT " >> $@
- echo "#undef MULTIBUFFER " >> $@
- echo "#undef XV " >> $@
- echo "#undef XIE " >> $@
- echo "#undef DBE " >> $@
- echo "#undef XF86VIDMODE " >> $@
- echo "#undef XF86MISC " >> $@
- echo "#undef XFreeXDGA " >> $@
- echo "#undef XF86DRI " >> $@
- echo "#undef MITSHM " >> $@
- echo "#undef TOGCUP " >> $@
- echo "#undef DPSEXT " >> $@
- echo "#undef MITMISC " >> $@
- echo "#undef SCREENSAVER " >> $@
- echo "#undef RANDR " >> $@
- echo "#undef XFIXES " >> $@
- echo "#undef DAMAGE " >> $@
- echo "#undef COMPOSITE " >> $@
- echo "#undef FONTCACHE " >> $@
- echo "#undef XFree86LOADER " >> $@
- echo "#include \"$(top_srcdir)/mi/miinitext.c\"" >> $@
-
-DISTCLEANFILES = miinitext.c libc_wrapper.c
-
-libc_wrapper.c:
- echo "#define SELF_CONTAINED_WRAPPER" > $@
- echo "#include \"$(top_srcdir)/hw/xorg/os-support/shared/libc_wrapper.c\"" >> $@
-
-
Xdmx_LDFLAGS = -rdynamic
-Xdmx_LDADD = $(XORG_CORE_LIBS) $(top_srcdir)/hw/xorg/os-support/@XORG_OS_SUBDIR@/lib@XORG_OS_SUBDIR@.a \
- $(XDMX_LIBS) $(GLX_LIBS) $(top_srcdir)/miext/shadow/.libs/libshadow.a $(top_srcdir)/fb/.libs/libfb.a \
- $(top_srcdir)/hw/xorg/dummylib/libdummy.a input/libdmxinput.a \
- config/libdmxconfig.a -lfl $(XDMCP_LIBS) @DMXMODULES_LIBS@ -lXi
-
-Xdmx_CFLAGS = @DMXMODULES_CFLAGS@
+Xdmx_LDADD = $(XORG_CORE_LIBS) \
+ $(XDMX_LIBS) \
+ $(GLX_LIBS) \
+ input/libdmxinput.a \
+ config/libdmxconfig.a \
+ @DMXMODULES_LIBS@
+
+Xdmx_CFLAGS = -DHAVE_DMX_CONFIG_H @DMXMODULES_CFLAGS@ -DXFree86Server
diff --git a/hw/dmx/config/Makefile.am b/hw/dmx/config/Makefile.am
new file mode 100644
index 000000000..2e8d756fd
--- /dev/null
+++ b/hw/dmx/config/Makefile.am
@@ -0,0 +1,13 @@
+noinst_LIBRARIES = libdmxconfig.a
+
+LIBSRCS = parser.y scanner.l dmxparse.c dmxprint.c dmxcompat.c dmxconfig.c
+
+parser.h: parser.c
+scanner.c: scanner.l parser.h
+
+CLEANFILES = parser.c parser.h scanner.c
+
+libdmxconfig_a_SOURCES = $(LIBSRCS)
+
+AM_CFLAGS = -I.. -DHAVE_DMX_CONFIG_H @DMXMODULES_CFLAGS@
+AM_YFLAGS = -d
diff --git a/hw/dmx/dmx-config.h b/hw/dmx/dmx-config.h
new file mode 100644
index 000000000..11e8fb8e5
--- /dev/null
+++ b/hw/dmx/dmx-config.h
@@ -0,0 +1,98 @@
+/*
+ * 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.
+ */
+
+/*
+ * Authors:
+ * Kevin E. Martin <kem@redhat.com>
+ *
+ */
+
+/** \file
+ * Provide configuration #define's and #undef's to build Xdmx in X.Org's
+ * modular source tree.
+ */
+
+#ifndef DMX_CONFIG_H
+#define DMX_CONFIG_H
+
+#include <dix-config.h>
+
+/*
+ * Note 1: This is a signed int that is printed as a decimal number.
+ * Since we want to make it human-interpretable, the fields are
+ * defined as:
+ * 2147483648
+ * AAbbyymmdd
+ * AA: major version 01-20
+ * bb: minor version 00-99
+ * yy: year 00-99 [See Note 2]
+ * mm: month 01-12
+ * dd: day 01-31
+ *
+ * Note 2: The default epoch for the year is 2000.
+ * To change the default epoch, change the DMX_VENDOR_RELEASE
+ * macro below, bumb the minor version number, and change
+ * xdpyinfo to key off the major/minor version to determine the
+ * new epoch. Remember to do this on January 1, 2100 and every
+ * 100 years thereafter.
+ */
+#define DMX_VENDOR_RELEASE(major,minor,year,month,day) \
+ ((major) * 100000000) + \
+ ((minor) * 1000000) + \
+ ((year-2000) * 10000) + \
+ ((month) * 100) + \
+ ((day) * 1)
+#define VENDOR_RELEASE DMX_VENDOR_RELEASE(1,2,2004,6,30)
+#define VENDOR_STRING "DMX Project"
+
+/* Enable the DMX extension */
+#define DMXEXT
+
+/* Disable the extensions that are not currently supported */
+#undef BEZIER
+#undef PEXEXT
+#undef MULTIBUFFER
+#undef XV
+#undef XIE
+#undef DBE
+#undef XF86VIDMODE
+#undef XF86MISC
+#undef XFreeXDGA
+#undef XF86DRI
+#undef MITSHM
+#undef TOGCUP
+#undef DPSEXT
+#undef MITMISC
+#undef SCREENSAVER
+#undef RANDR
+#undef XFIXES
+#undef DAMAGE
+#undef COMPOSITE
+#undef FONTCACHE
+#undef XFree86LOADER
+
+#endif /* DMX_CONFIG_H */
diff --git a/hw/dmx/input/Makefile.am b/hw/dmx/input/Makefile.am
index 7ba10ce44..eb94ac174 100644
--- a/hw/dmx/input/Makefile.am
+++ b/hw/dmx/input/Makefile.am
@@ -7,5 +7,13 @@ DMXSRCS = dmxinputinit.c dmxarg.c dmxsigio.c dmxevents.c \
dmxxinput.c dmxmotion.c dmxeq.c dmxmap.c
-libdmxinput_a_SOURCES = ChkNotMaskEv.c $(RAWSRCS) $(USBSRCS) $(DRVSRCS) $(DMXSRCS) $(LIBSRCS)
-AM_CFLAGS = -I..
+libdmxinput_a_SOURCES = ChkNotMaskEv.c \
+ $(RAWSRCS) \
+ $(USBSRCS) \
+ $(DRVSRCS) \
+ $(DMXSRCS) \
+ $(LIBSRCS)
+
+AM_CFLAGS = -I.. -I../../xfree86/common \
+ -DHAVE_DMX_CONFIG_H \
+ @DMXMODULES_CFLAGS@
diff --git a/hw/vfb/Makefile.am b/hw/vfb/Makefile.am
new file mode 100644
index 000000000..41564953e
--- /dev/null
+++ b/hw/vfb/Makefile.am
@@ -0,0 +1,22 @@
+bin_PROGRAMS = Xvfb
+
+SRCS = InitInput.c \
+ InitOutput.c \
+ $(top_srcdir)/Xext/dpmsstubs.c \
+ $(top_srcdir)/mi/miinitext.c \
+ $(top_srcdir)/fb/fbcmap.c
+
+Xvfb_SOURCES = $(SRCS)
+
+Xvfb_LDADD = $(XORG_CORE_LIBS) \
+ $(XVFB_LIBS) \
+ $(XSERVER_LIBS) \
+ $(EXTENSION_LIBS) \
+ $(XVFBMODULES_LIBS)
+
+Xvfb_LDFLAGS =
+
+AM_CFLAGS = -DHAVE_DIX_CONFIG_H \
+ -DNO_HW_ONLY_EXTS \
+ -DNO_MODULE_EXTS \
+ $(XVFBMODULES_CFLAGS)
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 28ef45e2a..5784785ef 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -6,6 +6,12 @@
/* Builder address */
#undef BUILDERADDR
+/* Operating System Name */
+#undef OSNAME
+
+/* Operating System Vendor */
+#undef OSVENDOR
+
/* Default font path */
#undef COMPILEDDEFAULTFONTPATH
@@ -217,7 +223,7 @@
#undef RANDR
/* Support Record extension */
-#undef RECORD
+#undef XRECORD
/* Support RENDER extension */
#undef RENDER
diff --git a/miext/shadow/Makefile.am b/miext/shadow/Makefile.am
index 1351bc702..5cde81181 100644
--- a/miext/shadow/Makefile.am
+++ b/miext/shadow/Makefile.am
@@ -1,4 +1,4 @@
-module_LTLIBRARIES = libshadow.la
+noinst_LTLIBRARIES = libshadow.la
AM_CFLAGS = $(DIX_CFLAGS)