AC_PREREQ([2.60]) AC_INIT([Xproto], [7.0.17], [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 AC_CONFIG_HEADER([do-not-use-config.h]) AC_CONFIG_HEADER([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 Xpoll.h xproto.pc])