forked from ariadne/pkgconf
356 lines
11 KiB
Plaintext
356 lines
11 KiB
Plaintext
Changes from previous version of pkgconf
|
|
========================================
|
|
|
|
Changes from 1.3.7 to 1.4.0:
|
|
----------------------------
|
|
|
|
* Notable libpkgconf API changes:
|
|
- pkgconf_pkg_t.requires has been renamed to pkgconf_pkg_t.required for
|
|
C++20 compatibility.
|
|
|
|
* Enhancements:
|
|
- pkgconf and libpkgconf has been ported to Windows as native binaries.
|
|
- improved compatibility with freedesktop.org pkg-config's ${pc_sysrootdir}
|
|
usage pattern.
|
|
- do not mention PKG_CONFIG_SKIP_CONFLICTS environmental variable when
|
|
simplified errors are requested, as with PKG_CONFIG_PATH.
|
|
- the dependency solver now stores solutions to dependency graph elements
|
|
it visits, allowing for the dependency graph to be incrementally solved.
|
|
this improves dependency solving time by an order of magnitude in most
|
|
cases.
|
|
- new --env option allows for exporting cflags/libs fragments as export
|
|
variables
|
|
- new support for building pkgconf with CMake and Meson
|
|
- improved compiler warning flag detection on autoconf and CMake
|
|
- removed PKGCONF_BUFSIZE allocations from the stack where possible
|
|
- allow for customizing the way fragment lists are rendered using a callback API
|
|
- new support for --msvc-syntax output using the new fragment rendering callbacks
|
|
- fragments are now quoted according to POSIX literal rules
|
|
- new variables on the pkg-config builtin:
|
|
- ${pc_system_includedirs}: the system includedir search path known by pkgconf
|
|
- ${pc_system_libdirs}: the system libdir search path known by pkgconf
|
|
- new manpages:
|
|
- pc(5) describing pkgconf's interpretation of pkg-config .pc files
|
|
- pkg.m4(7) describing the autotools macros bundled with pkgconf
|
|
|
|
* Bug fixes:
|
|
- fix pkgconf_pkg_t.id generation on native Windows where either \ or / are usable
|
|
as path separator.
|
|
- add missing --modversion to --help output
|
|
- do not evaluate module paths for modules that are not actually on disk
|
|
- ensure we work on a zeroed buffer prior to calling realpath(2) with it
|
|
- fix path deduplication edge case when cache-inodes feature is unavailable
|
|
- fix path rewriting regression with PKG_CONFIG_SYSROOT_DIR when
|
|
PKG_CONFIG_SYSROOT_DIR is set to /
|
|
- fix crash in edge case where a .pc file has misquoting in a fragment list.
|
|
- fix logic edge case when comparing relocated paths
|
|
|
|
Changes from 1.3.6 to 1.3.7:
|
|
----------------------------
|
|
|
|
* Enhancements:
|
|
- improved diagnostics for malformed packages.
|
|
|
|
* Bug fixes:
|
|
- reject packages which contain incomplete metadata in post-parse phase.
|
|
|
|
Changes from 1.3.5 to 1.3.6:
|
|
----------------------------
|
|
|
|
* Enhancements:
|
|
- add many cflags to the protected set: -Wa, -Wl, -Wp, -ansi, -std=, -stdlib=,
|
|
-pedantic, -pthread, -trigraphs, -nostdinc, -nostdlibinc, -nobuiltininc.
|
|
|
|
* Bug fixes:
|
|
- handle -include cflag fragments properly.
|
|
|
|
Changes from 1.3.4 to 1.3.5:
|
|
----------------------------
|
|
|
|
* Bug fixes:
|
|
- fix --variable output for compatibility some broken configure scripts when they
|
|
request the same variable from multiple packages
|
|
|
|
Changes from 1.3.3 to 1.3.4:
|
|
----------------------------
|
|
|
|
* Bug fixes:
|
|
- fix a quoting issue exposed by the Go testsuite
|
|
|
|
Changes from 1.3.2 to 1.3.3:
|
|
----------------------------
|
|
|
|
* Bug fixes:
|
|
- back out disabling the dependency resolver for single-package queries, it caused
|
|
too many regressions.
|
|
|
|
* Enhancements:
|
|
- allow explicitly disabling the dependency resolver via new environment variable,
|
|
PKG_CONFIG_MINIMUM_TRAVERSE_DEPTH=1. while pkgconf could already do this using
|
|
--minimum-traverse-depth=1, other pkg-config implementations do not have this
|
|
option, so adding an environment variable allows to make better use of this
|
|
feature (other implementations won't error due to unknown option this way)
|
|
|
|
Changes from 1.3.1 to 1.3.2:
|
|
----------------------------
|
|
|
|
* Bug fixes:
|
|
- rewrite handling of --modversion, --print-variables and --variable to not require
|
|
the dependency resolver
|
|
- ensure we disable the dependency resolver in all cases where it is a single-package
|
|
query (1.3.1 did not go far enough)
|
|
|
|
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
|