1 XCOMM platform: $XConsortium: ibm.cf /main/80 1996/12/26 08:52:31 kaleb $
4 # define OSName DefaultOSName
7 # define OSMajorVersion DefaultOSMajorVersion
10 # define OSMinorVersion DefaultOSMinorVersion
12 #ifndef OSTeenyVersion
13 # ifdef DefaultOSTeenyVersion
14 # define OSTeenyVersion DefaultOSTeenyVersion
15 # elif (OSMajorVersion == 4) && (OSMinorVersion == 1)
16 # define OSTeenyVersion 3
18 # define OSTeenyVersion 0
21 XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
23 #if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 2)
24 #define HasBSD44Sockets YES
27 * If you do not have threads support installed, put
28 * #define HasPosixThreads NO
29 * in the BeforeVendorCF section of your site.def.
31 #if !defined(HasPosixThreads) && ((OSMajorVersion == 3 && (OSMinorVersion > 2 || (OSMinorVersion == 2 && OSTeenyVersion > 4))) || (OSMajorVersion == 4 && (OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1))))
32 #define HasPosixThreads YES
37 #define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
43 * For IBM platforms, we must define both the location of the compiler
44 * and the location of its standard C++ library. The library location
45 * is needed to resolve dependent library symbols if we build our own
46 * C++ shared libraries.
49 #if !HasGcc2ForCplusplus
52 # define CplusplusCmd xlC_r
54 # define CplusplusCmd xlC
60 # define CplusplusFilt /usr/lpp/xlC/bin/c++filt
64 # define CplusplusLibC /usr/lpp/xlC/lib/libC.a
66 # define CplusplusLibC /usr/lpp/xlC/lib/libC_r.a
69 #if !HasGcc2ForCplusplus
70 # ifndef CplusplusDependIncludes
71 # define CplusplusDependIncludes -I/usr/lpp/xlC/include
76 * IBM's xlC refuses to compile files unless their names end in ".C".
77 * As an alternative to this fix, one could edit /etc/xlC.cfg
78 * to change the suffix accepted by the compiler, but we prefer not
79 * requiring users to reconfigure their C++ compilers to make them work.
80 * We also have to override the default SUFFIXES to defeat the use of
81 * the builtin .C -> .o file, which doesn't use the right flags.
85 .SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx
87 #define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\
88 $(CXX) -c $(CXXFLAGS) options $*.C
90 #define SpecialCplusplusObjectRule(baseobj,basedep,options) @@\
91 baseobj.Osuf: basedep.CCsuf @@\
92 test -r basedep.C || $(LN) basedep.CCsuf basedep.C @@\
93 $(CXX) -c $(CXXFLAGS) options basedep.C
96 #define BuildLibPathVar LIBPATH
98 #define LdCombineFlags -r
99 #define ExecableScripts YES
100 #define Malloc0ReturnsNull YES
101 #define CppCmd /usr/ccs/lib/cpp
102 #define ExpandManNames YES
103 #define ExtensionOSDefines # -DXTESTEXT1
104 #define XibmServer NO
105 #define ibmIncludeSKYWAY YES
107 /* IBM cpp has slightly non-standard line directives, but supports -P */
108 #define CppNoLineInfoOption -P
110 #if OSMajorVersion > 3
111 #define StandardDefines -DSYSV -DAIXV3 -DAIXV4 -D_ALL_SOURCE
112 #define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
113 #define ServerExtraDefines -D_IBM_LFT
119 #define SystemMTDefines /* xlc_r defines -D_THREAD_SAFE */
120 #define ThreadsLibraries -lpthreads /* xlc_r does -lc_r */
121 #define ThreadsCplusplusLibraries -lpthreads
122 #define AvoidNullMakeCommand YES
123 #define NullMakeCommand @ echo
124 /* AIX 4 appends all MAKEFLAGS (even dups), so cannot pass on command line. */
125 #define ConstructMFLAGS NO
126 #define LdPreLib _Use(-L$(USRLIBDIR),-L$(BUILDLIBDIR))
127 #define ExtraFilesToClean *.inp
128 #else /* OSMajorVersion < 4 */
129 #define StandardDefines -DSYSV -DAIXV3 -D_ALL_SOURCE
130 #define ServerExtraDefines -D_IBM_HFT
132 #define ThreadPreStdAPIDefines -DXPRE_STANDARD_API
133 #define SystemMTDefines -D_THREAD_SAFE
134 #define ThreadsLibraries -lpthreads -lc_r
135 #endif /* OSMajorVersion */
137 #define OPERATING_SYSTEM AIX /* directory name under server/ddx/ibm/ */
138 #define InstallCmd /usr/ucb/install
139 #include <ibmLib.rules>
141 #ifndef ManKeywordsTarget
142 #define ManKeywordsTarget(manpath) @@\
144 /usr/lib/makewhatis $(DESTDIR)manpath
147 #define DtMailDefines \
148 -DI_HAVE_NO_BOOL -DI_HAVE_SELECT_H \
149 -DBIG_ENDIAN -DSTRCASECMP_NOT_DEFINED -DDO_ANONYMOUS_MAP -DSENDMAIL_LOCKS \
150 -DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\"
152 #define ArchitectureDefines -DIBM_ARCHITECTURE
154 #define ExportListGenSource elistgen.ibm
156 #define CdeProjectDefines \
157 -D_AIX -D__AIX -D__aix -D_aix -Daix -DMULTIBYTE -DNLS16 -DMESSAGE_CAT \
158 -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion -DAIX
161 * -D__STR31__ disables inlining of memcpy to work around optimization bug
162 * in XLC v1.2.0.7. Bug report filed as PMR 8X196, branch 060.
164 #ifndef OptimizedCDebugFlags
165 #define OptimizedCDebugFlags -O -D__STR31__ -DNDEBUG
168 #define CdeTicDefines -DHAS_KNL -DHAS_KTAB