Add option to limit environment variables given to ninja
Ninja does not track changes in environment variables, so we get potentially incorrect builds when environment variables change during incremental builds if some action was using one of them. Add a variable to limit exposure of these variables to ninja, and thus, all actions run by ninja. Kati and Soong can still read environment variables, they explicitly track which ones they read so that we can re-run them appropriately. This list is just the beginning, there's no good way to detect which environment variables are currently being used and to pass them through. So this initial change won't have a behavioral change, and we'll flip the switch and see what fails or who complains, flipping it off and on and adding to the list until we can make this always happen. Also adds a board-specific `BUILD_BROKEN_NINJA_USES_ENV_VARS := ...` list so that we can temporarily allow board-specific variables until they're fixed. Test: check out/soong.log Test: ALLOW_NINJA_ENV=false m nothing; check out/soong.log Test: set BUILD_BROKEN_NINJA_USES_ENV_VARS := OLDPWD ALLOW_NINJA_ENV=false m nothing; check out/soong.log Change-Id: I08e4834ce12100a577ef7d6a9a21b9e9d345cb93
Loading
Please register or sign in to comment