Issue 2331: For forward compatibility, use "import pickle" and have
[scons.git] / src / engine / SCons / Tool / msvs.py
index 684ca458f631ca18fec7461b0e115fd21d6b066c..698648853cca8dd14cc62881721420979919756c 100644 (file)
@@ -34,11 +34,14 @@ from __future__ import generators  ### KEEP FOR COMPATIBILITY FIXERS
 
 __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
 
+import SCons.compat
+
 import base64
-import cPickle
 import hashlib
 import ntpath
 import os
+# compat layer imports "cPickle" for us if it's available.
+import pickle
 import re
 import sys
 
@@ -426,10 +429,10 @@ class _GenerateV6DSP(_DSPGenerator):
 
         if self.nokeep == 0:
             # now we pickle some data and add it to the file -- MSDEV will ignore it.
-            pdata = cPickle.dumps(self.configs,1)
+            pdata = pickle.dumps(self.configs,1)
             pdata = base64.encodestring(pdata)
             self.file.write(pdata + '\n')
-            pdata = cPickle.dumps(self.sources,1)
+            pdata = pickle.dumps(self.sources,1)
             pdata = base64.encodestring(pdata)
             self.file.write(pdata + '\n')
 
@@ -487,7 +490,7 @@ class _GenerateV6DSP(_DSPGenerator):
         # OK, we've found our little pickled cache of data.
         try:
             datas = base64.decodestring(datas)
-            data = cPickle.loads(datas)
+            data = pickle.loads(datas)
         except KeyboardInterrupt:
             raise
         except:
@@ -506,7 +509,7 @@ class _GenerateV6DSP(_DSPGenerator):
         # it has a "# " in front of it, so we strip that.
         try:
             datas = base64.decodestring(datas)
-            data = cPickle.loads(datas)
+            data = pickle.loads(datas)
         except KeyboardInterrupt:
             raise
         except:
@@ -688,10 +691,10 @@ class _GenerateV7DSP(_DSPGenerator):
 
         if self.nokeep == 0:
             # now we pickle some data and add it to the file -- MSDEV will ignore it.
-            pdata = cPickle.dumps(self.configs,1)
+            pdata = pickle.dumps(self.configs,1)
             pdata = base64.encodestring(pdata)
             self.file.write('<!-- SCons Data:\n' + pdata + '\n')
-            pdata = cPickle.dumps(self.sources,1)
+            pdata = pickle.dumps(self.sources,1)
             pdata = base64.encodestring(pdata)
             self.file.write(pdata + '-->\n')
 
@@ -792,7 +795,7 @@ class _GenerateV7DSP(_DSPGenerator):
         # OK, we've found our little pickled cache of data.
         try:
             datas = base64.decodestring(datas)
-            data = cPickle.loads(datas)
+            data = pickle.loads(datas)
         except KeyboardInterrupt:
             raise
         except:
@@ -810,7 +813,7 @@ class _GenerateV7DSP(_DSPGenerator):
         # OK, we've found our little pickled cache of data.
         try:
             datas = base64.decodestring(datas)
-            data = cPickle.loads(datas)
+            data = pickle.loads(datas)
         except KeyboardInterrupt:
             raise
         except:
@@ -937,7 +940,7 @@ class _GenerateV7DSW(_DSWGenerator):
         # OK, we've found our little pickled cache of data.
         try:
             datas = base64.decodestring(datas)
-            data = cPickle.loads(datas)
+            data = pickle.loads(datas)
         except KeyboardInterrupt:
             raise
         except:
@@ -1042,7 +1045,7 @@ class _GenerateV7DSW(_DSWGenerator):
                             '\tEndGlobalSection\n')
         self.file.write('EndGlobal\n')
         if self.nokeep == 0:
-            pdata = cPickle.dumps(self.configs,1)
+            pdata = pickle.dumps(self.configs,1)
             pdata = base64.encodestring(pdata)
             self.file.write(pdata + '\n')