# =========================================================================== | |
# https://www.gnu.org/software/autoconf-archive/ax_pkg_check_modules.html | |
# =========================================================================== | |
# | |
# SYNOPSIS | |
# | |
# AX_PKG_CHECK_MODULES(PREFIX, PUBLIC-MODULES, PRIVATE-MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [PUBLIC-VARIABLE], [PRIVATE-VARIABLE]) | |
# | |
# DESCRIPTION | |
# | |
# A wrapper around PKG_CHECK_MODULES which splits the list of modules into | |
# public and private dependencies, and produces two variables listing the | |
# dependencies across all invocations of AX_PKG_CHECK_MODULES. These two | |
# variables are exposed via AC_SUBST, and should be used in a pkg-config | |
# file as the substituted values for Requires and Requires.private. | |
# | |
# The PREFIX, PUBLIC-MODULES and PRIVATE-MODULES arguments should be | |
# specified as for PKG_CHECK_MODULES, with the concatenation of | |
# PUBLIC-MODULES and PRIVATE-MODULES equaling the LIST-OF-MODULES from | |
# PKG_CHECK_MODULES. The ACTION-IF-FOUND and ACTION-IF-NOT-FOUND | |
# arguments are optional, and should also be specified as for | |
# PKG_CHECK_MODULES. ACTION-IF-FOUND is evaluated if the full | |
# LIST-OF-MODULES is found; ACTION-IF-NOT-FOUND similarly. | |
# | |
# PUBLIC-VARIABLE defaults to AX_PACKAGE_REQUIRES, and PRIVATE-VARIABLE | |
# defaults to AX_PACKAGE_REQUIRES_PRIVATE. Both variables are AC_SUBST-ed | |
# by this macro. | |
# | |
# For example: | |
# | |
# AX_PKG_CHECK_MODULES([GLIB],[glib-2.0 gio-2.0],[gthread-2.0]) | |
# AX_PKG_CHECK_MODULES([DBUS],[],[dbus-glib-1 >= 0.98 dbus-1]) | |
# | |
# results in the substitutions: | |
# | |
# AX_PACKAGE_REQUIRES="glib-2.0 gio-2.0" | |
# AX_PACKAGE_REQUIRES_PRIVATE="gthread-2.0 dbus-glib-1 >= 0.98 dbus-1" | |
# | |
# and can be used with a template pkg-config file (.pc.in) using: | |
# | |
# Requires: @AX_PACKAGE_REQUIRES@ | |
# Requires.private: @AX_PACKAGE_REQUIRES_PRIVATE@ | |
# | |
# LICENSE | |
# | |
# Copyright (c) 2014 Philip Withnall <philip@tecnocode.co.uk> | |
# | |
# Copying and distribution of this file, with or without modification, are | |
# permitted in any medium without royalty provided the copyright notice | |
# and this notice are preserved. This file is offered as-is, without any | |
# warranty. | |
#serial 4 (changed as https://bugs.freedesktop.org/show_bug.cgi?id=87154) | |
AC_DEFUN([AX_PKG_CHECK_MODULES],[ | |
m4_define([ax_package_requires], | |
[m4_default_quoted([$6],[AX_PACKAGE_REQUIRES])]) | |
m4_define([ax_package_requires_private], | |
[m4_default_quoted([$7],[AX_PACKAGE_REQUIRES_PRIVATE])]) | |
PKG_CHECK_MODULES([$1],[$2 $3],[ | |
ax_package_requires="$[]ax_package_requires m4_normalize($2)" | |
ax_package_requires_private="$[]ax_package_requires_private m4_normalize($3)" | |
$4],[$5]) | |
# Substitute output. | |
AC_SUBST(ax_package_requires) | |
AC_SUBST(ax_package_requires_private) | |
])dnl AX_PKG_CHECK_MODULES |