linux.cf revision b8df70be
1XCOMM $XdotOrg: xc/config/cf/linux.cf,v 1.24 2005/03/06 01:05:00 branden Exp $ 2XCOMM platform: $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ 3 4 5 6 7 8XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $ 9 10#ifndef LinuxElfDefault 11# define LinuxElfDefault YES 12#endif 13 14#ifndef UseElfFormat 15# define UseElfFormat LinuxElfDefault 16#endif 17 18#ifndef OSBinaryType 19# if UseElfFormat 20# define OSBinaryType [ELF] 21# else 22# ifdef AlphaArchitecture 23# define OSBinaryType [ECOFF] 24# else 25# define OSBinaryType [a.out] 26# endif 27# endif 28#endif 29 30#ifndef OSName 31# define OSName DefaultOSName OSBinaryType 32#endif 33 34#ifndef OSVendor 35# define OSVendor /**/ 36#endif 37#ifndef OSMajorVersion 38# define OSMajorVersion DefaultOSMajorVersion 39#endif 40#ifndef OSMinorVersion 41# define OSMinorVersion DefaultOSMinorVersion 42#endif 43#ifndef OSTeenyVersion 44# define OSTeenyVersion DefaultOSTeenyVersion 45#endif 46 47#ifndef LinuxDistribution 48# define LinuxDistribution DefaultLinuxDistribution 49/* 50 Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def. 51 Currently only LinuxSuSE, LinuxRedHat and LinuxDebian will be figured out 52 automatically. 53 Valid values are (from the list at www.linux.org in Oct. '97): 54 LinuxUnknown (0) 55 LinuxSuSE (1) 56 LinuxCaldera (2) 57 LinuxCraftworks (3) 58 LinuxDebian (4) 59 LinuxInfoMagic (5) 60 LinuxKheops (6) 61 LinuxPro (7) 62 LinuxRedHat (8) 63 LinuxSlackware (9) 64 LinuxTurbo (10) 65 LinuxWare (11) 66 LinuxYggdrasil (12) 67*/ 68#endif 69#ifndef LinuxDistName 70# define LinuxDistName DefaultLinuxDistName 71#endif 72#ifndef LinuxCLibMajorVersion 73# define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion 74#endif 75#ifndef LinuxCLibMinorVersion 76# define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion 77#endif 78#ifndef LinuxCLibTeenyVersion 79# define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion 80#endif 81 82#ifndef HasGhostScript 83# define HasGhostScript YES 84#endif 85#ifndef BuildPDFdocs 86# define BuildPDFdocs NO 87#endif 88 89#ifndef LinuxBinUtilsMajorVersion 90# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion 91#endif 92 93XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) 94XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion) 95XCOMM binutils: (LinuxBinUtilsMajorVersion) 96 97#if LinuxDistribution == LinuxDebian 98# if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot 99# define SystemManDirectory /usr/share/man 100# endif 101# define HasPam YES 102/* un-comment this when it is un-broken */ 103/* # define JoystickSupport YES */ 104# if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot 105# define XAppLoadDir EtcX11Directory/app-defaults 106# 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) 107/* the relative symlink created by this rule causes problems for us */ 108# if defined(InstallAppDefFiles) && InstallAppDefFiles 109# define InstallAppDefaultsLong(file,class) @@\ 110InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class) 111# else 112# define InstallAppDefaultsLong(file,class) @@\ 113InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class) 114# endif /* InstallAppDefFiles */ 115# endif /* !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot */ 116# define SharedLibXdmGreet NO 117# define LinkGLToUsrInclude NO 118# define LinkGLToUsrLib NO 119# define SharedLibFont NO 120# define SharedLibGlu YES 121# define NormalLibGlu YES 122# define FSUseSyslog YES 123 124# define BuildLibGlxWithoutPIC NO 125 126# define DriverManSuffix 4x 127# define DriverManDir $(MANSOURCEPATH)4 128 129# define MiscManSuffix 7x 130# define MiscManDir $(MANSOURCEPATH)7 131 132/* 133 * 134 * 135# define DebianMaintainer YES 136 * 137 * 138 */ 139 140# ifdef DebianMaintainer 141# ifndef XorgCustomVersion 142# define XorgCustomVersion "Debian" 143# endif 144# ifndef BuilderEMailAddr 145# define BuilderEMailAddr "debian-x@lists.debian.org" 146# endif 147# define XFree86Devel YES 148# define BuildAllSpecsDocs YES 149# define InstallXinitConfig YES 150# define InstallXdmConfig YES 151# define InstallFSConfig YES 152# define DebuggableLibraries YES 153# define ForceNormalLib YES 154# define BuildSpecsDocs YES 155# define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xv i18n xterm 156# define BuildRman NO 157# define BuildHtmlManPages NO 158 159/* we build-depend on libfreetype6-dev (FreeType 2.x) */ 160# define BuildFreetype2Library NO 161# define HasFreetype2 YES 162/* m68k has no 2.4 kernel yet */ 163# ifndef Mc68020Architecture 164# define HasLinuxInput YES 165# endif 166# define HasXdmAuth YES 167# define HasLatex YES 168/* at present, glide2 only works on i386 */ 169# if defined(__linux__) && defined(i386Architecture) 170# define HasGlide2 YES 171# define Glide2IncDir /usr/include/glide 172# endif /* __linux__ && i386Architecture */ 173/* at present, glide3 only works on alpha, amd64, i386 and ia64 */ 174# if defined(__linux__) && (defined(i386Architecture) || \ 175 defined(AlphaArchitecture) || defined(ia64Architecture) || \ 176 defined(AMD64Architecture)) 177# define HasGlide3 YES 178# define Glide3IncDir /usr/include/glide3 179# endif /* __linux__ && (i386Architecture || AlphaArchitecture || \ 180 ia64Architecture || AMD64Architecture) */ 181/* extended instruction set support */ 182# ifdef i386Architecture 183# define HasX86Support YES 184# define HasMMXSupport YES 185# define Has3DNowSupport YES 186/* 2.4 is not yet the official (or predominant) kernel in unstable */ 187# define HasSSESupport NO 188# endif /* i386Architecture */ 189# endif /* DebianMaintainer */ 190#endif /* LinuxDebian */ 191 192#if LinuxDistribution == LinuxRedHat 193# define FSUseSyslog YES 194# define BuildRman NO 195# define BuildHtmlManPages NO 196# define ProjectRoot /usr 197# define ManPath /usr/share/man 198# define XAppLoadDir /usr/share/X11/app-defaults 199# define ConfigDir /usr/share/X11/config 200#endif 201 202#ifndef HasDevRandom 203# define HasDevRandom YES 204# ifndef RandomDeviceName 205# define RandomDeviceName /dev/urandom 206# endif 207#endif 208 209/* 210 * The Linux BinUtils major version. 25 => 2.5.x, which is what is included 211 * with Slackware 3.0 212 * 213 * This remains for compatibility only. 214 * 215 */ 216#ifndef BinUtilsMajorVersion 217# define BinUtilsMajorVersion LinuxBinUtilsMajorVersion 218#endif 219 220#if (LinuxCLibMajorVersion >= 6 || LinuxDistribution == LinuxSuSE) 221# define LinuxLocaleDefines /**/ 222#else 223# define LinuxLocaleDefines -DX_LOCALE 224#endif 225 226#ifndef LinuxAdditionalIncludes 227# define LinuxAdditionalIncludes /**/ 228#endif 229 230#ifndef LinuxGnuSourceDefines 231# ifdef UseInstalled 232# define LinuxGnuSourceDefines /**/ 233# else 234# define LinuxGnuSourceDefines -D_GNU_SOURCE 235# endif 236#endif 237 238#if LinuxCLibMajorVersion >= 6 239# define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \ 240 -D_POSIX_SOURCE -D_XOPEN_SOURCE \ 241 -D_BSD_SOURCE -D_SVID_SOURCE \ 242 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ 243 LinuxAdditionalIncludes LinuxGnuSourceDefines \ 244 LinuxLocaleDefines 245# define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H 246# define HasPosixThreads YES 247# define ThreadedX YES 248# define HasThreadSafeAPI YES 249# define ThreadsLibraries -lpthread 250# define SystemMTDefines -D_REENTRANT 251# ifndef HasLibCrypt 252# define HasLibCrypt YES 253# endif 254/* netscape wraps select but not poll as of communicator 4.72 */ 255# ifndef HasPoll 256# define HasPoll NO 257# endif 258#else 259# define LinuxSourceDefines -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2 \ 260 -D_BSD_SOURCE -D_SVID_SOURCE \ 261 LinuxGnuSourceDefines LinuxLocaleDefines 262# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 263# ifndef HasLibCrypt 264# define HasLibCrypt NO 265# endif 266# ifndef HasBasename 267# define HasBasename NO 268# endif 269 /* Proliferation of C99isms makes -ansi unpalatable... */ 270# if !defined(DefaultCCOptions) && !defined(UseInstalled) && HasGcc 271# define DefaultCCOptions GccWarningOptions 272# endif 273#endif 274 275#ifndef InstallXloadSetGID 276#define InstallXloadSetGID NO 277#endif 278 279/* 280 * XXX Check which versions of Linux really have IPv6. glibc 2.0 on 281 * Red Hat 5.2 doesn't. 282 */ 283#if LinuxCLibMajorVersion < 6 || \ 284 (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion == 0) 285#define BuildIPv6 NO 286#endif 287 288/* <linux/input.h> support mainly for USB support */ 289#ifndef HasLinuxInput 290# if defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)) 291# define HasLinuxInput YES 292# else 293# define HasLinuxInput NO 294# endif 295#endif 296 297#ifndef JoystickSupport 298# define JoystickSupport NO /* joystick driver is broken */ 299#endif 300 301/* <linux/joystick.h> appeared in 2.1.45 (officially) */ 302#ifndef HasLinuxSupport 303# if defined(__linux__) && (JoystickSupport || \ 304 (OSMajorVersion > 2) || \ 305 ((OSMajorVersion == 2) && (OSMinorVersion > 1)) || \ 306 ((OSMajorVersion == 2) && (OSMinorVersion == 1) && (OSTeenyVersion >= 45))) 307# define HasLinuxJoystick YES 308# else 309# define HasLinuxJoystick NO 310# endif 311#endif 312 313/* Libtool on linux always uses minor numbers */ 314#define LibtoolMinorVersions YES 315 316/* On x86, determine whether to build with MTRR support */ 317#ifndef HasMTRRSupport 318# if defined (i386Architecture) || defined (AMD64Architecture) 319# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || \ 320 (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 99) 321# define HasMTRRSupport YES 322# else 323# define HasMTRRSupport NO 324# endif 325# else 326# define HasMTRRSupport NO /* no for non-ix86 */ 327# endif 328#endif 329 330#ifndef XF86INT10_BUILD 331# if defined(__linux__) && defined(i386Architecture) 332# define XF86INT10_BUILD X86VM 333# elif defined(__linux__) && defined(AMD64Architecture) 334# define XF86INT10_BUILD X86EMU_OS 335# else 336# define XF86INT10_BUILD X86EMU_GENERIC 337# endif 338#endif 339 340/* 341 * Let the OS restore console fonts instead of the generic VGA 342 * layer. This exists for Linux only at the moment so put it 343 * here. 344 */ 345#ifndef DoOSFontRestore 346# define DoOSFontRestore YES 347#endif 348 349/* Should we check the OS version to determine if the kernel supports it? */ 350#if DoOSFontRestore 351# ifndef FontRestoreCheckOsVersion 352# define FontRestoreCheckOsVersion YES 353# endif 354#endif 355 356/* The DRM module requires kernel services that appeared in late 2.1.x 357 kernels and are known to be present in 2.2.x kernels. */ 358#ifndef BuildXF86DRI 359# if defined(AlphaArchitecture) 360# define BuildXF86DRI YES 361# elif defined(Arm32Architecture) 362# define BuildXF86DRI NO 363# elif defined(HPArchitecture) 364# define BuildXF86DRI YES 365# elif defined(i386Architecture) 366# if (defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && \ 367 OSMinorVersion >= 2))) || \ 368 defined(__FreeBSD_kernel__) 369# define BuildXF86DRI YES 370# else 371# define BuildXF86DRI NO 372# endif 373# elif defined(ia64Architecture) 374# define BuildXF86DRI YES 375# elif defined(Mc68020Architecture) 376# define BuildXF86DRI NO 377# elif defined(MipsArchitecture) 378# define BuildXF86DRI NO 379# elif defined(PpcArchitecture) 380# define BuildXF86DRI YES 381# elif defined(Ppc64Architecture) 382# define BuildXF86DRI NO 383# elif defined(s390Architecture) || defined(s390xArchitecture) 384# define BuildXF86DRI NO 385# elif defined(SparcArchitecture) 386# define BuildXF86DRI YES 387# elif defined(SuperHArchitecture) 388# define BuildXF86DRI NO 389# elif defined(AMD64Architecture) 390# define BuildXF86DRI YES 391# else 392# define BuildXF86DRI NO 393# endif 394#endif 395 396/* 397 * Build shared libGL and the DRI modules without -fPIC on some architectures. 398 * This improves performance. 399 */ 400#ifndef BuildLibGlxWithoutPIC 401# if BuildXF86DRI 402# if defined(i386Architecture) 403# define BuildLibGlxWithoutPIC YES 404# endif 405# endif 406#endif 407 408#ifndef HasAgpGart 409# if defined(i386Architecture) || defined(ia64Architecture) || defined(AMD64Architecture) 410 /* The AGPGART header file is included in os-support/linux, which 411 allows all drivers that depend on AGP to build properly. */ 412# define HasAgpGart YES 413# else 414# define HasAgpGart NO 415# endif 416#endif 417 418/* 419 * Support for Intel's SSE Native Instructions, also known as the 420 * Streaming SIMD Extensions, was introduced in the 2.4.x kernels. 421 */ 422#ifndef HasSSESupport 423# if defined(i386Architecture) 424# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4) 425# define HasSSESupport YES 426# else 427# define HasSSESupport NO 428# endif 429# else 430# define HasSSESupport NO 431# endif 432#endif 433 434/* 435 * Support for MMX isn't present in the Assembler used in Red Hat 4.2, so 436 * don't enable it for libc5 as a reasonable default. 437 */ 438#ifndef HasMMXSupport 439# if defined(i386Architecture) 440# if (LinuxCLibMajorVersion > 5) 441# define HasMMXSupport YES 442# else 443# define HasMMXSupport NO 444# endif 445# else 446# define HasMMXSupport NO 447# endif 448#endif 449 450/* 451 * Support for 3DNow isn't present in the Assembler used in Red Hat 4.2, so 452 * don't enable it for libc5 as a reasonable default. 453 * 454 * XXX This is preliminary. 455 */ 456#ifndef Has3DNowSupport 457# if defined(i386Architecture) 458# if (LinuxCLibMajorVersion > 5) 459# define Has3DNowSupport YES 460# else 461# define Has3DNowSupport NO 462# endif 463# else 464# define Has3DNowSupport NO 465# endif 466#endif 467 468/* 469 * The Rush extension support. 470 */ 471#ifndef BuildXF86RushExt 472# define BuildXF86RushExt YES 473#endif 474 475#if defined(__linux__) && !defined(LinuxFBDevSupport) 476# define LinuxFBDevSupport YES 477#endif 478 479/* For compatibility */ 480#define SourceDefines LinuxSourceDefines 481 482#define BuildLibPathVar LD_LIBRARY_PATH 483#define GccUsesGas YES 484#define UseGas YES 485#define GnuCpp YES 486#if UseElfFormat 487# ifndef HasDlopen 488# define HasDlopen YES 489# endif 490#endif 491#define HasWeakSymbols UseElfFormat 492#ifndef HasShadowPasswd 493# if UseElfFormat 494# define HasShadowPasswd YES 495# else 496# define HasShadowPasswd NO 497# endif 498#endif 499#define HasPutenv YES 500#ifndef HasShm 501# define HasShm YES 502#endif 503 504/* Use SecureRPC (used for SUN-DES-1 auth. and other goodies) when 505 * glibc has support for it */ 506#ifndef HasSecureRPC 507# if !(LinuxCLibMajorVersion < 6 || \ 508 (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 3)) 509# define HasSecureRPC YES 510# endif 511#endif 512 513#define HasSockets YES 514#if UseElfFormat || defined(AlphaArchitecture) 515#ifndef HasSnprintf 516#define HasSnprintf YES 517#endif 518#define HasMkstemp YES 519#endif 520/* getresuid() appeared in 2.1.4, and getresgid in 2.1.44 */ 521#if !defined(HasGetresuid) && \ 522 (((OSMajorVersion*100000) + (OSMinorVersion*1000) + OSTeenyVersion) >= 201044) 523#define HasGetresuid YES 524#endif 525#if OSMajorVersion >= 2 526#define HasUsableFileMmap YES 527#endif 528#ifndef HasNCurses 529#define HasNCurses YES 530#endif 531 532#ifndef HasGroff 533#define HasGroff YES 534#endif 535 536#ifndef HasZlib 537#define HasZlib YES 538#endif 539 540#ifndef HasLibpng 541#define HasLibpng YES 542#endif 543 544#ifndef HasExpat 545# define HasExpat YES 546#endif 547 548#ifndef HasFreetype2 549# define HasFreetype2 YES 550#endif 551 552#define AvoidNullMakeCommand YES 553#ifndef DebuggableLibraries 554#define DebuggableLibraries NO 555#endif 556#define CompressAllFonts YES 557#define Malloc0ReturnsNull YES 558#define NeedConstPrototypes YES 559#define NeedFunctionPrototypes YES 560#define NeedNestedPrototypes YES 561#define NeedVarargsPrototypes YES 562#ifndef NeedWidePrototypes 563#define NeedWidePrototypes NO 564#endif 565#define SetTtyGroup YES 566 567#ifndef UseStaticTermcapLib 568#define UseStaticTermcapLib NO 569#endif 570 571#ifndef HasCookieMaker 572#define HasCookieMaker YES 573#define MkCookieCmd mcookie 574#endif 575 576#ifndef BourneShell 577/* 578 * This will cause builds/installs to terminate on errors, as on other 579 * platforms. 580 */ 581#define BourneShell /bin/sh -e 582#endif 583 584#define MkdirHierCmd mkdir -p 585 586#ifndef HaveLib64 587# if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture) || defined (AArch64Architecture) 588# define HaveLib64 YES 589# else 590# define HaveLib64 NO 591# endif 592#endif 593 594#if UseElfFormat 595# ifndef DoLoadableServer 596# if defined(MipsArchitecture) || defined(SuperHArchitecture) 597# define DoLoadableServer NO 598# else 599# define DoLoadableServer YES 600# endif 601# endif 602#endif 603 604 605#if LinuxElfDefault 606# if UseElfFormat 607# ifdef MipsArchitecture 608# ifndef AsCmd 609# define AsCmd gcc -c -x assembler-with-cpp 610# endif 611# ifndef MakeDllModules 612# define MakeDllModules YES 613# endif 614# endif /* MipsArchitecure */ 615# if defined (i386Architecture) && ((GccMajorVersion >3) \ 616 || ((GccMajorVersion == 3) && (GccMinorVersion >= 1))) 617# ifndef CcCmd 618# define CcCmd gcc -m32 619# endif 620# ifndef CplusplusCmd 621# define CplusplusCmd c++ -m32 622# endif 623# endif 624# if defined (Ppc64Architecture) 625# ifndef CcCmd 626# define CcCmd gcc -m64 627# endif 628# ifndef CplusplusCmd 629# define CplusplusCmd c++ -m64 630# endif 631# endif 632# ifndef CcCmd 633# define CcCmd gcc 634# define CplusplusCmd c++ 635# endif 636# ifndef AsCmd 637# define AsCmd CcCmd -c -x assembler 638# endif 639# define AsmDefines -D__ELF__ 640# ifndef LdCmd 641# define LdCmd CcCmd -nostdlib 642# endif 643# ifndef LinuxUsesNcurses 644# if LinuxCLibMajorVersion >= 6 || (LinuxDistribution == LinuxSuSE) 645# define LinuxUsesNcurses YES 646# else 647# define LinuxUsesNcurses NO 648# endif 649# endif 650# ifndef TermcapLibrary 651# if UseStaticTermcapLib 652# if LinuxUsesNcurses 653# if !HaveLib64 654# define TermcapLibrary StaticLibrary(/usr/lib,ncurses) 655# else 656# define TermcapLibrary StaticLibrary(/usr/lib64,ncurses) 657# endif 658# else 659# if !HaveLib64 660# define TermcapLibrary StaticLibrary(/usr/lib/termcap,termcap) 661# else 662# define TermcapLibrary StaticLibrary(/usr/lib64/termcap,termcap) 663# endif 664# endif 665# else 666# if LinuxUsesNcurses 667# define TermcapLibrary -lncurses 668# else 669# define TermcapLibrary -ltermcap 670# endif 671# endif 672# endif 673# else /* UseElfFormat */ 674# ifdef AlphaArchitecture 675# define CcCmd gcc -b alpha-linuxecoff 676# define CplusplusCmd g++ -b alpha-linuxecoff 677# define AsCmd CcCmd -c -x assembler 678# define LdCmd CcCmd -nostdlib -Wl,"-m alpha" 679# define AsmDefines -DUSE_GAS -U__ELF__ 680# endif /* AlphaArchitecture */ 681# ifdef HPArchitecture 682# define CcCmd gcc 683# define CplusplusCmd g++ 684# define AsCmd CcCmd -c -x assembler 685# define LdCmd CcCmd -nostdlib 686# define AsmDefines -DUSE_GAS -U__ELF__ 687# endif /* HPArchitecture */ 688# ifdef i386Architecture 689# define CcCmd gcc -b i486-linuxaout 690# define CplusplusCmd g++ -b i486-linuxaout 691# define AsCmd CcCmd -c -x assembler 692# define LdCmd CcCmd -nostdlib -Wl,"-m i386linux" 693# define AsmDefines -DUSE_GAS -U__ELF__ 694# endif /* i386Architecture */ 695# ifdef ia64Architecture 696# define CcCmd gcc 697# define CplusplusCmd g++ 698# define AsCmd CcCmd -c -x assembler 699# define LdCmd CcCmd -nostdlib 700# define AsmDefines -DUSE_GAS -U__ELF__ 701# endif /* ia64Architecture */ 702# ifdef Mc68020Architecture 703# define CcCmd gcc -b m68k-linuxaout 704# define CplusplusCmd g++ -b m68k-linuxaout 705# define AsCmd CcCmd -c -x assembler 706# define LdCmd CcCmd -nostdlib -Wl,"-m m68klinux" 707# define AsmDefines -DUSE_GAS -U__ELF__ 708# endif /* Mc68020Architecture */ 709# ifdef AMD64Architecture 710# define CcCmd gcc 711# define CplusplusCmd g++ 712# define AsCmd CcCmd -c -x assembler 713# define LdCmd CcCmd -nostdlib 714# define AsmDefines -DUSE_GAS -U__ELF__ 715# endif /* AMD64Architecture */ 716# endif /* UseElfFormat */ 717#else 718# if UseElfFormat 719# ifdef AlphaArchitecture 720# define CcCmd gcc -b alpha-linux 721# define AsCmd CcCmd -c -x assembler 722# define LdCmd CcCmd -nostdlib -Wl,"-m elf64alpha" 723# define AsmDefines -D__ELF__ 724# define CplusplusCmd c++ -b alpha-linux 725# endif /* AlphaArchitecture */ 726# ifdef HPArchitecture 727# define CcCmd gcc 728# define CplusplusCmd g++ 729# define AsCmd CcCmd -c -x assembler 730# define LdCmd CcCmd -nostdlib 731# define AsmDefines -D__ELF__ 732# define SharedLibXau YES 733# endif /* HPArchitecture */ 734# ifdef i386Architecture 735# define CcCmd gcc -b i486-linux 736# define AsCmd CcCmd -c -x assembler 737# define LdCmd CcCmd -nosdlib -Wl,"-m elf_i386" 738# define AsmDefines -D__ELF__ 739# define CplusplusCmd c++ -b i486-linux 740# endif /* i386Architecture */ 741# ifdef ia64Architecture 742# define CcCmd gcc 743# define CplusplusCmd g++ 744# define AsCmd CcCmd -c -x assembler 745# define LdCmd CcCmd -nostdlib 746# define AsmDefines -D__ELF__ 747# endif /* ia64Architecture */ 748# ifdef Mc68020Architecture 749# define CcCmd gcc -b m68k-linux 750# define AsCmd CcCmd -c -x assembler 751# define LdCmd CcCmd -nostdlib -W,l"-m m68kelf" 752# define AsmDefines -D__ELF__ 753# define CplusplusCmd c++ -b m68k-linux 754# endif /* Mc68020Architecture */ 755# ifdef AMD64Architecture 756# define CcCmd gcc 757# define CplusplusCmd g++ 758# define AsCmd CcCmd -c -x assembler 759# define LdCmd CcCmd -nostdlib 760# define AsmDefines -D__ELF__ 761# endif /* AMD64Architecture */ 762# else 763# define CcCmd gcc 764# define AsCmd CcCmd -c -x assembler 765# define LdCmd CcCmd -nostdlib 766# define AsmDefines -DUSE_GAS 767# endif 768#endif 769 770/* 771 * Some older distros still need /lib/cpp. There's probably a better 772 * test, but this handles the older Red Hat releases at least. 773 */ 774#ifndef CppCmd 775# if (LinuxDistribution == LinuxRedHat) && \ 776 ((LinuxCLibMajorVersion < 6) || \ 777 (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 1)) 778# define CppCmd /lib/cpp 779# else 780# define CppCmd cpp 781# endif 782#endif 783 784/* Some Linux distributions have yacc, some don't. All have bison. */ 785#define YaccCmd bison -y 786#define LexCmd flex -l 787#define HasFlex YES 788#define LexLib -lfl 789#define PreProcessCmd CcCmd -E 790#define PostIncDir DefaultGccIncludeDir 791#define LdCombineFlags -r 792#ifndef LdPostLib 793# define LdPostLib /* Never needed */ 794#endif 795#define HasWChar32 YES 796#define StandardCppOptions -traditional 797#define StandardCppDefines StandardDefines 798 799#define HasVarRun YES 800#ifndef VarDbDirectory 801# define VarDbDirectory $(VARDIR)/lib 802#endif 803 804#ifndef XF86OSCardDrivers 805# ifdef __linux__ 806# define XF86OSCardDrivers fbdev v4l sisusb 807# else 808# define XF86OSCardDrivers /**/ 809# endif 810#endif 811 812#ifndef OSXInputDrivers 813# if HasLinuxJoystick 814# define OSXInputDrivers1 ur98 815# else 816# define OSXInputDrivers1 /**/ 817# endif 818# if HasLinuxInput 819# define OSXInputDrivers2 aiptek evdev 820# else 821# define OSXInputDrivers2 /**/ 822# endif 823# define OSXInputDrivers OSXInputDrivers1 OSXInputDrivers2 824#endif 825 826#if UseElfFormat 827# define HasPlugin YES 828# define VendorHasX11R6_3libXext YES /* XC or XFree86 >= 3.3.1 */ 829#endif 830 831#ifdef AlphaArchitecture 832# ifndef OptimizedCDebugFlags 833# define OptimizedCDebugFlags DefaultGcc2AxpOpt 834# endif 835# define LinuxMachineDefines -D__alpha__ 836# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 837# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 -DJENSEN_SUPPORT 838# ifdef UseCompaqMathLibrary 839# define MathLibrary -lcpml -lm 840# endif 841#endif /* AlphaArchitecture */ 842 843#ifdef Arm32Architecture 844# define DefaultCCOptions 845# ifndef OptimizedCDebugFlags 846# define OptimizedCDebugFlags -O3 847# endif 848# define LinuxMachineDefines -D__arm__ -D__arm32__ -U__arm -Uarm 849# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 850# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 851#endif /* Arm32Achitecture */ 852 853#ifdef HPArchitecture 854# define OptimizedCDebugFlags -O2 GccAliasingArgs 855# define LinuxMachineDefines -D__hppa__ 856# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 857# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 858#endif 859 860#ifdef i386Architecture 861# ifndef OptimizedCDebugFlags 862# define OptimizedCDebugFlags DefaultGcc2i386Opt 863# endif 864# define LinuxMachineDefines -D__i386__ 865# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 866# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 867#endif /* i386Architecture */ 868 869#ifdef ia64Architecture 870# ifndef OptimizedCDebugFlags 871# define OptimizedCDebugFlags -O2 GccAliasingArgs 872# endif 873# define LinuxMachineDefines -D__ia64__ 874# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 875# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 876#endif /* ia64Architecture */ 877 878#ifdef Mc68020Architecture 879# ifndef OptimizedCDebugFlags 880# define OptimizedCDebugFlags -O2 GccAliasingArgs 881# endif 882# define LinuxMachineDefines -D__mc68000__ 883# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 884# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 885#endif /* Mc68020Architecture */ 886 887#ifdef MipsArchitecture 888# ifndef OptimizedCDebugFlags 889# define OptimizedCDebugFlags DefaultGcc2MipsOpt 890# endif 891# define LinuxMachineDefines -D__mips__ 892# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 893# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 894#endif 895 896#ifdef OpenRISC1000Architecture 897# ifndef OptimizedCDebugFlags 898# define OptimizedCDebugFlags DefaultGcc2OpenRISC1000Opt 899# endif 900# define LinuxMachineDefines -D__or1k__ 901# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 902# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 903#endif 904 905#ifdef Ppc64Architecture 906# define DefaultCCOptions -mminimal-toc 907# ifndef OptimizedCDebugFlags 908# define OptimizedCDebugFlags DefaultGcc2Ppc64Opt 909# endif 910# define LinuxMachineDefines -D__powerpc64__ -D__powerpc__ 911# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET 912# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 913#endif /* Ppc64Architecture */ 914 915#ifdef PpcArchitecture 916# define DefaultCCOptions 917# ifndef OptimizedCDebugFlags 918# define OptimizedCDebugFlags DefaultGcc2PpcOpt 919# endif 920# define LinuxMachineDefines -D__powerpc__ 921# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 922# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 923#endif /* PpcArchitecture */ 924 925#ifdef s390Architecture 926# ifndef OptimizedCDebugFlags 927# define OptimizedCDebugFlags -O2 -fomit-frame-pointer GccAliasingArgs 928# endif 929# define LinuxMachineDefines -D__s390__ 930# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 931# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 932#endif /* s390Architecture */ 933 934#ifdef s390xArchitecture 935/*#define DefaultCCOptions -fsigned-char */ 936#define OptimizedCDebugFlags -O3 -fomit-frame-pointer 937#define LinuxMachineDefines -D__s390x__ 938#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 939#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 940#endif /* s390xArchitecture */ 941 942#ifdef SparcArchitecture 943# ifndef OptimizedCDebugFlags 944# define OptimizedCDebugFlags -O2 GccAliasingArgs 945# endif 946# define LinuxMachineDefines -D__sparc__ 947# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 948# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 949# define AsVISOption -Av9a 950# ifdef Sparc64Architecture 951# define AsOutputArchSize 64 952# else 953# define AsOutputArchSize 32 954# endif 955#endif 956 957#ifdef SuperHArchitecture 958# ifndef SuperHArchOptFlags 959# ifdef SuperH4Architecture 960# define SuperHArchOptFlags -m4 961# elif defined(SuperH4NOFPUArchitecture) 962# define SuperHArchOptFlags -m4-nofpu 963# else 964# define SuperHArchOptFlags -m3 965# endif 966# endif 967# ifndef SuperHebArchitecture 968# ifdef SuperHebArchitecture 969# define SuperHEndianFlags -mb 970# else 971# define SuperHEndianFlags -ml 972# endif 973# endif 974# ifndef OptimizedCDebugFlags 975# define OptimizedCDebugFlags -O2 SuperHArchOptFlags SuperHEndianFlags GccAliasingArgs 976# endif 977# define LinuxMachineDefines -D__sh__ 978# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 979# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines 980# ifndef DoLoadableServer 981# define DoLoadableServer NO 982# endif 983#endif 984 985#ifdef AMD64Architecture 986# ifndef OptimizedCDebugFlags 987# define OptimizedCDebugFlags DefaultGcc2AMD64Opt 988# endif 989# define LinuxMachineDefines -D__amd64__ 990# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 991# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 992#endif /* AMD64Architecture */ 993 994#ifdef AArch64Architecture 995# ifndef OptimizedCDebugFlags 996# define OptimizedCDebugFlags DefaultGcc2AArch64Opt 997# endif 998# define LinuxMachineDefines -D__aarch64__ 999# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 1000# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 1001#endif /* AArch64Architecture */ 1002 1003#ifndef StandardDefines 1004# ifdef __linux__ 1005# define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines 1006# else 1007# define StandardDefines LinuxMachineDefines LinuxSourceDefines 1008# endif 1009#endif 1010 1011#if UseElfFormat 1012# define DlLibrary -rdynamic -ldl 1013#else 1014# define DlLibrary /**/ 1015#endif 1016 1017#define ServerExtraSysLibs /**/ 1018 1019#ifndef PamLibraries 1020#define PamLibraries -lpam DlLibrary 1021#endif 1022 1023#ifndef PamMiscLibraries 1024#define PamMiscLibraries -lpam_misc 1025#endif 1026 1027#ifndef HasDECnet 1028#define HasDECnet NO 1029#endif 1030#if HasDECnet 1031# define ConnectionFlags -DUNIXCONN -DTCPCONN -DDNETCONN 1032# define ExtraLibraries -ldnet 1033#else 1034# define ConnectionFlags -DUNIXCONN -DTCPCONN 1035#endif 1036 1037/* Some of these man page defaults are overriden in the above OS sections */ 1038#ifndef ManSuffix 1039# define ManSuffix 1x 1040#endif 1041#ifndef ManDir 1042# define ManDir $(MANSOURCEPATH)1 1043#endif 1044#ifndef LibManSuffix 1045# define LibManSuffix 3x 1046#endif 1047#ifndef LibmanDir 1048# define LibmanDir $(MANSOURCEPATH)3 1049#endif 1050#ifndef FileManSuffix 1051# define FileManSuffix 5x 1052#endif 1053#ifndef FileManDir 1054# define FileManDir $(MANSOURCEPATH)5 1055#endif 1056 1057#ifndef StaticLibrary 1058# define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic 1059#endif 1060 1061#ifndef LinkGLToUsrLib 1062# define LinkGLToUsrLib YES 1063#endif 1064# ifndef LinkGLToUsrInclude 1065# define LinkGLToUsrInclude YES 1066#endif 1067 1068 1069#define HasGnuMake YES 1070 1071#define MakeNamedTargetSubdir(dir,flags,subname)\ 1072 $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname 1073 1074#define ArchitectureDefines -DLINUX_ARCHITECTURE 1075 1076#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB) 1077#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB) 1078 1079#if HaveLib64 1080# ifndef LibDirName 1081# define LibDirName lib64 1082# endif 1083# ifndef SystemUsrLibDir 1084# define SystemUsrLibDir /usr/lib64 1085# endif 1086# ifndef TkLibDir 1087# define TkLibDir /usr/lib64 1088# endif 1089#endif 1090 1091#ifndef BuildDmx 1092#define BuildDmx YES 1093#endif 1094 1095#include <lnxLib.rules> 1096# include <xorg.cf> 1097 1098#ifndef XFree86ServerOSDefines 1099# define XFree86ServerOSDefines 1100#endif 1101