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 156624e3943Smrg#ifndef HasGnuAr 157624e3943Smrg#define HasGnuAr YES 158624e3943Smrg#endif 15911d341caSmrg 16011d341caSmrg#ifndef HasMktemp 16111d341caSmrg#if (OSMajorVersion >= 4) || (OSMajorVersion == 3 && OSMinorVersion >= 1) || \ 16211d341caSmrg (OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 7) 16311d341caSmrg#define HasMktemp YES 16411d341caSmrg#else 16511d341caSmrg#define HasMktemp NO 16611d341caSmrg#endif 16711d341caSmrg#endif 16811d341caSmrg 16911d341caSmrg/* 17011d341caSmrg * 2.2.x has perl 4 by default, not perl 5. 17111d341caSmrg */ 17211d341caSmrg#if (OSMajorVersion <= 2) 17311d341caSmrg#ifndef HasPerl5 17411d341caSmrg#define HasPerl5 NO 17511d341caSmrg#endif 17611d341caSmrg#endif 17711d341caSmrg 17811d341caSmrg#ifndef CcCmd 17911d341caSmrg#define CcCmd cc 18011d341caSmrg#endif 18111d341caSmrg#ifndef CplusplusCmd 18211d341caSmrg#define CplusplusCmd c++ 18311d341caSmrg#endif 18411d341caSmrg#define CppCmd /usr/bin/cpp 18511d341caSmrg#define PreProcessCmd CppCmd 18611d341caSmrg#define StandardCppOptions -traditional 18711d341caSmrg#define StandardCppDefines /**/ 18811d341caSmrg#ifndef DefaultCCOptions 18911d341caSmrg#if defined(UseInstalled) 19011d341caSmrg#define DefaultCCOptions /**/ 19111d341caSmrg#else 19211d341caSmrg#if defined(HasGcc3) && HasGcc3 19311d341caSmrg#define NoSystemWarn -Wno-system-headers 19411d341caSmrg#else 19511d341caSmrg#define NoSystemWarn 19611d341caSmrg#endif 19711d341caSmrg#define DefaultCCOptions -ansi -pedantic NoSystemWarn -Dasm=__asm \ 19811d341caSmrg GccWarningOptions 19911d341caSmrg#endif 20011d341caSmrg#endif 20111d341caSmrg#ifndef ExtraLibraries 20211d341caSmrg/* support for multi-byte locales is in libxpg4 rather than libc */ 20311d341caSmrg#if (OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2)) && \ 20411d341caSmrg !(OSMajorVersion == 4 && OSRelVersion >= 400020) && \ 20511d341caSmrg !(OSRelVersion >= 500005) 20611d341caSmrg#define ExtraLibraries -lxpg4 20711d341caSmrg#else 20811d341caSmrg#define ExtraLibraries /**/ 20911d341caSmrg#endif 21011d341caSmrg#endif 21111d341caSmrg#ifndef UseGnuMalloc 21211d341caSmrg/* 2.2 doesn't really have GnuMalloc */ 21311d341caSmrg#if OSMajorVersion < 2 || (OSMajorVersion == 2 && OSMinorVersion < 2) 21411d341caSmrg#define UseGnuMalloc YES 21511d341caSmrg#else 21611d341caSmrg#define UseGnuMalloc NO 21711d341caSmrg#endif 21811d341caSmrg#endif 21911d341caSmrg/* 2.2.2 and later has setusercontext() */ 22011d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2) || \ 22111d341caSmrg (OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 2) 22211d341caSmrg#define HasSetUserContext YES 22311d341caSmrg#endif 22411d341caSmrg 22511d341caSmrg#if OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 6) 22611d341caSmrg#define HasGetpeereid YES 22711d341caSmrg#endif 22811d341caSmrg 22911d341caSmrg/* 3.3(?) and later has support for setting MTRRs */ 23011d341caSmrg#ifndef HasMTRRSupport 23111d341caSmrg#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 3) 23211d341caSmrg#define HasMTRRSupport YES 23311d341caSmrg#else 23411d341caSmrg#define HasMTRRSupport NO 23511d341caSmrg#endif 23611d341caSmrg#endif 23711d341caSmrg 23811d341caSmrg/* 23911d341caSmrg * Drivers that don't need AGP can work with 4.0, but we don't have a 24011d341caSmrg * mechanism for specifying a subset of drivers in the OS.cf files yet. 24111d341caSmrg */ 24211d341caSmrg#ifndef BuildXF86DRI 24311d341caSmrg#if OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 1) 24411d341caSmrg#define BuildXF86DRI YES 24511d341caSmrg#endif 24611d341caSmrg#endif 24711d341caSmrg 24811d341caSmrg/* 24911d341caSmrg * 4.1/i386 and 5.0/i386,alpha,ia64,amd64 have the AGP driver. 25011d341caSmrg */ 25111d341caSmrg#ifndef HasAgpGart 25211d341caSmrg#if defined(i386Architecture) && \ 25311d341caSmrg (OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 1)) 25411d341caSmrg#define HasAgpGart YES 25511d341caSmrg#endif 25611d341caSmrg#if (defined(AlphaArchitecture) || defined(ia64Architecture) || \ 25711d341caSmrg defined(AMD64Architecture)) && (OSMajorVersion >= 5) 25811d341caSmrg#define HasAgpGart YES 25911d341caSmrg#endif 26011d341caSmrg#endif 26111d341caSmrg 26211d341caSmrg/* 2631c80d5b0Smrg * SSE and 3DNow will be autodetected, so binutils is the only 26411d341caSmrg * requirement for enabling this. By 4.2 they were all supported. 26511d341caSmrg */ 26611d341caSmrg#if defined(AMD64Architecture) || defined(i386Architecture) && \ 26711d341caSmrg (OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 2)) 26811d341caSmrg# define HasX86Support YES 26911d341caSmrg# define HasMMXSupport YES 27011d341caSmrg# define Has3DNowSupport YES 27111d341caSmrg# define HasSSESupport YES 27211d341caSmrg#else 27311d341caSmrg# define HasX86Support NO 27411d341caSmrg# define HasMMXSupport NO 27511d341caSmrg# define Has3DNowSupport NO 27611d341caSmrg# define HasSSESupport NO 27711d341caSmrg#endif 27811d341caSmrg 2791c80d5b0Smrg/* 28011d341caSmrg * This doesn't work the way it does on every other system. On FreeBSD it's 2811c80d5b0Smrg * only a "hint, not a demand", whatever that means. Note that this is not 28211d341caSmrg * what it says in the ld and ld.so man pages, which are rather vague on the 28311d341caSmrg * matter. 28411d341caSmrg * 2851c80d5b0Smrg * But we do know that if a) you do what the X Project team does and set your 2861c80d5b0Smrg * ProjectRoot to something like "/X11", and b) you have other X libraries, 2871c80d5b0Smrg * e.g. in /usr/X11R6/lib, and you have added /usr/X11R6/lib to your 28811d341caSmrg * ld.so.cache with ldconfig, then any programs linked with this "hint" will 2891c80d5b0Smrg * find that ld.so ignores the "hint" at runtime and loads the libraries in 29011d341caSmrg * the ld.so.cache, i.e.the wrong ones, instead! Empirically we find that 29111d341caSmrg * the run-path is only used as a last resort to find the libraries, after 29211d341caSmrg * the LD_LIBRARY_PATH and ld.so.cache. 29311d341caSmrg * 29411d341caSmrg * N. B. to FreeBSD users who are not familiar with the semantics of the run- 2951c80d5b0Smrg * path on other systems. The run-path is akin to a per-program ld.so.cache. 2961c80d5b0Smrg * If a program is linked with a run-path, that run-path should take 2971c80d5b0Smrg * precedence over _everything_ else! In my opinion ldconfig and the 29811d341caSmrg * ld.so.cache should be deprecated immediately now that FreeBSD has run- 2991c80d5b0Smrg * paths. Any program that needs libraries that are outside the "well known" 30011d341caSmrg * locations should be linked with a run-path. 30111d341caSmrg * 30211d341caSmrg * All of which begs the question: If this option doesn't work in any useful 30311d341caSmrg * way, why did they (FreeBSD) bother to add it? It would be nice if FreeBSD 30411d341caSmrg * would fix ld.so so that run-paths are truly useful. 30511d341caSmrg * 3061c80d5b0Smrg * Using run-paths is added with the intent that vendors who ship X for 3071c80d5b0Smrg * FreeBSD should use it too. Once everyone uses it then there will be no 3081c80d5b0Smrg * reason for FreeBSD to assume that it knows where X libraries are installed 3091c80d5b0Smrg * and they can remove it from the list of directories they add to ld.so.cache 31011d341caSmrg * in their /etc/rc file. 31111d341caSmrg */ 31211d341caSmrg 31311d341caSmrg#ifndef UseRpath 31411d341caSmrg# define UseRpath YES 31511d341caSmrg#endif 31611d341caSmrg 31711d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2) 31811d341caSmrg 31911d341caSmrg# ifndef RpathLoadFlags 32011d341caSmrg# if UseRpath 32111d341caSmrg# if UseElfFormat 32211d341caSmrg# define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH) 32311d341caSmrg# else 32411d341caSmrg# define RpathLoadFlags -Wl,-R,$(USRLIBDIRPATH) 32511d341caSmrg# endif 32611d341caSmrg# else 32711d341caSmrg# define RpathLoadFlags /**/ 32811d341caSmrg# endif 32911d341caSmrg# endif 33011d341caSmrg 33111d341caSmrg# ifndef ExtraLoadFlags 33211d341caSmrg# if UseElfFormat && !defined(UseInstalled) 33311d341caSmrg# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR) 33411d341caSmrg# else 33511d341caSmrg# define ExtraLoadFlags RpathLoadFlags 33611d341caSmrg# endif 33711d341caSmrg# endif 33811d341caSmrg 33911d341caSmrg#endif 34011d341caSmrg 34111d341caSmrg#ifndef LibraryRpathLoadFlags 34211d341caSmrg# if UseRpath 34311d341caSmrg# if UseElfFormat 34411d341caSmrg# define LibraryRpathLoadFlags -rpath $(USRLIBDIRPATH) 34511d341caSmrg# else 34611d341caSmrg# define LibraryRpathLoadFlags -R $(USRLIBDIRPATH) 34711d341caSmrg# endif 34811d341caSmrg# else 34911d341caSmrg# define LibraryRpathLoadFlags /**/ 35011d341caSmrg# endif 35111d341caSmrg#endif 35211d341caSmrg 35311d341caSmrg#ifndef SharedLibraryLoadFlags 35411d341caSmrg# if UseElfFormat 35511d341caSmrg# define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags 35611d341caSmrg# else 35711d341caSmrg# define SharedLibraryLoadFlags -Bshareable LibraryRpathLoadFlags 35811d341caSmrg# endif 35911d341caSmrg#endif 36011d341caSmrg 36111d341caSmrg#ifndef GnuMallocLibrary 36211d341caSmrg#define GnuMallocLibrary -lgnumalloc 36311d341caSmrg#endif 36411d341caSmrg 36511d341caSmrg#if (OSMajorVersion > 2) || (OSMajorVersion == 2 && OSMinorVersion >= 2) \ 36611d341caSmrg || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 6) 36711d341caSmrg/* 2.1.6 and 2.2 have libz */ 36811d341caSmrg#ifndef HasZlib 36911d341caSmrg#define HasZlib YES 37011d341caSmrg#endif 37111d341caSmrg#endif 37211d341caSmrg 37311d341caSmrg/* PAM appeared in FreeBSD 3.1 */ 37411d341caSmrg#if (OSMajorVersion > 3) || (OSMajorVersion == 3 && OSMinorVersion >=1 ) 37511d341caSmrg#ifndef HasPam 37611d341caSmrg#define HasPam YES 37711d341caSmrg#endif 37811d341caSmrg#endif 37911d341caSmrg 38011d341caSmrg/* There are two options for building. One is to assume that the system has 38111d341caSmrg * many of the dependencies provided by the ports tree. The other is to just 38211d341caSmrg * build everything from this tree. 38311d341caSmrg */ 38411d341caSmrg 38511d341caSmrg#ifndef HasStandardPorts 38611d341caSmrg#define HasStandardPorts YES 38711d341caSmrg#endif 38811d341caSmrg 38911d341caSmrg#ifndef LocalBase 39011d341caSmrg#define LocalBase /usr/local 39111d341caSmrg#endif 39211d341caSmrg#ifndef X11Base 39311d341caSmrg#define X11Base /usr/X11R6 39411d341caSmrg#endif 39511d341caSmrg 39611d341caSmrg#if HasStandardPorts 39711d341caSmrg 39811d341caSmrg#ifndef HasExpat 39911d341caSmrg# define HasExpat YES 40011d341caSmrg# define ExpatDir LocalBase 40111d341caSmrg#endif 40211d341caSmrg 40311d341caSmrg#ifndef HasFreetype2 40411d341caSmrg# define HasFreetype2 YES 40511d341caSmrg# define Freetype2Dir LocalBase 40611d341caSmrg#endif 40711d341caSmrg 40811d341caSmrg#ifndef HasFontconfig 40911d341caSmrg# define HasFontconfig YES 41011d341caSmrg# define FontconfigDir X11Base 41111d341caSmrg#endif 41211d341caSmrg 41311d341caSmrg#ifndef HasLibpng 41411d341caSmrg# define HasLibpng YES 41511d341caSmrg# define LibpngDir LocalBase 41611d341caSmrg#endif 41711d341caSmrg 41811d341caSmrg#endif /* HasStandardPorts */ 41911d341caSmrg 42011d341caSmrg#undef InstallCmd 42111d341caSmrg#define InstallCmd /usr/bin/install 42211d341caSmrg 42311d341caSmrg#if UseElfFormat 42411d341caSmrg# define AsmElfDefines -D__ELF__ 42511d341caSmrg#else 42611d341caSmrg# define AsmElfDefines /**/ 42711d341caSmrg#endif 42811d341caSmrg 42911d341caSmrg#if GccUsesGas 43011d341caSmrg# define GccGasOption -DGCCUSESGAS 43111d341caSmrg# define AsmDefines -DUSE_GAS AsmElfDefines 43211d341caSmrg#else 43311d341caSmrg# define GccGasOption /**/ 43411d341caSmrg# define AsmDefines AsmElfDefines 43511d341caSmrg#endif 43611d341caSmrg 43711d341caSmrg#ifdef i386Architecture 43811d341caSmrg#define ServerExtraDefines GccGasOption XFree86ServerDefines 43911d341caSmrg#endif 44011d341caSmrg#if defined(AlphaArchitecture) || defined(Sparc64Architecture) || \ 44111d341caSmrg defined(ia64Architecture) || defined(AMD64Architecture) 44211d341caSmrg#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64 44311d341caSmrg#endif 44411d341caSmrg#ifdef Sparc64Architecture 44511d341caSmrg#define AsVISOption -Av9a 44611d341caSmrg#define AsOutputArchSize 64 44711d341caSmrg#endif 44811d341caSmrg 44911d341caSmrg#ifdef PpcArchitecture 45011d341caSmrg#define XF86INT10_BUILD X86INT10_STUB 45111d341caSmrg#endif 45211d341caSmrg 45311d341caSmrg#define StandardDefines -DCSRG_BASED 45411d341caSmrg 45511d341caSmrg#if OSMajorVersion > 1 45611d341caSmrg#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 45711d341caSmrg#define XawI18nDefines -DUSE_XWCHAR_STRING 45811d341caSmrg#define HasMakefileSafeInclude YES 45911d341caSmrg#define IncludeMakefile(file) @@# dependencies are in .depend 46011d341caSmrg#define DependFileName .depend 46111d341caSmrg#ifndef DoLoadableServer 46211d341caSmrg#define DoLoadableServer YES 46311d341caSmrg#endif 46411d341caSmrg#ifndef ForceNormalLib 46511d341caSmrg#define ForceNormalLib YES 46611d341caSmrg#endif 46711d341caSmrg#define HasMkstemp YES 46811d341caSmrg#else 46911d341caSmrg#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF 47011d341caSmrg#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 47111d341caSmrg#endif 47211d341caSmrg 47311d341caSmrg/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */ 47411d341caSmrg#ifndef DefaultGcc2i386Opt 47511d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5) 47611d341caSmrg#define DefaultGcc2i386Opt -O2 GccAliasingArgs 47711d341caSmrg#endif 47811d341caSmrg#endif 47911d341caSmrg 48011d341caSmrg#ifdef i386Architecture 48111d341caSmrg# define OptimizedCDebugFlags DefaultGcc2i386Opt 48211d341caSmrg#else 48311d341caSmrg# define OptimizedCDebugFlags -O 48411d341caSmrg#endif 48511d341caSmrg 48611d341caSmrg#ifndef PreIncDir 48711d341caSmrg# define PreIncDir /usr/include 48811d341caSmrg#endif 48911d341caSmrg 49011d341caSmrg#define HasGroff YES 49111d341caSmrg#define NroffCmd env GROFF_NO_SGR=y groff -Tascii 49211d341caSmrg#define SetTtyGroup YES 49311d341caSmrg 49411d341caSmrg#ifndef ExtraFilesToClean 49511d341caSmrg# define ExtraFilesToClean *.core 49611d341caSmrg#endif 49711d341caSmrg 49811d341caSmrg#define DefaultUserPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/gnu/bin:/usr/local/bin 49911d341caSmrg#define DefaultSystemPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR) 50011d341caSmrg#ifndef SystemManDirectory 50111d341caSmrg#define SystemManDirectory /usr/share/man 50211d341caSmrg#endif 50311d341caSmrg 50411d341caSmrg#define InstKmemFlags -g kmem -m 2755 50511d341caSmrg 50611d341caSmrg/* 50711d341caSmrg * Compress manual pages 50811d341caSmrg */ 50911d341caSmrg#ifndef CompressManPages 51011d341caSmrg# define CompressManPages YES 51111d341caSmrg#endif 51211d341caSmrg 51311d341caSmrg#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 1) 51411d341caSmrg#define HasBsdMake YES 51511d341caSmrg#endif 51611d341caSmrg 51711d341caSmrg#ifndef StaticLibrary 51811d341caSmrg#define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic 51911d341caSmrg#endif 52011d341caSmrg 52111d341caSmrg#if UseElfFormat 52211d341caSmrg#define DlLibrary -rdynamic 52311d341caSmrg#else 52411d341caSmrg#define DlLibrary /**/ 52511d341caSmrg#endif 52611d341caSmrg 52711d341caSmrg#ifdef AlphaArchitecture 52811d341caSmrg#define IoLibrary -lio 52911d341caSmrg#else 53011d341caSmrg#define IoLibrary /**/ 53111d341caSmrg#endif 53211d341caSmrg 53311d341caSmrg#define ServerExtraSysLibs IoLibrary 5341c80d5b0Smrg 53511d341caSmrg#ifndef PamLibraries 53611d341caSmrg#define PamLibraries -lpam DlLibrary 53711d341caSmrg#endif 53811d341caSmrg 53911d341caSmrg#ifndef SharedLibXdmGreet 54011d341caSmrg# define SharedLibXdmGreet NO 54111d341caSmrg#endif 54211d341caSmrg 54311d341caSmrg/* 54411d341caSmrg * On FreeBSD, the run-time loader will use the built-in "rpath" before 54511d341caSmrg * LD_LIBRARY_PATH. This means that utilities like mkfontdir will load 54611d341caSmrg * installed libraries (if they exist) in preference to the ones in the 54711d341caSmrg * build tree, even though LD_LIBRARY_PATH points to the build tree. 54811d341caSmrg * This can result in the build failing. One way to avoid this is to 54911d341caSmrg * pre-load the libraries from the build tree. 55011d341caSmrg * 55111d341caSmrg * There should be a better way than this hack... 55211d341caSmrg */ 55311d341caSmrg#if UseElfFormat 55411d341caSmrg#ifndef PreloadFontSetup 55511d341caSmrg#define PreloadFontSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(XFONTPRELOADPATTERN))`" 55611d341caSmrg#endif 55711d341caSmrg#ifndef PreloadFreetypeSetup 55811d341caSmrg#define PreloadFreetypeSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN))`" 55911d341caSmrg#endif 56011d341caSmrg#ifndef PreloadXFTSetup 56111d341caSmrg#define PreloadXFTSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN) $(XFTPRELOADPATTERN) $(XRENDERPRELOADPATTERN) $(FCPRELOADPATTERN))`" 56211d341caSmrg#endif 56311d341caSmrg#endif 56411d341caSmrg 56511d341caSmrg#ifndef HasCookieMaker 56611d341caSmrg/* Which versions have /dev/urandom? */ 56711d341caSmrg#if OSMajorVersion >= 4 56811d341caSmrg#define HasCookieMaker YES 56911d341caSmrg#define MkCookieCmd \ 57011d341caSmrg 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"' 57111d341caSmrg#else 57211d341caSmrg#define HasCookieMaker NO 57311d341caSmrg#endif 57411d341caSmrg#endif 57511d341caSmrg 57611d341caSmrg/* 57711d341caSmrg * A hack to work around an optimization problem with gcc 2.95.2 - 2.95.4 57811d341caSmrg */ 57911d341caSmrg#if (GccMajorVersion == 2 && GccMinorVersion == 95) 58011d341caSmrg#define GccOptBug295 58111d341caSmrg#endif 58211d341caSmrg 58311d341caSmrg#include <bsdLib.rules> 58411d341caSmrg 58511d341caSmrg#include <xorg.cf> 586