summaryrefslogtreecommitdiff
path: root/util/cf/sgi.cf
blob: 70e727c60094ca27ae3ff047dbbc3ddca81cab7c (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
XCOMM platform:  $Xorg: sgi.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
XCOMM $XFree86: xc/config/cf/sgi.cf,v 1.12tsi Exp $

#ifndef OSName
# define OSName		DefaultOSName
#endif
#ifndef OSMajorVersion
# define OSMajorVersion	DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
# define OSMinorVersion	DefaultOSMinorVersion
#endif
#ifndef OSTeenyVersion
# define OSTeenyVersion	DefaultOSTeenyVersion
#endif
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)

#if OSMajorVersion < 4
/* We do not guarantee this will work */
#define BootstrapCFlags		-DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
#define StandardDefines		-DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
#define SetTtyGroup		NO
#else
#define HasPlugin		YES
#define SetTtyGroup		YES
#define ExtraFilesToClean	so_locations
#endif

#if OSMajorVersion < 5
#define SystemV			YES
#define XawI18nDefines		-DUSE_XWCHAR_STRING -DUSE_XMBTOWC
#else
#define BootstrapCFlags		-DSVR4
#define StandardDefines		-DSVR4
#define SystemV4		YES
#define HasWChar32              YES
#define HasVFork		NO
#if OSMajorVersion < 6
#define XawI18nDefines		-DHAS_WCTYPE_H -DHAS_ISW_FUNCS
#else
#define XawI18nDefines		-DHAS_WCHAR_H -DHAS_ISW_FUNCS
#define HasSetenv		NO
#define HasSnprintf		YES
#endif
#define AllocateLocalDefines	-DINCLUDE_ALLOCA_H
#ifndef ExtraLoadFlags
#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
#endif
#endif

/*
 * To build 64-bit binaries define Mips64Architecture in your site.def or
 * host.def file. This is usually on done at the X Consortium to test
 * big endian 64-bit cleanliness.
 * To build 32-bit binaries using the old 32-bit mode, define
 * NoMipsN32Archtecture in your site.def or host.def file.
 * Otherwise the default is to use the "new 32" mode as requested by SGI.
 */
#ifndef MipsN32Architecture
#if !defined(Mips64Architecture) && !defined(NoMipsN32Architecture)
#define MipsN32Architecture YES
#endif
#endif

#ifdef Mips64Architecture
# define BuildLibPathVar	_RLD_ROOT=/dev/null LD_LIBRARY64_PATH
# define SystemBuildLibPath	/usr/lib64:/lib64
# define LdCmd			ld -64
# define AsCmd			as -64
#elif defined(MipsN32Architecture)
# define BuildLibPathVar	_RLD_ROOT=/dev/null LD_LIBRARYN32_PATH
# define SystemBuildLibPath	/usr/lib32:/lib32
# define LdCmd			ld -n32
# define AsCmd			as -n32
#else
# define BuildLibPathVar	_RLD_ROOT=/dev/null LD_LIBRARY_PATH
# define SystemBuildLibPath	/usr/lib:/lib
# define LdCmd			ld -32
# define AsCmd			as -32
#endif
#define HasCplusplus		YES
#define Malloc0ReturnsNull	YES	/* IRIX [56].x -lmalloc needs this */
#define HasPutenv		YES
#define ExecableScripts		YES
#define HasNdbm			YES
#define HasPoll                 YES
#define ExpandManNames          YES
#define LexLib			/* Not needed */
#ifndef BuildXInputExt
#define BuildXInputExt		YES
#endif

#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
#define NeedVarargsPrototypes	YES
#define NeedConstPrototypes	YES
#define NeedWidePrototypes	NO
#endif

#include <sgiLib.rules>

#if OSMajorVersion < 5
#define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000
#define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000
#else
#define SymbolTables
#define ServerSymbolTables
#endif

