| Re-enable symlink resolution when determining relative paths to use for writing |
| ninja files. cros_workon_make relies on symlinking platform2 into the build |
| environment; that is, a build path like /build/.../cryptohome-9999/platform2/ is |
| symlinked to /mnt/host/source/src/platform2. |
| |
| platform2.py uses the source path (in /mnt/host/source) as the source root, but |
| the particular .gyp file being generated uses the build path (in /build). |
| Without symlink resolution, the relative path is incorrect, causing ninja |
| generation to fail. |
| |
| Note that simply changing platform2.py to pass the /build path to the platform2 |
| directory as --toplevel-dir (instead of the /mnt/host/source path) would not |
| solve this as gyp unconditionally resolves that symlink. Thus, take the simpler |
| approach of changing back to resolving both symlinks. |
| |
| This effectively reverts https://codereview.chromium.org/1365163002. |
| |
| --- pylib/gyp/generator/ninja.py |
| +++ pylib/gyp/generator/ninja.py |
| @@ -2377,7 +2377,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, |
| # it could point to a path above toplevel_dir, and we cannot correctly deal |
| # with that case at the moment. |
| build_file = gyp.common.RelativePath(build_file, options.toplevel_dir, |
| - False) |
| + True) |
| |
| qualified_target_for_hash = gyp.common.QualifiedTarget(build_file, name, |
| toolset) |