XCOMM ----------------------------------------------------------------------
XCOMM X Window System Build Parameters and Rules
XCOMM $Xorg: X11.tmpl,v 1.6 2000/08/17 19:41:46 cpqbld Exp $
XCOMM
XCOMM
XCOMM
XCOMM
XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.141 2002/01/15 22:55:26 herrb Exp $

/***************************************************************************
 *                                                                         *
 *                            DEFAULT DEFINITIONS                          *
 *                                                                         *
 * The following section contains defaults for things that can             *
 * overridden in the various *.cf and site.def files.  DO NOT EDIT!        *
 *                                                                         *
 **************************************************************************/

#define ProjectX		604	/* do *not* change this line */

/* The following project-specific rules are defined at the end of this file:
 *
 * InstallAppDefaults		(class)
 * InstallAppDefaultsLong	(file,class)
 * MakeFontsDir			(deplist)
 * MakeXftCache			(deplist)
 * MakeFonts			()
 * InstallFontObjs		(objs,dest)
 * InstallFonts			(dest)
 * InstallFontAliases		(dest)
 * InstallXftCache		(dest)
 * FontSrc			(basename)
 * FontBaseObj			(basename)
 * InstallFontScale		(dest)
 * UncompressedFontTarget	(basename)
 * CompressedFontTarget		(basename)
 * FontTarget			(basename)
 * FontObj			(basename)
 * MakeXkbDir			(basedir,subdir)
 */

/* X.Org release string */
#ifndef XOrgReleaseString
#define XOrgReleaseString	Release 6.6
#endif

#ifndef XOrgManNameString
#define XOrgManNameString	X Version 11
#endif

XORGRELSTRING = XOrgReleaseString
XORGMANNAME = XOrgManNameString

#ifndef XOrgManDefs
#define XOrgManDefs -D__xorgversion__='"$(XORGRELSTRING)" "$(XORGMANNAME)"'
#endif

#ifndef XVendorManNameString
#define XVendorManNameString XOrgManNameString
#endif
#ifndef XVendorManVersionString
#define XVendorManVersionString XOrgReleaseString
#endif

VENDORMANNAME = XVendorManNameString
VENDORMANVERSION = XVendorManVersionString

#ifndef VendorManDefs
#define VendorManDefs -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)"
#endif

/*
 * X-specific things
 */
#ifndef HasXServer
#define HasXServer		YES
#endif
#ifndef BuildServer
#define BuildServer		HasXServer
#endif
#ifndef BuildServersOnly
#define BuildServersOnly	NO
#endif
#ifndef BuildClients
#define BuildClients		!BuildServersOnly
#endif
#ifndef BuildDocs
#define BuildDocs		!BuildServersOnly
#endif
#ifndef BuildLibraries
#define BuildLibraries		(!BuildServersOnly || BuildClients)
#endif
#ifndef BuildLibrariesForXServers
#define BuildLibrariesForXServers	BuildServer
#endif
#ifndef BuildFontServer
#define BuildFontServer		YES
#endif
#ifndef XserverStaticFontLib
#define XserverStaticFontLib	YES
#endif
#ifndef BuildSpeedo
#define BuildSpeedo		YES
#endif
#ifndef BuildType1
#define BuildType1		YES
#endif
#ifndef BuildCID
#define BuildCID		YES
#endif
#ifndef BuildFreeType
#define BuildFreeType		NO
#endif
#ifndef BuildXTrueType
#define BuildXTrueType		NO
#endif
#ifndef BuildBuiltinFonts
#define BuildBuiltinFonts	NO
#endif
#ifndef BuildFonts
#define BuildFonts		(BuildServer | BuildFontServer)
#endif
#ifndef Build75DpiFonts
#define Build75DpiFonts		YES
#endif
#ifndef Build100DpiFonts
#define Build100DpiFonts	YES
#endif
#ifndef BuildSpeedoFonts
#define BuildSpeedoFonts	YES
#endif
#ifndef BuildType1Fonts
#define BuildType1Fonts		YES
#endif
#ifndef BuildCIDFonts
#define BuildCIDFonts		YES
#endif
#ifndef BuildTrueTypeFonts
#define BuildTrueTypeFonts	YES
#endif
/* Not used now */
#ifndef BuildLatin2Fonts
#define BuildLatin2Fonts	NO
#endif
#ifndef BuildCyrillicFonts
#define BuildCyrillicFonts	YES
#endif
#ifndef UseKoi8RForCyrillic
#define UseKoi8RForCyrillic	YES
#endif
/* Some bdf font generation details.  The scripts for this require perl. */
#ifndef TruncateUCSFonts
#define TruncateUCSFonts	HasPerl5
#endif
#ifndef MaxUCSChar
#define MaxUCSChar		0x3200
#endif
#ifndef DerivedUCSFonts
#define DerivedUCSFonts		HasPerl5
#endif
/* These primarily control generation of derived 8-bit fonts. */
#ifndef BuildUCSFonts
#define BuildUCSFonts		YES
#endif
/* Setting BuildISO8859_1Fonts to NO may result in problems. */
#ifndef BuildISO8859_1Fonts
#define BuildISO8859_1Fonts	YES
#endif
#ifndef BuildISO8859_2Fonts
#define BuildISO8859_2Fonts	YES
#endif
#ifndef BuildISO8859_3Fonts
#define BuildISO8859_3Fonts	YES
#endif
#ifndef BuildISO8859_4Fonts
#define BuildISO8859_4Fonts	YES
#endif
#ifndef BuildISO8859_5Fonts
#define BuildISO8859_5Fonts	BuildCyrillicFonts
#endif
#ifndef BuildArabicFonts
#define BuildArabicFonts	YES
#endif
#ifndef BuildISO8859_6Fonts
#define BuildISO8859_6Fonts	BuildArabicFonts
#endif
#ifndef BuildGreekFonts
#define BuildGreekFonts		YES
#endif
#ifndef BuildISO8859_7Fonts
#define BuildISO8859_7Fonts	BuildGreekFonts
#endif
#ifndef BuildHebrewFonts
#define BuildHebrewFonts	YES
#endif
#ifndef BuildISO8859_8Fonts
#define BuildISO8859_8Fonts	BuildHebrewFonts
#endif
#ifndef BuildISO8859_9Fonts
#define BuildISO8859_9Fonts	YES
#endif
#ifndef BuildISO8859_10Fonts
#define BuildISO8859_10Fonts	YES
#endif
#ifndef BuildISO8859_13Fonts
#define BuildISO8859_13Fonts	YES
#endif
#ifndef BuildISO8859_14Fonts
#define BuildISO8859_14Fonts	YES
#endif
#ifndef BuildISO8859_15Fonts
#define BuildISO8859_15Fonts	YES
#endif
#ifndef BuildKOI8_RFonts
#define BuildKOI8_RFonts	BuildCyrillicFonts
#endif
#ifndef BuildJapaneseFonts
#define BuildJapaneseFonts	YES
#endif
#ifndef BuildJISX0201Fonts
#define BuildJISX0201Fonts	BuildJapaneseFonts
#endif
#ifndef BuildKoreanFonts
#define BuildKoreanFonts	YES
#endif
#ifndef BuildChineseFonts
#define BuildChineseFonts	YES
#endif
#ifndef HasXAudio
#define HasXAudio		NO
#endif
#ifndef BuildXAudio
#define BuildXAudio		(HasXAudio & HasCplusplus)
#endif
#ifndef HasXAServer
#define HasXAServer		NO
#endif
#ifndef BuildXAServer
#define BuildXAServer		(HasXAServer & HasCplusplus)
#endif
#ifndef BuildX11Lib
#define BuildX11Lib		(BuildLibraries || (BuildLibrariesForXServers && XnestServer))
#endif
#ifndef BuildLoadableXlibI18n
#define BuildLoadableXlibI18n	(HasDlopen && SharedLibX11)
#endif
#ifndef BuildXextLib
#define BuildXextLib		(BuildLibraries || (BuildLibrariesForXServers && XnestServer))
#endif
#ifndef BuildXauLib
#define BuildXauLib		(BuildLibraries || BuildLibrariesForXServers)
#endif
#ifndef BuildXdmcpLib
#define BuildXdmcpLib		(BuildLibraries || BuildLibrariesForXServers)
#endif
#ifndef BuildMITMiscExt
#define BuildMITMiscExt		YES
#endif
#ifndef BuildTestExt
#define BuildTestExt		YES
#endif
#ifndef BuildSyncExt
#define BuildSyncExt		YES
#endif
#ifndef BuildXCMiscExt
#define BuildXCMiscExt		YES
#endif
#ifndef BuildShapeExt
#define BuildShapeExt		YES
#endif
#ifndef BuildBigReqsExt
#define BuildBigReqsExt		YES
#endif
#ifndef BuildPhigs
#define BuildPhigs		NO
#endif
#ifndef BuildPexExt
#define BuildPexExt		NO
#endif
#ifndef BuildPexLib
#define BuildPexLib		(BuildPexExt && !BuildServersOnly)
#endif
#ifndef BuildXInputExt
#define BuildXInputExt		NO
#endif
#ifndef BuildXInputLib
#define BuildXInputLib		(BuildXInputExt && !BuildServersOnly)
#endif
#ifndef BuildEVI
#define BuildEVI		YES
#endif
#ifndef BuildDBE
#define BuildDBE		YES
#endif
#ifndef BuildDBElib
#define BuildDBElib		BuildDBE
#endif
#ifndef BuildDIS
#define BuildDIS		NO
#endif
#ifndef BuildDPMS
#define BuildDPMS		YES
#endif
#ifndef BuildFontLib
#if !defined(XF86Server) || !XF86Server
#define BuildFontLib		(BuildLibraries || BuildServer)
#else
#define BuildFontLib		(BuildLibraries || \
				 (BuildServer && !DoLoadableServer) || \
				 XnestServer || XVirtualFramebufferServer || \
				 XprtServer || KDriveXServer)
#endif
#endif
#ifndef BuildFontCache
#define BuildFontCache		YES
#endif
#ifndef BuildFontCacheLib
#define BuildFontCacheLib	(BuildFontCache && !BuildServersOnly)
#endif
#ifndef BuildFontEncLib
#define BuildFontEncLib		BuildLibraries
#endif
/*
 * This enables binary compatibility with the older (XFree86 <= 4.1) fontenc
 * entry points in the Xfont library (and X server).  If this is turned off,
 * then SharedFontRev should have it's major revision bumped, and the
 * XFree86 font module ABI (in xfree86/common/xf86Module.h) should have it's
 * major revision bumped.
 *
 * Note: this does not enable those older functions in the separate libfontenc
 * library (which didn't exist previously).
 */
#ifndef FontencCompatibility
#define FontencCompatibility	YES
#endif
#ifndef BuildLowMem
#define BuildLowMem		NO
#endif
#ifndef BuildLBX
#define BuildLBX		YES
#endif
#ifndef BuildXIE
	/*
	 * Turn off building XIE if you are building for low memory
	 * footprint
	 */
#if BuildLowMem
#define BuildXIE		NO
#else
#define BuildXIE		YES
#endif
#endif
#ifndef BuildXIElib
#define BuildXIElib		(BuildXIE && !BuildServersOnly)
#endif
#ifndef BuildXKB
#define BuildXKB		YES
#endif
#ifndef BuildXKBlib
#define BuildXKBlib		(BuildXKB && !BuildServersOnly)
#endif
#ifndef BuildXKBuilib
#define BuildXKBuilib		(BuildXKB && !BuildServersOnly)
#endif
#ifndef BuildXKBfilelib
#define BuildXKBfilelib		(BuildXKB && !BuildServersOnly)
#endif
#ifndef BuildXTrap
#define BuildXTrap		YES
#endif
#ifndef BuildXTrapLibrary
#define BuildXTrapLibrary	(BuildXTrap && !BuildServersOnly)
#endif

	/*
	 * WARNING: Setting UseXKBInClients to YES cause incompatibilities
	 *          between many clients (such as xterm) and pre-XKB shared
	 *          libraries.
	 */
#ifndef UseXKBInClients
#define	UseXKBInClients		NO	/* use XKB in "normal" clients? */
#endif
#ifndef BuildMultibuffer
#define BuildMultibuffer	NO
#endif
#ifndef BuildRECORD
#define BuildRECORD		YES
#endif
#ifndef BuildRECORDlib
#define BuildRECORDlib		BuildRECORD
#endif
#ifndef BuildXinerama
#define BuildXinerama		NO
#endif
#ifndef BuildXineramaLibrary
#define BuildXineramaLibrary	(BuildXinerama && !BuildServersOnly)
#endif
#ifndef BuildXCSecurity
#define BuildXCSecurity		YES
#endif
#ifndef BuildAppgroup
#define BuildAppgroup		YES
#endif
#ifndef BuildCup
#define BuildCup		YES
#endif
	/*
	 * Turn off building PEX if you are building for low memory
	 * footprint
	 */
