XCOMM platform:  $Xorg: NetBSD.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $



XCOMM platform:  $XFree86: xc/config/cf/NetBSD.cf,v 3.122 2003/11/18 18:09:45 dawes Exp $


#ifndef OSName
#define OSName			DefaultOSName OSBinaryType
#endif
#ifndef OSMajorVersion
#define OSMajorVersion		DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
#define OSMinorVersion		DefaultOSMinorVersion
#endif
#ifndef OSTeenyVersion
#define OSTeenyVersion		DefaultOSTeenyVersion
#endif

#ifndef NetBSDDistribution
#define NetBSDDistribution	DefaultNetBSDDistribution
/*
  Add "#define NetBSDDistribution NetBSD<mumble>" to your site.def or host.def.
  Currently only NetBSDDebian will be autodetected.
  Valid values are:
    NetBSDUnknown    (0)
    NetBSDNative     (1)
    NetBSDDebian     (2)
*/
#endif

#ifndef NetBSDDistName
# define NetBSDDistName		DefaultNetBSDDistName
#endif

#ifndef OSVendor
#define OSVendor		The NetBSD Foundation, Inc.
#endif

#ifndef NetBSDBinUtilsMajorVersion
# define NetBSDBinUtilsMajorVersion	DefaultNetBSDBinUtilsMajorVersion
#endif

XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)

/* Defines for Debian GNU/NetBSD */

#if NetBSDDistribution == NetBSDDebian
# ifndef DefaultGcc2OptimizeOpt
#  define DefaultGcc2OptimizeOpt	-O2
# endif
# define DefaultGcc2AxpOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
# define DefaultGcc2i386Opt	DefaultGcc2OptimizeOpt GccAliasingArgs
# define DefaultGcc2PpcOpt	DefaultGcc2OptimizeOpt GccAliasingArgs
# define SystemManDirectory	/usr/share/man
# define HasPam			YES
# define HasTk			YES
# define TkLibDir		/usr/lib
# define TkIncDir		/usr/include
# define TkLibName		tk8.4
# define XF86SetupUsesStaticTk	NO
# define HasTcl			YES
# define TclLibDir		/usr/lib
# define TclIncDir		/usr/include
# define TclLibName		tcl8.4
# define XF86SetupUsesStaticTcl	NO
/* un-comment this when it is un-broken */
/* # define JoystickSupport YES */
# define XAppLoadDir		EtcX11Directory/app-defaults
# define XFileSearchPathDefault	Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
# define InstallAppDefFiles	YES
/* the relative symlink created by this rule causes problems for us */
# ifdef InstallAppDefFiles
#  if InstallAppDefFiles
#   define InstallAppDefaultsLong(file,class)				@@\
InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
#  else
#   define InstallAppDefaultsLong(file,class)				@@\
InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
#  endif
# endif /* InstallAppDefFiles */
# define SharedLibXdmGreet	NO
# define LinkGLToUsrInclude	NO
# define LinkGLToUsrLib		NO
# define SharedLibFont		NO
# define HasZlib		YES
# define SharedLibGlu		YES
# define NormalLibGlu		YES
# define FSUseSyslog		YES

# define DebianMaintainer	YES

# ifdef DebianMaintainer
#  ifndef XFree86CustomVersion
#    define XFree86CustomVersion	"Debian"
#  endif
#  ifndef BuilderEMailAddr
#    define BuilderEMailAddr		"debian-x@lists.debian.org"
#  endif
#  define XFree86Devel			YES
#  define InstallXinitConfig		YES
#  define InstallXdmConfig		YES
#  define InstallFSConfig		YES
#  define DebuggableLibraries		YES
#  define ForceNormalLib		YES
#  define BuildRman			NO
#  define BuildHtmlManPages		NO
/*
 * Debian doesn't use certain parts of the tree when doing
 * architecture-specific package builds.
 */
#  ifndef BuildFonts
#   define BuildFonts			YES
#  endif
#  ifndef BuildSpecsDocs
#   define BuildSpecsDocs		YES
#  endif
#  if BuildSpecsDocs
#   define BuildAllSpecsDocs		YES
#  endif
/*
 * The XFree86 Debian package uses a local patch that defines a
 * PicLibraryTarget() Imake rule, instead of using upstream's method.
 */