/* this is for floating point, ANSI cpp */
#if OSMajorVersion < 5
/* Extra libraries provide : yp, sysV malloc, shared libc, and widechar */
# define ExtraLibraries -lsun -lmalloc -lc_s -lw
# define sgiCCOptions -xansi -D__STDC__=1 -float
#else
# if OSMajorVersion < 6
#  define sgiCCOptions -xansi
# else
#  define CppCmd cc -E -cckr
#  ifdef Mips64Architecture
/* set Mips64Architecture in host.def. Usually don't need it but we
 * (the X Consortium) want a  64-bit big-endian machine to test on. */
#   define sgiCCOptions -xansi -mips3 -64
#   define DlLibrary /**/
#  elif defined(MipsN32Architecture)
/* Set MipsN32Architecture to build "new" 32-bit objs with a 32-bit kernel. */
#   define sgiCCOptions -xansi -mips3 -n32
#  else
#   define sgiCCOptions -xansi -32
#  endif
#  if OSMinorVersion == 2
/* if you haven't installed patch 1361, 1403, or 1645 on IRIX 6.2 then you
 * must add "#define HasPosixThreads NO" in your site.def or host.def file
 */
#   ifndef HasPosixThreads
#    define HasPosixThreads	YES
#   endif
#   define ThreadedX HasPosixThreads
#   define ThreadsLibraries -lpthread
/*
 * Add "#define HasSgiThreadsPatch1403 YES" to your site.def or host.def if
 * that's which patch you have.
 */
#   ifndef HasSgiThreadsPatch1403
#    define HasSgiThreadsPatch1403 NO
#   endif
#   if (HasSgiThreadsPatch1403)
#    define SystemMTDefines -D_POSIX_THREAD_SAFE_FUNCTIONS
#   endif
#  endif
# endif
/* SGI's -lsocket -lnsl is broken, at least in 5.2, so override here */
# define ExtraLibraries /**/
#endif

/* IRIX 6.5 doesn't support IPv6, but #define's AF_INET6.  Go figure... */
#ifndef BuildIPv6
#define BuildIPv6	NO
#endif

#undef  BuildXF86DRI
#define BuildXF86DRI	NO

#if !HasGcc
#if !defined(OptimizedCDebugFlags)
#if defined(MipsN32Architecture) || defined(Mips64Architecture)
#define OptimizedCDebugFlags -O -OPT:Olimit=0
#else
#define OptimizedCDebugFlags -O -Olimit 2048
#endif
#endif
#if !defined(RawCppCmd)
#define RawCppCmd CppCmd
#endif
#endif

#ifndef DefaultCCOptions
#define DefaultCCOptions sgiCCOptions SymbolTables
#endif
#ifndef ServerCCOptions
#define ServerCCOptions sgiCCOptions ServerSymbolTables
#endif
#ifndef DefaultCplusplusOptions
#define DefaultCplusplusOptions DefaultCCOptions
#endif

/* For SGI C++ compiler, need to search extra dirs in make depend */
#ifndef CplusplusDependIncludes
#define CplusplusDependIncludes -I/usr/include/CC
#endif

/* At SGI, we don't need this */
#define ConstructMFLAGS		NO	/* build MFLAGS from MAKEFLAGS */

/* Used only for compressed fonts */
#define UNCOMPRESSPATH /usr/bsd/uncompress /* obsolete */

/* Normally used only to conditionally chose the default font path order */
#define PrimaryScreenResolution 96

/* Override Imake.tmpl's "-X" flag */
#define LdCombineFlags -r

/* Installation Build Parameters */
#define InstKmemFlags -m 2711 -g sys

#define ArCmd ar scq

/* for xdm or anyone else to use */
#define DefaultUserPath :/usr/sbin:/usr/bsd:/usr/bin:/bin:$(BINDIR):/etc:/usr/etc
#define DefaultSystemPath /usr/sbin:/usr/bsd:/bin:/etc:/usr/bin:/usr/etc:$(BINDIR)

