1017 lines
28 KiB
CFEngine3
1017 lines
28 KiB
CFEngine3
XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.235 2005/02/09 19:49:09 dawes Exp $
|
|
|
|
/*
|
|
* Copyright (c) 1994-2004 by The XFree86 Project, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining
|
|
* a copy of this software and associated documentation files (the
|
|
* "Software"), to deal in the Software without restriction, including
|
|
* without limitation the rights to use, copy, modify, merge, publish,
|
|
* distribute, sublicense, and/or sell copies of the Software, and to
|
|
* permit persons to whom the Software is furnished to do so, subject
|
|
* to the following conditions:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions, and the following disclaimer.
|
|
*
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer
|
|
* in the documentation and/or other materials provided with the
|
|
* distribution, and in the same place and form as other copyright,
|
|
* license and disclaimer information.
|
|
*
|
|
* 3. The end-user documentation included with the redistribution,
|
|
* if any, must include the following acknowledgment: "This product
|
|
* includes software developed by The XFree86 Project, Inc
|
|
* (http://www.xfree86.org/) and its contributors", in the same
|
|
* place and form as other third-party acknowledgments. Alternately,
|
|
* this acknowledgment may appear in the software itself, in the
|
|
* same form and location as other such third-party acknowledgments.
|
|
*
|
|
* 4. Except as contained in this notice, the name of The XFree86
|
|
* Project, Inc shall not be used in advertising or otherwise to
|
|
* promote the sale, use or other dealings in this Software without
|
|
* prior written authorization from The XFree86 Project, Inc.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
* IN NO EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE
|
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
|
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
|
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
|
|
#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 LinuxBinUtilsMajorVersion
|
|
# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion
|
|
#endif
|
|
|
|
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
|
|
XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
|
|
XCOMM binutils: (LinuxBinUtilsMajorVersion)
|
|
|
|
#if LinuxDistribution == LinuxDebian
|
|
# define SystemManDirectory /usr/share/man
|
|
# define HasPam YES
|
|
/* un-comment this when it is un-broken */
|
|
/* # define JoystickSupport YES */
|
|
# 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 */
|
|
# define SharedLibXdmGreet NO
|
|
# define LinkGLToUsrInclude NO
|
|
# define LinkGLToUsrLib NO
|
|
# define SharedLibFont NO
|
|
# define SharedLibGlu YES
|
|
# define NormalLibGlu YES
|
|
# define FSUseSyslog YES
|
|
|
|
# define DriverManSuffix 4x
|
|
# define DriverManDir $(MANSOURCEPATH)4
|
|
|
|
# define MiscManSuffix 7x
|
|
# define MiscManDir $(MANSOURCEPATH)7
|
|
|
|
#endif /* LinuxDebian */
|
|
|
|
#if LinuxDistribution == LinuxRedHat
|
|
#define FSUseSyslog YES
|
|
#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 \
|
|
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 OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)
|
|
# define HasLinuxInput YES
|
|
# else
|
|
# define HasLinuxInput NO
|
|
# endif
|
|
#endif
|
|
|
|
/* <linux/joystick.h> appeared in 2.1.45 (officially) */
|
|
#ifndef JoystickSupport
|
|
# define JoystickSupport NO /* joystick driver is broken */
|
|
#endif
|
|
#ifndef HasLinuxSupport
|
|
# if 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 (i386Architecture)
|
|
# define XF86INT10_BUILD X86VM
|
|
# elif defined (AMD64Architecture)
|
|
# define XF86INT10_BUILD X86EMU_OS
|
|
# else
|
|
# define XF86INT10_BUILD X86EMU_GENERIC
|
|
# 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 NO
|
|
# elif defined(i386Architecture)
|
|
# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2)
|
|
# 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(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.
|
|
*/
|
|
#if BuildXF86DRI
|
|
# if defined(i386Architecture)
|
|
# define BuildLibGlxWithoutPIC YES
|
|
# 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
|
|
|
|
#ifndef LinuxFBDevSupport
|
|
# define LinuxFBDevSupport YES
|
|
#endif
|
|
|
|
/*
|
|
* Defaults for the TinyX servers on Linux.
|
|
*/
|
|
#ifndef HaveTinyXSupport
|
|
# if defined(i386Architecture)
|
|
# define HaveTinyXSupport YES
|
|
# else
|
|
# define HaveTinyXSupport NO
|
|
# endif
|
|
#endif
|
|
#ifndef HaveTinyXVBESupport
|
|
# if defined(i386Architecture)
|
|
# define HaveTinyXVBESupport YES
|
|
# else
|
|
# define HaveTinyXVBESupport NO
|
|
# endif
|
|
#endif
|
|
#ifndef HaveTinyXFbdevSupport
|
|
# define HaveTinyXFbdevSupport LinuxFBDevSupport
|
|
#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
|
|
#define HasShm YES
|
|
#define HasSockets YES
|
|
/* The semantics of snprintf() in libc version 5 are different. */
|
|
#if (UseElfFormat && LinuxCLibMajorVersion >= 6) || defined(AlphaArchitecture)
|
|
#ifndef HasSnprintf
|
|
#define HasSnprintf YES
|
|
#endif
|
|
#ifndef HasAsprintf
|
|
#define HasAsprintf YES
|
|
#endif
|
|
#endif
|
|
#if UseElfFormat || defined(AlphaArchitecture)
|
|
#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
|
|
|
|
#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)
|
|
# define HaveLib64 YES
|
|
# else
|
|
# define HaveLib64 NO
|
|
# endif
|
|
#endif
|
|
|
|
#if UseElfFormat
|
|
# ifndef DoLoadableServer
|
|
# if defined(HPArchitecture) || 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
|
|
# 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
|
|
# 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
|
|
|
|
#if UseElfFormat
|
|
# ifndef DoLoadableServer
|
|
# ifdef HPArchitecture
|
|
# define DoLoadableServer NO
|
|
# else
|
|
# define DoLoadableServer YES
|
|
# endif
|
|
# 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
|
|
# define XF86OSCardDrivers v4l
|
|
#endif
|
|
|
|
#ifndef OSXInputDrivers
|
|
# if HasLinuxJoystick
|
|
# define OSXInputDrivers1 ur98
|
|
# else
|
|
# define OSXInputDrivers1 /**/
|
|
# endif
|
|
# if HasLinuxInput
|
|
# define OSXInputDrivers2 aiptek eloinput
|
|
# 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
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 -DJENSEN_SUPPORT
|
|
# ifdef UseCompaqMathLibrary
|
|
# define MathLibrary -lcpml -lm
|
|
# endif
|
|
#endif /* AlphaArchitecture */
|
|
|
|
#ifdef Arm32Architecture
|
|
# define DefaultCCOptions -fsigned-char
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags -O3 GccAliasingArgs
|
|
# endif
|
|
# define LinuxMachineDefines -D__arm__ -D__arm32__ -U__arm -Uarm
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
|
#endif /* Arm32Achitecture */
|
|
|
|
#ifdef HPArchitecture
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags -O2 GccAliasingArgs
|
|
# endif
|
|
# define LinuxMachineDefines -D__hppa__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
|
#endif
|
|
|
|
#ifdef i386Architecture
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
|
# endif
|
|
# define LinuxMachineDefines -D__i386__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
|
#endif /* i386Architecture */
|
|
|
|
#ifdef ia64Architecture
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags -O2 GccAliasingArgs
|
|
# endif
|
|
# define LinuxMachineDefines -D__ia64__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
|
|
#endif /* ia64Architecture */
|
|
|
|
#ifdef Mc68020Architecture
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags -O2 GccAliasingArgs
|
|
# endif
|
|
# define LinuxMachineDefines -D__mc68000__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
|
#endif /* Mc68020Architecture */
|
|
|
|
#ifdef MipsArchitecture
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags -O2 GccAliasingArgs
|
|
# endif
|
|
# define LinuxMachineDefines -D__mips__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
|
#endif
|
|
|
|
#ifdef PpcArchitecture
|
|
# define DefaultCCOptions -fsigned-char
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags DefaultGcc2PpcOpt
|
|
# endif
|
|
# define LinuxMachineDefines -D__powerpc__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# 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
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
|
#endif /* s390Architecture */
|
|
|
|
#ifdef s390xArchitecture
|
|
/*#define DefaultCCOptions -fsigned-char */
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags -O3 -fomit-frame-pointer
|
|
# endif
|
|
# define LinuxMachineDefines -D__s390x__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
|
|
#endif /* s390xArchitecture */
|
|
|
|
#ifdef SparcArchitecture
|
|
# ifndef OptimizedCDebugFlags
|
|
# define OptimizedCDebugFlags DefaultGcc2SparcOpt
|
|
# endif
|
|
# define LinuxMachineDefines -D__sparc__
|
|
# define ServerOSDefines XFree86ServerOSDefines
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
|
# if UseElfFormat
|
|
# define AsVISOption -Av9a
|
|
# ifdef Sparc64Architecture
|
|
# define AsOutputArchSize 64
|
|
# else
|
|
# define AsOutputArchSize 32
|
|
# endif
|
|
# 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
|
|
# 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
|
|
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
|
|
#endif /* AMD64Architecture */
|
|
|
|
/* We never build these, on any architecture */
|
|
#undef XsunServer
|
|
#define XsunServer NO
|
|
#undef XsunMonoServer
|
|
#define XsunMonoServer NO
|
|
#undef Xsun24Server
|
|
#define Xsun24Server NO
|
|
|
|
#ifndef StandardDefines
|
|
# define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
|
|
#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
|
|
|
|
#include <lnxLib.rules>
|
|
#include <xfree86.cf>
|
|
|
|
#ifndef XFree86ServerOSDefines
|
|
# define XFree86ServerOSDefines
|
|
#endif
|