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 */