summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-18Merge commit '67afc29'Klaus Aehlig
2023-04-18rules: Support protoc/grpc_cpp_plugin from defaultsOliver Reiche
2023-04-18rules: Support hdrs-only for install-with-deps ruleOliver Reiche
2023-04-18rules: Move install-with-deps to EXPRESSIONSOliver Reiche
2023-04-18rules: Support install-with-deps ruleOliver Reiche
Backport of commits a382b308b9011606e7d07376808812d51631d558 and 5ae5134804b6edaaffec593868f133dd840ef7df from the rules-cc repository.
2023-04-18rules: Fix missing CXXFLAGS propagation for proto libsOliver Reiche
2023-04-18rules: Update dependency on protobuf and grpc targetsOliver Reiche
2023-04-18rules: Support reading flags from files for existing rulesOliver Reiche
Backport of commit 4a8579a2a4ef252644df0c29893e70ad8438ae82 from the rules-cc repository.
2023-04-18rules: Support creating compile/link flags from pkg-configOliver Reiche
2023-04-18rules: Drop CC/IDE headers ruleOliver Reiche
2023-04-11["shell/test", "script"]: make TEST_RUN_NUMBER availableKlaus Aehlig
If RUNS_PER_TEST is given, inform each individual test action about the run number it is executing. This can be used, e.g., to set random seeds appropriately.
2023-03-15Merge commit '2e53ff4d37dbda318f9c33e631bbd9a1d27c9b8e' into HEADAlberto Sartori
2023-03-15grpc: bugfix: add missing dependency to grpc service libraryAlberto Sartori
2023-03-15rules: 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-28Support non-file targets for prebuilt libsOliver Reiche
2023-02-28Merge commit '3b08fc29eff1fa61c3fd317ca5321d47cddd9c69' into HEADKlaus Aehlig
2023-02-28Various typo fixesPaul Cristian Sarbu
Co-authored-by: Sascha Roloff <sascha.roloff@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
2023-01-20Support generating flag-files for prebuilt librariesOliver Reiche
2023-01-20Support flag-files for existing rules and expressionsOliver Reiche
2023-01-20Expression "contains" supports prefix and returnOliver Reiche
2023-01-20Add expression for reading artifacts from provider "package"Oliver Reiche
2023-01-20Refactor flag substitution for "pkg-config"Oliver Reiche
2023-01-20Initial support for prebuilt librariesOliver Reiche
2023-01-20Fix shared lib pkg-versionOliver Reiche
... which should be only set if SOVERSION is set.
2023-01-10rules: Add support for pkg-configOliver Reiche
2023-01-10rules: Add rule "install-with-deps"Oliver Reiche
2022-12-16rules: Implement private-proto for librariesOliver Reiche
2022-12-16rules: Implement ldflags for (shared) librariesOliver Reiche
2022-12-16rules: Add support for shared librariesOliver Reiche
2022-12-16rules: Add support for "LDFLAGS" and "ADD_LDFLAGS"Oliver Reiche
2022-12-16rules: Parallelize ["CC/auto", "config"] check actionsOliver Reiche
2022-12-16rules: Use common expressions for ["CC/auto", "config"]Oliver Reiche
2022-12-14rules: Collect artifacts from "srcs" targets for ["data", "staged"]Oliver Reiche
2022-12-14rules: Collect artifacts from "data" targets for test binariesOliver Reiche
2022-12-14rules: Report fieldname of overlapping artifacts/runfilesOliver Reiche
2022-12-14rules: Add type size check to ["CC/auto", "config"]Oliver Reiche
2022-12-12rules: Fix missing arch vars for shell testsOliver Reiche
2022-12-09rules: cflags have precedence over definesOliver Reiche
2022-12-09rules: ldflags have precedence over transitive link argsOliver Reiche
2022-12-09rules: Create library in stage directoryOliver Reiche
2022-12-09rules: Add cross-compile support for testsOliver Reiche
2022-12-09rules: Add argument support for test binariesOliver Reiche
2022-12-09rules: Refactoring and minor improvementsOliver 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-09rules: Drop the ["CC", "header directory"]Oliver Reiche
... in favor of the "tree" built-in rule.