aboutsummaryrefslogtreecommitdiffstats
path: root/symtab.h
Commit message (Collapse)AuthorAgeFilesLines
* Support marking variables as readonlyDan Willemsen2016-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | When the magic variable .KATI_READONLY is set to a variable name, any further attempts to modify the named variable will result in an error. FOO := bar .KATI_READONLY := FOO FOO := baz # Error! This is useful to make some global configuration readonly so that another makefile cannot change it. In Android, we emulated this by backing up some global configuration before including the Android.mk files, then comparing the current values to the backed up values after they've been included. But this means we don't know the location that modified the variable, just that something did. And it's not perfect, since the backup can also be changed. Something similar to this could be implemented with `override`, but then setting the variable silently fails, and it still could be overriden with another override.
* [C++] Honor "override" when setting global variableStefan Becker2016-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression when compared to GNU make behaviour. Test case: $ cat Makefile.override-failure $(info VAR: '$(VAR)') override VAR := test $(info VAR: '$(VAR)') override VAR := test-new $(info VAR: '$(VAR)') VAR := test-should-not-work $(info VAR: '$(VAR)') $ make -f Makefile.override-failure VAR: '' VAR: 'test' VAR: 'test-new' VAR: 'test-new' make: *** No targets. Stop. $ ckati -c --warn -f Makefile.override-failure VAR: '' VAR: 'test' VAR: 'test' VAR: 'test' *** No targets. Fixes https://github.com/google/kati/issues/50 Change-Id: I9c4185c30cfcf5602da7e0ac98b7e9c420788005
* [C++] Associate global variables with Symbols directlyShinichiro Hamaji2016-02-221-0/+14
|
* [C++] Speed up set<Symbol> by using integer value of SymbolShinichiro Hamaji2015-10-031-1/+1
|
* Use ordered containers to prevent changes to ninja filesDan Willemsen2015-10-011-0/+4
| | | | | | | | When using --gen_all_targets / --gen_all_phony_targets, we're changing the selected targets using unordered containers. This causes trivial changes to the makefiles to trigger large changes to the generated ninja files. Switch to using ordered containers so that the order is the same every time.
* [C++] Correct the implementation of $*Shinichiro Hamaji2015-09-111-0/+2
|
* Revert "Revert "[C++] Fix Symtab on MacOSX""Shinichiro Hamaji2015-07-171-2/+2
| | | | | | This reverts commit 312e2d27378c47c263e83f0993f1cf67ef4c4235. I have accidentally reverted the change
* Revert "[C++] Fix Symtab on MacOSX"Shinichiro Hamaji2015-07-171-2/+2
| | | | This reverts commit 6ab9d4614dcf692d378492e5cad1e2799d288d2e.
* [C++] Fix Symtab on MacOSXShinichiro Hamaji2015-07-171-2/+2
| | | | | On MacOSX string objects will be copied when vector<string> grows and this invalidates StringPiece objects.
* [C++] Have all phony targets in build.ninjaShinichiro Hamaji2015-07-161-0/+1
| | | | | Also specify the default target not to build all phony targets by default.
* [C++] Fix shell_var.mkShinichiro Hamaji2015-07-051-0/+7
|
* [C++] Introduce SymbolShinichiro Hamaji2015-06-291-0/+76