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.9.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
30 RELEASE_DATE="2010-12-13"
31 AC_CONFIG_SRCDIR([Makefile.am])
32 AM_INIT_AUTOMAKE([foreign dist-bzip2])
35 # Require xorg-macros minimum of 1.10 for XORG_CHECK_SGML_DOCTOOLS
36 m4_ifndef([XORG_MACROS_VERSION],
37 [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])])
38 XORG_MACROS_VERSION(1.10)
40 XORG_WITH_DOXYGEN(1.6.1)
41 XORG_CHECK_SGML_DOCTOOLS(1.5)
43 m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install fontutil 1.1 or later before running autoconf/autogen])])
44 XORG_FONT_MACROS_VERSION(1.1)
46 dnl this gets generated by autoheader, and thus contains all the defines. we
47 dnl don't ever actually use it, internally.
48 AC_CONFIG_HEADERS(include/do-not-use-config.h)
49 dnl xorg-server.h is an external header, designed to be included by loadable
51 AC_CONFIG_HEADERS(include/xorg-server.h)
52 dnl dix-config.h covers most of the DIX (i.e. everything but the DDX, not just
54 AC_CONFIG_HEADERS(include/dix-config.h)
55 dnl xorg-config.h covers the Xorg DDX.
56 AC_CONFIG_HEADERS(include/xorg-config.h)
57 dnl xkb-config.h covers XKB for the Xorg and Xnest DDXs.
58 AC_CONFIG_HEADERS(include/xkb-config.h)
59 dnl xwin-config.h covers the XWin DDX.
60 AC_CONFIG_HEADERS(include/xwin-config.h)
61 dnl kdrive-config.h covers the kdrive DDX
62 AC_CONFIG_HEADERS(include/kdrive-config.h)
63 dnl version-config.h covers the version numbers so they can be bumped without
64 dnl forcing an entire recompile.x
65 AC_CONFIG_HEADERS(include/version-config.h)
83 # Quoted so that make will expand $(CWARNFLAGS) in makefiles to allow
84 # easier overrides at build time.
85 XSERVER_CFLAGS='$(CWARNFLAGS)'
87 dnl Check for dtrace program (needed to build Xserver dtrace probes)
88 dnl Also checks for <sys/sdt.h>, since some Linux distros have an
89 dnl ISDN trace program named dtrace
90 AC_ARG_WITH(dtrace, AS_HELP_STRING([--with-dtrace=PATH],
91 [Enable dtrace probes (default: enabled if dtrace found)]),
92 [WDTRACE=$withval], [WDTRACE=auto])
93 if test "x$WDTRACE" = "xyes" -o "x$WDTRACE" = "xauto" ; then
94 AC_PATH_PROG(DTRACE, [dtrace], [not_found], [$PATH:/usr/sbin])
95 if test "x$DTRACE" = "xnot_found" ; then
96 if test "x$WDTRACE" = "xyes" ; then
97 AC_MSG_FAILURE([dtrace requested but not found])
101 AC_CHECK_HEADER(sys/sdt.h, [HAS_SDT_H="yes"], [HAS_SDT_H="no"])
102 if test "x$WDTRACE" = "xauto" -a "x$HAS_SDT_H" = "xno" ; then
107 if test "x$WDTRACE" != "xno" ; then
108 AC_DEFINE(XSERVER_DTRACE, 1,
109 [Define to 1 if the DTrace Xserver provider probes should be built in.])
111 # Solaris/OpenSolaris require dtrace -G to build dtrace probe information into
112 # object files, and require linking with those as relocatable objects, not .a
113 # archives. MacOS X handles all this in the normal compiler toolchain, and on
114 # some releases (like Tiger), will error out on dtrace -G. For now, other
115 # platforms with Dtrace ports are assumed to support -G (the FreeBSD and Linux
116 # ports appear to, based on my web searches, but have not yet been tested).
118 darwin*) SPECIAL_DTRACE_OBJECTS=no ;;
119 *) SPECIAL_DTRACE_OBJECTS=yes ;;
122 AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
123 AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x$SPECIAL_DTRACE_OBJECTS" = "xyes"])
127 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h fnmatch.h sys/utsname.h])
129 dnl Checks for typedefs, structures, and compiler characteristics.
131 AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
133 AC_CHECK_SIZEOF([unsigned long])
134 if test "$ac_cv_sizeof_unsigned_long" = 8; then
135 AC_DEFINE(_XSERVER64, 1, [Define to 1 if unsigned long is 64 bits.])
140 # Checks for headers/macros for byte swapping
142 # <byteswap.h> bswap_16, bswap_32, bswap_64 (glibc)
143 # <sys/endian.h> __swap16, __swap32, __swap64 (OpenBSD)
144 # <sys/endian.h> bswap16, bswap32, bswap64 (other BSD's)
145 # and a fallback to local macros if none of the above are found
147 # if <byteswap.h> is found, assume it's the correct version
148 AC_CHECK_HEADERS([byteswap.h])
150 # if <sys/endian.h> is found, have to check which version
151 AC_CHECK_HEADER([sys/endian.h], [HAVE_SYS_ENDIAN_H="yes"], [HAVE_SYS_ENDIAN_H="no"])
153 if test "x$HAVE_SYS_ENDIAN_H" = "xyes" ; then
154 AC_MSG_CHECKING([for __swap16 variant of <sys/endian.h> byteswapping macros])
155 AC_LINK_IFELSE([AC_LANG_PROGRAM([
156 #include <sys/types.h>
157 #include <sys/endian.h>
162 ], [SYS_ENDIAN__SWAP='yes'], [SYS_ENDIAN__SWAP='no'])
163 AC_MSG_RESULT([$SYS_ENDIAN__SWAP])
165 AC_MSG_CHECKING([for bswap16 variant of <sys/endian.h> byteswapping macros])
166 AC_LINK_IFELSE([AC_LANG_PROGRAM([
167 #include <sys/types.h>
168 #include <sys/endian.h>
173 ], [SYS_ENDIAN_BSWAP='yes'], [SYS_ENDIAN_BSWAP='no'])
174 AC_MSG_RESULT([$SYS_ENDIAN_BSWAP])
176 if test "$SYS_ENDIAN_BSWAP" = "yes" ; then
180 if test "$SYS_ENDIAN__SWAP" = "yes" ; then
188 if test "$USE_SYS_ENDIAN_H" = "yes" ; then
189 AC_DEFINE([USE_SYS_ENDIAN_H], 1,
190 [Define to use byteswap macros from <sys/endian.h>])
191 AC_DEFINE_UNQUOTED([bswap_16], ${BSWAP}16,
192 [Define to 16-bit byteswap macro])
193 AC_DEFINE_UNQUOTED([bswap_32], ${BSWAP}32,
194 [Define to 32-bit byteswap macro])
195 AC_DEFINE_UNQUOTED([bswap_64], ${BSWAP}64,
196 [Define to 64-bit byteswap macro])
200 dnl Check to see if dlopen is in default libraries (like Solaris, which
201 dnl has it in libc), or if libdl is needed to get it.
202 AC_CHECK_FUNC([dlopen], [],
203 AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
204 AC_SUBST(DLOPEN_LIBS)
206 dnl Checks for library functions.
208 AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr \
209 strtol getopt getopt_long vsnprintf walkcontext backtrace \
210 getisax getzoneid shmctl64 strcasestr ffs])
212 dnl Old HAS_* names used in os/*.c.
213 AC_CHECK_FUNC([getdtablesize],
214 AC_DEFINE(HAS_GETDTABLESIZE, 1, [Have the 'getdtablesize' function.]))
215 AC_CHECK_FUNC([getifaddrs],
216 AC_DEFINE(HAS_GETIFADDRS, 1, [Have the 'getifaddrs' function.]))
217 AC_CHECK_FUNC([getpeereid],
218 AC_DEFINE(HAS_GETPEEREID, 1, [Have the 'getpeereid' function.]))
219 AC_CHECK_FUNC([getpeerucred],
220 AC_DEFINE(HAS_GETPEERUCRED, 1, [Have the 'getpeerucred' function.]))
221 AC_CHECK_FUNC([strlcat], HAVE_STRLCAT=yes, HAVE_STRLCAT=no)
222 AM_CONDITIONAL(NEED_STRLCAT, [test x$HAVE_STRLCAT = xno])
223 AC_CHECK_FUNC([strlcpy], AC_DEFINE(HAS_STRLCPY, 1, [Have the 'strlcpy' function]))
225 AM_CONDITIONAL(NEED_VSNPRINTF, [test x$HAVE_VSNPRINTF = xno])
227 dnl Check for mmap support for Xvfb
228 AC_CHECK_FUNC([mmap], AC_DEFINE(HAS_MMAP, 1, [Have the 'mmap' function.]))
230 dnl Find the math libary
231 AC_CHECK_LIB(m, sqrt)
232 AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT, 1, [Have the 'cbrt' function]))
234 AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
237 AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h sys/agpgart.h], AGP=yes)
238 AM_CONDITIONAL(AGP, [test "x$AGP" = xyes])
241 AC_CHECK_HEADERS([linux/apm_bios.h], LNXAPM=yes)
242 AM_CONDITIONAL(LNXAPM, [test "x$LNXAPM" = xyes])
245 AC_CHECK_HEADERS([linux/fb.h], FBDEV=yes)
246 AM_CONDITIONAL(FBDEVHW, [test "x$FBDEV" = xyes])
249 AC_CHECK_HEADERS([asm/mtrr.h], ac_cv_asm_mtrr_h=yes)
250 if test "x$ac_cv_asm_mtrr_h" = xyes; then
255 AC_CHECK_HEADERS([sys/memrange.h], ac_cv_memrange_h=yes)
256 if test "x$ac_cv_memrange_h" = xyes; then
260 if test "x$HAVE_MTRR" = xyes; then
261 AC_DEFINE(HAS_MTRR_SUPPORT, 1, [MTRR support available])
264 dnl A NetBSD MTRR header
265 AC_CHECK_HEADERS([machine/mtrr.h], ac_cv_machine_mtrr_h=yes)
266 if test "x$ac_cv_machine_mtrr_h" = xyes; then
267 AC_DEFINE(HAS_MTRR_BUILTIN, 1, [Define to 1 if NetBSD built-in MTRR
268 support is available])
271 dnl FreeBSD kldload support (sys/linker.h)
272 AC_CHECK_HEADERS([sys/linker.h],
273 [ac_cv_sys_linker_h=yes],
274 [ac_cv_sys_linker_h=no],
275 [#include <sys/param.h>])
276 AM_CONDITIONAL(FREEBSD_KLDLOAD, [test "x$ac_cv_sys_linker_h" = xyes])
278 AC_CACHE_CHECK([for SYSV IPC],
281 #include <sys/types.h>
287 id = shmget(IPC_PRIVATE, 512, SHM_W | SHM_R);
288 if (id < 0) return -1;
289 return shmctl(id, IPC_RMID, 0);
291 [ac_cv_sysv_ipc=yes],
292 [ac_cv_sysv_ipc=no])])
293 if test "x$ac_cv_sysv_ipc" = xyes; then
294 AC_DEFINE(HAVE_SYSV_IPC, 1, [Define to 1 if SYSV IPC is available])
297 dnl OpenBSD /dev/xf86 aperture driver
298 if test -c /dev/xf86 ; then
299 AC_DEFINE(HAS_APERTURE_DRV, 1, [System has /dev/xf86 aperture driver])
303 AC_CHECK_HEADER([machine/apmvar.h],[
304 AC_CHECK_HEADER([sys/event.h],
305 ac_cv_BSD_KQUEUE_APM=yes,
308 AM_CONDITIONAL(BSD_APM, [test "x$ac_cv_BSD_APM" = xyes])
309 AM_CONDITIONAL(BSD_KQUEUE_APM, [test "x$ac_cv_BSD_KQUEUE_APM" = xyes])
311 dnl glibc backtrace support check (hw/xfree86/common/xf86Events.c)
312 AC_CHECK_HEADER([execinfo.h],[
313 AC_CHECK_LIB(c, backtrace, [
314 AC_DEFINE(HAVE_BACKTRACE, 1, [Has backtrace support])
315 AC_DEFINE(HAVE_EXECINFO_H, 1, [Have execinfo.h])
319 dnl ARM needs additional compiler flags for proper backtraces if GCC is
320 dnl used. Compile a dummy program with the -mapcs-frame option. If it
321 dnl succeeds, we know that we are building for ARM with GCC.
323 CFLAGS="-mapcs-frame"
325 AC_LANG_PROGRAM([[ ]]),
326 ARM_BACKTRACE_CFLAGS="$CFLAGS",
327 ARM_BACKTRACE_CFLAGS=""
330 AC_SUBST(ARM_BACKTRACE_CFLAGS)
332 dnl ---------------------------------------------------------------------------
333 dnl Bus options and CPU capabilities. Replaces logic in
334 dnl hw/xfree86/os-support/bus/Makefile.am, among others.
335 dnl ---------------------------------------------------------------------------
336 DEFAULT_INT10="x86emu"
338 dnl Override defaults as needed for specific platforms:
344 *freebsd*) SYS_LIBS=-lio ;;
345 *netbsd*) AC_DEFINE(USE_ALPHA_PIO, 1, [NetBSD PIO alpha IO]) ;;
347 GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee"
355 *freebsd*) AC_DEFINE(USE_DEV_IO) ;;
356 *dragonfly*) AC_DEFINE(USE_DEV_IO) ;;
357 *netbsd*) AC_DEFINE(USE_I386_IOPL)
360 *openbsd*) AC_DEFINE(USE_I386_IOPL)
368 *freebsd*) DEFAULT_INT10=stub ;;
373 BSD_ARCH_SOURCES="sparc64_video.c ioperm_noop.c"
374 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
379 *freebsd*) AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
380 *dragonfly*) AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
381 *netbsd*) AC_DEFINE(USE_I386_IOPL, 1, [BSD i386 iopl])
384 *openbsd*) AC_DEFINE(USE_AMD64_IOPL, 1, [BSD AMD64 iopl])
388 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
391 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
394 GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
397 AC_SUBST(GLX_ARCH_DEFINES)
399 dnl BSD *_video.c selection
400 AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
401 AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
402 AM_CONDITIONAL(I386_VIDEO, [test "x$I386_VIDEO" = xyes])
403 AM_CONDITIONAL(PPC_VIDEO, [test "x$PPC_VIDEO" = xyes])
404 AM_CONDITIONAL(SPARC64_VIDEO, [test "x$SPARC64_VIDEO" = xyes])
407 USE_SIGIO_BY_DEFAULT="yes"
408 dnl it would be nice to autodetect these *CONS_SUPPORTs
410 *freebsd* | *dragonfly*)
413 *) AC_DEFINE(CSRG_BASED, 1, [System is BSD-like]) ;;
415 AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
416 AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
417 AC_DEFINE(SYSCONS_SUPPORT, 1, [System has syscons console])
421 AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
422 AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
423 AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
424 AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
428 AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
429 AC_DEFINE(PCVT_SUPPORT, 1, [System has PC console])
430 AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
436 PKG_CHECK_EXISTS(libdrm, DRI=yes, DRI=no)
437 # Disable use of SIGIO by default until some system bugs are
438 # fixed - see Sun/OpenSolaris bug id 6879897
439 USE_SIGIO_BY_DEFAULT="no"
442 AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
445 CFLAGS="$CFLAGS -DFD_SETSIZE=256"
449 dnl augment XORG_RELEASE_VERSION for our snapshot number and to expose the
451 PVMAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1`
452 PVS=`echo $PACKAGE_VERSION | cut -d . -f 4 | cut -d - -f 1`
453 if test "x$PVS" = "x"; then
457 VENDOR_RELEASE="((($PVMAJOR) * 10000000) + (($PVM) * 100000) + (($PVP) * 1000) + $PVS)"
458 VENDOR_MAN_VERSION="Version ${PACKAGE_VERSION}"
460 VENDOR_NAME="The X.Org Foundation"
461 VENDOR_NAME_SHORT="X.Org"
462 VENDOR_WEB="http://wiki.x.org"
464 m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
467 AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror],
468 [Obsolete - use --enable-strict-compilation instead]),
469 AC_MSG_ERROR([--enable-werror has been replaced by --enable-strict-compilation]))
471 AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],
472 [Enable debugging (default: disabled)]),
473 [DEBUGGING=$enableval], [DEBUGGING=no])
474 AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
475 [Enable unit-tests (default: auto)]),
476 [UNITTESTS=$enableval], [UNITTESTS=auto])
477 AC_ARG_ENABLE(use-sigio-by-default, AS_HELP_STRING([--enable-use-sigio-by-default]
478 [Enable SIGIO input handlers by default (default: $USE_SIGIO_BY_DEFAULT)]),
479 [USE_SIGIO_BY_DEFAULT=$enableval], [])
480 AC_ARG_WITH(int10, AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
482 [INT10="$DEFAULT_INT10"])
483 AC_ARG_WITH(vendor-name, AS_HELP_STRING([--with-vendor-name=VENDOR],
484 [Vendor string reported by the server]),
485 [ VENDOR_NAME="$withval" ], [])
486 AC_ARG_WITH(vendor-name-short, AS_HELP_STRING([--with-vendor-name-short=VENDOR],
487 [Short version of vendor string reported by the server]),
488 [ VENDOR_NAME_SHORT="$withval" ], [])
489 AC_ARG_WITH(vendor-web, AS_HELP_STRING([--with-vendor-web=URL],
490 [Vendor web address reported by the server]),
491 [ VENDOR_WEB="$withval" ], [])
492 AC_ARG_WITH(module-dir, AS_HELP_STRING([--with-module-dir=DIR],
493 [Directory where modules are installed (default: $libdir/xorg/modules)]),
494 [ moduledir="$withval" ],
495 [ moduledir="${libdir}/xorg/modules" ])
496 AC_ARG_WITH(log-dir, AS_HELP_STRING([--with-log-dir=DIR],
497 [Directory where log files are kept (default: $localstatedir/log)]),
498 [ logdir="$withval" ],
499 [ logdir="$localstatedir/log" ])
500 AC_ARG_WITH(builder-addr, AS_HELP_STRING([--with-builder-addr=ADDRESS],
501 [Builder address (default: xorg@lists.freedesktop.org)]),
502 [ BUILDERADDR="$withval" ],
503 [ BUILDERADDR="xorg@lists.freedesktop.org" ])
504 AC_ARG_WITH(os-name, AS_HELP_STRING([--with-os-name=OSNAME], [Name of OS (default: output of "uname -srm")]),
505 [ OSNAME="$withval" ],
506 [ OSNAME=`uname -srm` ])
507 AC_ARG_WITH(os-vendor, AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name of OS vendor]),
508 [ OSVENDOR="$withval" ],
510 AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
511 [ BUILDERSTRING="$withval" ]
514 dnl Determine font path
516 XORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
517 XORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
518 XORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
519 XORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
520 XORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
521 XORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
523 dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
524 dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross
525 dnl compiling, assume default font path uses standard FONTROOTDIR directories.
526 DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
527 if test "$cross_compiling" != yes; then
528 AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
529 [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
531 darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
534 AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
535 [ FONTPATH="$withval" ],
536 [ FONTPATH="${DEFAULT_FONT_PATH}" ])
538 AC_MSG_CHECKING([for default font path])
539 AC_MSG_RESULT([$FONTPATH])
541 AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
542 [ XKBPATH="$withval" ],
543 [ XKBPATH="${datadir}/X11/xkb" ])
544 AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${datadir}/X11/xkb/compiled)]),
545 [ XKBOUTPUT="$withval" ],
546 [ XKBOUTPUT="compiled" ])
547 AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
548 [Keyboard ruleset (default: base/evdev)]),
549 [ XKB_DFLT_RULES="$withval" ],
550 [ XKB_DFLT_RULES="" ])
551 AC_ARG_WITH(default-xkb-model, AS_HELP_STRING([--with-default-xkb-model=MODEL],
552 [Keyboard model (default: pc105)]),
553 [ XKB_DFLT_MODEL="$withval" ],
554 [ XKB_DFLT_MODEL="pc105" ])
555 AC_ARG_WITH(default-xkb-layout, AS_HELP_STRING([--with-default-xkb-layout=LAYOUT],
556 [Keyboard layout (default: us)]),
557 [ XKB_DFLT_LAYOUT="$withval" ],
558 [ XKB_DFLT_LAYOUT="us" ])
559 AC_ARG_WITH(default-xkb-variant, AS_HELP_STRING([--with-default-xkb-variant=VARIANT],
560 [Keyboard variant (default: (none))]),
561 [ XKB_DFLT_VARIANT="$withval" ],
562 [ XKB_DFLT_VARIANT="" ])
563 AC_ARG_WITH(default-xkb-options, AS_HELP_STRING([--with-default-xkb-options=OPTIONS],
564 [Keyboard layout options (default: (none))]),
565 [ XKB_DFLT_OPTIONS="$withval" ],
566 [ XKB_DFLT_OPTIONS="" ])
567 AC_ARG_WITH(serverconfig-path, AS_HELP_STRING([--with-serverconfig-path=PATH],
568 [Directory where ancillary server config files are installed (default: ${libdir}/xorg)]),
569 [ SERVERCONFIG="$withval" ],
570 [ SERVERCONFIG="${libdir}/xorg" ])
571 AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: /Applications/Utilities)]),
572 [ APPLE_APPLICATIONS_DIR="${withval}" ],
573 [ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
574 AC_SUBST([APPLE_APPLICATIONS_DIR])
575 AC_ARG_WITH(apple-application-name,AS_HELP_STRING([--with-apple-application-name=NAME], [Name for the .app (default: X11)]),
576 [ APPLE_APPLICATION_NAME="${withval}" ],
577 [ APPLE_APPLICATION_NAME="X11" ])
578 AC_SUBST([APPLE_APPLICATION_NAME])
579 AC_ARG_WITH(launchd-id-prefix, AS_HELP_STRING([--with-launchd-id-prefix=PATH], [Prefix to use for launchd identifiers (default: org.x)]),
580 [ LAUNCHD_ID_PREFIX="${withval}" ],
581 [ LAUNCHD_ID_PREFIX="org.x" ])
582 AC_SUBST([LAUNCHD_ID_PREFIX])
583 AC_DEFINE_UNQUOTED(LAUNCHD_ID_PREFIX, "$LAUNCHD_ID_PREFIX", [Prefix to use for launchd identifiers])
584 AC_ARG_ENABLE(sparkle,AS_HELP_STRING([--enable-sparkle], [Enable updating of X11.app using the Sparkle Framework (default: disabled)]),
585 [ XQUARTZ_SPARKLE="${enableval}" ],
586 [ XQUARTZ_SPARKLE="no" ])
587 AC_SUBST([XQUARTZ_SPARKLE])
588 AC_ARG_ENABLE(builddocs, AS_HELP_STRING([--enable-builddocs], [Build docs (default: disabled)]),
589 [BUILDDOCS=$enableval],
591 AC_ARG_ENABLE(install-libxf86config,
592 AS_HELP_STRING([--enable-install-libxf86config],
593 [Install libxf86config (default: disabled)]),
594 [INSTALL_LIBXF86CONFIG=$enableval],
595 [INSTALL_LIBXF86CONFIG=no])
596 AC_ARG_ENABLE(visibility, AC_HELP_STRING([--enable-visibility], [Enable symbol visibility (default: auto)]),
597 [SYMBOL_VISIBILITY=$enableval],
598 [SYMBOL_VISIBILITY=auto])
599 AC_ARG_ENABLE(pc98, AC_HELP_STRING([--enable-pc98], [Enable PC98 support in Xorg (default: auto)]),
600 [SUPPORT_PC98=$enableval],
603 dnl GLX build options
604 AC_ARG_WITH(dri-driver-path, AS_HELP_STRING([--with-dri-driver-path=PATH], [Path to DRI drivers (default: ${libdir}/dri)]),
605 [ DRI_DRIVER_PATH="$withval" ],
606 [ DRI_DRIVER_PATH="${libdir}/dri" ])
607 AC_ARG_ENABLE(aiglx, AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]),
610 AC_ARG_ENABLE(glx-tls, AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: disabled)]),
611 [GLX_USE_TLS=$enableval],
615 AC_ARG_ENABLE(registry, AS_HELP_STRING([--disable-registry], [Build string registry module (default: enabled)]), [XREGISTRY=$enableval], [XREGISTRY=yes])
616 AC_ARG_ENABLE(composite, AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
617 AC_ARG_ENABLE(gesture, AS_HELP_STRING([--disable-gesture], [Build Gesture extension (default: enabled)]), [GESTURE=$enableval], [GESTURE=yes])
618 AC_ARG_ENABLE(mitshm, AS_HELP_STRING([--disable-shm], [Build SHM extension (default: enabled)]), [MITSHM=$enableval], [MITSHM=yes])
619 AC_ARG_ENABLE(xres, AS_HELP_STRING([--disable-xres], [Build XRes extension (default: enabled)]), [RES=$enableval], [RES=yes])
620 AC_ARG_ENABLE(record, AS_HELP_STRING([--disable-record], [Build Record extension (default: enabled)]), [RECORD=$enableval], [RECORD=yes])
621 AC_ARG_ENABLE(xv, AS_HELP_STRING([--disable-xv], [Build Xv extension (default: enabled)]), [XV=$enableval], [XV=yes])
622 AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc], [Build XvMC extension (default: enabled)]), [XVMC=$enableval], [XVMC=yes])
623 AC_ARG_ENABLE(dga, AS_HELP_STRING([--disable-dga], [Build DGA extension (default: auto)]), [DGA=$enableval], [DGA=auto])
624 AC_ARG_ENABLE(screensaver, AS_HELP_STRING([--disable-screensaver], [Build ScreenSaver extension (default: enabled)]), [SCREENSAVER=$enableval], [SCREENSAVER=yes])
625 AC_ARG_ENABLE(xdmcp, AS_HELP_STRING([--disable-xdmcp], [Build XDMCP extension (default: auto)]), [XDMCP=$enableval], [XDMCP=auto])
626 AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
627 AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
628 AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
629 AC_ARG_ENABLE(dri2, AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: auto)]), [DRI2=$enableval], [DRI2=auto])
630 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
631 AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
632 AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
633 AC_ARG_ENABLE(xselinux, AS_HELP_STRING([--enable-xselinux], [Build SELinux extension (default: disabled)]), [XSELINUX=$enableval], [XSELINUX=no])
634 AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--enable-xcsecurity], [Build Security extension (default: disabled)]), [XCSECURITY=$enableval], [XCSECURITY=no])
635 AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
636 AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
637 AC_ARG_ENABLE(dbe, AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes])
638 AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--enable-xf86bigfont], [Build XF86 Big Font extension (default: disabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=no])
639 AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
640 AC_ARG_ENABLE(config-udev, AS_HELP_STRING([--enable-config-udev], [Build udev support (default: auto)]), [CONFIG_UDEV=$enableval], [CONFIG_UDEV=auto])
641 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])
642 AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto])
643 AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
644 AC_ARG_ENABLE(xaa, AS_HELP_STRING([--enable-xaa], [Build XAA (default: enabled)]), [XAA=$enableval], [XAA=yes])
645 AC_ARG_ENABLE(vgahw, AS_HELP_STRING([--enable-vgahw], [Build Xorg with vga access (default: enabled)]), [VGAHW=$enableval], [VGAHW=yes])
646 AC_ARG_ENABLE(vbe, AS_HELP_STRING([--enable-vbe], [Build Xorg with VBE module (default: enabled)]), [VBE=$enableval], [VBE=yes])
647 AC_ARG_ENABLE(int10-module, AS_HELP_STRING([--enable-int10-module], [Build Xorg with int10 module (default: enabled)]), [INT10MODULE=$enableval], [INT10MODULE=yes])
648 AC_ARG_ENABLE(windowswm, AS_HELP_STRING([--enable-windowswm], [Build XWin with WindowsWM extension (default: no)]), [WINDOWSWM=$enableval], [WINDOWSWM=no])
649 AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
652 AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
653 AC_ARG_ENABLE(dmx, AS_HELP_STRING([--enable-dmx], [Build DMX server (default: auto)]), [DMX=$enableval], [DMX=auto])
654 AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes])
655 AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: auto)]), [XNEST=$enableval], [XNEST=auto])
656 AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
657 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])
658 AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
659 dnl kdrive and its subsystems
660 AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
661 AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
662 AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto])
663 AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto])
665 AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd driver for kdrive (default: auto)]), [KDRIVE_KBD=$enableval], [KDRIVE_KBD=auto])
666 AC_ARG_ENABLE(kdrive-mouse, AC_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto])
667 AC_ARG_ENABLE(kdrive-evdev, AC_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
670 dnl chown/chmod to be setuid root as part of build
671 dnl Replaces InstallXserverSetUID in imake
672 AC_ARG_ENABLE(install-setuid,
673 AS_HELP_STRING([--enable-install-setuid],
674 [Install Xorg server as owned by root with setuid bit (default: auto)]),
675 [SETUID=$enableval], [SETUID=auto])
676 AC_MSG_CHECKING([to see if we can install the Xorg server as root])
677 if test "x$SETUID" = "xauto" ; then
679 cygwin*) SETUID="no" ;;
680 darwin*) SETUID="no" ;;
683 sparc) SETUID="no" ;;
687 if test "x$SETUID" = xyes; then
689 chown root testfile > /dev/null 2>&1 || SETUID="no"
693 AC_MSG_RESULT([$SETUID])
694 AM_CONDITIONAL(INSTALL_SETUID, [test "x$SETUID" = "xyes"])
696 dnl Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro
697 dnl was not expanded, since xorg-server with no transport types is rather useless.
699 dnl If you're seeing an error here, be sure you installed the lib/xtrans module
700 dnl first and if it's not in the default location, that you set the ACLOCAL
701 dnl environment variable to find it, such as:
702 dnl ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
703 m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$])
705 # Transport selection macro from xtrans.m4
706 XTRANS_CONNECTION_FLAGS
708 # Secure RPC detection macro from xtrans.m4
709 XTRANS_SECURE_RPC_FLAGS
710 AM_CONDITIONAL(SECURE_RPC, [test "x$SECURE_RPC" = xyes])
712 AM_CONDITIONAL(INT10_VM86, [test "x$INT10" = xvm86])
713 AM_CONDITIONAL(INT10_X86EMU, [test "x$INT10" = xx86emu])
714 AM_CONDITIONAL(INT10_STUB, [test "x$INT10" = xstub])
715 if test "x$INT10" = xyes; then
717 AC_CHECK_HEADERS([sys/vm86.h sys/io.h])
720 dnl Handle building documentation
721 AM_CONDITIONAL(BUILDDOCS, test "x$BUILDDOCS" = xyes)
723 XORG_ENABLE_DEVEL_DOCS
724 XORG_WITH_XMLTO(0.0.20)
727 dnl Handle installing libxf86config
728 AM_CONDITIONAL(INSTALL_LIBXF86CONFIG, [test "x$INSTALL_LIBXF86CONFIG" = xyes])
730 dnl DDX Detection... Yes, it's ugly to have it here... but we need to
731 dnl handle this early on so that we don't require unsupported extensions
743 if test x$XQUARTZ = xauto; then
744 AC_CACHE_CHECK([whether to build Xquartz],xorg_cv_Carbon_framework,[
745 save_LDFLAGS=$LDFLAGS
746 LDFLAGS="$LDFLAGS -framework Carbon"
747 AC_LINK_IFELSE([char FSFindFolder(); int main() { FSFindFolder(); return 0;}],
748 [xorg_cv_Carbon_framework=yes],
749 [xorg_cv_Carbon_framework=no])
750 LDFLAGS=$save_LDFLAGS])
752 if test "X$xorg_cv_Carbon_framework" = Xyes; then
759 if test "x$XQUARTZ" = xyes ; then
773 dnl ---------------------------------------------------------------------------
774 dnl Extension section
775 dnl ---------------------------------------------------------------------------
776 XEXT_INC='-I$(top_srcdir)/Xext'
777 XEXT_LIB='$(top_builddir)/Xext/libXext.la'
778 XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
781 VIDEOPROTO="videoproto"
782 COMPOSITEPROTO="compositeproto >= 0.4"
783 GESTUREPROTO="gestureproto >= 0.1.0"
784 RECORDPROTO="recordproto >= 1.13.99.1"
785 SCRNSAVERPROTO="scrnsaverproto >= 1.1"
786 RESOURCEPROTO="resourceproto"
787 DRIPROTO="xf86driproto >= 2.1.0"
788 DRI2PROTO="dri2proto >= 2.3"
789 XINERAMAPROTO="xineramaproto"
790 BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
791 XCALIBRATEPROTO="xcalibrateproto"
792 DGAPROTO="xf86dgaproto >= 2.0.99.1"
793 GLPROTO="glproto >= 1.4.10"
794 DMXPROTO="dmxproto >= 2.2.99.1"
795 VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
796 WINDOWSWMPROTO="windowswmproto"
797 APPLEWMPROTO="applewmproto >= 1.4"
799 dnl Core modules for most extensions, et al.
800 SDK_REQUIRED_MODULES="[xproto >= 7.0.17] [randrproto >= 1.2.99.3] [renderproto >= 0.11] [xextproto >= 7.1.99] [inputproto >= 1.9.99.902] [kbproto >= 1.0.3] fontsproto"
801 # Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
802 AC_SUBST(SDK_REQUIRED_MODULES)
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.8.0"
815 LIBGLIB="glib-2.0 >= 2.16"
816 LIBUDEV="libudev >= 143"
817 LIBSELINUX="libselinux >= 2.0.86"
818 LIBDBUS="dbus-1 >= 1.0"
819 LIBPIXMAN="pixman-1 >= 0.15.20"
821 dnl Pixman is always required, but we separate it out so we can link
822 dnl specific modules against it
823 PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
824 REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
826 REQUIRED_MODULES="[fixesproto >= 4.1] [damageproto >= 1.1] [xcmiscproto >= 1.2.0] [xtrans >= 1.2.2] [bigreqsproto >= 1.1.0] $SDK_REQUIRED_MODULES"
828 if test "x$CONFIG_UDEV" = xyes &&
829 { test "x$CONFIG_DBUS_API" = xyes || test "x$CONFIG_HAL" = xyes; }; then
830 AC_MSG_ERROR([Hotplugging through both libudev and dbus/hal not allowed])
833 PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
834 if test "x$CONFIG_UDEV" = xauto; then
835 CONFIG_UDEV="$HAVE_LIBUDEV"
837 AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes])
838 if test "x$CONFIG_UDEV" = xyes; then
841 if ! test "x$HAVE_LIBUDEV" = xyes; then
842 AC_MSG_ERROR([udev configuration API requested, but libudev is not installed])
844 AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug])
847 dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas
848 dnl CONFIG_DBUS_API is true if we want to enable the D-Bus config
850 PKG_CHECK_MODULES(DBUS, $LIBDBUS, [HAVE_DBUS=yes], [HAVE_DBUS=no])
851 if test "x$HAVE_DBUS" = xyes; then
852 AC_DEFINE(HAVE_DBUS, 1, [Have D-Bus support])
854 AM_CONDITIONAL(HAVE_DBUS, [test "x$HAVE_DBUS" = xyes])
856 if test "x$CONFIG_DBUS_API" = xauto; then
857 CONFIG_DBUS_API="$HAVE_DBUS"
859 if test "x$CONFIG_DBUS_API" = xyes; then
860 if ! test "x$HAVE_DBUS" = xyes; then
861 AC_MSG_ERROR([D-Bus configuration API requested, but D-Bus is not installed.])
864 AC_DEFINE(CONFIG_DBUS_API, 1, [Use the D-Bus input configuration API])
865 CONFIG_NEED_DBUS="yes"
867 AM_CONDITIONAL(CONFIG_DBUS_API, [test "x$CONFIG_DBUS_API" = xyes])
869 PKG_CHECK_MODULES(HAL, hal, [HAVE_HAL=yes], [HAVE_HAL=no])
870 if test "x$CONFIG_HAL" = xauto; then
871 CONFIG_HAL="$HAVE_HAL"
873 if test "x$CONFIG_HAL" = xyes; then
874 if ! test "x$HAVE_HAL" = xyes; then
875 AC_MSG_ERROR([HAL hotplug API requested, but HAL is not installed.])
878 AC_DEFINE(CONFIG_HAL, 1, [Use the HAL hotplug API])
879 CONFIG_NEED_DBUS="yes"
881 AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes])
883 if test "x$CONFIG_NEED_DBUS" = xyes; then
884 AC_DEFINE(CONFIG_NEED_DBUS, 1, [Use D-Bus for input hotplug])
886 AM_CONDITIONAL(CONFIG_NEED_DBUS, [test "x$CONFIG_NEED_DBUS" = xyes])
888 if test "x$USE_SIGIO_BY_DEFAULT" = xyes; then
889 USE_SIGIO_BY_DEFAULT_VALUE=TRUE
891 USE_SIGIO_BY_DEFAULT_VALUE=FALSE
893 AC_DEFINE_UNQUOTED([USE_SIGIO_BY_DEFAULT], [$USE_SIGIO_BY_DEFAULT_VALUE],
894 [Use SIGIO handlers for input device events by default])
896 AC_MSG_CHECKING([for glibc...])
898 #include <features.h>
902 ], glibc=yes, glibc=no)
903 AC_MSG_RESULT([$glibc])
905 AC_CHECK_FUNCS([clock_gettime], [have_clock_gettime=yes],
906 [AC_CHECK_LIB([rt], [clock_gettime], [have_clock_gettime=-lrt],
907 [have_clock_gettime=no])])
909 AC_MSG_CHECKING([for a useful monotonic clock ...])
911 if ! test "x$have_clock_gettime" = xno; then
912 if ! test "x$have_clock_gettime" = xyes; then
913 CLOCK_LIBS="$have_clock_gettime"
920 CPPFLAGS_SAVE="$CPPFLAGS"
922 if test x"$glibc" = xyes; then
923 CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
929 int main(int argc, char *argv[[]]) {
932 if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
937 ], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
938 [MONOTONIC_CLOCK="cross compiling"])
941 CPPFLAGS="$CPPFLAGS_SAVE"
946 AC_MSG_RESULT([$MONOTONIC_CLOCK])
948 if test "x$MONOTONIC_CLOCK" = xyes; then
949 AC_DEFINE(MONOTONIC_CLOCK, 1, [Have monotonic clock from clock_gettime()])
950 LIBS="$LIBS $CLOCK_LIBS"
953 AM_CONDITIONAL(XV, [test "x$XV" = xyes])
954 if test "x$XV" = xyes; then
955 AC_DEFINE(XV, 1, [Support Xv extension])
956 AC_DEFINE(XvExtension, 1, [Build Xv extension])
957 REQUIRED_MODULES="$REQUIRED_MODULES $VIDEOPROTO"
958 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $VIDEOPROTO"
963 AM_CONDITIONAL(XVMC, [test "x$XVMC" = xyes])
964 if test "x$XVMC" = xyes; then
965 AC_DEFINE(XvMCExtension, 1, [Build XvMC extension])
968 AM_CONDITIONAL(XREGISTRY, [test "x$XREGISTRY" = xyes])
969 if test "x$XREGISTRY" = xyes; then
970 AC_DEFINE(XREGISTRY, 1, [Build registry module])
973 AM_CONDITIONAL(GESTURE, [test "x$GESTURE" = xyes])
974 if test "x$GESTURE" = xyes; then
975 AC_DEFINE(GESTURE, 1, [Support Gesture Extension])
976 REQUIRED_MODULES="$REQUIRED_MODULES $GESTUREPROTO"
977 GESTURE_LIB='$(top_builddir)/gesture/libgesture.la'
978 GESTURE_INC='-I$(top_srcdir)/gesture'
981 AM_CONDITIONAL(COMPOSITE, [test "x$COMPOSITE" = xyes])
982 if test "x$COMPOSITE" = xyes; then
983 AC_DEFINE(COMPOSITE, 1, [Support Composite Extension])
984 REQUIRED_MODULES="$REQUIRED_MODULES $COMPOSITEPROTO"
985 COMPOSITE_LIB='$(top_builddir)/composite/libcomposite.la'
986 COMPOSITE_INC='-I$(top_srcdir)/composite'
989 AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes])
990 if test "x$MITSHM" = xyes; then
991 AC_DEFINE(MITSHM, 1, [Support MIT-SHM extension])
992 AC_DEFINE(HAS_SHM, 1, [Support SHM])
995 AM_CONDITIONAL(RECORD, [test "x$RECORD" = xyes])
996 if test "x$RECORD" = xyes; then
997 AC_DEFINE(XRECORD, 1, [Support Record extension])
998 REQUIRED_MODULES="$REQUIRED_MODULES $RECORDPROTO"
999 RECORD_LIB='$(top_builddir)/record/librecord.la'
1002 AM_CONDITIONAL(SCREENSAVER, [test "x$SCREENSAVER" = xyes])
1003 if test "x$SCREENSAVER" = xyes; then
1004 AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension])
1005 REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO"
1008 AM_CONDITIONAL(RES, [test "x$RES" = xyes])
1009 if test "x$RES" = xyes; then
1010 AC_DEFINE(RES, 1, [Support X resource extension])
1011 REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO"
1014 if test "x$GLX" = xyes; then
1015 PKG_CHECK_MODULES([XLIB], [x11])
1016 PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL)
1017 AC_SUBST(XLIB_CFLAGS)
1018 AC_DEFINE(GLXEXT, 1, [Build GLX extension])
1019 GLX_LIBS='$(top_builddir)/glx/libglx.la'
1020 GLX_SYS_LIBS="$GLX_SYS_LIBS"
1024 AM_CONDITIONAL(GLX, test "x$GLX" = xyes)
1026 if test "x$AIGLX" = xyes -a "x$GLX" = xyes -a "x$DRI" = xyes; then
1027 AC_DEFINE(AIGLX, 1, [Build AIGLX loader])
1031 AM_CONDITIONAL(AIGLX, test "x$AIGLX" = xyes)
1033 if test "x$GLX_USE_TLS" = xyes -a "x$AIGLX" = xyes; then
1034 GLX_DEFINES="-DGLX_USE_TLS -DPTHREADS"
1035 GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread"
1037 AC_SUBST([GLX_DEFINES])
1039 AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
1040 if test "x$DRI" = xyes; then
1041 AC_DEFINE(XF86DRI, 1, [Build DRI extension])
1042 PKG_CHECK_MODULES([DRIPROTO], [$DRIPROTO])
1043 PKG_CHECK_MODULES([DRI], $GLPROTO $LIBDRI)
1044 AC_SUBST(DRIPROTO_CFLAGS)
1047 PKG_CHECK_MODULES([DRI2PROTO], $DRI2PROTO,
1048 [HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
1049 case "$DRI2,$HAVE_DRI2PROTO" in
1051 AC_MSG_ERROR([DRI2 requested, but dri2proto not found.])
1054 AC_DEFINE(DRI2, 1, [Build DRI2 extension])
1056 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO"
1059 AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
1061 if test "x$DRI" = xyes || test "x$DRI2" = xyes; then
1062 if test "x$DRM" = xyes; then
1063 AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support])
1064 PKG_CHECK_MODULES([LIBDRM], $LIBDRM)
1068 if test "x$DRI2" = xyes; then
1070 CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS"
1071 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <GL/gl.h>
1072 #include <GL/internal/dri_interface.h>
1074 #error DRI2 extension not available.
1076 [HAVE_DRI2EXTENSION=yes],
1077 [HAVE_DRI2EXTENSION=no])
1079 if test "x$HAVE_DRI2EXTENSION" = xyes; then
1080 AC_DEFINE(DRI2_AIGLX, 1, [Build DRI2 AIGLX loader])
1083 AC_MSG_NOTICE([DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h.])
1087 AM_CONDITIONAL(DRI2_AIGLX, test "x$DRI2_AIGLX" = xyes)
1090 AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
1091 if test "x$XINERAMA" = xyes; then
1092 AC_DEFINE(XINERAMA, 1, [Support Xinerama extension])
1093 AC_DEFINE(PANORAMIX, 1, [Internal define for Xinerama])
1094 REQUIRED_MODULES="$REQUIRED_MODULES $XINERAMAPROTO"
1095 SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
1098 AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
1099 if test "x$XACE" = xyes; then
1100 AC_DEFINE(XACE, 1, [Build X-ACE extension])
1103 AM_CONDITIONAL(XSELINUX, [test "x$XSELINUX" = xyes])
1104 if test "x$XSELINUX" = xyes; then
1105 if test "x$XACE" != xyes; then
1106 AC_MSG_ERROR([cannot build SELinux extension without X-ACE])
1108 AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers]))
1109 AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library]))
1110 PKG_CHECK_MODULES([SELINUX], $LIBSELINUX)
1111 SELINUX_LIBS="$SELINUX_LIBS -laudit"
1112 AC_DEFINE(XSELINUX, 1, [Build SELinux extension])
1115 AM_CONDITIONAL(XCSECURITY, [test "x$XCSECURITY" = xyes])
1116 if test "x$XCSECURITY" = xyes; then
1117 if test "x$XACE" != xyes; then
1118 AC_MSG_ERROR([cannot build Security extension without X-ACE])
1120 AC_DEFINE(XCSECURITY, 1, [Build Security extension])
1123 AM_CONDITIONAL(DBE, [test "x$DBE" = xyes])
1124 if test "x$DBE" = xyes; then
1125 AC_DEFINE(DBE, 1, [Support DBE extension])
1126 DBE_LIB='$(top_builddir)/dbe/libdbe.la'
1129 AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes])
1130 if test "x$XF86BIGFONT" = xyes; then
1131 AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension])
1132 REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO"
1135 AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
1136 if test "x$DPMSExtension" = xyes; then
1137 AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
1140 if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
1141 AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
1142 REQUIRED_MODULES="$REQUIRED_MODULES $XCALIBRATEPROTO"
1146 AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes])
1148 AC_DEFINE(RENDER, 1, [Support RENDER extension])
1149 RENDER_LIB='$(top_builddir)/render/librender.la'
1150 RENDER_INC='-I$(top_srcdir)/render'
1152 AC_DEFINE(RANDR, 1, [Support RANDR extension])
1153 RANDR_LIB='$(top_builddir)/randr/librandr.la'
1154 RANDR_INC='-I$(top_srcdir)/randr'
1156 AC_DEFINE(XFIXES,1,[Support XFixes extension])
1157 FIXES_LIB='$(top_builddir)/xfixes/libxfixes.la'
1158 FIXES_INC='-I$(top_srcdir)/xfixes'
1160 AC_DEFINE(DAMAGE,1,[Support Damage extension])
1161 DAMAGE_LIB='$(top_builddir)/damageext/libdamageext.la'
1162 DAMAGE_INC='-I$(top_srcdir)/damageext'
1163 MIEXT_DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
1164 MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
1166 # XINPUT extension is integral part of the server
1167 AC_DEFINE(XINPUT, 1, [Support X Input extension])
1168 XI_LIB='$(top_builddir)/Xi/libXi.la'
1169 XI_INC='-I$(top_srcdir)/Xi'
1171 AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
1172 AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
1173 AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
1174 AM_CONDITIONAL(VBE, test "x$VBE" = xyes)
1175 AM_CONDITIONAL(INT10MODULE, test "x$INT10MODULE" = xyes)
1177 AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
1179 AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
1180 AC_ARG_WITH(xkb-bin-directory,
1181 AS_HELP_STRING([--with-xkb-bin-directory=DIR], [Directory containing xkbcomp program]),
1182 [XKB_BIN_DIRECTORY="$withval"],
1183 [XKB_BIN_DIRECTORY="$bindir"])
1185 AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir])
1187 dnl Make sure XKM_OUTPUT_DIR is an absolute path
1188 XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
1189 if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
1190 XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
1193 dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
1194 dnl XKB_COMPILED_DIR (used in Makefiles) must not or install-sh gets confused
1196 XKBOUTPUT=`echo $XKBOUTPUT/ | $SED 's|/*$|/|'`
1197 XKB_COMPILED_DIR=`echo $XKBOUTPUT | $SED 's|/*$||'`
1198 AC_DEFINE_DIR(XKM_OUTPUT_DIR, XKBOUTPUT, [Path to XKB output dir])
1199 AC_SUBST(XKB_COMPILED_DIR)
1201 if test "x$XKB_DFLT_RULES" = x; then
1204 dnl doesn't take AutoAddDevices into account, but whatever.
1205 if test "x$CONFIG_HAL" = xyes; then
1206 XKB_DFLT_RULES="evdev"
1208 XKB_DFLT_RULES="base"
1212 XKB_DFLT_RULES="base"
1216 AC_DEFINE_UNQUOTED(XKB_DFLT_RULES, ["$XKB_DFLT_RULES"], [Default XKB ruleset])
1217 AC_DEFINE_UNQUOTED(XKB_DFLT_MODEL, ["$XKB_DFLT_MODEL"], [Default XKB model])
1218 AC_DEFINE_UNQUOTED(XKB_DFLT_LAYOUT, ["$XKB_DFLT_LAYOUT"], [Default XKB layout])
1219 AC_DEFINE_UNQUOTED(XKB_DFLT_VARIANT, ["$XKB_DFLT_VARIANT"], [Default XKB variant])
1220 AC_DEFINE_UNQUOTED(XKB_DFLT_OPTIONS, ["$XKB_DFLT_OPTIONS"], [Default XKB options])
1222 XKB_LIB='$(top_builddir)/xkb/libxkb.la'
1223 XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
1224 REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
1226 AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
1227 [Do not have 'strcasecmp'.]))
1228 AC_CHECK_FUNC(strncasecmp, [], AC_DEFINE([NEED_STRNCASECMP], 1,
1229 [Do not have 'strncasecmp'.]))
1230 AC_CHECK_FUNC(strcasestr, [], AC_DEFINE([NEED_STRCASESTR], 1,
1231 [Do not have 'strcasestr'.]))
1233 PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], [have_libxdmcp="no"])
1234 if test "x$have_libxdmcp" = xyes; then
1235 AC_CHECK_LIB(Xdmcp, XdmcpWrap, [have_xdmcpwrap="yes"], [have_xdmcpwrap="no"], [$XDMCP_LIBS])
1237 if test "x$XDMCP" = xauto; then
1238 if test "x$have_libxdmcp" = xyes; then
1244 if test "x$XDMAUTH" = xauto; then
1245 if test "x$have_libxdmcp" = xyes && test "x$have_xdmcpwrap" = xyes; then
1252 AM_CONDITIONAL(XDMCP, [test "x$XDMCP" = xyes])
1253 if test "x$XDMCP" = xyes; then
1254 AC_DEFINE(XDMCP, 1, [Support XDM Control Protocol])
1255 REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1256 XDMCP_MODULES="xdmcp"
1259 AM_CONDITIONAL(XDMAUTH, [test "x$XDMAUTH" = xyes])
1260 if test "x$XDMAUTH" = xyes; then
1261 AC_DEFINE(HASXDMAUTH,1,[Support XDM-AUTH*-1])
1262 if ! test "x$XDMCP" = xyes; then
1263 REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1264 XDMCP_MODULES="xdmcp"
1268 AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
1269 AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
1270 AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
1271 AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
1272 AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path])
1273 AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
1274 AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
1275 AC_DEFINE_UNQUOTED(XORG_DATE, ["$RELEASE_DATE"], [Vendor release])
1276 AC_DEFINE_UNQUOTED(XORG_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1277 AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
1279 if test -z "$OSNAME"; then
1283 AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
1284 AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
1285 AC_DEFINE_UNQUOTED(BUILDERSTRING, ["$BUILDERSTRING"], [Builder string])
1287 AC_SUBST([VENDOR_NAME_SHORT])
1288 AC_DEFINE_UNQUOTED(VENDOR_NAME, ["$VENDOR_NAME"], [Vendor name])
1289 AC_DEFINE_UNQUOTED(VENDOR_NAME_SHORT, ["$VENDOR_NAME_SHORT"], [Vendor name])
1290 AC_DEFINE_UNQUOTED(VENDOR_RELEASE, [$VENDOR_RELEASE], [Vendor release])
1291 AC_DEFINE_UNQUOTED(VENDOR_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1293 AC_DEFINE(NO_LIBCWRAPPER, 1, [Define to 1 if modules should avoid the libcwrapper])
1295 if test "x$DEBUGGING" = xyes; then
1296 AC_DEFINE(DEBUG, 1, [Enable debugging code])
1298 AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
1300 # If unittests aren't explicitly disabled, check for required support
1301 if test "x$UNITTESTS" != xno ; then
1302 PKG_CHECK_MODULES([GLIB], $LIBGLIB,
1303 [HAVE_GLIB=yes], [HAVE_GLIB=no])
1305 # Check if linker supports -wrap, passed via compiler flags
1306 # When cross-compiling, reports no, since unit tests run from
1307 # "make check", so would be running on build machine, not target
1308 AC_MSG_CHECKING([whether the linker supports -wrap])
1309 save_LDFLAGS="$LDFLAGS"
1310 LDFLAGS="$LDFLAGS -Wl,-wrap,exit"
1311 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
1312 void __wrap_exit (int s)
1317 [linker_can_wrap="yes"],
1318 [linker_can_wrap="no"],
1319 [linker_can_wrap="no"])
1320 AC_MSG_RESULT([$linker_can_wrap])
1321 LDFLAGS="$save_LDFLAGS"
1324 if test "x$UNITTESTS" = xauto; then
1325 if test "x$HAVE_GLIB" = xyes && test "x$linker_can_wrap" = xyes; then
1331 if test "x$UNITTESTS" = xyes; then
1332 if test "x$HAVE_GLIB" = xno; then
1333 AC_MSG_ERROR([glib required to build unit tests])
1335 if test "x$linker_can_wrap" = xno; then
1336 AC_MSG_ERROR([ld -wrap support required to build unit tests])
1338 AC_DEFINE(UNITTESTS, 1, [Enable unit tests])
1339 AC_SUBST([GLIB_LIBS])
1340 AC_SUBST([GLIB_CFLAGS])
1342 AM_CONDITIONAL(UNITTESTS, [test "x$UNITTESTS" = xyes])
1344 AC_DEFINE(XTEST, 1, [Support XTest extension])
1345 AC_DEFINE(XSYNC, 1, [Support XSync extension])
1346 AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
1347 AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])
1349 if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
1350 DIX_LIB='$(top_builddir)/dix/dix.O'
1351 OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS)'
1353 DIX_LIB='$(top_builddir)/dix/libdix.la'
1354 OS_LIB='$(top_builddir)/os/libos.la'
1359 MAIN_LIB='$(top_builddir)/dix/libmain.la'
1360 AC_SUBST([MAIN_LIB])
1362 MI_LIB='$(top_builddir)/mi/libmi.la'
1363 MI_EXT_LIB='$(top_builddir)/mi/libmiext.la'
1364 MI_INC='-I$(top_srcdir)/mi'
1365 FB_LIB='$(top_builddir)/fb/libfb.la'
1366 FB_INC='-I$(top_srcdir)/fb'
1367 MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
1368 MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
1369 MIEXT_SYNC_INC='-I$(top_srcdir)/miext/sync'
1370 MIEXT_SYNC_LIB='$(top_builddir)/miext/sync/libsync.la'
1371 CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
1375 [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto],
1376 [choose SHA1 implementation])])
1377 AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
1378 if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
1381 if test "x$with_sha1" = xlibc && test "x$HAVE_SHA1_IN_LIBC" != xyes; then
1382 AC_MSG_ERROR([libc requested but not found])
1384 if test "x$with_sha1" = xlibc; then
1385 AC_DEFINE([HAVE_SHA1_IN_LIBC], [1],
1386 [Use libc SHA1 functions])
1389 AC_CHECK_FUNC([CC_SHA1_Init], [HAVE_SHA1_IN_COMMONCRYPTO=yes])
1390 if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_COMMONCRYPTO" = xyes; then
1391 with_sha1=CommonCrypto
1393 if test "x$with_sha1" = xCommonCrypto && test "x$HAVE_SHA1_IN_COMMONCRYPTO" != xyes; then
1394 AC_MSG_ERROR([CommonCrypto requested but not found])
1396 if test "x$with_sha1" = xCommonCrypto; then
1397 AC_DEFINE([HAVE_SHA1_IN_COMMONCRYPTO], [1],
1398 [Use CommonCrypto SHA1 functions])
1401 AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
1402 if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
1405 if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
1406 AC_MSG_ERROR([libmd requested but not found])
1408 if test "x$with_sha1" = xlibmd; then
1409 AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
1410 [Use libmd SHA1 functions])
1413 PKG_CHECK_MODULES([LIBSHA1], [libsha1], [HAVE_LIBSHA1=yes], [HAVE_LIBSHA1=no])
1414 if test "x$with_sha1" = x && test "x$HAVE_LIBSHA1" = xyes; then
1417 if test "x$with_sha1" = xlibsha1 && test "x$HAVE_LIBSHA1" != xyes; then
1418 AC_MSG_ERROR([libsha1 requested but not found])
1420 if test "x$with_sha1" = xlibsha1; then
1421 AC_DEFINE([HAVE_SHA1_IN_LIBSHA1], [1],
1422 [Use libsha1 for SHA1])
1425 AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
1426 if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
1429 if test "x$with_sha1" = xlibgcrypt && test "x$HAVE_LIBGCRYPT" != xyes; then
1430 AC_MSG_ERROR([libgcrypt requested but not found])
1432 if test "x$with_sha1" = xlibgcrypt; then
1433 AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
1434 [Use libgcrypt SHA1 functions])
1437 # We don't need all of the OpenSSL libraries, just libcrypto
1438 AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
1439 PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
1440 [HAVE_OPENSSL_PKC=no])
1441 if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
1442 if test "x$with_sha1" = x; then
1446 if test "x$with_sha1" = xlibcrypto; then
1447 AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
1450 if test "x$with_sha1" = xlibcrypto; then
1451 if test "x$HAVE_LIBCRYPTO" = xyes; then
1454 SHA1_LIBS="$OPENSSL_LIBS"
1455 SHA1_CFLAGS="$OPENSSL_CFLAGS"
1458 AC_MSG_CHECKING([for SHA1 implementation])
1459 if test "x$with_sha1" = x; then
1460 AC_MSG_ERROR([No suitable SHA1 implementation found])
1462 AC_MSG_RESULT([$with_sha1])
1464 AC_SUBST(SHA1_CFLAGS)
1466 PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
1467 PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
1469 # Autotools has some unfortunate issues with library handling. In order to
1470 # get a server to rebuild when a dependency in the tree is changed, it must
1471 # be listed in SERVERNAME_DEPENDENCIES. However, no system libraries may be
1472 # listed there, or some versions of autotools will break (especially if a -L
1473 # is required to find the library). So, we keep two sets of libraries
1474 # detected: NAMESPACE_LIBS for in-tree libraries to be linked against, which
1475 # will go into the _DEPENDENCIES and _LDADD of the server, and
1476 # NAMESPACE_SYS_LIBS which will go into only the _LDADD. The
1477 # NAMESPACEMODULES_LIBS detected from pkgconfig should always go in
1478 # NAMESPACE_SYS_LIBS.
1480 # XSERVER_LIBS is the set of in-tree libraries which all servers require.
1481 # XSERVER_SYS_LIBS is the set of out-of-tree libraries which all servers
1484 XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS}"
1485 XSERVER_LIBS="$DIX_LIB $MI_LIB $OS_LIB"
1486 XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}"
1487 AC_SUBST([XSERVER_LIBS])
1488 AC_SUBST([XSERVER_SYS_LIBS])
1490 UTILS_SYS_LIBS="${SYS_LIBS}"
1491 AC_SUBST([UTILS_SYS_LIBS])
1493 # The Xorg binary needs to export symbols so that they can be used from modules
1494 # Some platforms require extra flags to do this. libtool should set the
1495 # necessary flags for each platform when -export-dynamic is passed to it.
1496 LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
1497 AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
1499 dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
1500 dnl we need to replicate that here until those can all be fixed
1501 AC_MSG_CHECKING([if SVR4 needs to be defined])
1502 AC_EGREP_CPP([I_AM_SVR4],[
1503 #if defined(SVR4) || defined(__svr4__) || defined(__SVR4)
1507 AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
1508 AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
1510 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"
1512 dnl ---------------------------------------------------------------------------
1514 dnl ---------------------------------------------------------------------------
1518 AC_MSG_CHECKING([whether to build Xvfb DDX])
1519 AC_MSG_RESULT([$XVFB])
1520 AM_CONDITIONAL(XVFB, [test "x$XVFB" = xyes])
1522 if test "x$XVFB" = xyes; then
1523 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"
1524 XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS"
1525 AC_SUBST([XVFB_LIBS])
1526 AC_SUBST([XVFB_SYS_LIBS])
1532 PKG_CHECK_MODULES(XNESTMODULES, [$LIBXEXT x11 xau $XDMCP_MODULES], [have_xnest=yes], [have_xnest=no])
1533 AC_MSG_CHECKING([whether to build Xnest DDX])
1534 if test "x$XNEST" = xauto; then
1537 AC_MSG_RESULT([$XNEST])
1538 AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
1540 if test "x$XNEST" = xyes; then
1541 if test "x$have_xnest" = xno; then
1542 AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
1544 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 $DIX_LIB $MAIN_LIB $OS_LIB"
1545 XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
1546 AC_SUBST([XNEST_LIBS])
1547 AC_SUBST([XNEST_SYS_LIBS])
1553 AC_MSG_CHECKING([whether to build Xorg DDX])
1554 if test "x$XORG" = xauto; then
1557 cygwin*) XORG="no" ;;
1558 darwin*) XORG="no" ;;
1561 AC_MSG_RESULT([$XORG])
1563 xorg_bus_linuxpci=no
1567 if test "x$XORG" = xyes; then
1568 XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
1569 XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
1570 XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
1571 XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
1572 XORG_LIBS="$GESTURE_LIB $COMPOSITE_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB"
1574 dnl ==================================================================
1575 dnl symbol visibility
1577 have_visibility=disabled
1578 if test x$SYMBOL_VISIBILITY != xno; then
1579 AC_MSG_CHECKING(for symbol visibility support)
1580 if test x$GCC = xyes; then
1581 VISIBILITY_CFLAGS="-fvisibility=hidden"
1583 AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
1584 if test x$SUNCC = xyes; then
1585 VISIBILITY_CFLAGS="-xldscope=hidden"
1590 if test x$have_visibility != xno; then
1591 save_CFLAGS="$CFLAGS"
1592 CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
1594 [#include <X11/Xfuncproto.h>
1595 extern _X_HIDDEN int hidden_int;
1596 extern _X_EXPORT int public_int;
1597 extern _X_HIDDEN int hidden_int_func(void);
1598 extern _X_EXPORT int public_int_func(void);],
1600 have_visibility=yes,
1604 AC_MSG_RESULT([$have_visibility])
1605 if test x$have_visibility != xno; then
1606 symbol_visibility=$VISIBILITY_CFLAGS
1607 XORG_CFLAGS="$XORG_CFLAGS $VISIBILITY_CFLAGS"
1608 XSERVER_CFLAGS="$XSERVER_CFLAGS $VISIBILITY_CFLAGS"
1611 dnl added to xorg-server.pc
1612 AC_SUBST([symbol_visibility])
1613 dnl ===================================================================
1615 PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
1618 CFLAGS=$PCIACCESS_CFLAGS
1619 LIBS=$PCIACCESS_LIBS
1620 AC_CHECK_FUNCS([pci_system_init_dev_mem])
1621 AC_CHECK_FUNCS([pci_device_enable])
1622 AC_CHECK_FUNCS([pci_device_is_boot_vga])
1623 AC_CHECK_FUNCS([pci_device_vgaarb_init])
1626 XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS"
1627 XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
1631 if test "x$LNXAPM" = xyes; then
1632 XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1635 XORG_OS_SUBDIR="linux"
1636 xorg_bus_linuxpci="yes"
1646 i*86|amd64*|x86_64*)
1653 freebsd* | kfreebsd*-gnu | dragonfly*)
1655 XORG_OS_SUBDIR="bsd"
1656 xorg_bus_bsdpci="yes"
1660 XORG_OS_SUBDIR="bsd"
1661 xorg_bus_bsdpci="yes"
1664 if test "x$ac_cv_BSD_APM" = xyes \
1665 -o "x$ac_cv_BSD_KQUEUE_APM" = xyes; then
1666 XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1669 XORG_OS_SUBDIR="bsd"
1670 xorg_bus_bsdpci="yes"
1674 XORG_OS_SUBDIR="solaris"
1675 XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1676 # Use the same stubs as BSD for old functions, since we now
1677 # use libpciaccess for PCI
1678 xorg_bus_bsdpci="yes"
1679 AC_CHECK_HEADERS([sys/kd.h])
1680 AC_CHECK_HEADERS([sys/vt.h], [solaris_vt=yes], [solaris_vt=no])
1681 # Check for minimum supported release
1682 AC_MSG_CHECKING([Solaris version])
1683 OS_MINOR=`echo ${host_os}|$SED -e 's/^.*solaris2\.//' -e s'/\..*$//'`
1684 if test "${OS_MINOR}" -ge 7 ; then
1685 AC_MSG_RESULT(Solaris ${OS_MINOR})
1687 AC_MSG_RESULT(Solaris `echo ${host_os}|$SED -e 's/^.*solaris//`)
1689 if test "${OS_MINOR}" -lt 8 ; then
1690 AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.])
1692 AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
1693 if test "x$SUNCC" = "xyes"; then
1694 solaris_asm_inline="yes"
1696 AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"])
1700 SOLARIS_INOUT_ARCH="sparcv8plus"
1703 if test x$SOLARIS_64 = xyes ; then
1704 SOLARIS_INOUT_ARCH="amd64"
1706 SOLARIS_INOUT_ARCH="ia32"
1710 AC_MSG_ERROR([Unsupported Solaris platform. Only SPARC & x86 \
1711 are supported on Solaris in this release. If you are \
1712 interested in porting Xorg to your platform, please email \
1713 xorg@lists.freedesktop.org.]) ;;
1715 AC_SUBST([SOLARIS_INOUT_ARCH])
1716 if test x$solaris_asm_inline = xyes ; then
1717 SOLARIS_ASM_CFLAGS='$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il'
1718 XORG_CFLAGS="${XORG_CFLAGS} "'$(SOLARIS_ASM_CFLAGS)'
1720 AC_SUBST([SOLARIS_ASM_CFLAGS])
1721 if test "x$SUPPORT_PC98" = xauto; then
1727 XORG_OS_SUBDIR="hurd"
1728 # Use the same stubs as BSD for old functions, since we now
1729 # use libpciaccess for PCI
1730 xorg_bus_bsdpci="yes"
1734 XORG_OS_SUBDIR="unknown"
1735 AC_MSG_ERROR([m4_text_wrap(m4_join([ ],
1736 [Your OS is unknown. Xorg currently only supports Linux,],
1737 [Free/Open/Net/DragonFlyBSD, Solaris/OpenSolaris, & GNU Hurd.],
1738 [If you are interested in porting Xorg to your platform,],
1739 [please email xorg@lists.freedesktop.org.]))])
1745 xorg_bus_sparc="yes"
1748 if test "x$SUPPORT_PC98" = xauto; then
1754 if test "x$SUPPORT_PC98" = xauto; then
1757 if test "x$SUPPORT_PC98" = xyes; then
1758 AC_DEFINE(SUPPORT_PC98, 1, [Support PC98])
1760 if test "x$XORG_OS_PCI" = x ; then
1761 XORG_OS_PCI=$XORG_OS
1763 if test "x$DGA" = xauto; then
1764 PKG_CHECK_MODULES(DGA, $DGAPROTO, [DGA=yes], [DGA=no])
1766 if test "x$DGA" = xyes; then
1767 XORG_MODULES="$XORG_MODULES $DGAPROTO"
1768 PKG_CHECK_MODULES(DGA, $DGAPROTO)
1769 AC_DEFINE(DGA, 1, [Support DGA extension])
1770 AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
1773 if test "x$XF86VIDMODE" = xauto; then
1774 PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO, [XF86VIDMODE=yes], [XF86VIDMODE=no])
1776 if test "x$XF86VIDMODE" = xyes; then
1777 XORG_MODULES="$XORG_MODULES $VIDMODEPROTO"
1778 PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO)
1779 AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
1782 if test -n "$XORG_MODULES"; then
1783 PKG_CHECK_MODULES(XORG_MODULES, [$XORG_MODULES])
1784 XORG_CFLAGS="$XORG_CFLAGS $XORG_MODULES_CFLAGS"
1785 XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
1788 AC_SUBST([XORG_LIBS])
1789 AC_SUBST([XORG_SYS_LIBS])
1790 AC_SUBST([XORG_INCS])
1792 AC_SUBST([XORG_OS_SUBDIR])
1794 AC_PATH_PROG(PERL, perl, no)
1795 dnl unlikely as this may be ...
1796 if test "x$PERL" = xno; then
1797 AC_MSG_ERROR([Perl is required to build the XFree86/Xorg DDX.])
1801 AC_SUBST([XORG_CFLAGS])
1803 dnl these only go in xorg-config.h
1804 XF86CONFIGFILE="xorg.conf"
1805 XF86CONFIGDIR="xorg.conf.d"
1806 AC_SUBST(XF86CONFIGDIR)
1807 CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
1808 LOGPREFIX="$logdir/Xorg."
1809 AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
1810 AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
1811 AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
1812 AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
1813 AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
1814 AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
1815 AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
1816 AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
1817 AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE, [Name of configuration file])
1818 AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
1819 AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory])
1820 AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
1821 AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
1822 AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
1823 AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
1824 AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation])
1825 if test "x$VGAHW" = xyes; then
1826 AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
1829 driverdir="$moduledir/drivers"
1830 AC_SUBST([moduledir])
1831 AC_SUBST([driverdir])
1832 sdkdir="$includedir/xorg"
1833 extdir="$includedir/X11/extensions"
1834 sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
1837 AC_SUBST([sysconfigdir])
1840 # stuff the ABI versions into the pc file too
1842 grep ^.define.*${1}_VERSION ${srcdir}/hw/xfree86/common/xf86Module.h | tr '(),' ' .' | awk '{ print $4$5 }'
1844 abi_ansic=`extract_abi ANSIC`
1845 abi_videodrv=`extract_abi VIDEODRV`
1846 abi_xinput=`extract_abi XINPUT`
1847 abi_extension=`extract_abi EXTENSION`
1848 AC_SUBST([abi_ansic])
1849 AC_SUBST([abi_videodrv])
1850 AC_SUBST([abi_xinput])
1851 AC_SUBST([abi_extension])
1853 AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
1854 AM_CONDITIONAL([XORG_BUS_LINUXPCI], [test "x$xorg_bus_linuxpci" = xyes])
1855 AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
1856 AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
1857 AM_CONDITIONAL([LINUX_IA64], [test "x$linux_ia64" = xyes])
1858 AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes])
1859 AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
1860 AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes])
1861 AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes])
1862 AM_CONDITIONAL([DGA], [test "x$DGA" = xyes])
1863 AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes])
1867 AC_MSG_CHECKING([whether to build XWin DDX])
1868 if test "x$XWIN" = xauto; then
1870 cygwin*) XWIN="yes" ;;
1871 mingw*) XWIN="yes" ;;
1875 AC_MSG_RESULT([$XWIN])
1877 if test "x$XWIN" = xyes; then
1878 AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [Location of system.XWinrc])
1879 AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
1880 AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
1881 AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
1882 AC_CHECK_TOOL(WINDRES, windres)
1884 PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau])
1886 if test "x$WINDOWSWM" = xauto; then
1887 PKG_CHECK_EXISTS($WINDOWSWMPROTO, [WINDOWSWM=yes], [WINDOWSWM=no])
1889 if test "x$WINDOWSWM" = xyes ; then
1890 PKG_CHECK_MODULES(WINDOWSWM, $WINDOWSWMPROTO)
1891 XWINMODULES_CFLAGS="$XWINMODULES_CFLAGS $WINDOWSWM_CFLAGS"
1892 AC_DEFINE(ROOTLESS,1,[Build Rootless code])
1897 XWIN_SERVER_NAME=XWin
1898 AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages])
1901 XWIN_SERVER_NAME=Xming
1902 AC_DEFINE(RELOCATE_PROJECTROOT,1,[Make PROJECT_ROOT relative to the xserver location])
1903 AC_DEFINE(HAS_WINSOCK,1,[Use Windows sockets])
1904 XWIN_SYS_LIBS=-lwinsock2
1907 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"
1908 XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS"
1910 AC_SUBST(XWIN_SERVER_NAME)
1911 AC_SUBST(XWIN_SYS_LIBS)
1913 if test "x$DEBUGGING" = xyes; then
1914 AC_DEFINE(CYGDEBUG, 1, [Simple debug messages])
1915 AC_DEFINE(CYGWINDOWING_DEBUG, 1, [Debug messages for window handling])
1916 AC_DEFINE(CYGMULTIWINDOW_DEBUG, 1, [Debug window manager])
1919 AC_DEFINE(DDXOSVERRORF, 1, [Use OsVendorVErrorF])
1920 AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
1922 AM_CONDITIONAL(XWIN, [test "x$XWIN" = xyes])
1923 AM_CONDITIONAL(XWIN_MULTIWINDOW, [test "x$XWIN" = xyes])
1924 AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
1925 AM_CONDITIONAL(XWIN_CLIPBOARD, [test "x$XWIN" = xyes])
1926 AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && false])
1927 AM_CONDITIONAL(XWIN_NATIVEGDI, [test "x$XWIN" = xyes && false])
1928 AM_CONDITIONAL(XWIN_PRIMARYFB, [test "x$XWIN" = xyes && false])
1929 AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
1930 AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])
1932 dnl Darwin / OS X DDX
1933 if test "x$XQUARTZ" = xyes; then
1934 AC_DEFINE(XQUARTZ,1,[Have Quartz])
1935 AC_DEFINE(ROOTLESS,1,[Build Rootless code])
1937 DARWIN_LIBS="$MI_LIB $OS_LIB $DIX_LIB $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"
1938 AC_SUBST([DARWIN_LIBS])
1940 AC_CHECK_LIB([Xplugin],[xp_init],[:])
1942 CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA"
1944 PKG_CHECK_MODULES(XPBPROXY, $APPLEWMPROTO $LIBAPPLEWM xfixes x11)
1946 if test "x$XQUARTZ_SPARKLE" = xyes ; then
1947 AC_DEFINE(XQUARTZ_SPARKLE,1,[Support application updating through sparkle.])
1950 if test "x$STANDALONE_XPBPROXY" = xyes ; then
1951 AC_DEFINE(STANDALONE_XPBPROXY,1,[Build a standalone xpbproxy])
1955 # Support for objc in autotools is minimal and not documented.
1959 OBJCFLAGS='$(CFLAGS)'
1962 AC_SUBST([OBJCLINK])
1963 AC_SUBST([OBJCFLAGS])
1964 # internal, undocumented automake func follows :(
1965 _AM_DEPENDENCIES([OBJC])
1966 AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
1967 AM_CONDITIONAL(XQUARTZ_SPARKLE, [test "x$XQUARTZ_SPARKLE" != "xno"])
1968 AM_CONDITIONAL(STANDALONE_XPBPROXY, [test "x$STANDALONE_XPBPROXY" = xyes])
1973 [xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES],
1976 [xaw7 xmu xt xpm x11],
1980 AC_MSG_CHECKING([whether to build Xdmx DDX])
1981 if test "x$DMX" = xauto; then
1984 cygwin*) DMX="no" ;;
1985 darwin*) DMX="no" ;;
1988 AC_MSG_RESULT([$DMX])
1989 AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
1991 if test "x$DMX" = xyes; then
1992 if test "x$have_dmx" = xno; then
1993 AC_MSG_ERROR([Xdmx build explicitly requested, but required
1994 modules not found.])
1996 DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC"
1997 XDMX_CFLAGS="$DMXMODULES_CFLAGS"
1998 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"
1999 XDMX_SYS_LIBS="$DMXMODULES_LIBS"
2000 AC_SUBST([XDMX_CFLAGS])
2001 AC_SUBST([XDMX_LIBS])
2002 AC_SUBST([XDMX_SYS_LIBS])
2004 dnl USB sources in DMX require <linux/input.h>
2005 AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
2007 dnl Linux sources in DMX require <linux/keyboard.h>
2008 AC_CHECK_HEADER([linux/keyboard.h], DMX_BUILD_LNX="yes",
2010 AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
2011 AC_SUBST(XDMXCONFIG_DEP_LIBS)
2012 PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [$LIBDMX $LIBXEXT x11])
2013 AC_SUBST(DMXEXAMPLES_DEP_LIBS)
2014 PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [$LIBDMX xmu $LIBXEXT x11])
2015 AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
2016 PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [$LIBDMX $LIBXI $LIBXEXT x11])
2017 AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
2018 PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [$LIBXTST $LIBXEXT x11])
2019 AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
2020 PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres $LIBXEXT x11])
2021 AC_SUBST(XRESEXAMPLES_DEP_LIBS)
2022 PKG_CHECK_MODULES([X11EXAMPLES_DEP], [$LIBXEXT x11])
2023 AC_SUBST(X11EXAMPLES_DEP_LIBS)
2026 AM_CONDITIONAL([DMX_BUILD_LNX], [test "x$DMX_BUILD_LNX" = xyes])
2027 AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
2034 AM_CONDITIONAL(KDRIVE, [test x$KDRIVE = xyes])
2036 if test "$KDRIVE" = yes; then
2037 AC_DEFINE(KDRIVESERVER,1,[Build Kdrive X server])
2038 AC_DEFINE(KDRIVEDDXACTIONS,,[Build kdrive ddx])
2040 AC_CHECK_HEADERS([linux/fb.h])
2041 if test "$ac_cv_header_linux_fb_h" = yes && test "x$XFBDEV" = xauto; then
2045 if test "x$XFBDEV" = xyes; then
2047 AC_DEFINE(KDRIVEFBDEV, 1, [Build fbdev-based kdrive server])
2051 PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
2052 if test "x$HAVE_TSLIB" = xno; then
2053 AC_CHECK_LIB(ts, ts_open, [
2059 if test "xTSLIB" = xauto; then
2063 if test "x$TSLIB" = xyes; then
2064 if ! test "x$HAVE_TSLIB" = xyes; then
2065 AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
2067 AC_DEFINE(TSLIB, 1, [Have tslib support])
2071 if test "x$KDRIVE_KBD" = xyes; then
2072 AC_DEFINE(KDRIVE_KBD, 1, [Enable KDrive kbd driver])
2074 if test "x$KDRIVE_EVDEV" = xyes; then
2075 AC_DEFINE(KDRIVE_EVDEV, 1, [Enable KDrive evdev driver])
2077 if test "x$KDRIVE_MOUSE" = xyes; then
2078 AC_DEFINE(KDRIVE_MOUSE, 1, [Enable KDrive mouse driver])
2081 XEPHYR_REQUIRED_LIBS="x11 $LIBXEXT xau xdmcp"
2082 if test "x$XV" = xyes; then
2083 XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv"
2085 if test "x$DRI" = xyes && test "x$GLX" = xyes; then
2086 XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBGL libdrm"
2089 PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [xephyr="yes"], [xephyr="no"])
2090 if test "x$XEPHYR" = xauto; then
2093 if test "x$XEPHYR" = xyes && test "x$xephyr" = xno; then
2094 AC_MSG_ERROR([Xephyr dependencies missing])
2097 # Xephyr needs nanosleep() which is in librt on Solaris
2098 AC_CHECK_FUNC([nanosleep], [],
2099 AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
2101 # damage shadow extension glx (NOTYET) fb mi
2102 KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
2103 KDRIVE_PURE_INCS="$KDRIVE_INC $MIEXT_SYNC_INC $MIEXT_DAMAGE_INC $MIEXT_SHADOW_INC $XEXT_INC $FB_INC $MI_INC"
2104 KDRIVE_OS_INC='-I$(top_srcdir)/hw/kdrive/linux'
2105 KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
2107 KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS"
2109 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"
2110 KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la'
2113 KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.la'
2115 if test "x$KDRIVE_EVDEV" = xauto; then
2118 if test "x$KDRIVE_KBD" = xauto; then
2121 if test "x$KDRIVE_MOUSE" = xauto; then
2126 if test "x$KDRIVE_EVDEV" = xauto; then
2129 if test "x$KDRIVE_KBD" = xauto; then
2132 if test "x$KDRIVE_MOUSE" = xauto; then
2137 KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.la'
2138 KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB"
2139 KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
2140 KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB"
2141 KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS $TSLIB_LIBS"
2143 AC_SUBST([XEPHYR_LIBS])
2144 AC_SUBST([XEPHYR_INCS])
2146 AC_SUBST([KDRIVE_INCS])
2147 AC_SUBST([KDRIVE_PURE_INCS])
2148 AC_SUBST([KDRIVE_CFLAGS])
2149 AC_SUBST([KDRIVE_PURE_LIBS])
2150 AC_SUBST([KDRIVE_LOCAL_LIBS])
2151 AC_SUBST([KDRIVE_LIBS])
2152 AM_CONDITIONAL(KDRIVELINUX, [test "x$KDRIVELINUX" = xyes])
2153 AM_CONDITIONAL(KDRIVE_EVDEV, [test "x$KDRIVE_EVDEV" = xyes])
2154 AM_CONDITIONAL(KDRIVE_KBD, [test "x$KDRIVE_KBD" = xyes])
2155 AM_CONDITIONAL(KDRIVE_MOUSE, [test "x$KDRIVE_MOUSE" = xyes])
2156 AM_CONDITIONAL(TSLIB, [test "x$HAVE_TSLIB" = xyes])
2157 AM_CONDITIONAL(KDRIVEFBDEV, [test "x$XFBDEV" = xyes])
2158 AM_CONDITIONAL(XEPHYR, [test "x$KDRIVE" = xyes && test "x$XEPHYR" = xyes])
2159 AM_CONDITIONAL(BUILD_KDRIVEFBDEVLIB, [test "x$KDRIVE" = xyes && test "x$KDRIVEFBDEVLIB" = xyes])
2160 AM_CONDITIONAL(XFAKESERVER, [test "x$KDRIVE" = xyes && test "x$XFAKE" = xyes])
2162 dnl and the rest of these are generic, so they're in config.h
2164 dnl though, thanks to the passing of some significant amount of time, the
2165 dnl above is probably a complete fallacy, and you should not rely on it.
2166 dnl but this is still actually better than imake, honest. -daniels
2169 #include <features.h>
2173 ], [], [AC_DEFINE(_GNU_SOURCE, 1,
2174 [ Enable GNU and other extensions to the C environment for glibc])])
2176 AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
2178 AC_SUBST([RELEASE_DATE])
2179 BUILD_DATE="`date +'%Y%m%d'`"
2180 AC_SUBST([BUILD_DATE])
2181 BUILD_TIME="`date +'1%H%M%S'`"
2182 AC_SUBST([BUILD_TIME])
2184 DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"
2186 AC_SUBST([DIX_CFLAGS])
2189 AC_SUBST([exec_prefix])
2203 doc/xml/dtrace/Makefile
2211 miext/damage/Makefile
2212 miext/shadow/Makefile
2214 miext/rootless/Makefile
2225 hw/xfree86/common/Makefile
2226 hw/xfree86/common/xf86Build.h
2227 hw/xfree86/ddc/Makefile
2228 hw/xfree86/dixmods/Makefile
2229 hw/xfree86/dixmods/extmod/Makefile
2230 hw/xfree86/doc/Makefile
2231 hw/xfree86/doc/devel/Makefile
2232 hw/xfree86/doc/man/Makefile
2233 hw/xfree86/doc/sgml/Makefile
2234 hw/xfree86/dri/Makefile
2235 hw/xfree86/dri2/Makefile
2236 hw/xfree86/exa/Makefile
2237 hw/xfree86/fbdevhw/Makefile
2238 hw/xfree86/i2c/Makefile
2239 hw/xfree86/int10/Makefile
2240 hw/xfree86/loader/Makefile
2241 hw/xfree86/modes/Makefile
2242 hw/xfree86/os-support/Makefile
2243 hw/xfree86/os-support/bsd/Makefile
2244 hw/xfree86/os-support/bus/Makefile
2245 hw/xfree86/os-support/hurd/Makefile
2246 hw/xfree86/os-support/misc/Makefile
2247 hw/xfree86/os-support/linux/Makefile
2248 hw/xfree86/os-support/sco/Makefile
2249 hw/xfree86/os-support/solaris/Makefile
2250 hw/xfree86/os-support/sysv/Makefile
2251 hw/xfree86/parser/Makefile
2252 hw/xfree86/ramdac/Makefile
2253 hw/xfree86/shadowfb/Makefile
2254 hw/xfree86/vbe/Makefile
2255 hw/xfree86/vgahw/Makefile
2256 hw/xfree86/x86emu/Makefile
2257 hw/xfree86/xaa/Makefile
2258 hw/xfree86/xf8_16bpp/Makefile
2259 hw/xfree86/utils/Makefile
2260 hw/xfree86/utils/cvt/Makefile
2261 hw/xfree86/utils/gtf/Makefile
2262 hw/dmx/config/Makefile
2264 hw/dmx/examples/Makefile
2265 hw/dmx/input/Makefile
2266 hw/dmx/glxProxy/Makefile
2271 hw/xwin/glx/Makefile
2273 hw/xquartz/GL/Makefile
2274 hw/xquartz/bundle/Makefile
2275 hw/xquartz/doc/Makefile
2276 hw/xquartz/mach-startup/Makefile
2277 hw/xquartz/pbproxy/Makefile
2278 hw/xquartz/xpr/Makefile
2280 hw/kdrive/ephyr/Makefile
2281 hw/kdrive/fake/Makefile
2282 hw/kdrive/fbdev/Makefile
2283 hw/kdrive/linux/Makefile
2284 hw/kdrive/src/Makefile