#if BuildLowMem
#define BuildPexExt		NO
#endif
#ifndef HasPlugin
#define HasPlugin		NO
#endif
#ifndef BuildPlugin
#define BuildPlugin		HasPlugin
#endif
#ifndef XprtServer
#define XprtServer		BuildServer
#endif
#ifndef BuildXprint
#if XprtServer
#define BuildXprint		YES
#else
#define BuildXprint		NO
#endif
#endif
#ifndef BuildXprintLib
#define BuildXprintLib		(BuildXprint && !BuildServersOnly)
#endif
#ifndef BuildScreenSaverExt
#define BuildScreenSaverExt	NO
#endif
#ifndef BuildScreenSaverLibrary
#define BuildScreenSaverLibrary	(BuildScreenSaverExt && !BuildServersOnly)
#endif
#ifndef BuildXF86VidModeExt
#define BuildXF86VidModeExt	NO
#endif
#ifndef BuildXF86VidModeLibrary
#define BuildXF86VidModeLibrary (BuildXF86VidModeExt && !BuildServersOnly)
#endif
#ifndef BuildXF86MiscExt
#define BuildXF86MiscExt	NO
#endif
#ifndef BuildXF86MiscLibrary
#define BuildXF86MiscLibrary	(BuildXF86MiscExt && !BuildServersOnly)
#endif
#ifndef BuildXF86BigfontExt
#define BuildXF86BigfontExt	NO
#endif
#ifndef BuildXF86DGA
#define BuildXF86DGA		NO
#endif
#ifndef BuildXF86DGALibrary
#define BuildXF86DGALibrary	(BuildXF86DGA && !BuildServersOnly)
#endif
#ifndef BuildXvExt
#define BuildXvExt		NO
#endif
#ifndef BuildXvLibrary
#define BuildXvLibrary		(BuildXvExt && !BuildServersOnly)
#endif
#ifndef BuildXvMCExt
#define BuildXvMCExt		NO
#endif
#ifndef BuildXvMCLibrary
#define BuildXvMCLibrary	(BuildXvMCExt && !BuildServersOnly)
#endif
#ifndef BuildGlxExt
#define BuildGlxExt		NO
#else
#if     BuildGlxExt && !defined(XFree86Version)
#undef  BuildXF86DRI
#undef  BuildXF86DRM
#undef  BuildXF86DRIDriverSupport
#define BuildXF86DRI			NO
#define BuildXF86DRM			NO
#define BuildXF86DRIDriverSupport	NO
#endif
#endif
#ifndef BuildGLXLibrary
#define BuildGLXLibrary		(BuildGlxExt && !BuildServersOnly)
#endif
#ifndef BuildGLULibrary
#define BuildGLULibrary		(BuildGLXLibrary && HasCplusplus)
#endif
#ifndef BuildGLwLibrary
#define BuildGLwLibrary		(BuildGlxExt || BuildGLXLibrary)
#endif
#ifndef BuildXF86RushExt
#define BuildXF86RushExt	NO
#endif
#ifndef BuildXF86RushLibrary
#define BuildXF86RushLibrary	(BuildXF86RushExt && !BuildServersOnly)
#endif
#ifndef BuildDPSLibraries
#define BuildDPSLibraries	!BuildServersOnly
#endif
#ifndef BuildDPSLibrary
#define BuildDPSLibrary		BuildDPSLibraries
#endif
#ifndef BuildDPSTkLibrary
#define BuildDPSTkLibrary	BuildDPSLibraries
#endif
#ifndef BuildPSResLibrary
#define BuildPSResLibrary	BuildDPSLibraries
#endif
#ifndef BuildDPSClients
#define BuildDPSClients         BuildDPSLibraries
#endif
#ifndef BuildRender
#define BuildRender		NO
#endif
#ifndef BuildRenderLibrary
#define BuildRenderLibrary	!BuildServersOnly
#endif
#ifndef BuildXftLibrary
#define BuildXftLibrary		BuildRenderLibrary
#endif
#ifndef UseFreetype2
#define UseFreetype2		BuildXftLibrary
#endif
#ifndef BuildFreetype2Library
#define BuildFreetype2Library	(UseFreetype2 && !HasFreetype2)
#endif

#ifndef BuildRandR
#define BuildRandR		NO
#endif
#ifndef BuildRandRLibrary
#define BuildRandRLibrary	!BuildServersOnly
#endif

#ifndef BuildMiscDocs
#define BuildMiscDocs		NO
#endif
#ifndef BuildSpecsDocs
#define BuildSpecsDocs		NO
#endif
#ifndef BuildAllSpecsDocs
#define BuildAllSpecsDocs	NO
#endif

#ifndef InstallHardcopyDocs
#define InstallHardcopyDocs	NO
#endif

#ifndef InstallMiscManPages
#define InstallMiscManPages	NO
#endif

#ifndef FSUseSyslog
#define FSUseSyslog		NO
#endif

#ifndef InstallLibManPages
#define InstallLibManPages	YES
#endif
#ifndef InstallXtermSetUID
#define InstallXtermSetUID	YES	/* xterm needs to be set uid */
#endif
#ifndef InstallXloadSetGID
#define InstallXloadSetGID	YES	/* xload often needs set gid kmem */
#endif
#ifndef InstallXinitConfig
#define InstallXinitConfig	NO	/* install sample xinit config */
#endif
#ifndef InstallXdmConfig
#define InstallXdmConfig	NO	/* install sample xdm config */
#endif
#ifndef XdmServersType			/* what Xservers files to use */
#if BuildServer
#define XdmServersType ws
#else
#define XdmServersType fs
#endif
#endif
#ifndef InstallFSConfig
#define InstallFSConfig		NO	/* install sample fs config */
#endif
#ifndef InstallAppDefFiles
#define InstallAppDefFiles	YES	/* install application defaults */
#endif
#ifndef UseConfDirForAppDefaults
#define UseConfDirForAppDefaults YES
#endif
#ifndef UseConfDirForXkb
#define UseConfDirForXkb	YES
#endif
#ifndef CompressAllFonts
#define CompressAllFonts	NO
#endif
#ifndef ThreadedX
#if HasPosixThreads || HasCThreads
#define ThreadedX		YES	/* multi-threaded libraries */
#else
#define ThreadedX		NO
#endif
#endif
#ifndef ThreadedProject
#define ThreadedProject ThreadedX
#endif
#ifndef BuildThreadStubLibrary
#define BuildThreadStubLibrary	NO
#endif
#ifndef HasWChar32
#define HasWChar32		SystemV4
#endif
#ifndef HasXdmAuth
#define HasXdmAuth		NO	/* if you can not use XDM-AUTH* */
#endif
#ifndef PrimaryScreenResolution
#define PrimaryScreenResolution 72		/* a common resolution */
#endif
#ifndef DefaultFontPath
	/*
	 * Turn off building Speedo, Type1 and CID fonts if you are building
	 * for low memory footprint
	 */
#if BuildLowMem
#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
#else
#if PrimaryScreenResolution < 88		/* (75 + 100) / 2 */
#if BuildCIDFonts
#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
#else
#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
#endif
#else
#if BuildCIDFonts
#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
#else
#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
#endif
#endif
#endif
#endif
#ifndef DefaultFSFontPath
	/*
	 * Define a default fontpath for Font Server independent of that
         * for X server if building the X server for low memory footprint
         */
#if BuildLowMem
#if PrimaryScreenResolution < 88                /* (75 + 100) / 2 */
#define DefaultFSFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
#else
#define DefaultFSFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
#endif
#else
#define DefaultFSFontPath DefaultFontPath
#endif
#endif
#ifndef DefaultRGBDatabase
#define DefaultRGBDatabase $(LIBDIR)/rgb
#endif
#ifndef UseRgbTxt
#define UseRgbTxt		NO	/* default is to compile with dbm */
#endif
#ifndef UseMemLeak
#define UseMemLeak		NO
#endif
#ifndef SpecialMalloc
#define SpecialMalloc		NO
#endif
#ifndef UseInternalMalloc
#define UseInternalMalloc	NO
#endif
#ifndef XallocDefines
#define XallocDefines		/**/
#endif
#ifndef ServerErrorDefines
#define ServerErrorDefines	/**/
#endif
#ifndef FontCompilerFlags
#define FontCompilerFlags -t
#endif
#ifndef ConnectionFlags
#if HasStreams
#define ConnectionFlags -DSTREAMSCONN
#else
#if HasDECnet
#define ConnectionFlags -DTCPCONN -DUNIXCONN -DDNETCONN
#else
#define ConnectionFlags -DTCPCONN -DUNIXCONN
#endif
#endif
#endif
#if HasStickyDirBit
STICKY_DEFINES = -DHAS_STICKY_DIR_BIT
#endif
#if HasFchown
FCHOWN_DEFINES = -DHAS_FCHOWN
#endif
#ifndef ExtraConnectionDefs
#define ExtraConnectionDefs $(STICKY_DEFINES) $(FCHOWN_DEFINES)
#endif
#ifndef ProjectThreadsDefines
#define ProjectThreadsDefines -DXTHREADS
#endif
#ifndef FontOSDefines
#define FontOSDefines /**/
#endif
#ifndef FontDefines
#define FontDefines -DFONT_SNF -DFONT_BDF -DFONT_PCF -DCOMPRESSED_FONTS FontOSDefines
#endif
#ifndef XawI18nDefines
#if SystemV4
#define XawI18nDefines -DHAS_WCTYPE_H
#else
#define XawI18nDefines -DUSE_XWCHAR_STRING
#endif
#endif
#if Malloc0ReturnsNull
#ifndef XMalloc0ReturnsNullDefines
#define XMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines
#endif
#ifndef XtMalloc0ReturnsNullDefines
#define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC
#endif
#endif
#ifndef ExtensionOSDefines
#define ExtensionOSDefines /**/
#endif

#ifndef ExtensionDefines
#ifndef MITMiscDefines
#if BuildMITMiscExt
#define MITMiscDefines -DMITMISC
#else
#define MITMiscDefines /**/
#endif
#endif
#ifndef XTestDefines
#if BuildTestExt
#define XTestDefines -DXTEST
#else
#define XTestDefines /**/
#endif
#endif
#ifndef XTrapDefines
#if BuildXTrap
#define XTrapDefines -DXTRAP
#else
#define XTrapDefines /**/
#endif
#endif
#ifndef XSyncDefines
#if BuildSyncExt
#define XSyncDefines -DXSYNC
#else
#define XSyncDefines /**/
#endif
#endif
#ifndef XCMiscDefines
#if BuildXCMiscExt
#define XCMiscDefines -DXCMISC
#else
#define XCMiscDefines /**/
#endif
#endif
#ifndef ShapeDefines
#if BuildShapeExt
#define ShapeDefines -DSHAPE
#else
#define ShapeDefines /**/
#endif
#endif
#ifndef PexDefines
#if BuildPexExt
#define PexDefines -DPEXEXT
#else
#define PexDefines /**/
#endif
#endif
#ifndef GlxDefines
#if BuildGlxExt
#ifdef GlxExtraDefines
#define GlxDefines -DGLXEXT GlxExtraDefines
#else
#define GlxDefines -DGLXEXT
#endif
#else
#define GlxDefines /**/
#endif
#endif
#ifndef MesaSrcDir
#define MesaSrcDir $(TOP)/extras/Mesa
#endif
#ifndef OglSampleSrcDir
#define OglSampleSrcDir $(TOP)/extras/ogl-sample
#endif
#ifndef ShmDefines
#if HasShm
#define ShmDefines -DMITSHM
#else
#define ShmDefines /**/
#endif
#endif
#ifndef XInputDefines
#if BuildXInputExt
#define XInputDefines -DXINPUT
#else
#define XInputDefines /**/
#endif
#endif
#ifndef XineramaDefines
#if BuildXinerama
#define XineramaDefines -DPANORAMIX
#else
#define XineramaDefines /**/
#endif
#endif
#ifndef XieDefines
#if BuildXIE
#define XieDefines -DXIE
#else
#define XieDefines /**/
#endif
#endif
#ifndef PrintOnlyServer
#define PrintOnlyServer YES
#endif
#ifndef XprintDefines
#if BuildXprint
#if PrintOnlyServer
#define XprintDefines -DPIXPRIV
#else
#define XprintDefines -DXPRINT -DPIXPRIV
#endif
#else
#define XprintDefines /**/
#endif
#endif
#ifndef XkbDefines
#if BuildXKB
#define XkbDefines -DXKB
#else
#define XkbDefines /**/
#endif
#endif
#ifndef XkbClientDefines
#if UseXKBInClients
#define XkbClientDefines -DXKB
#else
#define XkbClientDefines /**/
#endif
#endif
#ifndef XkbServerDefines
#define XkbServerDefines /**/
#endif
#ifndef LbxDefines
#if BuildLBX
#define LbxDefines -DLBX
#else
#define LbxDefines /**/
#endif
#endif
#ifndef BigReqDefines
#if BuildBigReqsExt
#define BigReqDefines -DBIGREQS
#else
#define BigReqDefines /**/
#endif
#endif

#ifndef EVIDefines
#if BuildEVI
#define EVIDefines -DEVI
#else
#define EVIDefines /**/
#endif
#endif

#ifndef DBEDefines
#if BuildDBE
#define DBEDefines -DDBE
#else
#define DBEDefines /**/
#endif
#endif

#ifndef PervasiveDBEDefines
#define PervasiveDBEDefines /* -DNEED_DBE_BUF_BITS -DNEED_DBE_BUF_VALIDATE */
#endif

#ifndef MultibufferDefines
#if BuildMultibuffer
#define MultibufferDefines -DMULTIBUFFER
#else
#define MultibufferDefines /**/
#endif
#endif

