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