diff options
Diffstat (limited to 'util/cf/sgi.cf')
-rw-r--r-- | util/cf/sgi.cf | 318 |
1 files changed, 318 insertions, 0 deletions
diff --git a/util/cf/sgi.cf b/util/cf/sgi.cf new file mode 100644 index 000000000..70e727c60 --- /dev/null +++ b/util/cf/sgi.cf @@ -0,0 +1,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> |