111d341caSmrgXCOMM platform:  $Xorg: osf1.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
211d341caSmrg/* only tested with Digital OSF/1 */
311d341caSmrg
411d341caSmrg
511d341caSmrg
611d341caSmrgXCOMM platform:  $XFree86$
711d341caSmrg
811d341caSmrg#ifndef OSName
911d341caSmrg# define OSName		DefaultOSName
1011d341caSmrg#endif
1111d341caSmrg#ifndef OSMajorVersion
1211d341caSmrg# define OSMajorVersion	DefaultOSMajorVersion
1311d341caSmrg#endif
1411d341caSmrg#ifndef OSMinorVersion
1511d341caSmrg# define OSMinorVersion DefaultOSMinorVersion
1611d341caSmrg#endif
1711d341caSmrgXCOMM operating system: OSName (OSMajorVersion.OSMinorVersion)
1811d341caSmrg
1911d341caSmrg#define StandardCppDefines	-D__osf__ StandardDefines
2011d341caSmrg#define BuildLibPathVar		_RLD_ROOT=/dev/null LD_LIBRARY_PATH
2111d341caSmrg#define HasPutenv		YES
2211d341caSmrg#define Malloc0ReturnsNull	YES
2311d341caSmrg#define HasNdbm			YES
2411d341caSmrg#define HasShm			YES
2511d341caSmrg#define AvoidNullMakeCommand	YES
2611d341caSmrg#define NullMakeCommand		@ echo
2711d341caSmrg#define HasPosixThreads		YES
2811d341caSmrg#define SystemMTDefines		-D_REENTRANT
2911d341caSmrg#define CplusplusSystemMTDefines -D_REENTRANT
3011d341caSmrg#define HasPoll			YES
3111d341caSmrg#define HasVFork                NO
3211d341caSmrg#define HasPlugin		YES
3311d341caSmrg#define InstallCmd		installbsd
3411d341caSmrg#define RanlibCmd		ranlib -t
3511d341caSmrg#if OSMajorVersion > 1 || OSMinorVersion > 0
3611d341caSmrg#define ModernOSF1		YES
3711d341caSmrg#else
3811d341caSmrg#define ModernOSF1		NO
3911d341caSmrg#define ShLibDir		/usr/shlib
4011d341caSmrg#endif
4111d341caSmrg
4211d341caSmrg#define InstallXloadSetGID	NO
4311d341caSmrg
4411d341caSmrg#define ThreadedX		ModernOSF1
4511d341caSmrg
4611d341caSmrg#if ThreadedX
4711d341caSmrg#define MTSafeAPIDefines	-DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
4811d341caSmrg#if OSMajorVersion < 4
4911d341caSmrg#define ThreadsLibraries		-lpthreads -lmach -lc_r
5011d341caSmrg#define ThreadsCplusplusLibraries	-lpthreads -lmach
5111d341caSmrg#define ThreadPreStdAPIDefines		-DXPRE_STANDARD_API
5211d341caSmrg#else
5311d341caSmrg#define ThreadsLibraries		-lpthread -lmach -lexc -lc
5411d341caSmrg#define ThreadsCplusplusLibraries	-lpthread -lmach -lexc
5511d341caSmrg#define LibraryMTDefines		-DUSE_TIS_SUPPORT
5611d341caSmrg#endif
5711d341caSmrg#endif
5811d341caSmrg
5911d341caSmrg#if ModernOSF1
6011d341caSmrg#ifndef OptimizedCDebugFlags
6111d341caSmrg#define OptimizedCDebugFlags	-O2 -Olimit 2000
6211d341caSmrg#endif
6311d341caSmrg#ifndef ExtraLoadFlags
6411d341caSmrg/*
6511d341caSmrg * In OSF/1 3.0 Digital has shared libXdmcp and libXau. What's more,
6611d341caSmrg * the link editor has different search semantics, i.e. it will search
6711d341caSmrg * for shared libraries first, then, if it can't find a shared lib, it
6811d341caSmrg * will use a static lib. By using -oldstyle_liblookup the linker will
6911d341caSmrg * follow "normal" semantics for linking libraries and will get the
701c80d5b0Smrg * static libraries we really want. By 3.2 they no longer have libXdmcp
711c80d5b0Smrg * and libXau as shared libraries and we can omit -oldstyle_liblookup.
7211d341caSmrg * (What did they have in 3.1?)
7311d341caSmrg */
7411d341caSmrg#if OSMajorVersion == 3 && OSMinorVersion == 0
7511d341caSmrg#define ExtraLoadFlags		-Wl,-rpath,$(USRLIBDIRPATH),-oldstyle_liblookup
7611d341caSmrg#else
7711d341caSmrg#define ExtraLoadFlags 		-Wl,-rpath,$(USRLIBDIRPATH)
7811d341caSmrg#endif
7911d341caSmrg#endif
8011d341caSmrg#if OSMajorVersion > 3
8111d341caSmrg#define TermcapLibrary		-lcurses
8211d341caSmrg#endif
8311d341caSmrg#if OSMajorVersion >= 3
8411d341caSmrg#define HasMkstemp		YES
8511d341caSmrg#endif
8611d341caSmrg#endif
8711d341caSmrg
8811d341caSmrg/*
8911d341caSmrg * C++ compiler setup.  This file knows what options to use with the
9011d341caSmrg * DEC C++ compiler, and may learn about other compilers in the future.
911c80d5b0Smrg *
921c80d5b0Smrg * For DEC C++, define HasDECCplusplus to YES in site.def.
9311d341caSmrg *
9411d341caSmrg * For g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def.
9511d341caSmrg *
961c80d5b0Smrg * For other compilers, define HasCplusplus to YES in site.def, and
9711d341caSmrg *    check to see if you need to provide values for CplusplusOptions
9811d341caSmrg *    and/or DefaultCplusplusOptions.
9911d341caSmrg *
10011d341caSmrg * In any case, you may also need to set CplusplusDependIncludes.
10111d341caSmrg *
1021c80d5b0Smrg * Note: For DEC C++, the -call_shared option really only needs to
10311d341caSmrg * appear when linking C++ executables, not when actually compiling
10411d341caSmrg * the C++ sources.  But since there's no imake variable that lets
10511d341caSmrg * us insert flags only into the C++ link stage, we use -call_shared
1061c80d5b0Smrg * on all compilations when building executables.  This could be
10711d341caSmrg * considered a deficiency in the current imake configuration
10811d341caSmrg */
10911d341caSmrg
11011d341caSmrg#if HasDECCplusplus
1111c80d5b0Smrg#ifndef HasCplusplus
11211d341caSmrg#define HasCplusplus YES
11311d341caSmrg#endif
11411d341caSmrg#ifndef CplusplusCmd
11511d341caSmrg#define CplusplusCmd /usr/bin/cxx
11611d341caSmrg#endif
11711d341caSmrg#ifndef CplusplusFilt
11811d341caSmrg# define CplusplusFilt /usr/bin/demangle
11911d341caSmrg#endif
1201c80d5b0Smrg#ifndef CplusplusDependIncludes
12111d341caSmrg#define CplusplusDependIncludes -D__DECCXX -I/usr/include/cxx
12211d341caSmrg#endif
12311d341caSmrg#ifndef CplusplusLibDir
12411d341caSmrg#define CplusplusLibDir /usr/lib/cmplrs/cxx
12511d341caSmrg#endif
12611d341caSmrg#ifndef CplusplusLibC
12711d341caSmrg#define CplusplusLibC -L/usr/lib/cmplrs/cxx -lcxx
12811d341caSmrg#endif
12911d341caSmrg#ifndef CplusplusOptions
13011d341caSmrg#define CplusplusOptions -call_shared
13111d341caSmrg#endif
13211d341caSmrg#endif /* HasDECCplusplus */
13311d341caSmrg
13411d341caSmrg
13511d341caSmrg#if HasGcc2ForCplusplus
13611d341caSmrg#ifndef CplusplusLibC
13711d341caSmrg#define CplusplusLibC `$(CXX) -print-libgcc-file-name`
1381c80d5b0Smrg#endif
13911d341caSmrg#endif /* HasGcc2ForCplusplus */
14011d341caSmrg
14111d341caSmrg#ifdef CplusplusLibDir
14211d341caSmrg# define SystemBuildLibPath	\
14311d341caSmrg/usr/shlib:/usr/ccs/lib:CplusplusLibDir:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
14411d341caSmrg#else
14511d341caSmrg# define SystemBuildLibPath	\
14611d341caSmrg/usr/shlib:/usr/ccs/lib:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
14711d341caSmrg#endif
14811d341caSmrg
14911d341caSmrg#include <osfLib.rules>
15011d341caSmrg#define NoRConst		YES
15111d341caSmrg
15211d341caSmrg#ifdef AlphaArchitecture
15311d341caSmrg#ifndef HasWChar32
15411d341caSmrg#define HasWChar32		YES
15511d341caSmrg#endif
15611d341caSmrg#define ServerExtraDefines	-D_XSERVER64
15711d341caSmrg#define ServerOSDefines		-DDDXTIME
15811d341caSmrg#ifndef DefaultCCOptions
15911d341caSmrg#define DefaultCCOptions	-std1
16011d341caSmrg#endif
16111d341caSmrg#ifndef XawI18nDefines
16211d341caSmrg#define XawI18nDefines		-DHAS_WCHAR_H
16311d341caSmrg#endif
16411d341caSmrg#ifndef BuildServer
16511d341caSmrg#define BuildServer		NO
16611d341caSmrg#endif
16711d341caSmrg
16811d341caSmrg/* For DtHelp's TIFF processing routines. */
16911d341caSmrg#define LSBBitOrder		YES
17011d341caSmrg
17111d341caSmrg#define MotifDefines		-DNO_REGCOMP -DNO_REGEX -DSTRINGS_ALIGNED
17211d341caSmrg#define DtSvcDefines		-DXK_MISCELLANY -DMULTIBYTE -DMESSAGE_CAT
17311d341caSmrg#define DtSearchDefines		-DI18N_MSG DtSvcDefines
17411d341caSmrg#define DtWidgetDefines		DtSearchDefines
17511d341caSmrg#define DtPrintDefines		DtSearchDefines
17611d341caSmrg#define DtMailDefines		\
17711d341caSmrg  -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\"
17811d341caSmrg
17911d341caSmrg#define ArchitectureDefines	-DALPHA_ARCHITECTURE
18011d341caSmrg#endif
18111d341caSmrg
18211d341caSmrg#ifdef MipsArchitecture
18311d341caSmrg#define DefaultCCOptions	-Xa
18411d341caSmrg#define XdecServer YES
18511d341caSmrg#define ServerOSDefines -DDDXTIME
18611d341caSmrg#define NormalLibObjCompile(options) 	ClearmakeOSName			  \
18711d341caSmrg	$(RM) $@ $*.os \						@@\
18811d341caSmrg	&& $(CC) -c options $(CFLAGS) $*.c \				@@\
18911d341caSmrg	&& $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \			@@\
19011d341caSmrg	&& $(MV) $*.os $@
19111d341caSmrg#endif
19211d341caSmrg
19311d341caSmrg#if !HasClearmake
19411d341caSmrg#ifndef HasMakefileSafeInclude
19511d341caSmrg#define HasMakefileSafeInclude YES
19611d341caSmrg#endif
19711d341caSmrg#ifndef IncludeMakefile
19811d341caSmrg#define IncludeMakefile(file) @@-include file
19911d341caSmrg#endif
20011d341caSmrg#endif
20111d341caSmrg
20211d341caSmrg#ifndef ManKeywordsTarget
20311d341caSmrg#define ManKeywordsTarget(manpath)					@@\
20411d341caSmrgman_keywords::								@@\
20511d341caSmrg	catman -M $(DESTDIR)manpath -w
20611d341caSmrg#endif
20711d341caSmrg
20811d341caSmrg#define CdeTicDefines	-DHAS_KNL -DHAS_KTAB
20911d341caSmrg#define CdeProjectDefines \
21011d341caSmrg	-DDEC -DMULTIBYTE -DNLS16 \
21111d341caSmrg	-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
212