1 dnl Copyright © 2003-2007 Keith Packard, Daniel Stone
3 dnl Permission is hereby granted, free of charge, to any person obtaining a
4 dnl copy of this software and associated documentation files (the "Software"),
5 dnl to deal in the Software without restriction, including without limitation
6 dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 dnl and/or sell copies of the Software, and to permit persons to whom the
8 dnl Software is furnished to do so, subject to the following conditions:
10 dnl The above copyright notice and this permission notice (including the next
11 dnl paragraph) shall be included in all copies or substantial portions of the
14 dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 dnl DEALINGS IN THE SOFTWARE.
22 dnl Authors: Keith Packard <keithp@keithp.com>
23 dnl Daniel Stone <daniel@fooishbar.org>
24 dnl an unwitting cast of miscellaneous others
26 dnl Process this file with autoconf to create configure.
29 AC_INIT([xorg-server], 1.13.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
30 RELEASE_DATE="2012-09-05"
31 RELEASE_NAME="Iced Tea"
32 AC_CONFIG_SRCDIR([Makefile.am])
33 AM_INIT_AUTOMAKE([foreign dist-bzip2])
36 # Require xorg-macros minimum of 1.14 for XORG_COMPILER_BRAND in XORG_DEFAULT_OPTIONS
37 m4_ifndef([XORG_MACROS_VERSION],
38 [m4_fatal([must install xorg-macros 1.14 or later before running autoconf/autogen])])
39 XORG_MACROS_VERSION(1.14)
41 XORG_WITH_DOXYGEN(1.6.1)
42 XORG_CHECK_SGML_DOCTOOLS(1.8)
44 XORG_ENABLE_DEVEL_DOCS
45 XORG_WITH_XMLTO(0.0.20)
48 XORG_ENABLE_UNIT_TESTS
49 XORG_LD_WRAP([optional])
51 m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install fontutil 1.1 or later before running autoconf/autogen])])
52 XORG_FONT_MACROS_VERSION(1.1)
54 dnl this gets generated by autoheader, and thus contains all the defines. we
55 dnl don't ever actually use it, internally.
56 AC_CONFIG_HEADERS(include/do-not-use-config.h)
57 dnl xorg-server.h is an external header, designed to be included by loadable
59 AC_CONFIG_HEADERS(include/xorg-server.h)
60 dnl dix-config.h covers most of the DIX (i.e. everything but the DDX, not just
62 AC_CONFIG_HEADERS(include/dix-config.h)
63 dnl xorg-config.h covers the Xorg DDX.
64 AC_CONFIG_HEADERS(include/xorg-config.h)
65 dnl xkb-config.h covers XKB for the Xorg and Xnest DDXs.
66 AC_CONFIG_HEADERS(include/xkb-config.h)
67 dnl xwin-config.h covers the XWin DDX.
68 AC_CONFIG_HEADERS(include/xwin-config.h)
69 dnl kdrive-config.h covers the kdrive DDX
70 AC_CONFIG_HEADERS(include/kdrive-config.h)
71 dnl version-config.h covers the version numbers so they can be bumped without
72 dnl forcing an entire recompile.x
73 AC_CONFIG_HEADERS(include/version-config.h)
86 # Quoted so that make will expand $(CWARNFLAGS) in makefiles to allow
87 # easier overrides at build time.
88 XSERVER_CFLAGS='$(CWARNFLAGS)'
90 dnl Explicitly add -fno-strict-aliasing since this option should disappear
91 dnl from util-macros CWARNFLAGS
92 if test "x$GCC" = xyes ; then
93 XSERVER_CFLAGS="$XSERVER_CFLAGS -fno-strict-aliasing"
96 dnl Check for dtrace program (needed to build Xserver dtrace probes)
97 dnl Also checks for <sys/sdt.h>, since some Linux distros have an
98 dnl ISDN trace program named dtrace
99 AC_ARG_WITH(dtrace, AS_HELP_STRING([--with-dtrace=PATH],
100 [Enable dtrace probes (default: enabled if dtrace found)]),
101 [WDTRACE=$withval], [WDTRACE=auto])
102 if test "x$WDTRACE" = "xyes" -o "x$WDTRACE" = "xauto" ; then
103 AC_PATH_PROG(DTRACE, [dtrace], [not_found], [$PATH:/usr/sbin])
104 if test "x$DTRACE" = "xnot_found" ; then
105 if test "x$WDTRACE" = "xyes" ; then
106 AC_MSG_FAILURE([dtrace requested but not found])
110 AC_CHECK_HEADER(sys/sdt.h, [HAS_SDT_H="yes"], [HAS_SDT_H="no"])
111 if test "x$WDTRACE" = "xauto" -a "x$HAS_SDT_H" = "xno" ; then
116 if test "x$WDTRACE" != "xno" ; then
117 AC_DEFINE(XSERVER_DTRACE, 1,
118 [Define to 1 if the DTrace Xserver provider probes should be built in.])
120 # Solaris/OpenSolaris require dtrace -G to build dtrace probe information into
121 # object files, and require linking with those as relocatable objects, not .a
122 # archives. MacOS X handles all this in the normal compiler toolchain, and on
123 # some releases (like Tiger), will error out on dtrace -G. For now, other
124 # platforms with Dtrace ports are assumed to support -G (the FreeBSD and Linux
125 # ports appear to, based on my web searches, but have not yet been tested).
127 darwin*) SPECIAL_DTRACE_OBJECTS=no ;;
128 *) SPECIAL_DTRACE_OBJECTS=yes ;;
131 AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
132 AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x$SPECIAL_DTRACE_OBJECTS" = "xyes"])
136 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h fnmatch.h sys/utsname.h])
138 dnl Checks for typedefs, structures, and compiler characteristics.
141 AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
143 AC_CHECK_SIZEOF([unsigned long])
144 if test "$ac_cv_sizeof_unsigned_long" = 8; then
145 AC_DEFINE(_XSERVER64, 1, [Define to 1 if unsigned long is 64 bits.])
150 # Checks for headers/macros for byte swapping
152 # <byteswap.h> bswap_16, bswap_32, bswap_64 (glibc)
153 # <sys/endian.h> __swap16, __swap32, __swap64 (OpenBSD)
154 # <sys/endian.h> bswap16, bswap32, bswap64 (other BSD's)
155 # and a fallback to local macros if none of the above are found
157 # if <byteswap.h> is found, assume it's the correct version
158 AC_CHECK_HEADERS([byteswap.h])
160 # if <sys/endian.h> is found, have to check which version
161 AC_CHECK_HEADER([sys/endian.h], [HAVE_SYS_ENDIAN_H="yes"], [HAVE_SYS_ENDIAN_H="no"])
163 if test "x$HAVE_SYS_ENDIAN_H" = "xyes" ; then
164 AC_MSG_CHECKING([for __swap16 variant of <sys/endian.h> byteswapping macros])
165 AC_LINK_IFELSE([AC_LANG_PROGRAM([
166 #include <sys/types.h>
167 #include <sys/endian.h>
172 ], [SYS_ENDIAN__SWAP='yes'], [SYS_ENDIAN__SWAP='no'])
173 AC_MSG_RESULT([$SYS_ENDIAN__SWAP])
175 AC_MSG_CHECKING([for bswap16 variant of <sys/endian.h> byteswapping macros])
176 AC_LINK_IFELSE([AC_LANG_PROGRAM([
177 #include <sys/types.h>
178 #include <sys/endian.h>
183 ], [SYS_ENDIAN_BSWAP='yes'], [SYS_ENDIAN_BSWAP='no'])
184 AC_MSG_RESULT([$SYS_ENDIAN_BSWAP])
186 if test "$SYS_ENDIAN_BSWAP" = "yes" ; then
190 if test "$SYS_ENDIAN__SWAP" = "yes" ; then
198 if test "$USE_SYS_ENDIAN_H" = "yes" ; then
199 AC_DEFINE([USE_SYS_ENDIAN_H], 1,
200 [Define to use byteswap macros from <sys/endian.h>])
201 AC_DEFINE_UNQUOTED([bswap_16], ${BSWAP}16,
202 [Define to 16-bit byteswap macro])
203 AC_DEFINE_UNQUOTED([bswap_32], ${BSWAP}32,
204 [Define to 32-bit byteswap macro])
205 AC_DEFINE_UNQUOTED([bswap_64], ${BSWAP}64,
206 [Define to 64-bit byteswap macro])
210 dnl Check to see if dlopen is in default libraries (like Solaris, which
211 dnl has it in libc), or if libdl is needed to get it.
212 AC_CHECK_FUNC([dlopen], [],
213 AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
214 AC_SUBST(DLOPEN_LIBS)
216 dnl Checks for library functions.
217 AC_CHECK_FUNCS([backtrace ffs geteuid getuid issetugid getresuid \
218 getdtablesize getifaddrs getpeereid getpeerucred getzoneid \
219 mmap shmctl64 strncasecmp vasprintf vsnprintf walkcontext])
220 AC_REPLACE_FUNCS([strcasecmp strcasestr strlcat strlcpy strndup])
222 dnl Find the math libary, then check for cbrt function in it.
223 AC_CHECK_LIB(m, sqrt)
224 AC_CHECK_FUNCS([cbrt])
226 AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
229 AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h sys/agpgart.h], AGP=yes)
230 AM_CONDITIONAL(AGP, [test "x$AGP" = xyes])
233 AC_CHECK_HEADERS([linux/apm_bios.h], LNXAPM=yes)
234 AM_CONDITIONAL(LNXAPM, [test "x$LNXAPM" = xyes])
237 AC_CHECK_HEADERS([linux/fb.h], FBDEV=yes)
238 AM_CONDITIONAL(FBDEVHW, [test "x$FBDEV" = xyes])
241 AC_CHECK_HEADERS([asm/mtrr.h], ac_cv_asm_mtrr_h=yes)
242 if test "x$ac_cv_asm_mtrr_h" = xyes; then
247 AC_CHECK_HEADERS([sys/memrange.h], ac_cv_memrange_h=yes)
248 if test "x$ac_cv_memrange_h" = xyes; then
252 if test "x$HAVE_MTRR" = xyes; then
253 AC_DEFINE(HAS_MTRR_SUPPORT, 1, [MTRR support available])
256 dnl A NetBSD MTRR header
257 AC_CHECK_HEADERS([machine/mtrr.h], ac_cv_machine_mtrr_h=yes)
258 if test "x$ac_cv_machine_mtrr_h" = xyes; then
259 AC_DEFINE(HAS_MTRR_BUILTIN, 1, [Define to 1 if NetBSD built-in MTRR
260 support is available])
263 dnl FreeBSD kldload support (sys/linker.h)
264 AC_CHECK_HEADERS([sys/linker.h],
265 [ac_cv_sys_linker_h=yes],
266 [ac_cv_sys_linker_h=no],
267 [#include <sys/param.h>])
268 AM_CONDITIONAL(FREEBSD_KLDLOAD, [test "x$ac_cv_sys_linker_h" = xyes])
270 AC_CACHE_CHECK([for SYSV IPC],
273 #include <sys/types.h>
276 #include <sys/stat.h>
280 id = shmget(IPC_PRIVATE, 512, S_IRUSR | S_IWUSR);
281 if (id < 0) return -1;
282 return shmctl(id, IPC_RMID, 0);
284 [ac_cv_sysv_ipc=yes],
285 [ac_cv_sysv_ipc=no])])
286 if test "x$ac_cv_sysv_ipc" = xyes; then
287 AC_DEFINE(HAVE_SYSV_IPC, 1, [Define to 1 if SYSV IPC is available])
290 dnl OpenBSD /dev/xf86 aperture driver
291 if test -c /dev/xf86 ; then
292 AC_DEFINE(HAS_APERTURE_DRV, 1, [System has /dev/xf86 aperture driver])
296 AC_CHECK_HEADER([machine/apmvar.h],[
297 AC_CHECK_HEADER([sys/event.h],
298 ac_cv_BSD_KQUEUE_APM=yes,
301 AM_CONDITIONAL(BSD_APM, [test "x$ac_cv_BSD_APM" = xyes])
302 AM_CONDITIONAL(BSD_KQUEUE_APM, [test "x$ac_cv_BSD_KQUEUE_APM" = xyes])
304 dnl glibc backtrace support check (hw/xfree86/common/xf86Events.c)
305 AC_CHECK_HEADER([execinfo.h],[
306 AC_CHECK_LIB(c, backtrace, [
307 AC_DEFINE(HAVE_BACKTRACE, 1, [Has backtrace support])
308 AC_DEFINE(HAVE_EXECINFO_H, 1, [Have execinfo.h])
312 dnl ---------------------------------------------------------------------------
313 dnl Bus options and CPU capabilities. Replaces logic in
314 dnl hw/xfree86/os-support/bus/Makefile.am, among others.
315 dnl ---------------------------------------------------------------------------
316 DEFAULT_INT10="x86emu"
318 dnl Override defaults as needed for specific platforms:
324 *freebsd*) SYS_LIBS=-lio ;;
325 *netbsd*) AC_DEFINE(USE_ALPHA_PIO, 1, [NetBSD PIO alpha IO]) ;;
327 GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee"
335 *freebsd*) AC_DEFINE(USE_DEV_IO) ;;
336 *dragonfly*) AC_DEFINE(USE_DEV_IO) ;;
337 *netbsd*) AC_DEFINE(USE_I386_IOPL)
340 *openbsd*) AC_DEFINE(USE_I386_IOPL)
348 *freebsd*) DEFAULT_INT10=stub ;;
353 BSD_ARCH_SOURCES="sparc64_video.c ioperm_noop.c"
354 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
359 *freebsd*) AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
360 *dragonfly*) AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
361 *netbsd*) AC_DEFINE(USE_I386_IOPL, 1, [BSD i386 iopl])
364 *openbsd*) AC_DEFINE(USE_AMD64_IOPL, 1, [BSD AMD64 iopl])
368 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
371 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
374 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
377 AC_SUBST(GLX_ARCH_DEFINES)
379 dnl BSD *_video.c selection
380 AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
381 AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
382 AM_CONDITIONAL(I386_VIDEO, [test "x$I386_VIDEO" = xyes])
383 AM_CONDITIONAL(PPC_VIDEO, [test "x$PPC_VIDEO" = xyes])
384 AM_CONDITIONAL(SPARC64_VIDEO, [test "x$SPARC64_VIDEO" = xyes])
387 USE_SIGIO_BY_DEFAULT="yes"
388 dnl it would be nice to autodetect these *CONS_SUPPORTs
390 *freebsd* | *dragonfly*)
393 *) AC_DEFINE(CSRG_BASED, 1, [System is BSD-like]) ;;
395 AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
396 AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
397 AC_DEFINE(SYSCONS_SUPPORT, 1, [System has syscons console])
401 AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
402 AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
403 AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
404 AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
408 AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
409 AC_DEFINE(PCVT_SUPPORT, 1, [System has PC console])
410 AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
416 PKG_CHECK_EXISTS(libdrm, DRI=yes, DRI=no)
417 # Disable use of SIGIO by default until some system bugs are
418 # fixed - see Sun/OpenSolaris bug id 6879897
419 USE_SIGIO_BY_DEFAULT="no"
422 AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
425 CFLAGS="$CFLAGS -DFD_SETSIZE=256"
429 dnl augment XORG_RELEASE_VERSION for our snapshot number and to expose the
431 PVMAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1`
432 PVS=`echo $PACKAGE_VERSION | cut -d . -f 4 | cut -d - -f 1`
433 if test "x$PVS" = "x"; then
437 VENDOR_RELEASE="((($PVMAJOR) * 10000000) + (($PVM) * 100000) + (($PVP) * 1000) + $PVS)"
438 VENDOR_MAN_VERSION="Version ${PACKAGE_VERSION}"
440 VENDOR_NAME="The X.Org Foundation"
441 VENDOR_NAME_SHORT="X.Org"
442 VENDOR_WEB="http://wiki.x.org"
444 m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
447 AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror],
448 [Obsolete - use --enable-strict-compilation instead]),
449 AC_MSG_ERROR([--enable-werror has been replaced by --enable-strict-compilation]))
451 AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],
452 [Enable debugging (default: disabled)]),
453 [DEBUGGING=$enableval], [DEBUGGING=no])
454 AC_ARG_ENABLE(use-sigio-by-default, AS_HELP_STRING([--enable-use-sigio-by-default]
455 [Enable SIGIO input handlers by default (default: $USE_SIGIO_BY_DEFAULT)]),
456 [USE_SIGIO_BY_DEFAULT=$enableval], [])
457 AC_ARG_WITH(int10, AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
459 [INT10="$DEFAULT_INT10"])
460 AC_ARG_WITH(vendor-name, AS_HELP_STRING([--with-vendor-name=VENDOR],
461 [Vendor string reported by the server]),
462 [ VENDOR_NAME="$withval" ], [])
463 AC_ARG_WITH(vendor-name-short, AS_HELP_STRING([--with-vendor-name-short=VENDOR],
464 [Short version of vendor string reported by the server]),
465 [ VENDOR_NAME_SHORT="$withval" ], [])
466 AC_ARG_WITH(vendor-web, AS_HELP_STRING([--with-vendor-web=URL],
467 [Vendor web address reported by the server]),
468 [ VENDOR_WEB="$withval" ], [])
469 AC_ARG_WITH(module-dir, AS_HELP_STRING([--with-module-dir=DIR],
470 [Directory where modules are installed (default: $libdir/xorg/modules)]),
471 [ moduledir="$withval" ],
472 [ moduledir="${libdir}/xorg/modules" ])
473 AC_ARG_WITH(log-dir, AS_HELP_STRING([--with-log-dir=DIR],
474 [Directory where log files are kept (default: $localstatedir/log)]),
475 [ logdir="$withval" ],
476 [ logdir="$localstatedir/log" ])
477 AC_ARG_WITH(builder-addr, AS_HELP_STRING([--with-builder-addr=ADDRESS],
478 [Builder address (default: xorg@lists.freedesktop.org)]),
479 [ BUILDERADDR="$withval" ],
480 [ BUILDERADDR="xorg@lists.freedesktop.org" ])
481 AC_ARG_WITH(os-name, AS_HELP_STRING([--with-os-name=OSNAME], [Name of OS (default: output of "uname -srm")]),
482 [ OSNAME="$withval" ],
483 [ OSNAME=`uname -srm` ])
484 AC_ARG_WITH(os-vendor, AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name of OS vendor]),
485 [ OSVENDOR="$withval" ],
487 AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
488 [ BUILDERSTRING="$withval" ]
491 dnl Determine font path
493 XORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
494 XORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
495 XORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
496 XORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
497 XORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
498 XORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
500 dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
501 dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross
502 dnl compiling, assume default font path uses standard FONTROOTDIR directories.
503 DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
504 if test "$cross_compiling" != yes; then
505 AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
506 [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
508 darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
511 AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
512 [ FONTPATH="$withval" ],
513 [ FONTPATH="${DEFAULT_FONT_PATH}" ])
515 AC_MSG_CHECKING([for default font path])
516 AC_MSG_RESULT([$FONTPATH])
518 AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
519 [ XKBPATH="$withval" ],
520 [ XKBPATH="${datadir}/X11/xkb" ])
521 AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${datadir}/X11/xkb/compiled)]),
522 [ XKBOUTPUT="$withval" ],
523 [ XKBOUTPUT="compiled" ])
524 AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
525 [Keyboard ruleset (default: base/evdev)]),
526 [ XKB_DFLT_RULES="$withval" ],
527 [ XKB_DFLT_RULES="" ])
528 AC_ARG_WITH(default-xkb-model, AS_HELP_STRING([--with-default-xkb-model=MODEL],
529 [Keyboard model (default: pc105)]),
530 [ XKB_DFLT_MODEL="$withval" ],
531 [ XKB_DFLT_MODEL="pc105" ])
532 AC_ARG_WITH(default-xkb-layout, AS_HELP_STRING([--with-default-xkb-layout=LAYOUT],
533 [Keyboard layout (default: us)]),
534 [ XKB_DFLT_LAYOUT="$withval" ],
535 [ XKB_DFLT_LAYOUT="us" ])
536 AC_ARG_WITH(default-xkb-variant, AS_HELP_STRING([--with-default-xkb-variant=VARIANT],
537 [Keyboard variant (default: (none))]),
538 [ XKB_DFLT_VARIANT="$withval" ],
539 [ XKB_DFLT_VARIANT="" ])
540 AC_ARG_WITH(default-xkb-options, AS_HELP_STRING([--with-default-xkb-options=OPTIONS],
541 [Keyboard layout options (default: (none))]),
542 [ XKB_DFLT_OPTIONS="$withval" ],
543 [ XKB_DFLT_OPTIONS="" ])
544 AC_ARG_WITH(serverconfig-path, AS_HELP_STRING([--with-serverconfig-path=PATH],
545 [Directory where ancillary server config files are installed (default: ${libdir}/xorg)]),
546 [ SERVERCONFIG="$withval" ],
547 [ SERVERCONFIG="${libdir}/xorg" ])
548 AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: /Applications/Utilities)]),
549 [ APPLE_APPLICATIONS_DIR="${withval}" ],
550 [ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
551 AC_SUBST([APPLE_APPLICATIONS_DIR])
552 AC_ARG_WITH(apple-application-name,AS_HELP_STRING([--with-apple-application-name=NAME], [Name for the .app (default: X11)]),
553 [ APPLE_APPLICATION_NAME="${withval}" ],
554 [ APPLE_APPLICATION_NAME="X11" ])
555 AC_SUBST([APPLE_APPLICATION_NAME])
556 AC_ARG_WITH(launchd-id-prefix, AS_HELP_STRING([--with-launchd-id-prefix=PATH], [Deprecated: Use --with-bundle-id-prefix.]),
557 [ BUNDLE_ID_PREFIX="${withval}" ],
558 [ BUNDLE_ID_PREFIX="org.x" ])
559 AC_ARG_WITH(bundle-id-prefix, AS_HELP_STRING([--with-bundle-id-prefix=PATH], [Prefix to use for bundle identifiers (default: org.x)]),
560 [ BUNDLE_ID_PREFIX="${withval}" ])
561 AC_SUBST([BUNDLE_ID_PREFIX])
562 AC_DEFINE_UNQUOTED(BUNDLE_ID_PREFIX, "$BUNDLE_ID_PREFIX", [Prefix to use for bundle identifiers])
563 AC_ARG_ENABLE(sparkle,AS_HELP_STRING([--enable-sparkle], [Enable updating of X11.app using the Sparkle Framework (default: disabled)]),
564 [ XQUARTZ_SPARKLE="${enableval}" ],
565 [ XQUARTZ_SPARKLE="no" ])
566 AC_SUBST([XQUARTZ_SPARKLE])
567 AC_ARG_ENABLE(install-libxf86config,
568 AS_HELP_STRING([--enable-install-libxf86config],
569 [Install libxf86config (default: disabled)]),
570 [INSTALL_LIBXF86CONFIG=$enableval],
571 [INSTALL_LIBXF86CONFIG=no])
572 AC_ARG_ENABLE(visibility, AC_HELP_STRING([--enable-visibility], [Enable symbol visibility (default: auto)]),
573 [SYMBOL_VISIBILITY=$enableval],
574 [SYMBOL_VISIBILITY=auto])
576 dnl GLX build options
577 AC_ARG_ENABLE(aiglx, AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]),
581 AC_ARG_ENABLE(glx-tls, AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: auto)]),
582 [GLX_USE_TLS=$enableval
583 if test "x$GLX_USE_TLS" = "xyes" && test "${ac_cv_tls}" = "none" ; then
584 AC_MSG_ERROR([GLX with TLS support requested, but the compiler does not support it.])
587 if test "${ac_cv_tls}" != "none" ; then
590 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
591 AC_ARG_WITH(khronos-spec-dir, AS_HELP_STRING([--with-khronos-spec-dir=PATH], [Path to Khronos OpenGL registry database files (default: auto)]),
592 [KHRONOS_SPEC_DIR="${withval}"],
593 [KHRONOS_SPEC_DIR=auto])
596 AC_ARG_ENABLE(registry, AS_HELP_STRING([--disable-registry], [Build string registry module (default: enabled)]), [XREGISTRY=$enableval], [XREGISTRY=yes])
597 AC_ARG_ENABLE(composite, AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
598 AC_ARG_ENABLE(gesture, AS_HELP_STRING([--disable-gesture], [Build Gesture extension (default: enabled)]), [GESTURE=$enableval], [GESTURE=yes])
599 AC_ARG_ENABLE(mitshm, AS_HELP_STRING([--disable-mitshm], [Build SHM extension (default: auto)]), [MITSHM=$enableval], [MITSHM=auto])
600 AC_ARG_ENABLE(xres, AS_HELP_STRING([--disable-xres], [Build XRes extension (default: enabled)]), [RES=$enableval], [RES=yes])
601 AC_ARG_ENABLE(record, AS_HELP_STRING([--disable-record], [Build Record extension (default: enabled)]), [RECORD=$enableval], [RECORD=yes])
602 AC_ARG_ENABLE(xv, AS_HELP_STRING([--disable-xv], [Build Xv extension (default: enabled)]), [XV=$enableval], [XV=yes])
603 AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc], [Build XvMC extension (default: enabled)]), [XVMC=$enableval], [XVMC=yes])
604 AC_ARG_ENABLE(dga, AS_HELP_STRING([--disable-dga], [Build DGA extension (default: auto)]), [DGA=$enableval], [DGA=auto])
605 AC_ARG_ENABLE(screensaver, AS_HELP_STRING([--disable-screensaver], [Build ScreenSaver extension (default: enabled)]), [SCREENSAVER=$enableval], [SCREENSAVER=yes])
606 AC_ARG_ENABLE(xdmcp, AS_HELP_STRING([--disable-xdmcp], [Build XDMCP extension (default: auto)]), [XDMCP=$enableval], [XDMCP=auto])
607 AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
608 AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
609 AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
610 AC_ARG_ENABLE(dri2, AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: auto)]), [DRI2=$enableval], [DRI2=auto])
611 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
612 AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
613 AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
614 AC_ARG_ENABLE(xselinux, AS_HELP_STRING([--enable-xselinux], [Build SELinux extension (default: disabled)]), [XSELINUX=$enableval], [XSELINUX=no])
615 AC_ARG_ENABLE(xsmack, AS_HELP_STRING([--enable-xsmack], [Build SMACK extension (default: disabled)]), [XSMACK=$enableval], [XSMACK=no])
616 AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--enable-xcsecurity], [Build Security extension (default: disabled)]), [XCSECURITY=$enableval], [XCSECURITY=no])
617 AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
618 AC_ARG_ENABLE(dbe, AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes])
619 AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--enable-xf86bigfont], [Build XF86 Big Font extension (default: disabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=no])
620 AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
621 AC_ARG_ENABLE(config-udev, AS_HELP_STRING([--enable-config-udev], [Build udev support (default: auto)]), [CONFIG_UDEV=$enableval], [CONFIG_UDEV=auto])
622 AC_ARG_ENABLE(config-udev-kms, AS_HELP_STRING([--enable-config-udev-kms], [Build udev kms support (default: auto)]), [CONFIG_UDEV_KMS=$enableval], [CONFIG_UDEV_KMS=auto])
623 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])
624 AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto])
625 AC_ARG_ENABLE(config-wscons, AS_HELP_STRING([--enable-config-wscons], [Build wscons config support (default: auto)]), [CONFIG_WSCONS=$enableval], [CONFIG_WSCONS=auto])
626 AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
627 AC_ARG_ENABLE(vgahw, AS_HELP_STRING([--enable-vgahw], [Build Xorg with vga access (default: enabled)]), [VGAHW=$enableval], [VGAHW=yes])
628 AC_ARG_ENABLE(vbe, AS_HELP_STRING([--enable-vbe], [Build Xorg with VBE module (default: enabled)]), [VBE=$enableval], [VBE=yes])
629 AC_ARG_ENABLE(int10-module, AS_HELP_STRING([--enable-int10-module], [Build Xorg with int10 module (default: enabled)]), [INT10MODULE=$enableval], [INT10MODULE=yes])
630 AC_ARG_ENABLE(windowswm, AS_HELP_STRING([--enable-windowswm], [Build XWin with WindowsWM extension (default: no)]), [WINDOWSWM=$enableval], [WINDOWSWM=no])
631 AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
632 AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
633 AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes])
636 AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
637 AC_ARG_ENABLE(dmx, AS_HELP_STRING([--enable-dmx], [Build DMX server (default: auto)]), [DMX=$enableval], [DMX=auto])
638 AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes])
639 AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: auto)]), [XNEST=$enableval], [XNEST=auto])
640 AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
641 AC_ARG_ENABLE(standalone-xpbproxy, AS_HELP_STRING([--enable-standalone-xpbproxy], [Build a standalone xpbproxy (in addition to the one integrated into Xquartz as a separate thread) (default: no)]), [STANDALONE_XPBPROXY=$enableval], [STANDALONE_XPBPROXY=no])
642 AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
643 dnl kdrive and its subsystems
644 AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
645 AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
646 AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto])
647 AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto])
649 AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd driver for kdrive (default: auto)]), [KDRIVE_KBD=$enableval], [KDRIVE_KBD=auto])
650 AC_ARG_ENABLE(kdrive-mouse, AC_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto])
651 AC_ARG_ENABLE(kdrive-evdev, AC_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
654 dnl chown/chmod to be setuid root as part of build
655 dnl Replaces InstallXserverSetUID in imake
656 AC_ARG_ENABLE(install-setuid,
657 AS_HELP_STRING([--enable-install-setuid],
658 [Install Xorg server as owned by root with setuid bit (default: auto)]),
659 [SETUID=$enableval], [SETUID=auto])
660 AC_MSG_CHECKING([to see if we can install the Xorg server as root])
661 if test "x$SETUID" = "xauto" ; then
663 cygwin*) SETUID="no" ;;
664 mingw*) SETUID="no" ;;
665 darwin*) SETUID="no" ;;
668 sparc) SETUID="no" ;;
672 if test "x$SETUID" = xyes; then
674 chown root testfile > /dev/null 2>&1 || SETUID="no"
678 AC_MSG_RESULT([$SETUID])
679 AM_CONDITIONAL(INSTALL_SETUID, [test "x$SETUID" = "xyes"])
681 dnl Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro
682 dnl was not expanded, since xorg-server with no transport types is rather useless.
684 dnl If you're seeing an error here, be sure you installed the lib/xtrans module
685 dnl first and if it's not in the default location, that you set the ACLOCAL
686 dnl environment variable to find it, such as:
687 dnl ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
688 m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$])
690 # Transport selection macro from xtrans.m4
691 XTRANS_CONNECTION_FLAGS
693 # Secure RPC detection macro from xtrans.m4
694 XTRANS_SECURE_RPC_FLAGS
695 AM_CONDITIONAL(SECURE_RPC, [test "x$SECURE_RPC" = xyes])
697 AM_CONDITIONAL(INT10_VM86, [test "x$INT10" = xvm86])
698 AM_CONDITIONAL(INT10_X86EMU, [test "x$INT10" = xx86emu])
699 AM_CONDITIONAL(INT10_STUB, [test "x$INT10" = xstub])
701 dnl Handle installing libxf86config
702 AM_CONDITIONAL(INSTALL_LIBXF86CONFIG, [test "x$INSTALL_LIBXF86CONFIG" = xyes])
704 dnl DDX Detection... Yes, it's ugly to have it here... but we need to
705 dnl handle this early on so that we don't require unsupported extensions
732 if test x$XQUARTZ = xauto; then
733 AC_CACHE_CHECK([whether to build Xquartz],xorg_cv_Carbon_framework,[
734 save_LDFLAGS=$LDFLAGS
735 LDFLAGS="$LDFLAGS -framework Carbon"
736 AC_LINK_IFELSE([AC_LANG_SOURCE([char FSFindFolder(); int main() { FSFindFolder(); return 0;}])],
737 [xorg_cv_Carbon_framework=yes],
738 [xorg_cv_Carbon_framework=no])
739 LDFLAGS=$save_LDFLAGS])
741 if test "X$xorg_cv_Carbon_framework" = Xyes; then
748 AC_CHECK_FUNC(dispatch_async,
749 AC_DEFINE([HAVE_LIBDISPATCH], 1, [Define to 1 if you have the libdispatch (GCD) available]),
752 if test "x$XQUARTZ" = xyes ; then
766 dnl ---------------------------------------------------------------------------
767 dnl Extension section
768 dnl ---------------------------------------------------------------------------
769 XEXT_INC='-I$(top_srcdir)/Xext'
770 XEXT_LIB='$(top_builddir)/Xext/libXext.la'
773 VIDEOPROTO="videoproto"
774 COMPOSITEPROTO="compositeproto >= 0.4"
775 GESTUREPROTO="gestureproto >= 0.1.0"
776 RECORDPROTO="recordproto >= 1.13.99.1"
777 SCRNSAVERPROTO="scrnsaverproto >= 1.1"
778 RESOURCEPROTO="resourceproto >= 1.2.0"
779 DRIPROTO="xf86driproto >= 2.1.0"
780 DRI2PROTO="dri2proto >= 2.8"
781 XINERAMAPROTO="xineramaproto"
782 BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
783 DGAPROTO="xf86dgaproto >= 2.0.99.1"
784 GLPROTO="glproto >= 1.4.16"
785 DMXPROTO="dmxproto >= 2.2.99.1"
786 VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
787 WINDOWSWMPROTO="windowswmproto"
788 APPLEWMPROTO="applewmproto >= 1.4"
791 XPROTO="xproto >= 7.0.22"
792 RANDRPROTO="randrproto >= 1.4.0"
793 RENDERPROTO="renderproto >= 0.11"
794 XEXTPROTO="xextproto >= 7.1.99"
795 INPUTPROTO="inputproto >= 2.1.99.6"
796 KBPROTO="kbproto >= 1.0.3"
797 FONTSPROTO="fontsproto"
798 FIXESPROTO="fixesproto >= 5.0"
799 DAMAGEPROTO="damageproto >= 1.1"
800 XCMISCPROTO="xcmiscproto >= 1.2.0"
801 BIGREQSPROTO="bigreqsproto >= 1.1.0"
802 XTRANS="xtrans >= 1.2.2"
804 dnl List of libraries that require a specific version
805 LIBAPPLEWM="applewm >= 1.4"
806 LIBDMX="dmx >= 1.0.99.1"
807 LIBDRI="dri >= 7.8.0"
808 LIBDRM="libdrm >= 2.3.0"
810 LIBXEXT="xext >= 1.0.99.4"
811 LIBXFONT="xfont >= 1.4.2"
812 LIBXI="xi >= 1.2.99.1"
813 LIBXTST="xtst >= 1.0.99.2"
814 LIBPCIACCESS="pciaccess >= 0.12.901"
815 LIBUDEV="libudev >= 143"
816 LIBSELINUX="libselinux >= 2.0.86"
817 LIBDBUS="dbus-1 >= 1.0"
818 LIBPIXMAN="pixman-1 >= 0.21.8"
820 dnl Pixman is always required, but we separate it out so we can link
821 dnl specific modules against it
822 PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
823 REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
825 dnl Core modules for most extensions, et al.
826 SDK_REQUIRED_MODULES="$XPROTO $RANDRPROTO $RENDERPROTO $XEXTPROTO $INPUTPROTO $KBPROTO $FONTSPROTO $LIBPIXMAN"
827 # Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
828 AC_SUBST(SDK_REQUIRED_MODULES)
830 REQUIRED_MODULES="$FIXESPROTO $DAMAGEPROTO $XCMISCPROTO $XTRANS $BIGREQSPROTO $SDK_REQUIRED_MODULES"
832 if test "x$CONFIG_UDEV" = xyes &&
833 { test "x$CONFIG_DBUS_API" = xyes || test "x$CONFIG_HAL" = xyes; }; then
834 AC_MSG_ERROR([Hotplugging through both libudev and dbus/hal not allowed])
837 PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
838 if test "x$CONFIG_UDEV" = xauto; then
839 CONFIG_UDEV="$HAVE_LIBUDEV"
841 AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes])
842 if test "x$CONFIG_UDEV" = xyes; then
845 if test "x$CONFIG_UDEV_KMS" = xauto; then
846 CONFIG_UDEV_KMS="$HAVE_LIBUDEV"
848 if ! test "x$HAVE_LIBUDEV" = xyes; then
849 AC_MSG_ERROR([udev configuration API requested, but libudev is not installed])
851 AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug])
852 if test "x$CONFIG_UDEV_KMS" = xyes; then
853 AC_DEFINE(CONFIG_UDEV_KMS, 1, [Use libudev for kms enumeration])
859 AC_CHECK_FUNCS([udev_monitor_filter_add_match_tag])
860 AC_CHECK_FUNCS([udev_enumerate_add_match_tag])
864 AM_CONDITIONAL(CONFIG_UDEV_KMS, [test "x$CONFIG_UDEV_KMS" = xyes])
866 dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas
867 dnl CONFIG_DBUS_API is true if we want to enable the D-Bus config
869 PKG_CHECK_MODULES(DBUS, $LIBDBUS, [HAVE_DBUS=yes], [HAVE_DBUS=no])
870 if test "x$HAVE_DBUS" = xyes; then
871 AC_DEFINE(HAVE_DBUS, 1, [Have D-Bus support])
873 AM_CONDITIONAL(HAVE_DBUS, [test "x$HAVE_DBUS" = xyes])
875 if test "x$CONFIG_DBUS_API" = xauto; then
876 CONFIG_DBUS_API="$HAVE_DBUS"
878 if test "x$CONFIG_DBUS_API" = xyes; then
879 if ! test "x$HAVE_DBUS" = xyes; then
880 AC_MSG_ERROR([D-Bus configuration API requested, but D-Bus is not installed.])
883 AC_DEFINE(CONFIG_DBUS_API, 1, [Use the D-Bus input configuration API])
884 CONFIG_NEED_DBUS="yes"
886 AM_CONDITIONAL(CONFIG_DBUS_API, [test "x$CONFIG_DBUS_API" = xyes])
888 PKG_CHECK_MODULES(HAL, hal, [HAVE_HAL=yes], [HAVE_HAL=no])
889 if test "x$CONFIG_HAL" = xauto; then
890 CONFIG_HAL="$HAVE_HAL"
892 if test "x$CONFIG_HAL" = xyes; then
893 if ! test "x$HAVE_HAL" = xyes; then
894 AC_MSG_ERROR([HAL hotplug API requested, but HAL is not installed.])
897 AC_DEFINE(CONFIG_HAL, 1, [Use the HAL hotplug API])
898 CONFIG_NEED_DBUS="yes"
900 AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes])
902 if test "x$CONFIG_NEED_DBUS" = xyes; then
903 AC_DEFINE(CONFIG_NEED_DBUS, 1, [Use D-Bus for input hotplug])
905 AM_CONDITIONAL(CONFIG_NEED_DBUS, [test "x$CONFIG_NEED_DBUS" = xyes])
907 if test "x$CONFIG_WSCONS" = xauto; then
917 AM_CONDITIONAL(CONFIG_WSCONS, [test "x$CONFIG_WSCONS" = xyes])
918 if test "x$CONFIG_WSCONS" = xyes; then
919 AC_DEFINE(CONFIG_WSCONS, 1, [Use wscons for input auto configuration])
922 if test "x$USE_SIGIO_BY_DEFAULT" = xyes; then
923 USE_SIGIO_BY_DEFAULT_VALUE=TRUE
925 USE_SIGIO_BY_DEFAULT_VALUE=FALSE
927 AC_DEFINE_UNQUOTED([USE_SIGIO_BY_DEFAULT], [$USE_SIGIO_BY_DEFAULT_VALUE],
928 [Use SIGIO handlers for input device events by default])
930 AC_MSG_CHECKING([for glibc...])
931 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
932 #include <features.h>
936 ])], glibc=yes, glibc=no)
937 AC_MSG_RESULT([$glibc])
939 AC_CHECK_FUNCS([clock_gettime], [have_clock_gettime=yes],
940 [AC_CHECK_LIB([rt], [clock_gettime], [have_clock_gettime=-lrt],
941 [have_clock_gettime=no])])
943 AC_MSG_CHECKING([for a useful monotonic clock ...])
945 if ! test "x$have_clock_gettime" = xno; then
946 if ! test "x$have_clock_gettime" = xyes; then
947 CLOCK_LIBS="$have_clock_gettime"
954 CPPFLAGS_SAVE="$CPPFLAGS"
956 if test x"$glibc" = xyes; then
957 CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
960 AC_RUN_IFELSE([AC_LANG_SOURCE([
963 int main(int argc, char *argv[[]]) {
966 if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
971 ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
972 [MONOTONIC_CLOCK="cross compiling"])
975 CPPFLAGS="$CPPFLAGS_SAVE"
980 AC_MSG_RESULT([$MONOTONIC_CLOCK])
982 if test "x$MONOTONIC_CLOCK" = xyes; then
983 AC_DEFINE(MONOTONIC_CLOCK, 1, [Have monotonic clock from clock_gettime()])
984 LIBS="$LIBS $CLOCK_LIBS"
987 AM_CONDITIONAL(XV, [test "x$XV" = xyes])
988 if test "x$XV" = xyes; then
989 AC_DEFINE(XV, 1, [Support Xv extension])
990 AC_DEFINE(XvExtension, 1, [Build Xv extension])
991 REQUIRED_MODULES="$REQUIRED_MODULES $VIDEOPROTO"
992 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $VIDEOPROTO"
997 AM_CONDITIONAL(XVMC, [test "x$XVMC" = xyes])
998 if test "x$XVMC" = xyes; then
999 AC_DEFINE(XvMCExtension, 1, [Build XvMC extension])
1002 AM_CONDITIONAL(XREGISTRY, [test "x$XREGISTRY" = xyes])
1003 if test "x$XREGISTRY" = xyes; then
1004 AC_DEFINE(XREGISTRY, 1, [Build registry module])
1007 AM_CONDITIONAL(GESTURE, [test "x$GESTURE" = xyes])
1008 if test "x$GESTURE" = xyes; then
1009 AC_DEFINE(GESTURE, 1, [Support Gesture Extension])
1010 REQUIRED_MODULES="$REQUIRED_MODULES $GESTUREPROTO"
1011 GESTURE_LIB='$(top_builddir)/gesture/libgesture.la'
1012 GESTURE_INC='-I$(top_srcdir)/gesture'
1015 AM_CONDITIONAL(COMPOSITE, [test "x$COMPOSITE" = xyes])
1016 if test "x$COMPOSITE" = xyes; then
1017 AC_DEFINE(COMPOSITE, 1, [Support Composite Extension])
1018 REQUIRED_MODULES="$REQUIRED_MODULES $COMPOSITEPROTO"
1019 COMPOSITE_LIB='$(top_builddir)/composite/libcomposite.la'
1020 COMPOSITE_INC='-I$(top_srcdir)/composite'
1023 if test "x$MITSHM" = xauto; then
1024 MITSHM="$ac_cv_sysv_ipc"
1026 AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes])
1027 if test "x$MITSHM" = xyes; then
1028 AC_DEFINE(MITSHM, 1, [Support MIT-SHM extension])
1029 AC_DEFINE(HAS_SHM, 1, [Support SHM])
1032 AM_CONDITIONAL(RECORD, [test "x$RECORD" = xyes])
1033 if test "x$RECORD" = xyes; then
1034 AC_DEFINE(XRECORD, 1, [Support Record extension])
1035 REQUIRED_MODULES="$REQUIRED_MODULES $RECORDPROTO"
1036 RECORD_LIB='$(top_builddir)/record/librecord.la'
1039 AM_CONDITIONAL(SCREENSAVER, [test "x$SCREENSAVER" = xyes])
1040 if test "x$SCREENSAVER" = xyes; then
1041 AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension])
1042 REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO"
1045 AM_CONDITIONAL(RES, [test "x$RES" = xyes])
1046 if test "x$RES" = xyes; then
1047 AC_DEFINE(RES, 1, [Support X resource extension])
1048 REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO"
1051 # The XRes extension may support client ID tracking only if it has
1052 # been specifically enabled. Client ID tracking is implicitly not
1053 # supported if XRes extension is disabled.
1054 AC_MSG_CHECKING([whether to track client ids])
1055 if test "x$RES" = xyes && test "x$CLIENTIDS" = xyes; then
1056 AC_DEFINE(CLIENTIDS, 1, [Support client ID tracking])
1060 if test "x$CLIENTIDS" = xyes; then
1063 SYS_LIBS="$SYS_LIBS -lkvm"
1067 AC_MSG_RESULT([$CLIENTIDS])
1068 AM_CONDITIONAL(CLIENTIDS, [test "x$CLIENTIDS" = xyes])
1070 if test "x$GLX" = xyes; then
1071 PKG_CHECK_MODULES([XLIB], [x11])
1072 PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL)
1073 AC_SUBST(XLIB_CFLAGS)
1074 AC_DEFINE(GLXEXT, 1, [Build GLX extension])
1075 GLX_LIBS='$(top_builddir)/glx/libglx.la'
1076 GLX_SYS_LIBS="$GLX_SYS_LIBS"
1080 AM_CONDITIONAL(GLX, test "x$GLX" = xyes)
1082 if test "x$GLX" = xno; then
1086 if test "x$AIGLX" = xyes -a \( "x$DRI" = xyes -o "x$DRI2" = xyes \); then
1087 AC_DEFINE(AIGLX, 1, [Build AIGLX loader])
1089 AM_CONDITIONAL(AIGLX_DRI_LOADER, { test "x$DRI" = xyes || test "x$DRI2" = xyes; } && test "x$AIGLX" = xyes)
1091 if test "x$GLX_USE_TLS" = xyes ; then
1092 GLX_DEFINES="-DGLX_USE_TLS -DPTHREADS"
1093 GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread"
1095 AC_SUBST([GLX_DEFINES])
1096 AC_SUBST([GLX_SYS_LIBS])
1098 AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
1099 if test "x$DRI" = xyes; then
1100 AC_DEFINE(XF86DRI, 1, [Build DRI extension])
1101 REQUIRED_MODULES="$REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI"
1102 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI"
1105 PKG_CHECK_MODULES([DRI2PROTO], $DRI2PROTO,
1106 [HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
1107 case "$DRI2,$HAVE_DRI2PROTO" in
1109 AC_MSG_ERROR([DRI2 requested, but dri2proto not found.])
1112 AC_DEFINE(DRI2, 1, [Build DRI2 extension])
1114 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO"
1117 AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
1119 if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$CONFIG_UDEV_KMS" = xyes; then
1120 if test "x$DRM" = xyes; then
1121 AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support])
1122 PKG_CHECK_MODULES([LIBDRM], $LIBDRM)
1126 if test "x$DRI2" = xyes; then
1128 CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS"
1129 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <GL/gl.h>
1130 #include <GL/internal/dri_interface.h>
1132 #error DRI2 extension not available.
1134 [HAVE_DRI2EXTENSION=yes],
1135 [HAVE_DRI2EXTENSION=no])
1137 if test "x$HAVE_DRI2EXTENSION" = xyes; then
1138 AC_DEFINE(DRI2_AIGLX, 1, [Build DRI2 AIGLX loader])
1141 AC_MSG_NOTICE([DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h.])
1145 AM_CONDITIONAL(DRI2_AIGLX, test "x$DRI2_AIGLX" = xyes)
1148 AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
1149 if test "x$XINERAMA" = xyes; then
1150 AC_DEFINE(XINERAMA, 1, [Support Xinerama extension])
1151 AC_DEFINE(PANORAMIX, 1, [Internal define for Xinerama])
1152 REQUIRED_MODULES="$REQUIRED_MODULES $XINERAMAPROTO"
1153 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
1156 AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
1157 if test "x$XACE" = xyes; then
1158 AC_DEFINE(XACE, 1, [Build X-ACE extension])
1161 AM_CONDITIONAL(XSELINUX, [test "x$XSELINUX" = xyes])
1162 if test "x$XSELINUX" = xyes; then
1163 if test "x$XACE" != xyes; then
1164 AC_MSG_ERROR([cannot build SELinux extension without X-ACE])
1166 AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers]))
1167 AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library]))
1168 PKG_CHECK_MODULES([SELINUX], $LIBSELINUX)
1169 SELINUX_LIBS="$SELINUX_LIBS -laudit"
1170 AC_DEFINE(XSELINUX, 1, [Build SELinux extension])
1173 AM_CONDITIONAL(XSMACK, [test "x$XSMACK" = xyes])
1174 if test "x$XSMACK" = xyes; then
1175 if test "x$XACE" != xyes; then
1176 AC_MSG_ERROR([cannot build Smack extension without X-ACE])
1178 SMACK_LIBS="$SMACK_LIBS -lsmack"
1179 AC_DEFINE(XSMACK, 1, [Build Smack extension])
1182 AM_CONDITIONAL(XCSECURITY, [test "x$XCSECURITY" = xyes])
1183 if test "x$XCSECURITY" = xyes; then
1184 if test "x$XACE" != xyes; then
1185 AC_MSG_ERROR([cannot build Security extension without X-ACE])
1187 AC_DEFINE(XCSECURITY, 1, [Build Security extension])
1190 AM_CONDITIONAL(DBE, [test "x$DBE" = xyes])
1191 if test "x$DBE" = xyes; then
1192 AC_DEFINE(DBE, 1, [Support DBE extension])
1193 DBE_LIB='$(top_builddir)/dbe/libdbe.la'
1194 DBE_INC='-I$(top_srcdir)/dbe'
1197 AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes])
1198 if test "x$XF86BIGFONT" = xyes; then
1199 AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension])
1200 REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO"
1203 AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
1204 if test "x$DPMSExtension" = xyes; then
1205 AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
1208 AC_DEFINE(RENDER, 1, [Support RENDER extension])
1209 RENDER_LIB='$(top_builddir)/render/librender.la'
1210 RENDER_INC='-I$(top_srcdir)/render'
1212 AC_DEFINE(RANDR, 1, [Support RANDR extension])
1213 RANDR_LIB='$(top_builddir)/randr/librandr.la'
1214 RANDR_INC='-I$(top_srcdir)/randr'
1216 AC_DEFINE(XFIXES,1,[Support XFixes extension])
1217 FIXES_LIB='$(top_builddir)/xfixes/libxfixes.la'
1218 FIXES_INC='-I$(top_srcdir)/xfixes'
1220 AC_DEFINE(DAMAGE,1,[Support Damage extension])
1221 DAMAGE_LIB='$(top_builddir)/damageext/libdamageext.la'
1222 DAMAGE_INC='-I$(top_srcdir)/damageext'
1223 MIEXT_DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
1224 MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
1226 # XINPUT extension is integral part of the server
1227 AC_DEFINE(XINPUT, 1, [Support X Input extension])
1228 XI_LIB='$(top_builddir)/Xi/libXi.la'
1229 XI_INC='-I$(top_srcdir)/Xi'
1231 AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
1232 AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
1233 AM_CONDITIONAL(VBE, test "x$VBE" = xyes)
1234 AM_CONDITIONAL(INT10MODULE, test "x$INT10MODULE" = xyes)
1236 AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
1238 AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
1239 AC_ARG_WITH(xkb-bin-directory,
1240 AS_HELP_STRING([--with-xkb-bin-directory=DIR], [Directory containing xkbcomp program]),
1241 [XKB_BIN_DIRECTORY="$withval"],
1242 [XKB_BIN_DIRECTORY="$bindir"])
1244 AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir])
1246 dnl Make sure XKM_OUTPUT_DIR is an absolute path
1247 XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
1248 if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
1249 XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
1252 dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
1253 dnl XKB_COMPILED_DIR (used in Makefiles) must not or install-sh gets confused
1255 XKBOUTPUT=`echo $XKBOUTPUT/ | $SED 's|/*$|/|'`
1256 XKB_COMPILED_DIR=`echo $XKBOUTPUT | $SED 's|/*$||'`
1257 AC_DEFINE_DIR(XKM_OUTPUT_DIR, XKBOUTPUT, [Path to XKB output dir])
1258 AC_SUBST(XKB_COMPILED_DIR)
1260 if test "x$XKB_DFLT_RULES" = x; then
1263 dnl doesn't take AutoAddDevices into account, but whatever.
1264 XKB_DFLT_RULES="evdev"
1267 XKB_DFLT_RULES="base"
1271 AC_DEFINE_UNQUOTED(XKB_DFLT_RULES, ["$XKB_DFLT_RULES"], [Default XKB ruleset])
1272 AC_DEFINE_UNQUOTED(XKB_DFLT_MODEL, ["$XKB_DFLT_MODEL"], [Default XKB model])
1273 AC_DEFINE_UNQUOTED(XKB_DFLT_LAYOUT, ["$XKB_DFLT_LAYOUT"], [Default XKB layout])
1274 AC_DEFINE_UNQUOTED(XKB_DFLT_VARIANT, ["$XKB_DFLT_VARIANT"], [Default XKB variant])
1275 AC_DEFINE_UNQUOTED(XKB_DFLT_OPTIONS, ["$XKB_DFLT_OPTIONS"], [Default XKB options])
1276 AC_SUBST([XKB_DFLT_RULES])
1277 AC_SUBST([XKB_DFLT_MODEL])
1278 AC_SUBST([XKB_DFLT_LAYOUT])
1279 AC_SUBST([XKB_DFLT_VARIANT])
1280 AC_SUBST([XKB_DFLT_OPTIONS])
1282 XKB_LIB='$(top_builddir)/xkb/libxkb.la'
1283 XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
1284 REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
1286 PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], [have_libxdmcp="no"])
1287 if test "x$have_libxdmcp" = xyes; then
1288 AC_CHECK_LIB(Xdmcp, XdmcpWrap, [have_xdmcpwrap="yes"], [have_xdmcpwrap="no"], [$XDMCP_LIBS])
1290 if test "x$XDMCP" = xauto; then
1291 if test "x$have_libxdmcp" = xyes; then
1297 if test "x$XDMAUTH" = xauto; then
1298 if test "x$have_libxdmcp" = xyes && test "x$have_xdmcpwrap" = xyes; then
1305 AM_CONDITIONAL(XDMCP, [test "x$XDMCP" = xyes])
1306 if test "x$XDMCP" = xyes; then
1307 AC_DEFINE(XDMCP, 1, [Support XDM Control Protocol])
1308 REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1309 XDMCP_MODULES="xdmcp"
1312 AM_CONDITIONAL(XDMAUTH, [test "x$XDMAUTH" = xyes])
1313 if test "x$XDMAUTH" = xyes; then
1314 AC_DEFINE(HASXDMAUTH,1,[Support XDM-AUTH*-1])
1315 if ! test "x$XDMCP" = xyes; then
1316 REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1317 XDMCP_MODULES="xdmcp"
1321 AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
1322 AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
1323 AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
1324 dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
1325 AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI driver path])
1326 AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
1327 AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
1328 AC_DEFINE_UNQUOTED(XORG_DATE, ["$RELEASE_DATE"], [Vendor release])
1329 AC_DEFINE_UNQUOTED(XORG_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1330 AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
1332 if test -z "$OSNAME"; then
1336 AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
1337 AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
1338 AC_DEFINE_UNQUOTED(BUILDERSTRING, ["$BUILDERSTRING"], [Builder string])
1340 AC_SUBST([VENDOR_NAME_SHORT])
1341 AC_DEFINE_UNQUOTED(VENDOR_NAME, ["$VENDOR_NAME"], [Vendor name])
1342 AC_DEFINE_UNQUOTED(VENDOR_NAME_SHORT, ["$VENDOR_NAME_SHORT"], [Vendor name])
1343 AC_DEFINE_UNQUOTED(VENDOR_RELEASE, [$VENDOR_RELEASE], [Vendor release])
1344 AC_DEFINE_UNQUOTED(VENDOR_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1346 AC_DEFINE(NO_LIBCWRAPPER, 1, [Define to 1 if modules should avoid the libcwrapper])
1348 if test "x$DEBUGGING" = xyes; then
1349 AC_DEFINE(DEBUG, 1, [Enable debugging code])
1351 AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
1353 AC_DEFINE(XTEST, 1, [Support XTest extension])
1354 AC_DEFINE(XSYNC, 1, [Support XSync extension])
1355 AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
1356 AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])
1358 if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
1359 DIX_LIB='$(top_builddir)/dix/dix.O'
1360 OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS)'
1362 DIX_LIB='$(top_builddir)/dix/libdix.la'
1363 OS_LIB='$(top_builddir)/os/libos.la'
1368 MAIN_LIB='$(top_builddir)/dix/libmain.la'
1369 AC_SUBST([MAIN_LIB])
1371 MI_LIB='$(top_builddir)/mi/libmi.la'
1372 MI_EXT_LIB='$(top_builddir)/mi/libmiext.la'
1373 MI_INC='-I$(top_srcdir)/mi'
1374 FB_LIB='$(top_builddir)/fb/libfb.la'
1375 FB_INC='-I$(top_srcdir)/fb'
1376 MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
1377 MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
1378 MIEXT_SYNC_INC='-I$(top_srcdir)/miext/sync'
1379 MIEXT_SYNC_LIB='$(top_builddir)/miext/sync/libsync.la'
1380 CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
1384 [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI],
1385 [choose SHA1 implementation])])
1386 AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
1387 if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
1390 if test "x$with_sha1" = xlibc && test "x$HAVE_SHA1_IN_LIBC" != xyes; then
1391 AC_MSG_ERROR([libc requested but not found])
1393 if test "x$with_sha1" = xlibc; then
1394 AC_DEFINE([HAVE_SHA1_IN_LIBC], [1],
1395 [Use libc SHA1 functions])
1398 AC_CHECK_FUNC([CC_SHA1_Init], [HAVE_SHA1_IN_COMMONCRYPTO=yes])
1399 if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_COMMONCRYPTO" = xyes; then
1400 with_sha1=CommonCrypto
1402 if test "x$with_sha1" = xCommonCrypto && test "x$HAVE_SHA1_IN_COMMONCRYPTO" != xyes; then
1403 AC_MSG_ERROR([CommonCrypto requested but not found])
1405 if test "x$with_sha1" = xCommonCrypto; then
1406 AC_DEFINE([HAVE_SHA1_IN_COMMONCRYPTO], [1],
1407 [Use CommonCrypto SHA1 functions])
1410 dnl stdcall functions cannot be tested with AC_CHECK_LIB
1411 AC_CHECK_HEADER([wincrypt.h], [HAVE_SHA1_IN_CRYPTOAPI=yes], [], [#include <windows.h>])
1412 if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_CRYPTOAPI" = xyes; then
1415 if test "x$with_sha1" = xCryptoAPI && test "x$HAVE_SHA1_IN_CRYPTOAPI" != xyes; then
1416 AC_MSG_ERROR([CryptoAPI requested but not found])
1418 if test "x$with_sha1" = xCryptoAPI; then
1419 AC_DEFINE([HAVE_SHA1_IN_CRYPTOAPI], [1],
1420 [Use CryptoAPI SHA1 functions])
1423 AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
1424 if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
1427 if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
1428 AC_MSG_ERROR([libmd requested but not found])
1430 if test "x$with_sha1" = xlibmd; then
1431 AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
1432 [Use libmd SHA1 functions])
1435 PKG_CHECK_MODULES([LIBSHA1], [libsha1], [HAVE_LIBSHA1=yes], [HAVE_LIBSHA1=no])
1436 if test "x$with_sha1" = x && test "x$HAVE_LIBSHA1" = xyes; then
1439 if test "x$with_sha1" = xlibsha1 && test "x$HAVE_LIBSHA1" != xyes; then
1440 AC_MSG_ERROR([libsha1 requested but not found])
1442 if test "x$with_sha1" = xlibsha1; then
1443 AC_DEFINE([HAVE_SHA1_IN_LIBSHA1], [1],
1444 [Use libsha1 for SHA1])
1447 AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
1448 if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
1451 if test "x$with_sha1" = xlibgcrypt && test "x$HAVE_LIBGCRYPT" != xyes; then
1452 AC_MSG_ERROR([libgcrypt requested but not found])
1454 if test "x$with_sha1" = xlibgcrypt; then
1455 AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
1456 [Use libgcrypt SHA1 functions])
1459 # We don't need all of the OpenSSL libraries, just libcrypto
1460 AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
1461 PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
1462 [HAVE_OPENSSL_PKC=no])
1463 if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
1464 if test "x$with_sha1" = x; then
1468 if test "x$with_sha1" = xlibcrypto; then
1469 AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
1472 if test "x$with_sha1" = xlibcrypto; then
1473 if test "x$HAVE_LIBCRYPTO" = xyes; then
1476 SHA1_LIBS="$OPENSSL_LIBS"
1477 SHA1_CFLAGS="$OPENSSL_CFLAGS"
1480 AC_MSG_CHECKING([for SHA1 implementation])
1481 if test "x$with_sha1" = x; then
1482 AC_MSG_ERROR([No suitable SHA1 implementation found])
1484 AC_MSG_RESULT([$with_sha1])
1486 AC_SUBST(SHA1_CFLAGS)
1488 PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
1489 PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
1491 # Autotools has some unfortunate issues with library handling. In order to
1492 # get a server to rebuild when a dependency in the tree is changed, it must
1493 # be listed in SERVERNAME_DEPENDENCIES. However, no system libraries may be
1494 # listed there, or some versions of autotools will break (especially if a -L
1495 # is required to find the library). So, we keep two sets of libraries
1496 # detected: NAMESPACE_LIBS for in-tree libraries to be linked against, which
1497 # will go into the _DEPENDENCIES and _LDADD of the server, and
1498 # NAMESPACE_SYS_LIBS which will go into only the _LDADD. The
1499 # NAMESPACEMODULES_LIBS detected from pkgconfig should always go in
1500 # NAMESPACE_SYS_LIBS.
1502 # XSERVER_LIBS is the set of in-tree libraries which all servers require.
1503 # XSERVER_SYS_LIBS is the set of out-of-tree libraries which all servers
1506 XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS}"
1507 XSERVER_LIBS="$DIX_LIB $MI_LIB $OS_LIB"
1508 XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}"
1509 AC_SUBST([XSERVER_LIBS])
1510 AC_SUBST([XSERVER_SYS_LIBS])
1512 UTILS_SYS_LIBS="${SYS_LIBS}"
1513 AC_SUBST([UTILS_SYS_LIBS])
1515 # The Xorg binary needs to export symbols so that they can be used from modules
1516 # Some platforms require extra flags to do this. libtool should set the
1517 # necessary flags for each platform when -export-dynamic is passed to it.
1518 LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
1519 LD_NO_UNDEFINED_FLAG=
1523 LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-all,--out-implib,lib\$@.a"
1524 LD_NO_UNDEFINED_FLAG="-no-undefined -Wl,\$(top_builddir)/hw/xfree86/libXorg.exe.a"
1525 XORG_DRIVER_LIBS="-lXorg.exe -L\${moduledir} -lshadow -lfb -no-undefined"
1529 # We use AC_LINK_IFELSE to generate a temporary program conftest$EXEEXT
1530 # that we can link against for testing if the system linker is new
1531 # enough to support -z parent=<program> for verifying loadable modules
1532 # are only calling functions defined in either the loading program or
1533 # the libraries they're linked with.
1535 [AC_LANG_SOURCE([int main(int argc, char **argv) { return 0; }])],
1536 [mv conftest$EXEEXT conftest.parent
1537 XORG_CHECK_LINKER_FLAGS([-Wl,-z,parent=conftest.parent -G],
1538 [LD_NO_UNDEFINED_FLAG="-Wl,-z,defs -Wl,-z,parent=\$(top_builddir)/hw/xfree86/Xorg"
1539 # Not set yet, since this gets exported in xorg-server.pc to all the drivers,
1540 # and they're not all fixed to build correctly with it yet.
1541 # XORG_DRIVER_LIBS="-Wl,-z,defs -Wl,-z,parent=${bindir}/Xorg"
1543 [AC_LANG_SOURCE([extern int main(int argc, char **argv);
1544 int call_main(void) { return main(0, NULL); }])])
1545 rm -f conftest.parent
1549 AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
1550 AC_SUBST([LD_NO_UNDEFINED_FLAG])
1551 AC_SUBST([XORG_DRIVER_LIBS])
1552 AM_CONDITIONAL([CYGWIN], [test x"$CYGWIN" = xyes])
1553 AM_CONDITIONAL([NO_UNDEFINED], [test x"$LD_NO_UNDEFINED_FLAG" != x])
1555 dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
1556 dnl we need to replicate that here until those can all be fixed
1557 AC_MSG_CHECKING([if SVR4 needs to be defined])
1558 AC_EGREP_CPP([I_AM_SVR4],[
1559 #if defined(SVR4) || defined(__svr4__) || defined(__SVR4)
1563 AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
1564 AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
1566 XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $GESTURE_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SYNC_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC $DBE_INC"
1568 dnl ---------------------------------------------------------------------------
1570 dnl ---------------------------------------------------------------------------
1574 AC_MSG_CHECKING([whether to build Xvfb DDX])
1575 AC_MSG_RESULT([$XVFB])
1576 AM_CONDITIONAL(XVFB, [test "x$XVFB" = xyes])
1578 if test "x$XVFB" = xyes; then
1579 XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB"
1580 XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS"
1581 AC_SUBST([XVFB_LIBS])
1582 AC_SUBST([XVFB_SYS_LIBS])
1588 PKG_CHECK_MODULES(XNESTMODULES, [$LIBXEXT x11 xau $XDMCP_MODULES], [have_xnest=yes], [have_xnest=no])
1589 AC_MSG_CHECKING([whether to build Xnest DDX])
1590 if test "x$XNEST" = xauto; then
1593 AC_MSG_RESULT([$XNEST])
1594 AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
1596 if test "x$XNEST" = xyes; then
1597 if test "x$have_xnest" = xno; then
1598 AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
1600 XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB"
1601 XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
1602 AC_SUBST([XNEST_LIBS])
1603 AC_SUBST([XNEST_SYS_LIBS])
1609 AC_MSG_CHECKING([whether to build Xorg DDX])
1610 if test "x$XORG" = xauto; then
1613 cygwin*) XORG="no" ;;
1614 mingw*) XORG="no" ;;
1615 darwin*) XORG="no" ;;
1618 AC_MSG_RESULT([$XORG])
1620 if test "x$XORG" = xyes; then
1621 XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
1622 XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
1623 XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
1624 XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
1625 XORG_LIBS="$GESTURE_LIB $COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB"
1627 dnl ==================================================================
1628 dnl symbol visibility
1630 have_visibility=disabled
1631 if test x$SYMBOL_VISIBILITY != xno; then
1632 AC_MSG_CHECKING(for symbol visibility support)
1633 if test x$GCC = xyes; then
1634 VISIBILITY_CFLAGS="-fvisibility=hidden"
1636 if test x$SUNCC = xyes; then
1637 VISIBILITY_CFLAGS="-xldscope=hidden"
1642 if test x$have_visibility != xno; then
1643 save_CFLAGS="$CFLAGS"
1644 proto_inc=`$PKG_CONFIG --cflags xproto`
1645 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS $proto_inc"
1647 [#include <X11/Xfuncproto.h>
1648 extern _X_HIDDEN int hidden_int;
1649 extern _X_EXPORT int public_int;
1650 extern _X_HIDDEN int hidden_int_func(void);
1651 extern _X_EXPORT int public_int_func(void);],
1653 have_visibility=yes,
1657 AC_MSG_RESULT([$have_visibility])
1658 if test x$have_visibility != xno; then
1659 symbol_visibility=$VISIBILITY_CFLAGS
1660 XORG_CFLAGS="$XORG_CFLAGS $VISIBILITY_CFLAGS"
1661 XSERVER_CFLAGS="$XSERVER_CFLAGS $VISIBILITY_CFLAGS"
1664 dnl added to xorg-server.pc
1665 AC_SUBST([symbol_visibility])
1666 dnl ===================================================================
1668 dnl ===================================================================
1669 dnl ================= beginning of PCI configuration ==================
1670 dnl ===================================================================
1674 AC_MSG_CHECKING([whether to build Xorg PCI functions])
1675 if test "x$PCI" = xyes; then
1677 PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
1678 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS"
1679 XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS $LIBDRM_LIBS"
1680 XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS $LIBDRM_CFLAGS"
1682 AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation])
1683 AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
1685 gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*)
1686 xorg_bus_bsdpci="yes"
1691 xorg_bus_sparc="yes"
1695 AC_MSG_RESULT([$PCI])
1697 if test "x$CONFIG_UDEV_KMS" = xyes; then
1698 AC_DEFINE(XSERVER_PLATFORM_BUS, 1, [X server supports platform device enumeration])
1700 AC_MSG_RESULT([$XSERVER_PLATFORM_BUS])
1701 dnl ===================================================================
1702 dnl ==================== end of PCI configuration =====================
1703 dnl ===================================================================
1707 if test "x$LNXAPM" = xyes; then
1708 XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1710 XORG_OS_SUBDIR="linux"
1716 i*86|amd64*|x86_64*|ia64*)
1723 freebsd* | kfreebsd*-gnu | dragonfly*)
1724 XORG_OS_SUBDIR="bsd"
1727 XORG_OS_SUBDIR="bsd"
1730 if test "x$ac_cv_BSD_APM" = xyes \
1731 -o "x$ac_cv_BSD_KQUEUE_APM" = xyes; then
1732 XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1734 XORG_OS_SUBDIR="bsd"
1737 XORG_OS_SUBDIR="solaris"
1738 XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1739 AC_CHECK_HEADERS([sys/kd.h])
1740 AC_CHECK_HEADERS([sys/vt.h], [solaris_vt=yes], [solaris_vt=no])
1741 # Check for minimum supported release
1742 AC_MSG_CHECKING([Solaris version])
1743 OS_MINOR=`echo ${host_os}|$SED -e 's/^.*solaris2\.//' -e s'/\..*$//'`
1744 if test "${OS_MINOR}" -ge 7 ; then
1745 AC_MSG_RESULT(Solaris ${OS_MINOR})
1747 AC_MSG_RESULT(Solaris `echo ${host_os}|$SED -e 's/^.*solaris//`)
1749 if test "${OS_MINOR}" -lt 8 ; then
1750 AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.])
1752 if test "x$SUNCC" = "xyes"; then
1753 solaris_asm_inline="yes"
1755 AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"])
1759 SOLARIS_INOUT_ARCH="sparcv8plus"
1762 if test x$SOLARIS_64 = xyes ; then
1763 SOLARIS_INOUT_ARCH="amd64"
1765 SOLARIS_INOUT_ARCH="ia32"
1769 AC_MSG_ERROR([Unsupported Solaris platform. Only SPARC & x86 \
1770 are supported on Solaris in this release. If you are \
1771 interested in porting Xorg to your platform, please email \
1772 xorg@lists.freedesktop.org.]) ;;
1774 AC_SUBST([SOLARIS_INOUT_ARCH])
1775 if test x$solaris_asm_inline = xyes ; then
1776 SOLARIS_ASM_CFLAGS='$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il'
1777 XORG_CFLAGS="${XORG_CFLAGS} "'$(SOLARIS_ASM_CFLAGS)'
1779 AC_SUBST([SOLARIS_ASM_CFLAGS])
1782 XORG_OS_SUBDIR="hurd"
1785 XORG_OS_SUBDIR="stub"
1786 AC_MSG_NOTICE([m4_text_wrap(m4_join([ ],
1787 [Your OS is unknown. Xorg currently only supports Linux,],
1788 [Free/Open/Net/DragonFlyBSD, Solaris/OpenSolaris, & GNU Hurd.],
1789 [If you are interested in porting Xorg to your platform,],
1790 [please email xorg@lists.freedesktop.org.]))])
1799 if test "x$DGA" = xauto; then
1800 PKG_CHECK_MODULES(DGA, $DGAPROTO, [DGA=yes], [DGA=no])
1802 if test "x$DGA" = xyes; then
1803 XORG_MODULES="$XORG_MODULES $DGAPROTO"
1804 PKG_CHECK_MODULES(DGA, $DGAPROTO)
1805 AC_DEFINE(DGA, 1, [Support DGA extension])
1806 AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
1809 if test "x$XF86VIDMODE" = xauto; then
1810 PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO, [XF86VIDMODE=yes], [XF86VIDMODE=no])
1812 if test "x$XF86VIDMODE" = xyes; then
1813 XORG_MODULES="$XORG_MODULES $VIDMODEPROTO"
1814 PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO)
1815 AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
1818 if test -n "$XORG_MODULES"; then
1819 PKG_CHECK_MODULES(XORG_MODULES, [$XORG_MODULES])
1820 XORG_CFLAGS="$XORG_CFLAGS $XORG_MODULES_CFLAGS"
1821 XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
1824 AC_SUBST([XORG_LIBS])
1825 AC_SUBST([XORG_SYS_LIBS])
1826 AC_SUBST([XORG_INCS])
1827 AC_SUBST([XORG_OS_SUBDIR])
1828 AC_SUBST([XORG_CFLAGS])
1830 dnl these only go in xorg-config.h
1831 XF86CONFIGFILE="xorg.conf"
1832 XF86CONFIGDIR="xorg.conf.d"
1833 AC_SUBST(XF86CONFIGDIR)
1834 CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
1835 LOGPREFIX="$logdir/Xorg."
1836 AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
1837 AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
1838 AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
1839 AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
1840 AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
1841 AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
1842 AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
1843 AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE, [Name of configuration file])
1844 AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
1845 AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory])
1846 AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
1847 AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
1848 AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
1849 AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
1850 if test "x$VGAHW" = xyes; then
1851 AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
1854 driverdir="$moduledir/drivers"
1855 AC_SUBST([moduledir])
1856 AC_SUBST([driverdir])
1857 sdkdir="$includedir/xorg"
1858 extdir="$includedir/X11/extensions"
1859 sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
1862 AC_SUBST([sysconfigdir])
1865 # stuff the ABI versions into the pc file too
1867 grep ^.define.*${1}_VERSION ${srcdir}/hw/xfree86/common/xf86Module.h | tr '(),' ' .' | awk '{ print $4$5 }'
1869 abi_ansic=`extract_abi ANSIC`
1870 abi_videodrv=`extract_abi VIDEODRV`
1871 abi_xinput=`extract_abi XINPUT`
1872 abi_extension=`extract_abi EXTENSION`
1873 AC_SUBST([abi_ansic])
1874 AC_SUBST([abi_videodrv])
1875 AC_SUBST([abi_xinput])
1876 AC_SUBST([abi_extension])
1878 AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
1879 AM_CONDITIONAL([XORG_BUS_PCI], [test "x$PCI" = xyes])
1880 AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
1881 AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
1882 AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes])
1883 AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
1884 AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes])
1885 AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes])
1886 AM_CONDITIONAL([DGA], [test "x$DGA" = xyes])
1887 AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes])
1888 AM_CONDITIONAL([XORG_BUS_PLATFORM], [test "x$CONFIG_UDEV_KMS" = xyes])
1891 AC_MSG_CHECKING([whether to build XWin DDX])
1892 if test "x$XWIN" = xauto; then
1894 cygwin*) XWIN="yes" ;;
1895 mingw*) XWIN="yes" ;;
1899 AC_MSG_RESULT([$XWIN])
1901 if test "x$XWIN" = xyes; then
1902 AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [Location of system.XWinrc])
1903 AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
1904 AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
1905 AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
1906 AC_CHECK_TOOL(WINDRES, windres)
1908 PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau])
1910 if test "x$WINDOWSWM" = xauto; then
1911 PKG_CHECK_EXISTS($WINDOWSWMPROTO, [WINDOWSWM=yes], [WINDOWSWM=no])
1913 if test "x$WINDOWSWM" = xyes ; then
1914 PKG_CHECK_MODULES(WINDOWSWM, $WINDOWSWMPROTO)
1915 XWINMODULES_CFLAGS="$XWINMODULES_CFLAGS $WINDOWSWM_CFLAGS"
1916 AC_DEFINE(ROOTLESS,1,[Build Rootless code])
1921 XWIN_SERVER_NAME=XWin
1922 AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages])
1925 XWIN_SERVER_NAME=Xming
1926 AC_DEFINE(RELOCATE_PROJECTROOT,1,[Make PROJECT_ROOT relative to the xserver location])
1927 AC_DEFINE(HAS_WINSOCK,1,[Use Windows sockets])
1928 XWIN_SYS_LIBS=-lws2_32
1932 XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB"
1933 XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS $GLX_SYS_LIBS"
1935 AC_SUBST(XWIN_SERVER_NAME)
1936 AC_SUBST(XWIN_SYS_LIBS)
1938 if test "x$DEBUGGING" = xyes; then
1939 AC_DEFINE(CYGDEBUG, 1, [Simple debug messages])
1940 AC_DEFINE(CYGWINDOWING_DEBUG, 1, [Debug messages for window handling])
1941 AC_DEFINE(CYGMULTIWINDOW_DEBUG, 1, [Debug window manager])
1944 AC_DEFINE(DDXOSVERRORF, 1, [Use OsVendorVErrorF])
1945 AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
1947 dnl XWin with AIGLX requires OpenGL spec files in order to generate wrapper code for native GL functions
1948 if [test "x$XWIN" = xyes && test "x$AIGLX" = xyes] ; then
1949 if test "x$KHRONOS_SPEC_DIR" = "xauto" ; then
1950 PKG_CHECK_MODULES([KHRONOS_OPENGL_REGISTRY], [khronos-opengl-registry])
1951 KHRONOS_SPEC_DIR=`pkg-config khronos-opengl-registry --variable=specdir`
1953 AC_SUBST(KHRONOS_SPEC_DIR)
1957 AM_CONDITIONAL(XWIN, [test "x$XWIN" = xyes])
1958 AM_CONDITIONAL(XWIN_MULTIWINDOW, [test "x$XWIN" = xyes])
1959 AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
1960 AM_CONDITIONAL(XWIN_CLIPBOARD, [test "x$XWIN" = xyes])
1961 AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && test "x$AIGLX" = xyes])
1962 AM_CONDITIONAL(XWIN_NATIVEGDI, [test "x$XWIN" = xyes])
1963 AM_CONDITIONAL(XWIN_PRIMARYFB, [test "x$XWIN" = xyes])
1964 AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
1965 AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])
1967 dnl Darwin / OS X DDX
1968 if test "x$XQUARTZ" = xyes; then
1969 AC_DEFINE(XQUARTZ,1,[Have Quartz])
1970 AC_DEFINE(ROOTLESS,1,[Build Rootless code])
1972 XQUARTZ_LIBS="$MAIN_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB"
1973 AC_SUBST([XQUARTZ_LIBS])
1975 AC_CHECK_LIB([Xplugin],[xp_init],[:])
1977 CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA"
1979 PKG_CHECK_MODULES(XPBPROXY, $APPLEWMPROTO $LIBAPPLEWM xfixes x11)
1981 if test "x$XQUARTZ_SPARKLE" = xyes ; then
1982 AC_DEFINE(XQUARTZ_SPARKLE,1,[Support application updating through sparkle.])
1985 if test "x$STANDALONE_XPBPROXY" = xyes ; then
1986 AC_DEFINE(STANDALONE_XPBPROXY,1,[Build a standalone xpbproxy])
1990 # Support for objc in autotools is minimal and not documented.
1994 OBJCFLAGS='$(CFLAGS)'
1997 AC_SUBST([OBJCLINK])
1998 AC_SUBST([OBJCFLAGS])
1999 # internal, undocumented automake func follows :(
2000 _AM_DEPENDENCIES([OBJC])
2001 AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
2002 AM_CONDITIONAL(XQUARTZ_SPARKLE, [test "x$XQUARTZ_SPARKLE" != "xno"])
2003 AM_CONDITIONAL(STANDALONE_XPBPROXY, [test "x$STANDALONE_XPBPROXY" = xyes])
2008 [xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES],
2011 [xaw7 xmu xt xpm x11],
2015 AC_MSG_CHECKING([whether to build Xdmx DDX])
2016 if test "x$DMX" = xauto; then
2019 cygwin*) DMX="no" ;;
2021 darwin*) DMX="no" ;;
2024 AC_MSG_RESULT([$DMX])
2025 AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
2027 if test "x$DMX" = xyes; then
2028 if test "x$have_dmx" = xno; then
2029 AC_MSG_ERROR([Xdmx build explicitly requested, but required
2030 modules not found.])
2032 DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC"
2033 XDMX_CFLAGS="$DMXMODULES_CFLAGS"
2034 XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB"
2035 XDMX_SYS_LIBS="$DMXMODULES_LIBS"
2036 AC_SUBST([XDMX_CFLAGS])
2037 AC_SUBST([XDMX_LIBS])
2038 AC_SUBST([XDMX_SYS_LIBS])
2040 dnl USB sources in DMX require <linux/input.h>
2041 AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
2043 dnl Linux sources in DMX require <linux/keyboard.h>
2044 AC_CHECK_HEADER([linux/keyboard.h], DMX_BUILD_LNX="yes",
2046 AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
2047 AC_SUBST(XDMXCONFIG_DEP_LIBS)
2048 PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [$LIBDMX $LIBXEXT x11])
2049 AC_SUBST(DMXEXAMPLES_DEP_LIBS)
2050 PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [$LIBDMX xmu $LIBXEXT x11])
2051 AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
2052 PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [$LIBDMX $LIBXI $LIBXEXT x11])
2053 AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
2054 PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [$LIBXTST $LIBXEXT x11])
2055 AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
2056 PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres $LIBXEXT x11])
2057 AC_SUBST(XRESEXAMPLES_DEP_LIBS)
2058 PKG_CHECK_MODULES([X11EXAMPLES_DEP], [$LIBXEXT x11])
2059 AC_SUBST(X11EXAMPLES_DEP_LIBS)
2062 AM_CONDITIONAL([DMX_BUILD_LNX], [test "x$DMX_BUILD_LNX" = xyes])
2063 AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
2070 AM_CONDITIONAL(KDRIVE, [test x$KDRIVE = xyes])
2072 if test "$KDRIVE" = yes; then
2073 AC_DEFINE(KDRIVESERVER,1,[Build Kdrive X server])
2074 AC_DEFINE(KDRIVEDDXACTIONS,,[Build kdrive ddx])
2076 AC_CHECK_HEADERS([linux/fb.h])
2077 if test "$ac_cv_header_linux_fb_h" = yes && test "x$XFBDEV" = xauto; then
2081 if test "x$XFBDEV" = xyes; then
2083 AC_DEFINE(KDRIVEFBDEV, 1, [Build fbdev-based kdrive server])
2087 PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
2088 if test "x$HAVE_TSLIB" = xno; then
2089 AC_CHECK_LIB(ts, ts_open, [
2095 if test "xTSLIB" = xauto; then
2099 if test "x$TSLIB" = xyes; then
2100 if ! test "x$HAVE_TSLIB" = xyes; then
2101 AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
2103 AC_DEFINE(TSLIB, 1, [Have tslib support])
2107 if test "x$KDRIVE_KBD" = xyes; then
2108 AC_DEFINE(KDRIVE_KBD, 1, [Enable KDrive kbd driver])
2110 if test "x$KDRIVE_EVDEV" = xyes; then
2111 AC_DEFINE(KDRIVE_EVDEV, 1, [Enable KDrive evdev driver])
2113 if test "x$KDRIVE_MOUSE" = xyes; then
2114 AC_DEFINE(KDRIVE_MOUSE, 1, [Enable KDrive mouse driver])
2117 XEPHYR_REQUIRED_LIBS="x11 $LIBXEXT xau xdmcp"
2118 if test "x$XV" = xyes; then
2119 XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv"
2121 if test "x$DRI" = xyes && test "x$GLX" = xyes; then
2122 XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBGL libdrm"
2125 if test "x$XEPHYR" = xauto; then
2126 PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [XEPHYR="yes"], [XEPHYR="no"])
2127 elif test "x$XEPHYR" = xyes ; then
2128 PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS)
2131 # Xephyr needs nanosleep() which is in librt on Solaris
2132 AC_CHECK_FUNC([nanosleep], [],
2133 AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
2135 # damage shadow extension glx (NOTYET) fb mi
2136 KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
2137 KDRIVE_PURE_INCS="$KDRIVE_INC $MIEXT_SYNC_INC $MIEXT_DAMAGE_INC $MIEXT_SHADOW_INC $XEXT_INC $FB_INC $MI_INC"
2138 KDRIVE_OS_INC='-I$(top_srcdir)/hw/kdrive/linux'
2139 KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
2141 KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS"
2143 KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB"
2144 KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la'
2147 KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.la'
2149 if test "x$KDRIVE_EVDEV" = xauto; then
2152 if test "x$KDRIVE_KBD" = xauto; then
2155 if test "x$KDRIVE_MOUSE" = xauto; then
2160 if test "x$KDRIVE_EVDEV" = xauto; then
2163 if test "x$KDRIVE_KBD" = xauto; then
2166 if test "x$KDRIVE_MOUSE" = xauto; then
2171 KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.la'
2172 KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB"
2173 KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
2174 KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB"
2175 KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS $TSLIB_LIBS"
2177 AC_SUBST([XEPHYR_LIBS])
2178 AC_SUBST([XEPHYR_INCS])
2180 AC_SUBST([KDRIVE_INCS])
2181 AC_SUBST([KDRIVE_PURE_INCS])
2182 AC_SUBST([KDRIVE_CFLAGS])
2183 AC_SUBST([KDRIVE_PURE_LIBS])
2184 AC_SUBST([KDRIVE_LOCAL_LIBS])
2185 AC_SUBST([KDRIVE_LIBS])
2186 AM_CONDITIONAL(KDRIVELINUX, [test "x$KDRIVELINUX" = xyes])
2187 AM_CONDITIONAL(KDRIVE_EVDEV, [test "x$KDRIVE_EVDEV" = xyes])
2188 AM_CONDITIONAL(KDRIVE_KBD, [test "x$KDRIVE_KBD" = xyes])
2189 AM_CONDITIONAL(KDRIVE_MOUSE, [test "x$KDRIVE_MOUSE" = xyes])
2190 AM_CONDITIONAL(TSLIB, [test "x$HAVE_TSLIB" = xyes])
2191 AM_CONDITIONAL(KDRIVEFBDEV, [test "x$XFBDEV" = xyes])
2192 AM_CONDITIONAL(XEPHYR, [test "x$KDRIVE" = xyes && test "x$XEPHYR" = xyes])
2193 AM_CONDITIONAL(BUILD_KDRIVEFBDEVLIB, [test "x$KDRIVE" = xyes && test "x$KDRIVEFBDEVLIB" = xyes])
2194 AM_CONDITIONAL(XFAKESERVER, [test "x$KDRIVE" = xyes && test "x$XFAKE" = xyes])
2196 dnl and the rest of these are generic, so they're in config.h
2198 dnl though, thanks to the passing of some significant amount of time, the
2199 dnl above is probably a complete fallacy, and you should not rely on it.
2200 dnl but this is still actually better than imake, honest. -daniels
2203 #include <features.h>
2207 ], [], [AC_DEFINE(_GNU_SOURCE, 1,
2208 [ Enable GNU and other extensions to the C environment for glibc])])
2210 AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
2212 AC_SUBST([RELEASE_DATE])
2213 BUILD_DATE="`date +'%Y%m%d'`"
2214 AC_SUBST([BUILD_DATE])
2215 BUILD_TIME="`date +'1%H%M%S'`"
2216 AC_SUBST([BUILD_TIME])
2218 DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"
2220 AC_SUBST([DIX_CFLAGS])
2223 AC_SUBST([exec_prefix])
2226 AC_CONFIG_COMMANDS([sdksyms], [touch hw/xfree86/sdksyms.dep])
2246 miext/damage/Makefile
2247 miext/shadow/Makefile
2248 miext/rootless/Makefile
2259 hw/xfree86/common/Makefile
2260 hw/xfree86/common/xf86Build.h
2261 hw/xfree86/ddc/Makefile
2262 hw/xfree86/dixmods/Makefile
2263 hw/xfree86/doc/Makefile
2264 hw/xfree86/dri/Makefile
2265 hw/xfree86/dri2/Makefile
2266 hw/xfree86/exa/Makefile
2267 hw/xfree86/exa/man/Makefile
2268 hw/xfree86/fbdevhw/Makefile
2269 hw/xfree86/fbdevhw/man/Makefile
2270 hw/xfree86/i2c/Makefile
2271 hw/xfree86/int10/Makefile
2272 hw/xfree86/loader/Makefile
2273 hw/xfree86/man/Makefile
2274 hw/xfree86/modes/Makefile
2275 hw/xfree86/os-support/Makefile
2276 hw/xfree86/os-support/bsd/Makefile
2277 hw/xfree86/os-support/bus/Makefile
2278 hw/xfree86/os-support/hurd/Makefile
2279 hw/xfree86/os-support/misc/Makefile
2280 hw/xfree86/os-support/linux/Makefile
2281 hw/xfree86/os-support/solaris/Makefile
2282 hw/xfree86/os-support/stub/Makefile
2283 hw/xfree86/parser/Makefile
2284 hw/xfree86/ramdac/Makefile
2285 hw/xfree86/shadowfb/Makefile
2286 hw/xfree86/vbe/Makefile
2287 hw/xfree86/vgahw/Makefile
2288 hw/xfree86/x86emu/Makefile
2289 hw/xfree86/utils/Makefile
2290 hw/xfree86/utils/man/Makefile
2291 hw/xfree86/utils/cvt/Makefile
2292 hw/xfree86/utils/gtf/Makefile
2293 hw/dmx/config/Makefile
2294 hw/dmx/config/man/Makefile
2296 hw/dmx/doxygen/doxygen.conf
2297 hw/dmx/doxygen/Makefile
2298 hw/dmx/examples/Makefile
2299 hw/dmx/input/Makefile
2300 hw/dmx/glxProxy/Makefile
2306 hw/xnest/man/Makefile
2308 hw/xwin/glx/Makefile
2309 hw/xwin/man/Makefile
2311 hw/xquartz/GL/Makefile
2312 hw/xquartz/bundle/Makefile
2313 hw/xquartz/man/Makefile
2314 hw/xquartz/mach-startup/Makefile
2315 hw/xquartz/pbproxy/Makefile
2316 hw/xquartz/xpr/Makefile
2318 hw/kdrive/ephyr/Makefile
2319 hw/kdrive/ephyr/man/Makefile
2320 hw/kdrive/fake/Makefile
2321 hw/kdrive/fbdev/Makefile
2322 hw/kdrive/linux/Makefile
2323 hw/kdrive/src/Makefile