linux.cf revision 1c80d5b0
14c61c93dSmrgXCOMM $XdotOrg: xc/config/cf/linux.cf,v 1.24 2005/03/06 01:05:00 branden Exp $ 211d341caSmrgXCOMM platform: $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ 311d341caSmrg 411d341caSmrg 511d341caSmrg 611d341caSmrg 711d341caSmrg 811d341caSmrgXCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $ 911d341caSmrg 1011d341caSmrg#ifndef LinuxElfDefault 1111d341caSmrg# define LinuxElfDefault YES 1211d341caSmrg#endif 1311d341caSmrg 1411d341caSmrg#ifndef UseElfFormat 1511d341caSmrg# define UseElfFormat LinuxElfDefault 1611d341caSmrg#endif 1711d341caSmrg 1811d341caSmrg#ifndef OSBinaryType 1911d341caSmrg# if UseElfFormat 2011d341caSmrg# define OSBinaryType [ELF] 2111d341caSmrg# else 2211d341caSmrg# ifdef AlphaArchitecture 2311d341caSmrg# define OSBinaryType [ECOFF] 2411d341caSmrg# else 2511d341caSmrg# define OSBinaryType [a.out] 2611d341caSmrg# endif 2711d341caSmrg# endif 2811d341caSmrg#endif 2911d341caSmrg 3011d341caSmrg#ifndef OSName 3111d341caSmrg# define OSName DefaultOSName OSBinaryType 3211d341caSmrg#endif 3311d341caSmrg 3411d341caSmrg#ifndef OSVendor 3511d341caSmrg# define OSVendor /**/ 3611d341caSmrg#endif 3711d341caSmrg#ifndef OSMajorVersion 3811d341caSmrg# define OSMajorVersion DefaultOSMajorVersion 3911d341caSmrg#endif 4011d341caSmrg#ifndef OSMinorVersion 4111d341caSmrg# define OSMinorVersion DefaultOSMinorVersion 4211d341caSmrg#endif 4311d341caSmrg#ifndef OSTeenyVersion 4411d341caSmrg# define OSTeenyVersion DefaultOSTeenyVersion 4511d341caSmrg#endif 4611d341caSmrg 4711d341caSmrg#ifndef LinuxDistribution 4811d341caSmrg# define LinuxDistribution DefaultLinuxDistribution 4911d341caSmrg/* 5011d341caSmrg Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def. 5111d341caSmrg Currently only LinuxSuSE, LinuxRedHat and LinuxDebian will be figured out 5211d341caSmrg automatically. 5311d341caSmrg Valid values are (from the list at www.linux.org in Oct. '97): 5411d341caSmrg LinuxUnknown (0) 5511d341caSmrg LinuxSuSE (1) 5611d341caSmrg LinuxCaldera (2) 5711d341caSmrg LinuxCraftworks (3) 5811d341caSmrg LinuxDebian (4) 5911d341caSmrg LinuxInfoMagic (5) 6011d341caSmrg LinuxKheops (6) 6111d341caSmrg LinuxPro (7) 6211d341caSmrg LinuxRedHat (8) 6311d341caSmrg LinuxSlackware (9) 6411d341caSmrg LinuxTurbo (10) 6511d341caSmrg LinuxWare (11) 6611d341caSmrg LinuxYggdrasil (12) 6711d341caSmrg*/ 6811d341caSmrg#endif 6911d341caSmrg#ifndef LinuxDistName 7011d341caSmrg# define LinuxDistName DefaultLinuxDistName 7111d341caSmrg#endif 7211d341caSmrg#ifndef LinuxCLibMajorVersion 7311d341caSmrg# define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion 7411d341caSmrg#endif 7511d341caSmrg#ifndef LinuxCLibMinorVersion 7611d341caSmrg# define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion 7711d341caSmrg#endif 7811d341caSmrg#ifndef LinuxCLibTeenyVersion 7911d341caSmrg# define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion 8011d341caSmrg#endif 8111d341caSmrg 8211d341caSmrg#ifndef HasGhostScript 8311d341caSmrg# define HasGhostScript YES 8411d341caSmrg#endif 8511d341caSmrg#ifndef BuildPDFdocs 8611d341caSmrg# define BuildPDFdocs NO 8711d341caSmrg#endif 8811d341caSmrg 8911d341caSmrg#ifndef LinuxBinUtilsMajorVersion 9011d341caSmrg# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion 9111d341caSmrg#endif 9211d341caSmrg 9311d341caSmrgXCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) 9411d341caSmrgXCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion) 9511d341caSmrgXCOMM binutils: (LinuxBinUtilsMajorVersion) 9611d341caSmrg 9711d341caSmrg#if LinuxDistribution == LinuxDebian 9811d341caSmrg# if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot 9911d341caSmrg# define SystemManDirectory /usr/share/man 10011d341caSmrg# endif 10111d341caSmrg# define HasPam YES 10211d341caSmrg/* un-comment this when it is un-broken */ 10311d341caSmrg/* # define JoystickSupport YES */ 10411d341caSmrg# if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot 10511d341caSmrg# define XAppLoadDir EtcX11Directory/app-defaults 10611d341caSmrg# 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) 10711d341caSmrg/* the relative symlink created by this rule causes problems for us */ 10811d341caSmrg# if defined(InstallAppDefFiles) && InstallAppDefFiles 10911d341caSmrg# define InstallAppDefaultsLong(file,class) @@\ 11011d341caSmrgInstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class) 11111d341caSmrg# else 11211d341caSmrg# define InstallAppDefaultsLong(file,class) @@\ 11311d341caSmrgInstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class) 11411d341caSmrg# endif /* InstallAppDefFiles */ 11511d341caSmrg# endif /* !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot */ 11611d341caSmrg# define SharedLibXdmGreet NO 11711d341caSmrg# define LinkGLToUsrInclude NO 11811d341caSmrg# define LinkGLToUsrLib NO 11911d341caSmrg# define SharedLibFont NO 12011d341caSmrg# define SharedLibGlu YES 12111d341caSmrg# define NormalLibGlu YES 12211d341caSmrg# define FSUseSyslog YES 12311d341caSmrg 12411d341caSmrg# define BuildLibGlxWithoutPIC NO 12511d341caSmrg 12611d341caSmrg# define DriverManSuffix 4x 12711d341caSmrg# define DriverManDir $(MANSOURCEPATH)4 12811d341caSmrg 12911d341caSmrg# define MiscManSuffix 7x 13011d341caSmrg# define MiscManDir $(MANSOURCEPATH)7 13111d341caSmrg 13211d341caSmrg/* 13311d341caSmrg * 13411d341caSmrg * 13511d341caSmrg# define DebianMaintainer YES 13611d341caSmrg * 13711d341caSmrg * 13811d341caSmrg */ 13911d341caSmrg 14011d341caSmrg# ifdef DebianMaintainer 14111d341caSmrg# ifndef XorgCustomVersion 14211d341caSmrg# define XorgCustomVersion "Debian" 14311d341caSmrg# endif 14411d341caSmrg# ifndef BuilderEMailAddr 14511d341caSmrg# define BuilderEMailAddr "debian-x@lists.debian.org" 14611d341caSmrg# endif 14711d341caSmrg# define XFree86Devel YES 14811d341caSmrg# define BuildAllSpecsDocs YES 14911d341caSmrg# define InstallXinitConfig YES 15011d341caSmrg# define InstallXdmConfig YES 15111d341caSmrg# define InstallFSConfig YES 15211d341caSmrg# define DebuggableLibraries YES 15311d341caSmrg# define ForceNormalLib YES 15411d341caSmrg# define BuildSpecsDocs YES 15511d341caSmrg# define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xv i18n xterm 15611d341caSmrg# define BuildRman NO 15711d341caSmrg# define BuildHtmlManPages NO 15811d341caSmrg 15911d341caSmrg/* we build-depend on libfreetype6-dev (FreeType 2.x) */ 16011d341caSmrg# define BuildFreetype2Library NO 16111d341caSmrg# define HasFreetype2 YES 16211d341caSmrg/* m68k has no 2.4 kernel yet */ 16311d341caSmrg# ifndef Mc68020Architecture 16411d341caSmrg# define HasLinuxInput YES 16511d341caSmrg# endif 16611d341caSmrg# define HasXdmAuth YES 16711d341caSmrg# define HasLatex YES 16811d341caSmrg/* at present, glide2 only works on i386 */ 16911d341caSmrg# if defined(__linux__) && defined(i386Architecture) 17011d341caSmrg# define HasGlide2 YES 17111d341caSmrg# define Glide2IncDir /usr/include/glide 17211d341caSmrg# endif /* __linux__ && i386Architecture */ 17311d341caSmrg/* at present, glide3 only works on alpha, amd64, i386 and ia64 */ 17411d341caSmrg# if defined(__linux__) && (defined(i386Architecture) || \ 17511d341caSmrg defined(AlphaArchitecture) || defined(ia64Architecture) || \ 17611d341caSmrg defined(AMD64Architecture)) 17711d341caSmrg# define HasGlide3 YES 17811d341caSmrg# define Glide3IncDir /usr/include/glide3 17911d341caSmrg# endif /* __linux__ && (i386Architecture || AlphaArchitecture || \ 18011d341caSmrg ia64Architecture || AMD64Architecture) */ 18111d341caSmrg/* extended instruction set support */ 18211d341caSmrg# ifdef i386Architecture 18311d341caSmrg# define HasX86Support YES 18411d341caSmrg# define HasMMXSupport YES 18511d341caSmrg# define Has3DNowSupport YES 18611d341caSmrg/* 2.4 is not yet the official (or predominant) kernel in unstable */ 18711d341caSmrg# define HasSSESupport NO 18811d341caSmrg# endif /* i386Architecture */ 18911d341caSmrg# endif /* DebianMaintainer */ 19011d341caSmrg#endif /* LinuxDebian */ 19111d341caSmrg 19211d341caSmrg#if LinuxDistribution == LinuxRedHat 19311d341caSmrg#define FSUseSyslog YES 19411d341caSmrg#endif 19511d341caSmrg 19611d341caSmrg#ifndef HasDevRandom 19711d341caSmrg# define HasDevRandom YES 19811d341caSmrg# ifndef RandomDeviceName 19911d341caSmrg# define RandomDeviceName /dev/urandom 20011d341caSmrg# endif 20111d341caSmrg#endif 20211d341caSmrg 20311d341caSmrg/* 20411d341caSmrg * The Linux BinUtils major version. 25 => 2.5.x, which is what is included 20511d341caSmrg * with Slackware 3.0 20611d341caSmrg * 20711d341caSmrg * This remains for compatibility only. 20811d341caSmrg * 20911d341caSmrg */ 21011d341caSmrg#ifndef BinUtilsMajorVersion 21111d341caSmrg# define BinUtilsMajorVersion LinuxBinUtilsMajorVersion 21211d341caSmrg#endif 21311d341caSmrg 21411d341caSmrg#if (LinuxCLibMajorVersion >= 6 || LinuxDistribution == LinuxSuSE) 21511d341caSmrg# define LinuxLocaleDefines /**/ 21611d341caSmrg#else 21711d341caSmrg# define LinuxLocaleDefines -DX_LOCALE 21811d341caSmrg#endif 21911d341caSmrg 22011d341caSmrg#ifndef LinuxAdditionalIncludes 22111d341caSmrg# define LinuxAdditionalIncludes /**/ 22211d341caSmrg#endif 22311d341caSmrg 22411d341caSmrg#ifndef LinuxGnuSourceDefines 22511d341caSmrg# ifdef UseInstalled 22611d341caSmrg# define LinuxGnuSourceDefines /**/ 22711d341caSmrg# else 22811d341caSmrg# define LinuxGnuSourceDefines -D_GNU_SOURCE 22911d341caSmrg# endif 23011d341caSmrg#endif 23111d341caSmrg 23211d341caSmrg#if LinuxCLibMajorVersion >= 6 23311d341caSmrg# define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \ 23411d341caSmrg -D_POSIX_SOURCE -D_XOPEN_SOURCE \ 23511d341caSmrg -D_BSD_SOURCE -D_SVID_SOURCE \ 23611d341caSmrg -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ 23711d341caSmrg LinuxAdditionalIncludes LinuxGnuSourceDefines \ 23811d341caSmrg LinuxLocaleDefines 23911d341caSmrg# define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H 24011d341caSmrg# define HasPosixThreads YES 24111d341caSmrg# define ThreadedX YES 24211d341caSmrg# define HasThreadSafeAPI YES 24311d341caSmrg# define ThreadsLibraries -lpthread 24411d341caSmrg# define SystemMTDefines -D_REENTRANT 24511d341caSmrg# ifndef HasLibCrypt 24611d341caSmrg# define HasLibCrypt YES 24711d341caSmrg# endif 24811d341caSmrg/* netscape wraps select but not poll as of communicator 4.72 */ 24911d341caSmrg# ifndef HasPoll 25011d341caSmrg# define HasPoll NO 25111d341caSmrg# endif 25211d341caSmrg#else 25311d341caSmrg# define LinuxSourceDefines -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2 \ 25411d341caSmrg -D_BSD_SOURCE -D_SVID_SOURCE \ 25511d341caSmrg LinuxGnuSourceDefines LinuxLocaleDefines 25611d341caSmrg# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 25711d341caSmrg# ifndef HasLibCrypt 25811d341caSmrg# define HasLibCrypt NO 25911d341caSmrg# endif 26011d341caSmrg# ifndef HasBasename 26111d341caSmrg# define HasBasename NO 26211d341caSmrg# endif 26311d341caSmrg /* Proliferation of C99isms makes -ansi unpalatable... */ 26411d341caSmrg# if !defined(DefaultCCOptions) && !defined(UseInstalled) && HasGcc 26511d341caSmrg# define DefaultCCOptions GccWarningOptions 26611d341caSmrg# endif 26711d341caSmrg#endif 26811d341caSmrg 26911d341caSmrg#ifndef InstallXloadSetGID 27011d341caSmrg#define InstallXloadSetGID NO 27111d341caSmrg#endif 27211d341caSmrg 27311d341caSmrg/* 27411d341caSmrg * XXX Check which versions of Linux really have IPv6. glibc 2.0 on 27511d341caSmrg * Red Hat 5.2 doesn't. 27611d341caSmrg */ 27711d341caSmrg#if LinuxCLibMajorVersion < 6 || \ 27811d341caSmrg (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion == 0) 27911d341caSmrg#define BuildIPv6 NO 28011d341caSmrg#endif 28111d341caSmrg 28211d341caSmrg/* <linux/input.h> support mainly for USB support */ 28311d341caSmrg#ifndef HasLinuxInput 28411d341caSmrg# if defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)) 28511d341caSmrg# define HasLinuxInput YES 28611d341caSmrg# else 28711d341caSmrg# define HasLinuxInput NO 28811d341caSmrg# endif 28911d341caSmrg#endif 29011d341caSmrg 29111d341caSmrg#ifndef JoystickSupport 29211d341caSmrg# define JoystickSupport NO /* joystick driver is broken */ 29311d341caSmrg#endif 29411d341caSmrg 29511d341caSmrg/* <linux/joystick.h> appeared in 2.1.45 (officially) */ 29611d341caSmrg#ifndef HasLinuxSupport 29711d341caSmrg# if defined(__linux__) && (JoystickSupport || \ 29811d341caSmrg (OSMajorVersion > 2) || \ 29911d341caSmrg ((OSMajorVersion == 2) && (OSMinorVersion > 1)) || \ 30011d341caSmrg ((OSMajorVersion == 2) && (OSMinorVersion == 1) && (OSTeenyVersion >= 45))) 30111d341caSmrg# define HasLinuxJoystick YES 30211d341caSmrg# else 30311d341caSmrg# define HasLinuxJoystick NO 30411d341caSmrg# endif 30511d341caSmrg#endif 30611d341caSmrg 30711d341caSmrg/* Libtool on linux always uses minor numbers */ 30811d341caSmrg#define LibtoolMinorVersions YES 30911d341caSmrg 31011d341caSmrg/* On x86, determine whether to build with MTRR support */ 31111d341caSmrg#ifndef HasMTRRSupport 31211d341caSmrg# if defined (i386Architecture) || defined (AMD64Architecture) 31311d341caSmrg# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || \ 31411d341caSmrg (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 99) 31511d341caSmrg# define HasMTRRSupport YES 31611d341caSmrg# else 31711d341caSmrg# define HasMTRRSupport NO 31811d341caSmrg# endif 31911d341caSmrg# else 32011d341caSmrg# define HasMTRRSupport NO /* no for non-ix86 */ 32111d341caSmrg# endif 32211d341caSmrg#endif 32311d341caSmrg 32411d341caSmrg#ifndef XF86INT10_BUILD 32511d341caSmrg# if defined(__linux__) && defined(i386Architecture) 32611d341caSmrg# define XF86INT10_BUILD X86VM 32711d341caSmrg# elif defined(__linux__) && defined(AMD64Architecture) 32811d341caSmrg# define XF86INT10_BUILD X86EMU_OS 32911d341caSmrg# else 33011d341caSmrg# define XF86INT10_BUILD X86EMU_GENERIC 33111d341caSmrg# endif 33211d341caSmrg#endif 33311d341caSmrg 3341c80d5b0Smrg/* 33511d341caSmrg * Let the OS restore console fonts instead of the generic VGA 33611d341caSmrg * layer. This exists for Linux only at the moment so put it 33711d341caSmrg * here. 33811d341caSmrg */ 33911d341caSmrg#ifndef DoOSFontRestore 34011d341caSmrg# define DoOSFontRestore YES 34111d341caSmrg#endif 34211d341caSmrg 34311d341caSmrg/* Should we check the OS version to determine if the kernel supports it? */ 34411d341caSmrg#if DoOSFontRestore 34511d341caSmrg# ifndef FontRestoreCheckOsVersion 34611d341caSmrg# define FontRestoreCheckOsVersion YES 34711d341caSmrg# endif 34811d341caSmrg#endif 34911d341caSmrg 35011d341caSmrg/* The DRM module requires kernel services that appeared in late 2.1.x 35111d341caSmrg kernels and are known to be present in 2.2.x kernels. */ 35211d341caSmrg#ifndef BuildXF86DRI 35311d341caSmrg# if defined(AlphaArchitecture) 35411d341caSmrg# define BuildXF86DRI YES 35511d341caSmrg# elif defined(Arm32Architecture) 35611d341caSmrg# define BuildXF86DRI NO 35711d341caSmrg# elif defined(HPArchitecture) 35811d341caSmrg# define BuildXF86DRI YES 35911d341caSmrg# elif defined(i386Architecture) 36011d341caSmrg# if (defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && \ 36111d341caSmrg OSMinorVersion >= 2))) || \ 36211d341caSmrg defined(__FreeBSD_kernel__) 36311d341caSmrg# define BuildXF86DRI YES 36411d341caSmrg# else 36511d341caSmrg# define BuildXF86DRI NO 36611d341caSmrg# endif 36711d341caSmrg# elif defined(ia64Architecture) 36811d341caSmrg# define BuildXF86DRI YES 36911d341caSmrg# elif defined(Mc68020Architecture) 37011d341caSmrg# define BuildXF86DRI NO 37111d341caSmrg# elif defined(MipsArchitecture) 37211d341caSmrg# define BuildXF86DRI NO 37311d341caSmrg# elif defined(PpcArchitecture) 37411d341caSmrg# define BuildXF86DRI YES 37511d341caSmrg# elif defined(Ppc64Architecture) 37611d341caSmrg# define BuildXF86DRI NO 37711d341caSmrg# elif defined(s390Architecture) || defined(s390xArchitecture) 37811d341caSmrg# define BuildXF86DRI NO 37911d341caSmrg# elif defined(SparcArchitecture) 38011d341caSmrg# define BuildXF86DRI YES 38111d341caSmrg# elif defined(SuperHArchitecture) 38211d341caSmrg# define BuildXF86DRI NO 38311d341caSmrg# elif defined(AMD64Architecture) 38411d341caSmrg# define BuildXF86DRI YES 38511d341caSmrg# else 38611d341caSmrg# define BuildXF86DRI NO 38711d341caSmrg# endif 38811d341caSmrg#endif 38911d341caSmrg 39011d341caSmrg/* 39111d341caSmrg * Build shared libGL and the DRI modules without -fPIC on some architectures. 39211d341caSmrg * This improves performance. 39311d341caSmrg */ 39411d341caSmrg#ifndef BuildLibGlxWithoutPIC 39511d341caSmrg# if BuildXF86DRI 39611d341caSmrg# if defined(i386Architecture) 39711d341caSmrg# define BuildLibGlxWithoutPIC YES 39811d341caSmrg# endif 39911d341caSmrg# endif 40011d341caSmrg#endif 40111d341caSmrg 40211d341caSmrg#ifndef HasAgpGart 40311d341caSmrg# if defined(i386Architecture) || defined(ia64Architecture) || defined(AMD64Architecture) 40411d341caSmrg /* The AGPGART header file is included in os-support/linux, which 40511d341caSmrg allows all drivers that depend on AGP to build properly. */ 40611d341caSmrg# define HasAgpGart YES 40711d341caSmrg# else 40811d341caSmrg# define HasAgpGart NO 40911d341caSmrg# endif 41011d341caSmrg#endif 41111d341caSmrg 41211d341caSmrg/* 41311d341caSmrg * Support for Intel's SSE Native Instructions, also known as the 41411d341caSmrg * Streaming SIMD Extensions, was introduced in the 2.4.x kernels. 41511d341caSmrg */ 41611d341caSmrg#ifndef HasSSESupport 41711d341caSmrg# if defined(i386Architecture) 41811d341caSmrg# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4) 41911d341caSmrg# define HasSSESupport YES 42011d341caSmrg# else 42111d341caSmrg# define HasSSESupport NO 42211d341caSmrg# endif 42311d341caSmrg# else 42411d341caSmrg# define HasSSESupport NO 42511d341caSmrg# endif 42611d341caSmrg#endif 42711d341caSmrg 42811d341caSmrg/* 42911d341caSmrg * Support for MMX isn't present in the Assembler used in Red Hat 4.2, so 43011d341caSmrg * don't enable it for libc5 as a reasonable default. 43111d341caSmrg */ 43211d341caSmrg#ifndef HasMMXSupport 43311d341caSmrg# if defined(i386Architecture) 43411d341caSmrg# if (LinuxCLibMajorVersion > 5) 43511d341caSmrg# define HasMMXSupport YES 43611d341caSmrg# else 43711d341caSmrg# define HasMMXSupport NO 43811d341caSmrg# endif 43911d341caSmrg# else 44011d341caSmrg# define HasMMXSupport NO 44111d341caSmrg# endif 44211d341caSmrg#endif 44311d341caSmrg 44411d341caSmrg/* 44511d341caSmrg * Support for 3DNow isn't present in the Assembler used in Red Hat 4.2, so 44611d341caSmrg * don't enable it for libc5 as a reasonable default. 44711d341caSmrg * 44811d341caSmrg * XXX This is preliminary. 44911d341caSmrg */ 45011d341caSmrg#ifndef Has3DNowSupport 45111d341caSmrg# if defined(i386Architecture) 45211d341caSmrg# if (LinuxCLibMajorVersion > 5) 45311d341caSmrg# define Has3DNowSupport YES 45411d341caSmrg# else 45511d341caSmrg# define Has3DNowSupport NO 45611d341caSmrg# endif 45711d341caSmrg# else 45811d341caSmrg# define Has3DNowSupport NO 45911d341caSmrg# endif 46011d341caSmrg#endif 46111d341caSmrg 46211d341caSmrg/* 46311d341caSmrg * The Rush extension support. 46411d341caSmrg */ 46511d341caSmrg#ifndef BuildXF86RushExt 46611d341caSmrg# define BuildXF86RushExt YES 46711d341caSmrg#endif 46811d341caSmrg 46911d341caSmrg#if defined(__linux__) && !defined(LinuxFBDevSupport) 47011d341caSmrg# define LinuxFBDevSupport YES 47111d341caSmrg#endif 47211d341caSmrg 47311d341caSmrg/* For compatibility */ 47411d341caSmrg#define SourceDefines LinuxSourceDefines 47511d341caSmrg 47611d341caSmrg#define BuildLibPathVar LD_LIBRARY_PATH 47711d341caSmrg#define GccUsesGas YES 47811d341caSmrg#define UseGas YES 47911d341caSmrg#define GnuCpp YES 48011d341caSmrg#if UseElfFormat 48111d341caSmrg# ifndef HasDlopen 48211d341caSmrg# define HasDlopen YES 48311d341caSmrg# endif 48411d341caSmrg#endif 48511d341caSmrg#define HasWeakSymbols UseElfFormat 48611d341caSmrg#ifndef HasShadowPasswd 48711d341caSmrg# if UseElfFormat 48811d341caSmrg# define HasShadowPasswd YES 48911d341caSmrg# else 49011d341caSmrg# define HasShadowPasswd NO 49111d341caSmrg# endif 49211d341caSmrg#endif 49311d341caSmrg#define HasPutenv YES 49411d341caSmrg#ifndef HasShm 49511d341caSmrg# define HasShm YES 49611d341caSmrg#endif 49711d341caSmrg 49811d341caSmrg/* Use SecureRPC (used for SUN-DES-1 auth. and other goodies) when 49911d341caSmrg * glibc has support for it */ 50011d341caSmrg#ifndef HasSecureRPC 50111d341caSmrg# if !(LinuxCLibMajorVersion < 6 || \ 50211d341caSmrg (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 3)) 50311d341caSmrg# define HasSecureRPC YES 50411d341caSmrg# endif 50511d341caSmrg#endif 50611d341caSmrg 50711d341caSmrg#define HasSockets YES 50811d341caSmrg#if UseElfFormat || defined(AlphaArchitecture) 50911d341caSmrg#ifndef HasSnprintf 51011d341caSmrg#define HasSnprintf YES 51111d341caSmrg#endif 51211d341caSmrg#define HasMkstemp YES 51311d341caSmrg#endif 51411d341caSmrg/* getresuid() appeared in 2.1.4, and getresgid in 2.1.44 */ 51511d341caSmrg#if !defined(HasGetresuid) && \ 51611d341caSmrg (((OSMajorVersion*100000) + (OSMinorVersion*1000) + OSTeenyVersion) >= 201044) 51711d341caSmrg#define HasGetresuid YES 51811d341caSmrg#endif 51911d341caSmrg#if OSMajorVersion >= 2 52011d341caSmrg#define HasUsableFileMmap YES 52111d341caSmrg#endif 52211d341caSmrg#ifndef HasNCurses 52311d341caSmrg#define HasNCurses YES 52411d341caSmrg#endif 52511d341caSmrg 52611d341caSmrg#ifndef HasGroff 52711d341caSmrg#define HasGroff YES 52811d341caSmrg#endif 52911d341caSmrg 53011d341caSmrg#ifndef HasZlib 53111d341caSmrg#define HasZlib YES 53211d341caSmrg#endif 53311d341caSmrg 53411d341caSmrg#ifndef HasLibpng 53511d341caSmrg#define HasLibpng YES 53611d341caSmrg#endif 53711d341caSmrg 53811d341caSmrg#ifndef HasExpat 53911d341caSmrg# define HasExpat YES 54011d341caSmrg#endif 54111d341caSmrg 54211d341caSmrg#ifndef HasFreetype2 54311d341caSmrg# define HasFreetype2 YES 54411d341caSmrg#endif 54511d341caSmrg 54611d341caSmrg#define AvoidNullMakeCommand YES 54711d341caSmrg#ifndef DebuggableLibraries 54811d341caSmrg#define DebuggableLibraries NO 54911d341caSmrg#endif 55011d341caSmrg#define CompressAllFonts YES 55111d341caSmrg#define Malloc0ReturnsNull YES 55211d341caSmrg#define NeedConstPrototypes YES 55311d341caSmrg#define NeedFunctionPrototypes YES 55411d341caSmrg#define NeedNestedPrototypes YES 55511d341caSmrg#define NeedVarargsPrototypes YES 55611d341caSmrg#ifndef NeedWidePrototypes 55711d341caSmrg#define NeedWidePrototypes NO 55811d341caSmrg#endif 55911d341caSmrg#define SetTtyGroup YES 56011d341caSmrg 56111d341caSmrg#ifndef UseStaticTermcapLib 56211d341caSmrg#define UseStaticTermcapLib NO 56311d341caSmrg#endif 56411d341caSmrg 56511d341caSmrg#ifndef HasCookieMaker 56611d341caSmrg#define HasCookieMaker YES 56711d341caSmrg#define MkCookieCmd mcookie 56811d341caSmrg#endif 56911d341caSmrg 57011d341caSmrg#ifndef BourneShell 57111d341caSmrg/* 57211d341caSmrg * This will cause builds/installs to terminate on errors, as on other 57311d341caSmrg * platforms. 57411d341caSmrg */ 57511d341caSmrg#define BourneShell /bin/sh -e 57611d341caSmrg#endif 57711d341caSmrg 57811d341caSmrg#define MkdirHierCmd mkdir -p 57911d341caSmrg 58011d341caSmrg#ifndef HaveLib64 5811c80d5b0Smrg# if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture) || defined (AArch64Architecture) 58211d341caSmrg# define HaveLib64 YES 58311d341caSmrg# else 58411d341caSmrg# define HaveLib64 NO 58511d341caSmrg# endif 58611d341caSmrg#endif 58711d341caSmrg 58811d341caSmrg#if UseElfFormat 58911d341caSmrg# ifndef DoLoadableServer 59011d341caSmrg# if defined(MipsArchitecture) || defined(SuperHArchitecture) 59111d341caSmrg# define DoLoadableServer NO 59211d341caSmrg# else 59311d341caSmrg# define DoLoadableServer YES 59411d341caSmrg# endif 59511d341caSmrg# endif 59611d341caSmrg#endif 59711d341caSmrg 59811d341caSmrg 59911d341caSmrg#if LinuxElfDefault 60011d341caSmrg# if UseElfFormat 60111d341caSmrg# ifdef MipsArchitecture 60211d341caSmrg# ifndef AsCmd 60311d341caSmrg# define AsCmd gcc -c -x assembler-with-cpp 60411d341caSmrg# endif 60511d341caSmrg# ifndef MakeDllModules 60611d341caSmrg# define MakeDllModules YES 60711d341caSmrg# endif 60811d341caSmrg# endif /* MipsArchitecure */ 60911d341caSmrg# if defined (i386Architecture) && ((GccMajorVersion >3) \ 61011d341caSmrg || ((GccMajorVersion == 3) && (GccMinorVersion >= 1))) 61111d341caSmrg# ifndef CcCmd 61211d341caSmrg# define CcCmd gcc -m32 61311d341caSmrg# endif 61411d341caSmrg# ifndef CplusplusCmd 61511d341caSmrg# define CplusplusCmd c++ -m32 61611d341caSmrg# endif 61711d341caSmrg# endif 61811d341caSmrg# if defined (Ppc64Architecture) 61911d341caSmrg# ifndef CcCmd 62011d341caSmrg# define CcCmd gcc -m64 62111d341caSmrg# endif 62211d341caSmrg# ifndef CplusplusCmd 62311d341caSmrg# define CplusplusCmd c++ -m64 62411d341caSmrg# endif 62511d341caSmrg# endif 62611d341caSmrg# ifndef CcCmd 62711d341caSmrg# define CcCmd gcc 62811d341caSmrg# define CplusplusCmd c++ 62911d341caSmrg# endif 63011d341caSmrg# ifndef AsCmd 63111d341caSmrg# define AsCmd CcCmd -c -x assembler 63211d341caSmrg# endif 63311d341caSmrg# define AsmDefines -D__ELF__ 63411d341caSmrg# ifndef LdCmd 63511d341caSmrg# define LdCmd CcCmd -nostdlib 63611d341caSmrg# endif 63711d341caSmrg# ifndef LinuxUsesNcurses 63811d341caSmrg# if LinuxCLibMajorVersion >= 6 || (LinuxDistribution == LinuxSuSE) 63911d341caSmrg# define LinuxUsesNcurses YES 64011d341caSmrg# else 64111d341caSmrg# define LinuxUsesNcurses NO 64211d341caSmrg# endif 64311d341caSmrg# endif 64411d341caSmrg# ifndef TermcapLibrary 64511d341caSmrg# if UseStaticTermcapLib 64611d341caSmrg# if LinuxUsesNcurses 64711d341caSmrg# if !HaveLib64 64811d341caSmrg# define TermcapLibrary StaticLibrary(/usr/lib,ncurses) 64911d341caSmrg# else 65011d341caSmrg# define TermcapLibrary StaticLibrary(/usr/lib64,ncurses) 65111d341caSmrg# endif 65211d341caSmrg# else 65311d341caSmrg# if !HaveLib64 65411d341caSmrg# define TermcapLibrary StaticLibrary(/usr/lib/termcap,termcap) 65511d341caSmrg# else 65611d341caSmrg# define TermcapLibrary StaticLibrary(/usr/lib64/termcap,termcap) 65711d341caSmrg# endif 65811d341caSmrg# endif 65911d341caSmrg# else 66011d341caSmrg# if LinuxUsesNcurses 66111d341caSmrg# define TermcapLibrary -lncurses 66211d341caSmrg# else 66311d341caSmrg# define TermcapLibrary -ltermcap 66411d341caSmrg# endif 66511d341caSmrg# endif 66611d341caSmrg# endif 66711d341caSmrg# else /* UseElfFormat */ 66811d341caSmrg# ifdef AlphaArchitecture 66911d341caSmrg# define CcCmd gcc -b alpha-linuxecoff 67011d341caSmrg# define CplusplusCmd g++ -b alpha-linuxecoff 67111d341caSmrg# define AsCmd CcCmd -c -x assembler 67211d341caSmrg# define LdCmd CcCmd -nostdlib -Wl,"-m alpha" 67311d341caSmrg# define AsmDefines -DUSE_GAS -U__ELF__ 67411d341caSmrg# endif /* AlphaArchitecture */ 67511d341caSmrg# ifdef HPArchitecture 67611d341caSmrg# define CcCmd gcc 67711d341caSmrg# define CplusplusCmd g++ 67811d341caSmrg# define AsCmd CcCmd -c -x assembler 67911d341caSmrg# define LdCmd CcCmd -nostdlib 68011d341caSmrg# define AsmDefines -DUSE_GAS -U__ELF__ 68111d341caSmrg# endif /* HPArchitecture */ 68211d341caSmrg# ifdef i386Architecture 68311d341caSmrg# define CcCmd gcc -b i486-linuxaout 68411d341caSmrg# define CplusplusCmd g++ -b i486-linuxaout 68511d341caSmrg# define AsCmd CcCmd -c -x assembler 68611d341caSmrg# define LdCmd CcCmd -nostdlib -Wl,"-m i386linux" 68711d341caSmrg# define AsmDefines -DUSE_GAS -U__ELF__ 68811d341caSmrg# endif /* i386Architecture */ 68911d341caSmrg# ifdef ia64Architecture 69011d341caSmrg# define CcCmd gcc 69111d341caSmrg# define CplusplusCmd g++ 69211d341caSmrg# define AsCmd CcCmd -c -x assembler 69311d341caSmrg# define LdCmd CcCmd -nostdlib 69411d341caSmrg# define AsmDefines -DUSE_GAS -U__ELF__ 69511d341caSmrg# endif /* ia64Architecture */ 69611d341caSmrg# ifdef Mc68020Architecture 69711d341caSmrg# define CcCmd gcc -b m68k-linuxaout 69811d341caSmrg# define CplusplusCmd g++ -b m68k-linuxaout 69911d341caSmrg# define AsCmd CcCmd -c -x assembler 70011d341caSmrg# define LdCmd CcCmd -nostdlib -Wl,"-m m68klinux" 70111d341caSmrg# define AsmDefines -DUSE_GAS -U__ELF__ 70211d341caSmrg# endif /* Mc68020Architecture */ 70311d341caSmrg# ifdef AMD64Architecture 70411d341caSmrg# define CcCmd gcc 70511d341caSmrg# define CplusplusCmd g++ 70611d341caSmrg# define AsCmd CcCmd -c -x assembler 70711d341caSmrg# define LdCmd CcCmd -nostdlib 70811d341caSmrg# define AsmDefines -DUSE_GAS -U__ELF__ 70911d341caSmrg# endif /* AMD64Architecture */ 71011d341caSmrg# endif /* UseElfFormat */ 71111d341caSmrg#else 71211d341caSmrg# if UseElfFormat 71311d341caSmrg# ifdef AlphaArchitecture 71411d341caSmrg# define CcCmd gcc -b alpha-linux 71511d341caSmrg# define AsCmd CcCmd -c -x assembler 71611d341caSmrg# define LdCmd CcCmd -nostdlib -Wl,"-m elf64alpha" 71711d341caSmrg# define AsmDefines -D__ELF__ 71811d341caSmrg# define CplusplusCmd c++ -b alpha-linux 71911d341caSmrg# endif /* AlphaArchitecture */ 72011d341caSmrg# ifdef HPArchitecture 72111d341caSmrg# define CcCmd gcc 72211d341caSmrg# define CplusplusCmd g++ 72311d341caSmrg# define AsCmd CcCmd -c -x assembler 72411d341caSmrg# define LdCmd CcCmd -nostdlib 72511d341caSmrg# define AsmDefines -D__ELF__ 72611d341caSmrg# define SharedLibXau YES 72711d341caSmrg# endif /* HPArchitecture */ 72811d341caSmrg# ifdef i386Architecture 72911d341caSmrg# define CcCmd gcc -b i486-linux 73011d341caSmrg# define AsCmd CcCmd -c -x assembler 73111d341caSmrg# define LdCmd CcCmd -nosdlib -Wl,"-m elf_i386" 73211d341caSmrg# define AsmDefines -D__ELF__ 73311d341caSmrg# define CplusplusCmd c++ -b i486-linux 73411d341caSmrg# endif /* i386Architecture */ 73511d341caSmrg# ifdef ia64Architecture 73611d341caSmrg# define CcCmd gcc 73711d341caSmrg# define CplusplusCmd g++ 73811d341caSmrg# define AsCmd CcCmd -c -x assembler 73911d341caSmrg# define LdCmd CcCmd -nostdlib 74011d341caSmrg# define AsmDefines -D__ELF__ 74111d341caSmrg# endif /* ia64Architecture */ 74211d341caSmrg# ifdef Mc68020Architecture 74311d341caSmrg# define CcCmd gcc -b m68k-linux 74411d341caSmrg# define AsCmd CcCmd -c -x assembler 74511d341caSmrg# define LdCmd CcCmd -nostdlib -W,l"-m m68kelf" 74611d341caSmrg# define AsmDefines -D__ELF__ 74711d341caSmrg# define CplusplusCmd c++ -b m68k-linux 74811d341caSmrg# endif /* Mc68020Architecture */ 74911d341caSmrg# ifdef AMD64Architecture 75011d341caSmrg# define CcCmd gcc 75111d341caSmrg# define CplusplusCmd g++ 75211d341caSmrg# define AsCmd CcCmd -c -x assembler 75311d341caSmrg# define LdCmd CcCmd -nostdlib 75411d341caSmrg# define AsmDefines -D__ELF__ 75511d341caSmrg# endif /* AMD64Architecture */ 75611d341caSmrg# else 75711d341caSmrg# define CcCmd gcc 75811d341caSmrg# define AsCmd CcCmd -c -x assembler 75911d341caSmrg# define LdCmd CcCmd -nostdlib 76011d341caSmrg# define AsmDefines -DUSE_GAS 76111d341caSmrg# endif 76211d341caSmrg#endif 76311d341caSmrg 76411d341caSmrg/* 76511d341caSmrg * Some older distros still need /lib/cpp. There's probably a better 76611d341caSmrg * test, but this handles the older Red Hat releases at least. 76711d341caSmrg */ 76811d341caSmrg#ifndef CppCmd 76911d341caSmrg# if (LinuxDistribution == LinuxRedHat) && \ 77011d341caSmrg ((LinuxCLibMajorVersion < 6) || \ 77111d341caSmrg (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 1)) 77211d341caSmrg# define CppCmd /lib/cpp 77311d341caSmrg# else 77411d341caSmrg# define CppCmd cpp 77511d341caSmrg# endif 77611d341caSmrg#endif 77711d341caSmrg 77811d341caSmrg/* Some Linux distributions have yacc, some don't. All have bison. */ 77911d341caSmrg#define YaccCmd bison -y 78011d341caSmrg#define LexCmd flex -l 78111d341caSmrg#define HasFlex YES 78211d341caSmrg#define LexLib -lfl 78311d341caSmrg#define PreProcessCmd CcCmd -E 78411d341caSmrg#define PostIncDir DefaultGccIncludeDir 78511d341caSmrg#define LdCombineFlags -r 78611d341caSmrg#ifndef LdPostLib 78711d341caSmrg# define LdPostLib /* Never needed */ 78811d341caSmrg#endif 78911d341caSmrg#define HasWChar32 YES 79011d341caSmrg#define StandardCppOptions -traditional 79111d341caSmrg#define StandardCppDefines StandardDefines 79211d341caSmrg 79311d341caSmrg#define HasVarRun YES 79411d341caSmrg#ifndef VarDbDirectory 79511d341caSmrg# define VarDbDirectory $(VARDIR)/lib 79611d341caSmrg#endif 79711d341caSmrg 79811d341caSmrg#ifndef XF86OSCardDrivers 79911d341caSmrg# ifdef __linux__ 80011d341caSmrg# define XF86OSCardDrivers fbdev v4l sisusb 80111d341caSmrg# else 80211d341caSmrg# define XF86OSCardDrivers /**/ 80311d341caSmrg# endif 80411d341caSmrg#endif 80511d341caSmrg 80611d341caSmrg#ifndef OSXInputDrivers 80711d341caSmrg# if HasLinuxJoystick 80811d341caSmrg# define OSXInputDrivers1 ur98 80911d341caSmrg# else 81011d341caSmrg# define OSXInputDrivers1 /**/ 81111d341caSmrg# endif 81211d341caSmrg# if HasLinuxInput 81311d341caSmrg# define OSXInputDrivers2 aiptek evdev 81411d341caSmrg# else 81511d341caSmrg# define OSXInputDrivers2 /**/ 81611d341caSmrg# endif 81711d341caSmrg# define OSXInputDrivers OSXInputDrivers1 OSXInputDrivers2 81811d341caSmrg#endif 81911d341caSmrg 82011d341caSmrg#if UseElfFormat 82111d341caSmrg# define HasPlugin YES 82211d341caSmrg# define VendorHasX11R6_3libXext YES /* XC or XFree86 >= 3.3.1 */ 82311d341caSmrg#endif 82411d341caSmrg 82511d341caSmrg#ifdef AlphaArchitecture 82611d341caSmrg# ifndef OptimizedCDebugFlags 82711d341caSmrg# define OptimizedCDebugFlags DefaultGcc2AxpOpt 82811d341caSmrg# endif 82911d341caSmrg# define LinuxMachineDefines -D__alpha__ 83011d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 83111d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 -DJENSEN_SUPPORT 83211d341caSmrg# ifdef UseCompaqMathLibrary 83311d341caSmrg# define MathLibrary -lcpml -lm 83411d341caSmrg# endif 83511d341caSmrg#endif /* AlphaArchitecture */ 83611d341caSmrg 83711d341caSmrg#ifdef Arm32Architecture 83811d341caSmrg# define DefaultCCOptions 83911d341caSmrg# ifndef OptimizedCDebugFlags 84011d341caSmrg# define OptimizedCDebugFlags -O3 84111d341caSmrg# endif 84211d341caSmrg# define LinuxMachineDefines -D__arm__ -D__arm32__ -U__arm -Uarm 84311d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 84411d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 84511d341caSmrg#endif /* Arm32Achitecture */ 84611d341caSmrg 84711d341caSmrg#ifdef HPArchitecture 84811d341caSmrg# define OptimizedCDebugFlags -O2 GccAliasingArgs 84911d341caSmrg# define LinuxMachineDefines -D__hppa__ 85011d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 85111d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 85211d341caSmrg#endif 85311d341caSmrg 85411d341caSmrg#ifdef i386Architecture 85511d341caSmrg# ifndef OptimizedCDebugFlags 85611d341caSmrg# define OptimizedCDebugFlags DefaultGcc2i386Opt 85711d341caSmrg# endif 85811d341caSmrg# define LinuxMachineDefines -D__i386__ 85911d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 86011d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 86111d341caSmrg#endif /* i386Architecture */ 86211d341caSmrg 86311d341caSmrg#ifdef ia64Architecture 86411d341caSmrg# ifndef OptimizedCDebugFlags 86511d341caSmrg# define OptimizedCDebugFlags -O2 GccAliasingArgs 86611d341caSmrg# endif 86711d341caSmrg# define LinuxMachineDefines -D__ia64__ 86811d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 86911d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 87011d341caSmrg#endif /* ia64Architecture */ 87111d341caSmrg 87211d341caSmrg#ifdef Mc68020Architecture 87311d341caSmrg# ifndef OptimizedCDebugFlags 87411d341caSmrg# define OptimizedCDebugFlags -O2 GccAliasingArgs 87511d341caSmrg# endif 87611d341caSmrg# define LinuxMachineDefines -D__mc68000__ 87711d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 87811d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 87911d341caSmrg#endif /* Mc68020Architecture */ 88011d341caSmrg 88111d341caSmrg#ifdef MipsArchitecture 88211d341caSmrg# ifndef OptimizedCDebugFlags 88311d341caSmrg# define OptimizedCDebugFlags DefaultGcc2MipsOpt 88411d341caSmrg# endif 88511d341caSmrg# define LinuxMachineDefines -D__mips__ 88611d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 88711d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 88811d341caSmrg#endif 88911d341caSmrg 89011d341caSmrg#ifdef Ppc64Architecture 89111d341caSmrg# define DefaultCCOptions -mminimal-toc 89211d341caSmrg# ifndef OptimizedCDebugFlags 89311d341caSmrg# define OptimizedCDebugFlags DefaultGcc2Ppc64Opt 89411d341caSmrg# endif 89511d341caSmrg# define LinuxMachineDefines -D__powerpc64__ -D__powerpc__ 89611d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET 89711d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 89811d341caSmrg#endif /* Ppc64Architecture */ 89911d341caSmrg 90011d341caSmrg#ifdef PpcArchitecture 9011c80d5b0Smrg# define DefaultCCOptions 90211d341caSmrg# ifndef OptimizedCDebugFlags 90311d341caSmrg# define OptimizedCDebugFlags DefaultGcc2PpcOpt 90411d341caSmrg# endif 90511d341caSmrg# define LinuxMachineDefines -D__powerpc__ 90611d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 90711d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 90811d341caSmrg#endif /* PpcArchitecture */ 90911d341caSmrg 91011d341caSmrg#ifdef s390Architecture 91111d341caSmrg# ifndef OptimizedCDebugFlags 91211d341caSmrg# define OptimizedCDebugFlags -O2 -fomit-frame-pointer GccAliasingArgs 91311d341caSmrg# endif 91411d341caSmrg# define LinuxMachineDefines -D__s390__ 91511d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 91611d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 91711d341caSmrg#endif /* s390Architecture */ 91811d341caSmrg 91911d341caSmrg#ifdef s390xArchitecture 92011d341caSmrg/*#define DefaultCCOptions -fsigned-char */ 92111d341caSmrg#define OptimizedCDebugFlags -O3 -fomit-frame-pointer 92211d341caSmrg#define LinuxMachineDefines -D__s390x__ 92311d341caSmrg#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 92411d341caSmrg#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 92511d341caSmrg#endif /* s390xArchitecture */ 92611d341caSmrg 92711d341caSmrg#ifdef SparcArchitecture 92811d341caSmrg# ifndef OptimizedCDebugFlags 92911d341caSmrg# define OptimizedCDebugFlags -O2 GccAliasingArgs 93011d341caSmrg# endif 93111d341caSmrg# define LinuxMachineDefines -D__sparc__ 93211d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 93311d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 93411d341caSmrg# define AsVISOption -Av9a 93511d341caSmrg# ifdef Sparc64Architecture 93611d341caSmrg# define AsOutputArchSize 64 93711d341caSmrg# else 93811d341caSmrg# define AsOutputArchSize 32 93911d341caSmrg# endif 94011d341caSmrg#endif 94111d341caSmrg 94211d341caSmrg#ifdef SuperHArchitecture 94311d341caSmrg# ifndef SuperHArchOptFlags 94411d341caSmrg# ifdef SuperH4Architecture 94511d341caSmrg# define SuperHArchOptFlags -m4 94611d341caSmrg# elif defined(SuperH4NOFPUArchitecture) 94711d341caSmrg# define SuperHArchOptFlags -m4-nofpu 94811d341caSmrg# else 94911d341caSmrg# define SuperHArchOptFlags -m3 95011d341caSmrg# endif 9511c80d5b0Smrg# endif 95211d341caSmrg# ifndef SuperHebArchitecture 95311d341caSmrg# ifdef SuperHebArchitecture 95411d341caSmrg# define SuperHEndianFlags -mb 95511d341caSmrg# else 95611d341caSmrg# define SuperHEndianFlags -ml 95711d341caSmrg# endif 95811d341caSmrg# endif 95911d341caSmrg# ifndef OptimizedCDebugFlags 96011d341caSmrg# define OptimizedCDebugFlags -O2 SuperHArchOptFlags SuperHEndianFlags GccAliasingArgs 96111d341caSmrg# endif 96211d341caSmrg# define LinuxMachineDefines -D__sh__ 96311d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 96411d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 96511d341caSmrg# ifndef DoLoadableServer 96611d341caSmrg# define DoLoadableServer NO 96711d341caSmrg# endif 96811d341caSmrg#endif 96911d341caSmrg 97011d341caSmrg#ifdef AMD64Architecture 97111d341caSmrg# ifndef OptimizedCDebugFlags 97211d341caSmrg# define OptimizedCDebugFlags DefaultGcc2AMD64Opt 97311d341caSmrg# endif 97411d341caSmrg# define LinuxMachineDefines -D__amd64__ 97511d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 97611d341caSmrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 97711d341caSmrg#endif /* AMD64Architecture */ 97811d341caSmrg 9791c80d5b0Smrg#ifdef AArch64Architecture 9801c80d5b0Smrg# ifndef OptimizedCDebugFlags 9811c80d5b0Smrg# define OptimizedCDebugFlags DefaultGcc2AArch64Opt 9821c80d5b0Smrg# endif 9831c80d5b0Smrg# define LinuxMachineDefines -D__aarch64__ 9841c80d5b0Smrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 9851c80d5b0Smrg# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 9861c80d5b0Smrg#endif /* AArch64Architecture */ 9871c80d5b0Smrg 98811d341caSmrg#ifndef StandardDefines 98911d341caSmrg# ifdef __linux__ 99011d341caSmrg# define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines 99111d341caSmrg# else 99211d341caSmrg# define StandardDefines LinuxMachineDefines LinuxSourceDefines 99311d341caSmrg# endif 99411d341caSmrg#endif 99511d341caSmrg 99611d341caSmrg#if UseElfFormat 99711d341caSmrg# define DlLibrary -rdynamic -ldl 99811d341caSmrg#else 99911d341caSmrg# define DlLibrary /**/ 100011d341caSmrg#endif 100111d341caSmrg 100211d341caSmrg#define ServerExtraSysLibs /**/ 100311d341caSmrg 100411d341caSmrg#ifndef PamLibraries 100511d341caSmrg#define PamLibraries -lpam DlLibrary 100611d341caSmrg#endif 100711d341caSmrg 100811d341caSmrg#ifndef PamMiscLibraries 100911d341caSmrg#define PamMiscLibraries -lpam_misc 101011d341caSmrg#endif 101111d341caSmrg 101211d341caSmrg#ifndef HasDECnet 101311d341caSmrg#define HasDECnet NO 101411d341caSmrg#endif 101511d341caSmrg#if HasDECnet 101611d341caSmrg# define ConnectionFlags -DUNIXCONN -DTCPCONN -DDNETCONN 101711d341caSmrg# define ExtraLibraries -ldnet 101811d341caSmrg#else 101911d341caSmrg# define ConnectionFlags -DUNIXCONN -DTCPCONN 102011d341caSmrg#endif 102111d341caSmrg 102211d341caSmrg/* Some of these man page defaults are overriden in the above OS sections */ 102311d341caSmrg#ifndef ManSuffix 102411d341caSmrg# define ManSuffix 1x 102511d341caSmrg#endif 102611d341caSmrg#ifndef ManDir 102711d341caSmrg# define ManDir $(MANSOURCEPATH)1 102811d341caSmrg#endif 102911d341caSmrg#ifndef LibManSuffix 103011d341caSmrg# define LibManSuffix 3x 103111d341caSmrg#endif 103211d341caSmrg#ifndef LibmanDir 103311d341caSmrg# define LibmanDir $(MANSOURCEPATH)3 103411d341caSmrg#endif 103511d341caSmrg#ifndef FileManSuffix 103611d341caSmrg# define FileManSuffix 5x 103711d341caSmrg#endif 103811d341caSmrg#ifndef FileManDir 103911d341caSmrg# define FileManDir $(MANSOURCEPATH)5 104011d341caSmrg#endif 104111d341caSmrg 104211d341caSmrg#ifndef StaticLibrary 104311d341caSmrg# define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic 104411d341caSmrg#endif 104511d341caSmrg 104611d341caSmrg#ifndef LinkGLToUsrLib 104711d341caSmrg# define LinkGLToUsrLib YES 104811d341caSmrg#endif 104911d341caSmrg# ifndef LinkGLToUsrInclude 105011d341caSmrg# define LinkGLToUsrInclude YES 105111d341caSmrg#endif 105211d341caSmrg 105311d341caSmrg 105411d341caSmrg#define HasGnuMake YES 105511d341caSmrg 105611d341caSmrg#define MakeNamedTargetSubdir(dir,flags,subname)\ 105711d341caSmrg $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname 105811d341caSmrg 105911d341caSmrg#define ArchitectureDefines -DLINUX_ARCHITECTURE 106011d341caSmrg 106111d341caSmrg#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB) 106211d341caSmrg#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB) 106311d341caSmrg 106411d341caSmrg#if HaveLib64 106511d341caSmrg# ifndef LibDirName 106611d341caSmrg# define LibDirName lib64 106711d341caSmrg# endif 106811d341caSmrg# ifndef SystemUsrLibDir 106911d341caSmrg# define SystemUsrLibDir /usr/lib64 107011d341caSmrg# endif 107111d341caSmrg# ifndef TkLibDir 107211d341caSmrg# define TkLibDir /usr/lib64 107311d341caSmrg# endif 107411d341caSmrg#endif 107511d341caSmrg 107611d341caSmrg#ifndef BuildDmx 107711d341caSmrg#define BuildDmx YES 107811d341caSmrg#endif 107911d341caSmrg 108011d341caSmrg#include <lnxLib.rules> 108111d341caSmrg# include <xorg.cf> 108211d341caSmrg 108311d341caSmrg#ifndef XFree86ServerOSDefines 108411d341caSmrg# define XFree86ServerOSDefines 108511d341caSmrg#endif 1086