743 lines
24 KiB
Diff
743 lines
24 KiB
Diff
|
--- /dev/null
|
||
|
+++ b/pkg.m4
|
||
|
@@ -0,0 +1,156 @@
|
||
|
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||
|
+#
|
||
|
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||
|
+#
|
||
|
+# This program is free software; you can redistribute it and/or modify
|
||
|
+# it under the terms of the GNU General Public License as published by
|
||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||
|
+# (at your option) any later version.
|
||
|
+#
|
||
|
+# This program is distributed in the hope that it will be useful, but
|
||
|
+# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
+# General Public License for more details.
|
||
|
+#
|
||
|
+# You should have received a copy of the GNU General Public License
|
||
|
+# along with this program; if not, write to the Free Software
|
||
|
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||
|
+#
|
||
|
+# As a special exception to the GNU General Public License, if you
|
||
|
+# distribute this file as part of a program that contains a
|
||
|
+# configuration script generated by Autoconf, you may include it under
|
||
|
+# the same distribution terms that you use for the rest of that program.
|
||
|
+
|
||
|
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
||
|
+# ----------------------------------
|
||
|
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
||
|
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||
|
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
|
||
|
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
|
||
|
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||
|
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||
|
+fi
|
||
|
+if test -n "$PKG_CONFIG"; then
|
||
|
+ _pkg_min_version=m4_default([$1], [0.9.0])
|
||
|
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
||
|
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||
|
+ AC_MSG_RESULT([yes])
|
||
|
+ else
|
||
|
+ AC_MSG_RESULT([no])
|
||
|
+ PKG_CONFIG=""
|
||
|
+ fi
|
||
|
+
|
||
|
+fi[]dnl
|
||
|
+])# PKG_PROG_PKG_CONFIG
|
||
|
+
|
||
|
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||
|
+#
|
||
|
+# Check to see whether a particular set of modules exists. Similar
|
||
|
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||
|
+#
|
||
|
+#
|
||
|
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
|
||
|
+# this or PKG_CHECK_MODULES is called, or make sure to call
|
||
|
+# PKG_CHECK_EXISTS manually
|
||
|
+# --------------------------------------------------------------
|
||
|
+AC_DEFUN([PKG_CHECK_EXISTS],
|
||
|
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||
|
+if test -n "$PKG_CONFIG" && \
|
||
|
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||
|
+ m4_ifval([$2], [$2], [:])
|
||
|
+m4_ifvaln([$3], [else
|
||
|
+ $3])dnl
|
||
|
+fi])
|
||
|
+
|
||
|
+
|
||
|
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||
|
+# ---------------------------------------------
|
||
|
+m4_define([_PKG_CONFIG],
|
||
|
+[if test -n "$$1"; then
|
||
|
+ pkg_cv_[]$1="$$1"
|
||
|
+ elif test -n "$PKG_CONFIG"; then
|
||
|
+ PKG_CHECK_EXISTS([$3],
|
||
|
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
|
||
|
+ [pkg_failed=yes])
|
||
|
+ else
|
||
|
+ pkg_failed=untried
|
||
|
+fi[]dnl
|
||
|
+])# _PKG_CONFIG
|
||
|
+
|
||
|
+# _PKG_SHORT_ERRORS_SUPPORTED
|
||
|
+# -----------------------------
|
||
|
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
||
|
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||
|
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||
|
+ _pkg_short_errors_supported=yes
|
||
|
+else
|
||
|
+ _pkg_short_errors_supported=no
|
||
|
+fi[]dnl
|
||
|
+])# _PKG_SHORT_ERRORS_SUPPORTED
|
||
|
+
|
||
|
+
|
||
|
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||
|
+# [ACTION-IF-NOT-FOUND])
|
||
|
+#
|
||
|
+#
|
||
|
+# Note that if there is a possibility the first call to
|
||
|
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
|
||
|
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
||
|
+#
|
||
|
+#
|
||
|
+# --------------------------------------------------------------
|
||
|
+AC_DEFUN([PKG_CHECK_MODULES],
|
||
|
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||
|
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||
|
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||
|
+
|
||
|
+pkg_failed=no
|
||
|
+AC_MSG_CHECKING([for $1])
|
||
|
+
|
||
|
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||
|
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||
|
+
|
||
|
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
||
|
+and $1[]_LIBS to avoid the need to call pkg-config.
|
||
|
+See the pkg-config man page for more details.])
|
||
|
+
|
||
|
+if test $pkg_failed = yes; then
|
||
|
+ _PKG_SHORT_ERRORS_SUPPORTED
|
||
|
+ if test $_pkg_short_errors_supported = yes; then
|
||
|
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
|
||
|
+ else
|
||
|
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
|
||
|
+ fi
|
||
|
+ # Put the nasty error message in config.log where it belongs
|
||
|
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||
|
+
|
||
|
+ ifelse([$4], , [AC_MSG_ERROR(dnl
|
||
|
+[Package requirements ($2) were not met:
|
||
|
+
|
||
|
+$$1_PKG_ERRORS
|
||
|
+
|
||
|
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||
|
+installed software in a non-standard prefix.
|
||
|
+
|
||
|
+_PKG_TEXT
|
||
|
+])],
|
||
|
+ [AC_MSG_RESULT([no])
|
||
|
+ $4])
|
||
|
+elif test $pkg_failed = untried; then
|
||
|
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
|
||
|
+[The pkg-config script could not be found or is too old. Make sure it
|
||
|
+is in your PATH or set the PKG_CONFIG environment variable to the full
|
||
|
+path to pkg-config.
|
||
|
+
|
||
|
+_PKG_TEXT
|
||
|
+
|
||
|
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
|
||
|
+ [$4])
|
||
|
+else
|
||
|
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||
|
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||
|
+ AC_MSG_RESULT([yes])
|
||
|
+ ifelse([$3], , :, [$3])
|
||
|
+fi[]dnl
|
||
|
+])# PKG_CHECK_MODULES
|
||
|
+
|
||
|
--- /dev/null
|
||
|
+++ b/xorg-macros.m4
|
||
|
@@ -0,0 +1,580 @@
|
||
|
+dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
|
||
|
+dnl
|
||
|
+dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
|
||
|
+dnl
|
||
|
+dnl Permission is hereby granted, free of charge, to any person obtaining a
|
||
|
+dnl copy of this software and associated documentation files (the
|
||
|
+dnl "Software"), to deal in the Software without restriction, including
|
||
|
+dnl without limitation the rights to use, copy, modify, merge, publish,
|
||
|
+dnl distribute, and/or sell copies of the Software, and to permit persons
|
||
|
+dnl to whom the Software is furnished to do so, provided that the above
|
||
|
+dnl copyright notice(s) and this permission notice appear in all copies of
|
||
|
+dnl the Software and that both the above copyright notice(s) and this
|
||
|
+dnl permission notice appear in supporting documentation.
|
||
|
+dnl
|
||
|
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
|
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
|
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||
|
+dnl OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||
|
+dnl HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||
|
+dnl INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||
|
+dnl FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||
|
+dnl NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||
|
+dnl WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
+dnl
|
||
|
+dnl Except as contained in this notice, the name of a copyright holder
|
||
|
+dnl shall not be used in advertising or otherwise to promote the sale, use
|
||
|
+dnl or other dealings in this Software without prior written authorization
|
||
|
+dnl of the copyright holder.
|
||
|
+
|
||
|
+# XORG_MACROS_VERSION(required-version)
|
||
|
+# -------------------------------------
|
||
|
+# Minimum version: 1.1.0
|
||
|
+#
|
||
|
+# If you're using a macro added in Version 1.1 or newer, include this in
|
||
|
+# your configure.ac with the minimum required version, such as:
|
||
|
+# XORG_MACROS_VERSION(1.1)
|
||
|
+#
|
||
|
+# To ensure that this macro is defined, also add:
|
||
|
+# m4_ifndef([XORG_MACROS_VERSION],
|
||
|
+# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
|
||
|
+#
|
||
|
+#
|
||
|
+# See the "minimum version" comment for each macro you use to see what
|
||
|
+# version you require.
|
||
|
+m4_defun([XORG_MACROS_VERSION],[
|
||
|
+m4_define([vers_have], [1.3.0])
|
||
|
+m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
|
||
|
+m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
|
||
|
+m4_if(m4_cmp(maj_have, maj_needed), 0,,
|
||
|
+ [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
|
||
|
+m4_if(m4_version_compare(vers_have, [$1]), -1,
|
||
|
+ [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
|
||
|
+m4_undefine([vers_have])
|
||
|
+m4_undefine([maj_have])
|
||
|
+m4_undefine([maj_needed])
|
||
|
+]) # XORG_MACROS_VERSION
|
||
|
+
|
||
|
+# XORG_PROG_RAWCPP()
|
||
|
+# ------------------
|
||
|
+# Minimum version: 1.0.0
|
||
|
+#
|
||
|
+# Find cpp program and necessary flags for use in pre-processing text files
|
||
|
+# such as man pages and config files
|
||
|
+AC_DEFUN([XORG_PROG_RAWCPP],[
|
||
|
+AC_REQUIRE([AC_PROG_CPP])
|
||
|
+AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
|
||
|
+ [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
|
||
|
+
|
||
|
+# Check for flag to avoid builtin definitions - assumes unix is predefined,
|
||
|
+# which is not the best choice for supporting other OS'es, but covers most
|
||
|
+# of the ones we need for now.
|
||
|
+AC_MSG_CHECKING([if $RAWCPP requires -undef])
|
||
|
+AC_LANG_CONFTEST([Does cpp redefine unix ?])
|
||
|
+if test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
|
||
|
+ AC_MSG_RESULT([no])
|
||
|
+else
|
||
|
+ if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
|
||
|
+ RAWCPPFLAGS=-undef
|
||
|
+ AC_MSG_RESULT([yes])
|
||
|
+ # under Cygwin unix is still defined even with -undef
|
||
|
+ elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
|
||
|
+ RAWCPPFLAGS="-undef -ansi"
|
||
|
+ AC_MSG_RESULT([yes, with -ansi])
|
||
|
+ else
|
||
|
+ AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef. I don't know what to do.])
|
||
|
+ fi
|
||
|
+fi
|
||
|
+rm -f conftest.$ac_ext
|
||
|
+
|
||
|
+AC_MSG_CHECKING([if $RAWCPP requires -traditional])
|
||
|
+AC_LANG_CONFTEST([Does cpp preserve "whitespace"?])
|
||
|
+if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||
|
+ AC_MSG_RESULT([no])
|
||
|
+else
|
||
|
+ if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||
|
+ RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
|
||
|
+ AC_MSG_RESULT([yes])
|
||
|
+ else
|
||
|
+ AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional. I don't know what to do.])
|
||
|
+ fi
|
||
|
+fi
|
||
|
+rm -f conftest.$ac_ext
|
||
|
+AC_SUBST(RAWCPPFLAGS)
|
||
|
+]) # XORG_PROG_RAWCPP
|
||
|
+
|
||
|
+# XORG_MANPAGE_SECTIONS()
|
||
|
+# -----------------------
|
||
|
+# Minimum version: 1.0.0
|
||
|
+#
|
||
|
+# Determine which sections man pages go in for the different man page types
|
||
|
+# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
|
||
|
+# Not sure if there's any better way than just hardcoding by OS name.
|
||
|
+# Override default settings by setting environment variables
|
||
|
+
|
||
|
+AC_DEFUN([XORG_MANPAGE_SECTIONS],[
|
||
|
+AC_REQUIRE([AC_CANONICAL_HOST])
|
||
|
+
|
||
|
+if test x$APP_MAN_SUFFIX = x ; then
|
||
|
+ APP_MAN_SUFFIX=1
|
||
|
+fi
|
||
|
+if test x$APP_MAN_DIR = x ; then
|
||
|
+ APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
|
||
|
+fi
|
||
|
+
|
||
|
+if test x$LIB_MAN_SUFFIX = x ; then
|
||
|
+ LIB_MAN_SUFFIX=3
|
||
|
+fi
|
||
|
+if test x$LIB_MAN_DIR = x ; then
|
||
|
+ LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
|
||
|
+fi
|
||
|
+
|
||
|
+if test x$FILE_MAN_SUFFIX = x ; then
|
||
|
+ case $host_os in
|
||
|
+ solaris*) FILE_MAN_SUFFIX=4 ;;
|
||
|
+ *) FILE_MAN_SUFFIX=5 ;;
|
||
|
+ esac
|
||
|
+fi
|
||
|
+if test x$FILE_MAN_DIR = x ; then
|
||
|
+ FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
|
||
|
+fi
|
||
|
+
|
||
|
+if test x$MISC_MAN_SUFFIX = x ; then
|
||
|
+ case $host_os in
|
||
|
+ solaris*) MISC_MAN_SUFFIX=5 ;;
|
||
|
+ *) MISC_MAN_SUFFIX=7 ;;
|
||
|
+ esac
|
||
|
+fi
|
||
|
+if test x$MISC_MAN_DIR = x ; then
|
||
|
+ MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
|
||
|
+fi
|
||
|
+
|
||
|
+if test x$DRIVER_MAN_SUFFIX = x ; then
|
||
|
+ case $host_os in
|
||
|
+ solaris*) DRIVER_MAN_SUFFIX=7 ;;
|
||
|
+ *) DRIVER_MAN_SUFFIX=4 ;;
|
||
|
+ esac
|
||
|
+fi
|
||
|
+if test x$DRIVER_MAN_DIR = x ; then
|
||
|
+ DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
|
||
|
+fi
|
||
|
+
|
||
|
+if test x$ADMIN_MAN_SUFFIX = x ; then
|
||
|
+ case $host_os in
|
||
|
+ solaris*) ADMIN_MAN_SUFFIX=1m ;;
|
||
|
+ *) ADMIN_MAN_SUFFIX=8 ;;
|
||
|
+ esac
|
||
|
+fi
|
||
|
+if test x$ADMIN_MAN_DIR = x ; then
|
||
|
+ ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
|
||
|
+fi
|
||
|
+
|
||
|
+
|
||
|
+AC_SUBST([APP_MAN_SUFFIX])
|
||
|
+AC_SUBST([LIB_MAN_SUFFIX])
|
||
|
+AC_SUBST([FILE_MAN_SUFFIX])
|
||
|
+AC_SUBST([MISC_MAN_SUFFIX])
|
||
|
+AC_SUBST([DRIVER_MAN_SUFFIX])
|
||
|
+AC_SUBST([ADMIN_MAN_SUFFIX])
|
||
|
+AC_SUBST([APP_MAN_DIR])
|
||
|
+AC_SUBST([LIB_MAN_DIR])
|
||
|
+AC_SUBST([FILE_MAN_DIR])
|
||
|
+AC_SUBST([MISC_MAN_DIR])
|
||
|
+AC_SUBST([DRIVER_MAN_DIR])
|
||
|
+AC_SUBST([ADMIN_MAN_DIR])
|
||
|
+]) # XORG_MANPAGE_SECTIONS
|
||
|
+
|
||
|
+# XORG_CHECK_LINUXDOC
|
||
|
+# -------------------
|
||
|
+# Minimum version: 1.0.0
|
||
|
+#
|
||
|
+# Defines the variable MAKE_TEXT if the necessary tools and
|
||
|
+# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
|
||
|
+# Whether or not the necessary tools and files are found can be checked
|
||
|
+# with the AM_CONDITIONAL "BUILD_LINUXDOC"
|
||
|
+AC_DEFUN([XORG_CHECK_LINUXDOC],[
|
||
|
+if test x$XORG_SGML_PATH = x ; then
|
||
|
+ XORG_SGML_PATH=$prefix/share/sgml
|
||
|
+fi
|
||
|
+HAVE_DEFS_ENT=
|
||
|
+
|
||
|
+if test x"$cross_compiling" = x"yes" ; then
|
||
|
+ HAVE_DEFS_ENT=no
|
||
|
+else
|
||
|
+ AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
|
||
|
+fi
|
||
|
+
|
||
|
+AC_PATH_PROG(LINUXDOC, linuxdoc)
|
||
|
+AC_PATH_PROG(PS2PDF, ps2pdf)
|
||
|
+
|
||
|
+AC_MSG_CHECKING([Whether to build documentation])
|
||
|
+
|
||
|
+if test x$HAVE_DEFS_ENT != x && test x$LINUXDOC != x ; then
|
||
|
+ BUILDDOC=yes
|
||
|
+else
|
||
|
+ BUILDDOC=no
|
||
|
+fi
|
||
|
+
|
||
|
+AM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
|
||
|
+
|
||
|
+AC_MSG_RESULT([$BUILDDOC])
|
||
|
+
|
||
|
+AC_MSG_CHECKING([Whether to build pdf documentation])
|
||
|
+
|
||
|
+if test x$PS2PDF != x && test x$BUILD_PDFDOC != xno; then
|
||
|
+ BUILDPDFDOC=yes
|
||
|
+else
|
||
|
+ BUILDPDFDOC=no
|
||
|
+fi
|
||
|
+
|
||
|
+AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
|
||
|
+
|
||
|
+AC_MSG_RESULT([$BUILDPDFDOC])
|
||
|
+
|
||
|
+MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt"
|
||
|
+MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
|
||
|
+MAKE_PDF="$PS2PDF"
|
||
|
+MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B html --split=0"
|
||
|
+
|
||
|
+AC_SUBST(MAKE_TEXT)
|
||
|
+AC_SUBST(MAKE_PS)
|
||
|
+AC_SUBST(MAKE_PDF)
|
||
|
+AC_SUBST(MAKE_HTML)
|
||
|
+]) # XORG_CHECK_LINUXDOC
|
||
|
+
|
||
|
+# XORG_CHECK_DOCBOOK
|
||
|
+# -------------------
|
||
|
+# Minimum version: 1.0.0
|
||
|
+#
|
||
|
+# Checks for the ability to build output formats from SGML DocBook source.
|
||
|
+# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
|
||
|
+# indicates whether the necessary tools and files are found and, if set,
|
||
|
+# $(MAKE_XXX) blah.sgml will produce blah.xxx.
|
||
|
+AC_DEFUN([XORG_CHECK_DOCBOOK],[
|
||
|
+if test x$XORG_SGML_PATH = x ; then
|
||
|
+ XORG_SGML_PATH=$prefix/share/sgml
|
||
|
+fi
|
||
|
+HAVE_DEFS_ENT=
|
||
|
+BUILDTXTDOC=no
|
||
|
+BUILDPDFDOC=no
|
||
|
+BUILDPSDOC=no
|
||
|
+BUILDHTMLDOC=no
|
||
|
+
|
||
|
+AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
|
||
|
+
|
||
|
+AC_PATH_PROG(DOCBOOKPS, docbook2ps)
|
||
|
+AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
|
||
|
+AC_PATH_PROG(DOCBOOKHTML, docbook2html)
|
||
|
+AC_PATH_PROG(DOCBOOKTXT, docbook2txt)
|
||
|
+
|
||
|
+AC_MSG_CHECKING([Whether to build text documentation])
|
||
|
+if test x$HAVE_DEFS_ENT != x && test x$DOCBOOKTXT != x &&
|
||
|
+ test x$BUILD_TXTDOC != xno; then
|
||
|
+ BUILDTXTDOC=yes
|
||
|
+fi
|
||
|
+AM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
|
||
|
+AC_MSG_RESULT([$BUILDTXTDOC])
|
||
|
+
|
||
|
+AC_MSG_CHECKING([Whether to build PDF documentation])
|
||
|
+if test x$HAVE_DEFS_ENT != x && test x$DOCBOOKPDF != x &&
|
||
|
+ test x$BUILD_PDFDOC != xno; then
|
||
|
+ BUILDPDFDOC=yes
|
||
|
+fi
|
||
|
+AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
|
||
|
+AC_MSG_RESULT([$BUILDPDFDOC])
|
||
|
+
|
||
|
+AC_MSG_CHECKING([Whether to build PostScript documentation])
|
||
|
+if test x$HAVE_DEFS_ENT != x && test x$DOCBOOKPS != x &&
|
||
|
+ test x$BUILD_PSDOC != xno; then
|
||
|
+ BUILDPSDOC=yes
|
||
|
+fi
|
||
|
+AM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
|
||
|
+AC_MSG_RESULT([$BUILDPSDOC])
|
||
|
+
|
||
|
+AC_MSG_CHECKING([Whether to build HTML documentation])
|
||
|
+if test x$HAVE_DEFS_ENT != x && test x$DOCBOOKHTML != x &&
|
||
|
+ test x$BUILD_HTMLDOC != xno; then
|
||
|
+ BUILDHTMLDOC=yes
|
||
|
+fi
|
||
|
+AM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
|
||
|
+AC_MSG_RESULT([$BUILDHTMLDOC])
|
||
|
+
|
||
|
+MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
|
||
|
+MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
|
||
|
+MAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
|
||
|
+MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
|
||
|
+
|
||
|
+AC_SUBST(MAKE_TEXT)
|
||
|
+AC_SUBST(MAKE_PS)
|
||
|
+AC_SUBST(MAKE_PDF)
|
||
|
+AC_SUBST(MAKE_HTML)
|
||
|
+]) # XORG_CHECK_DOCBOOK
|
||
|
+
|
||
|
+# XORG_CHECK_MALLOC_ZERO
|
||
|
+# ----------------------
|
||
|
+# Minimum version: 1.0.0
|
||
|
+#
|
||
|
+# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
|
||
|
+# malloc(0) returns NULL. Packages should add one of these cflags to
|
||
|
+# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
|
||
|
+AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
|
||
|
+AC_ARG_ENABLE(malloc0returnsnull,
|
||
|
+ AS_HELP_STRING([--enable-malloc0returnsnull],
|
||
|
+ [malloc(0) returns NULL (default: auto)]),
|
||
|
+ [MALLOC_ZERO_RETURNS_NULL=$enableval],
|
||
|
+ [MALLOC_ZERO_RETURNS_NULL=auto])
|
||
|
+
|
||
|
+AC_MSG_CHECKING([whether malloc(0) returns NULL])
|
||
|
+if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
|
||
|
+ AC_RUN_IFELSE([
|
||
|
+char *malloc();
|
||
|
+char *realloc();
|
||
|
+char *calloc();
|
||
|
+main() {
|
||
|
+ char *m0, *r0, *c0, *p;
|
||
|
+ m0 = malloc(0);
|
||
|
+ p = malloc(10);
|
||
|
+ r0 = realloc(p,0);
|
||
|
+ c0 = calloc(0);
|
||
|
+ exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
|
||
|
+}],
|
||
|
+ [MALLOC_ZERO_RETURNS_NULL=yes],
|
||
|
+ [MALLOC_ZERO_RETURNS_NULL=no])
|
||
|
+fi
|
||
|
+AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
|
||
|
+
|
||
|
+if test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
|
||
|
+ MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
|
||
|
+ XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
|
||
|
+ XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
|
||
|
+else
|
||
|
+ MALLOC_ZERO_CFLAGS=""
|
||
|
+ XMALLOC_ZERO_CFLAGS=""
|
||
|
+ XTMALLOC_ZERO_CFLAGS=""
|
||
|
+fi
|
||
|
+
|
||
|
+AC_SUBST([MALLOC_ZERO_CFLAGS])
|
||
|
+AC_SUBST([XMALLOC_ZERO_CFLAGS])
|
||
|
+AC_SUBST([XTMALLOC_ZERO_CFLAGS])
|
||
|
+]) # XORG_CHECK_MALLOC_ZERO
|
||
|
+
|
||
|
+# XORG_WITH_LINT()
|
||
|
+# ----------------
|
||
|
+# Minimum version: 1.1.0
|
||
|
+#
|
||
|
+# Sets up flags for source checkers such as lint and sparse if --with-lint
|
||
|
+# is specified. (Use --with-lint=sparse for sparse.)
|
||
|
+# Sets $LINT to name of source checker passed with --with-lint (default: lint)
|
||
|
+# Sets $LINT_FLAGS to flags to pass to source checker
|
||
|
+# Sets LINT automake conditional if enabled (default: disabled)
|
||
|
+#
|
||
|
+AC_DEFUN([XORG_WITH_LINT],[
|
||
|
+
|
||
|
+# Allow checking code with lint, sparse, etc.
|
||
|
+AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
|
||
|
+ [Use a lint-style source code checker (default: disabled)])],
|
||
|
+ [use_lint=$withval], [use_lint=no])
|
||
|
+if test "x$use_lint" = "xyes" ; then
|
||
|
+ LINT="lint"
|
||
|
+else
|
||
|
+ LINT="$use_lint"
|
||
|
+fi
|
||
|
+if test "x$LINT_FLAGS" = "x" -a "x$LINT" != "xno" ; then
|
||
|
+ case $LINT in
|
||
|
+ lint|*/lint)
|
||
|
+ case $host_os in
|
||
|
+ solaris*)
|
||
|
+ LINT_FLAGS="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
|
||
|
+ ;;
|
||
|
+ esac
|
||
|
+ ;;
|
||
|
+ esac
|
||
|
+fi
|
||
|
+
|
||
|
+AC_SUBST(LINT)
|
||
|
+AC_SUBST(LINT_FLAGS)
|
||
|
+AM_CONDITIONAL(LINT, [test x$LINT != xno])
|
||
|
+
|
||
|
+]) # XORG_WITH_LINT
|
||
|
+
|
||
|
+# XORG_LINT_LIBRARY(LIBNAME)
|
||
|
+# --------------------------
|
||
|
+# Minimum version: 1.1.0
|
||
|
+#
|
||
|
+# Sets up flags for building lint libraries for checking programs that call
|
||
|
+# functions in the library.
|
||
|
+# Disabled by default, enable with --enable-lint-library
|
||
|
+# Sets:
|
||
|
+# @LINTLIB@ - name of lint library file to make
|
||
|
+# MAKE_LINT_LIB - automake conditional
|
||
|
+#
|
||
|
+
|
||
|
+AC_DEFUN([XORG_LINT_LIBRARY],[
|
||
|
+AC_REQUIRE([XORG_WITH_LINT])
|
||
|
+# Build lint "library" for more indepth checks of programs calling this library
|
||
|
+AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
|
||
|
+ [Create lint library (default: disabled)])],
|
||
|
+ [make_lint_lib=$enableval], [make_lint_lib=no])
|
||
|
+if test "x$make_lint_lib" != "xno" ; then
|
||
|
+ if test "x$LINT" = "xno" ; then
|
||
|
+ AC_MSG_ERROR([Cannot make lint library without --with-lint])
|
||
|
+ fi
|
||
|
+ if test "x$make_lint_lib" = "xyes" ; then
|
||
|
+ LINTLIB=llib-l$1.ln
|
||
|
+ else
|
||
|
+ LINTLIB=$make_lint_lib
|
||
|
+ fi
|
||
|
+fi
|
||
|
+AC_SUBST(LINTLIB)
|
||
|
+AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
|
||
|
+
|
||
|
+]) # XORG_LINT_LIBRARY
|
||
|
+
|
||
|
+# XORG_CWARNFLAGS
|
||
|
+# ---------------
|
||
|
+# Minimum version: 1.2.0
|
||
|
+#
|
||
|
+# Defines CWARNFLAGS to enable C compiler warnings.
|
||
|
+#
|
||
|
+AC_DEFUN([XORG_CWARNFLAGS], [
|
||
|
+AC_REQUIRE([AC_PROG_CC])
|
||
|
+if test "x$GCC" = xyes ; then
|
||
|
+ CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
|
||
|
+-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
|
||
|
+-Wbad-function-cast"
|
||
|
+ case `$CC -dumpversion` in
|
||
|
+ 3.4.* | 4.*)
|
||
|
+ CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
|
||
|
+ ;;
|
||
|
+ esac
|
||
|
+else
|
||
|
+ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
||
|
+ if test "x$SUNCC" = "xyes"; then
|
||
|
+ CWARNFLAGS="-v"
|
||
|
+ fi
|
||
|
+fi
|
||
|
+AC_SUBST(CWARNFLAGS)
|
||
|
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||
|
+]) # XORG_CWARNFLAGS
|
||
|
+
|
||
|
+# XORG_STRICT_OPTION
|
||
|
+# -----------------------
|
||
|
+# Minimum version: 1.3.0
|
||
|
+#
|
||
|
+# Add configure option to enable strict compilation
|
||
|
+AC_DEFUN([XORG_STRICT_OPTION], [
|
||
|
+AC_REQUIRE([AC_PROG_CC])
|
||
|
+AC_REQUIRE([AC_PROG_CC_C99])
|
||
|
+AC_REQUIRE([XORG_CWARNFLAGS])
|
||
|
+
|
||
|
+AC_ARG_ENABLE(strict-compilation,
|
||
|
+ AS_HELP_STRING([--enable-strict-compilation],
|
||
|
+ [Enable all warnings from compiler and make them errors (default: disabled)]),
|
||
|
+ [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
|
||
|
+if test "x$STRICT_COMPILE" = "xyes"; then
|
||
|
+ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
||
|
+ AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
|
||
|
+ if test "x$GCC" = xyes ; then
|
||
|
+ STRICT_CFLAGS="-pedantic -Werror"
|
||
|
+ elif test "x$SUNCC" = "xyes"; then
|
||
|
+ STRICT_CFLAGS="-errwarn"
|
||
|
+ elif test "x$INTELCC" = "xyes"; then
|
||
|
+ STRICT_CFLAGS="-Werror"
|
||
|
+ fi
|
||
|
+fi
|
||
|
+CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
|
||
|
+AC_SUBST([CWARNFLAGS])
|
||
|
+]) # XORG_STRICT_OPTION
|
||
|
+
|
||
|
+# XORG_DEFAULT_OPTIONS
|
||
|
+# --------------------
|
||
|
+# Minimum version: 1.3.0
|
||
|
+#
|
||
|
+# Defines default options for X.Org modules.
|
||
|
+#
|
||
|
+AC_DEFUN([XORG_DEFAULT_OPTIONS], [
|
||
|
+XORG_CWARNFLAGS
|
||
|
+XORG_STRICT_OPTION
|
||
|
+XORG_RELEASE_VERSION
|
||
|
+XORG_CHANGELOG
|
||
|
+XORG_MANPAGE_SECTIONS
|
||
|
+]) # XORG_DEFAULT_OPTIONS
|
||
|
+dnl Copyright 2005 Red Hat, Inc
|
||
|
+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.
|
||
|
+dnl
|
||
|
+dnl The above copyright notice and this permission notice shall be included
|
||
|
+dnl in all copies or substantial portions of the Software.
|
||
|
+dnl
|
||
|
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
|
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
|
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||
|
+dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||
|
+dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||
|
+dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||
|
+dnl OTHER DEALINGS IN THE SOFTWARE.
|
||
|
+dnl
|
||
|
+dnl Except as contained in this notice, the name of the copyright holders shall
|
||
|
+dnl not be used in advertising or otherwise to promote the sale, use or
|
||
|
+dnl other dealings in this Software without prior written authorization
|
||
|
+dnl from the copyright holders.
|
||
|
+dnl
|
||
|
+
|
||
|
+# XORG_RELEASE_VERSION
|
||
|
+# --------------------
|
||
|
+# Adds --with/without-release-string and changes the PACKAGE and
|
||
|
+# PACKAGE_TARNAME to use "$PACKAGE{_TARNAME}-$RELEASE_VERSION". If
|
||
|
+# no option is given, PACKAGE and PACKAGE_TARNAME are unchanged. Also
|
||
|
+# defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
|
||
|
+
|
||
|
+AC_DEFUN([XORG_RELEASE_VERSION],[
|
||
|
+ AC_ARG_WITH(release-version,
|
||
|
+ AS_HELP_STRING([--with-release-version=STRING],
|
||
|
+ [Use release version string in package name]),
|
||
|
+ [RELEASE_VERSION="$withval"],
|
||
|
+ [RELEASE_VERSION=""])
|
||
|
+ if test "x$RELEASE_VERSION" != "x"; then
|
||
|
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
|
||
|
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
|
||
|
+ AC_MSG_NOTICE([Building with package name set to $PACKAGE])
|
||
|
+ fi
|
||
|
+ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
|
||
|
+ [`echo $PACKAGE_VERSION | cut -d . -f 1`],
|
||
|
+ [Major version of this package])
|
||
|
+ PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
|
||
|
+ if test "x$PVM" = "x"; then
|
||
|
+ PVM="0"
|
||
|
+ fi
|
||
|
+ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
|
||
|
+ [$PVM],
|
||
|
+ [Minor version of this package])
|
||
|
+ PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
|
||
|
+ if test "x$PVP" = "x"; then
|
||
|
+ PVP="0"
|
||
|
+ fi
|
||
|
+ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
|
||
|
+ [$PVP],
|
||
|
+ [Patch version of this package])
|
||
|
+])
|
||
|
+
|
||
|
+# XORG_CHANGELOG()
|
||
|
+# ----------------
|
||
|
+# Minimum version: 1.2.0
|
||
|
+#
|
||
|
+# Defines the variable CHANGELOG_CMD as the command to generate
|
||
|
+# ChangeLog from git.
|
||
|
+#
|
||
|
+# Arrange that distcleancheck ignores ChangeLog left over by distclean.
|
||
|
+#
|
||
|
+AC_DEFUN([XORG_CHANGELOG], [
|
||
|
+CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > .changelog.tmp && \
|
||
|
+mv .changelog.tmp ChangeLog) || (rm -f .changelog.tmp; touch ChangeLog; \
|
||
|
+echo 'git directory not found: installing possibly empty changelog.' >&2)"
|
||
|
+AC_SUBST([CHANGELOG_CMD])
|
||
|
+AC_SUBST([distcleancheck_listfiles], ['find . -type f ! -name ChangeLog -print'])
|
||
|
+]) # XORG_CHANGELOG
|
||
|
+
|