#  define StaticNeedsPicForShared	NO
#  define KernelVersionInBanner		YES
#  define ProjectManSuffix		x
/* The TT/Meltho fonts are all under non-free licenses. */
#  define BuildTrueTypeFonts		NO
#  define BuildBethMarduthoFonts	NO
/*
 * The XFree86 Debian package build-depends on external Expat, Fontconfig,
 * Freetype, Render, Xcursor, and Xft libraries.
 */
#  define BuildExpatLibrary		NO
#  define HasExpat			YES
#  define ExpatIncDirStandard		YES
#  define BuildFontconfigLibrary	NO
#  define HasFontconfig			YES
#  define UseFontconfig			YES
#  define FontconfigIncDir		/usr/include/fontconfig
#  define BuildFreetype2Library		NO
#  define HasFreetype2			YES
#  define BuildRenderLibrary		NO
#  define HasRenderLibrary		YES
#  define BuildXcursorLibrary		NO
#  define HasXcursorLibrary		YES
/* Xlib needs to know the available version of Xcursor. */
#  define SharedXcursorRev		1
#  define BuildXftLibrary		NO
#  define HasXftLibrary			YES

#  ifdef UseInstalled
#    define RenderLibraryDir		/usr
#    define XftLibraryDir		/usr
#    define XcursorLibraryDir		/usr
#  else
/* The XFree86 Debian package uses a special hack to find these libraries. */
#    define RenderLibraryDir		$(TOP)/../../imports
#    define XftLibraryDir		$(TOP)/../../imports
#    define XcursorLibraryDir		$(TOP)/../../imports
#  endif

/*
 * We want to be sure that the normal XFree86 X server and the debugging X
 * server use the same FreeType2 library.  We'd *like* it if we could
 * achieve this by both packages dynamically linking against the system's
 * FreeType2 library; however, the normal X server package
 * (xserver-xorg) *cannot* be built dynamically linked against the
 * FreeType2 library when the module loader is enabled because of
 * code/design issues.  Therefore, we encapsulate XFree86's internal "fork"
 * of the FreeType2 library into *both* xserver-xorg and
 * xserver-xorg-dbg.  When it becomes possible to build the
 * module-loading server against an external FreeType2 shared library, we
 * can drop this define:
 */
#   define FontLibSharedFreeType	NO

#   define HasLinuxInput		YES
#   define HasXdmAuth			YES
#   define HasLatex			YES
/* Enable extended instruction set support. */
#   ifdef i386Architecture
#    define HasX86Support		YES
#    define HasMMXSupport		YES
#    define Has3DNowSupport		YES
#    define HasSSESupport		YES
#   endif /* i386Architecture */
# endif /* DebianMaintainer */
#endif /* NetBSDDebian */

/*
 * C library features
 */
#if ((OSMajorVersion > 1) || \
     (OSMajorVersion == 1 && OSMinorVersion > 2) || \
     (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1))
# define HasPoll			YES
#endif
#define HasNdbm         	YES
#define HasPutenv       	YES
#if OSMajorVersion == 1 && OSMinorVersion > 4 || OSMajorVersion > 1
# define HasStrlcat		YES
#endif
#define HasSnprintf		YES
#define HasBSD44Sockets 	YES
#define Malloc0ReturnsNull	NO
#define SetTtyGroup     	YES
#define DBMLibrary		/**/
#define HasDlopen		YES
#define HasSetProcTitle		YES
#ifndef HasLibCrypt
# define HasLibCrypt		YES
#endif
#ifndef BuildPDFdocs
# define BuildPDFdocs NO
#endif
#ifndef HasShm
# if OSMajorVersion == 0 && OSMinorVersion == 9 && OSTeenyVersion == 2
/*
 * Shm memory was removed in 0.9B because it was encumbered.
 * A free version was added in 0.9C
 */
#  define HasShm          	NO
# else
#  define HasShm          	YES
# endif
#endif
#define HasWChar32		YES
/*
 * There's a bug in NetBSD 1.0, 1.1 and 1.2 dlsym()
 */
