2316 lines
82 KiB
Plaintext
2316 lines
82 KiB
Plaintext
dnl Copyright © 2003-2007 Keith Packard, Daniel Stone
|
|
dnl
|
|
dnl Permission is hereby granted, free of charge, to any person obtaining a
|
|
dnl copy of this software and associated documentation files (the "Software"),
|
|
dnl to deal in the Software without restriction, including without limitation
|
|
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
dnl and/or sell copies of the Software, and to permit persons to whom the
|
|
dnl Software is furnished to do so, subject to the following conditions:
|
|
dnl
|
|
dnl The above copyright notice and this permission notice (including the next
|
|
dnl paragraph) shall be included in all copies or substantial portions of the
|
|
dnl Software.
|
|
dnl
|
|
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
dnl DEALINGS IN THE SOFTWARE.
|
|
dnl
|
|
dnl Authors: Keith Packard <keithp@keithp.com>
|
|
dnl Daniel Stone <daniel@fooishbar.org>
|
|
dnl an unwitting cast of miscellaneous others
|
|
dnl
|
|
dnl Process this file with autoconf to create configure.
|
|
|
|
AC_PREREQ(2.57)
|
|
AC_INIT([xorg-server], 1.8.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
|
|
RELEASE_DATE="2010-07-01"
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
|
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
|
AM_MAINTAINER_MODE
|
|
|
|
# Require xorg-macros: XORG_DEFAULT_OPTIONS
|
|
m4_ifndef([XORG_MACROS_VERSION],
|
|
[m4_fatal([must install xorg-macros 1.6 or later before running autoconf/autogen])])
|
|
XORG_MACROS_VERSION(1.6)
|
|
XORG_DEFAULT_OPTIONS
|
|
XORG_WITH_DOXYGEN(1.6.1)
|
|
|
|
m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install fontutil 1.1 or later before running autoconf/autogen])])
|
|
XORG_FONT_MACROS_VERSION(1.1)
|
|
|
|
dnl this gets generated by autoheader, and thus contains all the defines. we
|
|
dnl don't ever actually use it, internally.
|
|
AC_CONFIG_HEADERS(include/do-not-use-config.h)
|
|
dnl xorg-server.h is an external header, designed to be included by loadable
|
|
dnl drivers.
|
|
AC_CONFIG_HEADERS(include/xorg-server.h)
|
|
dnl dix-config.h covers most of the DIX (i.e. everything but the DDX, not just
|
|
dnl dix/).
|
|
AC_CONFIG_HEADERS(include/dix-config.h)
|
|
dnl xorg-config.h covers the Xorg DDX.
|
|
AC_CONFIG_HEADERS(include/xorg-config.h)
|
|
dnl xkb-config.h covers XKB for the Xorg and Xnest DDXs.
|
|
AC_CONFIG_HEADERS(include/xkb-config.h)
|
|
dnl xwin-config.h covers the XWin DDX.
|
|
AC_CONFIG_HEADERS(include/xwin-config.h)
|
|
dnl kdrive-config.h covers the kdrive DDX
|
|
AC_CONFIG_HEADERS(include/kdrive-config.h)
|
|
dnl version-config.h covers the version numbers so they can be bumped without
|
|
dnl forcing an entire recompile.x
|
|
AC_CONFIG_HEADERS(include/version-config.h)
|
|
|
|
AC_PROG_CC
|
|
AM_PROG_AS
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_LIBTOOL_WIN32_DLL
|
|
AC_DISABLE_STATIC
|
|
AC_PROG_LIBTOOL
|
|
DOLT
|
|
AC_PROG_MAKE_SET
|
|
PKG_PROG_PKG_CONFIG
|
|
AC_PROG_LEX
|
|
AC_PROG_YACC
|
|
AC_SYS_LARGEFILE
|
|
XORG_PROG_RAWCPP
|
|
AC_PROG_SED
|
|
|
|
# Quoted so that make will expand $(CWARNFLAGS) in makefiles to allow
|
|
# easier overrides at build time.
|
|
XSERVER_CFLAGS='$(CWARNFLAGS)'
|
|
|
|
dnl Check for dtrace program (needed to build Xserver dtrace probes)
|
|
dnl Also checks for <sys/sdt.h>, since some Linux distros have an
|
|
dnl ISDN trace program named dtrace
|
|
AC_ARG_WITH(dtrace, AS_HELP_STRING([--with-dtrace=PATH],
|
|
[Enable dtrace probes (default: enabled if dtrace found)]),
|
|
[WDTRACE=$withval], [WDTRACE=auto])
|
|
if test "x$WDTRACE" = "xyes" -o "x$WDTRACE" = "xauto" ; then
|
|
AC_PATH_PROG(DTRACE, [dtrace], [not_found], [$PATH:/usr/sbin])
|
|
if test "x$DTRACE" = "xnot_found" ; then
|
|
if test "x$WDTRACE" = "xyes" ; then
|
|
AC_MSG_FAILURE([dtrace requested but not found])
|
|
fi
|
|
WDTRACE="no"
|
|
else
|
|
AC_CHECK_HEADER(sys/sdt.h, [HAS_SDT_H="yes"], [HAS_SDT_H="no"])
|
|
if test "x$WDTRACE" = "xauto" -a "x$HAS_SDT_H" = "xno" ; then
|
|
WDTRACE="no"
|
|
fi
|
|
fi
|
|
fi
|
|
if test "x$WDTRACE" != "xno" ; then
|
|
AC_DEFINE(XSERVER_DTRACE, 1,
|
|
[Define to 1 if the DTrace Xserver provider probes should be built in.])
|
|
|
|
# Solaris/OpenSolaris require dtrace -G to build dtrace probe information into
|
|
# object files, and require linking with those as relocatable objects, not .a
|
|
# archives. MacOS X handles all this in the normal compiler toolchain, and on
|
|
# some releases (like Tiger), will error out on dtrace -G. For now, other
|
|
# platforms with Dtrace ports are assumed to support -G (the FreeBSD and Linux
|
|
# ports appear to, based on my web searches, but have not yet been tested).
|
|
case $host_os in
|
|
darwin*) SPECIAL_DTRACE_OBJECTS=no ;;
|
|
*) SPECIAL_DTRACE_OBJECTS=yes ;;
|
|
esac
|
|
fi
|
|
AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
|
|
AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x$SPECIAL_DTRACE_OBJECTS" = "xyes"])
|
|
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h fnmatch.h])
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
|
|
|
|
AC_CHECK_SIZEOF([unsigned long])
|
|
if test "$ac_cv_sizeof_unsigned_long" = 8; then
|
|
AC_DEFINE(_XSERVER64, 1, [Define to 1 if unsigned long is 64 bits.])
|
|
fi
|
|
|
|
AC_TYPE_PID_T
|
|
|
|
# Checks for headers/macros for byte swapping
|
|
# Known variants:
|
|
# <byteswap.h> bswap_16, bswap_32, bswap_64 (glibc)
|
|
# <sys/endian.h> __swap16, __swap32, __swap64 (OpenBSD)
|
|
# <sys/endian.h> bswap16, bswap32, bswap64 (other BSD's)
|
|
# and a fallback to local macros if none of the above are found
|
|
|
|
# if <byteswap.h> is found, assume it's the correct version
|
|
AC_CHECK_HEADERS([byteswap.h])
|
|
|
|
# if <sys/endian.h> is found, have to check which version
|
|
AC_CHECK_HEADER([sys/endian.h], [HAVE_SYS_ENDIAN_H="yes"], [HAVE_SYS_ENDIAN_H="no"])
|
|
|
|
if test "x$HAVE_SYS_ENDIAN_H" = "xyes" ; then
|
|
AC_MSG_CHECKING([for __swap16 variant of <sys/endian.h> byteswapping macros])
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
|
#include <sys/types.h>
|
|
#include <sys/endian.h>
|
|
], [
|
|
int a = 1, b;
|
|
b = __swap16(a);
|
|
])
|
|
], [SYS_ENDIAN__SWAP='yes'], [SYS_ENDIAN__SWAP='no'])
|
|
AC_MSG_RESULT([$SYS_ENDIAN__SWAP])
|
|
|
|
AC_MSG_CHECKING([for bswap16 variant of <sys/endian.h> byteswapping macros])
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
|
#include <sys/types.h>
|
|
#include <sys/endian.h>
|
|
], [
|
|
int a = 1, b;
|
|
b = bswap16(a);
|
|
])
|
|
], [SYS_ENDIAN_BSWAP='yes'], [SYS_ENDIAN_BSWAP='no'])
|
|
AC_MSG_RESULT([$SYS_ENDIAN_BSWAP])
|
|
|
|
if test "$SYS_ENDIAN_BSWAP" = "yes" ; then
|
|
USE_SYS_ENDIAN_H=yes
|
|
BSWAP=bswap
|
|
else
|
|
if test "$SYS_ENDIAN__SWAP" = "yes" ; then
|
|
USE_SYS_ENDIAN_H=yes
|
|
BSWAP=__swap
|
|
else
|
|
USE_SYS_ENDIAN_H=no
|
|
fi
|
|
fi
|
|
|
|
if test "$USE_SYS_ENDIAN_H" = "yes" ; then
|
|
AC_DEFINE([USE_SYS_ENDIAN_H], 1,
|
|
[Define to use byteswap macros from <sys/endian.h>])
|
|
AC_DEFINE_UNQUOTED([bswap_16], ${BSWAP}16,
|
|
[Define to 16-bit byteswap macro])
|
|
AC_DEFINE_UNQUOTED([bswap_32], ${BSWAP}32,
|
|
[Define to 32-bit byteswap macro])
|
|
AC_DEFINE_UNQUOTED([bswap_64], ${BSWAP}64,
|
|
[Define to 64-bit byteswap macro])
|
|
fi
|
|
fi
|
|
|
|
dnl Check to see if dlopen is in default libraries (like Solaris, which
|
|
dnl has it in libc), or if libdl is needed to get it.
|
|
AC_CHECK_FUNC([dlopen], [],
|
|
AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
|
|
AC_SUBST(DLOPEN_LIBS)
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_VPRINTF
|
|
AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr \
|
|
strtol getopt getopt_long vsnprintf walkcontext backtrace \
|
|
getisax getzoneid shmctl64 strcasestr ffs])
|
|
AC_FUNC_ALLOCA
|
|
dnl Old HAS_* names used in os/*.c.
|
|
AC_CHECK_FUNC([getdtablesize],
|
|
AC_DEFINE(HAS_GETDTABLESIZE, 1, [Have the 'getdtablesize' function.]))
|
|
AC_CHECK_FUNC([getifaddrs],
|
|
AC_DEFINE(HAS_GETIFADDRS, 1, [Have the 'getifaddrs' function.]))
|
|
AC_CHECK_FUNC([getpeereid],
|
|
AC_DEFINE(HAS_GETPEEREID, 1, [Have the 'getpeereid' function.]))
|
|
AC_CHECK_FUNC([getpeerucred],
|
|
AC_DEFINE(HAS_GETPEERUCRED, 1, [Have the 'getpeerucred' function.]))
|
|
AC_CHECK_FUNC([strlcat], HAVE_STRLCAT=yes, HAVE_STRLCAT=no)
|
|
AM_CONDITIONAL(NEED_STRLCAT, [test x$HAVE_STRLCAT = xno])
|
|
AC_CHECK_FUNC([strlcpy], AC_DEFINE(HAS_STRLCPY, 1, [Have the 'strlcpy' function]))
|
|
|
|
AM_CONDITIONAL(NEED_VSNPRINTF, [test x$HAVE_VSNPRINTF = xno])
|
|
|
|
dnl Check for mmap support for Xvfb
|
|
AC_CHECK_FUNC([mmap], AC_DEFINE(HAS_MMAP, 1, [Have the 'mmap' function.]))
|
|
|
|
dnl Find the math libary
|
|
AC_CHECK_LIB(m, sqrt)
|
|
AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT, 1, [Have the 'cbrt' function]))
|
|
|
|
AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h])
|
|
|
|
dnl AGPGART headers
|
|
AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h sys/agpgart.h], AGP=yes)
|
|
AM_CONDITIONAL(AGP, [test "x$AGP" = xyes])
|
|
|
|
dnl APM header
|
|
AC_CHECK_HEADERS([linux/apm_bios.h], LNXAPM=yes)
|
|
AM_CONDITIONAL(LNXAPM, [test "x$LNXAPM" = xyes])
|
|
|
|
dnl fbdev header
|
|
AC_CHECK_HEADERS([linux/fb.h], FBDEV=yes)
|
|
AM_CONDITIONAL(FBDEVHW, [test "x$FBDEV" = xyes])
|
|
|
|
dnl MTRR header
|
|
AC_CHECK_HEADERS([asm/mtrr.h], ac_cv_asm_mtrr_h=yes)
|
|
if test "x$ac_cv_asm_mtrr_h" = xyes; then
|
|
HAVE_MTRR=yes
|
|
fi
|
|
|
|
dnl BSD MTRR header
|
|
AC_CHECK_HEADERS([sys/memrange.h], ac_cv_memrange_h=yes)
|
|
if test "x$ac_cv_memrange_h" = xyes; then
|
|
HAVE_MTRR=yes
|
|
fi
|
|
|
|
if test "x$HAVE_MTRR" = xyes; then
|
|
AC_DEFINE(HAS_MTRR_SUPPORT, 1, [MTRR support available])
|
|
fi
|
|
|
|
dnl A NetBSD MTRR header
|
|
AC_CHECK_HEADERS([machine/mtrr.h], ac_cv_machine_mtrr_h=yes)
|
|
if test "x$ac_cv_machine_mtrr_h" = xyes; then
|
|
AC_DEFINE(HAS_MTRR_BUILTIN, 1, [Define to 1 if NetBSD built-in MTRR
|
|
support is available])
|
|
fi
|
|
|
|
dnl FreeBSD kldload support (sys/linker.h)
|
|
AC_CHECK_HEADERS([sys/linker.h],
|
|
[ac_cv_sys_linker_h=yes],
|
|
[ac_cv_sys_linker_h=no],
|
|
[#include <sys/param.h>])
|
|
AM_CONDITIONAL(FREEBSD_KLDLOAD, [test "x$ac_cv_sys_linker_h" = xyes])
|
|
|
|
AC_CACHE_CHECK([for SYSV IPC],
|
|
ac_cv_sysv_ipc,
|
|
[AC_TRY_LINK([
|
|
#include <sys/types.h>
|
|
#include <sys/ipc.h>
|
|
#include <sys/shm.h>
|
|
],[
|
|
{
|
|
int id;
|
|
id = shmget(IPC_PRIVATE, 512, SHM_W | SHM_R);
|
|
if (id < 0) return -1;
|
|
return shmctl(id, IPC_RMID, 0);
|
|
}],
|
|
[ac_cv_sysv_ipc=yes],
|
|
[ac_cv_sysv_ipc=no])])
|
|
if test "x$ac_cv_sysv_ipc" = xyes; then
|
|
AC_DEFINE(HAVE_SYSV_IPC, 1, [Define to 1 if SYSV IPC is available])
|
|
fi
|
|
|
|
dnl OpenBSD /dev/xf86 aperture driver
|
|
if test -c /dev/xf86 ; then
|
|
AC_DEFINE(HAS_APERTURE_DRV, 1, [System has /dev/xf86 aperture driver])
|
|
fi
|
|
|
|
dnl BSD APM support
|
|
AC_CHECK_HEADER([machine/apmvar.h],[
|
|
AC_CHECK_HEADER([sys/event.h],
|
|
ac_cv_BSD_KQUEUE_APM=yes,
|
|
ac_cv_BSD_APM=yes)])
|
|
|
|
AM_CONDITIONAL(BSD_APM, [test "x$ac_cv_BSD_APM" = xyes])
|
|
AM_CONDITIONAL(BSD_KQUEUE_APM, [test "x$ac_cv_BSD_KQUEUE_APM" = xyes])
|
|
|
|
dnl glibc backtrace support check (hw/xfree86/common/xf86Events.c)
|
|
AC_CHECK_HEADER([execinfo.h],[
|
|
AC_CHECK_LIB(c, backtrace, [
|
|
AC_DEFINE(HAVE_BACKTRACE, 1, [Has backtrace support])
|
|
AC_DEFINE(HAVE_EXECINFO_H, 1, [Have execinfo.h])
|
|
])]
|
|
)
|
|
|
|
dnl ARM needs additional compiler flags for proper backtraces if GCC is
|
|
dnl used. Compile a dummy program with the -mapcs-frame option. If it
|
|
dnl succeeds, we know that we are building for ARM with GCC.
|
|
old_CFLAGS="$CFLAGS"
|
|
CFLAGS="-mapcs-frame"
|
|
AC_COMPILE_IFELSE(
|
|
AC_LANG_PROGRAM([[ ]]),
|
|
ARM_BACKTRACE_CFLAGS="$CFLAGS",
|
|
ARM_BACKTRACE_CFLAGS=""
|
|
)
|
|
CFLAGS="$old_CFLAGS"
|
|
AC_SUBST(ARM_BACKTRACE_CFLAGS)
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl Bus options and CPU capabilities. Replaces logic in
|
|
dnl hw/xfree86/os-support/bus/Makefile.am, among others.
|
|
dnl ---------------------------------------------------------------------------
|
|
DEFAULT_INT10="x86emu"
|
|
|
|
dnl Override defaults as needed for specific platforms:
|
|
|
|
case $host_cpu in
|
|
alpha*)
|
|
ALPHA_VIDEO=yes
|
|
case $host_os in
|
|
*freebsd*) SYS_LIBS=-lio ;;
|
|
*netbsd*) AC_DEFINE(USE_ALPHA_PIO, 1, [NetBSD PIO alpha IO]) ;;
|
|
*openbsd*) SYS_LIBS=-lalpha ;;
|
|
esac
|
|
GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee"
|
|
;;
|
|
arm*)
|
|
ARM_VIDEO=yes
|
|
;;
|
|
i*86)
|
|
I386_VIDEO=yes
|
|
case $host_os in
|
|
*freebsd*) AC_DEFINE(USE_DEV_IO) ;;
|
|
*dragonfly*) AC_DEFINE(USE_DEV_IO) ;;
|
|
*netbsd*) AC_DEFINE(USE_I386_IOPL)
|
|
SYS_LIBS=-li386
|
|
;;
|
|
*openbsd*) AC_DEFINE(USE_I386_IOPL)
|
|
SYS_LIBS=-li386
|
|
;;
|
|
esac
|
|
;;
|
|
powerpc*)
|
|
PPC_VIDEO=yes
|
|
case $host_os in
|
|
*freebsd*) DEFAULT_INT10=stub ;;
|
|
esac
|
|
;;
|
|
m68k)
|
|
HP300_VIDEO=yes
|
|
BSD_ARCH_SOURCES="hp300_video.c ioperm_noop.c"
|
|
;;
|
|
mips*)
|
|
SGI_VIDEO=yes
|
|
BSD_ARCH_SOURCES="sgi_video.c ioperm_noop.c"
|
|
;;
|
|
sparc*)
|
|
SPARC64_VIDEO=yes
|
|
BSD_ARCH_SOURCES="sparc64_video.c ioperm_noop.c"
|
|
GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
|
|
;;
|
|
x86_64*|amd64*)
|
|
I386_VIDEO=yes
|
|
case $host_os in
|
|
*freebsd*) AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
|
|
*dragonfly*) AC_DEFINE(USE_DEV_IO, 1, [BSD /dev/io]) ;;
|
|
*netbsd*) AC_DEFINE(USE_I386_IOPL, 1, [BSD i386 iopl])
|
|
SYS_LIBS=-lx86_64
|
|
;;
|
|
*openbsd*) AC_DEFINE(USE_AMD64_IOPL, 1, [BSD AMD64 iopl])
|
|
SYS_LIBS=-lamd64
|
|
;;
|
|
esac
|
|
GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
|
|
;;
|
|
ia64*)
|
|
GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
|
|
;;
|
|
s390*)
|
|
GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
|
|
;;
|
|
esac
|
|
AC_SUBST(GLX_ARCH_DEFINES)
|
|
|
|
dnl BSD *_video.c selection
|
|
AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
|
|
AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
|
|
AM_CONDITIONAL(HP300_VIDEO, [test "x$HP300_VIDEO" = xyes])
|
|
AM_CONDITIONAL(HPPA_VIDEO, [test "x$HPPA_VIDEO" = xyes])
|
|
AM_CONDITIONAL(I386_VIDEO, [test "x$I386_VIDEO" = xyes])
|
|
AM_CONDITIONAL(PPC_VIDEO, [test "x$PPC_VIDEO" = xyes])
|
|
AM_CONDITIONAL(SGI_VIDEO, [test "x$SGI_VIDEO" = xyes])
|
|
AM_CONDITIONAL(SPARC64_VIDEO, [test "x$SPARC64_VIDEO" = xyes])
|
|
|
|
DRI=no
|
|
USE_SIGIO_BY_DEFAULT="yes"
|
|
dnl it would be nice to autodetect these *CONS_SUPPORTs
|
|
case $host_os in
|
|
*freebsd* | *dragonfly*)
|
|
case $host_os in
|
|
kfreebsd*-gnu) ;;
|
|
*) AC_DEFINE(CSRG_BASED, 1, [System is BSD-like]) ;;
|
|
esac
|
|
AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
|
|
AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
|
|
AC_DEFINE(SYSCONS_SUPPORT, 1, [System has syscons console])
|
|
DRI=yes
|
|
;;
|
|
*netbsd*)
|
|
AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
|
|
AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console])
|
|
AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console])
|
|
AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
|
|
DRI=yes
|
|
;;
|
|
*openbsd*)
|
|
AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
|
|
AC_DEFINE(PCVT_SUPPORT, 1, [System has PC console])
|
|
AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console])
|
|
KDRIVE_HW=yes
|
|
;;
|
|
*linux*)
|
|
DRI=yes
|
|
;;
|
|
*solaris*)
|
|
PKG_CHECK_EXISTS(libdrm, DRI=yes, DRI=no)
|
|
# Disable use of SIGIO by default until some system bugs are
|
|
# fixed - see Sun/OpenSolaris bug id 6879897
|
|
USE_SIGIO_BY_DEFAULT="no"
|
|
;;
|
|
darwin*)
|
|
AC_DEFINE(CSRG_BASED, 1, [System is BSD-like])
|
|
;;
|
|
cygwin*)
|
|
CFLAGS="$CFLAGS -DFD_SETSIZE=256"
|
|
;;
|
|
esac
|
|
|
|
dnl augment XORG_RELEASE_VERSION for our snapshot number and to expose the
|
|
dnl major number
|
|
PVMAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1`
|
|
PVS=`echo $PACKAGE_VERSION | cut -d . -f 4 | cut -d - -f 1`
|
|
if test "x$PVS" = "x"; then
|
|
PVS="0"
|
|
fi
|
|
|
|
VENDOR_RELEASE="((($PVMAJOR) * 10000000) + (($PVM) * 100000) + (($PVP) * 1000) + $PVS)"
|
|
VENDOR_MAN_VERSION="Version ${PACKAGE_VERSION}"
|
|
|
|
VENDOR_NAME="The X.Org Foundation"
|
|
VENDOR_NAME_SHORT="X.Org"
|
|
VENDOR_WEB="http://wiki.x.org"
|
|
|
|
m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
|
|
|
|
dnl Build options.
|
|
AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror],
|
|
[Obsolete - use --enable-strict-compilation instead]),
|
|
AC_MSG_ERROR([--enable-werror has been replaced by --enable-strict-compilation]))
|
|
|
|
AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],
|
|
[Enable debugging (default: disabled)]),
|
|
[DEBUGGING=$enableval], [DEBUGGING=no])
|
|
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
|
|
[Enable unit-tests (default: auto)]),
|
|
[UNITTESTS=$enableval], [UNITTESTS=auto])
|
|
AC_ARG_ENABLE(use-sigio-by-default, AS_HELP_STRING([--enable-use-sigio-by-default]
|
|
[Enable SIGIO input handlers by default (default: $USE_SIGIO_BY_DEFAULT)]),
|
|
[USE_SIGIO_BY_DEFAULT=$enableval], [])
|
|
AC_ARG_WITH(int10, AS_HELP_STRING([--with-int10=BACKEND], [int10 backend: vm86, x86emu or stub]),
|
|
[INT10="$withval"],
|
|
[INT10="$DEFAULT_INT10"])
|
|
AC_ARG_WITH(vendor-name, AS_HELP_STRING([--with-vendor-name=VENDOR],
|
|
[Vendor string reported by the server]),
|
|
[ VENDOR_NAME="$withval" ], [])
|
|
AC_ARG_WITH(vendor-name-short, AS_HELP_STRING([--with-vendor-name-short=VENDOR],
|
|
[Short version of vendor string reported by the server]),
|
|
[ VENDOR_NAME_SHORT="$withval" ], [])
|
|
AC_ARG_WITH(vendor-web, AS_HELP_STRING([--with-vendor-web=URL],
|
|
[Vendor web address reported by the server]),
|
|
[ VENDOR_WEB="$withval" ], [])
|
|
AC_ARG_WITH(module-dir, AS_HELP_STRING([--with-module-dir=DIR],
|
|
[Directory where modules are installed (default: $libdir/xorg/modules)]),
|
|
[ moduledir="$withval" ],
|
|
[ moduledir="${libdir}/xorg/modules" ])
|
|
AC_ARG_WITH(log-dir, AS_HELP_STRING([--with-log-dir=DIR],
|
|
[Directory where log files are kept (default: $localstatedir/log)]),
|
|
[ logdir="$withval" ],
|
|
[ logdir="$localstatedir/log" ])
|
|
AC_ARG_WITH(builder-addr, AS_HELP_STRING([--with-builder-addr=ADDRESS],
|
|
[Builder address (default: xorg@lists.freedesktop.org)]),
|
|
[ BUILDERADDR="$withval" ],
|
|
[ BUILDERADDR="xorg@lists.freedesktop.org" ])
|
|
AC_ARG_WITH(os-name, AS_HELP_STRING([--with-os-name=OSNAME], [Name of OS (default: output of "uname -srm")]),
|
|
[ OSNAME="$withval" ],
|
|
[ OSNAME=`uname -srm` ])
|
|
AC_ARG_WITH(os-vendor, AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name of OS vendor]),
|
|
[ OSVENDOR="$withval" ],
|
|
[ OSVENDOR="" ])
|
|
AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
|
|
[ BUILDERSTRING="$withval" ]
|
|
[ ])
|
|
|
|
dnl Determine font path
|
|
XORG_FONTROOTDIR
|
|
XORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
|
|
XORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
|
|
XORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
|
|
XORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
|
|
XORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
|
|
XORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
|
|
|
|
dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
|
|
dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross
|
|
dnl compiling, assume default font path uses standard FONTROOTDIR directories.
|
|
DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
|
|
if test "$cross_compiling" != yes; then
|
|
AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
|
|
[DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
|
|
[case $host_os in
|
|
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
|
|
esac])
|
|
fi
|
|
AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
|
|
[ FONTPATH="$withval" ],
|
|
[ FONTPATH="${DEFAULT_FONT_PATH}" ])
|
|
|
|
AC_MSG_CHECKING([for default font path])
|
|
AC_MSG_RESULT([$FONTPATH])
|
|
|
|
AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
|
|
[ XKBPATH="$withval" ],
|
|
[ XKBPATH="${datadir}/X11/xkb" ])
|
|
AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${datadir}/X11/xkb/compiled)]),
|
|
[ XKBOUTPUT="$withval" ],
|
|
[ XKBOUTPUT="compiled" ])
|
|
AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
|
|
[Keyboard ruleset (default: base/evdev)]),
|
|
[ XKB_DFLT_RULES="$withval" ],
|
|
[ XKB_DFLT_RULES="" ])
|
|
AC_ARG_WITH(default-xkb-model, AS_HELP_STRING([--with-default-xkb-model=MODEL],
|
|
[Keyboard model (default: pc105)]),
|
|
[ XKB_DFLT_MODEL="$withval" ],
|
|
[ XKB_DFLT_MODEL="pc105" ])
|
|
AC_ARG_WITH(default-xkb-layout, AS_HELP_STRING([--with-default-xkb-layout=LAYOUT],
|
|
[Keyboard layout (default: us)]),
|
|
[ XKB_DFLT_LAYOUT="$withval" ],
|
|
[ XKB_DFLT_LAYOUT="us" ])
|
|
AC_ARG_WITH(default-xkb-variant, AS_HELP_STRING([--with-default-xkb-variant=VARIANT],
|
|
[Keyboard variant (default: (none))]),
|
|
[ XKB_DFLT_VARIANT="$withval" ],
|
|
[ XKB_DFLT_VARIANT="" ])
|
|
AC_ARG_WITH(default-xkb-options, AS_HELP_STRING([--with-default-xkb-options=OPTIONS],
|
|
[Keyboard layout options (default: (none))]),
|
|
[ XKB_DFLT_OPTIONS="$withval" ],
|
|
[ XKB_DFLT_OPTIONS="" ])
|
|
AC_ARG_WITH(serverconfig-path, AS_HELP_STRING([--with-serverconfig-path=PATH],
|
|
[Directory where ancillary server config files are installed (default: ${libdir}/xorg)]),
|
|
[ SERVERCONFIG="$withval" ],
|
|
[ SERVERCONFIG="${libdir}/xorg" ])
|
|
AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: /Applications/Utilities)]),
|
|
[ APPLE_APPLICATIONS_DIR="${withval}" ],
|
|
[ APPLE_APPLICATIONS_DIR="/Applications/Utilities" ])
|
|
AC_SUBST([APPLE_APPLICATIONS_DIR])
|
|
AC_ARG_WITH(apple-application-name,AS_HELP_STRING([--with-apple-application-name=NAME], [Name for the .app (default: X11)]),
|
|
[ APPLE_APPLICATION_NAME="${withval}" ],
|
|
[ APPLE_APPLICATION_NAME="X11" ])
|
|
AC_SUBST([APPLE_APPLICATION_NAME])
|
|
AC_ARG_WITH(launchd-id-prefix, AS_HELP_STRING([--with-launchd-id-prefix=PATH], [Prefix to use for launchd identifiers (default: org.x)]),
|
|
[ LAUNCHD_ID_PREFIX="${withval}" ],
|
|
[ LAUNCHD_ID_PREFIX="org.x" ])
|
|
AC_SUBST([LAUNCHD_ID_PREFIX])
|
|
AC_DEFINE_UNQUOTED(LAUNCHD_ID_PREFIX, "$LAUNCHD_ID_PREFIX", [Prefix to use for launchd identifiers])
|
|
AC_ARG_ENABLE(sparkle,AS_HELP_STRING([--enable-sparkle], [Enable updating of X11.app using the Sparkle Framework (default: disabled)]),
|
|
[ XQUARTZ_SPARKLE="${enableval}" ],
|
|
[ XQUARTZ_SPARKLE="no" ])
|
|
AC_SUBST([XQUARTZ_SPARKLE])
|
|
AC_ARG_ENABLE(builddocs, AS_HELP_STRING([--enable-builddocs], [Build docs (default: disabled)]),
|
|
[BUILDDOCS=$enableval],
|
|
[BUILDDOCS=no])
|
|
AC_ARG_ENABLE(install-libxf86config,
|
|
AS_HELP_STRING([--enable-install-libxf86config],
|
|
[Install libxf86config (default: disabled)]),
|
|
[INSTALL_LIBXF86CONFIG=$enableval],
|
|
[INSTALL_LIBXF86CONFIG=no])
|
|
AC_ARG_ENABLE(visibility, AC_HELP_STRING([--enable-visibility], [Enable symbol visibility (default: auto)]),
|
|
[SYMBOL_VISIBILITY=$enableval],
|
|
[SYMBOL_VISIBILITY=auto])
|
|
AC_ARG_ENABLE(pc98, AC_HELP_STRING([--enable-pc98], [Enable PC98 support in Xorg (default: auto)]),
|
|
[SUPPORT_PC98=$enableval],
|
|
[SUPPORT_PC98=auto])
|
|
|
|
dnl GLX build options
|
|
AC_ARG_WITH(dri-driver-path, AS_HELP_STRING([--with-dri-driver-path=PATH], [Path to DRI drivers (default: ${libdir}/dri)]),
|
|
[ DRI_DRIVER_PATH="$withval" ],
|
|
[ DRI_DRIVER_PATH="${libdir}/dri" ])
|
|
AC_ARG_ENABLE(aiglx, AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]),
|
|
[AIGLX=$enableval],
|
|
[AIGLX=yes])
|
|
AC_ARG_ENABLE(glx-tls, AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: disabled)]),
|
|
[GLX_USE_TLS=$enableval],
|
|
[GLX_USE_TLS=no])
|
|
|
|
dnl Privsep
|
|
AC_ARG_ENABLE(privsep,
|
|
AC_HELP_STRING([--enable-privsep],
|
|
[Build support for X server privilege separation (default is NO)]),
|
|
[ENABLE_PRIVSEP="$enableval"], [ENABLE_PRIVSEP="no"])
|
|
if test x$ENABLE_PRIVSEP = xyes ; then
|
|
AC_DEFINE(X_PRIVSEP, 1, [Use X server privilege separation])
|
|
fi
|
|
AM_CONDITIONAL(X_PRIVSEP, [test x$ENABLE_PRIVSEP = xyes])
|
|
|
|
dnl Extensions.
|
|
AC_ARG_ENABLE(registry, AS_HELP_STRING([--disable-registry], [Build string registry module (default: enabled)]), [XREGISTRY=$enableval], [XREGISTRY=yes])
|
|
AC_ARG_ENABLE(composite, AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
|
|
AC_ARG_ENABLE(mitshm, AS_HELP_STRING([--disable-shm], [Build SHM extension (default: enabled)]), [MITSHM=$enableval], [MITSHM=yes])
|
|
AC_ARG_ENABLE(xres, AS_HELP_STRING([--disable-xres], [Build XRes extension (default: enabled)]), [RES=$enableval], [RES=yes])
|
|
AC_ARG_ENABLE(record, AS_HELP_STRING([--disable-record], [Build Record extension (default: enabled)]), [RECORD=$enableval], [RECORD=yes])
|
|
AC_ARG_ENABLE(xv, AS_HELP_STRING([--disable-xv], [Build Xv extension (default: enabled)]), [XV=$enableval], [XV=yes])
|
|
AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc], [Build XvMC extension (default: enabled)]), [XVMC=$enableval], [XVMC=yes])
|
|
AC_ARG_ENABLE(dga, AS_HELP_STRING([--disable-dga], [Build DGA extension (default: auto)]), [DGA=$enableval], [DGA=auto])
|
|
AC_ARG_ENABLE(screensaver, AS_HELP_STRING([--disable-screensaver], [Build ScreenSaver extension (default: enabled)]), [SCREENSAVER=$enableval], [SCREENSAVER=yes])
|
|
AC_ARG_ENABLE(xdmcp, AS_HELP_STRING([--disable-xdmcp], [Build XDMCP extension (default: auto)]), [XDMCP=$enableval], [XDMCP=auto])
|
|
AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
|
|
AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
|
|
AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
|
|
AC_ARG_ENABLE(dri2, AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: auto)]), [DRI2=$enableval], [DRI2=auto])
|
|
AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
|
|
AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
|
|
AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
|
|
AC_ARG_ENABLE(xselinux, AS_HELP_STRING([--enable-xselinux], [Build SELinux extension (default: disabled)]), [XSELINUX=$enableval], [XSELINUX=no])
|
|
AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--enable-xcsecurity], [Build Security extension (default: disabled)]), [XCSECURITY=$enableval], [XCSECURITY=no])
|
|
AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
|
|
AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
|
|
AC_ARG_ENABLE(multibuffer, AS_HELP_STRING([--enable-multibuffer], [Build Multibuffer extension (default: disabled)]), [MULTIBUFFER=$enableval], [MULTIBUFFER=no])
|
|
AC_ARG_ENABLE(dbe, AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes])
|
|
AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--enable-xf86bigfont], [Build XF86 Big Font extension (default: disabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=no])
|
|
AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
|
|
AC_ARG_ENABLE(config-udev, AS_HELP_STRING([--enable-config-udev], [Build udev support (default: auto)]), [CONFIG_UDEV=$enableval], [CONFIG_UDEV=auto])
|
|
AC_ARG_ENABLE(config-dbus, AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no])
|
|
AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto])
|
|
AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
|
|
AC_ARG_ENABLE(xaa, AS_HELP_STRING([--enable-xaa], [Build XAA (default: enabled)]), [XAA=$enableval], [XAA=yes])
|
|
AC_ARG_ENABLE(vgahw, AS_HELP_STRING([--enable-vgahw], [Build Xorg with vga access (default: enabled)]), [VGAHW=$enableval], [VGAHW=yes])
|
|
AC_ARG_ENABLE(vbe, AS_HELP_STRING([--enable-vbe], [Build Xorg with VBE module (default: enabled)]), [VBE=$enableval], [VBE=yes])
|
|
AC_ARG_ENABLE(int10-module, AS_HELP_STRING([--enable-int10-module], [Build Xorg with int10 module (default: enabled)]), [INT10MODULE=$enableval], [INT10MODULE=yes])
|
|
AC_ARG_ENABLE(windowswm, AS_HELP_STRING([--enable-windowswm], [Build XWin with WindowsWM extension (default: no)]), [WINDOWSWM=$enableval], [WINDOWSWM=no])
|
|
|
|
dnl DDXes.
|
|
AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
|
|
AC_ARG_ENABLE(dmx, AS_HELP_STRING([--enable-dmx], [Build DMX server (default: auto)]), [DMX=$enableval], [DMX=auto])
|
|
AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb], [Build Xvfb server (default: yes)]), [XVFB=$enableval], [XVFB=yes])
|
|
AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest], [Build Xnest server (default: auto)]), [XNEST=$enableval], [XNEST=auto])
|
|
AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
|
|
AC_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])
|
|
AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
|
|
dnl kdrive and its subsystems
|
|
AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
|
|
AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
|
|
AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto])
|
|
AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto])
|
|
dnl kdrive options
|
|
AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd driver for kdrive (default: auto)]), [KDRIVE_KBD=$enableval], [KDRIVE_KBD=auto])
|
|
AC_ARG_ENABLE(kdrive-mouse, AC_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto])
|
|
AC_ARG_ENABLE(kdrive-evdev, AC_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
|
|
|
|
|
|
dnl chown/chmod to be setuid root as part of build
|
|
dnl Replaces InstallXserverSetUID in imake
|
|
AC_ARG_ENABLE(install-setuid,
|
|
AS_HELP_STRING([--enable-install-setuid],
|
|
[Install Xorg server as owned by root with setuid bit (default: auto)]),
|
|
[SETUID=$enableval], [SETUID=auto])
|
|
AC_MSG_CHECKING([to see if we can install the Xorg server as root])
|
|
if test "x$SETUID" = "xauto" ; then
|
|
case $host_os in
|
|
cygwin*) SETUID="no" ;;
|
|
darwin*) SETUID="no" ;;
|
|
*)
|
|
case $host_cpu in
|
|
sparc) SETUID="no" ;;
|
|
*) SETUID="yes" ;;
|
|
esac
|
|
esac
|
|
if test "x$SETUID" = xyes; then
|
|
touch testfile
|
|
chown root testfile > /dev/null 2>&1 || SETUID="no"
|
|
rm -f testfile
|
|
fi
|
|
fi
|
|
AC_MSG_RESULT([$SETUID])
|
|
AM_CONDITIONAL(INSTALL_SETUID, [test "x$SETUID" = "xyes"])
|
|
|
|
dnl Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro
|
|
dnl was not expanded, since xorg-server with no transport types is rather useless.
|
|
dnl
|
|
dnl If you're seeing an error here, be sure you installed the lib/xtrans module
|
|
dnl first and if it's not in the default location, that you set the ACLOCAL
|
|
dnl environment variable to find it, such as:
|
|
dnl ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
|
|
m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$])
|
|
|
|
# Transport selection macro from xtrans.m4
|
|
XTRANS_CONNECTION_FLAGS
|
|
|
|
# Secure RPC detection macro from xtrans.m4
|
|
XTRANS_SECURE_RPC_FLAGS
|
|
AM_CONDITIONAL(SECURE_RPC, [test "x$SECURE_RPC" = xyes])
|
|
|
|
AM_CONDITIONAL(INT10_VM86, [test "x$INT10" = xvm86])
|
|
AM_CONDITIONAL(INT10_X86EMU, [test "x$INT10" = xx86emu])
|
|
AM_CONDITIONAL(INT10_STUB, [test "x$INT10" = xstub])
|
|
if test "x$INT10" = xyes; then
|
|
dnl VM86 headers
|
|
AC_CHECK_HEADERS([sys/vm86.h sys/io.h])
|
|
fi
|
|
|
|
dnl Handle building documentation
|
|
AM_CONDITIONAL(BUILDDOCS, test "x$BUILDDOCS" = xyes)
|
|
|
|
dnl Only build sgml docs when linuxdoc is available and
|
|
dnl def.ents has been installed
|
|
XORG_CHECK_LINUXDOC
|
|
|
|
dnl Handle installing libxf86config
|
|
AM_CONDITIONAL(INSTALL_LIBXF86CONFIG, [test "x$INSTALL_LIBXF86CONFIG" = xyes])
|
|
|
|
dnl DDX Detection... Yes, it's ugly to have it here... but we need to
|
|
dnl handle this early on so that we don't require unsupported extensions
|
|
case $host_os in
|
|
cygwin*)
|
|
DGA=no
|
|
DRI2=no
|
|
XF86VIDMODE=no
|
|
XSELINUX=no
|
|
XV=no
|
|
;;
|
|
darwin*)
|
|
DRI2=no
|
|
|
|
if test x$XQUARTZ = xauto; then
|
|
AC_CACHE_CHECK([whether to build Xquartz],xorg_cv_Carbon_framework,[
|
|
save_LDFLAGS=$LDFLAGS
|
|
LDFLAGS="$LDFLAGS -framework Carbon"
|
|
AC_LINK_IFELSE([char FSFindFolder(); int main() { FSFindFolder(); return 0;}],
|
|
[xorg_cv_Carbon_framework=yes],
|
|
[xorg_cv_Carbon_framework=no])
|
|
LDFLAGS=$save_LDFLAGS])
|
|
|
|
if test "X$xorg_cv_Carbon_framework" = Xyes; then
|
|
XQUARTZ=yes
|
|
else
|
|
XQUARTZ=no
|
|
fi
|
|
fi
|
|
|
|
if test "x$XQUARTZ" = xyes ; then
|
|
XQUARTZ=yes
|
|
XVFB=no
|
|
XNEST=no
|
|
|
|
COMPOSITE=no
|
|
DGA=no
|
|
DPMSExtension=no
|
|
XF86VIDMODE=no
|
|
fi
|
|
;;
|
|
*) XQUARTZ=no ;;
|
|
esac
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl Extension section
|
|
dnl ---------------------------------------------------------------------------
|
|
XEXT_INC='-I$(top_srcdir)/Xext'
|
|
XEXT_LIB='$(top_builddir)/Xext/libXext.la'
|
|
XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
|
|
|
|
dnl Optional modules
|
|
VIDEOPROTO="videoproto"
|
|
COMPOSITEPROTO="compositeproto >= 0.4"
|
|
RECORDPROTO="recordproto >= 1.13.99.1"
|
|
SCRNSAVERPROTO="scrnsaverproto >= 1.1"
|
|
RESOURCEPROTO="resourceproto"
|
|
DRIPROTO="xf86driproto >= 2.1.0"
|
|
DRI2PROTO="dri2proto >= 2.2"
|
|
XINERAMAPROTO="xineramaproto"
|
|
BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
|
|
XCALIBRATEPROTO="xcalibrateproto"
|
|
DGAPROTO="xf86dgaproto >= 2.0.99.1"
|
|
GLPROTO="glproto >= 1.4.10"
|
|
DMXPROTO="dmxproto >= 2.2.99.1"
|
|
VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
|
|
WINDOWSWMPROTO="windowswmproto"
|
|
APPLEWMPROTO="applewmproto >= 1.4"
|
|
|
|
dnl Core modules for most extensions, et al.
|
|
REQUIRED_MODULES="[randrproto >= 1.2.99.3] [renderproto >= 0.11] [fixesproto >= 4.1] [damageproto >= 1.1] [xcmiscproto >= 1.2.0] [xextproto >= 7.0.99.3] [xproto >= 7.0.13] [xtrans >= 1.2.2] [bigreqsproto >= 1.1.0] fontsproto [inputproto >= 1.9.99.902] [kbproto >= 1.0.3]"
|
|
REQUIRED_LIBS="xfont xau [pixman-1 >= 0.15.20]"
|
|
|
|
dnl List of libraries that require a specific version
|
|
LIBAPPLEWM="applewm >= 1.4"
|
|
LIBDMX="dmx >= 1.0.99.1"
|
|
LIBDRI="dri >= 7.8.0"
|
|
LIBDRM="libdrm >= 2.3.0"
|
|
LIBGL="gl >= 7.1.0"
|
|
LIBXEXT="xext >= 1.0.99.4"
|
|
LIBXI="xi >= 1.2.99.1"
|
|
LIBXTST="xtst >= 1.0.99.2"
|
|
LIBPCIACCESS="pciaccess >= 0.8.0"
|
|
LIBGLIB="glib-2.0 >= 2.16"
|
|
LIBUDEV="libudev >= 143"
|
|
LIBSELINUX="libselinux >= 2.0.86"
|
|
|
|
if test "x$CONFIG_UDEV" = xyes &&
|
|
{ test "x$CONFIG_DBUS_API" = xyes || test "x$CONFIG_HAL" = xyes; }; then
|
|
AC_MSG_ERROR([Hotplugging through both libudev and dbus/hal not allowed])
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
|
|
if test "x$CONFIG_UDEV" = xauto; then
|
|
CONFIG_UDEV="$HAVE_LIBUDEV"
|
|
fi
|
|
AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes])
|
|
if test "x$CONFIG_UDEV" = xyes; then
|
|
CONFIG_DBUS_API=no
|
|
CONFIG_HAL=no
|
|
if ! test "x$HAVE_LIBUDEV" = xyes; then
|
|
AC_MSG_ERROR([udev configuration API requested, but libudev is not installed])
|
|
fi
|
|
AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug])
|
|
fi
|
|
|
|
dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas
|
|
dnl CONFIG_DBUS_API is true if we want to enable the D-Bus config
|
|
dnl API.
|
|
PKG_CHECK_MODULES(DBUS, dbus-1, [HAVE_DBUS=yes], [HAVE_DBUS=no])
|
|
if test "x$HAVE_DBUS" = xyes; then
|
|
AC_DEFINE(HAVE_DBUS, 1, [Have D-Bus support])
|
|
fi
|
|
AM_CONDITIONAL(HAVE_DBUS, [test "x$HAVE_DBUS" = xyes])
|
|
|
|
if test "x$CONFIG_DBUS_API" = xauto; then
|
|
CONFIG_DBUS_API="$HAVE_DBUS"
|
|
fi
|
|
if test "x$CONFIG_DBUS_API" = xyes; then
|
|
if ! test "x$HAVE_DBUS" = xyes; then
|
|
AC_MSG_ERROR([D-Bus configuration API requested, but D-Bus is not installed.])
|
|
fi
|
|
|
|
AC_DEFINE(CONFIG_DBUS_API, 1, [Use the D-Bus input configuration API])
|
|
CONFIG_NEED_DBUS="yes"
|
|
fi
|
|
AM_CONDITIONAL(CONFIG_DBUS_API, [test "x$CONFIG_DBUS_API" = xyes])
|
|
|
|
PKG_CHECK_MODULES(HAL, hal, [HAVE_HAL=yes], [HAVE_HAL=no])
|
|
if test "x$CONFIG_HAL" = xauto; then
|
|
CONFIG_HAL="$HAVE_HAL"
|
|
fi
|
|
if test "x$CONFIG_HAL" = xyes; then
|
|
if ! test "x$HAVE_HAL" = xyes; then
|
|
AC_MSG_ERROR([HAL hotplug API requested, but HAL is not installed.])
|
|
fi
|
|
|
|
AC_DEFINE(CONFIG_HAL, 1, [Use the HAL hotplug API])
|
|
CONFIG_NEED_DBUS="yes"
|
|
fi
|
|
AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes])
|
|
|
|
if test "x$CONFIG_NEED_DBUS" = xyes; then
|
|
AC_DEFINE(CONFIG_NEED_DBUS, 1, [Use D-Bus for input hotplug])
|
|
fi
|
|
AM_CONDITIONAL(CONFIG_NEED_DBUS, [test "x$CONFIG_NEED_DBUS" = xyes])
|
|
CONFIG_LIB='$(top_builddir)/config/libconfig.la'
|
|
|
|
if test "x$USE_SIGIO_BY_DEFAULT" = xyes; then
|
|
USE_SIGIO_BY_DEFAULT_VALUE=TRUE
|
|
else
|
|
USE_SIGIO_BY_DEFAULT_VALUE=FALSE
|
|
fi
|
|
AC_DEFINE_UNQUOTED([USE_SIGIO_BY_DEFAULT], [$USE_SIGIO_BY_DEFAULT_VALUE],
|
|
[Use SIGIO handlers for input device events by default])
|
|
|
|
AC_MSG_CHECKING([for glibc...])
|
|
AC_PREPROC_IFELSE([
|
|
#include <features.h>
|
|
#ifndef __GLIBC__
|
|
#error
|
|
#endif
|
|
], glibc=yes, glibc=no)
|
|
AC_MSG_RESULT([$glibc])
|
|
|
|
AC_CHECK_FUNCS([clock_gettime], [have_clock_gettime=yes],
|
|
[AC_CHECK_LIB([rt], [clock_gettime], [have_clock_gettime=-lrt],
|
|
[have_clock_gettime=no])])
|
|
|
|
AC_MSG_CHECKING([for a useful monotonic clock ...])
|
|
|
|
if ! test "x$have_clock_gettime" = xno; then
|
|
if ! test "x$have_clock_gettime" = xyes; then
|
|
CLOCK_LIBS="$have_clock_gettime"
|
|
else
|
|
CLOCK_LIBS=""
|
|
fi
|
|
|
|
LIBS_SAVE="$LIBS"
|
|
LIBS="$CLOCK_LIBS"
|
|
CPPFLAGS_SAVE="$CPPFLAGS"
|
|
|
|
if test x"$glibc" = xyes; then
|
|
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
|
|
fi
|
|
|
|
AC_RUN_IFELSE([
|
|
#include <time.h>
|
|
|
|
int main(int argc, char *argv[[]]) {
|
|
struct timespec tp;
|
|
|
|
if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
|
|
return 0;
|
|
else
|
|
return 1;
|
|
}
|
|
], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
|
|
[MONOTONIC_CLOCK="cross compiling"])
|
|
|
|
LIBS="$LIBS_SAVE"
|
|
CPPFLAGS="$CPPFLAGS_SAVE"
|
|
else
|
|
MONOTONIC_CLOCK=no
|
|
fi
|
|
|
|
AC_MSG_RESULT([$MONOTONIC_CLOCK])
|
|
|
|
if test "x$MONOTONIC_CLOCK" = xyes; then
|
|
AC_DEFINE(MONOTONIC_CLOCK, 1, [Have monotonic clock from clock_gettime()])
|
|
LIBS="$LIBS $CLOCK_LIBS"
|
|
fi
|
|
|
|
AM_CONDITIONAL(XV, [test "x$XV" = xyes])
|
|
if test "x$XV" = xyes; then
|
|
AC_DEFINE(XV, 1, [Support Xv extension])
|
|
AC_DEFINE(XvExtension, 1, [Build Xv extension])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $VIDEOPROTO"
|
|
else
|
|
XVMC=no
|
|
fi
|
|
|
|
AM_CONDITIONAL(XVMC, [test "x$XVMC" = xyes])
|
|
if test "x$XVMC" = xyes; then
|
|
AC_DEFINE(XvMCExtension, 1, [Build XvMC extension])
|
|
fi
|
|
|
|
AM_CONDITIONAL(XREGISTRY, [test "x$XREGISTRY" = xyes])
|
|
if test "x$XREGISTRY" = xyes; then
|
|
AC_DEFINE(XREGISTRY, 1, [Build registry module])
|
|
fi
|
|
|
|
AM_CONDITIONAL(COMPOSITE, [test "x$COMPOSITE" = xyes])
|
|
if test "x$COMPOSITE" = xyes; then
|
|
AC_DEFINE(COMPOSITE, 1, [Support Composite Extension])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $COMPOSITEPROTO"
|
|
COMPOSITE_LIB='$(top_builddir)/composite/libcomposite.la'
|
|
COMPOSITE_INC='-I$(top_srcdir)/composite'
|
|
fi
|
|
|
|
AM_CONDITIONAL(MITSHM, [test "x$MITSHM" = xyes])
|
|
if test "x$MITSHM" = xyes; then
|
|
AC_DEFINE(MITSHM, 1, [Support MIT-SHM extension])
|
|
AC_DEFINE(HAS_SHM, 1, [Support SHM])
|
|
fi
|
|
|
|
AM_CONDITIONAL(RECORD, [test "x$RECORD" = xyes])
|
|
if test "x$RECORD" = xyes; then
|
|
AC_DEFINE(XRECORD, 1, [Support Record extension])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $RECORDPROTO"
|
|
RECORD_LIB='$(top_builddir)/record/librecord.la'
|
|
fi
|
|
|
|
AM_CONDITIONAL(SCREENSAVER, [test "x$SCREENSAVER" = xyes])
|
|
if test "x$SCREENSAVER" = xyes; then
|
|
AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO"
|
|
fi
|
|
|
|
AM_CONDITIONAL(RES, [test "x$RES" = xyes])
|
|
if test "x$RES" = xyes; then
|
|
AC_DEFINE(RES, 1, [Support X resource extension])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO"
|
|
fi
|
|
|
|
if test "x$GLX" = xyes; then
|
|
PKG_CHECK_MODULES([XLIB], [x11])
|
|
PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL)
|
|
AC_SUBST(XLIB_CFLAGS)
|
|
AC_DEFINE(GLXEXT, 1, [Build GLX extension])
|
|
GLX_LIBS='$(top_builddir)/glx/libglx.la'
|
|
GLX_SYS_LIBS="$GLX_SYS_LIBS"
|
|
else
|
|
GLX=no
|
|
fi
|
|
AM_CONDITIONAL(GLX, test "x$GLX" = xyes)
|
|
|
|
if test "x$AIGLX" = xyes -a "x$GLX" = xyes -a "x$DRI" = xyes; then
|
|
AC_DEFINE(AIGLX, 1, [Build AIGLX loader])
|
|
else
|
|
AIGLX=no
|
|
fi
|
|
AM_CONDITIONAL(AIGLX, test "x$AIGLX" = xyes)
|
|
|
|
if test "x$GLX_USE_TLS" = xyes -a "x$AIGLX" = xyes; then
|
|
GLX_DEFINES="-DGLX_USE_TLS -DPTHREADS"
|
|
GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread"
|
|
fi
|
|
AC_SUBST([GLX_DEFINES])
|
|
|
|
AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
|
|
if test "x$DRI" = xyes; then
|
|
AC_DEFINE(XF86DRI, 1, [Build DRI extension])
|
|
PKG_CHECK_MODULES([DRIPROTO], [$DRIPROTO])
|
|
PKG_CHECK_MODULES([DRI], $GLPROTO $LIBDRI)
|
|
AC_SUBST(DRIPROTO_CFLAGS)
|
|
fi
|
|
|
|
PKG_CHECK_MODULES([DRI2PROTO], $DRI2PROTO,
|
|
[HAVE_DRI2PROTO=yes], [HAVE_DRI2PROTO=no])
|
|
case "$DRI2,$HAVE_DRI2PROTO" in
|
|
yes,no)
|
|
AC_MSG_ERROR([DRI2 requested, but dri2proto not found.])
|
|
;;
|
|
yes,yes | auto,yes)
|
|
AC_DEFINE(DRI2, 1, [Build DRI2 extension])
|
|
DRI2=yes
|
|
;;
|
|
esac
|
|
AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
|
|
|
|
if test "x$DRI" = xyes || test "x$DRI2" = xyes; then
|
|
PKG_CHECK_MODULES([LIBDRM], $LIBDRM)
|
|
AC_SUBST(LIBDRM_CFLAGS)
|
|
AC_SUBST(LIBDRM_LIBS)
|
|
fi
|
|
|
|
if test "x$DRI2" = xyes; then
|
|
save_CFLAGS=$CFLAGS
|
|
CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS"
|
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <GL/gl.h>
|
|
#include <GL/internal/dri_interface.h>
|
|
#ifndef __DRI_DRI2
|
|
#error DRI2 extension not available.
|
|
#endif]])],
|
|
[HAVE_DRI2EXTENSION=yes],
|
|
[HAVE_DRI2EXTENSION=no])
|
|
CFLAGS=$save_CFLAGS
|
|
if test "x$HAVE_DRI2EXTENSION" = xyes; then
|
|
AC_DEFINE(DRI2_AIGLX, 1, [Build DRI2 AIGLX loader])
|
|
DRI2_AIGLX=yes
|
|
else
|
|
AC_MSG_NOTICE([DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h.])
|
|
DRI2_AIGLX=no
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(DRI2_AIGLX, test "x$DRI2_AIGLX" = xyes)
|
|
|
|
|
|
AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
|
|
if test "x$XINERAMA" = xyes; then
|
|
AC_DEFINE(XINERAMA, 1, [Support Xinerama extension])
|
|
AC_DEFINE(PANORAMIX, 1, [Internal define for Xinerama])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $XINERAMAPROTO"
|
|
fi
|
|
|
|
AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
|
|
if test "x$XACE" = xyes; then
|
|
AC_DEFINE(XACE, 1, [Build X-ACE extension])
|
|
fi
|
|
|
|
AM_CONDITIONAL(XSELINUX, [test "x$XSELINUX" = xyes])
|
|
if test "x$XSELINUX" = xyes; then
|
|
if test "x$XACE" != xyes; then
|
|
AC_MSG_ERROR([cannot build SELinux extension without X-ACE])
|
|
fi
|
|
AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers]))
|
|
AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library]))
|
|
PKG_CHECK_MODULES([SELINUX], $LIBSELINUX)
|
|
SELINUX_LIBS="$SELINUX_LIBS -laudit"
|
|
AC_DEFINE(XSELINUX, 1, [Build SELinux extension])
|
|
fi
|
|
|
|
AM_CONDITIONAL(XCSECURITY, [test "x$XCSECURITY" = xyes])
|
|
if test "x$XCSECURITY" = xyes; then
|
|
if test "x$XACE" != xyes; then
|
|
AC_MSG_ERROR([cannot build Security extension without X-ACE])
|
|
fi
|
|
AC_DEFINE(XCSECURITY, 1, [Build Security extension])
|
|
fi
|
|
|
|
AM_CONDITIONAL(MULTIBUFFER, [test "x$MULTIBUFFER" = xyes])
|
|
if test "x$MULTIBUFFER" = xyes; then
|
|
AC_DEFINE(MULTIBUFFER, 1, [Build Multibuffer extension])
|
|
# Requires xextproto which is always required
|
|
fi
|
|
|
|
AM_CONDITIONAL(DBE, [test "x$DBE" = xyes])
|
|
if test "x$DBE" = xyes; then
|
|
AC_DEFINE(DBE, 1, [Support DBE extension])
|
|
DBE_LIB='$(top_builddir)/dbe/libdbe.la'
|
|
fi
|
|
|
|
AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes])
|
|
if test "x$XF86BIGFONT" = xyes; then
|
|
AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO"
|
|
fi
|
|
|
|
AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
|
|
if test "x$DPMSExtension" = xyes; then
|
|
AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
|
|
fi
|
|
|
|
if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
|
|
AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
|
|
REQUIRED_MODULES="$REQUIRED_MODULES $XCALIBRATEPROTO"
|
|
else
|
|
XCALIBRATE=no
|
|
fi
|
|
AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes])
|
|
|
|
AC_DEFINE(RENDER, 1, [Support RENDER extension])
|
|
RENDER_LIB='$(top_builddir)/render/librender.la'
|
|
RENDER_INC='-I$(top_srcdir)/render'
|
|
|
|
AC_DEFINE(RANDR, 1, [Support RANDR extension])
|
|
RANDR_LIB='$(top_builddir)/randr/librandr.la'
|
|
RANDR_INC='-I$(top_srcdir)/randr'
|
|
|
|
AC_DEFINE(XFIXES,1,[Support XFixes extension])
|
|
FIXES_LIB='$(top_builddir)/xfixes/libxfixes.la'
|
|
FIXES_INC='-I$(top_srcdir)/xfixes'
|
|
|
|
AC_DEFINE(DAMAGE,1,[Support Damage extension])
|
|
DAMAGE_LIB='$(top_builddir)/damageext/libdamageext.la'
|
|
DAMAGE_INC='-I$(top_srcdir)/damageext'
|
|
MIEXT_DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
|
|
MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
|
|
|
|
# XINPUT extension is integral part of the server
|
|
AC_DEFINE(XINPUT, 1, [Support X Input extension])
|
|
XI_LIB='$(top_builddir)/Xi/libXi.la'
|
|
XI_INC='-I$(top_srcdir)/Xi'
|
|
|
|
AM_CONDITIONAL(XF86UTILS, test "x$XF86UTILS" = xyes)
|
|
AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
|
|
AM_CONDITIONAL(VGAHW, test "x$VGAHW" = xyes)
|
|
AM_CONDITIONAL(VBE, test "x$VBE" = xyes)
|
|
AM_CONDITIONAL(INT10MODULE, test "x$INT10MODULE" = xyes)
|
|
|
|
AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
|
|
|
|
AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
|
|
AC_ARG_WITH(xkb-bin-directory,
|
|
AS_HELP_STRING([--with-xkb-bin-directory=DIR], [Directory containing xkbcomp program]),
|
|
[XKB_BIN_DIRECTORY="$withval"],
|
|
[XKB_BIN_DIRECTORY="$bindir"])
|
|
|
|
AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir])
|
|
|
|
dnl Make sure XKM_OUTPUT_DIR is an absolute path
|
|
XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
|
|
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
|
|
XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT"
|
|
fi
|
|
|
|
dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
|
|
dnl XKB_COMPILED_DIR (used in Makefiles) must not or install-sh gets confused
|
|
|
|
XKBOUTPUT=`echo $XKBOUTPUT/ | $SED 's|/*$|/|'`
|
|
XKB_COMPILED_DIR=`echo $XKBOUTPUT | $SED 's|/*$||'`
|
|
AC_DEFINE_DIR(XKM_OUTPUT_DIR, XKBOUTPUT, [Path to XKB output dir])
|
|
AC_SUBST(XKB_COMPILED_DIR)
|
|
|
|
if test "x$XKB_DFLT_RULES" = x; then
|
|
case $host_os in
|
|
linux*)
|
|
dnl doesn't take AutoAddDevices into account, but whatever.
|
|
if test "x$CONFIG_HAL" = xyes; then
|
|
XKB_DFLT_RULES="evdev"
|
|
else
|
|
XKB_DFLT_RULES="base"
|
|
fi
|
|
;;
|
|
openbsd*)
|
|
dnl still using xkbdata for now
|
|
XKB_DFLT_RULES="xorg"
|
|
;;
|
|
*)
|
|
XKB_DFLT_RULES="base"
|
|
;;
|
|
esac
|
|
fi
|
|
AC_DEFINE_UNQUOTED(XKB_DFLT_RULES, ["$XKB_DFLT_RULES"], [Default XKB ruleset])
|
|
AC_DEFINE_UNQUOTED(XKB_DFLT_MODEL, ["$XKB_DFLT_MODEL"], [Default XKB model])
|
|
AC_DEFINE_UNQUOTED(XKB_DFLT_LAYOUT, ["$XKB_DFLT_LAYOUT"], [Default XKB layout])
|
|
AC_DEFINE_UNQUOTED(XKB_DFLT_VARIANT, ["$XKB_DFLT_VARIANT"], [Default XKB variant])
|
|
AC_DEFINE_UNQUOTED(XKB_DFLT_OPTIONS, ["$XKB_DFLT_OPTIONS"], [Default XKB options])
|
|
|
|
XKB_LIB='$(top_builddir)/xkb/libxkb.la'
|
|
XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
|
|
REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
|
|
|
|
AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
|
|
[Do not have 'strcasecmp'.]))
|
|
AC_CHECK_FUNC(strncasecmp, [], AC_DEFINE([NEED_STRNCASECMP], 1,
|
|
[Do not have 'strncasecmp'.]))
|
|
AC_CHECK_FUNC(strcasestr, [], AC_DEFINE([NEED_STRCASESTR], 1,
|
|
[Do not have 'strcasestr'.]))
|
|
|
|
PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], [have_libxdmcp="no"])
|
|
if test "x$have_libxdmcp" = xyes; then
|
|
AC_CHECK_LIB(Xdmcp, XdmcpWrap, [have_xdmcpwrap="yes"], [have_xdmcpwrap="no"], [$XDMCP_LIBS])
|
|
fi
|
|
if test "x$XDMCP" = xauto; then
|
|
if test "x$have_libxdmcp" = xyes; then
|
|
XDMCP=yes
|
|
else
|
|
XDMCP=no
|
|
fi
|
|
fi
|
|
if test "x$XDMAUTH" = xauto; then
|
|
if test "x$have_libxdmcp" = xyes && test "x$have_xdmcpwrap" = xyes; then
|
|
XDMAUTH=yes
|
|
else
|
|
XDMAUTH=no
|
|
fi
|
|
fi
|
|
|
|
AM_CONDITIONAL(XDMCP, [test "x$XDMCP" = xyes])
|
|
if test "x$XDMCP" = xyes; then
|
|
AC_DEFINE(XDMCP, 1, [Support XDM Control Protocol])
|
|
REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
|
|
XDMCP_MODULES="xdmcp"
|
|
fi
|
|
|
|
AM_CONDITIONAL(XDMAUTH, [test "x$XDMAUTH" = xyes])
|
|
if test "x$XDMAUTH" = xyes; then
|
|
AC_DEFINE(HASXDMAUTH,1,[Support XDM-AUTH*-1])
|
|
if ! test "x$XDMCP" = xyes; then
|
|
REQUIRED_LIBS="$REQUIRED_LIBS xdmcp"
|
|
XDMCP_MODULES="xdmcp"
|
|
fi
|
|
fi
|
|
|
|
AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
|
|
AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
|
|
AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
|
|
AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
|
|
AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path])
|
|
AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
|
|
AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])
|
|
AC_DEFINE_UNQUOTED(XORG_DATE, ["$RELEASE_DATE"], [Vendor release])
|
|
AC_DEFINE_UNQUOTED(XORG_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
|
|
AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
|
|
|
|
if test -z "$OSNAME"; then
|
|
OSNAME="UNKNOWN"
|
|
fi
|
|
|
|
AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
|
|
AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
|
|
AC_DEFINE_UNQUOTED(BUILDERSTRING, ["$BUILDERSTRING"], [Builder string])
|
|
|
|
AC_SUBST([VENDOR_NAME_SHORT])
|
|
AC_DEFINE_UNQUOTED(VENDOR_NAME, ["$VENDOR_NAME"], [Vendor name])
|
|
AC_DEFINE_UNQUOTED(VENDOR_NAME_SHORT, ["$VENDOR_NAME_SHORT"], [Vendor name])
|
|
AC_DEFINE_UNQUOTED(VENDOR_RELEASE, [$VENDOR_RELEASE], [Vendor release])
|
|
AC_DEFINE_UNQUOTED(VENDOR_MAN_VERSION, ["$VENDOR_MAN_VERSION"], [Vendor man version])
|
|
|
|
AC_DEFINE(NO_LIBCWRAPPER, 1, [Define to 1 if modules should avoid the libcwrapper])
|
|
|
|
if test "x$DEBUGGING" = xyes; then
|
|
AC_DEFINE(DEBUG, 1, [Enable debugging code])
|
|
fi
|
|
AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
|
|
|
|
# If unittests aren't explicitly disabled, check for required support
|
|
if test "x$UNITTESTS" != xno ; then
|
|
PKG_CHECK_MODULES([GLIB], $LIBGLIB,
|
|
[HAVE_GLIB=yes], [HAVE_GLIB=no])
|
|
|
|
# Check if linker supports -wrap, passed via compiler flags
|
|
# When cross-compiling, reports no, since unit tests run from
|
|
# "make check", so would be running on build machine, not target
|
|
AC_MSG_CHECKING([whether the linker supports -wrap])
|
|
save_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$LDFLAGS -Wl,-wrap,exit"
|
|
AC_RUN_IFELSE([AC_LANG_PROGRAM([[
|
|
void __wrap_exit (int s)
|
|
{
|
|
__real_exit (0);
|
|
}]],
|
|
[[exit (1);]])],
|
|
[linker_can_wrap="yes"],
|
|
[linker_can_wrap="no"],
|
|
[linker_can_wrap="no"])
|
|
AC_MSG_RESULT([$linker_can_wrap])
|
|
LDFLAGS="$save_LDFLAGS"
|
|
fi
|
|
|
|
if test "x$UNITTESTS" = xauto; then
|
|
if test "x$HAVE_GLIB" = xyes && test "x$linker_can_wrap" = xyes; then
|
|
UNITTESTS=yes
|
|
else
|
|
UNITTESTS=no
|
|
fi
|
|
fi
|
|
if test "x$UNITTESTS" = xyes; then
|
|
if test "x$HAVE_GLIB" = xno; then
|
|
AC_MSG_ERROR([glib required to build unit tests])
|
|
fi
|
|
if test "x$linker_can_wrap" = xno; then
|
|
AC_MSG_ERROR([ld -wrap support required to build unit tests])
|
|
fi
|
|
AC_DEFINE(UNITTESTS, 1, [Enable unit tests])
|
|
AC_SUBST([GLIB_LIBS])
|
|
AC_SUBST([GLIB_CFLAGS])
|
|
fi
|
|
AM_CONDITIONAL(UNITTESTS, [test "x$UNITTESTS" = xyes])
|
|
|
|
AC_DEFINE(XTEST, 1, [Support XTest extension])
|
|
AC_DEFINE(XSYNC, 1, [Support XSync extension])
|
|
AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
|
|
AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])
|
|
|
|
if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
|
|
DIX_LIB='$(top_builddir)/dix/dix.O'
|
|
OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS)'
|
|
else
|
|
DIX_LIB='$(top_builddir)/dix/libdix.la'
|
|
OS_LIB='$(top_builddir)/os/libos.la'
|
|
fi
|
|
AC_SUBST([DIX_LIB])
|
|
AC_SUBST([OS_LIB])
|
|
|
|
MAIN_LIB='$(top_builddir)/dix/libmain.la'
|
|
AC_SUBST([MAIN_LIB])
|
|
|
|
MI_LIB='$(top_builddir)/mi/libmi.la'
|
|
MI_EXT_LIB='$(top_builddir)/mi/libmiext.la'
|
|
MI_INC='-I$(top_srcdir)/mi'
|
|
FB_LIB='$(top_builddir)/fb/libfb.la'
|
|
FB_INC='-I$(top_srcdir)/fb'
|
|
MIEXT_SHADOW_INC='-I$(top_srcdir)/miext/shadow'
|
|
MIEXT_SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la'
|
|
CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include'
|
|
|
|
# SHA1 hashing
|
|
AC_ARG_WITH([sha1],
|
|
[AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto],
|
|
[choose SHA1 implementation])])
|
|
AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes])
|
|
if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then
|
|
with_sha1=libc
|
|
fi
|
|
if test "x$with_sha1" = xlibc && test "x$HAVE_SHA1_IN_LIBC" != xyes; then
|
|
AC_MSG_ERROR([libc requested but not found])
|
|
fi
|
|
if test "x$with_sha1" = xlibc; then
|
|
AC_DEFINE([HAVE_SHA1_IN_LIBC], [1],
|
|
[Use libc SHA1 functions])
|
|
SHA1_LIBS=""
|
|
fi
|
|
AC_CHECK_FUNC([CC_SHA1_Init], [HAVE_SHA1_IN_COMMONCRYPTO=yes])
|
|
if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_COMMONCRYPTO" = xyes; then
|
|
with_sha1=CommonCrypto
|
|
fi
|
|
if test "x$with_sha1" = xCommonCrypto && test "x$HAVE_SHA1_IN_COMMONCRYPTO" != xyes; then
|
|
AC_MSG_ERROR([CommonCrypto requested but not found])
|
|
fi
|
|
if test "x$with_sha1" = xCommonCrypto; then
|
|
AC_DEFINE([HAVE_SHA1_IN_COMMONCRYPTO], [1],
|
|
[Use CommonCrypto SHA1 functions])
|
|
SHA1_LIBS=""
|
|
fi
|
|
AC_CHECK_LIB([md], [SHA1Init], [HAVE_LIBMD=yes])
|
|
if test "x$with_sha1" = x && test "x$HAVE_LIBMD" = xyes; then
|
|
with_sha1=libmd
|
|
fi
|
|
if test "x$with_sha1" = xlibmd && test "x$HAVE_LIBMD" != xyes; then
|
|
AC_MSG_ERROR([libmd requested but not found])
|
|
fi
|
|
if test "x$with_sha1" = xlibmd; then
|
|
AC_DEFINE([HAVE_SHA1_IN_LIBMD], [1],
|
|
[Use libmd SHA1 functions])
|
|
SHA1_LIBS=-lmd
|
|
fi
|
|
AC_CHECK_LIB([sha1], [sha1_begin], [HAVE_LIBSHA1=yes])
|
|
if test "x$with_sha1" = x && test "x$HAVE_LIBSHA1" = xyes; then
|
|
with_sha1=libsha1
|
|
fi
|
|
if test "x$with_sha1" = xlibsha1 && test "x$HAVE_LIBSHA1" != xyes; then
|
|
AC_MSG_ERROR([libsha1 requested but not found])
|
|
fi
|
|
if test "x$with_sha1" = xlibsha1; then
|
|
AC_DEFINE([HAVE_SHA1_IN_LIBSHA1], [1],
|
|
[Use libsha1 for SHA1])
|
|
SHA1_LIBS=-lsha1
|
|
fi
|
|
AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
|
|
if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
|
|
with_sha1=libgcrypt
|
|
fi
|
|
if test "x$with_sha1" = xlibgcrypt && test "x$HAVE_LIBGCRYPT" != xyes; then
|
|
AC_MSG_ERROR([libgcrypt requested but not found])
|
|
fi
|
|
if test "x$with_sha1" = xlibgcrypt; then
|
|
AC_DEFINE([HAVE_SHA1_IN_LIBGCRYPT], [1],
|
|
[Use libgcrypt SHA1 functions])
|
|
SHA1_LIBS=-lgcrypt
|
|
fi
|
|
# We don't need all of the OpenSSL libraries, just libcrypto
|
|
AC_CHECK_LIB([crypto], [SHA1_Init], [HAVE_LIBCRYPTO=yes])
|
|
PKG_CHECK_MODULES([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
|
|
[HAVE_OPENSSL_PKC=no])
|
|
if test "x$HAVE_LIBCRYPTO" = xyes || test "x$HAVE_OPENSSL_PKC" = xyes; then
|
|
if test "x$with_sha1" = x; then
|
|
with_sha1=libcrypto
|
|
fi
|
|
else
|
|
if test "x$with_sha1" = xlibcrypto; then
|
|
AC_MSG_ERROR([OpenSSL libcrypto requested but not found])
|
|
fi
|
|
fi
|
|
if test "x$with_sha1" = xlibcrypto; then
|
|
if test "x$HAVE_LIBCRYPTO" = xyes; then
|
|
SHA1_LIBS=-lcrypto
|
|
else
|
|
SHA1_LIBS="$OPENSSL_LIBS"
|
|
SHA1_CFLAGS="$OPENSSL_CFLAGS"
|
|
fi
|
|
fi
|
|
AC_MSG_CHECKING([for SHA1 implementation])
|
|
if test "x$with_sha1" = x; then
|
|
AC_MSG_ERROR([No suitable SHA1 implementation found])
|
|
fi
|
|
AC_MSG_RESULT([$with_sha1])
|
|
AC_SUBST(SHA1_LIBS)
|
|
AC_SUBST(SHA1_CFLAGS)
|
|
|
|
PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
|
|
PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS])
|
|
|
|
# Autotools has some unfortunate issues with library handling. In order to
|
|
# get a server to rebuild when a dependency in the tree is changed, it must
|
|
# be listed in SERVERNAME_DEPENDENCIES. However, no system libraries may be
|
|
# listed there, or some versions of autotools will break (especially if a -L
|
|
# is required to find the library). So, we keep two sets of libraries
|
|
# detected: NAMESPACE_LIBS for in-tree libraries to be linked against, which
|
|
# will go into the _DEPENDENCIES and _LDADD of the server, and
|
|
# NAMESPACE_SYS_LIBS which will go into only the _LDADD. The
|
|
# NAMESPACEMODULES_LIBS detected from pkgconfig should always go in
|
|
# NAMESPACE_SYS_LIBS.
|
|
#
|
|
# XSERVER_LIBS is the set of in-tree libraries which all servers require.
|
|
# XSERVER_SYS_LIBS is the set of out-of-tree libraries which all servers
|
|
# require.
|
|
#
|
|
XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS}"
|
|
XSERVER_LIBS="$DIX_LIB $CONFIG_LIB $MI_LIB $OS_LIB"
|
|
XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}"
|
|
AC_SUBST([XSERVER_LIBS])
|
|
AC_SUBST([XSERVER_SYS_LIBS])
|
|
|
|
UTILS_SYS_LIBS="${SYS_LIBS}"
|
|
AC_SUBST([UTILS_SYS_LIBS])
|
|
|
|
# The Xorg binary needs to export symbols so that they can be used from modules
|
|
# Some platforms require extra flags to do this. libtool should set the
|
|
# necessary flags for each platform when -export-dynamic is passed to it.
|
|
LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
|
|
case $host_os in
|
|
openbsd*)
|
|
case $host_cpu in
|
|
m68k|m88k|vax)
|
|
LD_EXPORT_SYMBOLS_FLAGS=""
|
|
;;
|
|
*)
|
|
LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-dynamic"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
|
|
|
|
dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
|
|
dnl we need to replicate that here until those can all be fixed
|
|
AC_MSG_CHECKING([if SVR4 needs to be defined])
|
|
AC_EGREP_CPP([I_AM_SVR4],[
|
|
#if defined(SVR4) || defined(__svr4__) || defined(__SVR4)
|
|
I_AM_SVR4
|
|
#endif
|
|
],[
|
|
AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
|
|
AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
|
|
|
|
XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC"
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl DDX section.
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Xvfb DDX
|
|
|
|
AC_MSG_CHECKING([whether to build Xvfb DDX])
|
|
AC_MSG_RESULT([$XVFB])
|
|
AM_CONDITIONAL(XVFB, [test "x$XVFB" = xyes])
|
|
|
|
if test "x$XVFB" = xyes; then
|
|
XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB"
|
|
XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS"
|
|
AC_SUBST([XVFB_LIBS])
|
|
AC_SUBST([XVFB_SYS_LIBS])
|
|
fi
|
|
|
|
|
|
dnl Xnest DDX
|
|
|
|
PKG_CHECK_MODULES(XNESTMODULES, [xfont $LIBXEXT x11 xau $XDMCP_MODULES], [have_xnest=yes], [have_xnest=no])
|
|
AC_MSG_CHECKING([whether to build Xnest DDX])
|
|
if test "x$XNEST" = xauto; then
|
|
XNEST="$have_xnest"
|
|
fi
|
|
AC_MSG_RESULT([$XNEST])
|
|
AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
|
|
|
|
if test "x$XNEST" = xyes; then
|
|
if test "x$have_xnest" = xno; then
|
|
AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
|
|
fi
|
|
XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DIX_LIB $MAIN_LIB $OS_LIB $CONFIG_LIB"
|
|
XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
|
|
AC_SUBST([XNEST_LIBS])
|
|
AC_SUBST([XNEST_SYS_LIBS])
|
|
fi
|
|
|
|
|
|
dnl Xorg DDX
|
|
|
|
AC_MSG_CHECKING([whether to build Xorg DDX])
|
|
if test "x$XORG" = xauto; then
|
|
XORG="yes"
|
|
case $host_os in
|
|
cygwin*) XORG="no" ;;
|
|
darwin*) XORG="no" ;;
|
|
esac
|
|
fi
|
|
AC_MSG_RESULT([$XORG])
|
|
|
|
xorg_bus_linuxpci=no
|
|
xorg_bus_bsdpci=no
|
|
xorg_bus_sparc=no
|
|
|
|
if test "x$XORG" = xyes; then
|
|
XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
|
|
XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
|
|
XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
|
|
XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
|
|
XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB"
|
|
|
|
dnl ==================================================================
|
|
dnl symbol visibility
|
|
symbol_visibility=
|
|
have_visibility=disabled
|
|
if test x$SYMBOL_VISIBILITY != xno; then
|
|
AC_MSG_CHECKING(for symbol visibility support)
|
|
if test x$GCC = xyes; then
|
|
VISIBILITY_CFLAGS="-fvisibility=hidden"
|
|
else
|
|
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
|
if test x$SUNCC = xyes; then
|
|
VISIBILITY_CFLAGS="-xldscope=hidden"
|
|
else
|
|
have_visibility=no
|
|
fi
|
|
fi
|
|
if test x$have_visibility != xno; then
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
|
|
AC_TRY_COMPILE(
|
|
[#include <X11/Xfuncproto.h>
|
|
extern _X_HIDDEN int hidden_int;
|
|
extern _X_EXPORT int public_int;
|
|
extern _X_HIDDEN int hidden_int_func(void);
|
|
extern _X_EXPORT int public_int_func(void);],
|
|
[],
|
|
have_visibility=yes,
|
|
have_visibility=no)
|
|
CFLAGS=$save_CFLAGS
|
|
fi
|
|
AC_MSG_RESULT([$have_visibility])
|
|
if test x$have_visibility != xno; then
|
|
symbol_visibility=$VISIBILITY_CFLAGS
|
|
XORG_CFLAGS="$XORG_CFLAGS $VISIBILITY_CFLAGS"
|
|
XSERVER_CFLAGS="$XSERVER_CFLAGS $VISIBILITY_CFLAGS"
|
|
fi
|
|
fi
|
|
dnl added to xorg-server.pc
|
|
AC_SUBST([symbol_visibility])
|
|
dnl ===================================================================
|
|
|
|
PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS)
|
|
SAVE_LIBS=$LIBS
|
|
SAVE_CFLAGS=$CFLAGS
|
|
CFLAGS=$PCIACCESS_CFLAGS
|
|
LIBS=$PCIACCESS_LIBS
|
|
AC_CHECK_FUNCS([pci_system_init_dev_mem])
|
|
AC_CHECK_FUNCS([pci_device_enable])
|
|
AC_CHECK_FUNCS([pci_device_is_boot_vga])
|
|
AC_CHECK_FUNCS([pci_device_vgaarb_init])
|
|
LIBS=$SAVE_LIBS
|
|
CFLAGS=$SAVE_CFLAGS
|
|
XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS"
|
|
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
|
|
|
|
case $host_os in
|
|
linux*)
|
|
if test "x$LNXAPM" = xyes; then
|
|
XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
|
|
fi
|
|
XORG_OS="linux"
|
|
XORG_OS_SUBDIR="linux"
|
|
xorg_bus_linuxpci="yes"
|
|
linux_acpi="no"
|
|
case $host_cpu in
|
|
ia64*)
|
|
linux_ia64=yes
|
|
linux_acpi="yes"
|
|
;;
|
|
alpha*)
|
|
linux_alpha=yes
|
|
;;
|
|
i*86|amd64*|x86_64*)
|
|
linux_acpi="yes"
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
;;
|
|
freebsd* | kfreebsd*-gnu | dragonfly*)
|
|
XORG_OS="freebsd"
|
|
XORG_OS_SUBDIR="bsd"
|
|
xorg_bus_bsdpci="yes"
|
|
;;
|
|
netbsd*)
|
|
XORG_OS="netbsd"
|
|
XORG_OS_SUBDIR="bsd"
|
|
xorg_bus_bsdpci="yes"
|
|
;;
|
|
openbsd*)
|
|
if test "x$ac_cv_BSD_APM" = xyes \
|
|
-o "x$ac_cv_BSD_KQUEUE_APM" = xyes; then
|
|
XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
|
|
fi
|
|
XORG_OS="openbsd"
|
|
XORG_OS_SUBDIR="bsd"
|
|
xorg_bus_bsdpci="yes"
|
|
;;
|
|
solaris*)
|
|
XORG_OS="solaris"
|
|
XORG_OS_SUBDIR="solaris"
|
|
XORG_CFLAGS="$XORG_CFLAGS -DXF86PM"
|
|
# Use the same stubs as BSD for old functions, since we now
|
|
# use libpciaccess for PCI
|
|
xorg_bus_bsdpci="yes"
|
|
AC_CHECK_HEADERS([sys/kd.h])
|
|
AC_CHECK_HEADERS([sys/vt.h], [solaris_vt=yes], [solaris_vt=no])
|
|
# Check for minimum supported release
|
|
AC_MSG_CHECKING([Solaris version])
|
|
OS_MINOR=`echo ${host_os}|$SED -e 's/^.*solaris2\.//' -e s'/\..*$//'`
|
|
if test "${OS_MINOR}" -ge 7 ; then
|
|
AC_MSG_RESULT(Solaris ${OS_MINOR})
|
|
else
|
|
AC_MSG_RESULT(Solaris `echo ${host_os}|$SED -e 's/^.*solaris//`)
|
|
fi
|
|
if test "${OS_MINOR}" -lt 8 ; then
|
|
AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.])
|
|
fi
|
|
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
|
if test "x$SUNCC" = "xyes"; then
|
|
solaris_asm_inline="yes"
|
|
fi
|
|
AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"])
|
|
|
|
case $host_cpu in
|
|
sparc*)
|
|
SOLARIS_INOUT_ARCH="sparcv8plus"
|
|
;;
|
|
i*86)
|
|
if test x$SOLARIS_64 = xyes ; then
|
|
SOLARIS_INOUT_ARCH="amd64"
|
|
else
|
|
SOLARIS_INOUT_ARCH="ia32"
|
|
fi
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([Unsupported Solaris platform. Only SPARC & x86 \
|
|
are supported on Solaris in this release. If you are \
|
|
interested in porting Xorg to your platform, please email \
|
|
xorg@lists.freedesktop.org.]) ;;
|
|
esac
|
|
AC_SUBST([SOLARIS_INOUT_ARCH])
|
|
if test x$solaris_asm_inline = xyes ; then
|
|
SOLARIS_ASM_CFLAGS='$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il'
|
|
XORG_CFLAGS="${XORG_CFLAGS} "'$(SOLARIS_ASM_CFLAGS)'
|
|
fi
|
|
AC_SUBST([SOLARIS_ASM_CFLAGS])
|
|
if test "x$SUPPORT_PC98" = xauto; then
|
|
SUPPORT_PC98="no"
|
|
fi
|
|
;;
|
|
gnu*)
|
|
XORG_OS="gnu"
|
|
XORG_OS_SUBDIR="hurd"
|
|
# Use the same stubs as BSD for old functions, since we now
|
|
# use libpciaccess for PCI
|
|
xorg_bus_bsdpci="yes"
|
|
;;
|
|
*)
|
|
XORG_OS="unknown"
|
|
XORG_OS_SUBDIR="unknown"
|
|
AC_MSG_ERROR([Your OS is unknown. Xorg currently only supports Linux, \
|
|
Free/Open/NetBSD, Solaris, and OS X. If you are interested in porting \
|
|
Xorg to your platform, please email xorg@lists.freedesktop.org.])
|
|
;;
|
|
esac
|
|
|
|
case $host_cpu in
|
|
sparc*)
|
|
case $host_os in
|
|
openbsd*)
|
|
xorg_bus_sparc="no"
|
|
;;
|
|
*)
|
|
xorg_bus_sparc="yes"
|
|
;;
|
|
esac
|
|
;;
|
|
i*86)
|
|
if test "x$SUPPORT_PC98" = xauto; then
|
|
SUPPORT_PC98="yes"
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
if test "x$SUPPORT_PC98" = xauto; then
|
|
SUPPORT_PC98="no"
|
|
fi
|
|
if test "x$SUPPORT_PC98" = xyes; then
|
|
AC_DEFINE(SUPPORT_PC98, 1, [Support PC98])
|
|
fi
|
|
if test "x$XORG_OS_PCI" = x ; then
|
|
XORG_OS_PCI=$XORG_OS
|
|
fi
|
|
if test "x$DGA" = xauto; then
|
|
PKG_CHECK_MODULES(DGA, $DGAPROTO, [DGA=yes], [DGA=no])
|
|
fi
|
|
if test "x$DGA" = xyes; then
|
|
XORG_MODULES="$XORG_MODULES $DGAPROTO"
|
|
PKG_CHECK_MODULES(DGA, $DGAPROTO)
|
|
AC_DEFINE(DGA, 1, [Support DGA extension])
|
|
AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
|
|
fi
|
|
|
|
if test "x$XF86VIDMODE" = xauto; then
|
|
PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO, [XF86VIDMODE=yes], [XF86VIDMODE=no])
|
|
fi
|
|
if test "x$XF86VIDMODE" = xyes; then
|
|
XORG_MODULES="$XORG_MODULES $VIDMODEPROTO"
|
|
PKG_CHECK_MODULES(XF86VIDMODE, $VIDMODEPROTO)
|
|
AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
|
|
fi
|
|
|
|
if test -n "$XORG_MODULES"; then
|
|
PKG_CHECK_MODULES(XORG_MODULES, [$XORG_MODULES])
|
|
XORG_CFLAGS="$XORG_CFLAGS $XORG_MODULES_CFLAGS"
|
|
XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
|
|
fi
|
|
|
|
AC_SUBST([XORG_LIBS])
|
|
AC_SUBST([XORG_SYS_LIBS])
|
|
AC_SUBST([XORG_INCS])
|
|
AC_SUBST([XORG_OS])
|
|
AC_SUBST([XORG_OS_SUBDIR])
|
|
|
|
AC_PATH_PROG(PERL, perl, no)
|
|
dnl unlikely as this may be ...
|
|
if test "x$PERL" = xno; then
|
|
AC_MSG_ERROR([Perl is required to build the XFree86/Xorg DDX.])
|
|
fi
|
|
AC_SUBST(PERL)
|
|
|
|
AC_SUBST([XORG_CFLAGS])
|
|
|
|
dnl these only go in xorg-config.h
|
|
XF86CONFIGFILE="xorg.conf"
|
|
XF86CONFIGDIR="xorg.conf.d"
|
|
AC_SUBST(XF86CONFIGDIR)
|
|
CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
|
|
LOGPREFIX="$logdir/Xorg."
|
|
AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
|
|
AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
|
|
AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
|
|
AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
|
|
AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
|
|
AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
|
|
AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
|
|
AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
|
|
AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE, [Name of configuration file])
|
|
AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
|
|
AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory])
|
|
AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
|
|
AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
|
|
AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
|
|
AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
|
|
AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation])
|
|
if test "x$VGAHW" = xyes; then
|
|
AC_DEFINE(WITH_VGAHW, 1, [Building vgahw module])
|
|
fi
|
|
|
|
driverdir="$moduledir/drivers"
|
|
AC_SUBST([moduledir])
|
|
AC_SUBST([driverdir])
|
|
sdkdir="$includedir/xorg"
|
|
extdir="$includedir/X11/extensions"
|
|
sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
|
|
AC_SUBST([sdkdir])
|
|
AC_SUBST([extdir])
|
|
AC_SUBST([sysconfigdir])
|
|
AC_SUBST([logdir])
|
|
|
|
# stuff the ABI versions into the pc file too
|
|
extract_abi() {
|
|
grep ^.define.*${1}_VERSION ${srcdir}/hw/xfree86/common/xf86Module.h | tr '(),' ' .' | awk '{ print $4$5 }'
|
|
}
|
|
abi_ansic=`extract_abi ANSIC`
|
|
abi_videodrv=`extract_abi VIDEODRV`
|
|
abi_xinput=`extract_abi XINPUT`
|
|
abi_extension=`extract_abi EXTENSION`
|
|
AC_SUBST([abi_ansic])
|
|
AC_SUBST([abi_videodrv])
|
|
AC_SUBST([abi_xinput])
|
|
AC_SUBST([abi_extension])
|
|
fi
|
|
AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
|
|
AM_CONDITIONAL([XORG_BUS_LINUXPCI], [test "x$xorg_bus_linuxpci" = xyes])
|
|
AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
|
|
AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
|
|
AM_CONDITIONAL([LINUX_IA64], [test "x$linux_ia64" = xyes])
|
|
AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes])
|
|
AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes])
|
|
AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes])
|
|
AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes])
|
|
AM_CONDITIONAL([DGA], [test "x$DGA" = xyes])
|
|
AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes])
|
|
|
|
dnl XWin DDX
|
|
|
|
AC_MSG_CHECKING([whether to build XWin DDX])
|
|
if test "x$XWIN" = xauto; then
|
|
case $host_os in
|
|
cygwin*) XWIN="yes" ;;
|
|
mingw*) XWIN="yes" ;;
|
|
*) XWIN="no" ;;
|
|
esac
|
|
fi
|
|
AC_MSG_RESULT([$XWIN])
|
|
|
|
if test "x$XWIN" = xyes; then
|
|
AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [Location of system.XWinrc])
|
|
AC_DEFINE_DIR(DEFAULT_LOGDIR, logdir, [Default log location])
|
|
AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
|
|
AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support])
|
|
AC_CHECK_TOOL(WINDRES, windres)
|
|
|
|
PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfont])
|
|
|
|
if test "x$WINDOWSWM" = xauto; then
|
|
PKG_CHECK_EXISTS($WINDOWSWMPROTO, [WINDOWSWM=yes], [WINDOWSWM=no])
|
|
fi
|
|
if test "x$WINDOWSWM" = xyes ; then
|
|
PKG_CHECK_MODULES(WINDOWSWM, $WINDOWSWMPROTO)
|
|
XWINMODULES_CFLAGS="$XWINMODULES_CFLAGS $WINDOWSWM_CFLAGS"
|
|
AC_DEFINE(ROOTLESS,1,[Build Rootless code])
|
|
fi
|
|
|
|
case $host_os in
|
|
cygwin*)
|
|
XWIN_SERVER_NAME=XWin
|
|
AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages])
|
|
;;
|
|
mingw*)
|
|
XWIN_SERVER_NAME=Xming
|
|
AC_DEFINE(RELOCATE_PROJECTROOT,1,[Make PROJECT_ROOT relative to the xserver location])
|
|
AC_DEFINE(HAS_WINSOCK,1,[Use Windows sockets])
|
|
XWIN_SYS_LIBS=-lwinsock2
|
|
;;
|
|
esac
|
|
XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB"
|
|
XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS"
|
|
AC_SUBST(XWIN_LIBS)
|
|
AC_SUBST(XWIN_SERVER_NAME)
|
|
AC_SUBST(XWIN_SYS_LIBS)
|
|
|
|
if test "x$DEBUGGING" = xyes; then
|
|
AC_DEFINE(CYGDEBUG, 1, [Simple debug messages])
|
|
AC_DEFINE(CYGWINDOWING_DEBUG, 1, [Debug messages for window handling])
|
|
AC_DEFINE(CYGMULTIWINDOW_DEBUG, 1, [Debug window manager])
|
|
fi
|
|
|
|
AC_DEFINE(DDXOSVERRORF, 1, [Use OsVendorVErrorF])
|
|
AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
|
|
fi
|
|
AM_CONDITIONAL(XWIN, [test "x$XWIN" = xyes])
|
|
AM_CONDITIONAL(XWIN_MULTIWINDOW, [test "x$XWIN" = xyes])
|
|
AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
|
|
AM_CONDITIONAL(XWIN_CLIPBOARD, [test "x$XWIN" = xyes])
|
|
AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && false])
|
|
AM_CONDITIONAL(XWIN_NATIVEGDI, [test "x$XWIN" = xyes && false])
|
|
AM_CONDITIONAL(XWIN_PRIMARYFB, [test "x$XWIN" = xyes && false])
|
|
AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
|
|
AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])
|
|
|
|
dnl Darwin / OS X DDX
|
|
if test "x$XQUARTZ" = xyes; then
|
|
AC_DEFINE(XQUARTZ,1,[Have Quartz])
|
|
AC_DEFINE(ROOTLESS,1,[Build Rootless code])
|
|
|
|
DARWIN_LIBS="$MI_LIB $OS_LIB $DIX_LIB $MAIN_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB"
|
|
AC_SUBST([DARWIN_LIBS])
|
|
|
|
AC_CHECK_LIB([Xplugin],[xp_init],[:])
|
|
|
|
CFLAGS="${CFLAGS} -DROOTLESS_WORKAROUND -DROOTLESS_SAFEALPHA -DNO_ALLOCA"
|
|
|
|
PKG_CHECK_MODULES(XPBPROXY, $APPLEWMPROTO $LIBAPPLEWM xfixes x11)
|
|
|
|
if test "x$XQUARTZ_SPARKLE" = xyes ; then
|
|
AC_DEFINE(XQUARTZ_SPARKLE,1,[Support application updating through sparkle.])
|
|
fi
|
|
|
|
if test "x$STANDALONE_XPBPROXY" = xyes ; then
|
|
AC_DEFINE(STANDALONE_XPBPROXY,1,[Build a standalone xpbproxy])
|
|
fi
|
|
fi
|
|
|
|
# Support for objc in autotools is minimal and not documented.
|
|
OBJC='$(CC)'
|
|
OBJCLD='$(CCLD)'
|
|
OBJCLINK='$(LINK)'
|
|
OBJCFLAGS='$(CFLAGS)'
|
|
AC_SUBST([OBJC])
|
|
AC_SUBST([OBJCCLD])
|
|
AC_SUBST([OBJCLINK])
|
|
AC_SUBST([OBJCFLAGS])
|
|
# internal, undocumented automake func follows :(
|
|
_AM_DEPENDENCIES([OBJC])
|
|
AM_CONDITIONAL(XQUARTZ, [test "x$XQUARTZ" = xyes])
|
|
AM_CONDITIONAL(XQUARTZ_SPARKLE, [test "x$XQUARTZ_SPARKLE" != "xno"])
|
|
AM_CONDITIONAL(STANDALONE_XPBPROXY, [test "x$STANDALONE_XPBPROXY" = xyes])
|
|
|
|
dnl DMX DDX
|
|
PKG_CHECK_MODULES(
|
|
[DMXMODULES],
|
|
[xmuu $LIBXEXT x11 xrender xfixes xfont $LIBXI $DMXPROTO xau $XDMCP_MODULES],
|
|
[PKG_CHECK_MODULES(
|
|
[XDMXCONFIG_DEP],
|
|
[xaw7 xmu xt xpm x11],
|
|
[have_dmx=yes],
|
|
[have_dmx=no])],
|
|
[have_dmx=no])
|
|
AC_MSG_CHECKING([whether to build Xdmx DDX])
|
|
if test "x$DMX" = xauto; then
|
|
DMX="$have_dmx"
|
|
case $host_os in
|
|
cygwin*) DMX="no" ;;
|
|
darwin*) DMX="no" ;;
|
|
esac
|
|
fi
|
|
AC_MSG_RESULT([$DMX])
|
|
AM_CONDITIONAL(DMX, [test "x$DMX" = xyes])
|
|
|
|
if test "x$DMX" = xyes; then
|
|
if test "x$have_dmx" = xno; then
|
|
AC_MSG_ERROR([Xdmx build explicitly requested, but required
|
|
modules not found.])
|
|
fi
|
|
DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC"
|
|
XDMX_CFLAGS="$DMXMODULES_CFLAGS"
|
|
XDMX_LIBS="$FB_LIB $MI_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $XEXT_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB"
|
|
XDMX_SYS_LIBS="$DMXMODULES_LIBS"
|
|
AC_SUBST([XDMX_CFLAGS])
|
|
AC_SUBST([XDMX_LIBS])
|
|
AC_SUBST([XDMX_SYS_LIBS])
|
|
|
|
dnl USB sources in DMX require <linux/input.h>
|
|
AC_CHECK_HEADER([linux/input.h], DMX_BUILD_USB="yes",
|
|
DMX_BUILD_USB="no")
|
|
dnl Linux sources in DMX require <linux/keyboard.h>
|
|
AC_CHECK_HEADER([linux/keyboard.h], DMX_BUILD_LNX="yes",
|
|
DMX_BUILD_LNX="no")
|
|
AC_SUBST(XDMXCONFIG_DEP_CFLAGS)
|
|
AC_SUBST(XDMXCONFIG_DEP_LIBS)
|
|
PKG_CHECK_MODULES([DMXEXAMPLES_DEP], [$LIBDMX $LIBXEXT x11])
|
|
AC_SUBST(DMXEXAMPLES_DEP_LIBS)
|
|
PKG_CHECK_MODULES([DMXXMUEXAMPLES_DEP], [$LIBDMX xmu $LIBXEXT x11])
|
|
AC_SUBST(DMXXMUEXAMPLES_DEP_LIBS)
|
|
PKG_CHECK_MODULES([DMXXIEXAMPLES_DEP], [$LIBDMX $LIBXI $LIBXEXT x11])
|
|
AC_SUBST(DMXXIEXAMPLES_DEP_LIBS)
|
|
PKG_CHECK_MODULES([XTSTEXAMPLES_DEP], [$LIBXTST $LIBXEXT x11])
|
|
AC_SUBST(XTSTEXAMPLES_DEP_LIBS)
|
|
PKG_CHECK_MODULES([XRESEXAMPLES_DEP], [xres $LIBXEXT x11])
|
|
AC_SUBST(XRESEXAMPLES_DEP_LIBS)
|
|
PKG_CHECK_MODULES([X11EXAMPLES_DEP], [$LIBXEXT x11])
|
|
AC_SUBST(X11EXAMPLES_DEP_LIBS)
|
|
|
|
fi
|
|
AM_CONDITIONAL([DMX_BUILD_LNX], [test "x$DMX_BUILD_LNX" = xyes])
|
|
AM_CONDITIONAL([DMX_BUILD_USB], [test "x$DMX_BUILD_USB" = xyes])
|
|
|
|
dnl kdrive DDX
|
|
|
|
XEPHYR_LIBS=
|
|
XEPHYR_INCS=
|
|
|
|
AM_CONDITIONAL(KDRIVE, [test x$KDRIVE = xyes])
|
|
|
|
if test "$KDRIVE" = yes; then
|
|
AC_DEFINE(KDRIVESERVER,1,[Build Kdrive X server])
|
|
AC_DEFINE(KDRIVEDDXACTIONS,,[Build kdrive ddx])
|
|
|
|
AC_CHECK_HEADERS([linux/fb.h])
|
|
if test "$ac_cv_header_linux_fb_h" = yes && test "x$XFBDEV" = xauto; then
|
|
XFBDEV=yes
|
|
fi
|
|
|
|
if test "x$XFBDEV" = xyes; then
|
|
KDRIVEFBDEVLIB=yes
|
|
AC_DEFINE(KDRIVEFBDEV, 1, [Build fbdev-based kdrive server])
|
|
fi
|
|
|
|
|
|
PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
|
|
if test "x$HAVE_TSLIB" = xno; then
|
|
AC_CHECK_LIB(ts, ts_open, [HAVE_TSLIB="yes"])
|
|
fi
|
|
|
|
if test "xTSLIB" = xauto; then
|
|
TSLIB="$HAVE_TSLIB"
|
|
fi
|
|
|
|
if test "x$TSLIB" = xyes; then
|
|
if ! test "x$HAVE_TSLIB" = xyes; then
|
|
AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
|
|
else
|
|
AC_DEFINE(TSLIB, 1, [Have tslib support])
|
|
fi
|
|
fi
|
|
|
|
if test "x$KDRIVE_KBD" = xyes; then
|
|
AC_DEFINE(KDRIVE_KBD, 1, [Enable KDrive kbd driver])
|
|
fi
|
|
if test "x$KDRIVE_EVDEV" = xyes; then
|
|
AC_DEFINE(KDRIVE_EVDEV, 1, [Enable KDrive evdev driver])
|
|
fi
|
|
if test "x$KDRIVE_MOUSE" = xyes; then
|
|
AC_DEFINE(KDRIVE_MOUSE, 1, [Enable KDrive mouse driver])
|
|
fi
|
|
|
|
XEPHYR_REQUIRED_LIBS="x11 $LIBXEXT xfont xau xdmcp"
|
|
if test "x$XV" = xyes; then
|
|
XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv"
|
|
fi
|
|
if test "x$DRI" = xyes && test "x$GLX" = xyes; then
|
|
XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBGL libdrm"
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(XEPHYR, $XEPHYR_REQUIRED_LIBS, [xephyr="yes"], [xephyr="no"])
|
|
if test "x$XEPHYR" = xauto; then
|
|
XEPHYR=$xephyr
|
|
fi
|
|
|
|
# Xephyr needs nanosleep() which is in librt on Solaris
|
|
AC_CHECK_FUNC([nanosleep], [],
|
|
AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
|
|
|
|
# damage shadow extension glx (NOTYET) fb mi
|
|
KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
|
|
KDRIVE_PURE_INCS="$KDRIVE_INC $MIEXT_DAMAGE_INC $MIEXT_SHADOW_INC $XEXT_INC $FB_INC $MI_INC"
|
|
KDRIVE_OS_INC='-I$(top_srcdir)/hw/kdrive/linux'
|
|
KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
|
|
|
|
KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS"
|
|
|
|
KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB"
|
|
KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la'
|
|
case $host_os in
|
|
*linux*)
|
|
KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.la'
|
|
KDRIVELINUX=yes
|
|
if test "x$KDRIVE_EVDEV" = xauto; then
|
|
KDRIVE_EVDEV=yes
|
|
fi
|
|
if test "x$KDRIVE_KBD" = xauto; then
|
|
KDRIVE_KBD=yes
|
|
fi
|
|
if test "x$KDRIVE_MOUSE" = xauto; then
|
|
KDRIVE_MOUSE=yes
|
|
fi
|
|
;;
|
|
*openbsd*)
|
|
KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/openbsd/libopenbsd.la'
|
|
KDRIVEOPENBSD=yes
|
|
if test "x$KDRIVE_EVDEV" = xauto; then
|
|
KDRIVE_EVDEV=no
|
|
fi
|
|
if test "x$KDRIVE_KBD" = xauto; then
|
|
KDRIVE_KBD=yes
|
|
fi
|
|
if test "x$KDRIVE_MOUSE" = xauto; then
|
|
KDRIVE_MOUSE=yes
|
|
fi
|
|
;;
|
|
*)
|
|
if test "x$KDRIVE_EVDEV" = xauto; then
|
|
KDRIVE_EVDEV=no
|
|
fi
|
|
if test "x$KDRIVE_KBD" = xauto; then
|
|
KDRIVE_KBD=no
|
|
fi
|
|
if test "x$KDRIVE_MOUSE" = xauto; then
|
|
KDRIVE_MOUSE=no
|
|
fi
|
|
;;
|
|
esac
|
|
KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.la'
|
|
KDRIVE_LOCAL_LIBS="$MAIN_LIB $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB"
|
|
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
|
|
KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB"
|
|
KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVER_SYS_LIBS $GLX_SYS_LIBS $DLOPEN_LIBS"
|
|
|
|
AC_SUBST([XEPHYR_LIBS])
|
|
AC_SUBST([XEPHYR_INCS])
|
|
fi
|
|
AC_SUBST([KDRIVE_INCS])
|
|
AC_SUBST([KDRIVE_PURE_INCS])
|
|
AC_SUBST([KDRIVE_CFLAGS])
|
|
AC_SUBST([KDRIVE_PURE_LIBS])
|
|
AC_SUBST([KDRIVE_LOCAL_LIBS])
|
|
AC_SUBST([KDRIVE_LIBS])
|
|
AM_CONDITIONAL(KDRIVELINUX, [test "x$KDRIVELINUX" = xyes])
|
|
AM_CONDITIONAL(KDRIVEOPENBSD, [test "x$KDRIVEOPENBSD" = xyes])
|
|
AM_CONDITIONAL(KDRIVE_EVDEV, [test "x$KDRIVE_EVDEV" = xyes])
|
|
AM_CONDITIONAL(KDRIVE_KBD, [test "x$KDRIVE_KBD" = xyes])
|
|
AM_CONDITIONAL(KDRIVE_MOUSE, [test "x$KDRIVE_MOUSE" = xyes])
|
|
AM_CONDITIONAL(TSLIB, [test "x$HAVE_TSLIB" = xyes])
|
|
AM_CONDITIONAL(KDRIVEFBDEV, [test "x$XFBDEV" = xyes])
|
|
AM_CONDITIONAL(KDRIVEWSCONS, [test x"$ac_cv_header_dev_wscons_wsconsio_h" = xyes])
|
|
AM_CONDITIONAL(XEPHYR, [test "x$KDRIVE" = xyes && test "x$XEPHYR" = xyes])
|
|
AM_CONDITIONAL(BUILD_KDRIVEFBDEVLIB, [test "x$KDRIVE" = xyes && test "x$KDRIVEFBDEVLIB" = xyes])
|
|
AM_CONDITIONAL(XFAKESERVER, [test "x$KDRIVE" = xyes && test "x$XFAKE" = xyes])
|
|
|
|
dnl and the rest of these are generic, so they're in config.h
|
|
dnl
|
|
dnl though, thanks to the passing of some significant amount of time, the
|
|
dnl above is probably a complete fallacy, and you should not rely on it.
|
|
dnl but this is still actually better than imake, honest. -daniels
|
|
|
|
AC_TRY_COMPILE([
|
|
#include <features.h>
|
|
#ifndef __GLIBC__
|
|
#error not glibc
|
|
#endif
|
|
], [], [AC_DEFINE(_GNU_SOURCE, 1,
|
|
[ Enable GNU and other extensions to the C environment for glibc])])
|
|
|
|
AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
|
|
|
|
BUILD_DATE="`date +'%Y%m%d'`"
|
|
AC_SUBST([BUILD_DATE])
|
|
BUILD_TIME="`date +'1%H%M%S'`"
|
|
AC_SUBST([BUILD_TIME])
|
|
|
|
DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"
|
|
|
|
AC_SUBST([DIX_CFLAGS])
|
|
|
|
AC_SUBST([libdir])
|
|
AC_SUBST([exec_prefix])
|
|
AC_SUBST([prefix])
|
|
|
|
AC_OUTPUT([
|
|
Makefile
|
|
glx/Makefile
|
|
include/Makefile
|
|
composite/Makefile
|
|
damageext/Makefile
|
|
dbe/Makefile
|
|
dix/Makefile
|
|
doc/Makefile
|
|
fb/Makefile
|
|
record/Makefile
|
|
config/Makefile
|
|
mi/Makefile
|
|
miext/Makefile
|
|
miext/damage/Makefile
|
|
miext/shadow/Makefile
|
|
miext/cw/Makefile
|
|
miext/rootless/Makefile
|
|
os/Makefile
|
|
randr/Makefile
|
|
render/Makefile
|
|
xkb/Makefile
|
|
Xext/Makefile
|
|
Xi/Makefile
|
|
xfixes/Makefile
|
|
exa/Makefile
|
|
hw/Makefile
|
|
hw/xfree86/Makefile
|
|
hw/xfree86/common/Makefile
|
|
hw/xfree86/common/xf86Build.h
|
|
hw/xfree86/ddc/Makefile
|
|
hw/xfree86/dixmods/Makefile
|
|
hw/xfree86/dixmods/extmod/Makefile
|
|
hw/xfree86/doc/Makefile
|
|
hw/xfree86/doc/devel/Makefile
|
|
hw/xfree86/doc/man/Makefile
|
|
hw/xfree86/doc/sgml/Makefile
|
|
hw/xfree86/dri/Makefile
|
|
hw/xfree86/dri2/Makefile
|
|
hw/xfree86/exa/Makefile
|
|
hw/xfree86/fbdevhw/Makefile
|
|
hw/xfree86/i2c/Makefile
|
|
hw/xfree86/int10/Makefile
|
|
hw/xfree86/loader/Makefile
|
|
hw/xfree86/modes/Makefile
|
|
hw/xfree86/os-support/Makefile
|
|
hw/xfree86/os-support/bsd/Makefile
|
|
hw/xfree86/os-support/bus/Makefile
|
|
hw/xfree86/os-support/hurd/Makefile
|
|
hw/xfree86/os-support/misc/Makefile
|
|
hw/xfree86/os-support/linux/Makefile
|
|
hw/xfree86/os-support/sco/Makefile
|
|
hw/xfree86/os-support/solaris/Makefile
|
|
hw/xfree86/os-support/sysv/Makefile
|
|
hw/xfree86/parser/Makefile
|
|
hw/xfree86/ramdac/Makefile
|
|
hw/xfree86/shadowfb/Makefile
|
|
hw/xfree86/vbe/Makefile
|
|
hw/xfree86/vgahw/Makefile
|
|
hw/xfree86/x86emu/Makefile
|
|
hw/xfree86/xaa/Makefile
|
|
hw/xfree86/xf8_16bpp/Makefile
|
|
hw/xfree86/utils/Makefile
|
|
hw/xfree86/utils/cvt/Makefile
|
|
hw/xfree86/utils/gtf/Makefile
|
|
hw/dmx/config/Makefile
|
|
hw/dmx/doc/Makefile
|
|
hw/dmx/examples/Makefile
|
|
hw/dmx/input/Makefile
|
|
hw/dmx/glxProxy/Makefile
|
|
hw/dmx/Makefile
|
|
hw/vfb/Makefile
|
|
hw/xnest/Makefile
|
|
hw/xwin/Makefile
|
|
hw/xquartz/Makefile
|
|
hw/xquartz/GL/Makefile
|
|
hw/xquartz/bundle/Makefile
|
|
hw/xquartz/doc/Makefile
|
|
hw/xquartz/mach-startup/Makefile
|
|
hw/xquartz/pbproxy/Makefile
|
|
hw/xquartz/xpr/Makefile
|
|
hw/kdrive/Makefile
|
|
hw/kdrive/ephyr/Makefile
|
|
hw/kdrive/fake/Makefile
|
|
hw/kdrive/fbdev/Makefile
|
|
hw/kdrive/linux/Makefile
|
|
hw/kdrive/openbsd/Makefile
|
|
hw/kdrive/src/Makefile
|
|
hw/kdrive/wscons/Makefile
|
|
test/Makefile
|
|
test/xi2/Makefile
|
|
xorg-server.pc
|
|
])
|