summaryrefslogtreecommitdiff
path: root/CC
AgeCommit message (Collapse)Author
2023-11-20foreign: Only resolve symlinks on user requestOliver Reiche
2023-11-20foreign: Do not follow symlinks of tool pathsOliver Reiche
2023-11-20prebuilt: Consider "deps" for flag reader inputsOliver Reiche
... so that if e.g., libfoo depends on libbar via "deps", the flag "-lbar" should be filtered out from the flag file generated via pkg-config from file foo.pc. Omitting these flags is always correct, due to those libraries being part of the explicit link dependencies already.
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-11-09Merge branch 'just-rules' into rulesKlaus Aehlig
2023-11-09["CC/auto", "config_file"] runner: let /usr/bin/env find python3Klaus T. Aehlig
... instead of assuming it to be installed under /usr/bin as we also do in other places. In this way, we do not make any additional assumptions on top of the already existing one on the path of env.
2023-09-28Merge branch 'just-rules' into rulesKlaus Aehlig
2023-09-28["CC/pkgconfig", "system_library"] Add -rpathKlaus Aehlig
When a shared library is picked up from the host system via pkg-config that is located at a non-standard location, binaries linked against this library by a standard linker either need LD_LIBRARY_PATH set appropriately, or -rpath set at link time. However, not all custom installations set -rpath in the link flags in their pkg-config file. Therefore, in order to get working binaries (and not have to set custom paths in tests), add a -rpath for every -L option found in the ldflags provided by pkg-config.
2023-09-27foreign: Fix missing path unionOliver Reiche
2023-09-26Merge branch 'just-rules' into rulesKlaus Aehlig
2023-09-26pkg-config files: properly terminate last lineKlaus Aehlig
2023-09-26Merge branch 'just-rules' into rulesOliver Reiche
2023-09-25Fix pkg-config name for libprotobufOliver Reiche
2023-09-25Merge branch 'just-rules' into rulesOliver Reiche
2023-09-25Use pkgconfig for default proto libsOliver 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-29python: Add type hints and fix style in rules scriptsPaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526.
2023-08-29Merge branch 'just-rules' into rulesPaul Cristian Sarbu
2023-08-29python: Add type hints and fix style in rules scriptsPaul Cristian Sarbu
2023-08-29prebuilt: Use more robust typing importOliver Reiche
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-21Merge branch 'just-rules' into rulesKlaus Aehlig
2023-08-21rules: Add documentation for the implict dependenciesKlaus Aehlig
2023-08-17Merge branch 'just-rules' into rulesKlaus Aehlig
2023-08-17["CC/test", "test"] rename implict dependencyKlaus Aehlig
... and document at the appropriate place
2023-08-17["CC/auto", "config_file"] rename implicit targetKlaus Aehlig
... and mention it at the appropriate part of the documentation. While there, also provide a default TARGETS file.
2023-08-17["shell/test", "script"] Rename implicit dependenciesKlaus Aehlig
... and document at the appropriate places what can be overwritten by setting those targets.
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-08-16Merge branch 'rules/oss' into rules/rules-cc-rulesOliver Reiche
2023-08-16rules: Support BUILD_ARCH for CC defaultsOliver 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-08-16rules: Extend toolchains via defaults from baseOliver Reiche
2023-08-16rules: Expression to get base providers as listOliver Reiche
2023-08-16rules: Remove pointless defaultsOliver Reiche
2023-07-12Merge branch 'just-rules' into rulesKlaus Aehlig
2023-07-12["CC/test", "test]: support target architectureKlaus Aehlig
... provided it is specified on how to obtain a remote-execution endpoint for the given architecture; in this case, the test binary will be cross compiled for and run on that architecture. The actual building (as well as summarizing multiple test runs) happens on the default execution end point.
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-16rules: Install pkgconfig files to $PREFIX/lib/pkgconfigOliver 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