xenocara/util/cf/sequent.cf
2006-11-25 16:15:45 +00:00

445 lines
14 KiB
CFEngine3

XCOMM platform: $XConsortium: sequent.cf$
/*
* SET VERSION NUMBERS BEFORE MAKING MAKEFILES; also, you'll need to install
* util/scripts/bsdinstall.sh before doing a "make install"
*/
/*
* Version numbers are set one of two ways:
*
* If the target version is different than the machine you are building on,
* set the target versions using the environmental variable IMAKEINCLUDES.
* Example: IMAKEINCLUDES="-I. -DOSMajorVersion=4 -DOSMinorVersion=4"
* This is usually only done at Sequent when building a product using
* cross compiling tools and target headers and libraries.
*
* Otherwise, the imake will use uname(2) to calculate the default to be
* the same as the machine you are building on. The X11R6 imake will set
* DefaultOS*Version macros to be these default values.
* Those default values will be used in the assignments below.
* This is the recommended method to be used by customers.
*/
/* defaults from imake via uname(2) */
#ifndef OSName
#define OSName DefaultOSName
#endif
#ifndef OSMajorVersion
#define OSMajorVersion DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
#define OSMinorVersion DefaultOSMinorVersion
#endif
#ifndef OSTeenyVersion
#define OSTeenyVersion DefaultOSTeenyVersion
#endif
XCOMM operating system: OSName V/**/OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion
/*
* Sequent Dynix/PTX 4.x.x (SVR4) and later operating systems.
*
* Sequent Dynix/PTX 4.2.3 and later operating systems are supported with
* the X11R6 sequent.cf and other X11R6 configuration files.
* Specifically 4.4.2 and later have been tested.
*
* Attempting to use these X11R6 configuration files and X11R6 source files
* with early versions of Dynix/PTX 4.x.x may work, however that will not be
* tested or supported at Sequent.
* Sequent Dynix/PTX 2.1.x has been retired so support for it and earlier
* releases has been removed.
*/
#if OSMajorVersion >= 4
#define SystemV4 YES
#define SequentVersionDefines -DSVR4
#define ExtraLibraries
#define ForceNormalLib YES
#define HasRequiredLibs YES
#define NeedBerklib NO /* gettimeofday in libc */
#define XmExtraLibraries /* for ABI-compliance do not use -lgen here */
#define MotifDefines -DXM_STRINGS_1_2_2_STATE /* code review */
/* initial port does not use multiple socket libs, default libsocket.so.1.1 */
#define HasMultipleSockets NO /* obsolete */ /* only libsocket.so.1.1 */
#endif /* OSMajorVersion >= 4 */
/*
* Below this line are generic defines that apply to all Sequent systems.
* However they are currently tested with only OSMajorVersion >= 4
*/
/*
* The following cpp macro defines are order independent,
* since the right-hand-side is constant.
* Therefore these are simply listed in alphabetical order.
* Macros defined later may use these definitions.
*/
/*
* Threads.tmpl cpp macros.
* Sequent overrides the Threads.tmpl defaults with the values below.
* Sequent has native threads for ptx 4.5.0 and higher.
*/
#if ( OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 5) )
#define HasPosixThreads YES
#define HasThreadSafeAPI YES
#define ThreadedX YES
#define ThreadsLibraries /**/
#define ThreadsCplusplusLibraries /**/
#define ThreadPreStdAPIDefines /**/
#define ThreadsCompileFlags -Kthread
#define ThreadsCplusplusCompileFlags -Kthread
#define SharedThreadReqs /**/
/*
* THREADS macro and environment variable used with Sequent commands only.
* We use THREADS rather than the generic X11 THREADS_CFLAGS because we
* want to ensure that the macro is defined for all compiles and not just
* those Makefiles built from a Imakefile that includes Threads.tmpl.
*
* Sequent compiler option -Kthread will also define -D_SEQUENT_THREADS.
* Currently using -Kthread is the recommended interface to this define.
* Currently there are no extra includes files using -D_SEQUENT_THREADS.
* Currently no reason for makedepend or cpp to use -D_SEQUENT_THREADS.
* If needed in the future, we would add to ProjectThreadsDefines
*
* #define ProjectThreadsDefines -DXTHREADS -D_SEQUENT_THREADS
*/
THREADS = -Kthread
#endif /* ptx 4.5.0 or greater has threads */
/*
* Imake.tmpl cpp macros.
* Sequent overrides the Imake.tmpl defaults with the values below.
*/
#define BuildLibPathVar LD_LIBRARY_PATH
#define DefaultCCOptions -Xa
#define ExpandManNames YES
#define ExtraFilesToClean *.z
#define HasNdbm YES
#define HasShadowPasswd YES
#define HasSockets YES /* default */
#define HasVarDirectory NO
#ifdef UseInstalled
#define InstallCmd $(BINDIR)/ptxinst -t "$(TOOLS)"
#else
#define InstallCmd $(SHELL) $(SCRIPTSRC)/ptxinst.sh
#endif /* UseInstalled */
#define InstPgmFlags -s -m 0555 -o bin -g bin
#define InstBinFlags -s -m 0555 -o bin -g bin
#define InstLibFlags -m 0444 -o bin -g bin
#define InstShLibFlags -m 0555 -o bin -g bin
#define Malloc0ReturnsNull YES
#define ManSuffix 1 /* use just one tab or cpp will die */
#define LibManSuffix 3x /* use just one tab or cpp will die */
#define LibmanDir $(MANSOURCEPATH)3
#define MiscManSuffix 5x /* use just one tab or cpp will die */
#define MiscManDir $(MANSOURCEPATH)5
#define MkdirHierCmd mkdir -p
#define NeedConstPrototypes YES
#define NeedFunctionPrototypes YES
#define NeedNestedPrototypes YES
#define NeedVarargsPrototypes YES
#define StripInstalledPrograms YES
#define SystemManDirectory /usr/catman
#define TermcapLibrary -lcurses /* code review for SVR4 ? */
#define TerminfoDir /usr/lib/terminfo /* Sequent addition */
#define ToolkitStringsABIOptions -intelabi
/*
* X11.tmpl cpp macros.
* Sequent overrides the X11.tmpl defaults with the values below.
*/
#define BuildDps YES
#define BuildServer YES
#define BuildXF86DGA NO /* DGA has no meaning on Sequent HW */
#define BuildXF86MiscExt NO /* turn off the server portion */
#define BuildXF86VidModeExt NO /* turn off the server portion */
#define BuildXInputExt YES
#define BuildXKBuilib YES /* override NO set in xorg.cf */
#define ConnectionFlags -DTCPCONN
#define DefaultSystemPath /bin:/etc:/usr/bin:$(BINDIR)
#define DefaultUserPath :/bin:/usr/bin:$(BINDIR)
#define HasPlugin YES
#define HasXServer NO
#define InstallFSConfig YES /* safe since we install to DESTDIR */
#define InstallXdmConfig YES /* safe since we install to DESTDIR */
#define MotifBC NO /* default, code review from X11R5 */
#define XdmServersType fs /* One tab here. Needed if BuildServer YES */
#define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC
#define XprtServer YES
#define XVirtualFramebufferServer YES
#define XF86SVGAServer NO /* Don't build the XFree86 servers */
#define XF86S3Server NO
#define XF86S3VServer NO
#define XF86I8514Server NO
#define XF86Mach8Server NO
#define XF86Mach32Server NO
#define XF86Mach64Server NO
#define XF86P9000Server NO
#define XF86AGXServer NO
#define XF86I128Server NO
#define XF86GLINTServer NO
#define XF86REALimageServer NO
/*
* Motif.tmpl cpp macros.
* Sequent overrides the Motif.tmpl default with the values below.
*/
#define GencatCmd /usr/lbin/gencat
/* Port Sequent macro DontBuildMotifConfig to Motif 2.1 */
/*
* #ifndef MetroLink
* #define DontBuildMotifConfig
* #endif
*/
/*
* Sequent added cpp macros.
*
* The following cpp macro defines have been introduced by Sequent.
* They will be referenced in Sequent patches sent to TOG.
* They may be moved above if accepted by TOG or X.org.
*/
#define AdminBaseDir /usr/admin.ptx/etc/base.dir
#define MessageCatDir /usr/lib/message/C
#define NeedXinputAlias YES
#define UseHidesymsLists YES
#define XlbiffMailPath /usr/mail/%s /* used by contrib xlbiff */
/*
* Imake.tmpl, X11.tmpl, or other order dependent cpp defines.
*
* The following cpp macro defines are order dependent.
* They depend on previously defined cpp macros.
* Do not change the order.
*/
#define SharedLibraryCCOptions DefaultCCOptions
#define StandardDefines SequentVersionDefines -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion -DANSICPP -DDYNIX_C2 -DMetroLink
#define StandardCppDefines StandardDefines -D_SOCKET_VERSION=11 -DUnixCpp
#ifdef ProjectRoot
#define ManDirectoryRoot ProjectRoot/**//catman
#else
#define ManDirectoryRoot SystemManDirectory
#endif
#define XmanSearchPath ManDirectoryRoot /* for X11R5 xman */
/*
* Sequent configuration environment specific to building X11 and Motif.
* This environment is only available when UseInstalled is not defined.
* Therefore this environment is not used by customers using xmkmf.
*/
#ifndef UseInstalled
/* Product builds using local X11 and Motif trees */
/*
* Provide libraries needed by nonX programs in the X11 build tree.
* These are not standard so the customer will be forced to add them to their
* Imakefile SYS_LIBRARIES if needed. An ABI program may not want or need them,
* so we do not include them in the ExtraLibraries provided to customers
* when UseInstalled is defined. We add them here as a convenience when
* building the entire X11 tree (at Sequent or the contractor).
*/
#undef ExtraLibraries
#define ExtraLibraries -lsocket -lnsl
/*
* Sequent builds X11 and Motif in the same tree.
* The Motif project files include the X11 project files.
*
* Later we may use the Local project files similer the the lynx.cf
*
* #define LocalTmplFile <Motif.tmpl>
* #define LocalRulesFile <Motif.rules>
*/
/* Try the Metro Link method. */
#ifndef MetroLink
#undef ProjectTmplFile
#define ProjectTmplFile <Motif.tmpl>
#undef ProjectRulesFile
#define ProjectRulesFile <Motif.rules>
#endif
/*
* Later change to Metro Link directory layout,
* or allow $(TOP)/../motif21
*/
/* Try the Metro Link method. */
#ifndef MetroLink
#define MTop $(TOP)/motif21
#endif
/*
* Set the Program macros to be correct for the target machine.
* This will avoid using any crosstools as hardwired strings
* built into binaries that will run on the target machine.
*
* These macro names need to be ported from X11R5 to X11R6.
*/
#define ArProgramBase ar
#define CppProgram /lib/cpp
#define CcProgram cc
#define RanlibProgram ranlib
/*
* Build all the X11 debug libaries *_d.a for use by Sequent Service
*/
/*
* Set DebugLibDefault YES for Sequent to build all debug libs.
* If we move this to generic code to *.tmpl files,
* use the default code below that sets the default NO
*/
#define DebugLibDefault NO
#ifndef DebugLibDefault
#define DebugLibDefault NO
#endif
#define DebugLibX11 DebugLibDefault /* debugged X library */
#define DebugLibXext DebugLibDefault /* debugged Xext library */
#define DebugLibXau DebugLibDefault /* debugged auth library */
#define DebugLibXdmcp DebugLibDefault /* debugged XDMCP library */
#define DebugLibXmu DebugLibDefault /* debugged Xmu library */
#define DebugLibXp DebugLibDefault /* debugged Xp library */
#define DebugLibXt DebugLibDefault /* debugged toolkit library */
#define DebugLibXa DebugLibDefault /* debugged audio library */
#define DebugLibXaw DebugLibDefault /* debugged widget library */
#define DebugLibXi DebugLibDefault /* debugged Xi library */
#define DebugLibXtst DebugLibDefault /* debugged Xtst library */
#define DebugLibICE DebugLibDefault /* debugged ICE library */
#define DebugLibSM DebugLibDefault /* debugged SM library */
#define DebugLibXkey DebugLibDefault /* debugged Xkey library */
#define DebugLibFS DebugLibDefault /* debugged FS library */
/*
* Build all the Motif debug libaries *_d.a for use by Service
*/
#define DebugLibXm DebugLibDefault
#define DebugLibMrm DebugLibDefault
#define DebugLibUil DebugLibDefault
/*
* Build all the Adobe DPS debug libaries *_d.a for use by Service
*/
#define DebugLibDps DebugLibDefault
#endif /* ! UseInstalled */
/*
* Sequent general make macros.
* X11R6.5 should migrate these to Imake.tmpl.
*/
XCOMM Sequent general make macros.
#ifndef PackCmd
#define PackCmd pack
#endif
PACK = PackCmd
/*
* Sequent unique make macros. These will always be unique to Sequent.
* We introduce them here in sequent.cf since cpp macros are set in sequent.cf.
* We may later move them to sequentLib.tmpl.
*/
XCOMM Sequent unique make macros.
ADMINBASEDIR = AdminBaseDir
MESSAGECATDIR = MessageCatDir
/*
* DPS default values (unique to sequent)
*/
#ifndef PswrapCmd
#define PswrapCmd pswrap
#endif
#ifdef UseHidesymsLists
#ifndef HidesymsCmd
#define HidesymsCmd /usr/lib/hidesyms/hidesyms
#endif
#ifndef HsAcppCmd
#define HsAcppCmd /lib/acpp
#endif
/*
* When building in the X11 tree.
* For shared libs, hidesyms executes in a subdir.
* For unshared libs, hidesyms executes in a subsubdir.
* Therefore we add both of these to the acpp path:
* ../../$(BUILDINCROOT)/lib/hidesyms:../$(BUILDINCROOT)/lib/hidesyms
*/
#ifndef HsAcppLocalPath
# define HsAcppLocalPath ../../$(BUILDINCROOT)/lib/hidesyms:../$(BUILDINCROOT)/lib/hidesyms
#endif
#ifndef HsAcppSystemPath
# define HsAcppSystemPath /usr/lib/hidesyms
#endif
#ifndef HsAcppPath
# ifdef UseInstalled
# define HsAcppPath HsAcppSystemPath
# else
# define HsAcppPath HsAcppLocalPath:HsAcppSystemPath
# endif /* UseInstalled */
#endif
/*
* note: -DABI_SHARED_OBJECT requires a temporary fix added to
* Xt/Error.c to provide missing _abi_* routines not in libc.so.1.
* When the base adds those missing _abi_* to libc.so.1,
* then the code in Xt/Error.c can be removed and the corresponding
* symbols added to Xt/libXt.hs can be removed.
*/
#ifndef HsAcppDefines
#define HsAcppDefines -DABI_SHARED_OBJECT -D_SOCKET_VERSION=11 $(THREADS_DEFINES)
#endif
/*
* For shared libs, hidesyms executes in a subdir,
* therefore we add a -L../$(BUILDLIBDIR)
*/
#ifndef LdPreLib
#ifndef UseInstalled
#define LdPreLib -L$(BUILDLIBDIR) -L../$(BUILDLIBDIR)
#endif
#endif
XCOMM HIDESYMS is for filtering system library symbols.
HIDESYMS = HidesymsCmd
HSACPPPATH = HsAcppPath
HSACPPCMD = HsAcppCmd
HSACPPDEFINES = HsAcppDefines
HSACPP = $(HSACPPCMD) -Y $(HSACPPPATH) $(HSACPPDEFINES)
HSCMD = $(HIDESYMS) -z -p "$(HSACPP)"
#endif /* UseHidesymsLists */
#if OSMajorVersion >= 4
#include <xorg.cf>
#include <sequentLib.rules> /* include after macros, before Motif.rules */
#endif /* OSMajorVersion >= 4 */