home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / X11R6 / lib / X11 / config / ibm.cf < prev    next >
Text File  |  1999-09-03  |  5KB  |  169 lines

  1. XCOMM platform:  $XConsortium: ibm.cf /main/80 1996/12/26 08:52:31 kaleb $
  2.  
  3. #ifndef OSName
  4. # define OSName        DefaultOSName
  5. #endif
  6. #ifndef OSMajorVersion
  7. # define OSMajorVersion    DefaultOSMajorVersion
  8. #endif
  9. #ifndef OSMinorVersion
  10. # define OSMinorVersion    DefaultOSMinorVersion
  11. #endif
  12. #ifndef OSTeenyVersion
  13. # ifdef DefaultOSTeenyVersion
  14. #  define OSTeenyVersion    DefaultOSTeenyVersion
  15. # elif (OSMajorVersion == 4) && (OSMinorVersion == 1)
  16. #  define OSTeenyVersion    3
  17. # else
  18. #  define OSTeenyVersion    0
  19. # endif
  20. #endif
  21. XCOMM operating system:  OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
  22.  
  23. #if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 2)
  24. #define HasBSD44Sockets        YES
  25. #define HasPutenv        YES
  26. /*
  27.  * If you do not have threads support installed, put
  28.  * #define HasPosixThreads    NO
  29.  * in the BeforeVendorCF section of your site.def.
  30.  */
  31. #if !defined(HasPosixThreads) && ((OSMajorVersion == 3 && (OSMinorVersion > 2 || (OSMinorVersion == 2 && OSTeenyVersion > 4))) || (OSMajorVersion == 4 && (OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1))))
  32. #define HasPosixThreads        YES
  33. #endif
  34. #if HasPosixThreads
  35. #ifndef ThreadedX
  36. #define ThreadedX        YES
  37. #define MTSafeAPIDefines    -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
  38. #endif
  39. #endif
  40. #endif /* OS > 3.2 */
  41.  
  42. /*
  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.
  47.  */
  48.  
  49. #if !HasGcc2ForCplusplus
  50. # ifndef CplusplusCmd
  51. #  if ThreadedX
  52. #   define CplusplusCmd        xlC_r
  53. #  else
  54. #   define CplusplusCmd        xlC
  55. #  endif
  56. # endif
  57. #endif
  58.  
  59. #ifndef CplusplusFilt
  60. # define CplusplusFilt        /usr/lpp/xlC/bin/c++filt
  61. #endif
  62. #ifndef CplusplusLibC
  63. # if ThreadedX
  64. #  define CplusplusLibC        /usr/lpp/xlC/lib/libC.a
  65. # else
  66. #  define CplusplusLibC        /usr/lpp/xlC/lib/libC_r.a
  67. # endif
  68. #endif
  69. #if !HasGcc2ForCplusplus
  70. # ifndef CplusplusDependIncludes
  71. #  define CplusplusDependIncludes -I/usr/lpp/xlC/include
  72. # endif
  73. #endif
  74.  
  75. /*
  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.
  82.  */
  83.  
  84. .SUFFIXES:
  85. .SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx
  86.  
  87. #define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\
  88.     $(CXX) -c $(CXXFLAGS) options $*.C
  89.  
  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
  94.  
  95.  
  96. #define BuildLibPathVar        LIBPATH
  97. #define SystemV            YES
  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
  106.  
  107. /* IBM cpp has slightly non-standard line directives, but supports -P */
  108. #define CppNoLineInfoOption    -P
  109.  
  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
  114. #if ThreadedX
  115. #define CcCmd            xlc_r
  116. #else
  117. #define CcCmd            xlc
  118. #endif
  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
  131. #define CcCmd            xlc
  132. #define ThreadPreStdAPIDefines    -DXPRE_STANDARD_API
  133. #define SystemMTDefines        -D_THREAD_SAFE
  134. #define ThreadsLibraries    -lpthreads -lc_r
  135. #endif    /* OSMajorVersion */
  136.  
  137. #define OPERATING_SYSTEM     AIX /* directory name under server/ddx/ibm/ */
  138. #define InstallCmd              /usr/ucb/install
  139. #include <ibmLib.rules>
  140.  
  141. #ifndef ManKeywordsTarget
  142. #define ManKeywordsTarget(manpath)                    @@\
  143. man_keywords::                                @@\
  144.     /usr/lib/makewhatis $(DESTDIR)manpath
  145. #endif
  146.  
  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\"
  151.  
  152. #define ArchitectureDefines    -DIBM_ARCHITECTURE
  153.  
  154. #define ExportListGenSource    elistgen.ibm
  155.  
  156. #define CdeProjectDefines \
  157.     -D_AIX -D__AIX -D__aix -D_aix -Daix -DMULTIBYTE -DNLS16 -DMESSAGE_CAT \
  158.     -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion -DAIX
  159.  
  160. /*
  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.
  163.  */
  164. #ifndef OptimizedCDebugFlags
  165. #define OptimizedCDebugFlags    -O -D__STR31__ -DNDEBUG
  166. #endif
  167.  
  168. #define CdeTicDefines    -DHAS_KNL -DHAS_KTAB
  169.