1 XCOMM ----------------------------------------------------------------------
2 XCOMM X Window System Build Parameters and Rules
3 XCOMM $TOG: X11.tmpl /main/308 1998/06/16 15:14:24 msr $
5 /***************************************************************************
7 * DEFAULT DEFINITIONS *
9 * The following section contains defaults for things that can *
10 * overridden in the various *.cf and site.def files. DO NOT EDIT! *
12 **************************************************************************/
14 #define ProjectX 604 /* do *not* change this line */
16 /* The following project-specific rules are defined at the end of this file:
18 * InstallAppDefaults (class)
19 * InstallAppDefaultsLong (file,class)
20 * MakeFontsDir (deplist)
22 * InstallFontObjs (objs,dest)
24 * InstallFontAliases (dest)
26 * FontBaseObj (basename)
27 * InstallFontScale (dest)
28 * UncompressedFontTarget (basename)
29 * CompressedFontTarget (basename)
30 * FontTarget (basename)
32 * MakeXkbDir (basedir,subdir)
39 #define HasXServer YES
42 #define BuildServer HasXServer
44 #ifndef BuildFontServer
45 #define BuildFontServer YES
48 #define BuildFonts (BuildServer | BuildFontServer)
54 #define BuildXAudio (HasXAudio & HasCplusplus)
57 #define HasXAServer NO
60 #define BuildXAServer (HasXAServer & HasCplusplus)
66 #define BuildPexExt NO
68 #ifndef BuildXInputExt
69 #define BuildXInputExt NO
84 #define BuildLowMem NO
91 * Turn off building XIE if you are building for low memory
104 #define BuildXKBlib YES
107 * WARNING: Setting UseXKBInClients to YES cause incompatibilities
108 * between many clients (such as xterm) and pre-XKB shared
111 #ifndef UseXKBInClients
112 #define UseXKBInClients NO /* use XKB in "normal" clients? */
114 #ifndef BuildMultibuffer
115 #define BuildMultibuffer NO
118 #define BuildRECORD YES
120 #ifndef BuildXinerama
121 #define BuildXinerama NO
123 #ifndef BuildXCSecurity
124 #define BuildXCSecurity YES
126 #ifndef BuildAppgroup
127 #define BuildAppgroup YES
133 * Turn off building PEX if you are building for low memory
137 #define BuildPexExt NO
143 #define BuildPlugin HasPlugin
146 #define XprtServer BuildServer
150 #define BuildXprint YES
152 #define BuildXprint NO
155 #ifndef InstallLibManPages
156 #define InstallLibManPages YES
158 #ifndef InstallXtermSetUID
159 #define InstallXtermSetUID YES /* xterm needs to be set uid */
161 #ifndef InstallXinitConfig
162 #define InstallXinitConfig NO /* install sample xinit config */
164 #ifndef InstallXdmConfig
165 #define InstallXdmConfig NO /* install sample xdm config */
167 #ifndef XdmServersType /* what Xservers files to use */
169 #define XdmServersType ws
171 #define XdmServersType fs
174 #ifndef InstallFSConfig
175 #define InstallFSConfig NO /* install sample fs config */
177 #ifndef InstallAppDefFiles
178 #define InstallAppDefFiles YES /* install application defaults */
181 #if HasPosixThreads || HasCThreads
182 #define ThreadedX YES /* multi-threaded libraries */
187 #ifndef ThreadedProject
188 #define ThreadedProject ThreadedX
191 #define HasWChar32 SystemV4
194 #define HasXdmAuth NO /* if you can not use XDM-AUTH* */
196 #ifndef PrimaryScreenResolution
197 #define PrimaryScreenResolution 72 /* a common resolution */
199 #ifndef DefaultFontPath
201 * Turn off building Speedo and Type1 fonts if you are building for
202 * low memory footprint
205 #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
207 #if PrimaryScreenResolution < 88 /* (75 + 100) / 2 */
208 #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
210 #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
214 #ifndef DefaultFSFontPath
216 * Define a default fontpath for Font Server independent of that
217 * for X server if building the X server for low memory footprint
220 #if PrimaryScreenResolution < 88 /* (75 + 100) / 2 */
221 #define DefaultFSFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,
222 $(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
224 #define DefaultFSFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,
225 $(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
228 #define DefaultFSFontPath DefaultFontPath
231 #ifndef DefaultRGBDatabase
232 #define DefaultRGBDatabase $(LIBDIR)/rgb
235 #define UseRgbTxt NO /* default is to compile with dbm */
237 #ifndef FontCompilerFlags
238 #define FontCompilerFlags -t
240 #ifndef ConnectionFlags
242 #define ConnectionFlags -DSTREAMSCONN
245 #define ConnectionFlags -DTCPCONN -DUNIXCONN -DDNETCONN
247 #define ConnectionFlags -DTCPCONN -DUNIXCONN
251 #ifndef ProjectThreadsDefines
252 #define ProjectThreadsDefines -DXTHREADS
254 #ifndef FontOSDefines
255 #define FontOSDefines /**/
258 #define FontDefines -DFONT_SNF -DFONT_BDF -DFONT_PCF -DCOMPRESSED_FONTS FontOSDefines
260 #ifndef XawI18nDefines
262 #define XawI18nDefines -DHAS_WCTYPE_H
264 #define XawI18nDefines -DUSE_XWCHAR_STRING
267 #if Malloc0ReturnsNull
268 #ifndef XMalloc0ReturnsNullDefines
269 #define XMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines
271 #ifndef XtMalloc0ReturnsNullDefines
272 #define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines
275 #ifndef ExtensionOSDefines
276 #define ExtensionOSDefines /**/
278 #ifndef ExtensionDefines
281 #define PexDefines -DPEXEXT
283 #define PexDefines /**/
288 #define ShmDefines -DMITSHM
290 #define ShmDefines /**/
293 #ifndef XInputDefines
295 #define XInputDefines -DXINPUT
297 #define XInputDefines /**/
300 #ifndef XineramaDefines
302 #define XineramaDefines -DPANORAMIX
304 #define XineramaDefines /**/
309 #define XieDefines -DXIE
311 #define XieDefines /**/
314 #ifndef PrintOnlyServer
315 #define PrintOnlyServer YES
317 #ifndef XprintDefines
320 #define XprintDefines -DPIXPRIV
322 #define XprintDefines -DXPRINT -DPIXPRIV
325 #define XprintDefines /**/
330 #define XkbDefines -DXKB
332 #define XkbDefines /**/
335 #ifndef XkbClientDefines
337 #define XkbClientDefines -DXKB
339 #define XkbClientDefines /**/
342 #ifndef XkbServerDefines
343 #define XkbServerDefines /**/
347 #define LbxDefines -DLBX
349 #define LbxDefines /**/
352 #ifndef BigReqDefines
353 #define BigReqDefines -DBIGREQS
358 #define EVIDefines -DEVI
360 #define EVIDefines /**/
366 #define DBEDefines -DDBE
368 #define DBEDefines /**/
372 #ifndef PervasiveDBEDefines
373 #define PervasiveDBEDefines /* -DNEED_DBE_BUF_BITS -DNEED_DBE_BUF_VALIDATE */
376 #ifndef MultibufferDefines
378 #define MultibufferDefines -DMULTIBUFFER
380 #define MultibufferDefines /**/
384 #ifndef VidTuneExtensionDefines
385 #define VidTuneExtensionDefines /**/
388 #ifndef RECORDDefines
390 #define RECORDDefines -DXRECORD
392 #define RECORDDefines /**/
396 #ifndef AppgroupDefines
398 #define AppgroupDefines -DXAPPGROUP
400 #define AppgroupDefines /**/
404 #ifndef XCSecurityDefines
406 #define XCSecurityDefines -DXCSECURITY
408 #define XCSecurityDefines /**/
414 #define CupDefines -DTOGCUP
416 #define CupDefines /**/
420 #ifndef LowMemDefines
422 #define LowMemDefines -DLOWMEMFTPT
424 #define LowMemDefines /**/
430 #define DPMSDefines -DDPMSExtension
432 #define DPMSDefines /**/
436 #ifndef SitePervasiveExtensionDefines
437 #define SitePervasiveExtensionDefines /**/
439 #ifndef PervasiveExtensionDefines
440 #define PervasiveExtensionDefines \
441 -DSHAPE XInputDefines XkbDefines LbxDefines AppgroupDefines \
442 XCSecurityDefines CupDefines PervasiveDBEDefines DPMSDefines \
443 LowMemDefines XprintDefines XineramaDefines SitePervasiveExtensionDefines
445 #ifndef SiteExtensionDefines
446 #define SiteExtensionDefines /**/
448 #ifndef BaseExtensionDefines
449 #define BaseExtensionDefines \
450 MultibufferDefines -DMITMISC -DXTEST -DXSYNC -DXCMISC RECORDDefines \
451 PexDefines ShmDefines XieDefines BigReqDefines VidTuneExtensionDefines \
452 DBEDefines DPMSDefines EVIDefines SiteExtensionDefines
454 #define ExtensionDefines BaseExtensionDefines ExtensionOSDefines
455 #endif /* ExtensionDefines */
457 #ifndef HasStrcasecmp
458 #define HasStrcasecmp YES
461 #ifndef StrcasecmpDefines
463 # define StrcasecmpDefines /**/
465 # define StrcasecmpDefines -DNEED_STRCASECMP
469 #ifndef ServerXdmcpDefines
470 #define ServerXdmcpDefines -DXDMCP
472 #ifndef ServerOSDefines
473 #define ServerOSDefines /**/
477 #define Krb5Defines -DK5AUTH
480 #define Krb5Defines /**/
482 #ifndef ServerExtraDefines
483 #define ServerExtraDefines /* -DPIXPRIV */
485 #ifndef ServerAssertDefines
486 #define ServerAssertDefines -DNDEBUG
488 #ifndef ServerDefines
489 #define ServerDefines StandardDefines PervasiveExtensionDefines ServerExtraDefines ServerAssertDefines
491 #ifndef PexDipexDefines
492 #define PexDipexDefines /**/
494 #ifndef PexDdpexDefines
495 #define PexDdpexDefines /**/
497 #ifndef PexPhigsDefines
499 #define PexShmIPC HasShm
502 #define PexPhigsDefines /**/
504 #define PexPhigsDefines -DPEX_API_SOCKET_IPC
507 #ifndef PexClientDefines
508 #define PexClientDefines -DPEX_SI_PHIGS
512 #define PhigsInclude -I$(INCDIR)/X11
514 #define PhigsInclude -I$(BUILDINCDIR)
517 #ifndef PexCDebugFlags
518 #define PexCDebugFlags DebuggableCDebugFlags
521 #ifdef LibraryCCOptions
522 #define PexCCOptions LibraryCCOptions
524 #define PexCCOptions DefaultCCOptions
527 #ifndef DefaultFSConfigFile
528 #define DefaultFSConfigFile $(LIBDIR)/fs/config
532 #define BinDir Concat(ProjectRoot,/bin)
534 #define BinDir /usr/bin/X11
538 #define BuildIncRoot $(TOP)/exports
541 #define BuildIncDir $(BUILDINCROOT)/include
544 #define BuildIncTop ../.. /* relative to BuildIncDir */
548 # define XTop $(TOP)/imports/x11
553 #ifndef XBuildIncRoot
555 # define XBuildIncRoot $(XTOP)
557 # define XBuildIncRoot $(XTOP)/exports
561 # define XBuildIncDir $(XBUILDINCROOT)/include/X11
564 # define XBuildIncTop ../../..
567 # define XBuildBinDir $(XBUILDINCROOT)/bin
570 #define BuildBinDir $(TOP)/exports/bin
573 #define BuildBinTop ../.. /* relative to BuildBinDir */
576 #define BuildLibDir $(TOP)/exports/lib
579 #define BuildLibTop ../.. /* relative to BuildLibDir */
582 #define LibDir $(USRLIBDIR)/X11
585 #define ConfigDir $(LIBDIR)/config
588 #define FontDir $(LIBDIR)/fonts
591 #define AdmDir /usr/adm
594 #define XinitDir $(LIBDIR)/xinit
597 #define XdmDir $(LIBDIR)/xdm
599 #ifndef XdmConfigurationSubdirectory /* under xdm sources */
600 #define XdmConfigurationSubdirectory config
603 #define TwmDir $(LIBDIR)/twm
606 #define XsmDir $(LIBDIR)/xsm
609 #define NlsDir $(LIBDIR)/nls
612 #define XLocaleDir $(LIBDIR)/locale
615 #define PexApiDir $(LIBDIR)/PEX
618 #define LbxproxyDir $(LIBDIR)/lbxproxy
620 #ifndef LbxproxyConfigSubdir /* under lbxproxy sources */
621 #define LbxproxyConfigSubdir config
623 #ifndef ProxyManagerDir
624 #define ProxyManagerDir $(LIBDIR)/proxymngr
626 #ifndef ServerConfigDir
627 #define ServerConfigDir $(LIBDIR)/xserver
630 #define XPrintDir ServerConfigDir
633 #define VarDirectory /var/X11
635 #ifndef InstallSecurityConfig
636 #define InstallSecurityConfig YES /* Install sample security policy */
638 #ifndef XFileSearchPathBase
639 /* avoid SCCS keyword */
640 #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)
642 #ifndef XFileSearchPathDefault
644 /* avoid SCCS keyword */
645 #define XFileSearchPathDefault XAppLoadDir/Concat(%N%C,%S):XAppLoadDir/%N%S:XFileSearchPathBase
647 #define XFileSearchPathDefault XFileSearchPathBase
651 #define XAppLoadDir $(LIBDIR)/app-defaults
653 #ifndef XtErrorPrefix
654 #define XtErrorPrefix /* as empty string */
656 #ifndef XtExtraDefines
657 #define XtExtraDefines /* as empty string */
659 #ifndef XtWarningPrefix
660 #define XtWarningPrefix /* as empty string */
662 #ifndef OsNameDefines
663 #define OsNameDefines /* as nothing */
665 #ifndef DefaultUserPath /* for xdm */
666 #define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb
668 #ifndef DefaultSystemPath /* for xdm */
669 #define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR):/usr/ucb
671 #ifndef DefaultSystemShell /* for xdm to set in SHELL */
672 #define DefaultSystemShell BourneShell
675 #define ContribDir $(XTOP)/../contrib /* contrib is outside core tree */
677 #ifndef UnsupportedDir
678 #define UnsupportedDir $(XTOP)/unsupported
680 #ifndef AllocateLocalDefines
681 #define AllocateLocalDefines /**/
684 #ifndef ForceNormalLib
685 #define ForceNormalLib (HasGcc && !HasGcc2)
688 #ifndef ResourceConfigurationManagement
689 #define ResourceConfigurationManagement YES
692 #ifndef XtPopdownConformance
693 #define XtPopdownConformance YES
696 XCOMM -----------------------------------------------------------------------
697 XCOMM X Window System make variables; these need to be coordinated with rules
700 * This list must be reflected in the DIRS_TO_BUILD list in the top-level
704 BINDIR = BinDir /* programs */
705 BUILDINCROOT = BuildIncRoot /* base of build loc */
706 BUILDINCDIR = BuildIncDir /* built headers */
707 BUILDINCTOP = BuildIncTop /* top relative to BUILDINCDIR */
708 BUILDLIBDIR = BuildLibDir /* built libraries */
709 BUILDLIBTOP = BuildLibTop /* top relative to BUILDLIBDIR */
710 BUILDBINDIR = BuildBinDir /* built binaries */
711 BUILDBINTOP = BuildBinTop /* top relative to BUILDBINDIR */
712 XBUILDINCROOT = XBuildIncRoot /* base of X build loc */
713 XBUILDINCDIR = XBuildIncDir
714 XBUILDINCTOP = XBuildIncTop
715 XBUILDBINDIR = XBuildBinDir
716 INCDIR = $(INCROOT) /* header files */
717 ADMDIR = AdmDir /* server log files */
718 LIBDIR = LibDir /* rgb, XErrorDB, etc. */
719 TOP_X_INCLUDES = TopXInclude
722 VARDIR = VarDirectory
724 FONTDIR = FontDir /* font directories */
725 XINITDIR = XinitDir /* xinit config files */
726 XDMDIR = XdmDir /* xdm config files */
727 TWMDIR = TwmDir /* twm config files */
728 XSMDIR = XsmDir /* xsm config files */
729 NLSDIR = NlsDir /* nls files */
730 XLOCALEDIR = XLocaleDir /* locale files */
731 PEXAPIDIR = PexApiDir /* PEX support files */
732 LBXPROXYDIR = LbxproxyDir /* lbxproxy files */
733 PROXYMANAGERDIR = ProxyManagerDir /* proxy manager config files */
734 XPRINTDIR = XPrintDir /* print config file root */
735 XAPPLOADDIR = XAppLoadDir /* application default resource dir */
736 FONTCFLAGS = FontCompilerFlags
738 INSTAPPFLAGS = $(INSTDATFLAGS) /* XXX - this should go away - XXX */
742 FONTC = $(BINDIR)/bdftopcf
743 MKFONTDIR = $(BINDIR)/mkfontdir
745 RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb
746 FONTC = $(CLIENTENVSETUP) $(XBUILDBINDIR)/bdftopcf
747 MKFONTDIR = $(CLIENTENVSETUP) $(XBUILDBINDIR)/mkfontdir
750 DOCUTILSRC = $(XTOP)/doc/util
751 XDOCMACROS = $(DOCUTILSRC)/macros.t
752 XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
753 PROGRAMSRC = $(TOP)/programs
755 FONTSRC = $(XTOP)/fonts
756 INCLUDESRC = BuildIncDir
757 XINCLUDESRC = $(INCLUDESRC)/X11
758 SERVERSRC = $(XTOP)/programs/Xserver
759 CONTRIBSRC = ContribDir
760 UNSUPPORTEDSRC = UnsupportedDir
762 RGBSRC = $(XTOP)/programs/rgb
763 BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
764 MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
765 FONTSERVERSRC = $(PROGRAMSRC)/xfs
766 FONTINCSRC = $(XTOP)/include/fonts
767 EXTINCSRC = $(XTOP)/include/extensions
768 TRANSCOMMSRC = $(LIBSRC)/xtrans
769 TRANS_INCLUDES = -I$(TRANSCOMMSRC)
770 #ifdef X11ProjectRoot
771 XPROJECTROOT = X11ProjectRoot
773 #ifdef BuildLibPathVar
774 # ifdef SystemBuildLibPath
775 SYSTEMENVLIBDIR = SystemBuildLibPath
777 XENVLIBDIR = X11BuildLibPath
778 CLIENTENVSETUP = BuildLibPathVar=BuildLibPath
783 #ifndef ShLibIncludeFile
784 /* need this to make ANSI-style preprocessors happy */
785 #define ShLibIncludeFile <noop.rules>
788 #include ShLibIncludeFile
791 # define XBuildLibDir BuildLibDir
795 #define SharedLibX11 HasSharedLibraries
798 #define NormalLibX11 (!SharedLibX11 | ForceNormalLib)
801 #define DebugLibX11 NO /* debugged X library */
803 #ifndef ProfileLibX11
804 #define ProfileLibX11 NO /* profiled X library */
806 XLIBSRC = $(LIBSRC)/X11
809 #define SharedX11Rev 6.1
811 SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
813 ProjectUnsharedLibReferences(XONLY,X11,$(XLIBSRC),XBuildLibDir)
815 XLIBONLY = $(XONLYLIB)
817 #ifndef SharedLibXext
818 #define SharedLibXext HasSharedLibraries
820 #ifndef NormalLibXext
821 #define NormalLibXext (!SharedLibXext | ForceNormalLib)
824 #define DebugLibXext NO /* debugged Xext library */
826 #ifndef ProfileLibXext
827 #define ProfileLibXext NO /* profiled Xext library */
829 XEXTLIBSRC = $(LIBSRC)/Xext
831 #ifndef SharedXextRev
832 #define SharedXextRev 6.4
834 SharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),SOXEXTREV,SharedXextRev)
836 ProjectUnsharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),XBuildLibDir)
838 LINTEXTENSIONLIB = $(LINTEXTENSION)
839 DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
840 XLIB = $(EXTENSIONLIB) $(XONLYLIB)
841 LINTXLIB = $(LINTXONLYLIB)
844 #define SharedLibXau NO /* don't need shared form */
847 #define NormalLibXau (!SharedLibXau | ForceNormalLib)
850 #define DebugLibXau NO /* debugged auth library */
852 #ifndef ProfileLibXau
853 #define ProfileLibXau NO /* profiled auth library */
855 XAUTHSRC = $(LIBSRC)/Xau
858 #define SharedXauRev 6.0
860 SharedLibReferences(XAUTH,Xau,$(XAUTHSRC),SOXAUTHREV,SharedXauRev)
862 ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),XBuildLibDir)
865 #ifndef SharedLibXdmcp
866 #define SharedLibXdmcp NO /* don't need shared form */
868 #ifndef NormalLibXdmcp
869 #define NormalLibXdmcp (!SharedLibXdmcp | ForceNormalLib)
871 #ifndef DebugLibXdmcp
872 #define DebugLibXdmcp NO /* debugged XDMCP library */
874 #ifndef ProfileLibXdmcp
875 #define ProfileLibXdmcp NO /* profiled XDMCP library */
877 XDMCPLIBSRC = $(LIBSRC)/Xdmcp
879 #ifndef SharedXdmcpRev
880 #define SharedXdmcpRev 6.0
882 SharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),SOXDMCPREV,SharedXdmcpRev)
884 ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
888 #define SharedLibXmu HasSharedLibraries
891 #define NormalLibXmu (!SharedLibXmu | ForceNormalLib)
894 #define DebugLibXmu NO /* debugged Xmu library */
896 #ifndef ProfileLibXmu
897 #define ProfileLibXmu NO /* profiled Xmu library */
899 XMUSRC = $(LIBSRC)/Xmu
902 #define SharedXmuRev 6.0
904 SharedDSLibReferences(XMU,Xmu,$(XMUSRC),SOXMUREV,SharedXmuRev)
906 ProjectUnsharedLibReferences(XMU,Xmu,$(XMUSRC),XBuildLibDir)
910 #define SharedOldX HasSharedLibraries
913 #define NormalOldX (!SharedOldX | ForceNormalLib)
916 #define DebugOldX NO /* debugged old X library */
919 #define ProfileOldX NO /* profiled old X library */
921 OLDXLIBSRC = $(LIBSRC)/oldX
923 #ifndef SharedOldXRev
924 #define SharedOldXRev 6.0
926 SharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),SOOLDXREV,SharedOldXRev)
928 ProjectUnsharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),XBuildLibDir)
932 #define SharedLibXp HasSharedLibraries
935 #define NormalLibXp (!SharedLibXp | ForceNormalLib)
938 #define DebugLibXp NO /* debugged Xp library */
941 #define ProfileLibXp NO /* profiled Xp library */
943 XPLIBSRC = $(LIBSRC)/Xp
946 #define SharedXpRev 6.2
948 SharedLibReferences(XP,Xp,$(XPLIBSRC),SOXPREV,SharedXpRev)
950 ProjectUnsharedLibReferences(XP,Xp,$(XPLIBSRC),XBuildLibDir)
954 #define SharedLibXt HasSharedLibraries
957 #define NormalLibXt (!SharedLibXt | ForceNormalLib)
960 #define DebugLibXt NO /* debugged toolkit library */
963 #define ProfileLibXt NO /* profiled toolkit library */
965 TOOLKITSRC = $(LIBSRC)/Xt
968 #define SharedXtRev 6.0
970 SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev)
972 ProjectUnsharedLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),XBuildLibDir)
974 DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
975 XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
976 LINTXTOOLLIB = $(LINTXTOOLONLYLIB)
979 #define SharedLibXa (HasSharedLibraries & HasCplusplus)
982 /* #define NormalLibXa ((!SharedLibXa | ForceNormalLib) & HasCplusplus) */
983 #define NormalLibXa YES /* needed for current tests, will correct later */
986 #define DebugLibXa NO /* debugged audio library */
989 #define ProfileLibXa NO /* profiled audio library */
991 XALIBSRC = $(LIBSRC)/Xa
994 #define SharedXaRev 1.0
996 SharedLibReferences(XA,Xa,$(XALIBSRC),SOXAREV,SharedXaRev)
998 UnsharedLibReferences(XA,Xa,$(XALIBSRC))
1001 #ifndef SharedLibXaw
1002 #define SharedLibXaw HasSharedLibraries
1004 #ifndef NormalLibXaw
1005 #define NormalLibXaw (!SharedLibXaw | ForceNormalLib)
1008 #define DebugLibXaw NO /* debugged widget library */
1010 #ifndef ProfileLibXaw
1011 #define ProfileLibXaw NO /* profiled widget library */
1013 AWIDGETSRC = $(LIBSRC)/Xaw
1015 #ifndef SharedXawRev
1016 #define SharedXawRev 6.1
1018 SharedDSLibReferences(XAW,Xaw,$(AWIDGETSRC),SOXAWREV,SharedXawRev)
1020 ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGETSRC),XBuildLibDir)
1024 #define SharedLibXi HasSharedLibraries
1027 #define NormalLibXi (!SharedLibXi | ForceNormalLib)
1030 #define DebugLibXi NO /* debugged Xi library */
1032 #ifndef ProfileLibXi
1033 #define ProfileLibXi NO /* profiled Xi library */
1035 XILIBSRC = $(LIBSRC)/Xi
1038 #define SharedXiRev 6.0
1040 SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev)
1042 ProjectUnsharedLibReferences(XI,Xi,$(XILIBSRC),XBuildLibDir)
1045 #ifndef SharedLibXtst
1046 #define SharedLibXtst HasSharedLibraries
1048 #ifndef NormalLibXtst
1049 #define NormalLibXtst (!SharedLibXtst | ForceNormalLib)
1051 #ifndef DebugLibXtst
1052 #define DebugLibXtst NO /* debugged Xtst library */
1054 #ifndef ProfileLibXtst
1055 #define ProfileLibXtst NO /* profiled Xtst library */
1057 XTESTLIBSRC = $(LIBSRC)/Xtst
1059 #ifndef SharedXtstRev
1060 #define SharedXtstRev 6.1
1062 SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev)
1064 ProjectUnsharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),XBuildLibDir)
1067 #ifndef SharedLibPex
1068 #define SharedLibPex HasSharedLibraries
1070 #ifndef NormalLibPex
1071 #define NormalLibPex (!SharedLibPex | ForceNormalLib)
1074 #define DebugLibPex NO /* debugged PEX5 library */
1076 #ifndef ProfileLibPex
1077 #define ProfileLibPex NO /* profiled PEX5 library */
1079 PEXLIBSRC = $(LIBSRC)/PEX5
1081 #ifndef SharedPexRev
1082 #define SharedPexRev 6.0
1084 SharedLibReferences(PEX,PEX5,$(PEXLIBSRC),SOPEXREV,SharedPexRev)
1086 ProjectUnsharedLibReferences(PEX,PEX5,$(PEXLIBSRC),XBuildLibDir)
1089 #ifndef SharedLibXie
1090 #define SharedLibXie HasSharedLibraries
1092 #ifndef NormalLibXie
1093 #define NormalLibXie (!SharedLibXie | ForceNormalLib)
1096 #define DebugLibXie NO /* debugged XIE library */
1098 #ifndef ProfileLibXie
1099 #define ProfileLibXie NO /* profiled XIE library */
1101 XIELIBSRC = $(LIBSRC)/XIE
1103 #ifndef SharedXieRev
1104 #define SharedXieRev 6.0
1106 SharedLibReferences(XIE,XIE,$(XIELIBSRC),SOXIEREV,SharedXieRev)
1108 ProjectUnsharedLibReferences(XIE,XIE,$(XIELIBSRC),XBuildLibDir)
1111 #ifndef SharedLibPhigs
1112 #define SharedLibPhigs NO /* XXX - haven't made it sharable yet */
1114 #ifndef NormalLibPhigs
1115 #define NormalLibPhigs (!SharedLibPhigs | ForceNormalLib)
1117 PHIGSLIBSRC = $(LIBSRC)/PHIGS
1119 #ifndef SharedPhigsRev
1120 #define SharedPhigsRev 6.0
1122 SharedLibReferences(PHIGS,phigs,$(PHIGSLIBSRC),SOPHIGSREV,SharedPhigsRev)
1124 ProjectUnsharedLibReferences(PHIGS,phigs,$(PHIGSLIBSRC),XBuildLibDir)
1127 ProjectUnsharedLibReferences(XBSD,Xbsd,$(LIBSRC)/Xbsd,XBuildLibDir)
1129 #ifndef SharedLibICE
1130 #define SharedLibICE HasSharedLibraries
1132 #ifndef NormalLibICE
1133 #define NormalLibICE (!SharedLibICE | ForceNormalLib)
1136 #define DebugLibICE NO /* debugged ICE library */
1138 #ifndef ProfileLibICE
1139 #define ProfileLibICE NO /* profiled ICE library */
1141 ICESRC = $(LIBSRC)/ICE
1143 #ifndef SharedICERev
1144 #define SharedICERev 6.3
1146 SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev)
1148 ProjectUnsharedLibReferences(ICE,ICE,$(ICESRC),XBuildLibDir)
1152 #define SharedLibSM HasSharedLibraries
1155 #define NormalLibSM (!SharedLibSM | ForceNormalLib)
1158 #define DebugLibSM NO /* debugged SM library */
1160 #ifndef ProfileLibSM
1161 #define ProfileLibSM NO /* profiled SM library */
1163 SMSRC = $(LIBSRC)/SM
1166 #define SharedSMRev 6.0
1168 SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev)
1170 ProjectUnsharedLibReferences(SM,SM,$(SMSRC),XBuildLibDir)
1173 #ifndef SharedLibXkey
1174 #define SharedLibXkey HasSharedLibraries
1176 #ifndef NormalLibXkey
1177 #define NormalLibXkey (!SharedLibXkey | ForceNormalLib)
1179 #ifndef DebugLibXkey
1180 #define DebugLibXkey NO /* debugged Xkey library */
1182 #ifndef ProfileLibXkey
1183 #define ProfileLibXkey NO /* profiled Xkey library */
1185 XKEYSRC = $(LIBSRC)/Xkey
1187 #ifndef SharedXkeyRev
1188 #define SharedXkeyRev 6.0
1190 SharedLibReferences(XKEY,Xkey,$(XKEYSRC),SOXKEYREV,SharedXkeyRev)
1192 ProjectUnsharedLibReferences(XKEY,Xkey,$(XKEYSRC),XBuildLibDir)
1196 #define SharedLibFS NO /* for now */
1199 #define NormalLibFS (!SharedLibFS | ForceNormalLib)
1202 #define DebugLibFS NO /* debugged FS library */
1204 #ifndef ProfileLibFS
1205 #define ProfileLibFS NO /* profiled FS library */
1207 FSLIBSRC = $(LIBSRC)/FS
1210 #define SharedFSRev 6.0
1212 SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev)
1214 ProjectUnsharedLibReferences(FS,FS,$(FSLIBSRC),XBuildLibDir)
1217 FONTLIBSRC = $(LIBSRC)/font
1218 ProjectUnsharedLibReferences(FONT,font,$(FONTLIBSRC),XBuildLibDir)
1221 XKBFILELIBSRC = $(LIBSRC)/xkbfile
1222 ProjectUnsharedLibReferences(XKBFILE,xkbfile,$(XKBFILELIBSRC),XBuildLibDir)
1223 #ifndef XkbClientDepLibs
1225 #define XkbClientDepLibs $(DEPXKBFILELIB)
1227 #define XkbClientDepLibs /**/
1230 #ifndef XkbClientLibs
1232 #define XkbClientLibs $(XKBFILELIB)
1234 #define XkbClientLibs /**/
1238 XKBCOMPCMD = $(BINDIR)/xkbcomp
1240 XKBCOMPSRC = $(PROGRAMSRC)/xkbcomp
1241 XKBCOMPCMD = $(CLIENTENVSETUP) $(XBUILDBINDIR)/xkbcomp
1243 #else /* !BuildXKBlib */
1244 #ifndef XkbClientDepLibs
1245 #define XkbClientDepLibs
1247 #ifndef XkbClientLibs
1248 #define XkbClientLibs
1250 #endif /* BuildXKBlib */
1252 #ifndef XawClientDepLibs
1253 #define XawClientDepLibs $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
1255 #ifndef XawClientLibs
1256 #define XawClientLibs $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
1259 #ifndef NeedDefaultDepLibs
1260 #define NeedDefaultDepLibs YES
1263 #if NeedDefaultDepLibs
1265 * Individual libraries should override this
1267 #if HasSharedLibraries || defined(UseInstalled)
1268 DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
1270 DEPLIBS = $(LOCAL_LIBRARIES)
1272 DEPLIBS1 = $(DEPLIBS)
1273 DEPLIBS2 = $(DEPLIBS)
1274 DEPLIBS3 = $(DEPLIBS)
1275 DEPLIBS4 = $(DEPLIBS)
1276 DEPLIBS5 = $(DEPLIBS)
1277 DEPLIBS6 = $(DEPLIBS)
1278 DEPLIBS7 = $(DEPLIBS)
1279 DEPLIBS8 = $(DEPLIBS)
1280 DEPLIBS9 = $(DEPLIBS)
1281 DEPLIBS10 = $(DEPLIBS)
1282 #endif /* NeedDefaultDepLibs */
1286 * InstallAppDefaults - simple rules to install application default file
1288 #ifndef InstallAppDefaults
1289 #define InstallAppDefaults(class) InstallAppDefaultsLong(class,class)
1290 #endif /* InstallAppDefaults */
1293 * InstallAppDefaultsLong - general rule to install application default file
1294 * if the InstallAppDefFiles configuration parameter is set.
1296 #ifndef InstallAppDefaultsLong
1297 #if InstallAppDefFiles
1298 #define InstallAppDefaultsLong(file,class) @@\
1299 LinkVarDirectory(app-defaults,.,app-defaults,.) @@\
1300 InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
1302 #define InstallAppDefaultsLong(file,class) @@\
1303 LinkVarDirectory(app-defaults,.,app-defaults,.) @@\
1304 InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
1305 #endif /* InstallAppDefFiles */
1306 #endif /* InstallAppDefaultsLong */
1309 * MakeFontsDir - generate rules to build fonts.dir database.
1311 #ifndef MakeFontsDir
1312 #define MakeFontsDir(deplist) @@\
1315 fonts.dir: deplist @@\
1316 RunProgram(MKFONTDIR,.) @@\
1319 RemoveFile(fonts.dir)
1320 #endif /* MakeFontsDir */
1324 * MakeFonts - generate rules to build font database.
1327 #define MakeFonts() @@\
1330 MakeFontsDir($(OBJS)) @@\
1333 RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
1334 #endif /* MakeFonts */
1338 * InstallFontObjs - generate rules to install font files
1340 #ifndef InstallFontObjs
1341 #define InstallFontObjs(objs,dest) @@\
1342 InstallMultipleFlags(objs,dest,$(INSTDATFLAGS)) @@\
1344 InstallTarget(install,fonts.dir,$(INSTDATFLAGS),dest)
1345 #endif /* InstallFontObjs */
1349 * InstallFonts - generate rules to install font files
1351 #ifndef InstallFonts
1352 #define InstallFonts(dest) @@\
1353 InstallFontObjs($(OBJS),dest)
1354 #endif /* InstallFonts */
1358 * InstallFontAliases - generate rules to install font aliases databases.
1360 #ifndef InstallFontAliases
1361 #define InstallFontAliases(dest) @@\
1362 InstallTarget(install,fonts.alias,$(INSTDATFLAGS),dest)
1363 #endif /* InstallFontAliases */
1366 #define FontSrc(basename) basename.bdf
1370 #define FontBaseObj(basename)basename.pcf
1374 * InstallFontScale - generate rules to install font scale database.
1376 #ifndef InstallFontScale
1377 #define InstallFontScale(dest) @@\
1378 InstallTarget(install,fonts.scale,$(INSTDATFLAGS),dest)
1379 #endif /* InstallFontScale */
1382 * UncompressedFontTarget
1384 #ifndef UncompressedFontTarget
1385 #define UncompressedFontTarget(basename) @@\
1386 FontBaseObj(basename): FontSrc(basename) @@\
1387 RunProgram(FONTC,$(FONTCFLAGS) $? -o $@)
1388 #endif /* UncompressedFontTarget */
1391 * CompressedFontTarget
1393 #ifndef GzipFontCompression
1394 #define GzipFontCompression NO
1397 #ifndef CompressedFontTarget
1398 #if GzipFontCompression
1399 #define CompressedFontTarget(basename) @@\
1400 FontBaseObj(basename).gz: FontSrc(basename) @@\
1401 RunProgram(FONTC,$(FONTCFLAGS) $?) | $(GZIPCMD) > $@
1403 #define CompressedFontTarget(basename) @@\
1404 FontBaseObj(basename).Z: FontSrc(basename) @@\
1405 RunProgram(FONTC,$(FONTCFLAGS) $?) | $(COMPRESS) > $@
1407 #endif /* CompressedFontTarget */
1409 #ifdef CompressAllFonts
1410 #define FontTarget(basename) CompressedFontTarget(basename)
1411 #if GzipFontCompression
1412 #define FontObj(basename) FontBaseObj(basename).gz
1414 #define FontObj(basename) FontBaseObj(basename).Z
1417 #define FontTarget(basename) UncompressedFontTarget(basename)
1418 #define FontObj(basename) FontBaseObj(basename)
1419 #endif /* CompressAllFonts */
1425 #define MakeXkbDir(basedir,subdir) @@\
1426 all:: Concat(subdir,.dir) @@\
1428 Concat(subdir,.dir): @@\
1429 $(XKBCOMPCMD) -lfhlpR -o Concat(subdir,.dir) '*' @@\
1431 InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir) @@\
1434 $(RM) Concat(subdir,.dir)
1438 * PostProcessTroffPS - by default moves the working output into place,
1439 * but can be a hook for more complicated post-processing.
1441 #ifndef PostProcessTroffPS
1442 #define PostProcessTroffPS(temp,real) $(MV) temp real
1445 #ifndef MakeSimpleDoc
1446 #define MakeSimpleDoc(file,srcs) @@\
1448 .PRECIOUS: file.PS @@\
1451 -$(TROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw > file.nPS \@@\
1452 && PostProcessTroffPS(file.nPS,$@) @@\
1453 @if grep '^[^1-9.]' index.raw; then exit 1; else test $$? = 1; fi @@\
1456 $(NROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw > $@ @@\
1459 $(RM) index.raw file.nPS file.PS file.txt
1463 #define MakeTblDoc(file,srcs) @@\
1465 .PRECIOUS: file.PS @@\
1468 -$(TBL) $(XDOCMACROS) srcs | $(TROFF) $(MSMACROS) 2> index.raw > file.nPS \@@\
1469 && PostProcessTroffPS(file.nPS,$@) @@\
1470 @if grep '^[^1-9.]' index.raw; then exit 1; else test $$? = 1; fi @@\
1473 $(TBL) $(XDOCMACROS) srcs | $(NROFF) $(MSMACROS) 2> index.raw | $(COL) > $@ @@\
1476 $(RM) index.raw file.nPS file.PS file.txt
1480 #define MakeEqnDoc(file,srcs) @@\
1482 .PRECIOUS: file.PS @@\
1485 -$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(TROFF) $(MSMACROS) 2> index.raw > file.nPS \@@\
1486 && PostProcessTroffPS(file.nPS,$@) @@\
1487 @if grep '^[^1-9.]' index.raw; then exit 1; else test $$? = 1; fi @@\
1490 $(TBL) $(XDOCMACROS) srcs | $(NEQN) | $(NROFF) $(MSMACROS) 2> index.raw | $(COL) > $@ @@\
1493 $(RM) index.raw file.nPS file.PS file.txt
1496 #ifndef MakeDocIndex
1497 #define MakeDocIndex(file,srcs) @@\
1498 all:: file.idx.PS @@\
1500 file.idx.PS: srcs index.raw @@\
1501 tail -1 index.raw > index.pageno @@\
1502 grep '^[1-9]' index.raw | sort -f '-t:' +1 -3 +0n -1n | awk -f $(DOCUTILSRC)/fixindex.awk | awk -f $(DOCUTILSRC)/block.awk > index.troff @@\
1503 cat srcs $(XIDXMACROS) index.troff | $(TROFF) -me > file.idx.nPS \@@\
1504 && $(MV) file.idx.nPS $@ @@\
1505 $(RM) index.troff index.pageno @@\
1508 $(RM) index.troff index.pageno file.idx.nPS file.idx.PS
1511 #ifndef MakeLatexDoc
1513 #define MakeLatexDoc(file,src) @@\
1519 file.PS: file.dvi @@\
1520 $(DVIPS) -o file.nPS file && $(MV) file.nPS $@ @@\
1523 RemoveFiles(file.nPS file.PS file.dvi file.log) @@\
1524 RemoveFiles(file.aux file.toc file.lof file.lot)
1525 #else /* HasLatex */
1526 #define MakeLatexDoc(file,src) @@\
1529 @echo "cannot make file.PS: no latex on this system"; exit 1
1530 #endif /* HasLatex (else) */
1531 #endif /* MakeLatexDoc */