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)
