1077 lines
29 KiB
CFEngine3
1077 lines
29 KiB
CFEngine3
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
|