diff options
Diffstat (limited to 'util/cf/sequent.cf')
-rw-r--r-- | util/cf/sequent.cf | 444 |
1 files changed, 444 insertions, 0 deletions
diff --git a/util/cf/sequent.cf b/util/cf/sequent.cf new file mode 100644 index 000000000..99ba9b461 --- /dev/null +++ b/util/cf/sequent.cf @@ -0,0 +1,444 @@ +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 */ |