pkg: implement pkg-config.pc as a builtin

feature/tap-sh
William Pitcock 2012-05-05 22:00:47 -05:00
parent 7352f14025
commit 1bf5da3ba4
1 changed files with 16 additions and 6 deletions

12
pkg.c
View File

@ -248,6 +248,12 @@ pkg_get_comparator(pkg_dependency_t *pkgdep)
return "???";
}
static pkg_t pkg_config_virtual = {
.id = "pkg-config",
.realname = "pkg-config",
.version = PKG_PKGCONFIG_VERSION_EQUIV,
};
/*
* pkg_verify_dependency(pkgdep, flags)
*
@ -257,11 +263,14 @@ pkg_get_comparator(pkg_dependency_t *pkgdep)
pkg_t *
pkg_verify_dependency(pkg_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags)
{
pkg_t *pkg;
pkg_t *pkg = &pkg_config_virtual;
if (eflags != NULL)
*eflags = PKG_ERRF_OK;
/* pkg-config package name is special cased. */
if (strcasecmp(pkgdep->package, "pkg-config"))
{
pkg = pkg_find(pkgdep->package, flags);
if (pkg == NULL)
{
@ -270,6 +279,7 @@ pkg_verify_dependency(pkg_dependency_t *pkgdep, unsigned int flags, unsigned int
return NULL;
}
}
pkg->id = strdup(pkgdep->package);