#if ((OSMajorVersion == 1 && OSMinorVersion < 2) || \
     (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion < 2))
#  define HasDlsymBug		YES
#endif
/* Mkstemp is there since 1.2 (at least) */
#if (!(OSMajorVersion == 0 || \
       (OSMajorVersion == 1 && OSMinorVersion < 2))) 
#define HasMkstemp		YES
#endif
/* But the standalone mktemp doesn't exist before NetBSD 1.5*/
#if (OSMajorVersion ==0 || (OSMajorVersion == 1 && OSMinorVersion <= 4))
# define HasMktemp		NO
#else
# define HasMktemp		YES
#endif

#ifndef HasIssetugid
# if (OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion >= 5))
#  define HasIssetugid          YES
# endif
#endif

#if (OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion > 1) 
#define HasGetIfAddrs		YES
#endif

#define HasUsableFileMmap	YES

#if NetBSDDistribution == NetBSDDebian
#define VarDbDirectory		$(VARDIR)/lib
#else /* Debian */
#define HasVarDb		YES
#endif /* Debian */
#define HasVarRun		YES

#define HasShadowPasswd		NO

#define InstallXloadSetGID	NO

#if OSMajorVersion < 1 || (OSMajorVersion == 1 && OSMinorVersion < 5)
#define BuildIPv6		NO
#endif

#define IPv6SocketsAlsoIPv4	NO

/*
 * NetBSD 1.6M and newer supports POSIX Threads.
 */

#ifndef NetBSDThreads
# define NetBSDThreads		YES
#endif

#if NetBSDThreads && \
    ((OSMajorVersion > 1) || \
     (OSMajorVersion == 1 && OSMinorVersion > 6) || \
     (OSMajorVersion == 1 && OSMinorVersion == 6 && OSTeenyVersion >= 13))

# define HasPosixThreads	YES
# define ThreadedX		YES
# define HasThreadSafeAPI	YES
# define ThreadsLibraries	-lpthread
# if ((OSMajorVersion == 2 && OSMinorVersion == 99 && OSTeenyVersion < 11) || \
      (OSMajorVersion == 2 && OSMinorVersion < 99) || \
      (OSMajorVersion < 2))
#  define LibraryMTDefines	-DUSE_NBSD_THREADLIB
# endif
# define SystemMTDefines	-D_REENTRANT
# define MTSafeAPIDefines	-DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
#else 
# define ThreadedX		NO
#endif

/*
 * Compiler Features
 */
#define GccUsesGas		YES
#define UseGas			YES
#define GnuCpp			YES

#define NeedConstPrototypes	YES
#define NeedFunctionPrototypes	YES
#define NeedNestedPrototypes	YES
#define NeedVarargsPrototypes	YES
#define NeedWidePrototypes	NO

#define MkdirHierCmd		mkdir -p

#undef CcCmd
#define CcCmd 			gcc
#ifndef DefaultCCOptions
#if defined(UseInstalled)
#define DefaultCCOptions 	/**/
#else
#ifdef Arm32Architecture
#define DefaultCCOptions 	-ansi -Dasm=__asm -fsigned-char \
				-fomit-frame-pointer
#elif defined(PpcArchitecture)
# define DefaultCCOptions	-ansi -Dasm=__asm -fsigned-char
#else
#define DefaultCCOptions 	-ansi -Dasm=__asm GccWarningOptions
#endif
#endif
#endif

#define CppCmd			cpp
#define StandardCppOptions	-traditional
#define StandardCppDefines	/**/
#define PreProcessCmd   	CcCmd -E
#define PostIncDir		/usr/include

#define GccGasOption 		-DGCCUSESGAS
#define AsmDefines 		-DUSE_GAS

/* UseElfFormat defaults to YES if __ELF__ set */
#ifndef UseElfFormat
# ifdef __ELF__
#  undef __ELF__			/* other imake files shouldn't care */
#  define UseElfFormat YES
# else
#  define UseElfFormat NO
# endif
#endif

