pkg: implement pkg-config.pc as a builtin

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