#ifndef ScreenSaverExtensionDefines
#if BuildScreenSaverExt
#define ScreenSaverExtensionDefines -DSCREENSAVER
#else
#define ScreenSaverExtensionDefines /**/
#endif
#endif
#ifndef VidModeExtensionDefines
#if BuildXF86VidModeExt
#define VidModeExtensionDefines -DXF86VIDMODE
#else
#define VidModeExtensionDefines /**/
#endif
#endif
#ifndef XF86MiscExtensionDefines
#if BuildXF86MiscExt
#define XF86MiscExtensionDefines -DXF86MISC
#else
#define XF86MiscExtensionDefines /**/
#endif
#endif

#ifndef XF86BigfontExtensionDefines
#if BuildXF86BigfontExt
#define XF86BigfontExtensionDefines -DXF86BIGFONT
#else
#define XF86BigfontExtensionDefines /**/
#endif
#endif

#ifndef XvExtensionDefines
#if BuildXvExt
#define XvExtensionDefines -DXV
#else
#define XvExtensionDefines /**/
#endif
#endif

#ifndef XvMCExtensionDefines
#if BuildXvMCExt
#define XvMCExtensionDefines -DXVMC
#else
#define XvMCExtensionDefines /**/
#endif
#endif

#ifndef RECORDDefines
#if BuildRECORD
#define RECORDDefines -DXRECORD
#else
#define RECORDDefines /**/
#endif
#endif

#ifndef AppgroupDefines
#if BuildAppgroup
#define AppgroupDefines -DXAPPGROUP
#else
#define AppgroupDefines /**/
#endif
#endif

#ifndef XCSecurityDefines
#if BuildXCSecurity
#define XCSecurityDefines -DXCSECURITY
#else
#define XCSecurityDefines /**/
#endif
#endif

#ifndef CupDefines
#if BuildCup
#define CupDefines -DTOGCUP
#else
#define CupDefines /**/
#endif
#endif

#ifndef LowMemDefines
#if BuildLowMem
#define LowMemDefines -DLOWMEMFTPT
#else
#define LowMemDefines /**/
#endif
#endif

#ifndef DPMSDefines
#if BuildDPMS
#define DPMSDefines -DDPMSExtension
#else
#define DPMSDefines /**/
#endif
#endif

#ifndef RenderDefines
#if BuildRender
#define RenderDefines -DRENDER
#else
#define RenderDefines /**/
#endif
#endif

#ifndef RandRDefines
#if BuildRandR
#define RandRDefines -DRANDR
#else
#define RandRDefines /**/
#endif
#endif

#ifndef FontCacheExtentionDefines
#if BuildFontCache
#define FontCacheExtensionDefines	-DFONTCACHE
#else
#define FontCacheExtensionDefines	/**/
#endif
#endif

#ifndef SitePervasiveExtensionDefines
#define SitePervasiveExtensionDefines /**/
#endif
#ifndef PervasiveExtensionDefines
#define PervasiveExtensionDefines \
	ShapeDefines XInputDefines XkbDefines LbxDefines AppgroupDefines \
	XCSecurityDefines CupDefines PervasiveDBEDefines \
	XF86BigfontExtensionDefines DPMSDefines \
	LowMemDefines XprintDefines XineramaDefines \
	SitePervasiveExtensionDefines RenderDefines RandRDefines
#endif
#ifndef SiteExtensionDefines
#define SiteExtensionDefines /**/
#endif
#ifndef BaseExtensionDefines
#define BaseExtensionDefines \
	MultibufferDefines MITMiscDefines XTestDefines XTrapDefines \
	XSyncDefines XCMiscDefines RECORDDefines \
	PexDefines ShmDefines XieDefines BigReqDefines VidModeExtensionDefines \
	XF86MiscExtensionDefines DBEDefines DPMSDefines EVIDefines \
	ScreenSaverExtensionDefines XvExtensionDefines XvMCExtensionDefines \
	GlxDefines FontCacheExtensionDefines SiteExtensionDefines
#endif
#define ExtensionDefines BaseExtensionDefines ExtensionOSDefines
#endif /* ExtensionDefines */

#ifndef HasStrcasecmp
#define HasStrcasecmp YES
#endif

#ifndef StrcasecmpDefines
# if HasStrcasecmp
#  define StrcasecmpDefines /**/
# else
#  define StrcasecmpDefines -DNEED_STRCASECMP
# endif
#endif

#ifndef ServerXdmcpDefines
#define ServerXdmcpDefines -DXDMCP
#endif
#ifndef ServerOSDefines
#define ServerOSDefines /**/
#endif
#if HasKrbIV
#ifndef KrbIVDefines
#define KrbIVDefines -DKERBEROS
#endif
#else
#define KrbIVDefines /**/
#endif
#if HasKrb5
#ifndef Krb5Defines
#define Krb5Defines -DK5AUTH
#endif
#else
#define Krb5Defines /**/
#endif
#ifndef ServerExtraDefines
#define ServerExtraDefines /* -DPIXPRIV */
#endif
#ifndef ServerAssertDefines
#define ServerAssertDefines -DNDEBUG
#endif
#ifndef ServerDefines
#define ServerDefines StandardDefines PervasiveExtensionDefines ServerExtraDefines ServerAssertDefines
#endif
#ifndef PexDipexDefines
#define PexDipexDefines /**/
#endif
#ifndef PexDdpexDefines
#define PexDdpexDefines /**/
#endif
#ifndef PexPhigsDefines
#ifndef PexShmIPC
#define PexShmIPC HasShm
#endif
#if PexShmIPC
#define PexPhigsDefines /**/
#else
#define PexPhigsDefines -DPEX_API_SOCKET_IPC
#endif
#endif
#ifndef PexClientDefines
#define PexClientDefines -DPEX_SI_PHIGS
#endif
#ifndef PhigsInclude
#ifdef UseInstalled
#define PhigsInclude -I$(INCDIR)/X11
#else
#define PhigsInclude -I$(BUILDINCDIR)
#endif
#endif
#ifndef PexCDebugFlags
#define PexCDebugFlags DebuggableCDebugFlags
#endif
#ifndef PexCCOptions
#ifdef LibraryCCOptions
#define PexCCOptions LibraryCCOptions
#else
#define PexCCOptions DefaultCCOptions
#endif
#endif

#ifndef MesaUseMMX
#ifdef HasMMXSupport
#define MesaUseMMX HasMMXSupport
#else
#define MesaUseMMX NO
#endif
#endif

#ifndef MesaUse3DNow
#ifdef Has3DNowSupport
#define MesaUse3DNow Has3DNowSupport
#else
#define MesaUse3DNow NO
#endif
#endif

#ifndef MesaUseKatmai
#ifdef HasKatmaiSupport
#define MesaUseKatmai HasKatmaiSupport
#else
#define MesaUseKatmai NO
#endif
#endif

#ifndef DefaultFSConfigFile
#define DefaultFSConfigFile $(LIBDIR)/fs/config
#endif

/* X-TrueType settings */
#ifndef HasBlindFaithInUnicode
#define HasBlindFaithInUnicode YES
#endif
#ifndef XTrueTypeCConvModule  
#if DoLoadableServer
#define XTrueTypeCConvModule YES
#else
#define XTrueTypeCConvModule NO
#endif
#endif
#ifndef XTrueTypeUseOptEncodings  
#define XTrueTypeUseOptEncodings YES
#endif
#ifndef XTrueTypeCConvIncDir
#define XTrueTypeCConvIncDir $(INCROOT)/X11/fonts/codeconv
#endif
#ifndef XTrueTypeInstallCConvHeaders
#define XTrueTypeInstallCConvHeaders BuildLibraries
#endif
#ifndef XTrueTypeCConvModuleDir
#define XTrueTypeCConvModuleDir $(USRLIBDIR)/modules
#endif
#ifndef XTrueTypeCConvModuleSubDir
#define XTrueTypeCConvModuleSubDir codeconv
#endif
#ifndef XTrueTypeDebugXTT
#define XTrueTypeDebugXTT NO
#endif
#ifndef XTrueTypeStandAloneCConv
#define XTrueTypeStandAloneCConv NO
#endif
#ifndef XTTInLibXFont
#define XTTInLibXFont NO
#endif
#ifndef XTrueTypeSrcDir
#define XTrueTypeSrcDir $(TOP)/extras/X-TrueType
#endif
#ifndef FreeTypeSrcDir
#define FreeTypeSrcDir $(TOP)/extras/FreeType
#endif

#ifndef BinDir
#ifdef ProjectRoot
#define BinDir Concat(ProjectRoot,/bin)
#else
#define BinDir /usr/bin/X11
#endif
#endif
#ifndef BuildIncRoot
#define BuildIncRoot $(TOP)/exports
#endif
#ifndef BuildIncDir
#define BuildIncDir $(BUILDINCROOT)/include
#endif
#ifndef BuildIncTop
#define BuildIncTop ../..	/* relative to BuildIncDir */
#endif
#ifndef XTop
# if ImportX11
#  define XTop $(TOP)/imports/x11
# else
#  define XTop $(TOP)
# endif
#endif
#ifndef XBuildIncRoot
# if ImportX11
#  define XBuildIncRoot	$(XTOP)
# else
#  define XBuildIncRoot	$(XTOP)/exports
# endif
#endif
#ifndef XBuildIncDir
# define XBuildIncDir	$(XBUILDINCROOT)/include/X11
#endif
#ifndef XBuildIncTop
# define XBuildIncTop	../../..
#endif
#ifndef XBuildBinDir
# define XBuildBinDir	$(XBUILDINCROOT)/bin
#endif
#ifndef BuildBinDir
#define BuildBinDir $(TOP)/exports/bin
#endif
#ifndef BuildBinTop
#define BuildBinTop ../..	/* relative to BuildBinDir */
#endif
#ifndef BuildLibDir
#define BuildLibDir $(TOP)/exports/lib
#endif
#ifndef BuildLibTop
#define BuildLibTop ../..	/* relative to BuildLibDir */
#endif
#ifndef BuildModuleDir
#define BuildModuleDir $(BUILDLIBDIR)/modules
#endif
#ifndef BuildModuleTop
#define BuildModuleTop $(BUILDLIBTOP)/..
#endif
#ifndef LibDir
#define LibDir $(USRLIBDIR)/X11
#endif
#ifndef ModuleDir
#define ModuleDir $(USRLIBDIR)/modules
#endif
#ifndef LibexecDir
#ifdef ProjectRoot
#define LibexecDir Concat(ProjectRoot,/libexec)
#else
#define LibexecDir /usr/X11/libexec
#endif
#endif
#ifndef ConfigDir
#define ConfigDir $(LIBDIR)/config
#endif
#ifndef DocDir
#define DocDir $(LIBDIR)/doc
#endif
#ifndef DocHtmlDir
#define DocHtmlDir $(DOCDIR)/html
#endif
#ifndef DocPsDir
#define DocPsDir $(DOCDIR)/PostScript
#endif
#ifndef FontDir
#define FontDir $(LIBDIR)/fonts
#endif
#ifndef AdmDir
#define AdmDir /usr/adm
#endif
#ifndef XinitDir
#define XinitDir $(LIBDIR)/xinit
#endif
#ifndef XdmDir
#define XdmDir $(LIBDIR)/xdm
#endif
#ifndef XdmVarDir
#define XdmVarDir $(VARLIBDIR)/xdm
#endif
#ifndef XdmAuthDir
#define XdmAuthDir $(LIBDIR)/xdm
#endif
#ifndef XdmConfigurationSubdirectory		/* under xdm sources */
#define XdmConfigurationSubdirectory config
#endif
#ifndef TwmDir
#define TwmDir $(LIBDIR)/twm
#endif
#ifndef XsmDir
#define XsmDir $(LIBDIR)/xsm
#endif
#ifndef NlsDir
#define NlsDir $(LIBDIR)/nls
#endif
#ifndef XLocaleDir
#define XLocaleDir $(LIBDIR)/locale
#endif
#ifndef PexApiDir
#define PexApiDir $(LIBDIR)/PEX
#endif
#ifndef LbxproxyDir
#define LbxproxyDir $(LIBDIR)/lbxproxy
#endif
#ifndef LbxproxyConfigSubdir		/* under lbxproxy sources */
#define LbxproxyConfigSubdir config
#endif
#ifndef ProxyManagerDir
#define ProxyManagerDir $(LIBDIR)/proxymngr
#endif
#ifndef ServerConfigDir
#define ServerConfigDir $(LIBDIR)/xserver
#endif
#ifndef XPrintDir
#define XPrintDir ServerConfigDir
#endif
#ifndef EtcX11Directory
#define EtcX11Directory /etc/X11
#endif
#ifndef InstallSecurityConfig
#define InstallSecurityConfig YES	/* Install sample security policy */
#endif
#ifndef XFileSearchPathBase
/* avoid SCCS keyword */
#define XFileSearchPathBase Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
#endif
#ifndef XFileSearchPathDefault
#ifdef XAppLoadDir
/* avoid SCCS keyword */
#define XFileSearchPathDefault XAppLoadDir/Concat(%N%C,%S):XAppLoadDir/%N%S:XFileSearchPathBase
#else
#define XFileSearchPathDefault XFileSearchPathBase
#endif
#endif
#ifndef XAppLoadDir
#define XAppLoadDir $(LIBDIR)/app-defaults
#endif
#ifndef XtErrorPrefix
#define XtErrorPrefix /* as empty string */
#endif
#ifndef XtExtraDefines
#define XtExtraDefines /* as empty string */
#endif
#ifndef XtWarningPrefix
#define XtWarningPrefix /* as empty string */
#endif
#ifndef OsNameDefines
#define OsNameDefines /* as nothing */
#endif
#ifndef DefaultUserPath			/* for xdm */
#define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb
#endif
#ifndef DefaultSystemPath		/* for xdm */
#define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR):/usr/ucb
#endif
#ifndef DefaultSystemShell		/* for xdm to set in SHELL */
#define DefaultSystemShell BourneShell
#endif
#ifndef ContribDir
#define ContribDir $(XTOP)/../contrib	/* contrib is outside core tree */
#endif
#ifndef UnsupportedDir
#define UnsupportedDir $(XTOP)/unsupported
#endif
#ifndef AllocateLocalDefines
#define AllocateLocalDefines /**/
#endif