/*
 * Dynamic loading supported starting in 1.0 on a.out platforms,
 * and on all ELF platforms.
 *
 * XXX May not be correct on NetBSD/pmax (ELF, but might not have
 * working shared libs).
 *
 * Disabled for NetBSD/vax until I figure out the scheme. --CS 
 */
#if ((OSMajorVersion > 0) && defined(i386Architecture)) || \
    defined(PpcArchitecture) || defined(AMD64Architecture)
#  ifndef DoLoadableServer
#  define DoLoadableServer	YES
#  endif
#else
#  ifndef DoLoadableServer
#  define DoLoadableServer	NO
#  endif
#endif

#if UseElfFormat
#define DlLibrary		-rdynamic /* no -ldl yet */
#define HasPlugin		YES
#define VendorHasX11R6_3libXext	YES
#else
#define DlLibrary		/**/
#endif

/* All ELF NetBSD systems support Weak symbols */
#define HasWeakSymbols		UseElfFormat 

#ifdef i386Architecture
# ifndef DefaultGcc2i386Opt
#  if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 2)
    /* The GCC strength-reduce bug is fixed for NetBSD 1.3 and later */
#   define DefaultGcc2i386Opt -O2 GccAliasingArgs
#  endif
# endif
# define OptimizedCDebugFlags 	DefaultGcc2i386Opt
# if OSMajorVersion < 1
#  define ServerOSDefines	XFree86ServerOSDefines -DXNO_SYSCONF
# else
#  define ServerOSDefines	XFree86ServerOSDefines
# endif
# if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2
#  define ServerExtraSysLibs	-li386
# endif
#else
# define OptimizedCDebugFlags 	-O2 GccAliasingArgs
# if defined(SparcArchitecture)
#  define ServerOSDefines 	-DDDXOSINIT
# elif defined(AlphaArchitecture)
#  define ServerOSDefines 	XFree86ServerOSDefines
# elif defined(Arm32Architecture)
#   define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
# elif defined(PpcArchitecture)
#  define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT
# else
#  define ServerOSDefines 	/**/
# endif
# if defined(AlphaArchitecture)
#  define ServerExtraSysLibs	-lalpha
# else
#  define ServerExtraSysLibs	/**/
# endif
#endif
#ifdef i386Architecture
# define ServerExtraDefines GccGasOption XFree86ServerDefines
# ifndef XFree86ConsoleDefines
#  if (OSMajorVersion == 1 && ((OSMinorVersion == 3 && OSTeenyVersion >= 6) \
	                       || OSMinorVersion >= 4) \
       || OSMajorVersion >= 2)  
#   define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT -DWSCONS_SUPPORT
#  else
#   define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT
#  endif
# endif
#elif defined(SparcArchitecture)
#  if defined(Sparc64Architecture)
#   define ServerExtraDefines XFree86ServerDefines -D_XSERVER64
#  else
#   define ServerExtraDefines XFree86ServerDefines
#  endif
# elif defined(AlphaArchitecture)
	/* XXX for the following */
#  define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
#  ifndef XFree86ConsoleDefines
#   define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCCONS_SUPPORT -DPCVT_SUPPORT
#  endif
#elif defined(AlphaArchitecture)
#   define ServerExtraDefines GccGasOption -D_XSERVER64
#elif defined(Arm32Architecture)
#  define ServerExtraDefines GccGasOption XFree86ServerDefines
#  ifndef XFree86ConsoleDefines
#    define XFree86ConsoleDefines -DPCCONS_SUPPORT
#  endif
#elif defined(PpcArchitecture)
#  define ServerExtraDefines	GccGasOption XFree86ServerDefines
#  ifndef XFree86ConsoleDefines
#    define XFree86ConsoleDefines	-DWSCONS_SUPPORT
#  endif
#elif defined(ia64Architecture) || defined(AMD64Architecture)
#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
#else
#  define ServerExtraDefines GccGasOption
#endif

#define StandardDefines	-DCSRG_BASED
/* Citrus mb locale were added in 1.5P */
#if ((OSMajorVersion > 1) || \
     (OSMajorVersion == 1 && OSMinorVersion > 5) || \
     (OSMajorVersion == 1 && OSMinorVersion == 5 && OSTeenyVersion >= 15))
