Akira TAGOH 3714b5d
diff --git a/pylib/gyp/common.py b/pylib/gyp/common.py
Akira TAGOH 3714b5d
index b268d229..03c99cab 100644
Akira TAGOH 3714b5d
--- a/pylib/gyp/common.py
Akira TAGOH 3714b5d
+++ b/pylib/gyp/common.py
Akira TAGOH 3714b5d
@@ -4,7 +4,6 @@
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
 from __future__ import with_statement
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
-import collections
Akira TAGOH 3714b5d
 import errno
Akira TAGOH 3714b5d
 import filecmp
Akira TAGOH 3714b5d
 import os.path
Akira TAGOH 3714b5d
@@ -12,6 +11,11 @@ import re
Akira TAGOH 3714b5d
 import tempfile
Akira TAGOH 3714b5d
 import sys
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
+try:
Akira TAGOH 3714b5d
+  from collections.abc import MutableSet
Akira TAGOH 3714b5d
+except ImportError:
Akira TAGOH 3714b5d
+  from collections import MutableSet
Akira TAGOH 3714b5d
+
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
 # A minimal memoizing decorator. It'll blow up if the args aren't immutable,
Akira TAGOH 3714b5d
 # among other "problems".
Akira TAGOH 3714b5d
@@ -494,7 +498,7 @@ def uniquer(seq, idfun=None):
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
 # Based on http://code.activestate.com/recipes/576694/.
Akira TAGOH 3714b5d
-class OrderedSet(collections.MutableSet):
Akira TAGOH 3714b5d
+class OrderedSet(MutableSet):
Akira TAGOH 3714b5d
   def __init__(self, iterable=None):
Akira TAGOH 3714b5d
     self.end = end = []
Akira TAGOH 3714b5d
     end += [None, end, end]         # sentinel node for doubly linked list
Akira TAGOH 3714b5d
diff --git a/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py
Akira TAGOH 3714b5d
index 843e7067..327fe8d2 100644
Akira TAGOH 3714b5d
--- a/pylib/gyp/generator/msvs.py
Akira TAGOH 3714b5d
+++ b/pylib/gyp/generator/msvs.py
Akira TAGOH 3714b5d
@@ -4,7 +4,7 @@
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
 from __future__ import print_function
Akira TAGOH 3714b5d
 
Akira TAGOH 3714b5d
-import collections
Akira TAGOH 3714b5d
+from collections import OrderedDict
Akira TAGOH 3714b5d
 import copy
Akira TAGOH 3714b5d
 import ntpath
Akira TAGOH 3714b5d
 import os
Akira TAGOH 3714b5d
@@ -195,7 +195,7 @@ def _ConvertSourcesToFilterHierarchy(sources, prefix=None, excluded=None,
Akira TAGOH 3714b5d
   if not prefix: prefix = []
Akira TAGOH 3714b5d
   result = []
Akira TAGOH 3714b5d
   excluded_result = []
Akira TAGOH 3714b5d
-  folders = collections.OrderedDict()
Akira TAGOH 3714b5d
+  folders = OrderedDict()
Akira TAGOH 3714b5d
   # Gather files into the final result, excluded, or folders.
Akira TAGOH 3714b5d
   for s in sources:
Akira TAGOH 3714b5d
     if len(s) == 1: