Age | Commit message (Collapse) | Author |
|
|
|
|
|
... and document at the appropriate place
|
|
... and mention it at the appropriate part of the documentation.
While there, also provide a default TARGETS file.
|
|
... and document at the appropriate places what can be overwritten
by setting those targets.
|
|
|
|
... and extend compatibility by not relying on arguments
that are only supported by GNU patch implementations.
|
|
... because it was using tool that are not part of
coreutils. Using patch parts can still be done via patching
patches.
|
|
... 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.
|
|
|
|
|
|
|
|
|
|
... provided it is specified on how to obtain a remote-execution
endpoint for the given architecture; in this case, the test (script
and) dependencies 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.
|
|
... 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.
|
|
... that transitions to host, unless the ARCH_DISPATCH map indicates
that there is an execution-property transition allowing to run
actions on the TARGET_ARCH. Also make the "target properties"
available as expression as they will be needed when executing the
action on the foreign architecture.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In this way, the test action gets canonical, so adding RUNS_PER_TEST
support to this rule should be easily mergable into downstream rules.
|
|
... also for non-service libraries; the generated .ph.h files
may well refer, e.g., the well-known protos.
|
|
If we have a provided toolchain, we stage it to the corresponding subdirectory.
Otherwise, we still have to provide a value of the correct type (a map) rather
than the default else (which is the empty list).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Backport of commits a382b308b9011606e7d07376808812d51631d558
and 5ae5134804b6edaaffec593868f133dd840ef7df from the
rules-cc repository.
|
|
Backport of commit 4a8579a2a4ef252644df0c29893e70ad8438ae82
from the rules-cc repository.
|
|
|
|
|
|
...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
|
|
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|