diff options
author | Dan Willemsen <dwillemsen@google.com> | 2018-02-27 00:25:01 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2018-02-27 03:14:23 -0800 |
commit | c3f6a9791d9b747a49dfd02602bb5662ba6e2783 (patch) | |
tree | e78b0345bfc5a080fb757ba5406cfd0cded2a600 /testcase | |
parent | 575ebd04c5a3c305233b6ad8d8952a6295160f25 (diff) | |
download | kati-c3f6a9791d9b747a49dfd02602bb5662ba6e2783.tar.gz |
Add KATI_(deprecate|obsolete)_export
Allow makefiles to mark the `export` and `unexport` keywords as
deprecated or obsolete. In large builds like Android, we've got our own
ways to set global environment variables, it's very unlikely that
individual makefiles need to set an environment variable for every
single rule.
We expect to eventually add environment variables to the list of inputs
that ninja checks to see if a command needs to run again (currently it
just checks the timestamps and commandline). Reducing the ability for
makefiles to export global variables per-configuration means that we're
more likely to share compile steps between configurations.
Change-Id: I8df0630ef264e39fd077b08dcac57e571ebe214f
Diffstat (limited to 'testcase')
-rw-r--r-- | testcase/deprecated_export.mk | 21 | ||||
-rw-r--r-- | testcase/err_obsolete_export.mk | 7 |
2 files changed, 28 insertions, 0 deletions
diff --git a/testcase/deprecated_export.mk b/testcase/deprecated_export.mk new file mode 100644 index 0000000..3744f70 --- /dev/null +++ b/testcase/deprecated_export.mk @@ -0,0 +1,21 @@ +# TODO(go): not implemented + +A := 1 +B := 2 +export A B + +$(KATI_deprecate_export Message) + +export C := ok +unexport B + +ifndef KATI +$(info Makefile:9: C: export has been deprecated. Message.) +$(info Makefile:10: B: unexport has been deprecated. Message.) +endif + +test: + echo $$(A) + echo $$(B) + echo $$(C) + echo Done diff --git a/testcase/err_obsolete_export.mk b/testcase/err_obsolete_export.mk new file mode 100644 index 0000000..bf78dc3 --- /dev/null +++ b/testcase/err_obsolete_export.mk @@ -0,0 +1,7 @@ +# TODO(go): not implemented + +export A := ok + +$(KATI_obsolete_export Message) + +export B := fail $(or $(KATI),$(error B: export is obsolete. Message)) |