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