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.13, [https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
30RELEASE_DATE="2021-07-29"
31RELEASE_NAME="Lemon Pepper Chicken"
32AC_CONFIG_SRCDIR([Makefile.am])
33AC_CONFIG_MACRO_DIR([m4])
34AM_INIT_AUTOMAKE([foreign dist-xz])
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 memfd_create isastream])
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		if test "x$XQUARTZ" = xyes ; then
698			XQUARTZ=yes
699			XVFB=no
700			XNEST=no
701			XWAYLAND=no
702
703			COMPOSITE=no
704			DGA=no
705			DPMSExtension=no
706			XF86VIDMODE=no
707		fi
708		;;
709	gnu*)
710		DRM=no
711		DRI2=no
712		DRI3=no
713		;;
714	*) XQUARTZ=no ;;
715esac
716
717dnl ---------------------------------------------------------------------------
718dnl Extension section
719dnl ---------------------------------------------------------------------------
720XEXT_INC='-I$(top_srcdir)/Xext'
721XEXT_LIB='$(top_builddir)/Xext/libXext.la'
722
723dnl Optional modules
724VIDEOPROTO="videoproto"
725COMPOSITEPROTO="compositeproto >= 0.4"
726RECORDPROTO="recordproto >= 1.13.99.1"
727SCRNSAVERPROTO="scrnsaverproto >= 1.1"
728RESOURCEPROTO="resourceproto >= 1.2.0"
729DRIPROTO="xf86driproto >= 2.1.0"
730DRI2PROTO="dri2proto >= 2.8"
731DRI3PROTO="dri3proto >= 1.2"
732XINERAMAPROTO="xineramaproto"
733BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
734DGAPROTO="xf86dgaproto >= 2.0.99.1"
735GLPROTO="glproto >= 1.4.17"
736DMXPROTO="dmxproto >= 2.2.99.1"
737VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
738WINDOWSWMPROTO="windowswmproto"
739APPLEWMPROTO="applewmproto >= 1.4"
740LIBXSHMFENCE="xshmfence >= 1.1"
741
742dnl Required modules
743XPROTO="xproto >= 7.0.31"
744RANDRPROTO="randrproto >= 1.6.0"
745RENDERPROTO="renderproto >= 0.11"
746XEXTPROTO="xextproto >= 7.2.99.901"
747INPUTPROTO="inputproto >= 2.3"
748KBPROTO="kbproto >= 1.0.3"
749FONTSPROTO="fontsproto >= 2.1.3"
750FIXESPROTO="fixesproto >= 5.0"
751DAMAGEPROTO="damageproto >= 1.1"
752XCMISCPROTO="xcmiscproto >= 1.2.0"
753BIGREQSPROTO="bigreqsproto >= 1.1.0"
754XTRANS="xtrans >= 1.3.5"
755PRESENTPROTO="presentproto >= 1.1"
756
757dnl List of libraries that require a specific version
758LIBAPPLEWM="applewm >= 1.4"
759LIBDMX="dmx >= 1.0.99.1"
760LIBDRI="dri >= 7.8.0"
761LIBDRM="libdrm >= 2.4.89"
762LIBEGL="egl"
763LIBGBM="gbm >= 10.2.0"
764LIBGL="gl >= 1.2"
765LIBXEXT="xext >= 1.0.99.4"
766LIBXFONT="xfont2 >= 2.0.0"
767LIBXI="xi >= 1.2.99.1"
768LIBXTST="xtst >= 1.0.99.2"
769LIBPCIACCESS="pciaccess >= 0.12.901"
770LIBUDEV="libudev >= 143"
771LIBSELINUX="libselinux >= 2.0.86"
772LIBDBUS="dbus-1 >= 1.0"
773LIBPIXMAN="pixman-1 >= 0.27.2"
774
775dnl Pixman is always required, but we separate it out so we can link
776dnl specific modules against it
777PKG_CHECK_MODULES(PIXMAN, $LIBPIXMAN)
778REQUIRED_LIBS="$REQUIRED_LIBS $LIBPIXMAN $LIBXFONT xau"
779
780dnl Core modules for most extensions, et al.
781SDK_REQUIRED_MODULES="$XPROTO $RANDRPROTO $RENDERPROTO $XEXTPROTO $INPUTPROTO $KBPROTO $FONTSPROTO $LIBPIXMAN"
782# Make SDK_REQUIRED_MODULES available for inclusion in xorg-server.pc
783AC_SUBST(SDK_REQUIRED_MODULES)
784
785AC_CHECK_DECL([PTHREAD_MUTEX_RECURSIVE], [HAVE_RECURSIVE_MUTEX=yes], [HAVE_RECURSIVE_MUTEX=no], [[#include <pthread.h>]])
786
787THREAD_DEFAULT=no
788
789if test "x$HAVE_RECURSIVE_MUTEX" = "xyes" ; then
790	THREAD_DEFAULT=yes
791fi
792
793AC_ARG_ENABLE(input-thread, AS_HELP_STRING([--enable-input-thread],
794	     [Enable input threads]),
795	     [INPUTTHREAD=$enableval], [INPUTTHREAD=$THREAD_DEFAULT])
796
797if test "x$INPUTTHREAD" = "xyes" ; then
798    AX_PTHREAD(,AC_MSG_ERROR([threaded input requested but no pthread support has been found]))
799    SYS_LIBS="$SYS_LIBS $PTHREAD_LIBS"
800    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
801    AC_DEFINE(INPUTTHREAD, 1, [Use a separate input thread])
802
803    save_LIBS="$LIBS"
804    LIBS="$LIBS $SYS_LIBS"
805    dnl MacOS X 10.6 & higher
806    AC_MSG_CHECKING(for pthread_setname_np(const char*))
807    AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
808	                            [pthread_setname_np("example")])],
809                   [AC_MSG_RESULT(yes)
810		    AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID,1,
811		              [Have function pthread_setname_np(const char*)])],
812                   [AC_MSG_RESULT(no)])
813    dnl GNU libc 2.12 & higher, Solaris 11.3 & higher
814    AC_MSG_CHECKING(for pthread_setname_np(pthread_t, const char*))
815    AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
816                             [pthread_setname_np(pthread_self(), "example")])],
817                   [AC_MSG_RESULT(yes)
818		    AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITH_TID,1,
819	                      [Have function pthread_setname_np(pthread_t, const char*)])],
820		   [AC_MSG_RESULT(no)])
821    LIBS="$save_LIBS"
822fi
823
824REQUIRED_MODULES="$FIXESPROTO $DAMAGEPROTO $XCMISCPROTO $XTRANS $BIGREQSPROTO $SDK_REQUIRED_MODULES"
825
826dnl systemd socket activation
827dnl activate the code in libxtrans that grabs systemd's socket fds
828dnl libsystemd-daemon was moved into libsystemd in version 209
829LIBSYSTEMD="libsystemd >= 209"
830AC_ARG_WITH([systemd-daemon],
831	AS_HELP_STRING([--with-systemd-daemon],
832		[support systemd socket activation (default: auto)]),
833	[WITH_SYSTEMD_DAEMON=$withval], [WITH_SYSTEMD_DAEMON=auto])
834if test "x$WITH_SYSTEMD_DAEMON" = "xyes" -o "x$WITH_SYSTEMD_DAEMON" = "xauto" ; then
835	PKG_CHECK_MODULES([SYSTEMD_DAEMON], [$LIBSYSTEMD],
836			  [HAVE_SYSTEMD_DAEMON=yes;
837			   LIBSYSTEMD_DAEMON="$LIBSYSTEMD"],
838			  [PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
839					     [HAVE_SYSTEMD_DAEMON=yes;
840					      LIBSYSTEMD_DAEMON=libsystemd-daemon],
841					     [HAVE_SYSTEMD_DAEMON=no])])
842	if test "x$HAVE_SYSTEMD_DAEMON" = xyes; then
843		AC_DEFINE(HAVE_SYSTEMD_DAEMON, 1, [Define to 1 if libsystemd-daemon is available])
844		REQUIRED_LIBS="$REQUIRED_LIBS $LIBSYSTEMD_DAEMON"
845	elif test "x$WITH_SYSTEMD_DAEMON" = xyes; then
846		AC_MSG_ERROR([systemd support requested but no library has been found])
847	fi
848fi
849AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = "xyes"])
850
851if test "x$CONFIG_UDEV" = xyes && test "x$CONFIG_HAL" = xyes; then
852	AC_MSG_ERROR([Hotplugging through both libudev and hal not allowed])
853fi
854
855PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
856if test "x$CONFIG_UDEV" = xauto; then
857	CONFIG_UDEV="$HAVE_LIBUDEV"
858	AC_DEFINE(HAVE_LIBUDEV, 1, [Define to 1 if libudev is available.])
859fi
860AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes])
861if test "x$CONFIG_UDEV" = xyes; then
862	CONFIG_HAL=no
863	if test "x$CONFIG_UDEV_KMS" = xauto; then
864		CONFIG_UDEV_KMS="$HAVE_LIBUDEV"
865	fi
866	if ! test "x$HAVE_LIBUDEV" = xyes; then
867		AC_MSG_ERROR([udev configuration API requested, but libudev is not installed])
868	fi
869	AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug])
870	if test "x$CONFIG_UDEV_KMS" = xyes; then
871		AC_DEFINE(CONFIG_UDEV_KMS, 1, [Use libudev for kms enumeration])
872	fi
873	SAVE_LIBS=$LIBS
874	SAVE_CFLAGS=$CFLAGS
875	CFLAGS="$CFLAGS $UDEV_CFLAGS"
876	LIBS=$UDEV_LIBS
877	AC_CHECK_FUNCS([udev_monitor_filter_add_match_tag])
878	AC_CHECK_FUNCS([udev_enumerate_add_match_tag])
879	LIBS=$SAVE_LIBS
880	CFLAGS=$SAVE_CFLAGS
881fi
882AM_CONDITIONAL(CONFIG_UDEV_KMS, [test "x$CONFIG_UDEV_KMS" = xyes])
883
884PKG_CHECK_MODULES(DBUS, $LIBDBUS, [HAVE_DBUS=yes], [HAVE_DBUS=no])
885if test "x$HAVE_DBUS" = xyes; then
886	AC_DEFINE(HAVE_DBUS, 1, [Have D-Bus support])
887fi
888AM_CONDITIONAL(HAVE_DBUS, [test "x$HAVE_DBUS" = xyes])
889
890PKG_CHECK_MODULES(HAL, hal, [HAVE_HAL=yes], [HAVE_HAL=no])
891if test "x$CONFIG_HAL" = xauto; then
892	CONFIG_HAL="$HAVE_HAL"
893fi
894if test "x$CONFIG_HAL" = xyes; then
895	if ! test "x$HAVE_HAL" = xyes; then
896		AC_MSG_ERROR([HAL hotplug API requested, but HAL is not installed.])
897	fi
898
899	AC_DEFINE(CONFIG_HAL, 1, [Use the HAL hotplug API])
900	NEED_DBUS="yes"
901fi
902AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes])
903
904if test "x$SYSTEMD_LOGIND" = xauto; then
905        if test "x$HAVE_DBUS" = xyes -a "x$CONFIG_UDEV" = xyes ; then
906                SYSTEMD_LOGIND=yes
907        else
908                SYSTEMD_LOGIND=no
909        fi
910fi
911if test "x$SYSTEMD_LOGIND" = xyes; then
912        if ! test "x$HAVE_DBUS" = xyes; then
913                AC_MSG_ERROR([systemd-logind requested, but D-Bus is not installed.])
914        fi
915        if ! test "x$CONFIG_UDEV" = xyes ; then
916                AC_MSG_ERROR([systemd-logind is only supported in combination with udev configuration.])
917        fi
918
919        AC_DEFINE(SYSTEMD_LOGIND, 1, [Enable systemd-logind integration])
920        NEED_DBUS="yes"
921fi
922AM_CONDITIONAL(SYSTEMD_LOGIND, [test "x$SYSTEMD_LOGIND" = xyes])
923
924if test "x$SUID_WRAPPER" = xyes; then
925        dnl This is a define so that if some platforms want to put the wrapper
926        dnl somewhere else this can be easily changed
927        AC_DEFINE_DIR(SUID_WRAPPER_DIR, libexecdir, [Where to install the Xorg binary and Xorg.wrap])
928        SETUID="no"
929fi
930AM_CONDITIONAL(SUID_WRAPPER, [test "x$SUID_WRAPPER" = xyes])
931
932if test "x$NEED_DBUS" = xyes; then
933        AC_DEFINE(NEED_DBUS, 1, [Enable D-Bus core])
934fi
935AM_CONDITIONAL(NEED_DBUS, [test "x$NEED_DBUS" = xyes])
936
937if test "x$CONFIG_WSCONS" = xauto; then
938	case $host_os in
939		*openbsd*)
940			CONFIG_WSCONS=yes;
941			;;
942		*)
943			CONFIG_WSCONS=no;
944			;;
945	esac
946fi
947AM_CONDITIONAL(CONFIG_WSCONS, [test "x$CONFIG_WSCONS" = xyes])
948if test "x$CONFIG_WSCONS" = xyes; then
949	AC_DEFINE(CONFIG_WSCONS, 1, [Use wscons for input auto configuration])
950fi
951
952
953AC_MSG_CHECKING([for glibc...])
954AC_PREPROC_IFELSE([AC_LANG_SOURCE([
955#include <features.h>
956#ifndef __GLIBC__
957#error
958#endif
959])], glibc=yes, glibc=no)
960AC_MSG_RESULT([$glibc])
961
962AC_CHECK_FUNCS([clock_gettime], [have_clock_gettime=yes],
963               [AC_CHECK_LIB([rt], [clock_gettime], [have_clock_gettime=-lrt],
964                             [have_clock_gettime=no])])
965
966AC_MSG_CHECKING([for a useful monotonic clock ...])
967
968if ! test "x$have_clock_gettime" = xno; then
969    if ! test "x$have_clock_gettime" = xyes; then
970        CLOCK_LIBS="$have_clock_gettime"
971    else
972        CLOCK_LIBS=""
973    fi
974
975    LIBS_SAVE="$LIBS"
976    LIBS="$CLOCK_LIBS"
977    CPPFLAGS_SAVE="$CPPFLAGS"
978
979    if test x"$glibc" = xyes; then
980        CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
981    fi
982
983    AC_RUN_IFELSE([AC_LANG_SOURCE([
984#include <time.h>
985
986int main(int argc, char *argv[[]]) {
987    struct timespec tp;
988
989    if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
990        return 0;
991    else
992        return 1;
993}
994    ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
995       [MONOTONIC_CLOCK="cross compiling"])
996
997    if test "$MONOTONIC_CLOCK" = "cross compiling"; then
998        AC_CHECK_DECL([CLOCK_MONOTONIC],[MONOTONIC_CLOCK="guessing yes"],[MONOTONIC_CLOCK=no],[#include <time.h>])
999    fi
1000
1001    LIBS="$LIBS_SAVE"
1002    CPPFLAGS="$CPPFLAGS_SAVE"
1003else
1004    MONOTONIC_CLOCK=no
1005fi
1006
1007AC_MSG_RESULT([$MONOTONIC_CLOCK])
1008if test "$MONOTONIC_CLOCK" = "guessing yes"; then
1009	MONOTONIC_CLOCK=yes
1010fi
1011
1012if test "x$MONOTONIC_CLOCK" = xyes; then
1013    AC_DEFINE(MONOTONIC_CLOCK, 1, [Have monotonic clock from clock_gettime()])
1014    LIBS="$LIBS $CLOCK_LIBS"
1015fi
1016
1017AM_CONDITIONAL(XV, [test "x$XV" = xyes])
1018if test "x$XV" = xyes; then
1019	AC_DEFINE(XV, 1, [Support Xv extension])
1020	AC_DEFINE(XvExtension, 1, [Build Xv extension])
1021	REQUIRED_MODULES="$REQUIRED_MODULES $VIDEOPROTO"
1022	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $VIDEOPROTO"
1023else
1024	XVMC=no
1025fi
1026
1027AM_CONDITIONAL(XVMC, [test "x$XVMC" = xyes])
1028if test "x$XVMC" = xyes; then
1029	AC_DEFINE(XvMCExtension, 1, [Build XvMC extension])
1030fi
1031
1032AM_CONDITIONAL(COMPOSITE, [test "x$COMPOSITE" = xyes])
1033if test "x$COMPOSITE" = xyes; then
1034	AC_DEFINE(COMPOSITE, 1, [Support Composite Extension])
1035	REQUIRED_MODULES="$REQUIRED_MODULES $COMPOSITEPROTO"
1036	COMPOSITE_LIB='$(top_builddir)/composite/libcomposite.la'
1037	COMPOSITE_INC='-I$(top_srcdir)/composite'
1038fi
1039
1040if test "x$MITSHM" = xauto; then
1041	MITSHM="$ac_cv_sysv_ipc"
1042fi
1043AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes])
1044if test "x$MITSHM" = xyes; then
1045	AC_DEFINE(MITSHM, 1, [Support MIT-SHM extension])
1046	AC_DEFINE(HAS_SHM, 1, [Support SHM])
1047fi
1048
1049AM_CONDITIONAL(RECORD, [test "x$RECORD" = xyes])
1050if test "x$RECORD" = xyes; then
1051	AC_DEFINE(XRECORD, 1, [Support Record extension])
1052	REQUIRED_MODULES="$REQUIRED_MODULES $RECORDPROTO"
1053	RECORD_LIB='$(top_builddir)/record/librecord.la'
1054fi
1055
1056AM_CONDITIONAL(SCREENSAVER, [test "x$SCREENSAVER" = xyes])
1057if test "x$SCREENSAVER" = xyes; then
1058	AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension])
1059	REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO"
1060	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $SCRNSAVERPROTO"
1061fi
1062
1063HASHTABLE=no
1064AM_CONDITIONAL(RES, [test "x$RES" = xyes])
1065if test "x$RES" = xyes; then
1066	AC_DEFINE(RES, 1, [Support X resource extension])
1067	HASHTABLE=yes
1068	REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO"
1069	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $RESOURCEPROTO"
1070fi
1071
1072if test "x$LISTEN_TCP" = xyes; then
1073	AC_DEFINE(LISTEN_TCP, 1, [Listen on TCP socket])
1074fi
1075if test "x$LISTEN_UNIX" = xyes; then
1076	AC_DEFINE(LISTEN_UNIX, 1, [Listen on Unix socket])
1077fi
1078if test "x$LISTEN_LOCAL" = xyes; then
1079	AC_DEFINE(LISTEN_LOCAL, 1, [Listen on local socket])
1080fi
1081
1082# The XRes extension may support client ID tracking only if it has
1083# been specifically enabled. Client ID tracking is implicitly not
1084# supported if XRes extension is disabled.
1085AC_MSG_CHECKING([whether to track client ids])
1086if test "x$RES" = xyes && test "x$CLIENTIDS" = xyes; then
1087	AC_DEFINE(CLIENTIDS, 1, [Support client ID tracking])
1088else
1089	CLIENTIDS=no
1090fi
1091if test "x$CLIENTIDS" = xyes; then
1092	case $host_os in
1093	openbsd*)
1094		SYS_LIBS="$SYS_LIBS -lkvm"
1095	;;
1096	esac
1097fi
1098AC_MSG_RESULT([$CLIENTIDS])
1099AM_CONDITIONAL(CLIENTIDS, [test "x$CLIENTIDS" = xyes])
1100
1101AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
1102if test "x$DRI" = xyes; then
1103	AC_DEFINE(XF86DRI, 1, [Build DRI extension])
1104	REQUIRED_MODULES="$REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI"
1105	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI"
1106fi
1107
1108PKG_CHECK_MODULES([DRI2PROTO], $DRI2PROTO,
1109                  [HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
1110case "$DRI2,$HAVE_DRI2PROTO" in
1111	yes,no)
1112		AC_MSG_ERROR([DRI2 requested, but dri2proto not found.])
1113		;;
1114	yes,yes | auto,yes)
1115		AC_DEFINE(DRI2, 1, [Build DRI2 extension])
1116		DRI2=yes
1117		LIBGL="gl >= 1.2"
1118		SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO"
1119		;;
1120esac
1121AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
1122
1123AC_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])
1124
1125case "x$XTRANS_SEND_FDS" in
1126xauto)
1127	case "$host_os" in
1128	linux*|solaris*|freebsd*|dragonfly*|openbsd*)
1129		XTRANS_SEND_FDS=yes
1130		;;
1131	*)
1132		XTRANS_SEND_FDS=no
1133		;;
1134	esac
1135esac
1136
1137case "x$XTRANS_SEND_FDS" in
1138xyes)
1139	AC_DEFINE(XTRANS_SEND_FDS, 1, [Enable xtrans fd passing support])
1140	;;
1141esac
1142
1143case "$DRI3,$XTRANS_SEND_FDS" in
1144	yes,yes | auto,yes)
1145		;;
1146	yes,no)
1147		AC_MSG_ERROR([DRI3 requested, but xtrans fd passing support not found.])
1148		DRI3=no
1149		;;
1150	no,*)
1151		;;
1152	*)
1153		AC_MSG_NOTICE([DRI3 disabled because xtrans fd passing support not found.])
1154		DRI3=no
1155		;;
1156esac
1157
1158PKG_CHECK_MODULES([DRI3PROTO], $DRI3PROTO,
1159                  [HAVE_DRI3PROTO=yes], [HAVE_DRI3PROTO=no])
1160
1161case "$DRI3,$HAVE_DRI3PROTO" in
1162	yes,yes | auto,yes)
1163		REQUIRED_MODULES="$REQUIRED_MODULES dri3proto"
1164		;;
1165	yes,no)
1166		AC_MSG_ERROR([DRI3 requested, but dri3proto not found.])
1167		DRI3=no
1168		;;
1169	no,*)
1170		;;
1171	*)
1172		AC_MSG_NOTICE([DRI3 disabled because dri3proto not found.])
1173		DRI3=no
1174		;;
1175esac
1176
1177AC_CHECK_FUNCS([sigaction])
1178
1179BUSFAULT=no
1180
1181case x"$ac_cv_func_sigaction" in
1182	xyes)
1183		AC_DEFINE(HAVE_SIGACTION, 1, [Have sigaction function])
1184		BUSFAULT=yes
1185		;;
1186esac
1187
1188case x"$BUSFAULT" in
1189	xyes)
1190		AC_DEFINE(BUSFAULT, 1, [Include busfault OS API])
1191		;;
1192esac
1193
1194AM_CONDITIONAL(BUSFAULT, test x"$BUSFAULT" = xyes)
1195
1196
1197PKG_CHECK_MODULES([XSHMFENCE], $LIBXSHMFENCE, [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
1198if test "x$XSHMFENCE" = "xauto"; then
1199    XSHMFENCE="$HAVE_XSHMFENCE"
1200fi
1201
1202if test "x$XSHMFENCE" = "xyes"; then
1203    if test "x$HAVE_XSHMFENCE" != "xyes"; then
1204        AC_MSG_ERROR([xshmfence requested but not installed.])
1205    fi
1206    AC_DEFINE(HAVE_XSHMFENCE, 1, [Have xshmfence support])
1207    REQUIRED_LIBS="$REQUIRED_LIBS $LIBXSHMFENCE"
1208fi
1209
1210AM_CONDITIONAL(XSHMFENCE, [test "x$XSHMFENCE" = xyes])
1211
1212case "$DRI3,$XSHMFENCE" in
1213	yes,yes | auto,yes)
1214		;;
1215	yes,no)
1216		AC_MSG_ERROR([DRI3 requested, but xshmfence not found.])
1217		DRI3=no
1218		;;
1219	no,*)
1220		;;
1221	*)
1222		AC_MSG_NOTICE([DRI3 disabled because xshmfence not found.])
1223		DRI3=no
1224		;;
1225esac
1226
1227case x"$DRI3" in
1228	xyes|xauto)
1229		DRI3=yes
1230		AC_DEFINE(DRI3, 1, [Build DRI3 extension])
1231		DRI3_LIB='$(top_builddir)/dri3/libdri3.la'
1232		SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI3PROTO"
1233		AC_MSG_NOTICE([DRI3 enabled]);
1234		;;
1235esac
1236
1237AM_CONDITIONAL(DRI3, test "x$DRI3" = xyes)
1238
1239if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$DRI3" = xyes || test "x$CONFIG_UDEV_KMS" = xyes || test "x$XORG" = xyes; then
1240	if test "x$DRM" = xyes; then
1241		AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support])
1242		PKG_CHECK_MODULES([LIBDRM], $LIBDRM)
1243	fi
1244fi
1245
1246if test "x$GLX" = xyes; then
1247	PKG_CHECK_MODULES([XLIB], [x11])
1248	PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL)
1249	AC_SUBST(XLIB_CFLAGS)
1250	AC_DEFINE(GLXEXT, 1, [Build GLX extension])
1251	HASHTABLE=yes
1252	GLX_LIBS='$(top_builddir)/glx/libglx.la $(top_builddir)/glx/libglxvnd.la'
1253	GLX_SYS_LIBS="$GLX_SYS_LIBS $GL_LIBS"
1254else
1255        GLX=no
1256fi
1257AM_CONDITIONAL(GLX, test "x$GLX" = xyes)
1258
1259AM_CONDITIONAL(HASHTABLE, test "x$HASHTABLE" = xyes)
1260
1261AC_SUBST([GLX_DEFINES])
1262AC_SUBST([GLX_SYS_LIBS])
1263
1264AM_CONDITIONAL(PRESENT, [test "x$PRESENT" = xyes])
1265if test "x$PRESENT" = xyes; then
1266	AC_DEFINE(PRESENT, 1, [Support Present extension])
1267	REQUIRED_MODULES="$REQUIRED_MODULES $PRESENTPROTO"
1268	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $PRESENTPROTO"
1269	PRESENT_INC='-I$(top_srcdir)/present'
1270	PRESENT_LIB='$(top_builddir)/present/libpresent.la'
1271fi
1272
1273AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
1274if test "x$XINERAMA" = xyes; then
1275	AC_DEFINE(XINERAMA, 1, [Support Xinerama extension])
1276	AC_DEFINE(PANORAMIX, 1, [Internal define for Xinerama])
1277	REQUIRED_MODULES="$REQUIRED_MODULES $XINERAMAPROTO"
1278	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
1279fi
1280
1281AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
1282if test "x$XACE" = xyes; then
1283	AC_DEFINE(XACE, 1, [Build X-ACE extension])
1284fi
1285
1286AM_CONDITIONAL(XSELINUX, [test "x$XSELINUX" = xyes])
1287if test "x$XSELINUX" = xyes; then
1288	if test "x$XACE" != xyes; then
1289		AC_MSG_ERROR([cannot build SELinux extension without X-ACE])
1290	fi
1291	AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers]))
1292	AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library]))
1293	PKG_CHECK_MODULES([SELINUX], $LIBSELINUX)
1294	SELINUX_LIBS="$SELINUX_LIBS -laudit"
1295	AC_DEFINE(XSELINUX, 1, [Build SELinux extension])
1296fi
1297
1298AM_CONDITIONAL(XCSECURITY, [test "x$XCSECURITY" = xyes])
1299if test "x$XCSECURITY" = xyes; then
1300	if test "x$XACE" != xyes; then
1301		AC_MSG_ERROR([cannot build Security extension without X-ACE])
1302	fi
1303	AC_DEFINE(XCSECURITY, 1, [Build Security extension])
1304fi
1305
1306AM_CONDITIONAL(DBE, [test "x$DBE" = xyes])
1307if test "x$DBE" = xyes; then
1308	AC_DEFINE(DBE, 1, [Support DBE extension])
1309	DBE_LIB='$(top_builddir)/dbe/libdbe.la'
1310	DBE_INC='-I$(top_srcdir)/dbe'
1311fi
1312
1313AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes])
1314if test "x$XF86BIGFONT" = xyes; then
1315	AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension])
1316	REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO"
1317	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $BIGFONTPROTO"
1318fi
1319
1320AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
1321if test "x$DPMSExtension" = xyes; then
1322	AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
1323fi
1324
1325AC_DEFINE(RENDER, 1, [Support RENDER extension])
1326RENDER_LIB='$(top_builddir)/render/librender.la'
1327RENDER_INC='-I$(top_srcdir)/render'
1328
1329AC_DEFINE(RANDR, 1, [Support RANDR extension])
1330RANDR_LIB='$(top_builddir)/randr/librandr.la'
1331RANDR_INC='-I$(top_srcdir)/randr'
1332
1333AC_DEFINE(XFIXES,1,[Support XFixes extension])
1334FIXES_LIB='$(top_builddir)/xfixes/libxfixes.la'
1335FIXES_INC='-I$(top_srcdir)/xfixes'
1336
1337AC_DEFINE(DAMAGE,1,[Support Damage extension])
1338DAMAGE_LIB='$(top_builddir)/damageext/libdamageext.la'
1339DAMAGE_INC='-I$(top_srcdir)/damageext'
1340MIEXT_DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
1341MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
1342
1343# XINPUT extension is integral part of the server
1344AC_DEFINE(XINPUT, 1, [Support X Input extension])
1345XI_LIB='$(top_builddir)/Xi/libXi.la'
1346XI_INC='-I$(top_srcdir)/Xi'
1347
1348AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
1349AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
1350AM_CONDITIONAL(VBE, test "x$VBE" = xyes)
1351AM_CONDITIONAL(INT10MODULE, test "x$INT10MODULE" = xyes)
1352
1353AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
1354
1355if test "x$XKBPATH" = "xauto"; then
1356    XKBPATH=$(pkg-config --variable datadir xkbcomp || echo ${datadir})/X11/xkb
1357fi
1358
1359AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
1360AC_ARG_WITH(xkb-bin-directory,
1361				AS_HELP_STRING([--with-xkb-bin-directory=DIR], [Directory containing xkbcomp program (default: auto)]),
1362				[XKB_BIN_DIRECTORY="$withval"],
1363				[XKB_BIN_DIRECTORY="auto"])
1364
1365if test "x$XKB_BIN_DIRECTORY" = "xauto"; then
1366    XKB_BIN_DIRECTORY=$(pkg-config --variable bindir xkbcomp || echo ${bindir})
1367fi
1368
1369AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir])
1370
1371dnl Make sure XKM_OUTPUT_DIR is an absolute path
1372XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
1373if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
1374   XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
1375fi
1376
1377dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
1378dnl XKB_COMPILED_DIR (used in Makefiles) must not or install-sh gets confused
1379
1380XKBOUTPUT=`echo $XKBOUTPUT/ | $SED 's|/*$|/|'`
1381XKB_COMPILED_DIR=`echo $XKBOUTPUT | $SED 's|/*$||'`
1382AC_DEFINE_DIR(XKM_OUTPUT_DIR, XKBOUTPUT, [Path to XKB output dir])
1383AC_SUBST(XKB_COMPILED_DIR)
1384
1385if test "x$XKB_DFLT_RULES" = x; then
1386    case $host_os in
1387    linux*)
1388        dnl doesn't take AutoAddDevices into account, but whatever.
1389        XKB_DFLT_RULES="evdev"
1390        ;;
1391    *)
1392        XKB_DFLT_RULES="base"
1393        ;;
1394    esac
1395fi
1396AC_DEFINE_UNQUOTED(XKB_DFLT_RULES, ["$XKB_DFLT_RULES"], [Default XKB ruleset])
1397AC_DEFINE_UNQUOTED(XKB_DFLT_MODEL, ["$XKB_DFLT_MODEL"], [Default XKB model])
1398AC_DEFINE_UNQUOTED(XKB_DFLT_LAYOUT, ["$XKB_DFLT_LAYOUT"], [Default XKB layout])
1399AC_DEFINE_UNQUOTED(XKB_DFLT_VARIANT, ["$XKB_DFLT_VARIANT"], [Default XKB variant])
1400AC_DEFINE_UNQUOTED(XKB_DFLT_OPTIONS, ["$XKB_DFLT_OPTIONS"], [Default XKB options])
1401AC_SUBST([XKB_DFLT_RULES])
1402AC_SUBST([XKB_DFLT_MODEL])
1403AC_SUBST([XKB_DFLT_LAYOUT])
1404AC_SUBST([XKB_DFLT_VARIANT])
1405AC_SUBST([XKB_DFLT_OPTIONS])
1406
1407XKB_LIB='$(top_builddir)/xkb/libxkb.la'
1408XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
1409REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
1410
1411PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], [have_libxdmcp="no"])
1412if test "x$XDMCP" = xauto; then
1413	if test "x$have_libxdmcp" = xyes; then
1414		XDMCP=yes
1415	else
1416		XDMCP=no
1417	fi
1418fi
1419if test "x$XDMAUTH" = xauto; then
1420	if test "x$have_libxdmcp" = xyes; then
1421		XDMAUTH=yes
1422	else
1423		XDMAUTH=no
1424	fi
1425fi
1426
1427AM_CONDITIONAL(XDMCP, [test "x$XDMCP" = xyes])
1428if test "x$XDMCP" = xyes; then
1429	AC_DEFINE(XDMCP, 1, [Support XDM Control Protocol])
1430	REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1431	XDMCP_MODULES="xdmcp"
1432fi
1433
1434AM_CONDITIONAL(XDMAUTH, [test "x$XDMAUTH" = xyes])
1435if test "x$XDMAUTH" = xyes; then
1436	AC_DEFINE(HASXDMAUTH,1,[Support XDM-AUTH*-1])
1437	if ! test "x$XDMCP" = xyes; then
1438		REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
1439		XDMCP_MODULES="xdmcp"
1440	fi
1441fi
1442
1443if test "x$XF86VIDMODE" = xauto; then
1444	PKG_CHECK_EXISTS($VIDMODEPROTO, [XF86VIDMODE=yes], [XF86VIDMODE=no])
1445fi
1446if test "x$XF86VIDMODE" = xyes; then
1447	AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
1448fi
1449AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes])
1450
1451AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
1452AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
1453AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
1454dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
1455AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI driver path])
1456AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
1457AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
1458AC_DEFINE_UNQUOTED(XORG_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1459AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
1460
1461if test -z "$OSNAME"; then
1462    OSNAME="UNKNOWN"
1463fi
1464
1465AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
1466AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
1467AC_DEFINE_UNQUOTED(BUILDERSTRING, ["$BUILDERSTRING"], [Builder string])
1468
1469AC_SUBST([VENDOR_NAME_SHORT])
1470AC_DEFINE_UNQUOTED(VENDOR_NAME, ["$VENDOR_NAME"], [Vendor name])
1471AC_DEFINE_UNQUOTED(VENDOR_NAME_SHORT, ["$VENDOR_NAME_SHORT"], [Vendor name])
1472AC_DEFINE_UNQUOTED(VENDOR_RELEASE, [$VENDOR_RELEASE], [Vendor release])
1473AC_DEFINE_UNQUOTED(VENDOR_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
1474
1475if test "x$DEBUGGING" = xyes; then
1476       AC_DEFINE(DEBUG, 1, [Enable debugging code])
1477fi
1478AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
1479
1480AC_DEFINE(XTEST, 1, [Support XTest extension])
1481AC_DEFINE(XSYNC, 1, [Support XSync extension])
1482AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
1483AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])
1484
1485if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
1486  DIX_LIB='$(top_builddir)/dix/dix.O'
1487  OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS) $(LIBUNWIND_LIBS)'
1488else
1489  DIX_LIB='$(top_builddir)/dix/libdix.la'
1490  OS_LIB='$(top_builddir)/os/libos.la'
1491fi
1492AC_SUBST([DIX_LIB])
1493AC_SUBST([OS_LIB])
1494
1495MAIN_LIB='$(top_builddir)/dix/libmain.la'
1496AC_SUBST([MAIN_LIB])
1497
1498MI_LIB='$(top_builddir)/mi/libmi.la'
1499MI_EXT_LIB='$(top_builddir)/mi/libmiext.la'
1500MI_INC='-I$(top_srcdir)/mi'
1501FB_LIB='$(top_builddir)/fb/libfb.la'
1502FB_INC='-I$(top_srcdir)/fb'
1503MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
1504MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
1505MIEXT_SYNC_INC='-I$(top_srcdir)/miext/sync'
1506MIEXT_SYNC_LIB='$(top_builddir)/miext/sync/libsync.la'
1507CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
1508
1509# SHA1 hashing
1510AC_ARG_WITH([sha1],
1511            [AS_HELP_STRING([--with-sha1=libc|libmd|libnettle|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI],
1512                            [choose SHA1 implementation])])
1513AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
1514if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
1515	with_sha1=libc
1516fi
1517if test "x$with_sha1" = xlibc && test "x$HAVE_SHA1_IN_LIBC" != xyes; then
1518	AC_MSG_ERROR([libc requested but not found])
1519fi
1520if test "x$with_sha1" = xlibc; then
1521	AC_DEFINE([HAVE_SHA1_IN_LIBC], [1],
1522		[Use libc SHA1 functions])
1523	SHA1_LIBS=""
1524fi
1525AC_CHECK_FUNC([CC_SHA1_Init], [HAVE_SHA1_IN_COMMONCRYPTO=yes])
1526if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_COMMONCRYPTO" = xyes; then
1527	with_sha1=CommonCrypto
1528fi
1529if test "x$with_sha1" = xCommonCrypto && test "x$HAVE_SHA1_IN_COMMONCRYPTO" != xyes; then
1530	AC_MSG_ERROR([CommonCrypto requested but not found])
1531fi
1532if test "x$with_sha1" = xCommonCrypto; then
1533	AC_DEFINE([HAVE_SHA1_IN_COMMONCRYPTO], [1],
1534		[Use CommonCrypto SHA1 functions])
1535	SHA1_LIBS=""
1536fi
1537dnl stdcall functions cannot be tested with AC_CHECK_LIB
1538AC_CHECK_HEADER([wincrypt.h], [HAVE_SHA1_IN_CRYPTOAPI=yes], [], [#include <windows.h>])
1539if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_CRYPTOAPI" = xyes; then
1540	with_sha1=CryptoAPI
1541fi
1542if test "x$with_sha1" = xCryptoAPI && test "x$HAVE_SHA1_IN_CRYPTOAPI" != xyes; then
1543	AC_MSG_ERROR([CryptoAPI requested but not found])
1544fi
1545if test "x$with_sha1" = xCryptoAPI; then
1546	AC_DEFINE([HAVE_SHA1_IN_CRYPTOAPI], [1],
1547		[Use CryptoAPI SHA1 functions])
1548	SHA1_LIBS=""
1549fi
1550AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
1551if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
1552	with_sha1=libmd
1553fi
1554if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
1555	AC_MSG_ERROR([libmd requested but not found])
1556fi
1557if test "x$with_sha1" = xlibmd; then
1558	AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
1559	          [Use libmd SHA1 functions])
1560	SHA1_LIBS=-lmd
1561fi
1562PKG_CHECK_MODULES([LIBSHA1], [libsha1], [HAVE_LIBSHA1=yes], [HAVE_LIBSHA1=no])
1563if test "x$with_sha1" = x && test "x$HAVE_LIBSHA1" = xyes; then
1564   with_sha1=libsha1
1565fi
1566if test "x$with_sha1" = xlibsha1 && test "x$HAVE_LIBSHA1" != xyes; then
1567	AC_MSG_ERROR([libsha1 requested but not found])
1568fi
1569if test "x$with_sha1" = xlibsha1; then
1570	AC_DEFINE([HAVE_SHA1_IN_LIBSHA1], [1],
1571	          [Use libsha1 for SHA1])
1572	SHA1_LIBS=-lsha1
1573fi
1574AC_CHECK_LIB([nettle], [nettle_sha1_init], [HAVE_LIBNETTLE=yes])
1575if test "x$with_sha1" = x && test "x$HAVE_LIBNETTLE" = xyes; then
1576	with_sha1=libnettle
1577fi
1578if test "x$with_sha1" = xlibnettle && test "x$HAVE_LIBNETTLE" != xyes; then
1579	AC_MSG_ERROR([libnettle requested but not found])
1580fi
1581if test "x$with_sha1" = xlibnettle; then
1582	AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1],
1583	          [Use libnettle SHA1 functions])
1584	SHA1_LIBS=-lnettle
1585fi
1586AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
1587if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
1588	with_sha1=libgcrypt
1589fi
1590if test "x$with_sha1" = xlibgcrypt && test "x$HAVE_LIBGCRYPT" != xyes; then
1591	AC_MSG_ERROR([libgcrypt requested but not found])
1592fi
1593if test "x$with_sha1" = xlibgcrypt; then
1594	AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
1595	          [Use libgcrypt SHA1 functions])
1596	SHA1_LIBS=-lgcrypt
1597fi
1598# We don't need all of the OpenSSL libraries, just libcrypto
1599AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
1600PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
1601                  [HAVE_OPENSSL_PKC=no])
1602if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
1603	if test "x$with_sha1" = x; then
1604		with_sha1=libcrypto
1605	fi
1606else
1607	if test "x$with_sha1" = xlibcrypto; then
1608		AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
1609	fi
1610fi
1611if test "x$with_sha1" = xlibcrypto; then
1612	if test "x$HAVE_LIBCRYPTO" = xyes; then
1613		SHA1_LIBS=-lcrypto
1614	else
1615		SHA1_LIBS="$OPENSSL_LIBS"
1616		SHA1_CFLAGS="$OPENSSL_CFLAGS"
1617	fi
1618fi
1619AC_MSG_CHECKING([for SHA1 implementation])
1620if test "x$with_sha1" = x; then
1621	AC_MSG_ERROR([No suitable SHA1 implementation found])
1622fi
1623AC_MSG_RESULT([$with_sha1])
1624AC_SUBST(SHA1_LIBS)
1625AC_SUBST(SHA1_CFLAGS)
1626
1627PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
1628PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
1629
1630PKG_CHECK_MODULES(LIBUNWIND, libunwind, [HAVE_LIBUNWIND=yes], [HAVE_LIBUNWIND=no])
1631if test "x$LIBUNWIND" = "xauto"; then
1632    LIBUNWIND="$HAVE_LIBUNWIND"
1633fi
1634
1635if test "x$LIBUNWIND" = "xyes"; then
1636    if test "x$HAVE_LIBUNWIND" != "xyes"; then
1637        AC_MSG_ERROR([libunwind requested but not installed.])
1638    fi
1639    AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support])
1640fi
1641
1642AM_CONDITIONAL(HAVE_LIBUNWIND, [test "x$LIBUNWIND" = xyes])
1643
1644# Autotools has some unfortunate issues with library handling.  In order to
1645# get a server to rebuild when a dependency in the tree is changed, it must
1646# be listed in SERVERNAME_DEPENDENCIES.  However, no system libraries may be
1647# listed there, or some versions of autotools will break (especially if a -L
1648# is required to find the library).  So, we keep two sets of libraries
1649# detected: NAMESPACE_LIBS for in-tree libraries to be linked against, which
1650# will go into the _DEPENDENCIES and _LDADD of the server, and
1651# NAMESPACE_SYS_LIBS which will go into only the _LDADD.  The
1652# NAMESPACEMODULES_LIBS detected from pkgconfig should always go in
1653# NAMESPACE_SYS_LIBS.
1654#
1655# XSERVER_LIBS is the set of in-tree libraries which all servers require.
1656# XSERVER_SYS_LIBS is the set of out-of-tree libraries which all servers
1657# require.
1658#
1659XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS}"
1660XSERVER_LIBS="$DIX_LIB $MI_LIB $OS_LIB"
1661XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}"
1662AC_SUBST([XSERVER_LIBS])
1663AC_SUBST([XSERVER_SYS_LIBS])
1664
1665UTILS_SYS_LIBS="${SYS_LIBS}"
1666AC_SUBST([UTILS_SYS_LIBS])
1667
1668# The Xorg binary needs to export symbols so that they can be used from modules
1669# Some platforms require extra flags to do this.   libtool should set the
1670# necessary flags for each platform when -export-dynamic is passed to it.
1671LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
1672LD_NO_UNDEFINED_FLAG=
1673XORG_DRIVER_LIBS=
1674case "$host_os" in
1675    cygwin*)
1676	LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-all,--out-implib,lib\$@.a"
1677	LD_NO_UNDEFINED_FLAG="-no-undefined -Wl,\$(top_builddir)/hw/xfree86/libXorg.exe.a"
1678	XORG_DRIVER_LIBS="-lXorg.exe -L\${moduledir} -lshadow -lfb -no-undefined"
1679	CYGWIN=yes
1680	;;
1681    solaris*)
1682	# We use AC_LINK_IFELSE to generate a temporary program conftest$EXEEXT
1683	# that we can link against for testing if the system linker is new
1684	# enough to support -z parent=<program> for verifying loadable modules
1685	# are only calling functions defined in either the loading program or
1686	# the libraries they're linked with.
1687	AC_LINK_IFELSE(
1688	    [AC_LANG_SOURCE([int main(int argc, char **argv) { return 0; }])],
1689	    [mv conftest$EXEEXT conftest.parent
1690	     XORG_CHECK_LINKER_FLAGS([-Wl,-z,parent=conftest.parent -G],
1691		[LD_NO_UNDEFINED_FLAG="-Wl,-z,defs -Wl,-z,parent=\$(top_builddir)/hw/xfree86/Xorg"
1692# Not set yet, since this gets exported in xorg-server.pc to all the drivers,
1693# and they're not all fixed to build correctly with it yet.
1694#		 XORG_DRIVER_LIBS="-Wl,-z,defs -Wl,-z,parent=${bindir}/Xorg"
1695         ],[],
1696		[AC_LANG_SOURCE([extern int main(int argc, char **argv);
1697			int call_main(void) { return main(0, (void *)0); }])])
1698	     rm -f conftest.parent
1699	    ])
1700	;;
1701esac
1702AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
1703AC_SUBST([LD_NO_UNDEFINED_FLAG])
1704AC_SUBST([XORG_DRIVER_LIBS])
1705AM_CONDITIONAL([CYGWIN], [test x"$CYGWIN" = xyes])
1706AM_CONDITIONAL([NO_UNDEFINED], [test x"$LD_NO_UNDEFINED_FLAG" != x])
1707
1708dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
1709dnl we need to replicate that here until those can all be fixed
1710AC_MSG_CHECKING([if SVR4 needs to be defined])
1711AC_EGREP_CPP([I_AM_SVR4],[
1712#if defined(SVR4) || defined(__svr4__) || defined(__SVR4)
1713 I_AM_SVR4
1714#endif
1715],[
1716AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
1717AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
1718
1719XSERVER_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"
1720
1721dnl ---------------------------------------------------------------------------
1722dnl DDX section.
1723dnl ---------------------------------------------------------------------------
1724
1725dnl Xvfb DDX
1726
1727AC_MSG_CHECKING([whether to build Xvfb DDX])
1728AC_MSG_RESULT([$XVFB])
1729AM_CONDITIONAL(XVFB, [test "x$XVFB" = xyes])
1730
1731if test "x$XVFB" = xyes; then
1732	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"
1733	XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS"
1734	AC_SUBST([XVFB_LIBS])
1735	AC_SUBST([XVFB_SYS_LIBS])
1736fi
1737
1738
1739dnl Xnest DDX
1740
1741PKG_CHECK_MODULES(XNESTMODULES, [$LIBXEXT x11 xau $XDMCP_MODULES], [have_xnest=yes], [have_xnest=no])
1742AC_MSG_CHECKING([whether to build Xnest DDX])
1743if test "x$XNEST" = xauto; then
1744	XNEST="$have_xnest"
1745fi
1746AC_MSG_RESULT([$XNEST])
1747AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
1748
1749if test "x$XNEST" = xyes; then
1750	if test "x$have_xnest" = xno; then
1751		AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
1752	fi
1753	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"
1754	XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
1755	AC_SUBST([XNEST_LIBS])
1756	AC_SUBST([XNEST_SYS_LIBS])
1757fi
1758
1759
1760dnl Xorg DDX
1761
1762AC_MSG_CHECKING([whether to build Xorg DDX])
1763if test "x$XORG" = xauto; then
1764	XORG="yes"
1765	case $host_os in
1766		cygwin*) XORG="no" ;;
1767		mingw*)  XORG="no" ;;
1768		darwin*) XORG="no" ;;
1769	esac
1770fi
1771AC_MSG_RESULT([$XORG])
1772
1773if test "x$XORG" = xyes; then
1774	XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
1775	XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
1776	XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
1777	XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
1778	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"
1779
1780	dnl ==================================================================
1781	dnl symbol visibility
1782	symbol_visibility=
1783	have_visibility=disabled
1784	if test x$SYMBOL_VISIBILITY != xno; then
1785	    AC_MSG_CHECKING(for symbol visibility support)
1786	    if test x$GCC = xyes; then
1787		VISIBILITY_CFLAGS="-fvisibility=hidden"
1788	    else
1789		if test x$SUNCC = xyes; then
1790		    VISIBILITY_CFLAGS="-xldscope=hidden"
1791		else
1792		    have_visibility=no
1793		fi
1794	    fi
1795	    if test x$have_visibility != xno; then
1796		save_CFLAGS="$CFLAGS"
1797		proto_inc=`$PKG_CONFIG --cflags xproto`
1798		CFLAGS="$CFLAGS $VISIBILITY_CFLAGS $proto_inc"
1799		AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1800		    [#include <X11/Xfuncproto.h>
1801		     extern _X_HIDDEN int hidden_int;
1802		     extern _X_EXPORT int public_int;
1803		     extern _X_HIDDEN int hidden_int_func(void);
1804		     extern _X_EXPORT int public_int_func(void);]],
1805		    [])],
1806		    have_visibility=yes,
1807		    have_visibility=no)
1808		CFLAGS=$save_CFLAGS
1809	    fi
1810	    AC_MSG_RESULT([$have_visibility])
1811	    if test x$have_visibility != xno; then
1812		symbol_visibility=$VISIBILITY_CFLAGS
1813		XORG_CFLAGS="$XORG_CFLAGS $VISIBILITY_CFLAGS"
1814		XSERVER_CFLAGS="$XSERVER_CFLAGS $VISIBILITY_CFLAGS"
1815	    fi
1816	fi
1817	dnl added to xorg-server.pc
1818	AC_SUBST([symbol_visibility])
1819	dnl ===================================================================
1820
1821	dnl ===================================================================
1822	dnl ================= beginning of PCI configuration ==================
1823	dnl ===================================================================
1824	xorg_bus_bsdpci=no
1825	xorg_bus_sparc=no
1826
1827	AC_MSG_CHECKING([whether to build Xorg PCI functions])
1828	if test "x$PCI" = xyes; then
1829		PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
1830		SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS"
1831		XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $LIBDRM_LIBS"
1832		XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS $LIBDRM_CFLAGS"
1833
1834		AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation])
1835		AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
1836		case $host_os in
1837		  gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*)
1838			xorg_bus_bsdpci="yes"
1839			;;
1840		esac
1841		case $host_cpu in
1842		  sparc*)
1843			xorg_bus_sparc="yes"
1844			;;
1845		esac
1846	else
1847		if test "x$CONFIG_UDEV_KMS" = xyes; then
1848			AC_MSG_ERROR([Platform device enumeration requires libpciaccess])
1849		fi
1850		if test "x$INT10MODULE" = xyes && test "x$INT10" != xstub; then
1851			AC_MSG_ERROR([Cannot build int10 without libpciaccess])
1852		fi
1853	fi
1854	AC_MSG_RESULT([$PCI])
1855
1856	if test "x$CONFIG_UDEV_KMS" = xyes; then
1857		AC_DEFINE(XSERVER_PLATFORM_BUS, 1, [X server supports platform device enumeration])
1858	fi
1859	AC_MSG_RESULT([$XSERVER_PLATFORM_BUS])
1860	dnl ===================================================================
1861	dnl ==================== end of PCI configuration =====================
1862	dnl ===================================================================
1863
1864	case $host_os in
1865	  linux*)
1866		XORG_OS_SUBDIR="linux"
1867		linux_acpi="no"
1868		case $host_cpu in
1869		  i*86|amd64*|x86_64*|ia64*)
1870			linux_acpi=$enable_linux_acpi
1871			;;
1872		  *)
1873			;;
1874		esac
1875		dnl APM header
1876		AC_CHECK_HEADERS([linux/apm_bios.h], [linux_apm=$enable_linux_apm])
1877		if test "x$linux_apm" = xyes -o "x$linux_acpi" = xyes; then
1878			AC_DEFINE(XF86PM, 1, [Support APM/ACPI power management in the server])
1879		fi
1880		;;
1881	  freebsd* | kfreebsd*-gnu | dragonfly*)
1882		XORG_OS_SUBDIR="bsd"
1883		;;
1884	  netbsd*)
1885		XORG_OS_SUBDIR="bsd"
1886		;;
1887	  openbsd*)
1888		if test "x$ac_cv_BSD_APM" = xyes \
1889			-o "x$ac_cv_BSD_KQUEUE_APM" = xyes; then
1890			XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1891		fi
1892		XORG_OS_SUBDIR="bsd"
1893		;;
1894	  solaris*)
1895		XORG_OS_SUBDIR="solaris"
1896		XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
1897		AC_CHECK_HEADERS([sys/kd.h])
1898		AC_CHECK_HEADERS([sys/vt.h], [solaris_vt=yes], [solaris_vt=no])
1899		# Check for minimum supported release
1900		AC_MSG_CHECKING([Solaris version])
1901	        OS_MINOR=`echo ${host_os}|$SED -e 's/^.*solaris2\.//' -e s'/\..*$//'`
1902		if test "${OS_MINOR}" -ge 7 ; then
1903	        	AC_MSG_RESULT(Solaris ${OS_MINOR})
1904		else
1905			AC_MSG_RESULT(Solaris `echo ${host_os}|$SED -e 's/^.*solaris//`)
1906		fi
1907		if test "${OS_MINOR}" -lt 8 ; then
1908			AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.])
1909		fi
1910		AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"])
1911
1912		case $host_cpu in
1913		  sparc*)
1914			SOLARIS_INOUT_ARCH="sparcv8plus"
1915			;;
1916		  i*86|x86_64*)
1917			if test x$SOLARIS_64 = xyes ; then
1918				SOLARIS_INOUT_ARCH="amd64"
1919			else
1920				SOLARIS_INOUT_ARCH="ia32"
1921			fi
1922			;;
1923		  *)
1924			AC_MSG_ERROR([Unsupported Solaris platform. Only SPARC & x86 \
1925			are supported on Solaris in this release.   If you are \
1926			interested in porting Xorg to your platform, please email \
1927			xorg@lists.freedesktop.org.]) ;;
1928		esac
1929		AC_SUBST([SOLARIS_INOUT_ARCH])
1930		;;
1931	  gnu*)
1932		XORG_OS_SUBDIR="hurd"
1933		;;
1934	  cygwin*)
1935		XORG_OS_SUBDIR="stub"
1936		;;
1937	  *)
1938		XORG_OS_SUBDIR="stub"
1939		AC_MSG_NOTICE([m4_text_wrap(m4_join([ ],
1940		[Your OS is unknown.],
1941		[If you are interested in porting Xorg to your platform,],
1942		[please email xorg@lists.freedesktop.org.]))])
1943		;;
1944	esac
1945
1946	if test "x$DGA" = xauto; then
1947		PKG_CHECK_MODULES(DGA, $DGAPROTO, [DGA=yes], [DGA=no])
1948	fi
1949	if test "x$DGA" = xyes; then
1950		XORG_MODULES="$XORG_MODULES $DGAPROTO"
1951		PKG_CHECK_MODULES(DGA, $DGAPROTO)
1952		AC_DEFINE(DGA, 1, [Support DGA extension])
1953		AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
1954	fi
1955
1956	if test "x$XF86VIDMODE" = xyes; then
1957		XORG_MODULES="$XORG_MODULES $VIDMODEPROTO"
1958	fi
1959
1960	if test -n "$XORG_MODULES"; then
1961	        PKG_CHECK_MODULES(XORG_MODULES, [$XORG_MODULES])
1962	        XORG_CFLAGS="$XORG_CFLAGS $XORG_MODULES_CFLAGS"
1963	        XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
1964	fi
1965
1966	if test "x$DRM" = xyes; then
1967		XORG_DRIVER_MODESETTING=yes
1968	fi
1969
1970	AC_SUBST([XORG_LIBS])
1971	AC_SUBST([XORG_SYS_LIBS])
1972	AC_SUBST([XORG_INCS])
1973	AC_SUBST([XORG_OS_SUBDIR])
1974	AC_SUBST([XORG_CFLAGS])
1975
1976	dnl these only go in xorg-config.h
1977	XF86CONFIGFILE="xorg.conf"
1978	XF86CONFIGDIR="xorg.conf.d"
1979	AC_SUBST(XF86CONFIGDIR)
1980	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
1981	LOGPREFIX="Xorg."
1982	XDG_DATA_HOME=".local/share"
1983	XDG_DATA_HOME_LOGDIR="xorg"
1984	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
1985	AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
1986	AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
1987	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
1988	AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
1989	AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
1990	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
1991	AC_DEFINE_DIR(XCONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
1992	AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
1993	AC_DEFINE_DIR(XCONFIGDIR, XF86CONFIGDIR, [Name of configuration directory])
1994	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
1995	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
1996	AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
1997	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default logfile prefix])
1998	AC_DEFINE_DIR(DEFAULT_XDG_DATA_HOME, XDG_DATA_HOME, [Default XDG_DATA dir under HOME])
1999	AC_DEFINE_DIR(DEFAULT_XDG_DATA_HOME_LOGDIR, XDG_DATA_HOME_LOGDIR, [Default log dir under XDG_DATA_HOME])
2000	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
2001	if test "x$VGAHW" = xyes; then
2002		AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
2003	fi
2004
2005	driverdir="$moduledir/drivers"
2006	AC_SUBST([moduledir])
2007	AC_SUBST([driverdir])
2008	sdkdir="$includedir/xorg"
2009	extdir="$includedir/X11/extensions"
2010	sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
2011	AC_SUBST([sdkdir])
2012	AC_SUBST([extdir])
2013	AC_SUBST([sysconfigdir])
2014	AC_SUBST([logdir])
2015
2016	# stuff the ABI versions into the pc file too
2017	extract_abi() {
2018	    grep ^.define.*${1}_VERSION ${srcdir}/hw/xfree86/common/xf86Module.h | tr '(),' '  .' | awk '{ print $4$5 }'
2019	}
2020	abi_ansic=`extract_abi ANSIC`
2021	abi_videodrv=`extract_abi VIDEODRV`
2022	abi_xinput=`extract_abi XINPUT`
2023	abi_extension=`extract_abi EXTENSION`
2024	AC_SUBST([abi_ansic])
2025	AC_SUBST([abi_videodrv])
2026	AC_SUBST([abi_xinput])
2027	AC_SUBST([abi_extension])
2028fi
2029AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
2030AM_CONDITIONAL([XORG_BUS_PCI], [test "x$PCI" = xyes])
2031AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
2032AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
2033AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
2034AM_CONDITIONAL([LNXAPM], [test "x$linux_apm" = xyes])
2035AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes])
2036AM_CONDITIONAL([DGA], [test "x$DGA" = xyes])
2037AM_CONDITIONAL([XORG_BUS_PLATFORM], [test "x$CONFIG_UDEV_KMS" = xyes])
2038AM_CONDITIONAL([XORG_DRIVER_MODESETTING], [test "x$XORG_DRIVER_MODESETTING" = xyes])
2039
2040dnl glamor
2041if test "x$GLAMOR" = xauto; then
2042	if echo "$XORG" "$XEPHYR" "$XWAYLAND" | grep -q yes ; then
2043		GLAMOR=yes
2044	fi
2045fi
2046
2047AM_CONDITIONAL([GLAMOR], [test "x$GLAMOR" = xyes])
2048
2049if test "x$GLAMOR" = xyes; then
2050	AC_DEFINE(GLAMOR, 1, [Build glamor])
2051	PKG_CHECK_MODULES([GLAMOR], [epoxy])
2052
2053	PKG_CHECK_EXISTS(epoxy >= 1.4.4,
2054			 [AC_DEFINE(GLAMOR_HAS_EGL_QUERY_DMABUF, 1, [Have GLAMOR_HAS_EGL_QUERY_DMABUF])],
2055			 [])
2056
2057	PKG_CHECK_EXISTS(epoxy >= 1.5.4,
2058			 [AC_DEFINE(GLAMOR_HAS_EGL_QUERY_DRIVER, 1, [Have GLAMOR_HAS_EGL_QUERY_DRIVER])],
2059			 [])
2060
2061	PKG_CHECK_MODULES(GBM, "$LIBGBM", [GBM=yes], [GBM=no])
2062	if test "x$GBM" = xyes; then
2063		AC_DEFINE(GLAMOR_HAS_GBM, 1,
2064			  [Build glamor with GBM-based EGL support])
2065		AC_CHECK_DECL(GBM_BO_USE_LINEAR,
2066			[AC_DEFINE(GLAMOR_HAS_GBM_LINEAR, 1, [Have GBM_BO_USE_LINEAR])], [],
2067			[#include <stdlib.h>
2068			 #include <gbm.h>])
2069		dnl 17.1.0 is required for gbm_bo_create_with_modifiers
2070		PKG_CHECK_EXISTS(gbm >= 17.1.0,
2071				 [AC_DEFINE(GBM_BO_WITH_MODIFIERS, 1, [Have gbm_bo_create_with_modifiers])],
2072				 [])
2073	else
2074		if test "x$XORG" = xyes; then
2075			AC_MSG_ERROR([Glamor for Xorg requires $LIBGBM])
2076		fi
2077	fi
2078fi
2079AM_CONDITIONAL([GLAMOR_EGL], [test "x$GBM" = xyes])
2080
2081dnl XWin DDX
2082
2083AC_MSG_CHECKING([whether to build XWin DDX])
2084if test "x$XWIN" = xauto; then
2085	case $host_os in
2086		cygwin*) XWIN="yes" ;;
2087		mingw*) XWIN="yes" ;;
2088		*) XWIN="no" ;;
2089	esac
2090fi
2091AC_MSG_RESULT([$XWIN])
2092
2093if test "x$XWIN" = xyes; then
2094	AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
2095	AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
2096	AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
2097	AC_CHECK_TOOL(WINDRES, windres)
2098
2099	PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfixes x11-xcb xcb-aux xcb-image xcb-ewmh xcb-icccm])
2100
2101	if test "x$WINDOWSWM" = xauto; then
2102		PKG_CHECK_EXISTS($WINDOWSWMPROTO, [WINDOWSWM=yes], [WINDOWSWM=no])
2103	fi
2104	if test "x$WINDOWSWM" = xyes ; then
2105		PKG_CHECK_MODULES(WINDOWSWM, $WINDOWSWMPROTO)
2106		XWINMODULES_CFLAGS="$XWINMODULES_CFLAGS $WINDOWSWM_CFLAGS"
2107		AC_DEFINE(ROOTLESS,1,[Build Rootless code])
2108	fi
2109
2110	if test "x$WINDOWSDRI" = xauto; then
2111		PKG_CHECK_EXISTS([windowsdriproto], [WINDOWSDRI=yes], [WINDOWSDRI=no])
2112	fi
2113	if test "x$WINDOWSDRI" = xyes ; then
2114		PKG_CHECK_MODULES(WINDOWSDRI, [windowsdriproto])
2115	fi
2116
2117	case $host_os in
2118		cygwin*)
2119			XWIN_SERVER_NAME=XWin
2120			AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages])
2121			;;
2122		mingw*)
2123			XWIN_SERVER_NAME=Xming
2124			AC_DEFINE(RELOCATE_PROJECTROOT,1,[Make PROJECT_ROOT relative to the xserver location])
2125			AC_DEFINE(HAS_WINSOCK,1,[Use Windows sockets])
2126			XWIN_SYS_LIBS="-lpthread -lws2_32"
2127			;;
2128	esac
2129
2130	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"
2131	XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS"
2132	AC_SUBST(XWIN_LIBS)
2133	AC_SUBST(XWIN_SERVER_NAME)
2134	AC_SUBST(XWIN_SYS_LIBS)
2135
2136	if test "x$DEBUGGING" = xyes; then
2137		AC_DEFINE(CYGDEBUG, 1, [Simple debug messages])
2138		AC_DEFINE(CYGWINDOWING_DEBUG, 1, [Debug messages for window handling])
2139		AC_DEFINE(CYGMULTIWINDOW_DEBUG, 1, [Debug window manager])
2140	fi
2141
2142	AC_DEFINE(DDXOSVERRORF, 1, [Use OsVendorVErrorF])
2143	AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
2144
2145dnl XWin requires OpenGL spec files in order to generate wrapper code for native GL functions
2146	if [test "x$XWIN" = xyes && test "x$GLX" = xyes] ; then
2147           AC_CHECK_PROG(PYTHON3, python3, python3)
2148           if test -z "$PYTHON3"; then
2149                AC_MSG_ERROR([python3 not found])
2150           fi
2151           AC_MSG_CHECKING(for python module lxml)
2152           $PYTHON3 -c "import lxml;"
2153           if test $? -ne 0 ; then
2154                AC_MSG_ERROR([not found])
2155           fi
2156           AC_MSG_RESULT(yes)
2157           if test "x$KHRONOS_SPEC_DIR" = "xauto" ; then
2158		PKG_CHECK_MODULES([KHRONOS_OPENGL_REGISTRY], [khronos-opengl-registry])
2159		KHRONOS_SPEC_DIR=`pkg-config khronos-opengl-registry --variable=specdir`
2160           fi
2161           AC_SUBST(KHRONOS_SPEC_DIR)
2162	fi
2163
2164fi
2165AM_CONDITIONAL(XWIN, [test "x$XWIN" = xyes])
2166AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
2167AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && test "x$GLX" = xyes])
2168AM_CONDITIONAL(XWIN_WINDOWS_DRI, [test "x$XWIN" = xyes && test "x$WINDOWSDRI" = xyes])
2169
2170dnl Darwin / OS X DDX
2171if test "x$XQUARTZ" = xyes; then
2172	AC_DEFINE(XQUARTZ,1,[Have Quartz])
2173	AC_DEFINE(ROOTLESS,1,[Build Rootless code])
2174
2175	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"
2176	AC_SUBST([XQUARTZ_LIBS])
2177
2178	AC_CHECK_LIB([Xplugin],[xp_init],[:])
2179
2180	CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA"
2181
2182	PKG_CHECK_MODULES(XPBPROXY, $APPLEWMPROTO $LIBAPPLEWM xfixes x11)
2183
2184        if test "x$XQUARTZ_SPARKLE" = xyes ; then
2185                AC_DEFINE(XQUARTZ_SPARKLE,1,[Support application updating through sparkle.])
2186        fi
2187
2188	if test "x$STANDALONE_XPBPROXY" = xyes ; then
2189		AC_DEFINE(STANDALONE_XPBPROXY,1,[Build a standalone xpbproxy])
2190	fi
2191fi
2192
2193AM_CONDITIONAL(PSEUDORAMIX, [test "x$XQUARTZ" = xyes -o "x$XWIN" = xyes ])
2194
2195# Support for objc in autotools is minimal and not documented.
2196OBJC='$(CC)'
2197OBJCLD='$(CCLD)'
2198OBJCLINK='$(LINK)'
2199OBJCFLAGS='$(CFLAGS)'
2200AC_SUBST([OBJC])
2201AC_SUBST([OBJCCLD])
2202AC_SUBST([OBJCLINK])
2203AC_SUBST([OBJCFLAGS])
2204# internal, undocumented automake func follows :(
2205_AM_DEPENDENCIES([OBJC])
2206AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
2207AM_CONDITIONAL(XQUARTZ_SPARKLE, [test "x$XQUARTZ_SPARKLE" != "xno"])
2208AM_CONDITIONAL(STANDALONE_XPBPROXY, [test "x$STANDALONE_XPBPROXY" = xyes])
2209
2210dnl DMX DDX
2211PKG_CHECK_MODULES(
2212	[DMXMODULES],
2213	[xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES],
2214	[PKG_CHECK_MODULES(
2215		[XDMXCONFIG_DEP],
2216		[xaw7 xmu xt xpm x11],
2217		[have_dmx=yes],
2218		[have_dmx=no])],
2219	[have_dmx=no])
2220AC_MSG_CHECKING([whether to build Xdmx DDX])
2221if test "x$DMX" = xauto; then
2222	DMX="$have_dmx"
2223	case $host_os in
2224		cygwin*) DMX="no" ;;
2225		mingw*)  DMX="no" ;;
2226		darwin*) DMX="no" ;;
2227	esac
2228fi
2229AC_MSG_RESULT([$DMX])
2230AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
2231
2232if test "x$DMX" = xyes; then
2233	if test "x$have_dmx" = xno; then
2234		AC_MSG_ERROR([Xdmx build explicitly requested, but required
2235		              modules not found.])
2236	fi
2237	DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC"
2238	XDMX_CFLAGS="$DMXMODULES_CFLAGS"
2239	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 $RENDER_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB"
2240	XDMX_SYS_LIBS="$DMXMODULES_LIBS"
2241	AC_SUBST([XDMX_CFLAGS])
2242	AC_SUBST([XDMX_LIBS])
2243	AC_SUBST([XDMX_SYS_LIBS])
2244
2245dnl USB sources in DMX require <linux/input.h>
2246	AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
2247			DMX_BUILD_USB="no")
2248	AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
2249	AC_SUBST(XDMXCONFIG_DEP_LIBS)
2250	PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [$LIBDMX $LIBXEXT x11])
2251	AC_SUBST(DMXEXAMPLES_DEP_LIBS)
2252	PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [$LIBDMX xmu $LIBXEXT x11])
2253	AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
2254	PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [$LIBDMX $LIBXI $LIBXEXT x11])
2255	AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
2256	PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [$LIBXTST $LIBXEXT x11])
2257	AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
2258	PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres $LIBXEXT x11])
2259	AC_SUBST(XRESEXAMPLES_DEP_LIBS)
2260	PKG_CHECK_MODULES([X11EXAMPLES_DEP], [$LIBXEXT x11])
2261	AC_SUBST(X11EXAMPLES_DEP_LIBS)
2262
2263fi
2264AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
2265
2266dnl kdrive DDX
2267
2268XEPHYR_LIBS=
2269XEPHYR_INCS=
2270
2271AM_CONDITIONAL(KDRIVE, [test x$KDRIVE = xyes])
2272
2273if test "$KDRIVE" = yes; then
2274    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"
2275    if test "x$XV" = xyes; then
2276        XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xcb-xv"
2277    fi
2278    if test "x$DRI" = xyes && test "x$GLX" = xyes; then
2279        XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBDRM xcb-glx xcb-xf86dri > 1.6"
2280    fi
2281    if test "x$GLAMOR" = xyes; then
2282        XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS x11-xcb"
2283    fi
2284
2285    if test "x$XEPHYR" = xauto; then
2286        PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [XEPHYR="yes"], [XEPHYR="no"])
2287    elif test "x$XEPHYR" = xyes ; then
2288        PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS)
2289    fi
2290
2291    # Xephyr needs nanosleep() which is in librt on Solaris
2292    AC_CHECK_FUNC([nanosleep], [],
2293        AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
2294
2295    # damage shadow extension glx (NOTYET) fb mi
2296    KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
2297    KDRIVE_PURE_INCS="$KDRIVE_INC $MIEXT_SYNC_INC $MIEXT_DAMAGE_INC $MIEXT_SHADOW_INC $XEXT_INC $FB_INC $MI_INC"
2298    KDRIVE_OS_INC='-I$(top_srcdir)/hw/kdrive/linux'
2299    KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
2300
2301    KDRIVE_CFLAGS="$XSERVER_CFLAGS"
2302
2303    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"
2304    KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la'
2305    KDRIVE_MAIN_LIB="$MAIN_LIB"
2306    KDRIVE_LOCAL_LIBS="$DIX_LIB $KDRIVE_LIB"
2307    KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
2308    KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB"
2309    KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS"
2310
2311    AC_SUBST([XEPHYR_LIBS])
2312    AC_SUBST([XEPHYR_INCS])
2313fi
2314AC_SUBST([KDRIVE_INCS])
2315AC_SUBST([KDRIVE_PURE_INCS])
2316AC_SUBST([KDRIVE_CFLAGS])
2317AC_SUBST([KDRIVE_PURE_LIBS])
2318AC_SUBST([KDRIVE_MAIN_LIB])
2319AC_SUBST([KDRIVE_LOCAL_LIBS])
2320AC_SUBST([KDRIVE_LIBS])
2321AM_CONDITIONAL(XEPHYR, [test "x$KDRIVE" = xyes && test "x$XEPHYR" = xyes])
2322
2323dnl Xwayland DDX
2324
2325XWAYLANDMODULES="wayland-client >= 1.3.0 wayland-protocols >= 1.10 $LIBDRM epoxy"
2326if test "x$XF86VIDMODE" = xyes; then
2327	XWAYLANDMODULES="$XWAYLANDMODULES $VIDMODEPROTO"
2328fi
2329PKG_CHECK_MODULES(XWAYLANDMODULES, [$XWAYLANDMODULES], [have_xwayland=yes], [have_xwayland=no])
2330AC_MSG_CHECKING([whether to build Xwayland DDX])
2331if test "x$XWAYLAND" = xauto; then
2332   XWAYLAND="$have_xwayland"
2333fi
2334AC_MSG_RESULT([$XWAYLAND])
2335AM_CONDITIONAL(XWAYLAND, [test "x$XWAYLAND" = xyes])
2336
2337if test "x$XWAYLAND" = xyes; then
2338	if test "x$have_xwayland" = xno; then
2339		AC_MSG_ERROR([Xwayland build explicitly requested, but required modules not found.])
2340	fi
2341
2342	if test "x$GLAMOR" = xyes && test "x$GBM" = xyes; then
2343		AC_DEFINE(XWL_HAS_GLAMOR, 1,
2344			  [Build xwayland with glamor support])
2345	fi
2346
2347	PKG_CHECK_MODULES(WAYLAND_EGLSTREAM, [wayland-eglstream-protocols >= 1.0.2], [have_wl_eglstream=yes], [have_wl_eglstream=no])
2348
2349	if test "x$XWAYLAND_EGLSTREAM" = xauto; then
2350		if test "x$have_wl_eglstream" = xyes && test "x$GLAMOR" = xyes; then
2351			XWAYLAND_EGLSTREAM=yes
2352		fi
2353	fi
2354
2355	if test "x$XWAYLAND_EGLSTREAM" = xyes; then
2356		if test "x$GLAMOR" != xyes; then
2357			AC_MSG_ERROR([Xwayland eglstream support explicitly requested, but required modules not found.])
2358		fi
2359
2360		if test "x$have_wl_eglstream" = xno; then
2361			AC_MSG_ERROR([Xwayland eglstream support requires wayland-eglstream-protocols >= 1.0.2])
2362		fi
2363
2364		AC_SUBST(WAYLAND_EGLSTREAM_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-eglstream-protocols`)
2365		AC_DEFINE(XWL_HAS_EGLSTREAM, 1,
2366			  [Build xwayland with eglstream support])
2367	fi
2368
2369	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"
2370	XWAYLAND_SYS_LIBS="$XWAYLANDMODULES_LIBS $GLX_SYS_LIBS"
2371	AC_SUBST([XWAYLAND_LIBS])
2372	AC_SUBST([XWAYLAND_SYS_LIBS])
2373
2374	if test "x$MONOTONIC_CLOCK" != xyes; then
2375		AC_MSG_ERROR([Xwayland requires CLOCK_MONOTONIC support.])
2376	fi
2377
2378	AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
2379	if test "x$WAYLAND_SCANNER" = x; then
2380		PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
2381		AC_SUBST(WAYLAND_SCANNER, `$PKG_CONFIG --variable=wayland_scanner wayland-scanner`)
2382	fi
2383
2384        PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner >= 1.14.91],
2385                          AC_SUBST(SCANNER_ARG, 'private-code'),
2386                          AC_SUBST(SCANNER_ARG, 'code'))
2387
2388	AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
2389fi
2390AM_CONDITIONAL(XWAYLAND_EGLSTREAM, [test "x$XWAYLAND_EGLSTREAM" = "xyes"])
2391
2392
2393dnl and the rest of these are generic, so they're in config.h
2394dnl
2395dnl though, thanks to the passing of some significant amount of time, the
2396dnl above is probably a complete fallacy, and you should not rely on it.
2397dnl but this is still actually better than imake, honest. -daniels
2398
2399AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2400#include <features.h>
2401#ifndef __GLIBC__
2402#error not glibc
2403#endif
2404]], [])], [AC_DEFINE(_GNU_SOURCE, 1,
2405	[ Enable GNU and other extensions to the C environment for glibc])])
2406
2407AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
2408AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [sysconfdir])
2409
2410AC_SUBST([RELEASE_DATE])
2411DATE_FMT="%Y%m%d"
2412TIME_FMT="1%H%M%S"
2413BUILD_DATE="`date "+$DATE_FMT"`"
2414BUILD_TIME="`date "+$TIME_FMT"`"
2415if test "x$SOURCE_DATE_EPOCH" != "x"; then
2416	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"`"
2417	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"`"
2418fi
2419AC_SUBST([BUILD_DATE])
2420AC_SUBST([BUILD_TIME])
2421
2422DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"
2423
2424AC_SUBST([DIX_CFLAGS])
2425
2426AC_SUBST([libdir])
2427AC_SUBST([exec_prefix])
2428AC_SUBST([prefix])
2429
2430AC_CONFIG_COMMANDS([sdksyms], [touch hw/xfree86/sdksyms.dep])
2431
2432if test "x$CONFIG_HAL" = xno && test "x$CONFIG_UDEV" = xno; then
2433    AC_MSG_WARN([
2434             ***********************************************
2435             Neither HAL nor udev backend will be enabled.
2436             Input device hotplugging will not be available!
2437             ***********************************************])
2438fi
2439
2440AC_CONFIG_FILES([
2441Makefile
2442glx/Makefile
2443include/Makefile
2444composite/Makefile
2445damageext/Makefile
2446dbe/Makefile
2447dix/Makefile
2448doc/Makefile
2449doc/dtrace/Makefile
2450man/Makefile
2451fb/Makefile
2452glamor/Makefile
2453record/Makefile
2454config/Makefile
2455mi/Makefile
2456miext/Makefile
2457miext/sync/Makefile
2458miext/damage/Makefile
2459miext/shadow/Makefile
2460miext/rootless/Makefile
2461os/Makefile
2462pseudoramiX/Makefile
2463randr/Makefile
2464render/Makefile
2465xkb/Makefile
2466Xext/Makefile
2467Xi/Makefile
2468xfixes/Makefile
2469exa/Makefile
2470dri3/Makefile
2471present/Makefile
2472hw/Makefile
2473hw/xfree86/Makefile
2474hw/xfree86/Xorg.sh
2475hw/xfree86/common/Makefile
2476hw/xfree86/common/xf86Build.h
2477hw/xfree86/ddc/Makefile
2478hw/xfree86/dixmods/Makefile
2479hw/xfree86/doc/Makefile
2480hw/xfree86/dri/Makefile
2481hw/xfree86/dri2/Makefile
2482hw/xfree86/dri2/pci_ids/Makefile
2483hw/xfree86/drivers/Makefile
2484hw/xfree86/drivers/modesetting/Makefile
2485hw/xfree86/exa/Makefile
2486hw/xfree86/exa/man/Makefile
2487hw/xfree86/fbdevhw/Makefile
2488hw/xfree86/fbdevhw/man/Makefile
2489hw/xfree86/glamor_egl/Makefile
2490hw/xfree86/i2c/Makefile
2491hw/xfree86/int10/Makefile
2492hw/xfree86/loader/Makefile
2493hw/xfree86/man/Makefile
2494hw/xfree86/modes/Makefile
2495hw/xfree86/os-support/Makefile
2496hw/xfree86/os-support/bsd/Makefile
2497hw/xfree86/os-support/bus/Makefile
2498hw/xfree86/os-support/hurd/Makefile
2499hw/xfree86/os-support/misc/Makefile
2500hw/xfree86/os-support/linux/Makefile
2501hw/xfree86/os-support/solaris/Makefile
2502hw/xfree86/os-support/stub/Makefile
2503hw/xfree86/parser/Makefile
2504hw/xfree86/ramdac/Makefile
2505hw/xfree86/shadowfb/Makefile
2506hw/xfree86/vbe/Makefile
2507hw/xfree86/vgahw/Makefile
2508hw/xfree86/x86emu/Makefile
2509hw/xfree86/xkb/Makefile
2510hw/xfree86/utils/Makefile
2511hw/xfree86/utils/man/Makefile
2512hw/xfree86/utils/cvt/Makefile
2513hw/xfree86/utils/gtf/Makefile
2514hw/dmx/config/Makefile
2515hw/dmx/config/man/Makefile
2516hw/dmx/doc/Makefile
2517hw/dmx/doxygen/doxygen.conf
2518hw/dmx/doxygen/Makefile
2519hw/dmx/examples/Makefile
2520hw/dmx/input/Makefile
2521hw/dmx/glxProxy/Makefile
2522hw/dmx/Makefile
2523hw/dmx/man/Makefile
2524hw/vfb/Makefile
2525hw/vfb/man/Makefile
2526hw/xnest/Makefile
2527hw/xnest/man/Makefile
2528hw/xwin/Makefile
2529hw/xwin/dri/Makefile
2530hw/xwin/glx/Makefile
2531hw/xwin/man/Makefile
2532hw/xwin/winclipboard/Makefile
2533hw/xquartz/Makefile
2534hw/xquartz/GL/Makefile
2535hw/xquartz/bundle/Makefile
2536hw/xquartz/man/Makefile
2537hw/xquartz/mach-startup/Makefile
2538hw/xquartz/pbproxy/Makefile
2539hw/xquartz/xpr/Makefile
2540hw/kdrive/Makefile
2541hw/kdrive/ephyr/Makefile
2542hw/kdrive/ephyr/man/Makefile
2543hw/kdrive/src/Makefile
2544hw/xwayland/Makefile
2545test/Makefile
2546xserver.ent
2547xorg-server.pc
2548])
2549AC_OUTPUT
2550