FreeBSD.cf revision 1c80d5b0
111d341caSmrgXCOMM platform: $Xorg: FreeBSD.cf,v 1.3 2000/08/17 19:41:45 cpqbld Exp $ 24c61c93dSmrgXCOMM platform: $XdotOrg: xc/config/cf/FreeBSD.cf,v 1.10 2004/08/15 00:03:36 anholt Exp $ 311d341caSmrgXCOMM 411d341caSmrgXCOMM 511d341caSmrgXCOMM 611d341caSmrgXCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.147 2004/01/28 01:46:21 dawes Exp $ 711d341caSmrg 811d341caSmrg#ifndef UseElfFormat 911d341caSmrg#define UseElfFormat DefaultToElfFormat 1011d341caSmrg#endif 1111d341caSmrg 1211d341caSmrg#if UseElfFormat 1311d341caSmrg#define OSBinaryFormat [ELF] 1411d341caSmrg#else 1511d341caSmrg#define OSBinaryFormat [a.out] 1611d341caSmrg#endif 1711d341caSmrg 1811d341caSmrg#ifndef OSName 1911d341caSmrg#define OSName DefaultOSName OSBinaryFormat 2011d341caSmrg#endif 2111d341caSmrg#ifndef OSVendor 2211d341caSmrg#define OSVendor /**/ 2311d341caSmrg#endif 2411d341caSmrg#ifndef OSMajorVersion 2511d341caSmrg#define OSMajorVersion DefaultOSMajorVersion 2611d341caSmrg#endif 2711d341caSmrg#ifndef OSMinorVersion 2811d341caSmrg#define OSMinorVersion DefaultOSMinorVersion 2911d341caSmrg#endif 3011d341caSmrg#ifndef OSTeenyVersion 3111d341caSmrg#define OSTeenyVersion DefaultOSTeenyVersion 3211d341caSmrg#endif 3311d341caSmrg 3411d341caSmrg#ifndef OSRelVersion 3511d341caSmrg/* Include this to get finer-grained information about the OS version */ 3611d341caSmrg#include "/usr/include/osreldate.h" 3711d341caSmrg#define OSRelVersion __FreeBSD_version 3811d341caSmrg#endif 3911d341caSmrg 4011d341caSmrgXCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) (OSRelVersion) 4111d341caSmrg 4211d341caSmrg 4311d341caSmrg#define HasCplusplus YES 4411d341caSmrg#define GccUsesGas YES 4511d341caSmrg#define UseGas YES 4611d341caSmrg#define GnuCpp YES 4711d341caSmrg#define HasNdbm YES 4811d341caSmrg#define HasPutenv YES 4911d341caSmrg#define HasSnprintf YES 5011d341caSmrg#if OSMajorVersion == 3 && OSMinorVersion >= 3 || OSMajorVersion > 3 5111d341caSmrg# define HasStrlcat YES 5211d341caSmrg#endif 5311d341caSmrg#if OSMajorVersion == 4 && OSMinorVersion >= 2 || OSMajorVersion > 4 5411d341caSmrg# define HasBasename YES 5511d341caSmrg#else 5611d341caSmrg# define HasBasename NO 5711d341caSmrg#endif 5811d341caSmrg#define HasBSD44Sockets YES 5911d341caSmrg#define HasDlopen YES 6011d341caSmrg#if ((OSRelVersion >= 410002) && OSRelVersion < 500000) || (OSRelVersion >= 500012) 6111d341caSmrg#define HasSetProcTitle YES 6211d341caSmrg#endif 6311d341caSmrg#ifndef HasLibCrypt 6411d341caSmrg# define HasLibCrypt YES 6511d341caSmrg#endif 6611d341caSmrg#ifndef HasShm 6711d341caSmrg# define HasShm YES 6811d341caSmrg#endif 6911d341caSmrg#define HasWChar32 YES 7011d341caSmrg#define HasUsableFileMmap YES 7111d341caSmrg#define HasNCurses YES 7211d341caSmrg#define HasVarRun YES 7311d341caSmrg#define HasVarDb YES 7411d341caSmrg#ifndef BuildPDFdocs 7511d341caSmrg# define BuildPDFdocs NO 7611d341caSmrg#endif 7711d341caSmrg#if (OSMajorVersion >= 3) 7811d341caSmrg#define HasIssetugid YES 7911d341caSmrg#define HasPoll YES 8011d341caSmrg#endif 8111d341caSmrg 8211d341caSmrg#if OSMajorVersion >= 4 8311d341caSmrg#define HasGetIfAddrs YES 8411d341caSmrg#endif 8511d341caSmrg 8611d341caSmrg/* All versions define AF_INET6. 3.x and earlier don't have IPv6 support. */ 8711d341caSmrg#if OSMajorVersion < 4 8811d341caSmrg#ifndef BuildIPv6 8911d341caSmrg#define BuildIPv6 NO 9011d341caSmrg#endif 9111d341caSmrg#endif 9211d341caSmrg 9311d341caSmrg#define IPv6SocketsAlsoIPv4 NO 9411d341caSmrg 9511d341caSmrg#if (OSMajorVersion > 1) 9611d341caSmrg#define InstallXloadSetGID NO 9711d341caSmrg#else 9811d341caSmrg#define InstallXloadSetGID YES 9911d341caSmrg#endif 10011d341caSmrg 10111d341caSmrg#define HasWeakSymbols UseElfFormat 10211d341caSmrg 10311d341caSmrg/* 1041c80d5b0Smrg * Multi-thread safe libs 1051c80d5b0Smrg */ 10611d341caSmrg/* 2.2.7 and later has libc_r (POSIX threads) */ 10711d341caSmrg#if OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 7 || \ 10811d341caSmrg OSMajorVersion >= 3 10911d341caSmrg# define HasPosixThreads YES 11011d341caSmrg# define ThreadedX YES 11111d341caSmrg# define HasThreadSafeAPI YES 11211d341caSmrg# if OSRelVersion < 501000 11311d341caSmrg# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI 11411d341caSmrg# else 11511d341caSmrg# define MTSafeAPIDefines -DXUSE_MTSAFE_API 11611d341caSmrg# endif 11711d341caSmrg# if (OSRelVersion < 500043) 11811d341caSmrg# define NeedUIThrStubs YES 11911d341caSmrg# endif 12011d341caSmrg# if (OSRelVersion >= 502102) 12111d341caSmrg# define ThreadsLibraries -lpthread 12211d341caSmrg# elif (OSRelVersion >= 500016) 12311d341caSmrg# define ThreadsLibraries -lc_r 12411d341caSmrg# else 12511d341caSmrg# define ThreadsLibraries -pthread 12611d341caSmrg# endif 12711d341caSmrg# define SystemMTDefines -D_THREAD_SAFE 12811d341caSmrg#endif 12911d341caSmrg 13011d341caSmrg/* This fixes linking C programs against libGLU on FreeBSD 3.x */ 13111d341caSmrg#if (OSMajorVersion == 3) 13211d341caSmrg#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB) -lstdc++ -lgcc 13311d341caSmrg#endif 13411d341caSmrg 13511d341caSmrg#define AvoidNullMakeCommand YES 13611d341caSmrg#define StripInstalledPrograms YES 13711d341caSmrg#define CompressAllFonts YES 13811d341caSmrg#define Malloc0ReturnsNull YES 13911d341caSmrg#define NeedConstPrototypes YES 14011d341caSmrg#define NeedFunctionPrototypes YES 14111d341caSmrg#define NeedNestedPrototypes YES 14211d341caSmrg#define NeedVarargsPrototypes YES 14311d341caSmrg#define NeedWidePrototypes NO 14411d341caSmrg 14511d341caSmrg#define HasPlugin YES 14611d341caSmrg#define VendorHasX11R6_3libXext YES /* XC or XFree86 >= 3.3.1 */ 14711d341caSmrg 14811d341caSmrg#define MkdirHierCmd mkdir -p 14911d341caSmrg 15011d341caSmrg#ifndef LexCmd 15111d341caSmrg#define LexCmd flex -l 15211d341caSmrg#endif 15311d341caSmrg#ifndef HasFlex 15411d341caSmrg#define HasFlex YES 15511d341caSmrg#endif 15611d341caSmrg 15711d341caSmrg#ifndef HasMktemp 15811d341caSmrg#if (OSMajorVersion >= 4) || (OSMajorVersion == 3 && OSMinorVersion >= 1) || \ 15911d341caSmrg (OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 7) 16011d341caSmrg#define HasMktemp YES 16111d341caSmrg#else 16211d341caSmrg#define HasMktemp NO 16311d341caSmrg#endif 16411d341caSmrg#endif 16511d341caSmrg 16611d341caSmrg/* 16711d341caSmrg * 2.2.x has perl 4 by default, not perl 5. 16811d341caSmrg */ 16911d341caSmrg#if (OSMajorVersion <= 2) 17011d341caSmrg#ifndef HasPerl5 17111d341caSmrg#define HasPerl5 NO 17211d341caSmrg#endif 17311d341caSmrg#endif 17411d341caSmrg 17511d341caSmrg#ifndef CcCmd 17611d341caSmrg#define CcCmd cc 17711d341caSmrg#endif 17811d341caSmrg#ifndef CplusplusCmd 17911d341caSmrg#define CplusplusCmd c++ 18011d341caSmrg#endif 18111d341caSmrg#define CppCmd /usr/bin/cpp 18211d341caSmrg#define PreProcessCmd CppCmd 18311d341caSmrg#define StandardCppOptions -traditional 18411d341caSmrg#define StandardCppDefines /**/ 18511d341caSmrg#ifndef DefaultCCOptions 18611d341caSmrg#if defined(UseInstalled) 18711d341caSmrg#define DefaultCCOptions /**/ 18811d341caSmrg#else 18911d341caSmrg#if defined(HasGcc3) && HasGcc3 19011d341caSmrg#define NoSystemWarn -Wno-system-headers 19111d341caSmrg#else 19211d341caSmrg#define NoSystemWarn 19311d341caSmrg#endif 19411d341caSmrg#define DefaultCCOptions -ansi -pedantic NoSystemWarn -Dasm=__asm \ 19511d341caSmrg GccWarningOptions 19611d341caSmrg#endif 19711d341caSmrg#endif 19811d341caSmrg#ifndef ExtraLibraries 19911d341caSmrg/* support for multi-byte locales is in libxpg4 rather than libc */ 20011d341caSmrg#if (OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2)) && \ 20111d341caSmrg !(OSMajorVersion == 4 && OSRelVersion >= 400020) && \ 20211d341caSmrg !(OSRelVersion >= 500005) 20311d341caSmrg#define ExtraLibraries -lxpg4 20411d341caSmrg#else 20511d341caSmrg#define ExtraLibraries /**/ 20611d341caSmrg#endif 20711d341caSmrg#endif 20811d341caSmrg#ifndef UseGnuMalloc 20911d341caSmrg/* 2.2 doesn't really have GnuMalloc */ 21011d341caSmrg#if OSMajorVersion < 2 || (OSMajorVersion == 2 && OSMinorVersion < 2) 21111d341caSmrg#define UseGnuMalloc YES 21211d341caSmrg#else 21311d341caSmrg#define UseGnuMalloc NO 21411d341caSmrg#endif 21511d341caSmrg#endif 21611d341caSmrg/* 2.2.2 and later has setusercontext() */ 21711d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2) || \ 21811d341caSmrg (OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 2) 21911d341caSmrg#define HasSetUserContext YES 22011d341caSmrg#endif 22111d341caSmrg 22211d341caSmrg#if OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 6) 22311d341caSmrg#define HasGetpeereid YES 22411d341caSmrg#endif 22511d341caSmrg 22611d341caSmrg/* 3.3(?) and later has support for setting MTRRs */ 22711d341caSmrg#ifndef HasMTRRSupport 22811d341caSmrg#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 3) 22911d341caSmrg#define HasMTRRSupport YES 23011d341caSmrg#else 23111d341caSmrg#define HasMTRRSupport NO 23211d341caSmrg#endif 23311d341caSmrg#endif 23411d341caSmrg 23511d341caSmrg/* 23611d341caSmrg * Drivers that don't need AGP can work with 4.0, but we don't have a 23711d341caSmrg * mechanism for specifying a subset of drivers in the OS.cf files yet. 23811d341caSmrg */ 23911d341caSmrg#ifndef BuildXF86DRI 24011d341caSmrg#if OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 1) 24111d341caSmrg#define BuildXF86DRI YES 24211d341caSmrg#endif 24311d341caSmrg#endif 24411d341caSmrg 24511d341caSmrg/* 24611d341caSmrg * 4.1/i386 and 5.0/i386,alpha,ia64,amd64 have the AGP driver. 24711d341caSmrg */ 24811d341caSmrg#ifndef HasAgpGart 24911d341caSmrg#if defined(i386Architecture) && \ 25011d341caSmrg (OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 1)) 25111d341caSmrg#define HasAgpGart YES 25211d341caSmrg#endif 25311d341caSmrg#if (defined(AlphaArchitecture) || defined(ia64Architecture) || \ 25411d341caSmrg defined(AMD64Architecture)) && (OSMajorVersion >= 5) 25511d341caSmrg#define HasAgpGart YES 25611d341caSmrg#endif 25711d341caSmrg#endif 25811d341caSmrg 25911d341caSmrg/* 2601c80d5b0Smrg * SSE and 3DNow will be autodetected, so binutils is the only 26111d341caSmrg * requirement for enabling this. By 4.2 they were all supported. 26211d341caSmrg */ 26311d341caSmrg#if defined(AMD64Architecture) || defined(i386Architecture) && \ 26411d341caSmrg (OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 2)) 26511d341caSmrg# define HasX86Support YES 26611d341caSmrg# define HasMMXSupport YES 26711d341caSmrg# define Has3DNowSupport YES 26811d341caSmrg# define HasSSESupport YES 26911d341caSmrg#else 27011d341caSmrg# define HasX86Support NO 27111d341caSmrg# define HasMMXSupport NO 27211d341caSmrg# define Has3DNowSupport NO 27311d341caSmrg# define HasSSESupport NO 27411d341caSmrg#endif 27511d341caSmrg 2761c80d5b0Smrg/* 27711d341caSmrg * This doesn't work the way it does on every other system. On FreeBSD it's 2781c80d5b0Smrg * only a "hint, not a demand", whatever that means. Note that this is not 27911d341caSmrg * what it says in the ld and ld.so man pages, which are rather vague on the 28011d341caSmrg * matter. 28111d341caSmrg * 2821c80d5b0Smrg * But we do know that if a) you do what the X Project team does and set your 2831c80d5b0Smrg * ProjectRoot to something like "/X11", and b) you have other X libraries, 2841c80d5b0Smrg * e.g. in /usr/X11R6/lib, and you have added /usr/X11R6/lib to your 28511d341caSmrg * ld.so.cache with ldconfig, then any programs linked with this "hint" will 2861c80d5b0Smrg * find that ld.so ignores the "hint" at runtime and loads the libraries in 28711d341caSmrg * the ld.so.cache, i.e.the wrong ones, instead! Empirically we find that 28811d341caSmrg * the run-path is only used as a last resort to find the libraries, after 28911d341caSmrg * the LD_LIBRARY_PATH and ld.so.cache. 29011d341caSmrg * 29111d341caSmrg * N. B. to FreeBSD users who are not familiar with the semantics of the run- 2921c80d5b0Smrg * path on other systems. The run-path is akin to a per-program ld.so.cache. 2931c80d5b0Smrg * If a program is linked with a run-path, that run-path should take 2941c80d5b0Smrg * precedence over _everything_ else! In my opinion ldconfig and the 29511d341caSmrg * ld.so.cache should be deprecated immediately now that FreeBSD has run- 2961c80d5b0Smrg * paths. Any program that needs libraries that are outside the "well known" 29711d341caSmrg * locations should be linked with a run-path. 29811d341caSmrg * 29911d341caSmrg * All of which begs the question: If this option doesn't work in any useful 30011d341caSmrg * way, why did they (FreeBSD) bother to add it? It would be nice if FreeBSD 30111d341caSmrg * would fix ld.so so that run-paths are truly useful. 30211d341caSmrg * 3031c80d5b0Smrg * Using run-paths is added with the intent that vendors who ship X for 3041c80d5b0Smrg * FreeBSD should use it too. Once everyone uses it then there will be no 3051c80d5b0Smrg * reason for FreeBSD to assume that it knows where X libraries are installed 3061c80d5b0Smrg * and they can remove it from the list of directories they add to ld.so.cache 30711d341caSmrg * in their /etc/rc file. 30811d341caSmrg */ 30911d341caSmrg 31011d341caSmrg#ifndef UseRpath 31111d341caSmrg# define UseRpath YES 31211d341caSmrg#endif 31311d341caSmrg 31411d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2) 31511d341caSmrg 31611d341caSmrg# ifndef RpathLoadFlags 31711d341caSmrg# if UseRpath 31811d341caSmrg# if UseElfFormat 31911d341caSmrg# define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH) 32011d341caSmrg# else 32111d341caSmrg# define RpathLoadFlags -Wl,-R,$(USRLIBDIRPATH) 32211d341caSmrg# endif 32311d341caSmrg# else 32411d341caSmrg# define RpathLoadFlags /**/ 32511d341caSmrg# endif 32611d341caSmrg# endif 32711d341caSmrg 32811d341caSmrg# ifndef ExtraLoadFlags 32911d341caSmrg# if UseElfFormat && !defined(UseInstalled) 33011d341caSmrg# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR) 33111d341caSmrg# else 33211d341caSmrg# define ExtraLoadFlags RpathLoadFlags 33311d341caSmrg# endif 33411d341caSmrg# endif 33511d341caSmrg 33611d341caSmrg#endif 33711d341caSmrg 33811d341caSmrg#ifndef LibraryRpathLoadFlags 33911d341caSmrg# if UseRpath 34011d341caSmrg# if UseElfFormat 34111d341caSmrg# define LibraryRpathLoadFlags -rpath $(USRLIBDIRPATH) 34211d341caSmrg# else 34311d341caSmrg# define LibraryRpathLoadFlags -R $(USRLIBDIRPATH) 34411d341caSmrg# endif 34511d341caSmrg# else 34611d341caSmrg# define LibraryRpathLoadFlags /**/ 34711d341caSmrg# endif 34811d341caSmrg#endif 34911d341caSmrg 35011d341caSmrg#ifndef SharedLibraryLoadFlags 35111d341caSmrg# if UseElfFormat 35211d341caSmrg# define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags 35311d341caSmrg# else 35411d341caSmrg# define SharedLibraryLoadFlags -Bshareable LibraryRpathLoadFlags 35511d341caSmrg# endif 35611d341caSmrg#endif 35711d341caSmrg 35811d341caSmrg#ifndef GnuMallocLibrary 35911d341caSmrg#define GnuMallocLibrary -lgnumalloc 36011d341caSmrg#endif 36111d341caSmrg 36211d341caSmrg#if (OSMajorVersion > 2) || (OSMajorVersion == 2 && OSMinorVersion >= 2) \ 36311d341caSmrg || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 6) 36411d341caSmrg/* 2.1.6 and 2.2 have libz */ 36511d341caSmrg#ifndef HasZlib 36611d341caSmrg#define HasZlib YES 36711d341caSmrg#endif 36811d341caSmrg#endif 36911d341caSmrg 37011d341caSmrg/* PAM appeared in FreeBSD 3.1 */ 37111d341caSmrg#if (OSMajorVersion > 3) || (OSMajorVersion == 3 && OSMinorVersion >=1 ) 37211d341caSmrg#ifndef HasPam 37311d341caSmrg#define HasPam YES 37411d341caSmrg#endif 37511d341caSmrg#endif 37611d341caSmrg 37711d341caSmrg/* There are two options for building. One is to assume that the system has 37811d341caSmrg * many of the dependencies provided by the ports tree. The other is to just 37911d341caSmrg * build everything from this tree. 38011d341caSmrg */ 38111d341caSmrg 38211d341caSmrg#ifndef HasStandardPorts 38311d341caSmrg#define HasStandardPorts YES 38411d341caSmrg#endif 38511d341caSmrg 38611d341caSmrg#ifndef LocalBase 38711d341caSmrg#define LocalBase /usr/local 38811d341caSmrg#endif 38911d341caSmrg#ifndef X11Base 39011d341caSmrg#define X11Base /usr/X11R6 39111d341caSmrg#endif 39211d341caSmrg 39311d341caSmrg#if HasStandardPorts 39411d341caSmrg 39511d341caSmrg#ifndef HasExpat 39611d341caSmrg# define HasExpat YES 39711d341caSmrg# define ExpatDir LocalBase 39811d341caSmrg#endif 39911d341caSmrg 40011d341caSmrg#ifndef HasFreetype2 40111d341caSmrg# define HasFreetype2 YES 40211d341caSmrg# define Freetype2Dir LocalBase 40311d341caSmrg#endif 40411d341caSmrg 40511d341caSmrg#ifndef HasFontconfig 40611d341caSmrg# define HasFontconfig YES 40711d341caSmrg# define FontconfigDir X11Base 40811d341caSmrg#endif 40911d341caSmrg 41011d341caSmrg#ifndef HasLibpng 41111d341caSmrg# define HasLibpng YES 41211d341caSmrg# define LibpngDir LocalBase 41311d341caSmrg#endif 41411d341caSmrg 41511d341caSmrg#endif /* HasStandardPorts */ 41611d341caSmrg 41711d341caSmrg#undef InstallCmd 41811d341caSmrg#define InstallCmd /usr/bin/install 41911d341caSmrg 42011d341caSmrg#if UseElfFormat 42111d341caSmrg# define AsmElfDefines -D__ELF__ 42211d341caSmrg#else 42311d341caSmrg# define AsmElfDefines /**/ 42411d341caSmrg#endif 42511d341caSmrg 42611d341caSmrg#if GccUsesGas 42711d341caSmrg# define GccGasOption -DGCCUSESGAS 42811d341caSmrg# define AsmDefines -DUSE_GAS AsmElfDefines 42911d341caSmrg#else 43011d341caSmrg# define GccGasOption /**/ 43111d341caSmrg# define AsmDefines AsmElfDefines 43211d341caSmrg#endif 43311d341caSmrg 43411d341caSmrg#ifdef i386Architecture 43511d341caSmrg#define ServerExtraDefines GccGasOption XFree86ServerDefines 43611d341caSmrg#endif 43711d341caSmrg#if defined(AlphaArchitecture) || defined(Sparc64Architecture) || \ 43811d341caSmrg defined(ia64Architecture) || defined(AMD64Architecture) 43911d341caSmrg#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64 44011d341caSmrg#endif 44111d341caSmrg#ifdef Sparc64Architecture 44211d341caSmrg#define AsVISOption -Av9a 44311d341caSmrg#define AsOutputArchSize 64 44411d341caSmrg#endif 44511d341caSmrg 44611d341caSmrg#ifdef PpcArchitecture 44711d341caSmrg#define XF86INT10_BUILD X86INT10_STUB 44811d341caSmrg#endif 44911d341caSmrg 45011d341caSmrg#define StandardDefines -DCSRG_BASED 45111d341caSmrg 45211d341caSmrg#if OSMajorVersion > 1 45311d341caSmrg#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 45411d341caSmrg#define XawI18nDefines -DUSE_XWCHAR_STRING 45511d341caSmrg#define HasMakefileSafeInclude YES 45611d341caSmrg#define IncludeMakefile(file) @@# dependencies are in .depend 45711d341caSmrg#define DependFileName .depend 45811d341caSmrg#ifndef DoLoadableServer 45911d341caSmrg#define DoLoadableServer YES 46011d341caSmrg#endif 46111d341caSmrg#ifndef ForceNormalLib 46211d341caSmrg#define ForceNormalLib YES 46311d341caSmrg#endif 46411d341caSmrg#define HasMkstemp YES 46511d341caSmrg#else 46611d341caSmrg#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF 46711d341caSmrg#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 46811d341caSmrg#endif 46911d341caSmrg 47011d341caSmrg/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */ 47111d341caSmrg#ifndef DefaultGcc2i386Opt 47211d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5) 47311d341caSmrg#define DefaultGcc2i386Opt -O2 GccAliasingArgs 47411d341caSmrg#endif 47511d341caSmrg#endif 47611d341caSmrg 47711d341caSmrg#ifdef i386Architecture 47811d341caSmrg# define OptimizedCDebugFlags DefaultGcc2i386Opt 47911d341caSmrg#else 48011d341caSmrg# define OptimizedCDebugFlags -O 48111d341caSmrg#endif 48211d341caSmrg 48311d341caSmrg#ifndef PreIncDir 48411d341caSmrg# define PreIncDir /usr/include 48511d341caSmrg#endif 48611d341caSmrg 48711d341caSmrg#define HasGroff YES 48811d341caSmrg#define NroffCmd env GROFF_NO_SGR=y groff -Tascii 48911d341caSmrg#define SetTtyGroup YES 49011d341caSmrg 49111d341caSmrg#ifndef ExtraFilesToClean 49211d341caSmrg# define ExtraFilesToClean *.core 49311d341caSmrg#endif 49411d341caSmrg 49511d341caSmrg#define DefaultUserPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/gnu/bin:/usr/local/bin 49611d341caSmrg#define DefaultSystemPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR) 49711d341caSmrg#ifndef SystemManDirectory 49811d341caSmrg#define SystemManDirectory /usr/share/man 49911d341caSmrg#endif 50011d341caSmrg 50111d341caSmrg#define InstKmemFlags -g kmem -m 2755 50211d341caSmrg 50311d341caSmrg/* 50411d341caSmrg * Compress manual pages 50511d341caSmrg */ 50611d341caSmrg#ifndef CompressManPages 50711d341caSmrg# define CompressManPages YES 50811d341caSmrg#endif 50911d341caSmrg 51011d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 1) 51111d341caSmrg#define HasBsdMake YES 51211d341caSmrg#endif 51311d341caSmrg 51411d341caSmrg#ifndef StaticLibrary 51511d341caSmrg#define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic 51611d341caSmrg#endif 51711d341caSmrg 51811d341caSmrg#if UseElfFormat 51911d341caSmrg#define DlLibrary -rdynamic 52011d341caSmrg#else 52111d341caSmrg#define DlLibrary /**/ 52211d341caSmrg#endif 52311d341caSmrg 52411d341caSmrg#ifdef AlphaArchitecture 52511d341caSmrg#define IoLibrary -lio 52611d341caSmrg#else 52711d341caSmrg#define IoLibrary /**/ 52811d341caSmrg#endif 52911d341caSmrg 53011d341caSmrg#define ServerExtraSysLibs IoLibrary 5311c80d5b0Smrg 53211d341caSmrg#ifndef PamLibraries 53311d341caSmrg#define PamLibraries -lpam DlLibrary 53411d341caSmrg#endif 53511d341caSmrg 53611d341caSmrg#ifndef SharedLibXdmGreet 53711d341caSmrg# define SharedLibXdmGreet NO 53811d341caSmrg#endif 53911d341caSmrg 54011d341caSmrg/* 54111d341caSmrg * On FreeBSD, the run-time loader will use the built-in "rpath" before 54211d341caSmrg * LD_LIBRARY_PATH. This means that utilities like mkfontdir will load 54311d341caSmrg * installed libraries (if they exist) in preference to the ones in the 54411d341caSmrg * build tree, even though LD_LIBRARY_PATH points to the build tree. 54511d341caSmrg * This can result in the build failing. One way to avoid this is to 54611d341caSmrg * pre-load the libraries from the build tree. 54711d341caSmrg * 54811d341caSmrg * There should be a better way than this hack... 54911d341caSmrg */ 55011d341caSmrg#if UseElfFormat 55111d341caSmrg#ifndef PreloadFontSetup 55211d341caSmrg#define PreloadFontSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(XFONTPRELOADPATTERN))`" 55311d341caSmrg#endif 55411d341caSmrg#ifndef PreloadFreetypeSetup 55511d341caSmrg#define PreloadFreetypeSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN))`" 55611d341caSmrg#endif 55711d341caSmrg#ifndef PreloadXFTSetup 55811d341caSmrg#define PreloadXFTSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN) $(XFTPRELOADPATTERN) $(XRENDERPRELOADPATTERN) $(FCPRELOADPATTERN))`" 55911d341caSmrg#endif 56011d341caSmrg#endif 56111d341caSmrg 56211d341caSmrg#ifndef HasCookieMaker 56311d341caSmrg/* Which versions have /dev/urandom? */ 56411d341caSmrg#if OSMajorVersion >= 4 56511d341caSmrg#define HasCookieMaker YES 56611d341caSmrg#define MkCookieCmd \ 56711d341caSmrg 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"' 56811d341caSmrg#else 56911d341caSmrg#define HasCookieMaker NO 57011d341caSmrg#endif 57111d341caSmrg#endif 57211d341caSmrg 57311d341caSmrg/* 57411d341caSmrg * A hack to work around an optimization problem with gcc 2.95.2 - 2.95.4 57511d341caSmrg */ 57611d341caSmrg#if (GccMajorVersion == 2 && GccMinorVersion == 95) 57711d341caSmrg#define GccOptBug295 57811d341caSmrg#endif 57911d341caSmrg 58011d341caSmrg#include <bsdLib.rules> 58111d341caSmrg 58211d341caSmrg#include <xorg.cf> 583