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

  1. XCOMM platform:  $TOG: sgi.cf /main/45 1997/06/18 18:01:03 kaleb $
  2. XCOMM
  3. XCOMM
  4. XCOMM $XFree86: xc/config/cf/sgi.cf,v 1.1.1.5.2.4 1999/06/18 13:47:28 hohndel Exp $
  5.  
  6. #ifndef OSName
  7. # define OSName        DefaultOSName
  8. #endif
  9. #ifndef OSMajorVersion
  10. # define OSMajorVersion    DefaultOSMajorVersion
  11. #endif
  12. #ifndef OSMinorVersion
  13. # define OSMinorVersion    DefaultOSMinorVersion
  14. #endif
  15. #ifndef OSTeenyVersion
  16. # define OSTeenyVersion    DefaultOSTeenyVersion 
  17. #endif
  18. XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
  19.  
  20. #if OSMajorVersion < 4
  21. /* We do not guarantee this will work */
  22. #define BootstrapCFlags        -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
  23. #define StandardDefines        -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
  24. #define SetTtyGroup        NO
  25. #else
  26. #define HasPlugin        YES
  27. #define SetTtyGroup        YES
  28. #define ExtraFilesToClean    so_locations
  29. #endif
  30.  
  31. #if OSMajorVersion < 5
  32. #define SystemV            YES
  33. #define XawI18nDefines        -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
  34. #else
  35. #define BootstrapCFlags        -DSVR4
  36. #define StandardDefines        -DSVR4
  37. #define SystemV4        YES
  38. #define HasWChar32              YES
  39. #define HasVFork        NO
  40. #if OSMajorVersion < 6
  41. #define XawI18nDefines        -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
  42. #else
  43. #define XawI18nDefines        -DHAS_WCHAR_H -DHAS_ISW_FUNCS
  44. #endif
  45. #define AllocateLocalDefines    -DINCLUDE_ALLOCA_H
  46. #ifndef ExtraLoadFlags
  47. #define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
  48. #endif
  49. #endif
  50.  
  51. /*
  52.  * To build 64-bit binaries define Mips64Architecture in your site.def or
  53.  * host.def file. This is usually on done at the X Consortium to test
  54.  * big endian 64-bit cleanliness.
  55.  * To build 32-bit binaries using the old 32-bit mode, define
  56.  * NoMipsN32Archtecture in your site.def or host.def file.
  57.  * Otherwise the default is to use the "new 32" mode as requested by SGI.
  58.  */
  59. #ifndef MipsN32Architecture
  60. #if !defined(Mips64Architecture) && !defined(NoMipsN32Architecture)
  61. #define MipsN32Architecture YES
  62. #endif
  63. #endif
  64.  
  65. #ifdef Mips64Architecture
  66. # define BuildLibPathVar    _RLD_ROOT=/dev/null LD_LIBRARY64_PATH
  67. # define SystemBuildLibPath    /usr/lib64:/lib64
  68. # define LdCmd            ld -64
  69. #elif defined(MipsN32Architecture)
  70. # define BuildLibPathVar    _RLD_ROOT=/dev/null LD_LIBRARYN32_PATH
  71. # define SystemBuildLibPath    /usr/lib32:/lib32
  72. # define LdCmd            ld -n32
  73. # define AsCmd            as -n32
  74. #else
  75. # define BuildLibPathVar    _RLD_ROOT=/dev/null LD_LIBRARY_PATH
  76. # define SystemBuildLibPath    /usr/lib:/lib
  77. #endif
  78. #define HasCplusplus        YES
  79. #define Malloc0ReturnsNull    YES    /* IRIX [56].x -lmalloc needs this */
  80. #define HasPutenv        YES
  81. #define ExecableScripts        YES
  82. #define HasNdbm            YES
  83. #define HasPoll                 YES
  84. #define ExpandManNames          YES
  85. #ifndef BuildXInputExt
  86. #define BuildXInputExt        YES
  87. #endif
  88.  
  89. #if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
  90. #define NeedVarargsPrototypes    YES
  91. #define NeedConstPrototypes    YES
  92. #define NeedWidePrototypes    NO
  93. #endif
  94.  
  95. #include <sgiLib.rules>
  96.  
  97. #if OSMajorVersion < 5
  98. #define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000
  99. #define PexSymbolTables -Wf,-XNp15000,-XNd15000,-XNh2000
  100. #define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000
  101. #else
  102. #define SymbolTables
  103. #define PexSymbolTables 
  104. #define ServerSymbolTables
  105. #endif
  106.  
  107. /* this is for floating point, ANSI cpp */
  108. #if OSMajorVersion < 5
  109. /* Extra libraries provide : yp, sysV malloc, shared libc, and widechar */
  110. # define ExtraLibraries -lsun -lmalloc -lc_s -lw
  111. # define sgiCCOptions -xansi -D__STDC__=1 -float
  112. #else
  113. # if OSMajorVersion < 6
  114. #  define sgiCCOptions -xansi
  115. # else
  116. #  define CppCmd cc -E
  117. #  ifdef Mips64Architecture
  118. /* set Mips64Architecture in host.def. Usually don't need it but we
  119.  * (the X Consortium) want a  64-bit big-endian machine to test on. */
  120. #   define sgiCCOptions -xansi -mips3 -64
  121. #   define DlLibrary /**/
  122. #  elif defined(MipsN32Architecture)
  123. /* Set MipsN32Architecture to build "new" 32-bit objs with a 32-bit kernel. */
  124. #   define sgiCCOptions -xansi -mips3 -n32
  125. #  else
  126. #   define sgiCCOptions -xansi
  127. #  endif
  128. #  if OSMinorVersion > 1
  129. /* if you haven't installed patch 1361, 1403, or 1645 on IRIX 6.2 then you
  130.  * must add "#define HasPosixThreads NO" in your site.def or host.def file
  131.  */
  132. #   ifndef HasPosixThreads
  133. #    define HasPosixThreads    YES
  134. #   endif
  135. #   define ThreadedX HasPosixThreads
  136. #   define ThreadsLibraries -lpthread
  137. /* 
  138.  * Add "#define HasSgiThreadsPatch1403 NO" to your site.def or host.def if 
  139.  * that's which patch you have.
  140.  */
  141. #   ifndef HasSgiThreadsPatch1403
  142. #    define HasSgiThreadsPatch1403 YES
  143. #   endif
  144. #   if (HasSgiThreadsPatch1403) 
  145. #    define SystemMTDefines -D_POSIX_THREAD_SAFE_FUNCTIONS
  146. #   endif
  147. #  endif
  148. # endif
  149. /* SGI's -lsocket -lnsl is broken, at least in 5.2, so override here */
  150. # define ExtraLibraries /**/
  151. #endif
  152.  
  153. #define DefaultCCOptions sgiCCOptions SymbolTables
  154. #define PexCCOptions sgiCCOptions PexSymbolTables
  155. #define ServerCCOptions sgiCCOptions ServerSymbolTables
  156.  
  157. /* For SGI C++ compiler, need to search extra dirs in make depend */
  158. #ifndef CplusplusDependIncludes
  159. #define CplusplusDependIncludes -I/usr/include/CC
  160. #endif
  161.  
  162. /* At SGI, we don't need this */
  163. #define ConstructMFLAGS        NO    /* build MFLAGS from MAKEFLAGS */
  164.  
  165. /* Used only for compressed fonts */
  166. #define UNCOMPRESSPATH /usr/bsd/uncompress
  167.  
  168. /* Normally used only to conditionally chose the default font path order */
  169. #define PrimaryScreenResolution 96
  170.  
  171. /* Override Imake.tmpl's "-X" flag */
  172. #define LdCombineFlags -r
  173.  
  174. /* Installation Build Parameters */
  175. #define InstKmemFlags -m 2711 -g sys
  176.  
  177. #define ArCmd ar scq
  178.  
  179. /* for xdm or anyone else to use */
  180. #define DefaultUserPath :/usr/sbin:/usr/bsd:/usr/bin:/bin:$(BINDIR):/etc:/usr/etc
  181. #define DefaultSystemPath /usr/sbin:/usr/bsd:/bin:/etc:/usr/bin:/usr/etc:$(BINDIR)
  182.  
  183. #ifndef BuildServer
  184. #define BuildServer             NO
  185. #endif
  186. #define ServerOSDefines        -DDDXTIME 
  187. /* only need this for binary compatibility with their ddx */
  188. #ifndef Mips64Architecture
  189. #define ServerExtraDefines    -DNEED_LINEHELPER AllocateLocalDefines
  190. #else
  191. #define ServerExtraDefines    -D_XSERVER64 -DNEED_LINEHELPER AllocateLocalDefines
  192. #endif
  193.  
  194. /* Changed to a single shell command for pmake/smake */
  195. #if OSMajorVersion < 5
  196. /*
  197.  * NormalLibObjCompile - compile fragment for a library object file
  198.  *     do ld -x to remove line number symbols for libraries
  199.  */
  200. #define NormalLibObjCompile(options)     ClearmakeOSName              \
  201.     $(RM) $@ $*.os \                        @@\
  202.     && $(CC) -c options $(CFLAGS) $*.c \                @@\
  203.     && $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \            @@\
  204.     && $(MV) $*.os $@
  205. #endif
  206.  
  207. #define LibObjCompile(dir,options) ClearmakeOSName              \
  208.     $(RM) $@ dir/$@ \                        @@\
  209.     && $(CC) -c $(CCOPTIONS) $(ALLDEFINES) options $*.c \        @@\
  210.     && $(MV) $@ dir/$@
  211.  
  212. #ifndef HasMakefileSafeInclude
  213. #define HasMakefileSafeInclude YES
  214. #endif
  215. #ifndef IncludeMakefile
  216. #define IncludeMakefile(file) @@sinclude file
  217. #endif
  218.  
  219. /* needs to find nroff on the system to work */
  220. #ifndef ManKeywordsTarget
  221. #define ManKeywordsTarget(manpath)                    @@\
  222. man_keywords::                                @@\
  223.     /usr/lib/makewhatis -M $(DESTDIR)manpath $(DESTDIR)manpath/whatis
  224. #endif
  225.  
  226. #define MotifDefines        -DSYS_DIR -DPORT_NOVFORK -DNO_REGCOMP
  227.  
  228. #ifndef CppFileTarget
  229. #define CppFileTarget(dst,src,defs,deplist)                @@\
  230. dst::  src deplist                            @@\
  231.     RemoveFile($@)                            @@\
  232.     ClearmakeOSName \
  233.     $(CPP) CppNoLineInfoOption defs src | CppSedMagic >$@;         @@\
  234.                                     @@\
  235. clean::                                    @@\
  236.     RemoveFiles(dst)
  237. #endif /* CppFileTarget */
  238.