Snap for 4590521 from 8226c53f4667edce79b56431b47925f0d568942e to pi-release

Change-Id: I331c7f6b816cacc0b7a6d8a246555c63652ac565
diff --git a/soong/mojom_source_generator.sh b/soong/mojom_source_generator.sh
index bf78fab..f1fac9e 100755
--- a/soong/mojom_source_generator.sh
+++ b/soong/mojom_source_generator.sh
@@ -28,6 +28,7 @@
 package=""
 output_dir=""
 generators=""
+private_mojo_root="$(pwd)/external/libmojo"
 
 # Given a path to directory or file, return the absolute path.
 get_abs_path() {
@@ -90,12 +91,18 @@
 
   mkdir -p "${output_dir}/${rel_dir}"
 
+  # The calls to mojom_bindings_generator below uses -I option to include the
+  # libmojo root directory as part of searchable directory for imports. With
+  # this, we can have a mojo file located in some arbitrary directories that
+  # imports a mojo file under external/libmojo.
   "${mojom_bindings_generator}" generate -o "${output_dir}" "${args[@]}" \
       --bytecode_path="${bytecode_path}" \
+      -I "${private_mojo_root}:${private_mojo_root}" \
       --generators=${generators} "${file}"
   if [[ "${generators}" =~ .*c\+\+.* ]] ; then
     "${mojom_bindings_generator}" generate -o "${output_dir}" \
         --generate_non_variant_code "${args[@]}" \
+        -I "${private_mojo_root}:${private_mojo_root}" \
         --bytecode_path="${bytecode_path}" --generators=${generators} \
         "${file}"
   fi