siso: match intermediate symlink dir with dir

Siso may not record intermediate symlink dir, but just as dir
if dir itself it not used as input
e.g.
   input: usr/include/libpng/png.h

   on disk
          usr/include/libpng -> linpng16
          usr/include/libpng16/png.h

In this case, two phase action's input root will have
usr/include/libpng/png.h, but when matching input root,
libpng was dir, but symlink on disk.

To match these intermediate symlink dir, if symlink points
to directory, consider it matches with dir.

Bug: b/527756492
Change-Id: Ia54445c98d9d43702f6ecc3e243134ab5324381f
Reviewed-on: https://chromium-review.googlesource.com/c/build/+/8130177
Reviewed-by: Yuke Liao <liaoyuke@google.com>
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
2 files changed
tree: 549b6f4afaf01392d9b6938a6ffa30db6b46a028
  1. bench/
  2. gong/
  3. hashigo/
  4. infra/
  5. kajiya/
  6. kzipinfo/
  7. remote-apis/
  8. runmc/
  9. siso/
  10. .gitignore
  11. .golangci.yml
  12. .style.yapf
  13. BUILD_OWNERS
  14. BUILD_TEAM_OWNERS
  15. CONTRIBUTING.md
  16. LICENSE
  17. OWNERS
  18. PRESUBMIT.py
  19. README.md
  20. WATCHLISTS
README.md

build.git repository

This repository contains tools developed and owned by the Chrome Build Team.

Quick start

The steps for getting the code are:

  1. Install depot_tools
  2. Run git clone https://chromium.googlesource.com/build

We use the standard Go module workflow to work on our projects.

Links