NetBSD.cf revision 880d0a0c
111d341caSmrgXCOMM platform: $Xorg: NetBSD.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $ 211d341caSmrg 311d341caSmrg 411d341caSmrg 511d341caSmrgXCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.122 2003/11/18 18:09:45 dawes Exp $ 611d341caSmrg 711d341caSmrg 811d341caSmrg#ifndef OSName 911d341caSmrg#define OSName DefaultOSName OSBinaryType 1011d341caSmrg#endif 1111d341caSmrg#ifndef OSMajorVersion 1211d341caSmrg#define OSMajorVersion DefaultOSMajorVersion 1311d341caSmrg#endif 1411d341caSmrg#ifndef OSMinorVersion 1511d341caSmrg#define OSMinorVersion DefaultOSMinorVersion 1611d341caSmrg#endif 1711d341caSmrg#ifndef OSTeenyVersion 1811d341caSmrg#define OSTeenyVersion DefaultOSTeenyVersion 1911d341caSmrg#endif 2011d341caSmrg 2111d341caSmrg 2211d341caSmrg#ifndef OSVendor 2311d341caSmrg#define OSVendor The NetBSD Foundation, Inc. 2411d341caSmrg#endif 2511d341caSmrgXCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) 2611d341caSmrg 2711d341caSmrg/* 2811d341caSmrg * C library features 2911d341caSmrg */ 3011d341caSmrg#if ((OSMajorVersion > 1) || \ 3111d341caSmrg (OSMajorVersion == 1 && OSMinorVersion > 2) || \ 3211d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1)) 3311d341caSmrg# define HasPoll YES 3411d341caSmrg#endif 3511d341caSmrg#define HasNdbm YES 3611d341caSmrg#define HasPutenv YES 3711d341caSmrg#if OSMajorVersion == 1 && OSMinorVersion > 4 || OSMajorVersion > 1 3811d341caSmrg# define HasStrlcat YES 3911d341caSmrg#endif 4011d341caSmrg#define HasSnprintf YES 4111d341caSmrg#define HasBSD44Sockets YES 4211d341caSmrg#define Malloc0ReturnsNull NO 4311d341caSmrg#define SetTtyGroup YES 4411d341caSmrg#define DBMLibrary /**/ 4511d341caSmrg#define HasDlopen YES 4611d341caSmrg#define HasSetProcTitle YES 4711d341caSmrg#ifndef HasLibCrypt 4811d341caSmrg# define HasLibCrypt YES 4911d341caSmrg#endif 5011d341caSmrg#ifndef BuildPDFdocs 5111d341caSmrg# define BuildPDFdocs NO 5211d341caSmrg#endif 5311d341caSmrg#ifndef HasShm 5411d341caSmrg# if OSMajorVersion == 0 && OSMinorVersion == 9 && OSTeenyVersion == 2 5511d341caSmrg/* 5611d341caSmrg * Shm memory was removed in 0.9B because it was encumbered. 5711d341caSmrg * A free version was added in 0.9C 5811d341caSmrg */ 5911d341caSmrg# define HasShm NO 6011d341caSmrg# else 6111d341caSmrg# define HasShm YES 6211d341caSmrg# endif 6311d341caSmrg#endif 6411d341caSmrg#define HasWChar32 YES 6511d341caSmrg/* 6611d341caSmrg * There's a bug in NetBSD 1.0, 1.1 and 1.2 dlsym() 6711d341caSmrg */ 6811d341caSmrg#if ((OSMajorVersion == 1 && OSMinorVersion < 2) || \ 6911d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion < 2)) 7011d341caSmrg# define HasDlsymBug YES 7111d341caSmrg#endif 7211d341caSmrg/* Mkstemp is there since 1.2 (at least) */ 7311d341caSmrg#if (!(OSMajorVersion == 0 || \ 74c5867c1cSmrg (OSMajorVersion == 1 && OSMinorVersion < 2))) 7511d341caSmrg#define HasMkstemp YES 7611d341caSmrg#endif 7711d341caSmrg/* But the standalone mktemp doesn't exist before NetBSD 1.5*/ 7811d341caSmrg#if (OSMajorVersion ==0 || (OSMajorVersion == 1 && OSMinorVersion <= 4)) 7911d341caSmrg# define HasMktemp NO 8011d341caSmrg#else 8111d341caSmrg# define HasMktemp YES 8211d341caSmrg#endif 8311d341caSmrg 8411d341caSmrg#ifndef HasIssetugid 8511d341caSmrg# if (OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion >= 5)) 8611d341caSmrg# define HasIssetugid YES 8711d341caSmrg# endif 8811d341caSmrg#endif 8911d341caSmrg 90c5867c1cSmrg#if (OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion > 1) 9111d341caSmrg#define HasGetIfAddrs YES 9211d341caSmrg#endif 9311d341caSmrg 9411d341caSmrg#define HasUsableFileMmap YES 9511d341caSmrg 9611d341caSmrg#define HasVarRun YES 9711d341caSmrg#define HasVarDb YES 9811d341caSmrg 9911d341caSmrg#define HasShadowPasswd NO 10011d341caSmrg 10111d341caSmrg#define InstallXloadSetGID NO 10211d341caSmrg 10311d341caSmrg#if OSMajorVersion < 1 || (OSMajorVersion == 1 && OSMinorVersion < 5) 10411d341caSmrg#define BuildIPv6 NO 10511d341caSmrg#endif 10611d341caSmrg 10711d341caSmrg#define IPv6SocketsAlsoIPv4 NO 10811d341caSmrg 10911d341caSmrg/* 11011d341caSmrg * NetBSD 1.6M and newer supports POSIX Threads. 11111d341caSmrg */ 11211d341caSmrg 11311d341caSmrg#ifndef NetBSDThreads 11411d341caSmrg# define NetBSDThreads YES 11511d341caSmrg#endif 11611d341caSmrg 11711d341caSmrg#if NetBSDThreads && \ 11811d341caSmrg ((OSMajorVersion > 1) || \ 11911d341caSmrg (OSMajorVersion == 1 && OSMinorVersion > 6) || \ 12011d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 6 && OSTeenyVersion >= 13)) 12111d341caSmrg 12211d341caSmrg# define HasPosixThreads YES 12311d341caSmrg# define ThreadedX YES 12411d341caSmrg# define HasThreadSafeAPI YES 12511d341caSmrg# define ThreadsLibraries -lpthread 12611d341caSmrg# if ((OSMajorVersion == 2 && OSMinorVersion == 99 && OSTeenyVersion < 11) || \ 12711d341caSmrg (OSMajorVersion == 2 && OSMinorVersion < 99) || \ 12811d341caSmrg (OSMajorVersion < 2)) 12911d341caSmrg# define LibraryMTDefines -DUSE_NBSD_THREADLIB 13011d341caSmrg# endif 13111d341caSmrg# define SystemMTDefines -D_REENTRANT 13211d341caSmrg# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI 133c5867c1cSmrg#else 13411d341caSmrg# define ThreadedX NO 13511d341caSmrg#endif 13611d341caSmrg 13711d341caSmrg/* 13811d341caSmrg * Compiler Features 13911d341caSmrg */ 14011d341caSmrg#define GccUsesGas YES 14111d341caSmrg#define UseGas YES 14211d341caSmrg#define GnuCpp YES 14311d341caSmrg 14411d341caSmrg#define NeedConstPrototypes YES 14511d341caSmrg#define NeedFunctionPrototypes YES 14611d341caSmrg#define NeedNestedPrototypes YES 14711d341caSmrg#define NeedVarargsPrototypes YES 14811d341caSmrg#define NeedWidePrototypes NO 14911d341caSmrg 15011d341caSmrg#define MkdirHierCmd mkdir -p 15111d341caSmrg 15211d341caSmrg#undef CcCmd 15311d341caSmrg#define CcCmd gcc 15411d341caSmrg#ifndef DefaultCCOptions 15511d341caSmrg#if defined(UseInstalled) 15611d341caSmrg#define DefaultCCOptions /**/ 15711d341caSmrg#else 15811d341caSmrg#ifdef Arm32Architecture 15911d341caSmrg#define DefaultCCOptions -ansi -Dasm=__asm -fsigned-char \ 16011d341caSmrg -fomit-frame-pointer 16111d341caSmrg#elif defined(PpcArchitecture) 16211d341caSmrg# define DefaultCCOptions -ansi -Dasm=__asm -fsigned-char 16311d341caSmrg#else 16411d341caSmrg#define DefaultCCOptions -ansi -Dasm=__asm GccWarningOptions 16511d341caSmrg#endif 16611d341caSmrg#endif 16711d341caSmrg#endif 16811d341caSmrg 16911d341caSmrg#define CppCmd cpp 17011d341caSmrg#define StandardCppOptions -traditional 17111d341caSmrg#define StandardCppDefines /**/ 17211d341caSmrg#define PreProcessCmd CcCmd -E 17311d341caSmrg#define PostIncDir /usr/include 17411d341caSmrg 17511d341caSmrg#define GccGasOption -DGCCUSESGAS 17611d341caSmrg#define AsmDefines -DUSE_GAS 17711d341caSmrg 17811d341caSmrg/* UseElfFormat defaults to YES if __ELF__ set */ 17911d341caSmrg#ifndef UseElfFormat 18011d341caSmrg# ifdef __ELF__ 18111d341caSmrg# undef __ELF__ /* other imake files shouldn't care */ 18211d341caSmrg# define UseElfFormat YES 18311d341caSmrg# else 18411d341caSmrg# define UseElfFormat NO 18511d341caSmrg# endif 18611d341caSmrg#endif 18711d341caSmrg 18811d341caSmrg/* 18911d341caSmrg * Dynamic loading supported starting in 1.0 on a.out platforms, 19011d341caSmrg * and on all ELF platforms. 19111d341caSmrg * 19211d341caSmrg * XXX May not be correct on NetBSD/pmax (ELF, but might not have 19311d341caSmrg * working shared libs). 19411d341caSmrg * 195c5867c1cSmrg * Disabled for NetBSD/vax until I figure out the scheme. --CS 19611d341caSmrg */ 19711d341caSmrg#if ((OSMajorVersion > 0) && defined(i386Architecture)) || \ 198b94d2739Scube defined(PpcArchitecture) || defined(AMD64Architecture) 19911d341caSmrg# ifndef DoLoadableServer 20011d341caSmrg# define DoLoadableServer YES 20111d341caSmrg# endif 20211d341caSmrg#else 20311d341caSmrg# ifndef DoLoadableServer 20411d341caSmrg# define DoLoadableServer NO 20511d341caSmrg# endif 20611d341caSmrg#endif 20711d341caSmrg 20811d341caSmrg#if UseElfFormat 20911d341caSmrg#define DlLibrary -rdynamic /* no -ldl yet */ 21011d341caSmrg#else 21111d341caSmrg#define DlLibrary /**/ 21211d341caSmrg#endif 21311d341caSmrg 21411d341caSmrg/* All ELF NetBSD systems support Weak symbols */ 215c5867c1cSmrg#define HasWeakSymbols UseElfFormat 21611d341caSmrg 21711d341caSmrg#ifdef i386Architecture 21811d341caSmrg# ifndef DefaultGcc2i386Opt 21911d341caSmrg# if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 2) 22011d341caSmrg /* The GCC strength-reduce bug is fixed for NetBSD 1.3 and later */ 22111d341caSmrg# define DefaultGcc2i386Opt -O2 GccAliasingArgs 22211d341caSmrg# endif 22311d341caSmrg# endif 22411d341caSmrg# define OptimizedCDebugFlags DefaultGcc2i386Opt 22511d341caSmrg# if OSMajorVersion < 1 22611d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DXNO_SYSCONF 22711d341caSmrg# else 22811d341caSmrg# define ServerOSDefines XFree86ServerOSDefines 22911d341caSmrg# endif 23011d341caSmrg# if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2 23111d341caSmrg# define ServerExtraSysLibs -li386 23211d341caSmrg# endif 23311d341caSmrg#else 234b94d2739Scube# define OptimizedCDebugFlags -O2 GccAliasingArgs 23511d341caSmrg# if defined(SparcArchitecture) 23611d341caSmrg# define ServerOSDefines -DDDXOSINIT 23711d341caSmrg# elif defined(AlphaArchitecture) 23811d341caSmrg# define ServerOSDefines XFree86ServerOSDefines 23911d341caSmrg# elif defined(Arm32Architecture) 24011d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 24111d341caSmrg# elif defined(PpcArchitecture) 24211d341caSmrg# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT 24311d341caSmrg# else 24411d341caSmrg# define ServerOSDefines /**/ 24511d341caSmrg# endif 24611d341caSmrg# if defined(AlphaArchitecture) 24711d341caSmrg# define ServerExtraSysLibs -lalpha 24811d341caSmrg# else 24911d341caSmrg# define ServerExtraSysLibs /**/ 25011d341caSmrg# endif 25111d341caSmrg#endif 25211d341caSmrg#ifdef i386Architecture 25311d341caSmrg# define ServerExtraDefines GccGasOption XFree86ServerDefines 25411d341caSmrg# ifndef XFree86ConsoleDefines 25511d341caSmrg# if (OSMajorVersion == 1 && ((OSMinorVersion == 3 && OSTeenyVersion >= 6) \ 25611d341caSmrg || OSMinorVersion >= 4) \ 257c5867c1cSmrg || OSMajorVersion >= 2) 25811d341caSmrg# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT -DWSCONS_SUPPORT 25911d341caSmrg# else 26011d341caSmrg# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT 26111d341caSmrg# endif 26211d341caSmrg# endif 26311d341caSmrg#elif defined(SparcArchitecture) 26411d341caSmrg# if defined(Sparc64Architecture) 26511d341caSmrg# define ServerExtraDefines XFree86ServerDefines -D_XSERVER64 26611d341caSmrg# else 26711d341caSmrg# define ServerExtraDefines XFree86ServerDefines 26811d341caSmrg# endif 26911d341caSmrg# elif defined(AlphaArchitecture) 27011d341caSmrg /* XXX for the following */ 27111d341caSmrg# define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64 27211d341caSmrg# ifndef XFree86ConsoleDefines 27311d341caSmrg# define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCCONS_SUPPORT -DPCVT_SUPPORT 27411d341caSmrg# endif 27511d341caSmrg#elif defined(AlphaArchitecture) 27611d341caSmrg# define ServerExtraDefines GccGasOption -D_XSERVER64 27711d341caSmrg#elif defined(Arm32Architecture) 27811d341caSmrg# define ServerExtraDefines GccGasOption XFree86ServerDefines 27911d341caSmrg# ifndef XFree86ConsoleDefines 28011d341caSmrg# define XFree86ConsoleDefines -DPCCONS_SUPPORT 28111d341caSmrg# endif 28211d341caSmrg#elif defined(PpcArchitecture) 28311d341caSmrg# define ServerExtraDefines GccGasOption XFree86ServerDefines 28411d341caSmrg# ifndef XFree86ConsoleDefines 28511d341caSmrg# define XFree86ConsoleDefines -DWSCONS_SUPPORT 28611d341caSmrg# endif 287880d0a0cSmrg#elif defined(ia64Architecture) || defined(AMD64Architecture) || defined(RV64Architecture) 288b94d2739Scube#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64 28911d341caSmrg#else 29011d341caSmrg# define ServerExtraDefines GccGasOption 29111d341caSmrg#endif 29211d341caSmrg 29311d341caSmrg#define StandardDefines -DCSRG_BASED 29411d341caSmrg/* Citrus mb locale were added in 1.5P */ 29511d341caSmrg#if ((OSMajorVersion > 1) || \ 29611d341caSmrg (OSMajorVersion == 1 && OSMinorVersion > 5) || \ 29711d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 5 && OSTeenyVersion >= 15)) 29811d341caSmrg#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H 29911d341caSmrg#else 30011d341caSmrg#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 30111d341caSmrg#endif 30211d341caSmrg 30311d341caSmrg#ifndef ExtraLibraries 30411d341caSmrg#define ExtraLibraries /**/ 30511d341caSmrg#endif 30611d341caSmrg#ifndef UseGnuMalloc 30711d341caSmrg/* 30811d341caSmrg * There is no way to map 1.4J correctly to OS*Version, so 'J' is mapped 30911d341caSmrg * to OSTeenyVersion == 9. That should be safe, since there will never 31011d341caSmrg * be a release for 1.4.9. 31111d341caSmrg */ 31211d341caSmrg# if ((OSMajorVersion > 1) || \ 31311d341caSmrg (OSMajorVersion == 1 && OSMinorVersion > 4) || \ 31411d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion > 9)) 31511d341caSmrg# define UseGnuMalloc NO 31611d341caSmrg# else 31711d341caSmrg# define UseGnuMalloc YES 31811d341caSmrg#endif 31911d341caSmrg#endif 32011d341caSmrg#ifndef GnuMallocLibrary 32111d341caSmrg#define GnuMallocLibrary -lgnumalloc 32211d341caSmrg#endif 32311d341caSmrg 32411d341caSmrg#if ((OSMajorVersion > 1) || \ 32511d341caSmrg (OSMajorVersion == 1 && OSMinorVersion > 2) || \ 32611d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1)) 32711d341caSmrg#ifndef HasZlib 32811d341caSmrg#define HasZlib YES 32911d341caSmrg#endif 330c5867c1cSmrg#endif 33111d341caSmrg 33211d341caSmrg#define AdmDir /var/log 33311d341caSmrg 33411d341caSmrg#define HasFlex YES 33511d341caSmrg 336624e3943Smrg#ifndef HasGnuAr 337624e3943Smrg#define HasGnuAr YES 338624e3943Smrg#endif 339624e3943Smrg 34011d341caSmrg/* NetBSD doesn't have gperf in the base install */ 34111d341caSmrg#define DontRebuildGperfOutput YES 34211d341caSmrg 343c5867c1cSmrg/* 34411d341caSmrg * NetBSD doesn't have perl in default system 34511d341caSmrg * you may override this in host.def if you installed perl from the packages 34611d341caSmrg */ 34711d341caSmrg#ifndef HasPerl 34811d341caSmrg#define HasPerl NO 34911d341caSmrg#endif 35011d341caSmrg 35111d341caSmrg/* 35211d341caSmrg * NetBSD doesn't have gperf in default system 35311d341caSmrg * you may override this in host.def if you installed perl from the packages 35411d341caSmrg */ 35511d341caSmrg#ifndef HasGperf 35611d341caSmrg#define HasGperf NO 35711d341caSmrg#endif 35811d341caSmrg 35911d341caSmrg/* 36011d341caSmrg * Make & install Features 36111d341caSmrg */ 36211d341caSmrg#define HasBsdMake YES 36311d341caSmrg#define CompressAllFonts YES 36411d341caSmrg#define GzipFontCompression YES 36511d341caSmrg#define DefaultUserPath /bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:$(BINDIR) 36611d341caSmrg#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR) 36711d341caSmrg 36811d341caSmrg#ifdef InstallCmd 36911d341caSmrg# undef InstallCmd 37011d341caSmrg# define InstallCmd /usr/bin/install 37111d341caSmrg#endif 37211d341caSmrg 37311d341caSmrg#ifndef ExtraFilesToClean 37411d341caSmrg# define ExtraFilesToClean *.core 37511d341caSmrg#endif 37611d341caSmrg 37711d341caSmrg/* 37811d341caSmrg * Documentation formatting 37911d341caSmrg */ 38011d341caSmrg#define NeqnCmd neqn -Tlatin1 38111d341caSmrg#define NroffCmd nroff -Tlatin1 38211d341caSmrg#define EqnCmd eqn -Tps 38311d341caSmrg#define HasGroff YES 38411d341caSmrg 38511d341caSmrg/* 38611d341caSmrg * To use the NetBSD Aperture driver 38711d341caSmrg */ 38811d341caSmrg#if defined(i386Architecture) 38911d341caSmrg# ifndef HasNetBSDApertureDriver 39011d341caSmrg# define HasNetBSDApertureDriver YES 39111d341caSmrg# endif 39211d341caSmrg 39311d341caSmrg/* 39411d341caSmrg * Builtin MTRR support (NetBSD 1.5Y and up) 39511d341caSmrg */ 39611d341caSmrg# if ((OSMajorVersion > 1) || \ 39711d341caSmrg (OSMajorVersion == 1 && OSMinorVersion >= 6) || \ 39811d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 5 && \ 39911d341caSmrg OSTeenyVersion >= 25)) 40011d341caSmrg# define HasMTRRBuiltin YES 40111d341caSmrg# else 40211d341caSmrg /* 40311d341caSmrg * MTRR support provided by the Aperture driver 40411d341caSmrg */ 40511d341caSmrg# if HasNetBSDApertureDriver 40611d341caSmrg# ifndef HasMTRRSupport 40711d341caSmrg# define HasMTRRSupport YES 40811d341caSmrg# endif 40911d341caSmrg# endif 41011d341caSmrg# endif /* MTRRBuiltin */ 41111d341caSmrg#endif /* i386Architecture */ 41211d341caSmrg 413b94d2739Scube#if defined(AMD64Architecture) 414e9698f98Smrg# define HasMTRRBuiltin YES 415b94d2739Scube#endif 416b94d2739Scube 41711d341caSmrg/* 41811d341caSmrg * agpgart support (NetBSD 1.5Y and up) 41911d341caSmrg */ 42011d341caSmrg#if ((OSMajorVersion > 1) || \ 42111d341caSmrg (OSMajorVersion == 1 && OSMinorVersion >= 6) || \ 42211d341caSmrg (OSMajorVersion == 1 && OSMinorVersion == 5 && \ 42311d341caSmrg OSTeenyVersion >= 25)) 42411d341caSmrg# ifndef HasAgpGart 42511d341caSmrg# define HasAgpGart YES 42611d341caSmrg# endif 42711d341caSmrg#endif 42811d341caSmrg 42911d341caSmrg/* 43011d341caSmrg * MMX, SSE and 3DNow will be autodetected. NetBSD 1.6 and up have the 43111d341caSmrg * necessary kernel and toolchain support. 43211d341caSmrg */ 43311d341caSmrg#if defined(i386Architecture) && \ 43411d341caSmrg ((OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion > 5)) 43511d341caSmrg# define HasX86Support YES 43611d341caSmrg# define HasMMXSupport YES 43711d341caSmrg# define Has3DNowSupport YES 43811d341caSmrg# define HasSSESupport YES 43911d341caSmrg#else 44011d341caSmrg# define HasX86Support NO 44111d341caSmrg# define HasMMXSupport NO 44211d341caSmrg# define Has3DNowSupport NO 44311d341caSmrg# define HasSSESupport NO 44411d341caSmrg#endif 44511d341caSmrg 44611d341caSmrg#ifndef HasCookieMaker 44711d341caSmrg# if OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion >= 2 44811d341caSmrg /* NetBSD 1.5 and later have /dev/urandom */ 44911d341caSmrg# define HasCookieMaker YES 45011d341caSmrg# define MkCookieCmd \ 45111d341caSmrg 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"' 45211d341caSmrg# else 45311d341caSmrg# define HasCookieMaker NO 45411d341caSmrg# endif 45511d341caSmrg#endif 45611d341caSmrg 45711d341caSmrg 45811d341caSmrg/* 45911d341caSmrg * ForceSubdirs - force make to build subdirectories 460c5867c1cSmrg * 461c5867c1cSmrg * For BSD 4.4 make 46211d341caSmrg */ 46311d341caSmrg#define ForceSubdirs(dirs) @@\ 46411d341caSmrgdirs: .EXEC @@\ 46511d341caSmrg @cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \ @@\ 46611d341caSmrg $(MAKE) $(MFLAGS) PassCDebugFlags all @@\ 46711d341caSmrg @@\ 46811d341caSmrg.EXEC: 46911d341caSmrg 47011d341caSmrg/* 47111d341caSmrg * Man pages need to be formatted when installed, so override the default 47211d341caSmrg * imake rules. 47311d341caSmrg */ 47411d341caSmrg#define ManSuffix 1 47511d341caSmrg#define FileManSuffix 5 47611d341caSmrg#define ManSourcePath $(MANPATH)/cat 47711d341caSmrg 47811d341caSmrg#define InstallManPageLongBase(file,destdir,dest) @@\ 47911d341caSmrg @@\ 48011d341caSmrgall:: file.0 @@\ 48111d341caSmrg @@\ 48211d341caSmrgfile.0:: file.$(MANNEWSUFFIX) @@\ 48311d341caSmrg @if [ -f file.$(MANNEWSUFFIX) ]; \ @@\ 48411d341caSmrg then \ @@\ 48511d341caSmrg cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) > file.0; \ @@\ 48611d341caSmrg fi @@\ 48711d341caSmrg @@\ 48811d341caSmrginstall.man:: @@\ 48911d341caSmrg MakeDir($(DESTDIR)destdir) @@\ 49011d341caSmrg -@if [ -f file.0 ]; \ @@\ 49111d341caSmrg then \ @@\ 49211d341caSmrg $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\ 49311d341caSmrg fi @@\ 49411d341caSmrg @@\ 49511d341caSmrgclean:: @@\ 49611d341caSmrg RemoveFile(file.0) 49711d341caSmrg 49811d341caSmrg#define InstallManPageLong(file,destdir,dest) @@\ 49911d341caSmrgBuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\ 50011d341caSmrg @@\ 50111d341caSmrgCppManTarget(file, $(EXTRAMANDEFS)) @@\ 50211d341caSmrg @@\ 50311d341caSmrgInstallManPageLongBase(file,destdir,dest) 50411d341caSmrg 50511d341caSmrg#define InstallGenManPageLong(file,destdir,dest,suffix) @@\ 50611d341caSmrgBuildInstallHtmlManPage(file,dest,suffix) @@\ 50711d341caSmrg @@\ 50811d341caSmrgCppManTarget(file, $(EXTRAMANDEFS)) @@\ 50911d341caSmrg @@\ 51011d341caSmrgInstallManPageLongBase(file,destdir,dest) 51111d341caSmrg 51211d341caSmrg#define InstallMultipleMan(list,dest) @@\ 51311d341caSmrginstall.man:: @@\ 51411d341caSmrg MakeDir($(DESTDIR)dest) @@\ 51511d341caSmrg case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ 51611d341caSmrg for i in list; do \ @@\ 51711d341caSmrg (MNAME=`echo $$i | cut -f1 -d.`; \ @@\ 51811d341caSmrg set -x; \ @@\ 51911d341caSmrg cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\ 52011d341caSmrg | $(COL) > $${MNAME}.0; \ @@\ 52111d341caSmrg $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \ @@\ 52211d341caSmrg $(DESTDIR)dest/$${MNAME}.0; \ @@\ 52311d341caSmrg $(RM) $${MNAME}.0); \ @@\ 52411d341caSmrg done 52511d341caSmrg 52611d341caSmrg#define InstallMultipleManSuffix(list,dest,suff) @@\ 52711d341caSmrginstall.man:: @@\ 52811d341caSmrg MakeDir($(DESTDIR)dest) @@\ 52911d341caSmrg case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ 53011d341caSmrg for i in list; do \ @@\ 53111d341caSmrg (set -x; \ @@\ 53211d341caSmrg cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\ 53311d341caSmrg | $(COL) > $$i.0; \ @@\ 53411d341caSmrg $(INSTALL) -c $(INSTMANFLAGS) $$i.0 \ @@\ 53511d341caSmrg $(DESTDIR)dest/$$i.0; \ @@\ 53611d341caSmrg $(RM) $$i.0 ); \ @@\ 53711d341caSmrg done 53811d341caSmrg 53911d341caSmrg#define InstallManPageAliasesBase(file,destdir,aliases) @@\ 54011d341caSmrginstall.man:: @@\ 54111d341caSmrg @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ 54211d341caSmrg for i in aliases; do \ @@\ 54311d341caSmrg (set -x; \ @@\ 54411d341caSmrg $(RM) $(DESTDIR)destdir/$$i.0;\ @@\ 54511d341caSmrg (cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ @@\ 54611d341caSmrg ); \ @@\ 54711d341caSmrg done 54811d341caSmrg 54911d341caSmrg#define InstallManPageAliases(file,destdir,aliases) @@\ 55011d341caSmrgInstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\ 55111d341caSmrg @@\ 55211d341caSmrgInstallManPageAliasesBase(file,destdir,aliases) 55311d341caSmrg 55411d341caSmrg#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\ 55511d341caSmrgInstallHtmlManPageAliases(file,aliases,suffix) @@\ 55611d341caSmrg @@\ 55711d341caSmrgInstallManPageAliasesBase(file,destdir,aliases) 55811d341caSmrg 55911d341caSmrg/* 56011d341caSmrg * Shared libraries supported starting in 1.0 on a.out platforms, 56111d341caSmrg * and on all ELF platforms. 56211d341caSmrg * 56311d341caSmrg * XXX May not be correct on NetBSD/pmax (ELF, but might not have 56411d341caSmrg * working shared libs). 56511d341caSmrg */ 56611d341caSmrg#if ((OSMajorVersion > 0) && \ 56711d341caSmrg !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \ 56811d341caSmrg UseElfFormat 56911d341caSmrg# ifndef HasSharedLibraries 57011d341caSmrg# define HasSharedLibraries YES 57111d341caSmrg# endif 57211d341caSmrg#endif 57311d341caSmrg 57411d341caSmrg#ifndef OSBinaryType 57511d341caSmrg#if UseElfFormat 57611d341caSmrg#define OSBinaryType [ELF] 57711d341caSmrg#else 57811d341caSmrg#define OSBinaryType /**/ 57911d341caSmrg#endif 58011d341caSmrg#endif 58111d341caSmrg 58211d341caSmrg#ifndef HasSharedLibraries 58311d341caSmrg#define HasSharedLibraries NO 584c5867c1cSmrg#endif 58511d341caSmrg 58611d341caSmrg/* 58711d341caSmrg * Unresolved references are fatal on NetBSD 1.5 for libGL, which is 58811d341caSmrg * built with -Bsymbolic. 58911d341caSmrg */ 59011d341caSmrg#if UseElfFormat && OSMajorVersion == 1 && OSMinorVersion == 5 59111d341caSmrg#define SharedGLReqs $(LDPRELIBS) $(XLIB) -lc 59211d341caSmrg#endif 59311d341caSmrg 59411d341caSmrg#if HasSharedLibraries 59511d341caSmrg#include <bsdLib.rules> 59611d341caSmrg#endif /* HasSharedLibraries */ 59711d341caSmrg 598880d0a0cSmrg/* Always build the XInput library, regardless of server support on this platform */ 59911d341caSmrg#if !defined(BuildXInputLib) && !defined(BuildServersOnly) 60011d341caSmrg# define BuildXInputLib YES 60111d341caSmrg#endif 60211d341caSmrg 60311d341caSmrg/* 60411d341caSmrg * Definitions for the SUN server on NetBSD/sparc 60511d341caSmrg */ 60611d341caSmrg#ifdef SparcArchitecture 60711d341caSmrg#ifndef Xsun24Server 60811d341caSmrg#define Xsun24Server YES 60911d341caSmrg#endif 61011d341caSmrg#ifndef XsunServer 61111d341caSmrg#define XsunServer YES 61211d341caSmrg#endif 61311d341caSmrg#ifndef XsunMonoServer 61411d341caSmrg#define XsunMonoServer NO /* XXX: does not link */ 61511d341caSmrg#endif 61611d341caSmrg#ifndef BuildScreenSaverLibrary 61711d341caSmrg#define BuildScreenSaverLibrary YES 61811d341caSmrg#endif 61911d341caSmrg 62011d341caSmrg/* 621c5867c1cSmrg * XFree86 uses its own (more portable) database routines to speed up 62211d341caSmrg * the RGB database lookups 623c5867c1cSmrg * However, if you want to use ndbm anyway, you can set that to NO in 62411d341caSmrg * site.def 62511d341caSmrg */ 62611d341caSmrg#ifndef UseRgbTxt 62711d341caSmrg#define UseRgbTxt YES 62811d341caSmrg#endif 62911d341caSmrg#define BuildXF86VidModeExt NO 63011d341caSmrg#define BuildXF86DGA NO 63111d341caSmrg#define BuildXInputExt NO 63211d341caSmrg#endif 63311d341caSmrg 63411d341caSmrg/* 63511d341caSmrg * Definition for compiling on MIPS machines 63611d341caSmrg */ 63711d341caSmrg#ifdef MipsArchitecture 63811d341caSmrg#define PositionIndependentCFlags 63911d341caSmrg#define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ | 64011d341caSmrgsed 's/\.[0-9]*$$//'` 64111d341caSmrg#define SharedXtReqs $(XONLYLIB) $(SMLIB) $(ICELIB) 64211d341caSmrg#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB) 64311d341caSmrg#endif 64411d341caSmrg 64511d341caSmrg/* 64611d341caSmrg * Definition for compiling on Alpha machines 64711d341caSmrg */ 64811d341caSmrg#ifdef AlphaArchitecture 64911d341caSmrg 65011d341caSmrg/* Build the shared XDM greeter on Alpha if it supports shared libs */ 65111d341caSmrg#define SharedLibXdmGreet HasSharedLibraries 65211d341caSmrg#endif 65311d341caSmrg 65411d341caSmrg/* 65511d341caSmrg * Definition for compile on macppc machines 65611d341caSmrg */ 65711d341caSmrg#ifdef PpcArchitecture 65811d341caSmrg 659b94d2739Scube# define OptimizedCDebugFlags -O2 GccAliasingArgs 66011d341caSmrg# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT 66111d341caSmrg 66211d341caSmrg# ifndef DoLoadableServer 66311d341caSmrg# define DoLoadableServer YES 66411d341caSmrg# endif 66511d341caSmrg 66611d341caSmrg# define UseElfFormat YES 66711d341caSmrg 66811d341caSmrg#endif 66911d341caSmrg 67011d341caSmrg/* 67111d341caSmrg * Definition for compiling on VAX machines 67211d341caSmrg */ 67311d341caSmrg#ifdef VaxArchitecture 67411d341caSmrg#define BuildServer NO 67511d341caSmrg#endif 67611d341caSmrg 677c5867c1cSmrg/* 678c5867c1cSmrg * General settings for all platforms 679c5867c1cSmrg */ 68011d341caSmrg#ifndef SharedLibXdmGreet 68111d341caSmrg#define SharedLibXdmGreet NO 68211d341caSmrg#endif 68311d341caSmrg 68411d341caSmrg#ifndef BuildHtmlManPages 68511d341caSmrg#define BuildHtmlManPages NO /* We don't want HTML manpages */ 68611d341caSmrg#endif 68711d341caSmrg 68811d341caSmrg#ifndef UseSeparateConfDir 68911d341caSmrg#define UseSeparateConfDir NO /* We don't want appdefs in "/etc/X11". */ 69011d341caSmrg#endif 69111d341caSmrg 69211d341caSmrg#if defined(NetBSDArchitecture) && \ 69311d341caSmrg ((OSMajorVersion > 1) || \ 69411d341caSmrg (OSMajorVersion == 1 && OSMinorVersion > 3)) 69511d341caSmrg#define HasDevRandom YES 69611d341caSmrg#define RandomDeviceFile /dev/urandom 69711d341caSmrg#endif 698465e8200Schristos 699465e8200Schristos/* 700465e8200Schristos * Always include xorg.cf for GccAliasingArgs, 701880d0a0cSmrg * regardless of server support on this platform 702465e8200Schristos */ 703465e8200Schristos#include <xorg.cf> 704