Edit

IABSD.fr/xenocara/xserver/configure.ac

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2012-08-05 18:11:37
    Hash : fe11647d
    Message : Update to xserver 1.12.3.

  • xserver/configure.ac
  • dnl Copyright © 2003-2007 Keith Packard, Daniel Stone
    dnl
    dnl Permission is hereby granted, free of charge, to any person obtaining a
    dnl copy of this software and associated documentation files (the "Software"),
    dnl to deal in the Software without restriction, including without limitation
    dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
    dnl and/or sell copies of the Software, and to permit persons to whom the
    dnl Software is furnished to do so, subject to the following conditions:
    dnl
    dnl The above copyright notice and this permission notice (including the next
    dnl paragraph) shall be included in all copies or substantial portions of the
    dnl Software.
    dnl
    dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
    dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    dnl DEALINGS IN THE SOFTWARE.
    dnl
    dnl Authors: Keith Packard <keithp@keithp.com>
    dnl          Daniel Stone <daniel@fooishbar.org>
    dnl          an unwitting cast of miscellaneous others
    dnl
    dnl Process this file with autoconf to create configure.
    
    AC_PREREQ(2.60)
    AC_INIT([xorg-server], 1.12.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
    RELEASE_DATE="2012-07-09"
    AC_CONFIG_SRCDIR([Makefile.am])
    AM_INIT_AUTOMAKE([foreign dist-bzip2])
    AM_MAINTAINER_MODE
    
    # Require xorg-macros minimum of 1.14 for XORG_COMPILER_BRAND in XORG_DEFAULT_OPTIONS
    m4_ifndef([XORG_MACROS_VERSION],
              [m4_fatal([must install xorg-macros 1.14 or later before running autoconf/autogen])])
    XORG_MACROS_VERSION(1.14)
    XORG_DEFAULT_OPTIONS
    XORG_WITH_DOXYGEN(1.6.1)
    XORG_CHECK_SGML_DOCTOOLS(1.8)
    XORG_ENABLE_DOCS
    XORG_ENABLE_DEVEL_DOCS
    XORG_WITH_XMLTO(0.0.20)
    XORG_WITH_FOP
    XORG_WITH_XSLTPROC
    XORG_ENABLE_UNIT_TESTS
    XORG_LD_WRAP([optional])
    
    m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install fontutil 1.1 or later before running autoconf/autogen])])
    XORG_FONT_MACROS_VERSION(1.1)
    
    dnl this gets generated by autoheader, and thus contains all the defines.  we
    dnl don't ever actually use it, internally.
    AC_CONFIG_HEADERS(include/do-not-use-config.h)
    dnl xorg-server.h is an external header, designed to be included by loadable
    dnl drivers.
    AC_CONFIG_HEADERS(include/xorg-server.h)
    dnl dix-config.h covers most of the DIX (i.e. everything but the DDX, not just
    dnl dix/).
    AC_CONFIG_HEADERS(include/dix-config.h)
    dnl xorg-config.h covers the Xorg DDX.
    AC_CONFIG_HEADERS(include/xorg-config.h)
    dnl xkb-config.h covers XKB for the Xorg and Xnest DDXs.
    AC_CONFIG_HEADERS(include/xkb-config.h)
    dnl xwin-config.h covers the XWin DDX.
    AC_CONFIG_HEADERS(include/xwin-config.h)
    dnl kdrive-config.h covers the kdrive DDX
    AC_CONFIG_HEADERS(include/kdrive-config.h)
    dnl version-config.h covers the version numbers so they can be bumped without
    dnl forcing an entire recompile.x
    AC_CONFIG_HEADERS(include/version-config.h)
    
    AM_PROG_AS
    AC_PROG_LN_S
    AC_LIBTOOL_WIN32_DLL
    AC_DISABLE_STATIC
    AC_PROG_LIBTOOL
    PKG_PROG_PKG_CONFIG
    AC_PROG_LEX
    AC_PROG_YACC
    AC_SYS_LARGEFILE
    XORG_PROG_RAWCPP
    
    # Quoted so that make will expand $(CWARNFLAGS) in makefiles to allow
    # easier overrides at build time.
    XSERVER_CFLAGS='$(CWARNFLAGS)'
    
    dnl Explicitly add -fno-strict-aliasing since this option should disappear
    dnl from util-macros CWARNFLAGS
    if  test "x$GCC" = xyes ; then
        XSERVER_CFLAGS="$XSERVER_CFLAGS -fno-strict-aliasing"
    fi
    
    dnl Check for dtrace program (needed to build Xserver dtrace probes)
    dnl Also checks for <sys/sdt.h>, since some Linux distros have an 
    dnl ISDN trace program named dtrace
    AC_ARG_WITH(dtrace, AS_HELP_STRING([--with-dtrace=PATH],
    	     [Enable dtrace probes (default: enabled if dtrace found)]),
    	     [WDTRACE=$withval], [WDTRACE=auto])
    if test "x$WDTRACE" = "xyes" -o "x$WDTRACE" = "xauto" ; then
    	AC_PATH_PROG(DTRACE, [dtrace], [not_found], [$PATH:/usr/sbin])
    	if test "x$DTRACE" = "xnot_found" ; then
    		if test "x$WDTRACE" = "xyes" ; then
    			AC_MSG_FAILURE([dtrace requested but not found])
    		fi
    		WDTRACE="no"
    	else
    		AC_CHECK_HEADER(sys/sdt.h, [HAS_SDT_H="yes"], [HAS_SDT_H="no"])
    		if test "x$WDTRACE" = "xauto" -a "x$HAS_SDT_H" = "xno" ; then
    			WDTRACE="no"
    		fi
    	fi
    fi
    if test "x$WDTRACE" != "xno" ; then
      AC_DEFINE(XSERVER_DTRACE, 1, 
          [Define to 1 if the DTrace Xserver provider probes should be built in.])
    
    # Solaris/OpenSolaris require dtrace -G to build dtrace probe information into
    # object files, and require linking with those as relocatable objects, not .a
    # archives. MacOS X handles all this in the normal compiler toolchain, and on
    # some releases (like Tiger), will error out on dtrace -G.  For now, other
    # platforms with Dtrace ports are assumed to support -G (the FreeBSD and Linux
    # ports appear to, based on my web searches, but have not yet been tested).
    	case $host_os in
    		darwin*)	SPECIAL_DTRACE_OBJECTS=no ;;
    		*)		SPECIAL_DTRACE_OBJECTS=yes ;;
    	esac
    fi
    AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
    AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x$SPECIAL_DTRACE_OBJECTS" = "xyes"])
    
    AC_HEADER_DIRENT
    AC_HEADER_STDC
    AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h fnmatch.h sys/utsname.h])
    
    dnl Checks for typedefs, structures, and compiler characteristics.
    AC_C_CONST
    AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
    
    AC_CHECK_SIZEOF([unsigned long])
    if test "$ac_cv_sizeof_unsigned_long" = 8; then
    	AC_DEFINE(_XSERVER64, 1, [Define to 1 if unsigned long is 64 bits.])
    fi
    
    AC_TYPE_PID_T
    
    # Checks for headers/macros for byte swapping
    # Known variants:
    #	<byteswap.h> bswap_16, bswap_32, bswap_64  (glibc)
    #	<sys/endian.h> __swap16, __swap32, __swap64 (OpenBSD)
    #	<sys/endian.h> bswap16, bswap32, bswap64 (other BSD's)
    #	and a fallback to local macros if none of the above are found
    
    # if <byteswap.h> is found, assume it's the correct version
    AC_CHECK_HEADERS([byteswap.h])
    
    # if <sys/endian.h> is found, have to check which version
    AC_CHECK_HEADER([sys/endian.h], [HAVE_SYS_ENDIAN_H="yes"], [HAVE_SYS_ENDIAN_H="no"])
    
    if test "x$HAVE_SYS_ENDIAN_H" = "xyes" ; then
    	AC_MSG_CHECKING([for __swap16 variant of <sys/endian.h> byteswapping macros])
    	AC_LINK_IFELSE([AC_LANG_PROGRAM([
    #include <sys/types.h>
    #include <sys/endian.h>
     ], [
    int a = 1, b;
    b = __swap16(a);
     ])
    ], [SYS_ENDIAN__SWAP='yes'], [SYS_ENDIAN__SWAP='no'])
    	AC_MSG_RESULT([$SYS_ENDIAN__SWAP])
    
    	AC_MSG_CHECKING([for bswap16 variant of <sys/endian.h> byteswapping macros])
    	AC_LINK_IFELSE([AC_LANG_PROGRAM([
    #include <sys/types.h>
    #include <sys/endian.h>
     ], [
    int a = 1, b;
    b = bswap16(a);
     ])
    ], [SYS_ENDIAN_BSWAP='yes'], [SYS_ENDIAN_BSWAP='no'])
    	AC_MSG_RESULT([$SYS_ENDIAN_BSWAP])
    
        	if test "$SYS_ENDIAN_BSWAP" = "yes" ; then
    		USE_SYS_ENDIAN_H=yes
    		BSWAP=bswap
    	else	
    	    	if test "$SYS_ENDIAN__SWAP" = "yes" ; then
    			USE_SYS_ENDIAN_H=yes
    			BSWAP=__swap
    		else
    			USE_SYS_ENDIAN_H=no
    		fi
    	fi
    
    	if test "$USE_SYS_ENDIAN_H" = "yes" ; then
    	    AC_DEFINE([USE_SYS_ENDIAN_H], 1, 
    		[Define to use byteswap macros from <sys/endian.h>])
    	    AC_DEFINE_UNQUOTED([bswap_16], ${BSWAP}16, 
    			[Define to 16-bit byteswap macro])
    	    AC_DEFINE_UNQUOTED([bswap_32], ${BSWAP}32, 
    			[Define to 32-bit byteswap macro])
    	    AC_DEFINE_UNQUOTED([bswap_64], ${BSWAP}64, 
    			[Define to 64-bit byteswap macro])
    	fi
    fi
    
    dnl Check to see if dlopen is in default libraries (like Solaris, which
    dnl has it in libc), or if libdl is needed to get it.
    AC_CHECK_FUNC([dlopen], [],
    	AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
    AC_SUBST(DLOPEN_LIBS)
    
    dnl Checks for library functions.
    AC_CHECK_FUNCS([backtrace ffs geteuid getuid issetugid getresuid \
    	getdtablesize getifaddrs getpeereid getpeerucred getzoneid \
    	mmap shmctl64 strncasecmp vasprintf vsnprintf walkcontext])
    AC_REPLACE_FUNCS([strcasecmp strcasestr strlcat strlcpy strndup])
    
    dnl Find the math libary, then check for cbrt function in it.
    AC_CHECK_LIB(m, sqrt)
    AC_CHECK_FUNCS([cbrt])
    
    AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
    
    dnl AGPGART headers
    AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h sys/agpgart.h], AGP=yes)
    AM_CONDITIONAL(AGP, [test "x$AGP" = xyes])
    
    dnl APM header
    AC_CHECK_HEADERS([linux/apm_bios.h], LNXAPM=yes)
    AM_CONDITIONAL(LNXAPM, [test "x$LNXAPM" = xyes])
    
    dnl fbdev header
    AC_CHECK_HEADERS([linux/fb.h], FBDEV=yes)
    AM_CONDITIONAL(FBDEVHW, [test "x$FBDEV" = xyes])
    
    dnl MTRR header
    AC_CHECK_HEADERS([asm/mtrr.h], ac_cv_asm_mtrr_h=yes)
    if test "x$ac_cv_asm_mtrr_h" = xyes; then
    	HAVE_MTRR=yes
    fi
    
    dnl BSD MTRR header
    AC_CHECK_HEADERS([sys/memrange.h], ac_cv_memrange_h=yes)
    if test "x$ac_cv_memrange_h" = xyes; then
    	HAVE_MTRR=yes
    fi
    
    if test "x$HAVE_MTRR" = xyes; then
    	AC_DEFINE(HAS_MTRR_SUPPORT, 1, [MTRR support available])
    fi
    
    dnl A NetBSD MTRR header
    AC_CHECK_HEADERS([machine/mtrr.h], ac_cv_machine_mtrr_h=yes)
    if test "x$ac_cv_machine_mtrr_h" = xyes; then
    	AC_DEFINE(HAS_MTRR_BUILTIN, 1, [Define to 1 if NetBSD built-in MTRR
    		support is available])
    fi
    
    dnl FreeBSD kldload support (sys/linker.h)
    AC_CHECK_HEADERS([sys/linker.h],
    	[ac_cv_sys_linker_h=yes],
    	[ac_cv_sys_linker_h=no],
    	[#include <sys/param.h>])
    AM_CONDITIONAL(FREEBSD_KLDLOAD, [test "x$ac_cv_sys_linker_h" = xyes])
    
    AC_CACHE_CHECK([for SYSV IPC],
    		ac_cv_sysv_ipc,
    		[AC_TRY_LINK([
    #include <sys/types.h>
    #include <sys/ipc.h>
    #include <sys/shm.h>
    ],[
    { 
        int id;
        id = shmget(IPC_PRIVATE, 512, SHM_W | SHM_R);
        if (id < 0) return -1;
        return shmctl(id, IPC_RMID, 0);
    }],
    	[ac_cv_sysv_ipc=yes],
    	[ac_cv_sysv_ipc=no])])
    if test "x$ac_cv_sysv_ipc" = xyes; then
    	AC_DEFINE(HAVE_SYSV_IPC, 1, [Define to 1 if SYSV IPC is available])
    fi
    
    dnl OpenBSD /dev/xf86 aperture driver 
    if test -c /dev/xf86 ; then
    	AC_DEFINE(HAS_APERTURE_DRV, 1, [System has /dev/xf86 aperture driver])
    fi
    
    dnl BSD APM support 
    AC_CHECK_HEADER([machine/apmvar.h],[
    	AC_CHECK_HEADER([sys/event.h],
    		ac_cv_BSD_KQUEUE_APM=yes,
    		ac_cv_BSD_APM=yes)])
    
    AM_CONDITIONAL(BSD_APM, [test "x$ac_cv_BSD_APM" = xyes])
    AM_CONDITIONAL(BSD_KQUEUE_APM, [test "x$ac_cv_BSD_KQUEUE_APM" = xyes])
    	
    dnl glibc backtrace support check (hw/xfree86/common/xf86Events.c)
    AC_CHECK_HEADER([execinfo.h],[
        AC_CHECK_LIB(c, backtrace, [
            AC_DEFINE(HAVE_BACKTRACE, 1, [Has backtrace support])
            AC_DEFINE(HAVE_EXECINFO_H, 1, [Have execinfo.h])
        ])]
    )
    
    dnl ---------------------------------------------------------------------------
    dnl Bus options and CPU capabilities.  Replaces logic in
    dnl hw/xfree86/os-support/bus/Makefile.am, among others.
    dnl ---------------------------------------------------------------------------
    DEFAULT_INT10="x86emu"
    
    dnl Override defaults as needed for specific platforms:
    
    case $host_cpu in
      alpha*)
    	ALPHA_VIDEO=yes
    	case $host_os in
    	        *freebsd*)	SYS_LIBS=-lio ;;
    		*netbsd*)	AC_DEFINE(USE_ALPHA_PIO, 1, [NetBSD PIO alpha IO]) ;;
    		*openbsd*)	SYS_LIBS=-lalpha ;;
    	esac
    	GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee"
    	;;
      arm*)
    	ARM_VIDEO=yes
    	;;
      i*86)
    	I386_VIDEO=yes
    	case $host_os in
    		*freebsd*)	AC_DEFINE(USE_DEV_IO) ;;
    		*dragonfly*)	AC_DEFINE(USE_DEV_IO) ;;
    		*netbsd*)	AC_DEFINE(USE_I386_IOPL)
    				SYS_LIBS=-li386
    				;;
    		*openbsd*)	AC_DEFINE(USE_I386_IOPL) 
    				SYS_LIBS=-li386
    				;;
    	esac
            ;;
      powerpc*)
    	PPC_VIDEO=yes
    	case $host_os in
    		*freebsd*)	DEFAULT_INT10=stub ;;
    	esac
    	;;
      m68k)
    	HP300_VIDEO=yes
    	BSD_ARCH_SOURCES="hp300_video.c ioperm_noop.c"
    	;;
      mips*)
    	SGI_VIDEO=yes
    	BSD_ARCH_SOURCES="sgi_video.c ioperm_noop.c"
    	;;
      sparc*)
    	SPARC64_VIDEO=yes
    	BSD_ARCH_SOURCES="sparc64_video.c ioperm_noop.c"
    	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
    	;;
      x86_64*|amd64*)
    	I386_VIDEO=yes
    	case $host_os in
    		*freebsd*)	AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
    		*dragonfly*)	AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
    		*netbsd*)	AC_DEFINE(USE_I386_IOPL, 1, [BSD i386 iopl])
    				SYS_LIBS=-lx86_64
    				;;
    		*openbsd*)	AC_DEFINE(USE_AMD64_IOPL, 1, [BSD AMD64 iopl])
    				SYS_LIBS=-lamd64
    				;;
    	esac
    	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
    	;;
      ia64*)
      	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
    	;;
      s390*)
      	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
    	;;
      hppa*)
    	case $host_os in
    		*openbsd*)	HPPA_VIDEO=yes
    	     			;;
    	esac
    	;;
    esac
    AC_SUBST(GLX_ARCH_DEFINES)
    
    dnl BSD *_video.c selection
    AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
    AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
    AM_CONDITIONAL(HP300_VIDEO, [test "x$HP300_VIDEO" = xyes])
    AM_CONDITIONAL(HPPA_VIDEO, [test "x$HPPA_VIDEO" = xyes])
    AM_CONDITIONAL(I386_VIDEO, [test "x$I386_VIDEO" = xyes])
    AM_CONDITIONAL(PPC_VIDEO, [test "x$PPC_VIDEO" = xyes])
    AM_CONDITIONAL(SGI_VIDEO, [test "x$SGI_VIDEO" = xyes])
    AM_CONDITIONAL(SPARC64_VIDEO, [test "x$SPARC64_VIDEO" = xyes])
    
    DRI=no
    USE_SIGIO_BY_DEFAULT="yes"
    dnl it would be nice to autodetect these *CONS_SUPPORTs
    case $host_os in
      *freebsd* | *dragonfly*)
    	case $host_os in
    		kfreebsd*-gnu) ;;
    		*) AC_DEFINE(CSRG_BASED, 1, [System is BSD-like]) ;;
    	esac
    	AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
    	AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
    	AC_DEFINE(SYSCONS_SUPPORT, 1, [System has syscons console])
    	DRI=yes
    	;;
      *netbsd*)
    	AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
    	AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
    	AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
    	AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
    	DRI=yes
    	;;
      *openbsd*)
    	AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
    	AC_DEFINE(PCVT_SUPPORT, 1, [System has PC console])
    	AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
    	# Disable use of SIGIO by default; it breaks multi-card
    	# configurations.  We don't want to run thousands of lines of
    	# potentially signal-unsafe code for no particular benefit.
    	USE_SIGIO_BY_DEFAULT="no"
    	KDRIVE_HW=yes
    	;;
      *linux*)
    	DRI=yes
    	;;
      *solaris*)
    	PKG_CHECK_EXISTS(libdrm, DRI=yes, DRI=no)
    	# Disable use of SIGIO by default until some system bugs are
    	# fixed - see Sun/OpenSolaris bug id 6879897
    	USE_SIGIO_BY_DEFAULT="no"
    	;;
      darwin*)
    	AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
    	;;
      cygwin*)
    	CFLAGS="$CFLAGS -DFD_SETSIZE=256"
    	;;
    esac
    
    dnl augment XORG_RELEASE_VERSION for our snapshot number and to expose the
    dnl major number
    PVMAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1`
    PVS=`echo $PACKAGE_VERSION | cut -d . -f 4 | cut -d - -f 1`
    if test "x$PVS" = "x"; then
    	PVS="0"
    fi
    
    VENDOR_RELEASE="((($PVMAJOR) * 10000000) + (($PVM) * 100000) + (($PVP) * 1000) + $PVS)"
    VENDOR_MAN_VERSION="Version ${PACKAGE_VERSION}"
    
    VENDOR_NAME="The X.Org Foundation"
    VENDOR_NAME_SHORT="X.Org"
    VENDOR_WEB="http://wiki.x.org"
    
    m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
    
    dnl Build options.
    AC_ARG_ENABLE(werror,        AS_HELP_STRING([--enable-werror],
    		  [Obsolete - use --enable-strict-compilation instead]),
      AC_MSG_ERROR([--enable-werror has been replaced by --enable-strict-compilation]))
    
    AC_ARG_ENABLE(debug,         AS_HELP_STRING([--enable-debug],
    				  [Enable debugging (default: disabled)]),
    			        [DEBUGGING=$enableval], [DEBUGGING=no])
    AC_ARG_ENABLE(use-sigio-by-default, AS_HELP_STRING([--enable-use-sigio-by-default]
      [Enable SIGIO input handlers by default (default: $USE_SIGIO_BY_DEFAULT)]),
                                    [USE_SIGIO_BY_DEFAULT=$enableval], [])
    AC_ARG_WITH(int10,           AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
    				[INT10="$withval"],
    				[INT10="$DEFAULT_INT10"])
    AC_ARG_WITH(vendor-name,     AS_HELP_STRING([--with-vendor-name=VENDOR],
    				  [Vendor string reported by the server]),
    				[ VENDOR_NAME="$withval" ], [])
    AC_ARG_WITH(vendor-name-short, AS_HELP_STRING([--with-vendor-name-short=VENDOR],
    				  [Short version of vendor string reported by the server]),
    				[ VENDOR_NAME_SHORT="$withval" ], [])
    AC_ARG_WITH(vendor-web,      AS_HELP_STRING([--with-vendor-web=URL],
    				  [Vendor web address reported by the server]),
    				[ VENDOR_WEB="$withval" ], [])
    AC_ARG_WITH(module-dir,      AS_HELP_STRING([--with-module-dir=DIR],
    				  [Directory where modules are installed (default: $libdir/xorg/modules)]),
    				[ moduledir="$withval" ],
    				[ moduledir="${libdir}/xorg/modules" ])
    AC_ARG_WITH(log-dir,         AS_HELP_STRING([--with-log-dir=DIR],
    				  [Directory where log files are kept (default: $localstatedir/log)]),
    				[ logdir="$withval" ],
    				[ logdir="$localstatedir/log" ])
    AC_ARG_WITH(builder-addr,    AS_HELP_STRING([--with-builder-addr=ADDRESS],
    				  [Builder address (default: xorg@lists.freedesktop.org)]),
    				[ BUILDERADDR="$withval" ],
    				[ BUILDERADDR="xorg@lists.freedesktop.org" ])
    AC_ARG_WITH(os-name,         AS_HELP_STRING([--with-os-name=OSNAME], [Name of OS (default: output of "uname -srm")]),
    				[ OSNAME="$withval" ],
    				[ OSNAME=`uname -srm` ])
    AC_ARG_WITH(os-vendor,       AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name of OS vendor]),
    				[ OSVENDOR="$withval" ],
    				[ OSVENDOR="" ])
    AC_ARG_WITH(builderstring,   AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
    				[ BUILDERSTRING="$withval" ]
    				[ ])
    
    dnl Determine font path
    XORG_FONTROOTDIR
    XORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
    XORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
    XORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
    XORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
    XORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
    XORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
    
    dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
    dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross
    dnl compiling, assume default font path uses standard FONTROOTDIR directories.
    DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
    if test "$cross_compiling" != yes; then
    	AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
    		[DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
    		[case $host_os in
    			darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
    		esac])
    fi
    AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
    				[ FONTPATH="$withval" ],
    				[ FONTPATH="${DEFAULT_FONT_PATH}" ])
    
    AC_MSG_CHECKING([for default font path])
    AC_MSG_RESULT([$FONTPATH])
    
    AC_ARG_WITH(xkb-path,         AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
    				[ XKBPATH="$withval" ],
    				[ XKBPATH="${datadir}/X11/xkb" ])
    AC_ARG_WITH(xkb-output,       AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${datadir}/X11/xkb/compiled)]),
    				[ XKBOUTPUT="$withval" ],
    				[ XKBOUTPUT="compiled" ])
    AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
                                       [Keyboard ruleset (default: base/evdev)]),
                                    [ XKB_DFLT_RULES="$withval" ],
                                    [ XKB_DFLT_RULES="" ])
    AC_ARG_WITH(default-xkb-model, AS_HELP_STRING([--with-default-xkb-model=MODEL],
                                       [Keyboard model (default: pc105)]),
                                    [ XKB_DFLT_MODEL="$withval" ],
                                    [ XKB_DFLT_MODEL="pc105" ])
    AC_ARG_WITH(default-xkb-layout, AS_HELP_STRING([--with-default-xkb-layout=LAYOUT],
                                       [Keyboard layout (default: us)]),
                                    [ XKB_DFLT_LAYOUT="$withval" ],
                                    [ XKB_DFLT_LAYOUT="us" ])
    AC_ARG_WITH(default-xkb-variant, AS_HELP_STRING([--with-default-xkb-variant=VARIANT],
                                       [Keyboard variant (default: (none))]),
                                    [ XKB_DFLT_VARIANT="$withval" ],
                                    [ XKB_DFLT_VARIANT="" ])
    AC_ARG_WITH(default-xkb-options, AS_HELP_STRING([--with-default-xkb-options=OPTIONS],
                                       [Keyboard layout options (default: (none))]),
                                    [ XKB_DFLT_OPTIONS="$withval" ],
                                    [ XKB_DFLT_OPTIONS="" ])
    AC_ARG_WITH(serverconfig-path, AS_HELP_STRING([--with-serverconfig-path=PATH],
    				   [Directory where ancillary server config files are installed (default: ${libdir}/xorg)]),
    				[ SERVERCONFIG="$withval" ],
    				[ SERVERCONFIG="${libdir}/xorg" ])
    AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: /Applications/Utilities)]),
    				[ APPLE_APPLICATIONS_DIR="${withval}" ],
    				[ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
    AC_SUBST([APPLE_APPLICATIONS_DIR])
    AC_ARG_WITH(apple-application-name,AS_HELP_STRING([--with-apple-application-name=NAME], [Name for the .app (default: X11)]),
    				[ APPLE_APPLICATION_NAME="${withval}" ],
    				[ APPLE_APPLICATION_NAME="X11" ])
    AC_SUBST([APPLE_APPLICATION_NAME])
    AC_ARG_WITH(launchd-id-prefix,  AS_HELP_STRING([--with-launchd-id-prefix=PATH], [Deprecated: Use --with-bundle-id-prefix.]),
                                    [ BUNDLE_ID_PREFIX="${withval}" ],
                                    [ BUNDLE_ID_PREFIX="org.x" ])
    AC_ARG_WITH(bundle-id-prefix,  AS_HELP_STRING([--with-bundle-id-prefix=PATH], [Prefix to use for bundle identifiers (default: org.x)]),
                                   [ BUNDLE_ID_PREFIX="${withval}" ])
    AC_SUBST([BUNDLE_ID_PREFIX])
    AC_DEFINE_UNQUOTED(BUNDLE_ID_PREFIX, "$BUNDLE_ID_PREFIX", [Prefix to use for bundle identifiers])
    AC_ARG_ENABLE(sparkle,AS_HELP_STRING([--enable-sparkle], [Enable updating of X11.app using the Sparkle Framework (default: disabled)]),
    				[ XQUARTZ_SPARKLE="${enableval}" ],
    				[ XQUARTZ_SPARKLE="no" ])
    AC_SUBST([XQUARTZ_SPARKLE])
    AC_ARG_ENABLE(install-libxf86config,
    				AS_HELP_STRING([--enable-install-libxf86config],
    				[Install libxf86config (default: disabled)]),
    				[INSTALL_LIBXF86CONFIG=$enableval],
    				[INSTALL_LIBXF86CONFIG=no])
    AC_ARG_ENABLE(visibility,     AC_HELP_STRING([--enable-visibility], [Enable symbol visibility (default: auto)]),
    				[SYMBOL_VISIBILITY=$enableval],
    				[SYMBOL_VISIBILITY=auto])
    
    dnl GLX build options
    AC_ARG_ENABLE(aiglx,          AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]),
                                    [AIGLX=$enableval],
                                    [AIGLX=yes])
    XORG_TLS
    AC_ARG_ENABLE(glx-tls,        AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: auto)]),
                                    [GLX_USE_TLS=$enableval
                                     if test "x$GLX_USE_TLS" = "xyes" && test "${ac_cv_tls}" = "none" ; then
                                       AC_MSG_ERROR([GLX with TLS support requested, but the compiler does not support it.])
                                     fi],
                                    [GLX_USE_TLS=no
                                     if test "${ac_cv_tls}" != "none" ; then
                                       GLX_USE_TLS=yes
                                     fi])
    AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
    AC_ARG_WITH(khronos-spec-dir, AS_HELP_STRING([--with-khronos-spec-dir=PATH], [Path to Khronos OpenGL registry database files (default: auto)]),
    				[KHRONOS_SPEC_DIR="${withval}"],
    				[KHRONOS_SPEC_DIR=auto])
    
    dnl Privsep
    AC_ARG_ENABLE(privsep,
    	AC_HELP_STRING([--enable-privsep],
             [Build support for X server privilege separation (default is NO)]),
    	[ENABLE_PRIVSEP="$enableval"], [ENABLE_PRIVSEP="no"])
    if test x$ENABLE_PRIVSEP = xyes ; then
    	AC_DEFINE(X_PRIVSEP, 1, [Use X server privilege separation])
    fi
    AM_CONDITIONAL(X_PRIVSEP, [test x$ENABLE_PRIVSEP = xyes])
    
    dnl Extensions.
    AC_ARG_ENABLE(registry,       AS_HELP_STRING([--disable-registry], [Build string registry module (default: enabled)]), [XREGISTRY=$enableval], [XREGISTRY=yes])
    AC_ARG_ENABLE(composite,      AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
    AC_ARG_ENABLE(mitshm,         AS_HELP_STRING([--disable-mitshm], [Build SHM extension (default: enabled)]), [MITSHM=$enableval], [MITSHM=yes])
    AC_ARG_ENABLE(xres,           AS_HELP_STRING([--disable-xres], [Build XRes extension (default: enabled)]), [RES=$enableval], [RES=yes])
    AC_ARG_ENABLE(record,         AS_HELP_STRING([--disable-record], [Build Record extension (default: enabled)]), [RECORD=$enableval], [RECORD=yes])
    AC_ARG_ENABLE(xv,             AS_HELP_STRING([--disable-xv], [Build Xv extension (default: enabled)]), [XV=$enableval], [XV=yes])
    AC_ARG_ENABLE(xvmc,           AS_HELP_STRING([--disable-xvmc], [Build XvMC extension (default: enabled)]), [XVMC=$enableval], [XVMC=yes])
    AC_ARG_ENABLE(dga,            AS_HELP_STRING([--disable-dga], [Build DGA extension (default: auto)]), [DGA=$enableval], [DGA=auto])
    AC_ARG_ENABLE(screensaver,    AS_HELP_STRING([--disable-screensaver], [Build ScreenSaver extension (default: enabled)]), [SCREENSAVER=$enableval], [SCREENSAVER=yes])
    AC_ARG_ENABLE(xdmcp,          AS_HELP_STRING([--disable-xdmcp], [Build XDMCP extension (default: auto)]), [XDMCP=$enableval], [XDMCP=auto])
    AC_ARG_ENABLE(xdm-auth-1,     AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
    AC_ARG_ENABLE(glx,            AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
    AC_ARG_ENABLE(dri,            AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
    AC_ARG_ENABLE(dri2,           AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: auto)]), [DRI2=$enableval], [DRI2=auto])
    AC_ARG_ENABLE(xinerama,	      AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
    AC_ARG_ENABLE(xf86vidmode,    AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
    AC_ARG_ENABLE(xace,           AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
    AC_ARG_ENABLE(xselinux,       AS_HELP_STRING([--enable-xselinux], [Build SELinux extension (default: disabled)]), [XSELINUX=$enableval], [XSELINUX=no])
    AC_ARG_ENABLE(xcsecurity,     AS_HELP_STRING([--enable-xcsecurity], [Build Security extension (default: disabled)]), [XCSECURITY=$enableval], [XCSECURITY=no])
    AC_ARG_ENABLE(tslib,          AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
    AC_ARG_ENABLE(dbe,            AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes])
    AC_ARG_ENABLE(xf86bigfont,    AS_HELP_STRING([--enable-xf86bigfont], [Build XF86 Big Font extension (default: disabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=no])
    AC_ARG_ENABLE(dpms,           AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
    AC_ARG_ENABLE(config-udev,    AS_HELP_STRING([--enable-config-udev], [Build udev support (default: auto)]), [CONFIG_UDEV=$enableval], [CONFIG_UDEV=auto])
    AC_ARG_ENABLE(config-dbus,    AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no])
    AC_ARG_ENABLE(config-hal,     AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto])
    AC_ARG_ENABLE(config-wscons,  AS_HELP_STRING([--enable-config-wscons], [Build wscons config support (default: auto)]), [CONFIG_WSCONS=$enableval], [CONFIG_WSCONS=auto])
    AC_ARG_ENABLE(xfree86-utils,     AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
    AC_ARG_ENABLE(xaa,               AS_HELP_STRING([--enable-xaa], [Build XAA (default: enabled)]), [XAA=$enableval], [XAA=yes])
    AC_ARG_ENABLE(vgahw,          AS_HELP_STRING([--enable-vgahw], [Build Xorg with vga access (default: enabled)]), [VGAHW=$enableval], [VGAHW=yes])
    AC_ARG_ENABLE(vbe,            AS_HELP_STRING([--enable-vbe], [Build Xorg with VBE module (default: enabled)]), [VBE=$enableval], [VBE=yes])
    AC_ARG_ENABLE(int10-module,     AS_HELP_STRING([--enable-int10-module], [Build Xorg with int10 module (default: enabled)]), [INT10MODULE=$enableval], [INT10MODULE=yes])
    AC_ARG_ENABLE(windowswm,      AS_HELP_STRING([--enable-windowswm], [Build XWin with WindowsWM extension (default: no)]), [WINDOWSWM=$enableval], [WINDOWSWM=no])
    AC_ARG_ENABLE(libdrm,         AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
    AC_ARG_ENABLE(clientids,      AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
    AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes])
    
    dnl DDXes.
    AC_ARG_ENABLE(xorg,    	      AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
    AC_ARG_ENABLE(dmx,    	      AS_HELP_STRING([--enable-dmx], [Build DMX server (default: auto)]), [DMX=$enableval], [DMX=auto])
    AC_ARG_ENABLE(xvfb,    	      AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes])
    AC_ARG_ENABLE(xnest,   	      AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: auto)]), [XNEST=$enableval], [XNEST=auto])
    AC_ARG_ENABLE(xquartz,        AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
    AC_ARG_ENABLE(standalone-xpbproxy, AS_HELP_STRING([--enable-standalone-xpbproxy], [Build a standalone xpbproxy (in addition to the one integrated into Xquartz as a separate thread) (default: no)]), [STANDALONE_XPBPROXY=$enableval], [STANDALONE_XPBPROXY=no])
    AC_ARG_ENABLE(xwin,    	      AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
    dnl kdrive and its subsystems
    AC_ARG_ENABLE(kdrive,         AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
    AC_ARG_ENABLE(xephyr,         AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
    AC_ARG_ENABLE(xfake,          AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto])
    AC_ARG_ENABLE(xfbdev,         AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto])
    dnl kdrive options
    AC_ARG_ENABLE(kdrive-kbd,     AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd driver for kdrive (default: auto)]), [KDRIVE_KBD=$enableval], [KDRIVE_KBD=auto])
    AC_ARG_ENABLE(kdrive-mouse,   AC_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto])
    AC_ARG_ENABLE(kdrive-evdev,   AC_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
    
    
    dnl chown/chmod to be setuid root as part of build
    dnl Replaces InstallXserverSetUID in imake
    AC_ARG_ENABLE(install-setuid, 
        AS_HELP_STRING([--enable-install-setuid],
           [Install Xorg server as owned by root with setuid bit (default: auto)]),
        [SETUID=$enableval], [SETUID=auto])
    AC_MSG_CHECKING([to see if we can install the Xorg server as root])
    if test "x$SETUID" = "xauto" ; then
    	case $host_os in
    	    cygwin*)		SETUID="no"  ;;
    	    darwin*)		SETUID="no"  ;;
    	    *)
    	   	case $host_cpu in
    		    sparc)	SETUID="no"  ;;
    		    *)		SETUID="yes" ;;
    		esac
    	esac
    	if test "x$SETUID" = xyes; then
    		touch testfile
    		chown root testfile > /dev/null 2>&1 || SETUID="no"
    		rm -f testfile
    	fi
    fi
    AC_MSG_RESULT([$SETUID])
    AM_CONDITIONAL(INSTALL_SETUID, [test "x$SETUID" = "xyes"])
    
    dnl Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro
    dnl was not expanded, since xorg-server with no transport types is rather useless.
    dnl
    dnl If you're seeing an error here, be sure you installed the lib/xtrans module
    dnl first and if it's not in the default location, that you set the ACLOCAL
    dnl environment variable to find it, such as:
    dnl	ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
    m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$])
    
    # Transport selection macro from xtrans.m4
    XTRANS_CONNECTION_FLAGS
    
    # Secure RPC detection macro from xtrans.m4
    XTRANS_SECURE_RPC_FLAGS
    AM_CONDITIONAL(SECURE_RPC, [test "x$SECURE_RPC" = xyes])
    
    AM_CONDITIONAL(INT10_VM86, [test "x$INT10" = xvm86])
    AM_CONDITIONAL(INT10_X86EMU, [test "x$INT10" = xx86emu])
    AM_CONDITIONAL(INT10_STUB, [test "x$INT10" = xstub])
    
    dnl Handle installing libxf86config
    AM_CONDITIONAL(INSTALL_LIBXF86CONFIG, [test "x$INSTALL_LIBXF86CONFIG" = xyes])
    
    dnl DDX Detection... Yes, it's ugly to have it here... but we need to
    dnl handle this early on so that we don't require unsupported extensions
    case $host_os in
    	cygwin*)
    		DGA=no
    		DRI2=no
    		XF86VIDMODE=no
    		XSELINUX=no
    		XV=no
    		;;
    	darwin*)
    		PCI=no
    		INT10MODULE=no
    		VGAHW=no
    		VBE=no
    		DRM=no
    		DRI2=no
    
    		if test x$XQUARTZ = xauto; then
    			AC_CACHE_CHECK([whether to build Xquartz],xorg_cv_Carbon_framework,[
    		 		save_LDFLAGS=$LDFLAGS
    				LDFLAGS="$LDFLAGS -framework Carbon"
    				AC_LINK_IFELSE([AC_LANG_SOURCE([char FSFindFolder(); int main() { FSFindFolder(); return 0;}])],
    				               [xorg_cv_Carbon_framework=yes],
    				               [xorg_cv_Carbon_framework=no])
    			        LDFLAGS=$save_LDFLAGS])
                    
    			if test "X$xorg_cv_Carbon_framework" = Xyes; then
    				XQUARTZ=yes
    			else
    				XQUARTZ=no
    			fi
    		fi
    
    		AC_CHECK_FUNC(dispatch_async,
    		              AC_DEFINE([HAVE_LIBDISPATCH], 1, [Define to 1 if you have the libdispatch (GCD) available]),
    		              [])
    
    		if test "x$XQUARTZ" = xyes ; then
    			XQUARTZ=yes
    			XVFB=no
    			XNEST=no
    
    			COMPOSITE=no
    			DGA=no
    			DPMSExtension=no
    			XF86VIDMODE=no
    		fi
    		;;
    	*) XQUARTZ=no ;;
    esac
    
    dnl ---------------------------------------------------------------------------
    dnl Extension section
    dnl ---------------------------------------------------------------------------
    XEXT_INC='-I$(top_srcdir)/Xext'
    XEXT_LIB='$(top_builddir)/Xext/libXext.la'
    XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
    
    dnl Optional modules
    VIDEOPROTO="videoproto"
    COMPOSITEPROTO="compositeproto >= 0.4"
    RECORDPROTO="recordproto >= 1.13.99.1"
    SCRNSAVERPROTO="scrnsaverproto >= 1.1"
    RESOURCEPROTO="resourceproto"
    DRIPROTO="xf86driproto >= 2.1.0"
    DRI2PROTO="dri2proto >= 2.6"
    XINERAMAPROTO="xineramaproto"
    BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
    DGAPROTO="xf86dgaproto >= 2.0.99.1"
    GLPROTO="glproto >= 1.4.14"
    DMXPROTO="dmxproto >= 2.2.99.1"
    VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
    WINDOWSWMPROTO="windowswmproto"
    APPLEWMPROTO="applewmproto >= 1.4"
    
    dnl Required modules
    XPROTO="xproto >= 7.0.22"
    RANDRPROTO="randrproto >= 1.2.99.3"
    RENDERPROTO="renderproto >= 0.11"
    XEXTPROTO="xextproto >= 7.1.99"
    INPUTPROTO="inputproto >= 2.1.99.6"
    KBPROTO="kbproto >= 1.0.3"
    FONTSPROTO="fontsproto"
    FIXESPROTO="fixesproto >= 5.0"
    DAMAGEPROTO="damageproto >= 1.1"
    XCMISCPROTO="xcmiscproto >= 1.2.0"
    BIGREQSPROTO="bigreqsproto >= 1.1.0"
    XTRANS="xtrans >= 1.2.2"
    
    dnl List of libraries that require a specific version
    LIBAPPLEWM="applewm >= 1.4"
    LIBDMX="dmx >= 1.0.99.1"
    LIBDRI="dri >= 7.8.0"
    LIBDRM="libdrm >= 2.3.0"
    LIBGL="gl >= 7.1.0"
    LIBXEXT="xext >= 1.0.99.4"
    LIBXFONT="xfont >= 1.4.2"
    LIBXI="xi >= 1.2.99.1"
    LIBXTST="xtst >= 1.0.99.2"
    LIBPCIACCESS="pciaccess >= 0.12.901"
    LIBUDEV="libudev >= 143"
    LIBSELINUX="libselinux >= 2.0.86"
    LIBDBUS="dbus-1 >= 1.0"
    LIBPIXMAN="pixman-1 >= 0.21.8"
    
    dnl Pixman is always required, but we separate it out so we can link
    dnl specific modules against it
    PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
    REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
    
    dnl Core modules for most extensions, et al.
    SDK_REQUIRED_MODULES="$XPROTO $RANDRPROTO $RENDERPROTO $XEXTPROTO $INPUTPROTO $KBPROTO $FONTSPROTO $LIBPIXMAN"
    # Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
    AC_SUBST(SDK_REQUIRED_MODULES)
    
    REQUIRED_MODULES="$FIXESPROTO $DAMAGEPROTO $XCMISCPROTO $XTRANS $BIGREQSPROTO $SDK_REQUIRED_MODULES"
    
    if test "x$CONFIG_UDEV" = xyes &&
     { test "x$CONFIG_DBUS_API" = xyes || test "x$CONFIG_HAL" = xyes; }; then
    	AC_MSG_ERROR([Hotplugging through both libudev and dbus/hal not allowed])
    fi
    
    PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
    if test "x$CONFIG_UDEV" = xauto; then
    	CONFIG_UDEV="$HAVE_LIBUDEV"
    fi
    AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes])
    if test "x$CONFIG_UDEV" = xyes; then
    	CONFIG_DBUS_API=no
    	CONFIG_HAL=no
    	if ! test "x$HAVE_LIBUDEV" = xyes; then
    		AC_MSG_ERROR([udev configuration API requested, but libudev is not installed])
    	fi
    	AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug])
    
    	SAVE_LIBS=$LIBS
    	SAVE_CFLAGS=$CFLAGS
    	CFLAGS=$UDEV_CFLAGS
    	LIBS=$UDEV_LIBS
    	AC_CHECK_FUNCS([udev_monitor_filter_add_match_tag])
    	AC_CHECK_FUNCS([udev_enumerate_add_match_tag])
    	LIBS=$SAVE_LIBS
    	CFLAGS=$SAVE_CFLAGS
    fi
    
    dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas
    dnl CONFIG_DBUS_API is true if we want to enable the D-Bus config
    dnl API.
    PKG_CHECK_MODULES(DBUS, $LIBDBUS, [HAVE_DBUS=yes], [HAVE_DBUS=no])
    if test "x$HAVE_DBUS" = xyes; then
    	AC_DEFINE(HAVE_DBUS, 1, [Have D-Bus support])
    fi
    AM_CONDITIONAL(HAVE_DBUS, [test "x$HAVE_DBUS" = xyes])
    
    if test "x$CONFIG_DBUS_API" = xauto; then
    	CONFIG_DBUS_API="$HAVE_DBUS"
    fi
    if test "x$CONFIG_DBUS_API" = xyes; then
    	if ! test "x$HAVE_DBUS" = xyes; then
    		AC_MSG_ERROR([D-Bus configuration API requested, but D-Bus is not installed.])
    	fi
    
    	AC_DEFINE(CONFIG_DBUS_API, 1, [Use the D-Bus input configuration API])
    	CONFIG_NEED_DBUS="yes"
    fi
    AM_CONDITIONAL(CONFIG_DBUS_API, [test "x$CONFIG_DBUS_API" = xyes])
    
    PKG_CHECK_MODULES(HAL, hal, [HAVE_HAL=yes], [HAVE_HAL=no])
    if test "x$CONFIG_HAL" = xauto; then
    	CONFIG_HAL="$HAVE_HAL"
    fi
    if test "x$CONFIG_HAL" = xyes; then
    	if ! test "x$HAVE_HAL" = xyes; then
    		AC_MSG_ERROR([HAL hotplug API requested, but HAL is not installed.])
    	fi
    
    	AC_DEFINE(CONFIG_HAL, 1, [Use the HAL hotplug API])
    	CONFIG_NEED_DBUS="yes"
    fi
    AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes])
    
    if test "x$CONFIG_NEED_DBUS" = xyes; then
            AC_DEFINE(CONFIG_NEED_DBUS, 1, [Use D-Bus for input hotplug])
    fi
    AM_CONDITIONAL(CONFIG_NEED_DBUS, [test "x$CONFIG_NEED_DBUS" = xyes])
    
    if test "x$CONFIG_WSCONS" = xauto; then
    	case $host_os in
    		*openbsd*)
    			CONFIG_WSCONS=yes;
    			;;
    		*)
    			CONFIG_WSCONS=no;
    			;;
    	esac
    fi
    AM_CONDITIONAL(CONFIG_WSCONS, [test "x$CONFIG_WSCONS" = xyes])
    if test "x$CONFIG_WSCONS" = xyes; then
    	AC_DEFINE(CONFIG_WSCONS, 1, [Use wscons for input auto configuration])
    fi
    
    if test "x$USE_SIGIO_BY_DEFAULT" = xyes; then
    	USE_SIGIO_BY_DEFAULT_VALUE=TRUE
    else
    	USE_SIGIO_BY_DEFAULT_VALUE=FALSE
    fi
    AC_DEFINE_UNQUOTED([USE_SIGIO_BY_DEFAULT], [$USE_SIGIO_BY_DEFAULT_VALUE],
    		   [Use SIGIO handlers for input device events by default])
    
    AC_MSG_CHECKING([for glibc...])
    AC_PREPROC_IFELSE([AC_LANG_SOURCE([
    #include <features.h>
    #ifndef __GLIBC__
    #error
    #endif
    ])], glibc=yes, glibc=no)
    AC_MSG_RESULT([$glibc])
    
    AC_CHECK_FUNCS([clock_gettime], [have_clock_gettime=yes],
                   [AC_CHECK_LIB([rt], [clock_gettime], [have_clock_gettime=-lrt],
                                 [have_clock_gettime=no])])
    
    AC_MSG_CHECKING([for a useful monotonic clock ...])
    
    if ! test "x$have_clock_gettime" = xno; then
        if ! test "x$have_clock_gettime" = xyes; then
            CLOCK_LIBS="$have_clock_gettime"
        else
            CLOCK_LIBS=""
        fi
    
        LIBS_SAVE="$LIBS"
        LIBS="$CLOCK_LIBS"
        CPPFLAGS_SAVE="$CPPFLAGS"
    
        if test x"$glibc" = xyes; then
            CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
        fi
    
        AC_RUN_IFELSE([AC_LANG_SOURCE([
    #include <time.h>
    
    int main(int argc, char *argv[[]]) {
        struct timespec tp;
    
        if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
            return 0;
        else
            return 1;
    }
        ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
           [MONOTONIC_CLOCK="cross compiling"])
    
        LIBS="$LIBS_SAVE"
        CPPFLAGS="$CPPFLAGS_SAVE"
    else
        MONOTONIC_CLOCK=no
    fi
    
    AC_MSG_RESULT([$MONOTONIC_CLOCK])
    
    if test "x$MONOTONIC_CLOCK" = xyes; then
        AC_DEFINE(MONOTONIC_CLOCK, 1, [Have monotonic clock from clock_gettime()])
        LIBS="$LIBS $CLOCK_LIBS"
    fi
    
    AM_CONDITIONAL(XV, [test "x$XV" = xyes])
    if test "x$XV" = xyes; then
    	AC_DEFINE(XV, 1, [Support Xv extension])
    	AC_DEFINE(XvExtension, 1, [Build Xv extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES $VIDEOPROTO"
    	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $VIDEOPROTO"
    else
    	XVMC=no
    fi
    
    AM_CONDITIONAL(XVMC, [test "x$XVMC" = xyes])
    if test "x$XVMC" = xyes; then
    	AC_DEFINE(XvMCExtension, 1, [Build XvMC extension])
    fi
    
    AM_CONDITIONAL(XREGISTRY, [test "x$XREGISTRY" = xyes])
    if test "x$XREGISTRY" = xyes; then
    	AC_DEFINE(XREGISTRY, 1, [Build registry module])
    fi
    
    AM_CONDITIONAL(COMPOSITE, [test "x$COMPOSITE" = xyes])
    if test "x$COMPOSITE" = xyes; then
    	AC_DEFINE(COMPOSITE, 1, [Support Composite Extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES $COMPOSITEPROTO"
    	COMPOSITE_LIB='$(top_builddir)/composite/libcomposite.la'
    	COMPOSITE_INC='-I$(top_srcdir)/composite'
    fi
    
    AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes])
    if test "x$MITSHM" = xyes; then
    	AC_DEFINE(MITSHM, 1, [Support MIT-SHM extension])
    	AC_DEFINE(HAS_SHM, 1, [Support SHM])
    fi
    
    AM_CONDITIONAL(RECORD, [test "x$RECORD" = xyes])
    if test "x$RECORD" = xyes; then
    	AC_DEFINE(XRECORD, 1, [Support Record extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES $RECORDPROTO"
    	RECORD_LIB='$(top_builddir)/record/librecord.la'
    fi
    
    AM_CONDITIONAL(SCREENSAVER, [test "x$SCREENSAVER" = xyes])
    if test "x$SCREENSAVER" = xyes; then
    	AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO"
    fi
    
    AM_CONDITIONAL(RES, [test "x$RES" = xyes])
    if test "x$RES" = xyes; then
    	AC_DEFINE(RES, 1, [Support X resource extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO"
    fi
    
    # The XRes extension may support client ID tracking only if it has
    # been specifically enabled. Client ID tracking is implicitly not
    # supported if XRes extension is disabled.
    AC_MSG_CHECKING([whether to track client ids])
    if test "x$RES" = xyes && test "x$CLIENTIDS" = xyes; then
    	AC_DEFINE(CLIENTIDS, 1, [Support client ID tracking])
    else
    	CLIENTIDS=no
    fi
    if test "x$CLIENTIDS" = xyes; then
    	case $host_os in
    	openbsd*)
    		SYS_LIBS="$SYS_LIBS -lkvm"
    	;;
    	esac
    fi
    AC_MSG_RESULT([$CLIENTIDS])
    AM_CONDITIONAL(CLIENTIDS, [test "x$CLIENTIDS" = xyes])
    
    if test "x$GLX" = xyes; then
    	PKG_CHECK_MODULES([XLIB], [x11])
    	PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL)
    	AC_SUBST(XLIB_CFLAGS)
    	AC_DEFINE(GLXEXT, 1, [Build GLX extension])
    	GLX_LIBS='$(top_builddir)/glx/libglx.la'
    	GLX_SYS_LIBS="$GLX_SYS_LIBS"
    else
            GLX=no
    fi
    AM_CONDITIONAL(GLX, test "x$GLX" = xyes)
    
    if test "x$GLX" = xno; then
            AIGLX=no
    fi
    
    if test "x$AIGLX" = xyes -a \( "x$DRI" = xyes -o "x$DRI2" = xyes \); then
    	AC_DEFINE(AIGLX, 1, [Build AIGLX loader])
    fi
    AM_CONDITIONAL(AIGLX_DRI_LOADER, { test "x$DRI" = xyes || test "x$DRI2" = xyes; } && test "x$AIGLX" = xyes)
    
    if test "x$GLX_USE_TLS" = xyes ; then
    	GLX_DEFINES="-DGLX_USE_TLS -DPTHREADS"
    	GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread"
    fi
    AC_SUBST([GLX_DEFINES])
    
    AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
    if test "x$DRI" = xyes; then
    	AC_DEFINE(XF86DRI, 1, [Build DRI extension])
    	PKG_CHECK_MODULES([DRIPROTO], [$DRIPROTO])
    	PKG_CHECK_MODULES([DRI], $GLPROTO $LIBDRI)
    	AC_SUBST(DRIPROTO_CFLAGS)
    fi
    
    PKG_CHECK_MODULES([DRI2PROTO], $DRI2PROTO,
                      [HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
    case "$DRI2,$HAVE_DRI2PROTO" in
    	yes,no)
    		AC_MSG_ERROR([DRI2 requested, but dri2proto not found.])
    		;;
    	yes,yes | auto,yes)
    		AC_DEFINE(DRI2, 1, [Build DRI2 extension])
    		DRI2=yes
    		SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO"
    		;;
    esac
    AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
    
    if test "x$DRI" = xyes || test "x$DRI2" = xyes; then
    	if test "x$DRM" = xyes; then
    		AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support])
    		PKG_CHECK_MODULES([LIBDRM], $LIBDRM)
    	fi
    fi
    
    if test "x$DRI2" = xyes; then
    	save_CFLAGS=$CFLAGS
    	CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS"
    	AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <GL/gl.h>
    #include <GL/internal/dri_interface.h>
    #ifndef __DRI_DRI2
    #error DRI2 extension not available.
    #endif]])],
    			  [HAVE_DRI2EXTENSION=yes],
    			  [HAVE_DRI2EXTENSION=no])
    	CFLAGS=$save_CFLAGS
    	if test "x$HAVE_DRI2EXTENSION" = xyes; then
    		AC_DEFINE(DRI2_AIGLX, 1, [Build DRI2 AIGLX loader])
    		DRI2_AIGLX=yes
    	else
    		AC_MSG_NOTICE([DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h.])
    		DRI2_AIGLX=no
    	fi
    fi
    AM_CONDITIONAL(DRI2_AIGLX, test "x$DRI2_AIGLX" = xyes)
    
    
    AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
    if test "x$XINERAMA" = xyes; then
    	AC_DEFINE(XINERAMA, 1, [Support Xinerama extension])
    	AC_DEFINE(PANORAMIX, 1, [Internal define for Xinerama])
    	REQUIRED_MODULES="$REQUIRED_MODULES $XINERAMAPROTO"
    	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
    fi
    
    AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
    if test "x$XACE" = xyes; then
    	AC_DEFINE(XACE, 1, [Build X-ACE extension])
    fi
    
    AM_CONDITIONAL(XSELINUX, [test "x$XSELINUX" = xyes])
    if test "x$XSELINUX" = xyes; then
    	if test "x$XACE" != xyes; then
    		AC_MSG_ERROR([cannot build SELinux extension without X-ACE])
    	fi
    	AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers]))
    	AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library]))
    	PKG_CHECK_MODULES([SELINUX], $LIBSELINUX)
    	SELINUX_LIBS="$SELINUX_LIBS -laudit"
    	AC_DEFINE(XSELINUX, 1, [Build SELinux extension])
    fi
    
    AM_CONDITIONAL(XCSECURITY, [test "x$XCSECURITY" = xyes])
    if test "x$XCSECURITY" = xyes; then
    	if test "x$XACE" != xyes; then
    		AC_MSG_ERROR([cannot build Security extension without X-ACE])
    	fi
    	AC_DEFINE(XCSECURITY, 1, [Build Security extension])
    fi
    
    AM_CONDITIONAL(DBE, [test "x$DBE" = xyes])
    if test "x$DBE" = xyes; then
    	AC_DEFINE(DBE, 1, [Support DBE extension])
    	DBE_LIB='$(top_builddir)/dbe/libdbe.la'
    fi
    
    AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes])
    if test "x$XF86BIGFONT" = xyes; then
    	AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO"
    fi
    
    AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
    if test "x$DPMSExtension" = xyes; then
    	AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
    fi
    
    AC_DEFINE(RENDER, 1, [Support RENDER extension])
    RENDER_LIB='$(top_builddir)/render/librender.la'
    RENDER_INC='-I$(top_srcdir)/render'
    
    AC_DEFINE(RANDR, 1, [Support RANDR extension])
    RANDR_LIB='$(top_builddir)/randr/librandr.la'
    RANDR_INC='-I$(top_srcdir)/randr'
    
    AC_DEFINE(XFIXES,1,[Support XFixes extension])
    FIXES_LIB='$(top_builddir)/xfixes/libxfixes.la'
    FIXES_INC='-I$(top_srcdir)/xfixes'
    
    AC_DEFINE(DAMAGE,1,[Support Damage extension])
    DAMAGE_LIB='$(top_builddir)/damageext/libdamageext.la'
    DAMAGE_INC='-I$(top_srcdir)/damageext'
    MIEXT_DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
    MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
    
    # XINPUT extension is integral part of the server
    AC_DEFINE(XINPUT, 1, [Support X Input extension])
    XI_LIB='$(top_builddir)/Xi/libXi.la'
    XI_INC='-I$(top_srcdir)/Xi'
    
    AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
    AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
    AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
    AM_CONDITIONAL(VBE, test "x$VBE" = xyes)
    AM_CONDITIONAL(INT10MODULE, test "x$INT10MODULE" = xyes)
    
    AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
    
    AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
    AC_ARG_WITH(xkb-bin-directory,
    				AS_HELP_STRING([--with-xkb-bin-directory=DIR], [Directory containing xkbcomp program]),
    				[XKB_BIN_DIRECTORY="$withval"],
    				[XKB_BIN_DIRECTORY="$bindir"])
    
    AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir])
    
    dnl Make sure XKM_OUTPUT_DIR is an absolute path
    XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
    if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
       XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
    fi
    
    dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
    dnl XKB_COMPILED_DIR (used in Makefiles) must not or install-sh gets confused
    
    XKBOUTPUT=`echo $XKBOUTPUT/ | $SED 's|/*$|/|'`
    XKB_COMPILED_DIR=`echo $XKBOUTPUT | $SED 's|/*$||'`
    AC_DEFINE_DIR(XKM_OUTPUT_DIR, XKBOUTPUT, [Path to XKB output dir])
    AC_SUBST(XKB_COMPILED_DIR)
    
    if test "x$XKB_DFLT_RULES" = x; then
        case $host_os in
        linux*)
            dnl doesn't take AutoAddDevices into account, but whatever.
            XKB_DFLT_RULES="evdev"
            ;;
        *)
            XKB_DFLT_RULES="base"
            ;;
        esac
    fi
    AC_DEFINE_UNQUOTED(XKB_DFLT_RULES, ["$XKB_DFLT_RULES"], [Default XKB ruleset])
    AC_DEFINE_UNQUOTED(XKB_DFLT_MODEL, ["$XKB_DFLT_MODEL"], [Default XKB model])
    AC_DEFINE_UNQUOTED(XKB_DFLT_LAYOUT, ["$XKB_DFLT_LAYOUT"], [Default XKB layout])
    AC_DEFINE_UNQUOTED(XKB_DFLT_VARIANT, ["$XKB_DFLT_VARIANT"], [Default XKB variant])
    AC_DEFINE_UNQUOTED(XKB_DFLT_OPTIONS, ["$XKB_DFLT_OPTIONS"], [Default XKB options])
    AC_SUBST([XKB_DFLT_RULES])
    AC_SUBST([XKB_DFLT_MODEL])
    AC_SUBST([XKB_DFLT_LAYOUT])
    AC_SUBST([XKB_DFLT_VARIANT])
    AC_SUBST([XKB_DFLT_OPTIONS])
    
    XKB_LIB='$(top_builddir)/xkb/libxkb.la'
    XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
    REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
    
    PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], [have_libxdmcp="no"])
    if test "x$have_libxdmcp" = xyes; then
    	AC_CHECK_LIB(Xdmcp, XdmcpWrap, [have_xdmcpwrap="yes"], [have_xdmcpwrap="no"], [$XDMCP_LIBS])
    fi
    if test "x$XDMCP" = xauto; then
    	if test "x$have_libxdmcp" = xyes; then
    		XDMCP=yes
    	else
    		XDMCP=no
    	fi
    fi
    if test "x$XDMAUTH" = xauto; then
    	if test "x$have_libxdmcp" = xyes && test "x$have_xdmcpwrap" = xyes; then
    		XDMAUTH=yes
    	else
    		XDMAUTH=no
    	fi
    fi
    
    AM_CONDITIONAL(XDMCP, [test "x$XDMCP" = xyes])
    if test "x$XDMCP" = xyes; then
    	AC_DEFINE(XDMCP, 1, [Support XDM Control Protocol])
    	REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
    	XDMCP_MODULES="xdmcp"
    fi
    
    AM_CONDITIONAL(XDMAUTH, [test "x$XDMAUTH" = xyes])
    if test "x$XDMAUTH" = xyes; then
    	AC_DEFINE(HASXDMAUTH,1,[Support XDM-AUTH*-1])
    	if ! test "x$XDMCP" = xyes; then
    		REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
    		XDMCP_MODULES="xdmcp"
    	fi
    fi
    
    AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
    AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
    AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
    dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
    AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI driver path])
    AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
    AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
    AC_DEFINE_UNQUOTED(XORG_DATE, ["$RELEASE_DATE"], [Vendor release])
    AC_DEFINE_UNQUOTED(XORG_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
    AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
    
    if test -z "$OSNAME"; then
        OSNAME="UNKNOWN"
    fi
    
    AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
    AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
    AC_DEFINE_UNQUOTED(BUILDERSTRING, ["$BUILDERSTRING"], [Builder string])
    
    AC_SUBST([VENDOR_NAME_SHORT])
    AC_DEFINE_UNQUOTED(VENDOR_NAME, ["$VENDOR_NAME"], [Vendor name])
    AC_DEFINE_UNQUOTED(VENDOR_NAME_SHORT, ["$VENDOR_NAME_SHORT"], [Vendor name])
    AC_DEFINE_UNQUOTED(VENDOR_RELEASE, [$VENDOR_RELEASE], [Vendor release])
    AC_DEFINE_UNQUOTED(VENDOR_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
    
    AC_DEFINE(NO_LIBCWRAPPER, 1, [Define to 1 if modules should avoid the libcwrapper])
    
    if test "x$DEBUGGING" = xyes; then
           AC_DEFINE(DEBUG, 1, [Enable debugging code])
    fi
    AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
    
    AC_DEFINE(XTEST, 1, [Support XTest extension])
    AC_DEFINE(XSYNC, 1, [Support XSync extension])
    AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
    AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])
    
    if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
      DIX_LIB='$(top_builddir)/dix/dix.O'
      OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS)'
    else
      DIX_LIB='$(top_builddir)/dix/libdix.la'
      OS_LIB='$(top_builddir)/os/libos.la'
    fi
    AC_SUBST([DIX_LIB])
    AC_SUBST([OS_LIB])
    
    MAIN_LIB='$(top_builddir)/dix/libmain.la'
    AC_SUBST([MAIN_LIB])
    
    MI_LIB='$(top_builddir)/mi/libmi.la'
    MI_EXT_LIB='$(top_builddir)/mi/libmiext.la'
    MI_INC='-I$(top_srcdir)/mi'
    FB_LIB='$(top_builddir)/fb/libfb.la'
    FB_INC='-I$(top_srcdir)/fb'
    MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
    MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
    MIEXT_SYNC_INC='-I$(top_srcdir)/miext/sync'
    MIEXT_SYNC_LIB='$(top_builddir)/miext/sync/libsync.la'
    CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
    
    # SHA1 hashing
    AC_ARG_WITH([sha1],
                [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto],
                                [choose SHA1 implementation])])
    AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
    if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
    	with_sha1=libc
    fi
    if test "x$with_sha1" = xlibc && test "x$HAVE_SHA1_IN_LIBC" != xyes; then
    	AC_MSG_ERROR([libc requested but not found])
    fi
    if test "x$with_sha1" = xlibc; then
    	AC_DEFINE([HAVE_SHA1_IN_LIBC], [1],
    		[Use libc SHA1 functions])
    	SHA1_LIBS=""
    fi
    AC_CHECK_FUNC([CC_SHA1_Init], [HAVE_SHA1_IN_COMMONCRYPTO=yes])
    if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_COMMONCRYPTO" = xyes; then
    	with_sha1=CommonCrypto
    fi
    if test "x$with_sha1" = xCommonCrypto && test "x$HAVE_SHA1_IN_COMMONCRYPTO" != xyes; then
    	AC_MSG_ERROR([CommonCrypto requested but not found])
    fi
    if test "x$with_sha1" = xCommonCrypto; then
    	AC_DEFINE([HAVE_SHA1_IN_COMMONCRYPTO], [1],
    		[Use CommonCrypto SHA1 functions])
    	SHA1_LIBS=""
    fi
    AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
    if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
    	with_sha1=libmd
    fi
    if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
    	AC_MSG_ERROR([libmd requested but not found])
    fi
    if test "x$with_sha1" = xlibmd; then
    	AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
    	          [Use libmd SHA1 functions])
    	SHA1_LIBS=-lmd
    fi
    PKG_CHECK_MODULES([LIBSHA1], [libsha1], [HAVE_LIBSHA1=yes], [HAVE_LIBSHA1=no])
    if test "x$with_sha1" = x && test "x$HAVE_LIBSHA1" = xyes; then
       with_sha1=libsha1
    fi
    if test "x$with_sha1" = xlibsha1 && test "x$HAVE_LIBSHA1" != xyes; then
    	AC_MSG_ERROR([libsha1 requested but not found])
    fi
    if test "x$with_sha1" = xlibsha1; then
    	AC_DEFINE([HAVE_SHA1_IN_LIBSHA1], [1],
    	          [Use libsha1 for SHA1])
    	SHA1_LIBS=-lsha1
    fi
    AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
    if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
    	with_sha1=libgcrypt
    fi
    if test "x$with_sha1" = xlibgcrypt && test "x$HAVE_LIBGCRYPT" != xyes; then
    	AC_MSG_ERROR([libgcrypt requested but not found])
    fi
    if test "x$with_sha1" = xlibgcrypt; then
    	AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
    	          [Use libgcrypt SHA1 functions])
    	SHA1_LIBS=-lgcrypt
    fi
    # We don't need all of the OpenSSL libraries, just libcrypto
    AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
    PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
                      [HAVE_OPENSSL_PKC=no])
    if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
    	if test "x$with_sha1" = x; then
    		with_sha1=libcrypto
    	fi
    else
    	if test "x$with_sha1" = xlibcrypto; then
    		AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
    	fi
    fi
    if test "x$with_sha1" = xlibcrypto; then
    	if test "x$HAVE_LIBCRYPTO" = xyes; then
    		SHA1_LIBS=-lcrypto
    	else
    		SHA1_LIBS="$OPENSSL_LIBS"
    		SHA1_CFLAGS="$OPENSSL_CFLAGS"
    	fi
    fi
    AC_MSG_CHECKING([for SHA1 implementation])
    if test "x$with_sha1" = x; then
    	AC_MSG_ERROR([No suitable SHA1 implementation found])
    fi
    AC_MSG_RESULT([$with_sha1])
    AC_SUBST(SHA1_LIBS)
    AC_SUBST(SHA1_CFLAGS)
    
    PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
    PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
    
    # Autotools has some unfortunate issues with library handling.  In order to
    # get a server to rebuild when a dependency in the tree is changed, it must
    # be listed in SERVERNAME_DEPENDENCIES.  However, no system libraries may be
    # listed there, or some versions of autotools will break (especially if a -L
    # is required to find the library).  So, we keep two sets of libraries
    # detected: NAMESPACE_LIBS for in-tree libraries to be linked against, which
    # will go into the _DEPENDENCIES and _LDADD of the server, and
    # NAMESPACE_SYS_LIBS which will go into only the _LDADD.  The
    # NAMESPACEMODULES_LIBS detected from pkgconfig should always go in
    # NAMESPACE_SYS_LIBS.
    #
    # XSERVER_LIBS is the set of in-tree libraries which all servers require.
    # XSERVER_SYS_LIBS is the set of out-of-tree libraries which all servers
    # require.
    #
    XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS}"
    XSERVER_LIBS="$DIX_LIB $MI_LIB $OS_LIB"
    XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}"
    AC_SUBST([XSERVER_LIBS])
    AC_SUBST([XSERVER_SYS_LIBS])
    
    UTILS_SYS_LIBS="${SYS_LIBS}"
    AC_SUBST([UTILS_SYS_LIBS])
    
    # The Xorg binary needs to export symbols so that they can be used from modules
    # Some platforms require extra flags to do this.   libtool should set the
    # necessary flags for each platform when -export-dynamic is passed to it.
    LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
    case $host_os in
           openbsd*)
           case $host_cpu in
           		m68k|m88k|vax)
    		LD_EXPORT_SYMBOLS_FLAGS=""
    		;;
    		*)
    		LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-dynamic"
    		;;
    		esac
           ;;
    esac
    AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
    
    dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
    dnl we need to replicate that here until those can all be fixed
    AC_MSG_CHECKING([if SVR4 needs to be defined])
    AC_EGREP_CPP([I_AM_SVR4],[
    #if defined(SVR4) || defined(__svr4__) || defined(__SVR4)
     I_AM_SVR4
    #endif
    ],[
    AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
    AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
    
    XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SYNC_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC"
    
    dnl ---------------------------------------------------------------------------
    dnl DDX section.
    dnl ---------------------------------------------------------------------------
    
    dnl Xvfb DDX
    
    AC_MSG_CHECKING([whether to build Xvfb DDX])
    AC_MSG_RESULT([$XVFB])
    AM_CONDITIONAL(XVFB, [test "x$XVFB" = xyes])
    
    if test "x$XVFB" = xyes; then
    	XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB"
    	XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS"
    	AC_SUBST([XVFB_LIBS])
    	AC_SUBST([XVFB_SYS_LIBS])
    fi
    
    
    dnl Xnest DDX
    
    PKG_CHECK_MODULES(XNESTMODULES, [$LIBXEXT x11 xau $XDMCP_MODULES], [have_xnest=yes], [have_xnest=no])
    AC_MSG_CHECKING([whether to build Xnest DDX])
    if test "x$XNEST" = xauto; then
    	XNEST="$have_xnest"
    fi
    AC_MSG_RESULT([$XNEST])
    AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
    
    if test "x$XNEST" = xyes; then
    	if test "x$have_xnest" = xno; then
    		AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
    	fi
    	XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB"
    	XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
    	AC_SUBST([XNEST_LIBS])
    	AC_SUBST([XNEST_SYS_LIBS])
    fi
    
    
    dnl Xorg DDX
    
    AC_MSG_CHECKING([whether to build Xorg DDX])
    if test "x$XORG" = xauto; then
    	XORG="yes"
    	case $host_os in
    		cygwin*) XORG="no" ;;
    		darwin*) XORG="no" ;;
    	esac
    fi
    AC_MSG_RESULT([$XORG])
    
    if test "x$XORG" = xyes; then
    	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
    	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
    	XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
    	XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
    	XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB"
    
    	dnl ==================================================================
    	dnl symbol visibility
    	symbol_visibility=
    	have_visibility=disabled
    	if test x$SYMBOL_VISIBILITY != xno; then
    	    AC_MSG_CHECKING(for symbol visibility support)
    	    if test x$GCC = xyes; then
    		VISIBILITY_CFLAGS="-fvisibility=hidden"
    	    else
    		if test x$SUNCC = xyes; then
    		    VISIBILITY_CFLAGS="-xldscope=hidden"
    		else
    		    have_visibility=no
    		fi
    	    fi
    	    if test x$have_visibility != xno; then
    		save_CFLAGS="$CFLAGS"
    		proto_inc=`$PKG_CONFIG --cflags xproto`
    		CFLAGS="$CFLAGS $VISIBILITY_CFLAGS $proto_inc"
    		AC_TRY_COMPILE(
    		    [#include <X11/Xfuncproto.h>
    		     extern _X_HIDDEN int hidden_int;
    		     extern _X_EXPORT int public_int;
    		     extern _X_HIDDEN int hidden_int_func(void);
    		     extern _X_EXPORT int public_int_func(void);],
    		    [],
    		    have_visibility=yes,
    		    have_visibility=no)
    		CFLAGS=$save_CFLAGS
    	    fi
    	    AC_MSG_RESULT([$have_visibility])
    	    if test x$have_visibility != xno; then
    		symbol_visibility=$VISIBILITY_CFLAGS
    		XORG_CFLAGS="$XORG_CFLAGS $VISIBILITY_CFLAGS"
    		XSERVER_CFLAGS="$XSERVER_CFLAGS $VISIBILITY_CFLAGS"
    	    fi
    	fi
    	dnl added to xorg-server.pc
    	AC_SUBST([symbol_visibility])
    	dnl ===================================================================
    
    	dnl ===================================================================
    	dnl ================= beginning of PCI configuration ==================
    	dnl ===================================================================
    	xorg_bus_bsdpci=no
    	xorg_bus_sparc=no
    
    	AC_MSG_CHECKING([whether to build Xorg PCI functions])
    	if test "x$PCI" = xyes; then
    
    	PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
    	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS"
    	XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS"
    	XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
    
    	AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation])
    	AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
    	case $host_os in
    	  gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*)
    		xorg_bus_bsdpci="yes"
    		;;
    	esac
    	case $host_cpu in
    	  sparc*)
    		case $host_os in
    		  openbsd*)
    		    xorg_bus_sparc="no"
    		    ;;
    		  *)
    		    xorg_bus_sparc="yes"
    		    ;;
    		esac
    		;;
    	esac
    	fi
    	AC_MSG_RESULT([$PCI])
    
    	dnl ===================================================================
    	dnl ==================== end of PCI configuration =====================
    	dnl ===================================================================
    
    	case $host_os in
    	  linux*)
    		if test "x$LNXAPM" = xyes; then
    			XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
    		fi
    		XORG_OS_SUBDIR="linux"
    		linux_acpi="no"
    		case $host_cpu in
    		  alpha*)
    		  	linux_alpha=yes
    			;;
    		  i*86|amd64*|x86_64*|ia64*)
    			linux_acpi="yes"
    			;;
    		  *)
    			;;
    		esac
    		;;
    	  freebsd* | kfreebsd*-gnu | dragonfly*)
    		XORG_OS_SUBDIR="bsd"
    		;;
    	  netbsd*)
    		XORG_OS_SUBDIR="bsd"
    		;;
    	  openbsd*)
    		if test "x$ac_cv_BSD_APM" = xyes \
    			-o "x$ac_cv_BSD_KQUEUE_APM" = xyes; then
    			XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
    		fi
    		XORG_OS_SUBDIR="bsd"
    		;;
    	  solaris*)
    		XORG_OS_SUBDIR="solaris"
    		XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
    		AC_CHECK_HEADERS([sys/kd.h])
    		AC_CHECK_HEADERS([sys/vt.h], [solaris_vt=yes], [solaris_vt=no])
    		# Check for minimum supported release
    		AC_MSG_CHECKING([Solaris version])
    	        OS_MINOR=`echo ${host_os}|$SED -e 's/^.*solaris2\.//' -e s'/\..*$//'`
    		if test "${OS_MINOR}" -ge 7 ; then
    	        	AC_MSG_RESULT(Solaris ${OS_MINOR})
    		else
    			AC_MSG_RESULT(Solaris `echo ${host_os}|$SED -e 's/^.*solaris//`)
    		fi
    		if test "${OS_MINOR}" -lt 8 ; then
    			AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.])
    		fi
    		if test "x$SUNCC" = "xyes"; then
    			solaris_asm_inline="yes"
    		fi
    		AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"])
    			
    		case $host_cpu in
    		  sparc*)	
    			SOLARIS_INOUT_ARCH="sparcv8plus"
    			;;
    		  i*86)	
    			if test x$SOLARIS_64 = xyes ; then
    				SOLARIS_INOUT_ARCH="amd64"
    			else
    				SOLARIS_INOUT_ARCH="ia32"
    			fi
    			;;
    		  *)
    			AC_MSG_ERROR([Unsupported Solaris platform. Only SPARC & x86 \
    			are supported on Solaris in this release.   If you are \
    			interested in porting Xorg to your platform, please email \
    			xorg@lists.freedesktop.org.]) ;;
    		esac
    		AC_SUBST([SOLARIS_INOUT_ARCH])
    		if test x$solaris_asm_inline = xyes ; then
    			SOLARIS_ASM_CFLAGS='$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il'
    			XORG_CFLAGS="${XORG_CFLAGS} "'$(SOLARIS_ASM_CFLAGS)'
    		fi
    		AC_SUBST([SOLARIS_ASM_CFLAGS])
    		;;
    	  gnu*)
    		XORG_OS_SUBDIR="hurd"
    		;;
    	  *)
    		XORG_OS_SUBDIR="stub"
    		AC_MSG_NOTICE([m4_text_wrap(m4_join([ ],
    		[Your OS is unknown. Xorg currently only supports Linux,],
    		[Free/Open/Net/DragonFlyBSD, Solaris/OpenSolaris, & GNU Hurd.],
    		[If you are interested in porting Xorg to your platform,],
    		[please email xorg@lists.freedesktop.org.]))])
    		;;
    	esac
    
    	if test "x$DGA" = xauto; then
    		PKG_CHECK_MODULES(DGA, $DGAPROTO, [DGA=yes], [DGA=no])
    	fi
    	if test "x$DGA" = xyes; then
    		XORG_MODULES="$XORG_MODULES $DGAPROTO"
    		PKG_CHECK_MODULES(DGA, $DGAPROTO)
    		AC_DEFINE(DGA, 1, [Support DGA extension])
    		AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
    	fi
    
    	if test "x$XF86VIDMODE" = xauto; then
    		PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO, [XF86VIDMODE=yes], [XF86VIDMODE=no])
    	fi
    	if test "x$XF86VIDMODE" = xyes; then
    		XORG_MODULES="$XORG_MODULES $VIDMODEPROTO"
    		PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO)
    		AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
    	fi
    
    	if test -n "$XORG_MODULES"; then
    	        PKG_CHECK_MODULES(XORG_MODULES, [$XORG_MODULES])
    	        XORG_CFLAGS="$XORG_CFLAGS $XORG_MODULES_CFLAGS"
    	        XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
    	fi
    
    	AC_SUBST([XORG_LIBS])
    	AC_SUBST([XORG_SYS_LIBS])
    	AC_SUBST([XORG_INCS])
    	AC_SUBST([XORG_OS_SUBDIR])
    	AC_SUBST([XORG_CFLAGS])
    
    	dnl these only go in xorg-config.h
    	XF86CONFIGFILE="xorg.conf"
    	XF86CONFIGDIR="xorg.conf.d"
    	AC_SUBST(XF86CONFIGDIR)
    	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
    	LOGPREFIX="$logdir/Xorg."
    	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
    	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
    	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
    	AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
    	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
    	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
    	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
    	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
    	AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE, [Name of configuration file])
    	AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
    	AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory])
    	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
    	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
    	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
    	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
    	if test "x$VGAHW" = xyes; then
    		AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
    	fi
    
    	driverdir="$moduledir/drivers"
    	AC_SUBST([moduledir])
    	AC_SUBST([driverdir])
    	sdkdir="$includedir/xorg"
    	extdir="$includedir/X11/extensions"
    	sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
    	AC_SUBST([sdkdir])
    	AC_SUBST([extdir])
    	AC_SUBST([sysconfigdir])
    	AC_SUBST([logdir])
    
    	# stuff the ABI versions into the pc file too
    	extract_abi() {
    	    grep ^.define.*${1}_VERSION ${srcdir}/hw/xfree86/common/xf86Module.h | tr '(),' '  .' | awk '{ print $4$5 }'
    	}
    	abi_ansic=`extract_abi ANSIC`
    	abi_videodrv=`extract_abi VIDEODRV`
    	abi_xinput=`extract_abi XINPUT`
    	abi_extension=`extract_abi EXTENSION`
    	AC_SUBST([abi_ansic])
    	AC_SUBST([abi_videodrv])
    	AC_SUBST([abi_xinput])
    	AC_SUBST([abi_extension])
    fi
    AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
    AM_CONDITIONAL([XORG_BUS_PCI], [test "x$PCI" = xyes])
    AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
    AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
    AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes])
    AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
    AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes])
    AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes])
    AM_CONDITIONAL([DGA], [test "x$DGA" = xyes])
    AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes])
    
    dnl XWin DDX
    
    AC_MSG_CHECKING([whether to build XWin DDX])
    if test "x$XWIN" = xauto; then
    	case $host_os in
    		cygwin*) XWIN="yes" ;;
    		mingw*) XWIN="yes" ;;
    		*) XWIN="no" ;;
    	esac
    fi
    AC_MSG_RESULT([$XWIN])
    
    if test "x$XWIN" = xyes; then
    	AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [Location of system.XWinrc])
    	AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
    	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
    	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
    	AC_CHECK_TOOL(WINDRES, windres)
    
    	PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau])
    
    	if test "x$WINDOWSWM" = xauto; then
    		PKG_CHECK_EXISTS($WINDOWSWMPROTO, [WINDOWSWM=yes], [WINDOWSWM=no])
    	fi
    	if test "x$WINDOWSWM" = xyes ; then
    		PKG_CHECK_MODULES(WINDOWSWM, $WINDOWSWMPROTO)
    		XWINMODULES_CFLAGS="$XWINMODULES_CFLAGS $WINDOWSWM_CFLAGS"
    		AC_DEFINE(ROOTLESS,1,[Build Rootless code])
    	fi
    
    	case $host_os in
    		cygwin*)
    			XWIN_SERVER_NAME=XWin
    			AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages])
    			;;
    		mingw*)
    			XWIN_SERVER_NAME=Xming
    			AC_DEFINE(RELOCATE_PROJECTROOT,1,[Make PROJECT_ROOT relative to the xserver location])
    			AC_DEFINE(HAS_WINSOCK,1,[Use Windows sockets])
    			XWIN_SYS_LIBS=-lwinsock2
    			;;
    	esac
    	XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB"
    	XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS"
    	AC_SUBST(XWIN_LIBS)
    	AC_SUBST(XWIN_SERVER_NAME)
    	AC_SUBST(XWIN_SYS_LIBS)
    
    	if test "x$DEBUGGING" = xyes; then
    		AC_DEFINE(CYGDEBUG, 1, [Simple debug messages])
    		AC_DEFINE(CYGWINDOWING_DEBUG, 1, [Debug messages for window handling])
    		AC_DEFINE(CYGMULTIWINDOW_DEBUG, 1, [Debug window manager])
    	fi
    
    	AC_DEFINE(DDXOSVERRORF, 1, [Use OsVendorVErrorF])
    	AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
    
    dnl XWin with AIGLX requires OpenGL spec files in order to generate wrapper code for native GL functions
    	if [test "x$XWIN" = xyes && test "x$AIGLX" = xyes] ; then
               if test "x$KHRONOS_SPEC_DIR" = "xauto" ; then
    		PKG_CHECK_MODULES([KHRONOS_OPENGL_REGISTRY], [khronos-opengl-registry])
    		KHRONOS_SPEC_DIR=`pkg-config khronos-opengl-registry --variable=specdir`
               fi
               AC_SUBST(KHRONOS_SPEC_DIR)
    	fi
    
    fi
    AM_CONDITIONAL(XWIN, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_MULTIWINDOW, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
    AM_CONDITIONAL(XWIN_CLIPBOARD, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && test "x$AIGLX" = xyes])
    AM_CONDITIONAL(XWIN_NATIVEGDI, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_PRIMARYFB, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])
    
    dnl Darwin / OS X DDX
    if test "x$XQUARTZ" = xyes; then
    	AC_DEFINE(XQUARTZ,1,[Have Quartz])
    	AC_DEFINE(ROOTLESS,1,[Build Rootless code])
    
    	XQUARTZ_LIBS="$MAIN_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB"
    	AC_SUBST([XQUARTZ_LIBS])
    
    	AC_CHECK_LIB([Xplugin],[xp_init],[:])
    
    	CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA"
    
    	PKG_CHECK_MODULES(XPBPROXY, $APPLEWMPROTO $LIBAPPLEWM xfixes x11)
    
            if test "x$XQUARTZ_SPARKLE" = xyes ; then
                    AC_DEFINE(XQUARTZ_SPARKLE,1,[Support application updating through sparkle.])
            fi
    
    	if test "x$STANDALONE_XPBPROXY" = xyes ; then
    		AC_DEFINE(STANDALONE_XPBPROXY,1,[Build a standalone xpbproxy])
    	fi
    fi
    
    # Support for objc in autotools is minimal and not documented.
    OBJC='$(CC)'
    OBJCLD='$(CCLD)'
    OBJCLINK='$(LINK)'
    OBJCFLAGS='$(CFLAGS)'
    AC_SUBST([OBJC])
    AC_SUBST([OBJCCLD])
    AC_SUBST([OBJCLINK])
    AC_SUBST([OBJCFLAGS])
    # internal, undocumented automake func follows :(
    _AM_DEPENDENCIES([OBJC])
    AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
    AM_CONDITIONAL(XQUARTZ_SPARKLE, [test "x$XQUARTZ_SPARKLE" != "xno"])
    AM_CONDITIONAL(STANDALONE_XPBPROXY, [test "x$STANDALONE_XPBPROXY" = xyes])
    
    dnl DMX DDX
    PKG_CHECK_MODULES(
    	[DMXMODULES],
    	[xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES],
    	[PKG_CHECK_MODULES(
    		[XDMXCONFIG_DEP],
    		[xaw7 xmu xt xpm x11],
    		[have_dmx=yes],
    		[have_dmx=no])],
    	[have_dmx=no])
    AC_MSG_CHECKING([whether to build Xdmx DDX])
    if test "x$DMX" = xauto; then
    	DMX="$have_dmx"
    	case $host_os in
    		cygwin*) DMX="no" ;;
    		darwin*) DMX="no" ;;
    	esac
    fi
    AC_MSG_RESULT([$DMX])
    AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
    
    if test "x$DMX" = xyes; then
    	if test "x$have_dmx" = xno; then
    		AC_MSG_ERROR([Xdmx build explicitly requested, but required
    		              modules not found.])
    	fi
    	DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC"
    	XDMX_CFLAGS="$DMXMODULES_CFLAGS"
    	XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB"
    	XDMX_SYS_LIBS="$DMXMODULES_LIBS"
    	AC_SUBST([XDMX_CFLAGS])
    	AC_SUBST([XDMX_LIBS])
    	AC_SUBST([XDMX_SYS_LIBS])
    
    dnl USB sources in DMX require <linux/input.h>
    	AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
    			DMX_BUILD_USB="no")
    dnl Linux sources in DMX require <linux/keyboard.h>
    	AC_CHECK_HEADER([linux/keyboard.h], DMX_BUILD_LNX="yes",
    			DMX_BUILD_LNX="no")
    	AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
    	AC_SUBST(XDMXCONFIG_DEP_LIBS)
    	PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [$LIBDMX $LIBXEXT x11])
    	AC_SUBST(DMXEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [$LIBDMX xmu $LIBXEXT x11])
    	AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [$LIBDMX $LIBXI $LIBXEXT x11])
    	AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [$LIBXTST $LIBXEXT x11])
    	AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres $LIBXEXT x11])
    	AC_SUBST(XRESEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([X11EXAMPLES_DEP], [$LIBXEXT x11])
    	AC_SUBST(X11EXAMPLES_DEP_LIBS)
    
    fi
    AM_CONDITIONAL([DMX_BUILD_LNX], [test "x$DMX_BUILD_LNX" = xyes])
    AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
    
    dnl kdrive DDX
    
    XEPHYR_LIBS=
    XEPHYR_INCS=
    
    AM_CONDITIONAL(KDRIVE, [test x$KDRIVE = xyes])
    
    if test "$KDRIVE" = yes; then
        AC_DEFINE(KDRIVESERVER,1,[Build Kdrive X server])
        AC_DEFINE(KDRIVEDDXACTIONS,,[Build kdrive ddx])
    
        AC_CHECK_HEADERS([linux/fb.h])
        if test "$ac_cv_header_linux_fb_h" = yes && test "x$XFBDEV" = xauto; then
            XFBDEV=yes
        fi
    
        if test "x$XFBDEV" = xyes; then
            KDRIVEFBDEVLIB=yes
            AC_DEFINE(KDRIVEFBDEV, 1, [Build fbdev-based kdrive server])
        fi
    
    
        PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
        if test "x$HAVE_TSLIB" = xno; then
            AC_CHECK_LIB(ts, ts_open, [
    			HAVE_TSLIB="yes"
    			TSLIB_LIBS="-lts"
    		])
        fi
    
        if test "xTSLIB" = xauto; then
            TSLIB="$HAVE_TSLIB"
        fi
    
        if test "x$TSLIB" = xyes; then
            if ! test "x$HAVE_TSLIB" = xyes; then
                AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
            else
                AC_DEFINE(TSLIB, 1, [Have tslib support])
            fi
        fi
    
        if test "x$KDRIVE_KBD" = xyes; then
           AC_DEFINE(KDRIVE_KBD, 1, [Enable KDrive kbd driver])
        fi
        if test "x$KDRIVE_EVDEV" = xyes; then
           AC_DEFINE(KDRIVE_EVDEV, 1, [Enable KDrive evdev driver])
        fi
        if test "x$KDRIVE_MOUSE" = xyes; then
           AC_DEFINE(KDRIVE_MOUSE, 1, [Enable KDrive mouse driver])
        fi
    
        XEPHYR_REQUIRED_LIBS="x11 $LIBXEXT xau xdmcp"
        if test "x$XV" = xyes; then
            XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv"
        fi
        if test "x$DRI" = xyes && test "x$GLX" = xyes; then
            XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBGL libdrm"
        fi
    
        if test "x$XEPHYR" = xauto; then
            PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [XEPHYR="yes"], [XEPHYR="no"])
        elif test "x$XEPHYR" = xyes ; then
            PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS)
        fi
    
        # Xephyr needs nanosleep() which is in librt on Solaris
        AC_CHECK_FUNC([nanosleep], [],
            AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
        
        # damage shadow extension glx (NOTYET) fb mi
        KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
        KDRIVE_PURE_INCS="$KDRIVE_INC $MIEXT_SYNC_INC $MIEXT_DAMAGE_INC $MIEXT_SHADOW_INC $XEXT_INC $FB_INC $MI_INC"
        KDRIVE_OS_INC='-I$(top_srcdir)/hw/kdrive/linux'
        KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
        
        KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS"
    
        KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB"
        KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la'
        case $host_os in
    	*linux*)
    	    KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.la'
                KDRIVELINUX=yes
    	    if test "x$KDRIVE_EVDEV" = xauto; then
    		KDRIVE_EVDEV=yes
    	    fi
    	    if test "x$KDRIVE_KBD" = xauto; then
    		KDRIVE_KBD=yes
    	    fi
    	    if test "x$KDRIVE_MOUSE" = xauto; then
    		KDRIVE_MOUSE=yes
    	    fi
    	    ;;
    	*openbsd*)
    	    KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/openbsd/libopenbsd.la'
    	    KDRIVEOPENBSD=yes
    	    if test "x$KDRIVE_EVDEV" = xauto; then
    		KDRIVE_EVDEV=no
    	    fi
    	    if test "x$KDRIVE_KBD" = xauto; then
    		KDRIVE_KBD=yes
    	    fi
    	    if test "x$KDRIVE_MOUSE" = xauto; then
    		KDRIVE_MOUSE=yes
    	    fi
    	    ;;
    	*)
    	    if test "x$KDRIVE_EVDEV" = xauto; then
    		KDRIVE_EVDEV=no
    	    fi
    	    if test "x$KDRIVE_KBD" = xauto; then
    		KDRIVE_KBD=no
    	    fi
    	    if test "x$KDRIVE_MOUSE" = xauto; then
    		KDRIVE_MOUSE=no
    	    fi
    	    ;;
        esac
        KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.la'
        KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB"
        KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
        KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB"
        KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS $TSLIB_LIBS"
    
        AC_SUBST([XEPHYR_LIBS])
        AC_SUBST([XEPHYR_INCS])
    fi
    AC_SUBST([KDRIVE_INCS])
    AC_SUBST([KDRIVE_PURE_INCS])
    AC_SUBST([KDRIVE_CFLAGS])
    AC_SUBST([KDRIVE_PURE_LIBS])
    AC_SUBST([KDRIVE_LOCAL_LIBS])
    AC_SUBST([KDRIVE_LIBS])
    AM_CONDITIONAL(KDRIVELINUX, [test "x$KDRIVELINUX" = xyes])
    AM_CONDITIONAL(KDRIVEOPENBSD, [test "x$KDRIVEOPENBSD" = xyes])
    AM_CONDITIONAL(KDRIVE_EVDEV, [test "x$KDRIVE_EVDEV" = xyes])
    AM_CONDITIONAL(KDRIVE_KBD,   [test "x$KDRIVE_KBD" = xyes])
    AM_CONDITIONAL(KDRIVE_MOUSE, [test "x$KDRIVE_MOUSE" = xyes])
    AM_CONDITIONAL(TSLIB, [test "x$HAVE_TSLIB" = xyes])
    AM_CONDITIONAL(KDRIVEFBDEV, [test "x$XFBDEV" = xyes])
    AM_CONDITIONAL(KDRIVEWSCONS, [test x"$ac_cv_header_dev_wscons_wsconsio_h" = xyes])
    AM_CONDITIONAL(XEPHYR, [test "x$KDRIVE" = xyes && test "x$XEPHYR" = xyes])
    AM_CONDITIONAL(BUILD_KDRIVEFBDEVLIB, [test "x$KDRIVE" = xyes && test "x$KDRIVEFBDEVLIB" = xyes])
    AM_CONDITIONAL(XFAKESERVER, [test "x$KDRIVE" = xyes && test "x$XFAKE" = xyes])
    
    dnl and the rest of these are generic, so they're in config.h
    dnl 
    dnl though, thanks to the passing of some significant amount of time, the
    dnl above is probably a complete fallacy, and you should not rely on it.
    dnl but this is still actually better than imake, honest. -daniels
    
    AC_TRY_COMPILE([
    #include <features.h>
    #ifndef __GLIBC__
    #error not glibc
    #endif
    ], [], [AC_DEFINE(_GNU_SOURCE, 1,
    	[ Enable GNU and other extensions to the C environment for glibc])])
    
    AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
    
    AC_SUBST([RELEASE_DATE])
    BUILD_DATE="`date +'%Y%m%d'`"
    AC_SUBST([BUILD_DATE])
    BUILD_TIME="`date +'1%H%M%S'`"
    AC_SUBST([BUILD_TIME])
    
    DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"
    
    AC_SUBST([DIX_CFLAGS])
    
    AC_SUBST([libdir])
    AC_SUBST([exec_prefix])
    AC_SUBST([prefix])
    
    AC_CONFIG_COMMANDS([sdksyms], [touch hw/xfree86/sdksyms.dep])
    
    AC_OUTPUT([
    Makefile
    glx/Makefile
    include/Makefile
    composite/Makefile
    damageext/Makefile
    dbe/Makefile
    dix/Makefile
    doc/Makefile
    doc/dtrace/Makefile
    man/Makefile
    fb/Makefile
    record/Makefile
    config/Makefile
    mi/Makefile
    miext/Makefile
    miext/sync/Makefile
    miext/damage/Makefile
    miext/shadow/Makefile
    miext/cw/Makefile
    miext/rootless/Makefile
    os/Makefile
    randr/Makefile
    render/Makefile
    xkb/Makefile
    Xext/Makefile
    Xi/Makefile
    xfixes/Makefile
    exa/Makefile
    hw/Makefile
    hw/xfree86/Makefile
    hw/xfree86/common/Makefile
    hw/xfree86/common/xf86Build.h
    hw/xfree86/ddc/Makefile
    hw/xfree86/dixmods/Makefile
    hw/xfree86/dixmods/extmod/Makefile
    hw/xfree86/doc/Makefile
    hw/xfree86/dri/Makefile
    hw/xfree86/dri2/Makefile
    hw/xfree86/exa/Makefile
    hw/xfree86/exa/man/Makefile
    hw/xfree86/fbdevhw/Makefile
    hw/xfree86/fbdevhw/man/Makefile
    hw/xfree86/i2c/Makefile
    hw/xfree86/int10/Makefile
    hw/xfree86/loader/Makefile
    hw/xfree86/man/Makefile
    hw/xfree86/modes/Makefile
    hw/xfree86/os-support/Makefile
    hw/xfree86/os-support/bsd/Makefile
    hw/xfree86/os-support/bus/Makefile
    hw/xfree86/os-support/hurd/Makefile
    hw/xfree86/os-support/misc/Makefile
    hw/xfree86/os-support/linux/Makefile
    hw/xfree86/os-support/solaris/Makefile
    hw/xfree86/os-support/stub/Makefile
    hw/xfree86/parser/Makefile
    hw/xfree86/ramdac/Makefile
    hw/xfree86/shadowfb/Makefile
    hw/xfree86/vbe/Makefile
    hw/xfree86/vgahw/Makefile
    hw/xfree86/x86emu/Makefile
    hw/xfree86/xaa/Makefile
    hw/xfree86/utils/Makefile
    hw/xfree86/utils/man/Makefile
    hw/xfree86/utils/cvt/Makefile
    hw/xfree86/utils/gtf/Makefile
    hw/dmx/config/Makefile
    hw/dmx/config/man/Makefile
    hw/dmx/doc/Makefile
    hw/dmx/doxygen/doxygen.conf
    hw/dmx/doxygen/Makefile
    hw/dmx/examples/Makefile
    hw/dmx/input/Makefile
    hw/dmx/glxProxy/Makefile
    hw/dmx/Makefile
    hw/dmx/man/Makefile
    hw/vfb/Makefile
    hw/vfb/man/Makefile
    hw/xnest/Makefile
    hw/xnest/man/Makefile
    hw/xwin/Makefile
    hw/xwin/glx/Makefile
    hw/xwin/man/Makefile
    hw/xquartz/Makefile
    hw/xquartz/GL/Makefile
    hw/xquartz/bundle/Makefile
    hw/xquartz/man/Makefile
    hw/xquartz/mach-startup/Makefile
    hw/xquartz/pbproxy/Makefile
    hw/xquartz/xpr/Makefile
    hw/kdrive/Makefile
    hw/kdrive/ephyr/Makefile
    hw/kdrive/ephyr/man/Makefile
    hw/kdrive/fake/Makefile
    hw/kdrive/fbdev/Makefile
    hw/kdrive/linux/Makefile
    hw/kdrive/openbsd/Makefile
    hw/kdrive/src/Makefile
    hw/kdrive/wscons/Makefile
    test/Makefile
    test/xi2/Makefile
    xserver.ent
    xorg-server.pc
    ])