dnl dnl $Id$ dnl dnl Copyright © 2003-2005 Keith Packard, Daniel Stone dnl dnl Permission to use, copy, modify, distribute, and sell this software and its dnl documentation for any purpose is hereby granted without fee, provided that dnl the above copyright notice appear in all copies and that both that dnl copyright notice and this permission notice appear in supporting dnl documentation, and that the names of Keith Packard and Daniel Stone not be dnl used in advertising or publicity pertaining to distribution of the software dnl without specific, written prior permission. Keith Packard and Daniel Stone dnl make no representations about the suitability of this software for any dnl purpose. It is provided "as is" without express or implied warranty. dnl dnl KEITH PACKARD AND DANIEL STONE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS dnl SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, dnl IN NO EVENT SHALL KEITH PACKARD OR DANIEL STONE BE LIABLE FOR ANY SPECIAL, dnl INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM dnl LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE dnl OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR dnl PERFORMANCE OF THIS SOFTWARE. dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) dnl This is the not the Xorg version number, it's the server version number. dnl Yes, that's weird. AC_INIT([xorg-server], 0.99.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([dist-bzip2 foreign]) AM_MAINTAINER_MODE 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) AC_PROG_CC AM_PROG_AS AC_PROG_INSTALL AC_PROG_LN_S AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL AC_PROG_MAKE_SET PKG_PROG_PKG_CONFIG AC_PROG_LEX AC_PROG_YACC AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"],[ENDIAN="X_LITTLE_ENDIAN"]) AC_TYPE_PID_T # Checks for library functions. AC_FUNC_VPRINTF AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long vsnprintf walkcontext]) AC_FUNC_ALLOCA # Old HAS_* names used in os/*.c AC_CHECK_FUNC([getdtablesize], AC_DEFINE(HAS_GETDTABLESIZE,1, [Define to 1 if you have the `getdtablesize' function.])) AC_CHECK_FUNC([getifaddrs], AC_DEFINE(HAS_GETIFADDRS,1, [Define to 1 if you have the `getifaddrs' function.])) AC_CHECK_FUNC([getpeereid], AC_DEFINE(HAS_GETPEEREID,1, [Define to 1 if you have the `getpeereid' function.])) AC_CHECK_FUNC([getpeerucred], AC_DEFINE(HAS_GETPEERUCRED,1, [Define to 1 if you have the `getpeerucred' function.])) AM_CONDITIONAL(NEED_VSNPRINTF, [test x$HAVE_VSNPRINTF = xno]) # Find the math libary AC_CHECK_LIB(m, sqrt) AC_CHECK_HEADERS([ndbm.h dbm.h rpcsvc/dbm.h]) # VM86 headers AC_CHECK_HEADERS([sys/vm86.h sys/io.h]) # AGPGART headers AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h]) # APM header AC_CHECK_HEADERS([linux/apm_bios.h]) # fbdev header AC_CHECK_HEADERS([linux/fb.h], FBDEV=yes) AM_CONDITIONAL(FBDEVHW, [test x$FBDEV = xyes]) # MTRR header AC_CHECK_HEADERS([asm/mtrr.h]) # Handhelds.org touchscreen driver AC_CHECK_HEADERS([linux/h3600_ts.h]) # tslib touchscreen driver AC_CHECK_HEADERS([tslib.h]) AC_CACHE_CHECK([for SYSV IPC], ac_cv_sysv_ipc, [AC_TRY_RUN([ #include int main () { 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 "$ac_cv_sysv_ipc" = yes; then AC_DEFINE(HAVE_SYSV_IPC,1, [Define to 1 if SYSV IPC is available]) fi ### Choose bus options - replaces logic in hw/xfree86/os-support/bus/Imakefile # Defaults: DEFAULT_INT10="x86emu" xorg_bus_sbus="no" xorg_bus_ix86pci="no" # Override defaults as needed for specific platforms: case $host_cpu in sparc*) xorg_bus_sbus="yes" ;; i*86) xorg_bus_ix86pci="yes" case $host_os in *linux*) DEFAULT_INT10=vm86 ;; *bsd*) xorg_bus_ix86pci="no" ;; esac ;; amd64*) xorg_bus_ix86pci="yes" ;; esac REQUIRED_MODULES="randrproto renderproto fixesproto damageproto xextproto xfont xproto xtrans xau xf86dgaproto xf86miscproto xf86rushproto xf86vidmodeproto xf86bigfontproto" OSNAME=`uname -srm` AC_DEFINE_UNQUOTED(OSNAME, "$OSNAME", [Define to OS Name string to display for build OS in Xorg log]) DEFAULT_VENDOR_STRING="X.Org" DEFAULT_VENDOR_RELEASE="$PACKAGE_VERSION" # e.g. 6.9.99.1 -> 6,9,99,1,0 VERSION_STRING="6,99,99,900,0" DEFAULT_VENDOR_WEB="http://wiki.x.org" EXTENSION_LIBS='$(top_builddir)/Xext/libXext.la' DMX_EXTENSIONS='$(top_builddir)/Xext/libXext.la'" "'$(top_builddir)/render/librender.la' EXTENSION_INCS='-I$(top_srcdir)/Xext' AC_DEFINE(XORG_SERVER, 1, [Build X.Org X server]) m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))]) AC_ARG_ENABLE(werror, [ --enable-werror ],[WERROR=$enableval],[WERROR=no]) AC_ARG_ENABLE(composite, [ --disable-composite ],[COMPOSITE=$enableval],[COMPOSITE=yes]) AC_ARG_ENABLE(mitshm, [ --disable-shm ],[MITSHM=$enableval],[MITSHM=yes]) AC_ARG_ENABLE(xres, [ --disable-xres ],[RES=$enableval],[RES=yes]) AC_ARG_ENABLE(xtrap, [ --enable-xtrap ],[XTRAP=$enableval],[XTRAP=no]) AC_ARG_ENABLE(record, [ --disable-record ],[RECORD=$enableval],[RECORD=yes]) AC_ARG_ENABLE(xv, [ --disable-xv ],[XV=$enableval],[XV=yes]) AC_ARG_ENABLE(screensaver, [ --disable-screensaver ],[SCREENSAVER=$enableval],[SCREENSAVER=yes]) AC_ARG_ENABLE(xdmcp, [ --disable-xdmcp ],[XDMCP=$enableval],[XDMCP=auto]) AC_ARG_ENABLE(xdm-auth-1, [ --disable-xdm-auth-1 ],[XDMAUTH=$enableval],[XDMAUTH=auto]) AC_ARG_ENABLE(glx, [ --disable-glx ],[GLX=$enableval],[GLX=yes]) AC_ARG_ENABLE(dri, [ --enable-dri ],[DRI=$enableval],[DRI=no]) AC_ARG_ENABLE(xinerama, [ --disable-xinerama ],[XINERAMA=$enableval],[XINERAMA=yes]) AC_ARG_ENABLE(xf86vidmode, [ --disable-xf86vidmode ],[XF86VIDMODE=$enableval],[XF86VIDMODE=yes]) AC_ARG_ENABLE(xf86misc, [ --disable-xf86misc ],[XF86MISC=$enableval],[XF86MISC=yes]) AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--enable-xcsecurity],[Build Security extension (default: disabled)]),[XCSECURITY=$enableval],[XCSECURITY=no]) 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: disabled)]),[DMX=$enableval],[DMX=auto]) AC_ARG_ENABLE(xvfb, AS_HELP_STRING([--enable-xvfb],[Build Xvfb server (default: auto)]),[XVFB=$enableval],[XVFB=auto]) AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest],[Build Xnest server (default: auto)]),[XNEST=$enableval],[XNEST=auto]) AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin],[Build XWin server (default: auto)]),[XWIN=$enableval],[XWIN=auto]) AC_ARG_ENABLE(xevie, AS_HELP_STRING([--enable-xevie],[Build XEvIE extension (default: disabled)]), [XEVIE=$enableval],[XEVIE=no]) # Transport selection AC_ARG_ENABLE(unix-transport,[ --disable-unix-transport ], [UNIXCONN=$enableval], [UNIXCONN=yes]) AC_ARG_ENABLE(tcp-transport, [ --disable-tcp-transport ], [TCPCONN=$enableval], [TCPCONN=yes]) AC_ARG_ENABLE(ipv6, [ --disable-ipv6 ], [IPV6CONN=$enableval], [IPV6CONN=yes]) AC_ARG_ENABLE(debug, [ --enable-debug ], [DEBUGGING=$enableval],[DEBUGGING=no]) 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-string, [ --with-vendor-string=VENDOR ], [ VENDOR_STRING="$withval" ], [ VENDOR_STRING="$DEFAULT_VENDOR_STRING" ]) AC_ARG_WITH(vendor-release, [ --with-vendor-release=RELEASE ], [ VENDOR_RELEASE="$withval" ], [ VENDOR_RELEASE="$DEFAULT_VENDOR_RELEASE" ]) AC_ARG_WITH(vendor-web, [ --with-vendor-web=URL ], [ VENDOR_WEB="$withval" ], [ VENDOR_WEB="$DEFAULT_VENDOR_WEB" ]) AC_ARG_WITH(module-dir, [ --with-module-dir=DIR ], [ moduledir="$withval" ], [ moduledir="$libdir/xorg/modules" ]) AC_ARG_WITH(builder-addr, [ --with-builder-addr=ADDRESS ], [ BUILDERADDR="$withval" ], [ BUILDERADDR="xorg@lists.freedesktop.org" ]) AC_ARG_WITH(os-name, [ --with-os-name=OSNAME ], [ OSNAME="$withval" ], [ OSNAME="UNKNOWN" ]) AC_ARG_WITH(os-vendor, [ --with-os-vendor=OSVENDOR ], [ OSVENDOR="$withval" ], [ OSVENDOR="" ]) AC_ARG_WITH(mesa-source, [ --with-mesa-source=MESA_SOURCE ], [ MESA_SOURCE="$withval" ], [ MESA_SOURCE="" ]) AM_CONDITIONAL(INT10_VM86, [test x$INT10 = xvm86]) AM_CONDITIONAL(INT10_X86EMU, [test x$INT10 = xx86emu]) AM_CONDITIONAL(INT10_STUB, [test x$INT10 = xstub]) driverdir="$moduledir/drivers" AC_SUBST([moduledir]) AC_SUBST([driverdir]) sdkdir="$includedir/xorg" extdir="$includedir/X11/extensions" AC_SUBST([sdkdir]) AC_SUBST([extdir]) AC_DEFINE(SHAPE,1,[Support SHAPE extension]) AC_MSG_CHECKING([whether to build Xdmx DDX]) if test x$DMX = xauto; then case $host_os in linux*) DMX="yes" ;; *) DMX="no" ;; esac fi AC_MSG_RESULT([$DMX]) if test "$DMX" = yes; then PKG_CHECK_MODULES([DMXMODULES], [xmuu xext x11 xrender xfont xi dmxproto]) fi AM_CONDITIONAL(DMX, [test x$DMX = xyes]) 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]) AM_CONDITIONAL(XORG, [test x$XORG = xyes]) AC_MSG_CHECKING([whether to build Xvfb DDX]) if test x$XVFB = xauto; then XVFB="yes" fi AC_MSG_RESULT([$XVFB]) AM_CONDITIONAL(XVFB, [test x$XVFB = xyes]) AC_MSG_CHECKING([whether to build Xnest DDX]) if test x$XNEST = xauto; then XNEST="yes" fi AC_MSG_RESULT([$XNEST]) if test "$XNEST" = yes; then PKG_CHECK_MODULES([XNESTMODULES],[xfont xext x11]) fi AM_CONDITIONAL(XNEST, [test x$XNEST = xyes]) dnl dnl Definitions for XWin DDX dnl 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 "$XWIN" = yes; then XWIN_SERVER_NAME=XWin case $host_os in cygwin*) PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfont]) AC_DEFINE(HAS_DEVWINDOWS,1,[Cygwin has /dev/windows for signaling new win32 messages]) AC_DEFINE(ROOTLESS,1,[Build Rootless code]) CFLAGS="$CFLAGS -DFD_SETSIZE=256" ;; mingw*) PKG_CHECK_MODULES([XWINMODULES],[x11 xdmcp xau xfont]) 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_SYSTEM_LIBS=-lwinsock2 ;; esac AC_SUBST(XWIN_SERVER_NAME) AC_SUBST(XWIN_SYSTEM_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(DDXOSINIT,1,[Use OsVendorInit]) AC_DEFINE(DDXTIME,1,[Use GetTimeInMillis]) AC_DEFINE(DDXOSFATALERROR,1,[Use OsVendorFatalError]) AC_DEFINE(DDXOSVERRORF,1,[Use OsVendorVErrorF]) AC_DEFINE(DDXBEFORERESET,1,[Use ddxBeforeReset ]) if test "$XF86VIDMODE" = yes; then AC_MSG_NOTICE([Disabling XF86VidMode extension]) XF86VIDMODE=no fi if test "$XF86MISC" = yes; then AC_MSG_NOTICE([Disabling XF86Misc extension]) XF86MISC=no fi if test "$COMPOSITE" = yes; then AC_MSG_NOTICE([Disabling Composite extension]) COMPOSITE=no fi fi AM_CONDITIONAL(XWIN, [test x$XWIN = xyes]) AM_CONDITIONAL(XWIN_MULTIWINDOW, [test x$XWIN = xyes && true]) AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test x$XWIN = xyes && false]) AM_CONDITIONAL(XWIN_CLIPBOARD, [test x$XWIN = xyes && true]) 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 && true]) AM_CONDITIONAL(XWIN_XV, [test x$XWIN = xyes -a x$XV = xyes]) AM_CONDITIONAL(MFB, [test x$XORG = xyes]) AM_CONDITIONAL(CFB, [test x$XORG = xyes]) AM_CONDITIONAL(AFB, [test x$XORG = xyes]) AM_CONDITIONAL(XV, [test x$XV = xyes]) if test "$XV" = yes; then AC_DEFINE(XV,1,[Support Xv Extension]) fi AM_CONDITIONAL(COMPOSITE, [test x$COMPOSITE = xyes]) if test "$COMPOSITE" = yes; then AC_DEFINE(COMPOSITE,1,[Support Composite Extension]) REQUIRED_MODULES="$REQUIRED_MODULES compositeproto" fi AM_CONDITIONAL(MITSHM, [test x$MITSHM = xyes]) if test "$MITSHM" = yes; then AC_DEFINE(MITSHM,1,[Support MIT-SHM Extension]) AC_DEFINE(HAS_SHM,1,[Support SHM]) fi if test "$UNIXCONN" = "yes"; then AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections]) fi if test "$TCPCONN" = "yes"; then AC_DEFINE(TCPCONN,1,[Support TCP socket connections]) fi if test "$IPV6CONN" = "yes"; then AC_DEFINE(IPv6,1,[Support IPv6 for TCP connections]) fi AC_DEFINE(XKB,1,[Build XKB]) AC_DEFINE(XKB_IN_SERVER,1,[Build XKB server]) AC_DEFINE(XKB_DFLT_DISABLED,0,[Enable XKB per default]) REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" AC_DEFINE(XINPUT,,[Build XInput]) AC_SUBST([XKB]) AM_CONDITIONAL(XTRAP, [test x$XTRAP = xyes]) if test "$XTRAP" = yes; then AC_DEFINE(XTRAP,1,[Support XTrap extension]) EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/XTrap/libxtrap.la' DMX_EXTENSIONS="$DMX_EXTENSIONS "'$(top_builddir)/XTrap/libxtrap.la' fi AM_CONDITIONAL(RECORD, [test x$RECORD = xyes]) if test "$RECORD" = yes; then AC_DEFINE(XRECORD,1,[Support Record extension]) REQUIRED_MODULES="$REQUIRED_MODULES recordproto" EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/record/librecord.la' DMX_EXTENSIONS="$DMX_EXTENSIONS "'$(top_builddir)/record/librecord.la' fi AM_CONDITIONAL(SCREENSAVER, [test x$SCREENSAVER = xyes]) if test "$SCREENSAVER" = yes; then AC_DEFINE(SCREENSAVER,1,[Support MIT-SCREEN-SAVER extension]) fi AM_CONDITIONAL(RES, [test x$RES = xyes]) if test "$RES" = yes; then AC_DEFINE(RES,1,[Support X resource extension]) REQUIRED_MODULES="$REQUIRED_MODULES resourceproto" fi AM_CONDITIONAL(XCSECURITY, [test x$XCSECURITY = xyes]) if test "$XCSECURITY" = yes; then AC_DEFINE(XCSECURITY,1,[Build Security extension]) fi if test "$GLX" = yes -a x$MESA_SOURCE != x; then AC_DEFINE(GLXEXT,1,[Build GLX extension]) GLX_LIBS='$(top_builddir)/GL/glx/libglx.la $(top_builddir)/GL/mesa/libGLcore.la' dnl EXTENSION_INCS="$EXTENSION_INCS "'-I$(top_srcdir)/glx' ( cd GL && ./symlink-mesa.sh $MESA_SOURCE . ) else GLX=no fi AM_CONDITIONAL(GLX, test x$GLX = xyes) AC_SUBST([MESA_SOURCE]) AM_CONDITIONAL(DRI, test x$DRI = xyes) if test "$DRI" = yes; then AC_DEFINE(XF86DRI,1,[Build DRI extension]) PKG_CHECK_MODULES([DRIPROTO], [xf86driproto]) AC_SUBST(DRIPROTO_CFLAGS) PKG_CHECK_MODULES([LIBDRM], [libdrm]) AC_SUBST(LIBDRM_CFLAGS) fi AC_DEFINE(XINPUT,1,[Support X Input extension]) EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/Xi/libXi.la' AM_CONDITIONAL(XINERAMA, [test x$XINERAMA = xyes]) if test "$XINERAMA" = yes; then AC_DEFINE(XINERAMA,1,[Support Xinerama extension]) AC_DEFINE(PANORAMIX,1,[Internal define for Xinerama]) REQUIRED_MODULES="$REQUIRED_MODULES panoramixproto" fi AM_CONDITIONAL(XCSECURITY, [test x$XCSECURITY = xyes]) if test "$XCSECURITY" = yes; then AC_DEFINE(XCSECURITY,1,[Build Security extension]) fi AM_CONDITIONAL(XEVIE, [test x$XEVIE = xyes]) if test "$XEVIE" = yes; then AC_DEFINE(XEVIE,1,[Build XEvIE extension]) fi AM_CONDITIONAL(XLOADABLE, [test x$XLOADABLE = xyes]) if test "$XLOADABLE" = yes; then AC_DEFINE(XLOADABLE,1,[Support loadable input and output drivers]) fi PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], [have_libxdmcp="no"]) if test "$have_libxdmcp" = yes; then AC_CHECK_LIB(Xdmcp, XdmcpWrap, [have_xdmcpwrap="yes"], [have_xdmcpwrap="no"], [$XDMCP_LIBS]) fi if test x$XDMCP = xauto; then if test $have_libxdmcp = yes; then XDMCP=yes else XDMCP=no fi fi if test x$XDMAUTH = xauto; then if test $have_libxdmcp = yes -a x$have_xdmcpwrap = xyes; then XDMAUTH=yes else XDMAUTH=no fi fi AM_CONDITIONAL(XDMCP, [test x$XDMCP = xyes]) if test "$XDMCP" = yes; then AC_DEFINE(XDMCP,1,[Support Xdmcp]) REQUIRED_MODULES="$REQUIRED_MODULES xdmcp" fi AM_CONDITIONAL(XDMAUTH, [test x$XDMAUTH = xyes]) if test "$XDMAUTH" = yes; then AC_DEFINE(HASXDMAUTH,1,[Support XDM-AUTH*-1]) if test "x$XDMCP" != yes; then REQUIRED_MODULES="$REQUIRED_MODULES xdmcp" fi fi if test "$ac_cv_header_tslib_h" = yes; then AC_DEFINE(TSLIB, 1, [Include tslib touchscreen driver]) TSLIB=yes else TSLIB=no fi AM_CONDITIONAL(TSLIB, [test x$TSLIB = xyes]) if test "$TSLIB" = yes; then AC_DEFINE(TSLIB,1,[Support tslib touchscreen abstraction library]) else dnl Make sure tslib and ipaq ts dont *both* get enabled. if test "$ac_cv_header_linux_h3600_ts_h" = yes; then AC_DEFINE(H3600_TS, 1, [Include handhelds.org h3600 touchscreen driver]) H3600_TS=yes else H3600_TS=no fi fi AM_CONDITIONAL(H3600_TS, [test "$H3600_TS" = yes]) if test "$TSLIB" = yes -o "$H3600_TS" = yes; then AC_DEFINE(TOUCHSCREEN,1,[Enable touchscreen support]) fi AM_CONDITIONAL(USE_RGB_BUILTIN, [test x$USE_RGB_BUILTIN = xyes]) if test "$USE_RGB_BUILTIN" = yes; then AC_DEFINE(USE_RGB_BUILTIN,1,[Use builtin rgb color database]) fi # yes, this is redundant. bite me. PKG_CHECK_MODULES(XFONT, xfont) #AC_CHECK_LIB(Xfont, fs_register_fpe_functions, [have_xfont_fc="yes"], [have_xfont_fc="no"], [$XFONT_LIBS]) #if test "$have_xfont_fc" = no; then # AC_MSG_ERROR([Your version of libXfont was not compiled with # --enable-fc. Please recompile libXfont with # --enable-fc.]) #fi AC_DEFINE_UNQUOTED(COMPILEDDEFAULTFONTPATH, ["$FONTPATH"], [Default font path]) AC_DEFINE_UNQUOTED(XVENDORNAME,["$VENDOR_STRING"], [Vendor name]) AC_DEFINE_UNQUOTED(XORG_RELEASE, ["$VENDOR_RELEASE"], [Vendor release]) AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address]) AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name]) AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor]) dnl dnl A bunch of configuration values which shouldn't be optional dnl AC_DEFINE(RENDER,1,[Support RENDER extension]) EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/render/librender.la' EXTENSION_INCS="$EXTENSION_INCS "'-I$(top_srcdir)/render' AC_DEFINE(RANDR,1,[Support RANDR extension]) EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/randr/librandr.la' EXTENSION_INCS="$EXTENSION_INCS "-I'$(top_srcdir)/randr' AC_DEFINE(DDXOSINIT,1,[Use OsVendorInit]) AC_DEFINE(SERVER_LOCK,1,[Use a lock to prevent multiple servers on a display]) AC_DEFINE(SMART_SCHEDULE,1,[Include time-based scheduler]) if test x$DEBUGGING != xyes; then AC_DEFINE(NDEBUG,1,[Disable some debugging code]) fi AC_DEFINE(USE_RGB_TXT,1,[Use rgb.txt directly]) AC_DEFINE(MITMISC,1,[Support MIT Misc extension]) 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]) AC_DEFINE(PIXPRIV,1,[Support pixmap privates]) AC_DEFINE(XFIXES,1,[Support XFixes extension]) if test x$XF86VIDMODE = xyes; then AC_DEFINE(XF86VIDMODE,1,[Support XFree86 Video Mode extension]) fi if test x$XF86MIS = xyes; then AC_DEFINE(XF86MISC,1,[Support XFree86 miscellaneous extensions]) fi # must come first as it uses stuff in Shape -d EXTENSION_LIBS='$(top_builddir)/xfixes/libxfixes.la'" $EXTENSION_LIBS" EXTENSION_INCS="$EXTENSION_INCS "'-I$(top_srcdir)/xfixes' AC_DEFINE(DAMAGE,1,[Support Damage extension]) EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/damageext/libdamageext.la' EXTENSION_INCS="$EXTENSION_INCS "'-I$(top_srcdir)/damageext' if test "$COMPOSITE" = yes; then EXTENSION_LIBS="$EXTENSION_LIBS "'$(top_builddir)/composite/libcomposite.la' EXTENSION_INCS="$EXTENSION_INCS "'-I$(top_srcdir)/composite' fi DIX_LIB='$(top_builddir)/dix/libdix.la' OS_LIB='$(top_builddir)/os/libos.la' MI_LIB='$(top_builddir)/mi/libmi.la' MINIMI_LIB='$(top_builddir)/mi/libminimi.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' DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la' # damage (may) need the composite wrapper when composite is enabled if test "$COMPOSITE" = yes; then DAMAGE_LIB="$DAMAGE_LIB "'$(top_builddir)/miext/cw/libcw.la' fi DAMAGE_INC='-I$(top_srcdir)/miext/damage' SHADOW_INC='-I$(top_srcdir)/miext/shadow' SHADOW_LIB='$(top_builddir)/miext/shadow/libshadow.la' LAYER_LIB='$(top_builddir)/miext/layer/liblayer.la' XPSTUBS_LIB='$(top_builddir)/dix/libxpstubs.la' XKB_LIB='$(top_builddir)/xkb/libxkb.la' XI_LIB='$(top_builddir)/Xi/libXi.la' XI_INC='-I$(top_srcdir)/Xi' CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include' PKG_CHECK_MODULES([XSERVER], [$REQUIRED_MODULES]) XSERVER_LIBS="${XSERVER_LIBS} -lm -lz" XORG_CORE_LIBS="$DIX_LIB" XORG_LIBS="$MI_LIB $EXTENSION_LIBS $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $XPSTUBS_LIB $OS_LIB" XVFB_LIBS="$FB_LIB $MI_LIB $GLX_LIBS $EXTENSION_LIBS $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $XPSTUBS_LIB $OS_LIB" XNEST_LIBS="$FB_LIB $MI_LIB $GLX_LIBS $EXTENSION_LIBS $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $XPSTUBS_LIB $OS_LIB" XWIN_LIBS="$FB_LIB $MI_LIB $EXTENSION_LIBS $XI_LIB $XKB_LIB $COMPOSITE_LIB $DAMAGE_LIB $LAYER_LIB $XPSTUBS_LIB $OS_LIB $SHADOW_LIB" XDMX_LIBS="$FB_LIB $MI_LIB $DMX_EXTENSIONS $EXTENSION_LIBS $XI_LIB $XKB_LIB $DAMAGE_LIB $OS_LIB $SHADOW_LIB" 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" XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $EXTENSION_INCS $MI_INC $DAMAGE_INC $SHADOW_INC $FB_INC $XI_INC" AC_DEFINE_UNQUOTED(X_BYTE_ORDER,[$ENDIAN],[Endian order]) XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H" # Imake defines SVR4 on SVR4 systems, and many files check for it, so # 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])) test x$XORG = xyes && case $host_os in linux*) XORG_OS="linux" XORG_OS_SUBDIR="linux" XORG_OS_KBD="Lnx" case $host_cpu in ia64*) linux_ia64=yes ;; *) ;; esac ;; freebsd*) XORG_OS="freebsd" XORG_OS_SUBDIR="bsd" XORG_OS_KBD="BSD" ;; netbsd*) XORG_OS="netbsd" XORG_OS_SUBDIR="bsd" XORG_OS_KBD="BSD" ;; openbsd*) XORG_OS="openbsd" XORG_OS_SUBDIR="bsd" XORG_OS_KBD="BSD" ;; solaris*) XORG_OS="solaris" XORG_OS_SUBDIR="solaris" # This really should be tests for specific features, but the #ifdef's # were done as a simple version check in XFree86 4.x and haven't been # fixed yet 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}" -ge 8 ; then AC_DEFINE(__SOL8__,1,[Solaris 8 or later]) 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*) XORG_OS_PCI="sparc" SOLARIS_INOUT_ARCH="sparcv8plus" ;; i*86) XORG_OS_PCI="ix86" if test x$SOLARIS_64 = xyes ; then SOLARIS_INOUT_ARCH="amd64" else SOLARIS_INOUT_ARCH="ia32" fi if test "${OS_MINOR}" -lt 8 ; then solaris_usl_console="yes" 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 XORG_CFLAGS="${XORG_CFLAGS} "'$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-${SOLARIS_INOUT_ARCH}.il' fi ;; *) 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 if test x$XORG_OS_PCI = x ; then XORG_OS_PCI=$XORG_OS fi AC_SUBST([XORG_CORE_LIBS]) AC_SUBST([XORG_LIBS]) AC_SUBST([XVFB_LIBS]) AC_SUBST([XNEST_LIBS]) AC_SUBST([XWIN_LIBS]) AC_SUBST([EXTENSION_LIBS]) AC_SUBST([XDMX_LIBS]) AC_SUBST([XORG_INCS]) AC_SUBST([XORG_OS]) AC_SUBST([XORG_OS_SUBDIR]) AC_SUBST([XORG_OS_KBD]) AC_SUBST([XORG_OS_PCI]) AM_CONDITIONAL([XORG_BUS_IX86PCI], [test "x$xorg_bus_ix86pci" = xyes]) AM_CONDITIONAL([XORG_BUS_SBUS], [test "x$xorg_bus_sbus" = xyes]) AM_CONDITIONAL([LINUX_IA64], [test "x$linux_ia64" = xyes]) AM_CONDITIONAL([SOLARIS_USL_CONSOLE], [test "x$solaris_usl_console" = xyes]) AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes]) dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers) XKBDIR="$datadir/X11/xkb" AC_DEFINE(__XKBDEFRULES__,"xorg",[Default XKB rules]) AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBDIR, [Path to XKB data]) dnl these only go in xorg-config.h CONFIGFILE="$sysconfdir/xorg.conf" LOGPREFIX="$localstatedir/log/Xorg." AC_DEFINE(XFree86Server,1,[Building XFree86 server]) AC_DEFINE(XORGSERVER,,[Building Xorg server]) AC_DEFINE(XFree86LOADER,1,[Building XFree86 loader]) AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT,[XF86_VERSION_NUMERIC($VERSION_STRING)],[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]) # XXX HACK! if anyone cares about elfloader in 7.0 you need to # XXX do something smarter here. AC_DEFINE(DLOPEN_HACK,1,[Prefer dlloader modules to elfloader]) AC_DEFINE(DLOPEN_SUPPORT,1,[Use libdl-based loader]) AC_DEFINE(DRIVERS,{},[Built-in output drivers]) AC_DEFINE(IDRIVERS,{},[Built-in input drivers]) AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE,[Location of configuration file]) AC_DEFINE_DIR(XF86CONFIGFILE, CONFIGFILE, [Path to Xorg configuration file]) AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path]) AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location]) AC_DEFINE(XORGSERVER,,[Build Xorg server]) AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support]) dnl only used in hw/xfree86/scanpci, TTBOMK 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) dnl and the rest of these are generic, so they're in config.h AC_DEFINE(XFree86XDGA,1,[Build XDGA support]) AC_DEFINE(XF86BIGFONT,1,[Build XFree86 BigFont extension]) AC_DEFINE(XResExtension,1,[Build XRes extension]) AC_DEFINE(DPMSExtension,1,[Build DPMS extension]) dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined dnl _*_SOURCE on Solaris restricts to the standards, and removes non-standard dnl functions which X uses case $host_os in cygwin*) ;; solaris*) ;; darwin*) echo $host_cpu case $host_cpu in powerpc*) CFLAGS="$CFLAGS -D__powerpc__" ;; # eew esac ;; *) AC_DEFINE(_POSIX_SOURCE,1,[POSIX-compliant source]) AC_DEFINE(_XOPEN_SOURCE,500,[X/Open-compliant source]) AC_DEFINE(_BSD_SOURCE,1,[BSD-compliant source]) ;; esac if test "x$GCC" = "xyes"; then GCC_WARNINGS1="-Wall -Wpointer-arith -Wstrict-prototypes" GCC_WARNINGS2="-Wmissing-prototypes -Wmissing-declarations" GCC_WARNINGS3="-Wnested-externs -fno-strict-aliasing" GCC_WARNINGS="$GCC_WARNINGS1 $GCC_WARNINGS2 $GCC_WARNINGS3" if test "x$WERROR" = "xyes"; then GCC_WARNINGS="${GCC_WARNINGS} -Werror" fi XSERVER_CFLAGS="$GCC_WARNINGS $XSERVER_CFLAGS" fi # The Xorg binary needs to export symbols so that they can be used from modules # Some platforms require extra flags to do this. gcc should set these flags # when -rdynamic is passed to it, other compilers/linkers may need to be added # here. if test "x$GCC" = "xyes"; then LD_EXPORT_SYMBOLS_FLAG="-rdynamic" fi AC_SUBST([LD_EXPORT_SYMBOLS_FLAG]) AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix]) AC_SUBST([XORG_CFLAGS]) CFLAGS="$XSERVER_CFLAGS $CFLAGS" AC_SUBST([CFLAGS]) BUILD_DATE="$(date +'%Y%m%d')" AC_SUBST([BUILD_DATE]) DIX_CFLAGS="-DHAVE_DIX_CONFIG_H" AC_SUBST([DIX_CFLAGS]) AC_MSG_CHECKING(if unaligned word accesses behave as expected) AC_TRY_RUN([ #include int main() { char j[8]={1,2,3,4,5,6,7,8}; int k= *(int *)(j+1); if(k==0x02030405 || k==0x05040302) return 0; return 1; } ], [AC_DEFINE(WORKING_UNALIGNED_INT, 1, [unaligned word accesses behave as expected]) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no), AC_MSG_RESULT(assuming not on target machine)) AC_SUBST([libdir exec_prefix prefix]) XORG_RELEASE_VERSION AC_OUTPUT([ Makefile GL/Makefile GL/glx/Makefile GL/include/Makefile GL/include/GL/Makefile GL/mesa/Makefile GL/mesa/array_cache/Makefile GL/mesa/glapi/Makefile GL/mesa/main/Makefile GL/mesa/math/Makefile GL/mesa/shader/Makefile GL/mesa/shader/grammar/Makefile GL/mesa/shader/slang/Makefile GL/mesa/swrast/Makefile GL/mesa/swrast_setup/Makefile GL/mesa/tnl/Makefile GL/mesa/X/Makefile include/Makefile afb/Makefile composite/Makefile damageext/Makefile dbe/Makefile dix/Makefile fb/Makefile record/Makefile XTrap/Makefile mfb/Makefile cfb/Makefile cfb16/Makefile cfb24/Makefile cfb32/Makefile mi/Makefile miext/Makefile miext/damage/Makefile miext/shadow/Makefile miext/cw/Makefile miext/layer/Makefile os/Makefile randr/Makefile render/Makefile xkb/Makefile Xext/Makefile Xi/Makefile xfixes/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/dri/Makefile hw/xfree86/dummylib/Makefile hw/xfree86/exa/Makefile hw/xfree86/fbdevhw/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bus/Makefile hw/xfree86/os-support/drm/Makefile hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/solaris/Makefile hw/xfree86/parser/Makefile hw/xfree86/rac/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/scanpci/Makefile hw/xfree86/shadowfb/Makefile hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/xaa/Makefile hw/xfree86/xf1bpp/Makefile hw/xfree86/xf4bpp/Makefile hw/xfree86/xf8_16bpp/Makefile hw/xfree86/xf8_32wid/Makefile hw/dmx/config/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile hw/dmx/Makefile hw/vfb/Makefile hw/xnest/Makefile hw/xwin/Makefile xorg-server.pc ])