XCOMM ---------------------------------------------------------------------- XCOMM X Window System Build Parameters and Rules XCOMM ---------------------------------------------------------------------- /*************************************************************************** * * * DEFAULT DEFINITIONS * * * * The following section contains defaults for things that can * * overridden in the various *.cf and site.def files. DO NOT EDIT! * * * **************************************************************************/ #define ProjectX 604 /* do *not* change this line */ /* The following project-specific rules are defined at the end of this file: * * InstallAppDefaults (class) */ /* X.Org release string */ #ifndef XOrgReleaseString # if defined XorgVersionString # define XOrgReleaseString Release XorgVersionString # else # define XOrgReleaseString Release 6.9 # endif #endif #ifndef XOrgManNameString #define XOrgManNameString X Version 11 #endif #ifndef XOrgNameString # define XOrgNameString The X.Org Foundation #endif #ifndef XOrgNameStringShort # define XOrgNameStringShort X.Org #endif #ifndef XOrgStdFilePrefix # define XOrgStdFilePrefix xorg #endif #ifndef XOrgWebSupportAddress # define XOrgWebSupportAddress http://wiki.X.Org #endif XORGRELSTRING = XorgManVersionString XORGMANNAME = XOrgManNameString #ifndef XOrgManDefs #define XOrgManDefs -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" #endif #ifndef XVendorManNameString #define XVendorManNameString XOrgManNameString #endif #ifndef XVendorManVersionString #define XVendorManVersionString XOrgReleaseString #endif #ifndef XVendorNameString # define XVendorNameString XOrgNameString #endif #ifndef XVendorNameStringShort # define XVendorNameStringShort XOrgNameStringShort #endif #ifndef XVendorWebSupport # define XVendorWebSupport XOrgWebSupportAddress #endif #ifndef XVendorStdFilePrefix # define XVendorStdFilePrefix XOrgStdFilePrefix #endif #ifndef VendorManDefs #define VendorManDefs -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)" #endif #ifndef VendorDefines #define VendorDefines -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"' #endif #ifndef VendorSupportDefines # if defined XVendorWebSupport # define VendorSupportDefines -D__VENDORDWEBSUPPORT__='"$(VENDORWEBSUPPORT)"' # endif #endif /* * X-specific things */ #if CrossCompiling && !defined(UseInstalledOnCrossCompile) # if defined(UseInstalled) # define UseInstalledOnCrossCompile YES # else # define UseInstalledOnCrossCompile NO # endif #else # define UseInstalledOnCrossCompile NO #endif #ifndef HasXServer #define HasXServer YES #endif /* xorg.cf sets XorgServer to YES - to build Xorg you must include xorg.cf * from the .cf file for your platform. */ #ifndef XorgServer #define XorgServer NO #endif #ifndef BuildServer #define BuildServer HasXServer #endif #ifndef BuildServersOnly #define BuildServersOnly NO #endif #ifndef BuildClients #define BuildClients !BuildServersOnly #endif #ifndef BuildDocs #define BuildDocs !BuildServersOnly #endif #ifndef BuildLibraries #define BuildLibraries (!BuildServersOnly || BuildClients) #endif #ifndef BuildLibrariesForXServers #define BuildLibrariesForXServers BuildServer #endif #ifndef BuildX11Lib #define BuildX11Lib BuildLibraries #endif #ifndef InstallXcmsTxt #define InstallXcmsTxt YES #endif /* * This disables XLOCALEDIR. */ #ifndef DisableXLocaleDirEnv #define DisableXLocaleDirEnv NO #endif #ifndef BuildLoadableXlibXcursor #define BuildLoadableXlibXcursor (HasDlopen && SharedLibX11) #endif #ifndef BuildTestExt #define BuildTestExt YES #endif #ifndef BuildSyncExt #define BuildSyncExt YES #endif #ifndef BuildXCMiscExt #define BuildXCMiscExt YES #endif #ifndef BuildShapeExt #define BuildShapeExt YES #endif #ifndef BuildBigReqsExt #define BuildBigReqsExt YES #endif #ifndef BuildXInputExt #define BuildXInputExt NO #endif #ifndef BuildDBE #define BuildDBE YES #endif #ifndef BuildDPMS #define BuildDPMS YES #endif #ifndef BuildXKB #define BuildXKB YES #endif #ifndef BuildXKBlib #define BuildXKBlib (BuildXKB && !BuildServersOnly) #endif /* * WARNING: Setting UseXKBInClients to YES cause incompatibilities * between many clients (such as xterm) and pre-XKB shared * libraries. */ #ifndef UseXKBInClients #define UseXKBInClients NO /* use XKB in "normal" clients? */ #endif #ifndef BuildRECORD #define BuildRECORD YES #endif #ifndef BuildRECORDlib #define BuildRECORDlib BuildRECORD #endif #ifndef BuildXinerama #define BuildXinerama NO #endif #ifndef BuildXCSecurity #define BuildXCSecurity YES #endif #ifndef HasPlugin /* Browser plugins are shared libraries - only build them if the OS * supports shared libs. */ #define HasPlugin HasSharedLibraries #endif #ifndef BuildPlugin #define BuildPlugin HasPlugin #endif #ifndef BuildScreenSaverExt #define BuildScreenSaverExt NO #endif #ifndef BuildXF86BigfontExt #define BuildXF86BigfontExt NO #endif #ifndef BuildXResExt #define BuildXResExt NO #endif #ifndef BuildXvExt #define BuildXvExt NO #endif #ifndef BuildXvMCExt #define BuildXvMCExt NO #endif #ifndef BuildGlxExt #define BuildGlxExt NO #endif #ifndef BuildOSMesaLib #define BuildOSMesaLib BuildGlxExt #endif #ifndef BuildRender #define BuildRender YES #endif #ifndef BuildRandR #define BuildRandR YES #endif #ifndef BuildXfixes #define BuildXfixes YES #endif #ifndef BuildDamage #define BuildDamage BuildXfixes #endif #ifndef BuildComposite #define BuildComposite (BuildXfixes && BuildDamage) #endif #ifndef BuildCompositeLibrary #define BuildCompositeLibrary !BuildServersOnly && BuildXfixesLibrary #endif #ifndef BuildRootless #define BuildRootless NO #endif #ifndef DefaultCursorTheme #define DefaultCursorTheme core #endif #ifndef BuildMiscDocs #define BuildMiscDocs NO #endif #ifndef BuildSpecsDocs #define BuildSpecsDocs NO #endif #ifndef BuildAllSpecsDocs #define BuildAllSpecsDocs NO #endif #ifndef InstallHardcopyDocs #define InstallHardcopyDocs YES #endif #ifndef InstallMiscManPages #define InstallMiscManPages YES #endif #ifndef FSUseSyslog #define FSUseSyslog NO #endif #ifndef InstallLibManPages #define InstallLibManPages YES #endif #ifndef UseConfDirForXkb #define UseConfDirForXkb YES #endif #ifndef ThreadedX #if HasPosixThreads || HasCThreads #define ThreadedX YES /* multi-threaded libraries */ #else #define ThreadedX NO #endif #endif #ifndef ThreadedProject #define ThreadedProject ThreadedX #endif #ifndef NeedUIThrStubs #define NeedUIThrStubs NO #endif #ifndef HasWChar32 #define HasWChar32 SystemV4 #endif #ifndef HasXdmAuth #define HasXdmAuth NO /* if you can not use XDM-AUTH* */ #endif #ifndef PrimaryScreenResolution #define PrimaryScreenResolution 72 /* a common resolution */ #endif #ifndef DefaultFontPath # if PrimaryScreenResolution < 88 /* (75 + 100) / 2 */ # define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/ # else # define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/ # endif #endif #ifndef DefaultFSFontPath # define DefaultFSFontPath DefaultFontPath #endif #ifndef UseMemLeak #define UseMemLeak NO #endif #ifndef ServerErrorDefines #define ServerErrorDefines /**/ #endif /* * NOTE: IPv6Flags could be tacked on to either ConnectionFlags or * ExtraConnectionDefs. Here, we choose the later in order to * maximise exposure of the IPv6 code (a number of .def files * contain ConnectionFlags overrides). */ #ifndef BuildIPv6 /* If the OS also #define's AF_INET6 */ #define BuildIPv6 YES #endif #ifndef IPv6Flags #if BuildIPv6 #define IPv6Flags -DIPv6 #else #define IPv6Flags /**/ #endif #endif /* * Assume by default that IPv6 sockets also listen for IPv4 connections. * XDMCP support currently only works for both IPv4 and IPv6 when this is * true. */ #ifndef IPv6SocketsAlsoIPv4 #define IPv6SocketsAlsoIPv4 YES #endif #ifndef ConnectionFlags #define ConnectionFlags -DTCPCONN -DUNIXCONN #endif #if HasStickyDirBit STICKY_DEFINES = -DHAS_STICKY_DIR_BIT #endif #if HasFchown FCHOWN_DEFINES = -DHAS_FCHOWN #endif #ifndef ExtraConnectionDefs #define ExtraConnectionDefs $(STICKY_DEFINES) $(FCHOWN_DEFINES) IPv6Flags #endif #ifndef ProjectThreadsDefines #define ProjectThreadsDefines -DXTHREADS #endif #if Malloc0ReturnsNull #ifndef XMalloc0ReturnsNullDefines #define XMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines #endif #ifndef XtMalloc0ReturnsNullDefines #define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC #endif #endif #ifndef ExtensionOSDefines #define ExtensionOSDefines /**/ #endif #ifndef ExtensionDefines #ifndef XTestDefines #if BuildTestExt #define XTestDefines -DXTEST #else #define XTestDefines /**/ #endif #endif #ifndef XSyncDefines #if BuildSyncExt #define XSyncDefines -DXSYNC #else #define XSyncDefines /**/ #endif #endif #ifndef XCMiscDefines #if BuildXCMiscExt #define XCMiscDefines -DXCMISC #else #define XCMiscDefines /**/ #endif #endif #ifndef ShapeDefines #if BuildShapeExt #define ShapeDefines -DSHAPE #else #define ShapeDefines /**/ #endif #endif #ifndef GlxDefines #if BuildGlxExt #ifdef GlxExtraDefines #define GlxDefines -DGLXEXT GlxExtraDefines #else #define GlxDefines -DGLXEXT #endif #else #define GlxDefines /**/ #endif #endif #ifndef DRMSrcDir #define DRMSrcDir $(TOP)/extras/drm #endif #ifndef MesaSrcDir #define MesaSrcDir $(TOP)/extras/Mesa #endif #ifndef OglSampleSrcDir #define OglSampleSrcDir $(TOP)/extras/ogl-sample #endif #ifndef ShmDefines #if HasShm #define ShmDefines -DMITSHM #else #define ShmDefines /**/ #endif #endif #ifndef XInputDefines #if BuildXInputExt #define XInputDefines -DXINPUT #else #define XInputDefines /**/ #endif #endif #ifndef XineramaDefines #if BuildXinerama #define XineramaDefines -DPANORAMIX #else #define XineramaDefines /**/ #endif #endif #ifndef XkbDefines #if BuildXKB #define XkbDefines -DXKB #else #define XkbDefines /**/ #endif #endif #ifndef XkbClientDefines #if UseXKBInClients #define XkbClientDefines -DXKB #else #define XkbClientDefines /**/ #endif #endif #ifndef XkbServerDefines #define XkbServerDefines /**/ #endif #ifndef XkbDefRulesDefines #define XkbDefRulesDefines -D__XKBDEFRULES__='"$(XKBDEFRULES)"' #endif # ifndef XkbDefaultRulesFile # define XkbDefaultRulesFile XVendorStdFilePrefix #endif #ifndef BigReqDefines #if BuildBigReqsExt #define BigReqDefines -DBIGREQS #else #define BigReqDefines /**/ #endif #endif #ifndef DBEDefines #if BuildDBE #define DBEDefines -DDBE #else #define DBEDefines /**/ #endif #endif #ifndef PervasiveDBEDefines #define PervasiveDBEDefines /* -DNEED_DBE_BUF_BITS -DNEED_DBE_BUF_VALIDATE */ #endif #ifndef ScreenSaverExtensionDefines #if BuildScreenSaverExt #define ScreenSaverExtensionDefines -DSCREENSAVER #else #define ScreenSaverExtensionDefines /**/ #endif #endif #ifndef XF86BigfontExtensionDefines #if BuildXF86BigfontExt #define XF86BigfontExtensionDefines -DXF86BIGFONT #else #define XF86BigfontExtensionDefines /**/ #endif #endif #ifndef XvExtensionDefines #if BuildXvExt #define XvExtensionDefines -DXV #else #define XvExtensionDefines /**/ #endif #endif #ifndef XvMCExtensionDefines #if BuildXvMCExt #define XvMCExtensionDefines -DXVMC #else #define XvMCExtensionDefines /**/ #endif #endif #ifndef XResExtensionDefines #if BuildXResExt #define XResExtensionDefines -DRES #else #define XResExtensionDefines /**/ #endif #endif #ifndef RECORDDefines #if BuildRECORD #define RECORDDefines -DXRECORD #else #define RECORDDefines /**/ #endif #endif #ifndef XCSecurityDefines #if BuildXCSecurity #define XCSecurityDefines -DXCSECURITY #else #define XCSecurityDefines /**/ #endif #endif #ifndef DPMSDefines #if BuildDPMS #define DPMSDefines -DDPMSExtension #else #define DPMSDefines /**/ #endif #endif #ifndef RenderDefines #if BuildRender #define RenderDefines -DRENDER #else #define RenderDefines /**/ #endif #endif #ifndef RandRDefines #if BuildRandR #define RandRDefines -DRANDR #else #define RandRDefines /**/ #endif #endif #ifndef XfixesDefines #if BuildXfixes #define XfixesDefines -DXFIXES #else #define XfixesDefines /**/ #endif #endif #ifndef XDamageDefines #if BuildDamage #define XDamageDefines -DDAMAGE #else #define XDamageDefines /**/ #endif #endif #ifndef CompositeDefines #if BuildComposite #define CompositeDefines -DCOMPOSITE #else #define CompositeDefines /**/ #endif #endif #ifndef RootlessDefines #if BuildRootless #define RootlessDefines -DROOTLESS #else #define RootlessDefines /**/ #endif #endif #ifndef SitePervasiveExtensionDefines #define SitePervasiveExtensionDefines /**/ #endif #ifndef PervasiveExtensionDefines #define PervasiveExtensionDefines \ PervasiveDBEDefines \ ShapeDefines \ XInputDefines \ XkbDefines \ XCSecurityDefines \ XF86BigfontExtensionDefines \ DPMSDefines \ SitePervasiveExtensionDefines \ RenderDefines \ RandRDefines \ XineramaDefines \ XfixesDefines \ XDamageDefines \ CompositeDefines \ RootlessDefines #endif #ifndef SiteExtensionDefines #define SiteExtensionDefines /**/ #endif #ifndef BaseExtensionDefines #define BaseExtensionDefines \ DBEDefines \ XTestDefines \ XSyncDefines \ XCMiscDefines \ RECORDDefines \ ShmDefines \ BigReqDefines \ DPMSDefines \ ScreenSaverExtensionDefines \ XvExtensionDefines \ XvMCExtensionDefines \ GlxDefines \ SiteExtensionDefines \ XResExtensionDefines #endif #define ExtensionDefines BaseExtensionDefines ExtensionOSDefines #endif /* ExtensionDefines */ #ifndef HasStrcasecmp #define HasStrcasecmp YES #endif #ifndef StrcasecmpDefines # if HasStrcasecmp # define StrcasecmpDefines /**/ # else # define StrcasecmpDefines -DNEED_STRCASECMP # endif #endif #ifndef HasDevRandom #define HasDevRandom NO #endif #ifndef HasArc4Random #define HasArc4Random NO #endif #ifndef RandomDefines # if HasDevRandom # ifndef RandomDeviceFile # define RandomDeviceFile /dev/random # endif # ifndef ExtraRandomDefines # ifdef PollDevRandom /* Set if can poll() /dev/random to avoid blocking */ # define ExtraRandomDefines -DPOLL_DEV_RANDOM # else # define ExtraRandomDefines /**/ # endif # endif # define RandomDefines -DDEV_RANDOM=\"RandomDeviceFile\" ExtraRandomDefines # elif HasArc4Random # define RandomDefines -DARC4_RANDOM # else # define RandomDefines /**/ # endif #endif #ifndef PreferXdmcpIPv6 #define PreferXdmcpIPv6 NO #endif #ifndef ServerXdmcpIPv6Defines #if BuildIPv6 && !IPv6SocketsAlsoIPv4 && !PreferXdmcpIPv6 #define ServerXdmcpIPv6Defines -DXDMCP_NO_IPV6 #else #define ServerXdmcpIPv6Defines /**/ #endif #endif #ifndef ServerXdmcpDefines #define ServerXdmcpDefines -DXDMCP ServerXdmcpIPv6Defines #endif #ifndef ServerOSDefines #define ServerOSDefines /**/ #endif #ifndef ServerExtraDefines #define ServerExtraDefines /* -DPIXPRIV */ #endif #ifndef ServerAssertDefines #define ServerAssertDefines -DNDEBUG #endif #ifndef ServerSnprintfDefines #if !HasSnprintf #define ServerSnprintfDefines -DNEED_SNPRINTF #else #define ServerSnprintfDefines /**/ #endif #endif #ifndef ServerReallocarrayDefines #if HasReallocarray #define ServerReallocarrayDefines -DHAVE_REALLOCARRAY #else #define ServerReallocarrayDefines /**/ #endif #endif #ifndef ServerDefines #define ServerDefines StandardDefines PervasiveExtensionDefines ServerExtraDefines ServerAssertDefines ServerSnprintfDefines ServerReallocarrayDefines #endif #ifndef MesaUseX86Asm /* The current Mesa X86 ASM code doesn't work well with SVR4 shared libs. */ # if HasX86Support && !SystemV4 # define MesaUseX86Asm YES # else # define MesaUseX86Asm NO # endif #endif #ifndef MesaUseMMX #ifdef HasMMXSupport #define MesaUseMMX HasMMXSupport #else #define MesaUseMMX NO #endif #endif #ifndef MesaUse3DNow #ifdef Has3DNowSupport #define MesaUse3DNow Has3DNowSupport #else #define MesaUse3DNow NO #endif #endif #ifndef MesaUseSSE #ifdef HasSSESupport #define MesaUseSSE HasSSESupport #else #define MesaUseSSE NO #endif #endif /* For compatibility */ #ifdef HasSSESupport #undef HasKatmaiSupport #define HasKatmaiSupport HasSSESupport #endif #undef MesaUseKatmai #define MesaUseKatmai MesaUseSSE #ifndef UsbMouseSupport # define UsbMouseSupport NO #endif #ifndef DefaultFSConfigFile #define DefaultFSConfigFile $(LIBDIR)/fs/config #endif #ifndef BinDir #ifdef ProjectRoot #define BinDir Concat(ProjectRoot,/bin) #else #define BinDir /usr/bin/X11 #endif #endif #ifndef BuildIncRoot #define BuildIncRoot $(TOP)/exports #endif #ifndef BuildIncDir #define BuildIncDir $(BUILDINCROOT)/include #endif #ifndef BuildIncTop #define BuildIncTop ../.. /* relative to BuildIncDir */ #endif #ifndef XTop # if ImportX11 # define XTop $(TOP)/imports/x11 # else # define XTop $(TOP) # endif #endif #ifndef XBuildIncRoot # if ImportX11 # define XBuildIncRoot $(XTOP) # else # define XBuildIncRoot $(XTOP)/exports # endif #endif #ifndef XBuildIncDir # define XBuildIncDir $(XBUILDINCROOT)/include/X11 #endif #ifndef XBuildIncTop # define XBuildIncTop ../../.. #endif #ifndef XBuildBinDir # define XBuildBinDir $(XBUILDINCROOT)/bin #endif #ifndef BuildBinDir #define BuildBinDir $(TOP)/exports/bin #endif #ifndef BuildBinTop #define BuildBinTop ../.. /* relative to BuildBinDir */ #endif #ifndef BuildLibDir #define BuildLibDir $(TOP)/exports/lib #endif #ifndef BuildLibTop #define BuildLibTop ../.. /* relative to BuildLibDir */ #endif #ifndef BuildModuleDir #define BuildModuleDir $(BUILDLIBDIR)/modules #endif #ifndef BuildI18NDir # define BuildI18NDir $(BUILDLIBDIR)/locale #endif #ifndef BuildModuleTop #define BuildModuleTop $(BUILDLIBTOP)/.. #endif #ifndef LibDir # ifdef ProjectRoot # define LibDir Concat(ProjectRoot,/lib/nx/X11) # else # define LibDir /usr/lib/X11 # endif #endif #ifndef ModuleDir #define ModuleDir $(USRLIBDIR)/modules #endif #ifndef InstSrcDir #define InstSrcDir Concat(ProjectRoot,/src) #endif #ifndef LibexecDir #ifdef ProjectRoot #define LibexecDir Concat(ProjectRoot,/libexec) #else #define LibexecDir /usr/X11/libexec #endif #endif #ifndef ConfigDir #define ConfigDir $(LIBDIR)/config #endif #ifndef DocDir #define DocDir $(LIBDIR)/doc #endif #ifndef DocHtmlDir #define DocHtmlDir $(DOCDIR)/html #endif #ifndef DocPsDir #define DocPsDir $(DOCDIR)/PostScript #endif #ifndef DocPdfDir #define DocPdfDir $(DOCDIR)/PDF #endif #ifndef FontDir #define FontDir $(USRDATADIR)/fonts #endif #ifndef FontEncDir #define FontEncDir $(USRDATADIR)/fonts/encodings #endif #ifndef AdmDir #define AdmDir /usr/adm #endif #ifndef XinitDir #define XinitDir $(LIBDIR)/xinit #endif #ifndef XdmDir #define XdmDir $(LIBDIR)/xdm #endif #ifndef XdmVarDir #define XdmVarDir $(VARLIBDIR)/xdm #endif #ifndef XdmAuthDir #define XdmAuthDir $(LIBDIR)/xdm #endif #ifndef XdmConfigurationSubdirectory /* under xdm sources */ #define XdmConfigurationSubdirectory config #endif #ifndef TwmDir #define TwmDir $(LIBDIR)/twm #endif #ifndef XsmDir #define XsmDir $(LIBDIR)/xsm #endif #ifndef NlsDir #define NlsDir $(LIBDIR)/nls #endif #ifndef XLocaleDir #define XLocaleDir $(LIBDIR)/locale #endif #ifndef ProxyManagerDir #define ProxyManagerDir $(LIBDIR)/proxymngr #endif #ifndef ServerConfigDir #define ServerConfigDir $(LIBDIR)/xserver #endif #ifndef EtcX11Directory #define EtcX11Directory /etc/X11 #endif #ifndef InstallSecurityConfig #define InstallSecurityConfig YES /* Install sample security policy */ #endif #ifndef XFileSearchPathBase /* avoid SCCS keyword */ #define XFileSearchPathBase Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S) #endif #ifndef XFileSearchPathDefault #ifdef XAppLoadDir /* avoid SCCS keyword */ #define XFileSearchPathDefault XAppLoadDir/Concat(%N%C,%S):XAppLoadDir/%N%S:XFileSearchPathBase #else #define XFileSearchPathDefault XFileSearchPathBase #endif #endif #ifndef XAppLoadDir #define XAppLoadDir $(LIBDIR)/app-defaults #endif #ifndef XtErrorPrefix #define XtErrorPrefix /* as empty string */ #endif #ifndef XtExtraDefines #define XtExtraDefines /* as empty string */ #endif #ifndef XtWarningPrefix #define XtWarningPrefix /* as empty string */ #endif #ifndef OsNameDefines #define OsNameDefines /* as nothing */ #endif #ifndef DefaultUserPath /* for xdm */ #define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb #endif #ifndef DefaultSystemPath /* for xdm */ #define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR):/usr/ucb #endif #ifndef DefaultSystemShell /* for xdm to set in SHELL */ #define DefaultSystemShell BourneShell #endif #ifndef ContribDir #define ContribDir $(XTOP)/../contrib /* contrib is outside core tree */ #endif #ifndef UnsupportedDir #define UnsupportedDir $(XTOP)/unsupported #endif #ifndef AllocateLocalDefines #define AllocateLocalDefines /**/ #endif #ifndef ForceNormalLib #define ForceNormalLib (HasGcc && !HasGcc2) #endif #ifndef PsWrap # ifndef UseInstalled # define PsWrap $(PSWRAPSRC)/pswrap # else # define PsWrap pswrap # endif #endif #ifndef ResourceConfigurationManagement #define ResourceConfigurationManagement YES #endif #ifndef XtPopdownConformance #define XtPopdownConformance YES #endif XCOMM ----------------------------------------------------------------------- XCOMM X Window System make variables; these need to be coordinated with rules /* * This list must be reflected in the DIRS_TO_BUILD list in the top-level * Makefile. */ XTOP = XTop BINDIR = BinDir /* programs */ BUILDINCROOT = BuildIncRoot /* base of build loc */ BUILDINCDIR = BuildIncDir /* built headers */ BUILDINCTOP = BuildIncTop /* top relative to BUILDINCDIR */ BUILDLIBDIR = BuildLibDir /* built libraries */ BUILDLIBTOP = BuildLibTop /* top relative to BUILDLIBDIR */ BUILDBINDIR = BuildBinDir /* built binaries */ BUILDBINTOP = BuildBinTop /* top relative to BUILDBINDIR */ BUILDMODULEDIR = BuildModuleDir /* built server modules */ BUILDI18NDIR = BuildI18NDir /* built i81n modules */ BUILDMODULETOP = BuildModuleTop /* top relative to BUILDMODULEDIR */ XBUILDINCROOT = XBuildIncRoot /* base of X build loc */ XBUILDINCDIR = XBuildIncDir XBUILDINCTOP = XBuildIncTop XBUILDBINDIR = XBuildBinDir INCDIR = $(INCROOT) /* header files */ ADMDIR = AdmDir /* server log files */ LIBDIR = LibDir /* rgb, XErrorDB, etc. */ LIBEXECDIR = LibexecDir MODULEDIR = ModuleDir TOP_X_INCLUDES = TopXInclude XBINDIR = XBinDir /* BINDIR for X11ProjectRoot */ INSTSRCDIR = InstSrcDir /* Installed source (kernel modules). */ #ifdef EtcX11Directory ETCX11DIR = EtcX11Directory #endif #if UseEtcX11 CONFDIR = $(ETCX11DIR) #elif HasVarDirectory CONFDIR = $(VARDIR) #endif DOCDIR = DocDir DOCHTMLDIR = DocHtmlDir DOCPSDIR = DocPsDir DOCPDFDIR = DocPdfDir FONTDIR = FontDir /* font directories */ ENCODINGSDIR = FontEncDir /* font encodings directory */ XINITDIR = XinitDir /* xinit config files */ XDMDIR = XdmDir /* xdm config files */ XDMVARDIR = XdmVarDir /* xdm config files */ TWMDIR = TwmDir /* twm config files */ XSMDIR = XsmDir /* xsm config files */ NLSDIR = NlsDir /* nls files */ XLOCALEDIR = XLocaleDir /* locale files */ XLOCALELIBDIR = XlocaleDir /* FIXME: For now take XLOCALEDIR, unsure about the correct setting */ PROXYMANAGERDIR = ProxyManagerDir /* proxy manager config files */ XAPPLOADDIR = XAppLoadDir /* application default resource dir */ INSTAPPFLAGS = $(INSTDATFLAGS) /* XXX - this should go away - XXX */ #if UseInstalledX11 RGB = $(XBINDIR)/rgb MKHTMLINDEX = $(XBINDIR)/mkhtmlindex #else RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb # if HasPerl MKHTMLINDEX = RunPerlScript($(CONFIGSRC)/util/mkhtmlindex.pl,) # else MKHTMLINDEX = $(SHELL) $(CONFIGSRC)/util/mkhtmlindex.sh # endif #endif HTMLINDEXCMD = HtmlIndexCmd DOCUTILSRC = $(XTOP)/doc/util CLIENTSRC = $(TOP)/clients DEMOSRC = $(TOP)/demos XDOCMACROS = $(DOCUTILSRC)/macros.t XIDXMACROS = $(DOCUTILSRC)/indexmacros.t PROGRAMSRC = $(TOP)/programs LIBSRC = $(XTOP)/lib INCLUDESRC = BuildIncDir XINCLUDESRC = $(INCLUDESRC)/nx-X11 SERVERSRC = $(XTOP)/programs/Xserver CONTRIBSRC = ContribDir UNSUPPORTEDSRC = UnsupportedDir DOCSRC = $(XTOP)/doc RGBSRC = $(XTOP)/programs/rgb EXTINCSRC = $(XTOP)/include/extensions DRMSRCDIR = DRMSrcDir MESASRCDIR = MesaSrcDir OGLSAMPLESRCDIR = OglSampleSrcDir PSWRAPSRC = $(XTOP)/config/pswrap TRANSCOMMSRC = $(LIBSRC)/xtrans TRANS_INCLUDES = -I$(TRANSCOMMSRC) CONNECTION_FLAGS = ConnectionFlags ExtraConnectionDefs XTRANS_FAILDEFINES = XtransFailDefine #ifdef X11ProjectRoot XPROJECTROOT = X11ProjectRoot #endif VENDORMANNAME = XVendorManNameString VENDORMANVERSION = XVendorManVersionString XORGMANDEFS = XOrgManDefs VENDORMANDEFS = VendorManDefs VENDORNAME = XVendorNameString VENDORNAMESHORT = XVendorNameStringShort #if defined (XVendorWebSupport) VENDORWEBSUPPORT = XVendorWebSupport #endif VENDORSUPPORTDEFS = VendorSupportDefines XKBDEFRULES = XkbDefaultRulesFile XKBDEFRULESDEFS = XkbDefRulesDefines XCONFIGFILE = XConfigFile XCONFIGDIR = XConfigDir XLOGFILE = XLogFile XSERVERNAME = XServerName #if HasSharedLibraries #ifndef DontUseLibPathVar #ifndef BuildLibPathVar #define BuildLibPathVar LD_LIBRARY_PATH #endif #endif #endif #ifdef BuildLibPathVar # ifdef SystemBuildLibPath SYSTEMENVLIBDIR = SystemBuildLibPath # endif #define XlocaleClientSetup Concat3(XLOCALEDIR,=,BuildI18NDir) Concat3(XLOCALELIBDIR,=,BuildI18NDir) XENVLIBDIR = X11BuildLibPath CLIENTENVSETUP = Concat3(BuildLibPathVar,=,BuildLibPath) XlocaleClientSetup #else CLIENTENVSETUP = #endif #ifdef PreloadSetup PRELOADSETUP = PreloadSetup #endif #ifndef ShLibIncludeFile /* need this to make ANSI-style preprocessors happy */ #define ShLibIncludeFile #endif #include ShLibIncludeFile #ifndef XBuildLibDir # define XBuildLibDir BuildLibDir #endif #ifndef NeedLibInsideFlag #define NeedLibInsideFlag NO #endif #ifndef SharedLibX11 #define SharedLibX11 HasSharedLibraries #endif #ifndef NormalLibX11 #define NormalLibX11 (!SharedLibX11 | ForceNormalLib) #endif #ifndef DebugLibX11 #define DebugLibX11 NO /* debugged X library */ #endif #ifndef ProfileLibX11 #define ProfileLibX11 NO /* profiled X library */ #endif XLIBSRC = $(LIBSRC)/X11 #if SharedLibX11 #ifndef SharedX11Rev #define SharedX11Rev 6.2 #endif SharedLibReferences(XONLY,NX_X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev) #else ProjectUnsharedLibReferences(XONLY,NX_X11,$(XLIBSRC),XBuildLibDir) #endif /* Common alternate spellings */ DEPXLIBONLY = $(DEPXONLYLIB) XLIBONLY = $(XONLYLIB) LINTXONLYLIB = $(LINTXONLY) #if HasMotif #ifndef MotifDir #define MotifDir /usr/X11R6 #endif #ifndef MotifDirStandard #define MotifDirStandard NO #endif #ifndef MotifLibDir # define MotifLibDir MotifDir/LibDirName # if MotifDirStandard # define MotifLibDirStandard YES # endif #endif #ifndef MotifLibDirStandard # define MotifLibDirStandard NO #endif #ifndef MotifIncDir # define MotifIncDir MotifDir/include # if MotifDirStandard # define MotifIncDirStandard YES # endif #endif #ifndef MotifIncDirStandard # define MotifIncDirStandard NO #endif MOTIFDIR = MotifDir MOTIFLIBDIR = MotifLibDir MOTIFINCDIR = MotifIncDir #if MotifLibDirStandard MOTIFLIB = -lXm #else MOTIFLIB = -L$(MOTIFLIBDIR) LinkerRuntimeLibraryPathFlag($(MOTIFLIBDIR)) -lXm #endif #if MotifIncDirStandard MOTIFINCLUDES = #else MOTIFINCLUDES = -I$(MOTIFINCDIR) #endif #endif /* HasMotif */ #ifndef LdLibraryPath #define LdLibraryPath LD_LIBRARY_PATH #endif #if BuildXKBlib # ifndef XkbClientDepLibs # define XkbClientDepLibs /**/ # endif # ifndef XkbClientLibs # define XkbClientLibs /**/ # endif #else /* !BuildXKBlib */ # ifndef XkbClientDepLibs # define XkbClientDepLibs # endif # ifndef XkbClientLibs # define XkbClientLibs # endif #endif /* BuildXKBlib */ #ifndef NeedDefaultDepLibs #define NeedDefaultDepLibs YES #endif #if NeedDefaultDepLibs /* * Individual libraries should override this */ #if HasSharedLibraries || defined(UseInstalled) DEPLIBS = $(DEPXLIB) #else DEPLIBS = $(LOCAL_LIBRARIES) #endif DEPLIBS1 = $(DEPLIBS) DEPLIBS2 = $(DEPLIBS) DEPLIBS3 = $(DEPLIBS) DEPLIBS4 = $(DEPLIBS) DEPLIBS5 = $(DEPLIBS) DEPLIBS6 = $(DEPLIBS) DEPLIBS7 = $(DEPLIBS) DEPLIBS8 = $(DEPLIBS) DEPLIBS9 = $(DEPLIBS) DEPLIBS10 = $(DEPLIBS) #endif /* NeedDefaultDepLibs */ /* * InstallAppDefaults - simple rules to install application default file */ #ifndef InstallAppDefaults #define InstallAppDefaults(class) InstallAppDefaultsLong(class,class) #endif /* InstallAppDefaults */ /* * PostProcessTroffPS - by default moves the working output into place, * but can be a hook for more complicated post-processing. */ #ifndef PostProcessTroffPS #define PostProcessTroffPS(temp,real) $(MV) temp real #endif /* * PostProcessTroffHTML - by default moves the working output into place, * but can be a hook for more complicated post-processing. */ #ifndef PostProcessTroffHTML #define PostProcessTroffHTML(temp,real) $(MV) temp real #endif #ifdef HTMLroffCmd #define HtmlTarget(file) file.html #define HtmlClean(file) file.nhtml file.html file*.png #else #define HtmlTarget(file) /**/ #define HtmlClean(file) /**/ #endif #ifdef PsToPdfCmd #define PdfTarget(file) file.pdf #define PdfClean(file) file.pdf #else #define PdfTarget(file) /**/ #define PdfClean(file) /**/ #endif #ifndef ConvertPsToPdf #ifdef PsToPdfCmd #define ConvertPsToPdf(file) @@\ file.pdf: file.ps @@\ RemoveFile(file.pdf) @@\ $(PSTOPDFCMD) < file.ps > file.pdf #else #define ConvertPsToPdf(file) /**/ #endif #endif #if HasPdfLatex #define PdfLatexTarget(file) file.pdf #define PdfLatexClean(file) file.pdf #else #define PdfLatexTarget(file) /**/ #define PdfLatexClean(file) /**/ #endif #ifndef LatexToPdf #if HasPdfLatex && defined(PdfLatexCmd) #define LatexToPdf(file) @@\ file.pdf: file.tex @@\ RemoveFile(file.pdf) @@\ $(PDFLATEXCMD) file.tex #else #define LatexToPdf(file) /**/ #endif #endif #ifndef MakeDepSimpleHtmlDoc #ifdef HTMLroffCmd #define MakeDepSimpleHtmlDoc(file,deps,srcs) @@\ HtmlTarget(file): deps @@\ $(HTMLROFF) $(MSMACROS) $(XDOCMACROS) Concat(-P-I,file) srcs \ @@\ 2> index.raw > file.nhtml \ @@\ && PostProcessTroffHTML(file.nhtml,$@) #else #define MakeDepSimpleHtmlDoc(file,deps,srcs) /**/ #endif #endif #ifndef MakeTblHtmlDoc #ifdef HTMLroffCmd #define MakeTblHtmlDoc(file,srcs) @@\ file.html: srcs @@\ $(TBL) $(XDOCMACROS) srcs | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \ @@\ 2> index.raw > file.nhtml \ @@\ && PostProcessTroffHTML(file.nhtml,$@) #else #define MakeTblHtmlDoc(file,srcs) /**/ #endif #endif #ifndef MakeEqnHtmlDoc #ifdef HTMLroffCmd #define MakeEqnHtmlDoc(file,srcs) @@\ file.html: srcs @@\ $(TBL) $(XDOCMACROS) srcs | $(EQN) | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \ @@\ 2> index.raw > file.nhtml \ @@\ && PostProcessTroffHTML(file.nhtml,$@) #else #define MakeEqnHtmlDoc(file,srcs) /**/ #endif #endif #ifndef MakeDepSimpleDoc #define MakeDepSimpleDoc(file,deps,srcs) @@\ all:: file.ps file.txt HtmlTarget(file) PdfTarget(file) @@\ .PRECIOUS: file.ps @@\ @@\ file.ps: deps @@\ -$(TROFF) $(MSMACROS) $(XDOCMACROS) srcs \ @@\ 2> index.raw > file.nps \ @@\ && PostProcessTroffPS(file.nps,$@) @@\ @if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \ @@\ else test $$? -le 1; fi @@\ @@\ file.txt: deps @@\ $(NROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw | \ @@\ $(COL) $(COLFLAGS) > $@ @@\ @@\ MakeDepSimpleHtmlDoc(file,deps,srcs) @@\ @@\ ConvertPsToPdf(file) @@\ @@\ clean:: @@\ $(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file) #endif #ifndef MakeSimpleDoc #define MakeSimpleDoc(file,srcs) MakeDepSimpleDoc(file,srcs,srcs) #endif #ifndef MakeTblDoc #define MakeTblDoc(file,srcs) @@\ all:: file.ps file.txt HtmlTarget(file) PdfTarget(file) @@\ .PRECIOUS: file.ps @@\ @@\ file.ps: srcs @@\ -$(TBL) $(XDOCMACROS) srcs | $(TROFF) $(MSMACROS) \ @@\ 2> index.raw > file.nps \ @@\ && PostProcessTroffPS(file.nps,$@) @@\ @if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \ @@\ else test $$? -le 1; fi @@\ @@\ file.txt: srcs @@\ $(TBL) $(XDOCMACROS) srcs | $(NROFF) $(MSMACROS) 2> index.raw \ @@\ | $(COL) $(COLFLAGS) > $@ @@\ @@\ MakeTblHtmlDoc(file,srcs) @@\ @@\ ConvertPsToPdf(file) @@\ @@\ clean:: @@\ $(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file) #endif #ifndef MakeEqnDoc #define MakeEqnDoc(file,srcs) @@\ all:: file.ps file.txt HtmlTarget(file) PdfTarget(file) @@\ .PRECIOUS: file.ps @@\ @@\ file.ps: srcs @@\ -$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(TROFF) $(MSMACROS) \ @@\ 2> index.raw > file.nps \ @@\ && PostProcessTroffPS(file.nps,$@) @@\ @if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \ @@\ else test $$? -le 1; fi @@\ @@\ file.txt: srcs @@\ $(TBL) $(XDOCMACROS) srcs | $(NEQN) | $(NROFF) $(MSMACROS) \ @@\ 2> index.raw | $(COL) $(COLFLAGS) > $@ @@\ @@\ MakeEqnHtmlDoc(file,srcs) @@\ @@\ ConvertPsToPdf(file) @@\ @@\ clean:: @@\ $(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file) #endif #ifndef MakeDocIndex #define MakeDocIndex(file,srcs) @@\ all:: file.idx.ps @@\ @@\ file.idx.ps: srcs index.raw @@\ sed -n '$$p' index.raw > index.pageno @@\ grep '^[1-9]' index.raw | \ @@\ (sort -f '-t:' -k2,2 -k1,1n 2>/dev/null || \ @@\ sort -f '-t:' +1 -3 +0n -1n) | \ @@\ awk -f $(DOCUTILSRC)/fixindex.awk | \ @@\ awk -f $(DOCUTILSRC)/block.awk > index.troff @@\ cat srcs $(XIDXMACROS) index.troff | \ @@\ $(TROFF) -me > file.idx.nps && \ @@\ $(MV) file.idx.nps $@ @@\ $(RM) index.troff index.pageno @@\ @@\ clean:: @@\ $(RM) index.troff index.pageno file.idx.nps file.idx.ps #endif #ifndef MakeLatexDoc #if HasLatex #define MakeLatexDoc(file,src) @@\ all:: file.ps PdfLatexTarget(file) @@\ @@\ file.dvi: src @@\ $(LATEX) src @@\ @@\ file.ps: file.dvi @@\ $(DVIPS) -o file.nps file && $(MV) file.nps $@ @@\ @@\ LatexToPdf(file) @@\ @@\ clean:: @@\ RemoveFiles(file.nps file.ps file.dvi file.log) @@\ RemoveFiles(file.aux file.toc file.lof file.lot) @@\ $(RM) PdfLatexClean(file) #else /* HasLatex */ #define MakeLatexDoc(file,src) @@\ all:: @@\ file.ps: src @@\ @echo "cannot make file.ps: no latex on this system"; exit 1 #endif /* HasLatex (else) */ #endif /* MakeLatexDoc */ #ifndef InstallDoc #define InstallDoc(name,deps) @@\ install:: deps @@\ MakeDir($(DESTDIR)$(DOCPSDIR)) @@\ @if [ -f name.ps -a X$(NOPS) = X ]; then test -n "${VERBOSE}" && set -x; \ @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.ps \ @@\ $(DESTDIR)$(DOCPSDIR); \ @@\ fi ; RemoveOldFile(name.ps,name.PS,$(DOCPSDIR)) @@\ MakeDir($(DESTDIR)$(DOCDIR)) @@\ @if [ -f name.txt -a X$(NOTXT) = X ]; then test -n "${VERBOSE}" && set -x; \ @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.txt \ @@\ $(DESTDIR)$(DOCDIR); \ @@\ fi ; RemoveOldFile(name.txt,name.TXT,$(DOCDIR)) @@\ MakeDir($(DESTDIR)$(DOCHTMLDIR)) @@\ @if [ -f name.html -a X$(NOHTML) = X ]; then (test -n "${VERBOSE}" && set -x; \ @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.html \ @@\ $(DESTDIR)$(DOCHTMLDIR)); \ @@\ for i in name*.png; do \ @@\ if [ -f $$i ]; then (test -n "${VERBOSE}" && test -n "${VERBOSE}" && set -x; \ @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $$i \ @@\ $(DESTDIR)$(DOCHTMLDIR)); \ @@\ fi; \ @@\ done; \ @@\ fi @@\ MakeDir($(DESTDIR)$(DOCPDFDIR)) @@\ @if [ -f name.pdf -a X$(NOPDF) = X ]; then test -n "${VERBOSE}" && set -x; \ @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.pdf \ @@\ $(DESTDIR)$(DOCPDFDIR); \ @@\ fi #endif #ifndef InstallRoffDoc #define InstallRoffDoc(name) InstallDoc(name,name.ps name.txt) #endif #ifndef InstallLatexDoc #if HasLatex #define InstallLatexDoc(name) InstallDoc(name,name.ps) #else #define InstallLatexDoc(name) #endif #endif #ifndef LinkHardcopyPS # if CaseSensitiveFileSystem # define LinkHardcopyPS(name) \ @if [ -f name.PS ]; then test -n "${VERBOSE}" && set -x; \ @@\ RemoveFile(name.ps); \ @@\ $(LN) name.PS name.ps; \ @@\ fi # else # define LinkHardcopyPS(name) # endif #endif #ifndef InstallHardcopyDoc #define InstallHardcopyDoc(name,deps) @@\ all:: name.ps PdfTarget(name) @@\ @@\ name.ps: deps @@\ @if [ -f name.PS.gz ]; then test -n "${VERBOSE}" && set -x; \ @@\ RemoveFile(name.ps); \ @@\ gzip -d < name.PS.gz > name.ps; \ @@\ fi @@\ LinkHardcopyPS(name) @@\ @@\ ConvertPsToPdf(name) @@\ @@\ clean:: @@\ $(RM) name.ps PdfClean(name) @@\ @@\ InstallDoc(name,deps) #endif XRENDERPRELOADPATTERN = libXrender.so.? XFONTPRELOADPATTERN = libXfont*.so.?