diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 372 |
1 files changed, 372 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..0124d98 --- /dev/null +++ b/configure.ac @@ -0,0 +1,372 @@ +dnl +dnl Copyright © 2010 Keith Packard +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 name of Keith Packard not be used in +dnl advertising or publicity pertaining to distribution of the software without +dnl specific, written prior permission. Keith Packard makes no +dnl representations about the suitability of this software for any purpose. It +dnl is provided "as is" without express or implied warranty. +dnl +dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +dnl 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.60]) +AC_INIT([Proto], [0.0.99.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +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.3 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.3) +XORG_DEFAULT_OPTIONS + +APPLEWMPROTO_VERSION=1.4.1 +AC_SUBST(APPLEWMPROTO_VERSION) +BIGREQSPROTO_VERSION=1.1.0 +AC_SUBST(BIGREQSPROTO_VERSION) +CALIBRATEPROTO_VERSION=0.1.0 +AC_SUBST(CALIBRATEPROTO_VERSION) +COMPOSITEPROTO_VERSION=0.4.1 +AC_SUBST(COMPOSITEPROTO_VERSION) +DAMAGEPROTO_VERSION=1.2.0 +AC_SUBST(DAMAGEPROTO_VERSION) +DMXPROTO_VERSION=2.3 +AC_SUBST(DMXPROTO_VERSION) +DRI2PROTO_VERSION=2.3 +AC_SUBST(DRI2PROTO_VERSION) +EVIEPROTO_VERSION=1.1.0 +AC_SUBST(EVIEPROTO_VERSION) +FIXESPROTO_VERSION=4.1.1 +AC_SUBST(FIXESPROTO_VERSION) +FONTCACHEPROTO_VERSION=0.1.3 +AC_SUBST(FONTCACHEPROTO_VERSION) +FONTSPROTO_VERSION=2.1.0 +AC_SUBST(FONTSPROTO_VERSION) +GLPROTO_VERSION=1.4.11 +AC_SUBST(GLPROTO_VERSION) +INPUTPROTO_VERSION=2.0 +AC_SUBST(INPUTPROTO_VERSION) +KBPROTO_VERSION=1.0.4 +AC_SUBST(KBPROTO_VERSION) +LG3DPROTO_VERSION=5.0 +AC_SUBST(LG3DPROTO_VERSION) +PMPROTO_VERSION=1.0.3 +AC_SUBST(PMPROTO_VERSION) +PRINTPROTO_VERSION=1.0.4 +AC_SUBST(PRINTPROTO_VERSION) +RANDRPROTO_VERSION=1.3.1 +AC_SUBST(RANDRPROTO_VERSION) +RECORDPROTO_VERSION=1.14 +AC_SUBST(RECORDPROTO_VERSION) +RENDERPROTO_VERSION=0.11 +AC_SUBST(RENDERPROTO_VERSION) +RESOURCEPROTO_VERSION=1.1.0 +AC_SUBST(RESOURCEPROTO_VERSION) +SCRNSAVERPROTO_VERSION=1.2.0 +AC_SUBST(SCRNSAVERPROTO_VERSION) +TRAPPROTO_VERSION=3.4.3 +AC_SUBST(TRAPPROTO_VERSION) +VIDEOPROTO_VERSION=2.3.0 +AC_SUBST(VIDEOPROTO_VERSION) +WINDOWSWMPROTO_VERSION=1.0.4 +AC_SUBST(WINDOWSWMPROTO_VERSION) +X11PROTO_VERSION=7.0.16 +AC_SUBST(X11PROTO_VERSION) +XCMISCPROTO_VERSION=1.2.0 +AC_SUBST(XCMISCPROTO_VERSION) +XEXTPROTO_VERSION=7.1.1 +AC_SUBST(XEXTPROTO_VERSION) +XF86BIGFONTPROTO_VERSION=1.2.0 +AC_SUBST(XF86BIGFONTPROTO_VERSION) +XF86DGAPROTO_VERSION=2.1 +AC_SUBST(XF86DGAPROTO_VERSION) +XF86DRIPROTO_VERSION=2.1.0 +AC_SUBST(XF86DRIPROTO_VERSION) +XF86MISCPROTO_VERSION=0.9.3 +AC_SUBST(XF86MISCPROTO_VERSION) +XF86RUSHPROTO_VERSION=1.1.2 +AC_SUBST(XF86RUSHPROTO_VERSION) +XF86VIDMODEPROTO_VERSION=2.3 +AC_SUBST(XF86VIDMODEPROTO_VERSION) +XINERAMAPROTO_VERSION=1.2 +AC_SUBST(XINERAMAPROTO_VERSION) + +AC_CONFIG_HEADER([x11proto/do-not-use-config.h]) +AC_CONFIG_HEADER([x11proto/Xfuncproto.h]) + +AC_CANONICAL_HOST + +m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))]) + +# Check for enable/disable options +AC_ARG_ENABLE(function-prototypes, + AS_HELP_STRING([--enable-function-prototypes], + [force function prototypes (default: auto)]), + [FUNCPROTO=$enableval], [FUNCPROTO=auto]) +AC_ARG_ENABLE(varargs-prototypes, + AS_HELP_STRING([--enable-varargs-prototypes], + [varargs prototypes are supported (default: auto)]), + [VAPROTO=$enableval], [VAPROTO=auto]) +AC_ARG_ENABLE(const-prototypes, + AS_HELP_STRING([--enable-const-prototypes], + [const is supported (default: auto)]), + [CONSTPROTO=$enableval], [CONSTPROTO=auto]) +AC_ARG_ENABLE(nested-prototypes, + AS_HELP_STRING([--enable-nested-prototypes], + [nested prototypes are supported (default: auto)]), + [NESTEDPROTO=$enableval], [NESTEDPROTO=auto]) +AC_ARG_ENABLE(wide-prototypes, + AS_HELP_STRING([--enable-wide-prototypes], + [widen function prototypes (default: auto)]), + [WIDEPROTO=$enableval], [WIDEPROTO=auto]) + + +AC_CHECK_HEADERS([sys/select.h sys/param.h sys/types.h sys/time.h]) + +# Handle Xpoll.h.in +# Avoid determining fds_bits on WIN32 hosts (not including cygwin) +case $host_os in + mingw*) fds_bits_found=true;; + *) fds_bits_found=false;; +esac + +if test "x$fds_bits_found" = xfalse ; then + AC_CHECK_MEMBER(fd_set.fds_bits, + [ + fds_bits_found=plain + USE_FDS_BITS="fds_bits" + ],, + [ + #ifdef HAVE_SYS_PARAM_H + #include <sys/param.h> + #endif + #ifdef HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif + #ifdef HAVE_SYS_TIME_H + #include <sys/time.h> + #endif + #ifdef HAVE_SYS_SELECT_H + #include <sys/select.h> + #endif + ]) +fi + +if test "x$fds_bits_found" = xfalse ; then + AC_CHECK_MEMBER(fd_set.__fds_bits, + [ + fds_bits_found=underscores + USE_FDS_BITS="__fds_bits" + ],, + [ + #ifdef HAVE_SYS_PARAM_H + #include <sys/param.h> + #endif + #ifdef HAVE_SYS_TYPES_H + #include <sys/types.h> + #endif + #ifdef HAVE_SYS_TIME_H + #include <sys/time.h> + #endif + #ifdef HAVE_SYS_SELECT_H + #include <sys/select.h> + #endif + ]) +fi + +if test "x$fds_bits_found" = xfalse ; then + AC_MSG_ERROR([Could not determine how to access the fds_bits or equivalent + structure in fd_set on your platform.]) +fi + +AC_SUBST([USE_FDS_BITS]) + + +# Handle Xfuncproto.h +AC_MSG_CHECKING([whether const prototypes are supported]) +if test "x$CONSTPROTO" = xauto; then + case $host_os in + linux*) CONSTPROTO=yes ;; + freebsd*) CONSTPROTO=yes ;; + netbsd*) CONSTPROTO=yes ;; + openbsd*) CONSTPROTO=yes ;; + solaris*) CONSTPROTO=yes ;; + *) CONSTPROTO=no ;; + esac +fi +AC_MSG_RESULT([$CONSTPROTO]) + +AC_MSG_CHECKING([whether varargs prototypes are supported]) +if test "x$VAPROTO" = xauto; then + case $host_os in + linux*) VAPROTO=yes ;; + freebsd*) VAPROTO=yes ;; + netbsd*) VAPROTO=yes ;; + openbsd*) VAPROTO=yes ;; + solaris*) VAPROTO=yes ;; + *) VAPROTO=no ;; + esac +fi +AC_MSG_RESULT([$VAPROTO]) + +AC_MSG_CHECKING([whether nested prototypes are supported]) +if test "x$NESTEDPROTO" = xauto; then + case $host_os in + linux*) NESTEDPROTO=yes ;; + freebsd*) NESTEDPROTO=yes ;; + netbsd*) NESTEDPROTO=yes ;; + openbsd*) NESTEDPROTO=yes ;; + solaris*) NESTEDPROTO=yes ;; + *) NESTEDPROTO=no ;; + esac +fi +AC_MSG_RESULT([$NESTEDPROTO]) + +AC_MSG_CHECKING([whether to force function prototypes]) +if test "x$FUNCPROTO" = xauto; then + case $host_os in + linux*) FUNCPROTO=yes ;; + freebsd*) FUNCPROTO=yes ;; + netbsd*) FUNCPROTO=yes ;; + openbsd*) FUNCPROTO=yes ;; + *) + if test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then + FUNCPROTO=yes + else + FUNCPROTO=no + fi + ;; + esac +fi +AC_MSG_RESULT([$FUNCPROTO]) + +# Logic for this was taken from Imake.tmpl +if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes && test "x$CONSTPROTO" = xyes; then + AC_DEFINE(FUNCPROTO, [15], [FUNCPROTO]) +else + if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then + AC_DEFINE(FUNCPROTO, [11], [FUNCPROTO]) + else + if test "x$FUNCPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then + AC_DEFINE(FUNCPROTO, [9], [FUNCPROTO]) + else + if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$CONSTPROTO" = xyes; then + AC_DEFINE(FUNCPROTO, [7], [FUNCPROTO]) + else + if test "x$FUNCPROTO" = xyes && test "x$CONSTPROTO" = xyes; then + AC_DEFINE(FUNCPROTO, [5], [FUNCPROTO]) + else + if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes; then + AC_DEFINE(FUNCPROTO, [3], [FUNCPROTO]) + else + if test "x$FUNCPROTO" = xyes; then + AC_DEFINE(FUNCPROTO, [], [FUNCPROTO]) + fi + fi + fi + fi + fi + fi +fi + +AC_MSG_CHECKING([whether to widen function prototypes]) +if test "x$WIDEPROTO" = xauto; then + case $host_os in + linux*) WIDEPROTO=no ;; + freebsd*) WIDEPROTO=no ;; + netbsd*) WIDEPROTO=no ;; + openbsd*) WIDEPROTO=no ;; + *) WIDEPROTO=yes ;; + esac +fi +AC_MSG_RESULT([$WIDEPROTO]) + +if test "x$WIDEPROTO" = xno; then + AC_DEFINE(NARROWPROTO, [], [Narrow prototypes]) +fi + + +AC_OUTPUT([Makefile + applewmproto/Makefile + applewmproto/applewmproto.pc + bigreqsproto/Makefile + bigreqsproto/bigreqsproto.pc + calibrateproto/Makefile + calibrateproto/xcalibrateproto.pc + compositeproto/Makefile + compositeproto/compositeproto.pc + damageproto/Makefile + damageproto/damageproto.pc + dmxproto/Makefile + dmxproto/dmxproto.pc + dri2proto/Makefile + dri2proto/dri2proto.pc + evieproto/Makefile + evieproto/evieproto.pc + fixesproto/Makefile + fixesproto/fixesproto.pc + fontcacheproto/Makefile + fontcacheproto/fontcacheproto.pc + fontsproto/Makefile + fontsproto/fontsproto.pc + glproto/Makefile + glproto/glproto.pc + inputproto/Makefile + inputproto/inputproto.pc + kbproto/Makefile + kbproto/kbproto.pc + lg3dproto/Makefile + lg3dproto/lg3dproto.pc + pmproto/Makefile + pmproto/xproxymngproto.pc + printproto/Makefile + printproto/printproto.pc + randrproto/Makefile + randrproto/randrproto.pc + recordproto/Makefile + recordproto/recordproto.pc + renderproto/Makefile + renderproto/renderproto.pc + resourceproto/Makefile + resourceproto/resourceproto.pc + scrnsaverproto/Makefile + scrnsaverproto/scrnsaverproto.pc + trapproto/Makefile + trapproto/trapproto.pc + videoproto/Makefile + videoproto/videoproto.pc + windowswmproto/Makefile + windowswmproto/windowswmproto.pc + x11proto/Makefile + x11proto/Xpoll.h + x11proto/xproto.pc + xcmiscproto/Makefile + xcmiscproto/xcmiscproto.pc + xextproto/Makefile + xextproto/xextproto.pc + xf86bigfontproto/Makefile + xf86bigfontproto/xf86bigfontproto.pc + xf86dgaproto/Makefile + xf86dgaproto/xf86dgaproto.pc + xf86driproto/Makefile + xf86driproto/xf86driproto.pc + xf86miscproto/Makefile + xf86miscproto/xf86miscproto.pc + xf86rushproto/Makefile + xf86rushproto/xf86rushproto.pc + xf86vidmodeproto/Makefile + xf86vidmodeproto/xf86vidmodeproto.pc + xineramaproto/Makefile + xineramaproto/xineramaproto.pc]) |