aclocal.m4 revision 58cf2af7
1c82838c1Smrg# generated automatically by aclocal 1.16.5 -*- Autoconf -*- 235c4bbdfSmrg 3c82838c1Smrg# Copyright (C) 1996-2021 Free Software Foundation, Inc. 405b261ecSmrg 505b261ecSmrg# This file is free software; the Free Software Foundation 605b261ecSmrg# gives unlimited permission to copy and/or distribute it, 705b261ecSmrg# with or without modifications, as long as this notice is preserved. 805b261ecSmrg 905b261ecSmrg# This program is distributed in the hope that it will be useful, 1005b261ecSmrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without 1105b261ecSmrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A 1205b261ecSmrg# PARTICULAR PURPOSE. 1305b261ecSmrg 1435c4bbdfSmrgm4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) 1535c4bbdfSmrgm4_ifndef([AC_AUTOCONF_VERSION], 1635c4bbdfSmrg [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl 1758cf2af7Smrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],, 1858cf2af7Smrg[m4_warning([this file was generated for autoconf 2.72. 1935c4bbdfSmrgYou have another version of autoconf. It may work, but is not guaranteed to. 2035c4bbdfSmrgIf you have problems, you may need to regenerate the build system entirely. 2135c4bbdfSmrgTo do so, use the procedure documented by the package, typically 'autoreconf'.])]) 2235c4bbdfSmrg 2335c4bbdfSmrgdnl fontutil.m4. Generated from fontutil.m4.in by configure. 2435c4bbdfSmrgdnl 25d9252ffbSmrgdnl This file comes from X.Org's font-util 1.4.1 2635c4bbdfSmrgdnl 27d9252ffbSmrgdnl Copyright (c) 2009, 2023, Oracle and/or its affiliates. 2835c4bbdfSmrgdnl 2935c4bbdfSmrgdnl Permission is hereby granted, free of charge, to any person obtaining a 3035c4bbdfSmrgdnl copy of this software and associated documentation files (the "Software"), 3135c4bbdfSmrgdnl to deal in the Software without restriction, including without limitation 3235c4bbdfSmrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense, 3335c4bbdfSmrgdnl and/or sell copies of the Software, and to permit persons to whom the 3435c4bbdfSmrgdnl Software is furnished to do so, subject to the following conditions: 3535c4bbdfSmrgdnl 3635c4bbdfSmrgdnl The above copyright notice and this permission notice (including the next 3735c4bbdfSmrgdnl paragraph) shall be included in all copies or substantial portions of the 3835c4bbdfSmrgdnl Software. 3935c4bbdfSmrgdnl 4035c4bbdfSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4135c4bbdfSmrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 4235c4bbdfSmrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 4335c4bbdfSmrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 4435c4bbdfSmrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 4535c4bbdfSmrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 4635c4bbdfSmrgdnl DEALINGS IN THE SOFTWARE. 4735c4bbdfSmrgdnl 4835c4bbdfSmrgdnl -------------------------------------------------------------------- 4935c4bbdfSmrgdnl 5035c4bbdfSmrgdnl Copyright 2005 Red Hat, Inc 5135c4bbdfSmrgdnl 5235c4bbdfSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its 5335c4bbdfSmrgdnl documentation for any purpose is hereby granted without fee, provided that 5435c4bbdfSmrgdnl the above copyright notice appear in all copies and that both that 5535c4bbdfSmrgdnl copyright notice and this permission notice appear in supporting 5635c4bbdfSmrgdnl documentation. 5735c4bbdfSmrgdnl 5835c4bbdfSmrgdnl The above copyright notice and this permission notice shall be included 5935c4bbdfSmrgdnl in all copies or substantial portions of the Software. 6035c4bbdfSmrgdnl 6135c4bbdfSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 6235c4bbdfSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 6335c4bbdfSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 6435c4bbdfSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 6535c4bbdfSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 6635c4bbdfSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 6735c4bbdfSmrgdnl OTHER DEALINGS IN THE SOFTWARE. 6835c4bbdfSmrgdnl 6935c4bbdfSmrgdnl Except as contained in this notice, the name of the copyright holders shall 7035c4bbdfSmrgdnl not be used in advertising or otherwise to promote the sale, use or 7135c4bbdfSmrgdnl other dealings in this Software without prior written authorization 7235c4bbdfSmrgdnl from the copyright holders. 7305b261ecSmrg 7435c4bbdfSmrg# XORG_FONT_MACROS_VERSION(required-version) 7535c4bbdfSmrg# ------------------------------------------ 7635c4bbdfSmrg# Minimum version: 1.1.0 774642e01fSmrg# 7835c4bbdfSmrg# If you're using a macro added in Version 1.1 or newer, include this in 7935c4bbdfSmrg# your configure.ac with the minimum required version, such as: 8035c4bbdfSmrg# XORG_FONT_MACROS_VERSION(1.1) 8135c4bbdfSmrg# 8235c4bbdfSmrg# To ensure that this macro is defined, also add: 8335c4bbdfSmrg# m4_ifndef([XORG_FONT_MACROS_VERSION], 8435c4bbdfSmrg# [m4_fatal([must install X.Org font-util 1.1 or later before running autoconf/autogen])]) 8535c4bbdfSmrg# 8635c4bbdfSmrg# 8735c4bbdfSmrg# See the "minimum version" comment for each macro you use to see what 8835c4bbdfSmrg# version you require. 8935c4bbdfSmrgm4_defun([XORG_FONT_MACROS_VERSION],[ 90d9252ffbSmrgm4_define([vers_have], [1.4.1]) 9135c4bbdfSmrgm4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) 9235c4bbdfSmrgm4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) 9335c4bbdfSmrgm4_if(m4_cmp(maj_have, maj_needed), 0,, 9435c4bbdfSmrg [m4_fatal([font-util major version ]maj_needed[ is required but ]vers_have[ found])]) 9535c4bbdfSmrgm4_if(m4_version_compare(vers_have, [$1]), -1, 9635c4bbdfSmrg [m4_fatal([font-util version $1 or higher is required but ]vers_have[ found])]) 9735c4bbdfSmrgm4_undefine([vers_have]) 9835c4bbdfSmrgm4_undefine([maj_have]) 9935c4bbdfSmrgm4_undefine([maj_needed]) 10035c4bbdfSmrg]) # XORG_FONT_MACROS_VERSION 1014642e01fSmrg 10235c4bbdfSmrg# XORG_FONT_CHECK_{maps}() 10335c4bbdfSmrg# ------------------------ 10435c4bbdfSmrg# Minimum version: 1.0.0 10535c4bbdfSmrg# These macros add --enable/disable-{maps} where {maps} are ISO8859-*, 10635c4bbdfSmrg# JISX0201 or KOI8_R. By default, they are all enabled. 10705b261ecSmrg 10835c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_1], [XORG_FONT_CHECK_ENCODING(ISO8859-1)]) 10935c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_2], [XORG_FONT_CHECK_ENCODING(ISO8859-2)]) 11035c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_3], [XORG_FONT_CHECK_ENCODING(ISO8859-3)]) 11135c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_4], [XORG_FONT_CHECK_ENCODING(ISO8859-4)]) 11235c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_5], [XORG_FONT_CHECK_ENCODING(ISO8859-5)]) 11335c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_6], [XORG_FONT_CHECK_ENCODING(ISO8859-6)]) 11435c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_7], [XORG_FONT_CHECK_ENCODING(ISO8859-7)]) 11535c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_8], [XORG_FONT_CHECK_ENCODING(ISO8859-8)]) 11635c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_9], [XORG_FONT_CHECK_ENCODING(ISO8859-9)]) 11735c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_10],[XORG_FONT_CHECK_ENCODING(ISO8859-10)]) 11835c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_11],[XORG_FONT_CHECK_ENCODING(ISO8859-11)]) 11935c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_12],[XORG_FONT_CHECK_ENCODING(ISO8859-12)]) 12035c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_13],[XORG_FONT_CHECK_ENCODING(ISO8859-13)]) 12135c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_14],[XORG_FONT_CHECK_ENCODING(ISO8859-14)]) 12235c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_15],[XORG_FONT_CHECK_ENCODING(ISO8859-15)]) 12335c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ISO8859_16],[XORG_FONT_CHECK_ENCODING(ISO8859-16)]) 12435c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_JISX0201], [XORG_FONT_CHECK_ENCODING(JISX0201)]) 12535c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_KOI8_R], [XORG_FONT_CHECK_ENCODING(KOI8-R)]) 12605b261ecSmrg 12735c4bbdfSmrg# XORG_FONT_CHECK_ENCODING(encoding) 12835c4bbdfSmrg# ---------------------------------- 12935c4bbdfSmrg# Minimum version: 1.1.0 13035c4bbdfSmrg# This macro adds --enable/disable-<encoding>, enabled by default. 13135c4bbdfSmrg# It replaced individual copies of this code in the above macros in 1.1. 13235c4bbdfSmrg# Currently assumes encoding names will be all upper-case - add m4_toupper 13335c4bbdfSmrg# calls if this is not true in the future. 13405b261ecSmrg 13535c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ENCODING],[ 13635c4bbdfSmrg AC_ARG_ENABLE(m4_tolower($1), 13735c4bbdfSmrg AS_HELP_STRING(m4_join([-], [--disable], m4_tolower($1)), 13835c4bbdfSmrg [Build $1 fonts (default: yes)]), 13935c4bbdfSmrg [AS_TR_SH($1)=$enableval]) 14035c4bbdfSmrg AC_MSG_CHECKING([whether to build $1 fonts]) 14135c4bbdfSmrg AC_MSG_RESULT($[AS_TR_SH($1)]) 14235c4bbdfSmrg AM_CONDITIONAL(AS_TR_SH($1), [test "x$AS_TR_SH($1)" = xyes]) 14335c4bbdfSmrg]) # XORG_FONT_CHECK_ENCODING 14405b261ecSmrg 14535c4bbdfSmrg# XORG_FONT_CHECK_ENCODING_LIST(encoding1 encoding2....) 14635c4bbdfSmrg# ----------------------------------------------------- 14735c4bbdfSmrg# Minimum version: 1.1.0 14835c4bbdfSmrg# Call XORG_FONT_CHECK_ENCODING for multiple encodings at once. 14935c4bbdfSmrg# Add a shorthand --enable/disable-all-encodings option. 15035c4bbdfSmrg 15135c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_ENCODING_LIST],[ 15235c4bbdfSmrg AC_ARG_ENABLE([all-encodings], 15335c4bbdfSmrg AS_HELP_STRING([--disable-all-encodings], 15435c4bbdfSmrg [Disable building of all font encodings]), 15535c4bbdfSmrg [m4_foreach_w([enc], [$1], [ 15635c4bbdfSmrg AS_TR_SH(enc)=$enableval 15735c4bbdfSmrg ])], 15835c4bbdfSmrg [m4_foreach_w([enc], [$1], [ 15935c4bbdfSmrg AS_TR_SH(enc)=yes 16035c4bbdfSmrg ])]) 16135c4bbdfSmrg m4_foreach_w([enc], [$1], [XORG_FONT_CHECK_ENCODING(enc)]) 16235c4bbdfSmrg]) # XORG_FONT_CHECK_ENCODING_LIST 16305b261ecSmrg 16435c4bbdfSmrg# XORG_FONT_REQUIRED_PROG(VARNAME, progname) 16535c4bbdfSmrg# ------------------------------------------ 16635c4bbdfSmrg# Minimum version: 1.1.0 16735c4bbdfSmrg# 16835c4bbdfSmrg# Simple wrapper around AC_PATH_PROG that errors if not found 16935c4bbdfSmrg# 1706747b715Smrg 17135c4bbdfSmrgAC_DEFUN([XORG_FONT_REQUIRED_PROG],[ 17235c4bbdfSmrg AC_PATH_PROG($1, $2) 17335c4bbdfSmrg if test x"$$1" = x; then 17435c4bbdfSmrg AC_MSG_ERROR([$2 is required to build $PACKAGE_NAME.]) 17535c4bbdfSmrg fi 1764642e01fSmrg]) 1774642e01fSmrg 1784642e01fSmrg 17935c4bbdfSmrg# XORG_FONT_FCCACHE() 18035c4bbdfSmrg# ------------------- 18135c4bbdfSmrg# Minimum version: 1.1.0 1826747b715Smrg# 18335c4bbdfSmrg# Set FCCACHE to path to fc-cache (fontconfig cache builder) if found 18435c4bbdfSmrg# Set RUN_FCCACHE to a rule suitable for substituting into a makefile 18535c4bbdfSmrg# to run fc-cache if found and not installing to $DESTDIR and not 18635c4bbdfSmrg# cross-compiling 1876747b715Smrg# 18835c4bbdfSmrg# fc-cache is optional, not required, and should be skipped when making 18935c4bbdfSmrg# packages (installing to $DESTDIR) or cross-compiling 1906747b715Smrg# 19135c4bbdfSmrgAC_DEFUN([XORG_FONT_FCCACHE],[ 19235c4bbdfSmrg AC_PATH_PROG(FCCACHE, fc-cache) 19335c4bbdfSmrg FCCACHE_WARN='echo "** Warning: fonts.cache not built" ; echo "** Generate this file manually on host system using fc-cache"' 19435c4bbdfSmrg if test x"$FCCACHE" = x || test x"$cross_compiling" != x"no" ; then 19535c4bbdfSmrg RUN_FCCACHE="${FCCACHE_WARN}" 19635c4bbdfSmrg else 19735c4bbdfSmrg RUN_FCCACHE='@(if test -z "$(DESTDIR)"; then echo $(FCCACHE) $(fontdir); $(FCCACHE) $(fontdir); else' 19835c4bbdfSmrg RUN_FCCACHE="${RUN_FCCACHE} ${FCCACHE_WARN} ; fi)" 19935c4bbdfSmrg fi 20035c4bbdfSmrg AC_SUBST([RUN_FCCACHE]) 20135c4bbdfSmrg]) 20235c4bbdfSmrg 20335c4bbdfSmrg# XORG_FONT_MKFONTDIR() 20435c4bbdfSmrg# ------------------- 20535c4bbdfSmrg# Minimum version: 1.3.0 2066747b715Smrg# 20735c4bbdfSmrg# Set MKFONTDIR to path to mkfontdir. 2086747b715Smrg# 20935c4bbdfSmrg# If cross-compiling, and if mkdir is not found, use a shell command 21035c4bbdfSmrg# which warns mkfontdir needs to be run on the target 2116747b715Smrg# 21235c4bbdfSmrg# If not cross-compiling, mkfontdir must be found 21335c4bbdfSmrg# 21435c4bbdfSmrgAC_DEFUN([XORG_FONT_MKFONTDIR],[ 21535c4bbdfSmrg if test x"$cross_compiling" != x"no" ; then 21635c4bbdfSmrg AC_PATH_PROG(MKFONTDIR, mkfontdir, "") 21735c4bbdfSmrg MKFONTDIR_WARN='echo "** Warning: mkfontdir not run" ; echo "** Run mkfontdir manually on host system"' 2184642e01fSmrg 21935c4bbdfSmrg if test x"$MKFONTDIR" = x; then 22035c4bbdfSmrg MKFONTDIR="${MKFONTDIR_WARN} ; echo '** mkfontdir'" 22135c4bbdfSmrg fi 22235c4bbdfSmrg else 22335c4bbdfSmrg XORG_FONT_REQUIRED_PROG(MKFONTDIR, mkfontdir) 22435c4bbdfSmrg fi 22505b261ecSmrg 22635c4bbdfSmrg AC_SUBST([MKFONTDIR]) 22735c4bbdfSmrg]) 22805b261ecSmrg 22935c4bbdfSmrg# XORG_FONT_COMMON_UTILS() 23035c4bbdfSmrg# ------------------------ 23135c4bbdfSmrg# Minimum version: 1.1.0 2326747b715Smrg# 23335c4bbdfSmrg# Call XORG_FONT_REQUIRED_PROG for programs needed for all font types 23405b261ecSmrg 23535c4bbdfSmrgAC_DEFUN([XORG_FONT_COMMON_UTILS],[ 23635c4bbdfSmrg XORG_FONT_FCCACHE 23735c4bbdfSmrg XORG_FONT_MKFONTDIR 23835c4bbdfSmrg]) 23905b261ecSmrg 24035c4bbdfSmrg# XORG_FONT_SCALED_UTILS() 24135c4bbdfSmrg# ------------------------ 24235c4bbdfSmrg# Minimum version: 1.1.0 2436747b715Smrg# 24435c4bbdfSmrg# Call XORG_FONT_REQUIRED_PROG for programs needed for scalable fonts 24535c4bbdfSmrg# (TrueType, OpenType, Type1) 2464642e01fSmrg 24735c4bbdfSmrgAC_DEFUN([XORG_FONT_SCALED_UTILS],[ 24835c4bbdfSmrg XORG_FONT_COMMON_UTILS 24935c4bbdfSmrg XORG_FONT_REQUIRED_PROG(MKFONTSCALE, mkfontscale) 25035c4bbdfSmrg]) 2514642e01fSmrg 25235c4bbdfSmrg# XORG_FONT_BDF_UTILS() 25335c4bbdfSmrg# --------------------- 25435c4bbdfSmrg# Minimum version: 1.1.0 2556747b715Smrg# 25635c4bbdfSmrg# Call XORG_FONT_REQUIRED_PROG for programs needed for BDF format bitmap fonts 25735c4bbdfSmrg# Also call XORG_FONT_CHECK_COMPRESSION to determine how to compress the 25835c4bbdfSmrg# PCF output files created by bdftopcf 25905b261ecSmrg 26035c4bbdfSmrgAC_DEFUN([XORG_FONT_BDF_UTILS],[ 26135c4bbdfSmrg XORG_FONT_COMMON_UTILS 26235c4bbdfSmrg XORG_FONT_REQUIRED_PROG(BDFTOPCF, bdftopcf) 26335c4bbdfSmrg XORG_FONT_CHECK_COMPRESSION 2646747b715Smrg]) 26505b261ecSmrg 26635c4bbdfSmrg# XORG_FONT_CHECK_COMPRESSION() 26735c4bbdfSmrg# ----------------------------- 26835c4bbdfSmrg# Minimum version: 1.1.0 26935c4bbdfSmrg# 27035c4bbdfSmrg# Offer a --with-compression flag to control what compression method is 27135c4bbdfSmrg# used for pcf font files. Offers all the methods currently supported 27235c4bbdfSmrg# by libXfont, including no compression. 273d9252ffbSmrg# 274d9252ffbSmrg# If COMPRESS_FLAGS is not set, and the compression method has flags needed 275d9252ffbSmrg# for reproducible builds, such as gzip -n to not record timestamp, will 276d9252ffbSmrg# set COMPRESS_FLAGS to those options. 27705b261ecSmrg 27835c4bbdfSmrgAC_DEFUN([XORG_FONT_CHECK_COMPRESSION],[ 27935c4bbdfSmrg AC_MSG_CHECKING([font compression method]) 28035c4bbdfSmrg AC_ARG_WITH(compression, 28135c4bbdfSmrg [AS_HELP_STRING([--with-compression=<no|compress|gzip|bzip2>], 28235c4bbdfSmrg [compression method to use on pcf fonts])], 28335c4bbdfSmrg [compression="$withval"], [compression="yes"]) 28435c4bbdfSmrg if test x"$compression" = "xyes" ; then 28535c4bbdfSmrg compression="gzip" 28635c4bbdfSmrg fi 28735c4bbdfSmrg AC_MSG_RESULT([${compression}]) 28835c4bbdfSmrg case ${compression} in 28935c4bbdfSmrg *compress) COMPRESS_SUFFIX=".Z" ;; 290d9252ffbSmrg *gzip) COMPRESS_SUFFIX=".gz" ; 291d9252ffbSmrg COMPRESS_FLAGS="${COMPRESS_FLAGS--n}" ;; 29235c4bbdfSmrg *bzip2) COMPRESS_SUFFIX=".bz2" ;; 29335c4bbdfSmrg no|none) COMPRESS_SUFFIX="" ; COMPRESS="cat" ;; 29435c4bbdfSmrg *) AC_MSG_ERROR([${compression} is not a supported compression method]) ;; 29535c4bbdfSmrg esac 29635c4bbdfSmrg if test x"$COMPRESS_SUFFIX" != "x" ; then 29735c4bbdfSmrg XORG_FONT_REQUIRED_PROG(COMPRESS, ${compression}) 29835c4bbdfSmrg fi 299d9252ffbSmrg AC_MSG_CHECKING([options to font compression command]) 300d9252ffbSmrg AC_MSG_RESULT([${COMPRESS_FLAGS:-none}]) 301d9252ffbSmrg AC_SUBST([COMPRESS_FLAGS]) 30235c4bbdfSmrg AC_SUBST([COMPRESS_SUFFIX]) 3036747b715Smrg]) 30405b261ecSmrg 30535c4bbdfSmrg# XORG_FONT_UCS2ANY() 30635c4bbdfSmrg# ------------------- 30735c4bbdfSmrg# Minimum version: 1.1.0 30835c4bbdfSmrg# 30935c4bbdfSmrg# Call XORG_FONT_REQUIRED_PROG for ucs2any program needed for splitting 31035c4bbdfSmrg# Unicode-encoded BDF format bitmap fonts into subsets for older encodings. 31135c4bbdfSmrg# Also call pkg-config to find the directory with the encoding files needed 31235c4bbdfSmrg# by ucs2any, and export it as MAPFILES_PATH to the Makefiles 31305b261ecSmrg 31435c4bbdfSmrgAC_DEFUN([XORG_FONT_UCS2ANY],[ 31535c4bbdfSmrg AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 31635c4bbdfSmrg XORG_FONT_REQUIRED_PROG(UCS2ANY, ucs2any) 31735c4bbdfSmrg PKG_CHECK_MODULES(MAPS, [fontutil]) 31835c4bbdfSmrg AC_MSG_CHECKING([for ucs2any encoding data files]) 31935c4bbdfSmrg MAPFILES_PATH=`$PKG_CONFIG --variable=mapdir fontutil` 32035c4bbdfSmrg AC_SUBST(MAPFILES_PATH) 32135c4bbdfSmrg AC_MSG_RESULT([${MAPFILES_PATH}]) 3226747b715Smrg]) 32305b261ecSmrg 32405b261ecSmrg 32505b261ecSmrg 32635c4bbdfSmrg# XORG_FONT_FC_CONFDIR() 32735c4bbdfSmrg# -------------------- 32835c4bbdfSmrg# Minimum version: 1.2.0 32935c4bbdfSmrg# 33035c4bbdfSmrg# Sets FC_CONFDIR to the fontconfig config directory 33135c4bbdfSmrg# (which should be --with-confdir=... when building fontconfig) 33235c4bbdfSmrg# found from: 33335c4bbdfSmrg# --with-fc-confdir=... 33435c4bbdfSmrg# pkg-config --variable=confdir fontconfig 33535c4bbdfSmrg# ${sysconfdir}/fonts 33605b261ecSmrg 33735c4bbdfSmrgAC_DEFUN([XORG_FONT_FC_CONFDIR],[ 33835c4bbdfSmrg dnl Ensure $PKG_CONFIG is set first 33935c4bbdfSmrg AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 34005b261ecSmrg 34135c4bbdfSmrg AC_MSG_CHECKING([for fontconfig's configuration directory]) 34235c4bbdfSmrg AC_ARG_WITH(fc-confdir, 34335c4bbdfSmrg AS_HELP_STRING([--with-fc-confdir=DIR], 34435c4bbdfSmrg [Path to fontconfig's configuration directory]), 34535c4bbdfSmrg [FC_CONFDIR="$withval"]) 34635c4bbdfSmrg # if --with-fc-confdir was not specified 34735c4bbdfSmrg if test "x${FC_CONFDIR}" = "x"; then 34835c4bbdfSmrg FC_CONFDIR=`$PKG_CONFIG --variable=confdir fontconfig` 34935c4bbdfSmrg fi 35035c4bbdfSmrg # ...and if pkg-config didn't find confdir in fontconfig.pc... 35135c4bbdfSmrg if test "x${FC_CONFDIR}" = "x"; then 35235c4bbdfSmrg FC_CONFDIR="${sysconfdir}/fonts" 35335c4bbdfSmrg fi 35435c4bbdfSmrg AC_SUBST(FC_CONFDIR) 35535c4bbdfSmrg AC_MSG_RESULT([${FC_CONFDIR}]) 3566747b715Smrg]) 3574642e01fSmrg 3584642e01fSmrg 3594642e01fSmrg 36035c4bbdfSmrg# XORG_FONTROOTDIR() 36135c4bbdfSmrg# -------------------- 36235c4bbdfSmrg# Minimum version: 1.1.0 36335c4bbdfSmrg# 36435c4bbdfSmrg# Sets FONTROOTDIR to the root directory for font files. Uses the first 36535c4bbdfSmrg# found from: 36635c4bbdfSmrg# --with-fontrootdir 36735c4bbdfSmrg# pkg-config --variable=fontrootdir fontutil 36835c4bbdfSmrg# ${datadir}/fonts/X11 3694642e01fSmrg 37035c4bbdfSmrgAC_DEFUN([XORG_FONTROOTDIR],[ 37135c4bbdfSmrg dnl Ensure $PKG_CONFIG is set first 37235c4bbdfSmrg AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 3734642e01fSmrg 37435c4bbdfSmrg AC_MSG_CHECKING([for root directory for font files]) 37535c4bbdfSmrg AC_ARG_WITH(fontrootdir, 37635c4bbdfSmrg AS_HELP_STRING([--with-fontrootdir=DIR], 37735c4bbdfSmrg [Path to root directory for font files]), 37835c4bbdfSmrg [FONTROOTDIR="$withval"]) 37935c4bbdfSmrg # if --with-fontrootdir not specified... 38035c4bbdfSmrg if test "x${FONTROOTDIR}" = "x"; then 38135c4bbdfSmrg FONTROOTDIR=`$PKG_CONFIG --variable=fontrootdir fontutil` 38235c4bbdfSmrg fi 38335c4bbdfSmrg # ...and if pkg-config didn't find fontdir in fontutil.pc... 38435c4bbdfSmrg if test "x${FONTROOTDIR}" = "x"; then 38535c4bbdfSmrg FONTROOTDIR="${datadir}/fonts/X11" 38635c4bbdfSmrg fi 38735c4bbdfSmrg AC_SUBST(FONTROOTDIR) 38835c4bbdfSmrg AC_MSG_RESULT([${FONTROOTDIR}]) 3894642e01fSmrg]) 3904642e01fSmrg 39135c4bbdfSmrg# XORG_FONTSUBDIR(variable, flag, subdir) 39235c4bbdfSmrg# --------------------------------------- 39335c4bbdfSmrg# Minimum version: 1.1.0 39435c4bbdfSmrg# 39535c4bbdfSmrg# Offer a --with-<flag> flag to control directory for font installation 39635c4bbdfSmrg# Default is the specified <subdir> of the font root directory. 39735c4bbdfSmrg# Sets <variable> to the selected directory 3984642e01fSmrg 39935c4bbdfSmrgAC_DEFUN([XORG_FONTSUBDIR],[ 40035c4bbdfSmrg AC_REQUIRE([XORG_FONTROOTDIR]) 4014642e01fSmrg 40235c4bbdfSmrg AC_MSG_CHECKING([for directory for $3 files]) 40335c4bbdfSmrg AC_ARG_WITH($2, 40435c4bbdfSmrg [AS_HELP_STRING([--with-$2=DIR], 40535c4bbdfSmrg [Path to $3 files [FONTROOTDIR/$3]])], 40635c4bbdfSmrg [$1="${withval}"], [$1='${FONTROOTDIR}/$3']) 40735c4bbdfSmrg AC_SUBST($1) 40835c4bbdfSmrg AC_MSG_RESULT([${$1}]) 40935c4bbdfSmrg]) # XORG_FONTSUBDIR 4104642e01fSmrg 41135c4bbdfSmrg# XORG_FONTDIR(subdir) 41235c4bbdfSmrg# -------------------- 41335c4bbdfSmrg# Minimum version: 1.1.0 4146747b715Smrg# 41535c4bbdfSmrg# Offer a --with-fontdir flag to control directory for font installation 41635c4bbdfSmrg# Default is the specified subdir of the font root directory. 41735c4bbdfSmrg# Sets FONTDIR to the selected directory 4184642e01fSmrg 41935c4bbdfSmrgAC_DEFUN([XORG_FONTDIR],[XORG_FONTSUBDIR([FONTDIR], [fontdir], [$1])]) 4204642e01fSmrg 421eee80088Smrg# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- 422eee80088Smrg# serial 12 (pkg-config-0.29.2) 4231b5d61b8Smrg 42435c4bbdfSmrgdnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>. 42535c4bbdfSmrgdnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com> 42635c4bbdfSmrgdnl 42735c4bbdfSmrgdnl This program is free software; you can redistribute it and/or modify 42835c4bbdfSmrgdnl it under the terms of the GNU General Public License as published by 42935c4bbdfSmrgdnl the Free Software Foundation; either version 2 of the License, or 43035c4bbdfSmrgdnl (at your option) any later version. 43135c4bbdfSmrgdnl 43235c4bbdfSmrgdnl This program is distributed in the hope that it will be useful, but 43335c4bbdfSmrgdnl WITHOUT ANY WARRANTY; without even the implied warranty of 43435c4bbdfSmrgdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 43535c4bbdfSmrgdnl General Public License for more details. 43635c4bbdfSmrgdnl 43735c4bbdfSmrgdnl You should have received a copy of the GNU General Public License 43835c4bbdfSmrgdnl along with this program; if not, write to the Free Software 43935c4bbdfSmrgdnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 44035c4bbdfSmrgdnl 02111-1307, USA. 44135c4bbdfSmrgdnl 44235c4bbdfSmrgdnl As a special exception to the GNU General Public License, if you 44335c4bbdfSmrgdnl distribute this file as part of a program that contains a 44435c4bbdfSmrgdnl configuration script generated by Autoconf, you may include it under 44535c4bbdfSmrgdnl the same distribution terms that you use for the rest of that 44635c4bbdfSmrgdnl program. 44735c4bbdfSmrg 44835c4bbdfSmrgdnl PKG_PREREQ(MIN-VERSION) 44935c4bbdfSmrgdnl ----------------------- 45035c4bbdfSmrgdnl Since: 0.29 45135c4bbdfSmrgdnl 45235c4bbdfSmrgdnl Verify that the version of the pkg-config macros are at least 45335c4bbdfSmrgdnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's 45435c4bbdfSmrgdnl installed version of pkg-config, this checks the developer's version 45535c4bbdfSmrgdnl of pkg.m4 when generating configure. 45635c4bbdfSmrgdnl 45735c4bbdfSmrgdnl To ensure that this macro is defined, also add: 45835c4bbdfSmrgdnl m4_ifndef([PKG_PREREQ], 45935c4bbdfSmrgdnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) 46035c4bbdfSmrgdnl 46135c4bbdfSmrgdnl See the "Since" comment for each macro you use to see what version 46235c4bbdfSmrgdnl of the macros you require. 46335c4bbdfSmrgm4_defun([PKG_PREREQ], 464eee80088Smrg[m4_define([PKG_MACROS_VERSION], [0.29.2]) 46535c4bbdfSmrgm4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, 46635c4bbdfSmrg [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) 46735c4bbdfSmrg])dnl PKG_PREREQ 46835c4bbdfSmrg 46958cf2af7Smrgdnl PKG_PROG_PKG_CONFIG([MIN-VERSION], [ACTION-IF-NOT-FOUND]) 47058cf2af7Smrgdnl --------------------------------------------------------- 47135c4bbdfSmrgdnl Since: 0.16 47235c4bbdfSmrgdnl 47335c4bbdfSmrgdnl Search for the pkg-config tool and set the PKG_CONFIG variable to 47435c4bbdfSmrgdnl first found in the path. Checks that the version of pkg-config found 47535c4bbdfSmrgdnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is 47635c4bbdfSmrgdnl used since that's the first version where most current features of 47735c4bbdfSmrgdnl pkg-config existed. 47858cf2af7Smrgdnl 47958cf2af7Smrgdnl If pkg-config is not found or older than specified, it will result 48058cf2af7Smrgdnl in an empty PKG_CONFIG variable. To avoid widespread issues with 48158cf2af7Smrgdnl scripts not checking it, ACTION-IF-NOT-FOUND defaults to aborting. 48258cf2af7Smrgdnl You can specify [PKG_CONFIG=false] as an action instead, which would 48358cf2af7Smrgdnl result in pkg-config tests failing, but no bogus error messages. 48435c4bbdfSmrgAC_DEFUN([PKG_PROG_PKG_CONFIG], 48535c4bbdfSmrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) 48635c4bbdfSmrgm4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) 48735c4bbdfSmrgm4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) 48835c4bbdfSmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) 48935c4bbdfSmrgAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) 49035c4bbdfSmrgAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) 4914642e01fSmrg 49235c4bbdfSmrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then 49335c4bbdfSmrg AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) 4946747b715Smrgfi 49535c4bbdfSmrgif test -n "$PKG_CONFIG"; then 49635c4bbdfSmrg _pkg_min_version=m4_default([$1], [0.9.0]) 49735c4bbdfSmrg AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) 49835c4bbdfSmrg if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then 49935c4bbdfSmrg AC_MSG_RESULT([yes]) 50035c4bbdfSmrg else 50135c4bbdfSmrg AC_MSG_RESULT([no]) 50235c4bbdfSmrg PKG_CONFIG="" 50335c4bbdfSmrg fi 50458cf2af7Smrgfi 50558cf2af7Smrgif test -z "$PKG_CONFIG"; then 50658cf2af7Smrg m4_default([$2], [AC_MSG_ERROR([pkg-config not found])]) 50735c4bbdfSmrgfi[]dnl 50835c4bbdfSmrg])dnl PKG_PROG_PKG_CONFIG 5094642e01fSmrg 51035c4bbdfSmrgdnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 51135c4bbdfSmrgdnl ------------------------------------------------------------------- 51235c4bbdfSmrgdnl Since: 0.18 51335c4bbdfSmrgdnl 51435c4bbdfSmrgdnl Check to see whether a particular set of modules exists. Similar to 51535c4bbdfSmrgdnl PKG_CHECK_MODULES(), but does not set variables or print errors. 51635c4bbdfSmrgdnl 51735c4bbdfSmrgdnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 518eee80088Smrgdnl only at the first occurrence in configure.ac, so if the first place 51935c4bbdfSmrgdnl it's called might be skipped (such as if it is within an "if", you 52035c4bbdfSmrgdnl have to call PKG_CHECK_EXISTS manually 52135c4bbdfSmrgAC_DEFUN([PKG_CHECK_EXISTS], 52235c4bbdfSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 52335c4bbdfSmrgif test -n "$PKG_CONFIG" && \ 52435c4bbdfSmrg AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then 52535c4bbdfSmrg m4_default([$2], [:]) 52635c4bbdfSmrgm4_ifvaln([$3], [else 52735c4bbdfSmrg $3])dnl 52835c4bbdfSmrgfi]) 5294642e01fSmrg 53035c4bbdfSmrgdnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) 53135c4bbdfSmrgdnl --------------------------------------------- 53235c4bbdfSmrgdnl Internal wrapper calling pkg-config via PKG_CONFIG and setting 53335c4bbdfSmrgdnl pkg_failed based on the result. 53435c4bbdfSmrgm4_define([_PKG_CONFIG], 53535c4bbdfSmrg[if test -n "$$1"; then 53635c4bbdfSmrg pkg_cv_[]$1="$$1" 53735c4bbdfSmrg elif test -n "$PKG_CONFIG"; then 53835c4bbdfSmrg PKG_CHECK_EXISTS([$3], 53935c4bbdfSmrg [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` 54035c4bbdfSmrg test "x$?" != "x0" && pkg_failed=yes ], 54135c4bbdfSmrg [pkg_failed=yes]) 54235c4bbdfSmrg else 54335c4bbdfSmrg pkg_failed=untried 54435c4bbdfSmrgfi[]dnl 54535c4bbdfSmrg])dnl _PKG_CONFIG 5464642e01fSmrg 54735c4bbdfSmrgdnl _PKG_SHORT_ERRORS_SUPPORTED 54835c4bbdfSmrgdnl --------------------------- 54935c4bbdfSmrgdnl Internal check to see if pkg-config supports short errors. 55035c4bbdfSmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], 55135c4bbdfSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 55235c4bbdfSmrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then 55335c4bbdfSmrg _pkg_short_errors_supported=yes 55435c4bbdfSmrgelse 55535c4bbdfSmrg _pkg_short_errors_supported=no 55635c4bbdfSmrgfi[]dnl 55735c4bbdfSmrg])dnl _PKG_SHORT_ERRORS_SUPPORTED 5584642e01fSmrg 5594642e01fSmrg 56035c4bbdfSmrgdnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], 56135c4bbdfSmrgdnl [ACTION-IF-NOT-FOUND]) 56235c4bbdfSmrgdnl -------------------------------------------------------------- 56335c4bbdfSmrgdnl Since: 0.4.0 56435c4bbdfSmrgdnl 56535c4bbdfSmrgdnl Note that if there is a possibility the first call to 56635c4bbdfSmrgdnl PKG_CHECK_MODULES might not happen, you should be sure to include an 56735c4bbdfSmrgdnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac 56835c4bbdfSmrgAC_DEFUN([PKG_CHECK_MODULES], 56935c4bbdfSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 57035c4bbdfSmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl 57135c4bbdfSmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl 5724642e01fSmrg 57335c4bbdfSmrgpkg_failed=no 574eee80088SmrgAC_MSG_CHECKING([for $2]) 5754642e01fSmrg 57635c4bbdfSmrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) 57735c4bbdfSmrg_PKG_CONFIG([$1][_LIBS], [libs], [$2]) 5784642e01fSmrg 57935c4bbdfSmrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS 58035c4bbdfSmrgand $1[]_LIBS to avoid the need to call pkg-config. 58135c4bbdfSmrgSee the pkg-config man page for more details.]) 582475c125cSmrg 583475c125cSmrgif test $pkg_failed = yes; then 584eee80088Smrg AC_MSG_RESULT([no]) 585475c125cSmrg _PKG_SHORT_ERRORS_SUPPORTED 586475c125cSmrg if test $_pkg_short_errors_supported = yes; then 587eee80088Smrg $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` 588eee80088Smrg else 589eee80088Smrg $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` 590475c125cSmrg fi 591eee80088Smrg # Put the nasty error message in config.log where it belongs 592eee80088Smrg echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD 593475c125cSmrg 594eee80088Smrg m4_default([$4], [AC_MSG_ERROR( 595475c125cSmrg[Package requirements ($2) were not met: 596475c125cSmrg 597475c125cSmrg$$1_PKG_ERRORS 598475c125cSmrg 599475c125cSmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you 600475c125cSmrginstalled software in a non-standard prefix. 601475c125cSmrg 602475c125cSmrg_PKG_TEXT])[]dnl 603475c125cSmrg ]) 604475c125cSmrgelif test $pkg_failed = untried; then 605eee80088Smrg AC_MSG_RESULT([no]) 606eee80088Smrg m4_default([$4], [AC_MSG_FAILURE( 607475c125cSmrg[The pkg-config script could not be found or is too old. Make sure it 608475c125cSmrgis in your PATH or set the PKG_CONFIG environment variable to the full 609475c125cSmrgpath to pkg-config. 610475c125cSmrg 611475c125cSmrg_PKG_TEXT 612475c125cSmrg 61335c4bbdfSmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl 614475c125cSmrg ]) 615475c125cSmrgelse 616eee80088Smrg $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS 617eee80088Smrg $1[]_LIBS=$pkg_cv_[]$1[]_LIBS 618475c125cSmrg AC_MSG_RESULT([yes]) 619eee80088Smrg $3 620475c125cSmrgfi[]dnl 62135c4bbdfSmrg])dnl PKG_CHECK_MODULES 622475c125cSmrg 62335c4bbdfSmrg 62435c4bbdfSmrgdnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], 62535c4bbdfSmrgdnl [ACTION-IF-NOT-FOUND]) 62635c4bbdfSmrgdnl --------------------------------------------------------------------- 62735c4bbdfSmrgdnl Since: 0.29 6286747b715Smrgdnl 62935c4bbdfSmrgdnl Checks for existence of MODULES and gathers its build flags with 63035c4bbdfSmrgdnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags 63135c4bbdfSmrgdnl and VARIABLE-PREFIX_LIBS from --libs. 6326747b715Smrgdnl 63335c4bbdfSmrgdnl Note that if there is a possibility the first call to 63435c4bbdfSmrgdnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to 63535c4bbdfSmrgdnl include an explicit call to PKG_PROG_PKG_CONFIG in your 63635c4bbdfSmrgdnl configure.ac. 63735c4bbdfSmrgAC_DEFUN([PKG_CHECK_MODULES_STATIC], 63835c4bbdfSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 63935c4bbdfSmrg_save_PKG_CONFIG=$PKG_CONFIG 64035c4bbdfSmrgPKG_CONFIG="$PKG_CONFIG --static" 64135c4bbdfSmrgPKG_CHECK_MODULES($@) 64235c4bbdfSmrgPKG_CONFIG=$_save_PKG_CONFIG[]dnl 64335c4bbdfSmrg])dnl PKG_CHECK_MODULES_STATIC 64435c4bbdfSmrg 64535c4bbdfSmrg 64635c4bbdfSmrgdnl PKG_INSTALLDIR([DIRECTORY]) 64735c4bbdfSmrgdnl ------------------------- 64835c4bbdfSmrgdnl Since: 0.27 64935c4bbdfSmrgdnl 65035c4bbdfSmrgdnl Substitutes the variable pkgconfigdir as the location where a module 65135c4bbdfSmrgdnl should install pkg-config .pc files. By default the directory is 65235c4bbdfSmrgdnl $libdir/pkgconfig, but the default can be changed by passing 65335c4bbdfSmrgdnl DIRECTORY. The user can override through the --with-pkgconfigdir 65435c4bbdfSmrgdnl parameter. 65535c4bbdfSmrgAC_DEFUN([PKG_INSTALLDIR], 65635c4bbdfSmrg[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) 65735c4bbdfSmrgm4_pushdef([pkg_description], 65835c4bbdfSmrg [pkg-config installation directory @<:@]pkg_default[@:>@]) 65935c4bbdfSmrgAC_ARG_WITH([pkgconfigdir], 66035c4bbdfSmrg [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, 66135c4bbdfSmrg [with_pkgconfigdir=]pkg_default) 66235c4bbdfSmrgAC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) 66335c4bbdfSmrgm4_popdef([pkg_default]) 66435c4bbdfSmrgm4_popdef([pkg_description]) 66535c4bbdfSmrg])dnl PKG_INSTALLDIR 66635c4bbdfSmrg 66735c4bbdfSmrg 66835c4bbdfSmrgdnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) 66935c4bbdfSmrgdnl -------------------------------- 67035c4bbdfSmrgdnl Since: 0.27 67135c4bbdfSmrgdnl 67235c4bbdfSmrgdnl Substitutes the variable noarch_pkgconfigdir as the location where a 67335c4bbdfSmrgdnl module should install arch-independent pkg-config .pc files. By 67435c4bbdfSmrgdnl default the directory is $datadir/pkgconfig, but the default can be 67535c4bbdfSmrgdnl changed by passing DIRECTORY. The user can override through the 67635c4bbdfSmrgdnl --with-noarch-pkgconfigdir parameter. 67735c4bbdfSmrgAC_DEFUN([PKG_NOARCH_INSTALLDIR], 67835c4bbdfSmrg[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) 67935c4bbdfSmrgm4_pushdef([pkg_description], 68035c4bbdfSmrg [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) 68135c4bbdfSmrgAC_ARG_WITH([noarch-pkgconfigdir], 68235c4bbdfSmrg [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, 68335c4bbdfSmrg [with_noarch_pkgconfigdir=]pkg_default) 68435c4bbdfSmrgAC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) 68535c4bbdfSmrgm4_popdef([pkg_default]) 68635c4bbdfSmrgm4_popdef([pkg_description]) 68735c4bbdfSmrg])dnl PKG_NOARCH_INSTALLDIR 68835c4bbdfSmrg 68935c4bbdfSmrg 69035c4bbdfSmrgdnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, 69135c4bbdfSmrgdnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 69235c4bbdfSmrgdnl ------------------------------------------- 69335c4bbdfSmrgdnl Since: 0.28 69435c4bbdfSmrgdnl 69535c4bbdfSmrgdnl Retrieves the value of the pkg-config variable for the given module. 69635c4bbdfSmrgAC_DEFUN([PKG_CHECK_VAR], 69735c4bbdfSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 69835c4bbdfSmrgAC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl 69935c4bbdfSmrg 70035c4bbdfSmrg_PKG_CONFIG([$1], [variable="][$3]["], [$2]) 70135c4bbdfSmrgAS_VAR_COPY([$1], [pkg_cv_][$1]) 70235c4bbdfSmrg 70335c4bbdfSmrgAS_VAR_IF([$1], [""], [$5], [$4])dnl 70435c4bbdfSmrg])dnl PKG_CHECK_VAR 70535c4bbdfSmrg 7061b5d61b8Smrgdnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, 7071b5d61b8Smrgdnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], 7081b5d61b8Smrgdnl [DESCRIPTION], [DEFAULT]) 7091b5d61b8Smrgdnl ------------------------------------------ 7101b5d61b8Smrgdnl 7111b5d61b8Smrgdnl Prepare a "--with-" configure option using the lowercase 7121b5d61b8Smrgdnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and 7131b5d61b8Smrgdnl PKG_CHECK_MODULES in a single macro. 7141b5d61b8SmrgAC_DEFUN([PKG_WITH_MODULES], 7151b5d61b8Smrg[ 7161b5d61b8Smrgm4_pushdef([with_arg], m4_tolower([$1])) 7171b5d61b8Smrg 7181b5d61b8Smrgm4_pushdef([description], 7191b5d61b8Smrg [m4_default([$5], [build with ]with_arg[ support])]) 7201b5d61b8Smrg 7211b5d61b8Smrgm4_pushdef([def_arg], [m4_default([$6], [auto])]) 7221b5d61b8Smrgm4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) 7231b5d61b8Smrgm4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) 7241b5d61b8Smrg 7251b5d61b8Smrgm4_case(def_arg, 7261b5d61b8Smrg [yes],[m4_pushdef([with_without], [--without-]with_arg)], 7271b5d61b8Smrg [m4_pushdef([with_without],[--with-]with_arg)]) 7281b5d61b8Smrg 7291b5d61b8SmrgAC_ARG_WITH(with_arg, 7301b5d61b8Smrg AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, 7311b5d61b8Smrg [AS_TR_SH([with_]with_arg)=def_arg]) 7321b5d61b8Smrg 7331b5d61b8SmrgAS_CASE([$AS_TR_SH([with_]with_arg)], 7341b5d61b8Smrg [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], 7351b5d61b8Smrg [auto],[PKG_CHECK_MODULES([$1],[$2], 7361b5d61b8Smrg [m4_n([def_action_if_found]) $3], 7371b5d61b8Smrg [m4_n([def_action_if_not_found]) $4])]) 7381b5d61b8Smrg 7391b5d61b8Smrgm4_popdef([with_arg]) 7401b5d61b8Smrgm4_popdef([description]) 7411b5d61b8Smrgm4_popdef([def_arg]) 7421b5d61b8Smrg 7431b5d61b8Smrg])dnl PKG_WITH_MODULES 7441b5d61b8Smrg 7451b5d61b8Smrgdnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, 7461b5d61b8Smrgdnl [DESCRIPTION], [DEFAULT]) 7471b5d61b8Smrgdnl ----------------------------------------------- 7481b5d61b8Smrgdnl 7491b5d61b8Smrgdnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES 7501b5d61b8Smrgdnl check._[VARIABLE-PREFIX] is exported as make variable. 7511b5d61b8SmrgAC_DEFUN([PKG_HAVE_WITH_MODULES], 7521b5d61b8Smrg[ 7531b5d61b8SmrgPKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) 7541b5d61b8Smrg 7551b5d61b8SmrgAM_CONDITIONAL([HAVE_][$1], 7561b5d61b8Smrg [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) 7571b5d61b8Smrg])dnl PKG_HAVE_WITH_MODULES 7581b5d61b8Smrg 7591b5d61b8Smrgdnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, 7601b5d61b8Smrgdnl [DESCRIPTION], [DEFAULT]) 7611b5d61b8Smrgdnl ------------------------------------------------------ 7621b5d61b8Smrgdnl 7631b5d61b8Smrgdnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after 7641b5d61b8Smrgdnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make 7651b5d61b8Smrgdnl and preprocessor variable. 7661b5d61b8SmrgAC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], 7671b5d61b8Smrg[ 7681b5d61b8SmrgPKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) 7691b5d61b8Smrg 7701b5d61b8SmrgAS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], 7711b5d61b8Smrg [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) 7721b5d61b8Smrg])dnl PKG_HAVE_DEFINE_WITH_MODULES 7731b5d61b8Smrg 77435c4bbdfSmrgdnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. 77535c4bbdfSmrgdnl 776eee80088Smrgdnl Copyright (c) 2005, 2023, Oracle and/or its affiliates. 7776747b715Smrgdnl 7786747b715Smrgdnl Permission is hereby granted, free of charge, to any person obtaining a 7796747b715Smrgdnl copy of this software and associated documentation files (the "Software"), 7806747b715Smrgdnl to deal in the Software without restriction, including without limitation 7816747b715Smrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense, 7826747b715Smrgdnl and/or sell copies of the Software, and to permit persons to whom the 7836747b715Smrgdnl Software is furnished to do so, subject to the following conditions: 7846747b715Smrgdnl 7856747b715Smrgdnl The above copyright notice and this permission notice (including the next 7866747b715Smrgdnl paragraph) shall be included in all copies or substantial portions of the 7876747b715Smrgdnl Software. 7886747b715Smrgdnl 7896747b715Smrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7906747b715Smrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7916747b715Smrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 7926747b715Smrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 7936747b715Smrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 7946747b715Smrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 7956747b715Smrgdnl DEALINGS IN THE SOFTWARE. 7964642e01fSmrg 79735c4bbdfSmrg# XORG_MACROS_VERSION(required-version) 79835c4bbdfSmrg# ------------------------------------- 7996747b715Smrg# Minimum version: 1.1.0 8006747b715Smrg# 8016747b715Smrg# If you're using a macro added in Version 1.1 or newer, include this in 8026747b715Smrg# your configure.ac with the minimum required version, such as: 80335c4bbdfSmrg# XORG_MACROS_VERSION(1.1) 8046747b715Smrg# 8056747b715Smrg# To ensure that this macro is defined, also add: 80635c4bbdfSmrg# m4_ifndef([XORG_MACROS_VERSION], 80735c4bbdfSmrg# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])]) 8086747b715Smrg# 8096747b715Smrg# 8106747b715Smrg# See the "minimum version" comment for each macro you use to see what 8116747b715Smrg# version you require. 81235c4bbdfSmrgm4_defun([XORG_MACROS_VERSION],[ 81358cf2af7Smrgm4_define([vers_have], [1.20.1]) 8146747b715Smrgm4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) 8156747b715Smrgm4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) 8166747b715Smrgm4_if(m4_cmp(maj_have, maj_needed), 0,, 81735c4bbdfSmrg [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])]) 8186747b715Smrgm4_if(m4_version_compare(vers_have, [$1]), -1, 81935c4bbdfSmrg [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])]) 8206747b715Smrgm4_undefine([vers_have]) 8216747b715Smrgm4_undefine([maj_have]) 8226747b715Smrgm4_undefine([maj_needed]) 82335c4bbdfSmrg]) # XORG_MACROS_VERSION 8244642e01fSmrg 82535c4bbdfSmrg# XORG_PROG_RAWCPP() 82635c4bbdfSmrg# ------------------ 8276747b715Smrg# Minimum version: 1.0.0 8286747b715Smrg# 82935c4bbdfSmrg# Find cpp program and necessary flags for use in pre-processing text files 83035c4bbdfSmrg# such as man pages and config files 83135c4bbdfSmrgAC_DEFUN([XORG_PROG_RAWCPP],[ 83235c4bbdfSmrgAC_REQUIRE([AC_PROG_CPP]) 833c82838c1SmrgAC_PATH_TOOL(RAWCPP, [cpp], [${CPP}], 83435c4bbdfSmrg [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib]) 8354642e01fSmrg 83635c4bbdfSmrg# Check for flag to avoid builtin definitions - assumes unix is predefined, 83735c4bbdfSmrg# which is not the best choice for supporting other OS'es, but covers most 83835c4bbdfSmrg# of the ones we need for now. 83935c4bbdfSmrgAC_MSG_CHECKING([if $RAWCPP requires -undef]) 84035c4bbdfSmrgAC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])]) 84135c4bbdfSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then 84235c4bbdfSmrg AC_MSG_RESULT([no]) 84335c4bbdfSmrgelse 84435c4bbdfSmrg if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then 84535c4bbdfSmrg RAWCPPFLAGS=-undef 84635c4bbdfSmrg AC_MSG_RESULT([yes]) 84735c4bbdfSmrg # under Cygwin unix is still defined even with -undef 84835c4bbdfSmrg elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then 84935c4bbdfSmrg RAWCPPFLAGS="-undef -ansi" 85035c4bbdfSmrg AC_MSG_RESULT([yes, with -ansi]) 85135c4bbdfSmrg else 85235c4bbdfSmrg AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef. I don't know what to do.]) 8536747b715Smrg fi 85435c4bbdfSmrgfi 85535c4bbdfSmrgrm -f conftest.$ac_ext 8564642e01fSmrg 85735c4bbdfSmrgAC_MSG_CHECKING([if $RAWCPP requires -traditional]) 85835c4bbdfSmrgAC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve "whitespace"?]])]) 85958cf2af7Smrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then 86035c4bbdfSmrg AC_MSG_RESULT([no]) 86135c4bbdfSmrgelse 86258cf2af7Smrg if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then 86335c4bbdfSmrg TRADITIONALCPPFLAGS="-traditional" 86435c4bbdfSmrg RAWCPPFLAGS="${RAWCPPFLAGS} -traditional" 86535c4bbdfSmrg AC_MSG_RESULT([yes]) 8666747b715Smrg else 86735c4bbdfSmrg AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional. I don't know what to do.]) 8686747b715Smrg fi 86935c4bbdfSmrgfi 87035c4bbdfSmrgrm -f conftest.$ac_ext 87135c4bbdfSmrgAC_SUBST(RAWCPPFLAGS) 87235c4bbdfSmrgAC_SUBST(TRADITIONALCPPFLAGS) 87335c4bbdfSmrg]) # XORG_PROG_RAWCPP 8744642e01fSmrg 87535c4bbdfSmrg# XORG_MANPAGE_SECTIONS() 87635c4bbdfSmrg# ----------------------- 87735c4bbdfSmrg# Minimum version: 1.0.0 8784642e01fSmrg# 87935c4bbdfSmrg# Determine which sections man pages go in for the different man page types 88035c4bbdfSmrg# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files. 88135c4bbdfSmrg# Not sure if there's any better way than just hardcoding by OS name. 88235c4bbdfSmrg# Override default settings by setting environment variables 88335c4bbdfSmrg# Added MAN_SUBSTS in version 1.8 88435c4bbdfSmrg# Added AC_PROG_SED in version 1.8 8854642e01fSmrg 88635c4bbdfSmrgAC_DEFUN([XORG_MANPAGE_SECTIONS],[ 88735c4bbdfSmrgAC_REQUIRE([AC_CANONICAL_HOST]) 88835c4bbdfSmrgAC_REQUIRE([AC_PROG_SED]) 8894642e01fSmrg 890c82838c1Smrgcase $host_os in 891c82838c1Smrg solaris*) 892c82838c1Smrg # Solaris 2.0 - 11.3 use SysV man page section numbers, so we 893c82838c1Smrg # check for a man page file found in later versions that use 894c82838c1Smrg # traditional section numbers instead 895c82838c1Smrg AC_CHECK_FILE([/usr/share/man/man7/attributes.7], 896c82838c1Smrg [SYSV_MAN_SECTIONS=false], [SYSV_MAN_SECTIONS=true]) 897c82838c1Smrg ;; 898c82838c1Smrg *) SYSV_MAN_SECTIONS=false ;; 899c82838c1Smrgesac 900c82838c1Smrg 90135c4bbdfSmrgif test x$APP_MAN_SUFFIX = x ; then 90235c4bbdfSmrg APP_MAN_SUFFIX=1 90335c4bbdfSmrgfi 90435c4bbdfSmrgif test x$APP_MAN_DIR = x ; then 90535c4bbdfSmrg APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)' 90635c4bbdfSmrgfi 9074642e01fSmrg 90835c4bbdfSmrgif test x$LIB_MAN_SUFFIX = x ; then 90935c4bbdfSmrg LIB_MAN_SUFFIX=3 91035c4bbdfSmrgfi 91135c4bbdfSmrgif test x$LIB_MAN_DIR = x ; then 91235c4bbdfSmrg LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)' 91335c4bbdfSmrgfi 9146747b715Smrg 91535c4bbdfSmrgif test x$FILE_MAN_SUFFIX = x ; then 916c82838c1Smrg case $SYSV_MAN_SECTIONS in 917c82838c1Smrg true) FILE_MAN_SUFFIX=4 ;; 918c82838c1Smrg *) FILE_MAN_SUFFIX=5 ;; 91935c4bbdfSmrg esac 92035c4bbdfSmrgfi 92135c4bbdfSmrgif test x$FILE_MAN_DIR = x ; then 92235c4bbdfSmrg FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)' 92335c4bbdfSmrgfi 9244642e01fSmrg 92535c4bbdfSmrgif test x$MISC_MAN_SUFFIX = x ; then 926c82838c1Smrg case $SYSV_MAN_SECTIONS in 927c82838c1Smrg true) MISC_MAN_SUFFIX=5 ;; 928c82838c1Smrg *) MISC_MAN_SUFFIX=7 ;; 92935c4bbdfSmrg esac 93035c4bbdfSmrgfi 93135c4bbdfSmrgif test x$MISC_MAN_DIR = x ; then 93235c4bbdfSmrg MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)' 93335c4bbdfSmrgfi 9346747b715Smrg 93535c4bbdfSmrgif test x$DRIVER_MAN_SUFFIX = x ; then 936c82838c1Smrg case $SYSV_MAN_SECTIONS in 937c82838c1Smrg true) DRIVER_MAN_SUFFIX=7 ;; 938c82838c1Smrg *) DRIVER_MAN_SUFFIX=4 ;; 93935c4bbdfSmrg esac 94035c4bbdfSmrgfi 94135c4bbdfSmrgif test x$DRIVER_MAN_DIR = x ; then 94235c4bbdfSmrg DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)' 94335c4bbdfSmrgfi 9444642e01fSmrg 94535c4bbdfSmrgif test x$ADMIN_MAN_SUFFIX = x ; then 946c82838c1Smrg case $SYSV_MAN_SECTIONS in 947c82838c1Smrg true) ADMIN_MAN_SUFFIX=1m ;; 948c82838c1Smrg *) ADMIN_MAN_SUFFIX=8 ;; 94935c4bbdfSmrg esac 95035c4bbdfSmrgfi 95135c4bbdfSmrgif test x$ADMIN_MAN_DIR = x ; then 95235c4bbdfSmrg ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)' 95335c4bbdfSmrgfi 95405b261ecSmrg 95505b261ecSmrg 95635c4bbdfSmrgAC_SUBST([APP_MAN_SUFFIX]) 95735c4bbdfSmrgAC_SUBST([LIB_MAN_SUFFIX]) 95835c4bbdfSmrgAC_SUBST([FILE_MAN_SUFFIX]) 95935c4bbdfSmrgAC_SUBST([MISC_MAN_SUFFIX]) 96035c4bbdfSmrgAC_SUBST([DRIVER_MAN_SUFFIX]) 96135c4bbdfSmrgAC_SUBST([ADMIN_MAN_SUFFIX]) 96235c4bbdfSmrgAC_SUBST([APP_MAN_DIR]) 96335c4bbdfSmrgAC_SUBST([LIB_MAN_DIR]) 96435c4bbdfSmrgAC_SUBST([FILE_MAN_DIR]) 96535c4bbdfSmrgAC_SUBST([MISC_MAN_DIR]) 96635c4bbdfSmrgAC_SUBST([DRIVER_MAN_DIR]) 96735c4bbdfSmrgAC_SUBST([ADMIN_MAN_DIR]) 96835c4bbdfSmrg 96935c4bbdfSmrgXORG_MAN_PAGE="X Version 11" 97035c4bbdfSmrgAC_SUBST([XORG_MAN_PAGE]) 97135c4bbdfSmrgMAN_SUBSTS="\ 97235c4bbdfSmrg -e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \ 97335c4bbdfSmrg -e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \ 97435c4bbdfSmrg -e 's|__xservername__|Xorg|g' \ 97535c4bbdfSmrg -e 's|__xconfigfile__|xorg.conf|g' \ 97635c4bbdfSmrg -e 's|__projectroot__|\$(prefix)|g' \ 97735c4bbdfSmrg -e 's|__apploaddir__|\$(appdefaultdir)|g' \ 97835c4bbdfSmrg -e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \ 97935c4bbdfSmrg -e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \ 98035c4bbdfSmrg -e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \ 98135c4bbdfSmrg -e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \ 98235c4bbdfSmrg -e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \ 98335c4bbdfSmrg -e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'" 98435c4bbdfSmrgAC_SUBST([MAN_SUBSTS]) 98505b261ecSmrg 98635c4bbdfSmrg]) # XORG_MANPAGE_SECTIONS 98705b261ecSmrg 98835c4bbdfSmrg# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION]) 98935c4bbdfSmrg# ------------------------ 99035c4bbdfSmrg# Minimum version: 1.7.0 9916747b715Smrg# 99235c4bbdfSmrg# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent 99335c4bbdfSmrg# provided by xorg-sgml-doctools, if installed. 99435c4bbdfSmrgAC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[ 99535c4bbdfSmrgAC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])]) 99635c4bbdfSmrgXORG_SGML_PATH= 99735c4bbdfSmrgPKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])], 99835c4bbdfSmrg [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`], 99935c4bbdfSmrg [m4_ifval([$1],[:], 100035c4bbdfSmrg [if test x"$cross_compiling" != x"yes" ; then 100135c4bbdfSmrg AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent], 100235c4bbdfSmrg [XORG_SGML_PATH=$prefix/share/sgml]) 100335c4bbdfSmrg fi]) 100435c4bbdfSmrg ]) 100505b261ecSmrg 100635c4bbdfSmrg# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing 100735c4bbdfSmrg# the path and the name of the doc stylesheet 100835c4bbdfSmrgif test "x$XORG_SGML_PATH" != "x" ; then 100935c4bbdfSmrg AC_MSG_RESULT([$XORG_SGML_PATH]) 101035c4bbdfSmrg STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11 101135c4bbdfSmrg XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl 101235c4bbdfSmrgelse 101335c4bbdfSmrg AC_MSG_RESULT([no]) 101435c4bbdfSmrgfi 1015b1d344b3Smrg 101635c4bbdfSmrgAC_SUBST(XORG_SGML_PATH) 101735c4bbdfSmrgAC_SUBST(STYLESHEET_SRCDIR) 101835c4bbdfSmrgAC_SUBST(XSL_STYLESHEET) 101935c4bbdfSmrgAM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"]) 102035c4bbdfSmrg]) # XORG_CHECK_SGML_DOCTOOLS 102105b261ecSmrg 102235c4bbdfSmrg# XORG_CHECK_LINUXDOC 102335c4bbdfSmrg# ------------------- 102435c4bbdfSmrg# Minimum version: 1.0.0 102535c4bbdfSmrg# 102635c4bbdfSmrg# Defines the variable MAKE_TEXT if the necessary tools and 102735c4bbdfSmrg# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt. 102835c4bbdfSmrg# Whether or not the necessary tools and files are found can be checked 102935c4bbdfSmrg# with the AM_CONDITIONAL "BUILD_LINUXDOC" 103035c4bbdfSmrgAC_DEFUN([XORG_CHECK_LINUXDOC],[ 103135c4bbdfSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS]) 103235c4bbdfSmrgAC_REQUIRE([XORG_WITH_PS2PDF]) 1033b1d344b3Smrg 103435c4bbdfSmrgAC_PATH_PROG(LINUXDOC, linuxdoc) 103505b261ecSmrg 103635c4bbdfSmrgAC_MSG_CHECKING([whether to build documentation]) 103705b261ecSmrg 103835c4bbdfSmrgif test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then 103935c4bbdfSmrg BUILDDOC=yes 104035c4bbdfSmrgelse 104135c4bbdfSmrg BUILDDOC=no 104235c4bbdfSmrgfi 104305b261ecSmrg 104435c4bbdfSmrgAM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes]) 104505b261ecSmrg 104635c4bbdfSmrgAC_MSG_RESULT([$BUILDDOC]) 104705b261ecSmrg 104835c4bbdfSmrgAC_MSG_CHECKING([whether to build pdf documentation]) 104905b261ecSmrg 105035c4bbdfSmrgif test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then 105135c4bbdfSmrg BUILDPDFDOC=yes 105235c4bbdfSmrgelse 105335c4bbdfSmrg BUILDPDFDOC=no 105435c4bbdfSmrgfi 1055475c125cSmrg 105635c4bbdfSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes]) 1057475c125cSmrg 105835c4bbdfSmrgAC_MSG_RESULT([$BUILDPDFDOC]) 105905b261ecSmrg 106035c4bbdfSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f" 106135c4bbdfSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps" 106235c4bbdfSmrgMAKE_PDF="$PS2PDF" 106335c4bbdfSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B html --split=0" 10644642e01fSmrg 10654642e01fSmrgAC_SUBST(MAKE_TEXT) 10664642e01fSmrgAC_SUBST(MAKE_PS) 10674642e01fSmrgAC_SUBST(MAKE_PDF) 10684642e01fSmrgAC_SUBST(MAKE_HTML) 10694642e01fSmrg]) # XORG_CHECK_LINUXDOC 10704642e01fSmrg 10714642e01fSmrg# XORG_CHECK_DOCBOOK 10724642e01fSmrg# ------------------- 10734642e01fSmrg# Minimum version: 1.0.0 10744642e01fSmrg# 10754642e01fSmrg# Checks for the ability to build output formats from SGML DocBook source. 10764642e01fSmrg# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC" 10774642e01fSmrg# indicates whether the necessary tools and files are found and, if set, 10784642e01fSmrg# $(MAKE_XXX) blah.sgml will produce blah.xxx. 10794642e01fSmrgAC_DEFUN([XORG_CHECK_DOCBOOK],[ 10806747b715SmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS]) 10816747b715Smrg 10824642e01fSmrgBUILDTXTDOC=no 10834642e01fSmrgBUILDPDFDOC=no 10844642e01fSmrgBUILDPSDOC=no 10854642e01fSmrgBUILDHTMLDOC=no 10864642e01fSmrg 10874642e01fSmrgAC_PATH_PROG(DOCBOOKPS, docbook2ps) 10884642e01fSmrgAC_PATH_PROG(DOCBOOKPDF, docbook2pdf) 10894642e01fSmrgAC_PATH_PROG(DOCBOOKHTML, docbook2html) 10904642e01fSmrgAC_PATH_PROG(DOCBOOKTXT, docbook2txt) 10914642e01fSmrg 10926747b715SmrgAC_MSG_CHECKING([whether to build text documentation]) 10936747b715Smrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x && 10944642e01fSmrg test x$BUILD_TXTDOC != xno; then 10954642e01fSmrg BUILDTXTDOC=yes 10964642e01fSmrgfi 10974642e01fSmrgAM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes]) 10984642e01fSmrgAC_MSG_RESULT([$BUILDTXTDOC]) 10994642e01fSmrg 11006747b715SmrgAC_MSG_CHECKING([whether to build PDF documentation]) 11016747b715Smrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x && 11024642e01fSmrg test x$BUILD_PDFDOC != xno; then 11034642e01fSmrg BUILDPDFDOC=yes 11044642e01fSmrgfi 11054642e01fSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes]) 11064642e01fSmrgAC_MSG_RESULT([$BUILDPDFDOC]) 11074642e01fSmrg 11086747b715SmrgAC_MSG_CHECKING([whether to build PostScript documentation]) 11096747b715Smrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x && 11104642e01fSmrg test x$BUILD_PSDOC != xno; then 11114642e01fSmrg BUILDPSDOC=yes 11124642e01fSmrgfi 11134642e01fSmrgAM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes]) 11144642e01fSmrgAC_MSG_RESULT([$BUILDPSDOC]) 11154642e01fSmrg 11166747b715SmrgAC_MSG_CHECKING([whether to build HTML documentation]) 11176747b715Smrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x && 11184642e01fSmrg test x$BUILD_HTMLDOC != xno; then 11194642e01fSmrg BUILDHTMLDOC=yes 11204642e01fSmrgfi 11214642e01fSmrgAM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes]) 11224642e01fSmrgAC_MSG_RESULT([$BUILDHTMLDOC]) 11234642e01fSmrg 11244642e01fSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT" 11254642e01fSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS" 11264642e01fSmrgMAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF" 11274642e01fSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML" 11284642e01fSmrg 11294642e01fSmrgAC_SUBST(MAKE_TEXT) 11304642e01fSmrgAC_SUBST(MAKE_PS) 11314642e01fSmrgAC_SUBST(MAKE_PDF) 11324642e01fSmrgAC_SUBST(MAKE_HTML) 11334642e01fSmrg]) # XORG_CHECK_DOCBOOK 11344642e01fSmrg 11356747b715Smrg# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT]) 11366747b715Smrg# ---------------- 11376747b715Smrg# Minimum version: 1.5.0 11386747b715Smrg# Minimum version for optional DEFAULT argument: 1.11.0 11396747b715Smrg# 11406747b715Smrg# Documentation tools are not always available on all platforms and sometimes 11416747b715Smrg# not at the appropriate level. This macro enables a module to test for the 11426747b715Smrg# presence of the tool and obtain it's path in separate variables. Coupled with 1143eee80088Smrg# the --with-xmlto option, it allows maximum flexibility in making decisions 11446747b715Smrg# as whether or not to use the xmlto package. When DEFAULT is not specified, 11456747b715Smrg# --with-xmlto assumes 'auto'. 11466747b715Smrg# 11476747b715Smrg# Interface to module: 11486747b715Smrg# HAVE_XMLTO: used in makefiles to conditionally generate documentation 11496747b715Smrg# XMLTO: returns the path of the xmlto program found 11506747b715Smrg# returns the path set by the user in the environment 11516747b715Smrg# --with-xmlto: 'yes' user instructs the module to use xmlto 11526747b715Smrg# 'no' user instructs the module not to use xmlto 11536747b715Smrg# 11546747b715Smrg# Added in version 1.10.0 11556747b715Smrg# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation 11566747b715Smrg# xmlto for text output requires either lynx, links, or w3m browsers 11576747b715Smrg# 11586747b715Smrg# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path. 11596747b715Smrg# 11606747b715SmrgAC_DEFUN([XORG_WITH_XMLTO],[ 11616747b715SmrgAC_ARG_VAR([XMLTO], [Path to xmlto command]) 11626747b715Smrgm4_define([_defopt], m4_default([$2], [auto])) 11636747b715SmrgAC_ARG_WITH(xmlto, 11646747b715Smrg AS_HELP_STRING([--with-xmlto], 11656747b715Smrg [Use xmlto to regenerate documentation (default: ]_defopt[)]), 11666747b715Smrg [use_xmlto=$withval], [use_xmlto=]_defopt) 11676747b715Smrgm4_undefine([_defopt]) 11686747b715Smrg 11696747b715Smrgif test "x$use_xmlto" = x"auto"; then 11706747b715Smrg AC_PATH_PROG([XMLTO], [xmlto]) 11716747b715Smrg if test "x$XMLTO" = "x"; then 11726747b715Smrg AC_MSG_WARN([xmlto not found - documentation targets will be skipped]) 11736747b715Smrg have_xmlto=no 11746747b715Smrg else 11756747b715Smrg have_xmlto=yes 11766747b715Smrg fi 11776747b715Smrgelif test "x$use_xmlto" = x"yes" ; then 11786747b715Smrg AC_PATH_PROG([XMLTO], [xmlto]) 11796747b715Smrg if test "x$XMLTO" = "x"; then 11806747b715Smrg AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH]) 11816747b715Smrg fi 11826747b715Smrg have_xmlto=yes 11836747b715Smrgelif test "x$use_xmlto" = x"no" ; then 11846747b715Smrg if test "x$XMLTO" != "x"; then 11856747b715Smrg AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified]) 11866747b715Smrg fi 11876747b715Smrg have_xmlto=no 11886747b715Smrgelse 11896747b715Smrg AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no']) 11906747b715Smrgfi 11916747b715Smrg 11926747b715Smrg# Test for a minimum version of xmlto, if provided. 11936747b715Smrgm4_ifval([$1], 11946747b715Smrg[if test "$have_xmlto" = yes; then 11956747b715Smrg # scrape the xmlto version 11966747b715Smrg AC_MSG_CHECKING([the xmlto version]) 11976747b715Smrg xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3` 11986747b715Smrg AC_MSG_RESULT([$xmlto_version]) 11996747b715Smrg AS_VERSION_COMPARE([$xmlto_version], [$1], 12006747b715Smrg [if test "x$use_xmlto" = xauto; then 12016747b715Smrg AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed]) 12026747b715Smrg have_xmlto=no 12036747b715Smrg else 12046747b715Smrg AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed]) 12056747b715Smrg fi]) 12066747b715Smrgfi]) 12076747b715Smrg 12086747b715Smrg# Test for the ability of xmlto to generate a text target 1209e23ec014Smrg# 1210e23ec014Smrg# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the 1211e23ec014Smrg# following test for empty XML docbook files. 1212e23ec014Smrg# For compatibility reasons use the following empty XML docbook file and if 1213e23ec014Smrg# it fails try it again with a non-empty XML file. 12146747b715Smrghave_xmlto_text=no 12156747b715Smrgcat > conftest.xml << "EOF" 12166747b715SmrgEOF 12176747b715SmrgAS_IF([test "$have_xmlto" = yes], 12186747b715Smrg [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], 12196747b715Smrg [have_xmlto_text=yes], 1220e23ec014Smrg [# Try it again with a non-empty XML file. 1221e23ec014Smrg cat > conftest.xml << "EOF" 1222e23ec014Smrg<x></x> 1223e23ec014SmrgEOF 1224e23ec014Smrg AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], 1225e23ec014Smrg [have_xmlto_text=yes], 1226e23ec014Smrg [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])]) 12276747b715Smrgrm -f conftest.xml 12286747b715SmrgAM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) 12296747b715SmrgAM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) 12306747b715Smrg]) # XORG_WITH_XMLTO 12316747b715Smrg 12328223e2f2Smrg# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT]) 12338223e2f2Smrg# -------------------------------------------- 12348223e2f2Smrg# Minimum version: 1.12.0 12358223e2f2Smrg# Minimum version for optional DEFAULT argument: 1.12.0 12368223e2f2Smrg# 12378223e2f2Smrg# XSLT (Extensible Stylesheet Language Transformations) is a declarative, 12388223e2f2Smrg# XML-based language used for the transformation of XML documents. 12398223e2f2Smrg# The xsltproc command line tool is for applying XSLT stylesheets to XML documents. 12408223e2f2Smrg# It is used under the cover by xmlto to generate html files from DocBook/XML. 12418223e2f2Smrg# The XSLT processor is often used as a standalone tool for transformations. 12428223e2f2Smrg# It should not be assumed that this tool is used only to work with documnetation. 12438223e2f2Smrg# When DEFAULT is not specified, --with-xsltproc assumes 'auto'. 12448223e2f2Smrg# 12458223e2f2Smrg# Interface to module: 12468223e2f2Smrg# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation 12478223e2f2Smrg# XSLTPROC: returns the path of the xsltproc program found 12488223e2f2Smrg# returns the path set by the user in the environment 12498223e2f2Smrg# --with-xsltproc: 'yes' user instructs the module to use xsltproc 12508223e2f2Smrg# 'no' user instructs the module not to use xsltproc 12518223e2f2Smrg# have_xsltproc: returns yes if xsltproc found in PATH or no 12528223e2f2Smrg# 12538223e2f2Smrg# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path. 12548223e2f2Smrg# 12558223e2f2SmrgAC_DEFUN([XORG_WITH_XSLTPROC],[ 12568223e2f2SmrgAC_ARG_VAR([XSLTPROC], [Path to xsltproc command]) 1257475c125cSmrg# Preserves the interface, should it be implemented later 1258475c125cSmrgm4_ifval([$1], [m4_warn([syntax], [Checking for xsltproc MIN-VERSION is not implemented])]) 12598223e2f2Smrgm4_define([_defopt], m4_default([$2], [auto])) 12608223e2f2SmrgAC_ARG_WITH(xsltproc, 12618223e2f2Smrg AS_HELP_STRING([--with-xsltproc], 12628223e2f2Smrg [Use xsltproc for the transformation of XML documents (default: ]_defopt[)]), 12638223e2f2Smrg [use_xsltproc=$withval], [use_xsltproc=]_defopt) 12648223e2f2Smrgm4_undefine([_defopt]) 12658223e2f2Smrg 12668223e2f2Smrgif test "x$use_xsltproc" = x"auto"; then 12678223e2f2Smrg AC_PATH_PROG([XSLTPROC], [xsltproc]) 12688223e2f2Smrg if test "x$XSLTPROC" = "x"; then 12698223e2f2Smrg AC_MSG_WARN([xsltproc not found - cannot transform XML documents]) 12708223e2f2Smrg have_xsltproc=no 12718223e2f2Smrg else 12728223e2f2Smrg have_xsltproc=yes 12738223e2f2Smrg fi 12748223e2f2Smrgelif test "x$use_xsltproc" = x"yes" ; then 12758223e2f2Smrg AC_PATH_PROG([XSLTPROC], [xsltproc]) 12768223e2f2Smrg if test "x$XSLTPROC" = "x"; then 12778223e2f2Smrg AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH]) 12788223e2f2Smrg fi 12798223e2f2Smrg have_xsltproc=yes 12808223e2f2Smrgelif test "x$use_xsltproc" = x"no" ; then 12818223e2f2Smrg if test "x$XSLTPROC" != "x"; then 12828223e2f2Smrg AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified]) 12838223e2f2Smrg fi 12848223e2f2Smrg have_xsltproc=no 12858223e2f2Smrgelse 12868223e2f2Smrg AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no']) 12878223e2f2Smrgfi 12888223e2f2Smrg 12898223e2f2SmrgAM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes]) 12908223e2f2Smrg]) # XORG_WITH_XSLTPROC 12918223e2f2Smrg 1292475c125cSmrg# XORG_WITH_PERL([MIN-VERSION], [DEFAULT]) 1293475c125cSmrg# ---------------------------------------- 1294475c125cSmrg# Minimum version: 1.15.0 1295475c125cSmrg# 1296475c125cSmrg# PERL (Practical Extraction and Report Language) is a language optimized for 1297475c125cSmrg# scanning arbitrary text files, extracting information from those text files, 1298475c125cSmrg# and printing reports based on that information. 1299475c125cSmrg# 1300475c125cSmrg# When DEFAULT is not specified, --with-perl assumes 'auto'. 1301475c125cSmrg# 1302475c125cSmrg# Interface to module: 1303475c125cSmrg# HAVE_PERL: used in makefiles to conditionally scan text files 1304475c125cSmrg# PERL: returns the path of the perl program found 1305475c125cSmrg# returns the path set by the user in the environment 1306475c125cSmrg# --with-perl: 'yes' user instructs the module to use perl 1307475c125cSmrg# 'no' user instructs the module not to use perl 1308475c125cSmrg# have_perl: returns yes if perl found in PATH or no 1309475c125cSmrg# 1310475c125cSmrg# If the user sets the value of PERL, AC_PATH_PROG skips testing the path. 1311475c125cSmrg# 1312475c125cSmrgAC_DEFUN([XORG_WITH_PERL],[ 1313475c125cSmrgAC_ARG_VAR([PERL], [Path to perl command]) 1314475c125cSmrg# Preserves the interface, should it be implemented later 1315475c125cSmrgm4_ifval([$1], [m4_warn([syntax], [Checking for perl MIN-VERSION is not implemented])]) 1316475c125cSmrgm4_define([_defopt], m4_default([$2], [auto])) 1317475c125cSmrgAC_ARG_WITH(perl, 1318475c125cSmrg AS_HELP_STRING([--with-perl], 1319475c125cSmrg [Use perl for extracting information from files (default: ]_defopt[)]), 1320475c125cSmrg [use_perl=$withval], [use_perl=]_defopt) 1321475c125cSmrgm4_undefine([_defopt]) 1322475c125cSmrg 1323475c125cSmrgif test "x$use_perl" = x"auto"; then 1324475c125cSmrg AC_PATH_PROG([PERL], [perl]) 1325475c125cSmrg if test "x$PERL" = "x"; then 1326475c125cSmrg AC_MSG_WARN([perl not found - cannot extract information and report]) 1327475c125cSmrg have_perl=no 1328475c125cSmrg else 1329475c125cSmrg have_perl=yes 1330475c125cSmrg fi 1331475c125cSmrgelif test "x$use_perl" = x"yes" ; then 1332475c125cSmrg AC_PATH_PROG([PERL], [perl]) 1333475c125cSmrg if test "x$PERL" = "x"; then 1334475c125cSmrg AC_MSG_ERROR([--with-perl=yes specified but perl not found in PATH]) 1335475c125cSmrg fi 1336475c125cSmrg have_perl=yes 1337475c125cSmrgelif test "x$use_perl" = x"no" ; then 1338475c125cSmrg if test "x$PERL" != "x"; then 1339475c125cSmrg AC_MSG_WARN([ignoring PERL environment variable since --with-perl=no was specified]) 1340475c125cSmrg fi 1341475c125cSmrg have_perl=no 1342475c125cSmrgelse 1343475c125cSmrg AC_MSG_ERROR([--with-perl expects 'yes' or 'no']) 1344475c125cSmrgfi 1345475c125cSmrg 1346475c125cSmrgAM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes]) 1347475c125cSmrg]) # XORG_WITH_PERL 13488223e2f2Smrg 13496747b715Smrg# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT]) 13506747b715Smrg# ---------------- 13516747b715Smrg# Minimum version: 1.5.0 13526747b715Smrg# Minimum version for optional DEFAULT argument: 1.11.0 13536747b715Smrg# 13546747b715Smrg# Documentation tools are not always available on all platforms and sometimes 13556747b715Smrg# not at the appropriate level. This macro enables a module to test for the 13566747b715Smrg# presence of the tool and obtain it's path in separate variables. Coupled with 1357eee80088Smrg# the --with-asciidoc option, it allows maximum flexibility in making decisions 13586747b715Smrg# as whether or not to use the asciidoc package. When DEFAULT is not specified, 13596747b715Smrg# --with-asciidoc assumes 'auto'. 13606747b715Smrg# 13616747b715Smrg# Interface to module: 13626747b715Smrg# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation 13636747b715Smrg# ASCIIDOC: returns the path of the asciidoc program found 13646747b715Smrg# returns the path set by the user in the environment 13656747b715Smrg# --with-asciidoc: 'yes' user instructs the module to use asciidoc 13666747b715Smrg# 'no' user instructs the module not to use asciidoc 13676747b715Smrg# 13686747b715Smrg# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path. 13696747b715Smrg# 13706747b715SmrgAC_DEFUN([XORG_WITH_ASCIIDOC],[ 13716747b715SmrgAC_ARG_VAR([ASCIIDOC], [Path to asciidoc command]) 13726747b715Smrgm4_define([_defopt], m4_default([$2], [auto])) 13736747b715SmrgAC_ARG_WITH(asciidoc, 13746747b715Smrg AS_HELP_STRING([--with-asciidoc], 13756747b715Smrg [Use asciidoc to regenerate documentation (default: ]_defopt[)]), 13766747b715Smrg [use_asciidoc=$withval], [use_asciidoc=]_defopt) 13776747b715Smrgm4_undefine([_defopt]) 13786747b715Smrg 13796747b715Smrgif test "x$use_asciidoc" = x"auto"; then 13806747b715Smrg AC_PATH_PROG([ASCIIDOC], [asciidoc]) 13816747b715Smrg if test "x$ASCIIDOC" = "x"; then 13826747b715Smrg AC_MSG_WARN([asciidoc not found - documentation targets will be skipped]) 13836747b715Smrg have_asciidoc=no 13846747b715Smrg else 13856747b715Smrg have_asciidoc=yes 13866747b715Smrg fi 13876747b715Smrgelif test "x$use_asciidoc" = x"yes" ; then 13886747b715Smrg AC_PATH_PROG([ASCIIDOC], [asciidoc]) 13896747b715Smrg if test "x$ASCIIDOC" = "x"; then 13906747b715Smrg AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH]) 13916747b715Smrg fi 13926747b715Smrg have_asciidoc=yes 13936747b715Smrgelif test "x$use_asciidoc" = x"no" ; then 13946747b715Smrg if test "x$ASCIIDOC" != "x"; then 13956747b715Smrg AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified]) 13966747b715Smrg fi 13976747b715Smrg have_asciidoc=no 13986747b715Smrgelse 13996747b715Smrg AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no']) 14006747b715Smrgfi 14016747b715Smrgm4_ifval([$1], 14026747b715Smrg[if test "$have_asciidoc" = yes; then 14036747b715Smrg # scrape the asciidoc version 14046747b715Smrg AC_MSG_CHECKING([the asciidoc version]) 14056747b715Smrg asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2` 14066747b715Smrg AC_MSG_RESULT([$asciidoc_version]) 14076747b715Smrg AS_VERSION_COMPARE([$asciidoc_version], [$1], 14086747b715Smrg [if test "x$use_asciidoc" = xauto; then 14096747b715Smrg AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed]) 14106747b715Smrg have_asciidoc=no 14116747b715Smrg else 14126747b715Smrg AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed]) 14136747b715Smrg fi]) 14146747b715Smrgfi]) 14156747b715SmrgAM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes]) 14166747b715Smrg]) # XORG_WITH_ASCIIDOC 14176747b715Smrg 14186747b715Smrg# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT]) 141935c4bbdfSmrg# ------------------------------------------- 14206747b715Smrg# Minimum version: 1.5.0 14216747b715Smrg# Minimum version for optional DEFAULT argument: 1.11.0 142235c4bbdfSmrg# Minimum version for optional DOT checking: 1.18.0 14236747b715Smrg# 14246747b715Smrg# Documentation tools are not always available on all platforms and sometimes 14256747b715Smrg# not at the appropriate level. This macro enables a module to test for the 14266747b715Smrg# presence of the tool and obtain it's path in separate variables. Coupled with 1427eee80088Smrg# the --with-doxygen option, it allows maximum flexibility in making decisions 14286747b715Smrg# as whether or not to use the doxygen package. When DEFAULT is not specified, 14296747b715Smrg# --with-doxygen assumes 'auto'. 14306747b715Smrg# 14316747b715Smrg# Interface to module: 14326747b715Smrg# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation 14336747b715Smrg# DOXYGEN: returns the path of the doxygen program found 14346747b715Smrg# returns the path set by the user in the environment 14356747b715Smrg# --with-doxygen: 'yes' user instructs the module to use doxygen 14366747b715Smrg# 'no' user instructs the module not to use doxygen 14376747b715Smrg# 14386747b715Smrg# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path. 14396747b715Smrg# 14406747b715SmrgAC_DEFUN([XORG_WITH_DOXYGEN],[ 14416747b715SmrgAC_ARG_VAR([DOXYGEN], [Path to doxygen command]) 144235c4bbdfSmrgAC_ARG_VAR([DOT], [Path to the dot graphics utility]) 14436747b715Smrgm4_define([_defopt], m4_default([$2], [auto])) 14446747b715SmrgAC_ARG_WITH(doxygen, 14456747b715Smrg AS_HELP_STRING([--with-doxygen], 14466747b715Smrg [Use doxygen to regenerate documentation (default: ]_defopt[)]), 14476747b715Smrg [use_doxygen=$withval], [use_doxygen=]_defopt) 14486747b715Smrgm4_undefine([_defopt]) 14496747b715Smrg 14506747b715Smrgif test "x$use_doxygen" = x"auto"; then 14516747b715Smrg AC_PATH_PROG([DOXYGEN], [doxygen]) 14526747b715Smrg if test "x$DOXYGEN" = "x"; then 14536747b715Smrg AC_MSG_WARN([doxygen not found - documentation targets will be skipped]) 14546747b715Smrg have_doxygen=no 14556747b715Smrg else 14566747b715Smrg have_doxygen=yes 14576747b715Smrg fi 14586747b715Smrgelif test "x$use_doxygen" = x"yes" ; then 14596747b715Smrg AC_PATH_PROG([DOXYGEN], [doxygen]) 14606747b715Smrg if test "x$DOXYGEN" = "x"; then 14616747b715Smrg AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH]) 14626747b715Smrg fi 14636747b715Smrg have_doxygen=yes 14646747b715Smrgelif test "x$use_doxygen" = x"no" ; then 14656747b715Smrg if test "x$DOXYGEN" != "x"; then 14666747b715Smrg AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified]) 14676747b715Smrg fi 14686747b715Smrg have_doxygen=no 14696747b715Smrgelse 14706747b715Smrg AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no']) 14716747b715Smrgfi 14726747b715Smrgm4_ifval([$1], 14736747b715Smrg[if test "$have_doxygen" = yes; then 14746747b715Smrg # scrape the doxygen version 14756747b715Smrg AC_MSG_CHECKING([the doxygen version]) 14766747b715Smrg doxygen_version=`$DOXYGEN --version 2>/dev/null` 14776747b715Smrg AC_MSG_RESULT([$doxygen_version]) 14786747b715Smrg AS_VERSION_COMPARE([$doxygen_version], [$1], 14796747b715Smrg [if test "x$use_doxygen" = xauto; then 14806747b715Smrg AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed]) 14816747b715Smrg have_doxygen=no 14826747b715Smrg else 14836747b715Smrg AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed]) 14846747b715Smrg fi]) 14856747b715Smrgfi]) 148635c4bbdfSmrg 148735c4bbdfSmrgdnl Check for DOT if we have doxygen. The caller decides if it is mandatory 148835c4bbdfSmrgdnl HAVE_DOT is a variable that can be used in your doxygen.in config file: 148935c4bbdfSmrgdnl HAVE_DOT = @HAVE_DOT@ 149035c4bbdfSmrgHAVE_DOT=no 149135c4bbdfSmrgif test "x$have_doxygen" = "xyes"; then 149235c4bbdfSmrg AC_PATH_PROG([DOT], [dot]) 149335c4bbdfSmrg if test "x$DOT" != "x"; then 149435c4bbdfSmrg HAVE_DOT=yes 149535c4bbdfSmrg fi 149635c4bbdfSmrgfi 149735c4bbdfSmrg 149835c4bbdfSmrgAC_SUBST([HAVE_DOT]) 149935c4bbdfSmrgAM_CONDITIONAL([HAVE_DOT], [test "$HAVE_DOT" = "yes"]) 15006747b715SmrgAM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes]) 15016747b715Smrg]) # XORG_WITH_DOXYGEN 15026747b715Smrg 15036747b715Smrg# XORG_WITH_GROFF([DEFAULT]) 15046747b715Smrg# ---------------- 15056747b715Smrg# Minimum version: 1.6.0 15066747b715Smrg# Minimum version for optional DEFAULT argument: 1.11.0 15076747b715Smrg# 15086747b715Smrg# Documentation tools are not always available on all platforms and sometimes 15096747b715Smrg# not at the appropriate level. This macro enables a module to test for the 15106747b715Smrg# presence of the tool and obtain it's path in separate variables. Coupled with 1511eee80088Smrg# the --with-groff option, it allows maximum flexibility in making decisions 15126747b715Smrg# as whether or not to use the groff package. When DEFAULT is not specified, 15136747b715Smrg# --with-groff assumes 'auto'. 15146747b715Smrg# 15156747b715Smrg# Interface to module: 15166747b715Smrg# HAVE_GROFF: used in makefiles to conditionally generate documentation 15176747b715Smrg# HAVE_GROFF_MM: the memorandum macros (-mm) package 15186747b715Smrg# HAVE_GROFF_MS: the -ms macros package 15196747b715Smrg# GROFF: returns the path of the groff program found 15206747b715Smrg# returns the path set by the user in the environment 15216747b715Smrg# --with-groff: 'yes' user instructs the module to use groff 15226747b715Smrg# 'no' user instructs the module not to use groff 15236747b715Smrg# 15246747b715Smrg# Added in version 1.9.0: 15256747b715Smrg# HAVE_GROFF_HTML: groff has dependencies to output HTML format: 15266747b715Smrg# pnmcut pnmcrop pnmtopng pnmtops from the netpbm package. 15276747b715Smrg# psselect from the psutils package. 15286747b715Smrg# the ghostcript package. Refer to the grohtml man pages 15296747b715Smrg# 15306747b715Smrg# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path. 15316747b715Smrg# 15326747b715Smrg# OS and distros often splits groff in a basic and full package, the former 15336747b715Smrg# having the groff program and the later having devices, fonts and macros 15346747b715Smrg# Checking for the groff executable is not enough. 15356747b715Smrg# 15366747b715Smrg# If macros are missing, we cannot assume that groff is useless, so we don't 15376747b715Smrg# unset HAVE_GROFF or GROFF env variables. 15386747b715Smrg# HAVE_GROFF_?? can never be true while HAVE_GROFF is false. 15396747b715Smrg# 15406747b715SmrgAC_DEFUN([XORG_WITH_GROFF],[ 15416747b715SmrgAC_ARG_VAR([GROFF], [Path to groff command]) 15426747b715Smrgm4_define([_defopt], m4_default([$1], [auto])) 15436747b715SmrgAC_ARG_WITH(groff, 15446747b715Smrg AS_HELP_STRING([--with-groff], 15456747b715Smrg [Use groff to regenerate documentation (default: ]_defopt[)]), 15466747b715Smrg [use_groff=$withval], [use_groff=]_defopt) 15476747b715Smrgm4_undefine([_defopt]) 15486747b715Smrg 15496747b715Smrgif test "x$use_groff" = x"auto"; then 15506747b715Smrg AC_PATH_PROG([GROFF], [groff]) 15516747b715Smrg if test "x$GROFF" = "x"; then 15526747b715Smrg AC_MSG_WARN([groff not found - documentation targets will be skipped]) 15536747b715Smrg have_groff=no 15546747b715Smrg else 15556747b715Smrg have_groff=yes 15566747b715Smrg fi 15576747b715Smrgelif test "x$use_groff" = x"yes" ; then 15586747b715Smrg AC_PATH_PROG([GROFF], [groff]) 15596747b715Smrg if test "x$GROFF" = "x"; then 15606747b715Smrg AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH]) 15616747b715Smrg fi 15626747b715Smrg have_groff=yes 15636747b715Smrgelif test "x$use_groff" = x"no" ; then 15646747b715Smrg if test "x$GROFF" != "x"; then 15656747b715Smrg AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified]) 15666747b715Smrg fi 15676747b715Smrg have_groff=no 15686747b715Smrgelse 15696747b715Smrg AC_MSG_ERROR([--with-groff expects 'yes' or 'no']) 15706747b715Smrgfi 15716747b715Smrg 15726747b715Smrg# We have groff, test for the presence of the macro packages 15736747b715Smrgif test "x$have_groff" = x"yes"; then 15746747b715Smrg AC_MSG_CHECKING([for ${GROFF} -ms macros]) 15756747b715Smrg if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then 15766747b715Smrg groff_ms_works=yes 15776747b715Smrg else 15786747b715Smrg groff_ms_works=no 15796747b715Smrg fi 15806747b715Smrg AC_MSG_RESULT([$groff_ms_works]) 15816747b715Smrg AC_MSG_CHECKING([for ${GROFF} -mm macros]) 15826747b715Smrg if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then 15836747b715Smrg groff_mm_works=yes 15846747b715Smrg else 15856747b715Smrg groff_mm_works=no 15866747b715Smrg fi 15876747b715Smrg AC_MSG_RESULT([$groff_mm_works]) 15886747b715Smrgfi 15896747b715Smrg 15906747b715Smrg# We have groff, test for HTML dependencies, one command per package 15916747b715Smrgif test "x$have_groff" = x"yes"; then 15926747b715Smrg AC_PATH_PROGS(GS_PATH, [gs gswin32c]) 15936747b715Smrg AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng]) 15946747b715Smrg AC_PATH_PROG(PSSELECT_PATH, [psselect]) 15956747b715Smrg if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then 15966747b715Smrg have_groff_html=yes 15976747b715Smrg else 15986747b715Smrg have_groff_html=no 15996747b715Smrg AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages]) 16006747b715Smrg fi 16016747b715Smrgfi 16026747b715Smrg 16036747b715Smrg# Set Automake conditionals for Makefiles 16046747b715SmrgAM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes]) 16056747b715SmrgAM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes]) 16066747b715SmrgAM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes]) 16076747b715SmrgAM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes]) 16086747b715Smrg]) # XORG_WITH_GROFF 16096747b715Smrg 1610475c125cSmrg# XORG_WITH_FOP([MIN-VERSION], [DEFAULT]) 1611475c125cSmrg# --------------------------------------- 16126747b715Smrg# Minimum version: 1.6.0 16136747b715Smrg# Minimum version for optional DEFAULT argument: 1.11.0 1614475c125cSmrg# Minimum version for optional MIN-VERSION argument: 1.15.0 16156747b715Smrg# 16166747b715Smrg# Documentation tools are not always available on all platforms and sometimes 16176747b715Smrg# not at the appropriate level. This macro enables a module to test for the 16186747b715Smrg# presence of the tool and obtain it's path in separate variables. Coupled with 1619eee80088Smrg# the --with-fop option, it allows maximum flexibility in making decisions 16206747b715Smrg# as whether or not to use the fop package. When DEFAULT is not specified, 16216747b715Smrg# --with-fop assumes 'auto'. 16226747b715Smrg# 16236747b715Smrg# Interface to module: 16246747b715Smrg# HAVE_FOP: used in makefiles to conditionally generate documentation 16256747b715Smrg# FOP: returns the path of the fop program found 16266747b715Smrg# returns the path set by the user in the environment 16276747b715Smrg# --with-fop: 'yes' user instructs the module to use fop 16286747b715Smrg# 'no' user instructs the module not to use fop 16296747b715Smrg# 16306747b715Smrg# If the user sets the value of FOP, AC_PATH_PROG skips testing the path. 16316747b715Smrg# 16326747b715SmrgAC_DEFUN([XORG_WITH_FOP],[ 16336747b715SmrgAC_ARG_VAR([FOP], [Path to fop command]) 1634475c125cSmrgm4_define([_defopt], m4_default([$2], [auto])) 16356747b715SmrgAC_ARG_WITH(fop, 16366747b715Smrg AS_HELP_STRING([--with-fop], 16376747b715Smrg [Use fop to regenerate documentation (default: ]_defopt[)]), 16386747b715Smrg [use_fop=$withval], [use_fop=]_defopt) 16396747b715Smrgm4_undefine([_defopt]) 16406747b715Smrg 16416747b715Smrgif test "x$use_fop" = x"auto"; then 16426747b715Smrg AC_PATH_PROG([FOP], [fop]) 16436747b715Smrg if test "x$FOP" = "x"; then 16446747b715Smrg AC_MSG_WARN([fop not found - documentation targets will be skipped]) 16456747b715Smrg have_fop=no 16466747b715Smrg else 16476747b715Smrg have_fop=yes 16486747b715Smrg fi 16496747b715Smrgelif test "x$use_fop" = x"yes" ; then 16506747b715Smrg AC_PATH_PROG([FOP], [fop]) 16516747b715Smrg if test "x$FOP" = "x"; then 16526747b715Smrg AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH]) 16536747b715Smrg fi 16546747b715Smrg have_fop=yes 16556747b715Smrgelif test "x$use_fop" = x"no" ; then 16566747b715Smrg if test "x$FOP" != "x"; then 16576747b715Smrg AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified]) 16586747b715Smrg fi 16596747b715Smrg have_fop=no 16606747b715Smrgelse 16616747b715Smrg AC_MSG_ERROR([--with-fop expects 'yes' or 'no']) 16626747b715Smrgfi 1663475c125cSmrg 1664475c125cSmrg# Test for a minimum version of fop, if provided. 1665475c125cSmrgm4_ifval([$1], 1666475c125cSmrg[if test "$have_fop" = yes; then 1667475c125cSmrg # scrape the fop version 1668475c125cSmrg AC_MSG_CHECKING([for fop minimum version]) 1669475c125cSmrg fop_version=`$FOP -version 2>/dev/null | cut -d' ' -f3` 1670475c125cSmrg AC_MSG_RESULT([$fop_version]) 1671475c125cSmrg AS_VERSION_COMPARE([$fop_version], [$1], 1672475c125cSmrg [if test "x$use_fop" = xauto; then 1673475c125cSmrg AC_MSG_WARN([fop version $fop_version found, but $1 needed]) 1674475c125cSmrg have_fop=no 1675475c125cSmrg else 1676475c125cSmrg AC_MSG_ERROR([fop version $fop_version found, but $1 needed]) 1677475c125cSmrg fi]) 1678475c125cSmrgfi]) 16796747b715SmrgAM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes]) 16806747b715Smrg]) # XORG_WITH_FOP 16816747b715Smrg 168235c4bbdfSmrg# XORG_WITH_M4([MIN-VERSION]) 168335c4bbdfSmrg# --------------------------- 168435c4bbdfSmrg# Minimum version: 1.19.0 168535c4bbdfSmrg# 168635c4bbdfSmrg# This macro attempts to locate an m4 macro processor which supports 168735c4bbdfSmrg# -I option and is only useful for modules relying on M4 in order to 168835c4bbdfSmrg# expand macros in source code files. 168935c4bbdfSmrg# 169035c4bbdfSmrg# Interface to module: 169135c4bbdfSmrg# M4: returns the path of the m4 program found 169235c4bbdfSmrg# returns the path set by the user in the environment 169335c4bbdfSmrg# 169435c4bbdfSmrgAC_DEFUN([XORG_WITH_M4], [ 169535c4bbdfSmrgAC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4], 169635c4bbdfSmrg [AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4], 169735c4bbdfSmrg [[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \ 169835c4bbdfSmrg ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]], 169935c4bbdfSmrg [AC_MSG_ERROR([could not find m4 that supports -I option])], 170035c4bbdfSmrg [$PATH:/usr/gnu/bin])]) 170135c4bbdfSmrg 170235c4bbdfSmrgAC_SUBST([M4], [$ac_cv_path_M4]) 170335c4bbdfSmrg]) # XORG_WITH_M4 170435c4bbdfSmrg 17056747b715Smrg# XORG_WITH_PS2PDF([DEFAULT]) 17066747b715Smrg# ---------------- 17076747b715Smrg# Minimum version: 1.6.0 17086747b715Smrg# Minimum version for optional DEFAULT argument: 1.11.0 17096747b715Smrg# 17106747b715Smrg# Documentation tools are not always available on all platforms and sometimes 17116747b715Smrg# not at the appropriate level. This macro enables a module to test for the 17126747b715Smrg# presence of the tool and obtain it's path in separate variables. Coupled with 1713eee80088Smrg# the --with-ps2pdf option, it allows maximum flexibility in making decisions 17146747b715Smrg# as whether or not to use the ps2pdf package. When DEFAULT is not specified, 17156747b715Smrg# --with-ps2pdf assumes 'auto'. 17166747b715Smrg# 17176747b715Smrg# Interface to module: 17186747b715Smrg# HAVE_PS2PDF: used in makefiles to conditionally generate documentation 17196747b715Smrg# PS2PDF: returns the path of the ps2pdf program found 17206747b715Smrg# returns the path set by the user in the environment 17216747b715Smrg# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf 17226747b715Smrg# 'no' user instructs the module not to use ps2pdf 17236747b715Smrg# 17246747b715Smrg# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path. 17256747b715Smrg# 17266747b715SmrgAC_DEFUN([XORG_WITH_PS2PDF],[ 17276747b715SmrgAC_ARG_VAR([PS2PDF], [Path to ps2pdf command]) 17286747b715Smrgm4_define([_defopt], m4_default([$1], [auto])) 17296747b715SmrgAC_ARG_WITH(ps2pdf, 17306747b715Smrg AS_HELP_STRING([--with-ps2pdf], 17316747b715Smrg [Use ps2pdf to regenerate documentation (default: ]_defopt[)]), 17326747b715Smrg [use_ps2pdf=$withval], [use_ps2pdf=]_defopt) 17336747b715Smrgm4_undefine([_defopt]) 17346747b715Smrg 17356747b715Smrgif test "x$use_ps2pdf" = x"auto"; then 17366747b715Smrg AC_PATH_PROG([PS2PDF], [ps2pdf]) 17376747b715Smrg if test "x$PS2PDF" = "x"; then 17386747b715Smrg AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped]) 17396747b715Smrg have_ps2pdf=no 17406747b715Smrg else 17416747b715Smrg have_ps2pdf=yes 17426747b715Smrg fi 17436747b715Smrgelif test "x$use_ps2pdf" = x"yes" ; then 17446747b715Smrg AC_PATH_PROG([PS2PDF], [ps2pdf]) 17456747b715Smrg if test "x$PS2PDF" = "x"; then 17466747b715Smrg AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH]) 17476747b715Smrg fi 17486747b715Smrg have_ps2pdf=yes 17496747b715Smrgelif test "x$use_ps2pdf" = x"no" ; then 17506747b715Smrg if test "x$PS2PDF" != "x"; then 17516747b715Smrg AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified]) 17526747b715Smrg fi 17536747b715Smrg have_ps2pdf=no 17546747b715Smrgelse 17556747b715Smrg AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no']) 17566747b715Smrgfi 17576747b715SmrgAM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes]) 17586747b715Smrg]) # XORG_WITH_PS2PDF 17596747b715Smrg 17606747b715Smrg# XORG_ENABLE_DOCS (enable_docs=yes) 17616747b715Smrg# ---------------- 17626747b715Smrg# Minimum version: 1.6.0 17636747b715Smrg# 17646747b715Smrg# Documentation tools are not always available on all platforms and sometimes 17656747b715Smrg# not at the appropriate level. This macro enables a builder to skip all 17666747b715Smrg# documentation targets except traditional man pages. 17676747b715Smrg# Combined with the specific tool checking macros XORG_WITH_*, it provides 1768eee80088Smrg# maximum flexibility in controlling documentation building. 17696747b715Smrg# Refer to: 17706747b715Smrg# XORG_WITH_XMLTO --with-xmlto 17716747b715Smrg# XORG_WITH_ASCIIDOC --with-asciidoc 17726747b715Smrg# XORG_WITH_DOXYGEN --with-doxygen 17736747b715Smrg# XORG_WITH_FOP --with-fop 17746747b715Smrg# XORG_WITH_GROFF --with-groff 17756747b715Smrg# XORG_WITH_PS2PDF --with-ps2pdf 17766747b715Smrg# 17776747b715Smrg# Interface to module: 17786747b715Smrg# ENABLE_DOCS: used in makefiles to conditionally generate documentation 17796747b715Smrg# --enable-docs: 'yes' user instructs the module to generate docs 17806747b715Smrg# 'no' user instructs the module not to generate docs 17816747b715Smrg# parm1: specify the default value, yes or no. 17826747b715Smrg# 17836747b715SmrgAC_DEFUN([XORG_ENABLE_DOCS],[ 17848223e2f2Smrgm4_define([docs_default], m4_default([$1], [yes])) 17856747b715SmrgAC_ARG_ENABLE(docs, 17866747b715Smrg AS_HELP_STRING([--enable-docs], 17878223e2f2Smrg [Enable building the documentation (default: ]docs_default[)]), 17888223e2f2Smrg [build_docs=$enableval], [build_docs=]docs_default) 17898223e2f2Smrgm4_undefine([docs_default]) 17906747b715SmrgAM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes]) 17916747b715SmrgAC_MSG_CHECKING([whether to build documentation]) 17926747b715SmrgAC_MSG_RESULT([$build_docs]) 17936747b715Smrg]) # XORG_ENABLE_DOCS 17946747b715Smrg 17956747b715Smrg# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes) 17966747b715Smrg# ---------------- 17976747b715Smrg# Minimum version: 1.6.0 17986747b715Smrg# 17996747b715Smrg# This macro enables a builder to skip all developer documentation. 18006747b715Smrg# Combined with the specific tool checking macros XORG_WITH_*, it provides 1801eee80088Smrg# maximum flexibility in controlling documentation building. 18026747b715Smrg# Refer to: 18036747b715Smrg# XORG_WITH_XMLTO --with-xmlto 18046747b715Smrg# XORG_WITH_ASCIIDOC --with-asciidoc 18056747b715Smrg# XORG_WITH_DOXYGEN --with-doxygen 18066747b715Smrg# XORG_WITH_FOP --with-fop 18076747b715Smrg# XORG_WITH_GROFF --with-groff 18086747b715Smrg# XORG_WITH_PS2PDF --with-ps2pdf 18096747b715Smrg# 18106747b715Smrg# Interface to module: 18116747b715Smrg# ENABLE_DEVEL_DOCS: used in makefiles to conditionally generate developer docs 18126747b715Smrg# --enable-devel-docs: 'yes' user instructs the module to generate developer docs 18136747b715Smrg# 'no' user instructs the module not to generate developer docs 18146747b715Smrg# parm1: specify the default value, yes or no. 18156747b715Smrg# 18166747b715SmrgAC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[ 18176747b715Smrgm4_define([devel_default], m4_default([$1], [yes])) 18186747b715SmrgAC_ARG_ENABLE(devel-docs, 18196747b715Smrg AS_HELP_STRING([--enable-devel-docs], 18206747b715Smrg [Enable building the developer documentation (default: ]devel_default[)]), 18216747b715Smrg [build_devel_docs=$enableval], [build_devel_docs=]devel_default) 18226747b715Smrgm4_undefine([devel_default]) 18236747b715SmrgAM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes]) 18246747b715SmrgAC_MSG_CHECKING([whether to build developer documentation]) 18256747b715SmrgAC_MSG_RESULT([$build_devel_docs]) 18266747b715Smrg]) # XORG_ENABLE_DEVEL_DOCS 18276747b715Smrg 18286747b715Smrg# XORG_ENABLE_SPECS (enable_specs=yes) 18296747b715Smrg# ---------------- 18306747b715Smrg# Minimum version: 1.6.0 18316747b715Smrg# 18326747b715Smrg# This macro enables a builder to skip all functional specification targets. 18336747b715Smrg# Combined with the specific tool checking macros XORG_WITH_*, it provides 1834eee80088Smrg# maximum flexibility in controlling documentation building. 18356747b715Smrg# Refer to: 18366747b715Smrg# XORG_WITH_XMLTO --with-xmlto 18376747b715Smrg# XORG_WITH_ASCIIDOC --with-asciidoc 18386747b715Smrg# XORG_WITH_DOXYGEN --with-doxygen 18396747b715Smrg# XORG_WITH_FOP --with-fop 18406747b715Smrg# XORG_WITH_GROFF --with-groff 18416747b715Smrg# XORG_WITH_PS2PDF --with-ps2pdf 18426747b715Smrg# 18436747b715Smrg# Interface to module: 18446747b715Smrg# ENABLE_SPECS: used in makefiles to conditionally generate specs 18456747b715Smrg# --enable-specs: 'yes' user instructs the module to generate specs 18466747b715Smrg# 'no' user instructs the module not to generate specs 18476747b715Smrg# parm1: specify the default value, yes or no. 18486747b715Smrg# 18496747b715SmrgAC_DEFUN([XORG_ENABLE_SPECS],[ 18506747b715Smrgm4_define([spec_default], m4_default([$1], [yes])) 18516747b715SmrgAC_ARG_ENABLE(specs, 18526747b715Smrg AS_HELP_STRING([--enable-specs], 18536747b715Smrg [Enable building the specs (default: ]spec_default[)]), 18546747b715Smrg [build_specs=$enableval], [build_specs=]spec_default) 18556747b715Smrgm4_undefine([spec_default]) 18566747b715SmrgAM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes]) 18576747b715SmrgAC_MSG_CHECKING([whether to build functional specifications]) 18586747b715SmrgAC_MSG_RESULT([$build_specs]) 18596747b715Smrg]) # XORG_ENABLE_SPECS 18606747b715Smrg 18619ace9065Smrg# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto) 18629ace9065Smrg# ---------------------------------------------- 18639ace9065Smrg# Minimum version: 1.13.0 18649ace9065Smrg# 18659ace9065Smrg# This macro enables a builder to enable/disable unit testing 18669ace9065Smrg# It makes no assumption about the test cases implementation 18679ace9065Smrg# Test cases may or may not use Automake "Support for test suites" 18689ace9065Smrg# They may or may not use the software utility library GLib 18699ace9065Smrg# 18709ace9065Smrg# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL 18719ace9065Smrg# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib. 18729ace9065Smrg# The variable enable_unit_tests is used by other macros in this file. 18739ace9065Smrg# 18749ace9065Smrg# Interface to module: 18759ace9065Smrg# ENABLE_UNIT_TESTS: used in makefiles to conditionally build tests 18769ace9065Smrg# enable_unit_tests: used in configure.ac for additional configuration 18779ace9065Smrg# --enable-unit-tests: 'yes' user instructs the module to build tests 18789ace9065Smrg# 'no' user instructs the module not to build tests 18799ace9065Smrg# parm1: specify the default value, yes or no. 18809ace9065Smrg# 18819ace9065SmrgAC_DEFUN([XORG_ENABLE_UNIT_TESTS],[ 18829ace9065SmrgAC_BEFORE([$0], [XORG_WITH_GLIB]) 18839ace9065SmrgAC_BEFORE([$0], [XORG_LD_WRAP]) 1884475c125cSmrgAC_REQUIRE([XORG_MEMORY_CHECK_FLAGS]) 18859ace9065Smrgm4_define([_defopt], m4_default([$1], [auto])) 18869ace9065SmrgAC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests], 18879ace9065Smrg [Enable building unit test cases (default: ]_defopt[)]), 18889ace9065Smrg [enable_unit_tests=$enableval], [enable_unit_tests=]_defopt) 18899ace9065Smrgm4_undefine([_defopt]) 18909ace9065SmrgAM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno]) 18919ace9065SmrgAC_MSG_CHECKING([whether to build unit test cases]) 18929ace9065SmrgAC_MSG_RESULT([$enable_unit_tests]) 18939ace9065Smrg]) # XORG_ENABLE_UNIT_TESTS 18949ace9065Smrg 189535c4bbdfSmrg# XORG_ENABLE_INTEGRATION_TESTS (enable_unit_tests=auto) 189635c4bbdfSmrg# ------------------------------------------------------ 189735c4bbdfSmrg# Minimum version: 1.17.0 189835c4bbdfSmrg# 189935c4bbdfSmrg# This macro enables a builder to enable/disable integration testing 190035c4bbdfSmrg# It makes no assumption about the test cases' implementation 190135c4bbdfSmrg# Test cases may or may not use Automake "Support for test suites" 190235c4bbdfSmrg# 190335c4bbdfSmrg# Please see XORG_ENABLE_UNIT_TESTS for unit test support. Unit test support 190435c4bbdfSmrg# usually requires less dependencies and may be built and run under less 190535c4bbdfSmrg# stringent environments than integration tests. 190635c4bbdfSmrg# 190735c4bbdfSmrg# Interface to module: 190835c4bbdfSmrg# ENABLE_INTEGRATION_TESTS: used in makefiles to conditionally build tests 190935c4bbdfSmrg# enable_integration_tests: used in configure.ac for additional configuration 191035c4bbdfSmrg# --enable-integration-tests: 'yes' user instructs the module to build tests 191135c4bbdfSmrg# 'no' user instructs the module not to build tests 191235c4bbdfSmrg# parm1: specify the default value, yes or no. 191335c4bbdfSmrg# 191435c4bbdfSmrgAC_DEFUN([XORG_ENABLE_INTEGRATION_TESTS],[ 191535c4bbdfSmrgAC_REQUIRE([XORG_MEMORY_CHECK_FLAGS]) 191635c4bbdfSmrgm4_define([_defopt], m4_default([$1], [auto])) 191735c4bbdfSmrgAC_ARG_ENABLE(integration-tests, AS_HELP_STRING([--enable-integration-tests], 191835c4bbdfSmrg [Enable building integration test cases (default: ]_defopt[)]), 191935c4bbdfSmrg [enable_integration_tests=$enableval], 192035c4bbdfSmrg [enable_integration_tests=]_defopt) 192135c4bbdfSmrgm4_undefine([_defopt]) 192235c4bbdfSmrgAM_CONDITIONAL([ENABLE_INTEGRATION_TESTS], 192335c4bbdfSmrg [test "x$enable_integration_tests" != xno]) 192435c4bbdfSmrgAC_MSG_CHECKING([whether to build unit test cases]) 192535c4bbdfSmrgAC_MSG_RESULT([$enable_integration_tests]) 192635c4bbdfSmrg]) # XORG_ENABLE_INTEGRATION_TESTS 192735c4bbdfSmrg 192835c4bbdfSmrg# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT]) 192935c4bbdfSmrg# ---------------------------------------- 19309ace9065Smrg# Minimum version: 1.13.0 19319ace9065Smrg# 19329ace9065Smrg# GLib is a library which provides advanced data structures and functions. 19339ace9065Smrg# This macro enables a module to test for the presence of Glib. 19349ace9065Smrg# 19359ace9065Smrg# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing. 19369ace9065Smrg# Otherwise the value of $enable_unit_tests is blank. 19379ace9065Smrg# 193835c4bbdfSmrg# Please see XORG_ENABLE_INTEGRATION_TESTS for integration test support. Unit 193935c4bbdfSmrg# test support usually requires less dependencies and may be built and run under 194035c4bbdfSmrg# less stringent environments than integration tests. 194135c4bbdfSmrg# 19429ace9065Smrg# Interface to module: 19439ace9065Smrg# HAVE_GLIB: used in makefiles to conditionally build targets 19449ace9065Smrg# with_glib: used in configure.ac to know if GLib has been found 19459ace9065Smrg# --with-glib: 'yes' user instructs the module to use glib 19469ace9065Smrg# 'no' user instructs the module not to use glib 19479ace9065Smrg# 19489ace9065SmrgAC_DEFUN([XORG_WITH_GLIB],[ 19499ace9065SmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG]) 19509ace9065Smrgm4_define([_defopt], m4_default([$2], [auto])) 19519ace9065SmrgAC_ARG_WITH(glib, AS_HELP_STRING([--with-glib], 19529ace9065Smrg [Use GLib library for unit testing (default: ]_defopt[)]), 19539ace9065Smrg [with_glib=$withval], [with_glib=]_defopt) 19549ace9065Smrgm4_undefine([_defopt]) 19559ace9065Smrg 19569ace9065Smrghave_glib=no 19579ace9065Smrg# Do not probe GLib if user explicitly disabled unit testing 19589ace9065Smrgif test "x$enable_unit_tests" != x"no"; then 19599ace9065Smrg # Do not probe GLib if user explicitly disabled it 19609ace9065Smrg if test "x$with_glib" != x"no"; then 19619ace9065Smrg m4_ifval( 19629ace9065Smrg [$1], 19639ace9065Smrg [PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])], 19649ace9065Smrg [PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])] 19659ace9065Smrg ) 19669ace9065Smrg fi 19679ace9065Smrgfi 19689ace9065Smrg 19699ace9065Smrg# Not having GLib when unit testing has been explicitly requested is an error 19709ace9065Smrgif test "x$enable_unit_tests" = x"yes"; then 19719ace9065Smrg if test "x$have_glib" = x"no"; then 19729ace9065Smrg AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found]) 19739ace9065Smrg fi 19749ace9065Smrgfi 19759ace9065Smrg 19769ace9065Smrg# Having unit testing disabled when GLib has been explicitly requested is an error 19779ace9065Smrgif test "x$enable_unit_tests" = x"no"; then 19789ace9065Smrg if test "x$with_glib" = x"yes"; then 19799ace9065Smrg AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found]) 19809ace9065Smrg fi 19819ace9065Smrgfi 19829ace9065Smrg 19839ace9065Smrg# Not having GLib when it has been explicitly requested is an error 19849ace9065Smrgif test "x$with_glib" = x"yes"; then 19859ace9065Smrg if test "x$have_glib" = x"no"; then 19869ace9065Smrg AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found]) 19879ace9065Smrg fi 19889ace9065Smrgfi 19899ace9065Smrg 19909ace9065SmrgAM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes]) 19919ace9065Smrg]) # XORG_WITH_GLIB 19929ace9065Smrg 1993475c125cSmrg# XORG_LD_WRAP([required|optional]) 1994475c125cSmrg# --------------------------------- 19959ace9065Smrg# Minimum version: 1.13.0 19969ace9065Smrg# 19979ace9065Smrg# Check if linker supports -wrap, passed via compiler flags 19989ace9065Smrg# 19999ace9065Smrg# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing. 20009ace9065Smrg# Otherwise the value of $enable_unit_tests is blank. 20019ace9065Smrg# 2002475c125cSmrg# Argument added in 1.16.0 - default is "required", to match existing behavior 2003475c125cSmrg# of returning an error if enable_unit_tests is yes, and ld -wrap is not 2004475c125cSmrg# available, an argument of "optional" allows use when some unit tests require 2005475c125cSmrg# ld -wrap and others do not. 2006475c125cSmrg# 20079ace9065SmrgAC_DEFUN([XORG_LD_WRAP],[ 2008475c125cSmrgXORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no], 2009475c125cSmrg [AC_LANG_PROGRAM([#include <stdlib.h> 2010475c125cSmrg void __wrap_exit(int status) { return; }], 2011475c125cSmrg [exit(0);])]) 20129ace9065Smrg# Not having ld wrap when unit testing has been explicitly requested is an error 2013475c125cSmrgif test "x$enable_unit_tests" = x"yes" -a "x$1" != "xoptional"; then 20149ace9065Smrg if test "x$have_ld_wrap" = x"no"; then 20159ace9065Smrg AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available]) 20169ace9065Smrg fi 20179ace9065Smrgfi 20189ace9065SmrgAM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes]) 20199ace9065Smrg# 20209ace9065Smrg]) # XORG_LD_WRAP 20219ace9065Smrg 20229ace9065Smrg# XORG_CHECK_LINKER_FLAGS 20239ace9065Smrg# ----------------------- 20249ace9065Smrg# SYNOPSIS 20259ace9065Smrg# 2026475c125cSmrg# XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE], [PROGRAM-SOURCE]) 20279ace9065Smrg# 20289ace9065Smrg# DESCRIPTION 20299ace9065Smrg# 20309ace9065Smrg# Check whether the given linker FLAGS work with the current language's 20319ace9065Smrg# linker, or whether they give an error. 20329ace9065Smrg# 20339ace9065Smrg# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on 20349ace9065Smrg# success/failure. 20359ace9065Smrg# 2036475c125cSmrg# PROGRAM-SOURCE is the program source to link with, if needed 2037475c125cSmrg# 20389ace9065Smrg# NOTE: Based on AX_CHECK_COMPILER_FLAGS. 20399ace9065Smrg# 20409ace9065Smrg# LICENSE 20419ace9065Smrg# 20429ace9065Smrg# Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org> 20439ace9065Smrg# Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu> 20449ace9065Smrg# Copyright (c) 2009 Matteo Frigo 20459ace9065Smrg# 20469ace9065Smrg# This program is free software: you can redistribute it and/or modify it 20479ace9065Smrg# under the terms of the GNU General Public License as published by the 20489ace9065Smrg# Free Software Foundation, either version 3 of the License, or (at your 20499ace9065Smrg# option) any later version. 20509ace9065Smrg# 20519ace9065Smrg# This program is distributed in the hope that it will be useful, but 20529ace9065Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 20539ace9065Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 20549ace9065Smrg# Public License for more details. 20559ace9065Smrg# 20569ace9065Smrg# You should have received a copy of the GNU General Public License along 20579ace9065Smrg# with this program. If not, see <http://www.gnu.org/licenses/>. 20589ace9065Smrg# 20599ace9065Smrg# As a special exception, the respective Autoconf Macro's copyright owner 20609ace9065Smrg# gives unlimited permission to copy, distribute and modify the configure 20619ace9065Smrg# scripts that are the output of Autoconf when processing the Macro. You 20629ace9065Smrg# need not follow the terms of the GNU General Public License when using 20639ace9065Smrg# or distributing such scripts, even though portions of the text of the 20649ace9065Smrg# Macro appear in them. The GNU General Public License (GPL) does govern 20659ace9065Smrg# all other use of the material that constitutes the Autoconf Macro. 20669ace9065Smrg# 20679ace9065Smrg# This special exception to the GPL applies to versions of the Autoconf 20689ace9065Smrg# Macro released by the Autoconf Archive. When you make and distribute a 20699ace9065Smrg# modified version of the Autoconf Macro, you may extend this special 20709ace9065Smrg# exception to the GPL to apply to your modified version as well.# 20719ace9065SmrgAC_DEFUN([XORG_CHECK_LINKER_FLAGS], 20729ace9065Smrg[AC_MSG_CHECKING([whether the linker accepts $1]) 20739ace9065Smrgdnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname: 20749ace9065SmrgAS_LITERAL_IF([$1], 20759ace9065Smrg [AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [ 20769ace9065Smrg ax_save_FLAGS=$LDFLAGS 20779ace9065Smrg LDFLAGS="$1" 2078475c125cSmrg AC_LINK_IFELSE([m4_default([$4],[AC_LANG_PROGRAM()])], 20799ace9065Smrg AS_TR_SH(xorg_cv_linker_flags_[$1])=yes, 20809ace9065Smrg AS_TR_SH(xorg_cv_linker_flags_[$1])=no) 20819ace9065Smrg LDFLAGS=$ax_save_FLAGS])], 20829ace9065Smrg [ax_save_FLAGS=$LDFLAGS 20839ace9065Smrg LDFLAGS="$1" 20849ace9065Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM()], 20859ace9065Smrg eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes, 20869ace9065Smrg eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no) 20879ace9065Smrg LDFLAGS=$ax_save_FLAGS]) 20889ace9065Smrgeval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1]) 20899ace9065SmrgAC_MSG_RESULT($xorg_check_linker_flags) 20909ace9065Smrgif test "x$xorg_check_linker_flags" = xyes; then 20919ace9065Smrg m4_default([$2], :) 20929ace9065Smrgelse 20939ace9065Smrg m4_default([$3], :) 20949ace9065Smrgfi 20959ace9065Smrg]) # XORG_CHECK_LINKER_FLAGS 20969ace9065Smrg 2097475c125cSmrg# XORG_MEMORY_CHECK_FLAGS 2098475c125cSmrg# ----------------------- 2099475c125cSmrg# Minimum version: 1.16.0 2100475c125cSmrg# 2101475c125cSmrg# This macro attempts to find appropriate memory checking functionality 2102475c125cSmrg# for various platforms which unit testing code may use to catch various 2103475c125cSmrg# forms of memory allocation and access errors in testing. 2104475c125cSmrg# 2105475c125cSmrg# Interface to module: 2106475c125cSmrg# XORG_MALLOC_DEBUG_ENV - environment variables to set to enable debugging 2107475c125cSmrg# Usually added to TESTS_ENVIRONMENT in Makefile.am 2108475c125cSmrg# 2109475c125cSmrg# If the user sets the value of XORG_MALLOC_DEBUG_ENV, it is used verbatim. 2110475c125cSmrg# 2111475c125cSmrgAC_DEFUN([XORG_MEMORY_CHECK_FLAGS],[ 2112475c125cSmrg 2113475c125cSmrgAC_REQUIRE([AC_CANONICAL_HOST]) 2114475c125cSmrgAC_ARG_VAR([XORG_MALLOC_DEBUG_ENV], 2115475c125cSmrg [Environment variables to enable memory checking in tests]) 2116475c125cSmrg 2117475c125cSmrg# Check for different types of support on different platforms 2118475c125cSmrgcase $host_os in 2119475c125cSmrg solaris*) 2120475c125cSmrg AC_CHECK_LIB([umem], [umem_alloc], 2121475c125cSmrg [malloc_debug_env='LD_PRELOAD=libumem.so UMEM_DEBUG=default']) 2122475c125cSmrg ;; 2123475c125cSmrg *-gnu*) # GNU libc - Value is used as a single byte bit pattern, 2124475c125cSmrg # both directly and inverted, so should not be 0 or 255. 2125475c125cSmrg malloc_debug_env='MALLOC_PERTURB_=15' 2126475c125cSmrg ;; 2127475c125cSmrg darwin*) 2128475c125cSmrg malloc_debug_env='MallocPreScribble=1 MallocScribble=1 DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib' 2129475c125cSmrg ;; 2130475c125cSmrg *bsd*) 2131475c125cSmrg malloc_debug_env='MallocPreScribble=1 MallocScribble=1' 2132475c125cSmrg ;; 2133475c125cSmrgesac 2134475c125cSmrg 2135475c125cSmrg# User supplied flags override default flags 2136475c125cSmrgif test "x$XORG_MALLOC_DEBUG_ENV" != "x"; then 2137475c125cSmrg malloc_debug_env="$XORG_MALLOC_DEBUG_ENV" 2138475c125cSmrgfi 2139475c125cSmrg 2140475c125cSmrgAC_SUBST([XORG_MALLOC_DEBUG_ENV],[$malloc_debug_env]) 2141475c125cSmrg]) # XORG_WITH_LINT 2142475c125cSmrg 21434642e01fSmrg# XORG_CHECK_MALLOC_ZERO 21444642e01fSmrg# ---------------------- 21454642e01fSmrg# Minimum version: 1.0.0 21464642e01fSmrg# 21474642e01fSmrg# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if 21484642e01fSmrg# malloc(0) returns NULL. Packages should add one of these cflags to 21494642e01fSmrg# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them. 21504642e01fSmrgAC_DEFUN([XORG_CHECK_MALLOC_ZERO],[ 21514642e01fSmrgAC_ARG_ENABLE(malloc0returnsnull, 2152b1d344b3Smrg AS_HELP_STRING([--enable-malloc0returnsnull], 21534642e01fSmrg [malloc(0) returns NULL (default: auto)]), 21544642e01fSmrg [MALLOC_ZERO_RETURNS_NULL=$enableval], 21554642e01fSmrg [MALLOC_ZERO_RETURNS_NULL=auto]) 21564642e01fSmrg 21574642e01fSmrgAC_MSG_CHECKING([whether malloc(0) returns NULL]) 21584642e01fSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then 215935c4bbdfSmrgAC_CACHE_VAL([xorg_cv_malloc0_returns_null], 216035c4bbdfSmrg [AC_RUN_IFELSE([AC_LANG_PROGRAM([ 21618223e2f2Smrg#include <stdlib.h> 21628223e2f2Smrg],[ 21634642e01fSmrg char *m0, *r0, *c0, *p; 21644642e01fSmrg m0 = malloc(0); 21654642e01fSmrg p = malloc(10); 21664642e01fSmrg r0 = realloc(p,0); 21678223e2f2Smrg c0 = calloc(0,10); 21688223e2f2Smrg exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1); 21698223e2f2Smrg])], 217035c4bbdfSmrg [xorg_cv_malloc0_returns_null=yes], 217135c4bbdfSmrg [xorg_cv_malloc0_returns_null=no])]) 217235c4bbdfSmrgMALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null 21734642e01fSmrgfi 21744642e01fSmrgAC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL]) 21754642e01fSmrg 21764642e01fSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then 21774642e01fSmrg MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL" 21784642e01fSmrg XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS 21794642e01fSmrg XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC" 21804642e01fSmrgelse 21814642e01fSmrg MALLOC_ZERO_CFLAGS="" 21824642e01fSmrg XMALLOC_ZERO_CFLAGS="" 21834642e01fSmrg XTMALLOC_ZERO_CFLAGS="" 21844642e01fSmrgfi 21854642e01fSmrg 21864642e01fSmrgAC_SUBST([MALLOC_ZERO_CFLAGS]) 21874642e01fSmrgAC_SUBST([XMALLOC_ZERO_CFLAGS]) 21884642e01fSmrgAC_SUBST([XTMALLOC_ZERO_CFLAGS]) 21894642e01fSmrg]) # XORG_CHECK_MALLOC_ZERO 21904642e01fSmrg 21914642e01fSmrg# XORG_WITH_LINT() 21924642e01fSmrg# ---------------- 21934642e01fSmrg# Minimum version: 1.1.0 21944642e01fSmrg# 21956747b715Smrg# This macro enables the use of a tool that flags some suspicious and 21966747b715Smrg# non-portable constructs (likely to be bugs) in C language source code. 21976747b715Smrg# It will attempt to locate the tool and use appropriate options. 21986747b715Smrg# There are various lint type tools on different platforms. 21996747b715Smrg# 22006747b715Smrg# Interface to module: 22016747b715Smrg# LINT: returns the path to the tool found on the platform 22026747b715Smrg# or the value set to LINT on the configure cmd line 22036747b715Smrg# also an Automake conditional 22046747b715Smrg# LINT_FLAGS: an Automake variable with appropriate flags 22056747b715Smrg# 22066747b715Smrg# --with-lint: 'yes' user instructs the module to use lint 22076747b715Smrg# 'no' user instructs the module not to use lint (default) 22086747b715Smrg# 22096747b715Smrg# If the user sets the value of LINT, AC_PATH_PROG skips testing the path. 22106747b715Smrg# If the user sets the value of LINT_FLAGS, they are used verbatim. 22114642e01fSmrg# 22124642e01fSmrgAC_DEFUN([XORG_WITH_LINT],[ 22134642e01fSmrg 22146747b715SmrgAC_ARG_VAR([LINT], [Path to a lint-style command]) 22156747b715SmrgAC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command]) 2216b1d344b3SmrgAC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint], 22174642e01fSmrg [Use a lint-style source code checker (default: disabled)])], 22184642e01fSmrg [use_lint=$withval], [use_lint=no]) 22196747b715Smrg 22206747b715Smrg# Obtain platform specific info like program name and options 22216747b715Smrg# The lint program on FreeBSD and NetBSD is different from the one on Solaris 22226747b715Smrgcase $host_os in 22236747b715Smrg *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*) 22246747b715Smrg lint_name=splint 22256747b715Smrg lint_options="-badflag" 22266747b715Smrg ;; 22276747b715Smrg *freebsd* | *netbsd*) 22286747b715Smrg lint_name=lint 22296747b715Smrg lint_options="-u -b" 22306747b715Smrg ;; 22316747b715Smrg *solaris*) 22326747b715Smrg lint_name=lint 22336747b715Smrg lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2" 22346747b715Smrg ;; 22356747b715Smrgesac 22366747b715Smrg 22376747b715Smrg# Test for the presence of the program (either guessed by the code or spelled out by the user) 22386747b715Smrgif test "x$use_lint" = x"yes" ; then 22396747b715Smrg AC_PATH_PROG([LINT], [$lint_name]) 22406747b715Smrg if test "x$LINT" = "x"; then 22416747b715Smrg AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH]) 22426747b715Smrg fi 22436747b715Smrgelif test "x$use_lint" = x"no" ; then 22446747b715Smrg if test "x$LINT" != "x"; then 22456747b715Smrg AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified]) 22466747b715Smrg fi 22474642e01fSmrgelse 22486747b715Smrg AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.]) 22494642e01fSmrgfi 22506747b715Smrg 22516747b715Smrg# User supplied flags override default flags 22526747b715Smrgif test "x$LINT_FLAGS" != "x"; then 22536747b715Smrg lint_options=$LINT_FLAGS 22544642e01fSmrgfi 22554642e01fSmrg 22566747b715SmrgAC_SUBST([LINT_FLAGS],[$lint_options]) 22576747b715SmrgAM_CONDITIONAL(LINT, [test "x$LINT" != x]) 22584642e01fSmrg 22594642e01fSmrg]) # XORG_WITH_LINT 22604642e01fSmrg 22614642e01fSmrg# XORG_LINT_LIBRARY(LIBNAME) 22624642e01fSmrg# -------------------------- 22634642e01fSmrg# Minimum version: 1.1.0 22644642e01fSmrg# 22654642e01fSmrg# Sets up flags for building lint libraries for checking programs that call 22664642e01fSmrg# functions in the library. 22674642e01fSmrg# 22686747b715Smrg# Interface to module: 22696747b715Smrg# LINTLIB - Automake variable with the name of lint library file to make 22706747b715Smrg# MAKE_LINT_LIB - Automake conditional 22716747b715Smrg# 22726747b715Smrg# --enable-lint-library: - 'yes' user instructs the module to created a lint library 22736747b715Smrg# - 'no' user instructs the module not to create a lint library (default) 22744642e01fSmrg 22754642e01fSmrgAC_DEFUN([XORG_LINT_LIBRARY],[ 22764642e01fSmrgAC_REQUIRE([XORG_WITH_LINT]) 2277b1d344b3SmrgAC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library], 22784642e01fSmrg [Create lint library (default: disabled)])], 22794642e01fSmrg [make_lint_lib=$enableval], [make_lint_lib=no]) 22806747b715Smrg 22816747b715Smrgif test "x$make_lint_lib" = x"yes" ; then 22826747b715Smrg LINTLIB=llib-l$1.ln 22836747b715Smrg if test "x$LINT" = "x"; then 22846747b715Smrg AC_MSG_ERROR([Cannot make lint library without --with-lint]) 22856747b715Smrg fi 22866747b715Smrgelif test "x$make_lint_lib" != x"no" ; then 22876747b715Smrg AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.]) 22884642e01fSmrgfi 22896747b715Smrg 22904642e01fSmrgAC_SUBST(LINTLIB) 22914642e01fSmrgAM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno]) 22924642e01fSmrg 22934642e01fSmrg]) # XORG_LINT_LIBRARY 22944642e01fSmrg 22959ace9065Smrg# XORG_COMPILER_BRAND 22969ace9065Smrg# ------------------- 22979ace9065Smrg# Minimum version: 1.14.0 22989ace9065Smrg# 22999ace9065Smrg# Checks for various brands of compilers and sets flags as appropriate: 23009ace9065Smrg# GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes" 230135c4bbdfSmrg# GNU g++ - relies on AC_PROG_CXX to set GXX to "yes" 23029ace9065Smrg# clang compiler - sets CLANGCC to "yes" 23039ace9065Smrg# Intel compiler - sets INTELCC to "yes" 23049ace9065Smrg# Sun/Oracle Solaris Studio cc - sets SUNCC to "yes" 23059ace9065Smrg# 23069ace9065SmrgAC_DEFUN([XORG_COMPILER_BRAND], [ 230735c4bbdfSmrgAC_LANG_CASE( 230835c4bbdfSmrg [C], [ 2309eee80088Smrg dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC 2310eee80088Smrg dnl and complains that AC_PROG_CC_C99 is obsolete 2311eee80088Smrg m4_version_prereq([2.70], 2312eee80088Smrg [AC_REQUIRE([AC_PROG_CC])], 2313eee80088Smrg [AC_REQUIRE([AC_PROG_CC_C99])]) 231435c4bbdfSmrg ], 231535c4bbdfSmrg [C++], [ 231635c4bbdfSmrg AC_REQUIRE([AC_PROG_CXX]) 231735c4bbdfSmrg ] 231835c4bbdfSmrg) 23199ace9065SmrgAC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"]) 23209ace9065SmrgAC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"]) 23219ace9065SmrgAC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) 23229ace9065Smrg]) # XORG_COMPILER_BRAND 23239ace9065Smrg 2324475c125cSmrg# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...]) 2325475c125cSmrg# --------------- 2326475c125cSmrg# Minimum version: 1.16.0 2327475c125cSmrg# 2328475c125cSmrg# Test if the compiler works when passed the given flag as a command line argument. 2329eee80088Smrg# If it succeeds, the flag is appended to the given variable. If not, it tries the 2330475c125cSmrg# next flag in the list until there are no more options. 2331475c125cSmrg# 2332475c125cSmrg# Note that this does not guarantee that the compiler supports the flag as some 2333475c125cSmrg# compilers will simply ignore arguments that they do not understand, but we do 2334475c125cSmrg# attempt to weed out false positives by using -Werror=unknown-warning-option and 2335475c125cSmrg# -Werror=unused-command-line-argument 2336475c125cSmrg# 2337475c125cSmrgAC_DEFUN([XORG_TESTSET_CFLAG], [ 2338475c125cSmrgm4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])]) 2339475c125cSmrgm4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])]) 2340475c125cSmrg 234135c4bbdfSmrgAC_LANG_COMPILER_REQUIRE 234235c4bbdfSmrg 234335c4bbdfSmrgAC_LANG_CASE( 234435c4bbdfSmrg [C], [ 2345eee80088Smrg dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC 2346eee80088Smrg dnl and complains that AC_PROG_CC_C99 is obsolete 2347eee80088Smrg m4_version_prereq([2.70], 2348eee80088Smrg [AC_REQUIRE([AC_PROG_CC])], 2349eee80088Smrg [AC_REQUIRE([AC_PROG_CC_C99])]) 235035c4bbdfSmrg define([PREFIX], [C]) 235135c4bbdfSmrg define([CACHE_PREFIX], [cc]) 235235c4bbdfSmrg define([COMPILER], [$CC]) 235335c4bbdfSmrg ], 235435c4bbdfSmrg [C++], [ 235535c4bbdfSmrg define([PREFIX], [CXX]) 235635c4bbdfSmrg define([CACHE_PREFIX], [cxx]) 235735c4bbdfSmrg define([COMPILER], [$CXX]) 235835c4bbdfSmrg ] 235935c4bbdfSmrg) 2360475c125cSmrg 236135c4bbdfSmrg[xorg_testset_save_]PREFIX[FLAGS]="$PREFIX[FLAGS]" 236235c4bbdfSmrg 236335c4bbdfSmrgif test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "x" ; then 236435c4bbdfSmrg PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option" 236535c4bbdfSmrg AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unknown-warning-option], 236635c4bbdfSmrg [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option], 236735c4bbdfSmrg AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], 236835c4bbdfSmrg [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=yes], 236935c4bbdfSmrg [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=no])) 237035c4bbdfSmrg [xorg_testset_]CACHE_PREFIX[_unknown_warning_option]=$[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option] 237135c4bbdfSmrg PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]" 2372475c125cSmrgfi 2373475c125cSmrg 237435c4bbdfSmrgif test "x$[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]" = "x" ; then 237535c4bbdfSmrg if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "xyes" ; then 237635c4bbdfSmrg PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option" 2377475c125cSmrg fi 237835c4bbdfSmrg PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument" 237935c4bbdfSmrg AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unused-command-line-argument], 238035c4bbdfSmrg [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument], 238135c4bbdfSmrg AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], 238235c4bbdfSmrg [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=yes], 238335c4bbdfSmrg [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=no])) 238435c4bbdfSmrg [xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]=$[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument] 238535c4bbdfSmrg PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]" 2386475c125cSmrgfi 2387475c125cSmrg 2388475c125cSmrgfound="no" 2389475c125cSmrgm4_foreach([flag], m4_cdr($@), [ 2390475c125cSmrg if test $found = "no" ; then 239135c4bbdfSmrg if test "x$xorg_testset_]CACHE_PREFIX[_unknown_warning_option" = "xyes" ; then 239235c4bbdfSmrg PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option" 2393475c125cSmrg fi 2394475c125cSmrg 239535c4bbdfSmrg if test "x$xorg_testset_]CACHE_PREFIX[_unused_command_line_argument" = "xyes" ; then 239635c4bbdfSmrg PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument" 2397475c125cSmrg fi 2398475c125cSmrg 239935c4bbdfSmrg PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag[" 2400475c125cSmrg 240135c4bbdfSmrgdnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname 240235c4bbdfSmrg AC_MSG_CHECKING([if ]COMPILER[ supports ]flag[]) 240335c4bbdfSmrg cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[]) 240435c4bbdfSmrg AC_CACHE_VAL($cacheid, 240535c4bbdfSmrg [AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])], 240635c4bbdfSmrg [eval $cacheid=yes], 240735c4bbdfSmrg [eval $cacheid=no])]) 240835c4bbdfSmrg 240935c4bbdfSmrg PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]" 2410475c125cSmrg 241135c4bbdfSmrg eval supported=\$$cacheid 241235c4bbdfSmrg AC_MSG_RESULT([$supported]) 2413475c125cSmrg if test "$supported" = "yes" ; then 2414475c125cSmrg $1="$$1 ]flag[" 2415475c125cSmrg found="yes" 2416475c125cSmrg fi 2417475c125cSmrg fi 2418475c125cSmrg]) 2419475c125cSmrg]) # XORG_TESTSET_CFLAG 2420475c125cSmrg 2421475c125cSmrg# XORG_COMPILER_FLAGS 2422475c125cSmrg# --------------- 2423475c125cSmrg# Minimum version: 1.16.0 2424475c125cSmrg# 242535c4bbdfSmrg# Defines BASE_CFLAGS or BASE_CXXFLAGS to contain a set of command line 242635c4bbdfSmrg# arguments supported by the selected compiler which do NOT alter the generated 242735c4bbdfSmrg# code. These arguments will cause the compiler to print various warnings 242835c4bbdfSmrg# during compilation AND turn a conservative set of warnings into errors. 2429475c125cSmrg# 243035c4bbdfSmrg# The set of flags supported by BASE_CFLAGS and BASE_CXXFLAGS will grow in 243135c4bbdfSmrg# future versions of util-macros as options are added to new compilers. 2432475c125cSmrg# 2433475c125cSmrgAC_DEFUN([XORG_COMPILER_FLAGS], [ 2434475c125cSmrgAC_REQUIRE([XORG_COMPILER_BRAND]) 2435475c125cSmrg 2436475c125cSmrgAC_ARG_ENABLE(selective-werror, 2437475c125cSmrg AS_HELP_STRING([--disable-selective-werror], 2438475c125cSmrg [Turn off selective compiler errors. (default: enabled)]), 2439475c125cSmrg [SELECTIVE_WERROR=$enableval], 2440475c125cSmrg [SELECTIVE_WERROR=yes]) 2441475c125cSmrg 244235c4bbdfSmrgAC_LANG_CASE( 244335c4bbdfSmrg [C], [ 244435c4bbdfSmrg define([PREFIX], [C]) 244535c4bbdfSmrg ], 244635c4bbdfSmrg [C++], [ 244735c4bbdfSmrg define([PREFIX], [CXX]) 244835c4bbdfSmrg ] 244935c4bbdfSmrg) 2450475c125cSmrg# -v is too short to test reliably with XORG_TESTSET_CFLAG 2451475c125cSmrgif test "x$SUNCC" = "xyes"; then 245235c4bbdfSmrg [BASE_]PREFIX[FLAGS]="-v" 2453475c125cSmrgelse 245435c4bbdfSmrg [BASE_]PREFIX[FLAGS]="" 2455475c125cSmrgfi 2456475c125cSmrg 2457475c125cSmrg# This chunk of warnings were those that existed in the legacy CWARNFLAGS 245835c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wall]) 245935c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-arith]) 246035c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-declarations]) 246135c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wformat=2], [-Wformat]) 246235c4bbdfSmrg 246335c4bbdfSmrgAC_LANG_CASE( 246435c4bbdfSmrg [C], [ 246535c4bbdfSmrg XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wstrict-prototypes]) 246635c4bbdfSmrg XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes]) 246735c4bbdfSmrg XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs]) 246835c4bbdfSmrg XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast]) 246935c4bbdfSmrg XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition], [-fd]) 247035c4bbdfSmrg XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement]) 247135c4bbdfSmrg ] 247235c4bbdfSmrg) 2473475c125cSmrg 2474475c125cSmrg# This chunk adds additional warnings that could catch undesired effects. 247535c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused]) 247635c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized]) 247735c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow]) 247835c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn]) 247935c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute]) 248035c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls]) 248135c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op]) 2482475c125cSmrg 2483475c125cSmrg# These are currently disabled because they are noisy. They will be enabled 2484475c125cSmrg# in the future once the codebase is sufficiently modernized to silence 2485475c125cSmrg# them. For now, I don't want them to drown out the other warnings. 248635c4bbdfSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses]) 248735c4bbdfSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align]) 248835c4bbdfSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual]) 2489475c125cSmrg 2490eee80088Smrg# Turn some warnings into errors, so we don't accidentally get successful builds 2491475c125cSmrg# when there are problems that should be fixed. 2492475c125cSmrg 2493475c125cSmrgif test "x$SELECTIVE_WERROR" = "xyes" ; then 249435c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=implicit], [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED]) 249535c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=nonnull]) 249635c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=init-self]) 249735c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=main]) 249835c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=missing-braces]) 249935c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=sequence-point]) 250035c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=return-type], [-errwarn=E_FUNC_HAS_NO_RETURN_STMT]) 250135c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=trigraphs]) 250235c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=array-bounds]) 250335c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=write-strings]) 250435c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=address]) 250535c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=int-to-pointer-cast], [-errwarn=E_BAD_PTR_INT_COMBINATION]) 250635c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=pointer-to-int-cast]) # Also -errwarn=E_BAD_PTR_INT_COMBINATION 2507475c125cSmrgelse 2508475c125cSmrgAC_MSG_WARN([You have chosen not to turn some select compiler warnings into errors. This should not be necessary. Please report why you needed to do so in a bug report at $PACKAGE_BUGREPORT]) 250935c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wimplicit]) 251035c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnonnull]) 251135c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Winit-self]) 251235c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmain]) 251335c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-braces]) 251435c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wsequence-point]) 251535c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wreturn-type]) 251635c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wtrigraphs]) 251735c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Warray-bounds]) 251835c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wwrite-strings]) 251935c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Waddress]) 252035c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wint-to-pointer-cast]) 252135c4bbdfSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-to-int-cast]) 252235c4bbdfSmrgfi 252335c4bbdfSmrg 252435c4bbdfSmrgAC_SUBST([BASE_]PREFIX[FLAGS]) 2525475c125cSmrg]) # XORG_COMPILER_FLAGS 2526475c125cSmrg 25274642e01fSmrg# XORG_CWARNFLAGS 25284642e01fSmrg# --------------- 25294642e01fSmrg# Minimum version: 1.2.0 2530475c125cSmrg# Deprecated since: 1.16.0 (Use XORG_COMPILER_FLAGS instead) 25314642e01fSmrg# 25324642e01fSmrg# Defines CWARNFLAGS to enable C compiler warnings. 25334642e01fSmrg# 2534475c125cSmrg# This function is deprecated because it defines -fno-strict-aliasing 2535475c125cSmrg# which alters the code generated by the compiler. If -fno-strict-aliasing 2536475c125cSmrg# is needed, then it should be added explicitly in the module when 2537475c125cSmrg# it is updated to use BASE_CFLAGS. 2538475c125cSmrg# 25394642e01fSmrgAC_DEFUN([XORG_CWARNFLAGS], [ 2540475c125cSmrgAC_REQUIRE([XORG_COMPILER_FLAGS]) 25419ace9065SmrgAC_REQUIRE([XORG_COMPILER_BRAND]) 254235c4bbdfSmrgAC_LANG_CASE( 254335c4bbdfSmrg [C], [ 254435c4bbdfSmrg CWARNFLAGS="$BASE_CFLAGS" 254535c4bbdfSmrg if test "x$GCC" = xyes ; then 254635c4bbdfSmrg CWARNFLAGS="$CWARNFLAGS -fno-strict-aliasing" 254735c4bbdfSmrg fi 254835c4bbdfSmrg AC_SUBST(CWARNFLAGS) 254935c4bbdfSmrg ] 255035c4bbdfSmrg) 25514642e01fSmrg]) # XORG_CWARNFLAGS 2552b1d344b3Smrg 2553b1d344b3Smrg# XORG_STRICT_OPTION 2554b1d344b3Smrg# ----------------------- 2555b1d344b3Smrg# Minimum version: 1.3.0 2556b1d344b3Smrg# 25579ace9065Smrg# Add configure option to enable strict compilation flags, such as treating 25589ace9065Smrg# warnings as fatal errors. 25599ace9065Smrg# If --enable-strict-compilation is passed to configure, adds strict flags to 256035c4bbdfSmrg# $BASE_CFLAGS or $BASE_CXXFLAGS and the deprecated $CWARNFLAGS. 25619ace9065Smrg# 25629ace9065Smrg# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or 25639ace9065Smrg# when strict compilation is unconditionally desired. 2564b1d344b3SmrgAC_DEFUN([XORG_STRICT_OPTION], [ 2565b1d344b3SmrgAC_REQUIRE([XORG_CWARNFLAGS]) 2566475c125cSmrgAC_REQUIRE([XORG_COMPILER_FLAGS]) 2567b1d344b3Smrg 2568b1d344b3SmrgAC_ARG_ENABLE(strict-compilation, 2569b1d344b3Smrg AS_HELP_STRING([--enable-strict-compilation], 2570b1d344b3Smrg [Enable all warnings from compiler and make them errors (default: disabled)]), 2571b1d344b3Smrg [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no]) 2572475c125cSmrg 257335c4bbdfSmrgAC_LANG_CASE( 257435c4bbdfSmrg [C], [ 257535c4bbdfSmrg define([PREFIX], [C]) 257635c4bbdfSmrg ], 257735c4bbdfSmrg [C++], [ 257835c4bbdfSmrg define([PREFIX], [CXX]) 257935c4bbdfSmrg ] 258035c4bbdfSmrg) 258135c4bbdfSmrg 258235c4bbdfSmrg[STRICT_]PREFIX[FLAGS]="" 258335c4bbdfSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-pedantic]) 258435c4bbdfSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror], [-errwarn]) 2585475c125cSmrg 2586475c125cSmrg# Earlier versions of gcc (eg: 4.2) support -Werror=attributes, but do not 2587475c125cSmrg# activate it with -Werror, so we add it here explicitly. 258835c4bbdfSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror=attributes]) 2589475c125cSmrg 2590b1d344b3Smrgif test "x$STRICT_COMPILE" = "xyes"; then 259135c4bbdfSmrg [BASE_]PREFIX[FLAGS]="$[BASE_]PREFIX[FLAGS] $[STRICT_]PREFIX[FLAGS]" 259235c4bbdfSmrg AC_LANG_CASE([C], [CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"]) 2593b1d344b3Smrgfi 259435c4bbdfSmrgAC_SUBST([STRICT_]PREFIX[FLAGS]) 259535c4bbdfSmrgAC_SUBST([BASE_]PREFIX[FLAGS]) 259635c4bbdfSmrgAC_LANG_CASE([C], AC_SUBST([CWARNFLAGS])) 2597b1d344b3Smrg]) # XORG_STRICT_OPTION 2598b1d344b3Smrg 2599eee80088Smrg# XORG_DEFAULT_NOCODE_OPTIONS 2600eee80088Smrg# --------------------------- 2601eee80088Smrg# Minimum version: 1.20.0 2602eee80088Smrg# 2603eee80088Smrg# Defines default options for X.Org modules which don't compile code, 2604eee80088Smrg# such as fonts, bitmaps, cursors, and docs. 2605eee80088Smrg# 2606eee80088SmrgAC_DEFUN([XORG_DEFAULT_NOCODE_OPTIONS], [ 2607eee80088SmrgAC_REQUIRE([AC_PROG_INSTALL]) 2608eee80088SmrgXORG_RELEASE_VERSION 2609eee80088SmrgXORG_CHANGELOG 2610eee80088SmrgXORG_INSTALL 2611eee80088SmrgXORG_MANPAGE_SECTIONS 2612eee80088Smrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], 2613eee80088Smrg [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])]) 2614eee80088Smrg]) # XORG_DEFAULT_NOCODE_OPTIONS 2615eee80088Smrg 2616b1d344b3Smrg# XORG_DEFAULT_OPTIONS 2617b1d344b3Smrg# -------------------- 2618b1d344b3Smrg# Minimum version: 1.3.0 2619b1d344b3Smrg# 2620eee80088Smrg# Defines default options for X.Org modules which compile code. 2621b1d344b3Smrg# 2622b1d344b3SmrgAC_DEFUN([XORG_DEFAULT_OPTIONS], [ 26236747b715SmrgAC_REQUIRE([AC_PROG_INSTALL]) 2624475c125cSmrgXORG_COMPILER_FLAGS 2625b1d344b3SmrgXORG_CWARNFLAGS 2626b1d344b3SmrgXORG_STRICT_OPTION 2627eee80088SmrgXORG_DEFAULT_NOCODE_OPTIONS 2628b1d344b3Smrg]) # XORG_DEFAULT_OPTIONS 26296747b715Smrg 26306747b715Smrg# XORG_INSTALL() 26316747b715Smrg# ---------------- 26326747b715Smrg# Minimum version: 1.4.0 26336747b715Smrg# 26346747b715Smrg# Defines the variable INSTALL_CMD as the command to copy 26356747b715Smrg# INSTALL from $prefix/share/util-macros. 26366747b715Smrg# 26376747b715SmrgAC_DEFUN([XORG_INSTALL], [ 26386747b715SmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG]) 26396747b715Smrgmacros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` 26406747b715SmrgINSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ 26416747b715Smrgmv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ 2642c82838c1Smrg|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \ 2643c82838c1Smrgtouch \$(top_srcdir)/INSTALL; \ 2644c82838c1Smrgecho 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))" 26456747b715SmrgAC_SUBST([INSTALL_CMD]) 26466747b715Smrg]) # XORG_INSTALL 26474642e01fSmrgdnl Copyright 2005 Red Hat, Inc 26484642e01fSmrgdnl 26494642e01fSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its 26504642e01fSmrgdnl documentation for any purpose is hereby granted without fee, provided that 26514642e01fSmrgdnl the above copyright notice appear in all copies and that both that 26524642e01fSmrgdnl copyright notice and this permission notice appear in supporting 26534642e01fSmrgdnl documentation. 26544642e01fSmrgdnl 26554642e01fSmrgdnl The above copyright notice and this permission notice shall be included 26564642e01fSmrgdnl in all copies or substantial portions of the Software. 26574642e01fSmrgdnl 26584642e01fSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 26594642e01fSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26604642e01fSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 26614642e01fSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 26624642e01fSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 26634642e01fSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26644642e01fSmrgdnl OTHER DEALINGS IN THE SOFTWARE. 26654642e01fSmrgdnl 26664642e01fSmrgdnl Except as contained in this notice, the name of the copyright holders shall 26674642e01fSmrgdnl not be used in advertising or otherwise to promote the sale, use or 26684642e01fSmrgdnl other dealings in this Software without prior written authorization 26694642e01fSmrgdnl from the copyright holders. 26704642e01fSmrgdnl 26714642e01fSmrg 26724642e01fSmrg# XORG_RELEASE_VERSION 26734642e01fSmrg# -------------------- 26746747b715Smrg# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use. 267535c4bbdfSmrg 26764642e01fSmrgAC_DEFUN([XORG_RELEASE_VERSION],[ 26774642e01fSmrg AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR], 26784642e01fSmrg [`echo $PACKAGE_VERSION | cut -d . -f 1`], 26794642e01fSmrg [Major version of this package]) 26804642e01fSmrg PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1` 26814642e01fSmrg if test "x$PVM" = "x"; then 26824642e01fSmrg PVM="0" 26834642e01fSmrg fi 26844642e01fSmrg AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR], 26854642e01fSmrg [$PVM], 26864642e01fSmrg [Minor version of this package]) 26874642e01fSmrg PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1` 26884642e01fSmrg if test "x$PVP" = "x"; then 26894642e01fSmrg PVP="0" 26904642e01fSmrg fi 26914642e01fSmrg AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL], 26924642e01fSmrg [$PVP], 26934642e01fSmrg [Patch version of this package]) 26944642e01fSmrg]) 26954642e01fSmrg 26964642e01fSmrg# XORG_CHANGELOG() 26974642e01fSmrg# ---------------- 26984642e01fSmrg# Minimum version: 1.2.0 26994642e01fSmrg# 27004642e01fSmrg# Defines the variable CHANGELOG_CMD as the command to generate 27014642e01fSmrg# ChangeLog from git. 27024642e01fSmrg# 270352397711Smrg# 27044642e01fSmrgAC_DEFUN([XORG_CHANGELOG], [ 2705c82838c1SmrgCHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \ 27066747b715Smrgmv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \ 2707c82838c1Smrg|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \ 2708c82838c1Smrgtouch \$(top_srcdir)/ChangeLog; \ 2709c82838c1Smrgecho 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))" 27104642e01fSmrgAC_SUBST([CHANGELOG_CMD]) 27114642e01fSmrg]) # XORG_CHANGELOG 27124642e01fSmrg 27134642e01fSmrgdnl 2714d9252ffbSmrgdnl Copyright (c) 2005, Oracle and/or its affiliates. 27158223e2f2Smrgdnl 27168223e2f2Smrgdnl Permission is hereby granted, free of charge, to any person obtaining a 27178223e2f2Smrgdnl copy of this software and associated documentation files (the "Software"), 27188223e2f2Smrgdnl to deal in the Software without restriction, including without limitation 27198223e2f2Smrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense, 27208223e2f2Smrgdnl and/or sell copies of the Software, and to permit persons to whom the 27218223e2f2Smrgdnl Software is furnished to do so, subject to the following conditions: 27228223e2f2Smrgdnl 27238223e2f2Smrgdnl The above copyright notice and this permission notice (including the next 27248223e2f2Smrgdnl paragraph) shall be included in all copies or substantial portions of the 27258223e2f2Smrgdnl Software. 27268223e2f2Smrgdnl 27278223e2f2Smrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 27288223e2f2Smrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27298223e2f2Smrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 27308223e2f2Smrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27318223e2f2Smrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 27328223e2f2Smrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 27338223e2f2Smrgdnl DEALINGS IN THE SOFTWARE. 27348223e2f2Smrgdnl 27354642e01fSmrg 27364642e01fSmrg# XTRANS_TCP_FLAGS() 27374642e01fSmrg# ------------------ 27384642e01fSmrg# Find needed libraries for TCP sockets, and check for IPv6 support 27394642e01fSmrgAC_DEFUN([XTRANS_TCP_FLAGS],[ 27404642e01fSmrg # SVR4 hides these in libraries other than libc 27414642e01fSmrg AC_SEARCH_LIBS(socket, [socket]) 27424642e01fSmrg AC_SEARCH_LIBS(gethostbyname, [nsl]) 27436747b715Smrg if test "$ac_cv_search_socket$ac_cv_search_gethostbyname" = "nono"; then 274435c4bbdfSmrg AC_CHECK_LIB([ws2_32],[main]) 27456747b715Smrg fi 27464642e01fSmrg 27474642e01fSmrg # Needs to come after above checks for libsocket & libnsl for SVR4 systems 274835c4bbdfSmrg AC_ARG_ENABLE(ipv6, 274935c4bbdfSmrg AS_HELP_STRING([--enable-ipv6],[Enable IPv6 support]), 275035c4bbdfSmrg [IPV6CONN=$enableval], 27514642e01fSmrg [AC_CHECK_FUNC(getaddrinfo,[IPV6CONN=yes],[IPV6CONN=no])]) 27524642e01fSmrg AC_MSG_CHECKING([if IPv6 support should be built]) 27534642e01fSmrg if test "$IPV6CONN" = "yes"; then 27544642e01fSmrg AC_DEFINE(IPv6,1,[Support IPv6 for TCP connections]) 27554642e01fSmrg fi 27564642e01fSmrg AC_MSG_RESULT($IPV6CONN) 27574642e01fSmrg 27584642e01fSmrg # 4.3BSD-Reno added a new member to struct sockaddr_in 275935c4bbdfSmrg AC_CHECK_MEMBER([struct sockaddr_in.sin_len], 27604642e01fSmrg AC_DEFINE([BSD44SOCKETS],1, 27614642e01fSmrg [Define to 1 if `struct sockaddr_in' has a `sin_len' member]), [], [ 27624642e01fSmrg#include <sys/types.h> 27634642e01fSmrg#include <sys/socket.h> 27644642e01fSmrg#include <netinet/in.h> 27654642e01fSmrg ]) 27664642e01fSmrg 27674642e01fSmrg # POSIX.1g changed the type of pointer passed to getsockname/getpeername/etc. 27684642e01fSmrg AC_CHECK_TYPES([socklen_t], [], [], [ 27694642e01fSmrgAC_INCLUDES_DEFAULT 27704642e01fSmrg#include <sys/socket.h>]) 277135c4bbdfSmrg 277235c4bbdfSmrg # XPG4v2/UNIX95 added msg_control - check to see if we need to define 277335c4bbdfSmrg # _XOPEN_SOURCE to get it (such as on Solaris) 277435c4bbdfSmrg AC_CHECK_MEMBER([struct msghdr.msg_control], [], [], 277535c4bbdfSmrg [ 277635c4bbdfSmrgAC_INCLUDES_DEFAULT 277735c4bbdfSmrg#include <sys/socket.h> 277835c4bbdfSmrg ]) 277935c4bbdfSmrg # First try for Solaris in C99 compliant mode, which requires XPG6/UNIX03 278035c4bbdfSmrg if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then 278135c4bbdfSmrg unset ac_cv_member_struct_msghdr_msg_control 278235c4bbdfSmrg AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=600]) 278335c4bbdfSmrg AC_CHECK_MEMBER([struct msghdr.msg_control], 278435c4bbdfSmrg [AC_DEFINE([_XOPEN_SOURCE], [600], 278535c4bbdfSmrg [Defined if needed to expose struct msghdr.msg_control]) 278635c4bbdfSmrg ], [], [ 278735c4bbdfSmrg#define _XOPEN_SOURCE 600 278835c4bbdfSmrgAC_INCLUDES_DEFAULT 278935c4bbdfSmrg#include <sys/socket.h> 279035c4bbdfSmrg ]) 279135c4bbdfSmrg fi 279235c4bbdfSmrg # If that didn't work, fall back to XPG5/UNIX98 with C89 279335c4bbdfSmrg if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then 279435c4bbdfSmrg unset ac_cv_member_struct_msghdr_msg_control 279535c4bbdfSmrg AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=500]) 279635c4bbdfSmrg AC_CHECK_MEMBER([struct msghdr.msg_control], 279735c4bbdfSmrg [AC_DEFINE([_XOPEN_SOURCE], [500], 279835c4bbdfSmrg [Defined if needed to expose struct msghdr.msg_control]) 279935c4bbdfSmrg ], [], [ 280035c4bbdfSmrg#define _XOPEN_SOURCE 500 280135c4bbdfSmrgAC_INCLUDES_DEFAULT 280235c4bbdfSmrg#include <sys/socket.h> 280335c4bbdfSmrg ]) 280435c4bbdfSmrg fi 280535c4bbdfSmrg 280635c4bbdfSmrg 28074642e01fSmrg]) # XTRANS_TCP_FLAGS 28084642e01fSmrg 28094642e01fSmrg# XTRANS_CONNECTION_FLAGS() 28104642e01fSmrg# ------------------------- 28114642e01fSmrg# Standard checks for which Xtrans transports to use by the Xorg packages 28124642e01fSmrg# that use Xtrans functions 28134642e01fSmrgAC_DEFUN([XTRANS_CONNECTION_FLAGS],[ 28144642e01fSmrg AC_REQUIRE([AC_CANONICAL_HOST]) 28154642e01fSmrg [case $host_os in 28164642e01fSmrg mingw*) unixdef="no" ;; 28174642e01fSmrg *) unixdef="yes" ;; 28184642e01fSmrg esac] 28194642e01fSmrg AC_ARG_ENABLE(unix-transport, 282035c4bbdfSmrg AS_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]), 28214642e01fSmrg [UNIXCONN=$enableval], [UNIXCONN=$unixdef]) 28224642e01fSmrg AC_MSG_CHECKING([if Xtrans should support UNIX socket connections]) 28234642e01fSmrg if test "$UNIXCONN" = "yes"; then 28244642e01fSmrg AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections]) 28254642e01fSmrg fi 28264642e01fSmrg AC_MSG_RESULT($UNIXCONN) 282735c4bbdfSmrg AC_ARG_ENABLE(tcp-transport, 282835c4bbdfSmrg AS_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]), 28294642e01fSmrg [TCPCONN=$enableval], [TCPCONN=yes]) 28304642e01fSmrg AC_MSG_CHECKING([if Xtrans should support TCP socket connections]) 28314642e01fSmrg AC_MSG_RESULT($TCPCONN) 28324642e01fSmrg if test "$TCPCONN" = "yes"; then 28334642e01fSmrg AC_DEFINE(TCPCONN,1,[Support TCP socket connections]) 28344642e01fSmrg XTRANS_TCP_FLAGS 28354642e01fSmrg fi 28364642e01fSmrg [case $host_os in 2837d9252ffbSmrg solaris*) localdef="yes" ;; 28384642e01fSmrg *) localdef="no" ;; 28394642e01fSmrg esac] 28404642e01fSmrg AC_ARG_ENABLE(local-transport, 284135c4bbdfSmrg AS_HELP_STRING([--enable-local-transport],[Enable os-specific local transport]), 28424642e01fSmrg [LOCALCONN=$enableval], [LOCALCONN=$localdef]) 28434642e01fSmrg AC_MSG_CHECKING([if Xtrans should support os-specific local connections]) 28444642e01fSmrg AC_MSG_RESULT($LOCALCONN) 28454642e01fSmrg if test "$LOCALCONN" = "yes"; then 28464642e01fSmrg AC_DEFINE(LOCALCONN,1,[Support os-specific local connections]) 28474642e01fSmrg fi 284835c4bbdfSmrg 284925da500fSmrg # Other functions Xtrans may need 285025da500fSmrg AC_CHECK_FUNCS([strcasecmp strlcpy]) 285125da500fSmrg 28524642e01fSmrg]) # XTRANS_CONNECTION_FLAGS 28534642e01fSmrg 28544642e01fSmrg 28554642e01fSmrg# XTRANS_SECURE_RPC_FLAGS() 28564642e01fSmrg# ------------------------- 28574642e01fSmrg# Check for Secure RPC functions - must come after XTRANS_TCP_FLAGS 28584642e01fSmrg# so that any necessary networking libraries are already found 28594642e01fSmrgAC_DEFUN([XTRANS_SECURE_RPC_FLAGS], 28604642e01fSmrg[AC_REQUIRE([XTRANS_TCP_FLAGS]) 286135c4bbdfSmrg AC_ARG_ENABLE(secure-rpc, 286235c4bbdfSmrg AS_HELP_STRING([--enable-secure-rpc],[Enable Secure RPC]), 28634642e01fSmrg [SECURE_RPC=$enableval], [SECURE_RPC="try"]) 28644642e01fSmrg 28654642e01fSmrg if test "x$SECURE_RPC" = "xyes" -o "x$SECURE_RPC" = "xtry" ; then 28664642e01fSmrg FOUND_SECURE_RPC="no" 28674642e01fSmrg AC_CHECK_FUNCS([authdes_seccreate authdes_create], 28684642e01fSmrg [FOUND_SECURE_RPC="yes"]) 28694642e01fSmrg if test "x$FOUND_SECURE_RPC" = "xno" ; then 28704642e01fSmrg if test "x$SECURE_RPC" = "xyes" ; then 28714642e01fSmrg AC_MSG_ERROR([Secure RPC requested, but required functions not found]) 287235c4bbdfSmrg fi 28734642e01fSmrg SECURE_RPC="no" 28744642e01fSmrg else 28754642e01fSmrg dnl FreeBSD keeps getsecretkey in librpcsvc 28764642e01fSmrg AC_SEARCH_LIBS(getsecretkey, [rpcsvc]) 28774642e01fSmrg SECURE_RPC="yes" 28784642e01fSmrg fi 28794642e01fSmrg fi 28804642e01fSmrg AC_MSG_CHECKING([if Secure RPC authentication ("SUN-DES-1") should be supported]) 28814642e01fSmrg if test "x$SECURE_RPC" = "xyes" ; then 28824642e01fSmrg AC_DEFINE(SECURE_RPC, 1, [Support Secure RPC ("SUN-DES-1") authentication for X11 clients]) 28834642e01fSmrg fi 28844642e01fSmrg AC_MSG_RESULT($SECURE_RPC) 28854642e01fSmrg]) # XTRANS_SECURE_RPC_FLAGS 28864642e01fSmrg 28874642e01fSmrg 2888c82838c1Smrg# Copyright (C) 2002-2021 Free Software Foundation, Inc. 288935c4bbdfSmrg# 289035c4bbdfSmrg# This file is free software; the Free Software Foundation 289135c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 289235c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 289335c4bbdfSmrg 289435c4bbdfSmrg# AM_AUTOMAKE_VERSION(VERSION) 289535c4bbdfSmrg# ---------------------------- 289635c4bbdfSmrg# Automake X.Y traces this macro to ensure aclocal.m4 has been 289735c4bbdfSmrg# generated from the m4 files accompanying Automake X.Y. 289835c4bbdfSmrg# (This private macro should not be called outside this file.) 289935c4bbdfSmrgAC_DEFUN([AM_AUTOMAKE_VERSION], 2900e23ec014Smrg[am__api_version='1.16' 290135c4bbdfSmrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to 290235c4bbdfSmrgdnl require some minimum version. Point them to the right macro. 2903c82838c1Smrgm4_if([$1], [1.16.5], [], 290435c4bbdfSmrg [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl 290535c4bbdfSmrg]) 290635c4bbdfSmrg 290735c4bbdfSmrg# _AM_AUTOCONF_VERSION(VERSION) 290835c4bbdfSmrg# ----------------------------- 290935c4bbdfSmrg# aclocal traces this macro to find the Autoconf version. 291035c4bbdfSmrg# This is a private macro too. Using m4_define simplifies 291135c4bbdfSmrg# the logic in aclocal, which can simply ignore this definition. 291235c4bbdfSmrgm4_define([_AM_AUTOCONF_VERSION], []) 291335c4bbdfSmrg 291435c4bbdfSmrg# AM_SET_CURRENT_AUTOMAKE_VERSION 291535c4bbdfSmrg# ------------------------------- 291635c4bbdfSmrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. 291735c4bbdfSmrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. 291835c4bbdfSmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], 2919c82838c1Smrg[AM_AUTOMAKE_VERSION([1.16.5])dnl 292035c4bbdfSmrgm4_ifndef([AC_AUTOCONF_VERSION], 292135c4bbdfSmrg [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl 292235c4bbdfSmrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) 292335c4bbdfSmrg 292435c4bbdfSmrg# Figure out how to run the assembler. -*- Autoconf -*- 292535c4bbdfSmrg 2926c82838c1Smrg# Copyright (C) 2001-2021 Free Software Foundation, Inc. 292735c4bbdfSmrg# 292835c4bbdfSmrg# This file is free software; the Free Software Foundation 292935c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 293035c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 293135c4bbdfSmrg 293235c4bbdfSmrg# AM_PROG_AS 293335c4bbdfSmrg# ---------- 293435c4bbdfSmrgAC_DEFUN([AM_PROG_AS], 293535c4bbdfSmrg[# By default we simply use the C compiler to build assembly code. 293635c4bbdfSmrgAC_REQUIRE([AC_PROG_CC]) 293735c4bbdfSmrgtest "${CCAS+set}" = set || CCAS=$CC 293835c4bbdfSmrgtest "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS 293935c4bbdfSmrgAC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) 294035c4bbdfSmrgAC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) 294135c4bbdfSmrg_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl 294235c4bbdfSmrg]) 294335c4bbdfSmrg 294435c4bbdfSmrg# AM_AUX_DIR_EXPAND -*- Autoconf -*- 294535c4bbdfSmrg 2946c82838c1Smrg# Copyright (C) 2001-2021 Free Software Foundation, Inc. 294735c4bbdfSmrg# 294835c4bbdfSmrg# This file is free software; the Free Software Foundation 294935c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 295035c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 295135c4bbdfSmrg 295235c4bbdfSmrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets 295335c4bbdfSmrg# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to 295435c4bbdfSmrg# '$srcdir', '$srcdir/..', or '$srcdir/../..'. 295535c4bbdfSmrg# 295635c4bbdfSmrg# Of course, Automake must honor this variable whenever it calls a 295735c4bbdfSmrg# tool from the auxiliary directory. The problem is that $srcdir (and 295835c4bbdfSmrg# therefore $ac_aux_dir as well) can be either absolute or relative, 295935c4bbdfSmrg# depending on how configure is run. This is pretty annoying, since 296035c4bbdfSmrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top 296135c4bbdfSmrg# source directory, any form will work fine, but in subdirectories a 296235c4bbdfSmrg# relative path needs to be adjusted first. 296335c4bbdfSmrg# 296435c4bbdfSmrg# $ac_aux_dir/missing 296535c4bbdfSmrg# fails when called from a subdirectory if $ac_aux_dir is relative 296635c4bbdfSmrg# $top_srcdir/$ac_aux_dir/missing 296735c4bbdfSmrg# fails if $ac_aux_dir is absolute, 296835c4bbdfSmrg# fails when called from a subdirectory in a VPATH build with 296935c4bbdfSmrg# a relative $ac_aux_dir 297035c4bbdfSmrg# 297135c4bbdfSmrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir 297235c4bbdfSmrg# are both prefixed by $srcdir. In an in-source build this is usually 297335c4bbdfSmrg# harmless because $srcdir is '.', but things will broke when you 297435c4bbdfSmrg# start a VPATH build or use an absolute $srcdir. 297535c4bbdfSmrg# 297635c4bbdfSmrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, 297735c4bbdfSmrg# iff we strip the leading $srcdir from $ac_aux_dir. That would be: 297835c4bbdfSmrg# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` 297935c4bbdfSmrg# and then we would define $MISSING as 298035c4bbdfSmrg# MISSING="\${SHELL} $am_aux_dir/missing" 298135c4bbdfSmrg# This will work as long as MISSING is not called from configure, because 298235c4bbdfSmrg# unfortunately $(top_srcdir) has no meaning in configure. 298335c4bbdfSmrg# However there are other variables, like CC, which are often used in 298435c4bbdfSmrg# configure, and could therefore not use this "fixed" $ac_aux_dir. 298535c4bbdfSmrg# 298635c4bbdfSmrg# Another solution, used here, is to always expand $ac_aux_dir to an 298735c4bbdfSmrg# absolute PATH. The drawback is that using absolute paths prevent a 298835c4bbdfSmrg# configured tree to be moved without reconfiguration. 298935c4bbdfSmrg 299035c4bbdfSmrgAC_DEFUN([AM_AUX_DIR_EXPAND], 299135c4bbdfSmrg[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 299235c4bbdfSmrg# Expand $ac_aux_dir to an absolute path. 299335c4bbdfSmrgam_aux_dir=`cd "$ac_aux_dir" && pwd` 299435c4bbdfSmrg]) 299535c4bbdfSmrg 299635c4bbdfSmrg# AM_CONDITIONAL -*- Autoconf -*- 299735c4bbdfSmrg 2998c82838c1Smrg# Copyright (C) 1997-2021 Free Software Foundation, Inc. 299935c4bbdfSmrg# 300035c4bbdfSmrg# This file is free software; the Free Software Foundation 300135c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 300235c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 300335c4bbdfSmrg 300435c4bbdfSmrg# AM_CONDITIONAL(NAME, SHELL-CONDITION) 300535c4bbdfSmrg# ------------------------------------- 300635c4bbdfSmrg# Define a conditional. 300735c4bbdfSmrgAC_DEFUN([AM_CONDITIONAL], 300835c4bbdfSmrg[AC_PREREQ([2.52])dnl 300935c4bbdfSmrg m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], 301035c4bbdfSmrg [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl 301135c4bbdfSmrgAC_SUBST([$1_TRUE])dnl 301235c4bbdfSmrgAC_SUBST([$1_FALSE])dnl 301335c4bbdfSmrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl 301435c4bbdfSmrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl 301535c4bbdfSmrgm4_define([_AM_COND_VALUE_$1], [$2])dnl 301635c4bbdfSmrgif $2; then 301735c4bbdfSmrg $1_TRUE= 301835c4bbdfSmrg $1_FALSE='#' 301935c4bbdfSmrgelse 302035c4bbdfSmrg $1_TRUE='#' 302135c4bbdfSmrg $1_FALSE= 302235c4bbdfSmrgfi 302335c4bbdfSmrgAC_CONFIG_COMMANDS_PRE( 302435c4bbdfSmrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then 302535c4bbdfSmrg AC_MSG_ERROR([[conditional "$1" was never defined. 302635c4bbdfSmrgUsually this means the macro was only invoked conditionally.]]) 302735c4bbdfSmrgfi])]) 302835c4bbdfSmrg 3029c82838c1Smrg# Copyright (C) 1999-2021 Free Software Foundation, Inc. 303035c4bbdfSmrg# 303135c4bbdfSmrg# This file is free software; the Free Software Foundation 303235c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 303335c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 303435c4bbdfSmrg 303535c4bbdfSmrg 303635c4bbdfSmrg# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be 303735c4bbdfSmrg# written in clear, in which case automake, when reading aclocal.m4, 303835c4bbdfSmrg# will think it sees a *use*, and therefore will trigger all it's 303935c4bbdfSmrg# C support machinery. Also note that it means that autoscan, seeing 304035c4bbdfSmrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use... 304135c4bbdfSmrg 304235c4bbdfSmrg 304335c4bbdfSmrg# _AM_DEPENDENCIES(NAME) 304435c4bbdfSmrg# ---------------------- 304535c4bbdfSmrg# See how the compiler implements dependency checking. 304635c4bbdfSmrg# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". 304735c4bbdfSmrg# We try a few techniques and use that to set a single cache variable. 304835c4bbdfSmrg# 304935c4bbdfSmrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was 305035c4bbdfSmrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular 305135c4bbdfSmrg# dependency, and given that the user is not expected to run this macro, 305235c4bbdfSmrg# just rely on AC_PROG_CC. 305335c4bbdfSmrgAC_DEFUN([_AM_DEPENDENCIES], 305435c4bbdfSmrg[AC_REQUIRE([AM_SET_DEPDIR])dnl 305535c4bbdfSmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl 305635c4bbdfSmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl 305735c4bbdfSmrgAC_REQUIRE([AM_DEP_TRACK])dnl 305835c4bbdfSmrg 305935c4bbdfSmrgm4_if([$1], [CC], [depcc="$CC" am_compiler_list=], 306035c4bbdfSmrg [$1], [CXX], [depcc="$CXX" am_compiler_list=], 306135c4bbdfSmrg [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], 306235c4bbdfSmrg [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], 306335c4bbdfSmrg [$1], [UPC], [depcc="$UPC" am_compiler_list=], 306435c4bbdfSmrg [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], 306535c4bbdfSmrg [depcc="$$1" am_compiler_list=]) 306635c4bbdfSmrg 306735c4bbdfSmrgAC_CACHE_CHECK([dependency style of $depcc], 306835c4bbdfSmrg [am_cv_$1_dependencies_compiler_type], 306935c4bbdfSmrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then 307035c4bbdfSmrg # We make a subdir and do the tests there. Otherwise we can end up 307135c4bbdfSmrg # making bogus files that we don't know about and never remove. For 307235c4bbdfSmrg # instance it was reported that on HP-UX the gcc test will end up 307335c4bbdfSmrg # making a dummy file named 'D' -- because '-MD' means "put the output 307435c4bbdfSmrg # in D". 307535c4bbdfSmrg rm -rf conftest.dir 307635c4bbdfSmrg mkdir conftest.dir 307735c4bbdfSmrg # Copy depcomp to subdir because otherwise we won't find it if we're 307835c4bbdfSmrg # using a relative directory. 307935c4bbdfSmrg cp "$am_depcomp" conftest.dir 308035c4bbdfSmrg cd conftest.dir 308135c4bbdfSmrg # We will build objects and dependencies in a subdirectory because 308235c4bbdfSmrg # it helps to detect inapplicable dependency modes. For instance 308335c4bbdfSmrg # both Tru64's cc and ICC support -MD to output dependencies as a 308435c4bbdfSmrg # side effect of compilation, but ICC will put the dependencies in 308535c4bbdfSmrg # the current directory while Tru64 will put them in the object 308635c4bbdfSmrg # directory. 308735c4bbdfSmrg mkdir sub 308835c4bbdfSmrg 308935c4bbdfSmrg am_cv_$1_dependencies_compiler_type=none 309035c4bbdfSmrg if test "$am_compiler_list" = ""; then 309135c4bbdfSmrg am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` 309235c4bbdfSmrg fi 309335c4bbdfSmrg am__universal=false 309435c4bbdfSmrg m4_case([$1], [CC], 309535c4bbdfSmrg [case " $depcc " in #( 309635c4bbdfSmrg *\ -arch\ *\ -arch\ *) am__universal=true ;; 309735c4bbdfSmrg esac], 309835c4bbdfSmrg [CXX], 309935c4bbdfSmrg [case " $depcc " in #( 310035c4bbdfSmrg *\ -arch\ *\ -arch\ *) am__universal=true ;; 310135c4bbdfSmrg esac]) 310235c4bbdfSmrg 310335c4bbdfSmrg for depmode in $am_compiler_list; do 310435c4bbdfSmrg # Setup a source with many dependencies, because some compilers 310535c4bbdfSmrg # like to wrap large dependency lists on column 80 (with \), and 310635c4bbdfSmrg # we should not choose a depcomp mode which is confused by this. 310735c4bbdfSmrg # 310835c4bbdfSmrg # We need to recreate these files for each test, as the compiler may 310935c4bbdfSmrg # overwrite some of them when testing with obscure command lines. 311035c4bbdfSmrg # This happens at least with the AIX C compiler. 311135c4bbdfSmrg : > sub/conftest.c 311235c4bbdfSmrg for i in 1 2 3 4 5 6; do 311335c4bbdfSmrg echo '#include "conftst'$i'.h"' >> sub/conftest.c 311435c4bbdfSmrg # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with 311535c4bbdfSmrg # Solaris 10 /bin/sh. 311635c4bbdfSmrg echo '/* dummy */' > sub/conftst$i.h 311735c4bbdfSmrg done 311835c4bbdfSmrg echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf 311935c4bbdfSmrg 312035c4bbdfSmrg # We check with '-c' and '-o' for the sake of the "dashmstdout" 312135c4bbdfSmrg # mode. It turns out that the SunPro C++ compiler does not properly 312235c4bbdfSmrg # handle '-M -o', and we need to detect this. Also, some Intel 312335c4bbdfSmrg # versions had trouble with output in subdirs. 312435c4bbdfSmrg am__obj=sub/conftest.${OBJEXT-o} 312535c4bbdfSmrg am__minus_obj="-o $am__obj" 312635c4bbdfSmrg case $depmode in 312735c4bbdfSmrg gcc) 312835c4bbdfSmrg # This depmode causes a compiler race in universal mode. 312935c4bbdfSmrg test "$am__universal" = false || continue 313035c4bbdfSmrg ;; 313135c4bbdfSmrg nosideeffect) 313235c4bbdfSmrg # After this tag, mechanisms are not by side-effect, so they'll 313335c4bbdfSmrg # only be used when explicitly requested. 313435c4bbdfSmrg if test "x$enable_dependency_tracking" = xyes; then 313535c4bbdfSmrg continue 313635c4bbdfSmrg else 313735c4bbdfSmrg break 313835c4bbdfSmrg fi 313935c4bbdfSmrg ;; 314035c4bbdfSmrg msvc7 | msvc7msys | msvisualcpp | msvcmsys) 314135c4bbdfSmrg # This compiler won't grok '-c -o', but also, the minuso test has 314235c4bbdfSmrg # not run yet. These depmodes are late enough in the game, and 314335c4bbdfSmrg # so weak that their functioning should not be impacted. 314435c4bbdfSmrg am__obj=conftest.${OBJEXT-o} 314535c4bbdfSmrg am__minus_obj= 314635c4bbdfSmrg ;; 314735c4bbdfSmrg none) break ;; 314835c4bbdfSmrg esac 314935c4bbdfSmrg if depmode=$depmode \ 315035c4bbdfSmrg source=sub/conftest.c object=$am__obj \ 315135c4bbdfSmrg depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ 315235c4bbdfSmrg $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ 315335c4bbdfSmrg >/dev/null 2>conftest.err && 315435c4bbdfSmrg grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && 315535c4bbdfSmrg grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && 315635c4bbdfSmrg grep $am__obj sub/conftest.Po > /dev/null 2>&1 && 315735c4bbdfSmrg ${MAKE-make} -s -f confmf > /dev/null 2>&1; then 315835c4bbdfSmrg # icc doesn't choke on unknown options, it will just issue warnings 315935c4bbdfSmrg # or remarks (even with -Werror). So we grep stderr for any message 316035c4bbdfSmrg # that says an option was ignored or not supported. 316135c4bbdfSmrg # When given -MP, icc 7.0 and 7.1 complain thusly: 316235c4bbdfSmrg # icc: Command line warning: ignoring option '-M'; no argument required 316335c4bbdfSmrg # The diagnosis changed in icc 8.0: 316435c4bbdfSmrg # icc: Command line remark: option '-MP' not supported 316535c4bbdfSmrg if (grep 'ignoring option' conftest.err || 316635c4bbdfSmrg grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else 316735c4bbdfSmrg am_cv_$1_dependencies_compiler_type=$depmode 316835c4bbdfSmrg break 316935c4bbdfSmrg fi 317035c4bbdfSmrg fi 317135c4bbdfSmrg done 317235c4bbdfSmrg 317335c4bbdfSmrg cd .. 317435c4bbdfSmrg rm -rf conftest.dir 317535c4bbdfSmrgelse 317635c4bbdfSmrg am_cv_$1_dependencies_compiler_type=none 317735c4bbdfSmrgfi 317835c4bbdfSmrg]) 317935c4bbdfSmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) 318035c4bbdfSmrgAM_CONDITIONAL([am__fastdep$1], [ 318135c4bbdfSmrg test "x$enable_dependency_tracking" != xno \ 318235c4bbdfSmrg && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) 318335c4bbdfSmrg]) 318435c4bbdfSmrg 318535c4bbdfSmrg 318635c4bbdfSmrg# AM_SET_DEPDIR 318735c4bbdfSmrg# ------------- 318835c4bbdfSmrg# Choose a directory name for dependency files. 318935c4bbdfSmrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES. 319035c4bbdfSmrgAC_DEFUN([AM_SET_DEPDIR], 319135c4bbdfSmrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl 319235c4bbdfSmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl 319335c4bbdfSmrg]) 319435c4bbdfSmrg 319535c4bbdfSmrg 319635c4bbdfSmrg# AM_DEP_TRACK 319735c4bbdfSmrg# ------------ 319835c4bbdfSmrgAC_DEFUN([AM_DEP_TRACK], 319935c4bbdfSmrg[AC_ARG_ENABLE([dependency-tracking], [dnl 320035c4bbdfSmrgAS_HELP_STRING( 320135c4bbdfSmrg [--enable-dependency-tracking], 320235c4bbdfSmrg [do not reject slow dependency extractors]) 320335c4bbdfSmrgAS_HELP_STRING( 320435c4bbdfSmrg [--disable-dependency-tracking], 320535c4bbdfSmrg [speeds up one-time build])]) 320635c4bbdfSmrgif test "x$enable_dependency_tracking" != xno; then 320735c4bbdfSmrg am_depcomp="$ac_aux_dir/depcomp" 320835c4bbdfSmrg AMDEPBACKSLASH='\' 320935c4bbdfSmrg am__nodep='_no' 321035c4bbdfSmrgfi 321135c4bbdfSmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) 321235c4bbdfSmrgAC_SUBST([AMDEPBACKSLASH])dnl 321335c4bbdfSmrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl 321435c4bbdfSmrgAC_SUBST([am__nodep])dnl 321535c4bbdfSmrg_AM_SUBST_NOTMAKE([am__nodep])dnl 321635c4bbdfSmrg]) 321735c4bbdfSmrg 321835c4bbdfSmrg# Generate code to set up dependency tracking. -*- Autoconf -*- 321935c4bbdfSmrg 3220c82838c1Smrg# Copyright (C) 1999-2021 Free Software Foundation, Inc. 322135c4bbdfSmrg# 322235c4bbdfSmrg# This file is free software; the Free Software Foundation 322335c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 322435c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 322535c4bbdfSmrg 322635c4bbdfSmrg# _AM_OUTPUT_DEPENDENCY_COMMANDS 322735c4bbdfSmrg# ------------------------------ 322835c4bbdfSmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], 322935c4bbdfSmrg[{ 323035c4bbdfSmrg # Older Autoconf quotes --file arguments for eval, but not when files 323135c4bbdfSmrg # are listed without --file. Let's play safe and only enable the eval 323235c4bbdfSmrg # if we detect the quoting. 3233e23ec014Smrg # TODO: see whether this extra hack can be removed once we start 3234e23ec014Smrg # requiring Autoconf 2.70 or later. 3235e23ec014Smrg AS_CASE([$CONFIG_FILES], 3236e23ec014Smrg [*\'*], [eval set x "$CONFIG_FILES"], 3237e23ec014Smrg [*], [set x $CONFIG_FILES]) 323835c4bbdfSmrg shift 3239e23ec014Smrg # Used to flag and report bootstrapping failures. 3240e23ec014Smrg am_rc=0 3241e23ec014Smrg for am_mf 324235c4bbdfSmrg do 324335c4bbdfSmrg # Strip MF so we end up with the name of the file. 3244e23ec014Smrg am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` 3245e23ec014Smrg # Check whether this is an Automake generated Makefile which includes 3246e23ec014Smrg # dependency-tracking related rules and includes. 3247e23ec014Smrg # Grep'ing the whole file directly is not great: AIX grep has a line 324835c4bbdfSmrg # limit of 2048, but all sed's we know have understand at least 4000. 3249e23ec014Smrg sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ 3250e23ec014Smrg || continue 3251e23ec014Smrg am_dirpart=`AS_DIRNAME(["$am_mf"])` 3252e23ec014Smrg am_filepart=`AS_BASENAME(["$am_mf"])` 3253e23ec014Smrg AM_RUN_LOG([cd "$am_dirpart" \ 3254e23ec014Smrg && sed -e '/# am--include-marker/d' "$am_filepart" \ 3255e23ec014Smrg | $MAKE -f - am--depfiles]) || am_rc=$? 325635c4bbdfSmrg done 3257e23ec014Smrg if test $am_rc -ne 0; then 3258e23ec014Smrg AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments 3259dc61d50dSmrg for automatic dependency tracking. If GNU make was not used, consider 3260dc61d50dSmrg re-running the configure script with MAKE="gmake" (or whatever is 3261dc61d50dSmrg necessary). You can also try re-running configure with the 3262e23ec014Smrg '--disable-dependency-tracking' option to at least be able to build 3263e23ec014Smrg the package (albeit without support for automatic dependency tracking).]) 3264e23ec014Smrg fi 3265e23ec014Smrg AS_UNSET([am_dirpart]) 3266e23ec014Smrg AS_UNSET([am_filepart]) 3267e23ec014Smrg AS_UNSET([am_mf]) 3268e23ec014Smrg AS_UNSET([am_rc]) 3269e23ec014Smrg rm -f conftest-deps.mk 327035c4bbdfSmrg} 327135c4bbdfSmrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS 327235c4bbdfSmrg 327335c4bbdfSmrg 327435c4bbdfSmrg# AM_OUTPUT_DEPENDENCY_COMMANDS 327535c4bbdfSmrg# ----------------------------- 327635c4bbdfSmrg# This macro should only be invoked once -- use via AC_REQUIRE. 327735c4bbdfSmrg# 3278e23ec014Smrg# This code is only required when automatic dependency tracking is enabled. 3279e23ec014Smrg# This creates each '.Po' and '.Plo' makefile fragment that we'll need in 3280e23ec014Smrg# order to bootstrap the dependency handling code. 328135c4bbdfSmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], 328235c4bbdfSmrg[AC_CONFIG_COMMANDS([depfiles], 328335c4bbdfSmrg [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], 3284e23ec014Smrg [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) 328535c4bbdfSmrg 328635c4bbdfSmrg# Do all the work for Automake. -*- Autoconf -*- 328735c4bbdfSmrg 3288c82838c1Smrg# Copyright (C) 1996-2021 Free Software Foundation, Inc. 328935c4bbdfSmrg# 329035c4bbdfSmrg# This file is free software; the Free Software Foundation 329135c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 329235c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 329335c4bbdfSmrg 329435c4bbdfSmrg# This macro actually does too much. Some checks are only needed if 329535c4bbdfSmrg# your package does certain things. But this isn't really a big deal. 329635c4bbdfSmrg 329735c4bbdfSmrgdnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. 329835c4bbdfSmrgm4_define([AC_PROG_CC], 329935c4bbdfSmrgm4_defn([AC_PROG_CC]) 330035c4bbdfSmrg[_AM_PROG_CC_C_O 330135c4bbdfSmrg]) 330235c4bbdfSmrg 330335c4bbdfSmrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) 330435c4bbdfSmrg# AM_INIT_AUTOMAKE([OPTIONS]) 330535c4bbdfSmrg# ----------------------------------------------- 330635c4bbdfSmrg# The call with PACKAGE and VERSION arguments is the old style 330735c4bbdfSmrg# call (pre autoconf-2.50), which is being phased out. PACKAGE 330835c4bbdfSmrg# and VERSION should now be passed to AC_INIT and removed from 330935c4bbdfSmrg# the call to AM_INIT_AUTOMAKE. 331035c4bbdfSmrg# We support both call styles for the transition. After 331135c4bbdfSmrg# the next Automake release, Autoconf can make the AC_INIT 331235c4bbdfSmrg# arguments mandatory, and then we can depend on a new Autoconf 331335c4bbdfSmrg# release and drop the old call support. 331435c4bbdfSmrgAC_DEFUN([AM_INIT_AUTOMAKE], 331535c4bbdfSmrg[AC_PREREQ([2.65])dnl 3316c82838c1Smrgm4_ifdef([_$0_ALREADY_INIT], 3317c82838c1Smrg [m4_fatal([$0 expanded multiple times 3318c82838c1Smrg]m4_defn([_$0_ALREADY_INIT]))], 3319c82838c1Smrg [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl 332035c4bbdfSmrgdnl Autoconf wants to disallow AM_ names. We explicitly allow 332135c4bbdfSmrgdnl the ones we care about. 332235c4bbdfSmrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl 332335c4bbdfSmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl 332435c4bbdfSmrgAC_REQUIRE([AC_PROG_INSTALL])dnl 332535c4bbdfSmrgif test "`cd $srcdir && pwd`" != "`pwd`"; then 332635c4bbdfSmrg # Use -I$(srcdir) only when $(srcdir) != ., so that make's output 332735c4bbdfSmrg # is not polluted with repeated "-I." 332835c4bbdfSmrg AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl 332935c4bbdfSmrg # test to see if srcdir already configured 333035c4bbdfSmrg if test -f $srcdir/config.status; then 333135c4bbdfSmrg AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) 333235c4bbdfSmrg fi 333335c4bbdfSmrgfi 333435c4bbdfSmrg 333535c4bbdfSmrg# test whether we have cygpath 333635c4bbdfSmrgif test -z "$CYGPATH_W"; then 333735c4bbdfSmrg if (cygpath --version) >/dev/null 2>/dev/null; then 333835c4bbdfSmrg CYGPATH_W='cygpath -w' 333935c4bbdfSmrg else 334035c4bbdfSmrg CYGPATH_W=echo 334135c4bbdfSmrg fi 334235c4bbdfSmrgfi 334335c4bbdfSmrgAC_SUBST([CYGPATH_W]) 334435c4bbdfSmrg 334535c4bbdfSmrg# Define the identity of the package. 334635c4bbdfSmrgdnl Distinguish between old-style and new-style calls. 334735c4bbdfSmrgm4_ifval([$2], 334835c4bbdfSmrg[AC_DIAGNOSE([obsolete], 334935c4bbdfSmrg [$0: two- and three-arguments forms are deprecated.]) 335035c4bbdfSmrgm4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl 335135c4bbdfSmrg AC_SUBST([PACKAGE], [$1])dnl 335235c4bbdfSmrg AC_SUBST([VERSION], [$2])], 335335c4bbdfSmrg[_AM_SET_OPTIONS([$1])dnl 335435c4bbdfSmrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. 335535c4bbdfSmrgm4_if( 3356c82838c1Smrg m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), 335735c4bbdfSmrg [ok:ok],, 335835c4bbdfSmrg [m4_fatal([AC_INIT should be called with package and version arguments])])dnl 335935c4bbdfSmrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl 336035c4bbdfSmrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl 336135c4bbdfSmrg 336235c4bbdfSmrg_AM_IF_OPTION([no-define],, 336335c4bbdfSmrg[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) 336435c4bbdfSmrg AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl 336535c4bbdfSmrg 336635c4bbdfSmrg# Some tools Automake needs. 336735c4bbdfSmrgAC_REQUIRE([AM_SANITY_CHECK])dnl 336835c4bbdfSmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl 336935c4bbdfSmrgAM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) 337035c4bbdfSmrgAM_MISSING_PROG([AUTOCONF], [autoconf]) 337135c4bbdfSmrgAM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) 337235c4bbdfSmrgAM_MISSING_PROG([AUTOHEADER], [autoheader]) 337335c4bbdfSmrgAM_MISSING_PROG([MAKEINFO], [makeinfo]) 337435c4bbdfSmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl 337535c4bbdfSmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl 337635c4bbdfSmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl 337735c4bbdfSmrg# For better backward compatibility. To be removed once Automake 1.9.x 337835c4bbdfSmrg# dies out for good. For more background, see: 3379e23ec014Smrg# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> 3380e23ec014Smrg# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> 338135c4bbdfSmrgAC_SUBST([mkdir_p], ['$(MKDIR_P)']) 338235c4bbdfSmrg# We need awk for the "check" target (and possibly the TAP driver). The 338335c4bbdfSmrg# system "awk" is bad on some platforms. 338435c4bbdfSmrgAC_REQUIRE([AC_PROG_AWK])dnl 338535c4bbdfSmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl 338635c4bbdfSmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl 338735c4bbdfSmrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], 338835c4bbdfSmrg [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], 338935c4bbdfSmrg [_AM_PROG_TAR([v7])])]) 339035c4bbdfSmrg_AM_IF_OPTION([no-dependencies],, 339135c4bbdfSmrg[AC_PROVIDE_IFELSE([AC_PROG_CC], 339235c4bbdfSmrg [_AM_DEPENDENCIES([CC])], 339335c4bbdfSmrg [m4_define([AC_PROG_CC], 339435c4bbdfSmrg m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl 339535c4bbdfSmrgAC_PROVIDE_IFELSE([AC_PROG_CXX], 339635c4bbdfSmrg [_AM_DEPENDENCIES([CXX])], 339735c4bbdfSmrg [m4_define([AC_PROG_CXX], 339835c4bbdfSmrg m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl 339935c4bbdfSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC], 340035c4bbdfSmrg [_AM_DEPENDENCIES([OBJC])], 340135c4bbdfSmrg [m4_define([AC_PROG_OBJC], 340235c4bbdfSmrg m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl 340335c4bbdfSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJCXX], 340435c4bbdfSmrg [_AM_DEPENDENCIES([OBJCXX])], 340535c4bbdfSmrg [m4_define([AC_PROG_OBJCXX], 340635c4bbdfSmrg m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl 340735c4bbdfSmrg]) 3408c82838c1Smrg# Variables for tags utilities; see am/tags.am 3409c82838c1Smrgif test -z "$CTAGS"; then 3410c82838c1Smrg CTAGS=ctags 3411c82838c1Smrgfi 3412c82838c1SmrgAC_SUBST([CTAGS]) 3413c82838c1Smrgif test -z "$ETAGS"; then 3414c82838c1Smrg ETAGS=etags 3415c82838c1Smrgfi 3416c82838c1SmrgAC_SUBST([ETAGS]) 3417c82838c1Smrgif test -z "$CSCOPE"; then 3418c82838c1Smrg CSCOPE=cscope 3419c82838c1Smrgfi 3420c82838c1SmrgAC_SUBST([CSCOPE]) 3421c82838c1Smrg 342235c4bbdfSmrgAC_REQUIRE([AM_SILENT_RULES])dnl 342335c4bbdfSmrgdnl The testsuite driver may need to know about EXEEXT, so add the 342435c4bbdfSmrgdnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This 342535c4bbdfSmrgdnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. 342635c4bbdfSmrgAC_CONFIG_COMMANDS_PRE(dnl 342735c4bbdfSmrg[m4_provide_if([_AM_COMPILER_EXEEXT], 342835c4bbdfSmrg [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl 342935c4bbdfSmrg 343035c4bbdfSmrg# POSIX will say in a future version that running "rm -f" with no argument 343135c4bbdfSmrg# is OK; and we want to be able to make that assumption in our Makefile 343235c4bbdfSmrg# recipes. So use an aggressive probe to check that the usage we want is 343335c4bbdfSmrg# actually supported "in the wild" to an acceptable degree. 343435c4bbdfSmrg# See automake bug#10828. 343535c4bbdfSmrg# To make any issue more visible, cause the running configure to be aborted 343635c4bbdfSmrg# by default if the 'rm' program in use doesn't match our expectations; the 343735c4bbdfSmrg# user can still override this though. 343835c4bbdfSmrgif rm -f && rm -fr && rm -rf; then : OK; else 343935c4bbdfSmrg cat >&2 <<'END' 344035c4bbdfSmrgOops! 344135c4bbdfSmrg 344235c4bbdfSmrgYour 'rm' program seems unable to run without file operands specified 344335c4bbdfSmrgon the command line, even when the '-f' option is present. This is contrary 344435c4bbdfSmrgto the behaviour of most rm programs out there, and not conforming with 344535c4bbdfSmrgthe upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> 344635c4bbdfSmrg 344735c4bbdfSmrgPlease tell bug-automake@gnu.org about your system, including the value 344835c4bbdfSmrgof your $PATH and any error possibly output before this message. This 344935c4bbdfSmrgcan help us improve future automake versions. 345035c4bbdfSmrg 345135c4bbdfSmrgEND 345235c4bbdfSmrg if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then 345335c4bbdfSmrg echo 'Configuration will proceed anyway, since you have set the' >&2 345435c4bbdfSmrg echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 345535c4bbdfSmrg echo >&2 345635c4bbdfSmrg else 345735c4bbdfSmrg cat >&2 <<'END' 345835c4bbdfSmrgAborting the configuration process, to ensure you take notice of the issue. 345935c4bbdfSmrg 346035c4bbdfSmrgYou can download and install GNU coreutils to get an 'rm' implementation 3461e23ec014Smrgthat behaves properly: <https://www.gnu.org/software/coreutils/>. 346235c4bbdfSmrg 346335c4bbdfSmrgIf you want to complete the configuration process using your problematic 346435c4bbdfSmrg'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM 346535c4bbdfSmrgto "yes", and re-run configure. 346635c4bbdfSmrg 346735c4bbdfSmrgEND 346835c4bbdfSmrg AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) 346935c4bbdfSmrg fi 347035c4bbdfSmrgfi 347135c4bbdfSmrgdnl The trailing newline in this macro's definition is deliberate, for 347235c4bbdfSmrgdnl backward compatibility and to allow trailing 'dnl'-style comments 347335c4bbdfSmrgdnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. 347435c4bbdfSmrg]) 347535c4bbdfSmrg 347635c4bbdfSmrgdnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not 347735c4bbdfSmrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further 347835c4bbdfSmrgdnl mangled by Autoconf and run in a shell conditional statement. 347935c4bbdfSmrgm4_define([_AC_COMPILER_EXEEXT], 348035c4bbdfSmrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) 348135c4bbdfSmrg 348235c4bbdfSmrg# When config.status generates a header, we must update the stamp-h file. 348335c4bbdfSmrg# This file resides in the same directory as the config header 348435c4bbdfSmrg# that is generated. The stamp files are numbered to have different names. 348535c4bbdfSmrg 348635c4bbdfSmrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the 348735c4bbdfSmrg# loop where config.status creates the headers, so we can generate 348835c4bbdfSmrg# our stamp files there. 348935c4bbdfSmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], 349035c4bbdfSmrg[# Compute $1's index in $config_headers. 349135c4bbdfSmrg_am_arg=$1 349235c4bbdfSmrg_am_stamp_count=1 349335c4bbdfSmrgfor _am_header in $config_headers :; do 349435c4bbdfSmrg case $_am_header in 349535c4bbdfSmrg $_am_arg | $_am_arg:* ) 349635c4bbdfSmrg break ;; 349735c4bbdfSmrg * ) 349835c4bbdfSmrg _am_stamp_count=`expr $_am_stamp_count + 1` ;; 349935c4bbdfSmrg esac 350035c4bbdfSmrgdone 350135c4bbdfSmrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) 350235c4bbdfSmrg 3503c82838c1Smrg# Copyright (C) 2001-2021 Free Software Foundation, Inc. 350435c4bbdfSmrg# 350535c4bbdfSmrg# This file is free software; the Free Software Foundation 350635c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 350735c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 350835c4bbdfSmrg 350935c4bbdfSmrg# AM_PROG_INSTALL_SH 351035c4bbdfSmrg# ------------------ 351135c4bbdfSmrg# Define $install_sh. 351235c4bbdfSmrgAC_DEFUN([AM_PROG_INSTALL_SH], 351335c4bbdfSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 351435c4bbdfSmrgif test x"${install_sh+set}" != xset; then 351535c4bbdfSmrg case $am_aux_dir in 351635c4bbdfSmrg *\ * | *\ *) 351735c4bbdfSmrg install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; 351835c4bbdfSmrg *) 351935c4bbdfSmrg install_sh="\${SHELL} $am_aux_dir/install-sh" 352035c4bbdfSmrg esac 352135c4bbdfSmrgfi 352235c4bbdfSmrgAC_SUBST([install_sh])]) 352335c4bbdfSmrg 3524c82838c1Smrg# Copyright (C) 2003-2021 Free Software Foundation, Inc. 352535c4bbdfSmrg# 352635c4bbdfSmrg# This file is free software; the Free Software Foundation 352735c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 352835c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 352935c4bbdfSmrg 353035c4bbdfSmrg# Check whether the underlying file-system supports filenames 353135c4bbdfSmrg# with a leading dot. For instance MS-DOS doesn't. 353235c4bbdfSmrgAC_DEFUN([AM_SET_LEADING_DOT], 353335c4bbdfSmrg[rm -rf .tst 2>/dev/null 353435c4bbdfSmrgmkdir .tst 2>/dev/null 353535c4bbdfSmrgif test -d .tst; then 353635c4bbdfSmrg am__leading_dot=. 353735c4bbdfSmrgelse 353835c4bbdfSmrg am__leading_dot=_ 353935c4bbdfSmrgfi 354035c4bbdfSmrgrmdir .tst 2>/dev/null 354135c4bbdfSmrgAC_SUBST([am__leading_dot])]) 354235c4bbdfSmrg 354335c4bbdfSmrg# Check to see how 'make' treats includes. -*- Autoconf -*- 354435c4bbdfSmrg 3545c82838c1Smrg# Copyright (C) 2001-2021 Free Software Foundation, Inc. 354635c4bbdfSmrg# 354735c4bbdfSmrg# This file is free software; the Free Software Foundation 354835c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 354935c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 355035c4bbdfSmrg 355135c4bbdfSmrg# AM_MAKE_INCLUDE() 355235c4bbdfSmrg# ----------------- 3553e23ec014Smrg# Check whether make has an 'include' directive that can support all 3554e23ec014Smrg# the idioms we need for our automatic dependency tracking code. 355535c4bbdfSmrgAC_DEFUN([AM_MAKE_INCLUDE], 3556e23ec014Smrg[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) 3557e23ec014Smrgcat > confinc.mk << 'END' 355835c4bbdfSmrgam__doit: 3559e23ec014Smrg @echo this is the am__doit target >confinc.out 356035c4bbdfSmrg.PHONY: am__doit 356135c4bbdfSmrgEND 356235c4bbdfSmrgam__include="#" 356335c4bbdfSmrgam__quote= 3564e23ec014Smrg# BSD make does it like this. 3565e23ec014Smrgecho '.include "confinc.mk" # ignored' > confmf.BSD 3566e23ec014Smrg# Other make implementations (GNU, Solaris 10, AIX) do it like this. 3567e23ec014Smrgecho 'include confinc.mk # ignored' > confmf.GNU 3568e23ec014Smrg_am_result=no 3569e23ec014Smrgfor s in GNU BSD; do 3570e23ec014Smrg AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) 3571e23ec014Smrg AS_CASE([$?:`cat confinc.out 2>/dev/null`], 3572e23ec014Smrg ['0:this is the am__doit target'], 3573e23ec014Smrg [AS_CASE([$s], 3574e23ec014Smrg [BSD], [am__include='.include' am__quote='"'], 3575e23ec014Smrg [am__include='include' am__quote=''])]) 3576e23ec014Smrg if test "$am__include" != "#"; then 3577e23ec014Smrg _am_result="yes ($s style)" 3578e23ec014Smrg break 3579e23ec014Smrg fi 3580e23ec014Smrgdone 3581e23ec014Smrgrm -f confinc.* confmf.* 3582e23ec014SmrgAC_MSG_RESULT([${_am_result}]) 3583e23ec014SmrgAC_SUBST([am__include])]) 3584e23ec014SmrgAC_SUBST([am__quote])]) 358535c4bbdfSmrg 358635c4bbdfSmrg# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- 358735c4bbdfSmrg 3588c82838c1Smrg# Copyright (C) 1997-2021 Free Software Foundation, Inc. 358935c4bbdfSmrg# 359035c4bbdfSmrg# This file is free software; the Free Software Foundation 359135c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 359235c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 359335c4bbdfSmrg 359435c4bbdfSmrg# AM_MISSING_PROG(NAME, PROGRAM) 359535c4bbdfSmrg# ------------------------------ 359635c4bbdfSmrgAC_DEFUN([AM_MISSING_PROG], 359735c4bbdfSmrg[AC_REQUIRE([AM_MISSING_HAS_RUN]) 359835c4bbdfSmrg$1=${$1-"${am_missing_run}$2"} 359935c4bbdfSmrgAC_SUBST($1)]) 360035c4bbdfSmrg 360135c4bbdfSmrg# AM_MISSING_HAS_RUN 360235c4bbdfSmrg# ------------------ 360335c4bbdfSmrg# Define MISSING if not defined so far and test if it is modern enough. 360435c4bbdfSmrg# If it is, set am_missing_run to use it, otherwise, to nothing. 360535c4bbdfSmrgAC_DEFUN([AM_MISSING_HAS_RUN], 360635c4bbdfSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 360735c4bbdfSmrgAC_REQUIRE_AUX_FILE([missing])dnl 360835c4bbdfSmrgif test x"${MISSING+set}" != xset; then 3609dc61d50dSmrg MISSING="\${SHELL} '$am_aux_dir/missing'" 361035c4bbdfSmrgfi 361135c4bbdfSmrg# Use eval to expand $SHELL 361235c4bbdfSmrgif eval "$MISSING --is-lightweight"; then 361335c4bbdfSmrg am_missing_run="$MISSING " 361435c4bbdfSmrgelse 361535c4bbdfSmrg am_missing_run= 361635c4bbdfSmrg AC_MSG_WARN(['missing' script is too old or missing]) 361735c4bbdfSmrgfi 361835c4bbdfSmrg]) 361935c4bbdfSmrg 362035c4bbdfSmrg# Helper functions for option handling. -*- Autoconf -*- 362135c4bbdfSmrg 3622c82838c1Smrg# Copyright (C) 2001-2021 Free Software Foundation, Inc. 362335c4bbdfSmrg# 362435c4bbdfSmrg# This file is free software; the Free Software Foundation 362535c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 362635c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 362735c4bbdfSmrg 362835c4bbdfSmrg# _AM_MANGLE_OPTION(NAME) 362935c4bbdfSmrg# ----------------------- 363035c4bbdfSmrgAC_DEFUN([_AM_MANGLE_OPTION], 363135c4bbdfSmrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) 363235c4bbdfSmrg 363335c4bbdfSmrg# _AM_SET_OPTION(NAME) 363435c4bbdfSmrg# -------------------- 363535c4bbdfSmrg# Set option NAME. Presently that only means defining a flag for this option. 363635c4bbdfSmrgAC_DEFUN([_AM_SET_OPTION], 363735c4bbdfSmrg[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) 363835c4bbdfSmrg 363935c4bbdfSmrg# _AM_SET_OPTIONS(OPTIONS) 364035c4bbdfSmrg# ------------------------ 364135c4bbdfSmrg# OPTIONS is a space-separated list of Automake options. 364235c4bbdfSmrgAC_DEFUN([_AM_SET_OPTIONS], 364335c4bbdfSmrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) 364435c4bbdfSmrg 364535c4bbdfSmrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) 364635c4bbdfSmrg# ------------------------------------------- 364735c4bbdfSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. 364835c4bbdfSmrgAC_DEFUN([_AM_IF_OPTION], 364935c4bbdfSmrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) 365035c4bbdfSmrg 3651c82838c1Smrg# Copyright (C) 1999-2021 Free Software Foundation, Inc. 365235c4bbdfSmrg# 365335c4bbdfSmrg# This file is free software; the Free Software Foundation 365435c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 365535c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 365635c4bbdfSmrg 365735c4bbdfSmrg# _AM_PROG_CC_C_O 365835c4bbdfSmrg# --------------- 365935c4bbdfSmrg# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC 366035c4bbdfSmrg# to automatically call this. 366135c4bbdfSmrgAC_DEFUN([_AM_PROG_CC_C_O], 366235c4bbdfSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 366335c4bbdfSmrgAC_REQUIRE_AUX_FILE([compile])dnl 366435c4bbdfSmrgAC_LANG_PUSH([C])dnl 366535c4bbdfSmrgAC_CACHE_CHECK( 366635c4bbdfSmrg [whether $CC understands -c and -o together], 366735c4bbdfSmrg [am_cv_prog_cc_c_o], 366835c4bbdfSmrg [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) 366935c4bbdfSmrg # Make sure it works both with $CC and with simple cc. 367035c4bbdfSmrg # Following AC_PROG_CC_C_O, we do the test twice because some 367135c4bbdfSmrg # compilers refuse to overwrite an existing .o file with -o, 367235c4bbdfSmrg # though they will create one. 367335c4bbdfSmrg am_cv_prog_cc_c_o=yes 367435c4bbdfSmrg for am_i in 1 2; do 367535c4bbdfSmrg if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ 367635c4bbdfSmrg && test -f conftest2.$ac_objext; then 367735c4bbdfSmrg : OK 367835c4bbdfSmrg else 367935c4bbdfSmrg am_cv_prog_cc_c_o=no 368035c4bbdfSmrg break 368135c4bbdfSmrg fi 368235c4bbdfSmrg done 368335c4bbdfSmrg rm -f core conftest* 368435c4bbdfSmrg unset am_i]) 368535c4bbdfSmrgif test "$am_cv_prog_cc_c_o" != yes; then 368635c4bbdfSmrg # Losing compiler, so override with the script. 368735c4bbdfSmrg # FIXME: It is wrong to rewrite CC. 368835c4bbdfSmrg # But if we don't then we get into trouble of one sort or another. 368935c4bbdfSmrg # A longer-term fix would be to have automake use am__CC in this case, 369035c4bbdfSmrg # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" 369135c4bbdfSmrg CC="$am_aux_dir/compile $CC" 369235c4bbdfSmrgfi 369335c4bbdfSmrgAC_LANG_POP([C])]) 369435c4bbdfSmrg 369535c4bbdfSmrg# For backward compatibility. 369635c4bbdfSmrgAC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) 369735c4bbdfSmrg 3698c82838c1Smrg# Copyright (C) 2001-2021 Free Software Foundation, Inc. 369935c4bbdfSmrg# 370035c4bbdfSmrg# This file is free software; the Free Software Foundation 370135c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 370235c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 370335c4bbdfSmrg 370435c4bbdfSmrg# AM_RUN_LOG(COMMAND) 370535c4bbdfSmrg# ------------------- 370635c4bbdfSmrg# Run COMMAND, save the exit status in ac_status, and log it. 370735c4bbdfSmrg# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) 370835c4bbdfSmrgAC_DEFUN([AM_RUN_LOG], 370935c4bbdfSmrg[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD 371035c4bbdfSmrg ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD 371135c4bbdfSmrg ac_status=$? 371235c4bbdfSmrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 371335c4bbdfSmrg (exit $ac_status); }]) 371435c4bbdfSmrg 371535c4bbdfSmrg# Check to make sure that the build environment is sane. -*- Autoconf -*- 371635c4bbdfSmrg 3717c82838c1Smrg# Copyright (C) 1996-2021 Free Software Foundation, Inc. 371835c4bbdfSmrg# 371935c4bbdfSmrg# This file is free software; the Free Software Foundation 372035c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 372135c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 372235c4bbdfSmrg 372335c4bbdfSmrg# AM_SANITY_CHECK 372435c4bbdfSmrg# --------------- 372535c4bbdfSmrgAC_DEFUN([AM_SANITY_CHECK], 372635c4bbdfSmrg[AC_MSG_CHECKING([whether build environment is sane]) 372735c4bbdfSmrg# Reject unsafe characters in $srcdir or the absolute working directory 372835c4bbdfSmrg# name. Accept space and tab only in the latter. 372935c4bbdfSmrgam_lf=' 373035c4bbdfSmrg' 373135c4bbdfSmrgcase `pwd` in 373235c4bbdfSmrg *[[\\\"\#\$\&\'\`$am_lf]]*) 373335c4bbdfSmrg AC_MSG_ERROR([unsafe absolute working directory name]);; 373435c4bbdfSmrgesac 373535c4bbdfSmrgcase $srcdir in 373635c4bbdfSmrg *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) 373735c4bbdfSmrg AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; 373835c4bbdfSmrgesac 373935c4bbdfSmrg 374035c4bbdfSmrg# Do 'set' in a subshell so we don't clobber the current shell's 374135c4bbdfSmrg# arguments. Must try -L first in case configure is actually a 374235c4bbdfSmrg# symlink; some systems play weird games with the mod time of symlinks 374335c4bbdfSmrg# (eg FreeBSD returns the mod time of the symlink's containing 374435c4bbdfSmrg# directory). 374535c4bbdfSmrgif ( 374635c4bbdfSmrg am_has_slept=no 374735c4bbdfSmrg for am_try in 1 2; do 374835c4bbdfSmrg echo "timestamp, slept: $am_has_slept" > conftest.file 374935c4bbdfSmrg set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` 375035c4bbdfSmrg if test "$[*]" = "X"; then 375135c4bbdfSmrg # -L didn't work. 375235c4bbdfSmrg set X `ls -t "$srcdir/configure" conftest.file` 375335c4bbdfSmrg fi 375435c4bbdfSmrg if test "$[*]" != "X $srcdir/configure conftest.file" \ 375535c4bbdfSmrg && test "$[*]" != "X conftest.file $srcdir/configure"; then 375635c4bbdfSmrg 375735c4bbdfSmrg # If neither matched, then we have a broken ls. This can happen 375835c4bbdfSmrg # if, for instance, CONFIG_SHELL is bash and it inherits a 375935c4bbdfSmrg # broken ls alias from the environment. This has actually 376035c4bbdfSmrg # happened. Such a system could not be considered "sane". 376135c4bbdfSmrg AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken 376235c4bbdfSmrg alias in your environment]) 376335c4bbdfSmrg fi 376435c4bbdfSmrg if test "$[2]" = conftest.file || test $am_try -eq 2; then 376535c4bbdfSmrg break 376635c4bbdfSmrg fi 376735c4bbdfSmrg # Just in case. 376835c4bbdfSmrg sleep 1 376935c4bbdfSmrg am_has_slept=yes 377035c4bbdfSmrg done 377135c4bbdfSmrg test "$[2]" = conftest.file 377235c4bbdfSmrg ) 377335c4bbdfSmrgthen 377435c4bbdfSmrg # Ok. 377535c4bbdfSmrg : 377635c4bbdfSmrgelse 377735c4bbdfSmrg AC_MSG_ERROR([newly created file is older than distributed files! 377835c4bbdfSmrgCheck your system clock]) 377935c4bbdfSmrgfi 378035c4bbdfSmrgAC_MSG_RESULT([yes]) 378135c4bbdfSmrg# If we didn't sleep, we still need to ensure time stamps of config.status and 378235c4bbdfSmrg# generated files are strictly newer. 378335c4bbdfSmrgam_sleep_pid= 378435c4bbdfSmrgif grep 'slept: no' conftest.file >/dev/null 2>&1; then 378535c4bbdfSmrg ( sleep 1 ) & 378635c4bbdfSmrg am_sleep_pid=$! 378735c4bbdfSmrgfi 378835c4bbdfSmrgAC_CONFIG_COMMANDS_PRE( 378935c4bbdfSmrg [AC_MSG_CHECKING([that generated files are newer than configure]) 379035c4bbdfSmrg if test -n "$am_sleep_pid"; then 379135c4bbdfSmrg # Hide warnings about reused PIDs. 379235c4bbdfSmrg wait $am_sleep_pid 2>/dev/null 379335c4bbdfSmrg fi 379435c4bbdfSmrg AC_MSG_RESULT([done])]) 379535c4bbdfSmrgrm -f conftest.file 379635c4bbdfSmrg]) 379735c4bbdfSmrg 3798c82838c1Smrg# Copyright (C) 2009-2021 Free Software Foundation, Inc. 379935c4bbdfSmrg# 380035c4bbdfSmrg# This file is free software; the Free Software Foundation 380135c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 380235c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 380335c4bbdfSmrg 380435c4bbdfSmrg# AM_SILENT_RULES([DEFAULT]) 380535c4bbdfSmrg# -------------------------- 380635c4bbdfSmrg# Enable less verbose build rules; with the default set to DEFAULT 380735c4bbdfSmrg# ("yes" being less verbose, "no" or empty being verbose). 380835c4bbdfSmrgAC_DEFUN([AM_SILENT_RULES], 380935c4bbdfSmrg[AC_ARG_ENABLE([silent-rules], [dnl 381035c4bbdfSmrgAS_HELP_STRING( 381135c4bbdfSmrg [--enable-silent-rules], 381235c4bbdfSmrg [less verbose build output (undo: "make V=1")]) 381335c4bbdfSmrgAS_HELP_STRING( 381435c4bbdfSmrg [--disable-silent-rules], 381535c4bbdfSmrg [verbose build output (undo: "make V=0")])dnl 381635c4bbdfSmrg]) 381735c4bbdfSmrgcase $enable_silent_rules in @%:@ ((( 381835c4bbdfSmrg yes) AM_DEFAULT_VERBOSITY=0;; 381935c4bbdfSmrg no) AM_DEFAULT_VERBOSITY=1;; 382035c4bbdfSmrg *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; 382135c4bbdfSmrgesac 382235c4bbdfSmrgdnl 382335c4bbdfSmrgdnl A few 'make' implementations (e.g., NonStop OS and NextStep) 382435c4bbdfSmrgdnl do not support nested variable expansions. 382535c4bbdfSmrgdnl See automake bug#9928 and bug#10237. 382635c4bbdfSmrgam_make=${MAKE-make} 382735c4bbdfSmrgAC_CACHE_CHECK([whether $am_make supports nested variables], 382835c4bbdfSmrg [am_cv_make_support_nested_variables], 382935c4bbdfSmrg [if AS_ECHO([['TRUE=$(BAR$(V)) 383035c4bbdfSmrgBAR0=false 383135c4bbdfSmrgBAR1=true 383235c4bbdfSmrgV=1 383335c4bbdfSmrgam__doit: 383435c4bbdfSmrg @$(TRUE) 383535c4bbdfSmrg.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then 383635c4bbdfSmrg am_cv_make_support_nested_variables=yes 383735c4bbdfSmrgelse 383835c4bbdfSmrg am_cv_make_support_nested_variables=no 383935c4bbdfSmrgfi]) 384035c4bbdfSmrgif test $am_cv_make_support_nested_variables = yes; then 384135c4bbdfSmrg dnl Using '$V' instead of '$(V)' breaks IRIX make. 384235c4bbdfSmrg AM_V='$(V)' 384335c4bbdfSmrg AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' 384435c4bbdfSmrgelse 384535c4bbdfSmrg AM_V=$AM_DEFAULT_VERBOSITY 384635c4bbdfSmrg AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY 384735c4bbdfSmrgfi 384835c4bbdfSmrgAC_SUBST([AM_V])dnl 384935c4bbdfSmrgAM_SUBST_NOTMAKE([AM_V])dnl 385035c4bbdfSmrgAC_SUBST([AM_DEFAULT_V])dnl 385135c4bbdfSmrgAM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl 385235c4bbdfSmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl 385335c4bbdfSmrgAM_BACKSLASH='\' 385435c4bbdfSmrgAC_SUBST([AM_BACKSLASH])dnl 385535c4bbdfSmrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl 385635c4bbdfSmrg]) 385735c4bbdfSmrg 3858c82838c1Smrg# Copyright (C) 2001-2021 Free Software Foundation, Inc. 385935c4bbdfSmrg# 386035c4bbdfSmrg# This file is free software; the Free Software Foundation 386135c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 386235c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 386335c4bbdfSmrg 386435c4bbdfSmrg# AM_PROG_INSTALL_STRIP 386535c4bbdfSmrg# --------------------- 386635c4bbdfSmrg# One issue with vendor 'install' (even GNU) is that you can't 386735c4bbdfSmrg# specify the program used to strip binaries. This is especially 386835c4bbdfSmrg# annoying in cross-compiling environments, where the build's strip 386935c4bbdfSmrg# is unlikely to handle the host's binaries. 387035c4bbdfSmrg# Fortunately install-sh will honor a STRIPPROG variable, so we 387135c4bbdfSmrg# always use install-sh in "make install-strip", and initialize 387235c4bbdfSmrg# STRIPPROG with the value of the STRIP variable (set by the user). 387335c4bbdfSmrgAC_DEFUN([AM_PROG_INSTALL_STRIP], 387435c4bbdfSmrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl 387535c4bbdfSmrg# Installed binaries are usually stripped using 'strip' when the user 387635c4bbdfSmrg# run "make install-strip". However 'strip' might not be the right 387735c4bbdfSmrg# tool to use in cross-compilation environments, therefore Automake 387835c4bbdfSmrg# will honor the 'STRIP' environment variable to overrule this program. 387935c4bbdfSmrgdnl Don't test for $cross_compiling = yes, because it might be 'maybe'. 388035c4bbdfSmrgif test "$cross_compiling" != no; then 388135c4bbdfSmrg AC_CHECK_TOOL([STRIP], [strip], :) 388235c4bbdfSmrgfi 388335c4bbdfSmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" 388435c4bbdfSmrgAC_SUBST([INSTALL_STRIP_PROGRAM])]) 388535c4bbdfSmrg 3886c82838c1Smrg# Copyright (C) 2006-2021 Free Software Foundation, Inc. 388735c4bbdfSmrg# 388835c4bbdfSmrg# This file is free software; the Free Software Foundation 388935c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 389035c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 389135c4bbdfSmrg 389235c4bbdfSmrg# _AM_SUBST_NOTMAKE(VARIABLE) 389335c4bbdfSmrg# --------------------------- 389435c4bbdfSmrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. 389535c4bbdfSmrg# This macro is traced by Automake. 389635c4bbdfSmrgAC_DEFUN([_AM_SUBST_NOTMAKE]) 389735c4bbdfSmrg 389835c4bbdfSmrg# AM_SUBST_NOTMAKE(VARIABLE) 389935c4bbdfSmrg# -------------------------- 390035c4bbdfSmrg# Public sister of _AM_SUBST_NOTMAKE. 390135c4bbdfSmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) 390235c4bbdfSmrg 390335c4bbdfSmrg# Check how to create a tarball. -*- Autoconf -*- 390435c4bbdfSmrg 3905c82838c1Smrg# Copyright (C) 2004-2021 Free Software Foundation, Inc. 390635c4bbdfSmrg# 390735c4bbdfSmrg# This file is free software; the Free Software Foundation 390835c4bbdfSmrg# gives unlimited permission to copy and/or distribute it, 390935c4bbdfSmrg# with or without modifications, as long as this notice is preserved. 391035c4bbdfSmrg 391135c4bbdfSmrg# _AM_PROG_TAR(FORMAT) 391235c4bbdfSmrg# -------------------- 391335c4bbdfSmrg# Check how to create a tarball in format FORMAT. 391435c4bbdfSmrg# FORMAT should be one of 'v7', 'ustar', or 'pax'. 391535c4bbdfSmrg# 391635c4bbdfSmrg# Substitute a variable $(am__tar) that is a command 391735c4bbdfSmrg# writing to stdout a FORMAT-tarball containing the directory 391835c4bbdfSmrg# $tardir. 391935c4bbdfSmrg# tardir=directory && $(am__tar) > result.tar 392035c4bbdfSmrg# 392135c4bbdfSmrg# Substitute a variable $(am__untar) that extract such 392235c4bbdfSmrg# a tarball read from stdin. 392335c4bbdfSmrg# $(am__untar) < result.tar 392435c4bbdfSmrg# 392535c4bbdfSmrgAC_DEFUN([_AM_PROG_TAR], 392635c4bbdfSmrg[# Always define AMTAR for backward compatibility. Yes, it's still used 392735c4bbdfSmrg# in the wild :-( We should find a proper way to deprecate it ... 392835c4bbdfSmrgAC_SUBST([AMTAR], ['$${TAR-tar}']) 392935c4bbdfSmrg 393035c4bbdfSmrg# We'll loop over all known methods to create a tar archive until one works. 393135c4bbdfSmrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' 393235c4bbdfSmrg 393335c4bbdfSmrgm4_if([$1], [v7], 393435c4bbdfSmrg [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], 393535c4bbdfSmrg 393635c4bbdfSmrg [m4_case([$1], 393735c4bbdfSmrg [ustar], 393835c4bbdfSmrg [# The POSIX 1988 'ustar' format is defined with fixed-size fields. 393935c4bbdfSmrg # There is notably a 21 bits limit for the UID and the GID. In fact, 394035c4bbdfSmrg # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 394135c4bbdfSmrg # and bug#13588). 394235c4bbdfSmrg am_max_uid=2097151 # 2^21 - 1 394335c4bbdfSmrg am_max_gid=$am_max_uid 394435c4bbdfSmrg # The $UID and $GID variables are not portable, so we need to resort 394535c4bbdfSmrg # to the POSIX-mandated id(1) utility. Errors in the 'id' calls 394635c4bbdfSmrg # below are definitely unexpected, so allow the users to see them 394735c4bbdfSmrg # (that is, avoid stderr redirection). 394835c4bbdfSmrg am_uid=`id -u || echo unknown` 394935c4bbdfSmrg am_gid=`id -g || echo unknown` 395035c4bbdfSmrg AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) 395135c4bbdfSmrg if test $am_uid -le $am_max_uid; then 395235c4bbdfSmrg AC_MSG_RESULT([yes]) 395335c4bbdfSmrg else 395435c4bbdfSmrg AC_MSG_RESULT([no]) 395535c4bbdfSmrg _am_tools=none 395635c4bbdfSmrg fi 395735c4bbdfSmrg AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) 395835c4bbdfSmrg if test $am_gid -le $am_max_gid; then 395935c4bbdfSmrg AC_MSG_RESULT([yes]) 396035c4bbdfSmrg else 396135c4bbdfSmrg AC_MSG_RESULT([no]) 396235c4bbdfSmrg _am_tools=none 396335c4bbdfSmrg fi], 396435c4bbdfSmrg 396535c4bbdfSmrg [pax], 396635c4bbdfSmrg [], 396735c4bbdfSmrg 396835c4bbdfSmrg [m4_fatal([Unknown tar format])]) 396935c4bbdfSmrg 397035c4bbdfSmrg AC_MSG_CHECKING([how to create a $1 tar archive]) 397135c4bbdfSmrg 397235c4bbdfSmrg # Go ahead even if we have the value already cached. We do so because we 397335c4bbdfSmrg # need to set the values for the 'am__tar' and 'am__untar' variables. 397435c4bbdfSmrg _am_tools=${am_cv_prog_tar_$1-$_am_tools} 397535c4bbdfSmrg 397635c4bbdfSmrg for _am_tool in $_am_tools; do 397735c4bbdfSmrg case $_am_tool in 397835c4bbdfSmrg gnutar) 397935c4bbdfSmrg for _am_tar in tar gnutar gtar; do 398035c4bbdfSmrg AM_RUN_LOG([$_am_tar --version]) && break 398135c4bbdfSmrg done 398235c4bbdfSmrg am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' 398335c4bbdfSmrg am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' 398435c4bbdfSmrg am__untar="$_am_tar -xf -" 398535c4bbdfSmrg ;; 398635c4bbdfSmrg plaintar) 398735c4bbdfSmrg # Must skip GNU tar: if it does not support --format= it doesn't create 398835c4bbdfSmrg # ustar tarball either. 398935c4bbdfSmrg (tar --version) >/dev/null 2>&1 && continue 399035c4bbdfSmrg am__tar='tar chf - "$$tardir"' 399135c4bbdfSmrg am__tar_='tar chf - "$tardir"' 399235c4bbdfSmrg am__untar='tar xf -' 399335c4bbdfSmrg ;; 399435c4bbdfSmrg pax) 399535c4bbdfSmrg am__tar='pax -L -x $1 -w "$$tardir"' 399635c4bbdfSmrg am__tar_='pax -L -x $1 -w "$tardir"' 399735c4bbdfSmrg am__untar='pax -r' 399835c4bbdfSmrg ;; 399935c4bbdfSmrg cpio) 400035c4bbdfSmrg am__tar='find "$$tardir" -print | cpio -o -H $1 -L' 400135c4bbdfSmrg am__tar_='find "$tardir" -print | cpio -o -H $1 -L' 400235c4bbdfSmrg am__untar='cpio -i -H $1 -d' 400335c4bbdfSmrg ;; 400435c4bbdfSmrg none) 400535c4bbdfSmrg am__tar=false 400635c4bbdfSmrg am__tar_=false 400735c4bbdfSmrg am__untar=false 400835c4bbdfSmrg ;; 400935c4bbdfSmrg esac 401035c4bbdfSmrg 401135c4bbdfSmrg # If the value was cached, stop now. We just wanted to have am__tar 401235c4bbdfSmrg # and am__untar set. 401335c4bbdfSmrg test -n "${am_cv_prog_tar_$1}" && break 401435c4bbdfSmrg 401535c4bbdfSmrg # tar/untar a dummy directory, and stop if the command works. 401635c4bbdfSmrg rm -rf conftest.dir 401735c4bbdfSmrg mkdir conftest.dir 401835c4bbdfSmrg echo GrepMe > conftest.dir/file 401935c4bbdfSmrg AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) 402035c4bbdfSmrg rm -rf conftest.dir 402135c4bbdfSmrg if test -s conftest.tar; then 402235c4bbdfSmrg AM_RUN_LOG([$am__untar <conftest.tar]) 402335c4bbdfSmrg AM_RUN_LOG([cat conftest.dir/file]) 402435c4bbdfSmrg grep GrepMe conftest.dir/file >/dev/null 2>&1 && break 402535c4bbdfSmrg fi 402635c4bbdfSmrg done 402735c4bbdfSmrg rm -rf conftest.dir 402835c4bbdfSmrg 402935c4bbdfSmrg AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) 403035c4bbdfSmrg AC_MSG_RESULT([$am_cv_prog_tar_$1])]) 403135c4bbdfSmrg 403235c4bbdfSmrgAC_SUBST([am__tar]) 403335c4bbdfSmrgAC_SUBST([am__untar]) 403435c4bbdfSmrg]) # _AM_PROG_TAR 403535c4bbdfSmrg 403635c4bbdfSmrgm4_include([m4/ac_define_dir.m4]) 40371b5d61b8Smrgm4_include([m4/ax_pthread.m4]) 4038d36a1693Smrgm4_include([m4/libtool.m4]) 403935c4bbdfSmrgm4_include([m4/ltoptions.m4]) 404035c4bbdfSmrgm4_include([m4/ltsugar.m4]) 4041d36a1693Smrgm4_include([m4/ltversion.m4]) 404235c4bbdfSmrgm4_include([m4/lt~obsolete.m4]) 4043