summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-10Add test verifying dependency chainsSascha Roloff
Shared libraries require their (direct and indirect) dependencies to be built in a position independent way. This might cause such a dependent library to be built twice. As, however, shared libraries need not forward their static dependencies this does not cause staging conflicts. Verify that this is also the case for distant indirect dependencies. Co-authored-by: Klaus Aehlig <klaus.aehlig@huawei.com>
2024-09-10Merge subtree 'rules' into rules-ccSascha Roloff
2024-09-10Fix CC rules to not add run-libs-args from deps when building a shared librarySascha Roloff
When a shared library is built that depends on other shared libraries, it instructs its consumers via the "run-link-args" to link only against this library and not also against its dependencies.
2024-09-10Fix CC rules to consume static libraries when building a shared librarySascha Roloff
When a shared library has static-library dependencies, it is linked against these static libraries including all their link arguments. Thus, the "link-deps" as well as the "link-args" provider of the shared library should be empty.
2024-08-30Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-08-30Merge branch 'just-rules' into rulesKlaus Aehlig
2024-08-30Drop expressions for first/last element of a list entirelyKlaus Aehlig
... as using the built-in "[]" directly is cleaner and equally readable.
2024-08-29["CC", "library"]: document additional providersKlaus Aehlig
2024-08-29["CC", "library"]: document additional providersKlaus Aehlig
2024-08-23Add newly-added rules to READMEKlaus Aehlig
2024-08-23Add test verifying lint information is propagated properlyKlaus Aehlig
... through all our various rules and forms of libraries.
2024-08-23rules: add and forward lint information in all casesKlaus Aehlig
... provided the configuration variable "LINT" is set.
2024-08-23rules: add and forward lint information in all casesKlaus Aehlig
... provided the configuration variable "LINT" is set.
2024-08-23transitive-component test: really use a main depending on a shared libraryKlaus Aehlig
... by fixing a copy&paste error in the TARGETS file of the example.
2024-08-22Merge branch 'just-rules' into rulesKlaus Aehlig
2024-08-22Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-08-22Add ["lint", "defaults"] to provide paths for lint actionsKlaus Aehlig
... and honor those in ["lint", "targets"].
2024-08-21Merge branch 'just-rules' into rulesKlaus Aehlig
2024-08-21Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-08-21["test", "suite"]: document fieldsKlaus Aehlig
2024-08-20Update derived filesKlaus Aehlig
2024-08-20Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-08-20Merge branch 'just-rules' into rulesKlaus Aehlig
2024-08-20Add ["test", "suite"]Klaus Aehlig
... collecting test results similar to the way "install" rules are typically used; however in such a way that the provider "lint" is forwarded.
2024-08-20["shell/test", "script"] forward lint information of depsKlaus Aehlig
2024-08-20["CC", "test"]: support providing lint informationKlaus Aehlig
While there, also properly transition "srcs" and "private-hdrs" to the host version.
2024-08-20["lint", "targets"]: deduplicate tasksKlaus Aehlig
In case many "targets" are given, the field "lint" will contain all the concatenation of the provider "lint" of the given targets. There is, however, not need to lint the same file in the same context twice, so deduplicate the targets first. While this does not change the amount of lint actions carried out (as equal actions are handled only once anyway), it keeps the summary clean by not having dulicate entries.
2024-08-14Update derived filesKlaus Aehlig
2024-08-14Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-08-14Merge branch 'just-rules' into rulesKlaus Aehlig
2024-08-14new rule ["lint", "targets"]Klaus Aehlig
2024-08-14Make CC binary and library support providing information for lintingKlaus Aehlig
If the configuration variable "LINT" is set, also provide information on compile actions and header files (with preprocessing as described command, in particular also providing the correct flags) in correct dependency context. In this way, lint rules can request the needed information for performing their checks.
2024-08-09Add a test for components having componentsKlaus Aehlig
2024-08-09object artifacts: honor modified transitionKlaus Aehlig
... for certain fields, in particular, the "components".
2024-08-09object artifacts: honor modified transitionKlaus Aehlig
... for certain fields, in particular, the "components".
2024-08-09compile-deps: include provided deps of componentsKlaus Aehlig
... however not their runfiles, as those become the runfiles of the resulting library.
2024-08-09components: add test on dependenciesKlaus Aehlig
Components themselves can have public dependencies; those need to be available (as compile deps) for the combined library. Verify this by extending the test such that the public dependency is actually used in the header file. While there, also increase coverage by assertions.
2024-08-09compile-deps: include provided deps of componentsKlaus Aehlig
... however not their runfiles, as those become the runfiles of the resulting library.
2024-08-07Update derived filesKlaus Aehlig
2024-08-07Merge branch 'just-rules' into rulesKlaus Aehlig
2024-08-07Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-08-07Add field to ["CC", "defaults"] to specify arguments for arKlaus Aehlig
... instead of hard-coding ["cqs"].
2024-08-05Update docsv1.4.0-alpha+20240807Paul Cristian Sarbu
2024-08-05Merge commit 'cca709ec12606c2e59169bcd9728665342895a1a' into HEADPaul Cristian Sarbu
2024-08-05Merge commit 'd1a594af5bfb190fe625c400e700cc6096f7787b' into HEADPaul Cristian Sarbu
2024-08-05rules shell/test: Add 'keep-dirs' fieldPaul Cristian Sarbu
The existing rules allow a shell test script to explicitly 'keep' created files in the resulting output directory, to be accessible to any dependent target, thus allowing a chaining of data across test scripts. This field however excludes directories, whose content would need to be added one file at a time to the 'keep' field. Add instead also a 'keep-dirs' field to ["shell/test", "script"] rule which allows the explicit staging of given directory paths the test is expected to generate.
2024-07-29Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-07-29Merge branch 'just-rules' into rulesKlaus Aehlig
2024-07-29["CC", "binary"] stage link actionKlaus Aehlig
... to avoid staging conflicts with the toolchain
2024-07-29["CC", "libary"] properly stage ar actionKlaus Aehlig
In this action we support a user provided toolchain, hence all the components of the library need to go into a subdirectory to avoid staiging conflicts.