msvs_emulation.py: allow skipping path normalization

Allow skipping path normalization when
GYP_MSVS_DISABLE_PATH_NORMALIZATION environment variable is set.

The normalization, introduced in
https://chromium-review.googlesource.com/c/external/gyp/+/482580,
turned out to break Mozc IME Windows build. Mozc ended up having to work
around this by applying a custom patch in its build process
(https://github.com/google/mozc/blob/fc9355039c48f11a15f9859a3ee72e228f6af827/src/gyp/gyp.patch#L21).

This CL is a part of the effort to get rid of the custom gyp patch from
Mozc repo.

Bug: 227327945
Change-Id: I18560d283a5152d8988a55965586c3d1aeabf7af
Reviewed-on: https://chromium-review.googlesource.com/c/external/gyp/+/3557377
Reviewed-by: Mark Mentovai <mark@chromium.org>
diff --git a/pylib/gyp/msvs_emulation.py b/pylib/gyp/msvs_emulation.py
index 8d64199..fde7e1f 100644
--- a/pylib/gyp/msvs_emulation.py
+++ b/pylib/gyp/msvs_emulation.py
@@ -38,9 +38,10 @@
   # works more or less because most programs (including the compiler, etc.)
   # use that function to handle command line arguments.
 
-  # Use a heuristic to try to find args that are paths, and normalize them
-  if arg.find('/') > 0 or arg.count('/') > 1:
-    arg = os.path.normpath(arg)
+  if not os.getenv('GYP_MSVS_DISABLE_PATH_NORMALIZATION'):
+    # Use a heuristic to try to find args that are paths, and normalize them
+    if arg.find('/') > 0 or arg.count('/') > 1:
+      arg = os.path.normpath(arg)
 
   # For a literal quote, CommandLineToArgvW requires 2n+1 backslashes
   # preceding it, and results in n backslashes + the quote. So we substitute