Edit

IABSD.fr/xenocara/util/cf/OpenBSD.cf

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2006-11-25 16:15:45
    Hash : 782466d3
    Message : import from X.Org 7.2RC2

  • util/cf/OpenBSD.cf
  • XCOMM platform:  $XFree86: xc/config/cf/OpenBSD.cf,v 3.100 2004/01/08 22:51:41 herrb Exp $
    XCOMM $XdotOrg: util/cf/OpenBSD.cf,v 1.12 2005/10/01 16:42:11 herrb Exp $
    XCOMM
    
    #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 OSVendor
    #define	OSVendor	/**/
    #endif
    XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
    
    #ifdef Ports
    
    #define BinDir			/usr/local/bin
    #define LibDir			/usr/local/lib/X11
    #define UsrLibDir		/usr/local/lib
    #define ManDirectoryRoot	/usr/local/man
    #define LdPreLib		-L/usr/X11R6/lib -L/usr/local/lib
    #define XpmLibDir		/usr/X11R6/lib
    #define XpmIncDir		/usr/X11R6/include
    #define ConfigDir		/usr/X11R6/lib/X11/config
    #define IncRoot			/usr/local/include
    #define TopXInclude		-I/usr/X11R6/include
    #define ImakeCmd		imake -DPorts
    #define DocDir			/usr/local/share/doc
    #define BuildHtmlManPages	NO
    
    #endif
    
    /*
     * C library features
     */
    #define HasPoll			YES
    #define HasNdbm         	YES
    #define HasPutenv       	YES
    #define HasSnprintf		YES
    #if OSMajorVersion == 2 && OSMinorVersion >= 4 || OSMajorVersion >= 3
    # define HasStrlcat		YES
    #endif
    #define HasBSD44Sockets 	YES
    #define Malloc0ReturnsNull	NO
    #define SetTtyGroup     	YES
    #define DBMLibrary		/**/
    #define HasLibCrypt		NO
    #define HasShm          	YES
    #define HasWChar32		YES
    #define HasMkstemp		YES
    #define HasSetProcTitle		YES
    #define HasZlib			YES
    #ifndef HasLibpng
    # define HasLibpng		NO
    #endif
    #ifndef HasKrbIV
    # if OSMajorVersion == 2 || OSMajorVersion == 3 && OSMinorVersion < 3
    #  define HasKrbIV		YES
    #  if OSMajorVersion == 2 && OSMinorVersion <= 8
    #   define KrbIVLibraries	-lkrb -lkafs -ldes
    #  endif
    # else
       /* Kerberos IV was removed after OpenBSD 3.3 */
    #  define HasKrbIV		NO
    # endif
    #endif
    #define HasUsableFileMmap	YES
    #define HasShadowPasswd		NO
    #define IPv6SocketsAlsoIPv4	NO
    
    #define HasArc4Random		YES
    
    #define HasNCurses		YES
    #define NCursesLibName		-lcurses
    #if defined(TermcapLibrary)
    #undef TermcapLibrary
    #endif
    #define TermcapLibrary		-lcurses
    
    #define HasVarRun		YES
    #define HasVarDb		YES
    #define VarLibDir		VarDbDirectory
    
    #define InstallXloadSetGID	NO
    
    #ifndef HasIssetugid
    # if (OSMajorVersion >= 2)
    #  define HasIssetugid		YES
    # endif
    #endif
    
    #ifndef HasMktemp
    # if (OSMajorVersion > 2) || (OSMajorVersion == 2 && OSMinorVersion >= 1)
    #  define HasMktemp		YES
    # else
    #  define HasMktemp		NO
    # endif
    #endif
    
    /* OpenBSD >= 2.7 has getifaddrs() */
    #if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 7)
    #define HasGetIfAddrs		YES
    #endif
    
    /* OpenBSD >= 2.8 has setusercontext() */
    #if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 7)
    #define HasSetUserContext	YES
    #endif
    
    /* OpenBSD after 2.9 has BSD authentication */
    #if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 9)
    # define HasBSDAuth		YES
    #endif
    
    /* OpenBSD 3.0 and later has getpeereid() */
    #if OSMajorVersion >= 3
    # define HasGetpeereid		YES
    #endif
    
    /* OpenBSD 3.0 has APM with kqueue interface */
    #if OSMajorVersion >= 3
    # define HasApmKqueue		YES
    #endif
    
    /* OpenBSD 3.0 has libusb, next versions have libusbhid */
    #if OSMajorVersion >= 3 
    # define HasLibUsb		YES
    # ifndef HasLibUsbHid
    #  if OSMajorVersion == 3 && OSMinorVersion > 0 || OSMajorVersion > 3
    #   define HasLibUsbHid		YES
    #   define UsbHidLib 		-lusbhid
    #  else
    #   define HasLibUsbHid		NO
    #   define UsbHidLib		-lusb
    #  endif
    # endif
    #endif
    
    /*
     * Compiler Features
     */
    #define GccUsesGas		YES
    #define UseGas			YES
    #define GnuCpp			YES
    
    #define UseGnuMalloc		NO
    
    #define NeedConstPrototypes	YES
    #define NeedFunctionPrototypes	YES
    #define NeedNestedPrototypes	YES
    #define NeedVarargsPrototypes	YES
    #define NeedWidePrototypes	NO
    
    #define MkdirHierCmd		mkdir -p
    
    #ifndef CppCmd
    #define CppCmd          	/usr/libexec/cpp
    #endif
    #define StandardCppOptions	-traditional
    #define StandardCppDefines	/**/
    #define PreProcessCmd   	CppCmd
    #define PreIncDir		DefaultGccIncludeDir
    
    #ifndef CcCmd
    #define CcCmd 			cc
    #endif
    #ifndef AsCmd
    #define AsCmd			cc -c -x assembler
    #endif
    #ifndef DefaultCCOptions
    #if defined(UseInstalled)
       /* conform to OpenBSD's habits */
    #  define DefaultCCOptions	$(COPTS)
    #else
    #  ifdef  PpcArchitecture
    #    define DefaultCCOptions	-pipe -fsigned-char GccWarningOptions
    #  else
    #    define DefaultCCOptions 	-pipe GccWarningOptions
    #  endif
    #endif
    #endif
    
    #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
    
    /*
     * Increment shared libraries major numbers if using Gcc Stack Protector
     * (This introduces an ABI change)
     */
    #ifndef OverrideShlibRevs
    # define OverrideShlibRevs     ProPoliceSupport
    #endif
    
    #define XawI18nDefines	-DUSE_XWCHAR_STRING -DUSE_XMBTOWC
    
    
    #define	AdmDir			/var/log
    
    #define HasFlex			YES
    
    /* OpenBSD doesn't have gperf in the base install */
    #define DontRebuildGperfOutput	YES
    
    /*
     * Make & install Features
     */
    
    #define HasBsdMake		YES
    
    #define BuildCyrillicFonts	YES
    #define GzipFontCompression	YES
    #define DefaultUserPath		/bin:/usr/bin:/usr/local/bin:$(BINDIR)
    #define DefaultSystemPath	/sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
    
    #define InstUidFlags		-m 4755
    
    #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
    
    #ifndef HasCookieMaker
    #  define HasCookieMaker	YES
    #  define MkCookieCmd \
    	'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
    #endif
    
    
    /*
     * 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)
    
    
    /*
     * InstallFontAliases - generate rules to install font aliases
     *                      databases without comments for X11R5 servers
     */
    #ifndef InstallFontAliasesNoComment
    #define InstallFontAliasesNoComment(dest)				@@\
    install:: fonts.alias							@@\
    	$(RM) _fonts.alias 						@@\
    	sed -e '/^!/d' -e '/^$$/d' < fonts.alias > _fonts.alias		@@\
    	MakeDir($(DESTDIR)dest)						@@\
    	$(INSTALL) $(INSTALLFLAGS) $(INSTALLDATFLAGS) _fonts.alias \	@@\
    	$(DESTDIR)dest/fonts.alias					@@\
    	$(RM) _fonts.alias
    #endif /* InstallFontAliasesNoComment */
    
    /*
     * OpenBSD specific Imake Config files
     */
    #ifndef LocalConfigFiles
    #define LocalConfigFiles \
    	OpenBSDLib.rules OpenBSDLib.tmpl
    #endif
    
    /*
     * Architecture specific sections - put all architecture dependent
     * options and setting here into the correct section
     */
    
    
    /*
     * Definitions for the alpha architecture
     */
    #ifdef AlphaArchitecture
    
    # if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
    #  define HasWeakSymbols		YES
    # endif
    
    /* XXX Xvfb currently causes a linker error: */
    /* XXX crtbegin.c(.fini+0x10): relocation truncated to fit: BRADDR text */
    # ifdef XVirtualFramebufferServer
    #  undef XVirtualFramebufferServer
    # endif
    # define XVirtualFramebufferServer	NO
    # ifdef XnestServer
    #  undef XnestServer
    # endif
    # define XnestServer	NO
    
    # if (OSMajorVersion < 3)
    #  define HasSharedLibraries	NO
    # endif
    
    # ifndef XorgServer
    #  if OSMajorVersion == 3 && OSMinorVersion >= 2 || OSMajorVersion > 3
    #    define XorgServer		YES
    #  else
    #    define XorgServer		NO
    #  endif
    # endif
    
    /* Definitions for building the XFree86 server */
    # if XorgServer
    #   ifndef HasNetBSDApertureDriver
    #     define HasNetBSDApertureDriver	YES
    #   endif
    #   define ServerOSDefines	XFree86ServerOSDefines  -DDDXOSINIT
    #   define ServerExtraDefines	GccGasOption -D_XSERVER64 XFree86ServerDefines
    #   define ServerExtraSysLibs	-lalpha
    #   ifndef DoLoadableServer
    #     define DoLoadableServer	YES
    #   endif
    #   define XF86OSCardDrivers	wsfb
    #   ifndef XFree86ConsoleDefines
    #     define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
    #   endif
    #   define UseMatroxHal		NO	/* Matrox HAL is i386 only */
    
    # endif /* XorgServer */
    
    # include <xorg.cf>
    
    #endif /* AlphaArchitecture */
    
    /*
     * Definitions for the AMD64 architecture
     */
    #ifdef AMD64Architecture
    
    # define HasWeakSymbols		YES
    # define HasSharedLibraries	YES
    # define HasDlopen		YES
    
    # define XorgServer		YES
    
    # ifndef DoLoadableServer
    #  define DoLoadableServer	YES
    # endif
    
    # ifndef HasNetBSDApertureDriver
    #  define HasNetBSDApertureDriver	YES
    # endif
    
    # define HasAgpGart		YES
    
    # define ServerExtraSysLibs	-lamd64
    # define ServerExtraDefines	GccGasOption -D_XSERVER64 XFree86ServerDefines
    
    # ifndef XFree86ConsoleDefines
    #  define XFree86ConsoleDefines	-DWSCONS_SUPPORT -DPCVT_SUPPORT
    # endif
    
    # ifndef HasMMXSupport
    #   define HasMMXSupport	YES
    # endif
    
    # ifndef HasX86Support
    #  define HasX86Support		YES
    # endif
    # include <xorg.cf>
    
    #endif /* AMD64Architecture */
    
    /*
     * Definitions for the i386 architecture
     */
    #ifdef i386Architecture
    
    # ifndef DoLoadableServer
    #  define DoLoadableServer	YES
    # endif
    
    /* Direct rendering (OpenBSD 3.3 and up). */ 
    # if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
    #  ifndef BuildXF86DRI
    #   define BuildXF86DRI			NO
    #  endif 
    # endif 
    
    # define HasWeakSymbols		YES
    
    /* To use the NetBSD Aperture driver */
    # ifndef HasNetBSDApertureDriver
    #  define HasNetBSDApertureDriver	YES
    # endif
    
    /* 2.7 and later have support for setting MTRRs */
    # ifndef HasMTRRSupport
    #  if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 6)
    #   define HasMTRRSupport		YES
    #  else
    #   define HasMTRRSupport		NO
    #  endif
    # endif
    
    /* 
     * agpgart support (OpenBSD 3.2 and up) 
     */ 
    # if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 1)
    #  ifndef HasAgpGart 
    #   define HasAgpGart   YES 
    #  endif 
    # endif 
     
    
    # ifndef DefaultGcc2i386Opt
    #   if (OSMajorVersion == 2 && OSMinorVersion >= 3) || OSMajorVersion > 2
          /* The GCC strength-reduce bug is fixed for OpenBSD 2.3 and later */
    #     define DefaultGcc2i386Opt	-O2 GccAliasingArgs
    #   endif
    # endif
    # define OptimizedCDebugFlags	DefaultGcc2i386Opt
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
    # define ServerExtraSysLibs	-li386
    # define LdPostLib		/**/
    # define ServerExtraDefines GccGasOption XFree86ServerDefines
    # ifndef XFree86ConsoleDefines
    #   define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
    # endif
    
    # define JoystickSupport	NO
    
    /* A hack to work around an optimization problem with gcc 2.95.2 */
    # if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 6)
    #  define GccOptBug295
    # endif
    
    /* No MMX support in OpenBSD/a.out gas */
    # ifndef HasMMXSupport
    #   define HasMMXSupport	UseElfFormat
    # endif
    
    /* for DRI */
    # ifndef HasX86Support
    #  define HasX86Support		UseElfFormat
    # endif
    
    # include <xorg.cf>
    
    #endif /* i386Architecture */
    
    
    /*
     * Definitions for the m68k architecture (currently amiga, hp300,
     * mac68k, mvme68k, sun3)
     */
    #ifdef Mc68020Architecture
    
    /*
     * Function CSE makes gas -k not recognize external function calls as lazily
     * resolvable symbols, thus sometimes making ld.so report undefined symbol
     * errors on symbols found in shared library members that would never be
     * called.  Ask niklas@openbsd.org for details.
     */
    
    # define PositionIndependentCFlags -fpic -fno-function-cse
    # define BuildGlxExt		NO
    # define BuildGLXLibrary	YES
     
    #endif /* Mc68020Architecture */
    
    
    /*
     * Definitions for the amiga architecture
     */
    #ifdef AmigaArchitecture
    
    # ifndef BuildServer
    #  define BuildServer		NO
    # endif
    
    # define ServerExtraDefines	-DXFree86Server
    
    # include <xorg.cf>
    
    #endif /* AmigaArchitecture */
    
    
    /*
     * Definitions for the hp300 architecture
     */
    #ifdef Hp300Architecture
    
    # ifndef BuildServer
    #  define BuildServer		NO
    # endif
    /* For the X11R5 server */
    # define CompressAllFonts	NO
    # define InstallFontAliases	InstallFontAliasesNoComment
    # define UseRgbTxt		NO
    # define UseRgb			YES
    
    # define ServerExtraDefines	-DXFree86Server
    
    #include <xorg.cf>
    
    #endif /* Hp300Architecture */
    
    
    /*
     * Definitions for the mac68k architecture
     */
    #ifdef Mac68kArchitecture
    
    # ifndef BuildServer
    #  define BuildServer		NO
    # endif
    
    # define ServerExtraDefines	-DXFree86Server
    
    # include <xorg.cf>
    
    #endif /* mac68kArchitecture */
    
    
    /*
     * Definitions for the mvme68k architecture
     */
    #ifdef Mvme68kArchitecture
    
    # ifndef BuildServer
    #  define BuildServer		NO
    # endif
    
    # define ServerExtraDefines	-DXFree86Server
    
    # include <xorg.cf>
    
    #endif /* Mvme68kArchitecture */
    
    
    /*
     * Definitions for the sun3 architecture
     */
    #ifdef Sun3Architecture
    
    # include <xf86.rules>
    
    # define ServerOSDefines       -DDDXOSINIT
    # define BootstrapCFlags       -Dsun3
    # define UnalignedReferencesAllowed	YES /* changes _XtCopyArgs() */
    # define ServerExtraDefines    GccGasOption -Dmc68000 -Dmc68020 \
    				-DXFree86Server -DINCLUDE_CG2_HEADER
    
    # ifndef Xsun24Server
    #  define Xsun24Server		NO
    # endif
    # ifndef XsunServer
    #  define XsunServer		YES
    # endif
    # ifndef XsunMonoServer
    #  define XsunMonoServer	NO
    # endif
    
    #define XkbServerDefines  -DXKB_ALWAYS_USES_SOFT_REPEAT
    
    #endif /* Sun3Architecture */
    
    
    /*
     * Definitions for the mips architecture (currently arc, pmax)
     */
    #ifdef MipsArchitecture
    
     /*
      * Mips ELF shared libs need some special handling.
      */
    # define PositionIndependentCFlags
    # define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ | sed 's/\.[0-9]*$$//'`
    # define SharedXtReqs -L$(BUILDLIBDIR) $(XONLYLIB) $(SMLIB) $(ICELIB)
    # define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB)
    
    #endif /* MipsArchitecture */
    
    
    /*
     * Definitions for the arc architecture
     */
    #ifdef ArcArchitecture
    
    #  define ServerExtraDefines GccGasOption XFree86ServerDefines
    #  ifndef XFree86ConsoleDefines
    #    define XFree86ConsoleDefines -DPCCONS_SUPPORT
    #  endif
    
    # include <xorg.cf>
    
    #endif /* ArcArchitecture */
    
    
    /*
     * Definitions for the pmax architecture
     */
    #ifdef PmaxArchitecture
    
    # include <xf86.rules>
    # ifndef BuildServer
    #  define BuildServer		NO
    # endif
    /* For the X11R5 server */
    # define CompressAllFonts	NO
    # define InstallFontAliases	InstallFontAliasesNoComment
    # define UseRgbTxt		NO
    
    #endif /* PmaxArchitecture */
    
    /*
     * Definitions for the PowerPC architecture 
     */
    #ifdef PpcArchitecture
    
    # define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
    # ifndef XFree86ConsoleDefines
    #   define XFree86ConsoleDefines	-DWSCONS_SUPPORT
    # endif
    
    # if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
    #  define HasWeakSymbols	YES
    # endif
    # ifndef GccWarningOptions
    #  if defined(XFree86Devel) && XFree86Devel
    #   define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
    			  -Wmissing-prototypes -Wmissing-declarations \
    			  -Wnested-externs
    #  else
    #   define GccWarningOptions -Wall -Wpointer-arith
    #  endif
    # endif
    
    # ifndef XorgServer
    #   define XorgServer		YES
    # endif
    
    /* Definitions for building the X server */
    # if XorgServer
    #   define ServerOSDefines	XFree86ServerOSDefines -DDDXOSINIT
    #   define ServerExtraDefines	GccGasOption XFree86ServerDefines
    #   ifndef DoLoadableServer
    #     define DoLoadableServer	YES
    #   endif
    #   define XF86OSCardDrivers	wsfb
    #   ifndef XF86CardDrivers
    #    define XF86CardDrivers	ati mga glint s3virge sis savage\
    				trident chips tdfx \
    				DevelDrivers vga \
    				XF86OSCardDrivers XF86ExtraCardDrivers
    #   endif
    #   ifndef DevelDrivers 
    #    define DevelDrivers nv
    #   endif
    
    # endif /* XorgServer */
    
    # include <xorg.cf>
    
    #endif /* PpcArchitecture */
    
    /*
     * Definitions for the sparc architecture
     */
    #ifdef SparcArchitecture
    
    # define BuildXF86MiscExt	NO
    # define BuildMITMiscExt	NO
    
    # if OSMajorVersion > 3 || OSMajorVersion == 3 && OSMinorVersion >= 2
    #  define HasWeakSymbols	YES
    #endif 
    
    # if OSMajorVersion == 2 || OSMajorVersion == 3 && OSMinorVersion < 2
    #  define ServerOSDefines 	-DDDXOSINIT
    #  define ServerExtraDefines	-DAVOID_GLYPHBLT -DPIXPRIV  -DXFree86Server \
    				DebugDefines -DINCLUDE_CG2_HEADER \
    				-DX_BYTE_ORDER=$(X_BYTE_ORDER)
    #  define XOrgServer		NO
    # else
    #  define XorgServer		YES
    # endif 
    
    # if !XorgServer
    
    #  ifndef Xsun24Server
    #   define Xsun24Server		YES
    #  endif
    #  ifndef XsunServer
    #   define XsunServer		YES
    #  endif
    #  ifndef XsunMonoServer
    #   define XsunMonoServer	YES
    #  endif
    #  ifndef InstallXserverSetUID
    #   define InstallXserverSetUID NO
    #  endif
    
    # else /* XF86Server */
    
    #  ifndef Xsun24Server
    #   define Xsun24Server		NO
    #  endif
    #  ifndef XsunServer
    #   define XsunServer		NO
    #  endif
    #  ifndef XsunMonoServer
    #   define XsunMonoServer	NO
    #  endif
    #  ifndef DoLoadableServer
    #    define DoLoadableServer	YES
    #  endif
    
    #  define XF86CardDrivers	wsfb
    #  define XFree86ConsoleDefines -DWSCONS_SUPPORT
    #  define BuildXInputExt	YES
    #  define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT
    #  define ServerExtraDefines	GccGasOption XFree86ServerDefines
    
    # endif
    
    # define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
    
    # define BuildXF86VidModeExt	NO
    # define BuildXF86DGA		NO
    # ifndef BuildXInputExt
    #  define BuildXInputExt	NO
    # endif
    # include <xorg.cf>
    
    #endif /* SparcArchitecture */
    
    /*
     * Definitions for the sparc64 architecture
     */
    
    #ifdef Sparc64Architecture
    
    # if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
    #  define HasWeakSymbols	YES
    # endif
    
    # ifndef XorgServer
    #  define XorgServer		YES
    # endif
    
    # define ServerExtraDefines	GccGasOption -D_XSERVER64 XFree86ServerDefines
    # define ServerOSDefines	XFree86ServerOSDefines -DDDXOSINIT
    # define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
    
    # if XorgServer
    #   ifndef DoLoadableServer
    #     define DoLoadableServer	YES
    #   endif
    #   define XF86OSCardDrivers	wsfb
    #   define XFree86ConsoleDefines -DWSCONS_SUPPORT
    # endif
    
    # include <xorg.cf>
    
    #endif /* Sparc64Architecture */
    
    /*
     * Definitions for the vax architecture
     */
    #ifdef VaxArchitecture
    
    # ifndef BuildServer
    #  define BuildServer		NO
    # endif
    
    /* For the X11R5 server */
    # define CompressAllFonts	NO
    # define InstallFontAliases	InstallFontAliasesNoComment
    # define UseRgbTxt		NO
    # define UseRgb			YES
    
    # define ServerExtraDefines	-DXFree86Server
    # define UnalignedReferencesAllowed YES
    # define HasSharedLibraries	NO
    # define HasDlopen		NO
    
    # define BuildGlxExt		NO
    # define BuildGLXLibrary	NO
    
    # include <xorg.cf>
    
    #endif /* VaxArchitecture */
     
    /* End or architecture specific section */
    
    /*
     * Generic settings for all architectures
     * which can be overridden by architecture specific sections above
     */
    
    #ifndef StandardDefines
    # define StandardDefines	-DCSRG_BASED 
    #endif
    
    #if !defined(OptimizedCDebugFlags)
    # define OptimizedCDebugFlags	-O2
    #endif
    
    #ifndef ServerOSDefines
    #  define ServerOSDefines 	/**/
    #endif
    
    #ifndef ServerExtraDefines
    #  define ServerExtraDefines GccGasOption
    #endif
    
    #ifndef HasWeakSymbols
    # define HasWeakSymbols			NO
    #endif
    
    /*
     * Multi-thread safe libs 
     */	
    #if HasWeakSymbols == YES && (OSMajorVersion == 2 && OSMinorVersion >= 6 || OSMajorVersion >= 3)
    #  define HasPosixThreads		YES
    #  define ThreadedX			YES
    #  define NeedUIThrStubs		YES
    #  define ThreadsCompileFlag		-pthread
    #  define ThreadsLibraries		-pthread
    #else
    #  define ThreadedX			NO
    #endif
    
    
    /* Set this to YES when getpwuid_r is added to libc_r */
    #define HasThreadSafeAPI		NO
    
    #ifndef ExtraLibraries
    # define ExtraLibraries		/**/
    #endif
    
    #ifndef DoLoadableServer
    #define DoLoadableServer	NO
    #endif
    
    #ifndef XVirtualFramebufferServer
    # undef BuildServer
    # define BuildServer			YES
    # define XVirtualFramebufferServer	YES
    #endif
    
    #ifndef XnestServer
    # undef BuildServer
    # define BuildServer			YES
    # define XnestServer			YES
    #endif
    
    #ifndef BuildScreenSaverLibrary
    # define BuildScreenSaverLibrary	YES
    #endif
    
    #ifndef CompressAllFonts
    # define CompressAllFonts		YES
    #endif
    
    #ifndef SharedLibXdmGreet
    # define SharedLibXdmGreet		NO
    #endif
    
    #define HasFreetype2		NO
    #define HasExpat		NO
    #define	BuildXterm		BuildClients
    
    /*
     * 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
     * host.def
     */
    #ifndef UseRgbTxt
    # define UseRgbTxt			YES
    #endif
    
    #ifndef OSBinaryType
    # if UseElfFormat
    #  define OSBinaryType			[ELF]
    # else
    #  define OSBinaryType			/**/
    # endif
    #endif
    
    #ifndef HasDlopen
    # define HasDlopen		YES
    #endif
    
    #ifndef DlLibrary
    # if UseElfFormat
    #  if (OSMajorVersion < 3 || OSMajorVersion == 3 && OSMinorVersion == 0)
    #   define DlLibrary -ldl
    #  else
    #   define DlLibrary -Wl,--export-dynamic
    #  endif
    # else
    #  define DlLibrary /**/
    # endif
    #endif
    
    #if !defined(GccWarningOptions)
    # define GccWarningOptions 		-Wall -Wpointer-arith
    #endif
    
    /* This must come last */
    #if OSMajorVersion == 2 && OSMinorVersion >= 8 || OSMajorVersion > 2
    # include <OpenBSDLib.rules>
    #else
    # include <bsdLib.rules>
    #endif