X11.tmpl revision e9698f98
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 6.8
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 FontCacheExtentionDefines
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     ENCODINGSDIR = FontEncDir          /* font encodings directory */
1679         XINITDIR = XinitDir		/* xinit config files */
1680           XDMDIR = XdmDir		/* xdm config files */
1681        XDMVARDIR = XdmVarDir		/* xdm config files */
1682           TWMDIR = TwmDir		/* twm config files */
1683           XSMDIR = XsmDir		/* xsm config files */
1684           NLSDIR = NlsDir		/* nls files */
1685       XLOCALEDIR = XLocaleDir		/* locale files */
1686      LBXPROXYDIR = LbxproxyDir		/* lbxproxy files */
1687  PROXYMANAGERDIR = ProxyManagerDir	/* proxy manager config files */
1688        XPRINTDIR = XPrintDir		/* print config file root */
1689      XAPPLOADDIR = XAppLoadDir		/* application default resource dir */
1690       FONTCFLAGS = FontCompilerFlags
1691
1692     INSTAPPFLAGS = $(INSTDATFLAGS)	/* XXX - this should go away - XXX */
1693
1694#if UseInstalledX11
1695              RGB = $(XBINDIR)/rgb
1696            FONTC = $(XBINDIR)/bdftopcf
1697      MKFONTSCALE = $(XBINDIR)/mkfontscale
1698        MKFONTDIR = $(XBINDIR)/mkfontdir
1699      MKHTMLINDEX = $(XBINDIR)/mkhtmlindex
1700          UCS2ANY = $(XBINDIR)/ProgramTargetName(ucs2any)
1701      BDFTRUNCATE = $(XBINDIR)/bdftruncate
1702     UCSMAPPREFIX = $(FONTDIR)/util/map-
1703       XCURSORGEN = $(XBINDIR)/xcursorgen
1704#else
1705              RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb
1706# if !CrossCompiling
1707            FONTC = $(CLIENTENVSETUP) $(PRELOADFONTSETUP) $(XBUILDBINDIR)/bdftopcf
1708      MKFONTSCALE = $(CLIENTENVSETUP) $(PRELOADFREETYPESETUP) $(XBUILDBINDIR)/mkfontscale
1709        MKFONTDIR = $(MKFONTSCALE) -b -s -l
1710       XCURSORGEN = $(CLIENTENVSETUP) $(PRELOADSETUP) $(XBUILDBINDIR)/xcursorgen
1711          UCS2ANY = $(XBUILDBINDIR)/ProgramTargetName(ucs2any)
1712# elif UseInstalledOnCrossCompile
1713        MKFONTDIR = $(XBINDIR)/mkfontdir
1714      MKFONTSCALE = $(XBINDIR)/mkfontscale
1715            FONTC = $(XBINDIR)/bdftopcf
1716       XCURSORGEN = $(XBINDIR)/xcursorgen
1717          UCS2ANY = $(XBINDIR)/ucs2any
1718# endif
1719# if HasPerl
1720      MKHTMLINDEX = RunPerlScript($(CONFIGSRC)/util/mkhtmlindex.pl,)
1721# else
1722      MKHTMLINDEX = $(SHELL) $(CONFIGSRC)/util/mkhtmlindex.sh
1723# endif
1724      BDFTRUNCATE = $(FONTSRC)/util/bdftruncate.pl
1725     UCSMAPPREFIX = $(FONTSRC)/util/map-
1726#endif
1727
1728     HTMLINDEXCMD = HtmlIndexCmd
1729
1730       DOCUTILSRC = $(XTOP)/doc/util
1731        CLIENTSRC = $(TOP)/clients
1732          DEMOSRC = $(TOP)/demos
1733       XDOCMACROS = $(DOCUTILSRC)/macros.t
1734       XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
1735       PROGRAMSRC = $(TOP)/programs
1736           LIBSRC = $(XTOP)/lib
1737          FONTSRC = $(XTOP)/fonts
1738     ENCODINGSSRC = $(FONTSRC)/encodings
1739       INCLUDESRC = BuildIncDir
1740      XINCLUDESRC = $(INCLUDESRC)/X11
1741        SERVERSRC = $(XTOP)/programs/Xserver
1742       CONTRIBSRC = ContribDir
1743   UNSUPPORTEDSRC = UnsupportedDir
1744           DOCSRC = $(XTOP)/doc
1745           RGBSRC = $(XTOP)/programs/rgb
1746      BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
1747     MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
1748    FONTSERVERSRC = $(PROGRAMSRC)/xfs
1749       FONTINCSRC = $(XTOP)/include/fonts
1750        EXTINCSRC = $(XTOP)/include/extensions
1751      FTSOURCEDIR = FreeTypeSrcDir
1752        DRMSRCDIR = DRMSrcDir
1753       MESASRCDIR = MesaSrcDir
1754  OGLSAMPLESRCDIR = OglSampleSrcDir
1755        PSWRAPSRC = $(XTOP)/config/pswrap
1756     TRANSCOMMSRC = $(LIBSRC)/xtrans
1757   TRANS_INCLUDES = -I$(TRANSCOMMSRC)
1758 CONNECTION_FLAGS = ConnectionFlags ExtraConnectionDefs
1759XTRANS_FAILDEFINES = XtransFailDefine 
1760#ifdef X11ProjectRoot
1761     XPROJECTROOT = X11ProjectRoot
1762#endif
1763    VENDORMANNAME = XVendorManNameString
1764 VENDORMANVERSION = XVendorManVersionString
1765      XORGMANDEFS = XOrgManDefs
1766    VENDORMANDEFS = VendorManDefs
1767       VENDORNAME = XVendorNameString
1768  VENDORNAMESHORT = XVendorNameStringShort
1769
1770#if defined (XVendorWebSupport)
1771 VENDORWEBSUPPORT = XVendorWebSupport
1772#endif
1773VENDORSUPPORTDEFS = VendorSupportDefines
1774
1775      XKBDEFRULES = XkbDefaultRulesFile
1776  XKBDEFRULESDEFS = XkbDefRulesDefines
1777  
1778     XCONFIGFILE = XConfigFile
1779      XCONFIGDIR = XConfigDir
1780        XLOGFILE = XLogFile
1781     XSERVERNAME = XServerName
1782
1783#if HasSharedLibraries
1784#ifndef DontUseLibPathVar
1785#ifndef BuildLibPathVar
1786#define BuildLibPathVar LD_LIBRARY_PATH
1787#endif
1788#endif
1789#endif
1790#ifdef BuildLibPathVar
1791# ifdef SystemBuildLibPath
1792  SYSTEMENVLIBDIR = SystemBuildLibPath
1793# endif
1794#define XlocaleClientSetup Concat3(XLOCALEDIR,=,BuildI18NDir)
1795       XENVLIBDIR = X11BuildLibPath
1796   CLIENTENVSETUP = Concat3(BuildLibPathVar,=,BuildLibPath) XlocaleClientSetup
1797#else
1798   CLIENTENVSETUP =
1799#endif
1800
1801#ifdef PreloadSetup
1802     PRELOADSETUP = PreloadSetup
1803#endif
1804#ifdef PreloadFontSetup
1805 PRELOADFONTSETUP = PreloadFontSetup
1806#endif
1807#ifdef PreloadFreetypeSetup
1808 PRELOADFREETYPESETUP = PreloadFreetypeSetup
1809#endif
1810#ifdef PreloadXFTSetup
1811     PRELOADXFTSETUP = PreloadXFTSetup
1812#endif
1813
1814#ifndef ShLibIncludeFile
1815/* need this to make ANSI-style preprocessors happy */
1816#define ShLibIncludeFile <noop.rules>
1817#endif
1818
1819#include ShLibIncludeFile
1820
1821#ifndef XBuildLibDir
1822# define XBuildLibDir	BuildLibDir
1823#endif
1824
1825#ifndef NeedLibInsideFlag
1826#define NeedLibInsideFlag	NO
1827#endif
1828
1829#ifndef SharedLibX11
1830#define SharedLibX11 HasSharedLibraries
1831#endif
1832#ifndef NormalLibX11
1833#define NormalLibX11 (!SharedLibX11 | ForceNormalLib)
1834#endif
1835#ifndef DebugLibX11
1836#define DebugLibX11		NO	/* debugged X library */
1837#endif
1838#ifndef ProfileLibX11
1839#define ProfileLibX11		NO	/* profiled X library */
1840#endif
1841          XLIBSRC = $(LIBSRC)/X11
1842#if SharedLibX11
1843#ifndef SharedX11Rev
1844#define SharedX11Rev 6.2
1845#endif
1846SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
1847#else
1848ProjectUnsharedLibReferences(XONLY,X11,$(XLIBSRC),XBuildLibDir)
1849#endif
1850      /* Common alternate spellings */
1851      DEPXLIBONLY = $(DEPXONLYLIB)
1852         XLIBONLY = $(XONLYLIB)
1853     LINTXONLYLIB = $(LINTXONLY)
1854
1855#if BuildScreenSaverLibrary
1856#ifndef SharedLibXss
1857#define SharedLibXss	HasSharedLibraries
1858#endif
1859#ifndef NormalLibXss
1860#define NormalLibXss	(!SharedLibXss || ForceNormalLib)
1861#endif
1862#ifndef DebugLibXss
1863#define DebugLibXss	NO
1864#endif
1865#ifndef ProfileLibXss
1866#define ProfileLibXss	NO
1867#endif
1868#else
1869#undef  SharedLibXss
1870#define SharedLibXss	NO
1871#undef  NormalLibXss
1872#define NormalLibXss	NO
1873#undef  DebugLibXss
1874#define DebugLibXss	NO
1875#undef  ProfileLibXss
1876#define ProfileLibXss	NO
1877#endif
1878
1879#if BuildXF86MiscLibrary
1880#ifndef SharedLibXxf86misc
1881#define SharedLibXxf86misc	HasSharedLibraries
1882#endif
1883#ifndef NormalLibXxf86misc
1884#define NormalLibXxf86misc	(!SharedLibXxf86misc || ForceNormalLib)
1885#endif
1886#ifndef DebugLibXxf86misc
1887#define DebugLibXxf86misc	NO
1888#endif
1889#ifndef ProfileLibXxf86misc
1890#define ProfileLibXxf86misc	NO
1891#endif
1892#else
1893#undef  SharedLibXxf86misc
1894#define SharedLibXxf86misc	NO
1895#undef  NormalLibXxf86misc
1896#define NormalLibXxf86misc	NO
1897#undef  DebugLibXxf86misc
1898#define DebugLibXxf86misc	NO
1899#undef  ProfileLibXxf86misc
1900#define ProfileLibXxf86misc	NO
1901#endif
1902
1903#if BuildXF86VidModeLibrary
1904#ifndef SharedLibXxf86vm
1905#define SharedLibXxf86vm	HasSharedLibraries
1906#endif
1907#ifndef NormalLibXxf86vm
1908#define NormalLibXxf86vm	(!SharedLibXxf86vm || ForceNormalLib)
1909#endif
1910#ifndef DebugLibXxf86vm
1911#define DebugLibXxf86vm		NO
1912#endif
1913#ifndef ProfileLibXxf86vm
1914#define ProfileLibXxf86vm	NO
1915#endif
1916#else
1917#undef  SharedLibXxf86vm
1918#define SharedLibXxf86vm	NO
1919#undef  NormalLibXxf86vm
1920#define NormalLibXxf86vm	NO
1921#undef  DebugLibXxf86vm
1922#define DebugLibXxf86vm		NO
1923#undef  ProfileLibXxf86vm
1924#define ProfileLibXxf86vm	NO
1925#endif
1926
1927#if BuildXF86DGALibrary
1928#ifndef SharedLibXxf86dga
1929#define SharedLibXxf86dga	HasSharedLibraries
1930#endif
1931#ifndef NormalLibXxf86dga
1932#define NormalLibXxf86dga	(!SharedLibXxf86dga || ForceNormalLib)
1933#endif
1934#ifndef DebugLibXxf86dga
1935#define DebugLibXxf86dga	NO
1936#endif
1937#ifndef ProfileLibXxf86dga
1938#define ProfileLibXxf86dga	NO
1939#endif
1940#else
1941#undef  SharedLibXxf86dga
1942#define SharedLibXxf86dga	NO
1943#undef  NormalLibXxf86dga
1944#define NormalLibXxf86dga	NO
1945#undef  DebugLibXxf86dga
1946#define DebugLibXxf86dga	NO
1947#undef  ProfileLibXxf86dga
1948#define ProfileLibXxf86dga	NO
1949#endif
1950
1951#if BuildXF86RushLibrary
1952#ifndef SharedLibXxf86rush
1953#define SharedLibXxf86rush	HasSharedLibraries
1954#endif
1955#ifndef NormalLibXxf86rush
1956#define NormalLibXxf86rush	(!SharedLibXxf86rush || ForceNormalLib)
1957#endif
1958#ifndef DebugLibXxf86rush
1959#define DebugLibXxf86rush	NO
1960#endif
1961#ifndef ProfileLibXxf86rush
1962#define ProfileLibXxf86rush	NO
1963#endif
1964#else
1965#undef  SharedLibXxf86rush
1966#define SharedLibXxf86rush	NO
1967#undef  NormalLibXxf86rush
1968#define NormalLibXxf86rush	NO
1969#undef  DebugLibXxf86rush
1970#define DebugLibXxf86rush	NO
1971#undef  ProfileLibXxf86rush
1972#define ProfileLibXxf86rush	NO
1973#endif
1974
1975#if BuildXvLibrary
1976#ifndef SharedLibXv
1977#define SharedLibXv		HasSharedLibraries
1978#endif
1979#ifndef NormalLibXv
1980#define NormalLibXv		(!SharedLibXv || ForceNormalLib)
1981#endif
1982#ifndef DebugLibXv
1983#define DebugLibXv		NO
1984#endif
1985#ifndef ProfileLibXv
1986#define ProfileLibXv		NO
1987#endif
1988#else
1989#undef  SharedLibXv
1990#define SharedLibXv		NO
1991#undef  NormalLibXv
1992#define NormalLibXv		NO
1993#undef  DebugLibXv
1994#define DebugLibXv		NO
1995#undef  ProfileLibXv
1996#define ProfileLibXv		NO
1997#endif
1998
1999#if BuildXvMCLibrary
2000#ifndef SharedLibXvMC
2001#define SharedLibXvMC		HasSharedLibraries
2002#endif
2003#ifndef NormalLibXvMC
2004#define NormalLibXvMC		(!SharedLibXvMC || ForceNormalLib)
2005#endif
2006#ifndef DebugLibXvMC
2007#define DebugLibXvMC		NO
2008#endif
2009#ifndef ProfileLibXvMC
2010#define ProfileLibXvMC		NO
2011#endif
2012#else
2013#undef  SharedLibXvMC
2014#define SharedLibXvMC		NO
2015#undef  NormalLibXvMC
2016#define NormalLibXvMC		NO
2017#undef  DebugLibXvMC
2018#define DebugLibXvMC		NO
2019#undef  ProfileLibXvMC
2020#define ProfileLibXvMC		NO
2021#endif
2022
2023#if BuildXineramaLibrary
2024#ifndef SharedLibXinerama
2025#define SharedLibXinerama	HasSharedLibraries
2026#endif
2027#ifndef NormalLibXinerama
2028#define NormalLibXinerama	(!SharedLibXinerama || ForceNormalLib)
2029#endif
2030#ifndef DebugLibXinerama
2031#define DebugLibXinerama	NO
2032#endif
2033#ifndef ProfileLibXinerama
2034#define ProfileLibXinerama	NO
2035#endif
2036#else
2037#undef  SharedLibXinerama
2038#define SharedLibXinerama	NO
2039#undef  NormalLibXinerama
2040#define NormalLibXinerama	NO
2041#undef  DebugLibXinerama
2042#define DebugLibXinerama	NO
2043#undef  ProfileLibXinerama
2044#define ProfileLibXinerama	NO
2045#endif
2046
2047#if BuildXResLibrary
2048#ifndef SharedLibXRes
2049#define SharedLibXRes           HasSharedLibraries
2050#endif
2051#ifndef NormalLibXRes
2052#define NormalLibXRes           (!SharedLibXRes || ForceNormalLib)
2053#endif
2054#ifndef DebugLibXRes
2055#define DebugLibXRes            NO
2056#endif
2057#ifndef ProfileLibXRes
2058#define ProfileLibXRes          NO
2059#endif
2060#else
2061#undef  SharedLibXRes
2062#define SharedLibXRes		NO
2063#undef  NormalLibXRes
2064#define NormalLibXRes		NO
2065#undef  DebugLibXRes
2066#define DebugLibXRes		NO
2067#undef  ProfileLibXRes
2068#define ProfileLibXRes		NO
2069#endif
2070
2071#if BuildDPSLibrary
2072#ifndef SharedLibDps
2073#define SharedLibDps		HasSharedLibraries
2074#endif
2075#ifndef NormalLibDps
2076#define NormalLibDps		(!SharedLibDps || ForceNormalLib)
2077#endif
2078#ifndef DebugLibDps
2079#define DebugLibDps		NO
2080#endif
2081#ifndef ProfileLibDps
2082#define ProfileLibDps		NO
2083#endif
2084#else
2085#undef  SharedLibDps
2086#define SharedLibDps		NO
2087#undef  NormalLibDps
2088#define NormalLibDps		NO
2089#undef  DebugLibDps
2090#define DebugLibDps		NO
2091#undef  ProfileLibDps
2092#define ProfileLibDps		NO
2093#endif
2094
2095#if BuildDPSTkLibrary
2096#ifndef SharedLibDpsTk
2097#define SharedLibDpsTk		HasSharedLibraries
2098#endif
2099#ifndef NormalLibDpsTk
2100#define NormalLibDpsTk		(!SharedLibDpsTk || ForceNormalLib)
2101#endif
2102#ifndef DebugLibDpsTk
2103#define DebugLibDpsTk		NO
2104#endif
2105#ifndef ProfileLibDpsTk
2106#define ProfileLibDpsTk		NO
2107#endif
2108#else
2109#undef  SharedLibDpsTk
2110#define SharedLibDpsTk		NO
2111#undef  NormalLibDpsTk
2112#define NormalLibDpsTk		NO
2113#undef  DebugLibDpsTk
2114#define DebugLibDpsTk		NO
2115#undef  ProfileLibDpsTk
2116#define ProfileLibDpsTk		NO
2117#endif
2118
2119#if BuildPSResLibrary
2120#ifndef SharedLibPSRes
2121#define SharedLibPSRes		HasSharedLibraries
2122#endif
2123#ifndef NormalLibPSRes
2124#define NormalLibPSRes		(!SharedLibPSRes || ForceNormalLib)
2125#endif
2126#ifndef DebugLibPSRes
2127#define DebugLibPSRes		NO
2128#endif
2129#ifndef ProfileLibPSRes
2130#define ProfileLibPSRes		NO
2131#endif
2132#else
2133#undef  SharedLibPSRes
2134#define SharedLibPSRes		NO
2135#undef  NormalLibPSRes
2136#define NormalLibPSRes		NO
2137#undef  DebugLibPSRes
2138#define DebugLibPSRes		NO
2139#undef  ProfileLibPSRes
2140#define ProfileLibPSRes		NO
2141#endif
2142
2143#if BuildRenderLibrary
2144#ifndef SharedLibXrender
2145#define SharedLibXrender	HasSharedLibraries
2146#endif
2147#ifndef NormalLibXrender
2148#define NormalLibXrender	(!SharedLibXrender || ForceNormalLib)
2149#endif
2150#ifndef DebugLibXrender
2151#define DebugLibXrender		NO
2152#endif
2153#ifndef ProfileLibXrender
2154#define ProfileLibXrender	NO
2155#endif
2156#else
2157#undef  SharedLibXrender
2158#define SharedLibXrender	NO
2159#undef  NormalLibXrender
2160#define NormalLibXrender	NO
2161#undef  DebugLibXrender
2162#define DebugLibXrender		NO
2163#undef  ProfileLibXrender
2164#define ProfileLibXrender	NO
2165#endif
2166
2167#if BuildRandRLibrary
2168# ifndef SharedLibXrandr
2169#  define SharedLibXrandr		HasSharedLibraries
2170# endif
2171# ifndef NormalLibXrandr
2172#  define NormalLibXrandr		(!SharedLibXrandr || ForceNormalLib)
2173# endif
2174# ifndef DebugLibXrandr
2175#  define DebugLibXrandr	NO
2176# endif
2177# ifndef ProfileLibXrandr
2178#  define ProfileLibXrandr	NO
2179# endif
2180#else
2181# undef  SharedLibXrandr
2182# define SharedLibXrandr	NO
2183# undef  NormalLibXrandr
2184# define NormalLibXrandr	NO
2185# undef  DebugLibXrandr
2186# define DebugLibXrandr		NO
2187# undef  ProfileLibXrandr
2188# define ProfileLibXrandr	NO
2189#endif
2190
2191#if BuildXfixesLibrary
2192#ifndef SharedLibXfixes
2193#define SharedLibXfixes		HasSharedLibraries
2194#endif
2195#ifndef NormalLibXfixes
2196#define NormalLibXfixes		(!SharedLibXfixes || ForceNormalLib)
2197#endif
2198#ifndef DebugLibXfixes
2199#define DebugLibXfixes		NO
2200#endif
2201#ifndef ProfileLibXfixes
2202#define ProfileLibXfixes	NO
2203#endif
2204#else
2205#undef  SharedLibXfixes
2206#define SharedLibXfixes		NO
2207#undef  NormalLibXfixes
2208#define NormalLibXfixes		NO
2209#undef  DebugLibXfixes
2210#define DebugLibXfixes		NO
2211#undef  ProfileLibXfixes
2212#define ProfileLibXfixes	NO
2213#endif
2214
2215#if BuildDamageLibrary
2216#ifndef SharedLibXdamage
2217#define SharedLibXdamage	HasSharedLibraries
2218#endif
2219#ifndef NormalLibXdamage
2220#define NormalLibXdamage	(!SharedLibXdamage || ForceNormalLib)
2221#endif
2222#ifndef DebugLibXdamage
2223#define DebugLibXdamage		NO
2224#endif
2225#ifndef ProfileLibXdamage
2226#define ProfileLibXdamage	NO
2227#endif
2228#else
2229#undef  SharedLibXdamage
2230#define SharedLibXdamage	NO
2231#undef  NormalLibXdamage
2232#define NormalLibXdamage	NO
2233#undef  DebugLibXdamage
2234#define DebugLibXdamage		NO
2235#undef  ProfileLibXdamage
2236#define ProfileLibXdamage	NO
2237#endif
2238
2239#if BuildCompositeLibrary
2240#ifndef SharedLibXcomposite
2241#define SharedLibXcomposite	HasSharedLibraries
2242#endif
2243#ifndef NormalLibXcomposite
2244#define NormalLibXcomposite	(!SharedLibXcomposite || ForceNormalLib)
2245#endif
2246#ifndef DebugLibXcomposite
2247#define DebugLibXcomposite	NO
2248#endif
2249#ifndef ProfileLibXcomposite
2250#define ProfileLibXcomposite	NO
2251#endif
2252#else
2253#undef  SharedLibXcomposite
2254#define SharedLibXcomposite	NO
2255#undef  NormalLibXcomposite
2256#define NormalLibXcomposite	NO
2257#undef  DebugLibXcomposite
2258#define DebugLibXcomposite	NO
2259#undef  ProfileLibXcomposite
2260#define ProfileLibXcomposite	NO
2261#endif
2262
2263#if BuildXevieLibrary
2264#ifndef SharedLibXevie
2265#define SharedLibXevie		HasSharedLibraries
2266#endif
2267#ifndef NormalLibXevie
2268#define NormalLibXevie		(!SharedLibXevie || ForceNormalLib)
2269#endif
2270#ifndef DebugLibXevie
2271#define DebugLibXevie		NO
2272#endif
2273#ifndef ProfileLibXevie
2274#define ProfileLibXevie		NO
2275#endif
2276#else
2277#undef  SharedLibXevie
2278#define SharedLibXevie		NO
2279#undef  NormalLibXevie
2280#define NormalLibXevie		NO
2281#undef  DebugLibXevie
2282#define DebugLibXevie		NO
2283#undef  ProfileLibXevie
2284#define ProfileLibXevie		NO
2285#endif
2286
2287#if BuildXcursorLibrary
2288#ifndef SharedLibXcursor
2289#define SharedLibXcursor	HasSharedLibraries
2290#endif
2291#ifndef NormalLibXcursor
2292#define NormalLibXcursor	(!SharedLibXcursor || ForceNormalLib)
2293#endif
2294#ifndef DebugLibXcursor
2295#define DebugLibXcursor		NO
2296#endif
2297#ifndef ProfileLibXcursor
2298#define ProfileLibXcursor	NO
2299#endif
2300#else
2301#undef  SharedLibXcursor
2302#define SharedLibXcursor	NO
2303#undef  NormalLibXcursor
2304#define NormalLibXcursor	NO
2305#undef  DebugLibXcursor
2306#define DebugLibXcursor		NO
2307#undef  ProfileLibXcursor
2308#define ProfileLibXcursor	NO
2309#endif
2310
2311#if BuildAppleWMLibrary
2312#ifndef SharedLibAppleWM
2313#define SharedLibAppleWM	HasSharedLibraries
2314#endif
2315#ifndef NormalLibAppleWM
2316#define NormalLibAppleWM	(!SharedLibAppleWM || ForceNormalLib)
2317#endif
2318#ifndef DebugLibAppleWM
2319#define DebugLibAppleWM		NO
2320#endif
2321#ifndef ProfileLibAppleWM
2322#define ProfileLibAppleWM	NO
2323#endif
2324#else
2325#undef  SharedLibAppleWM
2326#define SharedLibAppleWM	NO
2327#undef  NormalLibAppleWM
2328#define NormalLibAppleWM	NO
2329#undef  DebugLibAppleWM
2330#define DebugLibAppleWM		NO
2331#undef  ProfileLibAppleWM
2332#define ProfileLibAppleWM	NO
2333#endif
2334
2335#if BuildWindowsWMLibrary
2336#ifndef SharedLibWindowsWM
2337#define SharedLibWindowsWM	HasSharedLibraries
2338#endif
2339#ifndef NormalLibWindowsWM
2340#define NormalLibWindowsWM	(!SharedLibWindowsWM || ForceNormalLib)
2341#endif
2342#ifndef DebugLibWindowsWM
2343#define DebugLibWindowsWM	NO
2344#endif
2345#ifndef ProfileLibWindowsWM
2346#define ProfileLibWindowsWM	NO
2347#endif
2348#else
2349#undef  SharedLibWindowsWM
2350#define SharedLibWindowsWM	NO
2351#undef  NormalLibWindowsWM
2352#define NormalLibWindowsWM	NO
2353#undef  DebugLibWindowsWM
2354#define DebugLibWindowsWM	NO
2355#undef  ProfileLibWindowsWM
2356#define ProfileLibWindowsWM	NO
2357#endif
2358
2359#if BuildGLULibrary
2360#ifndef SharedLibGlu
2361#define SharedLibGlu		HasSharedLibraries
2362#endif
2363#ifndef NormalLibGlu
2364#define NormalLibGlu		(!SharedLibX11 | ForceNormalLib)
2365#endif
2366#ifndef DebugLibGlu
2367#define DebugLibGlu		NO
2368#endif
2369#ifndef ProfileLibGlu
2370#define ProfileLibGlu		NO
2371#endif
2372#else
2373#undef  SharedLibGlu
2374#define SharedLibGlu		NO
2375#undef  NormalLibGlu
2376#define NormalLibGlu		NO
2377#undef  DebugLibGlu
2378#define DebugLibGlu		NO
2379#undef  ProfileLibGlu
2380#define ProfileLibGlu		NO
2381#endif
2382
2383#if BuildGLXLibrary
2384#ifndef SharedLibGlx
2385#define SharedLibGlx		HasSharedLibraries
2386#endif
2387#ifndef NormalLibGlx
2388#define NormalLibGlx		(!SharedLibX11 | ForceNormalLib)
2389#endif
2390#ifndef DebugLibGlx
2391#define DebugLibGlx		NO
2392#endif
2393#ifndef ProfileLibGlx
2394#define ProfileLibGlx		NO
2395#endif
2396#ifndef BuildLibGlxWithoutPIC
2397#define BuildLibGlxWithoutPIC	NO
2398#endif
2399#if BuildLibGlxWithoutPIC && SharedLibGlx
2400#define SharedLibGlxWithoutPIC	YES
2401#else
2402#define SharedLibGlxWithoutPIC	NO
2403#endif
2404#ifndef LinkGLToUsrLib
2405#define LinkGLToUsrLib		NO
2406#endif
2407#if NothingOutsideProjectRoot
2408#undef LinkGLToUsrLib
2409#define LinkGLToUsrLib		NO
2410#endif
2411#ifndef LinkGLToUsrInclude
2412#define LinkGLToUsrInclude	NO
2413#endif
2414#if NothingOutsideProjectRoot
2415#undef LinkGLToUsrInclude
2416#define LinkGLToUsrInclude	NO
2417#endif
2418#else
2419#undef  SharedLibGlx
2420#define SharedLibGlx		NO
2421#undef  NormalLibGlx
2422#define NormalLibGlx		NO
2423#undef  DebugLibGlx
2424#define DebugLibGlx		NO
2425#undef  ProfileLibGlx
2426#define ProfileLibGlx		NO
2427#endif
2428/*
2429 * Only make a shared GLw library on systems with Weak symbols 
2430 * because it depends on Motif. See xc/lib/GLw/README.txt for details
2431 */
2432#if BuildGLwLibrary
2433#ifndef SharedLibGLw
2434#define SharedLibGLw		HasSharedLibraries && HasWeakSymbols
2435#endif
2436#ifndef NormalLibGLw
2437#define NormalLibGLw		(!SharedLibGLw || ForceNormalLib)
2438#endif
2439#ifndef DebugLibGLw
2440#define DebugLibGLw		NO	/* debugged widget library */
2441#endif
2442#ifndef ProfileLibGLw
2443#define ProfileLibGLw		NO	/* profiled widget library */
2444#endif
2445#ifndef GLwUseXmStubs
2446	/* create stub (weak) Motif symbols */
2447#define GLwUseXmStubs		SharedLibGLw && HasWeakSymbols
2448#endif
2449#else
2450#undef  SharedLibGLw
2451#define SharedLibGLw		NO
2452#undef  NormalLibGLw
2453#define NormalLibGLw		NO
2454#undef  DebugLibGLw
2455#define DebugLibGLw		NO
2456#undef  ProfileLibGLw
2457#define ProfileLibGLw		NO
2458#endif
2459
2460#ifndef SharedLibXext
2461#define SharedLibXext HasSharedLibraries
2462#endif
2463#ifndef NormalLibXext
2464#define NormalLibXext (!SharedLibXext | ForceNormalLib)
2465#endif
2466#ifndef DebugLibXext
2467#define DebugLibXext		NO	/* debugged Xext library */
2468#endif
2469#ifndef ProfileLibXext
2470#define ProfileLibXext		NO	/* profiled Xext library */
2471#endif
2472      XEXTLIBSRC = $(LIBSRC)/Xext
2473#if SharedLibXext
2474#ifndef SharedXextRev
2475#define SharedXextRev 6.4
2476#endif
2477SharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),SOXEXTREV,SharedXextRev)
2478#else
2479ProjectUnsharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),XBuildLibDir)
2480#endif
2481LINTEXTENSIONLIB = $(LINTEXTENSION)
2482          DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
2483             XLIB = $(EXTENSIONLIB) $(XONLYLIB)
2484         LINTXLIB = $(LINTXONLYLIB)
2485
2486    XSSLIBSRC = $(LIBSRC)/Xss
2487#if SharedLibXss
2488#ifndef SharedXssRev
2489#define SharedXssRev 1.0
2490#endif
2491SharedLibReferences(XSS,Xss,$(XSSLIBSRC),SOXSSREV,SharedXssRev)
2492#else
2493ProjectUnsharedLibReferences(XSS,Xss,$(XSSLIBSRC),XBuildLibDir)
2494#endif
2495
2496    XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc
2497#if SharedLibXxf86misc
2498#ifndef SharedXxf86miscRev
2499#define SharedXxf86miscRev 1.1
2500#endif
2501SharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),SOXXF86MISCREV,SharedXxf86miscRev)
2502#else
2503ProjectUnsharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),XBuildLibDir)
2504#endif
2505
2506    XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm
2507#if SharedLibXxf86vm
2508#ifndef SharedXxf86vmRev
2509#define SharedXxf86vmRev 1.0
2510#endif
2511SharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),SOXXF86VMREV,SharedXxf86vmRev)
2512#else
2513ProjectUnsharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),XBuildLibDir)
2514#endif
2515
2516    XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga
2517#if SharedLibXxf86dga
2518#ifndef SharedXxf86dgaRev
2519#define SharedXxf86dgaRev 1.0
2520#endif
2521SharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),SOXXF86DGAREV,SharedXxf86dgaRev)
2522#else
2523ProjectUnsharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),XBuildLibDir)
2524#endif
2525
2526#if BuildDmxLibrary
2527#ifndef SharedLibDmx
2528#define SharedLibDmx		NO
2529#endif
2530#ifndef NormalLibDmx
2531#define NormalLibDmx		YES
2532#endif
2533#ifndef DebugLibDmx
2534#define DebugLibDmx		NO
2535#endif
2536#ifndef ProfileLibDmx
2537#define ProfileLibDmx		NO
2538#endif
2539#else /* BuildDmxLibrary */
2540#undef SharedLibDmx
2541#define SharedLibDmx		NO
2542#undef NormalLibDmx
2543#define NormalLibDmx		NO
2544#undef DebugLibDmx
2545#define DebugLibDmx		NO
2546#undef ProfileLibDmx
2547#define ProfileLibDmx		NO
2548#endif /* BuildDmxLibrary */
2549
2550    XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush
2551#if SharedLibXxf86rush
2552#ifndef SharedXxf86rushRev
2553#define SharedXxf86rushRev 1.0
2554#endif
2555SharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),SOXXF86RUSHREV,SharedXxf86rushRev)
2556#else
2557ProjectUnsharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),XBuildLibDir)
2558#endif
2559
2560
2561    XVLIBSRC = $(LIBSRC)/Xv
2562#if SharedLibXv
2563#ifndef SharedXvRev
2564#define SharedXvRev 1.0
2565#endif
2566SharedLibReferences(XV,Xv,$(XVLIBSRC),SOXVREV,SharedXvRev)
2567#else
2568ProjectUnsharedLibReferences(XV,Xv,$(XVLIBSRC),XBuildLibDir)
2569#endif
2570
2571
2572    XVMCLIBSRC = $(LIBSRC)/XvMC
2573#if SharedLibXvMC
2574#ifndef SharedXvMCRev
2575#define SharedXvMCRev 1.0
2576#endif
2577SharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),SOXVMCREV,SharedXvMCRev)
2578#else
2579ProjectUnsharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),XBuildLibDir)
2580#endif
2581
2582    XINERAMALIBSRC = $(LIBSRC)/Xinerama
2583#if SharedLibXinerama
2584#ifndef SharedXineramaRev
2585#define SharedXineramaRev 1.0
2586#endif
2587SharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),SOXINERAMAREV,SharedXineramaRev)
2588#else
2589ProjectUnsharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),XBuildLibDir)
2590#endif
2591
2592    XRESLIBSRC = $(LIBSRC)/XRes
2593#if SharedLibXRes
2594#ifndef SharedXResRev
2595#define SharedXResRev 1.0
2596#endif
2597SharedLibReferences(XRES,XRes,$(XRESLIBSRC),SOXRESREV,SharedXResRev)
2598#else
2599ProjectUnsharedLibReferences(XRES,XRes,$(XRESLIBSRC),XBuildLibDir)
2600#endif
2601
2602    DMXLIBSRC = $(LIBSRC)/dmx
2603#if SharedLibDmx
2604#ifndef SharedDmxRev
2605#define SharedDmxRev 1.0
2606#endif
2607SharedLibReferences(DMX,dmx,$(DMXLIBSRC),SODMXREV,SharedDmxRev)
2608#else
2609ProjectUnsharedLibReferences(DMX,dmx,$(DMXLIBSRC),XBuildLibDir)
2610#endif
2611
2612    DPSLIBSRC = $(LIBSRC)/dps
2613#if SharedLibDps
2614#ifndef SharedDpsRev
2615#define SharedDpsRev 1.0
2616#endif
2617SharedLibReferences(DPS,dps,$(DPSLIBSRC),SODPSREV,SharedDpsRev)
2618#else
2619ProjectUnsharedLibReferences(DPS,dps,$(DPSLIBSRC),XBuildLibDir)
2620#endif
2621
2622    DPSTKLIBSRC = $(LIBSRC)/dpstk
2623#if SharedLibDpsTk
2624#ifndef SharedDpsTkRev
2625#define SharedDpsTkRev 1.0
2626#endif
2627SharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),SODPSTKREV,SharedDpsTkRev)
2628#else
2629ProjectUnsharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),XBuildLibDir)
2630#endif
2631
2632    PSRESLIBSRC = $(LIBSRC)/psres
2633#if SharedLibPSRes
2634#ifndef SharedPSResRev
2635#define SharedPSResRev 1.0
2636#endif
2637SharedLibReferences(PSRES,psres,$(PSRESLIBSRC),SOPSRESREV,SharedPSResRev)
2638#else
2639ProjectUnsharedLibReferences(PSRES,psres,$(PSRESLIBSRC),XBuildLibDir)
2640#endif
2641
2642    GLULIBSRC = $(LIBSRC)/GLU
2643#if SharedLibGlu
2644#ifndef SharedGluRev
2645#define SharedGluRev 1.3
2646#endif
2647SharedLibReferences(GLU,GLU,$(GLULIBSRC),SOGLUREV,SharedGluRev)
2648#else
2649ProjectUnsharedLibReferences(GLU,GLU,$(GLULIBSRC),XBuildLibDir)
2650#endif
2651
2652    GLXLIBSRC = $(LIBSRC)/GL
2653#if SharedLibGlx
2654#ifndef SharedGlxRev
2655#define SharedGlxRev 1.2
2656#endif
2657SharedLibReferences(GLX,GL,$(GLXLIBSRC),SOGLREV,SharedGlxRev)
2658#else
2659ProjectUnsharedLibReferences(GLX,GL,$(GLXLIBSRC),XBuildLibDir)
2660#endif
2661    GLWIDGETSRC = $(LIBSRC)/GLw
2662#if SharedLibGLw
2663#ifndef SharedGLwRev
2664#define SharedGLwRev 1.0		/* used to name the shared library */
2665#endif
2666SharedDSLibReferences(GLW,GLw,$(GLWIDGETSRC),SOGLWREV,SharedGLwRev)
2667#else
2668ProjectUnsharedLibReferences(GLW,GLw,$(GLWIDGETSRC),XBuildLibDir)
2669#endif
2670
2671    XRENDERLIBSRC = $(LIBSRC)/Xrender
2672#if SharedLibXrender
2673#ifndef SharedXrenderRev
2674#define SharedXrenderRev 1.2.2
2675#endif
2676SharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),SOXRENDERREV,SharedXrenderRev)
2677#else
2678ProjectUnsharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),XBuildLibDir)
2679#endif
2680
2681    XRANDRLIBSRC = $(LIBSRC)/Xrandr
2682#if SharedLibXrandr
2683#ifndef SharedXrandrRev
2684#define SharedXrandrRev 2.0
2685#endif
2686SharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),SOXRANDRREV,SharedXrandrRev)
2687#else
2688ProjectUnsharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),XBuildLibDir)
2689#endif
2690
2691    XFIXESLIBSRC = $(LIBSRC)/Xfixes
2692#if SharedLibXfixes
2693#ifndef SharedXfixesRev
2694#define SharedXfixesRev 3.0
2695#endif
2696SharedLibReferences(XFIXES,Xfixes,$(XFIXESLIBSRC),SOXFIXESREV,SharedXfixesRev)
2697#else
2698ProjectUnsharedLibReferences(XFIXES,Xfixes,$(XFIXESLIBSRC),XBuildLibDir)
2699#endif
2700
2701   XDAMAGELIBSRC = $(LIBSRC)/Xdamage
2702#if SharedLibXdamage
2703#ifndef SharedXdamageRev
2704#define SharedXdamageRev 1.0
2705#endif
2706SharedLibReferences(XDAMAGE,Xdamage,$(XDAMAGELIBSRC),SOXDAMAGEREV,SharedXdamageRev)
2707#else
2708ProjectUnsharedLibReferences(XDAMAGE,Xdamage,$(XDAMAGELIBSRC),XBuildLibDir)
2709#endif
2710
2711XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite
2712#if SharedLibXcomposite
2713#ifndef SharedXcompositeRev
2714#define SharedXcompositeRev 1.0
2715#endif
2716SharedLibReferences(XCOMPOSITE,Xcomposite,$(XCOMPOSITELIBSRC),SOXCOMPOSITEREV,SharedXcompositeRev)
2717#else
2718ProjectUnsharedLibReferences(XCOMPOSITE,Xcomposite,$(XCOMPOSITELIBSRC),XBuildLibDir)
2719#endif
2720
2721XEVIELIBSRC = $(LIBSRC)/Xevie
2722#if SharedLibXevie
2723#ifndef SharedXevieRev
2724#define SharedXevieRev 1.0
2725#endif
2726SharedLibReferences(XEVIE,Xevie,$(XEVIELIBSRC),SOXEVIEREV,SharedXevieRev)
2727#else
2728ProjectUnsharedLibReferences(XEVIE,Xevie,$(XEVIELIBSRC),XBuildLibDir)
2729#endif
2730
2731   XCURSORLIBSRC = $(LIBSRC)/Xcursor
2732#if SharedLibXcursor
2733#ifndef SharedXcursorRev
2734#define SharedXcursorRev 1.0.2
2735#endif
2736SharedLibReferences(XCURSOR,Xcursor,$(XCURSORLIBSRC),SOXCURSORREV,SharedXcursorRev)
2737#else
2738ProjectUnsharedLibReferences(XCURSOR,Xcursor,$(XCURSORLIBSRC),XBuildLibDir)
2739#endif
2740
2741   APPLEWMLIBSRC = $(LIBSRC)/apple
2742#if SharedLibAppleWM
2743#ifndef SharedAppleWMRev
2744#define SharedAppleWMRev 1.0
2745#endif
2746SharedLibReferences(APPLEWM,AppleWM,$(APPLEWMLIBSRC),SOAPPLEWMREV,SharedAppleWMRev)
2747#else
2748ProjectUnsharedLibReferences(APPLEWM,AppleWM,$(APPLEWMLIBSRC),XBuildLibDir)
2749#endif
2750
2751   WINDOWSWMLIBSRC = $(LIBSRC)/windows
2752#if SharedLibWindowsWM
2753#ifndef SharedWindowsWMRev
2754#define SharedWindowsWMRev 1.0
2755#endif
2756SharedLibReferences(WINDOWSWM,WindowsWM,$(WINDOWSWMLIBSRC),SOWINDOWSWMREV,SharedWindowsWMRev)
2757#else
2758ProjectUnsharedLibReferences(WINDOWSWM,WindowsWM,$(WINDOWSWMLIBSRC),XBuildLibDir)
2759#endif
2760
2761# ifndef SharedLibXfontcache
2762#  define SharedLibXfontcache	HasSharedLibraries
2763# endif
2764# ifndef NormalLibXfontcache
2765#  define NormalLibXfontcache	(!SharedLibXfontcache || ForceNormalLib)
2766# endif
2767# ifndef DebugLibXfontcache
2768#  define DebugLibXfontcache	NO
2769# endif
2770# ifndef ProfileLibXfontcache
2771#  define ProfileLibXfontcache	NO
2772# endif
2773
2774    XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache
2775#if SharedLibXfontcache
2776#ifndef SharedXfontcacheRev
2777#define SharedXfontcacheRev 1.2
2778#endif
2779SharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),SOXFONTCACHEREV,SharedXfontcacheRev)
2780#else
2781ProjectUnsharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),XBuildLibDir)
2782#endif
2783
2784#ifndef SharedLibXau
2785#define SharedLibXau		YES
2786#endif
2787#ifndef NormalLibXau
2788#define NormalLibXau (!SharedLibXau | ForceNormalLib)
2789#endif
2790#ifndef DebugLibXau
2791#define DebugLibXau		NO	/* debugged auth library */
2792#endif
2793#ifndef ProfileLibXau
2794#define ProfileLibXau		NO	/* profiled auth library */
2795#endif
2796         XAUTHSRC = $(LIBSRC)/Xau
2797#if SharedLibXau
2798#ifndef SharedXauRev
2799#define SharedXauRev 6.0
2800#endif
2801SharedLibReferences(XAUTH,Xau,$(XAUTHSRC),SOXAUTHREV,SharedXauRev)
2802#else
2803#if !UseInstalledXauLib
2804ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),XBuildLibDir)
2805#else
2806ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),$(USRLIBDIR))
2807#endif
2808#endif
2809
2810#ifndef SharedLibXdmcp
2811#define SharedLibXdmcp		YES
2812#endif
2813#ifndef NormalLibXdmcp
2814#define NormalLibXdmcp (!SharedLibXdmcp | ForceNormalLib)
2815#endif
2816#ifndef DebugLibXdmcp
2817#define DebugLibXdmcp		NO	/* debugged XDMCP library */
2818#endif
2819#ifndef ProfileLibXdmcp
2820#define ProfileLibXdmcp		NO	/* profiled XDMCP library */
2821#endif
2822      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
2823#if SharedLibXdmcp
2824#ifndef SharedXdmcpRev
2825#define SharedXdmcpRev 6.0
2826#endif
2827SharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),SOXDMCPREV,SharedXdmcpRev)
2828#else
2829#if !UseInstalledXdmcpLib
2830ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
2831#else
2832ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),$(USRLIBDIR))
2833#endif
2834#endif
2835
2836#ifndef SharedLibXmu
2837#define SharedLibXmu HasSharedLibraries
2838#endif
2839#ifndef NormalLibXmu
2840#define NormalLibXmu (!SharedLibXmu | ForceNormalLib)
2841#endif
2842#ifndef DebugLibXmu
2843#define DebugLibXmu		NO	/* debugged Xmu library */
2844#endif
2845#ifndef ProfileLibXmu
2846#define ProfileLibXmu		NO	/* profiled Xmu library */
2847#endif
2848           XMUSRC = $(LIBSRC)/Xmu
2849#if SharedLibXmu
2850#ifndef SharedXmuRev
2851#define SharedXmuRev 6.2
2852#endif
2853SharedDSLibReferences(XMU,Xmu,$(XMUSRC),SOXMUREV,SharedXmuRev)
2854#else
2855ProjectUnsharedLibReferences(XMU,Xmu,$(XMUSRC),XBuildLibDir)
2856#endif
2857
2858#ifndef SharedLibXmuu
2859#define SharedLibXmuu HasSharedLibraries
2860#endif
2861#ifndef NormalLibXmuu
2862#define NormalLibXmuu		(!SharedLibXmuu | ForceNormalLib)
2863#endif
2864#ifndef DebugLibXmuu
2865#define DebugLibXmuu		NO	/* debugged Xmuu library */
2866#endif
2867#ifndef ProfileLibXmuu
2868#define ProfileLibXmuu		NO	/* profiled Xmuu library */
2869#endif
2870           XMUUSRC = $(LIBSRC)/Xmuu
2871#if SharedLibXmuu
2872#ifndef SharedXmuuRev
2873#define SharedXmuuRev 1.0
2874#endif
2875SharedLibReferences(XMUU,Xmuu,$(XMUUSRC),SOXMUUREV,SharedXmuuRev)
2876#else
2877ProjectUnsharedLibReferences(XMUU,Xmuu,$(XMUUSRC),XBuildLibDir)
2878#endif
2879
2880#ifndef SharedOldX
2881#define SharedOldX HasSharedLibraries
2882#endif
2883#ifndef NormalOldX
2884#define NormalOldX (!SharedOldX | ForceNormalLib)
2885#endif
2886#ifndef DebugOldX
2887#define DebugOldX		NO	/* debugged old X library */
2888#endif
2889#ifndef ProfileOldX
2890#define ProfileOldX		NO	/* profiled old X library */
2891#endif
2892       OLDXLIBSRC = $(LIBSRC)/oldX
2893#if SharedOldX
2894#ifndef SharedOldXRev
2895#define SharedOldXRev 6.0
2896#endif
2897SharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),SOOLDXREV,SharedOldXRev)
2898#else
2899ProjectUnsharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),XBuildLibDir)
2900#endif
2901
2902#ifndef SharedLibXp
2903#define SharedLibXp HasSharedLibraries
2904#endif
2905#ifndef NormalLibXp
2906#define NormalLibXp (!SharedLibXp | ForceNormalLib)
2907#endif
2908#ifndef DebugLibXp
2909#define DebugLibXp              NO      /* debugged Xp library */
2910#endif
2911#ifndef ProfileLibXp
2912#define ProfileLibXp            NO      /* profiled Xp library */
2913#endif
2914         XPLIBSRC = $(LIBSRC)/Xp
2915#if SharedLibXp
2916#ifndef SharedXpRev
2917#define SharedXpRev 6.2
2918#endif
2919SharedLibReferences(XP,Xp,$(XPLIBSRC),SOXPREV,SharedXpRev)
2920#else
2921ProjectUnsharedLibReferences(XP,Xp,$(XPLIBSRC),XBuildLibDir)
2922#endif
2923
2924#ifndef SharedLibXt
2925#define SharedLibXt HasSharedLibraries
2926#endif
2927#ifndef NormalLibXt
2928#define NormalLibXt (!SharedLibXt | ForceNormalLib)
2929#endif
2930#ifndef DebugLibXt
2931#define DebugLibXt		NO	/* debugged toolkit library */
2932#endif
2933#ifndef ProfileLibXt
2934#define ProfileLibXt		NO	/* profiled toolkit library */
2935#endif
2936       TOOLKITSRC = $(LIBSRC)/Xt
2937#if SharedLibXt
2938#ifndef SharedXtRev
2939#define SharedXtRev 6.0
2940#endif
2941SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev)
2942#else
2943ProjectUnsharedLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),XBuildLibDir)
2944#endif
2945      DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
2946         XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
2947     LINTXTOOLLIB = $(LINTXTOOLONLYLIB)
2948
2949#ifndef SharedLibXa
2950#define SharedLibXa	(HasSharedLibraries & HasCplusplus)
2951#endif
2952#ifndef NormalLibXa
2953/* #define NormalLibXa	((!SharedLibXa | ForceNormalLib) & HasCplusplus) */
2954#define NormalLibXa	YES /* needed for current tests, will correct later */
2955#endif
2956#ifndef DebugLibXa
2957#define DebugLibXa	NO	/* debugged audio library */
2958#endif
2959#ifndef ProfileLibXa
2960#define ProfileLibXa	NO	/* profiled audio library */
2961#endif
2962       XALIBSRC = $(LIBSRC)/Xa
2963#if SharedLibXa
2964#ifndef SharedXaRev
2965#define SharedXaRev 1.0
2966#endif
2967SharedLibReferences(XA,Xa,$(XALIBSRC),SOXAREV,SharedXaRev)
2968#else
2969UnsharedLibReferences(XA,Xa,$(XALIBSRC))
2970#endif
2971
2972#ifndef BuildXaw
2973#define BuildXaw (BuildXprintLib && !BuildServersOnly)
2974#endif
2975
2976       /* AWIDGETSRC is needed by libXaw6 and libXaw7 */
2977       AWIDGETSRC = $(LIBSRC)/Xaw
2978
2979#if BuildXaw
2980#ifndef SharedLibXaw
2981#define SharedLibXaw HasSharedLibraries
2982#endif
2983#ifndef NormalLibXaw
2984#define NormalLibXaw (!SharedLibXaw | ForceNormalLib)
2985#endif
2986#ifndef DebugLibXaw
2987#define DebugLibXaw		NO	/* debugged widget library */
2988#endif
2989#ifndef ProfileLibXaw
2990#define ProfileLibXaw		NO	/* profiled widget library */
2991#endif
2992#if SharedLibXaw
2993#ifndef SharedXawRev
2994#define SharedXawRev 8.0
2995#endif
2996SharedDSLibReferences(XAW,Xaw,$(AWIDGETSRC),SOXAWREV,SharedXawRev)
2997#else
2998ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGETSRC),XBuildLibDir)
2999#endif
3000#endif
3001
3002#ifndef BuildXaw7
3003#define BuildXaw7 (HasSharedLibraries && !BuildServersOnly)
3004#endif
3005
3006#if BuildXaw7
3007#ifndef SharedLibXaw7
3008#define SharedLibXaw7 HasSharedLibraries
3009#endif
3010#ifndef NormalLibXaw7
3011#define NormalLibXaw7		NO
3012#endif
3013#ifndef DebugLibXaw7
3014#define DebugLibXaw7		NO	/* debugged widget library */
3015#endif
3016#ifndef ProfileLibXaw7
3017#define ProfileLibXaw7		NO	/* profiled widget library */
3018#endif
3019       AWIDGET7SRC = $(LIBSRC)/Xaw7
3020#if SharedLibXaw7
3021#ifndef SharedXaw7Rev
3022#define SharedXaw7Rev 7.0
3023#endif
3024SharedDSLibReferences(XAW7,Xaw,$(AWIDGET7SRC),SOXAW7REV,SharedXaw7Rev)
3025#if !BuildXaw
3026SharedDSLibReferences(XAW,Xaw,$(AWIDGET7SRC),SOXAWREV,SharedXawRev)
3027#endif
3028#else
3029ProjectUnsharedLibReferences(XAW7,Xaw,$(AWIDGET7SRC),XBuildLibDir)
3030#if !BuildXaw
3031ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGET7SRC),XBuildLibDir)
3032#endif
3033#endif
3034#endif
3035
3036
3037#ifndef BuildXaw6
3038#define BuildXaw6 (HasSharedLibraries && !BuildServersOnly)
3039#endif
3040
3041#if BuildXaw6
3042#ifndef SharedLibXaw6
3043#define SharedLibXaw6 HasSharedLibraries
3044#endif
3045#ifndef NormalLibXaw6
3046#define NormalLibXaw6		NO
3047#endif
3048#ifndef DebugLibXaw6
3049#define DebugLibXaw6		NO	/* debugged widget library */
3050#endif
3051#ifndef ProfileLibXaw6
3052#define ProfileLibXaw6		NO	/* profiled widget library */
3053#endif
3054       AWIDGET6SRC = $(LIBSRC)/Xaw6
3055#if SharedLibXaw6
3056#ifndef SharedXaw6Rev
3057#define SharedXaw6Rev 6.1
3058#endif
3059SharedDSLibReferences(XAW6,Xaw,$(AWIDGET6SRC),SOXAW6REV,SharedXaw6Rev)
3060#if !BuildXaw && !BuildXaw7
3061SharedDSLibReferences(XAW,Xaw,$(AWIDGET6SRC),SOXAWREV,SharedXawRev)
3062#endif
3063#else
3064ProjectUnsharedLibReferences(XAW6,Xaw,$(AWIDGET6SRC),XBuildLibDir)
3065#if !BuildXaw && !BuildXaw7
3066ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGET6SRC),XBuildLibDir)
3067#endif
3068#endif
3069#endif
3070
3071#ifndef SharedLibXi
3072#define SharedLibXi HasSharedLibraries
3073#endif
3074#ifndef NormalLibXi
3075#define NormalLibXi (!SharedLibXi | ForceNormalLib)
3076#endif
3077#ifndef DebugLibXi
3078#define DebugLibXi		NO	/* debugged Xi library */
3079#endif
3080#ifndef ProfileLibXi
3081#define ProfileLibXi		NO	/* profiled Xi library */
3082#endif
3083         XILIBSRC = $(LIBSRC)/Xi
3084#if SharedLibXi
3085#ifndef SharedXiRev
3086#define SharedXiRev 6.0
3087#endif
3088SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev)
3089#else
3090ProjectUnsharedLibReferences(XI,Xi,$(XILIBSRC),XBuildLibDir)
3091#endif
3092
3093#ifndef SharedLibXtst
3094#define SharedLibXtst HasSharedLibraries
3095#endif
3096#ifndef NormalLibXtst
3097#define NormalLibXtst (!SharedLibXtst | ForceNormalLib)
3098#endif
3099#ifndef DebugLibXtst
3100#define DebugLibXtst		NO	/* debugged Xtst library */
3101#endif
3102#ifndef ProfileLibXtst
3103#define ProfileLibXtst		NO	/* profiled Xtst library */
3104#endif
3105      XTESTLIBSRC = $(LIBSRC)/Xtst
3106#if SharedLibXtst
3107#ifndef SharedXtstRev
3108#define SharedXtstRev 6.1
3109#endif
3110SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev)
3111#else
3112ProjectUnsharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),XBuildLibDir)
3113#endif
3114
3115ProjectUnsharedLibReferences(XBSD,Xbsd,$(LIBSRC)/Xbsd,XBuildLibDir)
3116
3117#ifndef SharedLibICE
3118#define SharedLibICE HasSharedLibraries
3119#endif
3120#ifndef NormalLibICE
3121#define NormalLibICE (!SharedLibICE | ForceNormalLib)
3122#endif
3123#ifndef DebugLibICE
3124#define DebugLibICE		NO	/* debugged ICE library */
3125#endif
3126#ifndef ProfileLibICE
3127#define ProfileLibICE		NO	/* profiled ICE library */
3128#endif
3129           ICESRC = $(LIBSRC)/ICE
3130#if SharedLibICE
3131#ifndef SharedICERev
3132#define SharedICERev 6.4
3133#endif
3134SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev)
3135#else
3136ProjectUnsharedLibReferences(ICE,ICE,$(ICESRC),XBuildLibDir)
3137#endif
3138
3139#ifndef SharedLibSM
3140#define SharedLibSM HasSharedLibraries
3141#endif
3142#ifndef NormalLibSM
3143#define NormalLibSM (!SharedLibSM | ForceNormalLib)
3144#endif
3145#ifndef DebugLibSM
3146#define DebugLibSM		NO	/* debugged SM library */
3147#endif
3148#ifndef ProfileLibSM
3149#define ProfileLibSM		NO	/* profiled SM library */
3150#endif
3151            SMSRC = $(LIBSRC)/SM
3152#if SharedLibSM
3153#ifndef SharedSMRev
3154#define SharedSMRev 6.0
3155#endif
3156SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev)
3157#else
3158ProjectUnsharedLibReferences(SM,SM,$(SMSRC),XBuildLibDir)
3159#endif
3160
3161#ifndef SharedLibXkey
3162#define SharedLibXkey HasSharedLibraries
3163#endif
3164#ifndef NormalLibXkey
3165#define NormalLibXkey (!SharedLibXkey | ForceNormalLib)
3166#endif
3167#ifndef DebugLibXkey
3168#define DebugLibXkey		NO	/* debugged Xkey library */
3169#endif
3170#ifndef ProfileLibXkey
3171#define ProfileLibXkey		NO	/* profiled Xkey library */
3172#endif
3173           XKEYSRC = $(LIBSRC)/Xkey
3174#if SharedLibXkey
3175#ifndef SharedXkeyRev
3176#define SharedXkeyRev 6.0
3177#endif
3178SharedLibReferences(XKEY,Xkey,$(XKEYSRC),SOXKEYREV,SharedXkeyRev)
3179#else
3180ProjectUnsharedLibReferences(XKEY,Xkey,$(XKEYSRC),XBuildLibDir)
3181#endif
3182
3183#ifndef SharedLibFS
3184#define SharedLibFS		HasSharedLibraries
3185#endif
3186#ifndef NormalLibFS
3187#define NormalLibFS (!SharedLibFS | ForceNormalLib)
3188#endif
3189#ifndef DebugLibFS
3190#define DebugLibFS		NO	/* debugged FS library */
3191#endif
3192#ifndef ProfileLibFS
3193#define ProfileLibFS		NO	/* profiled FS library */
3194#endif
3195         FSLIBSRC = $(LIBSRC)/FS
3196#if SharedLibFS
3197#ifndef SharedFSRev
3198#define SharedFSRev 6.0
3199#endif
3200SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev)
3201#else
3202ProjectUnsharedLibReferences(FS,FS,$(FSLIBSRC),XBuildLibDir)
3203#endif
3204
3205#ifndef SharedLibFont
3206#define SharedLibFont HasSharedLibraries
3207#endif
3208#ifndef NormalLibFont
3209#define NormalLibFont (!SharedLibFont | ForceNormalLib | XserverStaticFontLib)
3210#endif
3211#ifndef DebugLibFont
3212#define DebugLibFont		NO	/* debugged Font library */
3213#endif
3214#ifndef ProfileLibFont
3215#define ProfileLibFont		NO	/* profiled Font library */
3216#endif
3217         FONTLIBSRC = $(LIBSRC)/font
3218#if SharedLibFont
3219#ifndef SharedFontRev
3220#define SharedFontRev 1.5
3221#endif
3222SharedFontLibReferences()
3223XCOMM SharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),SOFONTREV,SharedFontRev)
3224#else
3225ProjectUnsharedFontLibReferences()
3226XCOMM ProjectUnsharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),XBuildLibDir)
3227#endif
3228
3229     FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs
3230ProjectUnsharedLibReferences(FONTSTUB,fntstubs,$(FONTSUBLIBSRC),XBuildLibDir)
3231         DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB)
3232            FONTLIB = $(XFONTLIB) $(FONTSTUBLIB) $(FREETYPE2LIB)
3233
3234
3235#ifndef SharedLibFontEnc
3236#define SharedLibFontEnc	HasSharedLibraries
3237#endif
3238#ifndef NormalLibFontEnc
3239#define NormalLibFontEnc (!SharedLibFontEnc | ForceNormalLib)
3240#endif
3241#ifndef DebugLibFontEnc
3242#define DebugLibFontEnc		NO	/* debugged fontenc library */
3243#endif
3244#ifndef ProfileLibFontEnc
3245#define ProfileLibFontEnc	NO	/* profiled fontenc library */
3246#endif
3247         FONTENCLIBSRC = $(LIBSRC)/fontenc
3248#if SharedLibFontEnc
3249#ifndef SharedFontEncRev
3250#define SharedFontEncRev 1.0
3251#endif
3252SharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),SOFONTENCREV,SharedFontEncRev)
3253#else
3254ProjectUnsharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),XBuildLibDir)
3255#endif
3256
3257#ifndef SharedLibXpm
3258#define SharedLibXpm HasSharedLibraries
3259#endif
3260#ifndef NormalLibXpm
3261#define NormalLibXpm (!SharedLibXpm | ForceNormalLib)
3262#endif
3263#ifndef DebugLibXpm
3264#define DebugLibXpm		NO
3265#endif
3266#ifndef ProfileLibXpm
3267#define ProfileLibXpm		NO
3268#endif
3269          XPMLIBSRC = $(LIBSRC)/Xpm
3270#if SharedLibXpm
3271#ifndef SharedXpmRev
3272#define SharedXpmRev 4.11
3273#endif
3274SharedLibReferences(XPM,Xpm,$(XPMLIBSRC),SOXPMREV,SharedXpmRev)
3275#else
3276ProjectUnsharedLibReferences(XPM,Xpm,$(XPMLIBSRC),XBuildLibDir)
3277#endif
3278
3279#if UseFreetype2
3280
3281#if BuildFreetype2Library
3282
3283#ifndef SharedLibFreetype2
3284#define SharedLibFreetype2 HasSharedLibraries
3285#endif
3286#ifndef NormalLibFreetype2
3287#define NormalLibFreetype2 (!SharedLibFreetype2 | ForceNormalLib)
3288#endif
3289#ifndef DebugLibFreetype2
3290#define DebugLibFreetype2		NO
3291#endif
3292#ifndef ProfileLibFreetype2
3293#define ProfileLibFreetype2		NO
3294#endif
3295          FREETYPE2LIBSRC = $(LIBSRC)/freetype2
3296
3297/*
3298 * FreeType 2.1.9
3299 *
3300 * Get the library version information from version_info in
3301 * in xc/extras/freetype2/builds/unix/configure.ac.
3302 *
3303 * current:revision:age = 9:7:3
3304 *
3305 * The LibtoolMinorVersions revision is "(current - age).age".
3306 * The !LibtoolMinorVersions revision is "current.0".
3307 * Freetype2Version should be set to "current.revision.age"
3308 */
3309#ifndef Freetype2Version
3310#define Freetype2Version 9.7.3
3311#endif
3312
3313#if SharedLibFreetype2
3314#ifndef SharedLibtoolFreetype2Rev
3315#define SharedLibtoolFreetype2Rev	9:7:3
3316#endif
3317#ifndef SharedFreetype2Rev
3318#if LibtoolMinorVersions
3319#define SharedFreetype2Rev 6.3.8
3320#else
3321#define SharedFreetype2Rev 9.0
3322#endif
3323#endif
3324SharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),SOFREETYPE2REV,SharedFreetype2Rev)
3325#else
3326ProjectUnsharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),XBuildLibDir)
3327#endif
3328
3329#ifdef UseInstalled
3330FREETYPE2INCDIR=$(INCDIR)
3331#else
3332FREETYPE2INCDIR=$(BUILDINCDIR)
3333#endif
3334
3335#else /* BuildFreetype2Library */
3336
3337#if HasFreetype2
3338
3339#ifndef Freetype2Dir
3340#define Freetype2Dir /usr
3341#ifndef Freetype2DirStandard
3342# define Freetype2DirStandard YES
3343#endif
3344#endif
3345#ifndef Freetype2DirStandard
3346#define Freetype2DirStandard NO
3347#endif
3348
3349#ifndef Freetype2LibDir
3350#define Freetype2LibDir Freetype2Dir/LibDirName
3351# if Freetype2DirStandard
3352#  define Freetype2LibDirStandard YES
3353# endif
3354#endif
3355#ifndef Freetype2LibDirStandard
3356# define Freetype2LibDirStandard NO
3357#endif
3358
3359#ifndef Freetype2IncDir
3360#define Freetype2IncDir Freetype2Dir/include
3361# if Freetype2DirStandard
3362#  define Freetype2IncDirStandard YES
3363# endif
3364#endif
3365
3366FREETYPE2DIR = Freetype2Dir
3367FREETYPE2LIBDIR = Freetype2LibDir
3368FREETYPE2INCDIR = Freetype2IncDir
3369#if Freetype2LibDirStandard
3370FREETYPE2LIB = -lfreetype
3371#else
3372FREETYPE2LIB = -L$(FREETYPE2LIBDIR) LinkerRuntimeLibraryPathFlag($(FREETYPE2LIBDIR)) -lfreetype
3373#endif
3374
3375#endif /* HasFreetype2 */
3376
3377#endif /* else BuildFreetype2Library */
3378
3379#ifndef Freetype2IncDirStandard
3380# define Freetype2IncDirStandard NO
3381#endif
3382
3383#if BuildFreetype2Library || HasFreetype2
3384#if Freetype2IncDirStandard
3385FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
3386#else
3387FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR) -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
3388#endif
3389FREETYPE2DEFINES = -DFREETYPE2
3390#endif
3391
3392#endif /* UseFreetype2 */
3393
3394#if HasMotif
3395
3396#ifndef MotifDir
3397#define MotifDir ProjectRoot
3398#endif
3399#ifndef MotifDirStandard
3400#define MotifDirStandard NO
3401#endif
3402
3403#ifndef MotifLibDir
3404# define MotifLibDir MotifDir/LibDirName
3405# if MotifDirStandard
3406#  define MotifLibDirStandard YES
3407# endif
3408#endif
3409#ifndef MotifLibDirStandard
3410# define MotifLibDirStandard NO
3411#endif
3412
3413#ifndef MotifIncDir
3414# define MotifIncDir MotifDir/include
3415# if MotifDirStandard
3416#  define MotifIncDirStandard YES
3417# endif
3418#endif
3419#ifndef MotifIncDirStandard
3420# define MotifIncDirStandard NO
3421#endif
3422
3423MOTIFDIR = MotifDir
3424MOTIFLIBDIR = MotifLibDir
3425MOTIFINCDIR = MotifIncDir
3426
3427#if MotifLibDirStandard
3428MOTIFLIB = -lXm
3429#else
3430MOTIFLIB = -L$(MOTIFLIBDIR) LinkerRuntimeLibraryPathFlag($(MOTIFLIBDIR)) -lXm
3431#endif
3432
3433#if MotifIncDirStandard
3434MOTIFINCLUDES = 
3435#else
3436MOTIFINCLUDES = -I$(MOTIFINCDIR)
3437#endif
3438
3439#endif /* HasMotif */
3440
3441#ifndef SharedLibExpat
3442#define SharedLibExpat HasSharedLibraries
3443#endif
3444#ifndef NormalLibExpat
3445#define NormalLibExpat (!SharedLibExpat | ForceNormalLib)
3446#endif
3447#ifndef DebugLibExpat
3448#define DebugLibExpat		NO
3449#endif
3450#ifndef ProfileLibExpat
3451#define ProfileLibExpat		NO
3452#endif
3453          EXPATLIBSRC = $(LIBSRC)/expat
3454
3455/*
3456 * Expat 1.95.6.
3457 *
3458 * Get the library version information from LIBCURRENT, LIBREVISION and LIBAGE
3459 * in xc/extras/expat/configure.
3460 *
3461 * LIBCURRENT:LIBREVISION:LIBAGE = 4:0:4
3462 *
3463 * The LibtoolMinorVersions revision is "(LIBCURRENT - LIBAGE).LIBAGE".
3464 * The !LibtoolMinorVersions revision is "LIBCURRENT.0".
3465 */
3466#ifndef ExpatVersion
3467#define ExpatVersion 1.95.6
3468#endif
3469
3470#if SharedLibExpat
3471#ifndef SharedLibtoolExpatRev
3472#define SharedLibtoolExpatRev	4:0:4
3473#endif
3474#ifndef SharedExpatRev
3475#if LibtoolMinorVersions
3476#define SharedExpatRev 0.4
3477#else
3478#define SharedExpatRev 4.0
3479#endif
3480#endif
3481SharedLibReferences(EXPAT,expat,$(EXPATLIBSRC),SOEXPATREV,SharedExpatRev)
3482#else
3483ProjectUnsharedLibReferences(EXPAT,expat,$(EXPATLIBSRC),XBuildLibDir)
3484#endif
3485
3486#if UseExpat
3487
3488#if BuildExpatLibrary
3489EXPATINCLUDES=$(TOP_X_INCLUDES)
3490EXPATDEFINES=-DEXPAT
3491#else	/* BuildExpatLibrary */
3492
3493#if HasExpat
3494
3495#ifndef ExpatDir
3496#define ExpatDir /usr
3497#define ExpatDirStandard YES
3498#endif
3499#ifndef ExpatDirStandard
3500#define ExpatDirStandard NO
3501#endif
3502
3503#ifndef ExpatLibDir
3504#define ExpatLibDir ExpatDir/LibDirName
3505# if ExpatDirStandard
3506#  define ExpatLibDirStandard YES
3507# endif
3508#endif
3509#ifndef ExpatLibDirStandard
3510#define ExpatLibDirStandard NO
3511#endif
3512
3513#ifndef ExpatIncDir
3514#define ExpatIncDir ExpatDir/include
3515# if ExpatDirStandard
3516#  define ExpatIncDirStandard YES
3517# endif
3518#endif
3519#ifndef ExpatIncDirStandard
3520#define ExpatIncDirStandard NO
3521#endif
3522
3523EXPATDIR = ExpatDir
3524EXPATLIBDIR = ExpatLibDir
3525EXPATINCDIR = ExpatIncDir
3526#if ExpatIncDirStandard
3527EXPATINCLUDES =
3528#else
3529EXPATINCLUDES = -I$(EXPATINCDIR)
3530#endif
3531#if ExpatLibDirStandard
3532EXPATLIB = -lexpat
3533#else
3534EXPATLIB = -L$(EXPATLIBDIR) LinkerRuntimeLibraryPathFlag($(EXPATLIBDIR)) -lexpat
3535#endif
3536EXPATDEFINES = -DEXPAT
3537#endif /* HasExpat */
3538
3539#endif /* else BuildExpatLibrary */
3540
3541#define ExpatClientLibs $(EXPATLIB)
3542#define ExpatClientDepLibs $(DEPEXPATLIB)
3543
3544#endif /* UseExpat */
3545
3546#ifndef SharedLibXft1
3547#define SharedLibXft1 HasSharedLibraries
3548#endif
3549#ifndef NormalLibXft1
3550#define NormalLibXft1		NO
3551#endif
3552#ifndef DebugLibXft1
3553#define DebugLibXft1		NO
3554#endif
3555#ifndef ProfileLibXft1
3556#define ProfileLibXft1		NO
3557#endif
3558          XFT1LIBSRC = $(LIBSRC)/Xft1
3559#if SharedLibXft1
3560#ifndef SharedXft1Rev
3561#define SharedXft1Rev 1.1
3562#endif
3563SharedLibReferences(XFT1,Xft,$(XFT1LIBSRC),SOXFT1REV,SharedXft1Rev)
3564#else
3565ProjectUnsharedLibReferences(XFT1,Xft,$(XFT1LIBSRC),XBuildLibDir)
3566#endif
3567
3568#ifndef Xft1ClientDepLibs
3569#if UseFreetype2
3570#define Xft1ClientDepLibs $(DEPXFT1LIB) $(DEPFREETYPE2LIB) $(DEPXRENDERLIB)
3571#else
3572#define Xft1ClientDepLibs $(DEPXFT1LIB) $(DEPXRENDERLIB)
3573#endif
3574#endif
3575#ifndef Xft1ClientLibs
3576#if UseFreetype2
3577#define Xft1ClientLibs $(XFT1LIB) $(FREETYPE2LIB) $(XRENDERLIB)
3578#else
3579#define Xft1ClientLibs $(XFT1LIB) $(XRENDERLIB)
3580#endif
3581#endif
3582
3583#ifndef SharedLibXft
3584#define SharedLibXft HasSharedLibraries
3585#endif
3586#ifndef NormalLibXft
3587#define NormalLibXft (!SharedLibXft | ForceNormalLib)
3588#endif
3589#ifndef DebugLibXft
3590#define DebugLibXft		NO
3591#endif
3592#ifndef ProfileLibXft
3593#define ProfileLibXft		NO
3594#endif
3595          XFTLIBSRC = $(LIBSRC)/Xft
3596#if SharedLibXft
3597#ifndef SharedXftRev
3598#define SharedXftRev 2.1.2
3599#endif
3600SharedLibReferences(XFT,Xft,$(XFTLIBSRC),SOXFTREV,SharedXftRev)
3601#else
3602ProjectUnsharedLibReferences(XFT,Xft,$(XFTLIBSRC),XBuildLibDir)
3603#endif
3604
3605#ifndef XftClientDepLibs
3606#define XftClientDepLibs $(DEPXFTLIB) FontconfigClientDepLibs $(DEPXRENDERLIB)
3607#endif
3608#ifndef XftClientLibs
3609#define XftClientLibs $(XFTLIB) FontconfigClientLibs $(XRENDERLIB)
3610#endif
3611
3612#if UseFontconfig
3613
3614#if BuildFontconfigLibrary
3615
3616#ifndef SharedLibFontconfig
3617#define SharedLibFontconfig HasSharedLibraries
3618#endif
3619#ifndef NormalLibFontconfig
3620#define NormalLibFontconfig (!SharedLibFontconfig | ForceNormalLib)
3621#endif
3622#ifndef DebugLibFontconfig
3623#define DebugLibFontconfig		NO
3624#endif
3625#ifndef ProfileLibFontconfig
3626#define ProfileLibFontconfig		NO
3627#endif
3628          FONTCONFIGLIBSRC = $(LIBSRC)/fontconfig
3629#if SharedLibFontconfig
3630#ifndef SharedFontconfigRev
3631#define SharedFontconfigRev 1.0.4
3632#endif
3633SharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGLIBSRC),SOFONTCONFIGREV,SharedFontconfigRev)
3634#else
3635ProjectUnsharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGLIBSRC),XBuildLibDir)
3636#endif
3637
3638#ifdef UseInstalled
3639FONTCONFIGINCDIR=$(INCDIR)
3640#else
3641FONTCONFIGINCDIR=$(BUILDINCDIR)
3642#endif
3643
3644FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR)
3645
3646#if UseInstalledX11
3647FCCACHE = $(BINDIR)/fc-cache
3648#else
3649FCCACHE = set -x; $(CLIENTENVSETUP) $(PRELOADXFTSETUP) FONTCONFIG_PATH=$(FONTCONFIGLIBSRC) $(XBUILDBINDIR)/fc-cache
3650#endif
3651
3652#else /* BuildFontconfigLibrary */
3653
3654#if HasFontconfig
3655
3656#ifndef FontconfigDir
3657# define FontconfigDir /usr
3658# ifndef FontconfigDirStandard
3659#  define FontconfigDirStandard YES
3660# endif
3661#endif
3662
3663#ifndef FontconfigDirStandard
3664# define FontconfigDirStandard NO
3665#endif
3666
3667#ifndef FontconfigLibDir
3668# define FontconfigLibDir FontconfigDir/LibDirName
3669# if FontconfigDirStandard
3670#  define FontconfigLibDirStandard YES
3671# endif
3672#endif
3673#ifndef FontconfigLibDirStandard
3674# define FontconfigLibDirStandard NO
3675#endif
3676
3677#ifndef FontconfigBinDir
3678# define FontconfigBinDir FontconfigDir/bin
3679#endif
3680
3681#ifndef FontconfigIncDir
3682# define FontconfigIncDir FontconfigDir/include
3683# if FontconfigDirStandard
3684#  define FontconfigIncDirStandard YES
3685# endif
3686#endif
3687
3688#ifndef FontconfigIncDirStandard
3689# define FontconfigIncDirStandard NO
3690#endif
3691
3692FONTCONFIGDIR = FontconfigDir
3693FONTCONFIGLIBDIR = FontconfigLibDir
3694FONTCONFIGINCDIR = FontconfigIncDir
3695FONTCONFIGBINDIR = FontconfigBinDir
3696#if FontconfigLibDirStandard
3697FONTCONFIGLIB = -lfontconfig
3698#else
3699FONTCONFIGLIB = -L$(FONTCONFIGLIBDIR) LinkerRuntimeLibraryPathFlag($(FONTCONFIGLIBDIR)) -lfontconfig
3700#endif
3701
3702#if FontconfigIncDirStandard
3703FONTCONFIGINCLUDES =
3704#else
3705FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR)
3706#endif
3707
3708FCCACHE = $(FONTCONFIGBINDIR)/fc-cache
3709
3710#endif /* HasFontconfig */
3711
3712#endif /* else BuildFontconfigLibrary */
3713
3714#if BuildFontconfigLibrary || HasFontconfig
3715FONTCONFIGDEFINES = -DFONTCONFIG
3716#endif
3717
3718#ifndef FontconfigClientDepLibs
3719#define FontconfigClientDepLibs $(DEPFONTCONFIGLIB) $(DEPFREETYPE2LIB) ExpatClientDepLibs
3720#endif
3721#ifndef FontconfigClientLibs
3722#define FontconfigClientLibs $(FONTCONFIGLIB) $(FREETYPE2LIB) ExpatClientLibs
3723#endif
3724
3725#endif /* UseFontconfig */
3726
3727XFTINCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES)
3728
3729#ifdef HasLibpng
3730
3731/*
3732 * Libpng controls:
3733 *
3734 *	LibpngDir		prefix for all libpng files
3735 *	LibpngDirStandard	Boolean - whether png headers/libs are
3736 *				in default compile/link paths
3737 *	LibpngLibDir		Directory holding png library
3738 *	LibpngLibDirStandard	Boolean - whether png libs are
3739 *				in default link path
3740 *	LibpngIncDir		Directory holding png includes
3741 *	LibpngIncDirStandard	Boolean - whether png includes are
3742 *				in default compile path
3743 *
3744 * Make sure that *Standard is set correctly, if not, the
3745 * standard compile/link paths will be added *before* the
3746 * local X directorys and installed versions of the standard
3747 * X headers will end up getting used.
3748 */
3749
3750#ifndef LibpngDir
3751#define LibpngDir /usr
3752#define LibpngDirStandard YES
3753#endif
3754#ifndef LibpngDirStandard
3755#define LibpngDirStandard NO
3756#endif
3757
3758#ifndef LibpngLibDir
3759#define LibpngLibDir LibpngDir/LibDirName
3760#if LibpngDirStandard
3761#define LibpngLibDirStandard YES
3762#endif
3763#endif
3764#ifndef LibpngLibDirStandard
3765#define LibpngLibDirStandard NO
3766#endif
3767
3768#ifndef LibpngIncDir
3769#define LibpngIncDir LibpngDir/include
3770#if LibpngDirStandard
3771#define LibpngIncDirStandard YES
3772#endif
3773#endif
3774#ifndef LibpngIncDirStandard
3775#define LibpngIncDirStandard NO
3776#endif
3777
3778LIBPNGINCDIR = LibpngIncDir
3779#if LibpngIncDirStandard
3780LIBPNGINC=
3781#else
3782LIBPNGINC = -I$(LIBPNGINCDIR)
3783#endif
3784LIBPNGDIR = LibpngDir
3785LIBPNGLIBDIR = LibpngLibDir
3786LIBPNGINCDIR = LibpngIncDir
3787#if LibpngLibDirStandard
3788LIBPNGLIB = -lpng
3789#else
3790LIBPNGLIB = -L$(LIBPNGLIBDIR) LinkerRuntimeLibraryPathFlag($(LIBPNGLIBDIR)) -lpng
3791#endif
3792
3793#endif
3794
3795#ifndef XmuuClientDepLibs
3796#define XmuuClientDepLibs $(DEPXMUULIB) $(DEPXLIB)
3797#endif
3798#ifndef XmuuClientLibs
3799#define XmuuClientLibs $(XMUULIB) $(XLIB)
3800#endif
3801
3802#ifndef LdLibraryPath
3803#define LdLibraryPath LD_LIBRARY_PATH
3804#endif
3805
3806#if BuildXKBlib
3807# ifndef SharedLibxkbfile
3808#  define SharedLibxkbfile	HasSharedLibraries
3809# endif
3810# ifndef NormalLibxkbfile
3811#  define NormalLibxkbfile	(!SharedLibxkbfile | ForceNormalLib)
3812# endif
3813# ifndef DebugLibxkbfile
3814#  define DebugLibxkbfile	NO
3815# endif
3816# ifndef ProfileLibxkbfile
3817#  define ProfileLibxkbfile	NO
3818# endif
3819#else
3820# ifndef SharedLibxkbfile
3821#  define SharedLibxkbfile	NO
3822# endif
3823# ifndef NormalLibxkbfile
3824#  define NormalLibxkbfile	NO
3825# endif
3826# ifndef DebugLibxkbfile
3827#  define DebugLibxkbfile	NO
3828# endif
3829# ifndef ProfileLibxkbfile
3830#  define ProfileLibxkbfile	NO
3831# endif
3832#endif
3833    XKBFILELIBSRC = $(LIBSRC)/xkbfile
3834#if SharedLibxkbfile
3835# ifndef SharedxkbfileRev
3836#  define SharedxkbfileRev	1.0
3837# endif
3838SharedLibReferences(XKBFILE,xkbfile,$(XKBFILESRC),SOXKBFILEREV, SharedxkbfileRev)
3839#else
3840ProjectUnsharedLibReferences(XKBFILE,xkbfile,$(XKBFILELIBSRC),XBuildLibDir)
3841#endif
3842
3843#if BuildXKBlib
3844# ifndef XkbClientDepLibs
3845#  if UseXKBInClients
3846#   define XkbClientDepLibs	$(DEPXKBFILELIB)
3847#  else
3848#   define XkbClientDepLibs	/**/
3849#  endif
3850# endif
3851# ifndef XkbClientLibs
3852#  if UseXKBInClients
3853#   define XkbClientLibs	$(XKBFILELIB)
3854#  else
3855#   define XkbClientLibs	/**/
3856#  endif
3857# endif
3858
3859# if defined(UseInstalled) || (CrossCompiling &&  UseInstalledOnCrossCompile)
3860     XKBCOMPCMD = $(XBINDIR)/XkbComp
3861# else
3862     XKBCOMPSRC = $(PROGRAMSRC)/XkbComp
3863#  if CrossCompiling
3864     XKBCOMPCMD = $(PROGRAMSRC)/XkbComp/cross/XkbComp
3865#  else
3866     XKBCOMPCMD = $(CLIENTENVSETUP) $(PRELOADSETUP) $(XBUILDBINDIR)/XkbComp
3867#  endif
3868# endif
3869#else /* !BuildXKBlib */
3870# ifndef XkbClientDepLibs
3871#  define XkbClientDepLibs
3872# endif
3873# ifndef XkbClientLibs
3874#  define XkbClientLibs
3875# endif
3876#endif /* BuildXKBlib */
3877
3878#if BuildXKBlib
3879# ifndef SharedLibxkbui
3880#  define SharedLibxkbui	HasSharedLibraries
3881# endif
3882# ifndef NormalLibxkbui
3883#  define NormalLibxkbui	(!SharedLibxkbui || ForceNormalLib)
3884# endif
3885# ifndef DebugLibxkbui
3886#  define DebugLibxkbui		NO
3887# endif
3888# ifndef ProfileLibxkbui
3889#  define ProfileLibxkbui	NO
3890# endif
3891#else
3892# ifndef SharedLibxkbui
3893#  define SharedLibxkbui	NO
3894# endif
3895# ifndef NormalLibxkbui
3896#  define NormalLibxkbui	NO
3897# endif
3898# ifndef DebugLibxkbui
3899#  define DebugLibxkbui		NO
3900# endif
3901# ifndef ProfileLibxkbui
3902#  define ProfileLibxkbui	NO
3903# endif
3904#endif
3905    XKBUILIBSRC = $(LIBSRC)/xkbui
3906#if SharedLibxkbui
3907# ifndef SharedxkbuiRev
3908#  define SharedxkbuiRev	1.0
3909# endif
3910SharedLibReferences(XKBUI,xkbui,$(XKBUISRC),SOXKBUIREV, SharedxkbuiRev)
3911#else
3912ProjectUnsharedLibReferences(XKBUI,xkbui,$(XKBUILIBSRC),XBuildLibDir)
3913#endif
3914
3915#ifndef XkbuiLibs
3916# define	XkbuiLibs $(XKBUILIB)
3917#endif
3918#ifndef XkbuiDepLibs
3919# define	XkbuiDepLibs $(DEPXKBFILELIB)
3920#endif
3921
3922#ifndef SharedxrxRev
3923# define SharedxrxRev		6.8
3924#endif 
3925
3926#ifndef SharedxrxnestRev
3927# define SharedxrxnestRev	6.8
3928#endif
3929
3930#ifndef ExtraXawReqs
3931# define ExtraXawReqs /**/
3932#endif
3933
3934EXTRAXAWREQS = ExtraXawReqs
3935
3936#ifndef ExtraXawClientDepLibs
3937# define ExtraXawClientDepLibs /**/
3938#endif
3939
3940EXTRAXAWCLIENTDEPLIBS = ExtraXawClientDepLibs
3941
3942#ifndef XawClientDepLibs
3943#define XawClientDepLibs $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXPMLIB) $(EXTRAXAWCLIENTDEPLIBS) $(DEPXLIB)
3944#endif
3945
3946#ifndef ExtraXawClientLibs
3947# define ExtraXawClientLibs /**/
3948#endif
3949
3950EXTRAXAWCLIENTLIBS = ExtraXawClientLibs
3951
3952#ifndef XawClientLibs
3953#define XawClientLibs $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
3954#endif
3955
3956#ifndef SharedLibXTrap
3957#define SharedLibXTrap HasSharedLibraries
3958#endif
3959#ifndef NormalLibXTrap
3960#define NormalLibXTrap (!SharedLibXTrap | ForceNormalLib)
3961#endif
3962#ifndef DebugLibXTrap
3963#define DebugLibXTrap		NO	/* debugged XTrap library */
3964#endif
3965#ifndef ProfileLibXTrap
3966#define ProfileLibXTrap		NO	/* profiled XTrap library */
3967#endif
3968        XTRAPLIBSRC = $(LIBSRC)/XTrap
3969#if SharedLibXTrap
3970#ifndef SharedXTrapRev
3971#define SharedXTrapRev 6.4
3972#endif
3973SharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),SOXTRAPREV,SharedXTrapRev)
3974#else
3975ProjectUnsharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),XBuildLibDir)
3976#endif
3977
3978#ifndef NeedDefaultDepLibs
3979#define NeedDefaultDepLibs YES
3980#endif
3981
3982#if NeedDefaultDepLibs
3983/*
3984 * Individual libraries should override this
3985 */
3986#if HasSharedLibraries || defined(UseInstalled)
3987          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
3988#else
3989          DEPLIBS = $(LOCAL_LIBRARIES)
3990#endif
3991         DEPLIBS1 = $(DEPLIBS)
3992         DEPLIBS2 = $(DEPLIBS)
3993         DEPLIBS3 = $(DEPLIBS)
3994         DEPLIBS4 = $(DEPLIBS)
3995         DEPLIBS5 = $(DEPLIBS)
3996         DEPLIBS6 = $(DEPLIBS)
3997         DEPLIBS7 = $(DEPLIBS)
3998         DEPLIBS8 = $(DEPLIBS)
3999         DEPLIBS9 = $(DEPLIBS)
4000         DEPLIBS10 = $(DEPLIBS)
4001#endif /* NeedDefaultDepLibs */
4002
4003
4004/*
4005 * InstallAppDefaults - simple rules to install application default file
4006 */
4007#ifndef InstallAppDefaults
4008#define InstallAppDefaults(class) InstallAppDefaultsLong(class,class)
4009#endif /* InstallAppDefaults */
4010
4011/*
4012 * InstallAppDefaultsLong - general rule to install application default file
4013 * if the InstallAppDefFiles configuration parameter is set.
4014 */
4015#ifndef InstallAppDefaultsLong
4016#if UseConfDirForAppDefaults
4017#if InstallAppDefFiles
4018#define InstallAppDefaultsLong(file,class)				@@\
4019LinkConfDirectory(app-defaults,.,app-defaults,.)			@@\
4020InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4021#else
4022#define InstallAppDefaultsLong(file,class)				@@\
4023LinkConfDirectory(app-defaults,.,app-defaults,.)			@@\
4024InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4025#endif /* InstallAppDefFiles */
4026#else /* UseConfDirForAppDefaults */
4027#if InstallAppDefFiles
4028#define InstallAppDefaultsLong(file,class)				@@\
4029InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4030#else
4031#define InstallAppDefaultsLong(file,class)				@@\
4032InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
4033#endif /* InstallAppDefFiles */
4034#endif /* UseConfDirForAppDefaults */
4035#endif /* InstallAppDefaultsLong */
4036
4037/*
4038 * MakeFcCache - generate rules to build fontconfig cache database
4039 */
4040
4041#if defined UseFreetype2 && !CrossCompiling
4042
4043# ifndef MakeFcCache
4044#  define MakeFcCache(deplist)						@@\
4045all:: fonts.cache							@@\
4046									@@\
4047fonts.cache: deplist							@@\
4048	RunProgram(FCCACHE, $(FCCACHEOPTS) .)				@@\
4049									@@\
4050clean::									@@\
4051	RemoveFiles(fonts.cache*)
4052# endif /* MakeFcCache */
4053
4054# ifndef InstallFcCache
4055#  define InstallFcCache(dest)						@@\
4056install::								@@\
4057	RunProgram(FCCACHE, $(FCCACHEOPTS) $(DESTDIR)dest)
4058# endif /* InstallFcCache */
4059
4060#else
4061
4062#ifndef MakeFcCache
4063#define MakeFcCache(deplist)
4064#endif
4065
4066#ifndef InstallFcCache
4067#define InstallFcCache(dest)
4068#endif
4069
4070#endif
4071
4072/*
4073 * MakeFontsScale - generate rules to build fonts.scale database.
4074 */
4075#ifndef MakeFontsScale
4076# if !CrossCompiling ||  UseInstalledOnCrossCompile
4077#  define MakeFontsScale(deplist)					@@\
4078all:: fonts.scale							@@\
4079									@@\
4080fonts.scale:  deplist							@@\
4081	RemoveFile(fonts.scale)						@@\
4082	RunProgram(MKFONTSCALE, .)					@@\
4083									@@\
4084clean::									@@\
4085	RemoveFile(fonts.scale)
4086# else
4087#  define MakeFontsScale(deplist)					@@\
4088clean::									@@\
4089	RemoveFile(fonts.scale)
4090# endif
4091#endif /* MakeFontsScale */
4092
4093/*
4094 * MakeFontsDir - generate rules to build fonts.dir database.
4095 */
4096#ifndef MakeFontsDir
4097# if !CrossCompiling ||  UseInstalledOnCrossCompile
4098#  define MakeFontsDir(deplist)						@@\
4099all:: fonts.dir								@@\
4100									@@\
4101fonts.dir:  deplist							@@\
4102	RemoveFile(fonts.dir)						@@\
4103	RunProgram(MKFONTDIR, $(MKFONTDIROPTS) .)			@@\
4104									@@\
4105clean::									@@\
4106	RemoveFile(fonts.dir)
4107# else
4108#  define MakeFontsDir(deplist)						@@\
4109clean::									@@\
4110	RemoveFile(fonts.dir)
4111# endif
4112#endif /* MakeFontsDir */
4113
4114
4115/*
4116 * MakeFonts - generate rules to build font database.
4117 */
4118#ifndef MakeFonts
4119# if !CrossCompiling || UseInstalledOnCrossCompile
4120#  define MakeFonts()							@@\
4121all::  $(OBJS)								@@\
4122									@@\
4123MakeFontsDir($(OBJS))							@@\
4124									@@\
4125clean::									@@\
4126	RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
4127# else
4128#  define MakeFonts()							@@\
4129MakeFontsDir($(OBJS))							@@\
4130									@@\
4131clean::									@@\
4132	RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
4133# endif
4134#endif /* MakeFonts */
4135
4136#ifndef InstallFontsDir
4137# if !CrossCompiling ||  UseInstalledOnCrossCompile
4138#  define InstallFontsDir(dest)						@@\
4139install::								@@\
4140	MakeDir($(DESTDIR)dest)						@@\
4141	@if [ X$(STATIC_FONTS_SCALE) = X ]; then (set -x; \		@@\
4142	  RemoveFile($(DESTDIR)dest/fonts.scale); \			@@\
4143	  RunProgram(MKFONTSCALE, $(DESTDIR)dest)); \			@@\
4144	else (set -x; \							@@\
4145	  InstallInline(fonts.scale,$(INSTDATFLAGS),dest)); \		@@\
4146	fi								@@\
4147	RemoveFile($(DESTDIR)dest/fonts.dir)				@@\
4148	RunProgram(MKFONTDIR, $(MKFONTDIROPTS) $(DESTDIR)dest)
4149# else
4150#  define InstallFontsDir(dest)
4151# endif
4152#endif
4153
4154/*
4155 * InstallFontObjs - generate rules to install font files
4156 */
4157#ifndef InstallFontObjs
4158# if !CrossCompiling || UseInstalledOnCrossCompile
4159#  define InstallFontObjs(objs,dest)					@@\
4160InstallMultipleFlags(objs,dest,$(INSTDATFLAGS))				@@\
4161									@@\
4162InstallFontsDir(dest)
4163# else
4164#  define InstallFontObjs(objs,dest)
4165# endif
4166#endif /* InstallFontObjs */
4167
4168
4169/*
4170 * InstallFonts - generate rules to install font files
4171 */
4172#ifndef InstallFonts
4173#define InstallFonts(dest)						@@\
4174InstallFontObjs($(OBJS),dest)
4175#endif /* InstallFonts */
4176
4177
4178/*
4179 * InstallFontAliases - generate rules to install font aliases databases.
4180 */
4181#ifndef InstallFontAliases
4182#define InstallFontAliases(dest)					@@\
4183InstallTarget(install,fonts.alias,$(INSTDATFLAGS),dest)
4184#endif /* InstallFontAliases */
4185
4186#ifndef InstallNamedFontAliases
4187#define InstallNamedFontAliases(src,dest)				@@\
4188InstallNamedTarget(install,src,$(INSTDATFLAGS),dest,fonts.alias)
4189#endif /* InstallNamedFontAliases */
4190
4191#ifndef FontSrc
4192#define FontSrc(basename) basename.bdf
4193#endif
4194
4195#ifndef FontBaseObj
4196#define FontBaseObj(basename)basename.pcf
4197#endif
4198
4199/*
4200 * InstallFontScale - generate rules to install font scale database.
4201 */
4202#ifndef InstallFontScale
4203#define InstallFontScale(dest)						@@\
4204InstallTarget(install,fonts.scale,$(INSTDATFLAGS),dest)
4205#endif /* InstallFontScale */
4206
4207/*
4208 * UncompressedFontTargetLong
4209 */
4210#if ! CrossCompiling || UseInstalledOnCrossCompile
4211# ifndef UncompressedFontTargetLong
4212#  define UncompressedFontTargetLong(sname,tname)			@@\
4213FontBaseObj(tname):  FontSrc(sname)					@@\
4214	RunProgram(FONTC,$(FONTCFLAGS) $? -o $@)
4215# endif /* UncompressedFontTargetLong */
4216#else
4217# ifndef UncompressedFontTargetLong
4218#  define UncompressedFontTargetLong(sname,tname)
4219# endif
4220#endif
4221
4222/*
4223 * CompressedFontTarget
4224 */
4225#ifndef GzipFontCompression
4226#define GzipFontCompression NO
4227#endif
4228
4229#if ! CrossCompiling || UseInstalledOnCrossCompile
4230# ifndef CompressedFontTargetLong
4231#  if GzipFontCompression
4232#   define CompressedFontTargetLong(sname,tname)			@@\
4233FontBaseObj(tname).gz:  FontSrc(sname)					@@\
4234	RunProgram(FONTC,$(FONTCFLAGS) $?) | $(GZIPCMD) > $@
4235#  else
4236#   define CompressedFontTargetLong(sname,tname)			@@\
4237FontBaseObj(tname).Z:  FontSrc(sname)					@@\
4238	RunProgram(FONTC,$(FONTCFLAGS) $?) | $(COMPRESS) > $@
4239#  endif
4240# endif /* CompressedFontTargetLong */
4241#else
4242#   define CompressedFontTargetLong(sname,tname)
4243#endif
4244
4245/*
4246 * UncompressedFontTarget
4247 */
4248#ifndef UncompressedFontTarget
4249#define UncompressedFontTarget(basename) UncompressedFontTargetLong(basename,basename)
4250#endif /* UncompressedFontTarget */
4251
4252#ifndef CompressedFontTarget
4253#define CompressedFontTarget(basename) CompressedFontTargetLong(basename,basename)
4254#endif /* CompressedFontTarget */
4255
4256#if !defined(FontTarget) && !defined(FontObj)
4257#if CompressAllFonts
4258#define FontTargetLong(sname,tname) CompressedFontTargetLong(sname,tname)
4259#define FontTarget(basename) CompressedFontTarget(basename)
4260#if GzipFontCompression
4261#define FontObj(basename) FontBaseObj(basename).gz
4262#else
4263#define FontObj(basename) FontBaseObj(basename).Z
4264#endif
4265#else
4266#define FontTargetLong(sname,tname) UncompressedFontTargetLong(sname,tname)
4267#define FontTarget(basename) UncompressedFontTarget(basename)
4268#define FontObj(basename) FontBaseObj(basename)
4269#endif /* CompressAllFonts */
4270#endif
4271
4272
4273#ifndef EncObj
4274#define EncObj(basename) basename.enc
4275#endif
4276#ifndef EncObjComp
4277#if GzipFontCompression
4278#define EncObjComp(basename) basename.enc.gz
4279#else
4280#define EncObjComp(basename) basename.enc.Z
4281#endif
4282#endif
4283
4284#ifndef EncodingTarget
4285#define EncodingTarget(basename) /**/
4286#endif
4287
4288#ifndef CompEncodingTarget
4289#if GzipFontCompression
4290#define CompEncodingTarget(basename)					@@\
4291EncObjComp(basename): EncObj(basename)					@@\
4292	cat $? | $(GZIPCMD) > $@
4293#else
4294#define CompEncodingTarget(basename)					@@\
4295EncObjComp(basename): EncObj(basename)					@@\
4296	cat $? | $(COMPRESS) > $@
4297#endif
4298#endif
4299
4300#ifndef MakeEncDir
4301# if !CrossCompiling || UseInstalledOnCrossCompile
4302#  define MakeEncDir(deplist,inst,dirlist )				@@\
4303AllTarget(encodings.dir)						@@\
4304									@@\
4305encodings.dir: deplist							@@\
4306	RemoveFiles(encodings.dir fonts.dir)				@@\
4307	@(E=; for i in dirlist; do \					@@\
4308	   E="$$E -e $$i"; done; \					@@\
4309	 set -x; \							@@\
4310	 RunProgram(MKFONTDIR, -n -r -p inst/ $$E .))			@@\
4311									@@\
4312clean::									@@\
4313	RemoveFiles(fonts.dir encodings.dir)
4314# else
4315#  define MakeEncDir(deplist,inst,dirlist )				@@\
4316clean::									@@\
4317	RemoveFiles(fonts.dir encodings.dir)
4318# endif
4319#endif
4320
4321#ifndef MakeEncodings
4322#define MakeEncodings(deplist,inst,dirlist)				@@\
4323									@@\
4324MakeEncDir(deplist $(OBJS),inst,dirlist)				@@\
4325									@@\
4326clean::									@@\
4327	RemoveFiles(*.enc.Z *.enc.gz)
4328#endif /* MakeEncodings */
4329
4330#ifndef InstallEncObjs
4331# if !CrossCompiling || UseInstalledOnCrossCompile
4332#  define InstallEncObjs(objs,dest)					@@\
4333InstallMultipleFlags(objs,dest,$(INSTDATFLAGS))				@@\
4334									@@\
4335InstallTarget(install,encodings.dir,$(INSTDATFLAGS),dest)
4336# else
4337#  define InstallEncObjs(objs,dest)
4338# endif
4339#endif /* InstallEncObjs */
4340
4341#ifndef InstallEncodings
4342#define InstallEncodings(dest)						@@\
4343InstallEncObjs($(OBJS),dest)
4344#endif /* InstallEncodings */
4345
4346#ifndef InstallEncodingsDir
4347# if !CrossCompiling || UseInstalledOnCrossCompile
4348#  define InstallEncodingsDir(edir,fdir)				@@\
4349InstallNamedTarget(install,edir/encodings.dir,$(INSTDATFLAGS),fdir,encodings.dir)
4350# else
4351#  define InstallEncodingsDir(edir,fdir)
4352# endif
4353#endif
4354
4355
4356#ifndef MakeBdfFontFromUCSMaster
4357#define MakeBdfFontFromUCSMaster(font,enc)				@@\
4358font-enc.bdf: font.bdf $(UCS2ANY)					@@\
4359	RemoveFile($@)							@@\
4360	$(UCS2ANY) font.bdf $(UCSMAPPREFIX)enc enc			@@\
4361									@@\
4362clean::									@@\
4363	RemoveFile(font-enc.bdf)
4364#endif
4365
4366#ifndef MakeTruncatedUCSBdfFont
4367#if HasPerl5
4368#define MakeTruncatedUCSBdfFont(font,trunc,name)			@@\
4369name.bdf: font.bdf $(BDFTRUNCATE)					@@\
4370	RemoveFile($@)							@@\
4371	RunPerlScript($(BDFTRUNCATE),trunc < font.bdf > name.bdf)	@@\
4372									@@\
4373clean::									@@\
4374	RemoveFile(name.bdf)
4375#endif
4376#endif
4377
4378/* 
4379 * InstallXpPMFLink - install link for a Xprint PMF "font" from one
4380 * print model to another
4381 */
4382#ifndef InstallXpPMFLink
4383#define InstallXpPMFLink(fontfilename,srcmodelfontdir,destmodelfontdir)				@@\
4384	InstallLink(install,srcmodelfontdir/fontfilename,fontfilename,destmodelfontdir)
4385#endif /* InstallXpPMFLink */
4386/* 
4387 * InstallXpMultiplePMFLinks - install multiple links for PMF fonts
4388 * from one print model to another
4389 */
4390#ifndef InstallXpMultiplePMFLinks
4391#define InstallXpMultiplePMFLinks(list,srcmodelfontdir,destmodelfontdir)			@@\
4392install::											@@\
4393	MakeDir($(DESTDIR)destmodelfontdir)							@@\
4394	for i in list ; do \									@@\
4395	    $(RM) $(DESTDIR)destmodelfontdir/$$i ; \						@@\
4396	    $(LN) -s -f srcmodelfontdir/$$i $(DESTDIR)destmodelfontdir/$$i ; \			@@\
4397	done
4398#endif /* InstallXpPMFLink */
4399
4400/*
4401 * InstallXpPMFFontsDir - make and install a fonts.dir index for model-config fonts
4402 */
4403#ifndef InstallXpPMFFontsDir
4404#if BuildServersOnly
4405#define InstallXpPMFFontsDir(destmodelfontdir) /**/
4406#else
4407#define InstallXpPMFFontsDir(destmodelfontdir)			@@\
4408install::							@@\
4409	($(MKFONTSCALE) -b -s -l $(DESTDIR)destmodelfontdir)
4410#endif
4411#endif /* InstallXpPMFFontsDir */
4412
4413
4414/*
4415 * MakeXkbDir
4416 */
4417#ifndef MakeXkbDir
4418# if !CrossCompiling || UseInstalledOnCrossCompile
4419#  define MakeXkbDir(basedir,subdir)					@@\
4420all::   Concat(subdir,.dir)						@@\
4421									@@\
4422Concat(subdir,.dir):							@@\
4423	RemoveFile(Concat(subdir,.dir))					@@\
4424	$(XKBCOMPCMD) -lfhlpR -o Concat(subdir,.dir) '*'		@@\
4425									@@\
4426InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir)	@@\
4427									@@\
4428clean::									@@\
4429	RemoveFile(Concat(subdir,.dir))
4430# else
4431#  define MakeXkbDir(basedir,subdir)					@@\
4432clean::									@@\
4433	RemoveFile(Concat(subdir,.dir))
4434# endif
4435#endif
4436
4437/*
4438 * PostProcessTroffPS - by default moves the working output into place,
4439 * but can be a hook for more complicated post-processing.
4440 */
4441#ifndef PostProcessTroffPS
4442#define PostProcessTroffPS(temp,real) $(MV) temp real
4443#endif
4444
4445/*
4446 * PostProcessTroffHTML - by default moves the working output into place,
4447 * but can be a hook for more complicated post-processing.
4448 */
4449#ifndef PostProcessTroffHTML
4450#define PostProcessTroffHTML(temp,real) $(MV) temp real
4451#endif
4452
4453#ifdef HTMLroffCmd
4454#define HtmlTarget(file) file.html
4455#define HtmlClean(file) file.nhtml file.html file*.png
4456#else
4457#define HtmlTarget(file) /**/
4458#define HtmlClean(file) /**/
4459#endif
4460
4461#ifdef PsToPdfCmd
4462#define PdfTarget(file) file.pdf
4463#define PdfClean(file) file.pdf
4464#else
4465#define PdfTarget(file) /**/
4466#define PdfClean(file) /**/
4467#endif
4468
4469#ifndef ConvertPsToPdf
4470#ifdef PsToPdfCmd
4471#define ConvertPsToPdf(file)						@@\
4472file.pdf: file.ps							@@\
4473	RemoveFile(file.pdf)						@@\
4474	$(PSTOPDFCMD) < file.ps > file.pdf
4475#else
4476#define ConvertPsToPdf(file) /**/
4477#endif
4478#endif
4479
4480#if HasPdfLatex
4481#define PdfLatexTarget(file) file.pdf
4482#define PdfLatexClean(file) file.pdf
4483#else
4484#define PdfLatexTarget(file) /**/
4485#define PdfLatexClean(file) /**/
4486#endif
4487
4488#ifndef LatexToPdf
4489#if HasPdfLatex && defined(PdfLatexCmd)
4490#define LatexToPdf(file)						@@\
4491file.pdf: file.tex							@@\
4492	RemoveFile(file.pdf)						@@\
4493	$(PDFLATEXCMD) file.tex
4494#else
4495#define LatexToPdf(file) /**/
4496#endif
4497#endif
4498
4499
4500#ifndef MakeDepSimpleHtmlDoc
4501#ifdef HTMLroffCmd
4502#define MakeDepSimpleHtmlDoc(file,deps,srcs)				@@\
4503HtmlTarget(file): deps							@@\
4504	$(HTMLROFF) $(MSMACROS) $(XDOCMACROS) Concat(-P-I,file) srcs \		@@\
4505		2> index.raw > file.nhtml \				@@\
4506	  && PostProcessTroffHTML(file.nhtml,$@)
4507#else
4508#define MakeDepSimpleHtmlDoc(file,deps,srcs) /**/
4509#endif
4510#endif
4511
4512#ifndef MakeTblHtmlDoc
4513#ifdef HTMLroffCmd
4514#define MakeTblHtmlDoc(file,srcs)					@@\
4515file.html: srcs								@@\
4516	$(TBL) $(XDOCMACROS) srcs | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \	@@\
4517		2> index.raw > file.nhtml \				@@\
4518	  && PostProcessTroffHTML(file.nhtml,$@)
4519#else
4520#define MakeTblHtmlDoc(file,srcs) /**/
4521#endif
4522#endif
4523
4524#ifndef MakeEqnHtmlDoc
4525#ifdef HTMLroffCmd
4526#define MakeEqnHtmlDoc(file,srcs)					@@\
4527file.html: srcs								@@\
4528	$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \ @@\
4529		2> index.raw > file.nhtml \				@@\
4530	  && PostProcessTroffHTML(file.nhtml,$@)
4531#else
4532#define MakeEqnHtmlDoc(file,srcs) /**/
4533#endif
4534#endif
4535
4536
4537#ifndef MakeDepSimpleDoc
4538#define MakeDepSimpleDoc(file,deps,srcs)				@@\
4539all:: file.ps file.txt HtmlTarget(file) PdfTarget(file)			@@\
4540.PRECIOUS: file.ps							@@\
4541									@@\
4542file.ps: deps								@@\
4543	-$(TROFF) $(MSMACROS) $(XDOCMACROS) srcs \			@@\
4544		2> index.raw > file.nps \				@@\
4545	&& PostProcessTroffPS(file.nps,$@)				@@\
4546	@if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \	@@\
4547		else test $$? -le 1; fi					@@\
4548									@@\
4549file.txt: deps								@@\
4550	$(NROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw | \	@@\
4551		 $(COL) $(COLFLAGS) > $@				@@\
4552									@@\
4553MakeDepSimpleHtmlDoc(file,deps,srcs)					@@\
4554									@@\
4555ConvertPsToPdf(file)							@@\
4556									@@\
4557clean::									@@\
4558	$(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
4559#endif
4560
4561#ifndef MakeSimpleDoc
4562#define MakeSimpleDoc(file,srcs) MakeDepSimpleDoc(file,srcs,srcs)
4563#endif
4564
4565#ifndef MakeTblDoc
4566#define MakeTblDoc(file,srcs)						@@\
4567all:: file.ps file.txt HtmlTarget(file) PdfTarget(file)			@@\
4568.PRECIOUS: file.ps							@@\
4569									@@\
4570file.ps: srcs								@@\
4571	-$(TBL) $(XDOCMACROS) srcs | $(TROFF) $(MSMACROS) \		@@\
4572		2> index.raw > file.nps \				@@\
4573	&& PostProcessTroffPS(file.nps,$@)				@@\
4574	@if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \	@@\
4575		else test $$? -le 1; fi					@@\
4576									@@\
4577file.txt: srcs								@@\
4578	$(TBL) $(XDOCMACROS) srcs | $(NROFF) $(MSMACROS) 2> index.raw \	@@\
4579		| $(COL) $(COLFLAGS) > $@				@@\
4580									@@\
4581MakeTblHtmlDoc(file,srcs)						@@\
4582									@@\
4583ConvertPsToPdf(file)							@@\
4584									@@\
4585clean::									@@\
4586	$(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
4587#endif
4588
4589#ifndef MakeEqnDoc
4590#define MakeEqnDoc(file,srcs)						@@\
4591all:: file.ps file.txt HtmlTarget(file) PdfTarget(file)			@@\
4592.PRECIOUS: file.ps							@@\
4593									@@\
4594file.ps: srcs								@@\
4595	-$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(TROFF) $(MSMACROS) \	@@\
4596		2> index.raw > file.nps \				@@\
4597	&& PostProcessTroffPS(file.nps,$@)				@@\
4598	@if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \	@@\
4599		else test $$? -le 1; fi					@@\
4600									@@\
4601file.txt: srcs								@@\
4602	$(TBL) $(XDOCMACROS) srcs | $(NEQN) | $(NROFF) $(MSMACROS) \	@@\
4603		2> index.raw | $(COL) $(COLFLAGS) > $@			@@\
4604									@@\
4605MakeEqnHtmlDoc(file,srcs)						@@\
4606									@@\
4607ConvertPsToPdf(file)							@@\
4608									@@\
4609clean::									@@\
4610	$(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
4611#endif
4612
4613#ifndef MakeDocIndex
4614#define MakeDocIndex(file,srcs)						@@\
4615all:: file.idx.ps							@@\
4616									@@\
4617file.idx.ps: srcs index.raw						@@\
4618	sed -n '$$p' index.raw > index.pageno				@@\
4619	grep '^[1-9]' index.raw | \					@@\
4620		(sort -f '-t:' -k2,2 -k1,1n 2>/dev/null || \		@@\
4621		 sort -f '-t:' +1 -3 +0n -1n) | \			@@\
4622		awk -f $(DOCUTILSRC)/fixindex.awk | \			@@\
4623		awk -f $(DOCUTILSRC)/block.awk > index.troff		@@\
4624	cat srcs $(XIDXMACROS) index.troff | \				@@\
4625		$(TROFF) -me > file.idx.nps && \			@@\
4626		$(MV) file.idx.nps $@					@@\
4627	$(RM) index.troff index.pageno					@@\
4628									@@\
4629clean::									@@\
4630	$(RM) index.troff index.pageno file.idx.nps file.idx.ps
4631#endif
4632
4633#ifndef MakeLatexDoc
4634#if HasLatex
4635#define MakeLatexDoc(file,src)						@@\
4636all:: file.ps PdfLatexTarget(file)					@@\
4637									@@\
4638file.dvi: src								@@\
4639	$(LATEX) src							@@\
4640									@@\
4641file.ps: file.dvi							@@\
4642	$(DVIPS) -o file.nps file && $(MV) file.nps $@			@@\
4643									@@\
4644LatexToPdf(file)							@@\
4645									@@\
4646clean::									@@\
4647	RemoveFiles(file.nps file.ps file.dvi file.log)			@@\
4648	RemoveFiles(file.aux file.toc file.lof file.lot)		@@\
4649	$(RM) PdfLatexClean(file)
4650#else /* HasLatex */
4651#define MakeLatexDoc(file,src)						@@\
4652all::									@@\
4653file.ps: src								@@\
4654	@echo "cannot make file.ps: no latex on this system"; exit 1
4655#endif /* HasLatex (else) */
4656#endif /* MakeLatexDoc */
4657
4658#ifndef InstallDoc
4659#define InstallDoc(name,deps)						@@\
4660install:: deps								@@\
4661	MakeDir($(DESTDIR)$(DOCPSDIR))					@@\
4662	@if [ -f name.ps -a X$(NOPS) = X ]; then set -x; \		@@\
4663	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.ps \		@@\
4664		$(DESTDIR)$(DOCPSDIR); \				@@\
4665	fi ; RemoveOldFile(name.ps,name.PS,$(DOCPSDIR))			@@\
4666	MakeDir($(DESTDIR)$(DOCDIR))					@@\
4667	@if [ -f name.txt -a X$(NOTXT) = X ]; then set -x; \		@@\
4668	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.txt \		@@\
4669		$(DESTDIR)$(DOCDIR); \					@@\
4670	fi ; RemoveOldFile(name.txt,name.TXT,$(DOCDIR))			@@\
4671	MakeDir($(DESTDIR)$(DOCHTMLDIR))				@@\
4672	@if [ -f name.html -a X$(NOHTML) = X ]; then (set -x; \		@@\
4673	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.html \	@@\
4674		$(DESTDIR)$(DOCHTMLDIR)); \				@@\
4675	  for i in name*.png; do \					@@\
4676	    if [ -f $$i ]; then (set -x; \				@@\
4677	      $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $$i \		@@\
4678		$(DESTDIR)$(DOCHTMLDIR)); \				@@\
4679	    fi; \							@@\
4680	  done; \							@@\
4681	fi								@@\
4682	MakeDir($(DESTDIR)$(DOCPDFDIR))					@@\
4683	@if [ -f name.pdf -a X$(NOPDF) = X ]; then set -x; \		@@\
4684	  $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.pdf \		@@\
4685		$(DESTDIR)$(DOCPDFDIR); \				@@\
4686	fi
4687#endif
4688
4689#ifndef InstallRoffDoc
4690#define InstallRoffDoc(name) InstallDoc(name,name.ps name.txt)
4691#endif
4692
4693#ifndef InstallLatexDoc
4694#if HasLatex
4695#define InstallLatexDoc(name) InstallDoc(name,name.ps)
4696#else
4697#define InstallLatexDoc(name)
4698#endif
4699#endif
4700
4701#ifndef LinkHardcopyPS
4702# if CaseSensitiveFileSystem
4703#  define LinkHardcopyPS(name)						  \
4704	@if [ -f name.PS ]; then set -x; \				@@\
4705	  RemoveFile(name.ps); \					@@\
4706	  $(LN) name.PS name.ps; \					@@\
4707	fi
4708# else
4709#  define LinkHardcopyPS(name)
4710# endif
4711#endif
4712
4713
4714#ifndef InstallHardcopyDoc
4715#define InstallHardcopyDoc(name,deps)					@@\
4716all:: name.ps PdfTarget(name)						@@\
4717									@@\
4718name.ps: deps								@@\
4719	@if [ -f name.PS.gz ]; then set -x; \				@@\
4720	  RemoveFile(name.ps); \					@@\
4721	  gzip -d < name.PS.gz > name.ps; \				@@\
4722	fi								@@\
4723	LinkHardcopyPS(name)						@@\
4724									@@\
4725ConvertPsToPdf(name)							@@\
4726									@@\
4727clean::									@@\
4728	$(RM) name.ps PdfClean(name)					@@\
4729									@@\
4730InstallDoc(name,deps)
4731#endif
4732
4733/*
4734 * Rule for maintainers to use to updated generated copies of fonts in the
4735 * source tree.  Use with care.
4736 */
4737
4738#ifndef UpdateDerivedFont
4739#define UpdateDerivedFont(src,dst)					@@\
4740update.fonts:: src							@@\
4741	-@if [ -f dst ]; then \						@@\
4742	    if [ "$(FORCEUPDATE)" = yes ]; then \			@@\
4743		if [ "$(FOLLOWLINK)" = no ]; then \			@@\
4744			(set -x; $(RM) dst); \				@@\
4745		fi; \							@@\
4746		set -x; cp src dst; \					@@\
4747	    else \							@@\
4748		grep -v "XFree86:" src > __tmp1__; \			@@\
4749		grep -v "XFree86:" dst > __tmp2__; \			@@\
4750		if diff __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \	@@\
4751		else \							@@\
4752			if [ "$(FOLLOWLINK)" = no ]; then \		@@\
4753				(set -x; $(RM) dst); \			@@\
4754			fi; \						@@\
4755			set -x; cp src dst; \					@@\
4756		fi; \							@@\
4757	    fi; \							@@\
4758	fi								@@\
4759	@$(RM) __tmp1__ __tmp2__
4760#endif
4761
4762#if !HasFreetype2
4763      FT2PRELOADPATTERN = libfreetype.so.?
4764#endif
4765#if !HasFontconfig
4766       FCPRELOADPATTERN = libfontconfig.so.?
4767#endif
4768      XFTPRELOADPATTERN = libXft.so.?
4769  XRENDERPRELOADPATTERN = libXrender.so.?
4770    XFONTPRELOADPATTERN = libXfont*.so.?
4771
4772