summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2024-07-25Add a test for the use of the "components" field of a libraryKlaus Aehlig
2024-07-25Adapt object-library test to the removal of object librariesKlaus Aehlig
... in a5a98b35fc9a710e723673946ea5c769274b9ddb. Instead, use a "configure" target to configure the library as being an object library.
2024-07-25Update derived filesKlaus Aehlig
2024-07-25Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-07-25["CC", "library"] Add concept of componentsKlaus Aehlig
... i.e., dependencies that are to be included into the library itself. In this way, a large library (convenient for a user to have single library to care about) can be defined as a collection of smaller libraries. Technically, components are like public dependencies on libraries transitioned to object libraries with the following differences - the header files (i.e., runfiles) of the components become header files of the resulting libary, and - the objects (i.e., artifacts) of the components become objects of the library rather than link dependencies. To achive the transfer of the object to the requesting library, an object library can be instructed to drop the objects from the link arguments; in order to continue to support tranditional object libraries in the style of, e.g., cmake, this is done by a different configuration variable that is transitioned as well. In particular, the object-library test case (using a configure target) can be left unchanged.
2024-07-25["CC", "library"]: Make object-only a configuration propertyKlaus Aehlig
... instead of a property of the library itself. An object library is not a meaningful concept in itself; it only exists, because a consumer wants to link the library in its entirety. But consumer-specified properties should be propagated through configuration transitions and the definition of the library should not care about how it is consumed; this is also the approach we follow with respect to building a library position independent. As oposed to position-independent building, however, the property of being included unconditionally is not propagated transitively.
2024-07-12Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-07-12Merge branch 'just-rules' into rulesKlaus Aehlig
2024-07-12Test summarizer: also report on average timeKlaus Aehlig
... of passed tests (as only for those, the time is meaningful). Given that we read the timing information anyway, if available, we can as well report more useful information.
2024-07-12Test rules: only provide to the summary action what is neededKlaus Aehlig
... and add a rule allowing the summarizer to specify what it needs.
2024-07-12Tests: also record `pwd`Klaus Aehlig
... as test meta data. Tests are executed in an unspecified directory, assuming pass or fail is independent of the location where the test is run. While this generally is true, test logs often contain the working directory. So, in order to more easily compare different execution orders of a potential race condition, it can be desirable to compare logs "up to the execution directory". This, however, requires that this directory is recored in the first place. Do so. For consistency of the output format, also have a (fixed) artifact pwd in the summary report.
2024-07-08Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-07-08["CC/test", "test"]: Honor shell-toolchain PATH for summary actionKlaus Aehlig
2024-07-08honor toolchain also in summary actionKlaus T. Aehlig
2024-07-08fix typoKlaus Aehlig
2024-07-05Update derived filesKlaus Aehlig
2024-07-05Merge branch 'just-rules' into rulesKlaus Aehlig
2024-07-05Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-07-05tests: support additional remote-execution properties for summariesKlaus Aehlig
If a test is run several times (as set by RUNS_PER_TEST), a summary of the individual test runs is computed using a summarizer as configured in the target layer of the rules. As the inputs for computing that test summary are all the individual test runs, that action has a large number of files as input, including a large number of identical files, e.g., the ones indicating the outcome of an individual run. Therefore, allow setting additional remote-execution properties allowing to dispatch that action to a suitable end point.
2024-07-02Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-07-02["shell", "test"]: support bin dirsKlaus Aehlig
... by running a shell prolog with the provided shell to set PATH to the absolut paths of the shell-provided bin dirs.
2024-07-01Merge subtree 'rules' into rules-ccKlaus Aehlig
2024-07-01Merge branch 'just-rules' into rulesKlaus Aehlig
2024-07-01["patch", "file"]: honor shell bin dirsKlaus Aehlig
... as we need to copy a file, as not all versions of patch accept the file to patch as argument.
2024-07-01["CC/auto", "config"]: honor bin dirs of shell defaultsKlaus Aehlig
2024-07-01["shell", "defaults"]: support "bin dirs"Klaus Aehlig
2024-06-25Update docsPaul Cristian Sarbu
2024-06-25Merge commit '15f2ecc5bfc2fc6e090dfcbf712faf012632a50d' into HEADPaul Cristian Sarbu
2024-06-25Merge commit 'c301e85a61dc6e43b8cc6ce8f44a902c392163a2' into HEADPaul Cristian Sarbu
2024-06-25CC defaults: Provide the debug stage also for implicit depsPaul Cristian Sarbu
This ensures that one can inspect, e.g., generated protobuf source files (.pb.cc) or standard library headers while debugging proto libraries or general C++ libraries and binaries, respectively.
2024-06-24Update docsPaul Cristian Sarbu
2024-06-24Merge commit '708ada9a0932b628091abe7b5178259fcde5c11b' into HEADPaul Cristian Sarbu
2024-06-24Merge commit 'cdd0b740cdaf6fd54d479766f8be45352f238bd4' into HEADPaul Cristian Sarbu
2024-06-24CC/proto: Libraries should be aware of DEBUG flagPaul Cristian Sarbu
2024-06-24CC: Fix some doc typosPaul Cristian Sarbu