]> git.ipfire.org Git - thirdparty/Python/cpython.git/blob - aclocal.m4
bpo-45573: Introduce extension module flags in Makefile (GH-29594)
[thirdparty/Python/cpython.git] / aclocal.m4
1 # generated automatically by aclocal 1.16.3 -*- Autoconf -*-
2
3 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
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($@)])])
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
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
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
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
622 # AM_CONDITIONAL -*- Autoconf -*-
623
624 # Copyright (C) 1997-2020 Free Software Foundation, Inc.
625 #
626 # This file is free software; the Free Software Foundation
627 # gives unlimited permission to copy and/or distribute it,
628 # with or without modifications, as long as this notice is preserved.
629
630 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
631 # -------------------------------------
632 # Define a conditional.
633 AC_DEFUN([AM_CONDITIONAL],
634 [AC_PREREQ([2.52])dnl
635 m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
636 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
637 AC_SUBST([$1_TRUE])dnl
638 AC_SUBST([$1_FALSE])dnl
639 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
640 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
641 m4_define([_AM_COND_VALUE_$1], [$2])dnl
642 if $2; then
643 $1_TRUE=
644 $1_FALSE='#'
645 else
646 $1_TRUE='#'
647 $1_FALSE=
648 fi
649 AC_CONFIG_COMMANDS_PRE(
650 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
651 AC_MSG_ERROR([[conditional "$1" was never defined.
652 Usually this means the macro was only invoked conditionally.]])
653 fi])])
654
655 # Copyright (C) 2006-2020 Free Software Foundation, Inc.
656 #
657 # This file is free software; the Free Software Foundation
658 # gives unlimited permission to copy and/or distribute it,
659 # with or without modifications, as long as this notice is preserved.
660
661 # _AM_SUBST_NOTMAKE(VARIABLE)
662 # ---------------------------
663 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
664 # This macro is traced by Automake.
665 AC_DEFUN([_AM_SUBST_NOTMAKE])
666
667 # AM_SUBST_NOTMAKE(VARIABLE)
668 # --------------------------
669 # Public sister of _AM_SUBST_NOTMAKE.
670 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
671