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 dnl Daniel Stone dnl an unwitting cast of miscellaneous others dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) AC_INIT([xorg-server], 1.5.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) RELEASE_DATE="10 October 2008" 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 AC_SYS_LARGEFILE XORG_PROG_RAWCPP dnl Check for dtrace program (needed to build Xserver dtrace probes) dnl Also checks for , 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]) dnl Darwin 9 has dtrace, but it doesn't support compilation into ELF... if test "x$WDTRACE" = xauto; then case $host_os in darwin*) WDTRACE="no" ;; esac fi 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.]) fi AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"]) 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 # Checks for headers/macros for byte swapping # Known variants: # bswap_16, bswap_32, bswap_64 (glibc) # __swap16, __swap32, __swap64 (OpenBSD) # bswap16, bswap32, bswap64 (other BSD's) # and a fallback to local macros if none of the above are found # if is found, assume it's the correct version AC_CHECK_HEADERS([byteswap.h]) # if 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 byteswapping macros]) AC_LINK_IFELSE([AC_LANG_PROGRAM([ #include ], [ 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 byteswapping macros]) AC_LINK_IFELSE([AC_LANG_PROGRAM([ #include ], [ 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 ]) 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")) case $host_os in linux*) AC_DEFINE(HAVE_URANDOM, 1, [Has /dev/urandom]) ;; solaris*) # Solaris 8 with patches, or Solaris 9 or later have /dev/urandom if test -r /dev/urandom ; then AC_DEFINE(HAVE_URANDOM, 1, [Has /dev/urandom]) fi ;; *) ;; esac 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 getzoneid shmctl64 strcasestr]) 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]) AC_CHECK_FUNC([strlcpy], AC_DEFINE(HAS_STRLCPY, 1, [Have the 'strlcpy' function])) 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_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT, 1, [Have the 'cbrt' function])) 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 ]) 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 #include #include ],[ { 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 *linux*) DEFAULT_INT10=vm86 ;; *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*) xorg_loader_sparcmuldiv="yes" 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" ;; 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 DRI2=no KDRIVE_HW=no 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 DRI2=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 DRI2=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 DRI2=yes KDRIVE_HW=yes ;; *solaris*) PKG_CHECK_EXISTS(libdrm, DRI=yes, DRI=no) ;; esac AM_CONDITIONAL(KDRIVE_HW, test "x$KDRIVE_HW" = xyes) XORG_RELEASE_VERSION 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` 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], [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-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" ] [ ]) 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/" case $host_os in darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; esac 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(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(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto]) AC_ARG_WITH(launchagents-dir,AS_HELP_STRING([--with-launchagents-dir=PATH], [Path to launchd's LaunchAgents directory (default: /Library/LaunchAgents)]), [ launchagentsdir="${withval}" ], [ launchagentsdir="/Library/LaunchAgents" ]) AC_SUBST([launchagentsdir]) 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]) AC_ARG_ENABLE(builtin-fonts, AS_HELP_STRING([--enable-builtin-fonts], [Use only built-in fonts (default: use external)]), [BUILTIN_FONTS=$enableval], [BUILTIN_FONTS=no]) AC_ARG_ENABLE(null-root-cursor, AS_HELP_STRING([--enable-null-root-cursor], [Use an empty root cursor (default: use core cursor)]), [NULL_ROOT_CURSOR=$enableval], [NULL_ROOT_CURSOR=no]) dnl GLX build options 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(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(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]) 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-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([--enable-xtrap], [Build XTrap extension (default: no)]), [XTRAP=$enableval], [XTRAP=no]) AC_ARG_ENABLE(record, AS_HELP_STRING([--disable-record], [Build Record extension (default: disabled)]), [RECORD=$enableval], [RECORD=no]) 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: no)]), [DRI2=$enableval], [DRI2=no]) 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(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: auto)]), [XF86MISC=$enableval], [XF86MISC=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([--disable-xselinux], [Build SELinux extension (default: disabled)]), [XSELINUX=$enableval], [XSELINUX=no]) AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: disabled)]), [XCSECURITY=$enableval], [XCSECURITY=no]) AC_ARG_ENABLE(appgroup, AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: disabled)]), [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=auto]) AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes]) 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(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: no)]), [DMX=$enableval], [DMX=no]) 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(x11app, AS_HELP_STRING([--enable-x11app], [Build Apple's X11.app for Xquartz (default: auto)]), [X11APP=$enableval], [X11APP=auto]) AC_ARG_WITH(x11app-archs, AS_HELP_STRING([--with-x11app-archs=ARCHS], [Architectures to build X11.app for, space delimeted (default: "ppc i386")]), [X11APP_ARCHS=$enableval], [X11APP_ARCHS="ppc i386"]) AC_SUBST([X11APP_ARCHS]) 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: no)]), [XPRINT=$enableval], [XPRINT=no]) 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 legacy fb support AC_ARG_ENABLE(mfb, AS_HELP_STRING([--enable-mfb], [Build legacy mono framebuffer support (default: enabled)]), [MFB=$enableval], [MFB=$XORG]) AC_ARG_ENABLE(cfb, AS_HELP_STRING([--enable-cfb], [Build legacy color framebuffer support (default: enabled)]), [CFB=$enableval], [CFB=$XORG]) AC_ARG_ENABLE(afb, AS_HELP_STRING([--enable-afb], [Build legacy advanced framebuffer support (default: enabled)]), [AFB=$enableval], [AFB=$XORG]) 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]) 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]) AC_ARG_ENABLE(kdrive-vesa, AS_HELP_STRING([--enable-kdrive-vesa], [Build the kdrive VESA-based servers (default: auto)]), [KDRIVEVESA=$enableval], [KDRIVEVESA=auto]) dnl xprint AC_ARG_ENABLE(freetype, AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: no)]), [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(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]) 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. # Require updated renderproto for ABI sanity if we're 64-bit. if test "$ac_cv_sizeof_unsigned_long" = 8; then RENDERPROTO="[renderproto >= 0.9.3]" else RENDERPROTO="renderproto" fi REQUIRED_MODULES="[randrproto >= 1.2] $RENDERPROTO [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto [xproto >= 7.0.9] xtrans [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto [inputproto >= 1.4.4] [kbproto >= 1.0.3]" REQUIRED_LIBS="xfont xau fontenc [pixman-1 >= 0.9.5]" 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, dbus-1, [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]) 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]) REQUIRED_LIBS="$REQUIRED_LIBS hal" NEED_DBUS="yes" fi AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes]) if test "x$NEED_DBUS" = xyes; then REQUIRED_LIBS="$REQUIRED_LIBS dbus-1" fi CONFIG_LIB='$(top_builddir)/config/libconfig.a' AC_MSG_CHECKING([for glibc...]) AC_PREPROC_IFELSE([ #include #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([ #include 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" 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 >= 0.4]" 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; then PKG_CHECK_MODULES([XLIB], [x11]) PKG_CHECK_MODULES([GL], [glproto >= 1.4.9 gl >= 7.1.0]) AC_SUBST(XLIB_CFLAGS) AC_DEFINE(GLXEXT, 1, [Build GLX extension]) GLX_LIBS='$(top_builddir)/glx/libglx.la' GLX_SYS_LIBS="$GLX_SYS_LIBS $DLOPEN_LIBS" 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_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], [xf86driproto]) PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.3.0]) PKG_CHECK_MODULES([GL], [glproto >= 1.4.1 gl >= 7.1.0]) PKG_CHECK_EXISTS(libdrm >= 2.2.0, [AC_DEFINE([HAVE_LIBDRM_2_2], 1, [Has version 2.2 (or newer) of the drm library])]) AC_SUBST(DRIPROTO_CFLAGS) AC_SUBST(LIBDRM_CFLAGS) AC_SUBST(LIBDRM_LIBS) AC_SUBST(GL_CFLAGS) fi AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes) if test "x$DRI2" = xyes; then # FIXME: Bump the versions once we have releases of these. AC_DEFINE(DRI2, 1, [Build DRI2 extension]) PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= 1.1]) PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.3.2]) 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(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([selinux/selinux.h selinux/avc.h], [], AC_MSG_ERROR([SELinux include files not found])) AC_CHECK_LIB(selinux, avc_init, [], AC_MSG_ERROR([SELinux library not found])) 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])) AC_DEFINE(XSELINUX, 1, [Build SELinux extension]) SELINUX_LIB="-lselinux -laudit" 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$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$BUILTIN_FONTS" = xyes; then AC_DEFINE(BUILTIN_FONTS, 1, [Use only built-in fonts]) AC_DEFINE(NOFONTSERVERACCESS, 1, [Avoid using a font server]) FONTPATH="built-ins" 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' MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage' 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) 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'.])) AC_CHECK_FUNC(strncasecmp, [], AC_DEFINE([NEED_STRNCASECMP], 1, [Do not have 'strncasecmp'.])) AC_CHECK_FUNC(strcasestr, [], AC_DEFINE([NEED_STRCASESTR], 1, [Do not have 'strcasestr'.])) if test "x$NULL_ROOT_CURSOR" = xyes; then AC_DEFINE(NULL_ROOT_CURSOR, 1, [Use an empty root cursor]) fi 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(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path]) AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config 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_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]) AC_SUBST([VENDOR_NAME_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]) if test "x$DEBUGGING" = xyes; then AC_DEFINE(DEBUG, 1, [Enable debugging code]) else AC_DEFINE(NDEBUG, 1, [Disable some debugging code]) fi AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes]) 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]) if test "x$WDTRACE" != "xno" ; then DIX_LIB='$(top_builddir)/dix/dix.O' OS_LIB='$(top_builddir)/os/os.O' else DIX_LIB='$(top_builddir)/dix/libdix.la' OS_LIB='$(top_builddir)/os/libos.la' fi 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' 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]) # OpenSSL used for SHA1 hashing in render/glyph.c, but we don't need all of # the OpenSSL libraries, just libcrypto PKG_CHECK_EXISTS([openssl], [PKG_CHECK_MODULES([OPENSSL], [openssl], [OPENSSL_LIB_FLAGS=`$PKG_CONFIG --libs-only-L --libs-only-other openssl`])]) LIBCRYPTO="$OPENSSL_LIB_FLAGS -lcrypto" # 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 autotols 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="${XSERVERCFLAGS_CFLAGS} ${OPENSSL_CFLAGS}" XSERVER_LIBS="$DIX_LIB $CONFIG_LIB $MI_LIB $OS_LIB" XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS} ${LIBCRYPTO}" 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. 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*) 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_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC" AC_DEFINE_UNQUOTED(_X_BYTE_ORDER,[$ENDIAN],[Endian order]) AH_VERBATIM([X_BYTE_ORDER],[ /* Deal with multiple architecture compiles on Mac OS X */ #ifndef __APPLE_CC__ #define X_BYTE_ORDER _X_BYTE_ORDER #else #ifdef __BIG_ENDIAN__ #define X_BYTE_ORDER X_BIG_ENDIAN #else #define X_BYTE_ORDER X_LITTLE_ENDIAN #endif #endif ]) 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 $CONFIG_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" XVFB_SYS_LIBS="$XVFBMODULES_LIBS" AC_SUBST([XVFB_LIBS]) AC_SUBST([XVFB_SYS_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 $FIXES_LIB $MI_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 $DIX_LIB $OS_LIB $CONFIG_LIB" XNEST_SYS_LIBS="$XNESTMODULES_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]) 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) fi AC_MSG_RESULT([$XGL]) AM_CONDITIONAL(XGL, [test "x$XGL" = xyes]) if test "x$XGL" = xyes; then XGL_LIBS="$FB_LIB $COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $CONFIG_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" XGL_SYS_LIBS="$XGLMODULES_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS" AC_SUBST([XGL_LIBS]) AC_SUBST([XGL_SYS_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) fi AC_MSG_RESULT([$XEGL]) AM_CONDITIONAL(XEGL, [test "x$XEGL" = xyes]) if test "x$XEGL" = xyes; then XEGL_LIBS="$FB_LIB $COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $CONFIG_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" XEGL_SYS_LIBS = "$XEGL_SYS_LIBS $XEGLMODULES_LIBS $GLX_SYS_LIBS" AC_SUBST([XEGL_LIBS]) AC_SUBST([XEGL_SYS_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) fi AC_MSG_RESULT([$XGLX]) AM_CONDITIONAL(XGLX, [test "x$XGLX" = xyes]) if test "x$XGLX" = xyes; then XGLX_LIBS="$FB_LIB $COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $CONFIG_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" XGLX_SYS_LIBS="$XGLX_SYS_LIBS $XGLXMODULES_LIBS $GLX_SYS_LIBS" AC_SUBST([XGLX_LIBS]) AC_SUBST([XGLX_SYS_LIBS]) fi xorg_bus_linuxpci=no xorg_bus_bsdpci=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 $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XPSTUBS_LIB $SELINUX_LIB" PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0]) SAVE_LIBS=$LIBS SAVE_CFLAGS=$CFLAGS CFLAGS=$PCIACCESS_CFLAGS LIBS=$PCIACCESS_LIBS AC_CHECK_FUNCS([pci_system_init_dev_mem]) AC_CHECK_FUNCS([pci_device_enable]) LIBS=$SAVE_LIBS CFLAGS=$SAVE_CFLAGS XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $DLOPEN_LIBS $GLX_SYS_LIBS" XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" 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_bus_linuxpci="yes" linux_acpi="no" case $host_cpu in ia64*) linux_ia64=yes linux_acpi="yes" ;; alpha*) linux_alpha=yes ;; i*86|amd64*|x86_64*) linux_acpi="yes" ;; *) ;; esac ;; freebsd* | kfreebsd*-gnu | dragonfly*) XORG_OS="freebsd" XORG_OS_SUBDIR="bsd" xorg_bus_bsdpci="yes" ;; netbsd*) XORG_OS="netbsd" XORG_OS_SUBDIR="bsd" xorg_bus_bsdpci="yes" ;; 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_bus_bsdpci="yes" ;; 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" else XORG_CFLAGS="$XORG_CFLAGS -DXF86PM" 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 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 ;; i*86|x86_64*|amd64*) case $host_os in *bsd*|linux*) ;; *) xorg_bus_ix86pci="yes" ;; esac ;; esac if test "x$XORG_OS_PCI" = x ; then XORG_OS_PCI=$XORG_OS fi if test "x$DGA" = xauto; then PKG_CHECK_MODULES(DGA, xf86dgaproto, [DGA=yes], [DGA=no]) fi if test "x$DGA" = xyes; then XORG_MODULES="$XORG_MODULES xf86dgaproto" PKG_CHECK_MODULES(DGA, xf86dgaproto) AC_DEFINE(DGA, 1, [Support DGA extension]) AC_DEFINE(XFreeXDGA, 1, [Build XDGA support]) fi if test "x$XF86MISC" = xauto; then PKG_CHECK_MODULES(XF86MISC, xf86miscproto, [XF86MISC=yes], [XF86MISC=no]) fi if test "x$XF86MISC" = xyes; then XORG_MODULES="$XORG_MODULES xf86miscproto" PKG_CHECK_MODULES(XF86MISC, xf86miscproto) AC_DEFINE(XF86MISC, 1, [Support XFree86 miscellaneous extensions]) fi if test "x$XF86VIDMODE" = xauto; then PKG_CHECK_MODULES(XF86VIDMODE, xf86vidmodeproto, [XF86VIDMODE=yes], [XF86VIDMODE=no]) fi if test "x$XF86VIDMODE" = xyes; then XORG_MODULES="$XORG_MODULES xf86vidmodeproto" PKG_CHECK_MODULES(XF86VIDMODE, xf86vidmodeproto) 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]) AC_SUBST([XORG_OS_SUBDIR]) 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) AC_SUBST([XORG_CFLAGS]) 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_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]) AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation]) 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]) # 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` abi_font=`extract_abi FONT` AC_SUBST([abi_ansic]) AC_SUBST([abi_videodrv]) AC_SUBST([abi_xinput]) AC_SUBST([abi_extension]) AC_SUBST([abi_font]) fi AM_CONDITIONAL([XORG], [test "x$XORG" = xyes]) AM_CONDITIONAL([XORG_BUS_LINUXPCI], [test "x$xorg_bus_linuxpci" = xyes]) AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = 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([DGA], [test "x$DGA" = xyes]) AM_CONDITIONAL([XF86MISC], [test "x$XF86MISC" = xyes]) AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes]) dnl legacy fb support test "x$MFB" = xauto && MFB="$XORG" test "x$CFB" = xauto && CFB="$XORG" test "x$AFB" = xauto && AFB="$XORG" AM_CONDITIONAL(MFB, [test "x$MFB" = xyes]) AM_CONDITIONAL(CFB, [test "x$CFB" = xyes]) AM_CONDITIONAL(AFB, [test "x$AFB" = xyes]) if test "x$MFB" = xyes -o "x$CFB" = xyes -o "x$AFB" = xyes; then if test "x$XORG" != xyes; then AC_MSG_ERROR([legacy fb support requires the Xorg server]) fi fi dnl Xprint DDX AC_MSG_CHECKING([whether to build Xprint DDX]) AC_MSG_RESULT([$XPRINT]) if test "x$XPRINT" = xyes; then PKG_CHECK_MODULES([XPRINTMODULES], [printproto x11 xfont $XDMCP_MODULES xau]) XPRINT_CFLAGS="$XPRINTMODULES_CFLAGS -DXPRINT" XPRINT_LIBS="$XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $RENDER_LIB $COMPOSITE_LIB $RANDR_LIB $XI_LIB $FIXES_LIB $DAMAGE_LIB $XI_LIB $GLX_LIBS $MIEXT_DAMAGE_LIB $XKB_LIB $XKB_STUB_LIB" XPRINT_SYS_LIBS="$XPRINTMODULES_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 XPRINT_CFLAGS="$XPRINT_CFLAGS $FREETYPE_CFLAGS" XPRINT_SYS_LIBS="$XPRINT_SYS_LIBS $FREETYPE_LIBS" # end freetype support AC_SUBST([XPRINT_CFLAGS]) AC_SUBST([XPRINT_LIBS]) AC_SUBST([XPRINT_SYS_LIBS]) 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 $XEXT_LIB $CONFIG_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $XPSTUBS_LIB $SHADOW_LIB" AC_SUBST([XWIN_LIBS]) fi AC_MSG_RESULT([$XWIN]) if test "x$XWIN" = xyes; then case $host_os in cygwin*) XWIN_SERVER_NAME=XWin 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*) XWIN_SERVER_NAME=Xming PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfont]) 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_SYS_LIBS="$XWIN_SYS_LIBS $(XWINMODULES_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(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 Darwin / OS X DDX 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([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 if test "x$XQUARTZ" = xyes; then AC_DEFINE([XQUARTZ],[1],[Have Quartz]) DARWIN_GLX_LIBS='$(top_builddir)/hw/xquartz/GL/libCGLCore.la $(top_builddir)/glx/libglx.la' DARWIN_LIBS="$MI_LIB $OS_LIB $DIX_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $DARWIN_GLX_LIBS" AC_SUBST([DARWIN_LIBS]) AC_CHECK_LIB([Xplugin],[xp_init],[:]) CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DNO_ALLOCA" if test "x$XF86MISC" = xyes || test "x$XF86MISC" = xauto; then AC_MSG_NOTICE([Disabling XF86Misc extension]) XF86MISC=no fi if test "x$XF86VIDMODE" = xyes || test "x$XF86VIDMODE" = xauto; then AC_MSG_NOTICE([Disabling XF86VidMode extension]) XF86VIDMODE=no fi if test "x$XF86BIGFONT" = xyes || test "x$XF86BIGFONT" = xauto; then AC_MSG_NOTICE([Disabling XF86BigFont extension]) XF86BIGFONT=no fi if test "x$DGA" = xyes || test "x$DGA" = xauto; then AC_MSG_NOTICE([Disabling DGA extension]) DGA=no 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(HAVE_XPLUGIN, [test "x$ac_cv_lib_Xplugin_xp_init" = xyes]) AM_CONDITIONAL(HAVE_AGL_FRAMEWORK, [test "x$xorg_cv_AGL_framework" = xyes]) AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes]) if test "x$X11APP" = xauto; then AC_MSG_CHECKING([whether to build X11.app]) if test "x$XQUARTZ" = xyes ; then X11APP=yes else X11APP=no fi AC_MSG_RESULT([$X11APP]) fi AM_CONDITIONAL(X11APP,[test "X$X11APP" = Xyes]) if test "x$LAUNCHD" = "xauto"; then if test "x$XQUARTZ" = "xyes" ; then LAUNCHD=yes else unset LAUNCHD AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no]) fi fi if test "x$LAUNCHD" = "xyes" ; then AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available]) fi AM_CONDITIONAL(LAUNCHD, [test "x$LAUNCHD" = "xyes"]) 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" 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 $XTRAP_INC $RECORD_INC" XDMX_CFLAGS="$DMXMODULES_CFLAGS" XDMX_LIBS="$XEXT_LIB $FB_LIB $CONFIG_LIB $RENDER_LIB $XTRAP_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_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 AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes", DMX_BUILD_USB="no") dnl Linux sources in DMX require 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 kdrive DDX XEPHYR_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 && test "x$KDRIVEVESA" = xauto; then KDRIVEVESA=yes fi if test "x$KDRIVEVESA" = xyes; then KDRIVEFBDEVLIB=yes 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 && 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 # tslib... AC_CHECK_LIB(ts, ts_open, [HAVE_TSLIB="yes"]) if test "x$TSLIB" = xauto && test "x$HAVE_TSLIB" = xyes; then TSLIB=yes 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 input driver.]) fi TSLIB_LIBS="-lts" AC_DEFINE(TSLIB, 1, [Have tslib support]) fi AC_CHECK_HEADERS([SDL/SDL.h]) if test x"$ac_cv_header_SDL_SDL_h" = xyes && test "x$XSDL" = xauto; then XSDL=yes fi if test x"$XSDL" = xyes; then # PKG_CHECK_MODULES(XSDL_EXTRA, Xfont xau $XDMCP_MODULES) AC_DEFINE(XSDLSERVER,1,[Build Xsdl server]) XSDL_LIBS="`sdl-config --libs`" XSDL_INCS="`sdl-config --cflags` $XSERVER_CFLAGS" fi XEPHYR_REQUIRED_LIBS="x11 xext xfont xau xdmcp" if test "x$XV" = xyes; then XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv" fi PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [xephyr="yes"], [xephyr="no"]) if test "x$XEPHYR" = xauto; then XEPHYR=$xephyr fi XEPHYR_DRI=no if test x$XEPHYR = xyes -a x$DRI = xyes && test "x$GLX" = xyes; then XEPHYR_DRI=yes XEPHYR_DRI_LIBS=-lGL AC_SUBST(XEPHYR_DRI_LIBS) fi if test x$XEPHYR_DRI = xyes ; then AC_DEFINE(XEPHYR_DRI,1,[enable DRI extension in xephyr]) fi # Xephyr needs nanosleep() which is in librt on Solaris AC_CHECK_FUNC([nanosleep], [], AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt")) 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" 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_LOCAL_LIBS="$TSLIB_LIBS $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB" KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS" KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB" KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS" # check if we can build Xephyr PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [xephyr="yes"], [xephyr="no"]) AC_SUBST([XEPHYR_LIBS]) AC_SUBST([XEPHYR_INCS]) AC_SUBST([XSDL_LIBS]) AC_SUBST([XSDL_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(TSLIB, [test "x$HAVE_TSLIB" = xyes]) AM_CONDITIONAL(H3600_TS, false) AM_CONDITIONAL(KDRIVEVESA, [test "x$KDRIVEVESA" = xyes]) AM_CONDITIONAL(KDRIVEFBDEV, [test "x$XFBDEV" = xyes]) AM_CONDITIONAL(KDRIVEWSCONS, [test x"$ac_cv_header_dev_wscons_wsconsio_h" = xyes]) AM_CONDITIONAL(XSDLSERVER, [test x"$XSDL" = 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(XEPHYR_HAS_DRI, [test x$XEPHYR_DRI = xyes]) AM_CONDITIONAL(XFAKESERVER, [test "x$KDRIVE" = xyes && test "x$XFAKE" = xyes]) 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(XResExtension, 1, [Build XRes extension]) AC_TRY_COMPILE([ #include #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 if test "x$XORG" = xyes; then PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11]) AC_SUBST(XORGCONFIG_DEP_CFLAGS) AC_SUBST(XORGCONFIG_DEP_LIBS) fi dnl xorgcfg GUI configuration utility AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], [Build xorgcfg GUI configuration utility (default: no)]), [XORGCFG=$enableval],[XORGCFG=no]) if test x$XORGCFG = xyes ; then PKG_CHECK_MODULES([XORGCFG_DEP], [xkbui >= 1.0.2 xkbfile xxf86misc xxf86vm xaw7 xmu xt xpm xext x11]) XORGCFG_DEP_CFLAGS="$XORGCFG_DEP_CFLAGS" 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=$enableval], [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]) AC_ARG_ENABLE(ioport, AS_HELP_STRING([--enable-ioport], [Build ioport utilities (default: yes)]), [BUILD_IOPORT=$enable_val], [BUILD_IOPORT="yes"]) AM_CONDITIONAL(BUILD_IOPORT, [test x$BUILD_IOPORT = xyes]) 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]) # Man page sections - used in config utils & generating man pages XORG_MANPAGE_SECTIONS AC_OUTPUT([ Makefile glx/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 config/Makefile mi/Makefile miext/Makefile miext/damage/Makefile miext/shadow/Makefile miext/cw/Makefile miext/rootless/Makefile miext/rootless/safeAlpha/Makefile miext/rootless/accel/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/dri2/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/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/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/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/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/xquartz/Makefile hw/xquartz/GL/Makefile hw/xquartz/bundle/Makefile hw/xquartz/xpr/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 ])