1XCOMM ----------------------------------------------------------------------
2XCOMM X Window System Build Parameters and Rules
3XCOMM $XdotOrg: xc/config/cf/X11.tmpl,v 1.52 2005/09/22 23:54:18 alanc Exp $
4XCOMM $Xorg: X11.tmpl,v 1.6 2000/08/17 19:41:46 cpqbld Exp $
5XCOMM
6XCOMM
7XCOMM
8XCOMM
9XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.248 2004/02/16 04:07:37 dawes Exp $
10
11/***************************************************************************
12 *                                                                         *
13 *                            DEFAULT DEFINITIONS                          *
14 *                                                                         *
15 * The following section contains defaults for things that can             *
16 * overridden in the various *.cf and site.def files.  DO NOT EDIT!        *
17 *                                                                         *
18 **************************************************************************/
19
20#define ProjectX		604	/* do *not* change this line */
21
22/* The following project-specific rules are defined at the end of this file:
23 *
24 * InstallAppDefaults		(class)
25 * InstallAppDefaultsLong	(file,class)
26 * MakeFontsDir			(deplist)
27 * MakeFcCache			(deplist)
28 * MakeFonts			()
29 * InstallFontObjs		(objs,dest)
30 * InstallFonts			(dest)
31 * InstallFontAliases		(dest)
32 * InstallFcCache		(dest)
33 * FontSrc			(basename)
34 * FontBaseObj			(basename)
35 * InstallFontScale		(dest)
36 * UncompressedFontTarget	(basename)
37 * CompressedFontTarget		(basename)
38 * FontTarget			(basename)
39 * FontObj			(basename)
40 * MakeXkbDir			(basedir,subdir)
41 */
42
43/* X.Org release string */
44#ifndef XOrgReleaseString
45# if defined XorgVersionString
46#   define XOrgReleaseString	Release XorgVersionString
47# else
48#   define XOrgReleaseString	Release 7
49# endif
50#endif
51
52#ifndef XOrgManNameString
53#define XOrgManNameString	X Version 11
54#endif
55#ifndef XOrgNameString
56# define XOrgNameString   The X.Org Foundation
57#endif
58#ifndef XOrgNameStringShort
59# define XOrgNameStringShort   X.Org
60#endif
61#ifndef XOrgStdFilePrefix
62# define XOrgStdFilePrefix     xorg
63#endif
64#ifndef XOrgWebSupportAddress
65# define XOrgWebSupportAddress http://wiki.X.Org
66#endif
67
68XORGRELSTRING = XorgManVersionString
69  XORGMANNAME = XOrgManNameString
70
71#ifndef XOrgManDefs
72#define XOrgManDefs -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
73#endif
74
75#ifndef XVendorManNameString
76#define XVendorManNameString XOrgManNameString
77#endif
78#ifndef XVendorManVersionString
79#define XVendorManVersionString XOrgReleaseString
80#endif
81#ifndef XVendorNameString
82# define XVendorNameString XOrgNameString
83#endif
84#ifndef XVendorNameStringShort
85# define XVendorNameStringShort XOrgNameStringShort
86#endif
87#ifndef XVendorWebSupport
88# define XVendorWebSupport XOrgWebSupportAddress
89#endif
90#ifndef XVendorStdFilePrefix
91# define XVendorStdFilePrefix XOrgStdFilePrefix
92#endif
93
94#ifndef VendorManDefs
95#define VendorManDefs -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)"
96#endif
97
98#ifndef VendorDefines
99#define VendorDefines -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"'
100#endif
101
102#ifndef VendorSupportDefines
103# if defined XVendorWebSupport
104#  define VendorSupportDefines -D__VENDORDWEBSUPPORT__='"$(VENDORWEBSUPPORT)"'
105# endif
106#endif
107/*
108 * X-specific things
109 */
110#if CrossCompiling && !defined(UseInstalledOnCrossCompile)
111# if defined(UseInstalled)
112#  define UseInstalledOnCrossCompile YES
113# else
114#  define UseInstalledOnCrossCompile NO
115# endif
116#endif
117
118#ifndef HasXServer
119#define HasXServer		YES
120#endif
121/* xorg.cf sets XorgServer to YES - to build Xorg you must include xorg.cf
122 * from the .cf file for your platform.
123 */
124#ifndef XorgServer
125#define XorgServer		NO
126#endif
127#ifndef BuildServer
128#define BuildServer		HasXServer
129#endif
130#ifndef BuildServersOnly
131#define BuildServersOnly	NO
132#endif
133#ifndef BuildClients
134#define BuildClients		!BuildServersOnly
135#endif
136#ifndef BuildDocs
137#define BuildDocs		!BuildServersOnly
138#endif
139#ifndef BuildDmx
140#define BuildDmx		NO
141#endif
142#ifndef XdmxServer
143#define XdmxServer		BuildDmx
144#endif
145#ifndef BuildLibrariesForDmx
146#define BuildLibrariesForDmx	XdmxServer
147#endif
148#ifndef BuildLibraries
149#define BuildLibraries		(!BuildServersOnly || BuildClients || \
150				 BuildLibrariesForDmx)
151#endif
152#ifndef BuildLibrariesForXServers
153#define BuildLibrariesForXServers	BuildServer
154#endif
155#ifndef BuildFontServer
156#define BuildFontServer		YES
157#endif
158#ifndef XserverStaticFontLib
159#define XserverStaticFontLib	YES
160#endif
161#ifndef BuildSpeedo
162#define BuildSpeedo		NO
163#endif
164#ifndef BuildType1
165#define BuildType1		NO
166#endif
167#ifndef BuildCID
168#define BuildCID		YES
169#endif
170#ifndef BuildFreeType
171#define BuildFreeType		NO
172#endif
173#ifndef BuildBuiltinFonts
174#define BuildBuiltinFonts	NO
175#endif
176#ifndef BuildFonts
177#define BuildFonts		(BuildServer | BuildFontServer)
178#endif
179#ifndef Build75DpiFonts
180#define Build75DpiFonts		YES
181#endif
182#ifndef Build100DpiFonts
183#define Build100DpiFonts	YES
184#endif
185#ifndef BuildSpeedoFonts
186#define BuildSpeedoFonts	NO
187#endif
188#ifndef BuildType1Fonts
189#define BuildType1Fonts		YES
190#endif
191#ifndef BuildCIDFonts
192#define BuildCIDFonts		YES
193#endif
194#ifndef BuildTrueTypeFonts
195#define BuildTrueTypeFonts	YES
196#endif
197#ifndef BuildBethMarduthoFonts
198#define BuildBethMarduthoFonts	NO
199#endif
200#ifndef BuildEthiopicFonts
201#define BuildEthiopicFonts	NO
202#endif
203#ifndef BuildCyrillicFonts
204#define BuildCyrillicFonts	YES
205#endif
206/* Some bdf font generation details.  The scripts for this require perl. */
207#ifndef TruncateUCSFonts
208#define TruncateUCSFonts	HasPerl5
209#endif
210#ifndef MaxUCSChar
211#define MaxUCSChar		0x3200
212#endif
213#ifndef DerivedUCSFonts
214#define DerivedUCSFonts		YES
215#endif
216/* These primarily control generation of derived 8-bit fonts. */
217#ifndef BuildUCSFonts
218#define BuildUCSFonts		YES
219#endif
220/* Setting BuildISO8859_1Fonts to NO may result in problems. */
221#ifndef BuildISO8859_1Fonts
222#define BuildISO8859_1Fonts	YES
223#endif
224#ifndef BuildISO8859_2Fonts
225#define BuildISO8859_2Fonts	YES
226#endif
227#ifndef BuildISO8859_3Fonts
228#define BuildISO8859_3Fonts	YES
229#endif
230#ifndef BuildISO8859_4Fonts
231#define BuildISO8859_4Fonts	YES
232#endif
233#ifndef BuildISO8859_5Fonts
234#define BuildISO8859_5Fonts	BuildCyrillicFonts
235#endif
236#ifndef BuildArabicFonts
237#define BuildArabicFonts	YES
238#endif
239#ifndef BuildISO8859_6Fonts
240#define BuildISO8859_6Fonts	BuildArabicFonts
241#endif
242#ifndef BuildGreekFonts
243#define BuildGreekFonts		YES
244#endif
245#ifndef BuildISO8859_7Fonts
246#define BuildISO8859_7Fonts	BuildGreekFonts
247#endif
248#ifndef BuildHebrewFonts
249#define BuildHebrewFonts	YES
250#endif
251#ifndef BuildISO8859_8Fonts
252#define BuildISO8859_8Fonts	BuildHebrewFonts
253#endif
254#ifndef BuildISO8859_9Fonts
255#define BuildISO8859_9Fonts	YES
256#endif
257#ifndef BuildISO8859_10Fonts
258#define BuildISO8859_10Fonts	YES
259#endif
260#ifndef BuildThaiFonts
261#define BuildThaiFonts		YES
262#endif
263#ifndef BuildISO8859_11Fonts
264#define BuildISO8859_11Fonts	BuildThaiFonts
265#endif
266#ifndef BuildISO8859_13Fonts
267#define BuildISO8859_13Fonts	YES
268#endif
269#ifndef BuildISO8859_14Fonts
270#define BuildISO8859_14Fonts	YES
271#endif
272#ifndef BuildISO8859_15Fonts
273#define BuildISO8859_15Fonts	YES
274#endif
275#ifndef BuildISO8859_16Fonts
276#define BuildISO8859_16Fonts	YES
277#endif
278#ifndef BuildKOI8_RFonts
279#define BuildKOI8_RFonts	BuildCyrillicFonts
280#endif
281#ifndef BuildJapaneseFonts
282#define BuildJapaneseFonts	YES
283#endif
284#ifndef BuildJISX0201Fonts
285#define BuildJISX0201Fonts	BuildJapaneseFonts
286#endif
287#ifndef BuildKoreanFonts
288#define BuildKoreanFonts	YES
289#endif
290#ifndef BuildChineseFonts
291#define BuildChineseFonts	YES
292#endif
293#ifndef MakeLocalFontDir
294#define MakeLocalFontDir	YES
295#endif
296#ifndef HasXAudio
297#define HasXAudio		NO
298#endif
299#ifndef BuildXAudio
300#define BuildXAudio		(HasXAudio & HasCplusplus)
301#endif
302#ifndef HasXAServer
303#define HasXAServer		NO
304#endif
305#ifndef BuildXAServer
306#define BuildXAServer		(HasXAServer & HasCplusplus)
307#endif
308#ifndef BuildX11Lib
309#define BuildX11Lib		BuildLibraries
310#endif
311
312#ifndef BuildLoadableXlibI18n
313#define BuildLoadableXlibI18n	(HasDlopen && SharedLibX11)
314#endif
315#ifndef InstallXcmsTxt
316#define InstallXcmsTxt		YES
317#endif
318/*
319 * This disables XLOCALEDIR.  Set it if you're using BuildLoadableXlibI18n,
320 * don't have either issetugid() or getresuid(), and you need to protect
321 * clients that are setgid or setuid to an id other than 0.
322 */
323#ifndef DisableXLocaleDirEnv
324#define DisableXLocaleDirEnv	BuildLoadableXlibI18n && \
325					!(HasIssetugid || HasGetresuid)
326#endif
327#ifndef BuildLoadableXlibXcursor
328#define BuildLoadableXlibXcursor (HasDlopen && SharedLibX11)
329#endif
330#ifndef BuildXextLib
331#define BuildXextLib		BuildLibraries
332#endif
333#ifndef BuildXauLib
334#define BuildXauLib		(BuildLibraries || BuildLibrariesForXServers)
335#endif
336#define UseInstalledXauLib	(defined(UseInstalled) || !BuildXauLib)
337#ifndef BuildXdmcpLib
338#define BuildXdmcpLib		(BuildLibraries || BuildLibrariesForXServers)
339#endif
340#define UseInstalledXdmcpLib	(defined(UseInstalled) || !BuildXdmcpLib)
341#ifndef BuildMITMiscExt
342#define BuildMITMiscExt		YES
343#endif
344#ifndef BuildTestExt
345#define BuildTestExt		YES
346#endif
347#ifndef BuildSyncExt
348#define BuildSyncExt		YES
349#endif
350#ifndef BuildXCMiscExt
351#define BuildXCMiscExt		YES
352#endif
353#ifndef BuildShapeExt
354#define BuildShapeExt		YES
355#endif
356#ifndef BuildBigReqsExt
357#define BuildBigReqsExt		YES
358#endif
359#ifndef BuildXInputExt
360#define BuildXInputExt		NO
361#endif
362#ifndef BuildXInputLib
363#define BuildXInputLib		(BuildXInputExt && \
364				 (!BuildServersOnly || BuildLibrariesForDmx))
365#endif
366#ifndef BuildEVI
367#define BuildEVI		YES
368#endif
369#ifndef BuildDBE
370#define BuildDBE		YES
371#endif
372#ifndef BuildDBElib
373#define BuildDBElib		BuildDBE
374#endif
375#ifndef BuildDIS
376#define BuildDIS		NO
377#endif
378#ifndef BuildDPMS
379#define BuildDPMS		YES
380#endif
381#ifndef BuildFontLib
382#if (!defined(XF86Server) || !XF86Server) && (!defined (XorgServer) || !XorgServer)
383#define BuildFontLib		(BuildLibraries || BuildServer)
384#else
385#define BuildFontLib		(BuildLibraries || \
386				 (BuildServer && !DoLoadableServer) || \
387				 XnestServer || XVirtualFramebufferServer || \
388				 XprtServer || XdmxServer)
389#endif
390#endif
391#ifndef BuildFontCache
392#define BuildFontCache		NO
393#endif
394#ifndef BuildFontCacheLib
395#define BuildFontCacheLib	(BuildFontCache && !BuildServersOnly)
396#endif
397#ifndef BuildFontEncLib
398#define BuildFontEncLib		BuildLibraries
399#endif
400/*
401 * This enables binary compatibility with the older (XFree86 <= 4.1) fontenc
402 * entry points in the Xfont library (and X server).  If this is turned off,
403 * then SharedFontRev should have it's major revision bumped, and the
404 * XFree86 font module ABI (in xfree86/common/xf86Module.h) should have it's
405 * major revision bumped.
406 *
407 * Note: this does not enable those older functions in the separate libfontenc
408 * library (which didn't exist previously).
409 */
410#ifndef FontencCompatibility
411#define FontencCompatibility	YES
412#endif
413#ifndef BuildLBX
414#define BuildLBX		YES
415#endif
416#ifndef BuildXKB
417#define BuildXKB		YES
418#endif
419#ifndef BuildXKBlib
420#define BuildXKBlib		(BuildXKB && (!BuildServersOnly || \
421					      XnestServer || XdmxServer || \
422					      BuildXkbcomp ))
423#endif
424#ifndef BuildXKBuilib
425#define BuildXKBuilib		(BuildXKB && !BuildServersOnly)
426#endif
427#ifndef BuildXKBfilelib
428#define BuildXKBfilelib		(BuildXKB && (!BuildServersOnly || \
429					      BuildXkbcomp ))
430#endif
431#ifndef BuildXTrap
432#define BuildXTrap		YES
433#endif
434#ifndef BuildXTrapLibrary
435#define BuildXTrapLibrary	(BuildXTrap && !BuildServersOnly)
436#endif
437
438	/*
439	 * WARNING: Setting UseXKBInClients to YES cause incompatibilities
440	 *          between many clients (such as xterm) and pre-XKB shared
441	 *          libraries.
442	 */
443#ifndef UseXKBInClients
444#define	UseXKBInClients		NO	/* use XKB in "normal" clients? */
445#endif
446#ifndef BuildMultibuffer
447#define BuildMultibuffer	NO
448#endif
449#ifndef BuildRECORD
450#define BuildRECORD		YES
451#endif
452#ifndef BuildRECORDlib
453#define BuildRECORDlib		BuildRECORD
454#endif
455#ifndef BuildXinerama
456#define BuildXinerama		NO
457#endif
458#ifndef BuildXineramaLibrary
459#define BuildXineramaLibrary	(BuildXinerama && !BuildServersOnly)
460#endif
461#ifndef BuildDmxDevelTools
462#define BuildDmxDevelTools	NO
463#endif
464#ifndef BuildDmxLibrary
465#define BuildDmxLibrary		(BuildDmx && \
466				 (!BuildServersOnly || BuildDmxDevelTools))
467#endif
468#ifndef BuildXCSecurity
469#define BuildXCSecurity		YES
470#endif
471#ifndef BuildAppgroup
472#define BuildAppgroup		YES
473#endif
474#if BuildAppgroup && !BuildXCSecurity
475#define BuildXCSecurity         YES
476#endif
477#ifndef BuildCup
478#define BuildCup		YES
479#endif
480#ifndef HasPlugin
481/* Browser plugins are shared libraries - only build them if the OS
482 * supports shared libs.
483 */
484#define HasPlugin		HasSharedLibraries
485#endif
486#ifndef BuildPlugin
487#define BuildPlugin		HasPlugin
488#endif
489#ifndef XpRasterDDX
490#define XpRasterDDX             YES
491#endif
492#ifndef XpColorPclDDX
493#define XpColorPclDDX           YES
494#endif
495#ifndef XpMonoPclDDX
496#define XpMonoPclDDX            YES
497#endif
498#ifndef XpPostScriptDDX
499#define XpPostScriptDDX         YES
500#endif
501#ifndef XpPdfDDX
502#define XpPdfDDX                YES
503#endif
504#ifndef XpSvgDDX
505#define XpSvgDDX                YES
506#endif
507
508#ifndef BuildXprint
509#define BuildXprint		YES
510#endif
511#ifndef XprtServer
512#define XprtServer		(BuildServer && BuildXprint)
513#endif
514#ifndef BuildXprintLib
515#define BuildXprintLib		(!BuildServersOnly && BuildXprint)
516#endif
517#ifndef BuildXprintClients
518#define BuildXprintClients	BuildXprintLib
519#endif
520
521#ifndef BuildScreenSaverExt
522#define BuildScreenSaverExt	NO
523#endif
524#ifndef BuildScreenSaverLibrary
525#define BuildScreenSaverLibrary	(BuildScreenSaverExt && !BuildServersOnly)
526#endif
527#ifndef BuildXF86VidModeExt
528#define BuildXF86VidModeExt	NO
529#endif
530#ifndef BuildXF86VidModeLibrary
531#define BuildXF86VidModeLibrary (BuildXF86VidModeExt && !BuildServersOnly)
532#endif
533#ifndef BuildXF86MiscExt
534#define BuildXF86MiscExt	NO
535#endif
536#ifndef BuildXF86MiscLibrary
537#define BuildXF86MiscLibrary	(BuildXF86MiscExt && !BuildServersOnly)
538#endif
539#ifndef BuildXF86BigfontExt
540#define BuildXF86BigfontExt	NO
541#endif
542#ifndef BuildXF86DGA
543#define BuildXF86DGA		NO
544#endif
545#ifndef BuildXF86DGALibrary
546#define BuildXF86DGALibrary	(BuildXF86DGA && !BuildServersOnly)
547#endif
548#ifndef BuildXResExt
549#define BuildXResExt            NO
550#endif
551#ifndef BuildXResLibrary
552#define BuildXResLibrary        (BuildXResExt && \
553				 (!BuildServersOnly || BuildDmxDevelTools))
554#endif
555#ifndef BuildXvExt
556#define BuildXvExt		NO
557#endif
558#ifndef BuildXvLibrary
559#define BuildXvLibrary		(BuildXvExt && !BuildServersOnly)
560#endif
561#ifndef BuildXvMCExt
562#define BuildXvMCExt		NO
563#endif
564#ifndef BuildXvMCLibrary
565#define BuildXvMCLibrary	(BuildXvMCExt && !BuildServersOnly)
566#endif
567#ifndef BuildGlxExt
568#define BuildGlxExt		NO
569#else
570#if     BuildGlxExt && !defined(XFree86Version) && !defined(XorgVersion)
571#undef  BuildXF86DRI
572#undef  BuildXF86DRIDriverSupport
573#define BuildXF86DRI			NO
574#define BuildXF86DRIDriverSupport	NO
575#endif
576#endif
577#ifndef BuildGLXLibrary
578#define BuildGLXLibrary		(BuildGlxExt && !BuildServersOnly)
579#endif
580#ifndef BuildOSMesaLib
581#define BuildOSMesaLib		BuildGlxExt
582#endif
583#ifndef BuildGLULibrary
584#define BuildGLULibrary		(BuildGLXLibrary && BuildLibraries && \
585				 HasCplusplus)
586#endif
587#ifndef BuildGLwLibrary
588#define BuildGLwLibrary		(BuildGLXLibrary && BuildLibraries)
589#endif
590#ifndef BuildXDriInfo
591#define BuildXDriInfo		(BuildGLXLibrary && !BuildServersOnly)
592#endif
593#ifndef BuildXF86RushExt
594#define BuildXF86RushExt	NO
595#endif
596#ifndef BuildXF86RushLibrary
597#define BuildXF86RushLibrary	(BuildXF86RushExt && !BuildServersOnly)
598#endif
599#ifndef BuildDPSLibraries
600#define BuildDPSLibraries	NO
601#endif
602#ifndef BuildDPSLibrary
603#define BuildDPSLibrary		BuildDPSLibraries
604#endif
605#ifndef BuildDPSTkLibrary
606#define BuildDPSTkLibrary	BuildDPSLibraries
607#endif
608#ifndef BuildPSResLibrary
609#define BuildPSResLibrary	BuildDPSLibraries
610#endif
611#ifndef BuildDPSClients
612#define BuildDPSClients         BuildDPSLibraries
613#endif
614#ifndef BuildRender
615#define BuildRender		YES
616#endif
617#ifndef BuildRenderLibrary
618#define BuildRenderLibrary	(XdmxServer || !BuildServersOnly)
619#endif
620#ifndef BuildXftLibrary
621#define BuildXftLibrary		BuildRenderLibrary
622#endif
623#ifndef BuildXft1Library
624#define BuildXft1Library	BuildRenderLibrary
625#endif
626#ifndef UseFontconfig
627#define UseFontconfig		BuildXftLibrary
628#endif
629#ifndef BuildFontconfigLibrary
630#define BuildFontconfigLibrary	(UseFontconfig && !HasFontconfig)
631#endif
632#ifndef UseFreetype2
633#define UseFreetype2		(BuildXftLibrary || BuildXft1Library || \
634				 UseFontconfig || BuildFreeType)
635#endif
636#ifndef InstallFontconfigLibrary
637# define InstallFontconfigLibrary  YES
638#endif
639#ifndef HasExpat
640#define HasExpat		YES
641#endif
642#ifndef UseExpat
643#define UseExpat		(UseFontconfig || BuildXF86DRI)
644#endif
645#ifndef BuildExpatLibrary
646#define BuildExpatLibrary	(UseExpat && !HasExpat)
647#endif
648#ifndef BuildFreetype2Library
649#define BuildFreetype2Library	(UseFreetype2 && !HasFreetype2)
650#endif
651#ifndef Freetype2BuildDefines
652#define Freetype2BuildDefines	/**/
653#endif
654
655#ifndef BuildRandR
656#define BuildRandR		YES
657#endif
658#ifndef BuildRandRLibrary
659#define BuildRandRLibrary	!BuildServersOnly
660#endif
661
662#ifndef BuildXfixes
663#define BuildXfixes		YES
664#endif
665#ifndef BuildXfixesLibrary
666#define BuildXfixesLibrary	!BuildServersOnly
667#endif
668
669#ifndef BuildDamage
670#define BuildDamage		BuildXfixes
671#endif
672#ifndef BuildDamageLibrary
673#define BuildDamageLibrary	!BuildServersOnly
674#endif
675
676#ifndef BuildComposite
677#define BuildComposite		(BuildXfixes && BuildDamage)
678#endif
679#ifndef BuildCompositeLibrary
680#define BuildCompositeLibrary	!BuildServersOnly && (BuildXfixesLibrary && \
681				BuildDamageLibrary)
682#endif
683
684#ifndef BuildXevie
685#define BuildXevie		YES
686#endif
687#ifndef BuildXevieLibrary
688#define BuildXevieLibrary	!BuildServersOnly
689#endif
690
691#ifndef BuildRootless
692#define BuildRootless	NO
693#endif
694
695#ifndef BuildXterm
696#define BuildXterm		NO
697#endif
698
699#ifndef BuildXkbcomp
700#define BuildXkbcomp		BuildClients
701#endif
702
703#ifndef BuildXcursorLibrary
704#define BuildXcursorLibrary	BuildRenderLibrary
705#endif
706
707#ifndef BuildXcursorgen
708#define BuildXcursorgen		HasLibpng
709#endif
710
711#ifndef DefaultCursorTheme
712#define DefaultCursorTheme	core
713#endif
714
715#ifndef BuildAppleWMLibrary
716#define BuildAppleWMLibrary	NO
717#endif
718
719#ifndef BuildWindowsWMLibrary
720#define BuildWindowsWMLibrary	NO
721#endif
722
723#ifndef BuildMiscDocs
724#define BuildMiscDocs		NO
725#endif
726#ifndef BuildSpecsDocs
727#define BuildSpecsDocs		NO
728#endif
729#ifndef BuildAllSpecsDocs
730#define BuildAllSpecsDocs	NO
731#endif
732
733#ifndef InstallHardcopyDocs
734#define InstallHardcopyDocs	YES
735#endif
736
737#ifndef InstallMiscManPages
738#define InstallMiscManPages	YES
739#endif
740
741#ifndef FSUseSyslog
742#define FSUseSyslog		NO
743#endif
744
745#ifndef InstallLibManPages
746#define InstallLibManPages	YES
747#endif
748#ifndef InstallXtermSetUID
749#define InstallXtermSetUID	YES	/* xterm needs to be set uid */
750#endif
751#ifndef InstallXloadSetGID
752#define InstallXloadSetGID	YES	/* xload often needs set gid kmem */
753#endif
754#ifndef InstallXinitConfig
755#define InstallXinitConfig	NO	/* install sample xinit config */
756#endif
757#ifndef InstallXdmConfig
758#define InstallXdmConfig	NO	/* install sample xdm config */
759#endif
760#ifndef XdmServersType			/* what Xservers files to use */
761#if BuildServer
762#define XdmServersType ws
763#else
764#define XdmServersType fs
765#endif
766#endif
767#ifndef InstallFSConfig
768#define InstallFSConfig		NO	/* install sample fs config */
769#endif
770#ifndef InstallAppDefFiles
771#define InstallAppDefFiles	YES	/* install application defaults */
772#endif
773#ifndef UseConfDirForAppDefaults
774#define UseConfDirForAppDefaults YES
775#endif
776#ifndef UseConfDirForXkb
777#define UseConfDirForXkb	YES
778#endif
779#ifndef CompressAllFonts
780#define CompressAllFonts	NO
781#endif
782#ifndef ThreadedX
783#if HasPosixThreads || HasCThreads
784#define ThreadedX		YES	/* multi-threaded libraries */
785#else
786#define ThreadedX		NO
787#endif
788#endif
789#ifndef ThreadedProject
790#define ThreadedProject ThreadedX
791#endif
792#ifndef NeedUIThrStubs
793#define NeedUIThrStubs		NO
794#endif
795#ifndef HasWChar32
796#define HasWChar32		SystemV4
797#endif
798#ifndef HasXdmAuth
799#define HasXdmAuth		NO	/* if you can not use XDM-AUTH* */
800#endif
801#ifndef PrimaryScreenResolution
802#define PrimaryScreenResolution 72		/* a common resolution */
803#endif
804#ifndef DefaultFontPath
805# if PrimaryScreenResolution < 88		/* (75 + 100) / 2 */
806#  define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
807# else
808#  define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
809# endif
810#endif
811#ifndef DefaultFSFontPath
812# define DefaultFSFontPath DefaultFontPath
813#endif
814#ifndef DefaultRGBDatabase
815#define DefaultRGBDatabase $(SHAREDIR)/rgb
816#endif
817#ifndef UseRgbTxt
818#define UseRgbTxt		NO	/* default is to compile with dbm */
819#endif
820#ifndef UseMemLeak
821#define UseMemLeak		NO
822#endif
823#ifndef SpecialMalloc
824#define SpecialMalloc		NO
825#endif
826#ifndef UseInternalMalloc
827#define UseInternalMalloc	NO
828#endif
829#ifndef XallocDefines
830#define XallocDefines		/**/
831#endif
832#ifndef ServerErrorDefines
833#define ServerErrorDefines	/**/
834#endif
835#ifndef FontCompilerFlags
836#define FontCompilerFlags -t
837#endif
838/*
839 * NOTE:  IPv6Flags could be tacked on to either ConnectionFlags or
840 *        ExtraConnectionDefs.  Here, we choose the later in order to
841 *        maximise exposure of the IPv6 code (a number of <OS>.def files
842 *        contain ConnectionFlags overrides).  Mind you, this might not
843 *        the right thing to do when HasStreams is asserted.
844 */
845#ifndef BuildIPv6		/* If the OS also #define's AF_INET6 */
846#define BuildIPv6		YES
847#endif
848#ifndef IPv6Flags
849#if BuildIPv6
850#define IPv6Flags -DIPv6
851#else
852#define IPv6Flags /**/
853#endif
854#endif
855/*
856 * Assume by default that IPv6 sockets also listen for IPv4 connections.
857 * XDMCP support currently only works for both IPv4 and IPv6 when this is
858 * true.
859 */
860#ifndef IPv6SocketsAlsoIPv4
861#define IPv6SocketsAlsoIPv4	YES
862#endif
863#ifndef DECnetFlags
864#if HasDECnet
865#define DECnetFlags -DDNETCONN
866#else
867#define DECnetFlags
868#endif
869#endif
870#ifndef ConnectionFlags
871#if HasStreams
872#define ConnectionFlags -DSTREAMSCONN
873#else
874#define ConnectionFlags -DTCPCONN -DUNIXCONN DECnetFlags
875#endif
876#endif
877#if HasStickyDirBit
878STICKY_DEFINES = -DHAS_STICKY_DIR_BIT
879#endif
880#if HasFchown
881FCHOWN_DEFINES = -DHAS_FCHOWN
882#endif
883#ifndef ExtraConnectionDefs
884#define ExtraConnectionDefs $(STICKY_DEFINES) $(FCHOWN_DEFINES) IPv6Flags
885#endif
886#ifndef ProjectThreadsDefines
887#define ProjectThreadsDefines -DXTHREADS
888#endif
889#ifndef FontOSDefines
890#define FontOSDefines /**/
891#endif
892#ifndef FontDefines
893#define FontDefines -DFONT_SNF -DFONT_BDF -DFONT_PCF -DCOMPRESSED_FONTS FontOSDefines
894#endif
895#ifndef XawI18nDefines
896#if SystemV4
897#define XawI18nDefines -DHAS_WCTYPE_H
898#else
899#define XawI18nDefines -DUSE_XWCHAR_STRING
900#endif
901#endif
902#if Malloc0ReturnsNull
903#ifndef XMalloc0ReturnsNullDefines
904#define XMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines
905#endif
906#ifndef XtMalloc0ReturnsNullDefines
907#define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC
908#endif
909#endif
910#ifndef ExtensionOSDefines
911#define ExtensionOSDefines /**/
912#endif
913
914#ifndef ExtensionDefines
915#ifndef MITMiscDefines
916#if BuildMITMiscExt
917#define MITMiscDefines -DMITMISC
918#else
919#define MITMiscDefines /**/
920#endif
921#endif
922#ifndef XTestDefines
923#if BuildTestExt
924#define XTestDefines -DXTEST
925#else
926#define XTestDefines /**/
927#endif
928#endif
929#ifndef XTrapDefines
930#if BuildXTrap
931#define XTrapDefines -DXTRAP
932#else
933#define XTrapDefines /**/
934#endif
935#endif
936#ifndef XSyncDefines
937#if BuildSyncExt
938#define XSyncDefines -DXSYNC
939#else
940#define XSyncDefines /**/
941#endif
942#endif
943#ifndef XCMiscDefines
944#if BuildXCMiscExt
945#define XCMiscDefines -DXCMISC
946#else
947#define XCMiscDefines /**/
948#endif
949#endif
950#ifndef ShapeDefines
951#if BuildShapeExt
952#define ShapeDefines -DSHAPE
953#else
954#define ShapeDefines /**/
955#endif
956#endif
957#ifndef GlxDefines
958#if BuildGlxExt
959#ifdef GlxExtraDefines
960#define GlxDefines -DGLXEXT GlxExtraDefines
961#else
962#define GlxDefines -DGLXEXT
963#endif
964#else
965#define GlxDefines /**/
966#endif
967#endif
968#ifndef DRMSrcDir
969#define DRMSrcDir $(TOP)/extras/drm
970#endif
971#ifndef MesaSrcDir
972#define MesaSrcDir $(TOP)/extras/Mesa
973#endif
974#ifndef OglSampleSrcDir
975#define OglSampleSrcDir $(TOP)/extras/ogl-sample
976#endif
977#ifndef ShmDefines
978#if HasShm
979#define ShmDefines -DMITSHM
980#else
981#define ShmDefines /**/
982#endif
983#endif
984#ifndef XInputDefines
985#if BuildXInputExt
986#define XInputDefines -DXINPUT
987#else
988#define XInputDefines /**/
989#endif
990#endif
991#ifndef XineramaDefines
992#if BuildXinerama
993#define XineramaDefines -DPANORAMIX
994#else
995#define XineramaDefines /**/
996#endif
997#endif
998#ifndef PrintOnlyServer
999#define PrintOnlyServer YES
1000#endif
1001#ifndef XprintDefines
1002#if BuildXprint
1003#if PrintOnlyServer
1004#define XprintDefines -DXPRINT -DPIXPRIV
1005#else
1006#define XprintDefines -DXPRINT -DLOADABLEPRINTDDX -DPIXPRIV
1007#endif
1008#else
1009#define XprintDefines /**/
1010#endif
1011#endif
1012#ifndef XkbDefines
1013#if BuildXKB
1014#define XkbDefines -DXKB
1015#else
1016#define XkbDefines /**/
1017#endif
1018#endif
1019#ifndef XkbClientDefines
1020#if UseXKBInClients
1021#define XkbClientDefines -DXKB
1022#else
1023#define XkbClientDefines /**/
1024#endif
1025#endif
1026#ifndef XkbServerDefines
1027#define XkbServerDefines /**/
1028#endif
1029#ifndef XkbDefRulesDefines
1030#define XkbDefRulesDefines  -D__XKBDEFRULES__='"$(XKBDEFRULES)"'
1031#endif
1032# ifndef XkbDefaultRulesFile
1033# define XkbDefaultRulesFile  XVendorStdFilePrefix
1034#endif
1035#ifndef LbxDefines
1036#if BuildLBX
1037#define LbxDefines -DLBX
1038#else
1039#define LbxDefines /**/
1040#endif
1041#endif
1042#ifndef BigReqDefines
1043#if BuildBigReqsExt
1044#define BigReqDefines -DBIGREQS
1045#else
1046#define BigReqDefines /**/
1047#endif
1048#endif
1049
1050#ifndef EVIDefines
1051#if BuildEVI
1052#define EVIDefines -DEVI
1053#else
1054#define EVIDefines /**/
1055#endif
1056#endif
1057
1058#ifndef DBEDefines
1059#if BuildDBE
1060#define DBEDefines -DDBE
1061#else
1062#define DBEDefines /**/
1063#endif
1064#endif
1065
1066#ifndef PervasiveDBEDefines
1067#define PervasiveDBEDefines /* -DNEED_DBE_BUF_BITS -DNEED_DBE_BUF_VALIDATE */
1068#endif
1069
1070#ifndef MultibufferDefines
1071#if BuildMultibuffer
1072#define MultibufferDefines -DMULTIBUFFER
1073#else
1074#define MultibufferDefines /**/
1075#endif
1076#endif
1077
1078#ifndef ScreenSaverExtensionDefines
1079#if BuildScreenSaverExt
1080#define ScreenSaverExtensionDefines -DSCREENSAVER
1081#else
1082#define ScreenSaverExtensionDefines /**/
1083#endif
1084#endif
1085#ifndef VidModeExtensionDefines
1086#if BuildXF86VidModeExt
1087#define VidModeExtensionDefines -DXF86VIDMODE
1088#else
1089#define VidModeExtensionDefines /**/
1090#endif
1091#endif
1092#ifndef XF86MiscExtensionDefines
1093#if BuildXF86MiscExt
1094#define XF86MiscExtensionDefines -DXF86MISC
1095#else
1096#define XF86MiscExtensionDefines /**/
1097#endif
1098#endif
1099
1100#ifndef XF86BigfontExtensionDefines
1101#if BuildXF86BigfontExt
1102#define XF86BigfontExtensionDefines -DXF86BIGFONT
1103#else
1104#define XF86BigfontExtensionDefines /**/
1105#endif
1106#endif
1107
1108#ifndef XvExtensionDefines
1109#if BuildXvExt
1110#define XvExtensionDefines -DXV
1111#else
1112#define XvExtensionDefines /**/
1113#endif
1114#endif
1115
1116#ifndef XvMCExtensionDefines
1117#if BuildXvMCExt
1118#define XvMCExtensionDefines -DXVMC
1119#else
1120#define XvMCExtensionDefines /**/
1121#endif
1122#endif
1123
1124#ifndef XResExtensionDefines
1125#if BuildXResExt
1126#define XResExtensionDefines -DRES
1127#else
1128#define XResExtensionDefines /**/
1129#endif
1130#endif
1131
1132#ifndef RECORDDefines
1133#if BuildRECORD
1134#define RECORDDefines -DXRECORD
1135#else
1136#define RECORDDefines /**/
1137#endif
1138#endif
1139
1140#ifndef AppgroupDefines
1141#if BuildAppgroup
1142#define AppgroupDefines -DXAPPGROUP
1143#else
1144#define AppgroupDefines /**/
1145#endif
1146#endif
1147
1148#ifndef XCSecurityDefines
1149#if BuildXCSecurity
1150#define XCSecurityDefines -DXCSECURITY
1151#else
1152#define XCSecurityDefines /**/
1153#endif
1154#endif
1155
1156#ifndef CupDefines
1157#if BuildCup
1158#define CupDefines -DTOGCUP
1159#else
1160#define CupDefines /**/
1161#endif
1162#endif
1163
1164#ifndef DPMSDefines
1165#if BuildDPMS
1166#define DPMSDefines -DDPMSExtension
1167#else
1168#define DPMSDefines /**/
1169#endif
1170#endif
1171
1172#ifndef RenderDefines
1173#if BuildRender
1174#define RenderDefines -DRENDER
1175#else
1176#define RenderDefines /**/
1177#endif
1178#endif
1179
1180#ifndef RandRDefines
1181#if BuildRandR
1182#define RandRDefines -DRANDR
1183#else
1184#define RandRDefines /**/
1185#endif
1186#endif
1187
1188#ifndef FontCacheExtensionDefines
1189#if BuildFontCache
1190#define FontCacheExtensionDefines	-DFONTCACHE
1191#else
1192#define FontCacheExtensionDefines	/**/
1193#endif
1194#endif
1195
1196#ifndef XfixesDefines
1197#if BuildXfixes
1198#define XfixesDefines -DXFIXES
1199#else
1200#define XfixesDefines /**/
1201#endif
1202#endif
1203
1204#ifndef XDamageDefines
1205#if BuildDamage
1206#define XDamageDefines -DDAMAGE
1207#else
1208#define XDamageDefines /**/
1209#endif
1210#endif
1211
1212#ifndef CompositeDefines
1213#if BuildComposite
1214#define CompositeDefines -DCOMPOSITE
1215#else
1216#define CompositeDefines /**/
1217#endif
1218#endif
1219
1220#ifndef XevieDefines
1221#if BuildXevie
1222#define XevieDefines -DXEVIE
1223#else
1224#define XevieDefines /**/
1225#endif
1226#endif
1227
1228#ifndef RootlessDefines
1229#if BuildRootless
1230#define RootlessDefines -DROOTLESS
1231#else
1232#define RootlessDefines /**/
1233#endif
1234#endif
1235
1236#ifndef SitePervasiveExtensionDefines
1237#define SitePervasiveExtensionDefines /**/
1238#endif
1239#ifndef PervasiveExtensionDefines
1240#define PervasiveExtensionDefines \
1241	ShapeDefines XInputDefines XkbDefines LbxDefines AppgroupDefines \
1242	XCSecurityDefines CupDefines PervasiveDBEDefines \
1243	XF86BigfontExtensionDefines DPMSDefines \
1244	XprintDefines XineramaDefines \
1245	SitePervasiveExtensionDefines RenderDefines RandRDefines \
1246	XfixesDefines XDamageDefines CompositeDefines XevieDefines \
1247	RootlessDefines
1248#endif
1249#ifndef SiteExtensionDefines
1250#define SiteExtensionDefines /**/
1251#endif
1252#ifndef BaseExtensionDefines
1253#define BaseExtensionDefines \
1254	MultibufferDefines MITMiscDefines XTestDefines XTrapDefines \
1255	XSyncDefines XCMiscDefines RECORDDefines \
1256	ShmDefines BigReqDefines VidModeExtensionDefines \
1257	XF86MiscExtensionDefines DBEDefines DPMSDefines EVIDefines \
1258	ScreenSaverExtensionDefines XvExtensionDefines XvMCExtensionDefines \
1259	GlxDefines FontCacheExtensionDefines SiteExtensionDefines \
1260        XResExtensionDefines
1261#endif
1262#define ExtensionDefines BaseExtensionDefines ExtensionOSDefines
1263#endif /* ExtensionDefines */
1264
1265#ifndef HasStrcasecmp
1266#define HasStrcasecmp YES
1267#endif
1268
1269#ifndef StrcasecmpDefines
1270# if HasStrcasecmp
1271#  define StrcasecmpDefines /**/
1272# else
1273#  define StrcasecmpDefines -DNEED_STRCASECMP
1274# endif
1275#endif
1276
1277#ifndef HasDevRandom
1278#define HasDevRandom NO
1279#endif
1280
1281#ifndef HasArc4Random
1282#define HasArc4Random NO
1283#endif
1284
1285#ifndef RandomDefines
1286# if HasDevRandom
1287#  ifndef RandomDeviceFile
1288#   define RandomDeviceFile /dev/random
1289#  endif
1290#  ifndef ExtraRandomDefines
1291#   ifdef PollDevRandom /* Set if can poll() /dev/random to avoid blocking */
1292#    define ExtraRandomDefines -DPOLL_DEV_RANDOM
1293#   else
1294#    define ExtraRandomDefines /**/
1295#   endif
1296#  endif
1297#  define RandomDefines -DDEV_RANDOM=\"RandomDeviceFile\" ExtraRandomDefines
1298# elif HasArc4Random
1299#  define RandomDefines -DARC4_RANDOM
1300# else
1301#  define RandomDefines /**/
1302# endif
1303#endif
1304
1305#ifndef PreferXdmcpIPv6
1306#define PreferXdmcpIPv6 NO
1307#endif
1308#ifndef ServerXdmcpIPv6Defines
1309#if BuildIPv6 && !IPv6SocketsAlsoIPv4 && !PreferXdmcpIPv6
1310#define ServerXdmcpIPv6Defines -DXDMCP_NO_IPV6
1311#else
1312#define ServerXdmcpIPv6Defines /**/
1313#endif
1314#endif
1315
1316#ifndef ServerXdmcpDefines
1317#define ServerXdmcpDefines -DXDMCP ServerXdmcpIPv6Defines
1318#endif
1319#ifndef ServerOSDefines
1320#define ServerOSDefines /**/
1321#endif
1322#if HasKrbIV
1323#ifndef KrbIVDefines
1324#define KrbIVDefines -DKERBEROS
1325#endif
1326#else
1327#define KrbIVDefines /**/
1328#endif
1329#if HasKrb5
1330#ifndef Krb5Defines
1331#define Krb5Defines -DK5AUTH
1332#endif
1333#else
1334#define Krb5Defines /**/
1335#endif
1336#ifndef ServerExtraDefines
1337#define ServerExtraDefines /* -DPIXPRIV */
1338#endif
1339#ifndef ServerAssertDefines
1340#define ServerAssertDefines -DNDEBUG
1341#endif
1342#ifndef ServerSnprintfDefines
1343#if !HasSnprintf
1344#define ServerSnprintfDefines -DNEED_SNPRINTF
1345#else
1346#define ServerSnprintfDefines /**/
1347#endif
1348#endif
1349#ifndef ServerDefines
1350#define ServerDefines StandardDefines PervasiveExtensionDefines ServerExtraDefines ServerAssertDefines ServerSnprintfDefines
1351#endif
1352
1353#ifndef MesaUseX86Asm
1354/* The current Mesa X86 ASM code doesn't work well with SVR4 shared libs. */
1355# if HasX86Support && !SystemV4
1356#  define MesaUseX86Asm YES
1357# else
1358#  define MesaUseX86Asm NO
1359# endif
1360#endif
1361
1362#ifndef MesaUseMMX
1363#ifdef HasMMXSupport
1364#define MesaUseMMX HasMMXSupport
1365#else
1366#define MesaUseMMX NO
1367#endif
1368#endif
1369
1370#ifndef MesaUse3DNow
1371#ifdef Has3DNowSupport
1372#define MesaUse3DNow Has3DNowSupport
1373#else
1374#define MesaUse3DNow NO
1375#endif
1376#endif
1377
1378#ifndef MesaUseSSE
1379#ifdef HasSSESupport
1380#define MesaUseSSE HasSSESupport
1381#else
1382#define MesaUseSSE NO
1383#endif
1384#endif
1385
1386/* For compatibility */
1387#ifdef HasSSESupport
1388#undef HasKatmaiSupport
1389#define HasKatmaiSupport HasSSESupport
1390#endif
1391#undef MesaUseKatmai
1392#define MesaUseKatmai MesaUseSSE
1393
1394#ifndef UsbMouseSupport
1395# define UsbMouseSupport NO
1396#endif
1397
1398#ifndef DefaultFSConfigFile
1399#define DefaultFSConfigFile $(LIBDIR)/fs/config
1400#endif
1401
1402#ifndef BinDir
1403#ifdef ProjectRoot
1404#define BinDir Concat(ProjectRoot,/bin)
1405#else
1406#define BinDir /usr/bin/X11
1407#endif
1408#endif
1409#ifndef BuildIncRoot
1410#define BuildIncRoot $(TOP)/exports
1411#endif
1412#ifndef BuildIncDir
1413#define BuildIncDir $(BUILDINCROOT)/include
1414#endif
1415#ifndef BuildIncTop
1416#define BuildIncTop ../..	/* relative to BuildIncDir */
1417#endif
1418#ifndef XTop
1419# if ImportX11
1420#  define XTop $(TOP)/imports/x11
1421# else
1422#  define XTop $(TOP)
1423# endif
1424#endif
1425#ifndef XBuildIncRoot
1426# if ImportX11
1427#  define XBuildIncRoot	$(XTOP)
1428# else
1429#  define XBuildIncRoot	$(XTOP)/exports
1430# endif
1431#endif
1432#ifndef XBuildIncDir
1433# define XBuildIncDir	$(XBUILDINCROOT)/include/X11
1434#endif
1435#ifndef XBuildIncTop
1436# define XBuildIncTop	../../..
1437#endif
1438#ifndef XBuildBinDir
1439# define XBuildBinDir	$(XBUILDINCROOT)/bin
1440#endif
1441#ifndef BuildBinDir
1442#define BuildBinDir $(TOP)/exports/bin
1443#endif
1444#ifndef BuildBinTop
1445#define BuildBinTop ../..	/* relative to BuildBinDir */
1446#endif
1447#ifndef BuildLibDir
1448#define BuildLibDir $(TOP)/exports/lib
1449#endif
1450#ifndef BuildLibTop
1451#define BuildLibTop ../..	/* relative to BuildLibDir */
1452#endif
1453#ifndef BuildModuleDir
1454#define BuildModuleDir $(BUILDLIBDIR)/modules
1455#endif
1456#ifndef BuildI18NDir
1457# define BuildI18NDir $(BUILDLIBDIR)/locale
1458#endif
1459#ifndef BuildModuleTop
1460#define BuildModuleTop $(BUILDLIBTOP)/..
1461#endif
1462#ifndef LibDir
1463# ifdef ProjectRoot
1464#  define LibDir Concat(ProjectRoot,/lib/X11)
1465# else
1466#  define LibDir /usr/lib/X11
1467# endif
1468#endif
1469#ifndef ModuleDir
1470#define ModuleDir $(USRLIBDIR)/modules
1471#endif
1472#ifndef ShareDir
1473# ifdef ProjectRoot
1474#  define ShareDir Concat(ProjectRoot,/share/X11)
1475# else
1476#  define ShareDir /usr/share/X11
1477# endif
1478#endif
1479#ifndef InstSrcDir
1480#define InstSrcDir Concat(ProjectRoot,/src)
1481#endif
1482#ifndef LibexecDir
1483#ifdef ProjectRoot
1484#define LibexecDir Concat(ProjectRoot,/libexec)
1485#else
1486#define LibexecDir /usr/X11/libexec
1487#endif
1488#endif
1489#ifndef ConfigDir
1490#define ConfigDir $(LIBDIR)/config
1491#endif
1492#ifndef DocDir
1493#define DocDir $(LIBDIR)/doc
1494#endif
1495#ifndef DocHtmlDir
1496#define DocHtmlDir $(DOCDIR)/html
1497#endif
1498#ifndef DocPsDir
1499#define DocPsDir $(DOCDIR)/PostScript
1500#endif
1501#ifndef DocPdfDir
1502#define DocPdfDir $(DOCDIR)/PDF
1503#endif
1504#ifndef FontDir
1505#define FontDir $(LIBDIR)/fonts
1506#endif
1507#ifndef FontEncDir
1508#define FontEncDir $(LIBDIR)/fonts/encodings
1509#endif
1510#ifndef AdmDir
1511#define AdmDir /usr/adm
1512#endif
1513#ifndef XinitDir
1514#define XinitDir $(LIBDIR)/xinit
1515#endif
1516#ifndef XdmDir
1517#define XdmDir $(LIBDIR)/xdm
1518#endif
1519#ifndef XdmVarDir
1520#define XdmVarDir $(VARLIBDIR)/xdm
1521#endif
1522#ifndef XdmAuthDir
1523#define XdmAuthDir $(LIBDIR)/xdm
1524#endif
1525#ifndef XdmConfigurationSubdirectory		/* under xdm sources */
1526#define XdmConfigurationSubdirectory config
1527#endif
1528#ifndef TwmDir
1529#define TwmDir $(LIBDIR)/twm
1530#endif
1531#ifndef XsmDir
1532#define XsmDir $(LIBDIR)/xsm
1533#endif
1534#ifndef NlsDir
1535#define NlsDir $(LIBDIR)/nls
1536#endif
1537#ifndef XLocaleDir
1538#define XLocaleDir $(LIBDIR)/locale
1539#endif
1540#ifndef LbxproxyDir
1541#define LbxproxyDir $(LIBDIR)/lbxproxy
1542#endif
1543#ifndef LbxproxyConfigSubdir		/* under lbxproxy sources */
1544#define LbxproxyConfigSubdir config
1545#endif
1546#ifndef ProxyManagerDir
1547#define ProxyManagerDir $(LIBDIR)/proxymngr
1548#endif
1549#ifndef ServerConfigDir
1550#define ServerConfigDir $(LIBDIR)/xserver
1551#endif
1552#ifndef XPrintDir
1553#define XPrintDir ServerConfigDir
1554#endif
1555#ifndef EtcX11Directory
1556#define EtcX11Directory /etc/X11
1557#endif
1558#ifndef InstallSecurityConfig
1559#define InstallSecurityConfig YES	/* Install sample security policy */
1560#endif
1561#ifndef XFileSearchPathBase
1562/* avoid SCCS keyword */
1563#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)
1564#endif
1565#ifndef XFileSearchPathDefault
1566#ifdef XAppLoadDir
1567/* avoid SCCS keyword */
1568#define XFileSearchPathDefault XAppLoadDir/Concat(%N%C,%S):XAppLoadDir/%N%S:XFileSearchPathBase
1569#else
1570#define XFileSearchPathDefault XFileSearchPathBase
1571#endif
1572#endif
1573#ifndef XAppLoadDir
1574#define XAppLoadDir $(LIBDIR)/app-defaults
1575#endif
1576#ifndef XtErrorPrefix
1577#define XtErrorPrefix /* as empty string */
1578#endif
1579#ifndef XtExtraDefines
1580#define XtExtraDefines /* as empty string */
1581#endif
1582#ifndef XtWarningPrefix
1583#define XtWarningPrefix /* as empty string */
1584#endif
1585#ifndef OsNameDefines
1586#define OsNameDefines /* as nothing */
1587#endif
1588#ifndef DefaultUserPath			/* for xdm */
1589#define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb
1590#endif
1591#ifndef DefaultSystemPath		/* for xdm */
1592#define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR):/usr/ucb
1593#endif
1594#ifndef DefaultSystemShell		/* for xdm to set in SHELL */
1595#define DefaultSystemShell BourneShell
1596#endif
1597#ifndef ContribDir
1598#define ContribDir $(XTOP)/../contrib	/* contrib is outside core tree */
1599#endif
1600#ifndef UnsupportedDir
1601#define UnsupportedDir $(XTOP)/unsupported
1602#endif
1603#ifndef AllocateLocalDefines
1604#define AllocateLocalDefines /**/
1605#endif
1606
1607#ifndef ForceNormalLib
1608#define ForceNormalLib (HasGcc && !HasGcc2)
1609#endif
1610
1611#ifndef XkbComp
1612#define XkbComp xkbcomp
1613#endif
1614
1615#ifndef PsWrap
1616# ifndef UseInstalled
1617#  define PsWrap $(PSWRAPSRC)/pswrap
1618# else
1619#  define PsWrap pswrap
1620# endif
1621#endif
1622
1623#ifndef ResourceConfigurationManagement
1624#define ResourceConfigurationManagement YES
1625#endif
1626
1627#ifndef XtPopdownConformance
1628#define XtPopdownConformance YES
1629#endif
1630
1631XCOMM -----------------------------------------------------------------------
1632XCOMM X Window System make variables; these need to be coordinated with rules
1633
1634/*
1635 * This list must be reflected in the DIRS_TO_BUILD list in the top-level
1636 * Makefile.
1637 */
1638             XTOP = XTop
1639           BINDIR = BinDir		/* programs */
1640     BUILDINCROOT = BuildIncRoot	/* base of build loc */
1641      BUILDINCDIR = BuildIncDir		/* built headers */
1642      BUILDINCTOP = BuildIncTop		/* top relative to BUILDINCDIR */
1643      BUILDLIBDIR = BuildLibDir		/* built libraries */
1644      BUILDLIBTOP = BuildLibTop		/* top relative to BUILDLIBDIR */
1645      BUILDBINDIR = BuildBinDir		/* built binaries */
1646      BUILDBINTOP = BuildBinTop		/* top relative to BUILDBINDIR */
1647   BUILDMODULEDIR = BuildModuleDir	/* built server modules */
1648     BUILDI18NDIR = BuildI18NDir	/* built i81n modules */
1649   BUILDMODULETOP = BuildModuleTop	/* top relative to BUILDMODULEDIR */
1650    XBUILDINCROOT = XBuildIncRoot	/* base of X build loc */
1651     XBUILDINCDIR = XBuildIncDir
1652     XBUILDINCTOP = XBuildIncTop
1653     XBUILDBINDIR = XBuildBinDir
1654           INCDIR = $(INCROOT)		/* header files */
1655           ADMDIR = AdmDir		/* server log files */
1656           LIBDIR = LibDir		/* configs for xdm, xinit, etc. */
1657         SHAREDIR = ShareDir		/* rgb, XErrorDB, etc. */
1658       LIBEXECDIR = LibexecDir
1659        MODULEDIR = ModuleDir
1660   TOP_X_INCLUDES = TopXInclude
1661          XBINDIR = XBinDir		/* BINDIR for X11ProjectRoot */
1662
1663       INSTSRCDIR = InstSrcDir		/* Installed source (kernel modules). */
1664
1665#ifdef EtcX11Directory
1666        ETCX11DIR = EtcX11Directory
1667#endif
1668#if UseEtcX11
1669          CONFDIR = $(ETCX11DIR)
1670#elif HasVarDirectory
1671          CONFDIR = $(VARDIR)
1672#endif
1673           DOCDIR = DocDir
1674       DOCHTMLDIR = DocHtmlDir
1675         DOCPSDIR = DocPsDir
1676        DOCPDFDIR = DocPdfDir
1677          FONTDIR = FontDir		/* font directories */
1678      FONTROOTDIR = FontDir		/* font directories */
1679     ENCODINGSDIR = FontEncDir          /* font encodings directory */
1680         XINITDIR = XinitDir		/* xinit config files */
1681           XDMDIR = XdmDir		/* xdm config files */
1682        XDMVARDIR = XdmVarDir		/* xdm config files */
1683           TWMDIR = TwmDir		/* twm config files */
1684           XSMDIR = XsmDir		/* xsm config files */
1685           NLSDIR = NlsDir		/* nls files */
1686       XLOCALEDIR = XLocaleDir		/* locale files */
1687      LBXPROXYDIR = LbxproxyDir		/* lbxproxy files */
1688  PROXYMANAGERDIR = ProxyManagerDir	/* proxy manager config files */
1689        XPRINTDIR = XPrintDir		/* print config file root */
1690      XAPPLOADDIR = XAppLoadDir		/* application default resource dir */
1691       FONTCFLAGS = FontCompilerFlags
1692
1693     INSTAPPFLAGS = $(INSTDATFLAGS)	/* XXX - this should go away - XXX */
1694
1695#if UseInstalledX11
1696              RGB = $(XBINDIR)/rgb
1697            FONTC = $(XBINDIR)/bdftopcf
1698      MKFONTSCALE = $(XBINDIR)/mkfontscale
1699        MKFONTDIR = $(XBINDIR)/mkfontdir
1700      MKHTMLINDEX = $(XBINDIR)/mkhtmlindex
1701          UCS2ANY = $(XBINDIR)/ProgramTargetName(ucs2any)
1702      BDFTRUNCATE = $(XBINDIR)/bdftruncate
1703     UCSMAPPREFIX = $(FONTDIR)/util/map-
1704       XCURSORGEN = $(XBINDIR)/xcursorgen
1705#else
1706              RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb
1707# if !CrossCompiling
1708            FONTC = $(CLIENTENVSETUP) $(PRELOADFONTSETUP) $(XBUILDBINDIR)/bdftopcf
1709      MKFONTSCALE = $(CLIENTENVSETUP) $(PRELOADFREETYPESETUP) $(XBUILDBINDIR)/mkfontscale
1710        MKFONTDIR = $(MKFONTSCALE) -b -s -l
1711       XCURSORGEN = $(CLIENTENVSETUP) $(PRELOADSETUP) $(XBUILDBINDIR)/xcursorgen
1712          UCS2ANY = $(XBUILDBINDIR)/ProgramTargetName(ucs2any)
1713# elif UseInstalledOnCrossCompile
1714        MKFONTDIR = $(XBINDIR)/mkfontdir
1715      MKFONTSCALE = $(XBINDIR)/mkfontscale
1716            FONTC = $(XBINDIR)/bdftopcf
1717       XCURSORGEN = $(XBINDIR)/xcursorgen
1718          UCS2ANY = $(XBINDIR)/ucs2any
1719# endif
1720# if HasPerl
1721      MKHTMLINDEX = RunPerlScript($(CONFIGSRC)/util/mkhtmlindex.pl,)
1722# else
1723      MKHTMLINDEX = $(SHELL) $(CONFIGSRC)/util/mkhtmlindex.sh
1724# endif
1725      BDFTRUNCATE = $(FONTSRC)/util/bdftruncate.pl
1726     UCSMAPPREFIX = $(FONTSRC)/util/map-
1727#endif
1728
1729     HTMLINDEXCMD = HtmlIndexCmd
1730
1731       DOCUTILSRC = $(XTOP)/doc/util
1732        CLIENTSRC = $(TOP)/clients
1733          DEMOSRC = $(TOP)/demos
1734       XDOCMACROS = $(DOCUTILSRC)/macros.t
1735       XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
1736       PROGRAMSRC = $(TOP)/programs
1737           LIBSRC = $(XTOP)/lib
1738          FONTSRC = $(XTOP)/fonts
1739     ENCODINGSSRC = $(FONTSRC)/encodings
1740       INCLUDESRC = BuildIncDir
1741      XINCLUDESRC = $(INCLUDESRC)/X11
1742        SERVERSRC = $(XTOP)/programs/Xserver
1743       CONTRIBSRC = ContribDir
1744   UNSUPPORTEDSRC = UnsupportedDir
1745           DOCSRC = $(XTOP)/doc
1746           RGBSRC = $(XTOP)/programs/rgb
1747      BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
1748     MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
1749    FONTSERVERSRC = $(PROGRAMSRC)/xfs
1750       FONTINCSRC = $(XTOP)/include/fonts
1751        EXTINCSRC = $(XTOP)/include/extensions
1752      FTSOURCEDIR = FreeTypeSrcDir
1753        DRMSRCDIR = DRMSrcDir
1754       MESASRCDIR = MesaSrcDir
1755  OGLSAMPLESRCDIR = OglSampleSrcDir
1756        PSWRAPSRC = $(XTOP)/config/pswrap
1757     TRANSCOMMSRC = $(LIBSRC)/xtrans
1758   TRANS_INCLUDES = -I$(TRANSCOMMSRC)
1759 CONNECTION_FLAGS = ConnectionFlags ExtraConnectionDefs
1760XTRANS_FAILDEFINES = XtransFailDefine
1761#ifdef X11ProjectRoot
1762     XPROJECTROOT = X11ProjectRoot
1763#endif
1764    VENDORMANNAME = XVendorManNameString
1765 VENDORMANVERSION = XVendorManVersionString
1766      XORGMANDEFS = XOrgManDefs
1767    VENDORMANDEFS = VendorManDefs
1768       VENDORNAME = XVendorNameString
1769  VENDORNAMESHORT = XVendorNameStringShort
1770
1771#if defined (XVendorWebSupport)
1772 VENDORWEBSUPPORT = XVendorWebSupport
1773#endif
1774VENDORSUPPORTDEFS = VendorSupportDefines
1775
1776      XKBDEFRULES = XkbDefaultRulesFile
1777  XKBDEFRULESDEFS = XkbDefRulesDefines
1778
1779     XCONFIGFILE = XConfigFile
1780      XCONFIGDIR = XConfigDir
1781        XLOGFILE = XLogFile
1782     XSERVERNAME = XServerName
1783
1784#if HasSharedLibraries
1785#ifndef DontUseLibPathVar
1786#ifndef BuildLibPathVar
1787#define BuildLibPathVar LD_LIBRARY_PATH
1788#endif
1789#endif
1790#endif
1791#ifdef BuildLibPathVar
1792# ifdef SystemBuildLibPath
1793  SYSTEMENVLIBDIR = SystemBuildLibPath
1794# endif
1795#define XlocaleClientSetup Concat3(XLOCALEDIR,=,BuildI18NDir)
1796       XENVLIBDIR = X11BuildLibPath
1797   CLIENTENVSETUP = Concat3(BuildLibPathVar,=,BuildLibPath) XlocaleClientSetup
1798#else
1799   CLIENTENVSETUP =
1800#endif
1801
1802#ifdef PreloadSetup
1803     PRELOADSETUP = PreloadSetup
1804#endif
1805#ifdef PreloadFontSetup
1806 PRELOADFONTSETUP = PreloadFontSetup
1807#endif
1808#ifdef PreloadFreetypeSetup
1809 PRELOADFREETYPESETUP = PreloadFreetypeSetup
1810#endif
1811#ifdef PreloadXFTSetup
1812     PRELOADXFTSETUP = PreloadXFTSetup
1813#endif
1814
1815#ifndef ShLibIncludeFile
1816/* need this to make ANSI-style preprocessors happy */
1817#define ShLibIncludeFile <noop.rules>
1818#endif
1819
1820#include ShLibIncludeFile
1821
1822#ifndef XBuildLibDir
1823# define XBuildLibDir	BuildLibDir
1824#endif
1825
1826#ifndef NeedLibInsideFlag
1827#define NeedLibInsideFlag	NO
1828#endif
1829
1830#ifndef SharedLibX11
1831#define SharedLibX11 HasSharedLibraries
1832#endif
1833#ifndef NormalLibX11
1834#define NormalLibX11 (!SharedLibX11 | ForceNormalLib)
1835#endif
1836#ifndef DebugLibX11
1837#define DebugLibX11		NO	/* debugged X library */
1838#endif
1839#ifndef ProfileLibX11
1840#define ProfileLibX11		NO	/* profiled X library */
1841#endif
1842          XLIBSRC = $(LIBSRC)/X11
1843#if SharedLibX11
1844#ifndef SharedX11Rev
1845#define SharedX11Rev 6.2
1846#endif
1847SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
1848#else
1849ProjectUnsharedLibReferences(XONLY,X11,$(XLIBSRC),XBuildLibDir)
1850#endif
1851      /* Common alternate spellings */
1852      DEPXLIBONLY = $(DEPXONLYLIB)
1853         XLIBONLY = $(XONLYLIB)
1854     LINTXONLYLIB = $(LINTXONLY)
1855
1856#if BuildScreenSaverLibrary
1857#ifndef SharedLibXss
1858#define SharedLibXss	HasSharedLibraries
1859#endif
1860#ifndef NormalLibXss
1861#define NormalLibXss	(!SharedLibXss || ForceNormalLib)
1862#endif
1863#ifndef DebugLibXss
1864#define DebugLibXss	NO
1865#endif
1866#ifndef ProfileLibXss
1867#define ProfileLibXss	NO
1868#endif
1869#else
1870#undef  SharedLibXss
1871#define SharedLibXss	NO
1872#undef  NormalLibXss
1873#define NormalLibXss	NO
1874#undef  DebugLibXss
1875#define DebugLibXss	NO
1876#undef  ProfileLibXss
1877#define ProfileLibXss	NO
1878#endif
1879
1880#if BuildXF86MiscLibrary
1881#ifndef SharedLibXxf86misc
1882#define SharedLibXxf86misc	HasSharedLibraries
1883#endif
1884#ifndef NormalLibXxf86misc
1885#define NormalLibXxf86misc	(!SharedLibXxf86misc || ForceNormalLib)
1886#endif
1887#ifndef DebugLibXxf86misc
1888#define DebugLibXxf86misc	NO
1889#endif
1890#ifndef ProfileLibXxf86misc
1891#define ProfileLibXxf86misc	NO
1892#endif
1893#else
1894#undef  SharedLibXxf86misc
1895#define SharedLibXxf86misc	NO
1896#undef  NormalLibXxf86misc
1897#define NormalLibXxf86misc	NO
1898#undef  DebugLibXxf86misc
1899#define DebugLibXxf86misc	NO
1900#undef  ProfileLibXxf86misc
1901#define ProfileLibXxf86misc	NO
1902#endif
1903
1904#if BuildXF86VidModeLibrary
1905#ifndef SharedLibXxf86vm
1906#define SharedLibXxf86vm	HasSharedLibraries
1907#endif
1908#ifndef NormalLibXxf86vm
1909#define NormalLibXxf86vm	(!SharedLibXxf86vm || ForceNormalLib)
1910#endif
1911#ifndef DebugLibXxf86vm
1912#define DebugLibXxf86vm		NO
1913#endif
1914#ifndef ProfileLibXxf86vm
1915#define ProfileLibXxf86vm	NO
1916#endif
1917#else
1918#undef  SharedLibXxf86vm
1919#define SharedLibXxf86vm	NO
1920#undef  NormalLibXxf86vm
1921#define NormalLibXxf86vm	NO
1922#undef  DebugLibXxf86vm
1923#define DebugLibXxf86vm		NO
1924#undef  ProfileLibXxf86vm
1925#define ProfileLibXxf86vm	NO
1926#endif
1927
1928#if BuildXF86DGALibrary
1929#ifndef SharedLibXxf86dga
1930#define SharedLibXxf86dga	HasSharedLibraries
1931#endif
1932#ifndef NormalLibXxf86dga
1933#define NormalLibXxf86dga	(!SharedLibXxf86dga || ForceNormalLib)
1934#endif
1935#ifndef DebugLibXxf86dga
1936#define DebugLibXxf86dga	NO
1937#endif
1938#ifndef ProfileLibXxf86dga
1939#define ProfileLibXxf86dga	NO
1940#endif
1941#else
1942#undef  SharedLibXxf86dga
1943#define SharedLibXxf86dga	NO
1944#undef  NormalLibXxf86dga
1945#define NormalLibXxf86dga	NO
1946#undef  DebugLibXxf86dga
1947#define DebugLibXxf86dga	NO
1948#undef  ProfileLibXxf86dga
1949#define ProfileLibXxf86dga	NO
1950#endif
1951
1952#if BuildXF86RushLibrary
1953#ifndef SharedLibXxf86rush
1954#define SharedLibXxf86rush	HasSharedLibraries
1955#endif
1956#ifndef NormalLibXxf86rush
1957#define NormalLibXxf86rush	(!SharedLibXxf86rush || ForceNormalLib)
1958#endif
1959#ifndef DebugLibXxf86rush
1960#define DebugLibXxf86rush	NO
1961#endif
1962#ifndef ProfileLibXxf86rush
1963#define ProfileLibXxf86rush	NO
1964#endif
1965#else
1966#undef  SharedLibXxf86rush
1967#define SharedLibXxf86rush	NO
1968#undef  NormalLibXxf86rush
1969#define NormalLibXxf86rush	NO
1970#undef  DebugLibXxf86rush
1971#define DebugLibXxf86rush	NO
1972#undef  ProfileLibXxf86rush
1973#define ProfileLibXxf86rush	NO
1974#endif
1975
1976#if BuildXvLibrary
1977#ifndef SharedLibXv
1978#define SharedLibXv		HasSharedLibraries
1979#endif
1980#ifndef NormalLibXv
1981#define NormalLibXv		(!SharedLibXv || ForceNormalLib)
1982#endif
1983#ifndef DebugLibXv
1984#define DebugLibXv		NO
1985#endif
1986#ifndef ProfileLibXv
1987#define ProfileLibXv		NO
1988#endif
1989#else
1990#undef  SharedLibXv
1991#define SharedLibXv		NO
1992#undef  NormalLibXv
1993#define NormalLibXv		NO
1994#undef  DebugLibXv
1995#define DebugLibXv		NO
1996#undef  ProfileLibXv
1997#define ProfileLibXv		NO
1998#endif
1999
2000#if BuildXvMCLibrary
2001#ifndef SharedLibXvMC
2002#define SharedLibXvMC		HasSharedLibraries
2003#endif
2004#ifndef NormalLibXvMC
2005#define NormalLibXvMC		(!SharedLibXvMC || ForceNormalLib)
2006#endif
2007#ifndef DebugLibXvMC
2008#define DebugLibXvMC		NO
2009#endif
2010#ifndef ProfileLibXvMC
2011#define ProfileLibXvMC		NO
2012#endif
2013#else
2014#undef  SharedLibXvMC
2015#define SharedLibXvMC		NO
2016#undef  NormalLibXvMC
2017#define NormalLibXvMC		NO
2018#undef  DebugLibXvMC
2019#define DebugLibXvMC		NO
2020#undef  ProfileLibXvMC
2021#define ProfileLibXvMC		NO
2022#endif
2023
2024#if BuildXineramaLibrary
2025#ifndef SharedLibXinerama
2026#define SharedLibXinerama	HasSharedLibraries
2027#endif
2028#ifndef NormalLibXinerama
2029#define NormalLibXinerama	(!SharedLibXinerama || ForceNormalLib)
2030#endif
2031#ifndef DebugLibXinerama
2032#define DebugLibXinerama	NO
2033#endif
2034#ifndef ProfileLibXinerama
2035#define ProfileLibXinerama	NO
2036#endif
2037#else
2038#undef  SharedLibXinerama
2039#define SharedLibXinerama	NO
2040#undef  NormalLibXinerama
2041#define NormalLibXinerama	NO
2042#undef  DebugLibXinerama
2043#define DebugLibXinerama	NO
2044#undef  ProfileLibXinerama
2045#define ProfileLibXinerama	NO
2046#endif
2047
2048#if BuildXResLibrary
2049#ifndef SharedLibXRes
2050#define SharedLibXRes           HasSharedLibraries
2051#endif
2052#ifndef NormalLibXRes
2053#define NormalLibXRes           (!SharedLibXRes || ForceNormalLib)
2054#endif
2055#ifndef DebugLibXRes
2056#define DebugLibXRes            NO
2057#endif
2058#ifndef ProfileLibXRes
2059#define ProfileLibXRes          NO
2060#endif
2061#else
2062#undef  SharedLibXRes
2063#define SharedLibXRes		NO
2064#undef  NormalLibXRes
2065#define NormalLibXRes		NO
2066#undef  DebugLibXRes
2067#define DebugLibXRes		NO
2068#undef  ProfileLibXRes
2069#define ProfileLibXRes		NO
2070#endif
2071
2072#if BuildDPSLibrary
2073#ifndef SharedLibDps
2074#define SharedLibDps		HasSharedLibraries
2075#endif
2076#ifndef NormalLibDps
2077#define NormalLibDps		(!SharedLibDps || ForceNormalLib)
2078#endif
2079#ifndef DebugLibDps
2080#define DebugLibDps		NO
2081#endif
2082#ifndef ProfileLibDps
2083#define ProfileLibDps		NO
2084#endif
2085#else
2086#undef  SharedLibDps
2087#define SharedLibDps		NO
2088#undef  NormalLibDps
2089#define NormalLibDps		NO
2090#undef  DebugLibDps
2091#define DebugLibDps		NO
2092#undef  ProfileLibDps
2093#define ProfileLibDps		NO
2094#endif
2095
2096#if BuildDPSTkLibrary
2097#ifndef SharedLibDpsTk
2098#define SharedLibDpsTk		HasSharedLibraries
2099#endif
2100#ifndef NormalLibDpsTk
2101#define NormalLibDpsTk		(!SharedLibDpsTk || ForceNormalLib)
2102#endif
2103#ifndef DebugLibDpsTk
2104#define DebugLibDpsTk		NO
2105#endif
2106#ifndef ProfileLibDpsTk
2107#define ProfileLibDpsTk		NO
2108#endif
2109#else
2110#undef  SharedLibDpsTk
2111#define SharedLibDpsTk		NO
2112#undef  NormalLibDpsTk
2113#define NormalLibDpsTk		NO
2114#undef  DebugLibDpsTk
2115#define DebugLibDpsTk		NO
2116#undef  ProfileLibDpsTk
2117#define ProfileLibDpsTk		NO
2118#endif
2119
2120#if BuildPSResLibrary
2121#ifndef SharedLibPSRes
2122#define SharedLibPSRes		HasSharedLibraries
2123#endif
2124#ifndef NormalLibPSRes
2125#define NormalLibPSRes		(!SharedLibPSRes || ForceNormalLib)
2126#endif
2127#ifndef DebugLibPSRes
2128#define DebugLibPSRes		NO
2129#endif
2130#ifndef ProfileLibPSRes
2131#define ProfileLibPSRes		NO
2132#endif
2133#else
2134#undef  SharedLibPSRes
2135#define SharedLibPSRes		NO
2136#undef  NormalLibPSRes
2137#define NormalLibPSRes		NO
2138#undef  DebugLibPSRes
2139#define DebugLibPSRes		NO
2140#undef  ProfileLibPSRes
2141#define ProfileLibPSRes		NO
2142#endif
2143
2144#if BuildRenderLibrary
2145#ifndef SharedLibXrender
2146#define SharedLibXrender	HasSharedLibraries
2147#endif
2148#ifndef NormalLibXrender
2149#define NormalLibXrender	(!SharedLibXrender || ForceNormalLib)
2150#endif
2151#ifndef DebugLibXrender
2152#define DebugLibXrender		NO
2153#endif
2154#ifndef ProfileLibXrender
2155#define ProfileLibXrender	NO
2156#endif
2157#else
2158#undef  SharedLibXrender
2159#define SharedLibXrender	NO
2160#undef  NormalLibXrender
2161#define NormalLibXrender	NO
2162#undef  DebugLibXrender
2163#define DebugLibXrender		NO
2164#undef  ProfileLibXrender
2165#define ProfileLibXrender	NO
2166#endif
2167
2168#if BuildRandRLibrary
2169# ifndef SharedLibXrandr
2170#  define SharedLibXrandr		HasSharedLibraries
2171# endif
2172# ifndef NormalLibXrandr
2173#  define NormalLibXrandr		(!SharedLibXrandr || ForceNormalLib)
2174# endif
2175# ifndef DebugLibXrandr
2176#  define DebugLibXrandr	NO
2177# endif
2178# ifndef ProfileLibXrandr
2179#  define ProfileLibXrandr	NO
2180# endif
2181#else
2182# undef  SharedLibXrandr
2183# define SharedLibXrandr	NO
2184# undef  NormalLibXrandr
2185# define NormalLibXrandr	NO
2186# undef  DebugLibXrandr
2187# define DebugLibXrandr		NO
2188# undef  ProfileLibXrandr
2189# define ProfileLibXrandr	NO
2190#endif
2191
2192#if BuildXfixesLibrary
2193#ifndef SharedLibXfixes
2194#define SharedLibXfixes		HasSharedLibraries
2195#endif
2196#ifndef NormalLibXfixes
2197#define NormalLibXfixes		(!SharedLibXfixes || ForceNormalLib)
2198#endif
2199#ifndef DebugLibXfixes
2200#define DebugLibXfixes		NO
2201#endif
2202#ifndef ProfileLibXfixes
2203#define ProfileLibXfixes	NO
2204#endif
2205#else
2206#undef  SharedLibXfixes
2207#define SharedLibXfixes		NO
2208#undef  NormalLibXfixes
2209#define NormalLibXfixes		NO
2210#undef  DebugLibXfixes
2211#define DebugLibXfixes		NO
2212#undef  ProfileLibXfixes
2213#define ProfileLibXfixes	NO
2214#endif
2215
2216#if BuildDamageLibrary
2217#ifndef SharedLibXdamage
2218#define SharedLibXdamage	HasSharedLibraries
2219#endif
2220#ifndef NormalLibXdamage
2221#define NormalLibXdamage	(!SharedLibXdamage || ForceNormalLib)
2222#endif
2223#ifndef DebugLibXdamage
2224#define DebugLibXdamage		NO
2225#endif
2226#ifndef ProfileLibXdamage
2227#define ProfileLibXdamage	NO
2228#endif
2229#else
2230#undef  SharedLibXdamage
2231#define SharedLibXdamage	NO
2232#undef  NormalLibXdamage
2233#define NormalLibXdamage	NO
2234#undef  DebugLibXdamage
2235#define DebugLibXdamage		NO
2236#undef  ProfileLibXdamage
2237#define ProfileLibXdamage	NO
2238#endif
2239
2240#if BuildCompositeLibrary
2241#ifndef SharedLibXcomposite
2242#define SharedLibXcomposite	HasSharedLibraries
2243#endif
2244#ifndef NormalLibXcomposite
2245#define NormalLibXcomposite	(!SharedLibXcomposite || ForceNormalLib)
2246#endif
2247#ifndef DebugLibXcomposite
2248#define DebugLibXcomposite	NO
2249#endif
2250#ifndef ProfileLibXcomposite
2251#define ProfileLibXcomposite	NO
2252#endif
2253#else
2254#undef  SharedLibXcomposite
2255#define SharedLibXcomposite	NO
2256#undef  NormalLibXcomposite
2257#define NormalLibXcomposite	NO
2258#undef  DebugLibXcomposite
2259#define DebugLibXcomposite	NO
2260#undef  ProfileLibXcomposite
2261#define ProfileLibXcomposite	NO
2262#endif
2263
2264#if BuildXevieLibrary
2265#ifndef SharedLibXevie
2266#define SharedLibXevie		HasSharedLibraries
2267#endif
2268#ifndef NormalLibXevie
2269#define NormalLibXevie		(!SharedLibXevie || ForceNormalLib)
2270#endif
2271#ifndef DebugLibXevie
2272#define DebugLibXevie		NO
2273#endif
2274#ifndef ProfileLibXevie
2275#define ProfileLibXevie		NO
2276#endif
2277#else
2278#undef  SharedLibXevie
2279#define SharedLibXevie		NO
2280#undef  NormalLibXevie
2281#define NormalLibXevie		NO
2282#undef  DebugLibXevie
2283#define DebugLibXevie		NO
2284#undef  ProfileLibXevie
2285#define ProfileLibXevie		NO
2286#endif
2287
2288#if BuildXcursorLibrary
2289#ifndef SharedLibXcursor
2290#define SharedLibXcursor	HasSharedLibraries
2291#endif
2292#ifndef NormalLibXcursor
2293#define NormalLibXcursor	(!SharedLibXcursor || ForceNormalLib)
2294#endif
2295#ifndef DebugLibXcursor
2296#define DebugLibXcursor		NO
2297#endif
2298#ifndef ProfileLibXcursor
2299#define ProfileLibXcursor	NO
2300#endif
2301#else
2302#undef  SharedLibXcursor
2303#define SharedLibXcursor	NO
2304#undef  NormalLibXcursor
2305#define NormalLibXcursor	NO
2306#undef  DebugLibXcursor
2307#define DebugLibXcursor		NO
2308#undef  ProfileLibXcursor
2309#define ProfileLibXcursor	NO
2310#endif
2311
2312#if BuildAppleWMLibrary
2313#ifndef SharedLibAppleWM
2314#define SharedLibAppleWM	HasSharedLibraries
2315#endif
2316#ifndef NormalLibAppleWM
2317#define NormalLibAppleWM	(!SharedLibAppleWM || ForceNormalLib)
2318#endif
2319#ifndef DebugLibAppleWM
2320#define DebugLibAppleWM		NO
2321#endif
2322#ifndef ProfileLibAppleWM
2323#define ProfileLibAppleWM	NO
2324#endif
2325#else
2326#undef  SharedLibAppleWM
2327#define SharedLibAppleWM	NO
2328#undef  NormalLibAppleWM
2329#define NormalLibAppleWM	NO
2330#undef  DebugLibAppleWM
2331#define DebugLibAppleWM		NO
2332#undef  ProfileLibAppleWM
2333#define ProfileLibAppleWM	NO
2334#endif
2335
2336#if BuildWindowsWMLibrary
2337#ifndef SharedLibWindowsWM
2338#define SharedLibWindowsWM	HasSharedLibraries
2339#endif
2340#ifndef NormalLibWindowsWM
2341#define NormalLibWindowsWM	(!SharedLibWindowsWM || ForceNormalLib)
2342#endif
2343#ifndef DebugLibWindowsWM
2344#define DebugLibWindowsWM	NO
2345#endif
2346#ifndef ProfileLibWindowsWM
2347#define ProfileLibWindowsWM	NO
2348#endif
2349#else
2350#undef  SharedLibWindowsWM
2351#define SharedLibWindowsWM	NO
2352#undef  NormalLibWindowsWM
2353#define NormalLibWindowsWM	NO
2354#undef  DebugLibWindowsWM
2355#define DebugLibWindowsWM	NO
2356#undef  ProfileLibWindowsWM
2357#define ProfileLibWindowsWM	NO
2358#endif
2359
2360#if BuildGLULibrary
2361#ifndef SharedLibGlu
2362#define SharedLibGlu		HasSharedLibraries
2363#endif
2364#ifndef NormalLibGlu
2365#define NormalLibGlu		(!SharedLibX11 | ForceNormalLib)
2366#endif
2367#ifndef DebugLibGlu
2368#define DebugLibGlu		NO
2369#endif
2370#ifndef ProfileLibGlu
2371#define ProfileLibGlu		NO
2372#endif
2373#else
2374#undef  SharedLibGlu
2375#define SharedLibGlu		NO
2376#undef  NormalLibGlu
2377#define NormalLibGlu		NO
2378#undef  DebugLibGlu
2379#define DebugLibGlu		NO
2380#undef  ProfileLibGlu
2381#define ProfileLibGlu		NO
2382#endif
2383
2384#if BuildGLXLibrary
2385#ifndef SharedLibGlx
2386#define SharedLibGlx		HasSharedLibraries
2387#endif
2388#ifndef NormalLibGlx
2389#define NormalLibGlx		(!SharedLibX11 | ForceNormalLib)
2390#endif
2391#ifndef DebugLibGlx
2392#define DebugLibGlx		NO
2393#endif
2394#ifndef ProfileLibGlx
2395#define ProfileLibGlx		NO
2396#endif
2397#ifndef BuildLibGlxWithoutPIC
2398#define BuildLibGlxWithoutPIC	NO
2399#endif
2400#if BuildLibGlxWithoutPIC && SharedLibGlx
2401#define SharedLibGlxWithoutPIC	YES
2402#else
2403#define SharedLibGlxWithoutPIC	NO
2404#endif
2405#ifndef LinkGLToUsrLib
2406#define LinkGLToUsrLib		NO
2407#endif
2408#if NothingOutsideProjectRoot
2409#undef LinkGLToUsrLib
2410#define LinkGLToUsrLib		NO
2411#endif
2412#ifndef LinkGLToUsrInclude
2413#define LinkGLToUsrInclude	NO
2414#endif
2415#if NothingOutsideProjectRoot
2416#undef LinkGLToUsrInclude
2417#define LinkGLToUsrInclude	NO
2418#endif
2419#else
2420#undef  SharedLibGlx
2421#define SharedLibGlx		NO
2422#undef  NormalLibGlx
2423#define NormalLibGlx		NO
2424#undef  DebugLibGlx
2425#define DebugLibGlx		NO
2426#undef  ProfileLibGlx
2427#define ProfileLibGlx		NO
2428#endif
2429/*
2430 * Only make a shared GLw library on systems with Weak symbols
2431 * because it depends on Motif. See xc/lib/GLw/README.txt for details
2432 */
2433#if BuildGLwLibrary
2434#ifndef SharedLibGLw
2435#define SharedLibGLw		HasSharedLibraries && HasWeakSymbols
2436#endif
2437#ifndef NormalLibGLw
2438#define NormalLibGLw		(!SharedLibGLw || ForceNormalLib)
2439#endif
2440#ifndef DebugLibGLw
2441#define DebugLibGLw		NO	/* debugged widget library */
2442#endif
2443#ifndef ProfileLibGLw
2444#define ProfileLibGLw		NO	/* profiled widget library */
2445#endif
2446#ifndef GLwUseXmStubs
2447	/* create stub (weak) Motif symbols */
2448#define GLwUseXmStubs		SharedLibGLw && HasWeakSymbols
2449#endif
2450#else
2451#undef  SharedLibGLw
2452#define SharedLibGLw		NO
2453#undef  NormalLibGLw
2454#define NormalLibGLw		NO
2455#undef  DebugLibGLw
2456#define DebugLibGLw		NO
2457#undef  ProfileLibGLw
2458#define ProfileLibGLw		NO
2459#endif
2460
2461#ifndef SharedLibXext
2462#define SharedLibXext HasSharedLibraries
2463#endif
2464#ifndef NormalLibXext
2465#define NormalLibXext (!SharedLibXext | ForceNormalLib)
2466#endif
2467#ifndef DebugLibXext
2468#define DebugLibXext		NO	/* debugged Xext library */
2469#endif
2470#ifndef ProfileLibXext
2471#define ProfileLibXext		NO	/* profiled Xext library */
2472#endif
2473      XEXTLIBSRC = $(LIBSRC)/Xext
2474#if SharedLibXext
2475#ifndef SharedXextRev
2476#define SharedXextRev 6.4
2477#endif
2478SharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),SOXEXTREV,SharedXextRev)
2479#else
2480ProjectUnsharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),XBuildLibDir)
2481#endif
2482LINTEXTENSIONLIB = $(LINTEXTENSION)
2483          DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
2484             XLIB = $(EXTENSIONLIB) $(XONLYLIB)
2485         LINTXLIB = $(LINTXONLYLIB)
2486
2487    XSSLIBSRC = $(LIBSRC)/Xss
2488#if SharedLibXss
2489#ifndef SharedXssRev
2490#define SharedXssRev 1.0
2491#endif
2492SharedLibReferences(XSS,Xss,$(XSSLIBSRC),SOXSSREV,SharedXssRev)
2493#else
2494ProjectUnsharedLibReferences(XSS,Xss,$(XSSLIBSRC),XBuildLibDir)
2495#endif
2496
2497    XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc
2498#if SharedLibXxf86misc
2499#ifndef SharedXxf86miscRev
2500#define SharedXxf86miscRev 1.1
2501#endif
2502SharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),SOXXF86MISCREV,SharedXxf86miscRev)
2503#else
2504ProjectUnsharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),XBuildLibDir)
2505#endif
2506
2507    XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm
2508#if SharedLibXxf86vm
2509#ifndef SharedXxf86vmRev
2510#define SharedXxf86vmRev 1.0
2511#endif
2512SharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),SOXXF86VMREV,SharedXxf86vmRev)
2513#else
2514ProjectUnsharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),XBuildLibDir)
2515#endif
2516
2517    XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga
2518#if SharedLibXxf86dga
2519#ifndef SharedXxf86dgaRev
2520#define SharedXxf86dgaRev 1.0
2521#endif
2522SharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),SOXXF86DGAREV,SharedXxf86dgaRev)
2523#else
2524ProjectUnsharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),XBuildLibDir)
2525#endif
2526
2527#if BuildDmxLibrary
2528#ifndef SharedLibDmx
2529#define SharedLibDmx		NO
2530#endif
2531#ifndef NormalLibDmx
2532#define NormalLibDmx		YES
2533#endif
2534#ifndef DebugLibDmx
2535#define DebugLibDmx		NO
2536#endif
2537#ifndef ProfileLibDmx
2538#define ProfileLibDmx		NO
2539#endif
2540#else /* BuildDmxLibrary */
2541#undef SharedLibDmx
2542#define SharedLibDmx		NO
2543#undef NormalLibDmx
2544#define NormalLibDmx		NO
2545#undef DebugLibDmx
2546#define DebugLibDmx		NO
2547#undef ProfileLibDmx
2548#define ProfileLibDmx		NO
2549#endif /* BuildDmxLibrary */
2550
2551    XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush
2552#if SharedLibXxf86rush
2553#ifndef SharedXxf86rushRev
2554#define SharedXxf86rushRev 1.0
2555#endif
2556SharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),SOXXF86RUSHREV,SharedXxf86rushRev)
2557#else
2558ProjectUnsharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),XBuildLibDir)
2559#endif
2560
2561
2562    XVLIBSRC = $(LIBSRC)/Xv
2563#if SharedLibXv
2564#ifndef SharedXvRev
2565#define SharedXvRev 1.0
2566#endif
2567SharedLibReferences(XV,Xv,$(XVLIBSRC),SOXVREV,SharedXvRev)
2568#else
2569ProjectUnsharedLibReferences(XV,Xv,$(XVLIBSRC),XBuildLibDir)
2570#endif
2571
2572
2573    XVMCLIBSRC = $(LIBSRC)/XvMC
2574#if SharedLibXvMC
2575#ifndef SharedXvMCRev
2576#define SharedXvMCRev 1.0
2577#endif
2578SharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),SOXVMCREV,SharedXvMCRev)
2579#else
2580ProjectUnsharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),XBuildLibDir)
2581#endif
2582
2583    XINERAMALIBSRC = $(LIBSRC)/Xinerama
2584#if SharedLibXinerama
2585#ifndef SharedXineramaRev
2586#define SharedXineramaRev 1.0
2587#endif
2588SharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),SOXINERAMAREV,SharedXineramaRev)
2589#else
2590ProjectUnsharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),XBuildLibDir)
2591#endif
2592
2593    XRESLIBSRC = $(LIBSRC)/XRes
2594#if SharedLibXRes
2595#ifndef SharedXResRev
2596#define SharedXResRev 1.0
2597#endif
2598SharedLibReferences(XRES,XRes,$(XRESLIBSRC),SOXRESREV,SharedXResRev)
2599#else
2600ProjectUnsharedLibReferences(XRES,XRes,$(XRESLIBSRC),XBuildLibDir)
2601#endif
2602
2603    DMXLIBSRC = $(LIBSRC)/dmx
2604#if SharedLibDmx
2605#ifndef SharedDmxRev
2606#define SharedDmxRev 1.0
2607#endif
2608SharedLibReferences(DMX,dmx,$(DMXLIBSRC),SODMXREV,SharedDmxRev)
2609#else
2610ProjectUnsharedLibReferences(DMX,dmx,$(DMXLIBSRC),XBuildLibDir)
2611#endif
2612
2613    DPSLIBSRC = $(LIBSRC)/dps
2614#if SharedLibDps
2615#ifndef SharedDpsRev
2616#define SharedDpsRev 1.0
2617#endif
2618SharedLibReferences(DPS,dps,$(DPSLIBSRC),SODPSREV,SharedDpsRev)
2619#else
2620ProjectUnsharedLibReferences(DPS,dps,$(DPSLIBSRC),XBuildLibDir)
2621#endif
2622
2623    DPSTKLIBSRC = $(LIBSRC)/dpstk
2624#if SharedLibDpsTk
2625#ifndef SharedDpsTkRev
2626#define SharedDpsTkRev 1.0
2627#endif
2628SharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),SODPSTKREV,SharedDpsTkRev)
2629#else
2630ProjectUnsharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),XBuildLibDir)
2631#endif
2632
2633    PSRESLIBSRC = $(LIBSRC)/psres
2634#if SharedLibPSRes
2635#ifndef SharedPSResRev
2636#define SharedPSResRev 1.0
2637#endif
2638SharedLibReferences(PSRES,psres,$(PSRESLIBSRC),SOPSRESREV,SharedPSResRev)
2639#else
2640ProjectUnsharedLibReferences(PSRES,psres,$(PSRESLIBSRC),XBuildLibDir)
2641#endif
2642
2643    GLULIBSRC = $(LIBSRC)/GLU
2644#if SharedLibGlu
2645#ifndef SharedGluRev
2646#define SharedGluRev 1.3
2647#endif
2648SharedLibReferences(GLU,GLU,$(GLULIBSRC),SOGLUREV,SharedGluRev)
2649#else
2650ProjectUnsharedLibReferences(GLU,GLU,$(GLULIBSRC),XBuildLibDir)
2651#endif
2652
2653    GLXLIBSRC = $(LIBSRC)/GL
2654#if SharedLibGlx
2655#ifndef SharedGlxRev
2656#define SharedGlxRev 1.2
2657#endif
2658SharedLibReferences(GLX,GL,$(GLXLIBSRC),SOGLREV,SharedGlxRev)
2659#else
2660ProjectUnsharedLibReferences(GLX,GL,$(GLXLIBSRC),XBuildLibDir)
2661#endif
2662    GLWIDGETSRC = $(LIBSRC)/GLw
2663#if SharedLibGLw
2664#ifndef SharedGLwRev
2665#define SharedGLwRev 1.0		/* used to name the shared library */
2666#endif
2667SharedDSLibReferences(GLW,GLw,$(GLWIDGETSRC),SOGLWREV,SharedGLwRev)
2668#else
2669ProjectUnsharedLibReferences(GLW,GLw,$(GLWIDGETSRC),XBuildLibDir)
2670#endif
2671
2672    XRENDERLIBSRC = $(LIBSRC)/Xrender
2673#if SharedLibXrender
2674#ifndef SharedXrenderRev
2675#define SharedXrenderRev 1.2.2
2676#endif
2677SharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),SOXRENDERREV,SharedXrenderRev)
2678#else
2679ProjectUnsharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),XBuildLibDir)
2680#endif
2681
2682    XRANDRLIBSRC = $(LIBSRC)/Xrandr
2683#if SharedLibXrandr
2684#ifndef SharedXrandrRev
2685#define SharedXrandrRev 2.0
2686#endif
2687SharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),SOXRANDRREV,SharedXrandrRev)
2688#else
2689ProjectUnsharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),XBuildLibDir)
2690#endif
2691
2692    XFIXESLIBSRC = $(LIBSRC)/Xfixes
2693#if SharedLibXfixes
2694#ifndef SharedXfixesRev
2695#define SharedXfixesRev 3.0
2696#endif
2697SharedLibReferences(XFIXES,Xfixes,$(XFIXESLIBSRC),SOXFIXESREV,SharedXfixesRev)
2698#else
2699ProjectUnsharedLibReferences(XFIXES,Xfixes,$(XFIXESLIBSRC),XBuildLibDir)
2700#endif
2701
2702   XDAMAGELIBSRC = $(LIBSRC)/Xdamage
2703#if SharedLibXdamage
2704#ifndef SharedXdamageRev
2705#define SharedXdamageRev 1.0
2706#endif
2707SharedLibReferences(XDAMAGE,Xdamage,$(XDAMAGELIBSRC),SOXDAMAGEREV,SharedXdamageRev)
2708#else
2709ProjectUnsharedLibReferences(XDAMAGE,Xdamage,$(XDAMAGELIBSRC),XBuildLibDir)
2710#endif
2711
2712XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite
2713#if SharedLibXcomposite
2714#ifndef SharedXcompositeRev
2715#define SharedXcompositeRev 1.0
2716#endif
2717SharedLibReferences(XCOMPOSITE,Xcomposite,$(XCOMPOSITELIBSRC),SOXCOMPOSITEREV,SharedXcompositeRev)
2718#else
2719ProjectUnsharedLibReferences(XCOMPOSITE,Xcomposite,$(XCOMPOSITELIBSRC),XBuildLibDir)
2720#endif
2721
2722XEVIELIBSRC = $(LIBSRC)/Xevie
2723#if SharedLibXevie
2724#ifndef SharedXevieRev
2725#define SharedXevieRev 1.0
2726#endif
2727SharedLibReferences(XEVIE,Xevie,$(XEVIELIBSRC),SOXEVIEREV,SharedXevieRev)
2728#else
2729ProjectUnsharedLibReferences(XEVIE,Xevie,$(XEVIELIBSRC),XBuildLibDir)
2730#endif
2731
2732   XCURSORLIBSRC = $(LIBSRC)/Xcursor
2733#if SharedLibXcursor
2734#ifndef SharedXcursorRev
2735#define SharedXcursorRev 1.0.2
2736#endif
2737SharedLibReferences(XCURSOR,Xcursor,$(XCURSORLIBSRC),SOXCURSORREV,SharedXcursorRev)
2738#else
2739ProjectUnsharedLibReferences(XCURSOR,Xcursor,$(XCURSORLIBSRC),XBuildLibDir)
2740#endif
2741
2742   APPLEWMLIBSRC = $(LIBSRC)/apple
2743#if SharedLibAppleWM
2744#ifndef SharedAppleWMRev
2745#define SharedAppleWMRev 1.0
2746#endif
2747SharedLibReferences(APPLEWM,AppleWM,$(APPLEWMLIBSRC),SOAPPLEWMREV,SharedAppleWMRev)
2748#else
2749ProjectUnsharedLibReferences(APPLEWM,AppleWM,$(APPLEWMLIBSRC),XBuildLibDir)
2750#endif
2751
2752   WINDOWSWMLIBSRC = $(LIBSRC)/windows
2753#if SharedLibWindowsWM
2754#ifndef SharedWindowsWMRev
2755#define SharedWindowsWMRev 1.0
2756#endif
2757SharedLibReferences(WINDOWSWM,WindowsWM,$(WINDOWSWMLIBSRC),SOWINDOWSWMREV,SharedWindowsWMRev)
2758#else
2759ProjectUnsharedLibReferences(WINDOWSWM,WindowsWM,$(WINDOWSWMLIBSRC),XBuildLibDir)
2760#endif
2761
2762# ifndef SharedLibXfontcache
2763#  define SharedLibXfontcache	HasSharedLibraries
2764# endif
2765# ifndef NormalLibXfontcache
2766#  define NormalLibXfontcache	(!SharedLibXfontcache || ForceNormalLib)
2767# endif
2768# ifndef DebugLibXfontcache
2769#  define DebugLibXfontcache	NO
2770# endif
2771# ifndef ProfileLibXfontcache
2772#  define ProfileLibXfontcache	NO
2773# endif
2774
2775    XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache
2776#if SharedLibXfontcache
2777#ifndef SharedXfontcacheRev
2778#define SharedXfontcacheRev 1.2
2779#endif
2780SharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),SOXFONTCACHEREV,SharedXfontcacheRev)
2781#else
2782ProjectUnsharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),XBuildLibDir)
2783#endif
2784
2785#ifndef SharedLibXau
2786#define SharedLibXau		YES
2787#endif
2788#ifndef NormalLibXau
2789#define NormalLibXau (!SharedLibXau | ForceNormalLib)
2790#endif
2791#ifndef DebugLibXau
2792#define DebugLibXau		NO	/* debugged auth library */
2793#endif
2794#ifndef ProfileLibXau
2795#define ProfileLibXau		NO	/* profiled auth library */
2796#endif
2797         XAUTHSRC = $(LIBSRC)/Xau
2798#if SharedLibXau
2799#ifndef SharedXauRev
2800#define SharedXauRev 6.0
2801#endif
2802SharedLibReferences(XAUTH,Xau,$(XAUTHSRC),SOXAUTHREV,SharedXauRev)
2803#else
2804#if !UseInstalledXauLib
2805ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),XBuildLibDir)
2806#else
2807ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),$(USRLIBDIR))
2808#endif
2809#endif
2810
2811#ifndef SharedLibXdmcp
2812#define SharedLibXdmcp		YES
2813#endif
2814#ifndef NormalLibXdmcp
2815#define NormalLibXdmcp (!SharedLibXdmcp | ForceNormalLib)
2816#endif
2817#ifndef DebugLibXdmcp
2818#define DebugLibXdmcp		NO	/* debugged XDMCP library */
2819#endif
2820#ifndef ProfileLibXdmcp
2821#define ProfileLibXdmcp		NO	/* profiled XDMCP library */
2822#endif
2823      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
2824#if SharedLibXdmcp
2825#ifndef SharedXdmcpRev
2826#define SharedXdmcpRev 6.0
2827#endif
2828SharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),SOXDMCPREV,SharedXdmcpRev)
2829#else
2830#if !UseInstalledXdmcpLib
2831ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
2832#else
2833ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),$(USRLIBDIR))
2834#endif
2835#endif
2836
2837#ifndef SharedLibXmu
2838#define SharedLibXmu HasSharedLibraries
2839#endif
2840#ifndef NormalLibXmu
2841#define NormalLibXmu (!SharedLibXmu | ForceNormalLib)
2842#endif
2843#ifndef DebugLibXmu
2844#define DebugLibXmu		NO	/* debugged Xmu library */
2845#endif
2846#ifndef ProfileLibXmu
2847#define ProfileLibXmu		NO	/* profiled Xmu library */
2848#endif
2849           XMUSRC = $(LIBSRC)/Xmu
2850#if SharedLibXmu
2851#ifndef SharedXmuRev
2852#define SharedXmuRev 6.2
2853#endif
2854SharedDSLibReferences(XMU,Xmu,$(XMUSRC),SOXMUREV,SharedXmuRev)
2855#else
2856ProjectUnsharedLibReferences(XMU,Xmu,$(XMUSRC),XBuildLibDir)
2857#endif
2858
2859#ifndef SharedLibXmuu
2860#define SharedLibXmuu HasSharedLibraries
2861#endif
2862#ifndef NormalLibXmuu
2863#define NormalLibXmuu		(!SharedLibXmuu | ForceNormalLib)
2864#endif
2865#ifndef DebugLibXmuu
2866#define DebugLibXmuu		NO	/* debugged Xmuu library */
2867#endif
2868#ifndef ProfileLibXmuu
2869#define ProfileLibXmuu		NO	/* profiled Xmuu library */
2870#endif
2871           XMUUSRC = $(LIBSRC)/Xmuu
2872#if SharedLibXmuu
2873#ifndef SharedXmuuRev
2874#define SharedXmuuRev 1.0
2875#endif
2876SharedLibReferences(XMUU,Xmuu,$(XMUUSRC),SOXMUUREV,SharedXmuuRev)
2877#else
2878ProjectUnsharedLibReferences(XMUU,Xmuu,$(XMUUSRC),XBuildLibDir)
2879#endif
2880
2881#ifndef SharedOldX
2882#define SharedOldX HasSharedLibraries
2883#endif
2884#ifndef NormalOldX
2885#define NormalOldX (!SharedOldX | ForceNormalLib)
2886#endif
2887#ifndef DebugOldX
2888#define DebugOldX		NO	/* debugged old X library */
2889#endif
2890#ifndef ProfileOldX
2891#define ProfileOldX		NO	/* profiled old X library */
2892#endif
2893       OLDXLIBSRC = $(LIBSRC)/oldX
2894#if SharedOldX
2895#ifndef SharedOldXRev
2896#define SharedOldXRev 6.0
2897#endif
2898SharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),SOOLDXREV,SharedOldXRev)
2899#else
2900ProjectUnsharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),XBuildLibDir)
2901#endif
2902
2903#ifndef SharedLibXp
2904#define SharedLibXp HasSharedLibraries
2905#endif
2906#ifndef NormalLibXp
2907#define NormalLibXp (!SharedLibXp | ForceNormalLib)
2908#endif
2909#ifndef DebugLibXp
2910#define DebugLibXp              NO      /* debugged Xp library */
2911#endif
2912#ifndef ProfileLibXp
2913#define ProfileLibXp            NO      /* profiled Xp library */
2914#endif
2915         XPLIBSRC = $(LIBSRC)/Xp
2916#if SharedLibXp
2917#ifndef SharedXpRev
2918#define SharedXpRev 6.2
2919#endif
2920SharedLibReferences(XP,Xp,$(XPLIBSRC),SOXPREV,SharedXpRev)
2921#else
2922ProjectUnsharedLibReferences(XP,Xp,$(XPLIBSRC),XBuildLibDir)
2923#endif
2924
2925#ifndef SharedLibXt
2926#define SharedLibXt HasSharedLibraries
2927#endif
2928#ifndef NormalLibXt
2929#define NormalLibXt (!SharedLibXt | ForceNormalLib)
2930#endif
2931#ifndef DebugLibXt
2932#define DebugLibXt		NO	/* debugged toolkit library */
2933#endif
2934#ifndef ProfileLibXt
2935#define ProfileLibXt		NO	/* profiled toolkit library */
2936#endif
2937       TOOLKITSRC = $(LIBSRC)/Xt
2938#if SharedLibXt
2939#ifndef SharedXtRev
2940#define SharedXtRev 6.0
2941#endif
2942SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev)
2943#else
2944ProjectUnsharedLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),XBuildLibDir)
2945#endif
2946      DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
2947         XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
2948     LINTXTOOLLIB = $(LINTXTOOLONLYLIB)
2949
2950#ifndef SharedLibXa
2951#define SharedLibXa	(HasSharedLibraries & HasCplusplus)
2952#endif
2953#ifndef NormalLibXa
2954/* #define NormalLibXa	((!SharedLibXa | ForceNormalLib) & HasCplusplus) */
2955#define NormalLibXa	YES /* needed for current tests, will correct later */
2956#endif
2957#ifndef DebugLibXa
2958#define DebugLibXa	NO	/* debugged audio library */
2959#endif
2960#ifndef ProfileLibXa
2961#define ProfileLibXa	NO	/* profiled audio library */
2962#endif
2963       XALIBSRC = $(LIBSRC)/Xa
2964#if SharedLibXa
2965#ifndef SharedXaRev
2966#define SharedXaRev 1.0
2967#endif
2968SharedLibReferences(XA,Xa,$(XALIBSRC),SOXAREV,SharedXaRev)
2969#else
2970UnsharedLibReferences(XA,Xa,$(XALIBSRC))
2971#endif
2972
2973#ifndef BuildXaw
2974#define BuildXaw (BuildXprintLib && !BuildServersOnly)
2975#endif
2976
2977       /* AWIDGETSRC is needed by libXaw6 and libXaw7 */
2978       AWIDGETSRC = $(LIBSRC)/Xaw
2979
2980#if BuildXaw
2981#ifndef SharedLibXaw
2982#define SharedLibXaw HasSharedLibraries
2983#endif
2984#ifndef NormalLibXaw
2985#define NormalLibXaw (!SharedLibXaw | ForceNormalLib)
2986#endif
2987#ifndef DebugLibXaw
2988#define DebugLibXaw		NO	/* debugged widget library */
2989#endif
2990#ifndef ProfileLibXaw
2991#define ProfileLibXaw		NO	/* profiled widget library */
2992#endif
2993#if SharedLibXaw
2994#ifndef SharedXawRev
2995#define SharedXawRev 8.0
2996#endif
2997SharedDSLibReferences(XAW,Xaw,$(AWIDGETSRC),SOXAWREV,SharedXawRev)
2998#else
2999ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGETSRC),XBuildLibDir)
3000#endif
3001#endif
3002
3003#ifndef BuildXaw7
3004#define BuildXaw7 (HasSharedLibraries && !BuildServersOnly)
3005#endif
3006
3007#if BuildXaw7
3008#ifndef SharedLibXaw7
3009#define SharedLibXaw7 HasSharedLibraries
3010#endif
3011#ifndef NormalLibXaw7
3012#define NormalLibXaw7		NO
3013#endif
3014#ifndef DebugLibXaw7
3015#define DebugLibXaw7		NO	/* debugged widget library */
3016#endif
3017#ifndef ProfileLibXaw7
3018#define ProfileLibXaw7		NO	/* profiled widget library */
3019#endif
3020       AWIDGET7SRC = $(LIBSRC)/Xaw7
3021#if SharedLibXaw7
3022#ifndef SharedXaw7Rev
3023#define SharedXaw7Rev 7.0
3024#endif
3025SharedDSLibReferences(XAW7,Xaw,$(AWIDGET7SRC),SOXAW7REV,SharedXaw7Rev)
3026#if !BuildXaw
3027SharedDSLibReferences(XAW,Xaw,$(AWIDGET7SRC),SOXAWREV,SharedXawRev)
3028#endif
3029#else
3030ProjectUnsharedLibReferences(XAW7,Xaw,$(AWIDGET7SRC),XBuildLibDir)
3031#if !BuildXaw
3032ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGET7SRC),XBuildLibDir)
3033#endif
3034#endif
3035#endif
3036
3037
3038#ifndef BuildXaw6
3039#define BuildXaw6 (HasSharedLibraries && !BuildServersOnly)
3040#endif
3041
3042#if BuildXaw6
3043#ifndef SharedLibXaw6
3044#define SharedLibXaw6 HasSharedLibraries
3045#endif
3046#ifndef NormalLibXaw6
3047#define NormalLibXaw6		NO
3048#endif
3049#ifndef DebugLibXaw6
3050#define DebugLibXaw6		NO	/* debugged widget library */
3051#endif
3052#ifndef ProfileLibXaw6
3053#define ProfileLibXaw6		NO	/* profiled widget library */
3054#endif
3055       AWIDGET6SRC = $(LIBSRC)/Xaw6
3056#if SharedLibXaw6
3057#ifndef SharedXaw6Rev
3058#define SharedXaw6Rev 6.1
3059#endif
3060SharedDSLibReferences(XAW6,Xaw,$(AWIDGET6SRC),SOXAW6REV,SharedXaw6Rev)
3061#if !BuildXaw && !BuildXaw7
3062SharedDSLibReferences(XAW,Xaw,$(AWIDGET6SRC),SOXAWREV,SharedXawRev)
3063#endif
3064#else
3065ProjectUnsharedLibReferences(XAW6,Xaw,$(AWIDGET6SRC),XBuildLibDir)
3066#if !BuildXaw && !BuildXaw7
3067ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGET6SRC),XBuildLibDir)
3068#endif
3069#endif
3070#endif
3071
3072#ifndef SharedLibXi
3073#define SharedLibXi HasSharedLibraries
3074#endif
3075#ifndef NormalLibXi
3076#define NormalLibXi (!SharedLibXi | ForceNormalLib)
3077#endif
3078#ifndef DebugLibXi
3079#define DebugLibXi		NO	/* debugged Xi library */
3080#endif
3081#ifndef ProfileLibXi
3082#define ProfileLibXi		NO	/* profiled Xi library */
3083#endif
3084         XILIBSRC = $(LIBSRC)/Xi
3085#if SharedLibXi
3086#ifndef SharedXiRev
3087#define SharedXiRev 6.0
3088#endif
3089SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev)
3090#else
3091ProjectUnsharedLibReferences(XI,Xi,$(XILIBSRC),XBuildLibDir)
3092#endif
3093
3094#ifndef SharedLibXtst
3095#define SharedLibXtst HasSharedLibraries
3096#endif
3097#ifndef NormalLibXtst
3098#define NormalLibXtst (!SharedLibXtst | ForceNormalLib)
3099#endif
3100#ifndef DebugLibXtst
3101#define DebugLibXtst		NO	/* debugged Xtst library */
3102#endif
3103#ifndef ProfileLibXtst
3104#define ProfileLibXtst		NO	/* profiled Xtst library */
3105#endif
3106      XTESTLIBSRC = $(LIBSRC)/Xtst
3107#if SharedLibXtst
3108#ifndef SharedXtstRev
3109#define SharedXtstRev 6.1
3110#endif
3111SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev)
3112#else
3113ProjectUnsharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),XBuildLibDir)
3114#endif
3115
3116ProjectUnsharedLibReferences(XBSD,Xbsd,$(LIBSRC)/Xbsd,XBuildLibDir)
3117
3118#ifndef SharedLibICE
3119#define SharedLibICE HasSharedLibraries
3120#endif
3121#ifndef NormalLibICE
3122#define NormalLibICE (!SharedLibICE | ForceNormalLib)
3123#endif
3124#ifndef DebugLibICE
3125#define DebugLibICE		NO	/* debugged ICE library */
3126#endif
3127#ifndef ProfileLibICE
3128#define ProfileLibICE		NO	/* profiled ICE library */
3129#endif
3130           ICESRC = $(LIBSRC)/ICE
3131#if SharedLibICE
3132#ifndef SharedICERev
3133#define SharedICERev 6.4
3134#endif
3135SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev)
3136#else
3137ProjectUnsharedLibReferences(ICE,ICE,$(ICESRC),XBuildLibDir)
3138#endif
3139
3140#ifndef SharedLibSM
3141#define SharedLibSM HasSharedLibraries
3142#endif
3143#ifndef NormalLibSM
3144#define NormalLibSM (!SharedLibSM | ForceNormalLib)
3145#endif
3146#ifndef DebugLibSM
3147#define DebugLibSM		NO	/* debugged SM library */
3148#endif
3149#ifndef ProfileLibSM
3150#define ProfileLibSM		NO	/* profiled SM library */
3151#endif
3152            SMSRC = $(LIBSRC)/SM
3153#if SharedLibSM
3154#ifndef SharedSMRev
3155#define SharedSMRev 6.0
3156#endif
3157SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev)
3158#else
3159ProjectUnsharedLibReferences(SM,SM,$(SMSRC),XBuildLibDir)
3160#endif
3161
3162#ifndef SharedLibXkey
3163#define SharedLibXkey HasSharedLibraries
3164#endif
3165#ifndef NormalLibXkey
3166#define NormalLibXkey (!SharedLibXkey | ForceNormalLib)
3167#endif
3168#ifndef DebugLibXkey
3169#define DebugLibXkey		NO	/* debugged Xkey library */
3170#endif
3171#ifndef ProfileLibXkey
3172#define ProfileLibXkey		NO	/* profiled Xkey library */
3173#endif
3174           XKEYSRC = $(LIBSRC)/Xkey
3175#if SharedLibXkey
3176#ifndef SharedXkeyRev
3177#define SharedXkeyRev 6.0
3178#endif
3179SharedLibReferences(XKEY,Xkey,$(XKEYSRC),SOXKEYREV,SharedXkeyRev)
3180#else
3181ProjectUnsharedLibReferences(XKEY,Xkey,$(XKEYSRC),XBuildLibDir)
3182#endif
3183
3184#ifndef SharedLibFS
3185#define SharedLibFS		HasSharedLibraries
3186#endif
3187#ifndef NormalLibFS
3188#define NormalLibFS (!SharedLibFS | ForceNormalLib)
3189#endif
3190#ifndef DebugLibFS
3191#define DebugLibFS		NO	/* debugged FS library */
3192#endif
3193#ifndef ProfileLibFS
3194#define ProfileLibFS		NO	/* profiled FS library */
3195#endif
3196         FSLIBSRC = $(LIBSRC)/FS
3197#if SharedLibFS
3198#ifndef SharedFSRev
3199#define SharedFSRev 6.0
3200#endif
3201SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev)
3202#else
3203ProjectUnsharedLibReferences(FS,FS,$(FSLIBSRC),XBuildLibDir)
3204#endif
3205
3206#ifndef SharedLibFont
3207#define SharedLibFont HasSharedLibraries
3208#endif
3209#ifndef NormalLibFont
3210#define NormalLibFont (!SharedLibFont | ForceNormalLib | XserverStaticFontLib)
3211#endif
3212#ifndef DebugLibFont
3213#define DebugLibFont		NO	/* debugged Font library */
3214#endif
3215#ifndef ProfileLibFont
3216#define ProfileLibFont		NO	/* profiled Font library */
3217#endif
3218         FONTLIBSRC = $(LIBSRC)/font
3219#if SharedLibFont
3220#ifndef SharedFontRev
3221#define SharedFontRev 1.5
3222#endif
3223SharedFontLibReferences()
3224XCOMM SharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),SOFONTREV,SharedFontRev)
3225#else
3226ProjectUnsharedFontLibReferences()
3227XCOMM ProjectUnsharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),XBuildLibDir)
3228#endif
3229
3230     FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs
3231ProjectUnsharedLibReferences(FONTSTUB,fntstubs,$(FONTSUBLIBSRC),XBuildLibDir)
3232         DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB)
3233            FONTLIB = $(XFONTLIB) $(FONTSTUBLIB) $(FREETYPE2LIB)
3234
3235
3236#ifndef SharedLibFontEnc
3237#define SharedLibFontEnc	HasSharedLibraries
3238#endif
3239#ifndef NormalLibFontEnc
3240#define NormalLibFontEnc (!SharedLibFontEnc | ForceNormalLib)
3241#endif
3242#ifndef DebugLibFontEnc
3243#define DebugLibFontEnc		NO	/* debugged fontenc library */
3244#endif
3245#ifndef ProfileLibFontEnc
3246#define ProfileLibFontEnc	NO	/* profiled fontenc library */
3247#endif
3248         FONTENCLIBSRC = $(LIBSRC)/fontenc
3249#if SharedLibFontEnc
3250#ifndef SharedFontEncRev
3251#define SharedFontEncRev 1.0
3252#endif
3253SharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),SOFONTENCREV,SharedFontEncRev)
3254#else
3255ProjectUnsharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),XBuildLibDir)
3256#endif
3257
3258#ifndef SharedLibXpm
3259#define SharedLibXpm HasSharedLibraries
3260#endif
3261#ifndef NormalLibXpm
3262#define NormalLibXpm (!SharedLibXpm | ForceNormalLib)
3263#endif
3264#ifndef DebugLibXpm
3265#define DebugLibXpm		NO
3266#endif
3267#ifndef ProfileLibXpm
3268#define ProfileLibXpm		NO
3269#endif
3270          XPMLIBSRC = $(LIBSRC)/Xpm
3271#if SharedLibXpm
3272#ifndef SharedXpmRev
3273#define SharedXpmRev 4.11
3274#endif
3275SharedLibReferences(XPM,Xpm,$(XPMLIBSRC),SOXPMREV,SharedXpmRev)
3276#else
3277ProjectUnsharedLibReferences(XPM,Xpm,$(XPMLIBSRC),XBuildLibDir)
3278#endif
3279
3280#if UseFreetype2
3281
3282#if BuildFreetype2Library
3283
3284#ifndef SharedLibFreetype2
3285#define SharedLibFreetype2 HasSharedLibraries
3286#endif
3287#ifndef NormalLibFreetype2
3288#define NormalLibFreetype2 (!SharedLibFreetype2 | ForceNormalLib)
3289#endif
3290#ifndef DebugLibFreetype2
3291#define DebugLibFreetype2		NO
3292#endif
3293#ifndef ProfileLibFreetype2
3294#define ProfileLibFreetype2		NO
3295#endif
3296          FREETYPE2LIBSRC = $(LIBSRC)/freetype2
3297
3298/*
3299 * FreeType 2.1.9
3300 *
3301 * Get the library version information from version_info in
3302 * in xc/extras/freetype2/builds/unix/configure.ac.
3303 *
3304 * current:revision:age = 9:7:3
3305 *
3306 * The LibtoolMinorVersions revision is "(current - age).age".
3307 * The !LibtoolMinorVersions revision is "current.0".
3308 * Freetype2Version should be set to "current.revision.age"
3309 */
3310#ifndef Freetype2Version
3311#define Freetype2Version 9.7.3
3312#endif
3313
3314#if SharedLibFreetype2
3315#ifndef SharedLibtoolFreetype2Rev
3316#define SharedLibtoolFreetype2Rev	9:7:3
3317#endif
3318#ifndef SharedFreetype2Rev
3319#if LibtoolMinorVersions
3320#define SharedFreetype2Rev 6.3.8
3321#else
3322#define SharedFreetype2Rev 9.0
3323#endif
3324#endif
3325SharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),SOFREETYPE2REV,SharedFreetype2Rev)
3326#else
3327ProjectUnsharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),XBuildLibDir)
3328#endif
3329
3330#ifdef UseInstalled
3331FREETYPE2INCDIR=$(INCDIR)
3332#else
3333FREETYPE2INCDIR=$(BUILDINCDIR)
3334#endif
3335
3336#else /* BuildFreetype2Library */
3337
3338#if HasFreetype2
3339
3340#ifndef Freetype2Dir
3341#define Freetype2Dir /usr
3342#ifndef Freetype2DirStandard
3343# define Freetype2DirStandard YES
3344#endif
3345#endif
3346#ifndef Freetype2DirStandard
3347#define Freetype2DirStandard NO
3348#endif
3349
3350#ifndef Freetype2LibDir
3351#define Freetype2LibDir Freetype2Dir/LibDirName
3352# if Freetype2DirStandard
3353#  define Freetype2LibDirStandard YES
3354# endif
3355#endif
3356#ifndef Freetype2LibDirStandard
3357# define Freetype2LibDirStandard NO
3358#endif
3359
3360#ifndef Freetype2IncDir
3361#define Freetype2IncDir Freetype2Dir/include
3362# if Freetype2DirStandard
3363#  define Freetype2IncDirStandard YES
3364# endif
3365#endif
3366
3367FREETYPE2DIR = Freetype2Dir
3368FREETYPE2LIBDIR = Freetype2LibDir
3369FREETYPE2INCDIR = Freetype2IncDir
3370#if Freetype2LibDirStandard
3371FREETYPE2LIB = -lfreetype
3372#else
3373FREETYPE2LIB = -L$(FREETYPE2LIBDIR) LinkerRuntimeLibraryPathFlag($(FREETYPE2LIBDIR)) -lfreetype
3374#endif
3375
3376#endif /* HasFreetype2 */
3377
3378#endif /* else BuildFreetype2Library */
3379
3380#ifndef Freetype2IncDirStandard
3381# define Freetype2IncDirStandard NO
3382#endif
3383
3384#if BuildFreetype2Library || HasFreetype2
3385#if Freetype2IncDirStandard
3386FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
3387#else
3388FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR) -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
3389#endif
3390FREETYPE2DEFINES = -DFREETYPE2
3391#endif
3392
3393#endif /* UseFreetype2 */
3394
3395#if HasMotif
3396
3397#ifndef MotifDir
3398#define MotifDir ProjectRoot
3399#endif
3400#ifndef MotifDirStandard
3401#define MotifDirStandard NO
3402#endif
3403
3404#ifndef MotifLibDir
3405# define MotifLibDir MotifDir/LibDirName
3406# if MotifDirStandard
3407#  define MotifLibDirStandard YES
3408# endif
3409#endif
3410#ifndef MotifLibDirStandard
3411# define MotifLibDirStandard NO
3412#endif
3413
3414#ifndef MotifIncDir
3415# define MotifIncDir MotifDir/include
3416# if MotifDirStandard
3417#  define MotifIncDirStandard YES
3418# endif
3419#endif
3420#ifndef MotifIncDirStandard
3421# define MotifIncDirStandard NO
3422#endif
3423
3424MOTIFDIR = MotifDir
3425MOTIFLIBDIR = MotifLibDir
3426MOTIFINCDIR = MotifIncDir
3427
3428#if MotifLibDirStandard
3429MOTIFLIB = -lXm
3430#else
3431MOTIFLIB = -L$(MOTIFLIBDIR) LinkerRuntimeLibraryPathFlag($(MOTIFLIBDIR)) -lXm
3432#endif
3433
3434#if MotifIncDirStandard
3435MOTIFINCLUDES =
3436#else
3437MOTIFINCLUDES = -I$(MOTIFINCDIR)
3438#endif
3439
3440#endif /* HasMotif */
3441
3442#ifndef SharedLibExpat
3443#define SharedLibExpat HasSharedLibraries
3444#endif
3445#ifndef NormalLibExpat
3446#define NormalLibExpat (!SharedLibExpat | ForceNormalLib)
3447#endif
3448#ifndef DebugLibExpat
3449#define DebugLibExpat		NO
3450#endif
3451#ifndef ProfileLibExpat
3452#define ProfileLibExpat		NO
3453#endif
3454          EXPATLIBSRC = $(LIBSRC)/expat
3455
3456/*
3457 * Expat 1.95.6.
3458 *
3459 * Get the library version information from LIBCURRENT, LIBREVISION and LIBAGE
3460 * in xc/extras/expat/configure.
3461 *
3462 * LIBCURRENT:LIBREVISION:LIBAGE = 4:0:4
3463 *
3464 * The LibtoolMinorVersions revision is "(LIBCURRENT - LIBAGE).LIBAGE".
3465 * The !LibtoolMinorVersions revision is "LIBCURRENT.0".
3466 */
3467#ifndef ExpatVersion
3468#define ExpatVersion 1.95.6
3469#endif
3470
3471#if SharedLibExpat
3472#ifndef SharedLibtoolExpatRev
3473#define SharedLibtoolExpatRev	4:0:4
3474#endif
3475#ifndef SharedExpatRev
3476#if LibtoolMinorVersions
3477#define SharedExpatRev 0.4
3478#else
3479#define SharedExpatRev 4.0
3480#endif
3481#endif
3482SharedLibReferences(EXPAT,expat,$(EXPATLIBSRC),SOEXPATREV,SharedExpatRev)
3483#else
3484ProjectUnsharedLibReferences(EXPAT,expat,$(EXPATLIBSRC),XBuildLibDir)
3485#endif
3486
3487#if UseExpat
3488
3489#if BuildExpatLibrary
3490EXPATINCLUDES=$(TOP_X_INCLUDES)
3491EXPATDEFINES=-DEXPAT
3492#else	/* BuildExpatLibrary */
3493
3494#if HasExpat
3495
3496#ifndef ExpatDir
3497#define ExpatDir /usr
3498#define ExpatDirStandard YES
3499#endif
3500#ifndef ExpatDirStandard
3501#define ExpatDirStandard NO
3502#endif
3503
3504#ifndef ExpatLibDir
3505#define ExpatLibDir ExpatDir/LibDirName
3506# if ExpatDirStandard
3507#  define ExpatLibDirStandard YES
3508# endif
3509#endif
3510#ifndef ExpatLibDirStandard
3511#define ExpatLibDirStandard NO
3512#endif
3513
3514#ifndef ExpatIncDir
3515#define ExpatIncDir ExpatDir/include
3516# if ExpatDirStandard
3517#  define ExpatIncDirStandard YES
3518# endif
3519#endif
3520#ifndef ExpatIncDirStandard
3521#define ExpatIncDirStandard NO
3522#endif
3523
3524EXPATDIR = ExpatDir
3525EXPATLIBDIR = ExpatLibDir
3526EXPATINCDIR = ExpatIncDir
3527#if ExpatIncDirStandard
3528EXPATINCLUDES =
3529#else
3530EXPATINCLUDES = -I$(EXPATINCDIR)
3531#endif
3532#if ExpatLibDirStandard
3533EXPATLIB = -lexpat
3534#else
3535EXPATLIB = -L$(EXPATLIBDIR) LinkerRuntimeLibraryPathFlag($(EXPATLIBDIR)) -lexpat
3536#endif
3537EXPATDEFINES = -DEXPAT
3538#endif /* HasExpat */
3539
3540#endif /* else BuildExpatLibrary */
3541
3542#define ExpatClientLibs $(EXPATLIB)
3543#define ExpatClientDepLibs $(DEPEXPATLIB)
3544
3545#endif /* UseExpat */
3546
3547#ifndef SharedLibXft1
3548#define SharedLibXft1 HasSharedLibraries
3549#endif
3550#ifndef NormalLibXft1
3551#define NormalLibXft1		NO
3552#endif
3553#ifndef DebugLibXft1
3554#define DebugLibXft1		NO
3555#endif
3556#ifndef ProfileLibXft1
3557#define ProfileLibXft1		NO
3558#endif
3559          XFT1LIBSRC = $(LIBSRC)/Xft1
3560#if SharedLibXft1
3561#ifndef SharedXft1Rev
3562#define SharedXft1Rev 1.1
3563#endif
3564SharedLibReferences(XFT1,Xft,$(XFT1LIBSRC),SOXFT1REV,SharedXft1Rev)
3565#else
3566ProjectUnsharedLibReferences(XFT1,Xft,$(XFT1LIBSRC),XBuildLibDir)
3567#endif
3568
3569#ifndef Xft1ClientDepLibs
3570#if UseFreetype2
3571#define Xft1ClientDepLibs $(DEPXFT1LIB) $(DEPFREETYPE2LIB) $(DEPXRENDERLIB)
3572#else
3573#define Xft1ClientDepLibs $(DEPXFT1LIB) $(DEPXRENDERLIB)
3574#endif
3575#endif
3576#ifndef Xft1ClientLibs
3577#if UseFreetype2
3578#define Xft1ClientLibs $(XFT1LIB) $(FREETYPE2LIB) $(XRENDERLIB)
3579#else
3580#define Xft1ClientLibs $(XFT1LIB) $(XRENDERLIB)
3581#endif
3582#endif
3583
3584#ifndef SharedLibXft
3585#define SharedLibXft HasSharedLibraries
3586#endif
3587#ifndef NormalLibXft
3588#define NormalLibXft (!SharedLibXft | ForceNormalLib)
3589#endif
3590#ifndef DebugLibXft
3591#define DebugLibXft		NO
3592#endif
3593#ifndef ProfileLibXft
3594#define ProfileLibXft		NO
3595#endif
3596          XFTLIBSRC = $(LIBSRC)/Xft
3597#if SharedLibXft
3598#ifndef SharedXftRev
3599#define SharedXftRev 2.1.2
3600#endif
3601SharedLibReferences(XFT,Xft,$(XFTLIBSRC),SOXFTREV,SharedXftRev)
3602#else
3603ProjectUnsharedLibReferences(XFT,Xft,$(XFTLIBSRC),XBuildLibDir)
3604#endif
3605
3606#ifndef XftClientDepLibs
3607#define XftClientDepLibs $(DEPXFTLIB) FontconfigClientDepLibs $(DEPXRENDERLIB)
3608#endif
3609#ifndef XftClientLibs
3610#define XftClientLibs $(XFTLIB) FontconfigClientLibs $(XRENDERLIB)
3611#endif
3612
3613#if UseFontconfig
3614
3615#if BuildFontconfigLibrary
3616
3617#ifndef SharedLibFontconfig
3618#define SharedLibFontconfig HasSharedLibraries
3619#endif
3620#ifndef NormalLibFontconfig
3621#define NormalLibFontconfig (!SharedLibFontconfig | ForceNormalLib)
3622#endif
3623#ifndef DebugLibFontconfig
3624#define DebugLibFontconfig		NO
3625#endif
3626#ifndef ProfileLibFontconfig
3627#define ProfileLibFontconfig		NO
3628#endif
3629          FONTCONFIGLIBSRC = $(LIBSRC)/fontconfig
3630#if SharedLibFontconfig
3631#ifndef SharedFontconfigRev
3632#define SharedFontconfigRev 1.0.4
3633#endif
3634SharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGLIBSRC),SOFONTCONFIGREV,SharedFontconfigRev)
3635#else
3636ProjectUnsharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGLIBSRC),XBuildLibDir)
3637#endif
3638
3639#ifdef UseInstalled
3640FONTCONFIGINCDIR=$(INCDIR)
3641#else
3642FONTCONFIGINCDIR=$(BUILDINCDIR)
3643#endif
3644
3645FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR)
3646
3647#if UseInstalledX11
3648FCCACHE = $(BINDIR)/fc-cache
3649#else
3650FCCACHE = set -x; $(CLIENTENVSETUP) $(PRELOADXFTSETUP) FONTCONFIG_PATH=$(FONTCONFIGLIBSRC) $(XBUILDBINDIR)/fc-cache
3651#endif
3652
3653#else /* BuildFontconfigLibrary */
3654
3655#if HasFontconfig
3656
3657#ifndef FontconfigDir
3658# define FontconfigDir /usr
3659# ifndef FontconfigDirStandard
3660#  define FontconfigDirStandard YES
3661# endif
3662#endif
3663
3664#ifndef FontconfigDirStandard
3665# define FontconfigDirStandard NO
3666#endif
3667
3668#ifndef FontconfigLibDir
3669# define FontconfigLibDir FontconfigDir/LibDirName
3670# if FontconfigDirStandard
3671#  define FontconfigLibDirStandard YES
3672# endif
3673#endif
3674#ifndef FontconfigLibDirStandard
3675# define FontconfigLibDirStandard NO
3676#endif
3677
3678#ifndef FontconfigBinDir
3679# define FontconfigBinDir FontconfigDir/bin
3680#endif
3681
3682#ifndef FontconfigIncDir
3683# define FontconfigIncDir FontconfigDir/include
3684# if FontconfigDirStandard
3685#  define FontconfigIncDirStandard YES
3686# endif
3687#endif
3688
3689#ifndef FontconfigIncDirStandard
3690# define FontconfigIncDirStandard NO
3691#endif
3692
3693FONTCONFIGDIR = FontconfigDir
3694FONTCONFIGLIBDIR = FontconfigLibDir
3695FONTCONFIGINCDIR = FontconfigIncDir
3696FONTCONFIGBINDIR = FontconfigBinDir
3697#if FontconfigLibDirStandard
3698FONTCONFIGLIB = -lfontconfig
3699#else
3700FONTCONFIGLIB = -L$(FONTCONFIGLIBDIR) LinkerRuntimeLibraryPathFlag($(FONTCONFIGLIBDIR)) -lfontconfig
3701#endif
3702
3703#if FontconfigIncDirStandard
3704FONTCONFIGINCLUDES =
3705#else
3706FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR)
3707#endif
3708
3709FCCACHE = $(FONTCONFIGBINDIR)/fc-cache
3710
3711#endif /* HasFontconfig */
3712
3713#endif /* else BuildFontconfigLibrary */
3714
3715#if BuildFontconfigLibrary || HasFontconfig
3716FONTCONFIGDEFINES = -DFONTCONFIG
3717#endif
3718
3719#ifndef FontconfigClientDepLibs
3720#define FontconfigClientDepLibs $(DEPFONTCONFIGLIB) $(DEPFREETYPE2LIB) ExpatClientDepLibs
3721#endif
3722#ifndef FontconfigClientLibs
3723#define FontconfigClientLibs $(FONTCONFIGLIB) $(FREETYPE2LIB) ExpatClientLibs
3724#endif
3725
3726#endif /* UseFontconfig */
3727
3728XFTINCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES)
3729
3730#ifdef HasLibpng
3731
3732/*
3733 * Libpng controls:
3734 *
3735 *	LibpngDir		prefix for all libpng files
3736 *	LibpngDirStandard	Boolean - whether png headers/libs are
3737 *				in default compile/link paths
3738 *	LibpngLibDir		Directory holding png library
3739 *	LibpngLibDirStandard	Boolean - whether png libs are
3740 *				in default link path
3741 *	LibpngIncDir		Directory holding png includes
3742 *	LibpngIncDirStandard	Boolean - whether png includes are
3743 *				in default compile path
3744 *
3745 * Make sure that *Standard is set correctly, if not, the
3746 * standard compile/link paths will be added *before* the
3747 * local X directories and installed versions of the standard
3748 * X headers will end up getting used.
3749 */
3750
3751#ifndef LibpngDir
3752#define LibpngDir /usr
3753#define LibpngDirStandard YES
3754#endif
3755#ifndef LibpngDirStandard
3756#define LibpngDirStandard NO
3757#endif
3758
3759#ifndef LibpngLibDir
3760#define LibpngLibDir LibpngDir/LibDirName
3761#if LibpngDirStandard
3762#define LibpngLibDirStandard YES
3763#endif
3764#endif
3765#ifndef LibpngLibDirStandard
3766#define LibpngLibDirStandard NO
3767#endif
3768
3769#ifndef LibpngIncDir
3770#define LibpngIncDir LibpngDir/include
3771#if LibpngDirStandard
3772#define LibpngIncDirStandard YES
3773#endif
3774#endif
3775#ifndef LibpngIncDirStandard
3776#define LibpngIncDirStandard NO
3777#endif
3778
3779LIBPNGINCDIR = LibpngIncDir
3780#if LibpngIncDirStandard
3781LIBPNGINC=
3782#else
3783LIBPNGINC = -I$(LIBPNGINCDIR)
3784#endif
3785LIBPNGDIR = LibpngDir
3786LIBPNGLIBDIR = LibpngLibDir
3787LIBPNGINCDIR = LibpngIncDir
3788#if LibpngLibDirStandard
3789LIBPNGLIB = -lpng
3790#else
3791LIBPNGLIB = -L$(LIBPNGLIBDIR) LinkerRuntimeLibraryPathFlag($(LIBPNGLIBDIR)) -lpng
3792#endif
3793
3794#endif
3795
3796#ifndef XmuuClientDepLibs
3797#define XmuuClientDepLibs $(DEPXMUULIB) $(DEPXLIB)
3798#endif
3799#ifndef XmuuClientLibs
3800#define XmuuClientLibs $(XMUULIB) $(XLIB)
3801#endif
3802
3803#ifndef LdLibraryPath
3804#define LdLibraryPath LD_LIBRARY_PATH
3805#endif
3806
3807#if BuildXKBlib
3808# ifndef SharedLibxkbfile
3809#  define SharedLibxkbfile	HasSharedLibraries
3810# endif
3811# ifndef NormalLibxkbfile
3812#  define NormalLibxkbfile	(!SharedLibxkbfile | ForceNormalLib)
3813# endif
3814# ifndef DebugLibxkbfile
3815#  define DebugLibxkbfile	NO
3816# endif
3817# ifndef ProfileLibxkbfile
3818#  define ProfileLibxkbfile	NO
3819# endif
3820#else
3821# ifndef SharedLibxkbfile
3822#  define SharedLibxkbfile	NO
3823# endif
3824# ifndef NormalLibxkbfile
3825#  define NormalLibxkbfile	NO
3826# endif
3827# ifndef DebugLibxkbfile
3828#  define DebugLibxkbfile	NO
3829# endif
3830# ifndef ProfileLibxkbfile
3831#  define ProfileLibxkbfile	NO
3832# endif
3833#endif
3834    XKBFILELIBSRC = $(LIBSRC)/xkbfile
3835#if SharedLibxkbfile
3836# ifndef SharedxkbfileRev
3837#  define SharedxkbfileRev	1.0
3838# endif
3839SharedLibReferences(XKBFILE,xkbfile,$(XKBFILESRC),SOXKBFILEREV, SharedxkbfileRev)
3840#else
3841ProjectUnsharedLibReferences(XKBFILE,xkbfile,$(XKBFILELIBSRC),XBuildLibDir)
3842#endif
3843
3844#if BuildXKBlib
3845# ifndef XkbClientDepLibs
3846#  if UseXKBInClients
3847#   define XkbClientDepLibs	$(DEPXKBFILELIB)
3848#  else
3849#   define XkbClientDepLibs	/**/
3850#  endif
3851# endif
3852# ifndef XkbClientLibs
3853#  if UseXKBInClients
3854#   define XkbClientLibs	$(XKBFILELIB)
3855#  else
3856#   define XkbClientLibs	/**/
3857#  endif
3858# endif
3859
3860# if defined(UseInstalled) || (CrossCompiling &&  UseInstalledOnCrossCompile)
3861     XKBCOMPCMD = $(XBINDIR)/XkbComp
3862# else
3863     XKBCOMPSRC = $(PROGRAMSRC)/XkbComp
3864#  if CrossCompiling
3865     XKBCOMPCMD = $(PROGRAMSRC)/XkbComp/cross/XkbComp
3866#  else
3867     XKBCOMPCMD = $(CLIENTENVSETUP) $(PRELOADSETUP) $(XBUILDBINDIR)/XkbComp
3868#  endif
3869# endif
3870#else /* !BuildXKBlib */
3871# ifndef XkbClientDepLibs
3872#  define XkbClientDepLibs
3873# endif
3874# ifndef XkbClientLibs
3875#  define XkbClientLibs
3876# endif
3877#endif /* BuildXKBlib */
3878
3879#if BuildXKBlib
3880# ifndef SharedLibxkbui
3881#  define SharedLibxkbui	HasSharedLibraries
3882# endif
3883# ifndef NormalLibxkbui
3884#  define NormalLibxkbui	(!SharedLibxkbui || ForceNormalLib)
3885# endif
3886# ifndef DebugLibxkbui
3887#  define DebugLibxkbui		NO
3888# endif
3889# ifndef ProfileLibxkbui
3890#  define ProfileLibxkbui	NO
3891# endif
3892#else
3893# ifndef SharedLibxkbui
3894#  define SharedLibxkbui	NO
3895# endif
3896# ifndef NormalLibxkbui
3897#  define NormalLibxkbui	NO
3898# endif
3899# ifndef DebugLibxkbui
3900#  define DebugLibxkbui		NO
3901# endif
3902# ifndef ProfileLibxkbui
3903#  define ProfileLibxkbui	NO
3904# endif
3905#endif
3906    XKBUILIBSRC = $(LIBSRC)/xkbui
3907#if SharedLibxkbui
3908# ifndef SharedxkbuiRev
3909#  define SharedxkbuiRev	1.0
3910# endif
3911SharedLibReferences(XKBUI,xkbui,$(XKBUISRC),SOXKBUIREV, SharedxkbuiRev)
3912#else
3913ProjectUnsharedLibReferences(XKBUI,xkbui,$(XKBUILIBSRC),XBuildLibDir)
3914#endif
3915
3916#ifndef XkbuiLibs
3917# define	XkbuiLibs $(XKBUILIB)
3918#endif
3919#ifndef XkbuiDepLibs
3920# define	XkbuiDepLibs $(DEPXKBFILELIB)
3921#endif
3922
3923#ifndef SharedxrxRev
3924# define SharedxrxRev		6.8
3925#endif
3926
3927#ifndef SharedxrxnestRev
3928# define SharedxrxnestRev	6.8
3929#endif
3930
3931#ifndef ExtraXawReqs
3932# define ExtraXawReqs /**/
3933#endif
3934
3935EXTRAXAWREQS = ExtraXawReqs
3936
3937#ifndef ExtraXawClientDepLibs
3938# define ExtraXawClientDepLibs /**/
3939#endif
3940
3941EXTRAXAWCLIENTDEPLIBS = ExtraXawClientDepLibs
3942
3943#ifndef XawClientDepLibs
3944#define XawClientDepLibs $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXPMLIB) $(EXTRAXAWCLIENTDEPLIBS) $(DEPXLIB)
3945#endif
3946
3947#ifndef ExtraXawClientLibs
3948# define ExtraXawClientLibs /**/
3949#endif
3950
3951EXTRAXAWCLIENTLIBS = ExtraXawClientLibs
3952
3953#ifndef XawClientLibs
3954#define XawClientLibs $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
3955#endif
3956
3957#ifndef SharedLibXTrap
3958#define SharedLibXTrap HasSharedLibraries
3959#endif
3960#ifndef NormalLibXTrap
3961#define NormalLibXTrap (!SharedLibXTrap | ForceNormalLib)
3962#endif
3963#ifndef DebugLibXTrap
3964#define DebugLibXTrap		NO	/* debugged XTrap library */
3965#endif
3966#ifndef ProfileLibXTrap
3967#define ProfileLibXTrap		NO	/* profiled XTrap library */
3968#endif
3969        XTRAPLIBSRC = $(LIBSRC)/XTrap
3970#if SharedLibXTrap
3971#ifndef SharedXTrapRev
3972#define SharedXTrapRev 6.4
3973#endif
3974SharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),SOXTRAPREV,SharedXTrapRev)
3975#else
3976ProjectUnsharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),XBuildLibDir)
3977#endif
3978
3979#ifndef NeedDefaultDepLibs
3980#define NeedDefaultDepLibs YES
3981#endif
3982
3983#if NeedDefaultDepLibs
3984/*
3985 * Individual libraries should override this
3986 */
3987#if HasSharedLibraries || defined(UseInstalled)
3988          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
3989#else
3990          DEPLIBS = $(LOCAL_LIBRARIES)
3991#endif
3992         DEPLIBS1 = $(DEPLIBS)
3993         DEPLIBS2 = $(DEPLIBS)
3994         DEPLIBS3 = $(DEPLIBS)
3995         DEPLIBS4 = $(DEPLIBS)
3996         DEPLIBS5 = $(DEPLIBS)
3997         DEPLIBS6 = $(DEPLIBS)
3998         DEPLIBS7 = $(DEPLIBS)
3999         DEPLIBS8 = $(DEPLIBS)
4000         DEPLIBS9 = $(DEPLIBS)
4001         DEPLIBS10 = $(DEPLIBS)
4002#endif /* NeedDefaultDepLibs */
4003
4004
4005/*
4006 * InstallAppDefaults - simple rules to install application default file
4007 */
4008#ifndef InstallAppDefaults
4009#define InstallAppDefaults(class) InstallAppDefaultsLong(class,class)
4010#endif /* InstallAppDefaults */
4011
4012/*
4013 * InstallAppDefaultsLong - general rule to install application default file
4014 * if the InstallAppDefFiles configuration parameter is set.
4015 */
4016#ifndef InstallAppDefaultsLong
4017#if UseConfDirForAppDefaults
4018#if InstallAppDefFiles
4019#define InstallAppDefaultsLong(file,class)				@@\
4020LinkConfDirectory(app-defaults,.,app-defaults,.)			@@\
4021InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4022#else
4023#define InstallAppDefaultsLong(file,class)				@@\
4024LinkConfDirectory(app-defaults,.,app-defaults,.)			@@\
4025InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4026#endif /* InstallAppDefFiles */
4027#else /* UseConfDirForAppDefaults */
4028#if InstallAppDefFiles
4029#define InstallAppDefaultsLong(file,class)				@@\
4030InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4031#else
4032#define InstallAppDefaultsLong(file,class)				@@\
4033InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4034#endif /* InstallAppDefFiles */
4035#endif /* UseConfDirForAppDefaults */
4036#endif /* InstallAppDefaultsLong */
4037
4038/*
4039 * MakeFcCache - generate rules to build fontconfig cache database
4040 */
4041
4042#if defined UseFreetype2 && !CrossCompiling
4043
4044# ifndef MakeFcCache
4045#  define MakeFcCache(deplist)						@@\
4046all:: fonts.cache							@@\
4047									@@\
4048fonts.cache: deplist							@@\
4049	RunProgram(FCCACHE, $(FCCACHEOPTS) .)				@@\
4050									@@\
4051clean::									@@\
4052	RemoveFiles(fonts.cache*)
4053# endif /* MakeFcCache */
4054
4055# ifndef InstallFcCache
4056#  define InstallFcCache(dest)						@@\
4057install::								@@\
4058	RunProgram(FCCACHE, $(FCCACHEOPTS) $(DESTDIR)dest)
4059# endif /* InstallFcCache */
4060
4061#else
4062
4063#ifndef MakeFcCache
4064#define MakeFcCache(deplist)
4065#endif
4066
4067#ifndef InstallFcCache
4068#define InstallFcCache(dest)
4069#endif
4070
4071#endif
4072
4073/*
4074 * MakeFontsScale - generate rules to build fonts.scale database.
4075 */
4076#ifndef MakeFontsScale
4077# if !CrossCompiling ||  UseInstalledOnCrossCompile
4078#  define MakeFontsScale(deplist)					@@\
4079all:: fonts.scale							@@\
4080									@@\
4081fonts.scale:  deplist							@@\
4082	RemoveFile(fonts.scale)						@@\
4083	RunProgram(MKFONTSCALE, .)					@@\
4084									@@\
4085clean::									@@\
4086	RemoveFile(fonts.scale)
4087# else
4088#  define MakeFontsScale(deplist)					@@\
4089clean::									@@\
4090	RemoveFile(fonts.scale)
4091# endif
4092#endif /* MakeFontsScale */
4093
4094/*
4095 * MakeFontsDir - generate rules to build fonts.dir database.
4096 */
4097#ifndef MakeFontsDir
4098# if !CrossCompiling ||  UseInstalledOnCrossCompile
4099#  define MakeFontsDir(deplist)						@@\
4100all:: fonts.dir								@@\
4101									@@\
4102fonts.dir:  deplist							@@\
4103	RemoveFile(fonts.dir)						@@\
4104	RunProgram(MKFONTDIR, $(MKFONTDIROPTS) .)			@@\
4105									@@\
4106clean::									@@\
4107	RemoveFile(fonts.dir)
4108# else
4109#  define MakeFontsDir(deplist)						@@\
4110clean::									@@\
4111	RemoveFile(fonts.dir)
4112# endif
4113#endif /* MakeFontsDir */
4114
4115
4116/*
4117 * MakeFonts - generate rules to build font database.
4118 */
4119#ifndef MakeFonts
4120# if !CrossCompiling || UseInstalledOnCrossCompile
4121#  define MakeFonts()							@@\
4122all::  $(OBJS)								@@\
4123									@@\
4124MakeFontsDir($(OBJS))							@@\
4125									@@\
4126clean::									@@\
4127	RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
4128# else
4129#  define MakeFonts()							@@\
4130MakeFontsDir($(OBJS))							@@\
4131									@@\
4132clean::									@@\
4133	RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
4134# endif
4135#endif /* MakeFonts */
4136
4137#ifndef InstallFontsDir
4138# if !CrossCompiling ||  UseInstalledOnCrossCompile
4139#  define InstallFontsDir(dest)						@@\
4140install::								@@\
4141	MakeDir($(DESTDIR)dest)						@@\
4142	@if [ X$(STATIC_FONTS_SCALE) = X ]; then (set -x; \		@@\
4143	  RemoveFile($(DESTDIR)dest/fonts.scale); \			@@\
4144	  RunProgram(MKFONTSCALE, $(DESTDIR)dest)); \			@@\
4145	else (set -x; \							@@\
4146	  InstallInline(fonts.scale,$(INSTDATFLAGS),dest)); \		@@\
4147	fi								@@\
4148	RemoveFile($(DESTDIR)dest/fonts.dir)				@@\
4149	RunProgram(MKFONTDIR, $(MKFONTDIROPTS) $(DESTDIR)dest)
4150# else
4151#  define InstallFontsDir(dest)
4152# endif
4153#endif
4154
4155/*
4156 * InstallFontObjs - generate rules to install font files
4157 */
4158#ifndef InstallFontObjs
4159# if !CrossCompiling || UseInstalledOnCrossCompile
4160#  define InstallFontObjs(objs,dest)					@@\
4161InstallMultipleFlags(objs,dest,$(INSTDATFLAGS))				@@\
4162									@@\
4163InstallFontsDir(dest)
4164# else
4165#  define InstallFontObjs(objs,dest)
4166# endif
4167#endif /* InstallFontObjs */
4168
4169
4170/*
4171 * InstallFonts - generate rules to install font files
4172 */
4173#ifndef InstallFonts
4174#define InstallFonts(dest)						@@\
4175InstallFontObjs($(OBJS),dest)
4176#endif /* InstallFonts */
4177
4178
4179/*
4180 * InstallFontAliases - generate rules to install font aliases databases.
4181 */
4182#ifndef InstallFontAliases
4183#define InstallFontAliases(dest)					@@\
4184InstallTarget(install,fonts.alias,$(INSTDATFLAGS),dest)
4185#endif /* InstallFontAliases */
4186
4187#ifndef InstallNamedFontAliases
4188#define InstallNamedFontAliases(src,dest)				@@\
4189InstallNamedTarget(install,src,$(INSTDATFLAGS),dest,fonts.alias)
4190#endif /* InstallNamedFontAliases */
4191
4192#ifndef FontSrc
4193#define FontSrc(basename) basename.bdf
4194#endif
4195
4196#ifndef FontBaseObj
4197#define FontBaseObj(basename)basename.pcf
4198#endif
4199
4200/*
4201 * InstallFontScale - generate rules to install font scale database.
4202 */
4203#ifndef InstallFontScale
4204#define InstallFontScale(dest)						@@\
4205InstallTarget(install,fonts.scale,$(INSTDATFLAGS),dest)
4206#endif /* InstallFontScale */
4207
4208/*
4209 * UncompressedFontTargetLong
4210 */
4211#if ! CrossCompiling || UseInstalledOnCrossCompile
4212# ifndef UncompressedFontTargetLong
4213#  define UncompressedFontTargetLong(sname,tname)			@@\
4214FontBaseObj(tname):  FontSrc(sname)					@@\
4215	RunProgram(FONTC,$(FONTCFLAGS) $? -o $@)
4216# endif /* UncompressedFontTargetLong */
4217#else
4218# ifndef UncompressedFontTargetLong
4219#  define UncompressedFontTargetLong(sname,tname)
4220# endif
4221#endif
4222
4223/*
4224 * CompressedFontTarget
4225 */
4226#ifndef GzipFontCompression
4227#define GzipFontCompression NO
4228#endif
4229
4230#if ! CrossCompiling || UseInstalledOnCrossCompile
4231# ifndef CompressedFontTargetLong
4232#  if GzipFontCompression
4233#   define CompressedFontTargetLong(sname,tname)			@@\
4234FontBaseObj(tname).gz:  FontSrc(sname)					@@\
4235	RunProgram(FONTC,$(FONTCFLAGS) $?) | $(GZIPCMD) > $@
4236#  else
4237#   define CompressedFontTargetLong(sname,tname)			@@\
4238FontBaseObj(tname).Z:  FontSrc(sname)					@@\
4239	RunProgram(FONTC,$(FONTCFLAGS) $?) | $(COMPRESS) > $@
4240#  endif
4241# endif /* CompressedFontTargetLong */
4242#else
4243#   define CompressedFontTargetLong(sname,tname)
4244#endif
4245
4246/*
4247 * UncompressedFontTarget
4248 */
4249#ifndef UncompressedFontTarget
4250#define UncompressedFontTarget(basename) UncompressedFontTargetLong(basename,basename)
4251#endif /* UncompressedFontTarget */
4252
4253#ifndef CompressedFontTarget
4254#define CompressedFontTarget(basename) CompressedFontTargetLong(basename,basename)
4255#endif /* CompressedFontTarget */
4256
4257#if !defined(FontTarget) && !defined(FontObj)
4258#if CompressAllFonts
4259#define FontTargetLong(sname,tname) CompressedFontTargetLong(sname,tname)
4260#define FontTarget(basename) CompressedFontTarget(basename)
4261#if GzipFontCompression
4262#define FontObj(basename) FontBaseObj(basename).gz
4263#else
4264#define FontObj(basename) FontBaseObj(basename).Z
4265#endif
4266#else
4267#define FontTargetLong(sname,tname) UncompressedFontTargetLong(sname,tname)
4268#define FontTarget(basename) UncompressedFontTarget(basename)
4269#define FontObj(basename) FontBaseObj(basename)
4270#endif /* CompressAllFonts */
4271#endif
4272
4273
4274#ifndef EncObj
4275#define EncObj(basename) basename.enc
4276#endif
4277#ifndef EncObjComp
4278#if GzipFontCompression
4279#define EncObjComp(basename) basename.enc.gz
4280#else
4281#define EncObjComp(basename) basename.enc.Z
4282#endif
4283#endif
4284
4285#ifndef EncodingTarget
4286#define EncodingTarget(basename) /**/
4287#endif
4288
4289#ifndef CompEncodingTarget
4290#if GzipFontCompression
4291#define CompEncodingTarget(basename)					@@\
4292EncObjComp(basename): EncObj(basename)					@@\
4293	cat $? | $(GZIPCMD) > $@
4294#else
4295#define CompEncodingTarget(basename)					@@\
4296EncObjComp(basename): EncObj(basename)					@@\
4297	cat $? | $(COMPRESS) > $@
4298#endif
4299#endif
4300
4301#ifndef MakeEncDir
4302# if !CrossCompiling || UseInstalledOnCrossCompile
4303#  define MakeEncDir(deplist,inst,dirlist )				@@\
4304AllTarget(encodings.dir)						@@\
4305									@@\
4306encodings.dir: deplist							@@\
4307	RemoveFiles(encodings.dir fonts.dir)				@@\
4308	@(E=; for i in dirlist; do \					@@\
4309	   E="$$E -e $$i"; done; \					@@\
4310	 set -x; \							@@\
4311	 RunProgram(MKFONTDIR, -n -r -p inst/ $$E .))			@@\
4312									@@\
4313clean::									@@\
4314	RemoveFiles(fonts.dir encodings.dir)
4315# else
4316#  define MakeEncDir(deplist,inst,dirlist )				@@\
4317clean::									@@\
4318	RemoveFiles(fonts.dir encodings.dir)
4319# endif
4320#endif
4321
4322#ifndef MakeEncodings
4323#define MakeEncodings(deplist,inst,dirlist)				@@\
4324									@@\
4325MakeEncDir(deplist $(OBJS),inst,dirlist)				@@\
4326									@@\
4327clean::									@@\
4328	RemoveFiles(*.enc.Z *.enc.gz)
4329#endif /* MakeEncodings */
4330
4331#ifndef InstallEncObjs
4332# if !CrossCompiling || UseInstalledOnCrossCompile
4333#  define InstallEncObjs(objs,dest)					@@\
4334InstallMultipleFlags(objs,dest,$(INSTDATFLAGS))				@@\
4335									@@\
4336InstallTarget(install,encodings.dir,$(INSTDATFLAGS),dest)
4337# else
4338#  define InstallEncObjs(objs,dest)
4339# endif
4340#endif /* InstallEncObjs */
4341
4342#ifndef InstallEncodings
4343#define InstallEncodings(dest)						@@\
4344InstallEncObjs($(OBJS),dest)
4345#endif /* InstallEncodings */
4346
4347#ifndef InstallEncodingsDir
4348# if !CrossCompiling || UseInstalledOnCrossCompile
4349#  define InstallEncodingsDir(edir,fdir)				@@\
4350InstallNamedTarget(install,edir/encodings.dir,$(INSTDATFLAGS),fdir,encodings.dir)
4351# else
4352#  define InstallEncodingsDir(edir,fdir)
4353# endif
4354#endif
4355
4356
4357#ifndef MakeBdfFontFromUCSMaster
4358#define MakeBdfFontFromUCSMaster(font,enc)				@@\
4359font-enc.bdf: font.bdf $(UCS2ANY)					@@\
4360	RemoveFile($@)							@@\
4361	$(UCS2ANY) font.bdf $(UCSMAPPREFIX)enc enc			@@\
4362									@@\
4363clean::									@@\
4364	RemoveFile(font-enc.bdf)
4365#endif
4366
4367#ifndef MakeTruncatedUCSBdfFont
4368#if HasPerl5
4369#define MakeTruncatedUCSBdfFont(font,trunc,name)			@@\
4370name.bdf: font.bdf $(BDFTRUNCATE)					@@\
4371	RemoveFile($@)							@@\
4372	RunPerlScript($(BDFTRUNCATE),trunc < font.bdf > name.bdf)	@@\
4373									@@\
4374clean::									@@\
4375	RemoveFile(name.bdf)
4376#endif
4377#endif
4378
4379/*
4380 * InstallXpPMFLink - install link for a Xprint PMF "font" from one
4381 * print model to another
4382 */
4383#ifndef InstallXpPMFLink
4384#define InstallXpPMFLink(fontfilename,srcmodelfontdir,destmodelfontdir)				@@\
4385	InstallLink(install,srcmodelfontdir/fontfilename,fontfilename,destmodelfontdir)
4386#endif /* InstallXpPMFLink */
4387/*
4388 * InstallXpMultiplePMFLinks - install multiple links for PMF fonts
4389 * from one print model to another
4390 */
4391#ifndef InstallXpMultiplePMFLinks
4392#define InstallXpMultiplePMFLinks(list,srcmodelfontdir,destmodelfontdir)			@@\
4393install::											@@\
4394	MakeDir($(DESTDIR)destmodelfontdir)							@@\
4395	for i in list ; do \									@@\
4396	    $(RM) $(DESTDIR)destmodelfontdir/$$i ; \						@@\
4397	    $(LN) -s -f srcmodelfontdir/$$i $(DESTDIR)destmodelfontdir/$$i ; \			@@\
4398	done
4399#endif /* InstallXpPMFLink */
4400
4401/*
4402 * InstallXpPMFFontsDir - make and install a fonts.dir index for model-config fonts
4403 */
4404#ifndef InstallXpPMFFontsDir
4405#if BuildServersOnly
4406#define InstallXpPMFFontsDir(destmodelfontdir) /**/
4407#else
4408#define InstallXpPMFFontsDir(destmodelfontdir)			@@\
4409install::							@@\
4410	($(MKFONTSCALE) -b -s -l $(DESTDIR)destmodelfontdir)
4411#endif
4412#endif /* InstallXpPMFFontsDir */
4413
4414
4415/*
4416 * MakeXkbDir
4417 */
4418#ifndef MakeXkbDir
4419# if !CrossCompiling || UseInstalledOnCrossCompile
4420#  define MakeXkbDir(basedir,subdir)					@@\
4421all::   Concat(subdir,.dir)						@@\
4422									@@\
4423Concat(subdir,.dir):							@@\
4424	RemoveFile(Concat(subdir,.dir))					@@\
4425	$(XKBCOMPCMD) -lfhlpR -o Concat(subdir,.dir) '*'		@@\
4426									@@\
4427InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir)	@@\
4428									@@\
4429clean::									@@\
4430	RemoveFile(Concat(subdir,.dir))
4431# else
4432#  define MakeXkbDir(basedir,subdir)					@@\
4433clean::									@@\
4434	RemoveFile(Concat(subdir,.dir))
4435# endif
4436#endif
4437
4438/*
4439 * PostProcessTroffPS - by default moves the working output into place,
4440 * but can be a hook for more complicated post-processing.
4441 */
4442#ifndef PostProcessTroffPS
4443#define PostProcessTroffPS(temp,real) $(MV) temp real
4444#endif
4445
4446/*
4447 * PostProcessTroffHTML - by default moves the working output into place,
4448 * but can be a hook for more complicated post-processing.
4449 */
4450#ifndef PostProcessTroffHTML
4451#define PostProcessTroffHTML(temp,real) $(MV) temp real
4452#endif
4453
4454#ifdef HTMLroffCmd
4455#define HtmlTarget(file) file.html
4456#define HtmlClean(file) file.nhtml file.html file*.png
4457#else
4458#define HtmlTarget(file) /**/
4459#define HtmlClean(file) /**/
4460#endif
4461
4462#ifdef PsToPdfCmd
4463#define PdfTarget(file) file.pdf
4464#define PdfClean(file) file.pdf
4465#else
4466#define PdfTarget(file) /**/
4467#define PdfClean(file) /**/
4468#endif
4469
4470#ifndef ConvertPsToPdf
4471#ifdef PsToPdfCmd
4472#define ConvertPsToPdf(file)						@@\
4473file.pdf: file.ps							@@\
4474	RemoveFile(file.pdf)						@@\
4475	$(PSTOPDFCMD) < file.ps > file.pdf
4476#else
4477#define ConvertPsToPdf(file) /**/
4478#endif
4479#endif
4480
4481#if HasPdfLatex
4482#define PdfLatexTarget(file) file.pdf
4483#define PdfLatexClean(file) file.pdf
4484#else
4485#define PdfLatexTarget(file) /**/
4486#define PdfLatexClean(file) /**/
4487#endif
4488
4489#ifndef LatexToPdf
4490#if HasPdfLatex && defined(PdfLatexCmd)
4491#define LatexToPdf(file)						@@\
4492file.pdf: file.tex							@@\
4493	RemoveFile(file.pdf)						@@\
4494	$(PDFLATEXCMD) file.tex
4495#else
4496#define LatexToPdf(file) /**/
4497#endif
4498#endif
4499
4500
4501#ifndef MakeDepSimpleHtmlDoc
4502#ifdef HTMLroffCmd
4503#define MakeDepSimpleHtmlDoc(file,deps,srcs)				@@\
4504HtmlTarget(file): deps							@@\
4505	$(HTMLROFF) $(MSMACROS) $(XDOCMACROS) Concat(-P-I,file) srcs \		@@\
4506		2> index.raw > file.nhtml \				@@\
4507	  && PostProcessTroffHTML(file.nhtml,$@)
4508#else
4509#define MakeDepSimpleHtmlDoc(file,deps,srcs) /**/
4510#endif
4511#endif
4512
4513#ifndef MakeTblHtmlDoc
4514#ifdef HTMLroffCmd
4515#define MakeTblHtmlDoc(file,srcs)					@@\
4516file.html: srcs								@@\
4517	$(TBL) $(XDOCMACROS) srcs | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \	@@\
4518		2> index.raw > file.nhtml \				@@\
4519	  && PostProcessTroffHTML(file.nhtml,$@)
4520#else
4521#define MakeTblHtmlDoc(file,srcs) /**/
4522#endif
4523#endif
4524
4525#ifndef MakeEqnHtmlDoc
4526#ifdef HTMLroffCmd
4527#define MakeEqnHtmlDoc(file,srcs)					@@\
4528file.html: srcs								@@\
4529	$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \ @@\
4530		2> index.raw > file.nhtml \				@@\
4531	  && PostProcessTroffHTML(file.nhtml,$@)
4532#else
4533#define MakeEqnHtmlDoc(file,srcs) /**/
4534#endif
4535#endif
4536
4537
4538#ifndef MakeDepSimpleDoc
4539#define MakeDepSimpleDoc(file,deps,srcs)				@@\
4540all:: file.ps file.txt HtmlTarget(file) PdfTarget(file)			@@\
4541.PRECIOUS: file.ps							@@\
4542									@@\
4543file.ps: deps								@@\
4544	-$(TROFF) $(MSMACROS) $(XDOCMACROS) srcs \			@@\
4545		2> index.raw > file.nps \				@@\
4546	&& PostProcessTroffPS(file.nps,$@)				@@\
4547	@if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \	@@\
4548		else test $$? -le 1; fi					@@\
4549									@@\
4550file.txt: deps								@@\
4551	$(NROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw | \	@@\
4552		 $(COL) $(COLFLAGS) > $@				@@\
4553									@@\
4554MakeDepSimpleHtmlDoc(file,deps,srcs)					@@\
4555									@@\
4556ConvertPsToPdf(file)							@@\
4557									@@\
4558clean::									@@\
4559	$(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
4560#endif
4561
4562#ifndef MakeSimpleDoc
4563#define MakeSimpleDoc(file,srcs) MakeDepSimpleDoc(file,srcs,srcs)
4564#endif
4565
4566#ifndef MakeTblDoc
4567#define MakeTblDoc(file,srcs)						@@\
4568all:: file.ps file.txt HtmlTarget(file) PdfTarget(file)			@@\
4569.PRECIOUS: file.ps							@@\
4570									@@\
4571file.ps: srcs								@@\
4572	-$(TBL) $(XDOCMACROS) srcs | $(TROFF) $(MSMACROS) \		@@\
4573		2> index.raw > file.nps \				@@\
4574	&& PostProcessTroffPS(file.nps,$@)				@@\
4575	@if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \	@@\
4576		else test $$? -le 1; fi					@@\
4577									@@\
4578file.txt: srcs								@@\
4579	$(TBL) $(XDOCMACROS) srcs | $(NROFF) $(MSMACROS) 2> index.raw \	@@\
4580		| $(COL) $(COLFLAGS) > $@				@@\
4581									@@\
4582MakeTblHtmlDoc(file,srcs)						@@\
4583									@@\
4584ConvertPsToPdf(file)							@@\
4585									@@\
4586clean::									@@\
4587	$(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
4588#endif
4589
4590#ifndef MakeEqnDoc
4591#define MakeEqnDoc(file,srcs)						@@\
4592all:: file.ps file.txt HtmlTarget(file) PdfTarget(file)			@@\
4593.PRECIOUS: file.ps							@@\
4594									@@\
4595file.ps: srcs								@@\
4596	-$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(TROFF) $(MSMACROS) \	@@\
4597		2> index.raw > file.nps \				@@\
4598	&& PostProcessTroffPS(file.nps,$@)				@@\
4599	@if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \	@@\
4600		else test $$? -le 1; fi					@@\
4601									@@\
4602file.txt: srcs								@@\
4603	$(TBL) $(XDOCMACROS) srcs | $(NEQN) | $(NROFF) $(MSMACROS) \	@@\
4604		2> index.raw | $(COL) $(COLFLAGS) > $@			@@\
4605									@@\
4606MakeEqnHtmlDoc(file,srcs)						@@\
4607									@@\
4608ConvertPsToPdf(file)							@@\
4609									@@\
4610clean::									@@\
4611	$(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
4612#endif
4613
4614#ifndef MakeDocIndex
4615#define MakeDocIndex(file,srcs)						@@\
4616all:: file.idx.ps							@@\
4617									@@\
4618file.idx.ps: srcs index.raw						@@\
4619	sed -n '$$p' index.raw > index.pageno				@@\
4620	grep '^[1-9]' index.raw | \					@@\
4621		(sort -f '-t:' -k2,2 -k1,1n 2>/dev/null || \		@@\
4622		 sort -f '-t:' +1 -3 +0n -1n) | \			@@\
4623		awk -f $(DOCUTILSRC)/fixindex.awk | \			@@\
4624		awk -f $(DOCUTILSRC)/block.awk > index.troff		@@\
4625	cat srcs $(XIDXMACROS) index.troff | \				@@\
4626		$(TROFF) -me > file.idx.nps && \			@@\
4627		$(MV) file.idx.nps $@					@@\
4628	$(RM) index.troff index.pageno					@@\
4629									@@\
4630clean::									@@\
4631	$(RM) index.troff index.pageno file.idx.nps file.idx.ps
4632#endif
4633
4634#ifndef MakeLatexDoc
4635#if HasLatex
4636#define MakeLatexDoc(file,src)						@@\
4637all:: file.ps PdfLatexTarget(file)					@@\
4638									@@\
4639file.dvi: src								@@\
4640	$(LATEX) src							@@\
4641									@@\
4642file.ps: file.dvi							@@\
4643	$(DVIPS) -o file.nps file && $(MV) file.nps $@			@@\
4644									@@\
4645LatexToPdf(file)							@@\
4646									@@\
4647clean::									@@\
4648	RemoveFiles(file.nps file.ps file.dvi file.log)			@@\
4649	RemoveFiles(file.aux file.toc file.lof file.lot)		@@\
4650	$(RM) PdfLatexClean(file)
4651#else /* HasLatex */
4652#define MakeLatexDoc(file,src)						@@\
4653all::									@@\
4654file.ps: src								@@\
4655	@echo "cannot make file.ps: no latex on this system"; exit 1
4656#endif /* HasLatex (else) */
4657#endif /* MakeLatexDoc */
4658
4659#ifndef InstallDoc
4660#define InstallDoc(name,deps)						@@\
4661install:: deps								@@\
4662	MakeDir($(DESTDIR)$(DOCPSDIR))					@@\
4663	@if [ -f name.ps -a X$(NOPS) = X ]; then set -x; \		@@\
4664	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.ps \		@@\
4665		$(DESTDIR)$(DOCPSDIR); \				@@\
4666	fi ; RemoveOldFile(name.ps,name.PS,$(DOCPSDIR))			@@\
4667	MakeDir($(DESTDIR)$(DOCDIR))					@@\
4668	@if [ -f name.txt -a X$(NOTXT) = X ]; then set -x; \		@@\
4669	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.txt \		@@\
4670		$(DESTDIR)$(DOCDIR); \					@@\
4671	fi ; RemoveOldFile(name.txt,name.TXT,$(DOCDIR))			@@\
4672	MakeDir($(DESTDIR)$(DOCHTMLDIR))				@@\
4673	@if [ -f name.html -a X$(NOHTML) = X ]; then (set -x; \		@@\
4674	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.html \	@@\
4675		$(DESTDIR)$(DOCHTMLDIR)); \				@@\
4676	  for i in name*.png; do \					@@\
4677	    if [ -f $$i ]; then (set -x; \				@@\
4678	      $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $$i \		@@\
4679		$(DESTDIR)$(DOCHTMLDIR)); \				@@\
4680	    fi; \							@@\
4681	  done; \							@@\
4682	fi								@@\
4683	MakeDir($(DESTDIR)$(DOCPDFDIR))					@@\
4684	@if [ -f name.pdf -a X$(NOPDF) = X ]; then set -x; \		@@\
4685	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.pdf \		@@\
4686		$(DESTDIR)$(DOCPDFDIR); \				@@\
4687	fi
4688#endif
4689
4690#ifndef InstallRoffDoc
4691#define InstallRoffDoc(name) InstallDoc(name,name.ps name.txt)
4692#endif
4693
4694#ifndef InstallLatexDoc
4695#if HasLatex
4696#define InstallLatexDoc(name) InstallDoc(name,name.ps)
4697#else
4698#define InstallLatexDoc(name)
4699#endif
4700#endif
4701
4702#ifndef LinkHardcopyPS
4703# if CaseSensitiveFileSystem
4704#  define LinkHardcopyPS(name)						  \
4705	@if [ -f name.PS ]; then set -x; \				@@\
4706	  RemoveFile(name.ps); \					@@\
4707	  $(LN) name.PS name.ps; \					@@\
4708	fi
4709# else
4710#  define LinkHardcopyPS(name)
4711# endif
4712#endif
4713
4714
4715#ifndef InstallHardcopyDoc
4716#define InstallHardcopyDoc(name,deps)					@@\
4717all:: name.ps PdfTarget(name)						@@\
4718									@@\
4719name.ps: deps								@@\
4720	@if [ -f name.PS.gz ]; then set -x; \				@@\
4721	  RemoveFile(name.ps); \					@@\
4722	  gzip -d < name.PS.gz > name.ps; \				@@\
4723	fi								@@\
4724	LinkHardcopyPS(name)						@@\
4725									@@\
4726ConvertPsToPdf(name)							@@\
4727									@@\
4728clean::									@@\
4729	$(RM) name.ps PdfClean(name)					@@\
4730									@@\
4731InstallDoc(name,deps)
4732#endif
4733
4734/*
4735 * Rule for maintainers to use to updated generated copies of fonts in the
4736 * source tree.  Use with care.
4737 */
4738
4739#ifndef UpdateDerivedFont
4740#define UpdateDerivedFont(src,dst)					@@\
4741update.fonts:: src							@@\
4742	-@if [ -f dst ]; then \						@@\
4743	    if [ "$(FORCEUPDATE)" = yes ]; then \			@@\
4744		if [ "$(FOLLOWLINK)" = no ]; then \			@@\
4745			(set -x; $(RM) dst); \				@@\
4746		fi; \							@@\
4747		set -x; cp src dst; \					@@\
4748	    else \							@@\
4749		grep -v "XFree86:" src > __tmp1__; \			@@\
4750		grep -v "XFree86:" dst > __tmp2__; \			@@\
4751		if diff __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \	@@\
4752		else \							@@\
4753			if [ "$(FOLLOWLINK)" = no ]; then \		@@\
4754				(set -x; $(RM) dst); \			@@\
4755			fi; \						@@\
4756			set -x; cp src dst; \					@@\
4757		fi; \							@@\
4758	    fi; \							@@\
4759	fi								@@\
4760	@$(RM) __tmp1__ __tmp2__
4761#endif
4762
4763#if !HasFreetype2
4764      FT2PRELOADPATTERN = libfreetype.so.?
4765#endif
4766#if !HasFontconfig
4767       FCPRELOADPATTERN = libfontconfig.so.?
4768#endif
4769      XFTPRELOADPATTERN = libXft.so.?
4770  XRENDERPRELOADPATTERN = libXrender.so.?
4771    XFONTPRELOADPATTERN = libXfont*.so.?
4772
4773