configure.ac revision 7e31ba66
1dnl Copyright © 2003-2007 Keith Packard, Daniel Stone
2dnl
3dnl Permission is hereby granted, free of charge, to any person obtaining a
4dnl copy of this software and associated documentation files (the "Software"),
5dnl to deal in the Software without restriction, including without limitation
6dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
7dnl and/or sell copies of the Software, and to permit persons to whom the
8dnl Software is furnished to do so, subject to the following conditions:
9dnl
10dnl The above copyright notice and this permission notice (including the next
11dnl paragraph) shall be included in all copies or substantial portions of the
12dnl Software.
13dnl
14dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20dnl DEALINGS IN THE SOFTWARE.
21dnl
22dnl Authors: Keith Packard <keithp@keithp.com>
23dnl          Daniel Stone <daniel@fooishbar.org>
24dnl          an unwitting cast of miscellaneous others
25dnl
26dnl Process this file with autoconf to create configure.
27
28AC_PREREQ(2.60)
29AC_INIT([xorg-server], 1.20.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
30RELEASE_DATE="2018-10-25"
31RELEASE_NAME="Harissa Roasted Carrots"
32AC_CONFIG_SRCDIR([Makefile.am])
33AC_CONFIG_MACRO_DIR([m4])
34AM_INIT_AUTOMAKE([foreign dist-bzip2])
35AC_USE_SYSTEM_EXTENSIONS
36
37# Require xorg-macros minimum of 1.14 for XORG_COMPILER_BRAND in XORG_DEFAULT_OPTIONS
38m4_ifndef([XORG_MACROS_VERSION],
39          [m4_fatal([must install xorg-macros 1.14 or later before running autoconf/autogen])])
40XORG_MACROS_VERSION(1.14)
41XORG_DEFAULT_OPTIONS
42XORG_WITH_DOXYGEN(1.6.1)
43XORG_CHECK_SGML_DOCTOOLS(1.8)
44XORG_ENABLE_DOCS
45XORG_ENABLE_DEVEL_DOCS
46XORG_WITH_XMLTO(0.0.20)
47XORG_WITH_FOP
48XORG_WITH_XSLTPROC
49XORG_ENABLE_UNIT_TESTS
50XORG_LD_WRAP([optional])
51
52m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install font-util 1.1 or later before running autoconf/autogen])])
53XORG_FONT_MACROS_VERSION(1.1)
54
55dnl this gets generated by autoheader, and thus contains all the defines.  we
56dnl don't ever actually use it, internally.
57AC_CONFIG_HEADERS(include/do-not-use-config.h)
58dnl xorg-server.h is an external header, designed to be included by loadable
59dnl drivers.
60AC_CONFIG_HEADERS(include/xorg-server.h)
61dnl dix-config.h covers most of the DIX (i.e. everything but the DDX, not just
62dnl dix/).
63AC_CONFIG_HEADERS(include/dix-config.h)
64dnl xorg-config.h covers the Xorg DDX.
65AC_CONFIG_HEADERS(include/xorg-config.h)
66dnl xkb-config.h covers XKB for the Xorg and Xnest DDXs.
67AC_CONFIG_HEADERS(include/xkb-config.h)
68dnl xwin-config.h covers the XWin DDX.
69AC_CONFIG_HEADERS(include/xwin-config.h)
70dnl xwayland-config.h covers Xwayland.
71AC_CONFIG_HEADERS(include/xwayland-config.h)
72dnl version-config.h covers the version numbers so they can be bumped without
73dnl forcing an entire recompile.x
74AC_CONFIG_HEADERS(include/version-config.h)
75
76AM_PROG_AS
77AC_PROG_LN_S
78LT_PREREQ([2.2])
79LT_INIT([disable-static win32-dll])
80PKG_PROG_PKG_CONFIG
81AC_PROG_LEX
82AC_PROG_YACC
83AC_SYS_LARGEFILE
84XORG_PROG_RAWCPP
85
86# Quoted so that make will expand $(CWARNFLAGS) in makefiles to allow
87# easier overrides at build time.
88XSERVER_CFLAGS='$(CWARNFLAGS)'
89
90dnl Explicitly add -fno-strict-aliasing since this option should disappear
91dnl from util-macros CWARNFLAGS
92if  test "x$GCC" = xyes ; then
93    XSERVER_CFLAGS="$XSERVER_CFLAGS -fno-strict-aliasing"
94fi
95
96dnl Check for dtrace program (needed to build Xserver dtrace probes)
97dnl Also checks for <sys/sdt.h>, since some Linux distros have an 
98dnl ISDN trace program named dtrace
99AC_ARG_WITH(dtrace, AS_HELP_STRING([--with-dtrace=PATH],
100	     [Enable dtrace probes (default: enabled if dtrace found)]),
101	     [WDTRACE=$withval], [WDTRACE=auto])
102if 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])
107		fi
108		WDTRACE="no"
109	else
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
112			WDTRACE="no"
113		fi
114	fi
115fi
116if 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.])
119
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).
126	case $host_os in
127		darwin*)	SPECIAL_DTRACE_OBJECTS=no ;;
128		*)		SPECIAL_DTRACE_OBJECTS=yes ;;
129	esac
130fi
131AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
132AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x$SPECIAL_DTRACE_OBJECTS" = "xyes"])
133
134AC_HEADER_DIRENT
135AC_HEADER_STDC
136AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h \
137 fnmatch.h sys/mkdev.h sys/sysmacros.h sys/utsname.h])
138
139dnl Checks for typedefs, structures, and compiler characteristics.
140AC_C_CONST
141AC_C_TYPEOF
142AC_C_BIGENDIAN(AC_DEFINE(X_BYTE_ORDER, X_BIG_ENDIAN, [byte order]),
143               AC_DEFINE(X_BYTE_ORDER, X_LITTLE_ENDIAN, [byte order]))
144
145AC_CHECK_SIZEOF([unsigned long])
146if test "$ac_cv_sizeof_unsigned_long" = 8; then
147	AC_DEFINE(_XSERVER64, 1, [Define to 1 if unsigned long is 64 bits.])
148fi
149
150AC_TYPE_PID_T
151
152dnl Check to see if dlopen is in default libraries (like Solaris, which
153dnl has it in libc), or if libdl is needed to get it.
154AC_CHECK_FUNC([dlopen], [],
155	AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
156AC_SUBST(DLOPEN_LIBS)
157
158dnl Checks for library functions.
159AC_CHECK_FUNCS([backtrace geteuid getuid issetugid getresuid \
160	getdtablesize getifaddrs getpeereid getpeerucred getprogname getzoneid \
161	mmap posix_fallocate seteuid shmctl64 strncasecmp vasprintf vsnprintf \
162	walkcontext setitimer poll epoll_create1 mkostemp])
163AC_CONFIG_LIBOBJ_DIR([os])
164AC_REPLACE_FUNCS([reallocarray strcasecmp strcasestr strlcat strlcpy strndup\
165	timingsafe_memcmp])
166AM_CONDITIONAL(POLL, [test "x$ac_cv_func_poll" = "xyes"])
167
168AC_CHECK_LIB([bsd], [arc4random_buf])
169AC_CHECK_FUNCS([arc4random_buf])
170
171AC_CHECK_DECLS([program_invocation_short_name], [], [], [[#include <errno.h>]])
172
173dnl Check for SO_PEERCRED #define
174AC_CACHE_CHECK([for SO_PEERCRED in sys/socket.h],
175	       [xorg_cv_sys_have_so_peercred],
176	       [AC_EGREP_CPP(yes_have_so_peercred,[
177#include <sys/types.h>
178#include <sys/socket.h>
179#ifdef SO_PEERCRED
180yes_have_so_peercred
181#endif
182],
183	       [xorg_cv_sys_have_so_peercred=yes],
184	       [xorg_cv_sys_have_so_peercred=no])])
185
186dnl define NO_LOCAL_CLIENT_CRED if no getpeereid, getpeerucred or SO_PEERCRED
187if test "x$ac_cv_func_getpeereid" = xno && test "x$ac_cv_func_getpeerucred" = xno && test "x$xorg_cv_sys_have_so_peercred" = xno ; then
188	AC_DEFINE([NO_LOCAL_CLIENT_CRED], 1, [Define to 1 if no local socket credentials interface exists])
189fi
190
191dnl Find the math libary, then check for cbrt function in it.
192AC_CHECK_LIB(m, sqrt)
193AC_CHECK_FUNCS([cbrt])
194
195dnl AGPGART headers
196AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h sys/agpgart.h], AGP=yes)
197AM_CONDITIONAL(AGP, [test "x$AGP" = xyes])
198
199dnl fbdev header
200AC_CHECK_HEADERS([linux/fb.h], FBDEV=yes)
201AM_CONDITIONAL(FBDEVHW, [test "x$FBDEV" = xyes])
202
203dnl FreeBSD kldload support (sys/linker.h)
204AC_CHECK_HEADERS([sys/linker.h],
205	[ac_cv_sys_linker_h=yes],
206	[ac_cv_sys_linker_h=no],
207	[#include <sys/param.h>])
208AM_CONDITIONAL(FREEBSD_KLDLOAD, [test "x$ac_cv_sys_linker_h" = xyes])
209
210AC_CACHE_CHECK([for SYSV IPC],
211		ac_cv_sysv_ipc,
212               [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
213#include <sys/types.h>
214#include <sys/ipc.h>
215#include <sys/shm.h>
216#include <sys/stat.h>
217]],[[
218{ 
219    int id;
220    id = shmget(IPC_PRIVATE, 512, S_IRUSR | S_IWUSR);
221    if (id < 0) return -1;
222    return shmctl(id, IPC_RMID, 0);
223}]])],
224       [ac_cv_sysv_ipc=yes],
225       [ac_cv_sysv_ipc=no])])
226if test "x$ac_cv_sysv_ipc" = xyes; then
227	AC_DEFINE(HAVE_SYSV_IPC, 1, [Define to 1 if SYSV IPC is available])
228fi
229
230dnl OpenBSD /dev/xf86 aperture driver 
231if test -c /dev/xf86 ; then
232	AC_DEFINE(HAS_APERTURE_DRV, 1, [System has /dev/xf86 aperture driver])
233fi
234
235dnl BSD APM support 
236AC_CHECK_HEADER([machine/apmvar.h],[
237	AC_CHECK_HEADER([sys/event.h],
238		ac_cv_BSD_KQUEUE_APM=yes,
239		ac_cv_BSD_APM=yes)])
240
241AM_CONDITIONAL(BSD_APM, [test "x$ac_cv_BSD_APM" = xyes])
242AM_CONDITIONAL(BSD_KQUEUE_APM, [test "x$ac_cv_BSD_KQUEUE_APM" = xyes])
243	
244dnl glibc backtrace support check
245AC_CHECK_HEADER([execinfo.h],[
246    AC_CHECK_LIB(c, backtrace, [
247        AC_DEFINE(HAVE_BACKTRACE, 1, [Has backtrace support])
248        AC_DEFINE(HAVE_EXECINFO_H, 1, [Have execinfo.h])
249    ])]
250)
251
252dnl ---------------------------------------------------------------------------
253dnl Bus options and CPU capabilities.  Replaces logic in
254dnl hw/xfree86/os-support/bus/Makefile.am, among others.
255dnl ---------------------------------------------------------------------------
256DEFAULT_INT10="x86emu"
257
258dnl Override defaults as needed for specific platforms:
259
260case $host_cpu in
261  alpha*)
262	ALPHA_VIDEO=yes
263	case $host_os in
264	        *freebsd*)	SYS_LIBS=-lio ;;
265		*netbsd*)	AC_DEFINE(USE_ALPHA_PIO, 1, [NetBSD PIO alpha IO]) ;;
266	esac
267	GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee"
268	;;
269  arm*)
270	ARM_VIDEO=yes
271	DEFAULT_INT10="stub"
272	;;
273  i*86)
274	I386_VIDEO=yes
275	case $host_os in
276		*freebsd*)	AC_DEFINE(USE_DEV_IO) ;;
277		*dragonfly*)	AC_DEFINE(USE_DEV_IO) ;;
278		*netbsd*)	AC_DEFINE(USE_I386_IOPL)
279				SYS_LIBS=-li386
280				;;
281		*openbsd*)	AC_DEFINE(USE_I386_IOPL) 
282				SYS_LIBS=-li386
283				;;
284	esac
285        ;;
286  powerpc*)
287	PPC_VIDEO=yes
288	case $host_os in
289		*freebsd*)	DEFAULT_INT10=stub ;;
290	esac
291	;;
292  sparc*)
293	SPARC64_VIDEO=yes
294	BSD_ARCH_SOURCES="sparc64_video.c ioperm_noop.c"
295	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
296	;;
297  x86_64*|amd64*)
298	I386_VIDEO=yes
299	case $host_os in
300		*freebsd*)	AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
301		*dragonfly*)	AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
302		*netbsd*)	AC_DEFINE(USE_I386_IOPL, 1, [BSD i386 iopl])
303				SYS_LIBS=-lx86_64
304				;;
305		*openbsd*)	AC_DEFINE(USE_AMD64_IOPL, 1, [BSD AMD64 iopl])
306				SYS_LIBS=-lamd64
307				;;
308	esac
309	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
310	;;
311  ia64*)
312  	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
313	;;
314  s390*)
315  	GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
316	;;
317esac
318AC_SUBST(GLX_ARCH_DEFINES)
319
320dnl BSD *_video.c selection
321AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
322AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
323AM_CONDITIONAL(I386_VIDEO, [test "x$I386_VIDEO" = xyes])
324AM_CONDITIONAL(PPC_VIDEO, [test "x$PPC_VIDEO" = xyes])
325AM_CONDITIONAL(SPARC64_VIDEO, [test "x$SPARC64_VIDEO" = xyes])
326
327DRI=no
328dnl it would be nice to autodetect these *CONS_SUPPORTs
329case $host_os in
330  *freebsd* | *dragonfly*)
331	case $host_os in
332		kfreebsd*-gnu) ;;
333		*) AC_DEFINE(CSRG_BASED, 1, [System is BSD-like]) ;;
334	esac
335	AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
336	AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
337	AC_DEFINE(SYSCONS_SUPPORT, 1, [System has syscons console])
338	DRI=yes
339	;;
340  *netbsd*)
341	AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
342	AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
343	AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
344	AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
345	DRI=yes
346	;;
347  *openbsd*)
348	AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
349	AC_DEFINE(PCVT_SUPPORT, 1, [System has PC console])
350	AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
351	;;
352  *linux*)
353	DRI=yes
354	;;
355  *solaris*)
356	DRI=yes
357	;;
358  darwin*)
359	AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
360	;;
361  cygwin*|mingw*)
362	CFLAGS="$CFLAGS -DFD_SETSIZE=512"
363	;;
364esac
365
366dnl augment XORG_RELEASE_VERSION for our snapshot number and to expose the
367dnl major number
368PVMAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1`
369PVS=`echo $PACKAGE_VERSION | cut -d . -f 4 | cut -d - -f 1`
370if test "x$PVS" = "x"; then
371	PVS="0"
372fi
373
374VENDOR_RELEASE="((($PVMAJOR) * 10000000) + (($PVM) * 100000) + (($PVP) * 1000) + $PVS)"
375VENDOR_MAN_VERSION="Version ${PACKAGE_VERSION}"
376
377VENDOR_NAME="The X.Org Foundation"
378VENDOR_NAME_SHORT="X.Org"
379VENDOR_WEB="http://wiki.x.org"
380
381dnl Build options.
382AC_ARG_ENABLE(werror,        AS_HELP_STRING([--enable-werror],
383		  [Obsolete - use --enable-strict-compilation instead]),
384  AC_MSG_ERROR([--enable-werror has been replaced by --enable-strict-compilation]))
385
386AC_ARG_ENABLE(debug,         AS_HELP_STRING([--enable-debug],
387				  [Enable debugging (default: disabled)]),
388			        [DEBUGGING=$enableval], [DEBUGGING=no])
389AC_ARG_WITH(int10,           AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
390				[INT10="$withval"],
391				[INT10="$DEFAULT_INT10"])
392AC_ARG_WITH(vendor-name,     AS_HELP_STRING([--with-vendor-name=VENDOR],
393				  [Vendor string reported by the server]),
394				[ VENDOR_NAME="$withval" ], [])
395AC_ARG_WITH(vendor-name-short, AS_HELP_STRING([--with-vendor-name-short=VENDOR],
396				  [Short version of vendor string reported by the server]),
397				[ VENDOR_NAME_SHORT="$withval" ], [])
398AC_ARG_WITH(vendor-web,      AS_HELP_STRING([--with-vendor-web=URL],
399				  [Vendor web address reported by the server]),
400				[ VENDOR_WEB="$withval" ], [])
401AC_ARG_WITH(module-dir,      AS_HELP_STRING([--with-module-dir=DIR],
402				  [Directory where modules are installed (default: $libdir/xorg/modules)]),
403				[ moduledir="$withval" ],
404				[ moduledir="${libdir}/xorg/modules" ])
405AC_ARG_WITH(log-dir,         AS_HELP_STRING([--with-log-dir=DIR],
406				  [Directory where log files are kept (default: $localstatedir/log)]),
407				[ logdir="$withval" ],
408				[ logdir="$localstatedir/log" ])
409AC_ARG_WITH(builder-addr,    AS_HELP_STRING([--with-builder-addr=ADDRESS],
410				  [Builder address (default: xorg@lists.freedesktop.org)]),
411				[ BUILDERADDR="$withval" ],
412				[ BUILDERADDR="xorg@lists.freedesktop.org" ])
413AC_ARG_WITH(os-name,         AS_HELP_STRING([--with-os-name=OSNAME], [Name of OS (default: output of "uname -srm")]),
414				[ OSNAME="$withval" ],
415				[ OSNAME=`uname -srm` ])
416AC_ARG_WITH(os-vendor,       AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name of OS vendor]),
417				[ OSVENDOR="$withval" ],
418				[ OSVENDOR="" ])
419AC_ARG_WITH(builderstring,   AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
420				[ BUILDERSTRING="$withval" ]
421				[ ])
422AC_ARG_ENABLE(listen-tcp,    AS_HELP_STRING([--enable-listen-tcp],
423                                            [Listen on TCP by default (default:disabled)]),
424                                [LISTEN_TCP=$enableval], [LISTEN_TCP=no])
425AC_ARG_ENABLE(listen-unix,   AS_HELP_STRING([--disable-listen-unix],
426                                            [Listen on Unix by default (default:enabled)]),
427                                [LISTEN_UNIX=$enableval], [LISTEN_UNIX=yes])
428
429AC_ARG_ENABLE(listen-local,  AS_HELP_STRING([--disable-listen-local],
430                                            [Listen on local by default (default:enabled)]),
431                                [LISTEN_LOCAL=$enableval], [LISTEN_LOCAL=yes])
432
433case $host_os in
434    linux*)
435        FALLBACK_INPUT_DRIVER="libinput"
436        ;;
437    *)
438        FALLBACK_INPUT_DRIVER=""
439        ;;
440esac
441AC_ARG_WITH(fallback-input-driver,
442            AC_HELP_STRING([--with-fallback-input-driver=$FALLBACK_INPUT_DRIVER],
443                           [Input driver fallback if the requested driver for a device is unavailable]),
444                           [ FALLBACK_INPUT_DRIVER=$withval ], [])
445if test "x$FALLBACK_INPUT_DRIVER" = "xno"; then
446    FALLBACK_INPUT_DRIVER=""
447fi
448AC_MSG_CHECKING([for fallback input driver])
449AC_MSG_RESULT([$FALLBACK_INPUT_DRIVER])
450AC_DEFINE_UNQUOTED(FALLBACK_INPUT_DRIVER, ["$FALLBACK_INPUT_DRIVER"], [ Fallback input driver ])
451
452dnl Determine font path
453XORG_FONTROOTDIR
454XORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
455XORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
456XORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
457XORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
458XORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
459XORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
460
461dnl Uses --with-default-font-path if set, otherwise uses standard
462dnl subdirectories of FONTROOTDIR. Some distros set the default font path to
463dnl "catalogue:/etc/X11/fontpath.d,built-ins"
464DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
465case $host_os in
466    darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
467esac
468
469AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
470				[ FONTPATH="$withval" ],
471				[ FONTPATH="${DEFAULT_FONT_PATH}" ])
472
473AC_MSG_CHECKING([for default font path])
474AC_MSG_RESULT([$FONTPATH])
475
476AC_ARG_WITH(xkb-path,         AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: auto)]),
477				[ XKBPATH="$withval" ],
478				[ XKBPATH="auto" ])
479AC_ARG_WITH(xkb-output,       AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${datadir}/X11/xkb/compiled)]),
480				[ XKBOUTPUT="$withval" ],
481				[ XKBOUTPUT="compiled" ])
482AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
483                                   [Keyboard ruleset (default: base/evdev)]),
484                                [ XKB_DFLT_RULES="$withval" ],
485                                [ XKB_DFLT_RULES="" ])
486AC_ARG_WITH(default-xkb-model, AS_HELP_STRING([--with-default-xkb-model=MODEL],
487                                   [Keyboard model (default: pc105)]),
488                                [ XKB_DFLT_MODEL="$withval" ],
489                                [ XKB_DFLT_MODEL="pc105" ])
490AC_ARG_WITH(default-xkb-layout, AS_HELP_STRING([--with-default-xkb-layout=LAYOUT],
491                                   [Keyboard layout (default: us)]),
492                                [ XKB_DFLT_LAYOUT="$withval" ],
493                                [ XKB_DFLT_LAYOUT="us" ])
494AC_ARG_WITH(default-xkb-variant, AS_HELP_STRING([--with-default-xkb-variant=VARIANT],
495                                   [Keyboard variant (default: (none))]),
496                                [ XKB_DFLT_VARIANT="$withval" ],
497                                [ XKB_DFLT_VARIANT="" ])
498AC_ARG_WITH(default-xkb-options, AS_HELP_STRING([--with-default-xkb-options=OPTIONS],
499                                   [Keyboard layout options (default: (none))]),
500                                [ XKB_DFLT_OPTIONS="$withval" ],
501                                [ XKB_DFLT_OPTIONS="" ])
502AC_ARG_WITH(serverconfig-path, AS_HELP_STRING([--with-serverconfig-path=PATH],
503				   [Directory where ancillary server config files are installed (default: ${libdir}/xorg)]),
504				[ SERVERCONFIG="$withval" ],
505				[ SERVERCONFIG="${libdir}/xorg" ])
506AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: /Applications/Utilities)]),
507				[ APPLE_APPLICATIONS_DIR="${withval}" ],
508				[ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
509AC_SUBST([APPLE_APPLICATIONS_DIR])
510AC_ARG_WITH(apple-application-name,AS_HELP_STRING([--with-apple-application-name=NAME], [Name for the .app (default: X11)]),
511				[ APPLE_APPLICATION_NAME="${withval}" ],
512				[ APPLE_APPLICATION_NAME="X11" ])
513AC_SUBST([APPLE_APPLICATION_NAME])
514AC_ARG_WITH(bundle-id-prefix,  AS_HELP_STRING([--with-bundle-id-prefix=RDNS_PREFIX], [Prefix to use for bundle identifiers (default: org.x)]),
515                               [ BUNDLE_ID_PREFIX="${withval}" ])
516AC_SUBST([BUNDLE_ID_PREFIX])
517AC_DEFINE_UNQUOTED(BUNDLE_ID_PREFIX, "$BUNDLE_ID_PREFIX", [Prefix to use for bundle identifiers])
518m4_define(DEFAULT_BUNDLE_VERSION, m4_esyscmd([echo ]AC_PACKAGE_VERSION[ | cut -f1-3 -d. | tr -d '\n']))
519AC_ARG_WITH(bundle-version,    AS_HELP_STRING([--with-bundle-version=VERSION], [Version to use for X11.app's CFBundleVersion (default: ]DEFAULT_BUNDLE_VERSION[)]),
520                               [ BUNDLE_VERSION="${withval}" ],
521                               [ BUNDLE_VERSION="DEFAULT_BUNDLE_VERSION" ])
522AC_SUBST([BUNDLE_VERSION])
523AC_ARG_WITH(bundle-version-string, AS_HELP_STRING([--with-bundle-version-string=VERSION], [Version to use for X11.app's CFBundleShortVersionString (default: ]AC_PACKAGE_VERSION[)]),
524                               [ BUNDLE_VERSION_STRING="${withval}" ],
525                               [ BUNDLE_VERSION_STRING="${PACKAGE_VERSION}" ])
526AC_SUBST([BUNDLE_VERSION_STRING])
527AC_ARG_ENABLE(sparkle,AS_HELP_STRING([--enable-sparkle], [Enable updating of X11.app using the Sparkle Framework (default: disabled)]),
528				[ XQUARTZ_SPARKLE="${enableval}" ],
529				[ XQUARTZ_SPARKLE="no" ])
530AC_SUBST([XQUARTZ_SPARKLE])
531AC_ARG_WITH(sparkle-feed-url,  AS_HELP_STRING([--with-sparkle-feed-url=URL], [URL for the Sparkle feed (default: https://www.xquartz.org/releases/sparkle/release.xml)]),
532                               [ XQUARTZ_SPARKLE_FEED_URL="${withval}" ],
533                               [ XQUARTZ_SPARKLE_FEED_URL="https://www.xquartz.org/releases/sparkle/release.xml" ])
534AC_SUBST([XQUARTZ_SPARKLE_FEED_URL])
535AC_ARG_ENABLE(visibility,     AS_HELP_STRING([--enable-visibility], [Enable symbol visibility (default: auto)]),
536				[SYMBOL_VISIBILITY=$enableval],
537				[SYMBOL_VISIBILITY=auto])
538
539dnl GLX build options
540AC_ARG_WITH(khronos-spec-dir, AS_HELP_STRING([--with-khronos-spec-dir=PATH], [Path to Khronos OpenGL registry database files (default: auto)]),
541				[KHRONOS_SPEC_DIR="${withval}"],
542				[KHRONOS_SPEC_DIR=auto])
543
544dnl Extensions.
545AC_ARG_ENABLE(composite,      AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
546AC_ARG_ENABLE(mitshm,         AS_HELP_STRING([--disable-mitshm], [Build SHM extension (default: auto)]), [MITSHM=$enableval], [MITSHM=auto])
547AC_ARG_ENABLE(xres,           AS_HELP_STRING([--disable-xres], [Build XRes extension (default: enabled)]), [RES=$enableval], [RES=yes])
548AC_ARG_ENABLE(record,         AS_HELP_STRING([--disable-record], [Build Record extension (default: enabled)]), [RECORD=$enableval], [RECORD=yes])
549AC_ARG_ENABLE(xv,             AS_HELP_STRING([--disable-xv], [Build Xv extension (default: enabled)]), [XV=$enableval], [XV=yes])
550AC_ARG_ENABLE(xvmc,           AS_HELP_STRING([--disable-xvmc], [Build XvMC extension (default: enabled)]), [XVMC=$enableval], [XVMC=yes])
551AC_ARG_ENABLE(dga,            AS_HELP_STRING([--disable-dga], [Build DGA extension (default: auto)]), [DGA=$enableval], [DGA=auto])
552AC_ARG_ENABLE(screensaver,    AS_HELP_STRING([--disable-screensaver], [Build ScreenSaver extension (default: enabled)]), [SCREENSAVER=$enableval], [SCREENSAVER=yes])
553AC_ARG_ENABLE(xdmcp,          AS_HELP_STRING([--disable-xdmcp], [Build XDMCP extension (default: auto)]), [XDMCP=$enableval], [XDMCP=auto])
554AC_ARG_ENABLE(xdm-auth-1,     AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
555AC_ARG_ENABLE(glx,            AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
556AC_ARG_ENABLE(dri,            AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
557AC_ARG_ENABLE(dri2,           AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: auto)]), [DRI2=$enableval], [DRI2=auto])
558AC_ARG_ENABLE(dri3,           AS_HELP_STRING([--enable-dri3], [Build DRI3 extension (default: auto)]), [DRI3=$enableval], [DRI3=auto])
559AC_ARG_ENABLE(present,	      AS_HELP_STRING([--disable-present], [Build Present extension (default: enabled)]), [PRESENT=$enableval], [PRESENT=yes])
560AC_ARG_ENABLE(xinerama,	      AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
561AC_ARG_ENABLE(xf86vidmode,    AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
562AC_ARG_ENABLE(xace,           AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
563AC_ARG_ENABLE(xselinux,       AS_HELP_STRING([--enable-xselinux], [Build SELinux extension (default: disabled)]), [XSELINUX=$enableval], [XSELINUX=no])
564AC_ARG_ENABLE(xcsecurity,     AS_HELP_STRING([--enable-xcsecurity], [Build Security extension (default: disabled)]), [XCSECURITY=$enableval], [XCSECURITY=no])
565AC_ARG_ENABLE(dbe,            AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes])
566AC_ARG_ENABLE(xf86bigfont,    AS_HELP_STRING([--enable-xf86bigfont], [Build XF86 Big Font extension (default: disabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=no])
567AC_ARG_ENABLE(dpms,           AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
568AC_ARG_ENABLE(config-udev,    AS_HELP_STRING([--enable-config-udev], [Build udev support (default: auto)]), [CONFIG_UDEV=$enableval], [CONFIG_UDEV=auto])
569AC_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])
570AC_ARG_ENABLE(config-hal,     AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto])
571AC_ARG_ENABLE(config-wscons,  AS_HELP_STRING([--enable-config-wscons], [Build wscons config support (default: auto)]), [CONFIG_WSCONS=$enableval], [CONFIG_WSCONS=auto])
572AC_ARG_ENABLE(xfree86-utils,     AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
573AC_ARG_ENABLE(vgahw,          AS_HELP_STRING([--enable-vgahw], [Build Xorg with vga access (default: enabled)]), [VGAHW=$enableval], [VGAHW=yes])
574AC_ARG_ENABLE(vbe,            AS_HELP_STRING([--enable-vbe], [Build Xorg with VBE module (default: enabled)]), [VBE=$enableval], [VBE=yes])
575AC_ARG_ENABLE(int10-module,     AS_HELP_STRING([--enable-int10-module], [Build Xorg with int10 module (default: enabled)]), [INT10MODULE=$enableval], [INT10MODULE=yes])
576AC_ARG_ENABLE(windowswm,      AS_HELP_STRING([--enable-windowswm], [Build XWin with WindowsWM extension (default: no)]), [WINDOWSWM=$enableval], [WINDOWSWM=no])
577AC_ARG_ENABLE(windowsdri,     AS_HELP_STRING([--enable-windowsdri], [Build XWin with WindowsDRI extension (default: auto)]), [WINDOWSDRI=$enableval], [WINDOWSDRI=auto])
578AC_ARG_ENABLE(libdrm,         AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes])
579AC_ARG_ENABLE(clientids,      AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes])
580AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes])
581AC_ARG_ENABLE(linux_acpi, AS_HELP_STRING([--disable-linux-acpi], [Disable building ACPI support on Linux (if available).]), [enable_linux_acpi=$enableval], [enable_linux_acpi=yes])
582AC_ARG_ENABLE(linux_apm, AS_HELP_STRING([--disable-linux-apm], [Disable building APM support on Linux (if available).]), [enable_linux_apm=$enableval], [enable_linux_apm=yes])
583AC_ARG_ENABLE(systemd-logind, AS_HELP_STRING([--enable-systemd-logind], [Build systemd-logind support (default: auto)]), [SYSTEMD_LOGIND=$enableval], [SYSTEMD_LOGIND=auto])
584AC_ARG_ENABLE(suid-wrapper, AS_HELP_STRING([--enable-suid-wrapper], [Build suid-root wrapper for legacy driver support on rootless xserver systems (default: no)]), [SUID_WRAPPER=$enableval], [SUID_WRAPPER=no])
585
586dnl DDXes.
587AC_ARG_ENABLE(xorg,    	      AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
588AC_ARG_ENABLE(dmx,    	      AS_HELP_STRING([--enable-dmx], [Build DMX server (default: no)]), [DMX=$enableval], [DMX=no])
589AC_ARG_ENABLE(xvfb,    	      AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes])
590AC_ARG_ENABLE(xnest,   	      AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: auto)]), [XNEST=$enableval], [XNEST=auto])
591AC_ARG_ENABLE(xquartz,        AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
592AC_ARG_ENABLE(xwayland,       AS_HELP_STRING([--enable-xwayland], [Build Xwayland server (default: auto)]), [XWAYLAND=$enableval], [XWAYLAND=auto])
593AC_ARG_ENABLE(xwayland-eglstream, AS_HELP_STRING([--enable-xwayland-eglstream], [Build Xwayland eglstream support (default: no)]), [XWAYLAND_EGLSTREAM=$enableval], [XWAYLAND_EGLSTREAM=no])
594AC_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])
595AC_ARG_ENABLE(xwin,    	      AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
596AC_ARG_ENABLE(glamor,         AS_HELP_STRING([--enable-glamor], [Build glamor dix module (default: auto)]), [GLAMOR=$enableval], [GLAMOR=auto])
597dnl kdrive and its subsystems
598AC_ARG_ENABLE(kdrive,         AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
599AC_ARG_ENABLE(xephyr,         AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
600dnl kdrive options
601AC_ARG_ENABLE(libunwind,      AS_HELP_STRING([--enable-libunwind], [Use libunwind for backtracing (default: auto)]), [LIBUNWIND="$enableval"], [LIBUNWIND="auto"])
602AC_ARG_ENABLE(xshmfence,      AS_HELP_STRING([--disable-xshmfence], [Disable xshmfence (default: auto)]), [XSHMFENCE="$enableval"], [XSHMFENCE="auto"])
603
604
605dnl chown/chmod to be setuid root as part of build
606dnl Replaces InstallXserverSetUID in imake
607AC_ARG_ENABLE(install-setuid, 
608    AS_HELP_STRING([--enable-install-setuid],
609       [Install Xorg server as owned by root with setuid bit (default: auto)]),
610    [SETUID=$enableval], [SETUID=auto])
611AC_MSG_CHECKING([to see if we can install the Xorg server as root])
612if test "x$SETUID" = "xauto" ; then
613	case $host_os in
614	    cygwin*)		SETUID="no"  ;;
615	    mingw*)		SETUID="no"  ;;
616	    darwin*)		SETUID="no"  ;;
617	    *)
618	   	case $host_cpu in
619		    sparc)	SETUID="no"  ;;
620		    *)		SETUID="yes" ;;
621		esac
622	esac
623	if test "x$SETUID" = xyes; then
624		touch testfile
625		chown root testfile > /dev/null 2>&1 || SETUID="no"
626		rm -f testfile
627	fi
628fi
629AC_MSG_RESULT([$SETUID])
630AM_CONDITIONAL(INSTALL_SETUID, [test "x$SETUID" = "xyes"])
631
632dnl Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro
633dnl was not expanded, since xorg-server with no transport types is rather useless.
634dnl
635dnl If you're seeing an error here, be sure you installed the lib/xtrans module
636dnl first and if it's not in the default location, that you set the ACLOCAL
637dnl environment variable to find it, such as:
638dnl	ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
639m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$])
640
641# Transport selection macro from xtrans.m4
642XTRANS_CONNECTION_FLAGS
643
644# Secure RPC detection macro from xtrans.m4
645XTRANS_SECURE_RPC_FLAGS
646AM_CONDITIONAL(SECURE_RPC, [test "x$SECURE_RPC" = xyes])
647
648AM_CONDITIONAL(INT10_VM86, [test "x$INT10" = xvm86])
649AM_CONDITIONAL(INT10_X86EMU, [test "x$INT10" = xx86emu])
650AM_CONDITIONAL(INT10_STUB, [test "x$INT10" = xstub])
651
652dnl DDX Detection... Yes, it's ugly to have it here... but we need to
653dnl handle this early on so that we don't require unsupported extensions
654case $host_os in
655	cygwin* | mingw*)
656		CONFIG_HAL=no
657		CONFIG_UDEV=no
658		CONFIG_UDEV_KMS=no
659		DGA=no
660		DRM=no
661		DRI2=no
662		DRI3=no
663		INT10MODULE=no
664		PCI=no
665		VGAHW=no
666		VBE=no
667		XF86UTILS=no
668		XF86VIDMODE=no
669		XSELINUX=no
670		SYMBOL_VISIBILITY=no
671		;;
672	darwin*)
673		PCI=no
674		INT10MODULE=no
675		VGAHW=no
676		VBE=no
677		DRM=no
678		DRI2=no
679		DRI3=no
680
681		if test x$XQUARTZ = xauto; then
682			AC_CACHE_CHECK([whether to build Xquartz],xorg_cv_Carbon_framework,[
683		 		save_LDFLAGS=$LDFLAGS
684				LDFLAGS="$LDFLAGS -framework Carbon"
685				AC_LINK_IFELSE([AC_LANG_SOURCE([char FSFindFolder(); int main() { FSFindFolder(); return 0;}])],
686				               [xorg_cv_Carbon_framework=yes],
687				               [xorg_cv_Carbon_framework=no])
688			        LDFLAGS=$save_LDFLAGS])
689                
690			if test "X$xorg_cv_Carbon_framework" = Xyes; then
691				XQUARTZ=yes
692			else
693				XQUARTZ=no
694			fi
695		fi
696
697		AC_CHECK_FUNC(dispatch_async,
698		              AC_DEFINE([HAVE_LIBDISPATCH], 1, [Define to 1 if you have the libdispatch (GCD) available]),
699		              [])
700
701		if test "x$XQUARTZ" = xyes ; then
702			XQUARTZ=yes
703			XVFB=no
704			XNEST=no
705			XWAYLAND=no
706
707			COMPOSITE=no
708			DGA=no
709			DPMSExtension=no
710			XF86VIDMODE=no
711		fi
712		;;
713	gnu*)
714		DRM=no
715		DRI2=no
716		DRI3=no
717		;;
718	*) XQUARTZ=no ;;
719esac
720
721dnl ---------------------------------------------------------------------------
722dnl Extension section
723dnl ---------------------------------------------------------------------------
724XEXT_INC='-I$(top_srcdir)/Xext'
725XEXT_LIB='$(top_builddir)/Xext/libXext.la'
726
727dnl Optional modules
728VIDEOPROTO="videoproto"
729COMPOSITEPROTO="compositeproto >= 0.4"
730RECORDPROTO="recordproto >= 1.13.99.1"
731SCRNSAVERPROTO="scrnsaverproto >= 1.1"
732RESOURCEPROTO="resourceproto >= 1.2.0"
733DRIPROTO="xf86driproto >= 2.1.0"
734DRI2PROTO="dri2proto >= 2.8"
735DRI3PROTO="dri3proto >= 1.2"
736XINERAMAPROTO="xineramaproto"
737BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
738DGAPROTO="xf86dgaproto >= 2.0.99.1"
739GLPROTO="glproto >= 1.4.17"
740DMXPROTO="dmxproto >= 2.2.99.1"
741VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
742WINDOWSWMPROTO="windowswmproto"
743APPLEWMPROTO="applewmproto >= 1.4"
744LIBXSHMFENCE="xshmfence >= 1.1"
745
746dnl Required modules
747XPROTO="xproto >= 7.0.31"
748RANDRPROTO="randrproto >= 1.6.0"
749RENDERPROTO="renderproto >= 0.11"
750XEXTPROTO="xextproto >= 7.2.99.901"
751INPUTPROTO="inputproto >= 2.3"
752KBPROTO="kbproto >= 1.0.3"
753FONTSPROTO="fontsproto >= 2.1.3"
754FIXESPROTO="fixesproto >= 5.0"
755DAMAGEPROTO="damageproto >= 1.1"
756XCMISCPROTO="xcmiscproto >= 1.2.0"
757BIGREQSPROTO="bigreqsproto >= 1.1.0"
758XTRANS="xtrans >= 1.3.5"
759PRESENTPROTO="presentproto >= 1.1"
760
761dnl List of libraries that require a specific version
762LIBAPPLEWM="applewm >= 1.4"
763LIBDMX="dmx >= 1.0.99.1"
764LIBDRI="dri >= 7.8.0"
765LIBDRM="libdrm >= 2.4.89"
766LIBEGL="egl"
767LIBGBM="gbm >= 10.2.0"
768LIBGL="gl >= 7.1.0"
769LIBXEXT="xext >= 1.0.99.4"
770LIBXFONT="xfont2 >= 2.0.0"
771LIBXI="xi >= 1.2.99.1"
772LIBXTST="xtst >= 1.0.99.2"
773LIBPCIACCESS="pciaccess >= 0.12.901"
774LIBUDEV="libudev >= 143"
775LIBSELINUX="libselinux >= 2.0.86"
776LIBDBUS="dbus-1 >= 1.0"
777LIBPIXMAN="pixman-1 >= 0.27.2"
778
779dnl Pixman is always required, but we separate it out so we can link
780dnl specific modules against it
781PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
782REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
783
784dnl Core modules for most extensions, et al.
785SDK_REQUIRED_MODULES="$XPROTO $RANDRPROTO $RENDERPROTO $XEXTPROTO $INPUTPROTO $KBPROTO $FONTSPROTO $LIBPIXMAN"
786# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
787AC_SUBST(SDK_REQUIRED_MODULES)
788
789AC_CHECK_DECL([PTHREAD_MUTEX_RECURSIVE], [HAVE_RECURSIVE_MUTEX=yes], [HAVE_RECURSIVE_MUTEX=no], [[#include <pthread.h>]])
790
791THREAD_DEFAULT=no
792
793if test "x$HAVE_RECURSIVE_MUTEX" = "xyes" ; then
794	THREAD_DEFAULT=yes
795fi
796
797AC_ARG_ENABLE(input-thread, AS_HELP_STRING([--enable-input-thread],
798	     [Enable input threads]),
799	     [INPUTTHREAD=$enableval], [INPUTTHREAD=$THREAD_DEFAULT])
800
801if test "x$INPUTTHREAD" = "xyes" ; then
802    AX_PTHREAD(,AC_MSG_ERROR([threaded input requested but no pthread support has been found]))
803    SYS_LIBS="$SYS_LIBS $PTHREAD_LIBS"
804    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
805    AC_DEFINE(INPUTTHREAD, 1, [Use a separate input thread])
806
807    save_LIBS="$LIBS"
808    LIBS="$LIBS $SYS_LIBS"
809    dnl MacOS X 10.6 & higher
810    AC_MSG_CHECKING(for pthread_setname_np(const char*))
811    AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
812	                            [pthread_setname_np("example")])],
813                   [AC_MSG_RESULT(yes)
814		    AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID,1,
815		              [Have function pthread_setname_np(const char*)])],
816                   [AC_MSG_RESULT(no)])
817    dnl GNU libc 2.12 & higher, Solaris 11.3 & higher
818    AC_MSG_CHECKING(for pthread_setname_np(pthread_t, const char*))
819    AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
820                             [pthread_setname_np(pthread_self(), "example")])],
821                   [AC_MSG_RESULT(yes)
822		    AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITH_TID,1,
823	                      [Have function pthread_setname_np(pthread_t, const char*)])],
824		   [AC_MSG_RESULT(no)])
825    LIBS="$save_LIBS"
826fi
827
828REQUIRED_MODULES="$FIXESPROTO $DAMAGEPROTO $XCMISCPROTO $XTRANS $BIGREQSPROTO $SDK_REQUIRED_MODULES"
829
830dnl systemd socket activation
831dnl activate the code in libxtrans that grabs systemd's socket fds
832dnl libsystemd-daemon was moved into libsystemd in version 209
833LIBSYSTEMD="libsystemd >= 209"
834AC_ARG_WITH([systemd-daemon],
835	AS_HELP_STRING([--with-systemd-daemon],
836		[support systemd socket activation (default: auto)]),
837	[WITH_SYSTEMD_DAEMON=$withval], [WITH_SYSTEMD_DAEMON=auto])
838if test "x$WITH_SYSTEMD_DAEMON" = "xyes" -o "x$WITH_SYSTEMD_DAEMON" = "xauto" ; then
839	PKG_CHECK_MODULES([SYSTEMD_DAEMON], [$LIBSYSTEMD],
840			  [HAVE_SYSTEMD_DAEMON=yes;
841			   LIBSYSTEMD_DAEMON="$LIBSYSTEMD"],
842			  [PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
843					     [HAVE_SYSTEMD_DAEMON=yes;
844					      LIBSYSTEMD_DAEMON=libsystemd-daemon],
845					     [HAVE_SYSTEMD_DAEMON=no])])
846	if test "x$HAVE_SYSTEMD_DAEMON" = xyes; then
847		AC_DEFINE(HAVE_SYSTEMD_DAEMON, 1, [Define to 1 if libsystemd-daemon is available])
848		REQUIRED_LIBS="$REQUIRED_LIBS $LIBSYSTEMD_DAEMON"
849	elif test "x$WITH_SYSTEMD_DAEMON" = xyes; then
850		AC_MSG_ERROR([systemd support requested but no library has been found])
851	fi
852fi
853AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = "xyes"])
854
855if test "x$CONFIG_UDEV" = xyes && test "x$CONFIG_HAL" = xyes; then
856	AC_MSG_ERROR([Hotplugging through both libudev and hal not allowed])
857fi
858
859PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
860if test "x$CONFIG_UDEV" = xauto; then
861	CONFIG_UDEV="$HAVE_LIBUDEV"
862	AC_DEFINE(HAVE_LIBUDEV, 1, [Define to 1 if libudev is available.])
863fi
864AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes])
865if test "x$CONFIG_UDEV" = xyes; then
866	CONFIG_HAL=no
867	if test "x$CONFIG_UDEV_KMS" = xauto; then
868		CONFIG_UDEV_KMS="$HAVE_LIBUDEV"
869	fi
870	if ! test "x$HAVE_LIBUDEV" = xyes; then
871		AC_MSG_ERROR([udev configuration API requested, but libudev is not installed])
872	fi
873	AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug])
874	if test "x$CONFIG_UDEV_KMS" = xyes; then
875		AC_DEFINE(CONFIG_UDEV_KMS, 1, [Use libudev for kms enumeration])
876	fi
877	SAVE_LIBS=$LIBS
878	SAVE_CFLAGS=$CFLAGS
879	CFLAGS="$CFLAGS $UDEV_CFLAGS"
880	LIBS=$UDEV_LIBS
881	AC_CHECK_FUNCS([udev_monitor_filter_add_match_tag])
882	AC_CHECK_FUNCS([udev_enumerate_add_match_tag])
883	LIBS=$SAVE_LIBS
884	CFLAGS=$SAVE_CFLAGS
885fi
886AM_CONDITIONAL(CONFIG_UDEV_KMS, [test "x$CONFIG_UDEV_KMS" = xyes])
887
888PKG_CHECK_MODULES(DBUS, $LIBDBUS, [HAVE_DBUS=yes], [HAVE_DBUS=no])
889if test "x$HAVE_DBUS" = xyes; then
890	AC_DEFINE(HAVE_DBUS, 1, [Have D-Bus support])
891fi
892AM_CONDITIONAL(HAVE_DBUS, [test "x$HAVE_DBUS" = xyes])
893
894PKG_CHECK_MODULES(HAL, hal, [HAVE_HAL=yes], [HAVE_HAL=no])
895if test "x$CONFIG_HAL" = xauto; then
896	CONFIG_HAL="$HAVE_HAL"
897fi
898if test "x$CONFIG_HAL" = xyes; then
899	if ! test "x$HAVE_HAL" = xyes; then
900		AC_MSG_ERROR([HAL hotplug API requested, but HAL is not installed.])
901	fi
902
903	AC_DEFINE(CONFIG_HAL, 1, [Use the HAL hotplug API])
904	NEED_DBUS="yes"
905fi
906AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes])
907
908if test "x$SYSTEMD_LOGIND" = xauto; then
909        if test "x$HAVE_DBUS" = xyes -a "x$CONFIG_UDEV" = xyes ; then
910                SYSTEMD_LOGIND=yes
911        else
912                SYSTEMD_LOGIND=no
913        fi
914fi
915if test "x$SYSTEMD_LOGIND" = xyes; then
916        if ! test "x$HAVE_DBUS" = xyes; then
917                AC_MSG_ERROR([systemd-logind requested, but D-Bus is not installed.])
918        fi
919        if ! test "x$CONFIG_UDEV" = xyes ; then
920                AC_MSG_ERROR([systemd-logind is only supported in combination with udev configuration.])
921        fi
922
923        AC_DEFINE(SYSTEMD_LOGIND, 1, [Enable systemd-logind integration])
924        NEED_DBUS="yes"
925fi
926AM_CONDITIONAL(SYSTEMD_LOGIND, [test "x$SYSTEMD_LOGIND" = xyes])
927
928if test "x$SUID_WRAPPER" = xyes; then
929        dnl This is a define so that if some platforms want to put the wrapper
930        dnl somewhere else this can be easily changed
931        AC_DEFINE_DIR(SUID_WRAPPER_DIR, libexecdir, [Where to install the Xorg binary and Xorg.wrap])
932        SETUID="no"
933fi
934AM_CONDITIONAL(SUID_WRAPPER, [test "x$SUID_WRAPPER" = xyes])
935
936if test "x$NEED_DBUS" = xyes; then
937        AC_DEFINE(NEED_DBUS, 1, [Enable D-Bus core])
938fi
939AM_CONDITIONAL(NEED_DBUS, [test "x$NEED_DBUS" = xyes])
940
941if test "x$CONFIG_WSCONS" = xauto; then
942	case $host_os in
943		*openbsd*)
944			CONFIG_WSCONS=yes;
945			;;
946		*)
947			CONFIG_WSCONS=no;
948			;;
949	esac
950fi
951AM_CONDITIONAL(CONFIG_WSCONS, [test "x$CONFIG_WSCONS" = xyes])
952if test "x$CONFIG_WSCONS" = xyes; then
953	AC_DEFINE(CONFIG_WSCONS, 1, [Use wscons for input auto configuration])
954fi
955
956
957AC_MSG_CHECKING([for glibc...])
958AC_PREPROC_IFELSE([AC_LANG_SOURCE([
959#include <features.h>
960#ifndef __GLIBC__
961#error
962#endif
963])], glibc=yes, glibc=no)
964AC_MSG_RESULT([$glibc])
965
966AC_CHECK_FUNCS([clock_gettime], [have_clock_gettime=yes],
967               [AC_CHECK_LIB([rt], [clock_gettime], [have_clock_gettime=-lrt],
968                             [have_clock_gettime=no])])
969
970AC_MSG_CHECKING([for a useful monotonic clock ...])
971
972if ! test "x$have_clock_gettime" = xno; then
973    if ! test "x$have_clock_gettime" = xyes; then
974        CLOCK_LIBS="$have_clock_gettime"
975    else
976        CLOCK_LIBS=""
977    fi
978
979    LIBS_SAVE="$LIBS"
980    LIBS="$CLOCK_LIBS"
981    CPPFLAGS_SAVE="$CPPFLAGS"
982
983    if test x"$glibc" = xyes; then
984        CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
985    fi
986
987    AC_RUN_IFELSE([AC_LANG_SOURCE([
988#include <time.h>
989
990int main(int argc, char *argv[[]]) {
991    struct timespec tp;
992
993    if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
994        return 0;
995    else
996        return 1;
997}
998    ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
999       [MONOTONIC_CLOCK="cross compiling"])
1000
1001    if test "$MONOTONIC_CLOCK" = "cross compiling"; then
1002        AC_CHECK_DECL([CLOCK_MONOTONIC],[MONOTONIC_CLOCK="guessing yes"],[MONOTONIC_CLOCK=no],[#include <time.h>])
1003    fi
1004
1005    LIBS="$LIBS_SAVE"
1006    CPPFLAGS="$CPPFLAGS_SAVE"
1007else
1008    MONOTONIC_CLOCK=no
1009fi
1010
1011AC_MSG_RESULT([$MONOTONIC_CLOCK])
1012if test "$MONOTONIC_CLOCK" = "guessing yes"; then
1013	MONOTONIC_CLOCK=yes
1014fi
1015
1016if test "x$MONOTONIC_CLOCK" = xyes; then
1017    AC_DEFINE(MONOTONIC_CLOCK, 1, [Have monotonic clock from clock_gettime()])
1018    LIBS="$LIBS $CLOCK_LIBS"
1019fi
1020
1021AM_CONDITIONAL(XV, [test "x$XV" = xyes])
1022if test "x$XV" = xyes; then
1023	AC_DEFINE(XV, 1, [Support Xv extension])
1024	AC_DEFINE(XvExtension, 1, [Build Xv extension])
1025	REQUIRED_MODULES="$REQUIRED_MODULES $VIDEOPROTO"
1026	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $VIDEOPROTO"
1027else
1028	XVMC=no
1029fi
1030
1031AM_CONDITIONAL(XVMC, [test "x$XVMC" = xyes])
1032if test "x$XVMC" = xyes; then
1033	AC_DEFINE(XvMCExtension, 1, [Build XvMC extension])
1034fi
1035
1036AM_CONDITIONAL(COMPOSITE, [test "x$COMPOSITE" = xyes])
1037if test "x$COMPOSITE" = xyes; then
1038	AC_DEFINE(COMPOSITE, 1, [Support Composite Extension])
1039	REQUIRED_MODULES="$REQUIRED_MODULES $COMPOSITEPROTO"
1040	COMPOSITE_LIB='$(top_builddir)/composite/libcomposite.la'
1041	COMPOSITE_INC='-I$(top_srcdir)/composite'
1042fi
1043
1044if test "x$MITSHM" = xauto; then
1045	MITSHM="$ac_cv_sysv_ipc"
1046fi
1047AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes])
1048if test "x$MITSHM" = xyes; then
1049	AC_DEFINE(MITSHM, 1, [Support MIT-SHM extension])
1050	AC_DEFINE(HAS_SHM, 1, [Support SHM])
1051fi
1052
1053AM_CONDITIONAL(RECORD, [test "x$RECORD" = xyes])
1054if test "x$RECORD" = xyes; then
1055	AC_DEFINE(XRECORD, 1, [Support Record extension])
1056	REQUIRED_MODULES="$REQUIRED_MODULES $RECORDPROTO"
1057	RECORD_LIB='$(top_builddir)/record/librecord.la'
1058fi
1059
1060AM_CONDITIONAL(SCREENSAVER, [test "x$SCREENSAVER" = xyes])
1061if test "x$SCREENSAVER" = xyes; then
1062	AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension])
1063	REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO"
1064	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $SCRNSAVERPROTO"
1065fi
1066
1067AM_CONDITIONAL(RES, [test "x$RES" = xyes])
1068if test "x$RES" = xyes; then
1069	AC_DEFINE(RES, 1, [Support X resource extension])
1070	REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO"
1071	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $RESOURCEPROTO"
1072fi
1073
1074if test "x$LISTEN_TCP" = xyes; then
1075	AC_DEFINE(LISTEN_TCP, 1, [Listen on TCP socket])
1076fi
1077if test "x$LISTEN_UNIX" = xyes; then
1078	AC_DEFINE(LISTEN_UNIX, 1, [Listen on Unix socket])
1079fi
1080if test "x$LISTEN_LOCAL" = xyes; then
1081	AC_DEFINE(LISTEN_LOCAL, 1, [Listen on local socket])
1082fi
1083
1084# The XRes extension may support client ID tracking only if it has
1085# been specifically enabled. Client ID tracking is implicitly not
1086# supported if XRes extension is disabled.
1087AC_MSG_CHECKING([whether to track client ids])
1088if test "x$RES" = xyes && test "x$CLIENTIDS" = xyes; then
1089	AC_DEFINE(CLIENTIDS, 1, [Support client ID tracking])
1090else
1091	CLIENTIDS=no
1092fi
1093if test "x$CLIENTIDS" = xyes; then
1094	case $host_os in
1095	openbsd*)
1096		SYS_LIBS="$SYS_LIBS -lkvm"
1097	;;
1098	esac
1099fi
1100AC_MSG_RESULT([$CLIENTIDS])
1101AM_CONDITIONAL(CLIENTIDS, [test "x$CLIENTIDS" = xyes])
1102
1103AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
1104if test "x$DRI" = xyes; then
1105	AC_DEFINE(XF86DRI, 1, [Build DRI extension])
1106	REQUIRED_MODULES="$REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI"
1107	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI"
1108fi
1109
1110PKG_CHECK_MODULES([DRI2PROTO], $DRI2PROTO,
1111                  [HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
1112case "$DRI2,$HAVE_DRI2PROTO" in
1113	yes,no)
1114		AC_MSG_ERROR([DRI2 requested, but dri2proto not found.])
1115		;;
1116	yes,yes | auto,yes)
1117		AC_DEFINE(DRI2, 1, [Build DRI2 extension])
1118		DRI2=yes
1119		LIBGL="gl >= 9.2.0"
1120		SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO"
1121		;;
1122esac
1123AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
1124
1125dnl
1126dnl Locate a suitable tmp file system for creating shared memeory files
1127dnl
1128
1129AC_ARG_WITH(shared-memory-dir, AS_HELP_STRING([--with-shared-memory-dir=PATH], [Path to directory in a world-writable temporary directory for anonymous shared memory (default: auto)]),
1130[],
1131[with_shared_memory_dir=yes])
1132
1133shmdirs="/run/shm /var/tmp /tmp"
1134
1135case x"$with_shared_memory_dir" in
1136xyes)
1137	for dir in $shmdirs; do
1138		case x"$with_shared_memory_dir" in
1139		xyes)
1140			echo Checking temp dir "$dir"
1141			if test -d "$dir"; then
1142				with_shared_memory_dir="$dir"
1143			fi
1144			;;
1145		esac
1146	done
1147	;;
1148x/*)
1149	;;
1150xno)
1151	;;
1152*)
1153	AC_MSG_ERROR([Invalid directory specified for --with-shared-memory-dir: $with_shared_memory_dir])
1154	;;
1155esac
1156
1157case x"$with_shared_memory_dir" in
1158xyes)
1159	AC_MSG_ERROR([No directory found for shared memory temp files.])
1160	;;
1161xno)
1162	;;
1163*)
1164	AC_DEFINE_UNQUOTED(SHMDIR, ["$with_shared_memory_dir"], [Directory for shared memory temp files])
1165	;;
1166esac
1167
1168AC_ARG_ENABLE(xtrans-send-fds,	AS_HELP_STRING([--disable-xtrans-send-fds], [Use Xtrans support for fd passing (default: auto)]), [XTRANS_SEND_FDS=$enableval], [XTRANS_SEND_FDS=auto])
1169
1170case "x$XTRANS_SEND_FDS" in
1171xauto)
1172	case "$host_os" in
1173	linux*|solaris*|freebsd*|dragonfly*|openbsd*)
1174		XTRANS_SEND_FDS=yes
1175		;;
1176	*)
1177		XTRANS_SEND_FDS=no
1178		;;
1179	esac
1180esac
1181
1182case "x$XTRANS_SEND_FDS" in
1183xyes)
1184	AC_DEFINE(XTRANS_SEND_FDS, 1, [Enable xtrans fd passing support])
1185	;;
1186esac
1187
1188case "$DRI3,$XTRANS_SEND_FDS" in
1189	yes,yes | auto,yes)
1190		;;
1191	yes,no)
1192		AC_MSG_ERROR([DRI3 requested, but xtrans fd passing support not found.])
1193		DRI3=no
1194		;;
1195	no,*)
1196		;;
1197	*)
1198		AC_MSG_NOTICE([DRI3 disabled because xtrans fd passing support not found.])
1199		DRI3=no
1200		;;
1201esac
1202
1203PKG_CHECK_MODULES([DRI3PROTO], $DRI3PROTO,
1204                  [HAVE_DRI3PROTO=yes], [HAVE_DRI3PROTO=no])
1205
1206case "$DRI3,$HAVE_DRI3PROTO" in
1207	yes,yes | auto,yes)
1208		REQUIRED_MODULES="$REQUIRED_MODULES dri3proto"
1209		;;
1210	yes,no)
1211		AC_MSG_ERROR([DRI3 requested, but dri3proto not found.])
1212		DRI3=no
1213		;;
1214	no,*)
1215		;;
1216	*)
1217		AC_MSG_NOTICE([DRI3 disabled because dri3proto not found.])
1218		DRI3=no
1219		;;
1220esac
1221
1222AC_CHECK_FUNCS([sigaction])
1223
1224BUSFAULT=no
1225
1226case x"$ac_cv_func_sigaction" in
1227	xyes)
1228		AC_DEFINE(HAVE_SIGACTION, 1, [Have sigaction function])
1229		BUSFAULT=yes
1230		;;
1231esac
1232
1233case x"$BUSFAULT" in
1234	xyes)
1235		AC_DEFINE(BUSFAULT, 1, [Include busfault OS API])
1236		;;
1237esac
1238
1239AM_CONDITIONAL(BUSFAULT, test x"$BUSFAULT" = xyes)
1240
1241
1242PKG_CHECK_MODULES([XSHMFENCE], $LIBXSHMFENCE, [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
1243if test "x$XSHMFENCE" = "xauto"; then
1244    XSHMFENCE="$HAVE_XSHMFENCE"
1245fi
1246
1247if test "x$XSHMFENCE" = "xyes"; then
1248    if test "x$HAVE_XSHMFENCE" != "xyes"; then
1249        AC_MSG_ERROR([xshmfence requested but not installed.])
1250    fi
1251    AC_DEFINE(HAVE_XSHMFENCE, 1, [Have xshmfence support])
1252    REQUIRED_LIBS="$REQUIRED_LIBS $LIBXSHMFENCE"
1253fi
1254
1255AM_CONDITIONAL(XSHMFENCE, [test "x$XSHMFENCE" = xyes])
1256
1257case "$DRI3,$XSHMFENCE" in
1258	yes,yes | auto,yes)
1259		;;
1260	yes,no)
1261		AC_MSG_ERROR([DRI3 requested, but xshmfence not found.])
1262		DRI3=no
1263		;;
1264	no,*)
1265		;;
1266	*)
1267		AC_MSG_NOTICE([DRI3 disabled because xshmfence not found.])
1268		DRI3=no
1269		;;
1270esac
1271
1272case x"$DRI3" in
1273	xyes|xauto)
1274		DRI3=yes
1275		AC_DEFINE(DRI3, 1, [Build DRI3 extension])
1276		DRI3_LIB='$(top_builddir)/dri3/libdri3.la'
1277		SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI3PROTO"
1278		AC_MSG_NOTICE([DRI3 enabled]);
1279		;;
1280esac
1281
1282AM_CONDITIONAL(DRI3, test "x$DRI3" = xyes)
1283
1284if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$DRI3" = xyes || test "x$CONFIG_UDEV_KMS" = xyes; then
1285	if test "x$DRM" = xyes; then
1286		AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support])
1287		PKG_CHECK_MODULES([LIBDRM], $LIBDRM)
1288	fi
1289fi
1290
1291if test "x$GLX" = xyes; then
1292	PKG_CHECK_MODULES([XLIB], [x11])
1293	PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL)
1294	AC_SUBST(XLIB_CFLAGS)
1295	AC_DEFINE(GLXEXT, 1, [Build GLX extension])
1296	GLX_LIBS='$(top_builddir)/glx/libglx.la $(top_builddir)/glx/libglxvnd.la'
1297	GLX_SYS_LIBS="$GLX_SYS_LIBS $GL_LIBS"
1298else
1299        GLX=no
1300fi
1301AM_CONDITIONAL(GLX, test "x$GLX" = xyes)
1302
1303AC_SUBST([GLX_DEFINES])
1304AC_SUBST([GLX_SYS_LIBS])
1305
1306AM_CONDITIONAL(PRESENT, [test "x$PRESENT" = xyes])
1307if test "x$PRESENT" = xyes; then
1308	AC_DEFINE(PRESENT, 1, [Support Present extension])
1309	REQUIRED_MODULES="$REQUIRED_MODULES $PRESENTPROTO"
1310	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $PRESENTPROTO"
1311	PRESENT_INC='-I$(top_srcdir)/present'
1312	PRESENT_LIB='$(top_builddir)/present/libpresent.la'
1313fi
1314
1315AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
1316if test "x$XINERAMA" = xyes; then
1317	AC_DEFINE(XINERAMA, 1, [Support Xinerama extension])
1318	AC_DEFINE(PANORAMIX, 1, [Internal define for Xinerama])
1319	REQUIRED_MODULES="$REQUIRED_MODULES $XINERAMAPROTO"
1320	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
1321fi
1322
1323AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
1324if test "x$XACE" = xyes; then
1325	AC_DEFINE(XACE, 1, [Build X-ACE extension])
1326fi
1327
1328AM_CONDITIONAL(XSELINUX, [test "x$XSELINUX" = xyes])
1329if test "x$XSELINUX" = xyes; then
1330	if test "x$XACE" != xyes; then
1331		AC_MSG_ERROR([cannot build SELinux extension without X-ACE])
1332	fi
1333	AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers]))
1334	AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library]))
1335	PKG_CHECK_MODULES([SELINUX], $LIBSELINUX)
1336	SELINUX_LIBS="$SELINUX_LIBS -laudit"
1337	AC_DEFINE(XSELINUX, 1, [Build SELinux extension])
1338fi
1339
1340AM_CONDITIONAL(XCSECURITY, [test "x$XCSECURITY" = xyes])
1341if test "x$XCSECURITY" = xyes; then
1342	if test "x$XACE" != xyes; then
1343		AC_MSG_ERROR([cannot build Security extension without X-ACE])
1344	fi
1345	AC_DEFINE(XCSECURITY, 1, [Build Security extension])
1346fi
1347
1348AM_CONDITIONAL(DBE, [test "x$DBE" = xyes])
1349if test "x$DBE" = xyes; then
1350	AC_DEFINE(DBE, 1, [Support DBE extension])
1351	DBE_LIB='$(top_builddir)/dbe/libdbe.la'
1352	DBE_INC='-I$(top_srcdir)/dbe'
1353fi
1354
1355AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes])
1356if test "x$XF86BIGFONT" = xyes; then
1357	AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension])
1358	REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO"
1359	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $BIGFONTPROTO"
1360fi
1361
1362AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
1363if test "x$DPMSExtension" = xyes; then
1364	AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
1365fi
1366
1367AC_DEFINE(RENDER, 1, [Support RENDER extension])
1368RENDER_LIB='$(top_builddir)/render/librender.la'
1369RENDER_INC='-I$(top_srcdir)/render'
1370
1371AC_DEFINE(RANDR, 1, [Support RANDR extension])
1372RANDR_LIB='$(top_builddir)/randr/librandr.la'
1373RANDR_INC='-I$(top_srcdir)/randr'
1374
1375AC_DEFINE(XFIXES,1,[Support XFixes extension])
1376FIXES_LIB='$(top_builddir)/xfixes/libxfixes.la'
1377FIXES_INC='-I$(top_srcdir)/xfixes'
1378
1379AC_DEFINE(DAMAGE,1,[Support Damage extension])
1380DAMAGE_LIB='$(top_builddir)/damageext/libdamageext.la'
1381DAMAGE_INC='-I$(top_srcdir)/damageext'
1382MIEXT_DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
1383MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
1384
1385# XINPUT extension is integral part of the server
1386AC_DEFINE(XINPUT, 1, [Support X Input extension])
1387XI_LIB='$(top_builddir)/Xi/libXi.la'
1388XI_INC='-I$(top_srcdir)/Xi'
1389
1390AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
1391AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
1392AM_CONDITIONAL(VBE, test "x$VBE" = xyes)
1393AM_CONDITIONAL(INT10MODULE, test "x$INT10MODULE" = xyes)
1394
1395AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
1396
1397if test "x$XKBPATH" = "xauto"; then
1398    XKBPATH=$(pkg-config --variable datadir xkbcomp || echo ${datadir})/X11/xkb
1399fi
1400
1401AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
1402AC_ARG_WITH(xkb-bin-directory,
1403				AS_HELP_STRING([--with-xkb-bin-directory=DIR], [Directory containing xkbcomp program (default: auto)]),
1404				[XKB_BIN_DIRECTORY="$withval"],
1405				[XKB_BIN_DIRECTORY="auto"])
1406
1407if test "x$XKB_BIN_DIRECTORY" = "xauto"; then
1408    XKB_BIN_DIRECTORY=$(pkg-config --variable bindir xkbcomp || echo ${bindir})
1409fi
1410
1411AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir])
1412
1413dnl Make sure XKM_OUTPUT_DIR is an absolute path
1414XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
1415if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
1416   XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
1417fi
1418
1419dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
1420dnl XKB_COMPILED_DIR (used in Makefiles) must not or install-sh gets confused
1421
1422XKBOUTPUT=`echo $XKBOUTPUT/ | $SED 's|/*$|/|'`
1423XKB_COMPILED_DIR=`echo $XKBOUTPUT | $SED 's|/*$||'`
1424AC_DEFINE_DIR(XKM_OUTPUT_DIR, XKBOUTPUT, [Path to XKB output dir])
1425AC_SUBST(XKB_COMPILED_DIR)
1426
1427if test "x$XKB_DFLT_RULES" = x; then
1428    case $host_os in
1429    linux*)
1430        dnl doesn't take AutoAddDevices into account, but whatever.
1431        XKB_DFLT_RULES="evdev"
1432        ;;
1433    *)
1434        XKB_DFLT_RULES="base"
1435        ;;
1436    esac
1437fi
1438AC_DEFINE_UNQUOTED(XKB_DFLT_RULES, ["$XKB_DFLT_RULES"], [Default XKB ruleset])
1439AC_DEFINE_UNQUOTED(XKB_DFLT_MODEL, ["$XKB_DFLT_MODEL"], [Default XKB model])
1440AC_DEFINE_UNQUOTED(XKB_DFLT_LAYOUT, ["$XKB_DFLT_LAYOUT"], [Default XKB layout])
1441AC_DEFINE_UNQUOTED(XKB_DFLT_VARIANT, ["$XKB_DFLT_VARIANT"], [Default XKB variant])
1442AC_DEFINE_UNQUOTED(XKB_DFLT_OPTIONS, ["$XKB_DFLT_OPTIONS"], [Default XKB options])
1443AC_SUBST([XKB_DFLT_RULES])
1444AC_SUBST([XKB_DFLT_MODEL])
1445AC_SUBST([XKB_DFLT_LAYOUT])
1446AC_SUBST([XKB_DFLT_VARIANT])
1447AC_SUBST([XKB_DFLT_OPTIONS])
1448
1449XKB_LIB='$(top_builddir)/xkb/libxkb.la'
1450XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
1451REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
1452
1453PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], [have_libxdmcp="no"])
1454if test "x$XDMCP" = xauto; then
1455	if test "x$have_libxdmcp" = xyes; then
1456		XDMCP=yes
1457	else
1458		XDMCP=no
1459	fi
1460fi
1461if test "x$XDMAUTH" = xauto; then
1462	if test "x$have_libxdmcp" = xyes; then
1463		XDMAUTH=yes
1464	else
1465		XDMAUTH=no
1466	fi
1467fi
1468
1469AM_CONDITIONAL(XDMCP, [test "x$XDMCP" = xyes])
1470if test "x$XDMCP" = xyes; then
1471	AC_DEFINE(XDMCP, 1, [Support XDM Control Protocol])
1472	REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1473	XDMCP_MODULES="xdmcp"
1474fi
1475
1476AM_CONDITIONAL(XDMAUTH, [test "x$XDMAUTH" = xyes])
1477if test "x$XDMAUTH" = xyes; then
1478	AC_DEFINE(HASXDMAUTH,1,[Support XDM-AUTH*-1])
1479	if ! test "x$XDMCP" = xyes; then
1480		REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1481		XDMCP_MODULES="xdmcp"
1482	fi
1483fi
1484
1485if test "x$XF86VIDMODE" = xauto; then
1486	PKG_CHECK_EXISTS($VIDMODEPROTO, [XF86VIDMODE=yes], [XF86VIDMODE=no])
1487fi
1488if test "x$XF86VIDMODE" = xyes; then
1489	AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
1490fi
1491AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes])
1492
1493AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
1494AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
1495AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
1496dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
1497AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI driver path])
1498AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
1499AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
1500AC_DEFINE_UNQUOTED(XORG_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1501AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
1502
1503if test -z "$OSNAME"; then
1504    OSNAME="UNKNOWN"
1505fi
1506
1507AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
1508AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
1509AC_DEFINE_UNQUOTED(BUILDERSTRING, ["$BUILDERSTRING"], [Builder string])
1510
1511AC_SUBST([VENDOR_NAME_SHORT])
1512AC_DEFINE_UNQUOTED(VENDOR_NAME, ["$VENDOR_NAME"], [Vendor name])
1513AC_DEFINE_UNQUOTED(VENDOR_NAME_SHORT, ["$VENDOR_NAME_SHORT"], [Vendor name])
1514AC_DEFINE_UNQUOTED(VENDOR_RELEASE, [$VENDOR_RELEASE], [Vendor release])
1515AC_DEFINE_UNQUOTED(VENDOR_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1516
1517if test "x$DEBUGGING" = xyes; then
1518       AC_DEFINE(DEBUG, 1, [Enable debugging code])
1519fi
1520AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
1521
1522AC_DEFINE(XTEST, 1, [Support XTest extension])
1523AC_DEFINE(XSYNC, 1, [Support XSync extension])
1524AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
1525AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])
1526
1527if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
1528  DIX_LIB='$(top_builddir)/dix/dix.O'
1529  OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS) $(LIBUNWIND_LIBS)'
1530else
1531  DIX_LIB='$(top_builddir)/dix/libdix.la'
1532  OS_LIB='$(top_builddir)/os/libos.la'
1533fi
1534AC_SUBST([DIX_LIB])
1535AC_SUBST([OS_LIB])
1536
1537MAIN_LIB='$(top_builddir)/dix/libmain.la'
1538AC_SUBST([MAIN_LIB])
1539
1540MI_LIB='$(top_builddir)/mi/libmi.la'
1541MI_EXT_LIB='$(top_builddir)/mi/libmiext.la'
1542MI_INC='-I$(top_srcdir)/mi'
1543FB_LIB='$(top_builddir)/fb/libfb.la'
1544FB_INC='-I$(top_srcdir)/fb'
1545MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
1546MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
1547MIEXT_SYNC_INC='-I$(top_srcdir)/miext/sync'
1548MIEXT_SYNC_LIB='$(top_builddir)/miext/sync/libsync.la'
1549CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
1550
1551# SHA1 hashing
1552AC_ARG_WITH([sha1],
1553            [AS_HELP_STRING([--with-sha1=libc|libmd|libnettle|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI],
1554                            [choose SHA1 implementation])])
1555AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
1556if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
1557	with_sha1=libc
1558fi
1559if test "x$with_sha1" = xlibc && test "x$HAVE_SHA1_IN_LIBC" != xyes; then
1560	AC_MSG_ERROR([libc requested but not found])
1561fi
1562if test "x$with_sha1" = xlibc; then
1563	AC_DEFINE([HAVE_SHA1_IN_LIBC], [1],
1564		[Use libc SHA1 functions])
1565	SHA1_LIBS=""
1566fi
1567AC_CHECK_FUNC([CC_SHA1_Init], [HAVE_SHA1_IN_COMMONCRYPTO=yes])
1568if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_COMMONCRYPTO" = xyes; then
1569	with_sha1=CommonCrypto
1570fi
1571if test "x$with_sha1" = xCommonCrypto && test "x$HAVE_SHA1_IN_COMMONCRYPTO" != xyes; then
1572	AC_MSG_ERROR([CommonCrypto requested but not found])
1573fi
1574if test "x$with_sha1" = xCommonCrypto; then
1575	AC_DEFINE([HAVE_SHA1_IN_COMMONCRYPTO], [1],
1576		[Use CommonCrypto SHA1 functions])
1577	SHA1_LIBS=""
1578fi
1579dnl stdcall functions cannot be tested with AC_CHECK_LIB
1580AC_CHECK_HEADER([wincrypt.h], [HAVE_SHA1_IN_CRYPTOAPI=yes], [], [#include <windows.h>])
1581if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_CRYPTOAPI" = xyes; then
1582	with_sha1=CryptoAPI
1583fi
1584if test "x$with_sha1" = xCryptoAPI && test "x$HAVE_SHA1_IN_CRYPTOAPI" != xyes; then
1585	AC_MSG_ERROR([CryptoAPI requested but not found])
1586fi
1587if test "x$with_sha1" = xCryptoAPI; then
1588	AC_DEFINE([HAVE_SHA1_IN_CRYPTOAPI], [1],
1589		[Use CryptoAPI SHA1 functions])
1590	SHA1_LIBS=""
1591fi
1592AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
1593if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
1594	with_sha1=libmd
1595fi
1596if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
1597	AC_MSG_ERROR([libmd requested but not found])
1598fi
1599if test "x$with_sha1" = xlibmd; then
1600	AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
1601	          [Use libmd SHA1 functions])
1602	SHA1_LIBS=-lmd
1603fi
1604PKG_CHECK_MODULES([LIBSHA1], [libsha1], [HAVE_LIBSHA1=yes], [HAVE_LIBSHA1=no])
1605if test "x$with_sha1" = x && test "x$HAVE_LIBSHA1" = xyes; then
1606   with_sha1=libsha1
1607fi
1608if test "x$with_sha1" = xlibsha1 && test "x$HAVE_LIBSHA1" != xyes; then
1609	AC_MSG_ERROR([libsha1 requested but not found])
1610fi
1611if test "x$with_sha1" = xlibsha1; then
1612	AC_DEFINE([HAVE_SHA1_IN_LIBSHA1], [1],
1613	          [Use libsha1 for SHA1])
1614	SHA1_LIBS=-lsha1
1615fi
1616AC_CHECK_LIB([nettle], [nettle_sha1_init], [HAVE_LIBNETTLE=yes])
1617if test "x$with_sha1" = x && test "x$HAVE_LIBNETTLE" = xyes; then
1618	with_sha1=libnettle
1619fi
1620if test "x$with_sha1" = xlibnettle && test "x$HAVE_LIBNETTLE" != xyes; then
1621	AC_MSG_ERROR([libnettle requested but not found])
1622fi
1623if test "x$with_sha1" = xlibnettle; then
1624	AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1],
1625	          [Use libnettle SHA1 functions])
1626	SHA1_LIBS=-lnettle
1627fi
1628AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
1629if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
1630	with_sha1=libgcrypt
1631fi
1632if test "x$with_sha1" = xlibgcrypt && test "x$HAVE_LIBGCRYPT" != xyes; then
1633	AC_MSG_ERROR([libgcrypt requested but not found])
1634fi
1635if test "x$with_sha1" = xlibgcrypt; then
1636	AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
1637	          [Use libgcrypt SHA1 functions])
1638	SHA1_LIBS=-lgcrypt
1639fi
1640# We don't need all of the OpenSSL libraries, just libcrypto
1641AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
1642PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
1643                  [HAVE_OPENSSL_PKC=no])
1644if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
1645	if test "x$with_sha1" = x; then
1646		with_sha1=libcrypto
1647	fi
1648else
1649	if test "x$with_sha1" = xlibcrypto; then
1650		AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
1651	fi
1652fi
1653if test "x$with_sha1" = xlibcrypto; then
1654	if test "x$HAVE_LIBCRYPTO" = xyes; then
1655		SHA1_LIBS=-lcrypto
1656	else
1657		SHA1_LIBS="$OPENSSL_LIBS"
1658		SHA1_CFLAGS="$OPENSSL_CFLAGS"
1659	fi
1660fi
1661AC_MSG_CHECKING([for SHA1 implementation])
1662if test "x$with_sha1" = x; then
1663	AC_MSG_ERROR([No suitable SHA1 implementation found])
1664fi
1665AC_MSG_RESULT([$with_sha1])
1666AC_SUBST(SHA1_LIBS)
1667AC_SUBST(SHA1_CFLAGS)
1668
1669PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
1670PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
1671
1672PKG_CHECK_MODULES(LIBUNWIND, libunwind, [HAVE_LIBUNWIND=yes], [HAVE_LIBUNWIND=no])
1673if test "x$LIBUNWIND" = "xauto"; then
1674    LIBUNWIND="$HAVE_LIBUNWIND"
1675fi
1676
1677if test "x$LIBUNWIND" = "xyes"; then
1678    if test "x$HAVE_LIBUNWIND" != "xyes"; then
1679        AC_MSG_ERROR([libunwind requested but not installed.])
1680    fi
1681    AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support])
1682fi
1683
1684AM_CONDITIONAL(HAVE_LIBUNWIND, [test "x$LIBUNWIND" = xyes])
1685
1686# Autotools has some unfortunate issues with library handling.  In order to
1687# get a server to rebuild when a dependency in the tree is changed, it must
1688# be listed in SERVERNAME_DEPENDENCIES.  However, no system libraries may be
1689# listed there, or some versions of autotools will break (especially if a -L
1690# is required to find the library).  So, we keep two sets of libraries
1691# detected: NAMESPACE_LIBS for in-tree libraries to be linked against, which
1692# will go into the _DEPENDENCIES and _LDADD of the server, and
1693# NAMESPACE_SYS_LIBS which will go into only the _LDADD.  The
1694# NAMESPACEMODULES_LIBS detected from pkgconfig should always go in
1695# NAMESPACE_SYS_LIBS.
1696#
1697# XSERVER_LIBS is the set of in-tree libraries which all servers require.
1698# XSERVER_SYS_LIBS is the set of out-of-tree libraries which all servers
1699# require.
1700#
1701XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS}"
1702XSERVER_LIBS="$DIX_LIB $MI_LIB $OS_LIB"
1703XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}"
1704AC_SUBST([XSERVER_LIBS])
1705AC_SUBST([XSERVER_SYS_LIBS])
1706
1707UTILS_SYS_LIBS="${SYS_LIBS}"
1708AC_SUBST([UTILS_SYS_LIBS])
1709
1710# The Xorg binary needs to export symbols so that they can be used from modules
1711# Some platforms require extra flags to do this.   libtool should set the
1712# necessary flags for each platform when -export-dynamic is passed to it.
1713LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
1714LD_NO_UNDEFINED_FLAG=
1715XORG_DRIVER_LIBS=
1716case "$host_os" in
1717    cygwin*)
1718	LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-all,--out-implib,lib\$@.a"
1719	LD_NO_UNDEFINED_FLAG="-no-undefined -Wl,\$(top_builddir)/hw/xfree86/libXorg.exe.a"
1720	XORG_DRIVER_LIBS="-lXorg.exe -L\${moduledir} -lshadow -lfb -no-undefined"
1721	CYGWIN=yes
1722	;;
1723    solaris*)
1724	# We use AC_LINK_IFELSE to generate a temporary program conftest$EXEEXT
1725	# that we can link against for testing if the system linker is new
1726	# enough to support -z parent=<program> for verifying loadable modules
1727	# are only calling functions defined in either the loading program or
1728	# the libraries they're linked with.
1729	AC_LINK_IFELSE(
1730	    [AC_LANG_SOURCE([int main(int argc, char **argv) { return 0; }])],
1731	    [mv conftest$EXEEXT conftest.parent
1732	     XORG_CHECK_LINKER_FLAGS([-Wl,-z,parent=conftest.parent -G],
1733		[LD_NO_UNDEFINED_FLAG="-Wl,-z,defs -Wl,-z,parent=\$(top_builddir)/hw/xfree86/Xorg"
1734# Not set yet, since this gets exported in xorg-server.pc to all the drivers,
1735# and they're not all fixed to build correctly with it yet.
1736#		 XORG_DRIVER_LIBS="-Wl,-z,defs -Wl,-z,parent=${bindir}/Xorg"
1737         ],[],
1738		[AC_LANG_SOURCE([extern int main(int argc, char **argv);
1739			int call_main(void) { return main(0, (void *)0); }])])
1740	     rm -f conftest.parent
1741	    ])
1742	;;
1743esac
1744AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
1745AC_SUBST([LD_NO_UNDEFINED_FLAG])
1746AC_SUBST([XORG_DRIVER_LIBS])
1747AM_CONDITIONAL([CYGWIN], [test x"$CYGWIN" = xyes])
1748AM_CONDITIONAL([NO_UNDEFINED], [test x"$LD_NO_UNDEFINED_FLAG" != x])
1749
1750dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
1751dnl we need to replicate that here until those can all be fixed
1752AC_MSG_CHECKING([if SVR4 needs to be defined])
1753AC_EGREP_CPP([I_AM_SVR4],[
1754#if defined(SVR4) || defined(__svr4__) || defined(__SVR4)
1755 I_AM_SVR4
1756#endif
1757],[
1758AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
1759AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
1760
1761XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SYNC_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC $DBE_INC $PRESENT_INC"
1762
1763dnl ---------------------------------------------------------------------------
1764dnl DDX section.
1765dnl ---------------------------------------------------------------------------
1766
1767dnl Xvfb DDX
1768
1769AC_MSG_CHECKING([whether to build Xvfb DDX])
1770AC_MSG_RESULT([$XVFB])
1771AM_CONDITIONAL(XVFB, [test "x$XVFB" = xyes])
1772
1773if test "x$XVFB" = xyes; then
1774	XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB"
1775	XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS"
1776	AC_SUBST([XVFB_LIBS])
1777	AC_SUBST([XVFB_SYS_LIBS])
1778fi
1779
1780
1781dnl Xnest DDX
1782
1783PKG_CHECK_MODULES(XNESTMODULES, [$LIBXEXT x11 xau $XDMCP_MODULES], [have_xnest=yes], [have_xnest=no])
1784AC_MSG_CHECKING([whether to build Xnest DDX])
1785if test "x$XNEST" = xauto; then
1786	XNEST="$have_xnest"
1787fi
1788AC_MSG_RESULT([$XNEST])
1789AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
1790
1791if test "x$XNEST" = xyes; then
1792	if test "x$have_xnest" = xno; then
1793		AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
1794	fi
1795	XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $DAMAGE_LIB  $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $RENDER_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB"
1796	XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
1797	AC_SUBST([XNEST_LIBS])
1798	AC_SUBST([XNEST_SYS_LIBS])
1799fi
1800
1801
1802dnl Xorg DDX
1803
1804AC_MSG_CHECKING([whether to build Xorg DDX])
1805if test "x$XORG" = xauto; then
1806	XORG="yes"
1807	case $host_os in
1808		cygwin*) XORG="no" ;;
1809		mingw*)  XORG="no" ;;
1810		darwin*) XORG="no" ;;
1811	esac
1812fi
1813AC_MSG_RESULT([$XORG])
1814
1815if test "x$XORG" = xyes; then
1816	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
1817	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
1818	XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
1819	XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
1820	XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB"
1821
1822	dnl ==================================================================
1823	dnl symbol visibility
1824	symbol_visibility=
1825	have_visibility=disabled
1826	if test x$SYMBOL_VISIBILITY != xno; then
1827	    AC_MSG_CHECKING(for symbol visibility support)
1828	    if test x$GCC = xyes; then
1829		VISIBILITY_CFLAGS="-fvisibility=hidden"
1830	    else
1831		if test x$SUNCC = xyes; then
1832		    VISIBILITY_CFLAGS="-xldscope=hidden"
1833		else
1834		    have_visibility=no
1835		fi
1836	    fi
1837	    if test x$have_visibility != xno; then
1838		save_CFLAGS="$CFLAGS"
1839		proto_inc=`$PKG_CONFIG --cflags xproto`
1840		CFLAGS="$CFLAGS $VISIBILITY_CFLAGS $proto_inc"
1841		AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1842		    [#include <X11/Xfuncproto.h>
1843		     extern _X_HIDDEN int hidden_int;
1844		     extern _X_EXPORT int public_int;
1845		     extern _X_HIDDEN int hidden_int_func(void);
1846		     extern _X_EXPORT int public_int_func(void);]],
1847		    [])],
1848		    have_visibility=yes,
1849		    have_visibility=no)
1850		CFLAGS=$save_CFLAGS
1851	    fi
1852	    AC_MSG_RESULT([$have_visibility])
1853	    if test x$have_visibility != xno; then
1854		symbol_visibility=$VISIBILITY_CFLAGS
1855		XORG_CFLAGS="$XORG_CFLAGS $VISIBILITY_CFLAGS"
1856		XSERVER_CFLAGS="$XSERVER_CFLAGS $VISIBILITY_CFLAGS"
1857	    fi
1858	fi
1859	dnl added to xorg-server.pc
1860	AC_SUBST([symbol_visibility])
1861	dnl ===================================================================
1862
1863	dnl ===================================================================
1864	dnl ================= beginning of PCI configuration ==================
1865	dnl ===================================================================
1866	xorg_bus_bsdpci=no
1867	xorg_bus_sparc=no
1868
1869	AC_MSG_CHECKING([whether to build Xorg PCI functions])
1870	if test "x$PCI" = xyes; then
1871		PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
1872		SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS"
1873		XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $LIBDRM_LIBS"
1874		XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS $LIBDRM_CFLAGS"
1875
1876		AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation])
1877		AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
1878		case $host_os in
1879		  gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*)
1880			xorg_bus_bsdpci="yes"
1881			;;
1882		esac
1883		case $host_cpu in
1884		  sparc*)
1885			xorg_bus_sparc="yes"
1886			;;
1887		esac
1888	else
1889		if test "x$CONFIG_UDEV_KMS" = xyes; then
1890			AC_MSG_ERROR([Platform device enumeration requires libpciaccess])
1891		fi
1892		if test "x$INT10MODULE" = xyes && test "x$INT10" != xstub; then
1893			AC_MSG_ERROR([Cannot build int10 without libpciaccess])
1894		fi
1895	fi
1896	AC_MSG_RESULT([$PCI])
1897
1898	if test "x$CONFIG_UDEV_KMS" = xyes; then
1899		AC_DEFINE(XSERVER_PLATFORM_BUS, 1, [X server supports platform device enumeration])
1900	fi
1901	AC_MSG_RESULT([$XSERVER_PLATFORM_BUS])
1902	dnl ===================================================================
1903	dnl ==================== end of PCI configuration =====================
1904	dnl ===================================================================
1905
1906	case $host_os in
1907	  linux*)
1908		XORG_OS_SUBDIR="linux"
1909		linux_acpi="no"
1910		case $host_cpu in
1911		  i*86|amd64*|x86_64*|ia64*)
1912			linux_acpi=$enable_linux_acpi
1913			;;
1914		  *)
1915			;;
1916		esac
1917		dnl APM header
1918		AC_CHECK_HEADERS([linux/apm_bios.h], [linux_apm=$enable_linux_apm])
1919		if test "x$linux_apm" = xyes -o "x$linux_acpi" = xyes; then
1920			AC_DEFINE(XF86PM, 1, [Support APM/ACPI power management in the server])
1921		fi
1922		;;
1923	  freebsd* | kfreebsd*-gnu | dragonfly*)
1924		XORG_OS_SUBDIR="bsd"
1925		;;
1926	  netbsd*)
1927		XORG_OS_SUBDIR="bsd"
1928		;;
1929	  openbsd*)
1930		if test "x$ac_cv_BSD_APM" = xyes \
1931			-o "x$ac_cv_BSD_KQUEUE_APM" = xyes; then
1932			XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1933		fi
1934		XORG_OS_SUBDIR="bsd"
1935		;;
1936	  solaris*)
1937		XORG_OS_SUBDIR="solaris"
1938		XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1939		AC_CHECK_HEADERS([sys/kd.h])
1940		AC_CHECK_HEADERS([sys/vt.h], [solaris_vt=yes], [solaris_vt=no])
1941		# Check for minimum supported release
1942		AC_MSG_CHECKING([Solaris version])
1943	        OS_MINOR=`echo ${host_os}|$SED -e 's/^.*solaris2\.//' -e s'/\..*$//'`
1944		if test "${OS_MINOR}" -ge 7 ; then
1945	        	AC_MSG_RESULT(Solaris ${OS_MINOR})
1946		else
1947			AC_MSG_RESULT(Solaris `echo ${host_os}|$SED -e 's/^.*solaris//`)
1948		fi
1949		if test "${OS_MINOR}" -lt 8 ; then
1950			AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.])
1951		fi
1952		AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"])
1953			
1954		case $host_cpu in
1955		  sparc*)	
1956			SOLARIS_INOUT_ARCH="sparcv8plus"
1957			;;
1958		  i*86|x86_64*)
1959			if test x$SOLARIS_64 = xyes ; then
1960				SOLARIS_INOUT_ARCH="amd64"
1961			else
1962				SOLARIS_INOUT_ARCH="ia32"
1963			fi
1964			;;
1965		  *)
1966			AC_MSG_ERROR([Unsupported Solaris platform. Only SPARC & x86 \
1967			are supported on Solaris in this release.   If you are \
1968			interested in porting Xorg to your platform, please email \
1969			xorg@lists.freedesktop.org.]) ;;
1970		esac
1971		AC_SUBST([SOLARIS_INOUT_ARCH])
1972		;;
1973	  gnu*)
1974		XORG_OS_SUBDIR="hurd"
1975		;;
1976	  cygwin*)
1977		XORG_OS_SUBDIR="stub"
1978		;;
1979	  *)
1980		XORG_OS_SUBDIR="stub"
1981		AC_MSG_NOTICE([m4_text_wrap(m4_join([ ],
1982		[Your OS is unknown.],
1983		[If you are interested in porting Xorg to your platform,],
1984		[please email xorg@lists.freedesktop.org.]))])
1985		;;
1986	esac
1987
1988	if test "x$DGA" = xauto; then
1989		PKG_CHECK_MODULES(DGA, $DGAPROTO, [DGA=yes], [DGA=no])
1990	fi
1991	if test "x$DGA" = xyes; then
1992		XORG_MODULES="$XORG_MODULES $DGAPROTO"
1993		PKG_CHECK_MODULES(DGA, $DGAPROTO)
1994		AC_DEFINE(DGA, 1, [Support DGA extension])
1995		AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
1996	fi
1997
1998	if test "x$XF86VIDMODE" = xyes; then
1999		XORG_MODULES="$XORG_MODULES $VIDMODEPROTO"
2000	fi
2001
2002	if test -n "$XORG_MODULES"; then
2003	        PKG_CHECK_MODULES(XORG_MODULES, [$XORG_MODULES])
2004	        XORG_CFLAGS="$XORG_CFLAGS $XORG_MODULES_CFLAGS"
2005	        XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
2006	fi
2007
2008	if test "x$DRM" = xyes; then
2009		XORG_DRIVER_MODESETTING=yes
2010	fi
2011
2012	AC_SUBST([XORG_LIBS])
2013	AC_SUBST([XORG_SYS_LIBS])
2014	AC_SUBST([XORG_INCS])
2015	AC_SUBST([XORG_OS_SUBDIR])
2016	AC_SUBST([XORG_CFLAGS])
2017
2018	dnl these only go in xorg-config.h
2019	XF86CONFIGFILE="xorg.conf"
2020	XF86CONFIGDIR="xorg.conf.d"
2021	AC_SUBST(XF86CONFIGDIR)
2022	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
2023	LOGPREFIX="Xorg."
2024	XDG_DATA_HOME=".local/share"
2025	XDG_DATA_HOME_LOGDIR="xorg"
2026	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
2027	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
2028	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
2029	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
2030	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
2031	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
2032	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
2033	AC_DEFINE_DIR(XCONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
2034	AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
2035	AC_DEFINE_DIR(XCONFIGDIR, XF86CONFIGDIR, [Name of configuration directory])
2036	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
2037	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
2038	AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
2039	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default logfile prefix])
2040	AC_DEFINE_DIR(DEFAULT_XDG_DATA_HOME, XDG_DATA_HOME, [Default XDG_DATA dir under HOME])
2041	AC_DEFINE_DIR(DEFAULT_XDG_DATA_HOME_LOGDIR, XDG_DATA_HOME_LOGDIR, [Default log dir under XDG_DATA_HOME])
2042	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
2043	if test "x$VGAHW" = xyes; then
2044		AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
2045	fi
2046
2047	driverdir="$moduledir/drivers"
2048	AC_SUBST([moduledir])
2049	AC_SUBST([driverdir])
2050	sdkdir="$includedir/xorg"
2051	extdir="$includedir/X11/extensions"
2052	sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
2053	AC_SUBST([sdkdir])
2054	AC_SUBST([extdir])
2055	AC_SUBST([sysconfigdir])
2056	AC_SUBST([logdir])
2057
2058	# stuff the ABI versions into the pc file too
2059	extract_abi() {
2060	    grep ^.define.*${1}_VERSION ${srcdir}/hw/xfree86/common/xf86Module.h | tr '(),' '  .' | awk '{ print $4$5 }'
2061	}
2062	abi_ansic=`extract_abi ANSIC`
2063	abi_videodrv=`extract_abi VIDEODRV`
2064	abi_xinput=`extract_abi XINPUT`
2065	abi_extension=`extract_abi EXTENSION`
2066	AC_SUBST([abi_ansic])
2067	AC_SUBST([abi_videodrv])
2068	AC_SUBST([abi_xinput])
2069	AC_SUBST([abi_extension])
2070fi
2071AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
2072AM_CONDITIONAL([XORG_BUS_PCI], [test "x$PCI" = xyes])
2073AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
2074AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
2075AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
2076AM_CONDITIONAL([LNXAPM], [test "x$linux_apm" = xyes])
2077AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes])
2078AM_CONDITIONAL([DGA], [test "x$DGA" = xyes])
2079AM_CONDITIONAL([XORG_BUS_PLATFORM], [test "x$CONFIG_UDEV_KMS" = xyes])
2080AM_CONDITIONAL([XORG_DRIVER_MODESETTING], [test "x$XORG_DRIVER_MODESETTING" = xyes])
2081
2082dnl glamor
2083if test "x$GLAMOR" = xauto; then
2084	if echo "$XORG" "$XEPHYR" "$XWAYLAND" | grep -q yes ; then
2085		GLAMOR=yes
2086	fi
2087fi
2088
2089AM_CONDITIONAL([GLAMOR], [test "x$GLAMOR" = xyes])
2090
2091if test "x$GLAMOR" = xyes; then
2092	AC_DEFINE(GLAMOR, 1, [Build glamor])
2093	PKG_CHECK_MODULES([GLAMOR], [epoxy])
2094
2095	PKG_CHECK_EXISTS(epoxy >= 1.4.4,
2096			 [AC_DEFINE(GLAMOR_HAS_EGL_QUERY_DMABUF, 1, [Have GLAMOR_HAS_EGL_QUERY_DMABUF])],
2097			 [])
2098
2099	PKG_CHECK_MODULES(GBM, "$LIBGBM", [GBM=yes], [GBM=no])
2100	if test "x$GBM" = xyes; then
2101		AC_DEFINE(GLAMOR_HAS_GBM, 1,
2102			  [Build glamor with GBM-based EGL support])
2103		AC_CHECK_DECL(GBM_BO_USE_LINEAR,
2104			[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [],
2105			[#include <stdlib.h>
2106			 #include <gbm.h>])
2107		dnl 17.1.0 is required for gbm_bo_create_with_modifiers
2108		PKG_CHECK_EXISTS(gbm >= 17.1.0,
2109				 [AC_DEFINE(GBM_BO_WITH_MODIFIERS, 1, [Have gbm_bo_create_with_modifiers])],
2110				 [])
2111	else
2112		if test "x$XORG" = xyes; then
2113			AC_MSG_ERROR([Glamor for Xorg requires $LIBGBM])
2114		fi
2115	fi
2116fi
2117AM_CONDITIONAL([GLAMOR_EGL], [test "x$GBM" = xyes])
2118
2119dnl XWin DDX
2120
2121AC_MSG_CHECKING([whether to build XWin DDX])
2122if test "x$XWIN" = xauto; then
2123	case $host_os in
2124		cygwin*) XWIN="yes" ;;
2125		mingw*) XWIN="yes" ;;
2126		*) XWIN="no" ;;
2127	esac
2128fi
2129AC_MSG_RESULT([$XWIN])
2130
2131if test "x$XWIN" = xyes; then
2132	AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
2133	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
2134	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
2135	AC_CHECK_TOOL(WINDRES, windres)
2136
2137	PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfixes x11-xcb xcb-aux xcb-image xcb-ewmh xcb-icccm])
2138
2139	if test "x$WINDOWSWM" = xauto; then
2140		PKG_CHECK_EXISTS($WINDOWSWMPROTO, [WINDOWSWM=yes], [WINDOWSWM=no])
2141	fi
2142	if test "x$WINDOWSWM" = xyes ; then
2143		PKG_CHECK_MODULES(WINDOWSWM, $WINDOWSWMPROTO)
2144		XWINMODULES_CFLAGS="$XWINMODULES_CFLAGS $WINDOWSWM_CFLAGS"
2145		AC_DEFINE(ROOTLESS,1,[Build Rootless code])
2146	fi
2147
2148	if test "x$WINDOWSDRI" = xauto; then
2149		PKG_CHECK_EXISTS([windowsdriproto], [WINDOWSDRI=yes], [WINDOWSDRI=no])
2150	fi
2151	if test "x$WINDOWSDRI" = xyes ; then
2152		PKG_CHECK_MODULES(WINDOWSDRI, [windowsdriproto])
2153	fi
2154
2155	case $host_os in
2156		cygwin*)
2157			XWIN_SERVER_NAME=XWin
2158			AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages])
2159			;;
2160		mingw*)
2161			XWIN_SERVER_NAME=Xming
2162			AC_DEFINE(RELOCATE_PROJECTROOT,1,[Make PROJECT_ROOT relative to the xserver location])
2163			AC_DEFINE(HAS_WINSOCK,1,[Use Windows sockets])
2164			XWIN_SYS_LIBS="-lpthread -lws2_32"
2165			;;
2166	esac
2167
2168	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 $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB"
2169	XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS"
2170	AC_SUBST(XWIN_LIBS)
2171	AC_SUBST(XWIN_SERVER_NAME)
2172	AC_SUBST(XWIN_SYS_LIBS)
2173
2174	if test "x$DEBUGGING" = xyes; then
2175		AC_DEFINE(CYGDEBUG, 1, [Simple debug messages])
2176		AC_DEFINE(CYGWINDOWING_DEBUG, 1, [Debug messages for window handling])
2177		AC_DEFINE(CYGMULTIWINDOW_DEBUG, 1, [Debug window manager])
2178	fi
2179
2180	AC_DEFINE(DDXOSVERRORF, 1, [Use OsVendorVErrorF])
2181	AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
2182
2183dnl XWin requires OpenGL spec files in order to generate wrapper code for native GL functions
2184	if [test "x$XWIN" = xyes && test "x$GLX" = xyes] ; then
2185           AC_CHECK_PROG(PYTHON3, python3, python3)
2186           if test -z "$PYTHON3"; then
2187                AC_MSG_ERROR([python3 not found])
2188           fi
2189           AC_MSG_CHECKING(for python module lxml)
2190           $PYTHON3 -c "import lxml;"
2191           if test $? -ne 0 ; then
2192                AC_MSG_ERROR([not found])
2193           fi
2194           AC_MSG_RESULT(yes)
2195           if test "x$KHRONOS_SPEC_DIR" = "xauto" ; then
2196		PKG_CHECK_MODULES([KHRONOS_OPENGL_REGISTRY], [khronos-opengl-registry])
2197		KHRONOS_SPEC_DIR=`pkg-config khronos-opengl-registry --variable=specdir`
2198           fi
2199           AC_SUBST(KHRONOS_SPEC_DIR)
2200	fi
2201
2202fi
2203AM_CONDITIONAL(XWIN, [test "x$XWIN" = xyes])
2204AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
2205AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && test "x$GLX" = xyes])
2206AM_CONDITIONAL(XWIN_WINDOWS_DRI, [test "x$XWIN" = xyes && test "x$WINDOWSDRI" = xyes])
2207
2208dnl Darwin / OS X DDX
2209if test "x$XQUARTZ" = xyes; then
2210	AC_DEFINE(XQUARTZ,1,[Have Quartz])
2211	AC_DEFINE(ROOTLESS,1,[Build Rootless code])
2212
2213	XQUARTZ_LIBS="$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 $PRESENT_LIB"
2214	AC_SUBST([XQUARTZ_LIBS])
2215
2216	AC_CHECK_LIB([Xplugin],[xp_init],[:])
2217
2218	CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA"
2219
2220	PKG_CHECK_MODULES(XPBPROXY, $APPLEWMPROTO $LIBAPPLEWM xfixes x11)
2221
2222        if test "x$XQUARTZ_SPARKLE" = xyes ; then
2223                AC_DEFINE(XQUARTZ_SPARKLE,1,[Support application updating through sparkle.])
2224        fi
2225
2226	if test "x$STANDALONE_XPBPROXY" = xyes ; then
2227		AC_DEFINE(STANDALONE_XPBPROXY,1,[Build a standalone xpbproxy])
2228	fi
2229fi
2230
2231AM_CONDITIONAL(PSEUDORAMIX, [test "x$XQUARTZ" = xyes -o "x$XWIN" = xyes ])
2232
2233# Support for objc in autotools is minimal and not documented.
2234OBJC='$(CC)'
2235OBJCLD='$(CCLD)'
2236OBJCLINK='$(LINK)'
2237OBJCFLAGS='$(CFLAGS)'
2238AC_SUBST([OBJC])
2239AC_SUBST([OBJCCLD])
2240AC_SUBST([OBJCLINK])
2241AC_SUBST([OBJCFLAGS])
2242# internal, undocumented automake func follows :(
2243_AM_DEPENDENCIES([OBJC])
2244AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
2245AM_CONDITIONAL(XQUARTZ_SPARKLE, [test "x$XQUARTZ_SPARKLE" != "xno"])
2246AM_CONDITIONAL(STANDALONE_XPBPROXY, [test "x$STANDALONE_XPBPROXY" = xyes])
2247
2248dnl DMX DDX
2249PKG_CHECK_MODULES(
2250	[DMXMODULES],
2251	[xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES],
2252	[PKG_CHECK_MODULES(
2253		[XDMXCONFIG_DEP],
2254		[xaw7 xmu xt xpm x11],
2255		[have_dmx=yes],
2256		[have_dmx=no])],
2257	[have_dmx=no])
2258AC_MSG_CHECKING([whether to build Xdmx DDX])
2259if test "x$DMX" = xauto; then
2260	DMX="$have_dmx"
2261	case $host_os in
2262		cygwin*) DMX="no" ;;
2263		mingw*)  DMX="no" ;;
2264		darwin*) DMX="no" ;;
2265	esac
2266fi
2267AC_MSG_RESULT([$DMX])
2268AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
2269
2270if test "x$DMX" = xyes; then
2271	if test "x$have_dmx" = xno; then
2272		AC_MSG_ERROR([Xdmx build explicitly requested, but required
2273		              modules not found.])
2274	fi
2275	DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC"
2276	XDMX_CFLAGS="$DMXMODULES_CFLAGS"
2277	XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $RANDR_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB"
2278	XDMX_SYS_LIBS="$DMXMODULES_LIBS"
2279	AC_SUBST([XDMX_CFLAGS])
2280	AC_SUBST([XDMX_LIBS])
2281	AC_SUBST([XDMX_SYS_LIBS])
2282
2283dnl USB sources in DMX require <linux/input.h>
2284	AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
2285			DMX_BUILD_USB="no")
2286	AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
2287	AC_SUBST(XDMXCONFIG_DEP_LIBS)
2288	PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [$LIBDMX $LIBXEXT x11])
2289	AC_SUBST(DMXEXAMPLES_DEP_LIBS)
2290	PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [$LIBDMX xmu $LIBXEXT x11])
2291	AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
2292	PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [$LIBDMX $LIBXI $LIBXEXT x11])
2293	AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
2294	PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [$LIBXTST $LIBXEXT x11])
2295	AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
2296	PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres $LIBXEXT x11])
2297	AC_SUBST(XRESEXAMPLES_DEP_LIBS)
2298	PKG_CHECK_MODULES([X11EXAMPLES_DEP], [$LIBXEXT x11])
2299	AC_SUBST(X11EXAMPLES_DEP_LIBS)
2300
2301fi
2302AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
2303
2304dnl kdrive DDX
2305
2306XEPHYR_LIBS=
2307XEPHYR_INCS=
2308
2309AM_CONDITIONAL(KDRIVE, [test x$KDRIVE = xyes])
2310
2311if test "$KDRIVE" = yes; then
2312    XEPHYR_REQUIRED_LIBS="xau xdmcp xcb xcb-shape xcb-render xcb-renderutil xcb-aux xcb-image xcb-icccm xcb-shm >= 1.9.3 xcb-keysyms xcb-randr xcb-xkb"
2313    if test "x$XV" = xyes; then
2314        XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xcb-xv"
2315    fi
2316    if test "x$DRI" = xyes && test "x$GLX" = xyes; then
2317        XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBDRM xcb-glx xcb-xf86dri > 1.6"
2318    fi
2319    if test "x$GLAMOR" = xyes; then
2320        XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS x11-xcb"
2321    fi
2322
2323    if test "x$XEPHYR" = xauto; then
2324        PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [XEPHYR="yes"], [XEPHYR="no"])
2325    elif test "x$XEPHYR" = xyes ; then
2326        PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS)
2327    fi
2328
2329    # Xephyr needs nanosleep() which is in librt on Solaris
2330    AC_CHECK_FUNC([nanosleep], [],
2331        AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
2332    
2333    # damage shadow extension glx (NOTYET) fb mi
2334    KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
2335    KDRIVE_PURE_INCS="$KDRIVE_INC $MIEXT_SYNC_INC $MIEXT_DAMAGE_INC $MIEXT_SHADOW_INC $XEXT_INC $FB_INC $MI_INC"
2336    KDRIVE_OS_INC='-I$(top_srcdir)/hw/kdrive/linux'
2337    KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
2338    
2339    KDRIVE_CFLAGS="$XSERVER_CFLAGS"
2340
2341    KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB"
2342    KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la'
2343    KDRIVE_MAIN_LIB="$MAIN_LIB"
2344    KDRIVE_LOCAL_LIBS="$DIX_LIB $KDRIVE_LIB"
2345    KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
2346    KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB"
2347    KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS"
2348
2349    AC_SUBST([XEPHYR_LIBS])
2350    AC_SUBST([XEPHYR_INCS])
2351fi
2352AC_SUBST([KDRIVE_INCS])
2353AC_SUBST([KDRIVE_PURE_INCS])
2354AC_SUBST([KDRIVE_CFLAGS])
2355AC_SUBST([KDRIVE_PURE_LIBS])
2356AC_SUBST([KDRIVE_MAIN_LIB])
2357AC_SUBST([KDRIVE_LOCAL_LIBS])
2358AC_SUBST([KDRIVE_LIBS])
2359AM_CONDITIONAL(XEPHYR, [test "x$KDRIVE" = xyes && test "x$XEPHYR" = xyes])
2360
2361dnl Xwayland DDX
2362
2363XWAYLANDMODULES="wayland-client >= 1.3.0 wayland-protocols >= 1.10 $LIBDRM epoxy"
2364if test "x$XF86VIDMODE" = xyes; then
2365	XWAYLANDMODULES="$XWAYLANDMODULES $VIDMODEPROTO"
2366fi
2367PKG_CHECK_MODULES(XWAYLANDMODULES, [$XWAYLANDMODULES], [have_xwayland=yes], [have_xwayland=no])
2368AC_MSG_CHECKING([whether to build Xwayland DDX])
2369if test "x$XWAYLAND" = xauto; then
2370   XWAYLAND="$have_xwayland"
2371fi
2372AC_MSG_RESULT([$XWAYLAND])
2373AM_CONDITIONAL(XWAYLAND, [test "x$XWAYLAND" = xyes])
2374
2375if test "x$XWAYLAND" = xyes; then
2376	if test "x$have_xwayland" = xno; then
2377		AC_MSG_ERROR([Xwayland build explicitly requested, but required modules not found.])
2378	fi
2379
2380	if test "x$GLAMOR" = xyes && test "x$GBM" = xyes; then
2381		AC_DEFINE(XWL_HAS_GLAMOR, 1,
2382			  [Build xwayland with glamor support])
2383	fi
2384
2385	PKG_CHECK_MODULES(WAYLAND_EGLSTREAM, [wayland-eglstream-protocols >= 1.0.2], [have_wl_eglstream=yes], [have_wl_eglstream=no])
2386
2387	if test "x$XWAYLAND_EGLSTREAM" = xauto; then
2388		if test "x$have_wl_eglstream" = xyes && test "x$GLAMOR" = xyes; then
2389			XWAYLAND_EGLSTREAM=yes
2390		fi
2391	fi
2392
2393	if test "x$XWAYLAND_EGLSTREAM" = xyes; then
2394		if test "x$GLAMOR" != xyes; then
2395			AC_MSG_ERROR([Xwayland eglstream support explicitly requested, but required modules not found.])
2396		fi
2397
2398		if test "x$have_wl_eglstream" = xno; then
2399			AC_MSG_ERROR([Xwayland eglstream support requires wayland-eglstream-protocols >= 1.0.2])
2400		fi
2401
2402		AC_SUBST(WAYLAND_EGLSTREAM_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-eglstream-protocols`)
2403		AC_DEFINE(XWL_HAS_EGLSTREAM, 1,
2404			  [Build xwayland with eglstream support])
2405	fi
2406
2407	XWAYLAND_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_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"
2408	XWAYLAND_SYS_LIBS="$XWAYLANDMODULES_LIBS $GLX_SYS_LIBS"
2409	AC_SUBST([XWAYLAND_LIBS])
2410	AC_SUBST([XWAYLAND_SYS_LIBS])
2411
2412	if test "x$MONOTONIC_CLOCK" != xyes; then
2413		AC_MSG_ERROR([Xwayland requires CLOCK_MONOTONIC support.])
2414	fi
2415
2416	AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
2417	if test "x$WAYLAND_SCANNER" = x; then
2418		PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
2419		AC_SUBST(WAYLAND_SCANNER, `$PKG_CONFIG --variable=wayland_scanner wayland-scanner`)
2420	fi
2421
2422        PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner >= 1.14.91],
2423                          AC_SUBST(SCANNER_ARG, 'private-code'),
2424                          AC_SUBST(SCANNER_ARG, 'code'))
2425
2426	AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
2427fi
2428AM_CONDITIONAL(XWAYLAND_EGLSTREAM, [test "x$XWAYLAND_EGLSTREAM" = "xyes"])
2429
2430
2431dnl and the rest of these are generic, so they're in config.h
2432dnl 
2433dnl though, thanks to the passing of some significant amount of time, the
2434dnl above is probably a complete fallacy, and you should not rely on it.
2435dnl but this is still actually better than imake, honest. -daniels
2436
2437AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2438#include <features.h>
2439#ifndef __GLIBC__
2440#error not glibc
2441#endif
2442]], [])], [AC_DEFINE(_GNU_SOURCE, 1,
2443	[ Enable GNU and other extensions to the C environment for glibc])])
2444
2445AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
2446AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [sysconfdir])
2447
2448AC_SUBST([RELEASE_DATE])
2449DATE_FMT="%Y%m%d"
2450TIME_FMT="1%H%M%S"
2451BUILD_DATE="`date "+$DATE_FMT"`"
2452BUILD_TIME="`date "+$TIME_FMT"`"
2453if test "x$SOURCE_DATE_EPOCH" != "x"; then
2454	BUILD_DATE="`date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u "+$DATE_FMT"`"
2455	BUILD_TIME="`date -u -d "@$SOURCE_DATE_EPOCH" "+$TIME_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+$TIME_FMT" 2>/dev/null || date -u "+$TIME_FMT"`"
2456fi
2457AC_SUBST([BUILD_DATE])
2458AC_SUBST([BUILD_TIME])
2459
2460DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"
2461
2462AC_SUBST([DIX_CFLAGS])
2463
2464AC_SUBST([libdir])
2465AC_SUBST([exec_prefix])
2466AC_SUBST([prefix])
2467
2468AC_CONFIG_COMMANDS([sdksyms], [touch hw/xfree86/sdksyms.dep])
2469
2470if test "x$CONFIG_HAL" = xno && test "x$CONFIG_UDEV" = xno; then
2471    AC_MSG_WARN([
2472             ***********************************************
2473             Neither HAL nor udev backend will be enabled.
2474             Input device hotplugging will not be available!
2475             ***********************************************])
2476fi
2477
2478AC_CONFIG_FILES([
2479Makefile
2480glx/Makefile
2481include/Makefile
2482composite/Makefile
2483damageext/Makefile
2484dbe/Makefile
2485dix/Makefile
2486doc/Makefile
2487doc/dtrace/Makefile
2488man/Makefile
2489fb/Makefile
2490glamor/Makefile
2491record/Makefile
2492config/Makefile
2493mi/Makefile
2494miext/Makefile
2495miext/sync/Makefile
2496miext/damage/Makefile
2497miext/shadow/Makefile
2498miext/rootless/Makefile
2499os/Makefile
2500pseudoramiX/Makefile
2501randr/Makefile
2502render/Makefile
2503xkb/Makefile
2504Xext/Makefile
2505Xi/Makefile
2506xfixes/Makefile
2507exa/Makefile
2508dri3/Makefile
2509present/Makefile
2510hw/Makefile
2511hw/xfree86/Makefile
2512hw/xfree86/Xorg.sh
2513hw/xfree86/common/Makefile
2514hw/xfree86/common/xf86Build.h
2515hw/xfree86/ddc/Makefile
2516hw/xfree86/dixmods/Makefile
2517hw/xfree86/doc/Makefile
2518hw/xfree86/dri/Makefile
2519hw/xfree86/dri2/Makefile
2520hw/xfree86/dri2/pci_ids/Makefile
2521hw/xfree86/drivers/Makefile
2522hw/xfree86/drivers/modesetting/Makefile
2523hw/xfree86/exa/Makefile
2524hw/xfree86/exa/man/Makefile
2525hw/xfree86/fbdevhw/Makefile
2526hw/xfree86/fbdevhw/man/Makefile
2527hw/xfree86/glamor_egl/Makefile
2528hw/xfree86/i2c/Makefile
2529hw/xfree86/int10/Makefile
2530hw/xfree86/loader/Makefile
2531hw/xfree86/man/Makefile
2532hw/xfree86/modes/Makefile
2533hw/xfree86/os-support/Makefile
2534hw/xfree86/os-support/bsd/Makefile
2535hw/xfree86/os-support/bus/Makefile
2536hw/xfree86/os-support/hurd/Makefile
2537hw/xfree86/os-support/misc/Makefile
2538hw/xfree86/os-support/linux/Makefile
2539hw/xfree86/os-support/solaris/Makefile
2540hw/xfree86/os-support/stub/Makefile
2541hw/xfree86/parser/Makefile
2542hw/xfree86/ramdac/Makefile
2543hw/xfree86/shadowfb/Makefile
2544hw/xfree86/vbe/Makefile
2545hw/xfree86/vgahw/Makefile
2546hw/xfree86/x86emu/Makefile
2547hw/xfree86/xkb/Makefile
2548hw/xfree86/utils/Makefile
2549hw/xfree86/utils/man/Makefile
2550hw/xfree86/utils/cvt/Makefile
2551hw/xfree86/utils/gtf/Makefile
2552hw/dmx/config/Makefile
2553hw/dmx/config/man/Makefile
2554hw/dmx/doc/Makefile
2555hw/dmx/doxygen/doxygen.conf
2556hw/dmx/doxygen/Makefile
2557hw/dmx/examples/Makefile
2558hw/dmx/input/Makefile
2559hw/dmx/glxProxy/Makefile
2560hw/dmx/Makefile
2561hw/dmx/man/Makefile
2562hw/vfb/Makefile
2563hw/vfb/man/Makefile
2564hw/xnest/Makefile
2565hw/xnest/man/Makefile
2566hw/xwin/Makefile
2567hw/xwin/dri/Makefile
2568hw/xwin/glx/Makefile
2569hw/xwin/man/Makefile
2570hw/xwin/winclipboard/Makefile
2571hw/xquartz/Makefile
2572hw/xquartz/GL/Makefile
2573hw/xquartz/bundle/Makefile
2574hw/xquartz/man/Makefile
2575hw/xquartz/mach-startup/Makefile
2576hw/xquartz/pbproxy/Makefile
2577hw/xquartz/xpr/Makefile
2578hw/kdrive/Makefile
2579hw/kdrive/ephyr/Makefile
2580hw/kdrive/ephyr/man/Makefile
2581hw/kdrive/src/Makefile
2582hw/xwayland/Makefile
2583test/Makefile
2584xserver.ent
2585xorg-server.pc
2586])
2587AC_OUTPUT
2588