William Pitcock
6ef4a853b5
libpkgconf: migrate pkgconf client fragment_is_system_dir() to a libpkgconf API
2016-12-21 20:06:17 -06:00
William Pitcock
c7e505fe44
libpkgconf: fragment: split out per-fragment length calculation and use it for all render functions (buffer overrun hardening)
2016-12-15 18:32:43 -06:00
William Pitcock
63b3989f24
libpkgconf: document fragment module
2016-12-15 18:27:57 -06:00
William Pitcock
8213d91038
libpkgconf: migrate to using the pkgconf_ namespaced strlcat/strlcpy symbols
2016-12-10 16:19:40 -06:00
William Pitcock
0ae2d8e5de
fragment: fix off-by-one error in pkgconf_fragment_render_len()
2016-12-10 15:47:21 -06:00
William Pitcock
d6d7ff775a
main: use pkgconf_fragment_render() to render fragment lists instead of custom stuff
2016-12-09 23:07:15 -06:00
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
a902203054
libpkgconf: fragment: simplify sysroot handling by using pkgconf_client_t.sysroot_dir presence
2016-12-09 21:36:59 -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
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
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
f72e1c6def
fragment: genericize the fragment merge determination and add support for -isystem ( closes #87 )
2016-05-19 17:05:04 -05:00
William Pitcock
06a45f1b62
libpkgconf: clean up PKG_ERRF and PKGF_ defines
2015-09-06 11:45:00 -05:00
William Pitcock
571d9c756c
libpkgconf: PKG_BUFSIZE becomes PKGCONF_BUFSIZE, remove unused PKG_MIN/PKG_MAX.
2015-09-06 11:29:56 -05:00
William Pitcock
b17f264032
libpkgconf: move some utility funcs into pkgconf_ namespace
2015-09-06 10:48:24 -05:00
William Pitcock
61d5fc72c8
libpkgconf: move pkg_fragment to pkgconf_fragment namespace
2015-09-06 10:44:10 -05:00
William Pitcock
4c71b25d5d
libpkgconf: move pkg_tuple to pkgconf_tuple namespace
2015-09-06 10:41:40 -05:00
William Pitcock
cc2dcc1f5d
libpkgconf: move pkg_node and pkg_list to pkgconf_node and pkgconf_list namespaces
2015-09-06 10:31:21 -05:00
William Pitcock
a706b3dccc
initial libtoolization for libpkgconf
2015-09-06 09:35:08 -05:00