111d341caSmrgXCOMM platform: $Xorg: sgi.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $ 211d341caSmrgXCOMM $XFree86: xc/config/cf/sgi.cf,v 1.12tsi Exp $ 311d341caSmrg 411d341caSmrg#ifndef OSName 511d341caSmrg# define OSName DefaultOSName 611d341caSmrg#endif 711d341caSmrg#ifndef OSMajorVersion 811d341caSmrg# define OSMajorVersion DefaultOSMajorVersion 911d341caSmrg#endif 1011d341caSmrg#ifndef OSMinorVersion 1111d341caSmrg# define OSMinorVersion DefaultOSMinorVersion 1211d341caSmrg#endif 1311d341caSmrg#ifndef OSTeenyVersion 1411d341caSmrg# define OSTeenyVersion DefaultOSTeenyVersion 1511d341caSmrg#endif 1611d341caSmrgXCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) 1711d341caSmrg 1811d341caSmrg#if OSMajorVersion < 4 1911d341caSmrg/* We do not guarantee this will work */ 2011d341caSmrg#define BootstrapCFlags -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV 2111d341caSmrg#define StandardDefines -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV 2211d341caSmrg#define SetTtyGroup NO 2311d341caSmrg#else 2411d341caSmrg#define HasPlugin YES 2511d341caSmrg#define SetTtyGroup YES 2611d341caSmrg#define ExtraFilesToClean so_locations 2711d341caSmrg#endif 2811d341caSmrg 2911d341caSmrg#if OSMajorVersion < 5 3011d341caSmrg#define SystemV YES 3111d341caSmrg#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 3211d341caSmrg#else 3311d341caSmrg#define BootstrapCFlags -DSVR4 3411d341caSmrg#define StandardDefines -DSVR4 3511d341caSmrg#define SystemV4 YES 3611d341caSmrg#define HasWChar32 YES 3711d341caSmrg#define HasVFork NO 3811d341caSmrg#if OSMajorVersion < 6 3911d341caSmrg#define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS 4011d341caSmrg#else 4111d341caSmrg#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS 4211d341caSmrg#define HasSetenv NO 4311d341caSmrg#define HasSnprintf YES 4411d341caSmrg#endif 4511d341caSmrg#define AllocateLocalDefines -DINCLUDE_ALLOCA_H 4611d341caSmrg#ifndef ExtraLoadFlags 4711d341caSmrg#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH) 4811d341caSmrg#endif 4911d341caSmrg#endif 5011d341caSmrg 5111d341caSmrg/* 5211d341caSmrg * To build 64-bit binaries define Mips64Architecture in your site.def or 5311d341caSmrg * host.def file. This is usually on done at the X Consortium to test 5411d341caSmrg * big endian 64-bit cleanliness. 5511d341caSmrg * To build 32-bit binaries using the old 32-bit mode, define 5611d341caSmrg * NoMipsN32Archtecture in your site.def or host.def file. 5711d341caSmrg * Otherwise the default is to use the "new 32" mode as requested by SGI. 5811d341caSmrg */ 5911d341caSmrg#ifndef MipsN32Architecture 6011d341caSmrg#if !defined(Mips64Architecture) && !defined(NoMipsN32Architecture) 6111d341caSmrg#define MipsN32Architecture YES 6211d341caSmrg#endif 6311d341caSmrg#endif 6411d341caSmrg 6511d341caSmrg#ifdef Mips64Architecture 6611d341caSmrg# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY64_PATH 6711d341caSmrg# define SystemBuildLibPath /usr/lib64:/lib64 6811d341caSmrg# define LdCmd ld -64 6911d341caSmrg# define AsCmd as -64 7011d341caSmrg#elif defined(MipsN32Architecture) 7111d341caSmrg# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARYN32_PATH 7211d341caSmrg# define SystemBuildLibPath /usr/lib32:/lib32 7311d341caSmrg# define LdCmd ld -n32 7411d341caSmrg# define AsCmd as -n32 7511d341caSmrg#else 7611d341caSmrg# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY_PATH 7711d341caSmrg# define SystemBuildLibPath /usr/lib:/lib 7811d341caSmrg# define LdCmd ld -32 7911d341caSmrg# define AsCmd as -32 8011d341caSmrg#endif 8111d341caSmrg#define HasCplusplus YES 8211d341caSmrg#define Malloc0ReturnsNull YES /* IRIX [56].x -lmalloc needs this */ 8311d341caSmrg#define HasPutenv YES 8411d341caSmrg#define ExecableScripts YES 8511d341caSmrg#define HasNdbm YES 8611d341caSmrg#define HasPoll YES 8711d341caSmrg#define ExpandManNames YES 8811d341caSmrg#define LexLib /* Not needed */ 8911d341caSmrg#ifndef BuildXInputExt 9011d341caSmrg#define BuildXInputExt YES 9111d341caSmrg#endif 9211d341caSmrg 9311d341caSmrg#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2) 9411d341caSmrg#define NeedVarargsPrototypes YES 9511d341caSmrg#define NeedConstPrototypes YES 9611d341caSmrg#define NeedWidePrototypes NO 9711d341caSmrg#endif 9811d341caSmrg 9911d341caSmrg#include <sgiLib.rules> 10011d341caSmrg 10111d341caSmrg#if OSMajorVersion < 5 10211d341caSmrg#define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000 10311d341caSmrg#define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000 10411d341caSmrg#else 10511d341caSmrg#define SymbolTables 10611d341caSmrg#define ServerSymbolTables 10711d341caSmrg#endif 10811d341caSmrg 10911d341caSmrg/* this is for floating point, ANSI cpp */ 11011d341caSmrg#if OSMajorVersion < 5 11111d341caSmrg/* Extra libraries provide : yp, sysV malloc, shared libc, and widechar */ 11211d341caSmrg# define ExtraLibraries -lsun -lmalloc -lc_s -lw 11311d341caSmrg# define sgiCCOptions -xansi -D__STDC__=1 -float 11411d341caSmrg#else 11511d341caSmrg# if OSMajorVersion < 6 11611d341caSmrg# define sgiCCOptions -xansi 11711d341caSmrg# else 11811d341caSmrg# define CppCmd cc -E -cckr 11911d341caSmrg# ifdef Mips64Architecture 12011d341caSmrg/* set Mips64Architecture in host.def. Usually don't need it but we 12111d341caSmrg * (the X Consortium) want a 64-bit big-endian machine to test on. */ 12211d341caSmrg# define sgiCCOptions -xansi -mips3 -64 12311d341caSmrg# define DlLibrary /**/ 12411d341caSmrg# elif defined(MipsN32Architecture) 12511d341caSmrg/* Set MipsN32Architecture to build "new" 32-bit objs with a 32-bit kernel. */ 12611d341caSmrg# define sgiCCOptions -xansi -mips3 -n32 12711d341caSmrg# else 12811d341caSmrg# define sgiCCOptions -xansi -32 12911d341caSmrg# endif 13011d341caSmrg# if OSMinorVersion == 2 13111d341caSmrg/* if you haven't installed patch 1361, 1403, or 1645 on IRIX 6.2 then you 13211d341caSmrg * must add "#define HasPosixThreads NO" in your site.def or host.def file 13311d341caSmrg */ 13411d341caSmrg# ifndef HasPosixThreads 13511d341caSmrg# define HasPosixThreads YES 13611d341caSmrg# endif 13711d341caSmrg# define ThreadedX HasPosixThreads 13811d341caSmrg# define ThreadsLibraries -lpthread 13911d341caSmrg/* 14011d341caSmrg * Add "#define HasSgiThreadsPatch1403 YES" to your site.def or host.def if 14111d341caSmrg * that's which patch you have. 14211d341caSmrg */ 14311d341caSmrg# ifndef HasSgiThreadsPatch1403 14411d341caSmrg# define HasSgiThreadsPatch1403 NO 14511d341caSmrg# endif 14611d341caSmrg# if (HasSgiThreadsPatch1403) 14711d341caSmrg# define SystemMTDefines -D_POSIX_THREAD_SAFE_FUNCTIONS 14811d341caSmrg# endif 14911d341caSmrg# endif 15011d341caSmrg# endif 15111d341caSmrg/* SGI's -lsocket -lnsl is broken, at least in 5.2, so override here */ 15211d341caSmrg# define ExtraLibraries /**/ 15311d341caSmrg#endif 15411d341caSmrg 15511d341caSmrg/* IRIX 6.5 doesn't support IPv6, but #define's AF_INET6. Go figure... */ 15611d341caSmrg#ifndef BuildIPv6 15711d341caSmrg#define BuildIPv6 NO 15811d341caSmrg#endif 15911d341caSmrg 16011d341caSmrg#undef BuildXF86DRI 16111d341caSmrg#define BuildXF86DRI NO 16211d341caSmrg 16311d341caSmrg#if !HasGcc 16411d341caSmrg#if !defined(OptimizedCDebugFlags) 16511d341caSmrg#if defined(MipsN32Architecture) || defined(Mips64Architecture) 16611d341caSmrg#define OptimizedCDebugFlags -O -OPT:Olimit=0 16711d341caSmrg#else 16811d341caSmrg#define OptimizedCDebugFlags -O -Olimit 2048 16911d341caSmrg#endif 17011d341caSmrg#endif 17111d341caSmrg#if !defined(RawCppCmd) 17211d341caSmrg#define RawCppCmd CppCmd 17311d341caSmrg#endif 17411d341caSmrg#endif 17511d341caSmrg 17611d341caSmrg#ifndef DefaultCCOptions 17711d341caSmrg#define DefaultCCOptions sgiCCOptions SymbolTables 17811d341caSmrg#endif 17911d341caSmrg#ifndef ServerCCOptions 18011d341caSmrg#define ServerCCOptions sgiCCOptions ServerSymbolTables 18111d341caSmrg#endif 18211d341caSmrg#ifndef DefaultCplusplusOptions 18311d341caSmrg#define DefaultCplusplusOptions DefaultCCOptions 18411d341caSmrg#endif 18511d341caSmrg 18611d341caSmrg/* For SGI C++ compiler, need to search extra dirs in make depend */ 18711d341caSmrg#ifndef CplusplusDependIncludes 18811d341caSmrg#define CplusplusDependIncludes -I/usr/include/CC 18911d341caSmrg#endif 19011d341caSmrg 19111d341caSmrg/* At SGI, we don't need this */ 19211d341caSmrg#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */ 19311d341caSmrg 19411d341caSmrg/* Used only for compressed fonts */ 19511d341caSmrg#define UNCOMPRESSPATH /usr/bsd/uncompress /* obsolete */ 19611d341caSmrg 19711d341caSmrg/* Normally used only to conditionally chose the default font path order */ 19811d341caSmrg#define PrimaryScreenResolution 96 19911d341caSmrg 20011d341caSmrg/* Override Imake.tmpl's "-X" flag */ 20111d341caSmrg#define LdCombineFlags -r 20211d341caSmrg 20311d341caSmrg/* Installation Build Parameters */ 20411d341caSmrg#define InstKmemFlags -m 2711 -g sys 20511d341caSmrg 20611d341caSmrg#define ArCmd ar scq 20711d341caSmrg 20811d341caSmrg/* for xdm or anyone else to use */ 20911d341caSmrg#define DefaultUserPath :/usr/sbin:/usr/bsd:/usr/bin:/bin:$(BINDIR):/etc:/usr/etc 21011d341caSmrg#define DefaultSystemPath /usr/sbin:/usr/bsd:/bin:/etc:/usr/bin:/usr/etc:$(BINDIR) 21111d341caSmrg 21211d341caSmrg#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines 21311d341caSmrg 21411d341caSmrg#ifndef ServerExtraDefines 21511d341caSmrg#ifndef Mips64Architecture 21611d341caSmrg#define ServerExtraDefines -DNEED_LINEHELPER AllocateLocalDefines \ 21711d341caSmrg XFree86ServerDefines 21811d341caSmrg#else 21911d341caSmrg#define ServerExtraDefines -DNEED_LINEHELPER AllocateLocalDefines \ 22011d341caSmrg XFree86ServerDefines -D_XSERVER64 22111d341caSmrg#endif 22211d341caSmrg#endif 22311d341caSmrg 22411d341caSmrg/* Changed to a single shell command for pmake/smake */ 22511d341caSmrg#if OSMajorVersion < 5 22611d341caSmrg/* 22711d341caSmrg * NormalLibObjCompile - compile fragment for a library object file 22811d341caSmrg * do ld -x to remove line number symbols for libraries 22911d341caSmrg */ 23011d341caSmrg#define NormalLibObjCompile(options) ClearmakeOSName \ 23111d341caSmrg $(RM) $@ $*.os \ @@\ 23211d341caSmrg && $(CC) -c options $(CFLAGS) $*.c \ @@\ 23311d341caSmrg && $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \ @@\ 23411d341caSmrg && $(MV) $*.os $@ 23511d341caSmrg#endif 23611d341caSmrg 23711d341caSmrg#define LibObjCompile(dir,options) ClearmakeOSName \ 23811d341caSmrg $(RM) $@ dir/$@ \ @@\ 23911d341caSmrg && $(CC) -c $(CCOPTIONS) $(ALLDEFINES) options $*.c \ @@\ 24011d341caSmrg && $(MV) $@ dir/$@ 24111d341caSmrg 24211d341caSmrg#ifndef HasMakefileSafeInclude 24311d341caSmrg#define HasMakefileSafeInclude YES 24411d341caSmrg#endif 24511d341caSmrg#ifndef IncludeMakefile 24611d341caSmrg#define IncludeMakefile(file) @@sinclude file 24711d341caSmrg#endif 24811d341caSmrg 24911d341caSmrg/* needs to find nroff on the system to work */ 25011d341caSmrg#ifndef ManKeywordsTarget 25111d341caSmrg#define ManKeywordsTarget(manpath) @@\ 25211d341caSmrgman_keywords:: @@\ 25311d341caSmrg /usr/lib/makewhatis -M $(DESTDIR)manpath $(DESTDIR)manpath/whatis 25411d341caSmrg#endif 25511d341caSmrg 25611d341caSmrg#define MotifDefines -DSYS_DIR -DPORT_NOVFORK -DNO_REGCOMP 25711d341caSmrg 25811d341caSmrg#if !defined(HasGcc) || !HasGcc 25911d341caSmrg 26011d341caSmrg#ifndef CppFileTarget 26111d341caSmrg#define CppFileTarget(dst,src,defs,deplist) @@\ 26211d341caSmrgdst:: src deplist @@\ 26311d341caSmrg RemoveFile($@) @@\ 26411d341caSmrg ClearmakeOSName \ 26511d341caSmrg $(CPP) CppNoLineInfoOption defs src 2>/dev/null | CppSedMagic >$@; @@\ 26611d341caSmrg @@\ 26711d341caSmrgclean:: @@\ 26811d341caSmrg RemoveFiles(dst) 26911d341caSmrg#endif /* CppFileTarget */ 27011d341caSmrg 27111d341caSmrg#ifndef CppScriptTarget 27211d341caSmrg#if ExecableScripts /* can use #! instead of colon */ 27311d341caSmrg#define CppScriptTarget(dst,src,defs,deplist) @@\ 27411d341caSmrgdst:: src deplist @@\ 27511d341caSmrg RemoveFile($@) @@\ 27611d341caSmrg ClearmakeOSName \ 27711d341caSmrg $(CPP) CppNoLineInfoOption defs src | CppSedMagic >$@ @@\ 27811d341caSmrg chmod a+x $@ @@\ 27911d341caSmrg @@\ 28011d341caSmrgclean:: @@\ 28111d341caSmrg RemoveFiles(dst) 28211d341caSmrg#else 28311d341caSmrg#define CppScriptTarget(dst,src,defs,deplist) @@\ 28411d341caSmrgdst:: src deplist @@\ 28511d341caSmrg RemoveFile($@) @@\ 28611d341caSmrg ClearmakeOSName \ 28711d341caSmrg echo \: >$@ @@\ 28811d341caSmrg sed '1d' src | $(CPP) CppNoLineInfoOption defs | CppSedMagic >>$@ @@\ 28911d341caSmrg chmod a+x $@ @@\ 29011d341caSmrg @@\ 29111d341caSmrgclean:: @@\ 29211d341caSmrg RemoveFile(dst) 29311d341caSmrg#endif /* ExecableScripts */ 29411d341caSmrg#endif /* CppScriptTarget */ 29511d341caSmrg 29611d341caSmrg/* Like CppFileTarget, but don't add any default defines */ 29711d341caSmrg#ifndef CppRawFileTarget 29811d341caSmrg#define CppRawFileTarget(dst,src,defs,deplist) @@\ 29911d341caSmrgdst:: src deplist @@\ 30011d341caSmrg RemoveFile($@) @@\ 30111d341caSmrg ClearmakeOSName \ 30211d341caSmrg $(RAWCPP) CppNoLineInfoOption defs src | CppSedMagic >$@ @@\ 30311d341caSmrg @@\ 30411d341caSmrgclean:: @@\ 30511d341caSmrg RemoveFiles(dst) 30611d341caSmrg#endif /* CppFileTarget */ 30711d341caSmrg 30811d341caSmrg#endif /* !HasGcc */ 30911d341caSmrg 31011d341caSmrg#ifndef DoLoadableServer 31111d341caSmrg#define DoLoadableServer YES 31211d341caSmrg#endif 31311d341caSmrg 31411d341caSmrg#ifndef UseDeprecatedKeyboardDriver 31511d341caSmrg#define UseDeprecatedKeyboardDriver YES 31611d341caSmrg#endif 31711d341caSmrg 31811d341caSmrg#include <xorg.cf> 319