William Pitcock
0232ee52a3
libpkgconf: fragment: add pkgconf_fragment_filter() to selectively copy a fragment list using a filter function
2016-12-09 22:18:59 -06:00
William Pitcock
0baecbd165
libpkgconf: fragment: mark fragment objects const in several internal functions
2016-12-09 22:06:42 -06:00
William Pitcock
062f0fd331
libpkgconf: pkg: pkgconf_pkg_new_from_file() and children do not need the resolver flags anymore, so remove them
2016-12-09 21:40:19 -06:00
William Pitcock
6e4fd027c3
main: switch to pkgconf_client_set_sysroot_dir() and remove the last vestige of PKGCONF_PKG_PKGF_MUNGE_SYSROOT_PREFIX
2016-12-09 21:37:36 -06:00
William Pitcock
a902203054
libpkgconf: fragment: simplify sysroot handling by using pkgconf_client_t.sysroot_dir presence
2016-12-09 21:36:59 -06:00
William Pitcock
792cd7c8e6
libpkgconf: tuple: handle sysroot without the need of PKGCONF_PKG_PKGF_MUNGE_SYSROOT_PREFIX
2016-12-09 21:32:55 -06:00
William Pitcock
38e959857a
libpkgconf: client: initialize sysroot and buildroot dirs to reasonable defaults
2016-12-09 21:08:53 -06:00
William Pitcock
92e9b78371
libpkgconf: tuple: when calling pkgconf_tuple_add() on a collection that already has a tuple entry for 'key', replace it instead of adding a new entry
2016-12-09 20:58:15 -06:00
William Pitcock
f7b7853932
libpkgconf: tuple: add pkgconf_tuple_free_entry() to free a specific tuple node
2016-12-09 20:50:33 -06:00
William Pitcock
02ec215ecc
client: introduce pkgconf_client_t.buildroot_dir and pkgconf_client_t.sysroot_dir members
...
This adds buildroot and sysroot dir members to the pkgconf client structure, which will allow us to replace
the suboptimal PKGCONF_PKG_PKGF_MUNGE_SYSROOT_PREFIX code.
2016-12-09 20:41:39 -06:00
William Pitcock
3ba3aae783
libpkgconf: client: clean up cache
2016-12-02 00:48:26 -06:00
William Pitcock
011d8c77d6
libpkgconf: audit: migrate to pkgconf_client_t
2016-12-02 00:34:48 -06:00
William Pitcock
c05ecdfc9d
libpkgconf: migrate cache to pkgconf_client_t which unfortunately requires it to be non-const :(
2016-12-02 00:29:33 -06:00
William Pitcock
e7f4846508
libpkgconf: path: add cleanup functions
2016-12-02 00:04:43 -06:00
William Pitcock
b7984a795c
libpkgconf: commit missing client.c
2016-12-01 15:31:09 -06:00
William Pitcock
a300787cef
libpkgconf: do not implicitly build the dir list, instead explicitly do it
2016-12-01 15:17:23 -06:00
William Pitcock
ad731d1948
libpkgconf: make pkgconf_pkg_dir_list_build() public
2016-12-01 15:11:37 -06:00
William Pitcock
434c465ca9
libpkgconf: migrate pkgconf_error() to use client objects
2016-12-01 15:09:54 -06:00
William Pitcock
8740c5cd55
libpkgconf: begin removing global state from libpkgconf library by introducing a "client" object which holds the state
2016-12-01 15:05:03 -06:00
William Pitcock
4bb46e20e3
libpkgconf: add path matching and environment building functions
2016-11-30 22:36:35 -06:00
William Pitcock
f4da1082cb
libpkgconf: refactor some path operations
2016-11-30 22:15:13 -06:00
William Pitcock
ce165646de
fragment: skip empty tokens ( closes #99 )
...
Due to the way that tokens are merged together for arguments which require explicit whitespace, an
empty token could result in a fragment like:
{.type = 'I', .data = '/usr/include '}
Such a fragment would be treated differently than:
{.type = 'I', .data = '/usr/include'}
This difference causes the compiler to include a system include path as part of the additional includes, thus
breaking things like include path shadowing, resulting in random build failures. As such, we skip empty tokens
from the tokenizer as they do not have any relevance anyway.
2016-10-25 14:03:25 -05:00
William Pitcock
6484dcb0c2
pkg: pkgconf_pkg_free(): be sure to free the Provides list
2016-09-16 09:59:41 -05:00
William Pitcock
b900e04628
pkg: add support for PKGCONF_CMP_NOT_EQUAL Provides rules, completing support of Provides rules ( closes #95 )
2016-09-10 01:51:19 -05:00
William Pitcock
4fcda862a4
pkg: make fuzzy Provides matching for PKG_CMP_NOT_EQUAL ops more correct
2016-09-09 14:34:38 -05:00
William Pitcock
892a03cd8c
pkg: fill in a lot of the fuzzy matching stuff (but some of it may be wrong, needs to be looked at)
2016-09-09 01:04:26 -05:00
William Pitcock
7c0264ac7a
pkg: implement rudementary support for fuzzy Provides matches
2016-09-09 00:17:46 -05:00
William Pitcock
c2c7e7488e
pkg: add a more flexible framework for multi-level compare required for fuzzy Provides rules.
2016-09-08 23:54:57 -05:00
William Pitcock
9783181cce
pkg: make pkgconf_vercmp_res_func_t more generic, allowing it to be used for Provides rules.
2016-09-08 23:23:15 -05:00
William Pitcock
d304d9cb2e
pkg: add support for 'simple' Provides rule entries ( #95 )
2016-09-08 22:10:24 -05:00
William Pitcock
bbe6dcc088
pkg: make pkgconf_scan_all() API more flexible to allow it to scan until it finds a qualifying pkgconf_pkg_t
2016-08-27 09:48:53 -05:00
William Pitcock
5ba46130d2
pkg: add anchor Provides entry once the .pc file is parsed, instead of faking it in the tool
2016-08-26 23:43:36 -05:00
William Pitcock
d72ece6a5f
dependency: add pkgconf_dependency_add for programmatically adding a dependency object
2016-08-26 23:40:15 -05:00
William Pitcock
f9101659bc
pkg: add support for parsing Provides: entries
2016-08-26 12:14:32 -05:00
William Pitcock
d5d194f1db
pkg: clean up dependency comparison code
2016-08-26 10:54:37 -05:00
William Pitcock
4960242acb
pkg: make some compile-time defined tables const
2016-08-26 10:35:22 -05:00
William Pitcock
be4a002f1c
pkg: use bsearch(3) instead of a hardcoded tree of strcmp logic
2016-08-26 01:11:50 -05:00
William Pitcock
9e415ea151
libpkgconf: improve API to support any number of builtin packages
2016-08-26 00:26:30 -05:00
William Pitcock
b835d74d80
fragment: try to apply munging to all path-only fragments ( #94 )
2016-08-24 18:51:02 -05:00
William Pitcock
f6c96fc3d1
fragment: add pkgconf_fragment_should_munge() to simplify the munging logic a bit ( #94 )
2016-08-24 18:39:42 -05:00
William Pitcock
45d422c484
libpkgconf: implement PKG_CONFIG_LOG style auditing ( closes #88 )
2016-07-10 15:20:31 -05:00
William Pitcock
41e0a65870
audit: add actual audit log I/O functions (ref #88 )
2016-07-10 15:03:58 -05:00
William Pitcock
f44f83998c
queue: namespace the virtual 'world' package as something that could never actually exist
2016-05-20 02:06:46 -05:00
William Pitcock
f72e1c6def
fragment: genericize the fragment merge determination and add support for -isystem ( closes #87 )
2016-05-19 17:05:04 -05:00
William Pitcock
20d448abb8
libpkgconf: add PKGCONF_ARRAY_SIZE() macro
2016-05-19 16:51:47 -05:00
William Pitcock
a892af7464
pkg: tolerate NULL in pkgconf_compare_version() ( closes #85 )
2016-01-21 11:09:17 -05:00
Baptiste Daroussin
1fe91b914c
Do not parse the global variables
...
This fixes an incompatibility with pkg-confing 0.29
Found by Thomas Klausner <wiz@NetBSD.org> when building gupnp-igd-0.2.3
with introspection support
2015-12-08 00:02:14 +01:00
Baptiste Daroussin
46b772afe4
More casting is needed
...
Found on NetBSD by Thomas Klausner <wiz@NetBSD.org>
2015-12-07 11:04:31 +01:00
Baptiste Daroussin
cb83dab4ad
More casting for ctype
2015-12-02 14:59:51 +01:00
Baptiste Daroussin
7898b8297e
Correctly cast ctypes function input to unsigned int
...
This fixes issues found by building on NetBSD which is more pedantic
about thoses cases.
Reported by: Thomas Klausner (wiz at NetBSD)
2015-12-02 13:19:01 +01:00