#ifndef ForceNormalLib
#define ForceNormalLib (HasGcc && !HasGcc2)
#endif

#ifndef XkbComp
#define XkbComp xkbcomp
#endif

#ifndef PsWrap
#define PsWrap $(PSWRAPSRC)/pswrap
#endif

#ifndef ResourceConfigurationManagement 
#define ResourceConfigurationManagement YES
#endif

#ifndef XtPopdownConformance 
#define XtPopdownConformance YES
#endif

XCOMM -----------------------------------------------------------------------
XCOMM X Window System make variables; these need to be coordinated with rules

/*
 * This list must be reflected in the DIRS_TO_BUILD list in the top-level
 * Makefile.
 */
             XTOP = XTop
           BINDIR = BinDir		/* programs */
     BUILDINCROOT = BuildIncRoot	/* base of build loc */
      BUILDINCDIR = BuildIncDir		/* built headers */
      BUILDINCTOP = BuildIncTop		/* top relative to BUILDINCDIR */
      BUILDLIBDIR = BuildLibDir		/* built libraries */
      BUILDLIBTOP = BuildLibTop		/* top relative to BUILDLIBDIR */
      BUILDBINDIR = BuildBinDir		/* built binaries */
      BUILDBINTOP = BuildBinTop		/* top relative to BUILDBINDIR */
   BUILDMODULEDIR = BuildModuleDir	/* built server modules */
   BUILDMODULETOP = BuildModuleTop	/* top relative to BUILDMODULEDIR */
    XBUILDINCROOT = XBuildIncRoot	/* base of X build loc */
     XBUILDINCDIR = XBuildIncDir
     XBUILDINCTOP = XBuildIncTop
     XBUILDBINDIR = XBuildBinDir
           INCDIR = $(INCROOT)		/* header files */
           ADMDIR = AdmDir		/* server log files */
           LIBDIR = LibDir		/* rgb, XErrorDB, etc. */
       LIBEXECDIR = LibexecDir
        MODULEDIR = ModuleDir
   TOP_X_INCLUDES = TopXInclude

#ifdef EtcX11Directory
        ETCX11DIR = EtcX11Directory
#endif
#if UseEtcX11
          CONFDIR = $(ETCX11DIR)
#elif HasVarDirectory
          CONFDIR = $(VARDIR)
#endif
           DOCDIR = DocDir
       DOCHTMLDIR = DocHtmlDir
         DOCPSDIR = DocPsDir
          FONTDIR = FontDir		/* font directories */
     ENCODINGSDIR = $(FONTDIR)/encodings /* font encodings directory */
         XINITDIR = XinitDir		/* xinit config files */
           XDMDIR = XdmDir		/* xdm config files */
        XDMVARDIR = XdmVarDir		/* xdm config files */
           TWMDIR = TwmDir		/* twm config files */
           XSMDIR = XsmDir		/* xsm config files */
           NLSDIR = NlsDir		/* nls files */
       XLOCALEDIR = XLocaleDir		/* locale files */
        PEXAPIDIR = PexApiDir		/* PEX support files */
      LBXPROXYDIR = LbxproxyDir	        /* lbxproxy files */
  PROXYMANAGERDIR = ProxyManagerDir	/* proxy manager config files */
        XPRINTDIR = XPrintDir		/* print config file root */
      XAPPLOADDIR = XAppLoadDir		/* application default resource dir */
       FONTCFLAGS = FontCompilerFlags

     INSTAPPFLAGS = $(INSTDATFLAGS)	/* XXX - this should go away - XXX */

#if UseInstalledX11
              RGB = $(BINDIR)/rgb
            FONTC = $(BINDIR)/bdftopcf
        MKFONTDIR = $(BINDIR)/mkfontdir
         XFTCACHE = $(BINDIR)/xftcache
      MKHTMLINDEX = $(BINDIR)/mkhtmlindex
          UCS2ANY = $(BINDIR)/ucs2any.pl
      BDFTRUNCATE = $(BINDIR)/bdftruncate.pl
     UCSMAPPREFIX = $(FONTDIR)/util/map-
#else
              RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb
            FONTC = $(CLIENTENVSETUP) $(PRELOADFONTSETUP) $(XBUILDBINDIR)/bdftopcf
        MKFONTDIR = $(CLIENTENVSETUP) $(PRELOADFONTSETUP) $(XBUILDBINDIR)/mkfontdir
         XFTCACHE = $(CLIENTENVSETUP) $(PRELOADSETUP) XFT_CONFIG=$(XFTLIBSRC)/XftConfig $(XBUILDBINDIR)/xftcache
#if HasPerl
      MKHTMLINDEX = RunPerlScript($(CONFIGSRC)/util/mkhtmlindex.pl,)
#else
      MKHTMLINDEX = $(SHELL) $(CONFIGSRC)/util/mkhtmlindex.sh
#endif
          UCS2ANY = $(FONTSRC)/util/ucs2any.pl
      BDFTRUNCATE = $(FONTSRC)/util/bdftruncate.pl
     UCSMAPPREFIX = $(FONTSRC)/util/map-
#endif

     HTMLINDEXCMD = HtmlIndexCmd

       DOCUTILSRC = $(XTOP)/doc/util
        CLIENTSRC = $(TOP)/clients
          DEMOSRC = $(TOP)/demos
       XDOCMACROS = $(DOCUTILSRC)/macros.t
       XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
       PROGRAMSRC = $(TOP)/programs
           LIBSRC = $(XTOP)/lib
          FONTSRC = $(XTOP)/fonts
     ENCODINGSSRC = $(FONTSRC)/encodings
       INCLUDESRC = BuildIncDir
      XINCLUDESRC = $(INCLUDESRC)/X11
        SERVERSRC = $(XTOP)/programs/Xserver
       CONTRIBSRC = ContribDir
   UNSUPPORTEDSRC = UnsupportedDir
           DOCSRC = $(XTOP)/doc
           RGBSRC = $(XTOP)/programs/rgb
      BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
     MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
    FONTSERVERSRC = $(PROGRAMSRC)/xfs
       FONTINCSRC = $(XTOP)/include/fonts
        EXTINCSRC = $(XTOP)/include/extensions
      FTSOURCEDIR = FreeTypeSrcDir
     XTTSOURCEDIR = XTrueTypeSrcDir
       MESASRCDIR = MesaSrcDir
  OGLSAMPLESRCDIR = OglSampleSrcDir
        PSWRAPSRC = $(XTOP)/config/pswrap
     TRANSCOMMSRC = $(LIBSRC)/xtrans
   TRANS_INCLUDES = -I$(TRANSCOMMSRC)
 CONNECTION_FLAGS = ConnectionFlags ExtraConnectionDefs
#ifdef X11ProjectRoot
     XPROJECTROOT = X11ProjectRoot
#endif

      XORGMANDEFS = XOrgManDefs
    VENDORMANDEFS = VendorManDefs

#if HasSharedLibraries
#ifndef DontUseLibPathVar
#ifndef BuildLibPathVar
#define BuildLibPathVar LD_LIBRARY_PATH
#endif
#endif
#endif
#ifdef BuildLibPathVar
# ifdef SystemBuildLibPath
  SYSTEMENVLIBDIR = SystemBuildLibPath
# endif
       XENVLIBDIR = X11BuildLibPath
   CLIENTENVSETUP = BuildLibPathVar=BuildLibPath
#else
   CLIENTENVSETUP = 
#endif

#ifdef PreloadSetup
     PRELOADSETUP = PreloadSetup
#endif
#ifdef PreloadFontSetup
 PRELOADFONTSETUP = PreloadFontSetup
#endif

#ifndef ShLibIncludeFile
/* need this to make ANSI-style preprocessors happy */
#define ShLibIncludeFile <noop.rules>
#endif

#include ShLibIncludeFile

#ifndef XBuildLibDir
# define XBuildLibDir	BuildLibDir
#endif

#ifndef SharedLibX11
#define SharedLibX11 HasSharedLibraries
#endif
#ifndef NormalLibX11
#define NormalLibX11 (!SharedLibX11 | ForceNormalLib)
#endif
#ifndef DebugLibX11
#define DebugLibX11		NO	/* debugged X library */
#endif
#ifndef ProfileLibX11
#define ProfileLibX11		NO	/* profiled X library */
#endif
          XLIBSRC = $(LIBSRC)/X11
#if SharedLibX11
#ifndef SharedX11Rev
#define SharedX11Rev 6.2
#endif
SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
#else
ProjectUnsharedLibReferences(XONLY,X11,$(XLIBSRC),XBuildLibDir)
#endif
         XLIBONLY = $(XONLYLIB)

#if BuildThreadStubLibrary
#ifndef SharedLibXThrStub
#define SharedLibXThrStub YES
#endif
#ifndef NormalLibXThrStub
#define NormalLibXThrStub NO
#endif
#ifndef DebugLibXThrStub
#define DebugLibXThrStub NO
#endif
#ifndef ProfileLibXThrStub
#define ProfileLibXThrStub NO
#endif
   XTHRSTUBLIBSRC = $(LIBSRC)/XThrStub
#if SharedLibXThrStub
#ifndef SharedXThrStubRev
#define SharedXThrStubRev 6.1
#endif
SharedLibReferences(XTHRSTUB,XThrStub,$(XTHRSTUBLIBSRC),SOXTHRSTUBREV,SharedXThrStubRev)
#else
ProjectUnsharedLibReferences(XTHRSTUB,XThrStub,$(XTHRSTUBSRC),XBuildLibDir)
#endif
#endif

#if BuildScreenSaverLibrary
#ifndef SharedLibXss
#define SharedLibXss	NO
#endif
#ifndef NormalLibXss
#define NormalLibXss	YES
#endif
#ifndef DebugLibXss
#define DebugLibXss	NO
#endif
#ifndef ProfileLibXss
#define ProfileLibXss	NO
#endif
#endif

#if BuildXF86MiscLibrary
#ifndef SharedLibXxf86misc
#define SharedLibXxf86misc	NO
#endif
#ifndef NormalLibXxf86misc
#define NormalLibXxf86misc	YES
#endif
#ifndef DebugLibXxf86misc
#define DebugLibXxf86misc	NO
#endif
#ifndef ProfileLibXxf86misc
#define ProfileLibXxf86misc	NO
#endif
#endif

#if BuildXF86VidModeLibrary
#ifndef SharedLibXxf86vm
#define SharedLibXxf86vm	NO
#endif
#ifndef NormalLibXxf86vm
#define NormalLibXxf86vm	YES
#endif
#ifndef DebugLibXxf86vm
#define DebugLibXxf86vm		NO
#endif
#ifndef ProfileLibXxf86vm
#define ProfileLibXxf86vm	NO
#endif
#endif

#if BuildXF86DGALibrary
#ifndef SharedLibXxf86dga
#define SharedLibXxf86dga	NO
#endif
#ifndef NormalLibXxf86dga
#define NormalLibXxf86dga	YES
#endif
#ifndef DebugLibXxf86dga
#define DebugLibXxf86dga	NO
#endif
#ifndef ProfileLibXxf86dga
#define ProfileLibXxf86dga	NO
#endif
#endif

#if BuildXF86RushLibrary
#ifndef SharedLibXxf86rush
#define SharedLibXxf86rush	NO
#endif
#ifndef NormalLibXxf86rush
#define NormalLibXxf86rush	YES
#endif
#ifndef DebugLibXxf86rush
#define DebugLibXxf86rush	NO
#endif
#ifndef ProfileLibXxf86rush
#define ProfileLibXxf86rush	NO
#endif
#endif

#if BuildXvLibrary
#ifndef SharedLibXv
#define SharedLibXv		NO
#endif
#ifndef NormalLibXv
#define NormalLibXv		YES
#endif
#ifndef DebugLibXv
#define DebugLibXv		NO
#endif
#ifndef ProfileLibXv
#define ProfileLibXv		NO
#endif
#endif

#if BuildXvMCLibrary
#ifndef SharedLibXvMC
#define SharedLibXvMC		NO
#endif
#ifndef NormalLibXvMC
#define NormalLibXvMC		YES
#endif
#ifndef DebugLibXvMC
#define DebugLibXvMC		NO
#endif
#ifndef ProfileLibXvMC
#define ProfileLibXvMC		NO
#endif
#endif

