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

  1. XCOMM platform:  $TOG: linux.cf /main/36 1997/06/16 22:21:03 kaleb $
  2. XCOMM platform:  $XFree86: xc/config/cf/linux.cf,v 3.57.2.18 1999/07/22 08:13:51 hohndel Exp $
  3.  
  4. #ifndef LinuxElfDefault
  5. #define LinuxElfDefault        YES
  6. #endif
  7.  
  8. #ifndef UseElfFormat
  9. #define UseElfFormat        LinuxElfDefault
  10. #endif
  11.  
  12. #ifndef OSBinaryType
  13. #if UseElfFormat
  14. #define OSBinaryType        [ELF]
  15. #else
  16. #ifdef AlphaArchitecture
  17. #define OSBinaryType        [ECOFF]
  18. #else
  19. #define OSBinaryType        [a.out]
  20. #endif
  21. #endif
  22. #endif
  23.  
  24. #ifndef OSName
  25. #define OSName            DefaultOSName OSBinaryType
  26. #endif
  27.  
  28. #ifndef OSVendor
  29. #define OSVendor        /**/
  30. #endif
  31. #ifndef OSMajorVersion
  32. #define OSMajorVersion        DefaultOSMajorVersion
  33. #endif
  34. #ifndef OSMinorVersion
  35. #define OSMinorVersion        DefaultOSMinorVersion
  36. #endif
  37. #ifndef OSTeenyVersion
  38. #define OSTeenyVersion        DefaultOSTeenyVersion
  39. #endif
  40.  
  41. /* Set some defaults for the Default* values in case imake doesn't find them */
  42. #ifndef DefaultLinuxCLibMajorVersion
  43. #if defined(AlphaArchitecture) || defined(PowerPCArchitecture) || \
  44.     defined(SparcArchitecture) || defined(ArmArchitecure) || \
  45.     defined(i386Architecture)
  46. #define DefaultLinuxCLibMajorVersion    6
  47. #else
  48. #define DefaultLinuxCLibMajorVersion    5
  49. #endif
  50. #endif
  51. #ifndef DefaultLinuxCLibMinorVersion
  52. #if DefaultLinuxCLibMajorVersion > 5
  53. #define DefaultLinuxCLibMinorVersion    0
  54. #else
  55. #define DefaultLinuxCLibMinorVersion    4
  56. #endif
  57. #endif
  58. #ifndef DefaultLinuxCLibTeenyVersion
  59. #define DefaultLinuxCLibTeenyVersion    0
  60. #endif
  61.  
  62. #ifndef LinuxCLibMajorVersion
  63. #define LinuxCLibMajorVersion    DefaultLinuxCLibMajorVersion
  64. #endif
  65. #ifndef LinuxCLibMinorVersion
  66. #define LinuxCLibMinorVersion    DefaultLinuxCLibMinorVersion
  67. #endif
  68. #ifndef LinuxCLibTeenyVersion
  69. #define LinuxCLibTeenyVersion    DefaultLinuxCLibTeenyVersion
  70. #endif
  71.  
  72. #ifndef LinuxBinUtilsMajorVersion
  73. #define LinuxBinUtilsMajorVersion    DefaultLinuxBinUtilsMajorVersion
  74. #endif
  75.  
  76. XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  77. XCOMM libc:    (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
  78. XCOMM binutils:    (LinuxBinUtilsMajorVersion)
  79.  
  80. /*
  81.  * The Linux BinUtils major version.  25 => 2.5.x, which is what is included
  82.  * with Slackware 3.0
  83.  *
  84.  * This remains for compatibility only.
  85.  *
  86.  */
  87. #ifndef BinUtilsMajorVersion
  88. #define BinUtilsMajorVersion    LinuxBinUtilsMajorVersion
  89. #endif
  90.  
  91. #if LinuxCLibMajorVersion >= 6 || \
  92.     (LinuxCLibMajorVersion == 5 && LinuxCLibMinorVersion == 99)
  93. #define LinuxSourceDefines    -D_POSIX_C_SOURCE=199309L \
  94.                 -D_POSIX_SOURCE -D_XOPEN_SOURCE=500L \
  95.                 -D_BSD_SOURCE -D_SVID_SOURCE
  96. #define XawI18nDefines        -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
  97. #if !defined(ArmArchitecture)
  98. #define HasPosixThreads        YES
  99. #define ThreadedX        YES
  100. #define HasThreadSafeAPI    YES
  101. #define ThreadsLibraries    -lpthread
  102. #define SystemMTDefines        -D_REENTRANT
  103. #endif
  104. #ifndef HasLibCrypt
  105. #define HasLibCrypt        YES
  106. #endif
  107. #else
  108. #define LinuxSourceDefines    -D_POSIX_SOURCE \
  109.                 -D_BSD_SOURCE -D_SVID_SOURCE -DX_LOCALE
  110. #define XawI18nDefines        -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
  111. #ifndef HasLibCrypt
  112. #define HasLibCrypt        NO
  113. #endif
  114. #endif
  115.  
  116. /* For compatibility */
  117. #define SourceDefines        LinuxSourceDefines
  118.  
  119. #define HasGcc            YES
  120. #define HasGcc2            YES
  121. #ifndef HasGcc2ForCplusplus
  122. # define HasGcc2ForCplusplus    YES
  123. #endif
  124. #define GccUsesGas        YES
  125. #define UseGas            YES
  126. #define GnuCpp            YES
  127. #ifndef HasShadowPasswd
  128. # if UseElfFormat
  129. #  define HasShadowPasswd    YES
  130. # else
  131. #  define HasShadowPasswd    NO
  132. # endif
  133. #endif
  134. #define HasPutenv        YES
  135. #define HasShm            YES
  136. #define HasSockets        YES
  137. #if UseElfFormat || defined(AlphaArchitecture)
  138. #define HasSnprintf        YES
  139. #define HasMkstemp        YES
  140. #endif
  141. #ifndef HasPam
  142. #define HasPam            NO
  143. #endif
  144.  
  145. #define AvoidNullMakeCommand    YES
  146. #define StripInstalledPrograms    YES
  147. #define CompressAllFonts    YES
  148. #define Malloc0ReturnsNull    YES
  149. #define NeedConstPrototypes    YES
  150. #define NeedFunctionPrototypes    YES
  151. #define NeedNestedPrototypes    YES
  152. #define NeedVarargsPrototypes    YES
  153. #ifndef NeedWidePrototypes
  154. #define NeedWidePrototypes    NO
  155. #endif
  156. #define SetTtyGroup        YES
  157.  
  158. #ifndef UseStaticTermcapLib
  159. #define UseStaticTermcapLib    NO
  160. #endif
  161.  
  162. #define MkdirHierCmd        mkdir -p
  163. #if LinuxElfDefault
  164. #if UseElfFormat
  165. #define CcCmd            gcc
  166. #define AsCmd            as
  167. #define LdCmd            ld
  168. #define AsmDefines        -D__ELF__
  169. #define CplusplusCmd        c++
  170. #if UseStaticTermcapLib
  171. #define TermcapLibrary        StaticLibrary(/usr/lib/termcap,termcap)
  172. #endif
  173. #else
  174. #ifdef AlphaArchitecture
  175. #define CcCmd            gcc -b alpha-linuxecoff
  176. #define CplusplusCmd        g++ -b alpha-linuxecoff
  177. #define AsCmd            /usr/alpha-linuxecoff/bin/as
  178. #define LdCmd            /usr/alpha-linuxecoff/bin/ld -m alpha
  179. #define AsmDefines        -DUSE_GAS -U__ELF__
  180. #endif /* AlphaArchitecture */
  181. #ifdef i386Architecture
  182. #define CcCmd            gcc -b i486-linuxaout
  183. #define CplusplusCmd        g++ -b i486-linuxaout
  184. #define AsCmd            /usr/i486-linuxaout/bin/as
  185. #define LdCmd            /usr/i486-linuxaout/bin/ld -m i386linux
  186. #define AsmDefines        -DUSE_GAS -U__ELF__
  187. #endif /* i386Architecture */
  188. #ifdef Mc68020Architecture
  189. #define CcCmd            gcc -b m68k-linuxaout
  190. #define CplusplusCmd        g++ -b m68k-linuxaout
  191. #define AsCmd            /usr/m68k-linuxaout/bin/as
  192. #define LdCmd            /usr/m68k-linuxaout/bin/ld -m m68klinux
  193. #define AsmDefines        -DUSE_GAS -U__ELF__
  194. #endif /* Mc68020Architecture */
  195. #endif
  196. #else
  197. #if UseElfFormat
  198. #ifdef AlphaArchitecture
  199. #define CcCmd            gcc -b alpha-linux
  200. #define AsCmd            /usr/alpha-linux/bin/as
  201. #define LdCmd            ld -m elf64alpha
  202. #define AsmDefines        -D__ELF__
  203. #define CplusplusCmd        c++ -b alpha-linux
  204. #endif /* AlphaArchitecture */
  205. #ifdef i386Architecture
  206. #define CcCmd            gcc -b i486-linux
  207. #define AsCmd            /usr/i486-linux/bin/as
  208. #define LdCmd            ld -m elf_i386
  209. #define AsmDefines        -D__ELF__
  210. #define CplusplusCmd        c++ -b i486-linux
  211. #endif /* i386Architecture */
  212. #ifdef Mc68020Architecture
  213. #define CcCmd            gcc -b m68k-linux
  214. #define AsCmd            /usr/m68k-linux/bin/as
  215. #define LdCmd            ld -m m68kelf
  216. #define AsmDefines        -D__ELF__
  217. #define CplusplusCmd        c++ -b m68k-linux
  218. #endif /* Mc68020Architecture */
  219. #else
  220. #define CcCmd            gcc
  221. #define AsCmd            as
  222. #define LdCmd            ld
  223. #define AsmDefines        -DUSE_GAS
  224. #endif
  225. #endif
  226. #if UseElfFormat
  227. #ifndef BuildDynamicLoading
  228. #define BuildDynamicLoading    YES
  229. #endif
  230. #endif
  231. #define CppCmd            /lib/cpp
  232. #ifdef USE_BYACC
  233. #define YaccCmd            byacc
  234. #else
  235. #define YaccCmd            bison -y
  236. #endif
  237. #define LexCmd            flex -l
  238. #define LexLib            -lfl
  239. #define PreProcessCmd        CcCmd -E
  240. #define PostIncDir        DefaultGccIncludeDir
  241. #define LdCombineFlags        -r
  242. #define LdPostLib        /* Never needed */
  243. #define HasWChar32        YES
  244. #define StandardCppDefines    -traditional StandardDefines
  245.  
  246. #ifdef i386Architecture
  247. #define OptimizedCDebugFlags    DefaultGcc2i386Opt
  248. #define LinuxMachineDefines    -D__i386__
  249. #define ServerOSDefines        XFree86ServerOSDefines -DDDXTIME -DPART_NET
  250. #define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  251. #endif /* i386Architecture */
  252.  
  253. #ifdef AlphaArchitecture
  254. #define OptimizedCDebugFlags    -O2
  255. #define LinuxMachineDefines    -D__alpha__
  256. #define ServerOSDefines        XFree86ServerOSDefines -DDDXTIME -DPART_NET
  257. #define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
  258. #endif /* AlphaArchitecture */
  259.  
  260. #ifdef Mc68020Architecture
  261. #define OptimizedCDebugFlags    -O2
  262. #define LinuxMachineDefines     -D__mc68000__
  263. #define ServerOSDefines        XFree86ServerOSDefines -DDDXTIME -DPART_NET
  264. #define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  265. #endif /* Mc68020Architecture */
  266.  
  267. #ifdef PowerPCArchitecture
  268. #define DefaultCCOptions        -fsigned-char
  269. #define OptimizedCDebugFlags    -O2
  270. #define LinuxMachineDefines     -D__powerpc__
  271. #define ServerOSDefines        XFree86ServerOSDefines -DDDXTIME -DPART_NET
  272. #define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  273. #endif /* PowerPCArchitecture */
  274.  
  275. #ifdef ArmArchitecture
  276. #define DefaultCCOptions        -fsigned-char
  277. #define OptimizedCDebugFlags   -O2
  278. #define LinuxMachineDefines    -D__arm__
  279. #define ServerOSDefines                XFree86ServerOSDefines -DDDXTIME -DPART_NET
  280. #define ServerExtraDefines     -DGCCUSESGAS XFree86ServerDefines
  281. #endif /* Arm */
  282.  
  283. #define StandardDefines        -Dlinux LinuxMachineDefines LinuxSourceDefines
  284.  
  285. #if UseElfFormat
  286. #define DlLibrary        -rdynamic -ldl
  287. #else
  288. #define DlLibrary        /**/
  289. #endif
  290.  
  291. #if BuildDynamicLoading
  292. #define ServerExtraSysLibs    DlLibrary
  293. #else
  294. #define ServerExtraSysLibs    /**/
  295. #endif
  296.  
  297. #if HasDECnet
  298. #define ConnectionFlags        -DUNIXCONN -DTCPCONN -DDNETCONN
  299. #define ExtraLibraries        -ldnet
  300. #else
  301. #define ConnectionFlags        -DUNIXCONN -DTCPCONN
  302. #endif
  303.  
  304. /* Some of these man page defaults are overriden in the above OS sections */
  305. #ifndef ManSuffix
  306. # define ManSuffix    1x
  307. #endif
  308. #ifndef ManDir
  309. # define ManDir        $(MANSOURCEPATH)1
  310. #endif
  311. #ifndef LibManSuffix
  312. # define LibManSuffix    3x
  313. #endif
  314. #ifndef LibmanDir
  315. # define LibmanDir    $(MANSOURCEPATH)3
  316. #endif
  317. #ifndef FileManSuffix
  318. # define FileManSuffix    5x
  319. #endif
  320. #ifndef FileManDir
  321. # define FileManDir    $(MANSOURCEPATH)5
  322. #endif
  323.  
  324. #ifndef StaticLibrary
  325. #define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
  326. #endif
  327.  
  328. #define HasGnuMake    YES
  329.  
  330. #define MakeNamedTargetSubdir(dir,flags,subname)\
  331.     $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
  332.  
  333. #include <lnxLib.rules>
  334. #include <xfree86.cf>
  335.