#define XawI18nDefines	-DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
#else
#define XawI18nDefines	-DUSE_XWCHAR_STRING -DUSE_XMBTOWC
#endif

#ifndef ExtraLibraries
#define ExtraLibraries		/**/
#endif
#ifndef UseGnuMalloc
/*
 * There is no way to map 1.4J correctly to OS*Version, so 'J' is mapped
 * to OSTeenyVersion == 9. That should be safe, since there will never
 * be a release for 1.4.9.
 */
# if ((OSMajorVersion > 1) || \
     (OSMajorVersion == 1 && OSMinorVersion > 4) || \
     (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion > 9))
#  define UseGnuMalloc		NO
# else
#  define UseGnuMalloc		YES
#endif
#endif
#ifndef GnuMallocLibrary
#define GnuMallocLibrary	-lgnumalloc
#endif

#if ((OSMajorVersion > 1) || \
     (OSMajorVersion == 1 && OSMinorVersion > 2) || \
     (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1))
#ifndef HasZlib
#define HasZlib			  YES
#endif
#endif 

#define	AdmDir			/var/log

#define HasFlex			YES

/* NetBSD doesn't have gperf in the base install */
#define DontRebuildGperfOutput	YES

#if NetBSDDistribution == NetBSDDebian
#define HasPerl			YES
#endif

/*
 * NetBSD doesn't have perl in default system
 * you may override this in host.def if you installed perl from the packages
 */
#ifndef HasPerl
#define HasPerl			NO
#endif

/*
 * NetBSD doesn't have gperf in default system
 * you may override this in host.def if you installed perl from the packages
 */
#ifndef HasGperf
#define HasGperf		NO
#endif

/*
 * Make & install Features
 */

#if NetBSDDistribution == NetBSDDebian
#define HasBsdMake		NO
#else
#define HasBsdMake		YES
#endif

#define CompressAllFonts	YES
#define GzipFontCompression	YES
#define DefaultUserPath		/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:$(BINDIR)
#define DefaultSystemPath	/sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)

#ifdef  InstallCmd
# undef  InstallCmd
# define InstallCmd 		/usr/bin/install
#endif

#ifndef ExtraFilesToClean
# define ExtraFilesToClean 	*.core
#endif

/*
 * Documentation formatting
 */
#define NeqnCmd			neqn -Tlatin1
#define NroffCmd		nroff -Tlatin1
#define	EqnCmd 			eqn -Tps
#define HasGroff		YES

/*
 * To use the NetBSD Aperture driver
 */
#if defined(i386Architecture)
# ifndef HasNetBSDApertureDriver
#  define HasNetBSDApertureDriver	YES
# endif

/*
 * Builtin MTRR support (NetBSD 1.5Y and up)
 */
# if ((OSMajorVersion > 1) || \
      (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
      (OSMajorVersion == 1 && OSMinorVersion == 5 && \
       OSTeenyVersion >= 25))
#  define HasMTRRBuiltin        YES
# else
 /*
  * MTRR support  provided by the Aperture driver
  */
#  if HasNetBSDApertureDriver
#   ifndef HasMTRRSupport
#    define HasMTRRSupport	YES
#   endif
#  endif
# endif /* MTRRBuiltin */
#endif /* i386Architecture */

#if defined(AMD64Architecture)
# define HasMTRRBuiltin		YES
#endif

/*
 * agpgart support (NetBSD 1.5Y and up)
 */
#if ((OSMajorVersion > 1) || \
     (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
     (OSMajorVersion == 1 && OSMinorVersion == 5 && \
      OSTeenyVersion >= 25))
# ifndef HasAgpGart
#  define HasAgpGart   YES
# endif
#endif

/*
 * MMX, SSE and 3DNow will be autodetected. NetBSD 1.6 and up have the
 * necessary kernel and toolchain support.
 */
#if defined(i386Architecture) &&  \
	((OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion > 5))
