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 YES
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