From fafcdd573702e188873c608153900e764672648d Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Tue, 12 Feb 2019 16:15:47 +0100 Subject: Force textfile.py tool output encoding to UTF-8 On Windows the preferred encoding is cp1252, which makes zero sense for text files. This change will force it to UTF-8, which is a sensible choice that works best. Test-Information: Build now works on Windows 2012 with MSVC 2015 32bit, with test=unit. Change-Id: I3324d41fe33df98cdd5b90e0712f741f401176c3 diff --git a/3rdParty/SCons/02_fix_python_3_windows_unicode.diff b/3rdParty/SCons/02_fix_python_3_windows_unicode.diff new file mode 100644 index 0000000..f512ba9 --- /dev/null +++ b/3rdParty/SCons/02_fix_python_3_windows_unicode.diff @@ -0,0 +1,13 @@ +diff --git a/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py b/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py +index 9e2327af3..46176adc1 100644 +--- a/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py ++++ b/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py +@@ -127,7 +127,7 @@ def _action(target, source, env): + # write the file + try: + if SCons.Util.PY3: +- target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE, newline='') ++ target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE, newline='', encoding="utf8") + else: + target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE) + except (OSError, IOError): diff --git a/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py b/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py index 9e2327a..46176ad 100644 --- a/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py +++ b/3rdParty/SCons/scons-3.0.1/engine/SCons/Tool/textfile.py @@ -127,7 +127,7 @@ def _action(target, source, env): # write the file try: if SCons.Util.PY3: - target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE, newline='') + target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE, newline='', encoding="utf8") else: target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE) except (OSError, IOError): -- cgit v0.10.2-6-g49f6