summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac372
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])