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