#define ServerOSDefines		-DDDXTIME XFree86ServerOSDefines

#ifndef ServerExtraDefines
#ifndef Mips64Architecture
#define ServerExtraDefines	-DNEED_LINEHELPER AllocateLocalDefines \
				XFree86ServerDefines
#else
#define ServerExtraDefines	-DNEED_LINEHELPER AllocateLocalDefines \
				XFree86ServerDefines -D_XSERVER64
#endif
#endif

/* Changed to a single shell command for pmake/smake */
#if OSMajorVersion < 5
/*
 * NormalLibObjCompile - compile fragment for a library object file
 *	do ld -x to remove line number symbols for libraries
 */
#define NormalLibObjCompile(options)	ClearmakeOSName			  \
	$(RM) $@ $*.os \						@@\
	&& $(CC) -c options $(CFLAGS) $*.c \				@@\
	&& $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \			@@\
	&& $(MV) $*.os $@
#endif

#define LibObjCompile(dir,options) ClearmakeOSName			  \
	$(RM) $@ dir/$@ \						@@\
	&& $(CC) -c $(CCOPTIONS) $(ALLDEFINES) options $*.c \		@@\
	&& $(MV) $@ dir/$@

#ifndef HasMakefileSafeInclude
#define HasMakefileSafeInclude YES
#endif
#ifndef IncludeMakefile
#define IncludeMakefile(file) @@sinclude file
#endif

/* needs to find nroff on the system to work */
#ifndef ManKeywordsTarget
#define ManKeywordsTarget(manpath)					@@\
man_keywords::								@@\
	/usr/lib/makewhatis -M $(DESTDIR)manpath $(DESTDIR)manpath/whatis
#endif

#define MotifDefines		-DSYS_DIR -DPORT_NOVFORK -DNO_REGCOMP

#if !defined(HasGcc) || !HasGcc

#ifndef CppFileTarget
#define CppFileTarget(dst,src,defs,deplist)				@@\
dst::  src deplist							@@\
	RemoveFile($@)							@@\
	ClearmakeOSName \
	$(CPP) CppNoLineInfoOption defs src 2>/dev/null | CppSedMagic >$@; @@\
									@@\
clean::									@@\
	RemoveFiles(dst)
#endif /* CppFileTarget */

#ifndef CppScriptTarget
#if ExecableScripts		/* can use #! instead of colon */
#define CppScriptTarget(dst,src,defs,deplist)				@@\
dst::	src deplist							@@\
	RemoveFile($@)							@@\
	ClearmakeOSName \
	$(CPP) CppNoLineInfoOption defs src | CppSedMagic >$@		@@\
	chmod a+x $@							@@\
									@@\
clean::									@@\
	RemoveFiles(dst)
#else
#define CppScriptTarget(dst,src,defs,deplist)				@@\
dst::  src deplist							@@\
	RemoveFile($@)							@@\
	ClearmakeOSName \
	echo \: >$@							@@\
	sed '1d' src | $(CPP) CppNoLineInfoOption defs | CppSedMagic >>$@	@@\
	chmod a+x $@							@@\
									@@\
clean::									@@\
	RemoveFile(dst)
#endif /* ExecableScripts */
#endif /* CppScriptTarget */

/* Like CppFileTarget, but don't add any default defines */
#ifndef CppRawFileTarget
#define CppRawFileTarget(dst,src,defs,deplist)				@@\
dst::  src deplist							@@\
	RemoveFile($@)							@@\
	ClearmakeOSName \
	$(RAWCPP) CppNoLineInfoOption defs src | CppSedMagic >$@	@@\
									@@\
clean::									@@\
	RemoveFiles(dst)
#endif /* CppFileTarget */

#endif /* !HasGcc */

#ifndef DoLoadableServer
#define DoLoadableServer YES
#endif

#ifndef UseDeprecatedKeyboardDriver
#define UseDeprecatedKeyboardDriver YES
#endif

#include <xorg.cf>