summaryrefslogtreecommitdiff
path: root/CC/foreign
AgeCommit message (Collapse)Author
2025-05-07Do not assume out_dirs existOliver Reiche
2025-02-13foreign rules: support extra remote-execution propertiesKlaus Aehlig
Those rules call a foreign build system in a single action. Obviously, those actions are quite different compared to normal build actions; at the very least, they require more time and resources and generally also spawn more than a single process. We already support scaling up the action time out. Now support also adding additional execution properties, so that they can be schedulded to dedicated workers or endpoints.
2025-02-13cmake-build: actually honor TIMEOUT_SCALEKlaus Aehlig
2024-12-16"CC/foreign/shell" rules: fix documentationKlaus Aehlig
... to match what the rule actually does.
2024-12-02expand_exec: Fix quoting for older dash shellsOliver Reiche
... versions prior to 0.5.11.
2024-11-06Prefer built-in "nub_left"Klaus Aehlig
Now that justbuild 1.4 is available, the workaround of defining "nub_left" in terms of "reverse" and "nub_right" is no longer necessary.
2024-09-27Do not expand variables in PATHKlaus Aehlig
... as otherwise we will use the same string in two ways: literal and as a value to the expanded, making proper quoting impossible. Moreover, it is not necessary to expand TOOLCHAIN: pointers into the toolchain can be passed through the "bin dirs" part of the toolchain.
2024-06-11["CC/foreign/shell", "data"] honor shell toolchainKlaus Aehlig
2024-06-11foreign rules: fix computation of absolute pathsKlaus Aehlig
When setting CC, etc, in foreign rules, it is often useful to have it set as absolute path. This originally was achieved using realpath(1). This, however, implies that symbolic links are followed as well, which confuses some compilers if they are not called with correct argv[0]. Therefore, 4e86f756bddca8db402502be47c0825e1e2aeb0d tries to replace this by concatenation with $(pwd), which, however, is only correct for tools brought locally by the toolchain. Hence fix the test by not evaluating it in the shell at all and rather using the knowledge about toolchain versus system tools that the rules have anyway.
2024-05-22CC/foreign: support shell toolchainKlaus Aehlig
2023-11-30CC/foreign/shell rules: avoid empty path segmentKlaus Aehlig
... and hence accidentally picking up executables from the current working directory.
2023-11-20foreign: Implement shell libraryOliver Reiche
2023-11-20foreign: Only resolve symlinks on user requestOliver Reiche
2023-11-20foreign: Do not follow symlinks of tool pathsOliver Reiche
2023-11-20defaults: Fix flag inheritanceOliver Reiche
... which should accumulate values from all base targets unless the flag type (CFLAGS, CXXFLAGS, or LDFLAGS) is explicity overwritten by the inheritor.
2023-09-27foreign: Fix missing path unionOliver Reiche
2023-08-30foreign: Implement 'expand_exec' via POSIX shellOliver Reiche
... and coreutils by default. This has the advantage that no C compiler and no specific toolchain definition is required to build rule-internal tools. 'expand_exec' is provided via an implicit target with proper config transition for host, so it could be overwritten by the rule user. The C code of the previous implementation is still kept as an example.
2023-08-25foreign: Add support for ["foreign/CC/shell", "data"]Oliver Reiche
2023-08-25foreign: Fix resolve abs path of build toolsOliver Reiche
2023-08-25foreign: Support defaults for foreign rulesOliver Reiche
2023-08-25foreign: Resolve DESTDIR symlinks instead of deleting themOliver Reiche
2023-08-25foreign: Do not use "/usr/bin/which"Oliver Reiche
... because it is not part of the coreutils and we cannot rely on it being available.
2023-08-25foreign: Do not hardcode shell locationOliver Reiche
2023-08-16rules: Propagate PATH list from defaultsOliver Reiche
... instead of creating an ENV from it and propagating this. The idea is to keep PATH entries separate and only join them with ":" when we need it. In this way, we can accumulate PATHs from multiple defaults later, and perform a deduplication ("nub_left") to shorten the final string length.
2023-07-10cmake: Support "targets" fieldOliver Reiche
2023-07-10foreign: Support overriding defaults via optionsOliver Reiche
2023-07-10cmake: Make $(AR) available to optionsOliver Reiche
2023-07-10foreign: Support expanding env variables in optionsOliver Reiche
2023-07-10foreign: Expose localbase via env var $LOCALBASEOliver Reiche
2023-07-10make: Support staging of deps to localbaseOliver Reiche
2023-06-01CC/foreign rules: support timeout scalingKlaus Aehlig
... and set a sensible default.
2023-05-31foreign/make: Do not set -j without job numberOliver Reiche
2023-05-31Update cmake rules to honor dependenciesSascha Roloff
2023-05-30rules-cc/foreign: Set rpathOliver Reiche
2023-05-30rules-cc/foreign: Support toolchain depsOliver Reiche
2023-05-30rules-cc/foreign: Also redirect stderr to log fileOliver Reiche
2023-05-30rules-cc/foreign/make: Support configure stepOliver Reiche
2023-05-30rules-cc/foreign/make: Support multiple targetsOliver Reiche
2023-05-30rules-cc/foreign: Support project sub-directoryOliver Reiche
2023-05-30rules-cc: Support for external toolchainsOliver Reiche
2023-05-30rules-cc: Use field_map_provider for default-ENVOliver Reiche
2023-05-16Set CMAKE_{SOURCE,BINARY}_DIR in cmake build environmentSascha Roloff
Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com>
2023-05-16Remove CMAKE_BUILD_PARALLEL_LEVEL from cmake build environmentSascha Roloff
Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com>
2023-01-31Support "CC/foreign/make" data and libraryOliver Reiche
2023-01-31cmake: Support setting number of build jobsOliver Reiche
2023-01-31cmake: Support pre_cmds and post_cmdsOliver Reiche
2023-01-31cmake: Remove ineffective CMAKE_AR from configure argumentsOliver Reiche
2023-01-31Fix result of ["CC/foreign/cmake", "data"]Oliver Reiche
2023-01-26Support creating libraries from CMake projectOliver Reiche