|
662957ca
|
2019-03-23T22:33:55
|
|
libpkgconf: tuple: tighten quoting logic a bit
closes #12
|
|
3afd14c4
|
2019-03-23T22:27:05
|
|
libpkgconf: path: use realpath(3) to deduplicate the search path
closes #24
|
|
ba1f48e4
|
2019-03-23T22:17:04
|
|
libpkgconf: client: ensure PKG_CONFIG_LIBDIR being empty overrides the default search paths
closes #25
|
|
183e68df
|
2019-01-14T13:52:04
|
|
libpkgconf: add LIBPKGCONF_VERSION macro
|
|
6854265f
|
2019-01-14T13:48:23
|
|
libpkgconf: pkg: use pkgconf_fragment_copy_list() to clean up cflags gathering logic (closes #20)
|
|
36a5b7ac
|
2019-01-14T13:48:02
|
|
libpkgconf: fragment: add pkgconf_fragment_copy_list()
|
|
0ae52182
|
2019-01-14T13:11:59
|
|
libpkgconf: pkg: clean up pkgconf_parser interactions (closes #13)
|
|
2c059710
|
2018-09-17T15:20:28
|
|
Canonicalize paths before using them
This fixes a problem where on Windows the prefix would
not match if the prefix is generated with backslashes
and the rest of the variables use normal slashes
|
|
9f17da92
|
2018-09-17T15:20:00
|
|
On Windows the path prefix should be checked caseless
|
|
c9dffb85
|
2018-09-17T15:19:18
|
|
Fix build on windows with meson
|
|
9b7affe0
|
2018-07-28T19:06:33
|
|
tuple: Ensure buf length is always >= 1 in dequote
If a key is defined with no value, dequote will allocate a buffer with a
length of 0. Since the buffer's length is 0, any manipulation of its
content is UB.
Example .pc file:
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
xcflags=
xlibs= -lSM -lICE -lX11
Name: Obt
Description: Openbox Toolkit Library
Version: 3.6
Requires: glib-2.0 libxml-2.0
Libs: -L${libdir} -lobt ${xlibs}
Cflags: -I${includedir}/openbox/3.6 ${xcflags}
Output using pkgconf 1.5.2 on x86_64 Linux/musl:
% pkgconf --cflags obt-3.5
-I/usr/include/openbox/3.6 \�\\�I\�\ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
|
|
fb08ae2b
|
2018-06-25T06:36:57
|
|
environment variables for system paths should override compiled-in defaults
|
|
6f05fec4
|
2018-06-16T16:35:44
|
|
pkg: give a correctly sized vtable to the parser
|
|
b46bb93c
|
2018-06-14T16:12:04
|
|
libpkgconf: tuple: properly dequote tuples when added from the parser (closes legacy github bug #186)
|
|
273d1d04
|
2018-05-29T17:36:04
|
|
use pkgconf_strlcpy
On Debian/Ubuntu I get:
CC libpkgconf/personality.lo
libpkgconf/personality.c: In function ‘load_personality_with_path’:
libpkgconf/personality.c:195:3: warning: implicit declaration of function ‘strlcpy’ [-Wimplicit-function-declaration]
strlcpy(pathbuf, path, sizeof pathbuf);
^~~~~~~
CC libpkgconf/parser.lo
CCLD libpkgconf.la
ar: `u' modifier ignored since `D' is the default (see `U')
CC cli/pkgconf-main.o
CC cli/pkgconf-getopt_long.o
CC cli/pkgconf-renderer-msvc.o
CCLD pkgconf
./.libs/libpkgconf.so: undefined reference to `strlcpy'
|
|
3ccc4454
|
2018-05-10T13:36:22
|
|
libpkgconf: personality: ensure the path list is properly initialized before searching for triplets
|
|
40897f24
|
2018-05-09T22:52:27
|
|
libpkgconf: personality: remove const from the default personality, since it's not really const
|
|
25b2105e
|
2018-05-09T22:52:07
|
|
libpkgconf: client: if tracing is disabled, don't try to trace
|
|
e6ce6c8e
|
2018-05-09T22:39:39
|
|
libpkgconf: personality: fixups
|
|
75134829
|
2018-05-09T22:08:28
|
|
libpkgconf: personality: fill in the rest of the personality parser
|
|
1244f8f8
|
2018-05-09T21:21:39
|
|
libpkgconf: refactor out the rfc822 message parser so that the cross-personality code can share it
|
|
f702967d
|
2018-05-09T19:56:30
|
|
libpkgconf: pkg: refactor pkgconf_pkg_new_from_file to prepare to factor out the rfc822 parser
|
|
0f17a4f3
|
2018-05-09T19:33:12
|
|
libpkgconf: pkg: mark owning client earlier, to allow for refactoring out the rfc822 parser
|
|
9439b683
|
2018-05-09T19:27:53
|
|
libpkgconf: personality: add stub cross personality loader
|
|
6b0e346c
|
2018-05-09T17:07:26
|
|
libpkgconf: refactor building the dir lists into separate concerns
|
|
854490c5
|
2018-05-09T16:54:21
|
|
libpkgconf: add basic support for cross-compile personality objects
|
|
43e8c7b4
|
2018-05-09T16:35:21
|
|
libpkgconf: path: add path list copying function
|
|
f36ccc1d
|
2018-04-03T12:46:35
|
|
libpkgconf: add support for Haiku
client: use BELIBRARIES
On Haiku, BELIBRARIES is the equivalent to LIBRARY_PATH on many other
systems, while LIBRARY_PATH is instead the LD_LIBRARY_PATH of Haiku.
pkg: bootstrap package search paths with Haiku's find_paths
This commit adds build_default_pkgconfig_path. The function appends
to the list given the default pkgconfig paths, and will supersede
get_default_pkgconfig_path
|
|
3f753fa3
|
2018-03-18T19:03:18
|
|
libpkgconf: dependency: preference uncoloured nodes in event of a dependency collision
|
|
7e9ed692
|
2018-03-18T18:04:02
|
|
libpkgconf: pkg: skip over -I cflags from Requires.internal nodes when building a cflags list
|
|
ad65bc4a
|
2018-03-18T18:01:59
|
|
libpkgconf: dependency: allow dependency nodes to be colored with traits
|
|
f03ec3ff
|
2018-03-18T15:46:53
|
|
libpkgconf: add support for proposed Requires.internal extension
|
|
a50bf726
|
2018-03-08T05:16:18
|
|
Fix incorrect comment (#178)
|
|
60c05f56
|
2018-03-08T05:00:22
|
|
Improve prefix rewriting on Windows (#177)
* cli: Default to rewriting prefix on Windows
This matches `pkg-config` behavior
* libpkgconf: Rewrite the prefix of all variables
|
|
83eea876
|
2018-03-07T05:27:54
|
|
meson: Fix defining PKGCONF_API (#174)
|
|
0d523391
|
2018-02-08T14:25:47
|
|
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).
|
|
d5fd74d7
|
2018-01-22T15:13:14
|
|
libpkgconf: fragment: revert the quoting changes, but not the lexing changes
a few strange edge cases are causing problems (closes #168)
|
|
4a09efe0
|
2018-01-05T11:38:21
|
|
libpkgconf: pkg: fix harmless gcc7 compiler warning
|
|
a42f265c
|
2017-12-21T02:18:50
|
|
libpkgconf: pkg: include system libdir and includedir search paths as variables in builtin packages (closes #165)
|
|
cf96c562
|
2017-12-14T22:41:14
|
|
libpkgconf: argvsplit: fix escape handling in tokenizer (closes #163)
|
|
18abb4cc
|
2017-12-13T11:18:25
|
|
libpkgconf: fragment: fix nitpick warning reported by MSVC (closes #162)
|
|
e0bf4009
|
2017-12-12T00:21:21
|
|
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.
|
|
278a2bd6
|
2017-12-11T18:25:55
|
|
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).
|
|
973aff21
|
2017-12-11T17:39:12
|
|
libpkgconf: tuple: add some trace logging
|
|
72743575
|
2017-12-10T00:39:39
|
|
libpkgconf: fragment: track merged fragments, as they should never be quoted
|
|
cad2515b
|
2017-12-10T00:36:20
|
|
libpkgconf: fragment: there are no consumers of non-escaped rendered fragment lists, so deprecate the option
|
|
d2b69833
|
2017-12-08T13:39:40
|
|
libpkgconf: cache: fix refcount issue exposed by recent depgraph solver changes
|
|
19d91e90
|
2017-12-07T19:13:35
|
|
libpkgconf: fragment: allow for overriding the default fragment rendering behaviour
|
|
f7406afc
|
2017-12-05T18:04:42
|
|
libpkgconf: pkg: do not mention PKG_CONFIG_SKIP_CONFLICTS env var when simplified errors are requested (closes #134)
|
|
06abf28d
|
2017-12-05T17:46:57
|
|
libpkgconf: client: handle NULL client in pkgconf_trace calls
|
|
74d58d1b
|
2017-12-05T17:34:01
|
|
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).
|
|
44b4b126
|
2017-12-05T17:32:00
|
|
libpkgconf: pkg: record which pkgconf_client_t owns each pkgconf_pkg_t object
|
|
4c0cc292
|
2017-12-05T17:24:57
|
|
libpkgconf: pkg: add refcount debugging
|
|
4589274c
|
2017-10-16T12:56:19
|
|
libpkgconf: start to remove PKGCONF_BUFSIZE allocations from the stack. (closes #149)
Patch by Karen Arutyunov.
|
|
12973857
|
2017-10-16T12:51:59
|
|
libpkgconf: fragment: remove obsolete code in pkgconf_fragment_should_munge()
|
|
36551cca
|
2017-10-16T11:30:22
|
|
libpkgconf: path: relocate the path before doing dedup checks (closes #151)
|
|
3bc2e21d
|
2017-10-16T11:25:52
|
|
libpkgconf: path: ensure entire buffer is zeroed before calling realpath() on it (closes #150)
|
|
6985a179
|
2017-10-11T17:03:21
|
|
libpkgconf: Fix issue when sysroot is '/'
If sysroot is /, simply do nothing.
This fixes #146
|
|
fae65710
|
2017-09-23T00:24:34
|
|
libpkgconf: argvsplit: handle double backslash case properly (closes #140)
|
|
abe0f5c8
|
2017-09-23T00:19:16
|
|
libpkgconf: fileio: fix quoting logic for double backslash case (ref #140)
|
|
db56c80d
|
2017-09-23T00:11:37
|
|
libpkgconf: fragment: add debug to document post-subst output to parser
|
|
67dd48a3
|
2017-09-23T00:00:43
|
|
libpkgconf: api: handle DLL_EXPORT libtool case on mingw (closes #141)
|
|
24c1439d
|
2017-09-22T23:58:40
|
|
libpkgconf: stdinc: fix SIZE_FMT_SPECIFIER on mingw
|
|
420c62e1
|
2017-09-19T21:58:54
|
|
libpkgconf: pkg: refactor parser harness to allow providing warnings, provide warning for improper fragment list
|
|
7ced8d77
|
2017-09-19T21:48:53
|
|
libpkgconf: fragment: pkgconf_fragment_parse: return false on parse failure
|
|
7786554b
|
2017-09-19T21:34:24
|
|
libpkgconf: fragment: check pkgconf_argv_split() return value
|
|
56101390
|
2017-09-19T21:08:18
|
|
libpkgconf: fragment parsing: do not pass NULL to pkgconf_fragment_add()
|
|
e9fd43ca
|
2017-09-17T23:38:25
|
|
libpkgconf: clean up header includes (closes #137)
|
|
ebb4c735
|
2017-09-13T15:02:57
|
|
libpkgconf: client: resolve memory leak of filter lists (closes #130)
|
|
f808300a
|
2017-09-13T14:56:10
|
|
libpkgconf: pkg: some elements of virtual packages should be freed as they have heap-allocated portions (closes #132)
|
|
9b55fc3c
|
2017-09-13T14:41:00
|
|
libpkgconf: cache: refactor the way package objects are marked as cached to avoid memory leaks (#133)
|
|
048deb95
|
2017-09-13T14:35:28
|
|
headers: add C++ wrappers (closes #136)
|
|
b5da424e
|
2017-09-13T14:20:47
|
|
stdinc: drop _GNU_SOURCE definition
|
|
906fef84
|
2017-09-08T20:09:12
|
|
libpkgconf: fragment: mark some inline match tables as const
|
|
b7839f6b
|
2017-09-08T20:06:52
|
|
libpkgconf: pkg: pkgconf_pkg_scan_dir: remove unnecessary static declaration of filebuf
|
|
2681c29e
|
2017-09-08T20:04:49
|
|
libpkgconf: pkg: determine_prefix: use caller-provided buffer for reentrancy
|
|
adae7044
|
2017-09-08T20:01:34
|
|
libpkgconf: pkg: get_default_pkgconfig_path: use caller-supplied buffer for reentrancy
|
|
1252d7ae
|
2017-09-08T19:53:52
|
|
libpkgconf: dependency: make dependency_to_str() private, use a caller-supplied buffer for reentrancy
|
|
615bab3d
|
2017-09-08T19:48:31
|
|
libpkgconf: pkg: pkgconf_pkg_report_graph_error(): move already_sent_notice to pkgconf_client_t
|
|
b0ef708e
|
2017-09-08T19:23:04
|
|
libpkgconf: pkg: pkg_get_parent_dir(): use caller-supplied buffer instead of a static buffer to make reentrant
|
|
b9dac13e
|
2017-09-08T19:17:38
|
|
libpkgconf: tuple: pkgconf_tuple_parse(): remove unnecessary static buffer declaration
|
|
47ce9765
|
2017-09-08T18:44:28
|
|
libpkgconf: define SIZE_FMT_SPECIFIER on POSIX and Windows platforms and use it in place of %zu
The MSVCRT runtime as used on Windows does not support %zu, but instead recommends %Iu. As we want
to remain portable to other runtimes, even on Windows, we do not use %Iu, but instead expand it logically
to either %lu or %llu depending on if it's _WIN32 or _WIN64 headers.
On POSIX, we assume C99 support is available and always use %zu, as pkgconf has never supported anything
earlier than C99 officially.
Closes #125.
|
|
a6d6b88d
|
2017-09-08T18:27:04
|
|
libpkgconf: path: fix logic error in path relocation case when matching against a list (closes #129)
|
|
9505213c
|
2017-07-16T17:35:28
|
|
tuple: check expanded variables to see if a sysroot has been duplicated, and if so, remove the prepended sysroot.
This allows compatibility between legacy pkg-config's broken sysroot implementation and pkgconf's sysroot
implementation, by removing any prepended sysroot paths and preferencing the variable expansion sysroot path
we typically do instead.
Closes github #123.
|
|
74666bff
|
2017-07-16T21:21:45
|
|
stdinc.h: fix build with mingw (#122)
Fixes this build error with mingw:
...
| compilation terminated.
| In file included from ../pkgconf-1.3.7/libpkgconf/libpkgconf.h:19:0,
| from ../pkgconf-1.3.7/libpkgconf/audit.c:16:
| ../pkgconf-1.3.7/libpkgconf/stdinc.h:36:12: fatal error: BaseTsd.h: No
such file or directory
| # include <BaseTsd.h>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
|
40fd9950
|
2017-06-19T20:03:00
|
|
Experiment to build with Meson (#119)
* Initial Meson build definitions.
* Install man page and headers.
|
|
864b14e5
|
2017-06-16T21:06:01
|
|
Merge branch 'cmakeify' of github.com:dankegel/pkgconf
|
|
03f78410
|
2017-06-16T15:27:23
|
|
libpkgconf: pkg: windows can use either \ or / as directory separators
ref #118
|
|
d45e8501
|
2017-06-16T13:03:51
|
|
Revert "pkg: use pkgconf_pkg_t.realname instead of pkgconf_pkg_t.id for injecting the default provides entry"
This reverts commit 0c22b4d8a1596e1d5b261041c36b474d05783373.
|
|
0c22b4d8
|
2017-06-16T11:49:26
|
|
pkg: use pkgconf_pkg_t.realname instead of pkgconf_pkg_t.id for injecting the default provides entry
This issue was noticed while porting pkgconf to Windows.
ref #118
|
|
794aa501
|
2017-06-05T20:54:57
|
|
Tidy up a bit.
|
|
ededaa64
|
2017-06-05T17:40:10
|
|
cmake: add missing configure variables, install headers and .pc file, use simpler line to invoke kyua, tweak build location of dll for ease of testing
|
|
4ba2bac5
|
2017-06-05T14:00:02
|
|
Don't depend on libtool magic to control which symbols are exported from shared libraries
|
|
9258874e
|
2017-06-05T10:23:56
|
|
cmake: use right soversion for libpkgconf
|
|
8b4a4b83
|
2017-06-04T19:32:08
|
|
First draft of cmake install rules
|
|
4d7b4d7c
|
2017-06-04T19:19:55
|
|
Minimal tweaks to compile with Visual C 2015
|
|
35d0f63d
|
2017-06-04T19:19:01
|
|
win-dirent.h: MIT-licensed port of dirent to win32 from https://github.com/tronkko/dirent
|
|
251f7473
|
2017-06-04T15:17:51
|
|
First draft of cmake port
|
|
d280060e
|
2017-05-19T23:37:57
|
|
libpkgconf: pkg: add additional validation rules in post-parse phase
|
|
0262b825
|
2017-05-19T23:33:49
|
|
libpkgconf: pkgconf_pkg_find(): correctly handle failure from pkgconf_pkg_new_from_file()
|