@@ -275,3 +275,347 @@ AC_DEFUN([AX_CHECK_OPENSSL], [
275275 AC_SUBST ( [ OPENSSL_LDFLAGS] )
276276] )
277277
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+
0 commit comments