The BitBake friendly release
-
The
Program.Test
template no longer fails with syntax error when computing
test coverage. -
The
Toolchain
module no longer misidentifies clang on FreeBSD. -
The
Toolchain
module has initial integration test suite that checks the real
interaction with the host system. The integration test suite has reference
data for FreeBSD and MacOS. -
The
Coverity
module gained support for checking if scan result is viable for
submission and an ability to submit the scan automatically, using the new
upload-coverity-scan
target. See the manual page for additional information
about project configuration. -
ZMK now supports additional static analysis tools:
clang-tidy
,clang-analyzer
(viascan-build
),cppcheck
andsparse
. They each define a CamelCase-named
module and aSources
attribute which includes the set of files to scan. -
The
distclean
no longer forgets to runclean
target. -
ZMK now allows installing multiple headers simultaneously with the
use of theHeaderGroup
template.HeaderGroup
supports group customization of
InstallDir
andInstallMode
and otherwise behaves identical to the Header
template used multiple times, manually. -
The
ClangTidy
template now passes-- $(CPPFLAGS)
if there are non-empty
CPPFLAGS
defined. This can be used to provide include paths and macro
definitions appropriate for the project. -
The
Sparse
module now passes$(Sparse.Options)
viaCFLAGS
set at the environment
level before invoking recursive$(MAKE)
. This avoids clobberingCFLAGS
set in
the build system (e.g. to pass-fpic
) as make treats command line overrides
differently from environment values. -
The
Configure
module now supports setting the target triplet. The generated
configuration script handles the--target=
command line option and the result
is available as$(Configure.TargetArchTriplet)
. -
The
configure
script now accepts--exec_prefix=
as an alternate spelling of
--exec-prefix
. -
The
configure
script now accepts but ignores--oldincludedir
for compatibility
with some build systems. -
The
Configure
module now supports configuration of static and dynamic
libraries with the new configuration script options:--enable-static
,
--disable-static
,--enable-dynamic
and--disable-dynamic
. Both library types
are enabled by default. The values are stored and inhibit expansion of
appropriate templates. -
The
Header
andHeaderGroup
template no longer expand$(includedir)
too early,
allowing customizedincludedir
to be respected. -
The
Configure
module no longer breaks in out-of-tree builds and no special
care is required to support that anymore. -
ZMK is now able to use an explicit sysroot for all activities.
The configure script now accepts--with-libtool-sysroot
which sets
$(Configure.SysRoot)
. TheToolchain
module defines$(Toolchain.SysRoot)
which
defaults to whatever was configured. The templatesObjectGroup
,Library.So
,
Library.DyLib
andProgram
now pass the sysroot argument when
Toolchain.SysRoot
is non-empty. Lastly thePVS
module similarly passes
a non-empty sysroot when invoking the pre-processor.