XCOMM platform: $TOG: sgi.cf /main/49 1998/02/26 09:12:19 barstow $ XCOMM $XFree86: xc/config/cf/sgi.cf,v 1.8 1999/06/06 15:36:03 dawes 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 #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 #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 #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 #ifndef BuildXInputExt #define BuildXInputExt YES #endif #if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2) #define NeedVarargsPrototypes YES #define NeedConstPrototypes YES #define NeedWidePrototypes NO #endif #include #if OSMajorVersion < 5 #define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000 #define PexSymbolTables -Wf,-XNp15000,-XNd15000,-XNh2000 #define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000 #else #define SymbolTables #define PexSymbolTables #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 # 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 #define DefaultCCOptions sgiCCOptions SymbolTables #define PexCCOptions sgiCCOptions PexSymbolTables #define ServerCCOptions sgiCCOptions ServerSymbolTables /* 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 /* 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) #ifndef BuildServer #define BuildServer NO #endif #define ServerOSDefines -DDDXTIME /* only need this for binary compatibility with their ddx */ #ifndef Mips64Architecture #define ServerExtraDefines -DNEED_LINEHELPER AllocateLocalDefines #else #define ServerExtraDefines -D_XSERVER64 -DNEED_LINEHELPER AllocateLocalDefines #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 #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 */