summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-15Relase 1.1.0~beta2v1.1.0-beta2Klaus Aehlig
2023-05-15Add pkg-config target for re2Klaus Aehlig
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.
2023-05-15Third-party descriptions: be flexible on PKG_CONFIG_PATHKlaus Aehlig
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.
2023-05-15memcheck: fix race in libgit2...Paul Cristian Sarbu
...caused by incorrectly setting and resetting the library internal state and the misuse of pthreads in libgit2. Normally, git_libgit2_init and git_libgit2_shutdown should span the life of a worker thread in order to be safely used. However, due to an incorrect implementation of libgit2's threadstate with pthreads, on unix systems there is a race condition. Until the use of pthread_key_t is corrected in libgit2, we need to apply a workaround by always ensuring that the main thread is the first thread reaching the GitContext constructor.
2023-05-15Install instructions: describe package building of just-mrKlaus Aehlig
... using the repository and build configuration written out by the bootstrap process.
2023-05-12external: silence additional warnings from dependencies...Paul Cristian Sarbu
...missed so far. These are not actionable from our side.
2023-05-12Clean up export structure of remaining just dependenciesSascha Roloff
2023-05-12Clean up export structure of libabslSascha Roloff
2023-05-10man: Fix orgmode option for section idOliver Reiche
2023-05-09end-to-end tests: be independent of the user's home directoryKlaus Aehlig
... and, in particular, do not read any rc files for just-mr the user might have.
2023-05-09test: Do not rely on shell built-in behaviorOliver Reiche
... in particular echo(1), which behaves different on dash and sh.
2023-05-08tutorial/proto: Also show how to build just the CC bindingsKlaus Aehlig
2023-05-05rules: Test symbol and macro separately for auto configOliver Reiche
2023-05-05GitTree: Check optional before accessing itOliver Reiche
... and drop unecessary IsTree() check.
2023-05-04external: cleanup warnings from our dependenciesPaul Cristian Sarbu
2023-05-03grpc: fix build fail with protobuf in debug modePaul Cristian Sarbu
2023-05-03protobuf: silence invalid-noreturn warningPaul Cristian Sarbu
2023-05-03grpc: fix google_apis proto targets dependenciesPaul Cristian Sarbu
2023-05-02["", ""]: Fix docstring on COMPILER_FAMILYLeah Neukirchen
While "gcc" is the name of the standard C compiler in the gnu compiler family, the name of the compiler family, as expected by the "COMPILER_FAMILY" configuration variable, actually is "gnu". Fix this in the documentation string of the default export target.
2023-04-28Release 1.1.0~beta1v1.1.0-beta1Klaus Aehlig
2023-04-28external: Update protobuf to version 3.21.12Sascha Roloff
2023-04-28external: Update zlib to version 1.2.13Sascha Roloff
2023-04-28external: Update c-ares to version 1.17.2Paul Cristian Sarbu
2023-04-28external: Update ssl to version 6195bf8Paul Cristian Sarbu
2023-04-28external: Update re2 to version 2022-04-01Paul Cristian Sarbu
2023-04-28external: Update grpc to v1.53.0Sascha Roloff
This update also removes upb as external dependency. Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2023-04-28external: Update google_apis to 2f9af29...Paul Cristian Sarbu
...as required by grpc v1.53.0
2023-04-28Update absl to LTS 20230125.0Sascha Roloff
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2023-04-27bootstrap: Do not prune non-local-depsOliver Reiche
Dependencies (type archive/zip) that are not required for bootstrapping just are usually marked with the hint "drop", in order to avoid fetching non-required archives. This affects only non-local dependencies, as local dependencies (from the system) will not fetch anything and therefore do not need to be dropped. With this commit, the "drop" hint for declared non-local-deps will be ignored during package builds. In this way, the user can specify dependencies that should not be dropped (despite not strictly required to bootstrap just). Consequently, those dependencies remain in the generated bootstrap configuration, in case the user wants to use this configuration to build other targets, such as just-mr.
2023-04-27bootstrap: Write build config to working directoryOliver Reiche
... so in can be used (in combination with the repository config) to build other just targets, such as just-mr.
2023-04-27imports: Support pkg-config for curl/archive/ares/zlibOliver Reiche
... and align lib names to commonly used pkg names.
2023-04-27imports: Simplify pkg-config bootstrap definitionsOliver Reiche
2023-04-27Remove unused dependency to bzip2Oliver Reiche
2023-04-27just-mr: Fix config always being requiredPaul Cristian Sarbu
In just-mr the config file should only be needed if: 1. We call just with a subcommand requiring a config file, or 2. We use one of just-mr's own commands (except version).
2023-04-26imports: Switch to Microsoft GSL implementationOliver Reiche
... 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.
2023-04-26just-mr: Fix warning about unused lambda captureOliver Reiche
2023-04-26Tutorial: take latest commit of rules-ccKlaus Aehlig
2023-04-26rules: Support mixing system/toolchain for protoc/grpcOliver Reiche
2023-04-26rules: Fix propagation of PATH for protocOliver Reiche
2023-04-26bazel_network: grpc++ is not a direct dependencyOliver Reiche
2023-04-26evaluator: Improve evaluation error reportingOliver Reiche
2023-04-26grpc: Fix non-deterministic lib combineOliver Reiche
2023-04-26Test tutorial: defaults from shell/test need to be declaredKlaus Aehlig
... also for CC tests, as this contains the shared tools, e.g., for flakyness handling.
2023-04-24["CC/test", "test"]: Support RUNS_PER_TESTKlaus Aehlig
2023-04-24["CC/test", "test"]: factor out test-inputKlaus Aehlig
In this way, the test action gets canonical, so adding RUNS_PER_TEST support to this rule should be easily mergable into downstream rules.
2023-04-21["test/end-to-end", "with remote"]: allow for the usage of a given remote ↵Alberto Sartori
endpoint This can be useful, for example, to test if justbuild can successfully communicate with the specified remote execution service.
2023-04-20["CC/proto", "library"] proto deps are publicKlaus Aehlig
... also for non-service libraries; the generated .ph.h files may well refer, e.g., the well-known protos.
2023-04-19just-mr archive: subdir matters!Klaus Aehlig
When deciding if two archive-based repositories create the same root it is not enough to compare the contents of the archive; it also matters which subdirectory we will take as root. This is especially important, if we take the same archive on the one hand for the code and also the example subdir for testing. Additionally, we cannot ignore the archive type; there are tar archives that are also zip archives, but with different content. (Tar only cares about the initial segment till it finds the two empty blocks; zip has the index at the end and ignores any initial segment that might have been prepended to a valid zip archive.)
2023-04-19Install instruction: mention the preferred just-mrv1.1.0-alpha+20230419Klaus Aehlig
2023-04-19CC/proto toolchain staging: add missing elseKlaus Aehlig
If we have a provided toolchain, we stage it to the corresponding subdirectory. Otherwise, we still have to provide a value of the correct type (a map) rather than the default else (which is the empty list).