[packages] libxkbfile: remove private libtool copy, supply missing macros
authorJo-Philipp Wich <jow@openwrt.org>
Fri, 10 Dec 2010 09:08:38 +0000 (09:08 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Fri, 10 Dec 2010 09:08:38 +0000 (09:08 +0000)
SVN-Revision: 24404

Xorg/xorg/lib/libxkbfile/Makefile
Xorg/xorg/lib/libxkbfile/patches/001-missing-macros.patch [new file with mode: 0644]

index 2ba4311..41c479e 100644 (file)
@@ -17,6 +17,8 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/Xorg/$(PKG_NAME)-$(PKG_VERSION)/
 PKG_MD5SUM:=b01156e263eca8177e6b7f10441951c4
 
 PKG_FIXUP:=libtool
+PKG_REMOVE_FILES:=aclocal.m4 ltmain.sh
+
 PKG_INSTALL:=1
 PKG_BUILD_DEPENDS:=kbproto
 
diff --git a/Xorg/xorg/lib/libxkbfile/patches/001-missing-macros.patch b/Xorg/xorg/lib/libxkbfile/patches/001-missing-macros.patch
new file mode 100644 (file)
index 0000000..698efc0
--- /dev/null
@@ -0,0 +1,742 @@
+--- /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
++