forked from ariadne/pkgconf
main: add --print-requires
parent
648c39cf8e
commit
f717c7609b
35
main.c
35
main.c
|
@ -34,6 +34,7 @@ static int want_cflags = 0;
|
||||||
static int want_libs = 0;
|
static int want_libs = 0;
|
||||||
static int want_modversion = 0;
|
static int want_modversion = 0;
|
||||||
static int want_static = 0;
|
static int want_static = 0;
|
||||||
|
static int want_requires = 0;
|
||||||
static int maximum_traverse_depth = 2;
|
static int maximum_traverse_depth = 2;
|
||||||
|
|
||||||
static char *required_pkgconfig_version = NULL;
|
static char *required_pkgconfig_version = NULL;
|
||||||
|
@ -71,6 +72,22 @@ print_variable(pkg_t *pkg, void *unused)
|
||||||
printf("%s ", variable);
|
printf("%s ", variable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_requires(pkg_t *pkg, void *unused)
|
||||||
|
{
|
||||||
|
pkg_dependency_t *node;
|
||||||
|
|
||||||
|
foreach_list_entry(pkg->requires, node)
|
||||||
|
{
|
||||||
|
printf("%s", node->package);
|
||||||
|
|
||||||
|
if (node->version != NULL)
|
||||||
|
printf(" %s %s", pkg_get_comparator(node), node->version);
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
typedef struct pkg_queue_ {
|
typedef struct pkg_queue_ {
|
||||||
struct pkg_queue_ *prev, *next;
|
struct pkg_queue_ *prev, *next;
|
||||||
const char *package;
|
const char *package;
|
||||||
|
@ -126,6 +143,23 @@ pkg_queue_walk(pkg_queue_t *head)
|
||||||
pkg_traverse(&world, print_modversion, NULL, 2);
|
pkg_traverse(&world, print_modversion, NULL, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (want_requires)
|
||||||
|
{
|
||||||
|
pkg_dependency_t *iter;
|
||||||
|
|
||||||
|
wanted_something = 0;
|
||||||
|
want_cflags = 0;
|
||||||
|
want_libs = 0;
|
||||||
|
|
||||||
|
foreach_list_entry(world.requires, iter)
|
||||||
|
{
|
||||||
|
pkg_t *pkg;
|
||||||
|
|
||||||
|
pkg = pkg_verify_dependency(iter);
|
||||||
|
print_requires(pkg, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (want_cflags)
|
if (want_cflags)
|
||||||
{
|
{
|
||||||
wanted_something++;
|
wanted_something++;
|
||||||
|
@ -177,6 +211,7 @@ main(int argc, const char *argv[])
|
||||||
{ "short-errors", 0, POPT_ARG_NONE, NULL, 0, "dummy option for pkg-config compatibility" },
|
{ "short-errors", 0, POPT_ARG_NONE, NULL, 0, "dummy option for pkg-config compatibility" },
|
||||||
{ "maximum-traverse-depth", 0, POPT_ARG_INT, &maximum_traverse_depth, 0, "limits maximum traversal depth of the computed dependency graph" },
|
{ "maximum-traverse-depth", 0, POPT_ARG_INT, &maximum_traverse_depth, 0, "limits maximum traversal depth of the computed dependency graph" },
|
||||||
{ "static", 0, POPT_ARG_NONE, &want_static, 0, "be more aggressive when walking the dependency graph (for intermediary static linking deps)" },
|
{ "static", 0, POPT_ARG_NONE, &want_static, 0, "be more aggressive when walking the dependency graph (for intermediary static linking deps)" },
|
||||||
|
{ "print-requires", 0, POPT_ARG_NONE, &want_requires, 0, "print required dependencies of the computed dependency graph" },
|
||||||
POPT_AUTOHELP
|
POPT_AUTOHELP
|
||||||
{ NULL, 0, 0, NULL, 0 }
|
{ NULL, 0, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue