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