1XCOMM platform:  $Xorg: osf1.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
2/* only tested with Digital OSF/1 */
3
4
5
6XCOMM platform:  $XFree86$
7
8#ifndef OSName
9# define OSName		DefaultOSName
10#endif
11#ifndef OSMajorVersion
12# define OSMajorVersion	DefaultOSMajorVersion
13#endif
14#ifndef OSMinorVersion
15# define OSMinorVersion DefaultOSMinorVersion
16#endif
17XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion)
18
19#define StandardCppDefines	-D__osf__ StandardDefines
20#define BuildLibPathVar		_RLD_ROOT=/dev/null LD_LIBRARY_PATH
21#define HasPutenv		YES
22#define Malloc0ReturnsNull	YES
23#define HasNdbm			YES
24#define HasShm			YES
25#define AvoidNullMakeCommand	YES
26#define NullMakeCommand		@ echo
27#define HasPosixThreads		YES
28#define SystemMTDefines		-D_REENTRANT
29#define CplusplusSystemMTDefines -D_REENTRANT
30#define HasPoll			YES
31#define HasVFork                NO
32#define HasPlugin		YES
33#define InstallCmd		installbsd
34#define RanlibCmd		ranlib -t
35#if OSMajorVersion > 1 || OSMinorVersion > 0
36#define ModernOSF1		YES
37#else
38#define ModernOSF1		NO
39#define ShLibDir		/usr/shlib
40#endif
41
42#define InstallXloadSetGID	NO
43
44#define ThreadedX		ModernOSF1
45
46#if ThreadedX
47#define MTSafeAPIDefines	-DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
48#if OSMajorVersion < 4
49#define ThreadsLibraries		-lpthreads -lmach -lc_r
50#define ThreadsCplusplusLibraries	-lpthreads -lmach
51#define ThreadPreStdAPIDefines		-DXPRE_STANDARD_API
52#else
53#define ThreadsLibraries		-lpthread -lmach -lexc -lc
54#define ThreadsCplusplusLibraries	-lpthread -lmach -lexc
55#define LibraryMTDefines		-DUSE_TIS_SUPPORT
56#endif
57#endif
58
59#if ModernOSF1
60#ifndef OptimizedCDebugFlags
61#define OptimizedCDebugFlags	-O2 -Olimit 2000
62#endif
63#ifndef ExtraLoadFlags
64/*
65 * In OSF/1 3.0 Digital has shared libXdmcp and libXau. What's more,
66 * the link editor has different search semantics, i.e. it will search
67 * for shared libraries first, then, if it can't find a shared lib, it
68 * will use a static lib. By using -oldstyle_liblookup the linker will
69 * follow "normal" semantics for linking libraries and will get the
70 * static libraries we really want. By 3.2 they no longer have libXdmcp
71 * and libXau as shared libraries and we can omit -oldstyle_liblookup.
72 * (What did they have in 3.1?)
73 */
74#if OSMajorVersion == 3 && OSMinorVersion == 0
75#define ExtraLoadFlags		-Wl,-rpath,$(USRLIBDIRPATH),-oldstyle_liblookup
76#else
77#define ExtraLoadFlags 		-Wl,-rpath,$(USRLIBDIRPATH)
78#endif
79#endif
80#if OSMajorVersion > 3
81#define TermcapLibrary		-lcurses
82#endif
83#if OSMajorVersion >= 3
84#define HasMkstemp		YES
85#endif
86#endif
87
88/*
89 * C++ compiler setup.  This file knows what options to use with the
90 * DEC C++ compiler, and may learn about other compilers in the future.
91 *
92 * For DEC C++, define HasDECCplusplus to YES in site.def.
93 *
94 * For g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def.
95 *
96 * For other compilers, define HasCplusplus to YES in site.def, and
97 *    check to see if you need to provide values for CplusplusOptions
98 *    and/or DefaultCplusplusOptions.
99 *
100 * In any case, you may also need to set CplusplusDependIncludes.
101 *
102 * Note: For DEC C++, the -call_shared option really only needs to
103 * appear when linking C++ executables, not when actually compiling
104 * the C++ sources.  But since there's no imake variable that lets
105 * us insert flags only into the C++ link stage, we use -call_shared
106 * on all compilations when building executables.  This could be
107 * considered a deficiency in the current imake configuration
108 */
109
110#if HasDECCplusplus
111#ifndef HasCplusplus
112#define HasCplusplus YES
113#endif
114#ifndef CplusplusCmd
115#define CplusplusCmd /usr/bin/cxx
116#endif
117#ifndef CplusplusFilt
118# define CplusplusFilt /usr/bin/demangle
119#endif
120#ifndef CplusplusDependIncludes
121#define CplusplusDependIncludes -D__DECCXX -I/usr/include/cxx
122#endif
123#ifndef CplusplusLibDir
124#define CplusplusLibDir /usr/lib/cmplrs/cxx
125#endif
126#ifndef CplusplusLibC
127#define CplusplusLibC -L/usr/lib/cmplrs/cxx -lcxx
128#endif
129#ifndef CplusplusOptions
130#define CplusplusOptions -call_shared
131#endif
132#endif /* HasDECCplusplus */
133
134
135#if HasGcc2ForCplusplus
136#ifndef CplusplusLibC
137#define CplusplusLibC `$(CXX) -print-libgcc-file-name`
138#endif
139#endif /* HasGcc2ForCplusplus */
140
141#ifdef CplusplusLibDir
142# define SystemBuildLibPath	\
143/usr/shlib:/usr/ccs/lib:CplusplusLibDir:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
144#else
145# define SystemBuildLibPath	\
146/usr/shlib:/usr/ccs/lib:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
147#endif
148
149#include <osfLib.rules>
150#define NoRConst		YES
151
152#ifdef AlphaArchitecture
153#ifndef HasWChar32
154#define HasWChar32		YES
155#endif
156#define ServerExtraDefines	-D_XSERVER64
157#define ServerOSDefines		-DDDXTIME
158#ifndef DefaultCCOptions
159#define DefaultCCOptions	-std1
160#endif
161#ifndef XawI18nDefines
162#define XawI18nDefines		-DHAS_WCHAR_H
163#endif
164#ifndef BuildServer
165#define BuildServer		NO
166#endif
167
168/* For DtHelp's TIFF processing routines. */
169#define LSBBitOrder		YES
170
171#define MotifDefines		-DNO_REGCOMP -DNO_REGEX -DSTRINGS_ALIGNED
172#define DtSvcDefines		-DXK_MISCELLANY -DMULTIBYTE -DMESSAGE_CAT
173#define DtSearchDefines		-DI18N_MSG DtSvcDefines
174#define DtWidgetDefines		DtSearchDefines
175#define DtPrintDefines		DtSearchDefines
176#define DtMailDefines		\
177  -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\"
178
179#define ArchitectureDefines	-DALPHA_ARCHITECTURE
180#endif
181
182#ifdef MipsArchitecture
183#define DefaultCCOptions	-Xa
184#define XdecServer YES
185#define ServerOSDefines -DDDXTIME
186#define NormalLibObjCompile(options) 	ClearmakeOSName			  \
187	$(RM) $@ $*.os \						@@\
188	&& $(CC) -c options $(CFLAGS) $*.c \				@@\
189	&& $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \			@@\
190	&& $(MV) $*.os $@
191#endif
192
193#if !HasClearmake
194#ifndef HasMakefileSafeInclude
195#define HasMakefileSafeInclude YES
196#endif
197#ifndef IncludeMakefile
198#define IncludeMakefile(file) @@-include file
199#endif
200#endif
201
202#ifndef ManKeywordsTarget
203#define ManKeywordsTarget(manpath)					@@\
204man_keywords::								@@\
205	catman -M $(DESTDIR)manpath -w
206#endif
207
208#define CdeTicDefines	-DHAS_KNL -DHAS_KTAB
209#define CdeProjectDefines \
210	-DDEC -DMULTIBYTE -DNLS16 \
211	-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
212