Age | Commit message (Collapse) | Author |
|
... using the already-committed configuration file and the
version of clang-tidy that was imported from the toolchain.
|
|
...together with its dependencies:
- boringssl dec0d8f681348af8bb675e07bd89989665fca8bc
- protobuf v29.0
- abseil 20240722.0
Also update the bootstrap command for ssl to account for the fact
that now also the crypto library has fully moved to C++ and the
location of its sources has changed.
|
|
|
|
Update also direct dependencies:
- boringssl b8b3e6e
- google_apis fe8ba05
- protobuf v27.2
Also update the bootstrap build description for crypto library.
Remove ssl patch for gcc-14 build as fix is now in upstream.
Remove bytestream.proto patch as fix is now in upstream.
Target utf8_range now taken only from protobuf, where it is first
defined.
For now, upb dependencies in grpc still taken from its own
third_party subdirectory, as it is still kept synchronized with
the corresponding tree in the corresponding protobuf version.
|
|
... inheriting path from CC and shell defaults.
|
|
|
|
... as the default summarizer can make good use of that,
if provided.
|
|
|
|
|
|
... which is needed until this is merged:
https://boringssl-review.googlesource.com/c/boringssl/+/68227
|
|
... to simplify definition.
|
|
|
|
... that is no longer used since d762bfa1953933dfac0a29a74523c25719396b8c
|
|
- update boringssl to commit ae72a45
- update protobuf to v25.1
- update abseil to v20240116.0 (including patches)
Also add mirrors for third-party dependencies where known and
hashes correspond.
|
|
... of all produced binaries, including the intermediate
ones: protoc and grpc_cpp_plugin.
|
|
|
|
... in particular options like '-Wno-array-parameter', which
are needed to silence newer compilers are not supported by
older ones. Hence, add '-Wno-unknown-warning-option' for all.
|
|
|
|
|
|
... by disabling auto-configuration. The problem that the result
of this auto-configuration depends on the language standard used
and may (and in case of libproto does) leak into public interfaces
of consuming libraries; this would require every user of a library
with a public dependency of absl to use the same language standard
that library was built with. Such a requirement makes the rules
hard to use in a portable way.
|
|
|
|
... to pass along toolchain settings for current and future
toolchain definitions. Configuration variable
COMPILER_FAMILY is replaced by TOOLCHAIN_CONFIG["FAMILY"].
|
|
|
|
|
|
Due to a possible clang issue, protobuf v23.4 fails on debian-12
built with c++20. As such, protobuf and its consumer grpc have
been set to build with c++17 until this is resolved upstream.
Co-authored: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
This corresponds to the highest current version found in popular
distros (in this case, the one in Arch Linux).
The abseil library is now a dependency of protobuf (for logging).
|
|
|
|
|
|
... as they could contain run-libs.
|
|
...missed so far. These are not actionable from our side.
|
|
|
|
|
|
|
|
|
|
This update also removes upb as external dependency.
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
... with two minor code base changes compared to previous
use of gsl-lite:
- dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not
wrapped in gsl::not_null<> anymore, due to lack of support
for wrapping std::unique_ptr<>. More specifically, the
move constructor is missing, rendering it impossible to
use std::vector<>::emplace_back().
- utils/cpp/gsl.hpp: New header file added to implement the
macros ExpectsAudit() and EnsureAudit(), asserts running
only in debug builds, which were available in gsl-lite but
are missing in MS GSL.
|
|
|
|
...and enforce this through the build description.
|
|
...starting from a template (aka configuration file), and using the
variables defined via a ["CC/auto", "config"] target.
For example, to use a CMake configuration file, the targets could be
defined as follows
...
, "foo-header-blueprint":
{ "type": ["@", "rules", "CC/auto", "config_file"]
, "input": ["config.hpp.in"]
, "output": ["config.hpp"]
, "stage": ["foo"]
, "magic_string": ["cmakedefine"]
, "@only": ["true"]
}
, "foo-header":
{ "type": "configure"
, "target": "foo-header-blueprint"
, "config":
{ "type": "let*"
, "bindings":
[ [ "defines"
, [ ["var", "\"string value\""]
, ["FOO_MAJOR_VERSION", "3"]
, ["use_this_feature", true]
]
]
]
, "body": {"type": "env", "vars": ["defines"]}
}
}
...
The file config.hpp.in may look as follows
#ifndef config_cmake
#define config_cmake
#cmakedefine var
#cmakedefine use_this_feature
#cmakedefine01 use_this_feature
#cmakedefine unused
#define FOO_VERSION @FOO_MAJOR_VERSION@
#define DONT_TOUCH_THIS ${FOO_MAJOR_VERSION}
#endif
and the generated configuration file foo/config.hpp is
#ifndef config_cmake
#define config_cmake
#define var "string value"
#define use_this_feature
#define use_this_feature 1
/* #undef unused */
#define FOO_VERSION 3
#define DONT_TOUCH_THIS ${FOO_MAJOR_VERSION}
#endif
|
|
Main updates to build description:
- remove unused defines of type "HAVE_<lib>_H"
- add new variables that allow users to set explicitly the presence of some lib symbols
- replace most defines of type "HAVE_<lib>" with "USE_<lib>" (to match the flag names)
- added GLOBs (where it made sense) for increased maintainability
|
|
Changes in build description:
- fix capitalization of ENABLE_LIBGCC flag.
- add new HIDE_SYMBOLS flag to allow hiding of export symbols; used
similar logic as for libcurl to circumvent the original
CHECK_C_SOURCE_COMPILES macro use.
|
|
Changes to build description:
- new USE_SHA256 flag
- removed "Generic" option for USE_SHA1
- updated to the new source code structure
(split "src/git2" into "src/libgit2" and "src/util")
|
|
... and suppress new warnings thrown by clang-15.
Co-authored-by: Michael Thies <mail@mhthies.de>
|
|
|
|
|
|
|
|
|
|
|
|
|