libpkgconf


Log

Author Commit Date CI Message
William Pitcock 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)
William Pitcock 4a09efe0 2018-01-05T11:38:21 libpkgconf: pkg: fix harmless gcc7 compiler warning
William Pitcock a42f265c 2017-12-21T02:18:50 libpkgconf: pkg: include system libdir and includedir search paths as variables in builtin packages (closes #165)
William Pitcock cf96c562 2017-12-14T22:41:14 libpkgconf: argvsplit: fix escape handling in tokenizer (closes #163)
William Pitcock 18abb4cc 2017-12-13T11:18:25 libpkgconf: fragment: fix nitpick warning reported by MSVC (closes #162)
William Pitcock 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.
William Pitcock 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).
William Pitcock 973aff21 2017-12-11T17:39:12 libpkgconf: tuple: add some trace logging
William Pitcock 72743575 2017-12-10T00:39:39 libpkgconf: fragment: track merged fragments, as they should never be quoted
William Pitcock cad2515b 2017-12-10T00:36:20 libpkgconf: fragment: there are no consumers of non-escaped rendered fragment lists, so deprecate the option
William Pitcock d2b69833 2017-12-08T13:39:40 libpkgconf: cache: fix refcount issue exposed by recent depgraph solver changes
William Pitcock 19d91e90 2017-12-07T19:13:35 libpkgconf: fragment: allow for overriding the default fragment rendering behaviour
William Pitcock f7406afc 2017-12-05T18:04:42 libpkgconf: pkg: do not mention PKG_CONFIG_SKIP_CONFLICTS env var when simplified errors are requested (closes #134)
William Pitcock 06abf28d 2017-12-05T17:46:57 libpkgconf: client: handle NULL client in pkgconf_trace calls
William Pitcock 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).
William Pitcock 44b4b126 2017-12-05T17:32:00 libpkgconf: pkg: record which pkgconf_client_t owns each pkgconf_pkg_t object
William Pitcock 4c0cc292 2017-12-05T17:24:57 libpkgconf: pkg: add refcount debugging
William Pitcock 4589274c 2017-10-16T12:56:19 libpkgconf: start to remove PKGCONF_BUFSIZE allocations from the stack. (closes #149) Patch by Karen Arutyunov.
William Pitcock 12973857 2017-10-16T12:51:59 libpkgconf: fragment: remove obsolete code in pkgconf_fragment_should_munge()
William Pitcock 36551cca 2017-10-16T11:30:22 libpkgconf: path: relocate the path before doing dedup checks (closes #151)
William Pitcock 3bc2e21d 2017-10-16T11:25:52 libpkgconf: path: ensure entire buffer is zeroed before calling realpath() on it (closes #150)
Baptiste Daroussin 6985a179 2017-10-11T17:03:21 libpkgconf: Fix issue when sysroot is '/' If sysroot is /, simply do nothing. This fixes #146
William Pitcock fae65710 2017-09-23T00:24:34 libpkgconf: argvsplit: handle double backslash case properly (closes #140)
William Pitcock abe0f5c8 2017-09-23T00:19:16 libpkgconf: fileio: fix quoting logic for double backslash case (ref #140)
William Pitcock db56c80d 2017-09-23T00:11:37 libpkgconf: fragment: add debug to document post-subst output to parser
William Pitcock 67dd48a3 2017-09-23T00:00:43 libpkgconf: api: handle DLL_EXPORT libtool case on mingw (closes #141)
William Pitcock 24c1439d 2017-09-22T23:58:40 libpkgconf: stdinc: fix SIZE_FMT_SPECIFIER on mingw
William Pitcock 420c62e1 2017-09-19T21:58:54 libpkgconf: pkg: refactor parser harness to allow providing warnings, provide warning for improper fragment list
William Pitcock 7ced8d77 2017-09-19T21:48:53 libpkgconf: fragment: pkgconf_fragment_parse: return false on parse failure
William Pitcock 7786554b 2017-09-19T21:34:24 libpkgconf: fragment: check pkgconf_argv_split() return value
William Pitcock 56101390 2017-09-19T21:08:18 libpkgconf: fragment parsing: do not pass NULL to pkgconf_fragment_add()
William Pitcock e9fd43ca 2017-09-17T23:38:25 libpkgconf: clean up header includes (closes #137)
William Pitcock ebb4c735 2017-09-13T15:02:57 libpkgconf: client: resolve memory leak of filter lists (closes #130)
William Pitcock f808300a 2017-09-13T14:56:10 libpkgconf: pkg: some elements of virtual packages should be freed as they have heap-allocated portions (closes #132)
William Pitcock 9b55fc3c 2017-09-13T14:41:00 libpkgconf: cache: refactor the way package objects are marked as cached to avoid memory leaks (#133)
William Pitcock 048deb95 2017-09-13T14:35:28 headers: add C++ wrappers (closes #136)
William Pitcock b5da424e 2017-09-13T14:20:47 stdinc: drop _GNU_SOURCE definition
William Pitcock 906fef84 2017-09-08T20:09:12 libpkgconf: fragment: mark some inline match tables as const
William Pitcock b7839f6b 2017-09-08T20:06:52 libpkgconf: pkg: pkgconf_pkg_scan_dir: remove unnecessary static declaration of filebuf
William Pitcock 2681c29e 2017-09-08T20:04:49 libpkgconf: pkg: determine_prefix: use caller-provided buffer for reentrancy
William Pitcock adae7044 2017-09-08T20:01:34 libpkgconf: pkg: get_default_pkgconfig_path: use caller-supplied buffer for reentrancy
William Pitcock 1252d7ae 2017-09-08T19:53:52 libpkgconf: dependency: make dependency_to_str() private, use a caller-supplied buffer for reentrancy
William Pitcock 615bab3d 2017-09-08T19:48:31 libpkgconf: pkg: pkgconf_pkg_report_graph_error(): move already_sent_notice to pkgconf_client_t
William Pitcock b0ef708e 2017-09-08T19:23:04 libpkgconf: pkg: pkg_get_parent_dir(): use caller-supplied buffer instead of a static buffer to make reentrant
William Pitcock b9dac13e 2017-09-08T19:17:38 libpkgconf: tuple: pkgconf_tuple_parse(): remove unnecessary static buffer declaration
William Pitcock 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.
William Pitcock a6d6b88d 2017-09-08T18:27:04 libpkgconf: path: fix logic error in path relocation case when matching against a list (closes #129)
William Pitcock 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.
Maxin B. John 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>
Jussi Pakkanen 40fd9950 2017-06-19T20:03:00 Experiment to build with Meson (#119) * Initial Meson build definitions. * Install man page and headers.
William Pitcock 864b14e5 2017-06-16T21:06:01 Merge branch 'cmakeify' of github.com:dankegel/pkgconf
William Pitcock 03f78410 2017-06-16T15:27:23 libpkgconf: pkg: windows can use either \ or / as directory separators ref #118
William Pitcock 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.
William Pitcock 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
Dan Kegel 794aa501 2017-06-05T20:54:57 Tidy up a bit.
Dan Kegel 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
Dan Kegel 4ba2bac5 2017-06-05T14:00:02 Don't depend on libtool magic to control which symbols are exported from shared libraries
Dan Kegel 9258874e 2017-06-05T10:23:56 cmake: use right soversion for libpkgconf
Dan Kegel 8b4a4b83 2017-06-04T19:32:08 First draft of cmake install rules
Dan Kegel 4d7b4d7c 2017-06-04T19:19:55 Minimal tweaks to compile with Visual C 2015
Dan Kegel 35d0f63d 2017-06-04T19:19:01 win-dirent.h: MIT-licensed port of dirent to win32 from https://github.com/tronkko/dirent
Dan Kegel 251f7473 2017-06-04T15:17:51 First draft of cmake port
William Pitcock d280060e 2017-05-19T23:37:57 libpkgconf: pkg: add additional validation rules in post-parse phase
William Pitcock 0262b825 2017-05-19T23:33:49 libpkgconf: pkgconf_pkg_find(): correctly handle failure from pkgconf_pkg_new_from_file()
William Pitcock cf3c50ca 2017-05-19T23:21:58 libpkgconf: pkg: pkgconf_try_specific_path() and pkgconf_pkg_new_from_file() require a mutable client to release resources when encountering invalid packages
William Pitcock 3c7f82a7 2017-05-09T19:38:57 fragment: also protect -nostdinc, -nostdlibinc, -nobuiltininc
William Pitcock 74eb74a3 2017-05-09T19:37:23 fragment: handle -include similarly to -isystem and -idirafter
William Pitcock 9fde4be1 2017-05-09T19:34:01 fragment: also protect -ansi, -std=, -stdlib=, -pedantic, -trigraphs, -Wa, and -Wp fragments
William Pitcock c7a8e1e3 2017-05-09T19:30:02 fragment: give -Wl fragments the same protection as -pthread
William Pitcock 90d52e6c 2017-05-05T01:40:57 fragment: add -pthread as a special fragment
William Pitcock 6e643aa4 2017-03-29T18:00:57 libpkgconf: hopefully the last necessary tweak to quoting...
William Pitcock acac1f8e 2017-03-24T00:59:53 libpkgconf: pkg: show iteration depth when traversing
William Pitcock 81011ba5 2017-02-27T09:54:02 main: implement --short-errors (#115)
William Pitcock 794443a9 2017-02-25T16:04:55 dependency: break API to add tracepoints to dependency list building
William Pitcock e0c9569f 2017-02-25T15:53:50 fragment: add tracepoints
William Pitcock 01fe5743 2017-02-25T15:32:49 fragment: add new option to control escaping shell arguments
William Pitcock ae42261c 2017-02-25T15:04:08 argvsplit: refactor splitting state machine
John Hein 9b255d46 2017-01-26T15:27:48 If PKG_CONFIG_PATH element is a sym link, use the link destination instead of the link for inode caching checks. See issue 112 & issue 110 (https://github.com/pkgconf/pkgconf/issues)
John Hein 76b8e0a2 2017-01-24T23:30:58 Normalize the path to remove duplicate / separators rather than possibly altering the path with realpath(3). Leave sym links as is in path components. This is also cheaper than realpath(3), and works on platforms that don't have realpath(3). Note: if this is accepted, the check for realpath in configure.ac can be removed, and some docs that mention realpath will be adjusted.
William Pitcock d558e30a 2017-02-07T10:24:54 libpkgconf: argvsplit: quoting logic was simplified too much
William Pitcock b0c36cd1 2017-02-04T20:35:49 libpkgconf: pkg: add some trace points
William Pitcock 16ecf82f 2017-02-04T20:09:21 libpkgconf: client: bring up the default trace handler as early as possible
William Pitcock f7f0bfc4 2017-02-04T20:01:41 libpkgconf: cache: add trace points
William Pitcock 2b6bb5a2 2017-02-04T19:50:58 libpkgconf: client: add trace points
William Pitcock d20efff4 2017-02-04T19:49:59 libpkgconf: overhaul pkgconf_trace() a little
William Pitcock 820ad83e 2017-02-04T19:03:33 libpkgconf: pkg: add variable whitespace warnings back, using pkgconf_warn().
William Pitcock bef29308 2017-02-04T18:57:21 libpkgconf: client: add trace logging too
William Pitcock a6755cd7 2017-02-04T18:46:53 libpkgconf: client: add pkgconf_warn()
William Pitcock eb98a1e6 2017-02-04T18:46:33 libpkgconf: client: clean up various aspects of error/warn handlers
William Pitcock d884dc46 2017-02-04T18:41:16 libpkgconf: client: ensure error/warn handlers always have a sane default instead of actually NULL
William Pitcock c0b6a62c 2017-02-04T18:37:58 libpkgconf: client: add warn handler and getter/setter for both warn handler and error handler
William Pitcock 647c0255 2017-02-03T13:17:21 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
William Pitcock fe40bc33 2017-02-03T12:53:50 libpkgconf: argvsplit: do not consider ' or " to be equivalent to \ (#111)
William Pitcock 42d65b14 2017-02-01T13:03:06 libpkgconf: client: add INCLUDE environment to the cflags path filter list on windows
William Pitcock 1aa1a433 2017-01-26T13:38:57 Revert "libpkgconf: pkg: warn when encountering trailing whitespace" This reverts commit 2fa4fd09d02905e07397c2617bb1be735f6cd96b.
William Pitcock 2fa4fd09 2017-01-26T13:32:07 libpkgconf: pkg: warn when encountering trailing whitespace
William Pitcock ef1503b7 2017-01-26T13:10:52 libpkgconf: strip trailing whitespace
William Pitcock b06bbe75 2017-01-23T23:17:26 libpkgconf: path: only enable cygwin path relocation backend for msys (ref #72)
William Pitcock e87595b3 2017-01-23T12:42:13 libpkgconf: use a better check instead of stat() for pkg-config file iteration, avoiding a TOCTOU race condition identified by coverity
William Pitcock db65f935 2017-01-23T00:24:13 libpkgconf: iter: check list->tail for null, not list->head