XCOMM platform: $TOG: linux.cf /main/36 1997/06/16 22:21:03 kaleb $ XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.57.2.19 1999/09/04 09:12:27 dawes Exp $ #ifndef LinuxElfDefault #define LinuxElfDefault YES #endif #ifndef UseElfFormat #define UseElfFormat LinuxElfDefault #endif #ifndef OSBinaryType #if UseElfFormat #define OSBinaryType [ELF] #else #ifdef AlphaArchitecture #define OSBinaryType [ECOFF] #else #define OSBinaryType [a.out] #endif #endif #endif #ifndef OSName #define OSName DefaultOSName OSBinaryType #endif #ifndef OSVendor #define OSVendor /**/ #endif #ifndef OSMajorVersion #define OSMajorVersion DefaultOSMajorVersion #endif #ifndef OSMinorVersion #define OSMinorVersion DefaultOSMinorVersion #endif #ifndef OSTeenyVersion #define OSTeenyVersion DefaultOSTeenyVersion #endif /* Set some defaults for the Default* values in case imake doesn't find them */ #ifndef DefaultLinuxCLibMajorVersion #if defined(AlphaArchitecture) || defined(PowerPCArchitecture) || \ defined(SparcArchitecture) || defined(ArmArchitecure) || \ defined(i386Architecture) #define DefaultLinuxCLibMajorVersion 6 #else #define DefaultLinuxCLibMajorVersion 5 #endif #endif #ifndef DefaultLinuxCLibMinorVersion #if DefaultLinuxCLibMajorVersion > 5 #define DefaultLinuxCLibMinorVersion 0 #else #define DefaultLinuxCLibMinorVersion 4 #endif #endif #ifndef DefaultLinuxCLibTeenyVersion #define DefaultLinuxCLibTeenyVersion 0 #endif #ifndef LinuxCLibMajorVersion #define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion #endif #ifndef LinuxCLibMinorVersion #define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion #endif #ifndef LinuxCLibTeenyVersion #define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion #endif #ifndef LinuxBinUtilsMajorVersion #define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion #endif XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion) XCOMM binutils: (LinuxBinUtilsMajorVersion) /* * The Linux BinUtils major version. 25 => 2.5.x, which is what is included * with Slackware 3.0 * * This remains for compatibility only. * */ #ifndef BinUtilsMajorVersion #define BinUtilsMajorVersion LinuxBinUtilsMajorVersion #endif #if LinuxCLibMajorVersion >= 6 || \ (LinuxCLibMajorVersion == 5 && LinuxCLibMinorVersion == 99) #define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \ -D_POSIX_SOURCE -D_XOPEN_SOURCE=500L \ -D_BSD_SOURCE -D_SVID_SOURCE \ -DX_LOCALE #define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H #if !defined(ArmArchitecture) #define HasPosixThreads YES #define ThreadedX YES #define HasThreadSafeAPI YES #define ThreadsLibraries -lpthread #define SystemMTDefines -D_REENTRANT #endif #ifndef HasLibCrypt #define HasLibCrypt YES #endif #else #define LinuxSourceDefines -D_POSIX_SOURCE \ -D_BSD_SOURCE -D_SVID_SOURCE -DX_LOCALE #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC #ifndef HasLibCrypt #define HasLibCrypt NO #endif #endif /* For compatibility */ #define SourceDefines LinuxSourceDefines #define HasGcc YES #define HasGcc2 YES #ifndef HasGcc2ForCplusplus # define HasGcc2ForCplusplus YES #endif #define GccUsesGas YES #define UseGas YES #define GnuCpp YES #ifndef HasShadowPasswd # if UseElfFormat # define HasShadowPasswd YES # else # define HasShadowPasswd NO # endif #endif #define HasPutenv YES #define HasShm YES #define HasSockets YES #if UseElfFormat || defined(AlphaArchitecture) #define HasSnprintf YES #define HasMkstemp YES #endif #ifndef HasPam #define HasPam NO #endif #define AvoidNullMakeCommand YES #define StripInstalledPrograms YES #define CompressAllFonts YES #define Malloc0ReturnsNull YES #define NeedConstPrototypes YES #define NeedFunctionPrototypes YES #define NeedNestedPrototypes YES #define NeedVarargsPrototypes YES #ifndef NeedWidePrototypes #define NeedWidePrototypes NO #endif #define SetTtyGroup YES #ifndef UseStaticTermcapLib #define UseStaticTermcapLib NO #endif #define MkdirHierCmd mkdir -p #if LinuxElfDefault #if UseElfFormat #define CcCmd gcc #define AsCmd as #define LdCmd ld #define AsmDefines -D__ELF__ #define CplusplusCmd c++ #if UseStaticTermcapLib #if LinuxCLibMajorVersion >= 6 #define TermcapLibrary StaticLibrary(/usr/lib,ncurses) #else #define TermcapLibrary StaticLibrary(/usr/lib/termcap,termcap) #endif #endif #else #ifdef AlphaArchitecture #define CcCmd gcc -b alpha-linuxecoff #define CplusplusCmd g++ -b alpha-linuxecoff #define AsCmd /usr/alpha-linuxecoff/bin/as #define LdCmd /usr/alpha-linuxecoff/bin/ld -m alpha #define AsmDefines -DUSE_GAS -U__ELF__ #endif /* AlphaArchitecture */ #ifdef i386Architecture #define CcCmd gcc -b i486-linuxaout #define CplusplusCmd g++ -b i486-linuxaout #define AsCmd /usr/i486-linuxaout/bin/as #define LdCmd /usr/i486-linuxaout/bin/ld -m i386linux #define AsmDefines -DUSE_GAS -U__ELF__ #endif /* i386Architecture */ #ifdef Mc68020Architecture #define CcCmd gcc -b m68k-linuxaout #define CplusplusCmd g++ -b m68k-linuxaout #define AsCmd /usr/m68k-linuxaout/bin/as #define LdCmd /usr/m68k-linuxaout/bin/ld -m m68klinux #define AsmDefines -DUSE_GAS -U__ELF__ #endif /* Mc68020Architecture */ #endif #else #if UseElfFormat #ifdef AlphaArchitecture #define CcCmd gcc -b alpha-linux #define AsCmd /usr/alpha-linux/bin/as #define LdCmd ld -m elf64alpha #define AsmDefines -D__ELF__ #define CplusplusCmd c++ -b alpha-linux #endif /* AlphaArchitecture */ #ifdef i386Architecture #define CcCmd gcc -b i486-linux #define AsCmd /usr/i486-linux/bin/as #define LdCmd ld -m elf_i386 #define AsmDefines -D__ELF__ #define CplusplusCmd c++ -b i486-linux #endif /* i386Architecture */ #ifdef Mc68020Architecture #define CcCmd gcc -b m68k-linux #define AsCmd /usr/m68k-linux/bin/as #define LdCmd ld -m m68kelf #define AsmDefines -D__ELF__ #define CplusplusCmd c++ -b m68k-linux #endif /* Mc68020Architecture */ #else #define CcCmd gcc #define AsCmd as #define LdCmd ld #define AsmDefines -DUSE_GAS #endif #endif #if UseElfFormat #ifndef BuildDynamicLoading #define BuildDynamicLoading YES #endif #endif #define CppCmd /lib/cpp #ifdef USE_BYACC #define YaccCmd byacc #else #define YaccCmd bison -y #endif #define LexCmd flex -l #define LexLib -lfl #define PreProcessCmd CcCmd -E #define PostIncDir DefaultGccIncludeDir #define LdCombineFlags -r #define LdPostLib /* Never needed */ #define HasWChar32 YES #define StandardCppDefines -traditional StandardDefines #ifdef i386Architecture #define OptimizedCDebugFlags DefaultGcc2i386Opt #define LinuxMachineDefines -D__i386__ #define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET #define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines #endif /* i386Architecture */ #ifdef AlphaArchitecture #define OptimizedCDebugFlags -O2 #define LinuxMachineDefines -D__alpha__ #define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET #define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 #endif /* AlphaArchitecture */ #ifdef Mc68020Architecture #define OptimizedCDebugFlags -O2 #define LinuxMachineDefines -D__mc68000__ #define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET #define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines #endif /* Mc68020Architecture */ #ifdef PowerPCArchitecture #define DefaultCCOptions -fsigned-char #define OptimizedCDebugFlags -O2 #define LinuxMachineDefines -D__powerpc__ #define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET #define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines #endif /* PowerPCArchitecture */ #ifdef ArmArchitecture #define DefaultCCOptions -fsigned-char #define OptimizedCDebugFlags -O2 #define LinuxMachineDefines -D__arm__ #define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET #define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines #endif /* Arm */ #define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines #ifndef TermcapLibrary #if LinuxCLibMajorVersion >= 6 #define TermcapLibrary -lncurses #else #define TermcapLibrary -ltermcap #endif #endif #if UseElfFormat #define DlLibrary -rdynamic -ldl #else #define DlLibrary /**/ #endif #if BuildDynamicLoading #define ServerExtraSysLibs DlLibrary #else #define ServerExtraSysLibs /**/ #endif #if HasDECnet #define ConnectionFlags -DUNIXCONN -DTCPCONN -DDNETCONN #define ExtraLibraries -ldnet #else #define ConnectionFlags -DUNIXCONN -DTCPCONN #endif /* Some of these man page defaults are overriden in the above OS sections */ #ifndef ManSuffix # define ManSuffix 1x #endif #ifndef ManDir # define ManDir $(MANSOURCEPATH)1 #endif #ifndef LibManSuffix # define LibManSuffix 3x #endif #ifndef LibmanDir # define LibmanDir $(MANSOURCEPATH)3 #endif #ifndef FileManSuffix # define FileManSuffix 5x #endif #ifndef FileManDir # define FileManDir $(MANSOURCEPATH)5 #endif #ifndef StaticLibrary #define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic #endif #ifndef XTrueTypeDlLibrary #define XTrueTypeDlLibrary -rdynamic -ldl #endif #define HasGnuMake YES #define MakeNamedTargetSubdir(dir,flags,subname)\ $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname #include #include