Ariadne Conill
1389aa05ba
pkg: add pkgconf_pkg_t.license field
...
The pkgconf_pkg_t.license field maps to the new License keyword, and
should be an SPDX license expression.
2022-08-07 04:21:22 +00:00
Dylan Baker
96c61cbab0
libpkgconf: remove trailing ; from macro definition
...
GCC has a lovely bug (which I will report as soon as I have an account),
which causes -Wmisleading-indentation to miss cases of misleading
indentation after a `;;`, since the macro adds `;`, and in call cases
the caller also adds `;`, we end up with a double macro and gcc fails to
warn.
2022-08-03 12:03:15 -07:00
Ariadne Conill
6c70781aad
introduce PKG_CONFIG_PKGCONF1_SYSROOT_RULES for legacy pkgconf behavior
2022-07-26 18:00:22 +00:00
Ariadne Conill
f8aefea7ec
pkg: add flags argument to pkgconf_pkg_new_from_file
2022-07-26 17:13:15 +00:00
Ariadne Conill
297e18f2c8
tuple: add flags parameter to pkgconf_tuple_parse
2022-07-26 17:08:48 +00:00
Ariadne Conill
5817e8848f
pkg: track the number of hits a package has gotten while solving for dependencies
2022-06-26 07:22:56 +00:00
Ariadne Conill
464672404e
cache: refactor to use a continguous table and bsearch
...
cache functions are the hottest part of the pkgconf code when
profiled, by removing the linked list for lookups, we can turn
lookups into an O(k) operation
2022-06-26 04:30:35 +00:00
Dylan Baker
f5d6bb71f8
libpkgconf: remove const modifier from error_handler data pointer
...
Currently, the data pointer is `const void *`, which means that the
handler can't modify the data without casting away the constness.
2022-02-07 09:34:09 -08:00
Ariadne Conill
2b82a4f63e
use a serial instead of PKGCONF_PKG_PROPF_SEEN
2021-10-07 00:27:32 -06:00
Ariadne Conill
7d8cc1e4ce
dependency: add pkgconf_dependency_copy()
2021-10-06 13:13:34 -06:00
Ariadne Conill
c547edd07f
deconst the client on pkgconf_dependency_add()
2021-10-06 11:52:18 -06:00
Ariadne Conill
4144d506bb
implement dependency refcounting
2021-10-06 11:48:37 -06:00
Ariadne Conill
8130dd159e
dependency: add pkgconf_dependency_free_one
2021-10-06 11:29:18 -06:00
Stone Tickle
d688a7bd03
implement pkgconf_cross_personality_deinit
2021-07-24 06:08:25 -05:00
Ariadne Conill
fd1b8ccca6
main: if PKG_CONFIG_FDO_SYSROOT_RULES is set, or DESTDIR matches PKG_CONFIG_SYSROOT_DIRS, disable the automatic sysroot rewriting
...
Closes #205 .
2021-03-18 06:22:11 -06:00
Ariadne Conill
f9531ce9fe
add support for pkgconf_cross_personality_t.want_default_pure
2021-03-18 06:02:00 -06:00
Ariadne Conill
dd57abfe9f
pkgconf 1.7.0.
2020-05-24 14:55:02 -06:00
Ariadne Conill
4fb7683c3e
add support for the PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS flag used in build2.
2020-05-24 14:40:47 -06:00
Ariadne Conill
48dc665ae3
personality: add support for WantDefaultStatic setting
2019-10-19 00:56:17 -05:00
Ariadne Conill
19aa93e371
prepare for pkgconf 2.0 development
2019-08-04 15:54:24 -05:00
Ariadne Conill
c862e030cf
pkgconf 1.6.3.
2019-07-12 06:53:37 -05:00
Ariadne Conill
c816ce6969
pkgconf 1.6.2. ( closes #38 , #40 , #41 )
2019-07-11 03:50:00 -05:00
William Pitcock
2d0c1f5cb7
lite: disable debug logging
2019-05-06 15:17:08 -05:00
William Pitcock
3afd14c49e
libpkgconf: path: use realpath(3) to deduplicate the search path
...
closes #24
2019-03-23 22:27:05 -05:00
William Pitcock
183e68df39
libpkgconf: add LIBPKGCONF_VERSION macro
2019-01-14 13:52:04 -06:00
William Pitcock
36a5b7acbd
libpkgconf: fragment: add pkgconf_fragment_copy_list()
2019-01-14 13:48:02 -06:00
William Pitcock
40897f246b
libpkgconf: personality: remove const from the default personality, since it's not really const
2018-05-09 22:52:27 -05:00
William Pitcock
e6ce6c8edd
libpkgconf: personality: fixups
2018-05-09 22:39:39 -05:00
William Pitcock
1244f8f8e7
libpkgconf: refactor out the rfc822 message parser so that the cross-personality code can share it
2018-05-09 21:21:39 -05:00
William Pitcock
f702967d0a
libpkgconf: pkg: refactor pkgconf_pkg_new_from_file to prepare to factor out the rfc822 parser
2018-05-09 19:56:30 -05:00
William Pitcock
6b0e346c28
libpkgconf: refactor building the dir lists into separate concerns
2018-05-09 17:07:26 -05:00
William Pitcock
854490c5b9
libpkgconf: add basic support for cross-compile personality objects
2018-05-09 16:54:21 -05:00
William Pitcock
43e8c7b44d
libpkgconf: path: add path list copying function
2018-05-09 16:35:21 -05:00
William Pitcock
7e9ed6922d
libpkgconf: pkg: skip over -I cflags from Requires.internal nodes when building a cflags list
2018-03-18 18:05:55 -05:00
William Pitcock
ad65bc4a71
libpkgconf: dependency: allow dependency nodes to be colored with traits
2018-03-18 18:03:33 -05:00
TingPing
83eea876b0
meson: Fix defining PKGCONF_API ( #174 )
2018-03-06 23:27:54 -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
7274357565
libpkgconf: fragment: track merged fragments, as they should never be quoted
2017-12-10 00:39:39 -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
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
7ced8d77ae
libpkgconf: fragment: pkgconf_fragment_parse: return false on parse failure
2017-09-19 21:48:53 -05:00
William Pitcock
e9fd43caa7
libpkgconf: clean up header includes ( closes #137 )
2017-09-17 23:38:25 -05:00
William Pitcock
048deb95b3
headers: add C++ wrappers ( closes #136 )
2017-09-13 14:35:28 -05:00
William Pitcock
1252d7ae6a
libpkgconf: dependency: make dependency_to_str() private, use a caller-supplied buffer for reentrancy
2017-09-08 19:53:52 -05:00
William Pitcock
615bab3df9
libpkgconf: pkg: pkgconf_pkg_report_graph_error(): move already_sent_notice to pkgconf_client_t
2017-09-08 19:48:31 -05:00
Dan Kegel
4ba2bac538
Don't depend on libtool magic to control which symbols are exported from shared libraries
2017-06-05 14:00:02 -07:00
Dan Kegel
4d7b4d7c8e
Minimal tweaks to compile with Visual C 2015
2017-06-04 19:19:55 -07:00
William Pitcock
cf3c50ca78
libpkgconf: pkg: pkgconf_try_specific_path() and pkgconf_pkg_new_from_file() require a mutable client to release resources when encountering invalid packages
2017-05-19 23:21:58 -05:00
William Pitcock
81011ba522
main: implement --short-errors ( #115 )
2017-02-27 09:54:02 -06:00