#if BuildXineramaLibrary
#ifndef SharedLibXinerama
#define SharedLibXinerama	NO
#endif
#ifndef NormalLibXinerama
#define NormalLibXinerama	YES
#endif
#ifndef DebugLibXinerama
#define DebugLibXinerama	NO
#endif
#ifndef ProfileLibXinerama
#define ProfileLibXinerama	NO
#endif
#endif


#if BuildDPSLibrary
#ifndef SharedLibDps
#define SharedLibDps		HasSharedLibraries
#endif
#ifndef NormalLibDps
#define NormalLibDps		YES
#endif
#ifndef DebugLibDps
#define DebugLibDps		NO
#endif
#ifndef ProfileLibDps
#define ProfileLibDps		NO
#endif
#endif

#if BuildDPSTkLibrary
#ifndef SharedLibDpsTk
#define SharedLibDpsTk		HasSharedLibraries
#endif
#ifndef NormalLibDpsTk
#define NormalLibDpsTk		YES
#endif
#ifndef DebugLibDpsTk
#define DebugLibDpsTk		NO
#endif
#ifndef ProfileLibDpsTk
#define ProfileLibDpsTk		NO
#endif
#endif

#if BuildPSResLibrary
#ifndef SharedLibPSRes
#define SharedLibPSRes		HasSharedLibraries
#endif
#ifndef NormalLibPSRes
#define NormalLibPSRes		YES
#endif
#ifndef DebugLibPSRes
#define DebugLibPSRes		NO
#endif
#ifndef ProfileLibPSRes
#define ProfileLibPSRes		NO
#endif
#endif

#if BuildRenderLibrary
#ifndef SharedLibXrender
#define SharedLibXrender	HasSharedLibraries
#endif
#ifndef NormalLibXrender
#define NormalLibXrender	YES
#endif
#ifndef DebugLibXrender
#define DebugLibXrender		NO
#endif
#ifndef ProfileLibXrender
#define ProfileLibXrender	NO
#endif
#endif

#if BuildRandRLibrary
#ifndef SharedLibXrandr
#define SharedLibXrandr		HasSharedLibraries
#endif
#ifndef NormalLibXrandr
#define NormalLibXrandr		YES
#endif
#ifndef DebugLibXrandr
#define DebugLibXrandr		NO
#endif
#ifndef ProfileLibXrandr
#define ProfileLibXrandr	NO
#endif
#endif

#if BuildGLULibrary
#ifndef SharedLibGlu
#define SharedLibGlu		HasSharedLibraries
#endif
#ifndef NormalLibGlu
#define NormalLibGlu		(!SharedLibX11 | ForceNormalLib)
#endif
#ifndef DebugLibGlu
#define DebugLibGlu		NO
#endif
#ifndef ProfileLibGlu
#define ProfileLibGlu		NO
#endif
#endif

#if BuildGLXLibrary
#ifndef SharedLibGlx
#define SharedLibGlx		HasSharedLibraries
#endif
#ifndef NormalLibGlx
#define NormalLibGlx		(!SharedLibX11 | ForceNormalLib)
#endif
#ifndef DebugLibGlx
#define DebugLibGlx		NO
#endif
#ifndef ProfileLibGlx
#define ProfileLibGlx		NO
#endif
#ifndef BuildLibGlxWithoutPIC
#define BuildLibGlxWithoutPIC	NO
#endif
#if BuildLibGlxWithoutPIC && SharedLibGlx
#define SharedLibGlxWithoutPIC	YES
#endif
#ifndef LinkGLToUsrLib
#define LinkGLToUsrLib		NO
#endif
#if NothingOutsideProjectRoot
#undef LinkGLToUsrLib
#define LinkGLToUsrLib		NO
#endif
#ifndef LinkGLToUsrInclude
#define LinkGLToUsrInclude	NO
#endif
#if NothingOutsideProjectRoot
#undef LinkGLToUsrInclude
#define LinkGLToUsrInclude	NO
#endif
/*
 * Don't make a shared GLw library because is would depend on Motif.
 */
#ifndef SharedLibGLw
#define SharedLibGLw		NO	/* HasSharedLibraries */
#endif
#ifndef NormalLibGLw
#define NormalLibGLw		YES	/* (!SharedLibGLw | ForceNormalLib) */
#endif
#ifndef DebugLibGLw
#define DebugLibGLw		NO	/* debugged widget library */
#endif
#ifndef ProfileLibGLw
#define ProfileLibGLw		NO	/* profiled widget library */
#endif
#ifndef GLwUseXmStubs
#define GLwUseXmStubs		NO	/* create stub (weak) Motif symbols */
#endif
#endif /* BuildGLXLibrary */

#ifndef SharedLibXext
#define SharedLibXext HasSharedLibraries
#endif
#ifndef NormalLibXext
#define NormalLibXext (!SharedLibXext | ForceNormalLib)
#endif
#ifndef DebugLibXext
#define DebugLibXext		NO	/* debugged Xext library */
#endif
#ifndef ProfileLibXext
#define ProfileLibXext		NO	/* profiled Xext library */
#endif
      XEXTLIBSRC = $(LIBSRC)/Xext
#if SharedLibXext
#ifndef SharedXextRev
#define SharedXextRev 6.4
#endif
SharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),SOXEXTREV,SharedXextRev)
#else
ProjectUnsharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),XBuildLibDir)
#endif
LINTEXTENSIONLIB = $(LINTEXTENSION)
          DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
             XLIB = $(EXTENSIONLIB) $(XONLYLIB)
         LINTXLIB = $(LINTXONLYLIB)

    XSSLIBSRC = $(LIBSRC)/Xss
#if SharedLibXss
#ifndef SharedXssRev
#define SharedXssRev 1.0
#endif
SharedLibReferences(XSS,Xss,$(XSSLIBSRC),SOXSSREV,SharedXssRev)
#else
ProjectUnsharedLibReferences(XSS,Xss,$(XSSLIBSRC),XBuildLibDir)
#endif

    XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc
#if SharedLibXxf86misc
#ifndef SharedXxf86miscRev
#define SharedXxf86miscRev 1.0
#endif
SharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),SOXXF86MISCREV,SharedXxf86miscRev)
#else
ProjectUnsharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),XBuildLibDir)
#endif

    XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm
#if SharedLibXxf86vm
#ifndef SharedXxf86vmRev
#define SharedXxf86vmRev 1.0
#endif
SharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),SOXXF86VMREV,SharedXxf86vmRev)
#else
ProjectUnsharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),XBuildLibDir)
#endif

    XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga
#if SharedLibXxf86dga
#ifndef SharedXxf86dgaRev
#define SharedXxf86dgaRev 1.0
#endif
SharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),SOXXF86DGAREV,SharedXxf86dgaRev)
#else
ProjectUnsharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),XBuildLibDir)
#endif


    XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush
#if SharedLibXxf86rush
#ifndef SharedXxf86rushRev
#define SharedXxf86rushRev 1.0
#endif
SharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),SOXXF86RUSHREV,SharedXxf86rushRev)
#else
ProjectUnsharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),XBuildLibDir)
#endif


    XVLIBSRC = $(LIBSRC)/Xv
#if SharedLibXv
#ifndef SharedXvRev
#define SharedXvRev 1.0
#endif
SharedLibReferences(XV,Xv,$(XVLIBSRC),SOXVREV,SharedXvRev)
#else
ProjectUnsharedLibReferences(XV,Xv,$(XVLIBSRC),XBuildLibDir)
#endif


    XVMCLIBSRC = $(LIBSRC)/XvMC
#if SharedLibXvMC
#ifndef SharedXvMCRev
#define SharedXvMCRev 1.0
#endif
SharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),SOXVMCREV,SharedXvMCRev)
#else
ProjectUnsharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),XBuildLibDir)
#endif

    XINERAMALIBSRC = $(LIBSRC)/Xinerama
#if SharedLibXinerama
#ifndef SharedXineramaRev
#define SharedXineramaRev 1.0
#endif
SharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),SOXINERAMAREV,SharedXineramaRev)
#else
ProjectUnsharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),XBuildLibDir)
#endif

    DPSLIBSRC = $(LIBSRC)/dps
#if SharedLibDps
#ifndef SharedDpsRev
#define SharedDpsRev 1.0
#endif
SharedLibReferences(DPS,dps,$(DPSLIBSRC),SODPSREV,SharedDpsRev)
#else
ProjectUnsharedLibReferences(DPS,dps,$(DPSLIBSRC),XBuildLibDir)
#endif

    DPSTKLIBSRC = $(LIBSRC)/dpstk
#if SharedLibDpsTk
#ifndef SharedDpsTkRev
#define SharedDpsTkRev 1.0
#endif
SharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),SODPSTKREV,SharedDpsTkRev)
#else
ProjectUnsharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),XBuildLibDir)
#endif

    PSRESLIBSRC = $(LIBSRC)/psres
#if SharedLibPSRes
#ifndef SharedPSResRev
#define SharedPSResRev 1.0
#endif
SharedLibReferences(PSRES,psres,$(PSRESLIBSRC),SOPSRESREV,SharedPSResRev)
#else
ProjectUnsharedLibReferences(PSRES,psres,$(PSRESLIBSRC),XBuildLibDir)
#endif

    GLULIBSRC = $(LIBSRC)/GLU
#if SharedLibGlu
#ifndef SharedGluRev
#define SharedGluRev 1.3
#endif
SharedLibReferences(GLU,GLU,$(GLULIBSRC),SOGLUREV,SharedGluRev)
#else
ProjectUnsharedLibReferences(GLU,GLU,$(GLULIBSRC),XBuildLibDir)
#endif

    GLXLIBSRC = $(LIBSRC)/GL
#if SharedLibGlx
#ifndef SharedGlxRev
#define SharedGlxRev 1.2
#endif
SharedLibReferences(GLX,GL,$(GLXLIBSRC),SOGLREV,SharedGlxRev)
#else
ProjectUnsharedLibReferences(GLX,GL,$(GLXLIBSRC),XBuildLibDir)
#endif
    GLWIDGETSRC = $(LIBSRC)/GLw
#if SharedLibGLw
#ifndef SharedGLwRev
#define SharedGLwRev 1.0		/* used to name the shared library */
#endif
SharedDSLibReferences(GLW,GLw,$(GLWIDGETSRC),SOGLWREV,SharedGLwRev)
#else
ProjectUnsharedLibReferences(GLW,GLw,$(GLWIDGETSRC),XBuildLibDir)
#endif

    XRENDERLIBSRC = $(LIBSRC)/Xrender
#if SharedLibXrender
#ifndef SharedXrenderRev
#define SharedXrenderRev 1.1
#endif
SharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),SOXRENDERREV,SharedXrenderRev)
#else
ProjectUnsharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),XBuildLibDir)
#endif

    XRANDRRLIBSRC = $(LIBSRC)/Xrandr
#if SharedLibXrandr
#ifndef SharedXrandrRev
#define SharedXrandrRev 1.0
#endif
SharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),SOXRANDRREV,SharedXrandrRev)
#else
ProjectUnsharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),XBuildLibDir)
#endif

# ifndef SharedLibXfontcache
#  define SharedLibXfontcache	NO
# endif
# ifndef NormalLibXfontcache
#  define NormalLibXfontcache	YES
# endif
# ifndef DebugLibXfontcache
#  define DebugLibXfontcache	NO
# endif
# ifndef ProfileLibXfontcache
#  define ProfileLibXfontcache	NO
# endif

    XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache
#if SharedLibXfontcache
#ifndef SharedXfontcacheRev
#define SharedXfontcacheRev 1.2
#endif
SharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),SOXFONTCACHEREV,SharedXfontcacheRev)
#else
ProjectUnsharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibXau
#define SharedLibXau NO		/* don't need shared form */
#endif
#ifndef NormalLibXau
#define NormalLibXau (!SharedLibXau | ForceNormalLib)
#endif
#ifndef DebugLibXau
#define DebugLibXau		NO	/* debugged auth library */
#endif
#ifndef ProfileLibXau
#define ProfileLibXau		NO	/* profiled auth library */
#endif
         XAUTHSRC = $(LIBSRC)/Xau
#if SharedLibXau
#ifndef SharedXauRev
#define SharedXauRev 6.0
#endif
SharedLibReferences(XAUTH,Xau,$(XAUTHSRC),SOXAUTHREV,SharedXauRev)
#else
ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),XBuildLibDir)
#endif

#ifndef SharedLibXdmcp
#define SharedLibXdmcp NO	/* don't need shared form */
#endif
#ifndef NormalLibXdmcp
#define NormalLibXdmcp (!SharedLibXdmcp | ForceNormalLib)
#endif
#ifndef DebugLibXdmcp
#define DebugLibXdmcp		NO	/* debugged XDMCP library */
#endif
#ifndef ProfileLibXdmcp
#define ProfileLibXdmcp		NO	/* profiled XDMCP library */
#endif
      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
