Lines Matching refs:client
49 pkgconf_pkg_traverse_main(pkgconf_client_t *client,
142 typedef void (*pkgconf_pkg_parser_keyword_func_t)(pkgconf_client_t *client, pkgconf_pkg_t *pkg, con…
156 pkgconf_pkg_parser_tuple_func(pkgconf_client_t *client, pkgconf_pkg_t *pkg, const char *keyword, co… in pkgconf_pkg_parser_tuple_func() argument
162 *dest = pkgconf_tuple_parse(client, &pkg->vars, value, pkg->flags); in pkgconf_pkg_parser_tuple_func()
166 pkgconf_pkg_parser_version_func(pkgconf_client_t *client, pkgconf_pkg_t *pkg, const char *keyword, … in pkgconf_pkg_parser_version_func() argument
175 p = pkgconf_tuple_parse(client, &pkg->vars, value, pkg->flags); in pkgconf_pkg_parser_version_func()
183 …pkgconf_warn(client, "%s:" SIZE_FMT_SPECIFIER ": warning: malformed version field with whitespace,… in pkgconf_pkg_parser_version_func()
191 pkgconf_pkg_parser_fragment_func(pkgconf_client_t *client, pkgconf_pkg_t *pkg, const char *keyword,… in pkgconf_pkg_parser_fragment_func() argument
196 char *sysroot_dir = client->sysroot_dir; in pkgconf_pkg_parser_fragment_func()
197 char *pkg_sysroot_dir = pkgconf_tuple_find(client, &pkg->vars, "pc_sysrootdir"); in pkgconf_pkg_parser_fragment_func()
199 client->sysroot_dir = pkg_sysroot_dir; in pkgconf_pkg_parser_fragment_func()
201 bool ret = pkgconf_fragment_parse(client, dest, &pkg->vars, value, pkg->flags); in pkgconf_pkg_parser_fragment_func()
202 client->sysroot_dir = sysroot_dir; in pkgconf_pkg_parser_fragment_func()
206 …pkgconf_warn(client, "%s:" SIZE_FMT_SPECIFIER ": warning: unable to parse field '%s' into an argum… in pkgconf_pkg_parser_fragment_func()
212 pkgconf_pkg_parser_dependency_func(pkgconf_client_t *client, pkgconf_pkg_t *pkg, const char *keywor… in pkgconf_pkg_parser_dependency_func() argument
218 pkgconf_dependency_parse(client, pkg, dest, value, 0); in pkgconf_pkg_parser_dependency_func()
223 pkgconf_pkg_parser_internal_dependency_func(pkgconf_client_t *client, pkgconf_pkg_t *pkg, const cha… in pkgconf_pkg_parser_internal_dependency_func() argument
229 pkgconf_dependency_parse(client, pkg, dest, value, PKGCONF_PKG_DEPF_INTERNAL); in pkgconf_pkg_parser_internal_dependency_func()
234 pkgconf_pkg_parser_private_dependency_func(pkgconf_client_t *client, pkgconf_pkg_t *pkg, const char… in pkgconf_pkg_parser_private_dependency_func() argument
240 pkgconf_dependency_parse(client, pkg, dest, value, PKGCONF_PKG_DEPF_PRIVATE); in pkgconf_pkg_parser_private_dependency_func()
461 pkgconf_pkg_validate(const pkgconf_client_t *client, const pkgconf_pkg_t *pkg) in pkgconf_pkg_validate() argument
473 …pkgconf_warn(client, "%s: warning: file does not declare a `%s' field\n", pkg->filename, pkgconf_p… in pkgconf_pkg_validate()
553 pkgconf_pkg_new_from_path(pkgconf_client_t *client, const char *filename, unsigned int flags) in pkgconf_pkg_new_from_path() argument
574 pkg->owner = client; in pkgconf_pkg_new_from_path()
594 pkgconf_tuple_add(client, &pkg->vars, "pcfiledir", pc_filedir_value, true, pkg->flags); in pkgconf_pkg_new_from_path()
601 …if (client->sysroot_dir && strncmp(pkg->pc_filedir, client->sysroot_dir, strlen(client->sysroot_di… in pkgconf_pkg_new_from_path()
602 pkgconf_tuple_add(client, &pkg->vars, "pc_sysrootdir", "", false, pkg->flags); in pkgconf_pkg_new_from_path()
643 if (!pkgconf_pkg_validate(client, pkg)) in pkgconf_pkg_new_from_path()
645 pkgconf_warn(client, "%s: warning: skipping invalid file\n", pkg->filename); in pkgconf_pkg_new_from_path()
646 pkgconf_pkg_free(client, pkg); in pkgconf_pkg_new_from_path()
650 …pkgconf_dependency_t *dep = pkgconf_dependency_add(client, &pkg->provides, pkg->id, pkg->version, … in pkgconf_pkg_new_from_path()
653 return pkgconf_pkg_ref(client, pkg); in pkgconf_pkg_new_from_path()
668 pkgconf_pkg_free(pkgconf_client_t *client, pkgconf_pkg_t *pkg) in pkgconf_pkg_free() argument
676 pkgconf_cache_remove(client, pkg); in pkgconf_pkg_free()
699 pkgconf_pkg_ref(pkgconf_client_t *client, pkgconf_pkg_t *pkg) in pkgconf_pkg_ref() argument
701 if (pkg->owner != NULL && pkg->owner != client) in pkgconf_pkg_ref()
702 …PKGCONF_TRACE(client, "WTF: client %p refers to package %p owned by other client %p", client, pkg,… in pkgconf_pkg_ref()
705 PKGCONF_TRACE(client, "%s refcount@%p: %d", pkg->id, pkg, pkg->refcount); in pkgconf_pkg_ref()
722 pkgconf_pkg_unref(pkgconf_client_t *client, pkgconf_pkg_t *pkg) in pkgconf_pkg_unref() argument
725 PKGCONF_TRACE(client, "WTF: client %p unrefs a NULL package", client); in pkgconf_pkg_unref()
729 if (pkg->owner != NULL && pkg->owner != client) in pkgconf_pkg_unref()
730 …PKGCONF_TRACE(client, "WTF: client %p unrefs package %p owned by other client %p", client, pkg, pk… in pkgconf_pkg_unref()
740 pkgconf_pkg_try_specific_path(pkgconf_client_t *client, const char *path, const char *name) in pkgconf_pkg_try_specific_path() argument
746 PKGCONF_TRACE(client, "trying path: %s for %s", path, name); in pkgconf_pkg_try_specific_path()
751 if (!(client->flags & PKGCONF_PKG_PKGF_NO_UNINSTALLED)) in pkgconf_pkg_try_specific_path()
752 pkg = pkgconf_pkg_new_from_path(client, uninst_locbuf, PKGCONF_PKG_PROPF_UNINSTALLED); in pkgconf_pkg_try_specific_path()
755 pkg = pkgconf_pkg_new_from_path(client, locbuf, 0); in pkgconf_pkg_try_specific_path()
758 …PKGCONF_TRACE(client, "found%s: %s", pkg->flags & PKGCONF_PKG_PROPF_UNINSTALLED ? " (uninstalled)"… in pkgconf_pkg_try_specific_path()
764 pkgconf_pkg_scan_dir(pkgconf_client_t *client, const char *path, void *data, pkgconf_pkg_iteration_… in pkgconf_pkg_scan_dir() argument
774 PKGCONF_TRACE(client, "scanning dir [%s]", path); in pkgconf_pkg_scan_dir()
788 PKGCONF_TRACE(client, "trying file [%s]", filebuf); in pkgconf_pkg_scan_dir()
790 pkg = pkgconf_pkg_new_from_path(client, filebuf, 0); in pkgconf_pkg_scan_dir()
799 pkgconf_pkg_unref(client, pkg); in pkgconf_pkg_scan_dir()
824 pkgconf_scan_all(pkgconf_client_t *client, void *data, pkgconf_pkg_iteration_func_t func) in pkgconf_scan_all() argument
829 PKGCONF_TRACE(client, "scanning preloaded list"); in pkgconf_scan_all()
830 PKGCONF_FOREACH_LIST_ENTRY(client->preloaded_pkgs.head, n) in pkgconf_scan_all()
837 pkgconf_pkg_ref(client, pkg); in pkgconf_scan_all()
842 pkgconf_pkg_unref(client, pkg); in pkgconf_scan_all()
845 PKGCONF_FOREACH_LIST_ENTRY(client->dir_list.head, n) in pkgconf_scan_all()
849 PKGCONF_TRACE(client, "scanning directory: %s", pnode->path); in pkgconf_scan_all()
851 if ((pkg = pkgconf_pkg_scan_dir(client, pnode->path, data, func)) != NULL) in pkgconf_scan_all()
859 search_preload_list(pkgconf_client_t *client, const char *name) in search_preload_list() argument
863 PKGCONF_FOREACH_LIST_ENTRY(client->preloaded_pkgs.head, n) in search_preload_list()
869 pkgconf_pkg_ref(client, pkg); in search_preload_list()
890 pkgconf_pkg_find(pkgconf_client_t *client, const char *name) in pkgconf_pkg_find() argument
895 PKGCONF_TRACE(client, "looking for: %s", name); in pkgconf_pkg_find()
900 if (client->unveil_handler != NULL) in pkgconf_pkg_find()
901 client->unveil_handler(client, name, "r"); in pkgconf_pkg_find()
903 pkg = pkgconf_pkg_new_from_path(client, name, 0); in pkgconf_pkg_find()
906 PKGCONF_TRACE(client, "%s is a file", name); in pkgconf_pkg_find()
908 if (client->unveil_handler != NULL) in pkgconf_pkg_find()
909 client->unveil_handler(client, pkg->pc_filedir, "r"); in pkgconf_pkg_find()
911 pkgconf_path_add(pkg->pc_filedir, &client->dir_list, true); in pkgconf_pkg_find()
919 PKGCONF_TRACE(client, "%s is a builtin", name); in pkgconf_pkg_find()
924 if (!(client->flags & PKGCONF_PKG_PKGF_NO_CACHE)) in pkgconf_pkg_find()
926 if ((pkg = pkgconf_cache_lookup(client, name)) != NULL) in pkgconf_pkg_find()
928 PKGCONF_TRACE(client, "%s is cached", name); in pkgconf_pkg_find()
934 if ((pkg = search_preload_list(client, name)) != NULL) in pkgconf_pkg_find()
936 PKGCONF_TRACE(client, "%s is preloaded", name); in pkgconf_pkg_find()
940 PKGCONF_FOREACH_LIST_ENTRY(client->dir_list.head, n) in pkgconf_pkg_find()
944 pkg = pkgconf_pkg_try_specific_path(client, pnode->path, name); in pkgconf_pkg_find()
950 pkgconf_cache_add(client, pkg); in pkgconf_pkg_find()
1468 pkgconf_pkg_scan_providers(pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int *ef… in pkgconf_pkg_scan_providers() argument
1475 …pkg = pkgconf_scan_all(client, &ctx, (pkgconf_pkg_iteration_func_t) pkgconf_pkg_scan_provides_entr… in pkgconf_pkg_scan_providers()
1478 pkgdep->match = pkgconf_pkg_ref(client, pkg); in pkgconf_pkg_scan_providers()
1503 pkgconf_pkg_verify_dependency(pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int … in pkgconf_pkg_verify_dependency() argument
1510 PKGCONF_TRACE(client, "trying to verify dependency: %s", pkgdep->package); in pkgconf_pkg_verify_dependency()
1514 …PKGCONF_TRACE(client, "cached dependency: %s -> %s@%p", pkgdep->package, pkgdep->match->id, pkgdep… in pkgconf_pkg_verify_dependency()
1515 return pkgconf_pkg_ref(client, pkgdep->match); in pkgconf_pkg_verify_dependency()
1518 pkg = pkgconf_pkg_find(client, pkgdep->package); in pkgconf_pkg_verify_dependency()
1521 if (client->flags & PKGCONF_PKG_PKGF_SKIP_PROVIDES) in pkgconf_pkg_verify_dependency()
1529 pkg = pkgconf_pkg_scan_providers(client, pkgdep, eflags); in pkgconf_pkg_verify_dependency()
1542 pkgdep->match = pkgconf_pkg_ref(client, pkg); in pkgconf_pkg_verify_dependency()
1566 pkgconf_pkg_verify_graph(pkgconf_client_t *client, pkgconf_pkg_t *root, int depth) in pkgconf_pkg_verify_graph() argument
1568 return pkgconf_pkg_traverse(client, root, NULL, NULL, depth, 0); in pkgconf_pkg_verify_graph()
1572 pkgconf_pkg_report_graph_error(pkgconf_client_t *client, pkgconf_pkg_t *parent, pkgconf_pkg_t *pkg,… in pkgconf_pkg_report_graph_error() argument
1576 if (!(client->flags & PKGCONF_PKG_PKGF_SIMPLIFY_ERRORS) & !client->already_sent_notice) in pkgconf_pkg_report_graph_error()
1578 … pkgconf_error(client, "Package %s was not found in the pkg-config search path.\n", node->package); in pkgconf_pkg_report_graph_error()
1579 … pkgconf_error(client, "Perhaps you should add the directory containing `%s.pc'\n", node->package); in pkgconf_pkg_report_graph_error()
1580 pkgconf_error(client, "to the PKG_CONFIG_PATH environment variable\n"); in pkgconf_pkg_report_graph_error()
1581 client->already_sent_notice = true; in pkgconf_pkg_report_graph_error()
1585 pkgconf_error(client, "Package '%s' not found\n", node->package); in pkgconf_pkg_report_graph_error()
1587 pkgconf_error(client, "Package '%s', required by '%s', not found\n", node->package, parent->id); in pkgconf_pkg_report_graph_error()
1589 pkgconf_audit_log(client, "%s NOT-FOUND\n", node->package); in pkgconf_pkg_report_graph_error()
1593 pkgconf_error(client, "Package dependency requirement '%s %s %s' could not be satisfied.\n", in pkgconf_pkg_report_graph_error()
1597 pkgconf_error(client, "Package '%s' has version '%s', required version is '%s %s'\n", in pkgconf_pkg_report_graph_error()
1602 pkgconf_pkg_unref(client, pkg); in pkgconf_pkg_report_graph_error()
1608 pkgconf_pkg_walk_list(pkgconf_client_t *client, in pkgconf_pkg_walk_list() argument
1630 pkgdep = pkgconf_pkg_verify_dependency(client, depnode, &eflags_local); in pkgconf_pkg_walk_list()
1633 if (eflags_local != PKGCONF_PKG_ERRF_OK && !(client->flags & PKGCONF_PKG_PKGF_SKIP_ERRORS)) in pkgconf_pkg_walk_list()
1635 pkgconf_pkg_report_graph_error(client, parent, pkgdep, depnode, eflags_local); in pkgconf_pkg_walk_list()
1655 pkgconf_warn(client, "%s: breaking circular reference (%s -> %s -> %s)\n", in pkgconf_pkg_walk_list()
1659 pkgconf_dependency_unref(client, depnode); in pkgconf_pkg_walk_list()
1668 pkgconf_audit_log_dependency(client, pkgdep, depnode); in pkgconf_pkg_walk_list()
1670 eflags |= pkgconf_pkg_traverse_main(client, pkgdep, func, data, depth - 1, skip_flags); in pkgconf_pkg_walk_list()
1672 pkgconf_pkg_unref(client, pkgdep); in pkgconf_pkg_walk_list()
1681 pkgconf_pkg_walk_conflicts_list(pkgconf_client_t *client, in pkgconf_pkg_walk_conflicts_list() argument
1702 pkgdep = pkgconf_pkg_verify_dependency(client, parentnode, &eflags); in pkgconf_pkg_walk_conflicts_list()
1705 …pkgconf_error(client, "Version '%s' of '%s' conflicts with '%s' due to satisfying conflict rule '%… in pkgconf_pkg_walk_conflicts_list()
1709 if (!(client->flags & PKGCONF_PKG_PKGF_SIMPLIFY_ERRORS)) in pkgconf_pkg_walk_conflicts_list()
1711 pkgconf_error(client, "It may be possible to ignore this conflict and continue, try the\n"); in pkgconf_pkg_walk_conflicts_list()
1712 pkgconf_error(client, "PKG_CONFIG_IGNORE_CONFLICTS environment variable.\n"); in pkgconf_pkg_walk_conflicts_list()
1715 pkgconf_pkg_unref(client, pkgdep); in pkgconf_pkg_walk_conflicts_list()
1720 pkgconf_pkg_unref(client, pkgdep); in pkgconf_pkg_walk_conflicts_list()
1744 pkgconf_pkg_traverse_main(pkgconf_client_t *client, in pkgconf_pkg_traverse_main() argument
1758 if (root->serial == client->serial) in pkgconf_pkg_traverse_main()
1761 root->serial = client->serial; in pkgconf_pkg_traverse_main()
1764 root->identifier = ++client->identifier; in pkgconf_pkg_traverse_main()
1766 PKGCONF_TRACE(client, "%s: level %d, serial %"PRIu64, root->id, maxdepth, client->serial); in pkgconf_pkg_traverse_main()
1768 …if ((root->flags & PKGCONF_PKG_PROPF_VIRTUAL) != PKGCONF_PKG_PROPF_VIRTUAL || (client->flags & PKG… in pkgconf_pkg_traverse_main()
1771 func(client, root, data); in pkgconf_pkg_traverse_main()
1774 if (!(client->flags & PKGCONF_PKG_PKGF_SKIP_CONFLICTS) && root->conflicts.head != NULL) in pkgconf_pkg_traverse_main()
1776 PKGCONF_TRACE(client, "%s: walking 'Conflicts' list", root->id); in pkgconf_pkg_traverse_main()
1778 eflags = pkgconf_pkg_walk_conflicts_list(client, root, &root->conflicts); in pkgconf_pkg_traverse_main()
1783 PKGCONF_TRACE(client, "%s: walking 'Requires' list", root->id); in pkgconf_pkg_traverse_main()
1784 eflags = pkgconf_pkg_walk_list(client, root, &root->required, func, data, maxdepth, skip_flags); in pkgconf_pkg_traverse_main()
1788 PKGCONF_TRACE(client, "%s: walking 'Requires.private' list", root->id); in pkgconf_pkg_traverse_main()
1791 client->flags |= PKGCONF_PKG_PKGF_ITER_PKG_IS_PRIVATE; in pkgconf_pkg_traverse_main()
1792 …eflags = pkgconf_pkg_walk_list(client, root, &root->requires_private, func, data, maxdepth, skip_f… in pkgconf_pkg_traverse_main()
1793 client->flags &= ~PKGCONF_PKG_PKGF_ITER_PKG_IS_PRIVATE; in pkgconf_pkg_traverse_main()
1802 pkgconf_pkg_traverse(pkgconf_client_t *client, in pkgconf_pkg_traverse() argument
1810 client->serial++; in pkgconf_pkg_traverse()
1812 if ((client->flags & PKGCONF_PKG_PKGF_SEARCH_PRIVATE) == 0) in pkgconf_pkg_traverse()
1815 return pkgconf_pkg_traverse_main(client, root, func, data, maxdepth, skip_flags); in pkgconf_pkg_traverse()
1819 pkgconf_pkg_cflags_collect(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data) in pkgconf_pkg_cflags_collect() argument
1827 pkgconf_fragment_copy(client, list, frag, false); in pkgconf_pkg_cflags_collect()
1832 pkgconf_pkg_cflags_private_collect(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data) in pkgconf_pkg_cflags_private_collect() argument
1840 pkgconf_fragment_copy(client, list, frag, true); in pkgconf_pkg_cflags_private_collect()
1859 pkgconf_pkg_cflags(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdept… in pkgconf_pkg_cflags() argument
1862 …unsigned int skip_flags = (client->flags & PKGCONF_PKG_PKGF_DONT_FILTER_INTERNAL_CFLAGS) == 0 ? PK… in pkgconf_pkg_cflags()
1865 …eflag = pkgconf_pkg_traverse(client, root, pkgconf_pkg_cflags_collect, &frags, maxdepth, skip_flag… in pkgconf_pkg_cflags()
1867 if (eflag == PKGCONF_PKG_ERRF_OK && client->flags & PKGCONF_PKG_PKGF_MERGE_PRIVATE_FRAGMENTS) in pkgconf_pkg_cflags()
1868 …eflag = pkgconf_pkg_traverse(client, root, pkgconf_pkg_cflags_private_collect, &frags, maxdepth, s… in pkgconf_pkg_cflags()
1876 pkgconf_fragment_copy_list(client, list, &frags); in pkgconf_pkg_cflags()
1883 pkgconf_pkg_libs_collect(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data) in pkgconf_pkg_libs_collect() argument
1888 …if (!(client->flags & PKGCONF_PKG_PKGF_SEARCH_PRIVATE) && pkg->flags & PKGCONF_PKG_PROPF_VISITED_P… in pkgconf_pkg_libs_collect()
1894 …pkgconf_fragment_copy(client, list, frag, (client->flags & PKGCONF_PKG_PKGF_ITER_PKG_IS_PRIVATE) !… in pkgconf_pkg_libs_collect()
1897 if (client->flags & PKGCONF_PKG_PKGF_MERGE_PRIVATE_FRAGMENTS) in pkgconf_pkg_libs_collect()
1902 pkgconf_fragment_copy(client, list, frag, true); in pkgconf_pkg_libs_collect()
1922 pkgconf_pkg_libs(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth) in pkgconf_pkg_libs() argument
1926 eflag = pkgconf_pkg_traverse(client, root, pkgconf_pkg_libs_collect, list, maxdepth, 0); in pkgconf_pkg_libs()