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

  1. XCOMM platform:  $TOG: sun.cf /main/163 1997/06/08 20:08:23 kaleb $
  2.  
  3.  
  4.  
  5.  
  6. XCOMM platform:  $XFree86: xc/config/cf/sun.cf,v 3.31.2.9 1999/03/27 12:28:47 dawes Exp $
  7.  
  8. #ifndef OSName
  9. # define OSName        DefaultOSName
  10. #endif
  11. #ifndef OSMajorVersion
  12. # define OSMajorVersion    DefaultOSMajorVersion
  13. #endif
  14. #ifndef OSMinorVersion
  15. # define OSMinorVersion    DefaultOSMinorVersion
  16. #endif
  17. #ifndef OSTeenyVersion
  18. # define OSTeenyVersion    DefaultOSTeenyVersion
  19. #endif
  20. XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  21.  
  22. /*
  23.  * Compiler setup.  This sun.cf file knows what options to use with 
  24.  * certain compilers, including Sun C, CenterLine C, and gcc.  It 
  25.  * also understands how to set some of the options for various C++
  26.  * compilers, including Sun C++ and CenterLine C++.
  27.  *
  28.  * === C Compiler Setup ==========================================
  29.  *
  30.  * For SunPro C, define HasSunC to YES in site.def.  
  31.  * For CenterLine C, define HasCenterLineC to YES in site.def
  32.  * For gcc or gcc2, define HasGcc or HasGcc2 to YES in site.def
  33.  * For other compilers, define HasSunC to NO in site.def, then 
  34.  *    provide appropriate values for the various compiler related
  35.  *    configuration varibles used here.
  36.  * 
  37.  * If you say you have the SunPro C compiler, we assume you have 
  38.  * version 2.0.x of the compiler.  If you have version 3.0.x instead, 
  39.  * define CCompilerMajorVersion as 3 in site.def
  40.  *
  41.  * If you don't tell us which C compiler you have, we assume you have 
  42.  * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc 
  43.  * under SunOS 4.1.x
  44.  *
  45.  * === C++ Compiler Setup ==========================================
  46.  *
  47.  * For SunPro C++, define HasSunCplusplus to YES in site.def
  48.  * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
  49.  * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def
  50.  * For other compilers, define HasCplusplus to YES in site.def, and 
  51.  *    check to see if you need to provide values for CplusplusOptions
  52.  *    and/or DefaultCplusplusOptions.
  53.  *
  54.  * In any case, you may also need to set CplusplusDependIncludes.
  55.  *
  56.  * If you say you have the SunPro C++ compiler, we assume you have 
  57.  * version 3.0.x of the compiler.  If you have version 4.0.x instead, 
  58.  * define CplusplusCompilerMajorVersion as 4 in site.def.
  59.  *
  60.  */
  61.  
  62. #ifndef HasGcc2
  63. #define HasGcc2 NO
  64. #endif
  65. #ifndef HasGcc
  66. #define HasGcc HasGcc2
  67. #endif
  68.  
  69. #ifndef HasSunC
  70. # if (HasCenterLineC || HasGcc || HasGcc2 || OSMajorVersion < 5)
  71. #  define HasSunC NO
  72. # else
  73. #  define HasSunC YES
  74. # endif
  75. #endif
  76.  
  77. #if HasSunC 
  78. # ifndef CCompilerMajorVersion
  79. #  define CCompilerMajorVersion 3
  80. #  define DefaultCDebugFlags    -xO3
  81. #  define OptimizedCDebugFlags    -xO3
  82. # endif
  83. #endif
  84.  
  85. #if HasSunCplusplus
  86. # ifndef HasCplusplus
  87. #  define HasCplusplus YES
  88. #  define OptimizedCplusplusDebugFlags    -xO3
  89. # endif
  90. # ifndef CplusplusCompilerMajorVersion
  91. #  define CplusplusCompilerMajorVersion    4
  92. # endif
  93. #endif
  94.  
  95. #if HasCenterLineC
  96. # ifndef CcCmd
  97. #  define CcCmd clcc
  98. # endif
  99. #endif
  100.  
  101. #if HasCenterLineCplusplus
  102. # ifndef HasCplusplus
  103. #  define HasCplusplus YES
  104. # endif
  105. # ifndef DefaultCplusplusOptions
  106. #  define DefaultCplusplusOptions -Xa
  107. # endif
  108. # ifndef CplusplusOptions
  109. #  define CplusplusOptions -Xa
  110. # endif
  111. #endif
  112.  
  113.  
  114. #if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
  115. /* We do not guarantee this will work */
  116. # define BootstrapCFlags    -DNOSTDHDRS
  117. # define StandardDefines    -DNOSTDHDRS
  118. # define XawI18nDefines        -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
  119. #endif
  120.  
  121. #if OSMajorVersion == 4 
  122. # if OSMinorVersion == 1
  123. #  define HasPoll        YES
  124. # endif
  125. # if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
  126. /* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
  127. #  define SunPost411FCSLd    YES
  128. # endif
  129. #endif
  130.  
  131. #ifdef i386Architecture
  132. # if OSMajorVersion > 4
  133. #  define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines -D__EXTENSIONS__
  134. #  define ServerOSDefines    XFree86ServerOSDefines
  135. # else
  136. #  define ServerExtraDefines AllocateLocalDefines
  137. #  define ServerOSDefines   -DDDXOSINIT
  138. # endif
  139. #else
  140. # define ServerExtraDefines AllocateLocalDefines
  141. # define ServerOSDefines   -DDDXOSINIT
  142. #endif
  143.  
  144. #define XkbServerDefines  -DXKB_ALWAYS_USES_SOFT_REPEAT
  145.  
  146. #if OSMajorVersion > 4
  147. #if HasSunC
  148. /* 
  149.  * Assume /opt/SUNWspro/bin/ contains symlinks to the appropriate tools
  150.  */
  151. #ifndef  CcCmd
  152. # define CcCmd        /opt/SUNWspro/bin/cc
  153. #endif
  154. #ifndef  CplusplusCmd
  155. # define CplusplusCmd    /opt/SUNWspro/bin/CC
  156. #endif
  157. #ifndef  CplusplusFilt
  158. # define CplusplusFilt    /opt/SUNWspro/bin/c++filt
  159. #endif
  160. #ifndef  CplusplusDependIncludes
  161. # define CplusplusDependIncludes    -I/opt/SUNWspro/SC3.0/include/CC
  162. #endif
  163. #endif
  164.  
  165. # if HasSunC && (CCompilerMajorVersion < 3)
  166. #  define BootstrapCFlags    -DSVR4
  167. # else
  168. #  define BootstrapCFlags    /* none needed */
  169. # endif
  170. # ifndef XawI18nDefines
  171. #  if OSMinorVersion < 4
  172. #   define XawI18nDefines    -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
  173. #  else
  174. #   define XawI18nDefines    -DHAS_WCHAR_H -DHAS_ISW_FUNCS
  175. #  endif
  176. # endif
  177. # if OSMinorVersion > 3
  178. #  define InstallCmd        /usr/ucb/install
  179. # endif
  180. # ifdef i386Architecture
  181. #  define StandardDefines      -Dsun -Di386 -DSVR4 -D__i386
  182. #  define ToolkitStringsABIOptions    -intelabi
  183. # else
  184. #  define StandardDefines      -Dsun -DSVR4
  185. #  define ToolkitStringsABIOptions    -sparcabi
  186. #  define HasPlugin         YES
  187. # endif
  188. # define ExtraLibraries    -lsocket -lnsl
  189. # if OSMinorVersion > 1
  190. #  define ThreadedX      YES
  191. #  define MTSafeAPIDefines    -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
  192. #  if HasSunC && CCompilerMajorVersion > 2
  193. #   define ThreadsCompileFlags -mt
  194. #  else
  195. #   define SystemMTDefines -D_REENTRANT
  196. #   define ThreadsLibraries -lthread
  197. #  endif
  198. #  if HasSunCplusplus && CplusplusCompilerMajorVersion > 3
  199. #   define ThreadsCplusplusCompileFlags -mt
  200. #  else
  201. #   define CplusplusSystemMTDefines -D_REENTRANT
  202. #   define ThreadsCplusplusLibraries -lthread
  203. #  endif
  204. # endif         /* OSMinorVersion > 1 */
  205. # ifndef UseExportLists
  206. #  if OSMinorVersion > 4
  207. #   define UseExportLists YES
  208. #  else
  209. #   define UseExportLists NO
  210. #  endif
  211. # endif
  212. # if OSMinorVersion > 5
  213. #  define HasSnprintf YES
  214. # endif
  215. # define HasVFork          NO
  216. # define InstKmemFlags      -g sys -m 2711
  217. # define ShLibIncludeFile <sunLib.tmpl>
  218. /*
  219.  * Set flags for position independent code before including sv4Lib.rules
  220.  * if the compiler in use doesn't use standard SVR4 flags
  221.  */
  222. # if HasSunC || HasCenterLineC
  223. #  define PositionIndependentCFlags -Kpic
  224. #  define LargePositionIndependentCFlags -KPIC
  225. # endif
  226. # if HasSunCplusplus || HasCenterLineCplusplus
  227. #  define PositionIndependentCplusplusFlags -pic
  228. #  define LargePositionIndependentCplusplusFlags -PIC
  229. # endif
  230. #else /* not OSMajorVersion > 4 */
  231. #define InstKmemFlags      -g kmem -m 2711
  232. #include <sunLib.rules>
  233. #endif /* OSMajorVersion > 4 (else) */
  234.  
  235. #define BuildLibPathVar      LD_LIBRARY_PATH
  236. #define HasNdbm          YES
  237. #define HasShm          YES
  238. #define HasSecureRPC      YES
  239. #define SetTtyGroup      YES
  240. #define HasPutenv      YES
  241. #ifndef i386Architecture
  242. # ifndef Xsun24Server
  243. #  define Xsun24Server      NO        /* color, mono, multiple depths */
  244. # endif
  245. # ifndef XsunServer
  246. #  define XsunServer      YES        /* color and mono, 8 bit only */
  247. # endif
  248. # ifndef XsunMonoServer
  249. #  define XsunMonoServer      NO        /* monochrome only */
  250. # endif
  251. # ifndef BuildPexExt
  252. #  define BuildPexExt      (XsunServer || Xsun24Server)
  253. # endif
  254. #endif /* not i386Architecture */
  255.  
  256. #if (OSMajorVersion > 4) && defined(i386Architecture)
  257. #ifndef HasSolx86ApertureDriver
  258. #define HasSolx86ApertureDriver    YES
  259. #endif
  260. #endif
  261.  
  262. #if HasGcc
  263. # if OSMajorVersion > 4 && defined(i386Architecture)
  264. #  ifndef DefaultCCOptions
  265. #   if UseInstalled
  266. #    define DefaultCCOptions -DNO_ASM
  267. #   else
  268. #    if (OSMinorVersion > 3) && (OSMinorVersion < 7)
  269. #     define DefaultCCOptions -ansi -pedantic -DNO_ASM
  270. #    else
  271. #     define DefaultCCOptions -DNO_ASM
  272. #    endif
  273. #   endif
  274. #  endif
  275. # endif
  276. # if HasGcc2
  277. #  ifndef OptimizedCDebugFlags
  278. #   ifdef i386Architecture
  279. #    define OptimizedCDebugFlags DefaultGcc2i386Opt
  280. #   else
  281. #    define OptimizedCDebugFlags -O2
  282. #   endif
  283. #  endif
  284. # else
  285. #  define SharedLibraryCcCmd cc
  286. #  define ExtraLoadFlags -B/usr/bin/
  287. #  define AllocateLocalDefines /**/
  288.  
  289. .c.o:
  290.     ClearmakeOSName    $(CC) -c $(CFLAGS) $*.c
  291.  
  292. # endif /* HasGcc2 (else) */
  293.  
  294. #else /* not HasGcc */
  295.  
  296. # define AllocateLocalDefines -DINCLUDE_ALLOCA_H
  297.  
  298. /* Set up compiler-dependent options for Sun C */
  299.  
  300. # if HasSunC
  301. #  ifdef Sun3Architecture
  302. #   ifndef DefaultCCOptions
  303. #    define DefaultCCOptions -f68881 -pipe
  304. #   endif
  305. #  else    /* not defined(Sun3Architecture) */
  306. #   if OSMajorVersion < 5
  307. #    ifndef DefaultCCOptions
  308. #     define DefaultCCOptions -pipe
  309. #    endif
  310. #   else /* OSMajorVersion >= 5*/
  311. #    ifndef DefaultCCOptions
  312. #     define DefaultCCOptions -Xa
  313. #    endif
  314. #   endif    
  315. #  endif    
  316. # endif
  317.  
  318. /* Set compiler-dependent options for CenterLine C */
  319.  
  320. # if HasCenterLineC
  321. #  ifndef DefaultCCOptions
  322. #   define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__
  323. #  endif
  324. #  ifndef NeedConstPrototypes
  325. #   define NeedConstPrototypes YES
  326. #  endif
  327. #  ifndef NeedNestedPrototypes
  328. #   define NeedNestedPrototypes YES
  329. #  endif
  330. #  ifndef NeedVarargsPrototypes
  331. #   define NeedVarargsPrototypes YES
  332. #  endif
  333. # endif
  334.  
  335.  
  336. # define PexCCOptions DefaultCCOptions
  337.  
  338. #endif /* HasGcc (else) */
  339.  
  340. #if OSMajorVersion < 5
  341. # define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
  342. # define LibraryCCOptions /* don't want special floating point */
  343. #endif /* OSMajorVersion < 5 */
  344.  
  345. #if OSMajorVersion > 4
  346. # include <svr4.cf>
  347. #endif
  348.  
  349. #ifndef ManKeywordsTarget
  350. # define ManKeywordsTarget(manpath)                    @@\
  351. man_keywords::                                @@\
  352.     catman -M $(DESTDIR)manpath -w
  353. #endif
  354.  
  355. #if !defined(UsePamLibrary)
  356. # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4))
  357. #  define UsePamLibrary        YES
  358. # endif
  359. #endif
  360.  
  361. #define MotifDefines            \
  362.     -DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST
  363. #define PamUnixDefines        -DPAM_NIS
  364. #define TtLargePICTable        YES
  365. #define DtSvcDefines        -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
  366. #define DtSearchDefines        -DI18N_MSG DtSvcDefines
  367. #define DtWidgetDefines        DtSearchDefines
  368. #define DtPrintDefines        DtSearchDefines
  369.  
  370. #define baseDtMailDefines    \
  371.     -DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
  372. #ifndef i386Architecture
  373. # define DtMailDefines        baseDtMailDefines
  374. #else
  375. # define DtMailDefines        -DBIG_ENDIAN baseDtMailDefines
  376. #endif
  377.  
  378. #define ArchitectureDefines    -DSUN_ARCHITECTURE
  379.  
  380. #define TtClientExtraLibs    ExtraLibraries -ldl -lintl
  381.  
  382. #define ExportListGenSource    elistgen.sun
  383. #define ShlibExportListOpt(filename)    -M filename
  384.  
  385. #define CdeProjectDefines \
  386.     -DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \
  387.     -D_XOPEN_SOURCE -D__EXTENSIONS__ \
  388.     -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
  389.