Commit Graph

1140 Commits (48dc665ae3efa3cd9907518dc449525eea8bb2c8)

Author SHA1 Message Date
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
William Pitcock 4c0cc29277 libpkgconf: pkg: add refcount debugging 2017-12-05 17:24:57 -06:00
William Pitcock b6a56c8728 main: do not evaluate module paths for modules that are not really on disk (closes #158) 2017-12-02 21:14:43 -06:00
William Pitcock b52d3819a2 main: add --modversion to --help output (closes #157) 2017-11-28 13:41:35 -06:00
William Pitcock 4589274c43 libpkgconf: start to remove PKGCONF_BUFSIZE allocations from the stack. (closes #149)
Patch by Karen Arutyunov.
2017-10-16 12:56:19 -05:00
William Pitcock 1297385762 libpkgconf: fragment: remove obsolete code in pkgconf_fragment_should_munge() 2017-10-16 12:51:59 -05:00
William Pitcock 36551cca83 libpkgconf: path: relocate the path before doing dedup checks (closes #151) 2017-10-16 11:30:22 -05:00
William Pitcock 3bc2e21dd1 libpkgconf: path: ensure entire buffer is zeroed before calling realpath() on it (closes #150) 2017-10-16 11:26:27 -05:00
Baptiste Daroussin 6985a179c1 libpkgconf: Fix issue when sysroot is '/'
If sysroot is /, simply do nothing.

This fixes #146
2017-10-11 17:05:35 +02:00
Baptiste Daroussin 4e50938e78 tests: add a test case for #146 2017-10-11 17:05:23 +02:00
✈ Graham ✈ a8a65c7f6c Only add warnings and std flags if supported by compiler (autoconf) (#145)
* Only add warning and std flags if supported by compiler (autoconf)

* bundle AX_CHECK_COMPILE_FLAG macro from autoconf-archive
2017-09-26 12:27:52 -05:00
William Pitcock 301dc16909 makefile: helps to add the test to the actual testfile list 2017-09-24 14:22:56 -05:00
William Pitcock e56fea66e4 travis: third time should be the charm 2017-09-24 14:15:04 -05:00
William Pitcock 5a10c6bb7b travis: retry 2017-09-24 14:10:30 -05:00
William Pitcock 0d89bea9a8 travis: grrrrr 2017-09-24 14:06:06 -05:00
✈ Graham ✈ e9c2e6f127 Only add warning and std flags if supported by compiler (#144)
This fixes errors like those reported in #143 on Solaris
(and probably other platforms where gcc is not the native
compiler):

c99: -W option with unknown program all

This only fixes it for cmake, but presumably similar checks
could be added for autoconf as well.
2017-09-24 12:52:49 -05:00
William Pitcock fae657101c libpkgconf: argvsplit: handle double backslash case properly (closes #140) 2017-09-23 00:24:34 -05:00
William Pitcock abe0f5c821 libpkgconf: fileio: fix quoting logic for double backslash case (ref #140) 2017-09-23 00:19:16 -05:00
William Pitcock db56c80d92 libpkgconf: fragment: add debug to document post-subst output to parser 2017-09-23 00:11:55 -05:00
William Pitcock 95b68f7c02 tests: add testcase for #140 2017-09-23 00:08:12 -05:00
William Pitcock 67dd48a343 libpkgconf: api: handle DLL_EXPORT libtool case on mingw (closes #141) 2017-09-23 00:00:43 -05:00
William Pitcock 24c1439d52 libpkgconf: stdinc: fix SIZE_FMT_SPECIFIER on mingw 2017-09-22 23:58:40 -05:00
William Pitcock 420c62e10c libpkgconf: pkg: refactor parser harness to allow providing warnings, provide warning for improper fragment list 2017-09-19 21:58:54 -05:00
William Pitcock 7ced8d77ae libpkgconf: fragment: pkgconf_fragment_parse: return false on parse failure 2017-09-19 21:48:53 -05:00
William Pitcock 72cf871421 tests: regress: add malformed quoting test 2017-09-19 21:35:18 -05:00