Age | Commit message (Collapse) | Author |
|
Now the curl URL API always fails to parse the empty string, so
our test was changed to reflect this.
|
|
|
|
|
|
Also updated the remote fetch repository, as the previous upstream
repository has since been archived.
|
|
As a library, that target depends implicitly on the toolchain,
hence the already present export of "TOOLCHAIN_CONFIG", but also
the environment for using that toolchain. So, export "ENV" as well.
|
|
... so that they can be served and hence the corresponding
dependency can be absent.
|
|
... glibc provides synchronization stubs for single-threaded
environments as weak symobls. When linking pthreads, these
weak symbols must be replaced by the strong symbols provided
by the pthread library. For dynamically linking pthreads,
this is done automatically. However, to support this for
static linking, we must ensure to link the whole archive.
|
|
As we patch that API, it also can implicitly depend on the
toolchain (and hence its config), if we use a compiled implementation
of patch. Making the TOOLCHAIN_CONFIG a flexible part of the config
allow to, again, build static binaries as usual.
|
|
|
|
... as it is used by various libaries that are exported independently.
|
|
... to allow target-level caching.
|
|
|
|
... to improve portability
|
|
|
|
... 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.
|
|
... and use "linux" as default for OS. If TARGET_ARCH is
"arm" or not set, link against -latomic (for required
targets).
|
|
... to pass along toolchain settings for current and future
toolchain definitions. Configuration variable
COMPILER_FAMILY is replaced by TOOLCHAIN_CONFIG["FAMILY"].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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).
|
|
Also adds the extra targets needed by protobuf v23.4, which now has
a dependency on abseil, and by grpc v1.56.2.
|
|
|
|
|
|
|
|
... as this would result in cares used in a different configuration,
causing conflicts if cares is used directly.
|
|
... as they could contain run-libs.
|
|
Using only our third-party descriptions, the build is independent of
PKG_CONFIG_PATH. However, when combinging our third-party descriptions
with dependencies taken from the system via pkg-config there is a
dependency of PKG_CONFIG_PATH due to those indirect dependencies.
Therefore, allow flexible PKG_CONFIG_PATH to support such a mixed
bootstrapping.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This update also removes upb as external dependency.
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
...as required by grpc v1.53.0
|
|
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
... and align lib names to commonly used pkg names.
|
|
... 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.
|
|
|
|
... as the BUILD.bazel files that are the basis for the TARGETS
files seen to declare the dependencies in an incomplete way. Target
`grpc_base_c` needs `grpc_init()` and `grpc_shutdown()` from target
`grpc` (source `init.cc`). Adding this target dependency results
in a cycle.
This commit solves the issue by producing fewer but larger
libraries (as done in GRPC's CMakeLists.txt):
- `libgpr.a`: all gpr code
- `libgrpc.a`: all gprc code, depending on `libgpr.a`
- `libgrpc++.a`: all grpc++ code, depending on `libgrpc.a`
|
|
|