summaryrefslogtreecommitdiff
path: root/xc/config/cf/sun.cf
blob: 6bfc98bc6f946c6a7dd6dbfa09b5a3d3e5934aba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
XCOMM platform:  $XConsortium: sun.cf,v 1.143 95/06/09 20:57:00 gildea Exp kaleb $

#ifdef SVR4Architecture
#ifdef i386Architecture
#ifndef OSName
#define OSName            SunOS 5.4 x86
#endif
XCOMM operating system:  OSName
#ifndef OSMajorVersion
#define OSMajorVersion    5
#endif
#ifndef OSMinorVersion
#define OSMinorVersion    4
#endif
#ifndef	OSTeenyVersion
#define OSTeenyVersion    0
#endif
#else
#ifndef OSName
#define OSName            SunOS 5.3
#endif
XCOMM operating system:  OSName
#ifndef OSMajorVersion
#define OSMajorVersion    5
#endif
#ifndef OSMinorVersion
#define OSMinorVersion    3
#endif
#ifndef	OSTeenyVersion
#define OSTeenyVersion    0
#endif
#endif
#else
#ifndef OSName
#define OSName            SunOS 4.1.3
#endif
XCOMM operating system:  OSName
#ifndef OSMajorVersion
#define OSMajorVersion    4
#endif
#ifndef OSMinorVersion
#define OSMinorVersion    1
#endif
#ifndef	OSTeenyVersion
#define OSTeenyVersion    3
#endif
#endif

/*
 * Compiler setup.  This sun.cf file knows what options to use with 
 * certain compilers, including Sun C, CenterLine C, and gcc.  It 
 * also understands how to set some of the options for various C++
 * compilers, including Sun C++ and CenterLine C++.
 *
 * === C Compiler Setup ==========================================
 *
 * For SunPro C, define HasSunC to YES in site.def.  
 * For CenterLine C, define HasCenterLineC to YES in site.def
 * For gcc or gcc2, define HasGcc or HasGcc2 to YES in site.def
 * For other compilers, define HasSunC to NO in site.def, then 
 *    provide appropriate values for the various compiler related
 *    configuration varibles used here.
 * 
 * If you say you have the SunPro C compiler, we assume you have 
 * version 2.0.x of the compiler.  If you have version 3.0.x instead, 
 * define CCompilerMajorVersion as 3 in site.def
 *
 * If you don't tell us which C compiler you have, we assume you have 
 * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc 
 * under SunOS 4.1.x
 *
 * === C++ Compiler Setup ==========================================
 *
 * For SunPro C++, define HasSunCplusplus to YES in site.def
 * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
 * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def
 * For other compilers, define HasCplusplus to YES in site.def, and 
 *    check to see if you need to provide values for CplusplusOptions
 *    and/or DefaultCplusplusOptions.
 *
 * In any case, you may also need to set CplusplusDependIncludes.
 *
 * If you say you have the SunPro C++ compiler, we assume you have 
 * version 3.0.x of the compiler.  If you have version 4.0.x instead, 
 * define CplusplusCompilerMajorVersion as 4 in site.def.
 *
 */

#ifndef HasSunC
#if (HasCenterLineC || HasGcc || HasGcc2 || OSMajorVersion < 5)
#define HasSunC NO
#else
#define HasSunC YES
#endif
#endif

#if HasSunC 
#ifndef CCompilerMajorVersion
#define CCompilerMajorVersion 2
#endif
#endif

#if HasSunCplusplus
#ifndef HasCplusplus
#define HasCplusplus YES
#endif
#ifndef CplusplusCompilerMajorVersion
#define CplusplusCompilerMajorVersion 3
#endif
#endif

#if HasCenterLineC
#ifndef CcCmd
#define CcCmd clcc
#endif
#endif

#if HasCenterLineCplusplus
#ifndef HasCplusplus
#define HasCplusplus YES
#endif
#ifndef DefaultCplusplusOptions
#define DefaultCplusplusOptions -Xa
#endif
#ifndef CplusplusOptions
#define CplusplusOptions -Xa
#endif
#endif

/*
 * Gnu g++ 2.6.0 cannot build working C++ shared libraries under Solaris 2
 */
#if HasGcc2ForCplusplus && OSMajorVersion > 4
#ifndef SharedLibFresco
#define SharedLibFresco NO
#endif
#ifndef SharedLibXtf
#define SharedLibXtf NO
#endif
#endif

#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
/* We do not guarantee this will work */
#define BootstrapCFlags   -DNOSTDHDRS
#define StandardDefines   -DNOSTDHDRS
#define XawI18nDefines     -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
#endif

#if OSMajorVersion == 4 
#if OSMinorVersion == 1
#define HasPoll           YES
#endif
#if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
#define SunPost411FCSLd	  YES
#endif
#endif

