Commit Graph

750 Commits (92f566ff38daa3deb2586ce0b995da32b5c7ebee)

Author SHA1 Message Date
William Pitcock b0c821af5c bsdstubs: nothing seems to use strtok_r() anymore, kill it 2016-12-10 16:20:40 -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 bdaa26231b bsdstubs: clean up the way this works by namespacing it 2016-12-10 16:16:37 -06:00
William Pitcock eab112fb15 pkg: cleanups 2016-12-10 16:06:18 -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 af63b799f1 main: filter out system dir fragments instead of skipping them when printing 2016-12-09 22:47:02 -06:00
William Pitcock 2b5d763e31 main: use pkgconf_fragment_filter() instead of crazy stuff 2016-12-09 22:45:22 -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 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 f8de5bf161 main: use pkgconf_client_set_buildroot_dir() instead of manually handling it 2016-12-09 21:10:21 -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 b59d3a94a1 README: typo fix [no-ci] 2016-12-02 01:08:18 -06:00
William Pitcock 3151927bd6 build: SOVERSION should be 2 due to ABI breaks 2016-12-02 00:55:23 -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 082fd4af24 testsuite: add a test for --pure (closes #83) 2016-11-15 23:03:50 -06:00
William Pitcock 3f61f58c20 man: document more recently added features in the frontend 2016-11-15 22:52:07 -06:00
William Pitcock 8ecf7c186b main: also enable --pure with the PKG_CONFIG_PURE_DEPGRAPH env variable (#83) 2016-11-15 22:30:04 -06:00
William Pitcock ec10dd8edb main: add --pure flag (#83) which allows a static-linking dependency graph to be evaluated as if it were otherwise normal 2016-11-15 22:01:17 -06:00
William Pitcock 96014b0286 NEWS: add an entry for #96 2016-11-05 10:41:50 -05:00
William Pitcock 0c74b5a4c2 Merge branch 'kyua' (closes #96) 2016-11-04 23:32:50 -05:00
William Pitcock cbd14e9118 testsuite: delete legacy testsuite 2016-11-04 23:31:02 -05:00
William Pitcock 63a61b7c9f testsuite: regress: really add the last few tests this time 2016-11-04 23:30:21 -05:00
William Pitcock 20f4a7fcc7 testsuite: parser: add remaining test cases 2016-11-04 23:14:22 -05:00
William Pitcock 8075de1416 testsuite: regress: add the remaining tests that were in the old testsuite 2016-11-04 23:07:18 -05:00
William Pitcock 0ea956e300 testsuite: use uname -s instead of uname -o for system name 2016-11-04 22:44:00 -05:00
William Pitcock 0764d8af51 Merge branch 'master' into kyua 2016-11-04 22:36:40 -05:00
William Pitcock febf476a91 configure: kill --enable-strict-mode, entirely pointless 2016-11-04 22:35:55 -05:00
William Pitcock 64c07aa90f Merge branch 'master' into kyua 2016-10-27 21:51:09 -05:00
William Pitcock 1ce35f8bbb buildsystem: add new testsuite files 2016-10-25 14:08:39 -05: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 9a89bd051d testsuite: add a test for #99 2016-10-25 14:03:25 -05:00
William Pitcock a05cc65a4b README: change distfiles location to an https one (closes #98) 2016-09-18 22:12:25 -05:00