Write depends file in utf8 mode instead of in a system-dependent encoding.
BUG=466008
Review URL: https://codereview.chromium.org/1271303002/
Patch from Leung Wing Chung <lwchkg@gmail.com>!
git-svn-id: http://grit-i18n.googlecode.com/svn/trunk@193 7262f16d-afe8-6277-6482-052fa10e57b1
diff --git a/grit/tool/build.py b/grit/tool/build.py
index 8bd1767..65a966f 100644
--- a/grit/tool/build.py
+++ b/grit/tool/build.py
@@ -7,6 +7,7 @@
SCons build system.
'''
+import codecs
import filecmp
import getopt
import os
@@ -238,9 +239,9 @@
return 0
def __init__(self, defines=None):
- # Default file-creation function is built-in open(). Only done to allow
+ # Default file-creation function is codecs.open(). Only done to allow
# overriding by unit test.
- self.fo_create = open
+ self.fo_create = codecs.open
# key/value pairs of C-preprocessor like defines that are used for
# conditional output of resources
@@ -487,7 +488,7 @@
depfile_contents = output_file + ': ' + deps_text
self.MakeDirectoriesTo(depfile)
- outfile = self.fo_create(depfile, 'wb')
+ outfile = self.fo_create(depfile, 'w', encoding='utf-8')
outfile.writelines(depfile_contents)
@staticmethod