(file) Return to Imakefile CVS log (file) (dir) Up to [XFree86 CVS] / xc / programs / Xserver / Xprint

File: [XFree86 CVS] / xc / programs / Xserver / Xprint / Imakefile (download)
Revision: 1.24, Sun Feb 19 15:51:17 2006 UTC (7 years, 3 months ago) by tsi
Branch: MAIN
CVS Tags: xf-4_6_99_4, xf-4_6_99_3, xf-4_6_99_2, xf-4_6_99_1, xf-4_6_0, xf-4_6-branch, xf-4_5_99_904, xf-4_5_99_903, xf-4_5_99_902, xf-4_5_99_901, xf-4_5_99_22
Changes since 1.23: +78 -45 lines
 217. A rework of the way extension support is built into servers to allow for
      servers with different sets of extensions in the same build.  This starts
      with an idea introduced in David Dawes's TinyX work, and extends it to
      also apply to the Xprt, Xnest, Xvfb, Xdmx and Xsun* servers.  The changes
      include:
      - Add, as a comment, a definition for what makes an extension pervasive.
      - TOGCUP is not a pervasive extension, but XSYNC, BIGREQS and XRES are.
      - Consolidate #define's for the Xv, XvMC and XRES extensions.
      - Flip, in favour of the majority case, MITSHM's default decision WRT
        whether or not a framebuffer stores pixmap data in the server's virtual
        address space.  MI is now independent of MITSHM and MITSHM is no longer
        a pervasive extension.
      - Add a DIX helper to determine whether Xinerama is active and use it
        instead of #ifdef'ed code in all loadable modules.  Re-implement, as
        a screen wrapper, Xinerama's PaintWindow*() hacks.  Move down to DIX
        Xinerama's only MI hook.  Both MI and loadable module objects are now
        independent of Xinerama.
      - Add more XCSECURITY-related DIX helpers.  Loadable module objects that
        provide their own extensions (e.g. apm) are now independent of the core
        binary's support for XCSECURITY.
      - Extend DBE to allow for front and back buffer revalidations (to be used
        in future changes to restore the only existing example of DBE hardware
        acceleration after converting the sunffb driver to fb, XAA & Render).
        This is the change that chronologically started all this.
      - Separate Xv and XvMC extensions more cleanly.
      - Move Xserver/*/tiny directories under Xserver/hw/tinyx.
      - Fix !PrintOnlyServer builds.
      - Clean up Xserver/Imakefile.
      - Remove remaining traces of Xdec* servers.
      - Fix parallel make bug in Xserver/Imakefile caused by unintentional
        symbol re-use.
      - Accomodate XWin more cleanly by not "skipping" over Xserver/hw.
      - Remove all extension stub code (no longer needed).
      `make World` is required to correctly build these changes.  In fact, I
      recommend staring from a fresh checkout.  These changes are bundled as
      one commit due to module versioning considerations.  (Marc La France)

XCOMM $XFree86: xc/programs/Xserver/Xprint/Imakefile,v 1.23tsi Exp $

#include <Server.tmpl>

#define IHaveSubdirs

SRCS1 = Init.c Quarks.c attributes.c Util.c mediaSizes.c Oid.c AttrValid.c

OBJS1 = Init.o Quarks.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 defined(XprtServer) && XprtServer

#undef  IHaveSubdirs
#define IHaveSubdirs

SRCS2 = ddxInit.c miinitext.c
OBJS2 = ddxInit.o miinitext.o

#if BuildRender
RENDERDIRS = render
#endif

#if BuildRandR
RANDRDIRS = randr
#endif

#if BuildRECORD
RECORDDIRS = record
#endif

#if BuildDBE
DBEDIRS = dbe
#endif

#if BuildXTrap
XTRAPDIRS = XTrap
#endif

 XPSUBDIRS = dix os Xext \
	     $(RENDERDIRS) $(RANDRDIRS) $(RECORDDIRS) $(DBEDIRS) $(XTRAPDIRS)

#endif

#if XpRasterDDX

#undef  IHaveSubdirs
#define IHaveSubdirs

RASTDIR = raster
RASTDEF = -DXPRASTERDDX

#endif

#if XpColorPclDDX

#undef  IHaveSubdirs
#define IHaveSubdirs

PCLDIR = pcl
PCLDEF = -DXPPCLDDX

#endif

#if XpMonoPclDDX

#undef  IHaveSubdirs
#define IHaveSubdirs

MPCLDIR = pcl-mono
MPCLDEF = -DXPMONOPCLDDX

#endif

#if XpPostScriptDDX

#undef  IHaveSubdirs
#define IHaveSubdirs

PSDIR = ps
PSDEF = -DXPPSDDX

#endif

#if HasMkstemp
MKTMP_DEFINES = -DHAS_MKSTEMP
#endif

      SRCS = $(SRCS1) $(SRCS2) $(SRCS_OS2)

      OBJS = $(OBJS1) $(OBJS_OS2)

#ifdef IHaveSubdirs
   SUBDIRS = $(XPSUBDIRS) $(RASTDIR) $(PCLDIR) $(MPCLDIR) $(PSDIR)
#endif

#ifndef XprtExcludedExtensions
#define XprtExcludedExtensions /**/
#endif

  INCLUDES = -I$(SERVERSRC)/mfb -I$(SERVERSRC)/mi \
	     -I$(SERVERSRC)/cfb -I$(SERVERSRC)/Xext \
	     -I$(SERVERSRC)/include -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 = $(OS_DEFINES) $(MKTMP_DEFINES) \
	     $(EXT_DEFINES) XprtExcludedExtensions \
	     -DXPRINTDIR=\"$(XPRINTDIR)\" \
	     $(RASTDEF) $(PCLDEF) $(MPCLDEF) $(PSDEF)

/* Go ahead:  Call me paranoid ... */
Makefiles::
	RemoveFiles(Quark.c Xlcint.h Xresource.h Xrm.c XrmI.h)

LinkSourceFile(Quarks.c,$(XLIBSRC))

NormalLibraryObjectRule()

NormalLibraryTarget(printer,$(OBJS))
NormalLintTarget($(SRCS))

#if XprtServer
all:: $(OBJS2)
SpecialCObjectRule(ddxInit,$(ICONFIGFILES),NullParameter)
LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
SpecialCObjectRule(miinitext,$(ICONFIGFILES),-DXPRINT)
#endif

#ifdef OS2Architecture
LinkSourceFile(os2_stubs.c,../hw/xfree86/os-support/os2)
SpecialCObjectRule(os2_stubs,$(ICONFIGFILES),-DOS2NULLSELECT)
#endif

DependTarget()

#ifdef IHaveSubdirs
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
MakeLintLibSubdirs($(SUBDIRS))
#endif

Powered by
ViewCVS 0.9.2