#ifdef i386Architecture
#if OSMajorVersion > 4
#define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines
#define ServerOSDefines    XFree86ServerOSDefines
#else
#define ServerExtraDefines AllocateLocalDefines
#define ServerOSDefines   -DDDXOSINIT
#endif
#else
#define ServerExtraDefines AllocateLocalDefines
#define ServerOSDefines   -DDDXOSINIT
#endif

#if OSMajorVersion > 4
#define BootstrapCFlags	  -DSVR4
#ifndef XawI18nDefines
#define XawI18nDefines    -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
#endif
#ifdef i386Architecture
#define StandardDefines	  -Dsun -Di386 -DSVR4 -D__i386
#define ToolkitStringsABIOptions	-intelabi
#else
#define StandardDefines	  -Dsun -DSVR4
#define ToolkitStringsABIOptions	-sparcabi
#endif
#define ExtraLibraries    -lsocket -lnsl
#if OSMinorVersion > 1
#define ThreadedX	  YES
#if HasSunC && CCompilerMajorVersion > 2
#define ThreadsCompileFlags -mt
#else
#define SystemMTDefines -D_REENTRANT
#define ThreadsLibraries -lthread
#endif
#if HasSunCplusplus && CplusplusCompilerMajorVersion > 3
#define ThreadsCplusplusCompileFlags -mt
#else
#define CplusplusSystemMTDefines -D_REENTRANT
#define ThreadsCplusplusLibraries -lthread
#endif
#endif 		/* OSMinorVersion > 1 */
#define HasVFork          NO
#define InstKmemFlags	  -g sys -m 2755
#define ShLibIncludeFile <sunLib.tmpl>
/*
 * Set flags for position independent code before including sv4Lib.rules
 * if the compiler in use doesn't use standard SVR4 flags
 */
#if HasSunC || HasCenterLineC
#define PositionIndependentCFlags -Kpic
#endif
#if HasSunCplusplus || HasCenterLineCplusplus
#define PositionIndependentCplusplusFlags -pic
#endif
#else /* not OSMajorVersion > 4 */
#define InstKmemFlags	  -g kmem -m 2755
#include <sunLib.rules>
#endif /* OSMajorVersion > 4 (else) */

#define HasNdbm		  YES
#define HasShm		  YES
#define HasSecureRPC	  YES
#define SetTtyGroup	  YES
#define HasPutenv	  YES
#ifndef i386Architecture
#ifndef Xsun24Server
#define Xsun24Server	  NO		/* color, mono, multiple depths */
#endif
#ifndef XsunServer
#define XsunServer	  YES		/* color and mono, 8 bit only */
#endif
#ifndef XsunMonoServer
#define XsunMonoServer	  NO		/* monochrome only */
#endif
#endif /* not i386Architecture */
#ifndef BuildPexExt
#define BuildPexExt	  (XsunServer || Xsun24Server)
#endif
#ifndef BuildXKB
#define	BuildXKB	  YES
#endif

#if HasGcc
#if OSMajorVersion > 4 && defined(i386Architecture)
#ifndef DefaultCCOptions
#if OSMinorVersion == 1
#define DefaultCCOptions -DNO_ASM
#else
#define DefaultCCOptions -ansi -DNO_ASM
#endif
#endif
#endif
#if HasGcc2
#define OptimizedCDebugFlags -O2
#else
#define SharedLibraryCcCmd cc
#define ExtraLoadFlags -B/usr/bin/
#define AllocateLocalDefines /**/

.c.o:
	$(CC) -c $(CFLAGS) $*.c

#endif /* HasGcc2 (else) */
#else /* not HasGcc */

#define AllocateLocalDefines -DINCLUDE_ALLOCA_H

/* Set up compiler-dependent options for Sun C */

#if HasSunC
#ifdef Sun3Architecture
#ifndef DefaultCCOptions
#define DefaultCCOptions -f68881 -pipe
#endif
#else	/* not defined(Sun3Architecture) */
#if OSMajorVersion < 5
#ifndef DefaultCCOptions
#define DefaultCCOptions -pipe
#endif
#else	/* OSMajorVersion >= 5*/
#ifndef DefaultCCOptions
#define DefaultCCOptions -Xa
#endif
#endif	
#endif	
#endif

/* Set compiler-dependent options for CenterLine C */

#if HasCenterLineC
#ifndef	DefaultCCOptions
#define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__
#endif
#ifndef NeedConstPrototypes
#define NeedConstPrototypes YES
#endif
#ifndef NeedNestedPrototypes
#define NeedNestedPrototypes YES
#endif
#ifndef NeedVarargsPrototypes
#define NeedVarargsPrototypes YES
#endif
#endif


#define PexCCOptions DefaultCCOptions

#endif /* HasGcc (else) */

#if OSMajorVersion < 5
#define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
#define LibraryCCOptions /* don't want special floating point */
#endif /* OSMajorVersion < 5 */

#if OSMajorVersion > 4
#include <svr4.cf>
#endif

#ifndef ManKeywordsTarget
#define ManKeywordsTarget(manpath)					@@\
man_keywords::								@@\
	catman -M $(DESTDIR)manpath -w
#endif