# define HasX86Support          YES
# define HasMMXSupport          YES
# define Has3DNowSupport        YES
# define HasSSESupport          YES
#else
# define HasX86Support          NO
# define HasMMXSupport          NO
# define Has3DNowSupport        NO
# define HasSSESupport          NO
#endif

#ifndef HasCookieMaker
# if OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion >= 2
   /* NetBSD 1.5 and later have /dev/urandom */
#  define HasCookieMaker	YES
#  define MkCookieCmd \
	'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
# else
#  define HasCookieMaker	NO
# endif
#endif


/*
 * ForceSubdirs - force make to build subdirectories
 * 
 * For BSD 4.4 make 
 */
#define ForceSubdirs(dirs)						@@\
dirs:	.EXEC								@@\
	@cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \		@@\
	$(MAKE) $(MFLAGS) PassCDebugFlags all				@@\
									@@\
.EXEC:

#if NetBSDDistribution != NetBSDDebian /* Debian uses ProjectManSuffix */

/*
 * Man pages need to be formatted when installed, so override the default
 * imake rules.
 */
#define ManSuffix	1
#define FileManSuffix	5
#define ManSourcePath	$(MANPATH)/cat

#define InstallManPageLongBase(file,destdir,dest)			@@\
									@@\
all:: file.0								@@\
									@@\
file.0:: file.$(MANNEWSUFFIX)						@@\
	@if [ -f file.$(MANNEWSUFFIX) ]; \				@@\
	then \								@@\
	cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) > file.0; \	@@\
	fi 								@@\
									@@\
install.man::                                                           @@\
	MakeDir($(DESTDIR)destdir)					@@\
	-@if [ -f file.0 ]; \						@@\
	then \								@@\
	$(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
	fi								@@\
									@@\
clean::									@@\
	RemoveFile(file.0)

#define InstallManPageLong(file,destdir,dest)				@@\
BuildInstallHtmlManPage(file,dest,$(MANSUFFIX))				@@\
									@@\
CppManTarget(file, $(EXTRAMANDEFS))					@@\
									@@\
InstallManPageLongBase(file,destdir,dest)

#define InstallGenManPageLong(file,destdir,dest,suffix)			@@\
BuildInstallHtmlManPage(file,dest,suffix)				@@\
									@@\
CppManTarget(file, $(EXTRAMANDEFS))					@@\
									@@\
InstallManPageLongBase(file,destdir,dest)

#define InstallMultipleMan(list,dest)                                   @@\
install.man:: 								@@\
	MakeDir($(DESTDIR)dest)						@@\
	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
	for i in list; do \                                             @@\
	  (MNAME=`echo $$i | cut -f1 -d.`; \				@@\
	  set -x; \							@@\
	  cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \		@@\
		| $(COL) > $${MNAME}.0; \				@@\
	  $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \			@@\
			$(DESTDIR)dest/$${MNAME}.0; \			@@\
	  $(RM) $${MNAME}.0); \						@@\
	done

#define InstallMultipleManSuffix(list,dest,suff)                        @@\
install.man:: 								@@\
	MakeDir($(DESTDIR)dest)						@@\
	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
	for i in list; do \                                             @@\
	  (set -x; \							@@\
	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \	@@\
		| $(COL) > $$i.0; \					@@\
	  $(INSTALL) -c $(INSTMANFLAGS) $$i.0	 \			@@\
		$(DESTDIR)dest/$$i.0; \					@@\
	  $(RM) $$i.0 ); \						@@\
	done

#define InstallManPageAliasesBase(file,destdir,aliases)			@@\
install.man:: 								@@\
	@case '${MFLAGS}' in *[i]*) set +e;; esac; \                    @@\
	for i in aliases; do \                                          @@\
		(set -x; \						@@\
		$(RM) $(DESTDIR)destdir/$$i.0;\  			@@\
		(cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ 		@@\
		); \							@@\
	done

#define InstallManPageAliases(file,destdir,aliases)			@@\
InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX))			@@\
									@@\
InstallManPageAliasesBase(file,destdir,aliases)

#define InstallGenManPageAliases(file,destdir,suffix,aliases)		@@\
InstallHtmlManPageAliases(file,aliases,suffix)				@@\
									@@\
