[build] Add a GN var for sources

This allows dependents to include sources of this library to improve
correctness of incremental builds.

http://fxrev.dev/c/494239/2 demonstrates how this var is intended to be
used.

Change-Id: If134b803b0766aefdbf22aabc09a5e8018809139
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/pyyaml/+/494880
Reviewed-by: Shai Barack <shayba@google.com>
Reviewed-by: David Fang <fangism@google.com>
diff --git a/README.fuchsia b/README.fuchsia
index 52118dc..c295e8a 100644
--- a/README.fuchsia
+++ b/README.fuchsia
@@ -6,3 +6,7 @@
 Description:
 
 YAML (Yet Another Markup Language) parser and emitter for Python.
+
+Local Modifications:
+Added README.fuchsia.
+Added py_srcs.gni.
diff --git a/py_srcs.gni b/py_srcs.gni
new file mode 100644
index 0000000..f7c99d3
--- /dev/null
+++ b/py_srcs.gni
@@ -0,0 +1,22 @@
+# Scripts import yaml from third_party should have these sources added to their
+# `inputs` variable of their corresponding actions. This makes changes in this
+# library correctly trigger rebuilds of those actions in incremental builds.
+third_party_yaml_lib3_srcs = [
+  "//third_party/pyyaml/lib3/yaml/__init__.py",
+  "//third_party/pyyaml/lib3/yaml/composer.py",
+  "//third_party/pyyaml/lib3/yaml/constructor.py",
+  "//third_party/pyyaml/lib3/yaml/cyaml.py",
+  "//third_party/pyyaml/lib3/yaml/dumper.py",
+  "//third_party/pyyaml/lib3/yaml/emitter.py",
+  "//third_party/pyyaml/lib3/yaml/error.py",
+  "//third_party/pyyaml/lib3/yaml/events.py",
+  "//third_party/pyyaml/lib3/yaml/loader.py",
+  "//third_party/pyyaml/lib3/yaml/nodes.py",
+  "//third_party/pyyaml/lib3/yaml/parser.py",
+  "//third_party/pyyaml/lib3/yaml/reader.py",
+  "//third_party/pyyaml/lib3/yaml/representer.py",
+  "//third_party/pyyaml/lib3/yaml/resolver.py",
+  "//third_party/pyyaml/lib3/yaml/scanner.py",
+  "//third_party/pyyaml/lib3/yaml/serializer.py",
+  "//third_party/pyyaml/lib3/yaml/tokens.py",
+]