Age | Commit message (Collapse) | Author |
|
Justbuild does not directly depend on re2, hence the indirect
dependency on re2 is taken care of by pkg-config. Nevertheless, it
is useful to have such a file for packaging that takes most of the
dependencies from the system, but uses some of the dependencies
bundled; a particular such use case is taking the bundled versions
of proto, grpc, and absl, as those might be packaged in an
incompatible version.
|
|
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.
|
|
...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>
|
|
...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`
|
|
|
|
|
|
... now that we're using the unpatched version (after adding a
work around in our code base).
|
|
|
|
Major version release, with important fixes for our use-case.
|
|
...and enforce this through the build description.
|
|
This is the last (and recommended) revision of minor v1.5.
|
|
The distdir should only contain the direct dependencies of just.
Co-authored-by: Klaus Aehlig <klaus.aehlig@huawei.com>
|
|
|
|
tests have been updated accordingly
|
|
|
|
|
|
...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
|
|
|
|
|
|
remote endpoint
|
|
google::longrunning::Operations::GetOperation
For each action that is executed, an entry is added to a shared thread
safe cache. Once the number of operations stored exceeds twice 2^n,
where n is given by the option --log-operations-threshold, at most 2^n
operations will be removed, in a FIFO scheme.
|
|
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
|
|
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")
|
|
CXX libs
|
|
... while following symbolic links. In this way, bootstrapping
is possible against preinstalled dependencies that symbolic links
or special files in their directories.
|
|
...as it is consumed by both grpc and libcurl. This makes sure
that both those libraries see the same ares target.
|
|
... by using an explicit tree reference.
|