#if SharedLibXdmcp
#ifndef SharedXdmcpRev
#define SharedXdmcpRev 6.0
#endif
SharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),SOXDMCPREV,SharedXdmcpRev)
#else
ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibXmu
#define SharedLibXmu HasSharedLibraries
#endif
#ifndef NormalLibXmu
#define NormalLibXmu (!SharedLibXmu | ForceNormalLib)
#endif
#ifndef DebugLibXmu
#define DebugLibXmu		NO	/* debugged Xmu library */
#endif
#ifndef ProfileLibXmu
#define ProfileLibXmu		NO	/* profiled Xmu library */
#endif
           XMUSRC = $(LIBSRC)/Xmu
#if SharedLibXmu
#ifndef SharedXmuRev
#define SharedXmuRev 6.2
#endif
SharedDSLibReferences(XMU,Xmu,$(XMUSRC),SOXMUREV,SharedXmuRev)
#else
ProjectUnsharedLibReferences(XMU,Xmu,$(XMUSRC),XBuildLibDir)
#endif

#ifndef SharedLibXmuu
#define SharedLibXmuu HasSharedLibraries
#endif
#ifndef NormalLibXmuu
#define NormalLibXmuu 		(!SharedLibXmuu | ForceNormalLib)
#endif
#ifndef DebugLibXmuu
#define DebugLibXmuu		NO	/* debugged Xmuu library */
#endif
#ifndef ProfileLibXmuu
#define ProfileLibXmuu		NO	/* profiled Xmuu library */
#endif
           XMUUSRC = $(LIBSRC)/Xmuu
#if SharedLibXmuu
#ifndef SharedXmuuRev
#define SharedXmuuRev 1.0
#endif
SharedLibReferences(XMUU,Xmuu,$(XMUUSRC),SOXMUUREV,SharedXmuuRev)
#else
ProjectUnsharedLibReferences(XMUU,Xmuu,$(XMUUSRC),XBuildLibDir)
#endif

#ifndef SharedOldX
#define SharedOldX HasSharedLibraries
#endif
#ifndef NormalOldX
#define NormalOldX (!SharedOldX | ForceNormalLib)
#endif
#ifndef DebugOldX
#define DebugOldX		NO	/* debugged old X library */
#endif
#ifndef ProfileOldX
#define ProfileOldX		NO	/* profiled old X library */
#endif
       OLDXLIBSRC = $(LIBSRC)/oldX
#if SharedOldX
#ifndef SharedOldXRev
#define SharedOldXRev 6.0
#endif
SharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),SOOLDXREV,SharedOldXRev)
#else
ProjectUnsharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibXp
#define SharedLibXp HasSharedLibraries
#endif
#ifndef NormalLibXp
#define NormalLibXp (!SharedLibXp | ForceNormalLib)
#endif
#ifndef DebugLibXp
#define DebugLibXp              NO      /* debugged Xp library */
#endif
#ifndef ProfileLibXp
#define ProfileLibXp            NO      /* profiled Xp library */
#endif
         XPLIBSRC = $(LIBSRC)/Xp
#if SharedLibXp
#ifndef SharedXpRev
#define SharedXpRev 6.2
#endif
SharedLibReferences(XP,Xp,$(XPLIBSRC),SOXPREV,SharedXpRev)
#else
ProjectUnsharedLibReferences(XP,Xp,$(XPLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibXt
#define SharedLibXt HasSharedLibraries
#endif
#ifndef NormalLibXt
#define NormalLibXt (!SharedLibXt | ForceNormalLib)
#endif
#ifndef DebugLibXt
#define DebugLibXt		NO	/* debugged toolkit library */
#endif
#ifndef ProfileLibXt
#define ProfileLibXt		NO	/* profiled toolkit library */
#endif
       TOOLKITSRC = $(LIBSRC)/Xt
#if SharedLibXt
#ifndef SharedXtRev
#define SharedXtRev 6.0
#endif
SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev)
#else
ProjectUnsharedLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),XBuildLibDir)
#endif
      DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
         XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
     LINTXTOOLLIB = $(LINTXTOOLONLYLIB)

#ifndef SharedLibXa
#define SharedLibXa	(HasSharedLibraries & HasCplusplus)
#endif
#ifndef NormalLibXa
/* #define NormalLibXa	((!SharedLibXa | ForceNormalLib) & HasCplusplus) */
#define NormalLibXa	YES /* needed for current tests, will correct later */
#endif
#ifndef DebugLibXa
#define DebugLibXa	NO	/* debugged audio library */
#endif
#ifndef ProfileLibXa
#define ProfileLibXa	NO	/* profiled audio library */
#endif
       XALIBSRC = $(LIBSRC)/Xa
#if SharedLibXa
#ifndef SharedXaRev
#define SharedXaRev 1.0
#endif
SharedLibReferences(XA,Xa,$(XALIBSRC),SOXAREV,SharedXaRev)
#else
UnsharedLibReferences(XA,Xa,$(XALIBSRC))
#endif

#ifndef SharedLibXaw
#define SharedLibXaw HasSharedLibraries
#endif
#ifndef NormalLibXaw
#define NormalLibXaw (!SharedLibXaw | ForceNormalLib)
#endif
#ifndef DebugLibXaw
#define DebugLibXaw		NO	/* debugged widget library */
#endif
#ifndef ProfileLibXaw
#define ProfileLibXaw		NO	/* profiled widget library */
#endif
       AWIDGETSRC = $(LIBSRC)/Xaw
#if SharedLibXaw
#ifndef SharedXawRev
#define SharedXawRev 7.0
#endif
SharedDSLibReferences(XAW,Xaw,$(AWIDGETSRC),SOXAWREV,SharedXawRev)
#else
ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGETSRC),XBuildLibDir)
#endif

#ifndef BuildXaw6
#define BuildXaw6 HasSharedLibraries
#endif

#if BuildXaw6
#ifndef SharedLibXaw6
#define SharedLibXaw6 HasSharedLibraries
#endif
#ifndef NormalLibXaw6
#define NormalLibXaw6		NO
#endif
#ifndef DebugLibXaw6
#define DebugLibXaw6		NO	/* debugged widget library */
#endif
#ifndef ProfileLibXaw6
#define ProfileLibXaw6		NO	/* profiled widget library */
#endif
       AWIDGET6SRC = $(LIBSRC)/Xaw6
#if SharedLibXaw6
#ifndef SharedXaw6Rev
#define SharedXaw6Rev 6.1
#endif
SharedDSLibReferences(XAW6,Xaw,$(AWIDGET6SRC),SOXAW6REV,SharedXaw6Rev)
#else
ProjectUnsharedLibReferences(XAW6,Xaw,$(AWIDGET6SRC),XBuildLibDir)
#endif
#endif

#ifndef SharedLibXi
#define SharedLibXi HasSharedLibraries
#endif
#ifndef NormalLibXi
#define NormalLibXi (!SharedLibXi | ForceNormalLib)
#endif
#ifndef DebugLibXi
#define DebugLibXi		NO	/* debugged Xi library */
#endif
#ifndef ProfileLibXi
#define ProfileLibXi		NO	/* profiled Xi library */
#endif
         XILIBSRC = $(LIBSRC)/Xi
#if SharedLibXi
#ifndef SharedXiRev
#define SharedXiRev 6.0
#endif
SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev)
#else
ProjectUnsharedLibReferences(XI,Xi,$(XILIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibXtst
#define SharedLibXtst HasSharedLibraries
#endif
#ifndef NormalLibXtst
#define NormalLibXtst (!SharedLibXtst | ForceNormalLib)
#endif
#ifndef DebugLibXtst
#define DebugLibXtst		NO	/* debugged Xtst library */
#endif
#ifndef ProfileLibXtst
#define ProfileLibXtst		NO	/* profiled Xtst library */
#endif
      XTESTLIBSRC = $(LIBSRC)/Xtst
#if SharedLibXtst
#ifndef SharedXtstRev
#define SharedXtstRev 6.1
#endif
SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev)
#else
ProjectUnsharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibPex
#define SharedLibPex HasSharedLibraries
#endif
#ifndef NormalLibPex
#define NormalLibPex (!SharedLibPex | ForceNormalLib)
#endif
#ifndef DebugLibPex
#define DebugLibPex		NO	/* debugged PEX5 library */
#endif
#ifndef ProfileLibPex
#define ProfileLibPex		NO	/* profiled PEX5 library */
#endif
        PEXLIBSRC = $(LIBSRC)/PEX5
#if SharedLibPex
#ifndef SharedPexRev
#define SharedPexRev 6.0
#endif
SharedLibReferences(PEX,PEX5,$(PEXLIBSRC),SOPEXREV,SharedPexRev)
#else
ProjectUnsharedLibReferences(PEX,PEX5,$(PEXLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibXie
#define SharedLibXie HasSharedLibraries
#endif
#ifndef NormalLibXie
#define NormalLibXie (!SharedLibXie | ForceNormalLib)
#endif
#ifndef DebugLibXie
#define DebugLibXie		NO	/* debugged XIE library */
#endif
#ifndef ProfileLibXie
#define ProfileLibXie		NO	/* profiled XIE library */
#endif
        XIELIBSRC = $(LIBSRC)/XIE
#if SharedLibXie
#ifndef SharedXieRev
#define SharedXieRev 6.0
#endif
SharedLibReferences(XIE,XIE,$(XIELIBSRC),SOXIEREV,SharedXieRev)
#else
ProjectUnsharedLibReferences(XIE,XIE,$(XIELIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibPhigs
#define SharedLibPhigs NO	/* XXX - haven't made it sharable yet */
#endif
#ifndef NormalLibPhigs
#define NormalLibPhigs (!SharedLibPhigs | ForceNormalLib)
#endif
      PHIGSLIBSRC = $(LIBSRC)/PHIGS
#if SharedLibPhigs
#ifndef SharedPhigsRev
#define SharedPhigsRev 6.0
#endif
SharedLibReferences(PHIGS,phigs,$(PHIGSLIBSRC),SOPHIGSREV,SharedPhigsRev)
#else
ProjectUnsharedLibReferences(PHIGS,phigs,$(PHIGSLIBSRC),XBuildLibDir)
#endif

ProjectUnsharedLibReferences(XBSD,Xbsd,$(LIBSRC)/Xbsd,XBuildLibDir)

#ifndef SharedLibICE
#define SharedLibICE HasSharedLibraries
#endif
#ifndef NormalLibICE
#define NormalLibICE (!SharedLibICE | ForceNormalLib)
#endif
#ifndef DebugLibICE
#define DebugLibICE		NO	/* debugged ICE library */
#endif
#ifndef ProfileLibICE
#define ProfileLibICE		NO	/* profiled ICE library */
#endif
           ICESRC = $(LIBSRC)/ICE
#if SharedLibICE
#ifndef SharedICERev
#define SharedICERev 6.3
#endif
SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev)
#else
ProjectUnsharedLibReferences(ICE,ICE,$(ICESRC),XBuildLibDir)
#endif

#ifndef SharedLibSM
#define SharedLibSM HasSharedLibraries
#endif
#ifndef NormalLibSM
#define NormalLibSM (!SharedLibSM | ForceNormalLib)
#endif
#ifndef DebugLibSM
#define DebugLibSM		NO	/* debugged SM library */
#endif
#ifndef ProfileLibSM
#define ProfileLibSM		NO	/* profiled SM library */
#endif
            SMSRC = $(LIBSRC)/SM
#if SharedLibSM
#ifndef SharedSMRev
#define SharedSMRev 6.0
#endif
SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev)
#else
ProjectUnsharedLibReferences(SM,SM,$(SMSRC),XBuildLibDir)
#endif

#ifndef SharedLibXkey
#define SharedLibXkey HasSharedLibraries
#endif
#ifndef NormalLibXkey
#define NormalLibXkey (!SharedLibXkey | ForceNormalLib)
#endif
#ifndef DebugLibXkey
#define DebugLibXkey		NO	/* debugged Xkey library */
#endif
#ifndef ProfileLibXkey
#define ProfileLibXkey		NO	/* profiled Xkey library */
#endif
           XKEYSRC = $(LIBSRC)/Xkey
#if SharedLibXkey
#ifndef SharedXkeyRev
#define SharedXkeyRev 6.0
#endif
SharedLibReferences(XKEY,Xkey,$(XKEYSRC),SOXKEYREV,SharedXkeyRev)
#else
ProjectUnsharedLibReferences(XKEY,Xkey,$(XKEYSRC),XBuildLibDir)
#endif

#ifndef SharedLibFS
#define SharedLibFS		NO	/* for now */
#endif
#ifndef NormalLibFS
#define NormalLibFS (!SharedLibFS | ForceNormalLib)
#endif
#ifndef DebugLibFS
#define DebugLibFS		NO	/* debugged FS library */
#endif
#ifndef ProfileLibFS
#define ProfileLibFS		NO	/* profiled FS library */
#endif
         FSLIBSRC = $(LIBSRC)/FS
#if SharedLibFS
#ifndef SharedFSRev
#define SharedFSRev 6.0
#endif
SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev)
#else
ProjectUnsharedLibReferences(FS,FS,$(FSLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibFont
#define SharedLibFont HasSharedLibraries
#endif
#ifndef NormalLibFont
#define NormalLibFont (!SharedLibFont | ForceNormalLib | XserverStaticFontLib)
#endif
#ifndef DebugLibFont
#define DebugLibFont		NO	/* debugged Font library */
#endif
#ifndef ProfileLibFont
#define ProfileLibFont		NO	/* profiled Font library */
#endif
         FONTLIBSRC = $(LIBSRC)/font
#if SharedLibFont
#ifndef SharedFontRev
#define SharedFontRev 1.4
#endif
SharedFontLibReferences()
XCOMM SharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),SOFONTREV,SharedFontRev)
#else
ProjectUnsharedFontLibReferences()
XCOMM ProjectUnsharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),XBuildLibDir)
#endif

     FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs
