summaryrefslogtreecommitdiff
path: root/etc
AgeCommit message (Collapse)Author
2024-03-14export of gsl: add missing flexible_config "ENV"Klaus Aehlig
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.
2024-03-13Export more third-party top-level entry pointsKlaus Aehlig
... so that they can be served and hence the corresponding dependency can be absent.
2024-02-26Update remote execution protocol to support blob splicingSascha Roloff
The latest remote execution protocol version includes a blob splicing RPC and allows for the negotiation of the used chunking algorithm between client and server.
2024-02-15defaults: Support fully static linkingOliver Reiche
... of all produced binaries, including the intermediate ones: protoc and grpc_cpp_plugin.
2024-02-15Replace glibc sync stubs when linking pthreadsOliver Reiche
... 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.
2024-02-02Fix export of remote APIKlaus T. Aehlig
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.
2024-01-22curl: Support selectively enabling non-HTTPOliver Reiche
2024-01-09Export ["@", "abs", "absl/base", "malloc_internal"]Klaus Aehlig
... as it is used by various libaries that are exported independently.
2024-01-08repos.json: ignore special in grpc source treeKlaus Aehlig
The source archive of grp contains upwards symlinks (that do not point outside the source directory). For a normal build this is not an issue; we still can generate a git tree from this archive and the parts we use of this archive never even touch a directory containing an upwards symlink. However, when just-mr desires to get this root from a just serve instance, the tree would have to be synced to the remote-execution CAS and hence the restriction applies that we only consider non-upwards relative symlinks as first-class citizens. Therefore, ignore all symlinks in this archive and this way, without changing the actual build, obtain an easy-to-manage root.
2023-12-21Export ["@", "json", "", "json"]Klaus Aehlig
... to allow target-level caching.
2023-11-29Do not drop curl for bootstrapOliver Reiche
... as it is part of just-mr, which is an essential part of the build system installation by now.
2023-11-22Patch remote execution protocol with blob splitting APISascha Roloff
2023-11-02bootstrap: Add libarchive dependencyPaul Cristian Sarbu
This is brought in by the tree-of-archive rpc of just serve. Also adds lzma and bzip2 as transitive dependencies.
2023-09-27Use standard tools for pkg-configKlaus Aehlig
2023-09-13just serve: Basic service implementation with commit-of-tree RPCPaul Cristian Sarbu
Initial version, to be extended later with other RPCs.
2023-09-01Update fmt to 10.1.1Klaus Aehlig
2023-08-28Silence warnings produced by older compilersOliver Reiche
... 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.
2023-08-28absl: avoid off64_tKlaus T. Aehlig
... to improve portability
2023-08-24imports: Silence warnings of external codeOliver Reiche
2023-08-24lzma: Add missing definesOliver Reiche
2023-08-21external: Update zlib to v1.3Paul Cristian Sarbu
Old K&R function definitions got cleaned upstream, which removes many warnings when building zlib with more recent compilers.
2023-08-21bundled absl: configure in a portable wayKlaus Aehlig
... 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.
2023-08-18absl: Do not require OS and ARCHOliver Reiche
... and use "linux" as default for OS. If TARGET_ARCH is "arm" or not set, link against -latomic (for required targets).
2023-08-17absl: Drop unused variablesOliver Reiche
2023-08-16Introduce configuration variable TOOLCHAIN_CONFIGOliver Reiche
... to pass along toolchain settings for current and future toolchain definitions. Configuration variable COMPILER_FAMILY is replaced by TOOLCHAIN_CONFIG["FAMILY"].
2023-08-16just: Add defaults for patchOliver Reiche
2023-08-11external: Fix missing abseil export targetsPaul Cristian Sarbu
2023-08-11external: Clean up absl/random targetsPaul Cristian Sarbu
2023-08-11external: Update libcurl to v8.2.1Paul Cristian Sarbu
2023-08-11external: Update libarchive to v3.7.1Paul Cristian Sarbu
2023-08-11external: Update c-ares to v1.19.1Paul Cristian Sarbu
2023-08-09Update fmt libraryKlaus Aehlig
2023-08-08absl: export reused library "raw_logging_internal"Klaus Aehlig
2023-08-08grpc and protobuf: use c++17Alberto Sartori
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>
2023-08-08update grpc to version 1.56.2Alberto Sartori
2023-08-08external: Update protobuf to v23.4Paul Cristian Sarbu
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).
2023-08-08external: Update abseil to LTS 20230125.3Paul Cristian Sarbu
Also adds the extra targets needed by protobuf v23.4, which now has a dependency on abseil, and by grpc v1.56.2.
2023-08-08external: Fix absl export targetsPaul Cristian Sarbu
2023-07-21Update libgit2 to 1.7.0Klaus Aehlig
2023-06-28Update remote execution api to preliminary version v2.3Sascha Roloff
In preparation for the introduction of our blob splitting protocol as extension to the remote execution api, we need to update the used remote execution api to a more recent version than v2.0.0. Since no new tags are available right now, we update to the preliminary protocol version v2.3 according to the following discussion: https://github.com/bazelbuild/remote-apis/issues/253
2023-06-20libarchive: Enable liblzma supportOliver Reiche
2023-06-20imports: Add liblzmaOliver Reiche
2023-06-16TARGETS.curl: do not configure COMPILER_FAMILYKlaus Aehlig
... as this would result in cares used in a different configuration, causing conflicts if cares is used directly.
2023-06-06bootstrap: Improve OS/ARCH determinationOliver Reiche
... by making variables `os` and `arch` accessible to bootstrap hints. Furthermore, support the hints `os_map` and `arch_map` for mapping Justbuild's OS/ARCH to the terminology used by the repository. Values not covered by these maps will be passed through.
2023-05-30defaults: Separate toolchain from compile flagsOliver Reiche
2023-05-30imports: Compose toolchain via install-with-depsOliver Reiche
... as they could contain run-libs.
2023-05-24Split off tests into a separate logical repositoryKlaus Aehlig
This allows better separation and, in particular, repositories needed only for tests do not have to be provided for building the tools. This also better documents which dependencies are only needed for testing.
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-12external: silence additional warnings from dependencies...Paul Cristian Sarbu
...missed so far. These are not actionable from our side.