[Xprint] Re: Newer version of the combined video+print server
from?
Roland Mainz
roland.mainz at nrubsig.org
Sat Mar 5 21:28:16 EST 2005
Roland Mainz wrote:
> > Roland - had you time to continue your work on the combined
> > ('unified') video+print server patch yet?
>
> Unfortunately no (except the integration of the fixes you send me) ...
> almost every minute of my spare free time was consumed by my duties as
> release manager of the X11R6.8.2 release (and then I was at the
> XDevconf+LinuxWorld in Boston) ...
Attached is a new version of the patch for testing. It deals with most
of the problems of the previous version except that there is no switch
to define a server mode yet (e.g. "video", "print", "unified").
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
-------------- next part --------------
Index: xc/config/cf/Imake.rules
===================================================================
RCS file: /cvs/xorg/xc/config/cf/Imake.rules,v
retrieving revision 1.8
diff -u -2 -0 -r1.8 Imake.rules
--- xc/config/cf/Imake.rules 1 Feb 2005 22:27:00 -0000 1.8
+++ xc/config/cf/Imake.rules 5 Mar 2005 20:12:50 -0000
@@ -3529,40 +3529,66 @@
#ifndef InstallDynamicModule
#define InstallDynamicModule(module,dest,subdir) @@\
AllTarget(module) @@\
LinkBuildModule(module,subdir) @@\
@@\
install:: module @@\
MakeDir($(DESTDIR)dest/subdir) @@\
$(INSTALL) -c $(INSTDATFLAGS) module $(DESTDIR)dest/subdir
#endif
#ifndef InstallDynamicNamedModule
#define InstallDynamicNamedModule(module,instname,dest,subdir) @@\
AllTarget(module) @@\
LinkBuildNamedModule(module,instname,subdir) @@\
@@\
install:: module @@\
MakeDir($(DESTDIR)dest/subdir) @@\
$(INSTALL) -c $(INSTDATFLAGS) module $(DESTDIR)dest/subdir/instname
#endif
+/* Shortcuts for installing driver module, one per class */
+#ifndef InstallVideoObjectModule
+#define InstallVideoObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,video)
+#endif
+#ifndef InstallPrintObjectModule
+#define InstallPrintObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,print)
+#endif
+#ifndef InstallInputObjectModule
+#define InstallInputObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,input)
+#endif
+#ifndef InstallExtensionsObjectModule
+#define InstallExtensionsObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,extensions)
+#endif
+#ifndef InstallFontsObjectModule
+#define InstallFontsObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,fonts)
+#endif
+#ifndef InstallMultimediaObjectModule
+#define InstallMultimediaObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,multimedia)
+#endif
+
#ifndef InstallObjectModule
#if !DoLoadableServer
#define InstallObjectModule(module,dest,subdir) /**/
#else
#if MakeDllModules
#define InstallObjectModule(module,dest,subdir) @@\
InstallDynamicModule(Concat(module,_drv.so),dest,subdir)
#else
#define InstallObjectModule(module,dest,subdir) @@\
InstallDynamicModule(Concat(module,_drv.o),dest,subdir)
#endif
#endif
#endif
#ifndef InstallLibraryModule
#if !DoLoadableServer
#define InstallLibraryModule(module,dest,subdir) /**/
#else
#if MakeDllModules
#define InstallLibraryModule(module,dest,subdir) @@\
Index: xc/programs/Xserver/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Imakefile,v
retrieving revision 1.28
diff -u -2 -0 -r1.28 Imakefile
--- xc/programs/Xserver/Imakefile 2 Feb 2005 14:26:24 -0000 1.28
+++ xc/programs/Xserver/Imakefile 5 Mar 2005 20:12:59 -0000
@@ -821,83 +821,82 @@
SetUIDServerTarget(Xorg,$(XF86SERVERSUBDIRS),$(XF86SERVEROBJS) $(SERVERDEFFILE), \
$(XF86SERVERLIBS),$(XF86SERVERSYSLIBS))
#if DoLoadableServer
ServerDriverSDKTarget(Xorg)
#endif
#ifndef ServerToInstall
#define ServerToInstall Xorg
#endif
#endif /* XorgServer */
#if defined(XprtServer) && XprtServer
XCOMM
XCOMM Print Server
XCOMM
MFBSUBDIR = mfb
CFB8SUBDIR = cfb
CFB32SUBDIR = cfb32
MIDAMAGEDIR = miext/damage
XPSUBDIRS = $(STDDIRS) $(MFBDIR) $(CFB8DIR) $(CFB32DIR) $(DEPDIRS) \
$(MIDAMAGEDIR)
+XPOBJS = Xprint/ddxInit.o Xprint/dpmsstubs.o Xprint/miinitext.o
#if PrintOnlyServer
-#if BuildDPMS
-XPDPMSSTUBOBJS = Xprint/dpmsstubs.o
-#endif
-XPOBJS = Xprint/ddxInit.o Xprint/miinitext.o $(XPDPMSSTUBOBJS)
XPLIBS = PreFbLibs $(XPDDXLIBS) $(XPDDXFBLIBS) PostFbLibs
#else
-XPOBJS = Xprint/ddxInit.o
XPLIBS = PreFbLibs PostFbLibs
#endif
#if (defined(SunArchitecture) || defined(SparcArchitecture)) && \
defined(SVR4Architecture)
XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS) -lw
#else
XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS)
#endif
#if HasParallelMake
MakeMutex($(XPSUBDIRS) $(XPOBJS) $(XPLIBS) $(XPSYSLIBS))
#endif
#if ForceServerRemake
$(XPOBJS) $(XPLIBS) $(XPSYSLIBS):: $(XPSUBDIRS)
@if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi
#endif
ServerTarget(Xprt,$(XPSUBDIRS),$(XPOBJS), \
$(LIBCWRAPPER) $(XPLIBS) $(LOADABLEEXTS),$(XPSYSLIBS))
#endif /* XprtServer */
#if defined(XnestServer) && XnestServer
XCOMM
XCOMM Server with Xlib-based ddx
XCOMM
#ifndef Win32Architecture
XNESTDDXDIR = hw/xnest
#else
XNESTDDXDIR = hw
#endif
+#if BuildDPMS
+XNESTDPMSSTUBOBJS = $(XNESTDDXDIR)/dpmsstubs.o
+#endif
XNESTDIRS = $(STDDIRS) $(XNESTDDXDIR) $(DEPDIRS)
#if !defined(LynxOSArchitecture) && \
!defined(Win32Architecture) && \
!defined(QNX4Architecture)
-XNESTOBJS = hw/xnest/miinitext.o
+XNESTOBJS = hw/xnest/miinitext.o $(XNESTDPMSSTUBOBJS)
#else
-XNESTOBJS = hw/xnest/miinitext.o dix/main.o
+XNESTOBJS = hw/xnest/miinitext.o dix/main.o $(XNESTDPMSSTUBOBJS)
#endif
XNEST = hw/xnest/LibraryTargetName(xnest)
XNESTLIBS = PreFbLibs $(XNEST) NoMfbPostFbLibs $(XNEST)
XNESTSYSLIBS = $(FONTLIBS) $(LDPRELIBS) $(XLIB) $(SYSLIBS)
#if HasParallelMake
MakeMutex($(XNESTDIRS) $(XNESTOBJS) $(XNESTLIBS) $(XNESTSYSLIBS))
#endif
#if ForceServerRemake
$(XNESTOBJS) $(XNESTLIBS) $(XNESTSYSLIBS):: $(XNESTDIRS)
@if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi
#endif
ServerTarget(Xnest,$(XNESTDIRS),$(XNESTOBJS) $(XNESTDEFFILE), \
$(LIBCWRAPPER) $(XNESTLIBS) $(LOADABLEEXTS),$(XNESTSYSLIBS))
#endif /* XnestServer */
#if defined(XnonServer) && XnonServer
XCOMM
XCOMM non server, just compile sources for build test
XCOMM
Index: xc/programs/Xserver/Xprint/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Imakefile,v
retrieving revision 1.5
diff -u -2 -0 -r1.5 Imakefile
--- xc/programs/Xserver/Xprint/Imakefile 26 Nov 2004 09:00:08 -0000 1.5
+++ xc/programs/Xserver/Xprint/Imakefile 5 Mar 2005 20:12:59 -0000
@@ -13,52 +13,53 @@
#ifndef XpPostScriptDDX
#define XpPostScriptDDX YES
#endif
SRCS1 = Init.c Quarks.c spooler.c attributes.c Util.c mediaSizes.c \
Oid.c AttrValid.c
OBJS1 = Init.o Quarks.o spooler.o attributes.o Util.o mediaSizes.o \
Oid.o AttrValid.o
#ifdef OS2Architecture
SRCS_OS2 = os2_stubs.c
OBJS_OS2 = os2_stubs.o
#endif
#if XprtServer
#if PrintOnlyServer || defined(PrintServerExtensions)
#if PrintOnlyServer
PO_DEFINES = -DPRINT_ONLY_SERVER
#endif
+#endif
#ifdef PrintServerExtensions
XPEXT_DEFINES = PrintServerExtensions
#else
XPEXT_DEFINES = $(EXT_DEFINES)
#endif
-SRCS3 = miinitext.c dpmsstubs.c
-OBJS3 = miinitext.o dpmsstubs.o
-#endif
SRCS2 = ddxInit.c
OBJS2 = ddxInit.o
#endif
+SRCS3 = miinitext.c dpmsstubs.c
+OBJS3 = miinitext.o dpmsstubs.o
+
SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS_OS2)
OBJS = $(OBJS1) $(OBJS_OS2)
#if XpRasterDDX
RASTDIR = raster
RASTDEF = -DXPRASTERDDX
#endif
#if XpColorPclDDX
PCLDIR = pcl
PCLDEF = -DXPPCLDDX
#endif
#if XpMonoPclDDX
MPCLDIR = pcl-mono
MPCLDEF = -DXPMONOPCLDDX
#endif
#if XpPostScriptDDX
PSDIR = ps
PSDEF = -DXPPSDDX
#endif
@@ -79,56 +80,54 @@
-I$(EXTINCSRC) -I$(FONTINCSRC) -I$(XLIBSRC)
LINTLIBS = $(TOP)/server/dix/llib-ldix.ln $(TOP)/server/os/llib-los.ln \
$(TOP)/server/ddx/mfb/llib-lmfb.ln \
$(TOP)/server/ddx/mi/llib-lmi.ln \
$(TOP)/server/ddx/cfb/llib-lcfb.ln
DEFINES = -DXPRINTDIR=\"$(XPRINTDIR)\" $(RASTDEF) $(PCLDEF) $(MPCLDEF) \
$(PSDEF) $(MKTMP_DEFINES) -UXFree86LOADER -D_XP_PRINT_SERVER_
/* Go ahead: Call me paranoid ... */
Makefiles::
RemoveFiles(Quark.c Xlcint.h Xresource.h Xrm.c XrmI.h)
LinkSourceFile(Quarks.c,$(XLIBSRC))
NormalLibraryObjectRule()
#if XprtServer
-all:: $(OBJS2) $(OBJS3) $(OBJS_OS2)
+all:: $(OBJS2) $(OBJS_OS2) $(OBJS3)
#endif
NormalLibraryTarget(printer,$(OBJS))
NormalLintTarget($(SRCS))
SpecialCObjectRule(ddxInit,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(EXT_DEFINES))
-#if XprtServer && (PrintOnlyServer || defined(PrintServerExtensions))
+#if XprtServer
LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
-SpecialCObjectRule(miinitext,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT)
-#if PrintOnlyServer
+SpecialCObjectRule(miinitext,$(ICONFIGFILES), -DPRINT_ONLY_SERVER $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT)
LinkSourceFile(dpmsstubs.c,$(SERVERSRC)/Xext)
LinkSourceFile(dpmsproc.h,$(SERVERSRC)/Xext)
SpecialCObjectRule(dpmsstubs,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT)
#endif
-#endif
#ifdef OS2Architecture
LinkSourceFile(os2_stubs.c,../hw/xfree86/os-support/os2)
SpecialCObjectRule(os2_stubs,$(ICONFIGFILES),-DOS2NULLSELECT)
#endif
#ifdef IHaveSubdirs
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
MakeLintLibSubdirs($(SUBDIRS))
#endif
DependTarget()
InstallManPage(Xprt,$(MANDIR))
#ifdef HasDocBookTools
all:: Xprt.man Xprt.html
ConvertDocBookToManPage(Xprt.sgml, Xprt.man)
Index: xc/programs/Xserver/Xprint/Init.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Init.c,v
retrieving revision 1.9
diff -u -2 -0 -r1.9 Init.c
--- xc/programs/Xserver/Xprint/Init.c 4 Dec 2004 00:42:50 -0000 1.9
+++ xc/programs/Xserver/Xprint/Init.c 5 Mar 2005 20:12:59 -0000
@@ -285,40 +285,52 @@
static int printScreenPrivIndex,
printWindowPrivIndex,
printGCPrivIndex;
static unsigned long printGeneration = 0;
static char *configFileName = (char *)NULL;
static Bool freeDefaultFontPath = FALSE;
static char *origFontPath = (char *)NULL;
static Bool xprintInitGlobalsCalled = FALSE;
/*
* This function is responsible for doing initalisation of any global
* variables at an very early point of server startup (even before
* |ProcessCommandLine()|.
*/
void XprintInitGlobals(void)
{
extern char dispatchExceptionAtReset; /* defined in Xserver/dix/dispatch.c */
xprintInitGlobalsCalled = TRUE;
+#ifdef DAMAGE
+ /* Disable DAMAGE extension for now as it does not work with
+ * the Postscript DDX yet (see
+ * https://bugs.freedesktop.org/show_bug.cgi?id=1660) ...
+ * (you can enable the DAMAGE extension explicitly via
+ * % X +extension DAMAGE ... #) ;-( */
+ {
+ extern Bool noDamageExtension;
+ noDamageExtension = TRUE;
+ }
+#endif /* DAMAGE */
+
#ifdef SMART_SCHEDULE
/* Somehow the XF86 "smart scheduler" completely kills the Xprint DDX
* (see http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=467
* ("Xfree86's "smart scheduler" breaks Xprt") */
SmartScheduleDisable = TRUE;
#endif /* SMART_SCHEDULE */
/* Disable internal screensaver for Xprint (workaround for
* http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=567 ("Xorg
* Xprt starts to consume 100% CPU when being idle for some time")) */
defaultScreenSaverTime = 0;
/* Ensure that the maximum request size for the BIGREQUESTS extension
* is at least 8MB (see
* http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=622 - "RFE:
* Xprt's default BIGREQUESTS extension buffer size should be 8MB")
*/
maxBigRequestSize = (8*1048576)-1;
/* Xprt should not reset by default when the last client exists
Index: xc/programs/Xserver/Xprint/ddxInit.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/ddxInit.c,v
retrieving revision 1.4
diff -u -2 -0 -r1.4 ddxInit.c
--- xc/programs/Xserver/Xprint/ddxInit.c 27 Jul 2004 20:26:47 -0000 1.4
+++ xc/programs/Xserver/Xprint/ddxInit.c 5 Mar 2005 20:12:59 -0000
@@ -64,43 +64,40 @@
*
*-----------------------------------------------------------------------
*/
void
InitOutput(
ScreenInfo *pScreenInfo,
int argc,
char **argv)
{
int i;
pScreenInfo->imageByteOrder = IMAGE_BYTE_ORDER;
pScreenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
pScreenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD;
pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
pScreenInfo->numPixmapFormats = 0; /* get them in PrinterInitOutput */
screenInfo.numVideoScreens = 0;
-#ifdef PRINT_ONLY_SERVER
- PrinterInitOutput(pScreenInfo, argc, argv);
-#endif
}
static void
BellProc(
int volume,
DeviceIntPtr pDev)
{
return;
}
static void
KeyControlProc(
DeviceIntPtr pDev,
KeybdCtrl *ctrl)
{
return;
}
static KeySym printKeyMap[256];
static CARD8 printModMap[256];
@@ -248,66 +245,57 @@
X_GETTIMEOFDAY(&tp);
return(tp.tv_sec * 1000) + (tp.tv_usec / 1000);
}
#endif
/* ddxInitGlobals - called by |InitGlobals| from os/util.c */
void ddxInitGlobals(void)
{
XprintInitGlobals();
}
/****************************************
* ddxUseMsg()
*
* Called my usemsg from os/utils/c
*
*****************************************/
void ddxUseMsg(void)
{
-/* Enable |XprintUseMsg()| only if |XprintOptions()| is called
- * by |ddxProcessArgument|, too (see below...) */
-#ifdef PRINT_ONLY_SERVER
- XprintUseMsg();
-#endif /* PRINT_ONLY_SERVER */
}
void AbortDDX (void)
{
}
void ddxGiveUp(void) /* Called by GiveUp() */
{
}
int
ddxProcessArgument (
int argc,
char *argv[],
int i)
{
-#ifdef PRINT_ONLY_SERVER
- return XprintOptions(argc, argv, i) - i;
-#else
return(0);
-#endif
}
#ifdef XINPUT
#include "XI.h"
#include "XIproto.h"
#include "XIstubs.h"
extern int BadDevice;
int
ChangePointerDevice (
DeviceIntPtr old_dev,
DeviceIntPtr new_dev,
unsigned char x,
unsigned char y)
{
return (BadDevice);
}
Index: xc/programs/Xserver/dix/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/dix/Imakefile,v
retrieving revision 1.4
diff -u -2 -0 -r1.4 Imakefile
--- xc/programs/Xserver/dix/Imakefile 30 Oct 2004 01:41:45 -0000 1.4
+++ xc/programs/Xserver/dix/Imakefile 5 Mar 2005 20:12:59 -0000
@@ -10,41 +10,41 @@
#if PrintOnlyServer
XPSRC = xpstubs.c
XPOBJ = xpstubs.o
#endif
#if !HasFfs
FFS_SRC = ffs.c
FFS_OBJ = ffs.o
#endif
SRCS = atom.c colormap.c cursor.c devices.c dispatch.c dixutils.c events.c \
extension.c gc.c globals.c glyphcurs.c grabs.c \
main.c property.c resource.c swaprep.c swapreq.c \
tables.c window.c initatoms.c dixfonts.c privates.c pixmap.c $(FFS_SRC)
OBJS = atom.o colormap.o cursor.o devices.o dispatch.o dixutils.o events.o \
extension.o gc.o globals.o glyphcurs.o grabs.o \
main.o property.o resource.o swaprep.o swapreq.o \
tables.o window.o initatoms.o dixfonts.o privates.o pixmap.o $(FFS_OBJ)
INCLUDES = -I../include -I$(XINCLUDESRC) -I$(FONTINCSRC) -I$(EXTINCSRC) \
- -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx
+ -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx -I../Xprint
LINTLIBS = ../os/llib-los.ln
/*
* The following configuration parameters may be set in the appropriate
* .macros files or site.def in the directory util/imake.includes/:
*
* DefaultFontPath COMPILEDDEFAULTFONTPATH
* DefaultRGBDatabase RGB_DB
*
* The sample util/imake.includes/Imake.tmpl will provide generic defaults.
* The values in site.h are simply a last line of defense and should not be
* changed.
*/
#ifdef DefaultFontPath
DEFAULTFONTPATH = DefaultFontPath
SITE_FONT_PATH = -DCOMPILEDDEFAULTFONTPATH=\"$(DEFAULTFONTPATH)\"
#endif
#ifdef DefaultRGBDatabase
Index: xc/programs/Xserver/dix/main.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/dix/main.c,v
retrieving revision 1.4
diff -u -2 -0 -r1.4 main.c
--- xc/programs/Xserver/dix/main.c 18 Sep 2004 23:18:35 -0000 1.4
+++ xc/programs/Xserver/dix/main.c 5 Mar 2005 20:13:00 -0000
@@ -235,40 +235,41 @@
~0, ~0, ~0, ~0,
~0, ~0, ~0, ~0,
~0, ~0, ~0, ~0,
3 /* 64 bits per scanline pad unit */
};
#ifndef MIN
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#endif
int
main(int argc, char *argv[], char *envp[])
{
int i, j, k, error;
char *xauthfile;
HWEventQueueType alwaysCheckForInput[2];
display = "0";
InitGlobals();
+ XprintInitGlobals();
/* Quartz support on Mac OS X requires that the Cocoa event loop be in
* the main thread. This allows the X server main to be called again
* from another thread. */
#if defined(__DARWIN__) && defined(DARWIN_WITH_QUARTZ)
DarwinHandleGUI(argc, argv, envp);
#endif
/* Notice if we're restarted. Probably this is because we jumped through
* an uninitialized pointer */
if (restart)
FatalError("server restarted. Jumped through uninitialized pointer?\n");
else
restart = 1;
CheckUserParameters(argc, argv, envp);
CheckUserAuthorization();
#ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS
@@ -346,47 +347,46 @@
PixmapWidthPaddingInfo[1].padPixelsLog2 = answer[j][k];
j = indexForBitsPerPixel[8]; /* bits per byte */
PixmapWidthPaddingInfo[1].padBytesLog2 = answer[j][k];
PixmapWidthPaddingInfo[1].bitsPerPixel = 1;
InitAtoms();
InitEvents();
InitGlyphCaching();
ResetClientPrivates();
ResetScreenPrivates();
ResetWindowPrivates();
ResetGCPrivates();
#ifdef PIXPRIV
ResetPixmapPrivates();
#endif
ResetColormapPrivates();
ResetFontPrivateIndex();
InitCallbackManager();
InitVisualWrap();
InitOutput(&screenInfo, argc, argv);
+ PrinterInitOutput(&screenInfo, argc, argv);
+
if (screenInfo.numScreens < 1)
FatalError("no screens found");
if (screenInfo.numVideoScreens < 0)
screenInfo.numVideoScreens = screenInfo.numScreens;
-#ifdef XPRINT
- PrinterInitOutput(&screenInfo, argc, argv);
-#endif
InitExtensions(argc, argv);
if (!InitClientPrivates(serverClient))
FatalError("failed to allocate serverClient devprivates");
for (i = 0; i < screenInfo.numScreens; i++)
{
ScreenPtr pScreen = screenInfo.screens[i];
if (!CreateScratchPixmapsForScreen(i))
FatalError("failed to create scratch pixmaps");
if (pScreen->CreateScreenResources &&
!(*pScreen->CreateScreenResources)(pScreen))
FatalError("failed to create screen resources");
if (!CreateGCperDepth(i))
FatalError("failed to create scratch GCs");
if (!CreateDefaultStipple(i))
FatalError("failed to create default stipple");
if (!CreateRootWindow(pScreen))
FatalError("failed to create root window");
}
InitInput(argc, argv);
if (InitAndStartDevices() != Success)
Index: xc/programs/Xserver/dix/xpstubs.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/dix/xpstubs.c,v
retrieving revision 1.2
diff -u -2 -0 -r1.2 xpstubs.c
--- xc/programs/Xserver/dix/xpstubs.c 23 Apr 2004 19:04:44 -0000 1.2
+++ xc/programs/Xserver/dix/xpstubs.c 5 Mar 2005 20:13:00 -0000
@@ -12,43 +12,59 @@
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 OPEN GROUP 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.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
*/
/* $Xorg: xpstubs.c,v 1.5 2001/03/08 17:52:08 pookie Exp $ */
#include "misc.h"
#include "font.h"
+#include "DiPrint.h"
Bool
XpClientIsBitmapClient(
ClientPtr client)
{
return TRUE;
}
Bool
XpClientIsPrintClient(
ClientPtr client,
FontPathElementPtr fpe)
{
return FALSE;
}
int
XprintOptions(
int argc,
char **argv,
int i)
{
return i;
}
+void
+PrinterInitOutput(
+ ScreenInfo *pScreenInfo,
+ int argc,
+ char **argv)
+{
+}
+void XprintUseMsg(void)
+{
+}
+void XprintInitGlobals(void)
+{
+}
+
+
Index: xc/programs/Xserver/hw/xfree86/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/Imakefile,v
retrieving revision 1.4
diff -u -2 -0 -r1.4 Imakefile
--- xc/programs/Xserver/hw/xfree86/Imakefile 17 Sep 2004 03:04:50 -0000 1.4
+++ xc/programs/Xserver/hw/xfree86/Imakefile 5 Mar 2005 20:13:03 -0000
@@ -204,22 +204,33 @@
-DNETBSDNEWMOUSEDEV=$(NETBSDNEWMOUSEDEV) \
-DLINUXMOUSEDEV=$(LINUXMOUSEDEV) \
-DMANPAGE=$(MANPAGE) '-DMODULEPATH="$(MODULEDIR)"', \
$(ICONFIGFILES))
InstallDriverSDKNonExecFile($(XORGCONFIG),$(DRIVERSDKDIR))
InstallDriverSDKNonExecFile($(XF98CONFIG),$(DRIVERSDKDIR))
EXTRAMANDEFS=-D__logdir__=$(LOGDIRECTORY)
InstallManPage(Xorg,$(MANDIR))
InstallGenManPage(xorg.conf,$(FILEMANDIR),$(FILEMANSUFFIX))
#if 0
InstallNamedNonExec($(XORGCONFIG),XF86Config.eg,$(LIBDIR))
InstallNamedNonExec($(XF98CONFIG),XF86Config.98,$(LIBDIR))
#endif
InstallNamedNonExec(Options,Options,$(LIBDIR))
InstallDriverSDKNamedNonExec($(XORGCONFIG),XF86Config.eg,$(DRIVERSDKDIR))
+XCOMM make sure all neccesary module dirs exist to avoid breaking
+XCOMM the installation process on some platforms
+InstallDirectory($(DESTDIR)$(MODULEDIR)/video)
+InstallDirectory($(DESTDIR)$(MODULEDIR)/print)
+InstallCreateLink($(MODULEDIR),video,drivers)
+InstallDirectory($(DESTDIR)$(MODULEDIR)/input)
+InstallDirectory($(DESTDIR)$(MODULEDIR)/multimedia)
+InstallDirectory($(DESTDIR)$(MODULEDIR)/extensions)
+InstallDirectory($(DESTDIR)$(MODULEDIR)/fonts)
+InstallDirectory($(DESTDIR)$(MODULEDIR)/internal)
+
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
Index: xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile,v
retrieving revision 1.3
diff -u -2 -0 -r1.3 Imakefile
--- xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile 24 Sep 2004 00:07:46 -0000 1.3
+++ xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile 5 Mar 2005 20:13:03 -0000
@@ -17,41 +17,41 @@
INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86OSSRC) \
-I$(XF86SRC)/vgafb -I$(XF86SRC)/vgahw -I$(SERVERSRC)/include \
-I$(SERVERSRC)/mi -I$(SERVERSRC)/fb -I$(SERVERSRC)/mfb \
-I$(SERVERSRC)/miext/shadow \
-I$(XINCLUDESRC) -I$(XF86SRC)/xaa -I$(FONTINCSRC) \
-I$(XF86SRC)/ramdac -I$(XF86SRC)/rac -I$(XF86SRC)/ddc \
-I$(XF86SRC)/i2c -I$(XF86SRC)/shadowfb \
-I$(SERVERSRC)/Xext -I$(EXTINCSRC) \
-I$(XF86SRC)/int10 -I$(XF86SRC)/vbe -I$(SERVERSRC)/render
#endif
#if MakeHasPosixVariableSubstitutions
SubdirLibraryRule($(OBJS))
#endif
ModuleObjectRule()
ObjectModuleTarget(neomagic,$(OBJS))
-InstallObjectModule(neomagic,$(MODULEDIR),drivers)
+InstallVideoObjectModule(neomagic,$(MODULEDIR))
#if !defined(XF86DriverSDK)
InstallModuleManPage(neomagic)
#endif
DependTarget()
InstallDriverSDKNonExecFile(Imakefile,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo.h,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_2070.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_2090.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_2097.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_2200.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_bank.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_cursor.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_dga.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_driver.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_i2c.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_shadow.c,$(DRIVERSDKDIR)/drivers/neomagic)
InstallDriverSDKNonExecFile(neo_macros.h,$(DRIVERSDKDIR)/drivers/neomagic)
Index: xc/programs/Xserver/hw/xfree86/loader/loadmod.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/loader/loadmod.c,v
retrieving revision 1.2
diff -u -2 -0 -r1.2 loadmod.c
--- xc/programs/Xserver/hw/xfree86/loader/loadmod.c 23 Apr 2004 19:54:06 -0000 1.2
+++ xc/programs/Xserver/hw/xfree86/loader/loadmod.c 5 Mar 2005 20:13:04 -0000
@@ -187,41 +187,43 @@
}
static void
FreePathList(char **pathlist)
{
if (pathlist && pathlist != defaultPathList)
FreeStringList(pathlist);
}
void
LoaderSetPath(const char *path)
{
if (!path)
return;
defaultPathList = InitPathList(path);
}
/* Standard set of module subdirectories to search, in order of preference */
static const char *stdSubdirs[] = {
- "drivers/",
+ "video/",
+ "print/",
+ "drivers/", /* depreciated, use "video/" or "print/" instead */
"input/",
"multimedia/",
"extensions/",
"fonts/",
"internal/",
"",
NULL
};
/*
* Standard set of module name patterns to check, in order of preference
* These are regular expressions (suitable for use with POSIX regex(3)).
*/
static PatternRec stdPatterns[] = {
{"^lib(.*)\\.so$",},
{"^lib(.*)\\.a$",},
{"(.*)_drv\\.so$",},
{"(.*)_drv\\.o$",},
{"(.*)\\.so$",},
{"(.*)\\.a$",},
Index: xc/programs/Xserver/hw/xnest/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xnest/Imakefile,v
retrieving revision 1.2
diff -u -2 -0 -r1.2 Imakefile
--- xc/programs/Xserver/hw/xnest/Imakefile 23 Apr 2004 19:54:21 -0000 1.2
+++ xc/programs/Xserver/hw/xnest/Imakefile 5 Mar 2005 20:13:04 -0000
@@ -1,29 +1,34 @@
XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:53:28 cpqbld Exp $
XCOMM $XFree86: xc/programs/Xserver/hw/xnest/Imakefile,v 3.28 2003/10/02 13:30:08 eich Exp $
#include <Server.tmpl>
+#if BuildDPMS
+DPMSSRC = dpmsstubs.c
+DPMSOBJS = dpmsstubs.o
+#endif
+
#ifdef OS2Architecture
SRCS1 = os2Stub.c
OBJS1 = os2Stub.o
#endif
SRCS = Args.c \
Color.c \
Cursor.c \
Display.c \
Events.c \
Font.c \
GC.c \
GCOps.c \
GetTime.c \
Handlers.c \
Init.c \
Keyboard.c \
Pixmap.c \
Pointer.c \
Screen.c \
@@ -47,34 +52,39 @@
Keyboard.o \
Pixmap.o \
Pointer.o \
Screen.o \
TestExt.o \
Visual.o \
Window.o \
stubs.o \
miinitext.o $(OBJS1)
INCLUDES = -I. -I$(XBUILDINCDIR) -I$(FONTINCSRC) \
-I../../mi -I../../include -I../../os \
-I$(EXTINCSRC) -I$(XINCLUDESRC) -I$(LIBSRC) -I$(SERVERSRC)/Xext
DEFINES = $(OS_DEFINES) $(EXT_DEFINES) -DNO_HW_ONLY_EXTS \
-UXFree86LOADER -UMITSHM $(XKBDEFRULESDEFS)
XKB_DEFINES = -DXKB_BASE_DIRECTORY=\"$(LIBDIR)/xkb/\"
-all:: $(OBJS)
+all:: $(OBJS) $(DPMSOBJS)
LinkSourceFile(stubs.c,$(SERVERSRC)/Xi)
SpecialCObjectRule(Init,$(ICONFIGFILES),$(_NOOP_))
LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
SpecialCObjectRule(miinitext,$(ICONFIGFILES),-UDPMSExtension)
SpecialCObjectRule(Keyboard,$(ICONFIGFILES),$(XKB_DEFINES))
+#if BuildDPMS
+LinkSourceFile(dpmsstubs.c,$(SERVERSRC)/Xext)
+SpecialCObjectRule(dpmsstubs,$(ICONFIGFILES),$(EXT_DEFINES))
+#endif
+
NormalLibraryObjectRule()
NormalLibraryTarget(xnest,$(OBJS))
InstallManPage(Xnest,$(MANDIR))
DependTarget()
Index: xc/programs/Xserver/hw/xnest/Init.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xnest/Init.c,v
retrieving revision 1.3
diff -u -2 -0 -r1.3 Init.c
--- xc/programs/Xserver/hw/xnest/Init.c 21 Jun 2004 13:40:25 -0000 1.3
+++ xc/programs/Xserver/hw/xnest/Init.c 5 Mar 2005 20:13:04 -0000
@@ -143,45 +143,20 @@
void OsVendorInit()
{
return;
}
void OsVendorFatalError()
{
return;
}
void ddxBeforeReset(void)
{
return;
}
/* this is just to get the server to link on AIX */
#ifdef AIXV3
int SelectWaitTime = 10000; /* usec */
#endif
-#ifdef DPMSExtension
-/**************************************************************
- * DPMSSet(), DPMSGet(), DPMSSupported()
- *
- * stubs
- *
- ***************************************************************/
-
-void
-DPMSSet(int level)
-{
-}
-
-int
-DPMSGet(int *level)
-{
- return -1;
-}
-
-Bool
-DPMSSupported()
-{
- return FALSE;
-}
-#endif
Index: xc/programs/Xserver/os/utils.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/os/utils.c,v
retrieving revision 1.11
diff -u -2 -0 -r1.11 utils.c
--- xc/programs/Xserver/os/utils.c 25 Nov 2004 12:48:21 -0000 1.11
+++ xc/programs/Xserver/os/utils.c 5 Mar 2005 20:13:05 -0000
@@ -636,40 +636,43 @@
#endif
#ifndef NOLOGOHACK
ErrorF("-logo enable logo in screen saver\n");
ErrorF("nologo disable logo in screen saver\n");
#endif
ErrorF("-nolisten string don't listen on protocol\n");
ErrorF("-noreset don't reset after last client exists\n");
ErrorF("-reset reset after last client exists\n");
ErrorF("-p # screen-saver pattern duration (minutes)\n");
ErrorF("-pn accept failure to listen on all ports\n");
ErrorF("-nopn reject failure to listen on all ports\n");
ErrorF("-r turns off auto-repeat\n");
ErrorF("r turns on auto-repeat \n");
#ifdef RENDER
ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
#endif
ErrorF("-s # screen-saver timeout (minutes)\n");
#ifdef XCSECURITY
ErrorF("-sp file security policy file\n");
#endif
+#ifdef XPRINT
+ XprintUseMsg();
+#endif
ErrorF("-su disable any save under support\n");
ErrorF("-t # mouse threshold (pixels)\n");
ErrorF("-terminate terminate at server reset\n");
ErrorF("-to # connection time out\n");
ErrorF("-tst disable testing extensions\n");
ErrorF("ttyxx server started from init on /dev/ttyxx\n");
ErrorF("v video blanking for screen-saver\n");
ErrorF("-v screen-saver without video blanking\n");
ErrorF("-wm WhenMapped default backing-store\n");
ErrorF("-x string loads named extension at init time \n");
ErrorF("-maxbigreqsize set maximal bigrequest size \n");
#ifdef PANORAMIX
ErrorF("+xinerama Enable XINERAMA extension\n");
ErrorF("-xinerama Disable XINERAMA extension\n");
#endif
#ifdef SMART_SCHEDULE
ErrorF("-dumbSched Disable smart scheduling, enable old behavior\n");
ErrorF("-schedInterval int Set scheduler interval in msec\n");
#endif
ErrorF("+extension name Enable extension\n");
More information about the Xprint
mailing list