<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_build_kati/symtab.h, branch oreo-mr1-wear-release</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/'/>
<entry>
<title>Support marking variables as readonly</title>
<updated>2016-09-30T05:21:10+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2016-09-30T03:09:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=f87d49e41a5dd57733d02f3990c91dc38e557dad'/>
<id>f87d49e41a5dd57733d02f3990c91dc38e557dad</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>[C++] Honor "override" when setting global variable</title>
<updated>2016-04-12T09:31:46+00:00</updated>
<author>
<name>Stefan Becker</name>
<email>stefanb@gpartner-nvidia.com</email>
</author>
<published>2016-04-07T10:29:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=29b9b7470cc33c2b7c4264f254335d788ef04c26'/>
<id>29b9b7470cc33c2b7c4264f254335d788ef04c26</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>[C++] Associate global variables with Symbols directly</title>
<updated>2016-02-22T07:19:42+00:00</updated>
<author>
<name>Shinichiro Hamaji</name>
<email>shinichiro.hamaji@gmail.com</email>
</author>
<published>2016-02-18T09:18:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=c9b9e5eea8b477a103cdec951ef2a299f9cd49ba'/>
<id>c9b9e5eea8b477a103cdec951ef2a299f9cd49ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[C++] Speed up set&lt;Symbol&gt; by using integer value of Symbol</title>
<updated>2015-10-03T01:57:31+00:00</updated>
<author>
<name>Shinichiro Hamaji</name>
<email>shinichiro.hamaji@gmail.com</email>
</author>
<published>2015-10-03T01:57:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=675ecf36bf43f8743705af7d12dbc3d315462a06'/>
<id>675ecf36bf43f8743705af7d12dbc3d315462a06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use ordered containers to prevent changes to ninja files</title>
<updated>2015-10-01T23:12:36+00:00</updated>
<author>
<name>Dan Willemsen</name>
<email>dwillemsen@google.com</email>
</author>
<published>2015-10-01T23:07:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=b248caabf20589d5f5a3adbb1e88d2c286eaa466'/>
<id>b248caabf20589d5f5a3adbb1e88d2c286eaa466</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>[C++] Correct the implementation of $*</title>
<updated>2015-09-11T07:33:16+00:00</updated>
<author>
<name>Shinichiro Hamaji</name>
<email>shinichiro.hamaji@gmail.com</email>
</author>
<published>2015-09-11T07:33:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=a7984ad9b84f94b50454ad7acd20d5dcacdd6b12'/>
<id>a7984ad9b84f94b50454ad7acd20d5dcacdd6b12</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Revert "[C++] Fix Symtab on MacOSX""</title>
<updated>2015-07-16T20:55:49+00:00</updated>
<author>
<name>Shinichiro Hamaji</name>
<email>shinichiro.hamaji@gmail.com</email>
</author>
<published>2015-07-16T20:55:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=ba2ccdb7c84374e2f61e43d531a8f96da92da5ed'/>
<id>ba2ccdb7c84374e2f61e43d531a8f96da92da5ed</id>
<content type='text'>
This reverts commit 312e2d27378c47c263e83f0993f1cf67ef4c4235.

I have accidentally reverted the change
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 312e2d27378c47c263e83f0993f1cf67ef4c4235.

I have accidentally reverted the change
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[C++] Fix Symtab on MacOSX"</title>
<updated>2015-07-16T18:32:38+00:00</updated>
<author>
<name>Shinichiro Hamaji</name>
<email>shinichiro.hamaji@gmail.com</email>
</author>
<published>2015-07-16T18:32:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=ddf796b2b505618f79d78b3be27dff6bd386b3d4'/>
<id>ddf796b2b505618f79d78b3be27dff6bd386b3d4</id>
<content type='text'>
This reverts commit 6ab9d4614dcf692d378492e5cad1e2799d288d2e.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 6ab9d4614dcf692d378492e5cad1e2799d288d2e.
</pre>
</div>
</content>
</entry>
<entry>
<title>[C++] Fix Symtab on MacOSX</title>
<updated>2015-07-16T18:30:50+00:00</updated>
<author>
<name>Shinichiro Hamaji</name>
<email>shinichiro.hamaji@gmail.com</email>
</author>
<published>2015-07-16T18:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=f77417eb42dcf73badb47580ae3e1afc80de2820'/>
<id>f77417eb42dcf73badb47580ae3e1afc80de2820</id>
<content type='text'>
On MacOSX string objects will be copied when vector&lt;string&gt;
grows and this invalidates StringPiece objects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On MacOSX string objects will be copied when vector&lt;string&gt;
grows and this invalidates StringPiece objects.
</pre>
</div>
</content>
</entry>
<entry>
<title>[C++] Have all phony targets in build.ninja</title>
<updated>2015-07-15T16:37:16+00:00</updated>
<author>
<name>Shinichiro Hamaji</name>
<email>shinichiro.hamaji@gmail.com</email>
</author>
<published>2015-07-10T22:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_build_kati/commit/?id=43defe0dbd728b6297b87edf0f183b8af345bd44'/>
<id>43defe0dbd728b6297b87edf0f183b8af345bd44</id>
<content type='text'>
Also specify the default target not to build all phony targets
by default.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also specify the default target not to build all phony targets
by default.
</pre>
</div>
</content>
</entry>
</feed>
