1 XCOMM platform: $TOG: osf1.cf /main/74 1997/05/27 15:51:24 kaleb $
2 /* only tested with Digital OSF/1 */
5 # define OSName DefaultOSName
8 # define OSMajorVersion DefaultOSMajorVersion
10 #ifndef OSMinorVersion
11 # define OSMinorVersion DefaultOSMinorVersion
13 XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion)
15 #define StandardCppDefines -D__osf__ StandardDefines
16 #define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY_PATH
18 #define Malloc0ReturnsNull YES
21 #define AvoidNullMakeCommand YES
22 #define NullMakeCommand @ echo
23 #define HasPosixThreads YES
24 #define SystemMTDefines -D_REENTRANT
25 #define CplusplusSystemMTDefines -D_REENTRANT
29 #define InstallCmd installbsd
30 #define RanlibCmd ranlib -t
31 #if OSMajorVersion > 1 || OSMinorVersion > 0
32 #define ModernOSF1 YES
35 #define ShLibDir /usr/shlib
36 #define SharedLibPex NO /* losing, no shared -lm */
38 #define ThreadedX ModernOSF1
41 #define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
42 #if OSMajorVersion < 4
43 #define ThreadsLibraries -lpthreads -lmach -lc_r
44 #define ThreadsCplusplusLibraries -lpthreads -lmach
45 #define ThreadPreStdAPIDefines -DXPRE_STANDARD_API
47 #define ThreadsLibraries -lpthread -lmach -lexc -lc
48 #define ThreadsCplusplusLibraries -lpthread -lmach -lexc
49 #define LibraryMTDefines -DUSE_TIS_SUPPORT
54 #ifndef OptimizedCDebugFlags
55 #define OptimizedCDebugFlags -O2 -Olimit 2000
57 #ifndef ExtraLoadFlags
59 * In OSF/1 3.0 Digital has shared libXdmcp and libXau. What's more,
60 * the link editor has different search semantics, i.e. it will search
61 * for shared libraries first, then, if it can't find a shared lib, it
62 * will use a static lib. By using -oldstyle_liblookup the linker will
63 * follow "normal" semantics for linking libraries and will get the
64 * static libraries we really want. By 3.2 they no longer have libXdmcp
65 * and libXau as shared libraries and we can omit -oldstyle_liblookup.
66 * (What did they have in 3.1?)
68 #if OSMajorVersion == 3 && OSMinorVersion == 0
69 #define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH),-oldstyle_liblookup
71 #define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
74 #if OSMajorVersion > 3
75 #define TermcapLibrary -lcurses
80 * C++ compiler setup. This file knows what options to use with the
81 * DEC C++ compiler, and may learn about other compilers in the future.
83 * For DEC C++, define HasDECCplusplus to YES in site.def.
85 * For g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def.
87 * For other compilers, define HasCplusplus to YES in site.def, and
88 * check to see if you need to provide values for CplusplusOptions
89 * and/or DefaultCplusplusOptions.
91 * In any case, you may also need to set CplusplusDependIncludes.
93 * Note: For DEC C++, the -call_shared option really only needs to
94 * appear when linking C++ executables, not when actually compiling
95 * the C++ sources. But since there's no imake variable that lets
96 * us insert flags only into the C++ link stage, we use -call_shared
97 * on all compilations when building executables. This could be
98 * considered a deficiency in the current imake configuration
103 #define HasCplusplus YES
106 #define CplusplusCmd /usr/bin/cxx
108 #ifndef CplusplusFilt
109 # define CplusplusFilt /usr/bin/demangle
111 #ifndef CplusplusDependIncludes
112 #define CplusplusDependIncludes -D__DECCXX -I/usr/include/cxx
114 #ifndef CplusplusLibDir
115 #define CplusplusLibDir /usr/lib/cmplrs/cxx
117 #ifndef CplusplusLibC
118 #define CplusplusLibC -L/usr/lib/cmplrs/cxx -lcxx
120 #ifndef CplusplusOptions
121 #define CplusplusOptions -call_shared
123 #endif /* HasDECCplusplus */
126 #if HasGcc2ForCplusplus
127 #ifndef CplusplusLibC
128 #define CplusplusLibC `$(CXX) -print-libgcc-file-name`
130 #endif /* HasGcc2ForCplusplus */
132 #ifdef CplusplusLibDir
133 # define SystemBuildLibPath \
134 /usr/shlib:/usr/ccs/lib:CplusplusLibDir:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
136 # define SystemBuildLibPath \
137 /usr/shlib:/usr/ccs/lib:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
140 #include <osfLib.rules>
143 #ifdef AlphaArchitecture
145 #define HasWChar32 YES
147 #define ServerExtraDefines -D_XSERVER64
148 #define ServerOSDefines -DDDXTIME
149 #ifndef DefaultCCOptions
150 #define DefaultCCOptions -std1
152 #ifndef XawI18nDefines
153 #define XawI18nDefines -DHAS_WCHAR_H
156 #define BuildServer NO
159 /* For DtHelp's TIFF processing routines. */
160 #define LSBBitOrder YES
162 #define MotifDefines -DNO_REGCOMP -DNO_REGEX -DSTRINGS_ALIGNED
163 #define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DMESSAGE_CAT
164 #define DtSearchDefines -DI18N_MSG DtSvcDefines
165 #define DtWidgetDefines DtSearchDefines
166 #define DtPrintDefines DtSearchDefines
167 #define DtMailDefines \
168 -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\"
170 #define ArchitectureDefines -DALPHA_ARCHITECTURE
173 #ifdef MipsArchitecture
174 #define DefaultCCOptions -Xa
175 #define XdecServer YES
176 #define ServerOSDefines -DDDXTIME
177 #define PexCCOptions -Xa -Wf,-XNp15000,-XNd15000
178 #define NormalLibObjCompile(options) ClearmakeOSName \
180 && $(CC) -c options $(CFLAGS) $*.c \ @@\
181 && $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \ @@\
186 #ifndef HasMakefileSafeInclude
187 #define HasMakefileSafeInclude YES
189 #ifndef IncludeMakefile
190 #define IncludeMakefile(file) @@-include file
194 #ifndef ManKeywordsTarget
195 #define ManKeywordsTarget(manpath) @@\
197 catman -M $(DESTDIR)manpath -w
200 #define CdeTicDefines -DHAS_KNL -DHAS_KTAB
201 #define CdeProjectDefines \
202 -DDEC -DMULTIBYTE -DNLS16 \
203 -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion