Edit

IABSD.fr/xenocara/xserver/configure.ac

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2007-05-25 15:47:16
    Hash : 6949127d
    Message : required bits to build Xwscons

  • xserver/configure.ac
  • dnl
    dnl Copyright © 2003-2005 Keith Packard, Daniel Stone
    dnl
    dnl Permission to use, copy, modify, distribute, and sell this software and its
    dnl documentation for any purpose is hereby granted without fee, provided that
    dnl the above copyright notice appear in all copies and that both that
    dnl copyright notice and this permission notice appear in supporting
    dnl documentation, and that the names of Keith Packard and Daniel Stone not be
    dnl used in advertising or publicity pertaining to distribution of the software
    dnl without specific, written prior permission.  Keith Packard and Daniel Stone
    dnl make no representations about the suitability of this software for any
    dnl purpose.  It is provided "as is" without express or implied warranty.
    dnl
    dnl KEITH PACKARD AND DANIEL STONE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
    dnl SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
    dnl IN NO EVENT SHALL KEITH PACKARD OR DANIEL STONE BE LIABLE FOR ANY SPECIAL,
    dnl INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    dnl LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
    dnl OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    dnl PERFORMANCE OF THIS SOFTWARE.
    dnl
    dnl Process this file with autoconf to create configure.
    
    AC_PREREQ(2.57)
    dnl This is the not the Xorg version number, it's the server version number.
    dnl Yes, that's weird.
    AC_INIT([xorg-server], 1.2.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
    AC_CONFIG_SRCDIR([Makefile.am])
    AM_INIT_AUTOMAKE([dist-bzip2 foreign])
    AM_MAINTAINER_MODE
    
    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 xgl-config.h covers the Xgl DDX.
    AC_CONFIG_HEADERS(include/xgl-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)
    
    AC_PROG_CC
    AM_PROG_AS
    AC_PROG_INSTALL
    AC_PROG_LN_S
    AC_LIBTOOL_WIN32_DLL
    AC_DISABLE_STATIC
    AC_PROG_LIBTOOL
    AC_PROG_MAKE_SET
    PKG_PROG_PKG_CONFIG
    AC_PROG_LEX
    AC_PROG_YACC
    XORG_PROG_RAWCPP
    
    AC_HEADER_DIRENT
    AC_HEADER_STDC
    AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.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
    
    dnl Checks for library functions.
    AC_FUNC_VPRINTF
    AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr \
    		strtol getopt getopt_long vsnprintf walkcontext backtrace \
    		getisax])
    AC_FUNC_ALLOCA
    dnl Old HAS_* names used in os/*.c.
    AC_CHECK_FUNC([getdtablesize],
    	AC_DEFINE(HAS_GETDTABLESIZE, 1, [Have the `getdtablesize' function.]))
    AC_CHECK_FUNC([getifaddrs],
    	AC_DEFINE(HAS_GETIFADDRS, 1, [Have the `getifaddrs' function.]))
    AC_CHECK_FUNC([getpeereid],
    	AC_DEFINE(HAS_GETPEEREID, 1, [Have the `getpeereid' function.]))
    AC_CHECK_FUNC([getpeerucred],
    	AC_DEFINE(HAS_GETPEERUCRED, 1, [Have the `getpeerucred' function.]))
    AC_CHECK_FUNC([strlcat], HAVE_STRLCAT=yes, HAVE_STRLCAT=no)
    AM_CONDITIONAL(NEED_STRLCAT, [test x$HAVE_STRLCAT = xno])	
    
    AM_CONDITIONAL(NEED_VSNPRINTF, [test x$HAVE_VSNPRINTF = xno])
    
    dnl Check for mmap support for Xvfb
    AC_CHECK_FUNC([mmap], AC_DEFINE(HAS_MMAP, 1, [Have the `mmap' function.]))
    
    dnl Find the math libary
    AC_CHECK_LIB(m, sqrt)
    
    AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
    
    dnl AGPGART headers
    AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.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 NetBSD/OpenBSD wscons header
    AC_CHECK_HEADERS([dev/wscons/wsconsio.h])
    
    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"
    use_x86_asm="no"
    
    dnl Override defaults as needed for specific platforms:
    
    case $host_cpu in
      alpha*)
    	ALPHA_VIDEO=yes
    	case $host_os in
    		*netbsd*)	AC_DEFINE(USE_ALPHA_PIO, 1, [NetBSD PIO alpha IO]) ;;
    		*openbsd*)	SYS_LIBS=-lalpha ;;
    	esac
    	;;
      arm*)
    	ARM_VIDEO=yes
    	;;
      i*86)
    	use_x86_asm="yes"
    	I386_VIDEO=yes
    	case $host_os in
    		*linux*)	DEFAULT_INT10=vm86 ;;
    		*freebsd*)	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
    	;;
      sparc*)
    	xorg_loader_sparcmuldiv="yes"
    	SPARC64_VIDEO=yes
    	BSD_ARCH_SOURCES="sparc64_video.c ioperm_noop.c"
    	;;
      x86_64*|amd64*)
      	use_x86_asm="yes"
    	I386_VIDEO=yes
    	case $host_os in
    		*freebsd*)	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
    	;;
    esac
    
    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(SPARC64_VIDEO, [test "x$SPARC64_VIDEO" = xyes])
    
    DRI=no
    KDRIVE_HW=no
    dnl it would be nice to autodetect these *CONS_SUPPORTs
    case $host_os in
      *freebsd*)
    	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(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])
    	KDRIVE_HW=yes
    	;;
      *linux*)
    	DRI=yes
    	KDRIVE_HW=yes
    	;;
    esac
    AM_CONDITIONAL(KDRIVE_HW, test "x$KDRIVE_HW" = xyes)
    
    AC_MSG_CHECKING(for MMX capable platform)
    if test "x$use_x86_asm" = xyes && test "x$GCC" = xyes ; then
    	AC_PREPROC_IFELSE([
    #if (!defined (__GNUC__) || __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4))
        #error Not supported
    #endif
    ], mmx_capable=yes, mmx_capable=no)
    fi
    AC_MSG_RESULT([$mmx_capable])
    AM_CONDITIONAL(MMX_CAPABLE, [test "x$mmx_capable" = xyes])
    
    
    OSNAME=`uname -srm`
    AC_DEFINE_UNQUOTED(OSNAME, "$OSNAME", 
    	[Define to OS Name string to display for build OS in Xorg log])
    
    DEFAULT_VENDOR_NAME="The X.Org Foundation"
    DEFAULT_VENDOR_NAME_SHORT="X.Org"
    DEFAULT_VERSION_MAJOR=7
    DEFAULT_VERSION_MINOR=2
    DEFAULT_VERSION_PATCH=0
    DEFAULT_VERSION_SNAP=0
    DEFAULT_RELEASE_DATE="22 January 2007"
    DEFAULT_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],
    				  [Treat warnings as errors (default: disabled)]),
    			        [WERROR=$enableval], [WERROR=no])
    AC_ARG_ENABLE(debug,         AS_HELP_STRING([--enable-debug],
    				  [Enable debugging (default: disabled)]),
    			        [DEBUGGING=$enableval], [DEBUGGING=no])
    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-string=VENDOR],
    				  [Vendor string reported by the server]),
    			     	[ VENDOR_STRING="$withval" ],
    			     	[ VENDOR_STRING="$DEFAULT_VENDOR_NAME" ])
    AC_ARG_WITH(vendor-name-short, AS_HELP_STRING([--with-vendor-string-short=VENDOR],
    				  [Short version of vendor string reported by the server]),
    			     	[ VENDOR_STRING_SHORT="$withval" ],
    			     	[ VENDOR_STRING_SHORT="$DEFAULT_VENDOR_NAME_SHORT" ])
    AC_ARG_WITH(release-major,   AS_HELP_STRING([--with-release-major=MAJOR],
    				  [Release major number reported by the server]),
    				[ VERSION_MAJOR="$withval" ],
    				[ VERSION_MAJOR="$DEFAULT_VERSION_MAJOR" ])
    AC_ARG_WITH(release-minor,   AS_HELP_STRING([--with-release-minor=MINOR],
    				  [Release minor number reported by the server]),
    				[ VERSION_MINOR="$withval" ],
    				[ VERSION_MINOR="$DEFAULT_VERSION_MINOR" ])
    AC_ARG_WITH(release-patch,   AS_HELP_STRING([--with-release-patch=PATCH],
    				  [Release patch number reported by the server]),
    				[ VERSION_PATCH="$withval" ],
    				[ VERSION_PATCH="$DEFAULT_VERSION_PATCH" ])
    AC_ARG_WITH(release-snap,    AS_HELP_STRING([--with-release-snap=SNAP],
    				  [Release snap number reported by the server]),
    				[ VERSION_SNAP="$withval" ],
    				[ VERSION_SNAP="$DEFAULT_VERSION_SNAP" ])
    AC_ARG_WITH(release-date,    AS_HELP_STRING([--with-release-date=DATE],
    				  [Release date reported by the server]),
    				[ RELEASE_DATE="$withval" ],
    				[ RELEASE_DATE="$DEFAULT_RELEASE_DATE" ])
    AC_ARG_WITH(vendor-web,      AS_HELP_STRING([--with-vendor-web=URL],
    				  [Vendor web address reported by the server]),
    				[ VENDOR_WEB="$withval" ],
    				[ VENDOR_WEB="$DEFAULT_VENDOR_WEB" ])
    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: UNKNOWN)]),
    				[ OSNAME="$withval" ],
    				[ OSNAME="UNKNOWN" ])
    AC_ARG_WITH(os-vendor,       AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name of OS vendor]),
    				[ OSVENDOR="$withval" ],
    				[ OSVENDOR="" ])
    AC_ARG_WITH(mesa-source,     AS_HELP_STRING([--with-mesa-source=MESA_SOURCE], [Path to Mesa source tree]),
                                    [ MESA_SOURCE="$withval" ],
                                    [ MESA_SOURCE="" ])
    AC_ARG_WITH(fontdir,         AS_HELP_STRING([--with-fontdir=FONTDIR], [Path to top level dir where fonts are installed (default: ${libdir}/X11/fonts)]),
                                    [ FONTDIR="$withval" ],
                                    [ FONTDIR="${libdir}/X11/fonts" ])
    DEFAULT_FONT_PATH="${FONTDIR}/misc/,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi/,${FONTDIR}/75dpi/"
    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_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(rgb-path,         AS_HELP_STRING([--with-rgb-path=PATH], [Path to RGB database (default: ${datadir}/X11/rgb)]),
    				[ RGBPATH="$withval" ],
    				[ RGBPATH="${datadir}/X11/rgb" ])
    AC_ARG_WITH(dri-driver-path,  AS_HELP_STRING([--with-dri-driver-path=PATH], [Path to DRI drivers (default: ${libdir}/dri)]),
    				[ DRI_DRIVER_PATH="$withval" ],
    				[ DRI_DRIVER_PATH="${libdir}/dri" ])
    AC_ARG_ENABLE(builddocs,      AS_HELP_STRING([--enable-builddocs], [Build docs (default: disabled)]),
                                    [BUILDDOCS=$enableval],
                                    [BUILDDOCS=no])
    AC_ARG_ENABLE(install-libxf86config,
    				AS_HELP_STRING([--enable-install-libxf86config],
    				[Install libxf86config (default: disabled)]),
    				[INSTALL_LIBXF86CONFIG=$enableval],
    				[INSTALL_LIBXF86CONFIG=no])
    
    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(composite,      AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
    AC_ARG_ENABLE(mitshm,         AS_HELP_STRING([--disable-shm], [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(xtrap,          AS_HELP_STRING([--disable-xtrap], [Build XTrap extension (default: enabled)]), [XTRAP=$enableval], [XTRAP=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: enabled)]), [DGA=$enableval], [DGA=yes])
    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(aiglx,          AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]), [AIGLX=$enableval], [AIGLX=yes])
    AC_ARG_ENABLE(glx-tls,        AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: disabled)]), [GLX_USE_TLS=$enableval], [GLX_USE_TLS=no])
    AC_ARG_ENABLE(dri,            AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
    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: enabled)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=yes])
    AC_ARG_ENABLE(xf86misc,       AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: enabled)]), [XF86MISC=$enableval], [XF86MISC=yes])
    AC_ARG_ENABLE(xace,     AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
    AC_ARG_ENABLE(xcsecurity,     AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=$XACE])
    AC_ARG_ENABLE(appgroup,       AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=$XCSECURITY])
    AC_ARG_ENABLE(xcalibrate,     AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
    AC_ARG_ENABLE(tslib,          AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
    AC_ARG_ENABLE(xevie,          AS_HELP_STRING([--disable-xevie], [Build XEvIE extension (default: enabled)]), [XEVIE=$enableval], [XEVIE=yes])
    AC_ARG_ENABLE(cup,            AS_HELP_STRING([--disable-cup], [Build TOG-CUP extension (default: enabled)]), [CUP=$enableval], [CUP=yes])
    AC_ARG_ENABLE(evi,            AS_HELP_STRING([--disable-evi], [Build Extended-Visual-Information extension (default: enabled)]), [EVI=$enableval], [EVI=yes])
    AC_ARG_ENABLE(multibuffer,    AS_HELP_STRING([--enable-multibuffer], [Build Multibuffer extension (default: disabled)]), [MULTIBUFFER=$enableval], [MULTIBUFFER=no])
    AC_ARG_ENABLE(fontcache,      AS_HELP_STRING([--enable-fontcache], [Build FontCache extension (default: disabled)]), [FONTCACHE=$enableval], [FONTCACHE=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([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes])
    AC_ARG_ENABLE(dpms,           AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
    AC_ARG_ENABLE(xinput,         AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes])
    AC_ARG_ENABLE(xfree86-utils,     AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=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(xwin,    	      AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
    AC_ARG_ENABLE(xprint,         AS_HELP_STRING([--enable-xprint], [Build Xprint extension and server (default: auto)]), [XPRINT=$enableval], [XPRINT=auto])
    AC_ARG_ENABLE(xgl,            AS_HELP_STRING([--enable-xgl], [Build Xgl server (default: no)]), [XGL=$enableval], [XGL=no])
    AC_ARG_ENABLE(xglx,           AS_HELP_STRING([--enable-xglx], [Build Xglx xgl module (default: no)]), [XGLX=$enableval], [XGLX=no])
    AC_ARG_ENABLE(xegl,           AS_HELP_STRING([--enable-xegl], [Build Xegl xgl module (default: no)]), [XEGL=$enableval], [XEGL=no])
    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(xsdl,           AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto])
    dnl xprint
    AC_ARG_ENABLE(freetype,       AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no])
    AC_ARG_WITH(freetype-config,  AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=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
    	    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(INT10_VM86, [test "x$INT10" = xvm86])
    AM_CONDITIONAL(INT10_X86EMU, [test "x$INT10" = xx86emu])
    AM_CONDITIONAL(INT10_STUB, [test "x$INT10" = xstub])
    if test "x$INT10" = xyes; then
    	dnl VM86 headers
    	AC_CHECK_HEADERS([sys/vm86.h sys/io.h])
    fi
    
    dnl Handle building documentation
    AM_CONDITIONAL(BUILDDOCS, test "x$BUILDDOCS" = xyes)
    
    dnl Only build sgml docs when linuxdoc is available and
    dnl def.ents has been installed
    XORG_CHECK_LINUXDOC
    
    dnl Handle installing libxf86config
    AM_CONDITIONAL(INSTALL_LIBXF86CONFIG, [test "x$INSTALL_LIBXF86CONFIG" = xyes])
    
    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 Core modules for most extensions, et al.
    REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto [kbproto >= 1.0.3]"
    REQUIRED_LIBS="xfont xau fontenc"
    
    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"
    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(DGA, [test "x$DGA" = xyes])
    if test "x$DGA" = xyes; then
    	AC_DEFINE(DGA, 1, [Support DGA extension])
    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 >= 0.3]"
    	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(XTRAP, [test "x$XTRAP" = xyes])
    if test "x$XTRAP" = xyes; then
    	AC_DEFINE(XTRAP, 1, [Support XTrap extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES trapproto"
    	XTRAP_LIB='$(top_builddir)/XTrap/libxtrap.la'
    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])
    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
    
    if test "x$GLX" = xyes && ! test "x$MESA_SOURCE" = x; then
    	PKG_CHECK_MODULES([XLIB], [x11])
    	PKG_CHECK_MODULES([GL], [glproto >= 1.4.8])
    	AC_SUBST(XLIB_CFLAGS)
    	AC_DEFINE(GLXEXT, 1, [Build GLX extension])
    	GLX_LIBS='$(top_builddir)/GL/glx/libglx.la $(top_builddir)/GL/mesa/libGLcore.la'
    	test -d GL || mkdir GL
    	case $host_os in
    	  solaris*) 	
    		SYMLINK_MESA="/usr/bin/bash $srcdir/GL/symlink-mesa.sh"	;;
    	  openbsd*)
    		SYMLINK_MESA="/bin/ksh $srcdir/GL/symlink-mesa.sh"	;;
    	  *)	SYMLINK_MESA=$srcdir/GL/symlink-mesa.sh ;;
    	esac
    	$SYMLINK_MESA $MESA_SOURCE GL/
    	if test $? -ne 0; then
    		AC_MSG_ERROR([Failed to link Mesa source tree.  Please specify a proper path to Mesa sources, or disable GLX.])
    	fi
    else
            GLX=no
    fi
    AM_CONDITIONAL(GLX, test "x$GLX" = xyes)
    AC_SUBST([MESA_SOURCE])
    
    if test "x$AIGLX" = xyes -a "x$GLX" = xyes -a "x$DRI" = xyes; then
    	AC_DEFINE(AIGLX, 1, [Build AIGLX loader])
    else
    	AIGLX=no
    fi
    AM_CONDITIONAL(AIGLX, test "x$AIGLX" = xyes)
    
    if test "x$GLX_USE_TLS" = xyes -a "x$AIGLX" = xyes; then
    	GLX_DEFINES="-DGLX_USE_TLS -DPTHREADS"
    	GLX_LIBS="$GLX_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], [xf86driproto])
    	PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.3.0])
    	PKG_CHECK_MODULES([GL], [glproto >= 1.4.1])
    	AC_SUBST(DRIPROTO_CFLAGS)
    	AC_SUBST(LIBDRM_CFLAGS)
    	AC_SUBST(LIBDRM_LIBS)
    	AC_SUBST(GL_CFLAGS)
    fi
    
    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"
    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(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(XEVIE, [test "x$XEVIE" = xyes])
    if test "x$XEVIE" = xyes; then
    	AC_DEFINE(XEVIE, 1, [Build XEvIE extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES evieproto"
    fi
    
    AM_CONDITIONAL(APPGROUP, [test "x$APPGROUP" = xyes])
    if test "x$APPGROUP" = xyes; then
    	if test "x$XACE" != xyes || test "x$XCSECURITY" != xyes; then
    		AC_MSG_ERROR([cannot build APPGROUP extension without X-ACE and XC-SECURITY])
    	fi
    	AC_DEFINE(XAPPGROUP, 1, [Build APPGROUP extension])
    fi
    
    AM_CONDITIONAL(CUP, [test "x$CUP" = xyes])
    if test "x$CUP" = xyes; then
    	AC_DEFINE(TOGCUP, 1, [Build TOG-CUP extension])
    	# Requires xextproto which is always required
    fi
    
    AM_CONDITIONAL(EVI, [test "x$EVI" = xyes])
    if test "x$EVI" = xyes; then
    	AC_DEFINE(EVI, 1, [Build Extended-Visual-Information extension])
    	# Requires xextproto which is always required
    fi
    
    AM_CONDITIONAL(MULTIBUFFER, [test "x$MULTIBUFFER" = xyes])
    if test "x$MULTIBUFFER" = xyes; then
    	AC_DEFINE(MULTIBUFFER, 1, [Build Multibuffer extension])
    	# Requires xextproto which is always required
    fi
    
    AM_CONDITIONAL(FONTCACHE, [test "x$FONTCACHE" = xyes])
    if test "x$FONTCACHE" = xyes; then
    	AC_DEFINE(FONTCACHE, 1, [Build FontCache extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES fontcacheproto"
    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])
    fi
    
    AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
    if test "x$DPMSExtension" = xyes; then
    	AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
    fi
    
    if test "x$XF86VIDMODE" = xyes; then
    	AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
    fi
    
    if test "x$XF86MISC" = xyes; then
    	AC_DEFINE(XF86MISC, 1, [Support XFree86 miscellaneous extensions])
    fi
    
    if test "x$XPRINT" = xauto; then
    	PKG_CHECK_MODULES([XPRINTPROTO], [printproto], [XPRINT=yes], [XPRINT=no])
    fi
    AM_CONDITIONAL(XPRINT, [test "x$XPRINT" = xyes])
    if test "x$XPRINT" = xyes; then
    	AC_DEFINE(XPRINT, 1, [Build Print extension])
    	REQUIRED_MODULES="$REQUIRED_MODULES printproto"
    fi
    
    if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
       AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
       REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
    else
       XCALIBRATE=no
    fi
    AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes])
    
    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'
    dnl damage (may) need the composite wrapper when composite is enabled
    if test "$COMPOSITE" = yes; then
    	MIEXT_DAMAGE_LIB="$MIEXT_DAMAGE_LIB "'$(top_builddir)/miext/cw/libcw.la'
    fi
    MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
    
    AM_CONDITIONAL(XINPUT, [test "x$XINPUT" = xyes])
    if test "x$XINPUT" = xyes; then
       	AC_DEFINE(XINPUT, 1, [Support X Input extension])
    	XI_LIB='$(top_builddir)/Xi/libXi.la'
    	XI_INC='-I$(top_srcdir)/Xi'
    fi
    
    AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
    
    AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
    
    AC_DEFINE(XKB, 1, [Build XKB])
    AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
    AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
    REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
    XKB_LIB='$(top_builddir)/xkb/libxkb.la'
    XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
    
    AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
                                            [Do not have `strcasecmp'.]))
    
    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
    
    AM_CONDITIONAL(USE_RGB_BUILTIN, [test "x$USE_RGB_BUILTIN" = xyes])
    if test "x$USE_RGB_BUILTIN" = xyes; then
    	AC_DEFINE(USE_RGB_BUILTIN, 1, [Use built-in RGB color database])
    fi
    
    VENDOR_RELEASE="((($VERSION_MAJOR) * 10000000) + (($VERSION_MINOR) * 100000) + (($VERSION_PATCH) * 1000) + $VERSION_SNAP)"
    
    if test $VERSION_SNAP = "0"; then
    	if test $VERSION_PATCH = "0"; then
    		VENDOR_VERSION_STRING="${VERSION_MAJOR}.${VERSION_MINOR}"
    	else
    		VENDOR_VERSION_STRING="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
    	fi
    else
    	VENDOR_VERSION_STRING="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_SNAP}"
    fi
    
    VENDOR_RELEASE_STRING="Release ${VENDOR_VERSION_STRING}"
    VENDOR_MAN_VERSION="Version ${VENDOR_VERSION_STRING}"
    
    AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
    AC_DEFINE_DIR(RGB_DB, RGBPATH, [Default RGB path])
    AC_DEFINE_DIR(BASE_FONT_PATH, FONTDIR, [Default base font path])
    AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path])
    AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_STRING"], [Vendor name])
    AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_STRING_SHORT"], [Short vendor name])
    AC_DEFINE_UNQUOTED(XORG_RELEASE, ["$VENDOR_RELEASE_STRING"], [Vendor release])
    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])
    AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
    AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
    AC_SUBST([VENDOR_STRING])
    AC_SUBST([VENDOR_STRING_SHORT])
    AC_SUBST([VENDOR_RELEASE])
    AC_SUBST([VENDOR_MAN_VERSION])
    
    AC_DEFINE(DDXOSINIT, 1, [Use OsVendorInit])
    AC_DEFINE(SERVER_LOCK, 1, [Use a lock to prevent multiple servers on a display])
    AC_DEFINE(SMART_SCHEDULE, 1, [Include time-based scheduler])
    AC_DEFINE(NO_LIBCWRAPPER, 1, [Define to 1 if modules should avoid the libcwrapper])
    AM_CONDITIONAL(DEBUG, test "x$DEBUGGING" = xyes)
    
    if ! test "x$DEBUGGING" = xyes; then
      AC_DEFINE(NDEBUG, 1, [Disable some debugging code])
    fi
    
    AC_DEFINE(USE_RGB_TXT, 1, [Use rgb.txt directly])
    AC_DEFINE(MITMISC, 1, [Support MIT Misc extension])
    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])
    AC_DEFINE(PIXPRIV, 1, [Support pixmap privates])
    
    DIX_LIB='$(top_builddir)/dix/libdix.la'
    OS_LIB='$(top_builddir)/os/libos.la'
    CWRAP_LIB='$(top_builddir)/os/libcwrapper.la'
    MI_LIB='$(top_builddir)/mi/libmi.la'
    MINIMI_LIB='$(top_builddir)/mi/libminimi.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'
    XPSTUBS_LIB='$(top_builddir)/dix/libxpstubs.la'
    CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
    
    PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
    PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
    
    XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS}"
    XSERVER_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} -lm"
    AC_SUBST([SYS_LIBS])
    
    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
            LIBS="$have_clock_gettime"
        else
            LIBS=""
        fi
    
        AC_RUN_IFELSE([
    #define _POSIX_C_SOURCE 199309L
    #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"])
    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()])
        XSERVER_LIBS="$XSERVER_LIBS $LIBS"
    fi
    
    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_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC"
    AC_DEFINE_UNQUOTED(X_BYTE_ORDER,[$ENDIAN],[Endian order])
    
    AC_SUBST([XSERVER_LIBS])
    
    dnl ---------------------------------------------------------------------------
    dnl DDX section.
    dnl ---------------------------------------------------------------------------
    
    dnl DMX DDX
    
    AC_MSG_CHECKING([whether to build Xdmx DDX])
    PKG_CHECK_MODULES([DMXMODULES], [xmuu xext x11 xrender xfixes xfont xi dmxproto xau $XDMCP_MODULES], [have_dmx=yes], [have_dmx=no])
    if test "x$DMX" = xauto; then
    	DMX="$have_dmx"
    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 $XTRAP_INC $RECORD_INC"
    	XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $XTRAP_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $OS_LIB $CWRAP_LIB"
    	AC_SUBST([XDMX_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")
    	if test "x$GLX" = xyes; then
    		PKG_CHECK_MODULES([GL], [glproto])
    	fi
    	PKG_CHECK_MODULES([XDMXCONFIG_DEP], [xaw7 xmu xt xpm x11])
    	AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
    	AC_SUBST(XDMXCONFIG_DEP_LIBS)
    	PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [dmx xext x11])
    	AC_SUBST(DMXEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [dmx xmu xext x11])
    	AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [dmx xi xext x11])
    	AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [xtst xext x11])
    	AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres xext x11])
    	AC_SUBST(XRESEXAMPLES_DEP_LIBS)
    	PKG_CHECK_MODULES([X11EXAMPLES_DEP], [xext 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 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 $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB"
    	AC_SUBST([XVFB_LIBS])
    fi
    
    
    dnl Xnest DDX
    
    AC_MSG_CHECKING([whether to build Xnest DDX])
    PKG_CHECK_MODULES(XNESTMODULES, [xfont xext x11 xau $XDMCP_MODULES], [have_xnest=yes], [have_xnest=no])
    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
    	XNEST_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB"
    	AC_SUBST([XNEST_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])
    
    dnl Xgl DDX
    
    AC_MSG_CHECKING([whether to build Xgl DDX])
    if test "x$XGL" != xno; then
      PKG_CHECK_MODULES([XGLMODULES], [glitz-glx >= 0.4.3], [XGL=yes], [XGL=no])
      AC_SUBST(XGLMODULES_CFLAGS)
      AC_SUBST(XGLMODULES_LIBS)
    fi
    AC_MSG_RESULT([$XGL])
    AM_CONDITIONAL(XGL, [test "x$XGL" = xyes])
    
    if test "x$XGL" = xyes; then
    	XGL_LIBS="$FB_LIB $MI_LIB $COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $MIEXT_LAYER_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB"
    	AC_SUBST([XGL_LIBS])
    	AC_DEFINE(XGL_MODULAR, 1, [Use loadable XGL modules])
    
    	xglmoduledir="$moduledir/xgl"
    	AC_SUBST([xglmoduledir])
    	AC_DEFINE_DIR(XGL_MODULE_PATH, xglmoduledir, [Default XGL module search path])
    fi
    
    dnl Xegl DDX
    
    AC_MSG_CHECKING([whether to build Xegl DDX])
    if test "x$XEGL" != xno; then
      PKG_CHECK_MODULES([XGLMODULES], [glitz-glx >= 0.4.3], [XEGL=yes], [XEGL=no])
      AC_SUBST(XEGLMODULES_CFLAGS)
      AC_SUBST(XEGLMODULES_LIBS)
    fi
    AC_MSG_RESULT([$XEGL])
    AM_CONDITIONAL(XEGL, [test "x$XEGL" = xyes])
    
    if test "x$XEGL" = xyes; then
    	XEGL_LIBS="$FB_LIB $MI_LIB $COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $MIEXT_LAYER_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB"
    	AC_SUBST([XEGL_LIBS])
    fi
    
    dnl Xglx DDX
    
    AC_MSG_CHECKING([whether to build Xglx DDX])
    if test "x$XGLX" != xno; then
      PKG_CHECK_MODULES([XGLXMODULES], [glitz-glx >= 0.4.3 xrender], [XGLX=yes], [XGLX=no])
      AC_SUBST(XGLXMODULES_CFLAGS)
      AC_SUBST(XGLXMODULES_LIBS)
    fi
    AC_MSG_RESULT([$XGLX])
    AM_CONDITIONAL(XGLX, [test "x$XGLX" = xyes])
    
    if test "x$XGLX" = xyes; then
    	XGLX_LIBS="$FB_LIB $MI_LIB $COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $MIEXT_LAYER_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB"
    	AC_SUBST([XGLX_LIBS])
    fi
    
    # XORG_CORE_LIBS is needed even if you're not building the Xorg DDX
    XORG_CORE_LIBS="$DIX_LIB"
    AC_SUBST([XORG_CORE_LIBS])
    
    xorg_bus_linuxpci=no
    xorg_bus_freebsdpci=no
    xorg_bus_netbsdpci=no
    xorg_bus_ix86pci=no
    xorg_bus_ppcpci=no
    xorg_bus_sparcpci=no
    xorg_bus_sparc=no
    
    if test "x$XORG" = xyes -o "x$XGL" = 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 $MI_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XPSTUBS_LIB $OS_LIB"
    
    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], XORG_LIBS="$XORG_LIBS -ldl"))
    
    	case $host_os in
    	  linux*)
    		if test "x$LNXAPM" = xyes; then
    			XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
    		fi
    	  	XORG_OS="linux"
    		XORG_OS_SUBDIR="linux"
    		XORG_OS_KBD="Lnx"
    		xorg_bus_linuxpci="yes"
    		linux_acpi="no"
    		case $host_cpu in
    		  ia64*)
    			linux_ia64=yes
    			linux_acpi="yes"
    			;;
    		  alpha*)
    		  	linux_alpha=yes
    			XORG_OS_PCI="axp"
    			xorg_bus_linuxpci="no"
    			;;
    		  i*86|amd64*|x86_64*)
    			linux_acpi="yes"
    			;;
    		  *)
    			;;
    		esac
    
    		# check whether struct kbd_repeat has the 'period' field.
    		# on kernels < 2.5.42 it's called 'rate' instead.
    		AC_TRY_COMPILE([
    #include <linux/kd.h>
    ],[
    int main () { 
    	struct kbd_repeat k;
    	k.period = 0;
    	return 0;
    }],
    		[period_field="period"],
    		[period_field="rate"])
    		AC_DEFINE_UNQUOTED(LNX_KBD_PERIOD_NAME, [$period_field],
    		                   [Name of the period field in struct kbd_repeat])
    		;;
    	  freebsd* | kfreebsd*-gnu)
    	  	XORG_OS="freebsd"
    		XORG_OS_SUBDIR="bsd"
    		XORG_OS_KBD="BSD"
    		case $host_cpu in
    		  i*86)
    			;;
    		  *)
    			xorg_bus_freebsdpci="yes"
    			;;
    		esac
    		;;
    	  netbsd*)
    	  	XORG_OS="netbsd"
    		XORG_OS_SUBDIR="bsd"
    		XORG_OS_KBD="BSD"
    		case $host_cpu in
    		  i*86|amd64*|x86_64*|ia64*)
    			;;
    		  *)
    			xorg_bus_netbsdpci="yes"
    			;;
    		esac
    		;;
    	  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="openbsd"
    		XORG_OS_SUBDIR="bsd"
    		XORG_OS_KBD="BSD"
    		case $host_cpu in
    		  amd64*|x86_64*)
    			;;
    		  *)
    			xorg_bus_freebsdpci="yes"
    			;;
    		esac
    		;;
    	  solaris*)
    	  	XORG_OS="solaris"
    		XORG_OS_SUBDIR="solaris"
    		# This really should be tests for specific features, but the #ifdef's
    		# were done as a simple version check in XFree86 4.x and haven't been 
    		# fixed yet
    		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}" -ge 8 ; then
    			AC_DEFINE(__SOL8__,1,[Solaris 8 or later])
    		fi
    		AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
    		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
    			if test "${OS_MINOR}" -lt 8 ; then
    				solaris_usl_console="yes"
    			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="gnu"
    		XORG_OS_SUBDIR="hurd"
    		;;
    	  *)
    	  	XORG_OS="unknown"
    		XORG_OS_SUBDIR="unknown"
    		AC_MSG_ERROR([Your OS is unknown. Xorg currently only supports Linux, \
    		Free/Open/NetBSD, Solaris, and OS X. If you are interested in porting \
    	        Xorg to your platform, please email xorg@lists.freedesktop.org.])
    		;;
    	esac
    
    	case $host_cpu in
    	  i*86)
    		xorg_bus_ix86pci=yes
    		;;
    	  powerpc*)
    		case $host_os in
    		  linux*|freebsd*|netbsd*|openbsd*|kfreebsd*-gnu)
    			;;
    		  *)
    			xorg_bus_ppcpci="yes"
    			;;
    		esac
    		;;
    	  sparc*)
    		xorg_bus_sparcpci="yes"
    		case $host_os in
    		  openbsd*)
    		    xorg_bus_sparc="no"
    		    ;;
    		  *)
    		    xorg_bus_sparc="yes"
    		    ;;
    		esac
    		;;
    	  x86_64*|amd64*)
    		case $host_os in
    		  freebsd*|kfreebsd*-gnu)
    			# FreeBSD uses the system pci interface
    			;;
    		  *)
    			xorg_bus_ix86pci="yes"
    			;;
    		esac
    		;;
    	esac
    
    	if test "x$XORG_OS_PCI" = x ; then
    		XORG_OS_PCI=$XORG_OS
    	fi
    	AC_SUBST([XORG_LIBS])
    	AC_SUBST([XORG_INCS])
    	AC_SUBST([XORG_OS])
    	AC_SUBST([XORG_OS_SUBDIR])
    	AC_SUBST([XORG_OS_KBD])
    
    	dnl only used in hw/xfree86/scanpci, TTBOMK
    	AC_PATH_PROG(PERL, perl, no)
    	dnl unlikely as this may be ...
    	if test "x$PERL" = xno; then
    		AC_MSG_ERROR([Perl is required to build the XFree86/Xorg DDX.])
    	fi
    	AC_SUBST(PERL)
    
    	# The Xorg binary needs to export symbols so that they can be used from modules
    	# Some platforms require extra flags to do this.   gcc should set these flags
    	# when -rdynamic is passed to it, other compilers/linkers may need to be added
    	# here.
    	if test "x$GCC" = "xyes"; then
    		GCC_WARNINGS1="-Wall -Wpointer-arith -Wstrict-prototypes"
    		GCC_WARNINGS2="-Wmissing-prototypes -Wmissing-declarations"
    		GCC_WARNINGS3="-Wnested-externs -fno-strict-aliasing"
    		GCC_WARNINGS="$GCC_WARNINGS1 $GCC_WARNINGS2 $GCC_WARNINGS3"
    		if test "x$WERROR" = "xyes"; then
    			GCC_WARNINGS="${GCC_WARNINGS} -Werror"
    		fi
    		XSERVER_CFLAGS="$GCC_WARNINGS $XSERVER_CFLAGS"
    		LD_EXPORT_SYMBOLS_FLAG="-rdynamic"
    	fi
    	case $host_os in
    		openbsd*)
    		LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-dynamic"
    		;;
    	esac
    	AC_SUBST([XORG_CFLAGS])
    	AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
    
    	dnl these only go in xorg-config.h
    	XF86CONFIGFILE="xorg.conf"
    	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(WITH_VGAHW, 1, [Building vgahw module])
    	AC_DEFINE(DRIVERS, {}, [Built-in output drivers (none)])
    	AC_DEFINE(IDRIVERS, {}, [Built-in input drivers (none)])
    	AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE, [Name of configuration file])
    	AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
    	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])
    
    	driverdir="$moduledir/drivers"
    	AC_SUBST([moduledir])
    	AC_SUBST([driverdir])
    	sdkdir="$includedir/xorg"
    	extdir="$includedir/X11/extensions"
    	AC_SUBST([sdkdir])
    	AC_SUBST([extdir])
    	AC_SUBST([logdir])
    fi
    AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
    AM_CONDITIONAL([XORG_BUS_LINUXPCI], [test "x$xorg_bus_linuxpci" = xyes])
    AM_CONDITIONAL([XORG_BUS_FREEBSDPCI], [test "x$xorg_bus_freebsdpci" = xyes])
    AM_CONDITIONAL([XORG_BUS_NETBSDPCI], [test "x$xorg_bus_netbsdpci" = xyes])
    AM_CONDITIONAL([XORG_BUS_IX86PCI], [test "x$xorg_bus_ix86pci" = xyes])
    AM_CONDITIONAL([XORG_BUS_PPCPCI], [test "x$xorg_bus_ppcpci" = xyes])
    AM_CONDITIONAL([XORG_BUS_SPARCPCI], [test "x$xorg_bus_sparcpci" = xyes])
    AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
    AM_CONDITIONAL([XORG_LOADER_SPARC], [test "x$xorg_loader_sparcmuldiv" = xyes])
    AM_CONDITIONAL([LINUX_IA64], [test "x$linux_ia64" = xyes])
    AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes])
    AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
    AM_CONDITIONAL([SOLARIS_USL_CONSOLE], [test "x$solaris_usl_console" = xyes])
    AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes])
    AM_CONDITIONAL(MFB, [test "x$XORG" = xyes])
    AM_CONDITIONAL(CFB, [test "x$XORG" = xyes])
    AM_CONDITIONAL(AFB, [test "x$XORG" = xyes])
    
    dnl Xprint DDX
    
    AC_MSG_CHECKING([whether to build Xprint DDX])
    AC_MSG_RESULT([$XPRINT])
    
    if test "x$XPRINT" = xyes; then
    	PKG_CHECK_MODULES([XPRINT], [printproto x11 xfont $XDMCP_MODULES xau])
    	XPRINT_EXTENSIONS="$XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $RENDER_LIB $COMPOSITE_LIB $RANDR_LIB $XI_LIB $FIXES_LIB $DAMAGE_LIB $XI_LIB $GLX_LIBS"
    	XPRINT_LIBS="$XPRINT_LIBS $DIX_LIB $XKB_LIB $XKB_STUB_LIB $XPRINT_EXTENSIONS $MI_LIB $MIEXT_DAMAGE_LIB $CWRAP_LIB $OS_LIB"
    	AC_SUBST([XPRINT_CFLAGS])
    	AC_SUBST([XPRINT_LIBS])
    
    	xpconfigdir=$datadir/X11/xserver
    	AC_SUBST([xpconfigdir])
    
    	AC_PATH_PROG(MKFONTSCALE, mkfontscale)
    	AC_PATH_PROG(MKFONTDIR, mkfontdir)
    	
            # freetype support code borrowed from lib/XFont
            if test x$XP_USE_FREETYPE = xyes; then
                AC_DEFINE(XP_USE_FREETYPE,1,[Support FreeType rasterizer in Xprint for nearly all font file formats])
    
                if test "$freetype_config" = "auto" ; then
                    PKG_CHECK_MODULES(FREETYPE, freetype2,
                            freetype_config=no, freetype_config=yes)
                fi
    
                if test "$freetype_config" = "yes"; then
                    AC_PATH_PROG(ft_config,freetype-config,no)
                    if test "$ft_config" = "no"; then
                            AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/])
                    fi
                else
                    ft_config="$freetype_config"
                fi
    
                if test "$freetype_config" != "no"; then
                    FREETYPE_CFLAGS="`$ft_config --cflags`"
                    FREETYPE_LIBS="`$ft_config --libs`"
                fi
                FREETYPE_REQUIRES="freetype2"
            else
                FREETYPE_CFLAGS=""
                FREETYPE_LIBS=""
                FREETYPE_REQUIRES=""
            fi
            AC_SUBST(FREETYPE_LIBS)
            AC_SUBST(FREETYPE_CFLAGS)
            AC_SUBST(FREETYPE_REQUIRES)
    	# end freetype support
    fi
    AM_CONDITIONAL(XP_USE_FREETYPE, [test "x$XPRINT" = xyes && test "x$XP_USE_FREETYPE" = 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
    	XWIN_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $XPSTUBS_LIB $OS_LIB $SHADOW_LIB"
    	AC_SUBST([XWIN_LIBS])
    fi
    AC_MSG_RESULT([$XWIN])
    
    if test "x$XWIN" = xyes; then
    	XWIN_SERVER_NAME=XWin
    	case $host_os in
    		cygwin*)
    			PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfont])
    			AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages])
    			AC_DEFINE(ROOTLESS,1,[Build Rootless code])
    			CFLAGS="$CFLAGS -DFD_SETSIZE=256"
    			;;
    		mingw*)
    			PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfont])
    			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_SYSTEM_LIBS=-lwinsock2
    			;;
    	esac
    	AC_SUBST(XWIN_SERVER_NAME)
    	AC_SUBST(XWIN_SYSTEM_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(DDXOSINIT, 1, [Use OsVendorInit])
    	AC_DEFINE(DDXTIME, 1, [Use GetTimeInMillis])
    	AC_DEFINE(DDXOSFATALERROR, 1, [Use OsVendorFatalError])
    	AC_DEFINE(DDXOSVERRORF, 1, [Use OsVendorVErrorF])
    	AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
    	if test "x$XF86VIDMODE" = xyes; then
    		AC_MSG_NOTICE([Disabling XF86VidMode extension])
    		XF86VIDMODE=no
    	fi
    	if test "x$XF86MISC" = xyes; then
    		AC_MSG_NOTICE([Disabling XF86Misc extension])
    		XF86MISC=no
    	fi
    	if test "x$COMPOSITE" = xyes; then
    		AC_MSG_NOTICE([Disabling Composite extension])
    		COMPOSITE=no
    	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 && false])
    AM_CONDITIONAL(XWIN_CLIPBOARD, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && false])
    AM_CONDITIONAL(XWIN_NATIVEGDI, [test "x$XWIN" = xyes && false])
    AM_CONDITIONAL(XWIN_PRIMARYFB, [test "x$XWIN" = xyes && false])
    AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
    AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])
    
    
    dnl kdrive DDX
    
    XEYPHR_LIBS=
    XEPHYR_INCS=
    XSDL_LIBS=
    XSDL_INCS=
    XSDL_DIRS=
    
    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([sys/vm86.h sys/io.h])
        if test "$ac_cv_header_sys_vm86_h" = yes; then
            AC_DEFINE(KDRIVEVESA, 1, [Build VESA-based kdrive servers])
        fi
    
        AC_CHECK_HEADERS([linux/fb.h])
        if test "$ac_cv_header_linux_fb_h" = yes; then
            AC_DEFINE(KDRIVEFBDEV, 1, [Build fbdev-based kdrive server])
        fi
        
        # tslib...
        if test "x$TSLIB" = xyes; then
            PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
            if test "x$HAVE_TSLIB" = xno; then
                AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
            fi
            AC_DEFINE(TSLIB, 1, [Have tslib support])
        fi
    
        # damage shadow extension glx (NOTYET) fb mi
        KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
        KDRIVE_PURE_INCS="$KDRIVE_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"
    
        # dix os fb mi extension glx (NOTYET) damage shadow xpstubs
        #KDRIVE_PURE_LIBS="$DIX_LIB $OS_LIB $FB_LIB $XEXT_LIB $MIEXT_DAMAGE_LIB \
        #    $MIEXT_SHADOW_LIB $XPSTUBS_LIB"
        KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB"
        KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a'
        case $host_os in
    	*linux*)
    	    KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a'
                KDRIVELINUX=yes
    	    ;;
    	*openbsd*)
    	    KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/openbsd/libopenbsd.a'
    	    KDRIVEOPENBSD=yes
    	    ;;
        esac
        KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
        KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB $TSLIB_LIBS"
    
        # check if we can build Xephyr
        PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"])
        
        # check for SDL SDK
        AC_CHECK_HEADERS([SDL/SDL.h])
        if test "x$XSDL" = xauto; then
            XSDL="$ac_cv_header_SDL_SDL_h"
        fi
    fi
    AC_SUBST(KDRIVE_INCS)
    AC_SUBST(KDRIVE_PURE_INCS)
    AC_SUBST(KDRIVE_CFLAGS)
    AC_SUBST(KDRIVE_PURE_LIBS)
    AC_SUBST(KDRIVE_LIBS)
    AM_CONDITIONAL(KDRIVELINUX, [test "x$KDRIVELINUX" = xyes])
    AM_CONDITIONAL(KDRIVEOPENBSD, [test "x$KDRIVEOPENBSD" = xyes])
    AM_CONDITIONAL(TSLIB, [test "x$HAVE_TSLIB" = xyes])
    AM_CONDITIONAL(H3600_TS, false)
    AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
    AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
    AM_CONDITIONAL(KDRIVEWSCONS, [test x"$ac_cv_header_dev_wscons_wsconsio_h" = xyes])
    
    # Xephyr needs nanosleep() which is in librt on Solaris
    AC_CHECK_FUNC([nanosleep], [],
    	AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
    
    AM_CONDITIONAL(XEPHYR, [test x"$xephyr" = xyes])
    XEPHYR_LIBS="$XEPHYR_LIBS $XSERVER_LIBS"
    AC_SUBST([XEPHYR_LIBS])
    AC_SUBST([XEPHYR_INCS])
    
    if test x"$XSDL" = xyes; then
        AC_DEFINE(XSDLSERVER,,[Build Xsdl server])
        XSDL_LIBS="`sdl-config --libs` $XSERVER_LIBS"
        XSDL_INCS="`sdl-config --cflags` $XSERVER_CFLAGS"
    fi
    AM_CONDITIONAL(XSDLSERVER, [test x"$XSDL" = xyes])
    AC_SUBST([XSDL_LIBS])
    AC_SUBST([XSDL_INCS])
    
    
    dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers)
    AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules])
    AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
    AC_DEFINE_DIR(XKB_BIN_DIRECTORY, bindir, [Path to XKB bin dir])
    
    # Make sure XKM_OUTPUT_DIR is an absolute path
    
    XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
    
    if [[ x$XKBOUTPUT_FIRSTCHAR != x/ ]] ; then
       XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
    fi
    
    # XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
    # 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)
    
    dnl and the rest of these are generic, so they're in config.h
    AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
    AC_DEFINE(XResExtension, 1, [Build XRes extension])
    
    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])
    
    dnl xorgconfig CLI configuration utility
    PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11])
    AC_SUBST(XORGCONFIG_DEP_CFLAGS)
    AC_SUBST(XORGCONFIG_DEP_LIBS)
    
    dnl xorgcfg GUI configuration utility
    AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], 
    	[Build xorgcfg GUI configuration utility (default: yes)]),
    	[XORGCFG=$enableval],[XORGCFG=yes])
    if test x$XORGCFG = xyes ; then
    	PKG_CHECK_MODULES([XORGCFG_DEP], 
    	    [xkbui >= 1.0.2 xkbfile xxf86misc xxf86vm xaw7 xmu xt xpm xext x11])
    	AC_CHECK_LIB([curses],[waddstr],
    	    [XORGCFG_DEP_LIBS="$XORGCFG_DEP_LIBS -lcurses"; CURSES=yes],
    	    AC_CHECK_LIB([ncurses],[waddstr],
    		[XORGCFG_DEP_LIBS="$XORGCFG_DEP_LIBS -lncurses" ; CURSES=yes],
    		[CURSES=no]))
    	AC_SUBST(XORGCFG_DEP_CFLAGS)
    	AC_SUBST(XORGCFG_DEP_LIBS)
    
    	APPDEFAULTDIR=$(pkg-config --variable=appdefaultdir xt)
    	AC_SUBST(APPDEFAULTDIR)
    fi
    AM_CONDITIONAL(BUILD_XORGCFG, [test x$XORGCFG = xyes])
    AM_CONDITIONAL(USE_CURSES, [test x$CURSES = xyes])
    
    AC_ARG_ENABLE(kbd_mode, AS_HELP_STRING([--enable-kbd_mode],
    	[Build kbd_mode utility (default: auto)]),
    	[BUILD_KBD_MODE=$enable_val], [BUILD_KBD_MODE="auto"])
    if test x$BUILD_KBD_MODE != xno ; then
    	case $host_os in
    	  *bsd*)
    		KBD_MODE_TYPE="bsd"
    #		BUILD_KBD_MODE="yes"  # need to test on BSD before enabling
    				      # by default
    		;;
    	  solaris*)
    		KBD_MODE_TYPE="sun"
    		BUILD_KBD_MODE="yes"  # enabled by default
    		;;
    	  *)
    		BUILD_KBD_MODE="no"   # disabled by default
    		;;
    	esac
    fi
    AM_CONDITIONAL(BUILD_KBD_MODE, [test x$BUILD_KBD_MODE = xyes])
    AM_CONDITIONAL(BSD_KBD_MODE, [test x$KBD_MODE_TYPE = xbsd])
    AM_CONDITIONAL(SUN_KBD_MODE, [test x$KBD_MODE_TYPE = xsun])
    
    CFLAGS="$XSERVER_CFLAGS $CFLAGS"
    AC_SUBST([CFLAGS])
    
    BUILD_DATE="$(date +'%Y%m%d')"
    AC_SUBST([BUILD_DATE])
    
    DIX_CFLAGS="-DHAVE_DIX_CONFIG_H"
    AC_SUBST([DIX_CFLAGS])
    
    AC_SUBST([libdir exec_prefix prefix])
    
    # Man page sections - used in config utils & generating man pages
    XORG_MANPAGE_SECTIONS
    
    # XORG in this case refers to the roll-up releases, not the Xorg DDX.
    XORG_RELEASE_VERSION
    
    AC_OUTPUT([
    Makefile
    GL/Makefile
    GL/glx/Makefile
    GL/mesa/Makefile
    GL/mesa/array_cache/Makefile
    GL/mesa/glapi/Makefile
    GL/mesa/main/Makefile
    GL/mesa/math/Makefile
    GL/mesa/shader/Makefile
    GL/mesa/shader/grammar/Makefile
    GL/mesa/shader/slang/Makefile
    GL/mesa/swrast/Makefile
    GL/mesa/swrast_setup/Makefile
    GL/mesa/tnl/Makefile
    GL/mesa/X/Makefile
    include/Makefile
    afb/Makefile
    composite/Makefile
    damageext/Makefile
    dbe/Makefile
    dix/Makefile
    doc/Makefile
    fb/Makefile
    record/Makefile
    XTrap/Makefile
    mfb/Makefile
    cfb/Makefile
    cfb32/Makefile
    mi/Makefile
    miext/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/doc/devel/Makefile
    hw/xfree86/doc/man/Makefile
    hw/xfree86/doc/sgml/Makefile
    hw/xfree86/dri/Makefile
    hw/xfree86/dummylib/Makefile
    hw/xfree86/exa/Makefile
    hw/xfree86/fbdevhw/Makefile
    hw/xfree86/i2c/Makefile
    hw/xfree86/int10/Makefile
    hw/xfree86/loader/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/lynxos/Makefile
    hw/xfree86/os-support/sco/Makefile
    hw/xfree86/os-support/solaris/Makefile
    hw/xfree86/os-support/sysv/Makefile
    hw/xfree86/os-support/usl/Makefile
    hw/xfree86/parser/Makefile
    hw/xfree86/rac/Makefile
    hw/xfree86/ramdac/Makefile
    hw/xfree86/scanpci/Makefile
    hw/xfree86/shadowfb/Makefile
    hw/xfree86/vbe/Makefile
    hw/xfree86/vgahw/Makefile
    hw/xfree86/x86emu/Makefile
    hw/xfree86/xaa/Makefile
    hw/xfree86/xf1bpp/Makefile
    hw/xfree86/xf4bpp/Makefile
    hw/xfree86/xf8_16bpp/Makefile
    hw/xfree86/xf8_32bpp/Makefile
    hw/xfree86/utils/Makefile
    hw/xfree86/utils/cvt/Makefile
    hw/xfree86/utils/gtf/Makefile
    hw/xfree86/utils/ioport/Makefile
    hw/xfree86/utils/kbd_mode/Makefile
    hw/xfree86/utils/pcitweak/Makefile
    hw/xfree86/utils/scanpci/Makefile
    hw/xfree86/utils/xorgcfg/Makefile
    hw/xfree86/utils/xorgconfig/Makefile
    hw/dmx/config/Makefile
    hw/dmx/doc/Makefile
    hw/dmx/examples/Makefile
    hw/dmx/input/Makefile
    hw/dmx/glxProxy/Makefile
    hw/dmx/Makefile
    hw/vfb/Makefile
    hw/xgl/Makefile
    hw/xgl/egl/Makefile
    hw/xgl/egl/module/Makefile
    hw/xgl/glx/Makefile
    hw/xgl/glx/module/Makefile
    hw/xgl/glxext/Makefile
    hw/xgl/glxext/module/Makefile
    hw/xnest/Makefile
    hw/xwin/Makefile
    hw/darwin/Makefile
    hw/kdrive/Makefile
    hw/kdrive/ati/Makefile
    hw/kdrive/chips/Makefile
    hw/kdrive/ephyr/Makefile
    hw/kdrive/epson/Makefile
    hw/kdrive/fake/Makefile
    hw/kdrive/fbdev/Makefile
    hw/kdrive/i810/Makefile
    hw/kdrive/linux/Makefile
    hw/kdrive/mach64/Makefile
    hw/kdrive/mga/Makefile
    hw/kdrive/neomagic/Makefile
    hw/kdrive/nvidia/Makefile
    hw/kdrive/openbsd/Makefile
    hw/kdrive/pm2/Makefile
    hw/kdrive/r128/Makefile
    hw/kdrive/sdl/Makefile
    hw/kdrive/sis300/Makefile
    hw/kdrive/smi/Makefile
    hw/kdrive/src/Makefile
    hw/kdrive/vesa/Makefile
    hw/kdrive/via/Makefile
    hw/kdrive/wscons/Makefile
    hw/xprint/Makefile
    hw/xprint/doc/Makefile
    hw/xprint/pcl/Makefile
    hw/xprint/pcl-mono/Makefile
    hw/xprint/raster/Makefile
    hw/xprint/ps/Makefile
    hw/xprint/etc/Makefile
    hw/xprint/etc/Xsession.d/Makefile
    hw/xprint/etc/init.d/Makefile
    hw/xprint/etc/profile.d/Makefile
    hw/xprint/config/Makefile
    hw/xprint/config/C/print/attributes/Makefile
    hw/xprint/config/C/print/ddx-config/Makefile
    hw/xprint/config/C/print/ddx-config/raster/Makefile
    hw/xprint/config/C/print/models/CANONBJ10E-GS/Makefile
    hw/xprint/config/C/print/models/PSdefault/fonts/Makefile
    hw/xprint/config/C/print/models/PSdefault/Makefile
    hw/xprint/config/C/print/models/PSspooldir/Makefile
    hw/xprint/config/C/print/models/SPSPARC2/Makefile
    hw/xprint/config/C/print/models/SPSPARC2/fonts/Makefile
    hw/xprint/config/C/print/models/GSdefault/Makefile
    hw/xprint/config/C/print/models/HPLJ4050-PS/Makefile
    hw/xprint/config/C/print/models/HPLJ4050-PS/fonts/Makefile
    hw/xprint/config/C/print/models/Makefile
    hw/xprint/config/C/print/models/PS2PDFspooldir-GS/Makefile
    hw/xprint/config/C/print/models/CANONC3200-PS/Makefile
    hw/xprint/config/C/print/models/CANONC3200-PS/fonts/Makefile
    hw/xprint/config/C/print/models/HPLJ4family/fonts/Makefile
    hw/xprint/config/C/print/models/HPLJ4family/Makefile
    hw/xprint/config/C/print/models/HPDJ1600C/Makefile
    hw/xprint/config/C/print/models/HPDJ1600C/fonts/Makefile
    hw/xprint/config/C/print/Makefile
    hw/xprint/config/C/Makefile
    hw/xprint/config/en_US/print/attributes/Makefile
    hw/xprint/config/en_US/print/Makefile
    hw/xprint/config/en_US/Makefile
    xorg-server.pc
    ])