Changes from previous version of pkgconf ======================================== Changes from 1.3.0 to 1.3.1: ---------------------------- * Features: - implement --short-errors * Bug fixes: - only consider a single package at a time with --print-requires, --print-requires-private, --print-provides, --modversion, --print-variable and --print-variables * Enhancements: - synchronized latest freedesktop.org changes to pkg.m4 - improve error reporting with legacy --atleast-version and similar flags. Changes from 1.2.0 to 1.3.0: ---------------------------- * Features: - pkgconf --debug now provides a facility for tracing most relevant libpkgconf operations - libpkgconf: add warn and trace handlers for warnings - replace realpath() with faster, lighter weight path normalization function (#112) - pkgconf CLI now emulates pkg-config quoting rules precisely, while allowing direct access to the actual fragments via libpkgconf * Bug fixes: - pkg: properly separate static and virtual packages so they are not inappropriately optimized out of the dependency graph (#108) - argvsplit: do not consider ' and " to have similar rules to escape sequences (#111) - pkg: strip trailing whitespace when parsing .pc files * Enhancements: - argvsplit basically rewritten from scratch - many code fixes spotted by coverity - add PKG_CONFIG_DONT_RELOCATE_PATHS and --dont-relocate-paths environment variables to disable path relocation feature if needed - remove extra whitespace that was present for compatibility with older pkg-config releases (#113) Changes from 1.1.0 to 1.2.0: ---------------------------- * Features: - new --path option lists the .pc files which provided the requested dependencies - new path relocation API: pkgconf_path_relocate(), which wraps functions such as realpath() and cygwin_conv_path(). - new --with-path option adds a path to the search list - new --define-prefix and --dont-define-prefix features enable automatic prefix detection for relocatable SDKs. this is mostly useful on windows. * Bug fixes: - fragments: fix even more edge cases involving token concatenation - path lists: don't attempt to collect path inodes if the filter is disabled - path lists: explicitly avoid uninitialised data for the path inode cache - client: properly handle --keep-system-cflags and --keep-system-libs * Enhancements: - windows: build libpkgconf as a DLL - fragments: only munge fragments if sysroot_dir is actually set - overall API: resolver flags have been moved to being a client-object setting instead of used for every function invocation Changes from 1.0.1 to 1.1.0: ---------------------------- * Features: - new Provides system allows alternate .pc files to provide a dependency - stable library API (with documentation): http://pkgconf.readthedocs.io/ * Enhancements: - make it possible to programmatically declare dependencies instead of just using the parser - testsuite migrated to run under kyua - provide a libpkgconf.pc file for consumers to use - pkgconf client: new --pure flag to enable dependency graph optimization in --static mode - significant .pc parser speedups using bsearch(3). - handle -idirafter in the same way as -isystem CFLAGS - learn toolchain "system" paths from GCC environment variables, if present - filter duplicate PKG_CONFIG_PATH (and other) entries by inode * Bug fixes: - fragments: fix another edge case involving empty tokens being concatenated onto previous tokens (#99) - libpkgconf: remove dependencies on config.h in public headers Changes from 1.0.0 to 1.0.1: ---------------------------- * Enhancements: - new stub implementation of --print-provides (#95) * Bug fixes: - fragments: fix an edge case involving path-only fragments and PKG_CONFIG_SYSROOT_DIR (#94) Changes from 0.9.12 to 1.0.0: ----------------------------- * Features: - new library: libpkgconf * Enhancements: - testsuite: use an explicit prefix on all tests - build: switch to automake * Bug fixes: - cast all usage of ctype(3) functions - do not expand variables passed via --define-variable for compatibility with pkg-config 0.29 - let the CFLAGS being user settable Changes from 0.9.11 to 0.9.12: ------------------------------ * Features: - add --list-package-names * Enhancements: - ensure -I and -L are never pushed back * Bug fixes: - fix implicit conversion warnings with variables over 31bits Changes from 0.9.10 to 0.9.11: ------------------------------ * Features: - add --validate * Enhancements: - add large file support checks in autoconf * Bug fixes: - fix private lib deduplication - handle --static correctly in some more esoteric scenarios Changes from 0.9.9 to 0.9.10: ----------------------------- * Features: * Enhancements: * Bug fixes: - Fix parser when dealing with commented lines Changes from 0.9.8 to 0.9.9: ---------------------------- * Features: - add a sub out --print-provides * Enhancements: * Bug fixes: - Fix parser when dealing with comments in fields Changes from 0.9.7 to 0.9.8: ---------------------------- * Features: * Enhancements: - Convert manpages to mdoc(7) * Bug fixes: - Fix parsing multiline fields Changes from 0.9.6 to 0.9.7: ---------------------------- * Features: * Enhancements: - Convert manpages to mdoc(7) * Bug fixes: - Fix parsing multiline fields Changes from 0.9.5 to 0.9.6: ---------------------------- * Features: - add a sub --debug * Enhancements: - Do not hardcode non-posix install(1) * Bug fixes: - fix --with-system-includedir and --with-system-libdir behaviour Changes from 0.9.4 to 0.9.5: ---------------------------- * Features: * Enhancements: - Make all variables but CFLAGS and LIBS case sensitive * Bug fixes: Changes from 0.9.3 to 0.9.4: ---------------------------- * Features: - Add a pkgconf(1) manpage * Enhancements: - Improve support for MacOS -framework * Bug fixes: Changes from 0.9.2 to 0.9.3: ---------------------------- * Features: - Add support for CFLAGS.private * Enhancements: - Support out of source build - Improved private libs deduplication * Bug fixes: Changes from 0.9.1 to 0.9.2: ---------------------------- * Features: * Enhancements: * Bug fixes: - Fix PKG_CONFIG_PATH being ignored when a .pc is directly supplied from command line Changes from 0.9.0 to 0.9.1: ---------------------------- * Features: * Enhancements: - --simulate: print depgraph operations - --simulate: print bytecode program as a human-readable AST * Bug fixes: - reset parser state on new package atom Changes from 0.8.12 to 0.9.0: ---------------------------- * Features: * Enhancements: - Rework the internal cache API - Rework the internal code to use the new pkg_list_t framework - Rework PKG_CONFIG_PATH handling code * Bug fixes: - fix multi-recursion with -framework