Pablo Galindo Salgado | c2e0b13 | 2021-07-30 16:14:28 +0100 | [diff] [blame] | 1 | # generated automatically by aclocal 1.16.3 -*- Autoconf -*- |
doko@ubuntu.com | 3536350 | 2015-04-13 20:53:43 +0200 | [diff] [blame] | 2 | |
Pablo Galindo | a25f3c4 | 2020-04-23 01:38:11 +0100 | [diff] [blame] | 3 | # Copyright (C) 1996-2020 Free Software Foundation, Inc. |
doko@ubuntu.com | 3536350 | 2015-04-13 20:53:43 +0200 | [diff] [blame] | 4 | |
| 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, |
| 7 | # with or without modifications, as long as this notice is preserved. |
| 8 | |
| 9 | # This program is distributed in the hope that it will be useful, |
| 10 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
| 11 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
| 12 | # PARTICULAR PURPOSE. |
| 13 | |
| 14 | m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) |
Christian Heimes | 5d6e8c1 | 2021-03-27 14:44:04 +0100 | [diff] [blame] | 15 | # =============================================================================== |
| 16 | # https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html |
| 17 | # =============================================================================== |
| 18 | # |
| 19 | # SYNOPSIS |
| 20 | # |
| 21 | # AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN]) |
| 22 | # |
| 23 | # DESCRIPTION |
| 24 | # |
| 25 | # Checks the ordering of words within a multi-word float. This check is |
| 26 | # necessary because on some systems (e.g. certain ARM systems), the float |
| 27 | # word ordering can be different from the byte ordering. In a multi-word |
| 28 | # float context, "big-endian" implies that the word containing the sign |
| 29 | # bit is found in the memory location with the lowest address. This |
| 30 | # implementation was inspired by the AC_C_BIGENDIAN macro in autoconf. |
| 31 | # |
| 32 | # The endianness is detected by first compiling C code that contains a |
| 33 | # special double float value, then grepping the resulting object file for |
| 34 | # certain strings of ASCII values. The double is specially crafted to have |
| 35 | # a binary representation that corresponds with a simple string. In this |
| 36 | # implementation, the string "noonsees" was selected because the |
| 37 | # individual word values ("noon" and "sees") are palindromes, thus making |
| 38 | # this test byte-order agnostic. If grep finds the string "noonsees" in |
| 39 | # the object file, the target platform stores float words in big-endian |
| 40 | # order. If grep finds "seesnoon", float words are in little-endian order. |
| 41 | # If neither value is found, the user is instructed to specify the |
| 42 | # ordering. |
| 43 | # |
| 44 | # LICENSE |
| 45 | # |
| 46 | # Copyright (c) 2008 Daniel Amelang <dan@amelang.net> |
| 47 | # |
| 48 | # Copying and distribution of this file, with or without modification, are |
| 49 | # permitted in any medium without royalty provided the copyright notice |
| 50 | # and this notice are preserved. This file is offered as-is, without any |
| 51 | # warranty. |
| 52 | |
| 53 | #serial 11 |
| 54 | |
| 55 | AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN], |
| 56 | [AC_CACHE_CHECK(whether float word ordering is bigendian, |
| 57 | ax_cv_c_float_words_bigendian, [ |
| 58 | |
| 59 | ax_cv_c_float_words_bigendian=unknown |
| 60 | AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ |
| 61 | |
| 62 | double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0; |
| 63 | |
| 64 | ]])], [ |
| 65 | |
| 66 | if grep noonsees conftest.$ac_objext >/dev/null ; then |
| 67 | ax_cv_c_float_words_bigendian=yes |
| 68 | fi |
| 69 | if grep seesnoon conftest.$ac_objext >/dev/null ; then |
| 70 | if test "$ax_cv_c_float_words_bigendian" = unknown; then |
| 71 | ax_cv_c_float_words_bigendian=no |
| 72 | else |
| 73 | ax_cv_c_float_words_bigendian=unknown |
| 74 | fi |
| 75 | fi |
| 76 | |
| 77 | ])]) |
| 78 | |
| 79 | case $ax_cv_c_float_words_bigendian in |
| 80 | yes) |
| 81 | m4_default([$1], |
| 82 | [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1, |
| 83 | [Define to 1 if your system stores words within floats |
| 84 | with the most significant word first])]) ;; |
| 85 | no) |
| 86 | $2 ;; |
| 87 | *) |
| 88 | m4_default([$3], |
| 89 | [AC_MSG_ERROR([ |
| 90 | |
| 91 | Unknown float word ordering. You need to manually preset |
| 92 | ax_cv_c_float_words_bigendian=no (or yes) according to your system. |
| 93 | |
| 94 | ])]) ;; |
| 95 | esac |
| 96 | |
| 97 | ])# AX_C_FLOAT_WORDS_BIGENDIAN |
| 98 | |
Petr Viktorin | c6d7e82 | 2020-10-22 18:11:53 +0200 | [diff] [blame] | 99 | # =========================================================================== |
| 100 | # https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html |
| 101 | # =========================================================================== |
| 102 | # |
| 103 | # SYNOPSIS |
| 104 | # |
| 105 | # AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) |
| 106 | # |
| 107 | # DESCRIPTION |
| 108 | # |
| 109 | # Check whether the given FLAG works with the current language's compiler |
| 110 | # or gives an error. (Warnings, however, are ignored) |
| 111 | # |
| 112 | # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on |
| 113 | # success/failure. |
| 114 | # |
| 115 | # If EXTRA-FLAGS is defined, it is added to the current language's default |
| 116 | # flags (e.g. CFLAGS) when the check is done. The check is thus made with |
| 117 | # the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to |
| 118 | # force the compiler to issue an error when a bad flag is given. |
| 119 | # |
| 120 | # INPUT gives an alternative input source to AC_COMPILE_IFELSE. |
| 121 | # |
| 122 | # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this |
| 123 | # macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. |
| 124 | # |
| 125 | # LICENSE |
| 126 | # |
| 127 | # Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> |
| 128 | # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> |
| 129 | # |
| 130 | # Copying and distribution of this file, with or without modification, are |
| 131 | # permitted in any medium without royalty provided the copyright notice |
| 132 | # and this notice are preserved. This file is offered as-is, without any |
| 133 | # warranty. |
| 134 | |
| 135 | #serial 6 |
| 136 | |
| 137 | AC_DEFUN([AX_CHECK_COMPILE_FLAG], |
| 138 | [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF |
| 139 | AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl |
| 140 | AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ |
| 141 | ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS |
| 142 | _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" |
| 143 | AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], |
| 144 | [AS_VAR_SET(CACHEVAR,[yes])], |
| 145 | [AS_VAR_SET(CACHEVAR,[no])]) |
| 146 | _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) |
| 147 | AS_VAR_IF(CACHEVAR,yes, |
| 148 | [m4_default([$2], :)], |
| 149 | [m4_default([$3], :)]) |
| 150 | AS_VAR_POPDEF([CACHEVAR])dnl |
| 151 | ])dnl AX_CHECK_COMPILE_FLAGS |
| 152 | |
Christian Heimes | 5d6e8c1 | 2021-03-27 14:44:04 +0100 | [diff] [blame] | 153 | # =========================================================================== |
| 154 | # https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html |
| 155 | # =========================================================================== |
| 156 | # |
| 157 | # SYNOPSIS |
| 158 | # |
| 159 | # AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]]) |
| 160 | # |
| 161 | # DESCRIPTION |
| 162 | # |
| 163 | # Look for OpenSSL in a number of default spots, or in a user-selected |
| 164 | # spot (via --with-openssl). Sets |
| 165 | # |
| 166 | # OPENSSL_INCLUDES to the include directives required |
| 167 | # OPENSSL_LIBS to the -l directives required |
| 168 | # OPENSSL_LDFLAGS to the -L or -R flags required |
| 169 | # |
| 170 | # and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately |
| 171 | # |
| 172 | # This macro sets OPENSSL_INCLUDES such that source files should use the |
| 173 | # openssl/ directory in include directives: |
| 174 | # |
| 175 | # #include <openssl/hmac.h> |
| 176 | # |
| 177 | # LICENSE |
| 178 | # |
| 179 | # Copyright (c) 2009,2010 Zmanda Inc. <http://www.zmanda.com/> |
| 180 | # Copyright (c) 2009,2010 Dustin J. Mitchell <dustin@zmanda.com> |
| 181 | # |
| 182 | # Copying and distribution of this file, with or without modification, are |
| 183 | # permitted in any medium without royalty provided the copyright notice |
| 184 | # and this notice are preserved. This file is offered as-is, without any |
| 185 | # warranty. |
| 186 | |
| 187 | #serial 10 |
| 188 | |
| 189 | AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL]) |
| 190 | AC_DEFUN([AX_CHECK_OPENSSL], [ |
| 191 | found=false |
| 192 | AC_ARG_WITH([openssl], |
| 193 | [AS_HELP_STRING([--with-openssl=DIR], |
| 194 | [root of the OpenSSL directory])], |
| 195 | [ |
| 196 | case "$withval" in |
| 197 | "" | y | ye | yes | n | no) |
| 198 | AC_MSG_ERROR([Invalid --with-openssl value]) |
| 199 | ;; |
| 200 | *) ssldirs="$withval" |
| 201 | ;; |
| 202 | esac |
| 203 | ], [ |
| 204 | # if pkg-config is installed and openssl has installed a .pc file, |
| 205 | # then use that information and don't search ssldirs |
| 206 | AC_CHECK_TOOL([PKG_CONFIG], [pkg-config]) |
| 207 | if test x"$PKG_CONFIG" != x""; then |
| 208 | OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null` |
| 209 | if test $? = 0; then |
| 210 | OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null` |
| 211 | OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null` |
| 212 | found=true |
| 213 | fi |
| 214 | fi |
| 215 | |
| 216 | # no such luck; use some default ssldirs |
| 217 | if ! $found; then |
| 218 | ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr" |
| 219 | fi |
| 220 | ] |
| 221 | ) |
| 222 | |
| 223 | |
| 224 | # note that we #include <openssl/foo.h>, so the OpenSSL headers have to be in |
| 225 | # an 'openssl' subdirectory |
| 226 | |
| 227 | if ! $found; then |
| 228 | OPENSSL_INCLUDES= |
| 229 | for ssldir in $ssldirs; do |
| 230 | AC_MSG_CHECKING([for openssl/ssl.h in $ssldir]) |
| 231 | if test -f "$ssldir/include/openssl/ssl.h"; then |
| 232 | OPENSSL_INCLUDES="-I$ssldir/include" |
| 233 | OPENSSL_LDFLAGS="-L$ssldir/lib" |
| 234 | OPENSSL_LIBS="-lssl -lcrypto" |
| 235 | found=true |
| 236 | AC_MSG_RESULT([yes]) |
| 237 | break |
| 238 | else |
| 239 | AC_MSG_RESULT([no]) |
| 240 | fi |
| 241 | done |
| 242 | |
| 243 | # if the file wasn't found, well, go ahead and try the link anyway -- maybe |
| 244 | # it will just work! |
| 245 | fi |
| 246 | |
| 247 | # try the preprocessor and linker with our new flags, |
| 248 | # being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS |
| 249 | |
| 250 | AC_MSG_CHECKING([whether compiling and linking against OpenSSL works]) |
| 251 | echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \ |
| 252 | "OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&AS_MESSAGE_LOG_FD |
| 253 | |
| 254 | save_LIBS="$LIBS" |
| 255 | save_LDFLAGS="$LDFLAGS" |
| 256 | save_CPPFLAGS="$CPPFLAGS" |
| 257 | LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" |
| 258 | LIBS="$OPENSSL_LIBS $LIBS" |
| 259 | CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS" |
| 260 | AC_LINK_IFELSE( |
| 261 | [AC_LANG_PROGRAM([#include <openssl/ssl.h>], [SSL_new(NULL)])], |
| 262 | [ |
| 263 | AC_MSG_RESULT([yes]) |
| 264 | $1 |
| 265 | ], [ |
| 266 | AC_MSG_RESULT([no]) |
| 267 | $2 |
| 268 | ]) |
| 269 | CPPFLAGS="$save_CPPFLAGS" |
| 270 | LDFLAGS="$save_LDFLAGS" |
| 271 | LIBS="$save_LIBS" |
| 272 | |
| 273 | AC_SUBST([OPENSSL_INCLUDES]) |
| 274 | AC_SUBST([OPENSSL_LIBS]) |
| 275 | AC_SUBST([OPENSSL_LDFLAGS]) |
| 276 | ]) |
| 277 | |
Pablo Galindo Salgado | f146ca3 | 2021-10-04 00:39:54 +0100 | [diff] [blame] | 278 | # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- |
| 279 | # serial 11 (pkg-config-0.29.1) |
| 280 | |
| 281 | dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>. |
| 282 | dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com> |
| 283 | dnl |
| 284 | dnl This program is free software; you can redistribute it and/or modify |
| 285 | dnl it under the terms of the GNU General Public License as published by |
| 286 | dnl the Free Software Foundation; either version 2 of the License, or |
| 287 | dnl (at your option) any later version. |
| 288 | dnl |
| 289 | dnl This program is distributed in the hope that it will be useful, but |
| 290 | dnl WITHOUT ANY WARRANTY; without even the implied warranty of |
| 291 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 292 | dnl General Public License for more details. |
| 293 | dnl |
| 294 | dnl You should have received a copy of the GNU General Public License |
| 295 | dnl along with this program; if not, write to the Free Software |
| 296 | dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
| 297 | dnl 02111-1307, USA. |
| 298 | dnl |
| 299 | dnl As a special exception to the GNU General Public License, if you |
| 300 | dnl distribute this file as part of a program that contains a |
| 301 | dnl configuration script generated by Autoconf, you may include it under |
| 302 | dnl the same distribution terms that you use for the rest of that |
| 303 | dnl program. |
| 304 | |
| 305 | dnl PKG_PREREQ(MIN-VERSION) |
| 306 | dnl ----------------------- |
| 307 | dnl Since: 0.29 |
| 308 | dnl |
| 309 | dnl Verify that the version of the pkg-config macros are at least |
| 310 | dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's |
| 311 | dnl installed version of pkg-config, this checks the developer's version |
| 312 | dnl of pkg.m4 when generating configure. |
| 313 | dnl |
| 314 | dnl To ensure that this macro is defined, also add: |
| 315 | dnl m4_ifndef([PKG_PREREQ], |
| 316 | dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) |
| 317 | dnl |
| 318 | dnl See the "Since" comment for each macro you use to see what version |
| 319 | dnl of the macros you require. |
| 320 | m4_defun([PKG_PREREQ], |
| 321 | [m4_define([PKG_MACROS_VERSION], [0.29.1]) |
| 322 | m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, |
| 323 | [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) |
| 324 | ])dnl PKG_PREREQ |
| 325 | |
| 326 | dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) |
| 327 | dnl ---------------------------------- |
| 328 | dnl Since: 0.16 |
| 329 | dnl |
| 330 | dnl Search for the pkg-config tool and set the PKG_CONFIG variable to |
| 331 | dnl first found in the path. Checks that the version of pkg-config found |
| 332 | dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is |
| 333 | dnl used since that's the first version where most current features of |
| 334 | dnl pkg-config existed. |
| 335 | AC_DEFUN([PKG_PROG_PKG_CONFIG], |
| 336 | [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) |
| 337 | m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) |
| 338 | m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) |
| 339 | AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) |
| 340 | AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) |
| 341 | AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) |
| 342 | |
| 343 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
| 344 | AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) |
| 345 | fi |
| 346 | if test -n "$PKG_CONFIG"; then |
| 347 | _pkg_min_version=m4_default([$1], [0.9.0]) |
| 348 | AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) |
| 349 | if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then |
| 350 | AC_MSG_RESULT([yes]) |
| 351 | else |
| 352 | AC_MSG_RESULT([no]) |
| 353 | PKG_CONFIG="" |
| 354 | fi |
| 355 | fi[]dnl |
| 356 | ])dnl PKG_PROG_PKG_CONFIG |
| 357 | |
| 358 | dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) |
| 359 | dnl ------------------------------------------------------------------- |
| 360 | dnl Since: 0.18 |
| 361 | dnl |
| 362 | dnl Check to see whether a particular set of modules exists. Similar to |
| 363 | dnl PKG_CHECK_MODULES(), but does not set variables or print errors. |
| 364 | dnl |
| 365 | dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) |
| 366 | dnl only at the first occurence in configure.ac, so if the first place |
| 367 | dnl it's called might be skipped (such as if it is within an "if", you |
| 368 | dnl have to call PKG_CHECK_EXISTS manually |
| 369 | AC_DEFUN([PKG_CHECK_EXISTS], |
| 370 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
| 371 | if test -n "$PKG_CONFIG" && \ |
| 372 | AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then |
| 373 | m4_default([$2], [:]) |
| 374 | m4_ifvaln([$3], [else |
| 375 | $3])dnl |
| 376 | fi]) |
| 377 | |
| 378 | dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) |
| 379 | dnl --------------------------------------------- |
| 380 | dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting |
| 381 | dnl pkg_failed based on the result. |
| 382 | m4_define([_PKG_CONFIG], |
| 383 | [if test -n "$$1"; then |
| 384 | pkg_cv_[]$1="$$1" |
| 385 | elif test -n "$PKG_CONFIG"; then |
| 386 | PKG_CHECK_EXISTS([$3], |
| 387 | [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` |
| 388 | test "x$?" != "x0" && pkg_failed=yes ], |
| 389 | [pkg_failed=yes]) |
| 390 | else |
| 391 | pkg_failed=untried |
| 392 | fi[]dnl |
| 393 | ])dnl _PKG_CONFIG |
| 394 | |
| 395 | dnl _PKG_SHORT_ERRORS_SUPPORTED |
| 396 | dnl --------------------------- |
| 397 | dnl Internal check to see if pkg-config supports short errors. |
| 398 | AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], |
| 399 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) |
| 400 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
| 401 | _pkg_short_errors_supported=yes |
| 402 | else |
| 403 | _pkg_short_errors_supported=no |
| 404 | fi[]dnl |
| 405 | ])dnl _PKG_SHORT_ERRORS_SUPPORTED |
| 406 | |
| 407 | |
| 408 | dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], |
| 409 | dnl [ACTION-IF-NOT-FOUND]) |
| 410 | dnl -------------------------------------------------------------- |
| 411 | dnl Since: 0.4.0 |
| 412 | dnl |
| 413 | dnl Note that if there is a possibility the first call to |
| 414 | dnl PKG_CHECK_MODULES might not happen, you should be sure to include an |
| 415 | dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac |
| 416 | AC_DEFUN([PKG_CHECK_MODULES], |
| 417 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
| 418 | AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl |
| 419 | AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl |
| 420 | |
| 421 | pkg_failed=no |
| 422 | AC_MSG_CHECKING([for $1]) |
| 423 | |
| 424 | _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) |
| 425 | _PKG_CONFIG([$1][_LIBS], [libs], [$2]) |
| 426 | |
| 427 | m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS |
| 428 | and $1[]_LIBS to avoid the need to call pkg-config. |
| 429 | See the pkg-config man page for more details.]) |
| 430 | |
| 431 | if test $pkg_failed = yes; then |
| 432 | AC_MSG_RESULT([no]) |
| 433 | _PKG_SHORT_ERRORS_SUPPORTED |
| 434 | if test $_pkg_short_errors_supported = yes; then |
| 435 | $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` |
| 436 | else |
| 437 | $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` |
| 438 | fi |
| 439 | # Put the nasty error message in config.log where it belongs |
| 440 | echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD |
| 441 | |
| 442 | m4_default([$4], [AC_MSG_ERROR( |
| 443 | [Package requirements ($2) were not met: |
| 444 | |
| 445 | $$1_PKG_ERRORS |
| 446 | |
| 447 | Consider adjusting the PKG_CONFIG_PATH environment variable if you |
| 448 | installed software in a non-standard prefix. |
| 449 | |
| 450 | _PKG_TEXT])[]dnl |
| 451 | ]) |
| 452 | elif test $pkg_failed = untried; then |
| 453 | AC_MSG_RESULT([no]) |
| 454 | m4_default([$4], [AC_MSG_FAILURE( |
| 455 | [The pkg-config script could not be found or is too old. Make sure it |
| 456 | is in your PATH or set the PKG_CONFIG environment variable to the full |
| 457 | path to pkg-config. |
| 458 | |
| 459 | _PKG_TEXT |
| 460 | |
| 461 | To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl |
| 462 | ]) |
| 463 | else |
| 464 | $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS |
| 465 | $1[]_LIBS=$pkg_cv_[]$1[]_LIBS |
| 466 | AC_MSG_RESULT([yes]) |
| 467 | $3 |
| 468 | fi[]dnl |
| 469 | ])dnl PKG_CHECK_MODULES |
| 470 | |
| 471 | |
| 472 | dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], |
| 473 | dnl [ACTION-IF-NOT-FOUND]) |
| 474 | dnl --------------------------------------------------------------------- |
| 475 | dnl Since: 0.29 |
| 476 | dnl |
| 477 | dnl Checks for existence of MODULES and gathers its build flags with |
| 478 | dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags |
| 479 | dnl and VARIABLE-PREFIX_LIBS from --libs. |
| 480 | dnl |
| 481 | dnl Note that if there is a possibility the first call to |
| 482 | dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to |
| 483 | dnl include an explicit call to PKG_PROG_PKG_CONFIG in your |
| 484 | dnl configure.ac. |
| 485 | AC_DEFUN([PKG_CHECK_MODULES_STATIC], |
| 486 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
| 487 | _save_PKG_CONFIG=$PKG_CONFIG |
| 488 | PKG_CONFIG="$PKG_CONFIG --static" |
| 489 | PKG_CHECK_MODULES($@) |
| 490 | PKG_CONFIG=$_save_PKG_CONFIG[]dnl |
| 491 | ])dnl PKG_CHECK_MODULES_STATIC |
| 492 | |
| 493 | |
| 494 | dnl PKG_INSTALLDIR([DIRECTORY]) |
| 495 | dnl ------------------------- |
| 496 | dnl Since: 0.27 |
| 497 | dnl |
| 498 | dnl Substitutes the variable pkgconfigdir as the location where a module |
| 499 | dnl should install pkg-config .pc files. By default the directory is |
| 500 | dnl $libdir/pkgconfig, but the default can be changed by passing |
| 501 | dnl DIRECTORY. The user can override through the --with-pkgconfigdir |
| 502 | dnl parameter. |
| 503 | AC_DEFUN([PKG_INSTALLDIR], |
| 504 | [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) |
| 505 | m4_pushdef([pkg_description], |
| 506 | [pkg-config installation directory @<:@]pkg_default[@:>@]) |
| 507 | AC_ARG_WITH([pkgconfigdir], |
| 508 | [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, |
| 509 | [with_pkgconfigdir=]pkg_default) |
| 510 | AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) |
| 511 | m4_popdef([pkg_default]) |
| 512 | m4_popdef([pkg_description]) |
| 513 | ])dnl PKG_INSTALLDIR |
| 514 | |
| 515 | |
| 516 | dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) |
| 517 | dnl -------------------------------- |
| 518 | dnl Since: 0.27 |
| 519 | dnl |
| 520 | dnl Substitutes the variable noarch_pkgconfigdir as the location where a |
| 521 | dnl module should install arch-independent pkg-config .pc files. By |
| 522 | dnl default the directory is $datadir/pkgconfig, but the default can be |
| 523 | dnl changed by passing DIRECTORY. The user can override through the |
| 524 | dnl --with-noarch-pkgconfigdir parameter. |
| 525 | AC_DEFUN([PKG_NOARCH_INSTALLDIR], |
| 526 | [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) |
| 527 | m4_pushdef([pkg_description], |
| 528 | [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) |
| 529 | AC_ARG_WITH([noarch-pkgconfigdir], |
| 530 | [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, |
| 531 | [with_noarch_pkgconfigdir=]pkg_default) |
| 532 | AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) |
| 533 | m4_popdef([pkg_default]) |
| 534 | m4_popdef([pkg_description]) |
| 535 | ])dnl PKG_NOARCH_INSTALLDIR |
| 536 | |
| 537 | |
| 538 | dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, |
| 539 | dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) |
| 540 | dnl ------------------------------------------- |
| 541 | dnl Since: 0.28 |
| 542 | dnl |
| 543 | dnl Retrieves the value of the pkg-config variable for the given module. |
| 544 | AC_DEFUN([PKG_CHECK_VAR], |
| 545 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
| 546 | AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl |
| 547 | |
| 548 | _PKG_CONFIG([$1], [variable="][$3]["], [$2]) |
| 549 | AS_VAR_COPY([$1], [pkg_cv_][$1]) |
| 550 | |
| 551 | AS_VAR_IF([$1], [""], [$5], [$4])dnl |
| 552 | ])dnl PKG_CHECK_VAR |
| 553 | |
| 554 | dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, |
| 555 | dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], |
| 556 | dnl [DESCRIPTION], [DEFAULT]) |
| 557 | dnl ------------------------------------------ |
| 558 | dnl |
| 559 | dnl Prepare a "--with-" configure option using the lowercase |
| 560 | dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and |
| 561 | dnl PKG_CHECK_MODULES in a single macro. |
| 562 | AC_DEFUN([PKG_WITH_MODULES], |
| 563 | [ |
| 564 | m4_pushdef([with_arg], m4_tolower([$1])) |
| 565 | |
| 566 | m4_pushdef([description], |
| 567 | [m4_default([$5], [build with ]with_arg[ support])]) |
| 568 | |
| 569 | m4_pushdef([def_arg], [m4_default([$6], [auto])]) |
| 570 | m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) |
| 571 | m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) |
| 572 | |
| 573 | m4_case(def_arg, |
| 574 | [yes],[m4_pushdef([with_without], [--without-]with_arg)], |
| 575 | [m4_pushdef([with_without],[--with-]with_arg)]) |
| 576 | |
| 577 | AC_ARG_WITH(with_arg, |
| 578 | AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, |
| 579 | [AS_TR_SH([with_]with_arg)=def_arg]) |
| 580 | |
| 581 | AS_CASE([$AS_TR_SH([with_]with_arg)], |
| 582 | [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], |
| 583 | [auto],[PKG_CHECK_MODULES([$1],[$2], |
| 584 | [m4_n([def_action_if_found]) $3], |
| 585 | [m4_n([def_action_if_not_found]) $4])]) |
| 586 | |
| 587 | m4_popdef([with_arg]) |
| 588 | m4_popdef([description]) |
| 589 | m4_popdef([def_arg]) |
| 590 | |
| 591 | ])dnl PKG_WITH_MODULES |
| 592 | |
| 593 | dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, |
| 594 | dnl [DESCRIPTION], [DEFAULT]) |
| 595 | dnl ----------------------------------------------- |
| 596 | dnl |
| 597 | dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES |
| 598 | dnl check._[VARIABLE-PREFIX] is exported as make variable. |
| 599 | AC_DEFUN([PKG_HAVE_WITH_MODULES], |
| 600 | [ |
| 601 | PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) |
| 602 | |
| 603 | AM_CONDITIONAL([HAVE_][$1], |
| 604 | [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) |
| 605 | ])dnl PKG_HAVE_WITH_MODULES |
| 606 | |
| 607 | dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, |
| 608 | dnl [DESCRIPTION], [DEFAULT]) |
| 609 | dnl ------------------------------------------------------ |
| 610 | dnl |
| 611 | dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after |
| 612 | dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make |
| 613 | dnl and preprocessor variable. |
| 614 | AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], |
| 615 | [ |
| 616 | PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) |
| 617 | |
| 618 | AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], |
| 619 | [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) |
| 620 | ])dnl PKG_HAVE_DEFINE_WITH_MODULES |
| 621 | |