ProjectUnsharedLibReferences(FONTSTUB,fntstubs,$(FONTSUBLIBSRC),XBuildLibDir)
         DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB)
            FONTLIB = $(XFONTLIB) $(FONTSTUBLIB)


#ifndef SharedLibFontEnc
#define SharedLibFontEnc	NO
#endif
#ifndef NormalLibFontEnc
#define NormalLibFontEnc (!SharedLibFontEnc | ForceNormalLib)
#endif
#ifndef DebugLibFontEnc
#define DebugLibFontEnc		NO	/* debugged fontenc library */
#endif
#ifndef ProfileLibFontEnc
#define ProfileLibFontEnc	NO	/* profiled fontenc library */
#endif
         FONTENCLIBSRC = $(LIBSRC)/fontenc
#if SharedLibFontEnc
#ifndef SharedFontEncRev
#define SharedFontEncRev 1.0
#endif
SharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),SOFONTENCREV,SharedFontEncRev)
#else
ProjectUnsharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibXpm
#define SharedLibXpm HasSharedLibraries
#endif
#ifndef NormalLibXpm
#define NormalLibXpm (!SharedLibXpm | ForceNormalLib)
#endif
#ifndef DebugLibXpm
#define DebugLibXpm		NO
#endif
#ifndef ProfileLibXpm
#define ProfileLibXpm		NO
#endif
          XPMLIBSRC = $(LIBSRC)/Xpm
#if SharedLibXpm
#ifndef SharedXpmRev
#define SharedXpmRev 4.11
#endif
SharedLibReferences(XPM,Xpm,$(XPMLIBSRC),SOXPMREV,SharedXpmRev)
#else
ProjectUnsharedLibReferences(XPM,Xpm,$(XPMLIBSRC),XBuildLibDir)
#endif

#ifndef SharedLibFreetype2
#define SharedLibFreetype2 HasSharedLibraries
#endif
#ifndef NormalLibFreetype2
#define NormalLibFreetype2 (!SharedLibFreetype2 | ForceNormalLib)
#endif
#ifndef DebugLibFreetype2
#define DebugLibFreetype2		NO
#endif
#ifndef ProfileLibFreetype2
#define ProfileLibFreetype2		NO
#endif
          FREETYPE2LIBSRC = $(LIBSRC)/freetype2

/* FreeType 2.0.6, version_info 8:0:2 */
#ifndef Freetype2Version
#define Freetype2Version 8.0.2
#endif

#if SharedLibFreetype2
#ifndef SharedFreetype2Rev
#if LibtoolMinorVersions
#define SharedFreetype2Rev 6.2
#else
#define SharedFreetype2Rev 8.0
#endif
#endif
SharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),SOFREETYPE2REV,SharedFreetype2Rev)
#else
ProjectUnsharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),XBuildLibDir)
#endif

#if UseFreetype2

#if BuildFreetype2Library
FREETYPE2INCLUDES=$(TOP_X_INCLUDES)/freetype2
FREETYPE2DEFINES=-DFREETYPE2
#else

#if HasFreetype2

#ifndef Freetype2Dir
#define Freetype2Dir /usr
#endif

#ifndef Freetype2LibDir
#define Freetype2LibDir Freetype2Dir/lib
#endif

#ifndef Freetype2IncDir
#define Freetype2IncDir Freetype2Dir/include/freetype2
#endif

FREETYPE2DIR = Freetype2Dir
FREETYPE2LIBDIR = Freetype2LibDir
FREETYPE2INCDIR = Freetype2IncDir
FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)
FREETYPE2LIB = -L$(FREETYPE2LIBDIR) -lfreetype
FREETYPE2DEFINES = -DFREETYPE2
#endif

#endif
#endif

#ifndef SharedLibXft
#define SharedLibXft HasSharedLibraries
#endif
#ifndef NormalLibXft
#define NormalLibXft (!SharedLibXft | ForceNormalLib)
#endif
#ifndef DebugLibXft
#define DebugLibXft		NO
#endif
#ifndef ProfileLibXft
#define ProfileLibXft		NO
#endif
          XFTLIBSRC = $(LIBSRC)/Xft
#if SharedLibXft
#ifndef SharedXftRev
#define SharedXftRev 1.1
#endif
SharedLibReferences(XFT,Xft,$(XFTLIBSRC),SOXFTREV,SharedXftRev)
#else
ProjectUnsharedLibReferences(XFT,Xft,$(XFTLIBSRC),XBuildLibDir)
#endif

#ifndef XftClientDepLibs
#if UseFreetype2
#define XftClientDepLibs $(DEPXFTLIB) $(DEPFREETYPE2LIB) $(DEPXRENDERLIB)
#else
#define XftClientDepLibs $(DEPXFTLIB) $(DEPXRENDERLIB)
#endif
#endif
#ifndef XftClientLibs
#if UseFreetype2
#define XftClientLibs $(XFTLIB) $(FREETYPE2LIB) $(XRENDERLIB)
#else
#define XftClientLibs $(XFTLIB) $(XRENDERLIB)
#endif
#endif

#ifndef XmuuClientDepLibs
#define XmuuClientDepLibs $(DEPXMUULIB) $(DEPXLIB)
#endif
#ifndef XmuuClientLibs
#define XmuuClientLibs $(XMUULIB) $(XLIB)
#endif

#ifndef LdLibraryPath
#define LdLibraryPath LD_LIBRARY_PATH
#endif

#if BuildXKBlib
    XKBFILELIBSRC = $(LIBSRC)/xkbfile
ProjectUnsharedLibReferences(XKBFILE,xkbfile,$(XKBFILELIBSRC),XBuildLibDir)
#ifndef XkbClientDepLibs
#if UseXKBInClients
#define XkbClientDepLibs $(DEPXKBFILELIB)
#else
#define XkbClientDepLibs /**/
#endif
#endif
#ifndef XkbClientLibs
#if UseXKBInClients
#define XkbClientLibs $(XKBFILELIB)
#else
#define XkbClientLibs /**/
#endif
#endif
#if defined(UseInstalled) || defined(OS2Architecture)
     XKBCOMPCMD = $(BINDIR)/XkbComp
#else
     XKBCOMPSRC = $(PROGRAMSRC)/XkbComp
#if CrossCompiling
     XKBCOMPCMD = $(PROGRAMSRC)/XkbComp/cross/XkbComp
#else
     XKBCOMPCMD = $(CLIENTENVSETUP) $(PRELOADSETUP) $(XBUILDBINDIR)/XkbComp
#endif
#endif
#else /* !BuildXKBlib */
#ifndef XkbClientDepLibs
#define XkbClientDepLibs
#endif
#ifndef XkbClientLibs
#define XkbClientLibs
#endif
#endif /* BuildXKBlib */

    XKBUILIBSRC = $(LIBSRC)/xkbui
ProjectUnsharedLibReferences(XKBUI,xkbui,$(XKBUILIBSRC),XBuildLibDir)
#ifndef XkbuiLibs
#define	XkbuiLibs $(XKBUILIB)
#endif
#ifndef XkbuiDepLibs
#define	XkbuiDepLibs $(DEPXKBFILELIB)
#endif

#ifndef XawClientDepLibs
#define XawClientDepLibs $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXPMLIB) $(DEPXLIB)
#endif
#ifndef XawClientLibs
#define XawClientLibs $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
#endif

#ifndef SharedLibXTrap
#define SharedLibXTrap HasSharedLibraries
#endif
#ifndef NormalLibXTrap
#define NormalLibXTrap (!SharedLibXTrap | ForceNormalLib)
#endif
#ifndef DebugLibXTrap
#define DebugLibXTrap		NO	/* debugged XTrap library */
#endif
#ifndef ProfileLibXTrap
#define ProfileLibXTrap		NO	/* profiled XTrap library */
#endif
        XTRAPLIBSRC = $(LIBSRC)/XTrap
#if SharedLibXTrap
#ifndef SharedXTrapRev
#define SharedXTrapRev 6.4
#endif
SharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),SOXTRAPREV,SharedXTrapRev)
#else
ProjectUnsharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),XBuildLibDir)
#endif

#ifndef NeedDefaultDepLibs
#define NeedDefaultDepLibs YES
#endif

#if NeedDefaultDepLibs
/*
 * Individual libraries should override this
 */
#if HasSharedLibraries || defined(UseInstalled)
          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
#else
          DEPLIBS = $(LOCAL_LIBRARIES)
#endif
         DEPLIBS1 = $(DEPLIBS)
         DEPLIBS2 = $(DEPLIBS)
         DEPLIBS3 = $(DEPLIBS)
         DEPLIBS4 = $(DEPLIBS)
         DEPLIBS5 = $(DEPLIBS)
         DEPLIBS6 = $(DEPLIBS)
         DEPLIBS7 = $(DEPLIBS)
         DEPLIBS8 = $(DEPLIBS)
         DEPLIBS9 = $(DEPLIBS)
         DEPLIBS10 = $(DEPLIBS)
#endif /* NeedDefaultDepLibs */


/*
 * InstallAppDefaults - simple rules to install application default file
 */
#ifndef InstallAppDefaults
#define InstallAppDefaults(class) InstallAppDefaultsLong(class,class)
#endif /* InstallAppDefaults */

/*
 * InstallAppDefaultsLong - general rule to install application default file
 * if the InstallAppDefFiles configuration parameter is set.
 */
#ifndef InstallAppDefaultsLong
#if UseConfDirForAppDefaults
#if InstallAppDefFiles
#define InstallAppDefaultsLong(file,class)				@@\
LinkConfDirectory(app-defaults,.,app-defaults,.)			@@\
InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
#else
#define InstallAppDefaultsLong(file,class)				@@\
LinkConfDirectory(app-defaults,.,app-defaults,.)			@@\
InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
#endif /* InstallAppDefFiles */
#else /* UseConfDirForAppDefaults */
#if InstallAppDefFiles
#define InstallAppDefaultsLong(file,class)				@@\
InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
#else
#define InstallAppDefaultsLong(file,class)				@@\
InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
#endif /* InstallAppDefFiles */
#endif /* UseConfDirForAppDefaults */
#endif /* InstallAppDefaultsLong */

/*
 * MakeXftCache - generate rules to build XftCache database
 */

#ifdef UseFreetype2

#ifndef MakeXftCache
#define MakeXftCache(deplist)						@@\
all:: XftCache								@@\
									@@\
XftCache: deplist							@@\
	RunProgram(XFTCACHE, $(XFTCACHEOPTS) .)				@@\
									@@\
clean::									@@\
	RemoveFile(XftCache)
#endif /* MakeXftCache */

#ifndef InstallXftCache
#define InstallXftCache(dest)						@@\
InstallTarget(install,XftCache,$(INSTDATFLAGS),dest)
#endif /* InstallXftCache */

#else

#ifndef MakeXftCache
#define MakeXftCache(deplist)
#endif

#ifndef InstallXftCache
#define InstallXftCache(dest)
#endif

#endif


/*
 * MakeFontsDir - generate rules to build fonts.dir database.
 */
#ifndef MakeFontsDir
#define MakeFontsDir(deplist)						@@\
all:: fonts.dir								@@\
									@@\
fonts.dir:  deplist							@@\
	RunProgram(MKFONTDIR, $(MKFONTDIROPTS) .)			@@\
									@@\
clean::									@@\
	RemoveFile(fonts.dir)
#endif /* MakeFontsDir */


/*
 * MakeFonts - generate rules to build font database.
 */
#ifndef MakeFonts
#define MakeFonts()							@@\
all::  $(OBJS)								@@\
									@@\
MakeFontsDir($(OBJS))							@@\
									@@\
clean::									@@\
	RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
#endif /* MakeFonts */


/*
 * InstallFontObjs - generate rules to install font files
 */
#ifndef InstallFontObjs
#define InstallFontObjs(objs,dest)					@@\
InstallMultipleFlags(objs,dest,$(INSTDATFLAGS))				@@\
									@@\
InstallTarget(install,fonts.dir,$(INSTDATFLAGS),dest)
#endif /* InstallFontObjs */


/*
 * InstallFonts - generate rules to install font files
 */
#ifndef InstallFonts
#define InstallFonts(dest)						@@\
InstallFontObjs($(OBJS),dest)
#endif /* InstallFonts */


/*
 * InstallFontAliases - generate rules to install font aliases databases. 
 */
#ifndef InstallFontAliases
#define InstallFontAliases(dest)					@@\
InstallTarget(install,fonts.alias,$(INSTDATFLAGS),dest)
#endif /* InstallFontAliases */

#ifndef InstallNamedFontAliases
#define InstallNamedFontAliases(src,dest)				@@\
InstallNamedTarget(install,src,$(INSTDATFLAGS),dest,fonts.alias)
#endif /* InstallNamedFontAliases */

#ifndef FontSrc
#define FontSrc(basename) basename.bdf
#endif