InstallManPageAliasesBase(file,destdir,aliases)

#endif /* NetBSDDistribution != NetBSDDebian */

/*
 * Shared libraries supported starting in 1.0 on a.out platforms,
 * and on all ELF platforms.
 *
 * XXX May not be correct on NetBSD/pmax (ELF, but might not have
 * working shared libs).
 */
#if ((OSMajorVersion > 0) && \
     !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \
    UseElfFormat
# ifndef HasSharedLibraries
# define HasSharedLibraries	YES
# endif
#endif

#ifndef OSBinaryType
#if UseElfFormat
#define OSBinaryType	[ELF]
#else
#define OSBinaryType	/**/
#endif
#endif

#ifndef HasSharedLibraries
#define HasSharedLibraries	NO
#endif 

/*
 * Unresolved references are fatal on NetBSD 1.5 for libGL, which is
 * built with -Bsymbolic.
 */
#if UseElfFormat && OSMajorVersion == 1 && OSMinorVersion == 5
#define SharedGLReqs		$(LDPRELIBS) $(XLIB) -lc
#endif

#if HasSharedLibraries
#include <bsdLib.rules>
#endif /* HasSharedLibraries */

/* Always build the XInput library, regardless of server support on this plattform */
#if !defined(BuildXInputLib) && !defined(BuildServersOnly)
# define BuildXInputLib          YES
#endif

#if defined(i386Architecture) || defined(Arm32Architecture) || defined(AlphaArchitecture) || defined(PpcArchitecture) || defined(AMD64Architecture)
# include <xorg.cf>
#endif

/*
 * Definitions for the SUN server on NetBSD/sparc
 */
#ifdef SparcArchitecture
#ifndef Xsun24Server
#define Xsun24Server	YES
#endif
#ifndef XsunServer
#define XsunServer	YES
#endif
#ifndef XsunMonoServer
#define XsunMonoServer	NO	/* XXX: does not link */
#endif
#ifndef BuildScreenSaverLibrary
#define BuildScreenSaverLibrary	YES
#endif

/*
 * XFree86 uses its own (more portable) database routines to speed up 
 * the RGB database lookups
 * However, if you want to use ndbm anyway, you can set that to NO in 
 * site.def
 */
#ifndef UseRgbTxt
#define UseRgbTxt	YES
#endif
#define BuildXF86VidModeExt	NO
#define BuildXF86DGA		NO
#define BuildXInputExt		NO
#include <xorg.cf>
#endif

/*
 * Definition for compiling on MIPS machines
 */
#ifdef MipsArchitecture
#define PositionIndependentCFlags
#define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ |
sed 's/\.[0-9]*$$//'`
#define SharedXtReqs $(XONLYLIB) $(SMLIB) $(ICELIB)
#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB)
#endif

/*
 * Definition for compiling on Alpha machines
 */
#ifdef AlphaArchitecture

/* Build the shared XDM greeter on Alpha if it supports shared libs */
#define SharedLibXdmGreet HasSharedLibraries
#endif

/*
 * Definition for compile on macppc machines
 */
#ifdef PpcArchitecture

# define OptimizedCDebugFlags 	-O2 GccAliasingArgs
# define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT

# ifndef DoLoadableServer
#   define DoLoadableServer	YES
# endif

# define UseElfFormat		YES

#endif

/*
 * Definition for compiling on VAX machines
 */
#ifdef VaxArchitecture
#define BuildServer	NO
#endif

/* 
 * General settings for all platforms 
 */ 
#ifndef SharedLibXdmGreet
#define SharedLibXdmGreet NO
#endif

#ifndef BuildHtmlManPages
#define BuildHtmlManPages NO	/* We don't want HTML manpages */
#endif

#ifndef UseSeparateConfDir
#define UseSeparateConfDir NO	/* We don't want appdefs in "/etc/X11". */
#endif

#if defined(NetBSDArchitecture) && \
     ((OSMajorVersion > 1) || \
      (OSMajorVersion == 1 && OSMinorVersion > 3))
#define HasDevRandom		YES
#define RandomDeviceFile	/dev/urandom
#endif
