NetBSD.cf revision c5867c1c
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
287b94d2739Scube#elif defined(ia64Architecture) || defined(AMD64Architecture)
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
33611d341caSmrg/* NetBSD doesn't have gperf in the base install */
33711d341caSmrg#define DontRebuildGperfOutput	YES
33811d341caSmrg
339c5867c1cSmrg/*
34011d341caSmrg * NetBSD doesn't have perl in default system
34111d341caSmrg * you may override this in host.def if you installed perl from the packages
34211d341caSmrg */
34311d341caSmrg#ifndef HasPerl
34411d341caSmrg#define HasPerl			NO
34511d341caSmrg#endif
34611d341caSmrg
34711d341caSmrg/*
34811d341caSmrg * NetBSD doesn't have gperf in default system
34911d341caSmrg * you may override this in host.def if you installed perl from the packages
35011d341caSmrg */
35111d341caSmrg#ifndef HasGperf
35211d341caSmrg#define HasGperf		NO
35311d341caSmrg#endif
35411d341caSmrg
35511d341caSmrg/*
35611d341caSmrg * Make & install Features
35711d341caSmrg */
35811d341caSmrg#define HasBsdMake		YES
35911d341caSmrg#define CompressAllFonts	YES
36011d341caSmrg#define GzipFontCompression	YES
36111d341caSmrg#define DefaultUserPath		/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:$(BINDIR)
36211d341caSmrg#define DefaultSystemPath	/sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
36311d341caSmrg
36411d341caSmrg#ifdef  InstallCmd
36511d341caSmrg# undef  InstallCmd
36611d341caSmrg# define InstallCmd 		/usr/bin/install
36711d341caSmrg#endif
36811d341caSmrg
36911d341caSmrg#ifndef ExtraFilesToClean
37011d341caSmrg# define ExtraFilesToClean 	*.core
37111d341caSmrg#endif
37211d341caSmrg
37311d341caSmrg/*
37411d341caSmrg * Documentation formatting
37511d341caSmrg */
37611d341caSmrg#define NeqnCmd			neqn -Tlatin1
37711d341caSmrg#define NroffCmd		nroff -Tlatin1
37811d341caSmrg#define	EqnCmd 			eqn -Tps
37911d341caSmrg#define HasGroff		YES
38011d341caSmrg
38111d341caSmrg/*
38211d341caSmrg * To use the NetBSD Aperture driver
38311d341caSmrg */
38411d341caSmrg#if defined(i386Architecture)
38511d341caSmrg# ifndef HasNetBSDApertureDriver
38611d341caSmrg#  define HasNetBSDApertureDriver	YES
38711d341caSmrg# endif
38811d341caSmrg
38911d341caSmrg/*
39011d341caSmrg * Builtin MTRR support (NetBSD 1.5Y and up)
39111d341caSmrg */
39211d341caSmrg# if ((OSMajorVersion > 1) || \
39311d341caSmrg      (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
39411d341caSmrg      (OSMajorVersion == 1 && OSMinorVersion == 5 && \
39511d341caSmrg       OSTeenyVersion >= 25))
39611d341caSmrg#  define HasMTRRBuiltin        YES
39711d341caSmrg# else
39811d341caSmrg /*
39911d341caSmrg  * MTRR support  provided by the Aperture driver
40011d341caSmrg  */
40111d341caSmrg#  if HasNetBSDApertureDriver
40211d341caSmrg#   ifndef HasMTRRSupport
40311d341caSmrg#    define HasMTRRSupport	YES
40411d341caSmrg#   endif
40511d341caSmrg#  endif
40611d341caSmrg# endif /* MTRRBuiltin */
40711d341caSmrg#endif /* i386Architecture */
40811d341caSmrg
409b94d2739Scube#if defined(AMD64Architecture)
410e9698f98Smrg# define HasMTRRBuiltin		YES
411b94d2739Scube#endif
412b94d2739Scube
41311d341caSmrg/*
41411d341caSmrg * agpgart support (NetBSD 1.5Y and up)
41511d341caSmrg */
41611d341caSmrg#if ((OSMajorVersion > 1) || \
41711d341caSmrg     (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
41811d341caSmrg     (OSMajorVersion == 1 && OSMinorVersion == 5 && \
41911d341caSmrg      OSTeenyVersion >= 25))
42011d341caSmrg# ifndef HasAgpGart
42111d341caSmrg#  define HasAgpGart   YES
42211d341caSmrg# endif
42311d341caSmrg#endif
42411d341caSmrg
42511d341caSmrg/*
42611d341caSmrg * MMX, SSE and 3DNow will be autodetected. NetBSD 1.6 and up have the
42711d341caSmrg * necessary kernel and toolchain support.
42811d341caSmrg */
42911d341caSmrg#if defined(i386Architecture) &&  \
43011d341caSmrg	((OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion > 5))
43111d341caSmrg# define HasX86Support          YES
43211d341caSmrg# define HasMMXSupport          YES
43311d341caSmrg# define Has3DNowSupport        YES
43411d341caSmrg# define HasSSESupport          YES
43511d341caSmrg#else
43611d341caSmrg# define HasX86Support          NO
43711d341caSmrg# define HasMMXSupport          NO
43811d341caSmrg# define Has3DNowSupport        NO
43911d341caSmrg# define HasSSESupport          NO
44011d341caSmrg#endif
44111d341caSmrg
44211d341caSmrg#ifndef HasCookieMaker
44311d341caSmrg# if OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion >= 2
44411d341caSmrg   /* NetBSD 1.5 and later have /dev/urandom */
44511d341caSmrg#  define HasCookieMaker	YES
44611d341caSmrg#  define MkCookieCmd \
44711d341caSmrg	'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
44811d341caSmrg# else
44911d341caSmrg#  define HasCookieMaker	NO
45011d341caSmrg# endif
45111d341caSmrg#endif
45211d341caSmrg
45311d341caSmrg
45411d341caSmrg/*
45511d341caSmrg * ForceSubdirs - force make to build subdirectories
456c5867c1cSmrg *
457c5867c1cSmrg * For BSD 4.4 make
45811d341caSmrg */
45911d341caSmrg#define ForceSubdirs(dirs)						@@\
46011d341caSmrgdirs:	.EXEC								@@\
46111d341caSmrg	@cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \		@@\
46211d341caSmrg	$(MAKE) $(MFLAGS) PassCDebugFlags all				@@\
46311d341caSmrg									@@\
46411d341caSmrg.EXEC:
46511d341caSmrg
46611d341caSmrg/*
46711d341caSmrg * Man pages need to be formatted when installed, so override the default
46811d341caSmrg * imake rules.
46911d341caSmrg */
47011d341caSmrg#define ManSuffix	1
47111d341caSmrg#define FileManSuffix	5
47211d341caSmrg#define ManSourcePath	$(MANPATH)/cat
47311d341caSmrg
47411d341caSmrg#define InstallManPageLongBase(file,destdir,dest)			@@\
47511d341caSmrg									@@\
47611d341caSmrgall:: file.0								@@\
47711d341caSmrg									@@\
47811d341caSmrgfile.0:: file.$(MANNEWSUFFIX)						@@\
47911d341caSmrg	@if [ -f file.$(MANNEWSUFFIX) ]; \				@@\
48011d341caSmrg	then \								@@\
48111d341caSmrg	cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) > file.0; \	@@\
48211d341caSmrg	fi 								@@\
48311d341caSmrg									@@\
48411d341caSmrginstall.man::                                                           @@\
48511d341caSmrg	MakeDir($(DESTDIR)destdir)					@@\
48611d341caSmrg	-@if [ -f file.0 ]; \						@@\
48711d341caSmrg	then \								@@\
48811d341caSmrg	$(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
48911d341caSmrg	fi								@@\
49011d341caSmrg									@@\
49111d341caSmrgclean::									@@\
49211d341caSmrg	RemoveFile(file.0)
49311d341caSmrg
49411d341caSmrg#define InstallManPageLong(file,destdir,dest)				@@\
49511d341caSmrgBuildInstallHtmlManPage(file,dest,$(MANSUFFIX))				@@\
49611d341caSmrg									@@\
49711d341caSmrgCppManTarget(file, $(EXTRAMANDEFS))					@@\
49811d341caSmrg									@@\
49911d341caSmrgInstallManPageLongBase(file,destdir,dest)
50011d341caSmrg
50111d341caSmrg#define InstallGenManPageLong(file,destdir,dest,suffix)			@@\
50211d341caSmrgBuildInstallHtmlManPage(file,dest,suffix)				@@\
50311d341caSmrg									@@\
50411d341caSmrgCppManTarget(file, $(EXTRAMANDEFS))					@@\
50511d341caSmrg									@@\
50611d341caSmrgInstallManPageLongBase(file,destdir,dest)
50711d341caSmrg
50811d341caSmrg#define InstallMultipleMan(list,dest)                                   @@\
50911d341caSmrginstall.man:: 								@@\
51011d341caSmrg	MakeDir($(DESTDIR)dest)						@@\
51111d341caSmrg	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
51211d341caSmrg	for i in list; do \                                             @@\
51311d341caSmrg	  (MNAME=`echo $$i | cut -f1 -d.`; \				@@\
51411d341caSmrg	  set -x; \							@@\
51511d341caSmrg	  cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \		@@\
51611d341caSmrg		| $(COL) > $${MNAME}.0; \				@@\
51711d341caSmrg	  $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \			@@\
51811d341caSmrg			$(DESTDIR)dest/$${MNAME}.0; \			@@\
51911d341caSmrg	  $(RM) $${MNAME}.0); \						@@\
52011d341caSmrg	done
52111d341caSmrg
52211d341caSmrg#define InstallMultipleManSuffix(list,dest,suff)                        @@\
52311d341caSmrginstall.man:: 								@@\
52411d341caSmrg	MakeDir($(DESTDIR)dest)						@@\
52511d341caSmrg	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
52611d341caSmrg	for i in list; do \                                             @@\
52711d341caSmrg	  (set -x; \							@@\
52811d341caSmrg	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \	@@\
52911d341caSmrg		| $(COL) > $$i.0; \					@@\
53011d341caSmrg	  $(INSTALL) -c $(INSTMANFLAGS) $$i.0	 \			@@\
53111d341caSmrg		$(DESTDIR)dest/$$i.0; \					@@\
53211d341caSmrg	  $(RM) $$i.0 ); \						@@\
53311d341caSmrg	done
53411d341caSmrg
53511d341caSmrg#define InstallManPageAliasesBase(file,destdir,aliases)			@@\
53611d341caSmrginstall.man:: 								@@\
53711d341caSmrg	@case '${MFLAGS}' in *[i]*) set +e;; esac; \                    @@\
53811d341caSmrg	for i in aliases; do \                                          @@\
53911d341caSmrg		(set -x; \						@@\
54011d341caSmrg		$(RM) $(DESTDIR)destdir/$$i.0;\  			@@\
54111d341caSmrg		(cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ 		@@\
54211d341caSmrg		); \							@@\
54311d341caSmrg	done
54411d341caSmrg
54511d341caSmrg#define InstallManPageAliases(file,destdir,aliases)			@@\
54611d341caSmrgInstallHtmlManPageAliases(file,aliases,$(MANSUFFIX))			@@\
54711d341caSmrg									@@\
54811d341caSmrgInstallManPageAliasesBase(file,destdir,aliases)
54911d341caSmrg
55011d341caSmrg#define InstallGenManPageAliases(file,destdir,suffix,aliases)		@@\
55111d341caSmrgInstallHtmlManPageAliases(file,aliases,suffix)				@@\
55211d341caSmrg									@@\
55311d341caSmrgInstallManPageAliasesBase(file,destdir,aliases)
55411d341caSmrg
55511d341caSmrg/*
55611d341caSmrg * Shared libraries supported starting in 1.0 on a.out platforms,
55711d341caSmrg * and on all ELF platforms.
55811d341caSmrg *
55911d341caSmrg * XXX May not be correct on NetBSD/pmax (ELF, but might not have
56011d341caSmrg * working shared libs).
56111d341caSmrg */
56211d341caSmrg#if ((OSMajorVersion > 0) && \
56311d341caSmrg     !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \
56411d341caSmrg    UseElfFormat
56511d341caSmrg# ifndef HasSharedLibraries
56611d341caSmrg# define HasSharedLibraries	YES
56711d341caSmrg# endif
56811d341caSmrg#endif
56911d341caSmrg
57011d341caSmrg#ifndef OSBinaryType
57111d341caSmrg#if UseElfFormat
57211d341caSmrg#define OSBinaryType	[ELF]
57311d341caSmrg#else
57411d341caSmrg#define OSBinaryType	/**/
57511d341caSmrg#endif
57611d341caSmrg#endif
57711d341caSmrg
57811d341caSmrg#ifndef HasSharedLibraries
57911d341caSmrg#define HasSharedLibraries	NO
580c5867c1cSmrg#endif
58111d341caSmrg
58211d341caSmrg/*
58311d341caSmrg * Unresolved references are fatal on NetBSD 1.5 for libGL, which is
58411d341caSmrg * built with -Bsymbolic.
58511d341caSmrg */
58611d341caSmrg#if UseElfFormat && OSMajorVersion == 1 && OSMinorVersion == 5
58711d341caSmrg#define SharedGLReqs		$(LDPRELIBS) $(XLIB) -lc
58811d341caSmrg#endif
58911d341caSmrg
59011d341caSmrg#if HasSharedLibraries
59111d341caSmrg#include <bsdLib.rules>
59211d341caSmrg#endif /* HasSharedLibraries */
59311d341caSmrg
59411d341caSmrg/* Always build the XInput library, regardless of server support on this plattform */
59511d341caSmrg#if !defined(BuildXInputLib) && !defined(BuildServersOnly)
59611d341caSmrg# define BuildXInputLib          YES
59711d341caSmrg#endif
59811d341caSmrg
59911d341caSmrg/*
60011d341caSmrg * Definitions for the SUN server on NetBSD/sparc
60111d341caSmrg */
60211d341caSmrg#ifdef SparcArchitecture
60311d341caSmrg#ifndef Xsun24Server
60411d341caSmrg#define Xsun24Server	YES
60511d341caSmrg#endif
60611d341caSmrg#ifndef XsunServer
60711d341caSmrg#define XsunServer	YES
60811d341caSmrg#endif
60911d341caSmrg#ifndef XsunMonoServer
61011d341caSmrg#define XsunMonoServer	NO	/* XXX: does not link */
61111d341caSmrg#endif
61211d341caSmrg#ifndef BuildScreenSaverLibrary
61311d341caSmrg#define BuildScreenSaverLibrary	YES
61411d341caSmrg#endif
61511d341caSmrg
61611d341caSmrg/*
617c5867c1cSmrg * XFree86 uses its own (more portable) database routines to speed up
61811d341caSmrg * the RGB database lookups
619c5867c1cSmrg * However, if you want to use ndbm anyway, you can set that to NO in
62011d341caSmrg * site.def
62111d341caSmrg */
62211d341caSmrg#ifndef UseRgbTxt
62311d341caSmrg#define UseRgbTxt	YES
62411d341caSmrg#endif
62511d341caSmrg#define BuildXF86VidModeExt	NO
62611d341caSmrg#define BuildXF86DGA		NO
62711d341caSmrg#define BuildXInputExt		NO
62811d341caSmrg#endif
62911d341caSmrg
63011d341caSmrg/*
63111d341caSmrg * Definition for compiling on MIPS machines
63211d341caSmrg */
63311d341caSmrg#ifdef MipsArchitecture
63411d341caSmrg#define PositionIndependentCFlags
63511d341caSmrg#define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ |
63611d341caSmrgsed 's/\.[0-9]*$$//'`
63711d341caSmrg#define SharedXtReqs $(XONLYLIB) $(SMLIB) $(ICELIB)
63811d341caSmrg#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB)
63911d341caSmrg#endif
64011d341caSmrg
64111d341caSmrg/*
64211d341caSmrg * Definition for compiling on Alpha machines
64311d341caSmrg */
64411d341caSmrg#ifdef AlphaArchitecture
64511d341caSmrg
64611d341caSmrg/* Build the shared XDM greeter on Alpha if it supports shared libs */
64711d341caSmrg#define SharedLibXdmGreet HasSharedLibraries
64811d341caSmrg#endif
64911d341caSmrg
65011d341caSmrg/*
65111d341caSmrg * Definition for compile on macppc machines
65211d341caSmrg */
65311d341caSmrg#ifdef PpcArchitecture
65411d341caSmrg
655b94d2739Scube# define OptimizedCDebugFlags 	-O2 GccAliasingArgs
65611d341caSmrg# define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
65711d341caSmrg
65811d341caSmrg# ifndef DoLoadableServer
65911d341caSmrg#   define DoLoadableServer	YES
66011d341caSmrg# endif
66111d341caSmrg
66211d341caSmrg# define UseElfFormat		YES
66311d341caSmrg
66411d341caSmrg#endif
66511d341caSmrg
66611d341caSmrg/*
66711d341caSmrg * Definition for compiling on VAX machines
66811d341caSmrg */
66911d341caSmrg#ifdef VaxArchitecture
67011d341caSmrg#define BuildServer	NO
67111d341caSmrg#endif
67211d341caSmrg
673c5867c1cSmrg/*
674c5867c1cSmrg * General settings for all platforms
675c5867c1cSmrg */
67611d341caSmrg#ifndef SharedLibXdmGreet
67711d341caSmrg#define SharedLibXdmGreet NO
67811d341caSmrg#endif
67911d341caSmrg
68011d341caSmrg#ifndef BuildHtmlManPages
68111d341caSmrg#define BuildHtmlManPages NO	/* We don't want HTML manpages */
68211d341caSmrg#endif
68311d341caSmrg
68411d341caSmrg#ifndef UseSeparateConfDir
68511d341caSmrg#define UseSeparateConfDir NO	/* We don't want appdefs in "/etc/X11". */
68611d341caSmrg#endif
68711d341caSmrg
68811d341caSmrg#if defined(NetBSDArchitecture) && \
68911d341caSmrg     ((OSMajorVersion > 1) || \
69011d341caSmrg      (OSMajorVersion == 1 && OSMinorVersion > 3))
69111d341caSmrg#define HasDevRandom		YES
69211d341caSmrg#define RandomDeviceFile	/dev/urandom
69311d341caSmrg#endif
694465e8200Schristos
695465e8200Schristos/*
696465e8200Schristos * Always include xorg.cf for GccAliasingArgs,
697465e8200Schristos * regardless of server support on this plattform
698465e8200Schristos */
699465e8200Schristos#include <xorg.cf>
700