Re: PKG_CHECK_MODULES: bug or I don't know something?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I already fix this in such ugly way

if
LIB=lib_a
elif
LIB=lib_b
else
fi

PKG_CHECK_MODULES(APP, $LIB)

if
all other code except PKG_CHECK
elf
...
else
fi

This post just attempt to understand who's responsible for this.

Thanks for your reply, it's clear situation for me.


On 6/18/06, Ralf Wildenhues <Ralf.Wildenhues@xxxxxx> wrote:

Hello Evgeniy,

* Evgeniy Dushistov wrote on Sun, Jun 18, 2006 at 05:42:28PM CEST:
>
> if one_option; then
> ...
> PKG_CHECK_MODULES(APP, lib_a)
> ...
> elif another_option; then
> ...
> PKG_CHECK_MODULES(APP, lib_b)
> ...
> else
> ...
> PKG_CHECK_MODULES(APP, lib_a)
> ...
> fi
>
> only first PKG_CHECK_MODULES works fine,

Yes.  PKG_CHECK_MODULES apparently uses AC_REQUIRE to pull in some
required macros; the version on my system requires the
PKG_PROG_PKG_CONFIG macro.  Several alternatives to fix this for you,
in decreasing order of cleanliness:

- Wait for Autoconf-2.60, then use
    AS_IF([one_option],
      [...
       PKG_CHECK_MODULES(APP, lib_a)
      ],
      [another_option],
      [...
       PKG_CHECK_MODULES(APP, lib_b)
      ],
      [...
      PKG_CHECK_MODULES(APP, lib_a)
      ])

- Call the required macro PKG_PROG_PKG_CONFIG beforehand,
  unconditionally.  (This breaks if a newer version of the macro
  PKG_CHECK_MODULES has a different set of required macros.)

- Make sure the first expansion of PKG_CHECK_MODULES in your script is
  not inside a shell conditional, but called unconditionally (e.g., you
  could check for an unrelated library).

Cheers,
Ralf

_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux