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