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
William Pitcock
794443a92a
dependency: break API to add tracepoints to dependency list building
2017-02-25 16:04:55 -06:00
William Pitcock
01fe5743ea
fragment: add new option to control escaping shell arguments
2017-02-25 15:32:49 -06:00
William Pitcock
d20efff495
libpkgconf: overhaul pkgconf_trace() a little
2017-02-04 19:49:59 -06:00
William Pitcock
bef293080a
libpkgconf: client: add trace logging too
2017-02-04 18:57:21 -06:00
William Pitcock
a6755cd792
libpkgconf: client: add pkgconf_warn()
2017-02-04 18:46:53 -06:00
William Pitcock
eb98a1e6c3
libpkgconf: client: clean up various aspects of error/warn handlers
2017-02-04 18:46:33 -06:00
William Pitcock
c0b6a62c40
libpkgconf: client: add warn handler and getter/setter for both warn handler and error handler
2017-02-04 18:37:58 -06:00
William Pitcock
647c0255aa
libpkgconf: add PKGCONF_PKG_PKGF_DONT_RELOCATE_PATHS ( #110 )
...
main: add PKG_CONFIG_DONT_RELOCATE_PATHS environment variable and --dont-relocate-paths option to disable path relocation
2017-02-03 13:17:21 -06:00
William Pitcock
0c01a81299
libpkgconf: split virtual/static package state (this is API/ABI safe, static packages are always treated as virtual when it comes to mutation)
2017-01-22 23:26:01 -06:00
William Pitcock
7237b811e7
add support for making paths relocatable ( closes #103 )
2017-01-20 00:58:48 -06:00
William Pitcock
ced4f00363
libpkgconf: client: add pkgconf_client_[get|set]_prefix_varname()
2017-01-19 19:16:00 -06:00
William Pitcock
13cf74c7a3
libpkgconf: kill flags from top-level fragment API (ref #105 )
2017-01-19 18:23:25 -06:00
William Pitcock
7b39c38408
libpkgconf: pkg: clean up use of flags variable (ref #105 )
2017-01-19 18:17:29 -06:00
William Pitcock
127fd037d4
libpkgconf: pkg: uncouple resolver flags from pkgconf_pkg_dir_list_build(). (ref #105 )
2017-01-19 17:35:57 -06:00
William Pitcock
0ca6a16ce5
libpkgconf: queue: nuke flags parameters (ref #105 )
2017-01-19 17:32:38 -06:00
William Pitcock
597c3c7faf
libpkgconf: client: add pkgconf_client_t.flags and a get/set interface for it
2017-01-19 17:22:20 -06:00
William Pitcock
4f94090fe4
libpkgconf: fragment: make pkgconf_fragment_filter() accept userdata ( closes #106 )
2017-01-18 20:25:19 -06:00
William Pitcock
1369f558c6
path: add new pkgconf_path_relocate() API which is a stub when path
...
relocation is not needed
2017-01-13 20:05:21 -06:00
William Pitcock
92f566ff38
libpkgconf: path: check both device node and inode for dedup. pointed out by @plicease
2016-12-30 11:39:45 -06:00
William Pitcock
2305031573
libpkgconf: path: make the duplicate filtering opt-in. some path lists should not be deduped (compiler path lists, for example)
2016-12-30 11:13:04 -06:00
William Pitcock
bad0da0c03
libpkgconf: path: filter out duplicate path entries by inode if possible ( closes #102 )
2016-12-30 11:01:15 -06:00
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
f6b074f267
libpkgconf: path: make pkgconf_path_match_list() take a const list argument
2016-12-21 19:50:05 -06:00
William Pitcock
61c750fde3
libpkgconf: pkg: cleanup and document pkg module
2016-12-15 23:36:59 -06:00
William Pitcock
82fa8b21cf
libpkgconf: separate config.h from the actual API headers
2016-12-13 12:14:08 -06:00
Graham Ollis
fa87608978
pass client and user data to error handler ( #100 )
2016-12-13 12:03:59 -06:00