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