Edit

IABSD.fr/xenocara/util/cf/linux.cf

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2006-11-25 16:15:45
    Hash : 782466d3
    Message : import from X.Org 7.2RC2

  • util/cf/linux.cf
  • XCOMM $XdotOrg: util/cf/linux.cf,v 1.31 2005/10/21 19:10:27 ajax Exp $
    XCOMM platform:  $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
    
    
    
    
    
    XCOMM platform:  $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi 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
    
    #ifndef LinuxDistribution
    # define LinuxDistribution	DefaultLinuxDistribution
    /*
      Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
      Currently only LinuxSuSE, LinuxRedHat and LinuxDebian will be figured out
      automatically.
      Valid values are (from the list at www.linux.org in Oct. '97):
        LinuxUnknown    (0)
        LinuxSuSE       (1)
        LinuxCaldera    (2)
        LinuxCraftworks (3)
        LinuxDebian     (4)
        LinuxInfoMagic  (5)
        LinuxKheops     (6)
        LinuxPro        (7)
        LinuxRedHat     (8)
        LinuxSlackware  (9)
        LinuxTurbo      (10)
        LinuxWare       (11)
        LinuxYggdrasil  (12)
    */
    #endif
    #ifndef LinuxDistName
    # define LinuxDistName		DefaultLinuxDistName
    #endif
    #ifndef LinuxCLibMajorVersion
    # define LinuxCLibMajorVersion	DefaultLinuxCLibMajorVersion
    #endif
    #ifndef LinuxCLibMinorVersion
    # define LinuxCLibMinorVersion	DefaultLinuxCLibMinorVersion
    #endif
    #ifndef LinuxCLibTeenyVersion
    # define LinuxCLibTeenyVersion	DefaultLinuxCLibTeenyVersion
    #endif
    
    #ifndef HasGhostScript
    # define HasGhostScript YES
    #endif
    #ifndef BuildPDFdocs
    # define BuildPDFdocs NO
    #endif
    
    #ifndef LinuxBinUtilsMajorVersion
    # define LinuxBinUtilsMajorVersion	DefaultLinuxBinUtilsMajorVersion
    #endif
    
    XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
    XCOMM libc:	(LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
    XCOMM binutils:	(LinuxBinUtilsMajorVersion)
    
    #if LinuxDistribution == LinuxDebian
    # if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot
    #  define SystemManDirectory	/usr/share/man
    # endif
    # define HasPam			YES
    /* un-comment this when it is un-broken */
    /* # define JoystickSupport YES */
    # if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot
    #  define XAppLoadDir		EtcX11Directory/app-defaults
    # define XFileSearchPathDefault	Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
    /* the relative symlink created by this rule causes problems for us */
    # if defined(InstallAppDefFiles) && InstallAppDefFiles
    #  define InstallAppDefaultsLong(file,class)				@@\
    InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
    # else
    #  define InstallAppDefaultsLong(file,class)				@@\
    InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
    # endif /* InstallAppDefFiles */
    # endif /* !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot */
    # define SharedLibXdmGreet	NO
    # define LinkGLToUsrInclude	NO
    # define LinkGLToUsrLib		NO
    # define SharedLibFont		NO
    # define SharedLibGlu		YES
    # define NormalLibGlu		YES
    # define FSUseSyslog		YES
    
    # define BuildLibGlxWithoutPIC  NO
    
    # define DriverManSuffix       4x
    # define DriverManDir          $(MANSOURCEPATH)4
    
    # define MiscManSuffix         7x
    # define MiscManDir            $(MANSOURCEPATH)7
    
    /*
     *
     *
    # define DebianMaintainer	YES
     *
     *
     */
    
    # ifdef DebianMaintainer
    #  ifndef XorgCustomVersion
    #   define XorgCustomVersion		"Debian"
    #  endif
    #  ifndef BuilderEMailAddr
    #   define BuilderEMailAddr		"debian-x@lists.debian.org"
    #  endif
    #  define XFree86Devel			YES
    #  define BuildAllSpecsDocs		YES
    #  define InstallXinitConfig		YES
    #  define InstallXdmConfig		YES
    #  define InstallFSConfig		YES
    #  define DebuggableLibraries		YES
    #  define ForceNormalLib		YES
    #  define BuildSpecsDocs		YES
    #  define SpecsDocDirs			CTEXT GL ICCCM X11 Xext Xv i18n xterm
    #  define BuildRman			NO
    #  define BuildHtmlManPages		NO
    
    /* we build-depend on libfreetype6-dev (FreeType 2.x) */
    #   define BuildFreetype2Library	NO
    #   define HasFreetype2			YES
    /* m68k has no 2.4 kernel yet */
    #   ifndef Mc68020Architecture
    #    define HasLinuxInput		YES
    #   endif
    #   define HasXdmAuth			YES
    #   define HasLatex			YES
    /* at present, glide2 only works on i386 */
    #   if defined(__linux__) && defined(i386Architecture)
    #    define HasGlide2			YES
    #    define Glide2IncDir		/usr/include/glide
    #   endif /* __linux__ && i386Architecture */
    /* at present, glide3 only works on alpha, amd64, i386 and ia64 */
    #   if defined(__linux__) && (defined(i386Architecture) || \
           defined(AlphaArchitecture) || defined(ia64Architecture) || \
           defined(AMD64Architecture))
    #    define HasGlide3			YES
    #    define Glide3IncDir		/usr/include/glide3
    #   endif /* __linux__ && (i386Architecture || AlphaArchitecture || \
                 ia64Architecture || AMD64Architecture) */
    /* extended instruction set support */
    #   ifdef i386Architecture
    #   define HasX86Support		YES
    #    define HasMMXSupport		YES
    #    define Has3DNowSupport		YES
    /* 2.4 is not yet the official (or predominant) kernel in unstable */
    #    define HasSSESupport		NO
    #   endif /* i386Architecture */
    # endif /* DebianMaintainer */
    #endif /* LinuxDebian */
    
    #if LinuxDistribution == LinuxRedHat
    #define FSUseSyslog		YES
    #endif
    
    #ifndef HasDevRandom
    # define HasDevRandom YES
    # ifndef RandomDeviceName
    #  define RandomDeviceName /dev/urandom
    # endif
    #endif
    
    /*
     * 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 || LinuxDistribution == LinuxSuSE)
    # define LinuxLocaleDefines	/**/
    #else
    # define LinuxLocaleDefines	-DX_LOCALE
    #endif
    
    #ifndef  LinuxAdditionalIncludes
    # define LinuxAdditionalIncludes	/**/
    #endif
    
    #ifndef LinuxGnuSourceDefines
    # ifdef UseInstalled
    #  define LinuxGnuSourceDefines	/**/
    # else
    #  define LinuxGnuSourceDefines	-D_GNU_SOURCE
    # endif
    #endif
    
    #if LinuxCLibMajorVersion >= 6
    # define LinuxSourceDefines	-D_POSIX_C_SOURCE=199309L \
    				-D_POSIX_SOURCE -D_XOPEN_SOURCE \
    				-D_BSD_SOURCE -D_SVID_SOURCE \
                                    -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
    				LinuxAdditionalIncludes LinuxGnuSourceDefines \
    				LinuxLocaleDefines
    # define XawI18nDefines		-DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
    # define HasPosixThreads	YES
    # define ThreadedX		YES
    # define HasThreadSafeAPI	YES
    # define ThreadsLibraries	-lpthread
    # define SystemMTDefines	-D_REENTRANT
    # ifndef HasLibCrypt
    #  define HasLibCrypt		YES
    # endif
    /* netscape wraps select but not poll as of communicator 4.72 */
    # ifndef HasPoll
    #  define HasPoll		NO
    # endif
    #else
    # define LinuxSourceDefines	-D_POSIX_SOURCE -D_POSIX_C_SOURCE=2 \
    				-D_BSD_SOURCE -D_SVID_SOURCE \
    				LinuxGnuSourceDefines LinuxLocaleDefines
    # define XawI18nDefines		-DUSE_XWCHAR_STRING -DUSE_XMBTOWC
    # ifndef HasLibCrypt
    #  define HasLibCrypt		NO
    # endif
    # ifndef HasBasename
    #  define HasBasename		NO
    # endif
      /* Proliferation of C99isms makes -ansi unpalatable... */
    # if !defined(DefaultCCOptions) && !defined(UseInstalled) && HasGcc
    #  define DefaultCCOptions	GccWarningOptions
    # endif
    #endif
    
    #ifndef InstallXloadSetGID
    #define InstallXloadSetGID	NO
    #endif
    
    /*
     * XXX Check which versions of Linux really have IPv6.  glibc 2.0 on
     * Red Hat 5.2 doesn't.
     */
    #if LinuxCLibMajorVersion < 6 || \
        (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion == 0)
    #define BuildIPv6		NO
    #endif
    
    /* <linux/input.h> support mainly for USB support */
    #ifndef HasLinuxInput
    # if defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4))
    #  define HasLinuxInput YES
    # else
    #  define HasLinuxInput NO
    # endif
    #endif
    
    #ifndef JoystickSupport
    # define JoystickSupport	NO	/* joystick driver is broken */
    #endif
    
    /* <linux/joystick.h> appeared in 2.1.45 (officially) */
    #ifndef HasLinuxSupport
    # if defined(__linux__) && (JoystickSupport || \
         (OSMajorVersion > 2) || \
         ((OSMajorVersion == 2) && (OSMinorVersion > 1)) || \
         ((OSMajorVersion == 2) && (OSMinorVersion == 1) && (OSTeenyVersion >= 45)))
    #  define HasLinuxJoystick	YES
    # else
    #  define HasLinuxJoystick	NO
    # endif
    #endif
    
    /* Libtool on linux always uses minor numbers */
    #define LibtoolMinorVersions	YES
    
    /* On x86, determine whether to build with MTRR support */
    #ifndef HasMTRRSupport
    # if defined (i386Architecture) || defined (AMD64Architecture)
    #  if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || \
          (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 99)
    #   define HasMTRRSupport	YES
    #  else
    #   define HasMTRRSupport	NO
    #  endif
    # else
    #  define HasMTRRSupport	NO	/* no for non-ix86 */
    # endif
    #endif
    
    #ifndef XF86INT10_BUILD
    # if defined(__linux__) && defined(i386Architecture)
    #  define XF86INT10_BUILD	X86VM
    # elif defined(__linux__) && defined(AMD64Architecture)
    #  define XF86INT10_BUILD	X86EMU_OS
    # else
    #  define XF86INT10_BUILD	X86EMU_GENERIC
    # endif
    #endif
    
    /* 
     * Let the OS restore console fonts instead of the generic VGA
     * layer. This exists for Linux only at the moment so put it
     * here.
     */
    #ifndef DoOSFontRestore
    # define DoOSFontRestore YES
    #endif
    
    /* Should we check the OS version to determine if the kernel supports it? */
    #if DoOSFontRestore
    # ifndef FontRestoreCheckOsVersion
    #  define FontRestoreCheckOsVersion YES
    # endif
    #endif
    
    /* The DRM module requires kernel services that appeared in late 2.1.x
       kernels and are known to be present in 2.2.x kernels. */
    #ifndef BuildXF86DRI
    #  if defined(AlphaArchitecture)
    #    define BuildXF86DRI	YES
    #  elif defined(Arm32Architecture)
    #    define BuildXF86DRI	NO
    #  elif defined(HPArchitecture)
    #    define BuildXF86DRI	YES
    #  elif defined(i386Architecture)
    #    if (defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && \
            OSMinorVersion >= 2))) || \
            defined(__FreeBSD_kernel__)
    #      define BuildXF86DRI	YES
    #    else
    #      define BuildXF86DRI	NO
    #    endif
    #  elif defined(ia64Architecture)
    #    define BuildXF86DRI	YES
    #  elif defined(Mc68020Architecture)
    #    define BuildXF86DRI	NO
    #  elif defined(MipsArchitecture)
    #    define BuildXF86DRI	NO
    #  elif defined(PpcArchitecture)
    #    define BuildXF86DRI	YES
    #  elif defined(Ppc64Architecture)
    #    define BuildXF86DRI	NO
    #  elif defined(s390Architecture) || defined(s390xArchitecture)
    #    define BuildXF86DRI	NO
    #  elif defined(SparcArchitecture)
    #    define BuildXF86DRI	YES
    #  elif defined(SuperHArchitecture)
    #    define BuildXF86DRI	NO
    #  elif defined(AMD64Architecture)
    #    define BuildXF86DRI	YES
    #  else
    #    define BuildXF86DRI	NO
    #  endif
    #endif
    
    /*
     * Build shared libGL and the DRI modules without -fPIC on some architectures.
     * This improves performance.
     */
    #ifndef BuildLibGlxWithoutPIC
    # if BuildXF86DRI
    #  if defined(i386Architecture)
    #   define BuildLibGlxWithoutPIC	YES
    #  endif
    # endif
    #endif
    
    #ifndef HasAgpGart
    #  if defined(i386Architecture) || defined(ia64Architecture) || defined(AMD64Architecture)
         /* The AGPGART header file is included in os-support/linux, which
            allows all drivers that depend on AGP to build properly. */
    #    define HasAgpGart	YES
    #  else
    #    define HasAgpGart	NO
    #  endif
    #endif
    
    /*
     * Support for Intel's SSE Native Instructions, also known as the
     * Streaming SIMD Extensions, was introduced in the 2.4.x kernels.
     */
    #ifndef HasSSESupport
    #  if defined(i386Architecture)
    #    if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)
    #      define HasSSESupport		YES
    #    else
    #      define HasSSESupport		NO
    #    endif
    #  else
    #    define HasSSESupport		NO
    #  endif
    #endif
    
    /*
     * Support for MMX isn't present in the Assembler used in Red Hat 4.2, so
     * don't enable it for libc5 as a reasonable default.
     */
    #ifndef HasMMXSupport
    #  if defined(i386Architecture)
    #    if (LinuxCLibMajorVersion > 5)
    #      define HasMMXSupport		YES
    #    else
    #      define HasMMXSupport		NO
    #    endif
    #  else
    #    define HasMMXSupport		NO
    #  endif
    #endif
    
    /*
     * Support for 3DNow isn't present in the Assembler used in Red Hat 4.2, so
     * don't enable it for libc5 as a reasonable default.
     *
     * XXX This is preliminary.
     */
    #ifndef Has3DNowSupport
    #  if defined(i386Architecture)
    #    if (LinuxCLibMajorVersion > 5)
    #      define Has3DNowSupport		YES
    #    else
    #      define Has3DNowSupport		NO
    #    endif
    #  else
    #    define Has3DNowSupport		NO
    #  endif
    #endif
    
    /*
     * The Rush extension support.
     */
    #ifndef BuildXF86RushExt
    # define BuildXF86RushExt	YES
    #endif
    
    #if defined(__linux__) && !defined(LinuxFBDevSupport)
    # define LinuxFBDevSupport	YES
    #endif
    
    /* For compatibility */
    #define SourceDefines		LinuxSourceDefines
    
    #define BuildLibPathVar		LD_LIBRARY_PATH
    #define GccUsesGas		YES
    #define UseGas			YES
    #define GnuCpp			YES
    #if UseElfFormat
    # ifndef HasDlopen
    #  define HasDlopen		YES
    # endif
    #endif
    #define HasWeakSymbols		UseElfFormat
    #ifndef HasShadowPasswd
    # if UseElfFormat
    #  define HasShadowPasswd	YES
    # else
    #  define HasShadowPasswd	NO
    # endif
    #endif
    #define HasPutenv		YES
    #ifndef HasShm
    # define HasShm			YES
    #endif
    
    /* Use SecureRPC (used for SUN-DES-1 auth. and other goodies) when
     * glibc has support for it */
    #ifndef HasSecureRPC
    # if !(LinuxCLibMajorVersion < 6 || \
           (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 3))
    #  define HasSecureRPC          YES
    # endif
    #endif
    
    #define HasSockets		YES
    #if UseElfFormat || defined(AlphaArchitecture)
    #ifndef HasSnprintf
    #define HasSnprintf		YES
    #endif
    #define HasMkstemp		YES
    #endif
    /* getresuid() appeared in 2.1.4, and getresgid in 2.1.44 */
    #if !defined(HasGetresuid) && \
     (((OSMajorVersion*100000) + (OSMinorVersion*1000) + OSTeenyVersion) >= 201044)
    #define HasGetresuid		YES
    #endif
    #if OSMajorVersion >= 2
    #define HasUsableFileMmap	YES
    #endif
    #ifndef HasNCurses
    #define HasNCurses		YES
    #endif
    
    #ifndef HasGroff
    #define HasGroff		YES
    #endif
    
    #ifndef HasZlib
    #define HasZlib			YES
    #endif
    
    #ifndef HasLibpng
    #define HasLibpng		YES
    #endif
    
    #ifndef HasExpat
    # define HasExpat		YES
    #endif
    
    #ifndef HasFreetype2
    # define HasFreetype2		YES
    #endif
    
    #define AvoidNullMakeCommand	YES
    #ifndef DebuggableLibraries
    #define DebuggableLibraries	NO
    #endif
    #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
    
    #ifndef HasCookieMaker
    #define HasCookieMaker		YES
    #define MkCookieCmd		mcookie
    #endif
    
    #ifndef BourneShell
    /*
     * This will cause builds/installs to terminate on errors, as on other
     * platforms.
     */
    #define BourneShell		/bin/sh -e
    #endif
    
    #define MkdirHierCmd		mkdir -p
    
    #ifndef HaveLib64
    # if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture)
    #  define HaveLib64	YES
    # else
    #  define HaveLib64	NO
    # endif
    #endif
    
    #if UseElfFormat
    # ifndef DoLoadableServer
    #  if defined(MipsArchitecture) || defined(SuperHArchitecture)
    #   define DoLoadableServer	NO
    #  else
    #   define DoLoadableServer	YES
    #  endif
    # endif
    #endif
    
    
    #if LinuxElfDefault
    # if UseElfFormat
    #  ifdef MipsArchitecture
    #   ifndef AsCmd
    #     define AsCmd		gcc -c -x assembler-with-cpp
    #   endif
    #   ifndef MakeDllModules
    #     define MakeDllModules	YES
    #   endif
    #  endif /* MipsArchitecure */
    #  if defined (i386Architecture) && ((GccMajorVersion >3) \
       || ((GccMajorVersion == 3) &&  (GccMinorVersion >= 1)))
    #   ifndef CcCmd
    #    define CcCmd		gcc -m32
    #   endif
    #   ifndef CplusplusCmd
    #    define CplusplusCmd	c++ -m32
    #   endif
    #  endif
    #  if defined (Ppc64Architecture)
    #   ifndef CcCmd
    #    define CcCmd		gcc -m64
    #   endif
    #   ifndef CplusplusCmd
    #    define CplusplusCmd	c++ -m64
    #   endif
    #  endif
    #  ifndef CcCmd
    #   define CcCmd		gcc
    #   define CplusplusCmd		c++
    #  endif
    #  ifndef AsCmd
    #   define AsCmd		CcCmd -c -x assembler
    #  endif
    #  define AsmDefines		-D__ELF__
    #  ifndef LdCmd
    #   define LdCmd		CcCmd -nostdlib
    #  endif
    #  ifndef LinuxUsesNcurses
    #   if LinuxCLibMajorVersion >= 6 || (LinuxDistribution == LinuxSuSE)
    #    define LinuxUsesNcurses	YES
    #   else
    #    define LinuxUsesNcurses	NO
    #   endif
    #  endif
    #  ifndef TermcapLibrary
    #   if UseStaticTermcapLib
    #    if LinuxUsesNcurses
    #     if !HaveLib64
    #      define TermcapLibrary	StaticLibrary(/usr/lib,ncurses)
    #     else
    #      define TermcapLibrary	StaticLibrary(/usr/lib64,ncurses)
    #     endif
    #    else
    #     if !HaveLib64
    #      define TermcapLibrary	StaticLibrary(/usr/lib/termcap,termcap)
    #     else
    #      define TermcapLibrary	StaticLibrary(/usr/lib64/termcap,termcap)
    #     endif
    #    endif
    #   else
    #    if LinuxUsesNcurses
    #     define TermcapLibrary	-lncurses
    #    else
    #     define TermcapLibrary	-ltermcap
    #    endif
    #   endif
    #  endif
    # else /* UseElfFormat */
    #  ifdef AlphaArchitecture
    #   define CcCmd		gcc -b alpha-linuxecoff
    #   define CplusplusCmd		g++ -b alpha-linuxecoff
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib -Wl,"-m alpha"
    #   define AsmDefines		-DUSE_GAS -U__ELF__
    #  endif /* AlphaArchitecture */
    #  ifdef HPArchitecture
    #   define CcCmd		gcc
    #   define CplusplusCmd		g++
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib
    #   define AsmDefines		-DUSE_GAS -U__ELF__
    #  endif /* HPArchitecture */
    #  ifdef i386Architecture
    #   define CcCmd		gcc -b i486-linuxaout
    #   define CplusplusCmd		g++ -b i486-linuxaout
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib -Wl,"-m i386linux"
    #   define AsmDefines		-DUSE_GAS -U__ELF__
    #  endif /* i386Architecture */
    #  ifdef ia64Architecture
    #   define CcCmd		gcc
    #   define CplusplusCmd		g++
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib
    #   define AsmDefines		-DUSE_GAS -U__ELF__
    #  endif /* ia64Architecture */
    #  ifdef Mc68020Architecture
    #   define CcCmd		gcc -b m68k-linuxaout
    #   define CplusplusCmd		g++ -b m68k-linuxaout
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib -Wl,"-m m68klinux"
    #   define AsmDefines		-DUSE_GAS -U__ELF__
    #  endif /* Mc68020Architecture */
    #  ifdef AMD64Architecture
    #   define CcCmd		gcc
    #   define CplusplusCmd		g++
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib
    #   define AsmDefines		-DUSE_GAS -U__ELF__
    #  endif /* AMD64Architecture */
    # endif /* UseElfFormat */
    #else
    # if UseElfFormat
    #  ifdef AlphaArchitecture
    #   define CcCmd		gcc -b alpha-linux
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib -Wl,"-m elf64alpha"
    #   define AsmDefines		-D__ELF__
    #   define CplusplusCmd		c++ -b alpha-linux
    #  endif /* AlphaArchitecture */
    #  ifdef HPArchitecture
    #   define CcCmd		gcc
    #   define CplusplusCmd		g++
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib
    #   define AsmDefines		-D__ELF__
    #   define SharedLibXau		YES
    #  endif /* HPArchitecture */
    #  ifdef i386Architecture
    #   define CcCmd		gcc -b i486-linux
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nosdlib -Wl,"-m elf_i386"
    #   define AsmDefines		-D__ELF__
    #   define CplusplusCmd		c++ -b i486-linux
    #  endif /* i386Architecture */
    #  ifdef ia64Architecture
    #   define CcCmd		gcc
    #   define CplusplusCmd		g++
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib
    #   define AsmDefines		-D__ELF__
    #  endif /* ia64Architecture */
    #  ifdef Mc68020Architecture
    #   define CcCmd		gcc -b m68k-linux
    #   define AsCmd		CcCmd -c -x assembler
    #   define LdCmd		CcCmd -nostdlib -W,l"-m m68kelf"
    #   define AsmDefines		-D__ELF__
    #   define CplusplusCmd		c++ -b m68k-linux
    #  endif /* Mc68020Architecture */
    #  ifdef AMD64Architecture
    #   define CcCmd                 gcc
    #   define CplusplusCmd          g++
    #   define AsCmd                 CcCmd -c -x assembler
    #   define LdCmd                 CcCmd -nostdlib
    #   define AsmDefines            -D__ELF__
    #  endif /* AMD64Architecture */
    # else
    #  define CcCmd			gcc
    #  define AsCmd			CcCmd -c -x assembler
    #  define LdCmd			CcCmd -nostdlib
    #  define AsmDefines		-DUSE_GAS
    # endif
    #endif
    
    /*
     * Some older distros still need /lib/cpp.  There's probably a better
     * test, but this handles the older Red Hat releases at least.
     */
    #ifndef CppCmd
    # if (LinuxDistribution == LinuxRedHat) && \
         ((LinuxCLibMajorVersion < 6) || \
          (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 1))
    #  define CppCmd		/lib/cpp
    # else
    #  define CppCmd		cpp
    # endif
    #endif
    
    /* Some Linux distributions have yacc, some don't. All have bison. */
    #define YaccCmd			bison -y
    #define LexCmd			flex -l
    #define HasFlex			YES
    #define LexLib			-lfl
    #define PreProcessCmd		CcCmd -E
    #define PostIncDir		DefaultGccIncludeDir
    #define LdCombineFlags		-r
    #ifndef LdPostLib
    # define LdPostLib		/* Never needed */
    #endif
    #define HasWChar32		YES
    #define StandardCppOptions	-traditional
    #define StandardCppDefines	StandardDefines
    
    #define HasVarRun		YES
    #ifndef VarDbDirectory
    # define VarDbDirectory		$(VARDIR)/lib
    #endif
    
    #ifndef XF86OSCardDrivers
    # ifdef __linux__
    #  define XF86OSCardDrivers	fbdev v4l sisusb
    # else
    #  define XF86OSCardDrivers	/**/
    # endif
    #endif
    
    #ifndef OSXInputDrivers
    # if HasLinuxJoystick
    #  define OSXInputDrivers1	ur98
    # else
    #  define OSXInputDrivers1	/**/
    # endif
    # if HasLinuxInput
    #  define OSXInputDrivers2	aiptek evdev
    # else
    #  define OSXInputDrivers2	/**/
    # endif
    # define OSXInputDrivers	OSXInputDrivers1 OSXInputDrivers2
    #endif
    
    #if UseElfFormat
    # define HasPlugin			YES
    # define VendorHasX11R6_3libXext	YES	/* XC or XFree86 >= 3.3.1 */
    #endif
    
    #ifdef AlphaArchitecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	DefaultGcc2AxpOpt
    # endif
    # define LinuxMachineDefines	-D__alpha__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 -DJENSEN_SUPPORT
    # ifdef UseCompaqMathLibrary
    #  define MathLibrary		-lcpml -lm
    # endif
    #endif /* AlphaArchitecture */
    
    #ifdef Arm32Architecture
    # define DefaultCCOptions
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	-O3
    # endif
    # define LinuxMachineDefines	-D__arm__ -D__arm32__ -U__arm -Uarm
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    #endif /* Arm32Achitecture */
    
    #ifdef HPArchitecture
    # define OptimizedCDebugFlags	-O2  GccAliasingArgs
    # define LinuxMachineDefines	-D__hppa__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    #endif
    
    #ifdef i386Architecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	DefaultGcc2i386Opt
    # endif
    # define LinuxMachineDefines	-D__i386__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    #endif /* i386Architecture */
    
    #ifdef ia64Architecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	-O2  GccAliasingArgs
    # endif
    # define LinuxMachineDefines	-D__ia64__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
    #endif /* ia64Architecture */
    
    #ifdef Mc68020Architecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	-O2  GccAliasingArgs
    # endif
    # define LinuxMachineDefines	-D__mc68000__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    #endif /* Mc68020Architecture */
    
    #ifdef MipsArchitecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	DefaultGcc2MipsOpt
    # endif
    # define LinuxMachineDefines	-D__mips__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    #endif
    
    #ifdef Ppc64Architecture
    # define DefaultCCOptions	-mminimal-toc
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	DefaultGcc2Ppc64Opt
    # endif
    # define LinuxMachineDefines	-D__powerpc64__ -D__powerpc__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
    #endif /* Ppc64Architecture */
    
    #ifdef PpcArchitecture
    # define DefaultCCOptions	
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	DefaultGcc2PpcOpt
    # endif
    # define LinuxMachineDefines	-D__powerpc__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    #endif /* PpcArchitecture */
    
    #ifdef s390Architecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	-O2 -fomit-frame-pointer GccAliasingArgs
    # endif
    # define LinuxMachineDefines	-D__s390__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    #endif /* s390Architecture */
    
    #ifdef s390xArchitecture
    /*#define DefaultCCOptions	-fsigned-char */
    #define OptimizedCDebugFlags	-O3 -fomit-frame-pointer
    #define LinuxMachineDefines	-D__s390x__
    #define ServerOSDefines		XFree86ServerOSDefines -DDDXTIME
    #define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
    #endif /* s390xArchitecture */
    
    #ifdef SparcArchitecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	-O2  GccAliasingArgs
    # endif
    # define LinuxMachineDefines	-D__sparc__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    # define AsVISOption		-Av9a
    # ifdef Sparc64Architecture
    #  define AsOutputArchSize	64
    # else
    #  define AsOutputArchSize	32
    # endif
    #endif
    
    #ifdef SuperHArchitecture
    # ifndef SuperHArchOptFlags
    #  ifdef SuperH4Architecture
    #   define SuperHArchOptFlags	-m4
    #  elif defined(SuperH4NOFPUArchitecture)
    #   define SuperHArchOptFlags	-m4-nofpu
    #  else
    #   define SuperHArchOptFlags	-m3
    #  endif
    # endif 
    # ifndef SuperHebArchitecture
    #  ifdef SuperHebArchitecture
    #   define SuperHEndianFlags	-mb
    #  else
    #   define SuperHEndianFlags	-ml
    #  endif
    # endif
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	-O2 SuperHArchOptFlags SuperHEndianFlags  GccAliasingArgs
    # endif
    # define LinuxMachineDefines	-D__sh__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
    # ifndef DoLoadableServer
    #  define DoLoadableServer NO
    # endif
    #endif
    
    #ifdef AMD64Architecture
    # ifndef OptimizedCDebugFlags
    #  define OptimizedCDebugFlags	DefaultGcc2AMD64Opt
    # endif
    # define LinuxMachineDefines   -D__amd64__
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
    #endif /* AMD64Architecture */
    
    #ifndef StandardDefines
    # ifdef __linux__
    #  define StandardDefines	-Dlinux LinuxMachineDefines LinuxSourceDefines
    # else
    #  define StandardDefines	LinuxMachineDefines LinuxSourceDefines
    # endif
    #endif
    
    #if UseElfFormat
    # define DlLibrary		-rdynamic -ldl
    #else
    # define DlLibrary		/**/
    #endif
    
    #define ServerExtraSysLibs	/**/
    
    #ifndef PamLibraries
    #define PamLibraries		-lpam DlLibrary
    #endif
    
    #ifndef PamMiscLibraries
    #define PamMiscLibraries	-lpam_misc
    #endif
    
    #ifndef HasDECnet
    #define HasDECnet		NO
    #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 LinkGLToUsrLib
    # define LinkGLToUsrLib		YES
    #endif
    # ifndef LinkGLToUsrInclude
    # define LinkGLToUsrInclude	YES
    #endif
    
    
    #define HasGnuMake		YES
    
    #define MakeNamedTargetSubdir(dir,flags,subname)\
    	$(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
    
    #define ArchitectureDefines	-DLINUX_ARCHITECTURE
    
    #define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
    #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
    
    #if HaveLib64
    # ifndef LibDirName
    #  define LibDirName		lib64
    # endif
    # ifndef SystemUsrLibDir
    #  define SystemUsrLibDir	/usr/lib64
    # endif
    # ifndef TkLibDir
    #  define TkLibDir		/usr/lib64
    # endif
    #endif
    
    #ifndef BuildDmx
    #define BuildDmx	YES
    #endif
    
    #include <lnxLib.rules>
    # include <xorg.cf>
    
    #ifndef XFree86ServerOSDefines
    # define XFree86ServerOSDefines
    #endif