sgi.cf revision 11d341ca
1XCOMM platform:  $Xorg: sgi.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
2XCOMM $XFree86: xc/config/cf/sgi.cf,v 1.12tsi Exp $
3
4#ifndef OSName
5# define OSName		DefaultOSName
6#endif
7#ifndef OSMajorVersion
8# define OSMajorVersion	DefaultOSMajorVersion
9#endif
10#ifndef OSMinorVersion
11# define OSMinorVersion	DefaultOSMinorVersion
12#endif
13#ifndef OSTeenyVersion
14# define OSTeenyVersion	DefaultOSTeenyVersion
15#endif
16XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
17
18#if OSMajorVersion < 4
19/* We do not guarantee this will work */
20#define BootstrapCFlags		-DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
21#define StandardDefines		-DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
22#define SetTtyGroup		NO
23#else
24#define HasPlugin		YES
25#define SetTtyGroup		YES
26#define ExtraFilesToClean	so_locations
27#endif
28
29#if OSMajorVersion < 5
30#define SystemV			YES
31#define XawI18nDefines		-DUSE_XWCHAR_STRING -DUSE_XMBTOWC
32#else
33#define BootstrapCFlags		-DSVR4
34#define StandardDefines		-DSVR4
35#define SystemV4		YES
36#define HasWChar32              YES
37#define HasVFork		NO
38#if OSMajorVersion < 6
39#define XawI18nDefines		-DHAS_WCTYPE_H -DHAS_ISW_FUNCS
40#else
41#define XawI18nDefines		-DHAS_WCHAR_H -DHAS_ISW_FUNCS
42#define HasSetenv		NO
43#define HasSnprintf		YES
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# define AsCmd			as -64
70#elif defined(MipsN32Architecture)
71# define BuildLibPathVar	_RLD_ROOT=/dev/null LD_LIBRARYN32_PATH
72# define SystemBuildLibPath	/usr/lib32:/lib32
73# define LdCmd			ld -n32
74# define AsCmd			as -n32
75#else
76# define BuildLibPathVar	_RLD_ROOT=/dev/null LD_LIBRARY_PATH
77# define SystemBuildLibPath	/usr/lib:/lib
78# define LdCmd			ld -32
79# define AsCmd			as -32
80#endif
81#define HasCplusplus		YES
82#define Malloc0ReturnsNull	YES	/* IRIX [56].x -lmalloc needs this */
83#define HasPutenv		YES
84#define ExecableScripts		YES
85#define HasNdbm			YES
86#define HasPoll                 YES
87#define ExpandManNames          YES
88#define LexLib			/* Not needed */
89#ifndef BuildXInputExt
90#define BuildXInputExt		YES
91#endif
92
93#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
94#define NeedVarargsPrototypes	YES
95#define NeedConstPrototypes	YES
96#define NeedWidePrototypes	NO
97#endif
98
99#include <sgiLib.rules>
100
101#if OSMajorVersion < 5
102#define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000
103#define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000
104#else
105#define SymbolTables
106#define ServerSymbolTables
107#endif
108
109/* this is for floating point, ANSI cpp */
110#if OSMajorVersion < 5
111/* Extra libraries provide : yp, sysV malloc, shared libc, and widechar */
112# define ExtraLibraries -lsun -lmalloc -lc_s -lw
113# define sgiCCOptions -xansi -D__STDC__=1 -float
114#else
115# if OSMajorVersion < 6
116#  define sgiCCOptions -xansi
117# else
118#  define CppCmd cc -E -cckr
119#  ifdef Mips64Architecture
120/* set Mips64Architecture in host.def. Usually don't need it but we
121 * (the X Consortium) want a  64-bit big-endian machine to test on. */
122#   define sgiCCOptions -xansi -mips3 -64
123#   define DlLibrary /**/
124#  elif defined(MipsN32Architecture)
125/* Set MipsN32Architecture to build "new" 32-bit objs with a 32-bit kernel. */
126#   define sgiCCOptions -xansi -mips3 -n32
127#  else
128#   define sgiCCOptions -xansi -32
129#  endif
130#  if OSMinorVersion == 2
131/* if you haven't installed patch 1361, 1403, or 1645 on IRIX 6.2 then you
132 * must add "#define HasPosixThreads NO" in your site.def or host.def file
133 */
134#   ifndef HasPosixThreads
135#    define HasPosixThreads	YES
136#   endif
137#   define ThreadedX HasPosixThreads
138#   define ThreadsLibraries -lpthread
139/*
140 * Add "#define HasSgiThreadsPatch1403 YES" to your site.def or host.def if
141 * that's which patch you have.
142 */
143#   ifndef HasSgiThreadsPatch1403
144#    define HasSgiThreadsPatch1403 NO
145#   endif
146#   if (HasSgiThreadsPatch1403)
147#    define SystemMTDefines -D_POSIX_THREAD_SAFE_FUNCTIONS
148#   endif
149#  endif
150# endif
151/* SGI's -lsocket -lnsl is broken, at least in 5.2, so override here */
152# define ExtraLibraries /**/
153#endif
154
155/* IRIX 6.5 doesn't support IPv6, but #define's AF_INET6.  Go figure... */
156#ifndef BuildIPv6
157#define BuildIPv6	NO
158#endif
159
160#undef  BuildXF86DRI
161#define BuildXF86DRI	NO
162
163#if !HasGcc
164#if !defined(OptimizedCDebugFlags)
165#if defined(MipsN32Architecture) || defined(Mips64Architecture)
166#define OptimizedCDebugFlags -O -OPT:Olimit=0
167#else
168#define OptimizedCDebugFlags -O -Olimit 2048
169#endif
170#endif
171#if !defined(RawCppCmd)
172#define RawCppCmd CppCmd
173#endif
174#endif
175
176#ifndef DefaultCCOptions
177#define DefaultCCOptions sgiCCOptions SymbolTables
178#endif
179#ifndef ServerCCOptions
180#define ServerCCOptions sgiCCOptions ServerSymbolTables
181#endif
182#ifndef DefaultCplusplusOptions
183#define DefaultCplusplusOptions DefaultCCOptions
184#endif
185
186/* For SGI C++ compiler, need to search extra dirs in make depend */
187#ifndef CplusplusDependIncludes
188#define CplusplusDependIncludes -I/usr/include/CC
189#endif
190
191/* At SGI, we don't need this */
192#define ConstructMFLAGS		NO	/* build MFLAGS from MAKEFLAGS */
193
194/* Used only for compressed fonts */
195#define UNCOMPRESSPATH /usr/bsd/uncompress /* obsolete */
196
197/* Normally used only to conditionally chose the default font path order */
198#define PrimaryScreenResolution 96
199
200/* Override Imake.tmpl's "-X" flag */
201#define LdCombineFlags -r
202
203/* Installation Build Parameters */
204#define InstKmemFlags -m 2711 -g sys
205
206#define ArCmd ar scq
207
208/* for xdm or anyone else to use */
209#define DefaultUserPath :/usr/sbin:/usr/bsd:/usr/bin:/bin:$(BINDIR):/etc:/usr/etc
210#define DefaultSystemPath /usr/sbin:/usr/bsd:/bin:/etc:/usr/bin:/usr/etc:$(BINDIR)
211
212#define ServerOSDefines		-DDDXTIME XFree86ServerOSDefines
213
214#ifndef ServerExtraDefines
215#ifndef Mips64Architecture
216#define ServerExtraDefines	-DNEED_LINEHELPER AllocateLocalDefines \
217				XFree86ServerDefines
218#else
219#define ServerExtraDefines	-DNEED_LINEHELPER AllocateLocalDefines \
220				XFree86ServerDefines -D_XSERVER64
221#endif
222#endif
223
224/* Changed to a single shell command for pmake/smake */
225#if OSMajorVersion < 5
226/*
227 * NormalLibObjCompile - compile fragment for a library object file
228 *	do ld -x to remove line number symbols for libraries
229 */
230#define NormalLibObjCompile(options)	ClearmakeOSName			  \
231	$(RM) $@ $*.os \						@@\
232	&& $(CC) -c options $(CFLAGS) $*.c \				@@\
233	&& $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \			@@\
234	&& $(MV) $*.os $@
235#endif
236
237#define LibObjCompile(dir,options) ClearmakeOSName			  \
238	$(RM) $@ dir/$@ \						@@\
239	&& $(CC) -c $(CCOPTIONS) $(ALLDEFINES) options $*.c \		@@\
240	&& $(MV) $@ dir/$@
241
242#ifndef HasMakefileSafeInclude
243#define HasMakefileSafeInclude YES
244#endif
245#ifndef IncludeMakefile
246#define IncludeMakefile(file) @@sinclude file
247#endif
248
249/* needs to find nroff on the system to work */
250#ifndef ManKeywordsTarget
251#define ManKeywordsTarget(manpath)					@@\
252man_keywords::								@@\
253	/usr/lib/makewhatis -M $(DESTDIR)manpath $(DESTDIR)manpath/whatis
254#endif
255
256#define MotifDefines		-DSYS_DIR -DPORT_NOVFORK -DNO_REGCOMP
257
258#if !defined(HasGcc) || !HasGcc
259
260#ifndef CppFileTarget
261#define CppFileTarget(dst,src,defs,deplist)				@@\
262dst::  src deplist							@@\
263	RemoveFile($@)							@@\
264	ClearmakeOSName \
265	$(CPP) CppNoLineInfoOption defs src 2>/dev/null | CppSedMagic >$@; @@\
266									@@\
267clean::									@@\
268	RemoveFiles(dst)
269#endif /* CppFileTarget */
270
271#ifndef CppScriptTarget
272#if ExecableScripts		/* can use #! instead of colon */
273#define CppScriptTarget(dst,src,defs,deplist)				@@\
274dst::	src deplist							@@\
275	RemoveFile($@)							@@\
276	ClearmakeOSName \
277	$(CPP) CppNoLineInfoOption defs src | CppSedMagic >$@		@@\
278	chmod a+x $@							@@\
279									@@\
280clean::									@@\
281	RemoveFiles(dst)
282#else
283#define CppScriptTarget(dst,src,defs,deplist)				@@\
284dst::  src deplist							@@\
285	RemoveFile($@)							@@\
286	ClearmakeOSName \
287	echo \: >$@							@@\
288	sed '1d' src | $(CPP) CppNoLineInfoOption defs | CppSedMagic >>$@	@@\
289	chmod a+x $@							@@\
290									@@\
291clean::									@@\
292	RemoveFile(dst)
293#endif /* ExecableScripts */
294#endif /* CppScriptTarget */
295
296/* Like CppFileTarget, but don't add any default defines */
297#ifndef CppRawFileTarget
298#define CppRawFileTarget(dst,src,defs,deplist)				@@\
299dst::  src deplist							@@\
300	RemoveFile($@)							@@\
301	ClearmakeOSName \
302	$(RAWCPP) CppNoLineInfoOption defs src | CppSedMagic >$@	@@\
303									@@\
304clean::									@@\
305	RemoveFiles(dst)
306#endif /* CppFileTarget */
307
308#endif /* !HasGcc */
309
310#ifndef DoLoadableServer
311#define DoLoadableServer YES
312#endif
313
314#ifndef UseDeprecatedKeyboardDriver
315#define UseDeprecatedKeyboardDriver YES
316#endif
317
318#include <xorg.cf>
319