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