BUILD.gn: Make toolchain.ninja not contain system absolute paths.

Fixed: chromium:1382452
Change-Id: Ib21745a0c7a171c0a6718a5b3bf431bbf273ae3f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/111001
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/generator/dawn_generator.gni b/generator/dawn_generator.gni
index 91e4cf7..9b6183f 100644
--- a/generator/dawn_generator.gni
+++ b/generator/dawn_generator.gni
@@ -41,10 +41,11 @@
 #
 template("dawn_generator") {
   generator_lib_action(target_name) {
-    forward_variables_from(invoker, "*")
+    forward_variables_from(invoker, "*", [ "script" ])
+    script = get_path_info(invoker.script, "abspath")
 
     # Set arguments required to find the python libraries for the generator
-    generator_lib_dir = "${dawn_root}/generator"
+    generator_lib_dir = get_path_info("${dawn_root}/generator", "abspath")
     jinja2_path = dawn_jinja2_dir
 
     # Force Dawn's autogenerated file structure to mirror exactly the source
diff --git a/generator/generator_lib.gni b/generator/generator_lib.gni
index b7a5c1c..c438f5b 100644
--- a/generator/generator_lib.gni
+++ b/generator/generator_lib.gni
@@ -57,7 +57,7 @@
   }
   _generator_args += [
     "--template-dir",
-    rebase_path(_template_dir),
+    rebase_path(_template_dir, root_build_dir),
   ]
 
   if (defined(invoker.root_dir)) {
@@ -70,7 +70,7 @@
   if (defined(invoker.jinja2_path)) {
     _generator_args += [
       "--jinja2-path",
-      rebase_path(invoker.jinja2_path),
+      rebase_path(invoker.jinja2_path, root_build_dir),
     ]
   }