Commit Graph

1314 Commits (171738024e2cf30a8875b56909596a22ea85f297)

Author SHA1 Message Date
William Pitcock d4bb96b7f1 tests: add regression test for #172, closes #172 2018-02-08 14:31:28 -06:00
William Pitcock 0d52339141 libpkgconf: pkg: ensure the dependency node has a solution associated with it
Sometimes this did not happen, e.g. when using providers as the solution (ref #172).
2018-02-08 14:26:25 -06:00
William Pitcock 1eb866efb2 tests: parser: late-breaking testsuite changes for quoting changes 2018-01-22 15:35:54 -06:00
William Pitcock 1645683d62 pkgconf 1.4.1. 2018-01-22 15:20:29 -06:00
William Pitcock d5fd74d799 libpkgconf: fragment: revert the quoting changes, but not the lexing changes
a few strange edge cases are causing problems (closes #168)
2018-01-22 15:13:14 -06:00
William Pitcock d1618ece3a msvc: add support for converting cflags too 2018-01-05 18:05:47 -06:00
William Pitcock 4a09efe070 libpkgconf: pkg: fix harmless gcc7 compiler warning 2018-01-05 11:38:21 -06:00
William Pitcock 1c9f36036a pkgconf 1.4.0. 2018-01-05 11:33:21 -06:00
William Pitcock 7cce958d78 msvc: handle quoting correctly for cmd.exe 2018-01-05 11:31:43 -06:00
William Pitcock 5d6c9ba98c build: set soversion to 3 2018-01-05 11:18:19 -06:00
William Pitcock 789da4cf33 bump copyrights to 2018 2017-12-31 10:41:32 -06:00
William Pitcock 7ba36b5d89 NEWS: document #165 changes 2017-12-21 02:35:48 -06:00
William Pitcock a7864d0111 man: pc: discuss extensions and optional gating approach for hard dependency on extensions 2017-12-21 02:25:09 -06:00
William Pitcock a42f265c07 libpkgconf: pkg: include system libdir and includedir search paths as variables in builtin packages (closes #165) 2017-12-21 02:19:21 -06:00
Issam Maghni 8a9b7d59df Shortening symlink (#164) 2017-12-19 17:48:44 -06:00
William Pitcock e214ec88e8 pkgconf 1.3.90. 2017-12-15 19:00:09 -06:00
William Pitcock 11c1e5d090 NEWS: mention the new manpages [skip c-i] 2017-12-15 18:58:30 -06:00
William Pitcock fef3293467 man: add pc(5) mdoc (closes #148) 2017-12-15 18:53:59 -06:00
William Pitcock cf96c562e1 libpkgconf: argvsplit: fix escape handling in tokenizer (closes #163) 2017-12-14 22:41:14 -06:00
William Pitcock 6073a49229 tests: add testcases for #163 2017-12-14 22:13:19 -06:00
William Pitcock 18abb4ccc1 libpkgconf: fragment: fix nitpick warning reported by MSVC (closes #162) 2017-12-13 11:18:25 -06:00
William Pitcock f5627481d7 NEWS: document API change discussed in #154 2017-12-12 00:23:23 -06:00
William Pitcock e0bf4009cb libpkgconf: pkg: rename pkgconf_pkg_t.requires to pkgconf_pkg_t.required (closes #154)
C++20 makes requires a keyword, so we need to not use it in headers.
2017-12-12 00:21:21 -06:00
William Pitcock 4fea62b08e NEWS: update 2017-12-11 18:45:10 -06:00
William Pitcock 278a2bd667 libpkgconf: fragment: rework quoting and lexing (closes #139, #153)
we now use POSIX-style quoting for all fragments.  it is our belief that this is the
most optimal behaviour for portability, because all POSIX-compliant tools require
single-quotes to be considered as literal (closes #153).

because of this, we are able to remove some hacks on the lexer side which were there
to simulate pkg-config quoting, but were basically utterly wrong (closes #139).
2017-12-11 18:25:55 -06:00
William Pitcock 1c9880a03b main: fix refcount violation exposed by incremental dependency solver 2017-12-11 18:23:14 -06:00
William Pitcock 7b1fac4c99 tests: remove fragment-quoting-4 and fragment-quoting-6 tests as they are not relevant anymore 2017-12-11 17:41:08 -06:00
William Pitcock 973aff21e9 libpkgconf: tuple: add some trace logging 2017-12-11 17:39:12 -06:00
William Pitcock 7274357565 libpkgconf: fragment: track merged fragments, as they should never be quoted 2017-12-10 00:39:39 -06:00
William Pitcock cad2515be5 libpkgconf: fragment: there are no consumers of non-escaped rendered fragment lists, so deprecate the option 2017-12-10 00:36:20 -06:00
William Pitcock d2b6983385 libpkgconf: cache: fix refcount issue exposed by recent depgraph solver changes 2017-12-08 13:39:40 -06:00
William Pitcock 4058a722a4 NEWS: mention --msvc-syntax and the infrastructure allowing it 2017-12-07 20:12:29 -06:00
William Pitcock b216ccb33d build: add renderer-msvc.h to noinst_HEADERS 2017-12-07 20:08:29 -06:00
William Pitcock 0b09c111ed main: implement a MSVC renderer (only some fragments supported) (closes #161) 2017-12-07 20:07:30 -06:00
William Pitcock 19d91e90e5 libpkgconf: fragment: allow for overriding the default fragment rendering behaviour 2017-12-07 19:13:35 -06:00
William Pitcock eec34c480c NEWS: cmake was mentioned twice 2017-12-07 15:22:58 -06:00
William Pitcock fc5e33a3cb add 1.4 stuff so far to NEWS 2017-12-07 15:22:05 -06:00
William Pitcock 73119e0165 update NEWS with bugfixes/enhancements that were backported to 1.3.8 and later 2017-12-07 15:14:35 -06:00
William Pitcock 0d6cad31fa meson: look for atf-sh (closes #160) 2017-12-07 12:34:06 -06:00
William Pitcock f1e5014921 main: use single-quotes for --env output 2017-12-07 12:31:45 -06:00
William Pitcock 7ab4dffaf1 main: implement --env (closes #159) 2017-12-06 17:45:17 -06:00
William Pitcock 69a05a74b5 man: pkgconf(1): add crossreference to new pkg.m4(7) manpage (closes #147) 2017-12-05 19:52:32 -06:00
William Pitcock 7fed573a6f man: finish pkg.m4(7) 2017-12-05 19:47:51 -06:00
William Pitcock d80d66f5ff man: add starting point on pkg.m4(7) manpage 2017-12-05 19:17:31 -06:00
William Pitcock 60df6ba3b0 build: move manpages to man subdir 2017-12-05 18:45:06 -06:00
William Pitcock 5ed0f532d4 docs: s/frameworks/libraries/ (closes #156) 2017-12-05 18:12:47 -06:00
William Pitcock f7406afc5b libpkgconf: pkg: do not mention PKG_CONFIG_SKIP_CONFLICTS env var when simplified errors are requested (closes #134) 2017-12-05 18:04:42 -06:00
William Pitcock 06abf28dab libpkgconf: client: handle NULL client in pkgconf_trace calls 2017-12-05 17:46:57 -06:00
William Pitcock 74d58d1b63 libpkgconf: pkg: cache solutions for already solved dependency graph nodes
in almost all cases, we partially solve the dependency graph multiple times, which
just wastes resources.  if we record the solution to a given dependency node, further
iterations can make use of the previous solution without having to solve it again.

this is safe because all provides entries (including virtuals) are knowable prior to
solving the dependency graph the first time.

a nice side effect of this is that all packages are preloaded when querying
information about them (--cflags and related commands).
2017-12-05 17:34:01 -06:00
William Pitcock 44b4b126f3 libpkgconf: pkg: record which pkgconf_client_t owns each pkgconf_pkg_t object 2017-12-05 17:32:00 -06:00