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