#ifndef FontBaseObj
#define FontBaseObj(basename)basename.pcf
#endif

/*
 * InstallFontScale - generate rules to install font scale database.
 */
#ifndef InstallFontScale
#define InstallFontScale(dest)						@@\
InstallTarget(install,fonts.scale,$(INSTDATFLAGS),dest)
#endif /* InstallFontScale */

/*
 * UncompressedFontTargetLong
 */
#ifndef UncompressedFontTargetLong
#define UncompressedFontTargetLong(sname,tname)				@@\
FontBaseObj(tname):  FontSrc(sname)					@@\
	RunProgram(FONTC,$(FONTCFLAGS) $? -o $@)
#endif /* UncompressedFontTargetLong */

/*
 * CompressedFontTarget
 */
#ifndef GzipFontCompression
#define GzipFontCompression NO
#endif

#ifndef CompressedFontTargetLong
#if GzipFontCompression
#define CompressedFontTargetLong(sname,tname)				@@\
FontBaseObj(tname).gz:  FontSrc(sname)					@@\
	RunProgram(FONTC,$(FONTCFLAGS) $?) | $(GZIPCMD) > $@
#else
#define CompressedFontTargetLong(sname,tname)				@@\
FontBaseObj(tname).Z:  FontSrc(sname)					@@\
	RunProgram(FONTC,$(FONTCFLAGS) $?) | $(COMPRESS) > $@
#endif
#endif /* CompressedFontTargetLong */

/*
 * UncompressedFontTarget
 */
#ifndef UncompressedFontTarget
#define UncompressedFontTarget(basename) UncompressedFontTargetLong(basename,basename)
#endif /* UncompressedFontTarget */

#ifndef CompressedFontTarget
#define CompressedFontTarget(basename) CompressedFontTargetLong(basename,basename)
#endif /* CompressedFontTarget */

#if !defined(FontTarget) && !defined(FontObj)
#if CompressAllFonts
#define FontTargetLong(sname,tname) CompressedFontTargetLong(sname,tname)
#define FontTarget(basename) CompressedFontTarget(basename)
#if GzipFontCompression
#define FontObj(basename) FontBaseObj(basename).gz
#else
#define FontObj(basename) FontBaseObj(basename).Z
#endif
#else
#define FontTargetLong(sname,tname) UncompressedFontTargetLong(sname,tname)
#define FontTarget(basename) UncompressedFontTarget(basename)
#define FontObj(basename) FontBaseObj(basename)
#endif /* CompressAllFonts */
#endif


#ifndef EncObj
#define EncObj(basename) basename.enc
#endif
#ifndef EncObjComp
#if GzipFontCompression
#define EncObjComp(basename) basename.enc.gz
#else
#define EncObjComp(basename) basename.enc.Z
#endif
#endif

#ifndef EncodingTarget
#define EncodingTarget(basename) /**/
#endif

#ifndef CompEncodingTarget
#if GzipFontCompression
#define CompEncodingTarget(basename)					@@\
EncObjComp(basename): EncObj(basename)					@@\
	cat $? | $(GZIPCMD) > $@
#else
#define CompEncodingTarget(basename)					@@\
EncObjComp(basename): EncObj(basename)					@@\
	cat $? | $(COMPRESS) > $@
#endif
#endif

#ifndef MakeEncDir
#define MakeEncDir(deplist,inst,dirlist )				@@\
AllTarget(encodings.dir)						@@\
									@@\
encodings.dir: deplist							@@\
	RemoveFiles(encodings.dir fonts.dir)				@@\
	@(E=; for i in dirlist; do \					@@\
	   E="$$E -e $$i"; done; \					@@\
	 set -x; \							@@\
	 RunProgram(MKFONTDIR, -n -r -p inst/ $$E .))			@@\
									@@\
clean::									@@\
	RemoveFiles(fonts.dir encodings.dir)
#endif

#ifndef MakeEncodings
#define MakeEncodings(deplist,inst,dirlist)				@@\
									@@\
MakeEncDir(deplist $(OBJS),inst,dirlist)				@@\
									@@\
clean::									@@\
	RemoveFiles(*.enc.Z *.enc.gz)
#endif /* MakeEncodings */

#ifndef InstallEncObjs
#define InstallEncObjs(objs,dest)					@@\
InstallMultipleFlags(objs,dest,$(INSTDATFLAGS))				@@\
									@@\
InstallTarget(install,encodings.dir,$(INSTDATFLAGS),dest)
#endif /* InstallEncObjs */

#ifndef InstallEncodings
#define InstallEncodings(dest)						@@\
InstallEncObjs($(OBJS),dest)
#endif /* InstallEncodings */

#ifndef InstallEncodingsDir
#define InstallEncodingsDir(edir,fdir)					@@\
InstallNamedTarget(install,edir/encodings.dir,$(INSTDATFLAGS),fdir,encodings.dir)
#endif


#ifndef MakeBdfFontFromUCSMaster
#if HasPerl5
#define MakeBdfFontFromUCSMaster(font,enc)				@@\
includes:: font-enc.bdf							@@\
									@@\
font-enc.bdf: font.bdf $(UCS2ANY)					@@\
	RemoveFile($@)							@@\
	RunPerlScript($(UCS2ANY),font.bdf $(UCSMAPPREFIX)enc enc)	@@\
									@@\
clean::									@@\
	RemoveFile(font-enc.bdf)
#endif
#endif

#ifndef MakeTruncatedUCSBdfFont
#if HasPerl5
#define MakeTruncatedUCSBdfFont(font,trunc,name)			@@\
includes:: name.bdf							@@\
									@@\
name.bdf: font.bdf $(BDFTRUNCATE)					@@\
	RemoveFile($@)							@@\
	RunPerlScript($(BDFTRUNCATE),trunc < font.bdf > name.bdf)	@@\
									@@\
clean::									@@\
	RemoveFile(name.bdf)
#endif
#endif


/*
 * MakeXkbDir
 */
#ifndef MakeXkbDir
#define MakeXkbDir(basedir,subdir)					@@\
all::   Concat(subdir,.dir)						@@\
									@@\
Concat(subdir,.dir):							@@\
	RemoveFile(Concat(subdir,.dir))					@@\
	$(XKBCOMPCMD) -lfhlpR -o Concat(subdir,.dir) '*'		@@\
									@@\
InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir)	@@\
									@@\
clean::									@@\
	RemoveFile(Concat(subdir,.dir))
#endif

/*
 * PostProcessTroffPS - by default moves the working output into place,
 * but can be a hook for more complicated post-processing.
 */
#ifndef PostProcessTroffPS
#define PostProcessTroffPS(temp,real) $(MV) temp real
#endif

#ifndef MakeDepSimpleDoc
#define MakeDepSimpleDoc(file,deps,srcs)				@@\
all:: file.PS file.txt							@@\
.PRECIOUS: file.PS							@@\
									@@\
file.PS: deps								@@\
	-$(TROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw > file.nPS \@@\
	&& PostProcessTroffPS(file.nPS,$@)				@@\
	@if grep '^[^1-9.]' index.raw; then exit 1; else test $$? -le 1; fi @@\
									@@\
file.txt: deps								@@\
	$(NROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw | $(COL) $(COLFLAGS) > $@ @@\
									@@\
clean::									@@\
	$(RM) index.raw file.nPS file.PS file.txt
#endif

#ifndef MakeSimpleDoc(file,srcs)
#define MakeSimpleDoc(file,srcs) MakeDepSimpleDoc(file,srcs,srcs)
#endif

#ifndef MakeTblDoc
#define MakeTblDoc(file,srcs)						@@\
all:: file.PS file.txt							@@\
.PRECIOUS: file.PS							@@\
									@@\
file.PS: srcs								@@\
	-$(TBL) $(XDOCMACROS) srcs | $(TROFF) $(MSMACROS) 2> index.raw > file.nPS \@@\
	&& PostProcessTroffPS(file.nPS,$@)				@@\
	@if grep '^[^1-9.]' index.raw; then exit 1; else test $$? -le 1; fi @@\
									@@\
file.txt: srcs								@@\
	$(TBL) $(XDOCMACROS) srcs | $(NROFF) $(MSMACROS) 2> index.raw | $(COL) $(COLFLAGS) > $@	@@\
									@@\
clean::									@@\
	$(RM) index.raw file.nPS file.PS file.txt
#endif

#ifndef MakeEqnDoc
#define MakeEqnDoc(file,srcs)						@@\
all:: file.PS file.txt							@@\
.PRECIOUS: file.PS							@@\
									@@\
file.PS: srcs								@@\
	-$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(TROFF) $(MSMACROS) 2> index.raw > file.nPS \@@\
	&& PostProcessTroffPS(file.nPS,$@)				@@\
	@if grep '^[^1-9.]' index.raw; then exit 1; else test $$? -le 1; fi @@\
									@@\
file.txt: srcs								@@\
	$(TBL) $(XDOCMACROS) srcs | $(NEQN) | $(NROFF) $(MSMACROS) 2> index.raw | $(COL) $(COLFLAGS) > $@ @@\
									@@\
clean::									@@\
	$(RM) index.raw file.nPS file.PS file.txt
#endif

#ifndef MakeDocIndex
#define MakeDocIndex(file,srcs)						@@\
all:: file.idx.PS							@@\
									@@\
file.idx.PS: srcs index.raw						@@\
	tail -1 index.raw > index.pageno				@@\
	grep '^[1-9]' index.raw | sort -f '-t:' +1 -3 +0n -1n | awk -f $(DOCUTILSRC)/fixindex.awk | awk -f $(DOCUTILSRC)/block.awk > index.troff @@\
	cat srcs $(XIDXMACROS) index.troff | $(TROFF) -me > file.idx.nPS \@@\
	&& $(MV) file.idx.nPS $@					@@\
	$(RM) index.troff index.pageno					@@\
									@@\
clean::									@@\
	$(RM) index.troff index.pageno file.idx.nPS file.idx.PS
#endif

#ifndef MakeLatexDoc
#if HasLatex
#define MakeLatexDoc(file,src)	 					@@\
all:: file.PS								@@\
									@@\
file.dvi: src	  							@@\
	$(LATEX) src							@@\
									@@\
file.PS: file.dvi							@@\
	$(DVIPS) -o file.nPS file && $(MV) file.nPS $@			@@\
									@@\
clean:: 								@@\
	RemoveFiles(file.nPS file.PS file.dvi file.log)			@@\
	RemoveFiles(file.aux file.toc file.lof file.lot)
#else /* HasLatex */
#define MakeLatexDoc(file,src)	 					@@\
all::									@@\
file.PS: src								@@\
	@echo "cannot make file.PS: no latex on this system"; exit 1
#endif /* HasLatex (else) */
#endif /* MakeLatexDoc */

#ifndef InstallDoc
#define InstallDoc(name,deps)						@@\
install:: deps								@@\
	MakeDir($(DESTDIR)$(DOCPSDIR))					@@\
	@if [ -f name.PS ]; then set -x; \				@@\
	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.PS $(DESTDIR)$(DOCPSDIR); \ @@\
	fi								@@\
	MakeDir($(DESTDIR)$(DOCDIR))					@@\
	@if [ -f name.txt ]; then set -x; \				@@\
	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.txt $(DESTDIR)$(DOCDIR)/name.TXT; \ @@\
	fi
#endif

#ifndef InstallRoffDoc
#define InstallRoffDoc(name) InstallDoc(name,name.PS name.txt)
#endif

#ifndef InstallLatexDoc
#if HasLatex
#define InstallLatexDoc(name) InstallDoc(name,name.PS)
#else
#define InstallLatexDoc(name)
#endif
#endif

#ifndef InstallHardcopyDoc
#define InstallHardcopyDoc(name,deps)					@@\
all:: deps								@@\
	@if [ -f name.PS.gz ]; then set -x; \				@@\
	  RemoveFile(name.PS); \					@@\
	  gzip -d < name.PS.gz > name.PS; \				@@\
	fi								@@\
									@@\
clean::									@@\
	@if [ -f name.PS.gz ]; then set -x; \				@@\
	  RemoveFile(name.PS); \					@@\
	fi								@@\
									@@\
InstallDoc(name,deps)
#endif


/*
 * Rule for maintainers to use to updated generated copies of fonts in the
 * source tree.  Use with care.
 */

#ifndef UpdateDerivedFont
#define UpdateDerivedFont(src,dst)					@@\
update.fonts:: src							@@\
	-@if [ -f dst ]; then \						@@\
	    if [ "$(FORCEUPDATE)" = yes ]; then \			@@\
		if [ "$(FOLLOWLINK)" = no ]; then \			@@\
			(set -x; $(RM) dst); \				@@\
		fi; \							@@\
		set -x; cp src dst; \					@@\
	    else \							@@\
		grep -v "XFree86:" src > __tmp1__; \			@@\
		grep -v "XFree86:" dst > __tmp2__; \			@@\
		if diff __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \	@@\
		else \							@@\
			if [ "$(FOLLOWLINK)" = no ]; then \		@@\
				(set -x; $(RM) dst); \			@@\
			fi; \						@@\
			set -x; cp src dst; \					@@\
		fi; \							@@\
	    fi; \							@@\
	fi								@@\
	@$(RM) __tmp1__ __tmp2__
#endif

