Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-03-15 | Merge commit '2e53ff4d37dbda318f9c33e631bbd9a1d27c9b8e' into HEAD | Alberto Sartori | |
2023-03-15 | grpc: bugfix: add missing dependency to grpc service library | Alberto Sartori | |
2023-03-15 | rules: CC/auto: add "config_file" rule to generate a c/c++ header... | Alberto Sartori | |
...starting from a template (aka configuration file), and using the variables defined via a ["CC/auto", "config"] target. For example, to use a CMake configuration file, the targets could be defined as follows ... , "foo-header-blueprint": { "type": ["@", "rules", "CC/auto", "config_file"] , "input": ["config.hpp.in"] , "output": ["config.hpp"] , "stage": ["foo"] , "magic_string": ["cmakedefine"] , "@only": ["true"] } , "foo-header": { "type": "configure" , "target": "foo-header-blueprint" , "config": { "type": "let*" , "bindings": [ [ "defines" , [ ["var", "\"string value\""] , ["FOO_MAJOR_VERSION", "3"] , ["use_this_feature", true] ] ] ] , "body": {"type": "env", "vars": ["defines"]} } } ... The file config.hpp.in may look as follows #ifndef config_cmake #define config_cmake #cmakedefine var #cmakedefine use_this_feature #cmakedefine01 use_this_feature #cmakedefine unused #define FOO_VERSION @FOO_MAJOR_VERSION@ #define DONT_TOUCH_THIS ${FOO_MAJOR_VERSION} #endif and the generated configuration file foo/config.hpp is #ifndef config_cmake #define config_cmake #define var "string value" #define use_this_feature #define use_this_feature 1 /* #undef unused */ #define FOO_VERSION 3 #define DONT_TOUCH_THIS ${FOO_MAJOR_VERSION} #endif | |||
2023-02-28 | Support non-file targets for prebuilt libs | Oliver Reiche | |
2023-02-28 | Merge commit '3b08fc29eff1fa61c3fd317ca5321d47cddd9c69' into HEAD | Klaus Aehlig | |
2023-02-28 | Various typo fixes | Paul Cristian Sarbu | |
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com> | |||
2023-01-31 | Support "CC/foreign/make" data and library | Oliver Reiche | |
2023-01-31 | cmake: Support setting number of build jobs | Oliver Reiche | |
2023-01-31 | cmake: Support pre_cmds and post_cmds | Oliver Reiche | |
2023-01-31 | cmake: Remove ineffective CMAKE_AR from configure arguments | Oliver Reiche | |
2023-01-31 | Fix result of ["CC/foreign/cmake", "data"] | Oliver Reiche | |
2023-01-26 | Support creating libraries from CMake project | Oliver Reiche | |
2023-01-20 | Support generating flag-files for prebuilt libraries | Oliver Reiche | |
2023-01-20 | Support flag-files for existing rules and expressions | Oliver Reiche | |
2023-01-20 | Expression "contains" supports prefix and return | Oliver Reiche | |
2023-01-20 | Add expression for reading artifacts from provider "package" | Oliver Reiche | |
2023-01-20 | Refactor flag substitution for "pkg-config" | Oliver Reiche | |
2023-01-20 | Initial support for prebuilt libraries | Oliver Reiche | |
2023-01-20 | Fix shared lib pkg-version | Oliver Reiche | |
... which should be only set if SOVERSION is set. | |||
2023-01-10 | rules: Add support for pkg-config | Oliver Reiche | |
2023-01-10 | rules: Add rule "install-with-deps" | Oliver Reiche | |
2022-12-16 | rules: Implement private-proto for libraries | Oliver Reiche | |
2022-12-16 | rules: Implement ldflags for (shared) libraries | Oliver Reiche | |
2022-12-16 | rules: Add support for shared libraries | Oliver Reiche | |
2022-12-16 | rules: Add support for "LDFLAGS" and "ADD_LDFLAGS" | Oliver Reiche | |
2022-12-16 | rules: Parallelize ["CC/auto", "config"] check actions | Oliver Reiche | |
2022-12-16 | rules: Use common expressions for ["CC/auto", "config"] | Oliver Reiche | |
2022-12-14 | rules: Collect artifacts from "srcs" targets for ["data", "staged"] | Oliver Reiche | |
2022-12-14 | rules: Collect artifacts from "data" targets for test binaries | Oliver Reiche | |
2022-12-14 | rules: Report fieldname of overlapping artifacts/runfiles | Oliver Reiche | |
2022-12-14 | rules: Add type size check to ["CC/auto", "config"] | Oliver Reiche | |
2022-12-12 | rules: Fix missing arch vars for shell tests | Oliver Reiche | |
2022-12-09 | rules: cflags have precedence over defines | Oliver Reiche | |
2022-12-09 | rules: ldflags have precedence over transitive link args | Oliver Reiche | |
2022-12-09 | rules: Create library in stage directory | Oliver Reiche | |
2022-12-09 | rules: Add cross-compile support for tests | Oliver Reiche | |
2022-12-09 | rules: Add argument support for test binaries | Oliver Reiche | |
2022-12-09 | rules: Refactoring and minor improvements | Oliver Reiche | |
Compared to the previous commit, the action graphs for just and its unit tests are unchanged. - Git hash of action graph for ["",""]: c6e75f17abd7ffaab6ff9bb725ad67ec0bf6c973 - Git hash of action graph for ["test/buildtool","TESTS"]: 8063dfb3dd7daa9ae01d95c177e14946f785c57e Refactor: - "local cflags" to "private-cflags" - "local defines" to "private-defines" - "link externals" to "private-ldflags" - "deps" to "private-deps" for (test) binaries - "proto" to "private-proto" for binaries Improvements: - consistent variable declaration order: OS, ARCH, HOST_ARCH, TARGET_ARCH, CC, CXX, CFLAGS, CXXFLAGS, ADD_CFLAGS, ADD_CXXFLAGS, AR, ENV, PATH - use fields close to their definition (in RULES) - use common expression for binaries and test binaries - split expression "flags" and "compiler" ... to separate ones for CC and CXX. - rename "transition" to "deps-transition" ... to avoid conflicts with other transitions. - support "defaults-transition" for CC expressions Implement: - "cflags" for libraries - "private-cflags" for (test) binaries - "private-defines" for test binaries - "private-ldflags" for test binaries - (public) "defines" for libraries | |||
2022-12-09 | rules: Drop the ["CC", "header directory"] | Oliver Reiche | |
... in favor of the "tree" built-in rule. | |||
2022-12-09 | rules: Fix missing cflags for linking test binary | Oliver Reiche | |
... which is required for cross-compilation, e.g., clang's `-target` option. | |||
2022-11-21 | support the concept of private deps | Klaus Aehlig | |
i.e., libraries that are used only in the implementation without use in the public header files. In this way, the set of headers exposed to dependencies can be reduced leading potentially to better incrementality. | |||
2022-11-21 | rules/CC/EXPRESSIONS: drop unused local define | Klaus Aehlig | |
2022-11-02 | proto: honor configured archiver | Alberto Sartori | |
2022-11-02 | rules: don't always use the default archiver | Alberto Sartori | |
2022-10-31 | CC/test test_runner.sh: correctly report the reuslt | Klaus Aehlig | |
The test runner is supposed to report the reult in a file called 'result' in the top-level action directory. However, before starting the actual test, it changes the working directory to the subdir 'work' where the input of the test action is located. Therefore, when reporting the result, the correct file name is '../result'. Fix this. | |||
2022-10-27 | rules: Honor ENV for finding cat | Christian Lütke Stetzkamp | |
2022-10-27 | rules: Honor ENV for patch separation | Christian Lütke Stetzkamp | |
2022-10-26 | rules: Honor ENV variable for protobuf compilation | Oliver Reiche | |
2022-10-12 | Add copyright and license notice to all source and header files | Klaus Aehlig | |
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com> | |||
2022-10-10 | rules: New rule for config header generation | Oliver Reiche | |