summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2015-07-26 21:38:38 +0200
committerMichael Stahl <mstahl@redhat.com>2015-10-25 08:29:39 +0000
commit147cb6a2ae63debed3dd500e19b2776cebbc0031 (patch)
tree79c23c3ee4c0dde4cb5e17b025d0fabd55bf0243 /external
parent1a4fc613e13d2ac3cf9cf96f29aa3f367a8fb25a (diff)
Bump python to 3.5
3.5 release is needed for MSVC 14.0 (aka VS 2015) support. Python 3.5 removed build toolchain support for MSVC 2013. Because we still need to support it, we duplicate the Python directory in externals and copy old patches and dispatch to this directory for MSVC 2013. Once the support for MSVC 2013 is dropped on master, this directory can be removed again. Change-Id: Idf7bc351239582f583ecbdb53c923cbdcf968089 Reviewed-on: https://gerrit.libreoffice.org/17352 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'external')
-rw-r--r--external/Module_external.mk2
-rw-r--r--external/python3/ExternalPackage_python3.mk160
-rw-r--r--external/python3/ExternalProject_python3.mk3
-rw-r--r--external/python3/UnpackedTarball_python3.mk12
-rw-r--r--external/python3/i100492-freebsd.patch.136
-rw-r--r--external/python3/python-3.3.0-darwin.patch.1100
-rw-r--r--external/python3/python-3.3.0-gcc-4.8.patch.17
-rw-r--r--external/python3/python-3.3.0-msvc-disable.patch.122
-rw-r--r--external/python3/python-3.3.0-ssl.patch.1196
-rw-r--r--external/python3/python-3.3.3-aix.patch.150
-rw-r--r--external/python3/python-3.3.3-elf-rpath.patch.113
-rw-r--r--external/python3/python-3.3.3-py17797.patch.138
-rwxr-xr-xexternal/python3/python-3.5.0-tcltk.disable.patch16
-rw-r--r--external/python3/python-3.5.tweak.strip.soabi.patch12
-rw-r--r--external/python3/ubsan.patch.049
-rw-r--r--external/python33/ExternalPackage_python3.mk829
-rw-r--r--external/python33/ExternalProject_python3.mk148
-rw-r--r--external/python33/GeneratedPackage_python3.mk18
-rw-r--r--external/python33/Makefile7
-rw-r--r--external/python33/Module_python33.mk24
-rw-r--r--external/python33/README1
-rw-r--r--external/python33/UnpackedTarball_python3.mk60
-rw-r--r--external/python33/i100492-freebsd.patch.180
-rw-r--r--external/python33/python-3.3.0-clang.patch.113
-rw-r--r--external/python33/python-3.3.0-darwin.patch.185
-rw-r--r--external/python33/python-3.3.0-gcc-4.8.patch.115
-rw-r--r--external/python33/python-3.3.0-i42553.patch.218
-rw-r--r--external/python33/python-3.3.0-msvc-disable.patch.147
-rw-r--r--external/python33/python-3.3.0-msvc-x64.patch.1289
-rw-r--r--external/python33/python-3.3.0-msvc2012.patch.172
-rw-r--r--external/python33/python-3.3.0-pythreadstate.patch.115
-rw-r--r--external/python33/python-3.3.0-ssl.patch.1208
-rw-r--r--external/python33/python-3.3.3-aix.patch.1145
-rw-r--r--external/python33/python-3.3.3-disable-obmalloc.patch.021
-rw-r--r--external/python33/python-3.3.3-elf-rpath.patch.113
-rw-r--r--external/python33/python-3.3.3-msvc2012-winxp.patch.1117
-rw-r--r--external/python33/python-3.3.3-py17797.patch.145
-rw-r--r--external/python33/python-3.3.5-darwin-gnu-xargs.patch.112
-rw-r--r--external/python33/python-3.3.5-pyexpat-symbols.patch.128
-rw-r--r--external/python33/python-3.3.5-vs2013.patch.114
-rw-r--r--external/python33/python-lsan.patch.019
-rw-r--r--external/python33/python-msvc-disable-sse2.patch.123
-rw-r--r--external/python33/python-vc2013.patch.11213
-rw-r--r--external/python33/ubsan.patch.079
44 files changed, 3965 insertions, 409 deletions
diff --git a/external/Module_external.mk b/external/Module_external.mk
index a5dcade97e71..aadb722d469e 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -85,7 +85,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
$(call gb_Helper_optional,PAGEMAKER,libpagemaker) \
$(call gb_Helper_optional,POPPLER,poppler) \
$(call gb_Helper_optional,POSTGRESQL,postgresql) \
- $(call gb_Helper_optional,PYTHON,python3) \
+ $(call gb_Helper_optional,PYTHON,$(if $(filter $(PYTHON_VERSION_MINOR),3),python33,python3)) \
$(call gb_Helper_optional,REDLAND,redland) \
$(call gb_Helper_optional,REVENGE,librevenge) \
$(call gb_Helper_optional,RHINO,rhino) \
diff --git a/external/python3/ExternalPackage_python3.mk b/external/python3/ExternalPackage_python3.mk
index a2f51c10be18..e132aab59532 100644
--- a/external/python3/ExternalPackage_python3.mk
+++ b/external/python3/ExternalPackage_python3.mk
@@ -53,60 +53,68 @@ $(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/libpython$(
# one of these failed to build.
# Obviously this list should not contain stuff with external dependencies
# that may not be available on baseline systems.
+
ifneq ($(OS),AIX)
$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib-dynload,\
- LO_lib/array.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/atexit.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/audioop.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/binascii.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_bisect.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/cmath.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_codecs_cn.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_codecs_hk.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_codecs_iso2022.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_codecs_jp.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_codecs_kr.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_codecs_tw.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_crypt.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_csv.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_ctypes.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_ctypes_test.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_datetime.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_decimal.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_elementtree.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/fcntl.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/grp.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/array.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/audioop.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/binascii.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_bisect.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/cmath.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_cn.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_hk.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_iso2022.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_jp.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_kr.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_tw.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_crypt.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_csv.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_ctypes.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_ctypes_test.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_datetime.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_decimal.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_elementtree.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/fcntl.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/grp.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
$(if $(DISABLE_OPENSSL),, \
- LO_lib/_hashlib.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_hashlib.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
) \
- LO_lib/_heapq.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_json.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_lsprof.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/math.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/mmap.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_multibytecodec.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_multiprocessing.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/nis.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/ossaudiodev.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/parser.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_pickle.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_posixsubprocess.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/pyexpat.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_random.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/resource.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/select.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_socket.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/spwd.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_heapq.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_json.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_lsprof.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_lzma.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/math.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/mmap.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_multibytecodec.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_multiprocessing.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/nis.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_opcode.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/ossaudiodev.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/parser.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_pickle.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_posixsubprocess.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/pyexpat.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_random.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/readline.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/resource.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/select.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_sha1.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_sha256.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_sha512.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_socket.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/spwd.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
$(if $(DISABLE_OPENSSL),, \
- LO_lib/_ssl.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_ssl.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
) \
- LO_lib/_struct.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/syslog.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/termios.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_testbuffer.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/_testcapi.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/time.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
- LO_lib/zlib.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_struct.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/syslog.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/termios.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_testbuffer.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_testcapi.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_testimportmultiple.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_testmultiphase.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/xxlimited.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/zlib.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
))
endif
endif
@@ -159,11 +167,16 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
LICENSE \
Lib/__future__.py \
Lib/__phello__.foo.py \
+ Lib/_bootlocale.py \
+ Lib/_collections_abc.py \
Lib/_compat_pickle.py \
+ Lib/_compression.py \
Lib/_dummy_thread.py \
Lib/_markupbase.py \
Lib/_osx_support.py \
+ Lib/_pydecimal.py \
Lib/_pyio.py \
+ Lib/_sitebuiltins.py \
Lib/_strptime.py \
Lib/_threading_local.py \
Lib/_weakrefset.py \
@@ -179,7 +192,6 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/binhex.py \
Lib/bisect.py \
Lib/bz2.py \
- Lib/cProfile.py \
Lib/calendar.py \
Lib/cgi.py \
Lib/cgitb.py \
@@ -194,6 +206,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/contextlib.py \
Lib/copy.py \
Lib/copyreg.py \
+ Lib/cProfile.py \
Lib/crypt.py \
Lib/csv.py \
Lib/datetime.py \
@@ -202,6 +215,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/dis.py \
Lib/doctest.py \
Lib/dummy_threading.py \
+ Lib/enum.py \
Lib/filecmp.py \
Lib/fileinput.py \
Lib/fnmatch.py \
@@ -240,9 +254,10 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/nturl2path.py \
Lib/numbers.py \
Lib/opcode.py \
+ Lib/operator.py \
Lib/optparse.py \
Lib/os.py \
- Lib/os2emxpath.py \
+ Lib/pathlib.py \
Lib/pdb.py \
Lib/pickle.py \
Lib/pickletools.py \
@@ -256,20 +271,22 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/profile.py \
Lib/pstats.py \
Lib/pty.py \
- Lib/py_compile.py \
Lib/pyclbr.py \
+ Lib/py_compile.py \
Lib/pydoc.py \
Lib/queue.py \
Lib/quopri.py \
Lib/random.py \
- Lib/re.py \
Lib/reprlib.py \
+ Lib/re.py \
Lib/rlcompleter.py \
Lib/runpy.py \
Lib/sched.py \
Lib/shelve.py \
+ Lib/selectors.py \
Lib/shlex.py \
Lib/shutil.py \
+ Lib/signal.py \
Lib/site.py \
Lib/smtpd.py \
Lib/smtplib.py \
@@ -280,9 +297,10 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/sre_constants.py \
Lib/sre_parse.py \
Lib/ssl.py \
+ Lib/statistics.py \
Lib/stat.py \
- Lib/string.py \
Lib/stringprep.py \
+ Lib/string.py \
Lib/struct.py \
Lib/subprocess.py \
Lib/sunau.py \
@@ -297,13 +315,14 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/this.py \
Lib/threading.py \
Lib/timeit.py \
- Lib/token.py \
Lib/tokenize.py \
- Lib/trace.py \
+ Lib/token.py \
Lib/traceback.py \
+ Lib/trace.py \
Lib/tty.py \
Lib/turtle.py \
Lib/types.py \
+ Lib/typing.py \
Lib/uu.py \
Lib/uuid.py \
Lib/warnings.py \
@@ -351,6 +370,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/distutils,\
Lib/distutils/README \
Lib/distutils/__init__.py \
+ Lib/distutils/_msvccompiler.py \
Lib/distutils/archive_util.py \
Lib/distutils/bcppcompiler.py \
Lib/distutils/ccompiler.py \
@@ -362,7 +382,6 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/distutils/dep_util.py \
Lib/distutils/dir_util.py \
Lib/distutils/dist.py \
- Lib/distutils/emxccompiler.py \
Lib/distutils/errors.py \
Lib/distutils/extension.py \
Lib/distutils/fancy_getopt.py \
@@ -394,6 +413,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/distutils/command/build_scripts.py \
Lib/distutils/command/check.py \
Lib/distutils/command/clean.py \
+ Lib/distutils/command/command_template \
Lib/distutils/command/config.py \
Lib/distutils/command/install_data.py \
Lib/distutils/command/install_egg_info.py \
@@ -406,6 +426,8 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/distutils/command/upload.py \
Lib/distutils/command/wininst-10.0-amd64.exe \
Lib/distutils/command/wininst-10.0.exe \
+ Lib/distutils/command/wininst-14.0-amd64.exe \
+ Lib/distutils/command/wininst-14.0.exe \
Lib/distutils/command/wininst-6.0.exe \
Lib/distutils/command/wininst-7.1.exe \
Lib/distutils/command/wininst-8.0.exe \
@@ -422,6 +444,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/email/architecture.rst \
Lib/email/base64mime.py \
Lib/email/charset.py \
+ Lib/email/contentmanager.py \
Lib/email/encoders.py \
Lib/email/errors.py \
Lib/email/feedparser.py \
@@ -460,6 +483,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/encodings/cp037.py \
Lib/encodings/cp1006.py \
Lib/encodings/cp1026.py \
+ Lib/encodings/cp1125.py \
Lib/encodings/cp1140.py \
Lib/encodings/cp1250.py \
Lib/encodings/cp1251.py \
@@ -531,7 +555,9 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/encodings/iso8859_9.py \
Lib/encodings/johab.py \
Lib/encodings/koi8_r.py \
+ Lib/encodings/koi8_t.py \
Lib/encodings/koi8_u.py \
+ Lib/encodings/kz1048.py \
Lib/encodings/latin_1.py \
Lib/encodings/mac_arabic.py \
Lib/encodings/mac_centeuro.py \
@@ -588,6 +614,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/importlib,\
Lib/importlib/__init__.py \
Lib/importlib/_bootstrap.py \
+ Lib/importlib/_bootstrap_external.py \
Lib/importlib/abc.py \
Lib/importlib/machinery.py \
Lib/importlib/util.py \
@@ -602,10 +629,10 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
))
$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3,\
- Lib/lib2to3/Grammar.txt \
- Lib/lib2to3/PatternGrammar.txt \
Lib/lib2to3/__init__.py \
Lib/lib2to3/__main__.py \
+ Lib/lib2to3/Grammar.txt \
+ Lib/lib2to3/PatternGrammar.txt \
Lib/lib2to3/btm_matcher.py \
Lib/lib2to3/btm_utils.py \
Lib/lib2to3/fixer_base.py \
@@ -620,6 +647,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3/fixes,\
Lib/lib2to3/fixes/__init__.py \
Lib/lib2to3/fixes/fix_apply.py \
+ Lib/lib2to3/fixes/fix_asserts.py \
Lib/lib2to3/fixes/fix_basestring.py \
Lib/lib2to3/fixes/fix_buffer.py \
Lib/lib2to3/fixes/fix_callable.py \
@@ -656,6 +684,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/lib2to3/fixes/fix_raise.py \
Lib/lib2to3/fixes/fix_raw_input.py \
Lib/lib2to3/fixes/fix_reduce.py \
+ Lib/lib2to3/fixes/fix_reload.py \
Lib/lib2to3/fixes/fix_renames.py \
Lib/lib2to3/fixes/fix_repr.py \
Lib/lib2to3/fixes/fix_set_literal.py \
@@ -693,14 +722,21 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/multiprocessing,\
Lib/multiprocessing/__init__.py \
Lib/multiprocessing/connection.py \
- Lib/multiprocessing/forking.py \
+ Lib/multiprocessing/context.py \
+ Lib/multiprocessing/forkserver.py \
Lib/multiprocessing/heap.py \
Lib/multiprocessing/managers.py \
- Lib/multiprocessing/pool.py \
+ Lib/multiprocessing/popen_fork.py \
+ Lib/multiprocessing/popen_forkserver.py \
+ Lib/multiprocessing/popen_spawn_posix.py \
+ Lib/multiprocessing/popen_spawn_win32.py \
Lib/multiprocessing/process.py \
Lib/multiprocessing/queues.py \
Lib/multiprocessing/reduction.py \
+ Lib/multiprocessing/resource_sharer.py \
+ Lib/multiprocessing/semaphore_tracker.py \
Lib/multiprocessing/sharedctypes.py \
+ Lib/multiprocessing/spawn.py \
Lib/multiprocessing/synchronize.py \
Lib/multiprocessing/util.py \
))
@@ -732,6 +768,8 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest/test,\
Lib/unittest/test/__init__.py \
+ Lib/unittest/test/__main__.py \
+ Lib/unittest/test/_test_warnings.py \
Lib/unittest/test/dummy.py \
Lib/unittest/test/support.py \
Lib/unittest/test/test_assertions.py \
@@ -746,11 +784,11 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
Lib/unittest/test/test_setups.py \
Lib/unittest/test/test_skipping.py \
Lib/unittest/test/test_suite.py \
- Lib/unittest/test/_test_warnings.py \
))
$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest/test/testmock,\
Lib/unittest/test/testmock/__init__.py \
+ Lib/unittest/test/testmock/__main__.py \
Lib/unittest/test/testmock/support.py \
Lib/unittest/test/testmock/testcallable.py \
Lib/unittest/test/testmock/testhelpers.py \
diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk
index 098b1ea6957e..72afab7226e8 100644
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -136,8 +136,7 @@ $(call gb_ExternalProject_get_state_target,python3,fixinstallnames) : $(call gb_
$(call gb_ExternalProject_get_state_target,python3,executables) : $(call gb_ExternalProject_get_state_target,python3,build)
cd $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin ; \
for file in python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
- python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
- pythonw$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) ; do \
+ python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m ; do \
$(INSTALL_NAME_TOOL) -change \
$(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \
@executable_path/../LibreOfficePython $$file ; done
diff --git a/external/python3/UnpackedTarball_python3.mk b/external/python3/UnpackedTarball_python3.mk
index b091bfcb4738..37b05c9fadf1 100644
--- a/external/python3/UnpackedTarball_python3.mk
+++ b/external/python3/UnpackedTarball_python3.mk
@@ -17,24 +17,20 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\
$(eval $(call gb_UnpackedTarball_add_patches,python3,\
external/python3/i100492-freebsd.patch.1 \
- external/python3/python-3.3.0-i42553.patch.2 \
external/python3/python-3.3.3-aix.patch.1 \
external/python3/python-3.3.0-darwin.patch.1 \
- external/python3/python-3.3.0-msvc2012.patch.1 \
external/python3/python-3.3.0-msvc-disable.patch.1 \
- external/python3/python-3.3.0-msvc-x64.patch.1 \
external/python3/python-3.3.0-ssl.patch.1 \
- external/python3/python-3.3.0-gcc-4.8.patch.1 \
+ external/python3/python-3.3.3-py17797.patch.1 \
+ external/python3/python-3.3.0-i42553.patch.2 \
external/python3/python-3.3.0-pythreadstate.patch.1 \
external/python3/python-3.3.0-clang.patch.1 \
- external/python3/python-3.3.3-py17797.patch.1 \
- external/python3/python-3.3.3-msvc2012-winxp.patch.1 \
external/python3/python-3.3.5-pyexpat-symbols.patch.1 \
external/python3/python-3.3.5-vs2013.patch.1 \
- external/python3/python-3.3.5-darwin-gnu-xargs.patch.1 \
- external/python3/python-msvc-disable-sse2.patch.1 \
external/python3/python-lsan.patch.0 \
external/python3/ubsan.patch.0 \
+ external/python3/python-3.5.tweak.strip.soabi.patch \
+ external/python3/python-3.5.0-tcltk.disable.patch \
))
ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
diff --git a/external/python3/i100492-freebsd.patch.1 b/external/python3/i100492-freebsd.patch.1
index 7189a7e81956..9b4b33729f75 100644
--- a/external/python3/i100492-freebsd.patch.1
+++ b/external/python3/i100492-freebsd.patch.1
@@ -1,30 +1,18 @@
FreeBSD porting fixes, patch by maho@openoffice.org
---- Python-3.3.0/configure 2012-11-28 09:00:41.094955090 +0000
-+++ Python-3.3.0/configure 2012-11-28 09:01:13.033329526 +0000
-@@ -5545,11 +5545,6 @@
- LDLIBRARY='libpython$(LDVERSION).so'
- BLDLIBRARY='-L. -lpython$(LDVERSION)'
- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
-- case $ac_sys_system in
-- FreeBSD*)
-- SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
-- ;;
-- esac
- INSTSONAME="$LDLIBRARY".$SOVERSION
- if test "$with_pydebug" != yes
- then
---- Python-3.3.0/Lib/test/test_threading.py 2012-11-28 09:00:41.292957412 +0000
-+++ Python-3.3.0/Lib/test/test_threading.py 2012-11-28 09:01:13.017329339 +0000
-@@ -451,7 +451,7 @@
- # #12316 and #11870), and fork() from a worker thread is known to trigger
- # problems with some operating systems (issue #3863): skip problematic tests
- # on platforms known to behave badly.
-- platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5',
-+ platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'netbsd5',
- 'os2emx', 'hp-ux11')
+--- python3.orig/Lib/test/test_threading.py 2015-07-05 18:50:07.000000000 +0200
++++ python3/Lib/test/test_threading.py 2015-07-26 17:03:55.935367820 +0200
+@@ -24,8 +24,8 @@
+ # #12316 and #11870), and fork() from a worker thread is known to trigger
+ # problems with some operating systems (issue #3863): skip problematic tests
+ # on platforms known to behave badly.
+-platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5',
+- 'hp-ux11')
++platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'netbsd5',
++ 'os2emx', 'hp-ux11')
- def _run_and_join(self, script):
+
+ # A trivial mutable counter.
--- Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:00:41.097955124 +0000
+++ Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:01:13.018329351 +0000
@@ -42,6 +42,10 @@
diff --git a/external/python3/python-3.3.0-darwin.patch.1 b/external/python3/python-3.3.0-darwin.patch.1
index a709473d7e71..2cf5bbb9e1bd 100644
--- a/external/python3/python-3.3.0-darwin.patch.1
+++ b/external/python3/python-3.3.0-darwin.patch.1
@@ -2,14 +2,14 @@
LO needs to build both against MacOSX SDK and not produce universal binaries.
-diff -ru python3.old_/configure python3/configure
---- python3.old_/configure 2012-09-29 10:00:50.000000000 +0200
-+++ python3/configure 2012-11-13 16:37:26.030013256 +0100
-@@ -6353,7 +6353,19 @@
- if test "${enable_universalsdk}"; then
- UNIVERSAL_ARCH_FLAGS=""
- if test "$UNIVERSAL_ARCHS" = "32-bit" ; then
-- UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386"
+diff -ru python3.orig/configure python3/configure
+--- python3.orig/configure 2015-07-26 17:36:11.808497783 +0200
++++ python3/configure 2015-07-26 17:38:49.016508337 +0200
+@@ -6794,7 +6794,20 @@
+ then
+ case "$UNIVERSAL_ARCHS" in
+ 32-bit)
+- UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386"
+ # LO does not use Universal Binaries (but the only way to set a SDK
+ # here implies that, so de-universalize here...)
+ case `/usr/bin/arch` in
@@ -23,36 +23,16 @@ diff -ru python3.old_/configure python3/configure
+ as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
+ ;;
+ esac
- ARCH_RUN_32BIT=""
- LIPO_32BIT_FLAGS=""
- elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then
-
-On OS X avoid /usr/local/lib and include like the plague, we don't
-want to accidentally get some MacPorts etc stuff.
-
-On OS X, always run the compiler (which is Clang, not gcc) to find out
-what the include paths are. On a clean modern installation, there is
-no /usr/include.
-
---- python3/setup.py
-+++ python3/setup.py
-@@ -460,11 +460,11 @@
- # Ensure that /usr/local is always used, but the local build
- # directories (i.e. '.' and 'Include') must be first. See issue
- # 10520.
-- if not cross_compiling:
-+ if not cross_compiling and host_platform != 'darwin':
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- # only change this for cross builds for 3.3, issues on Mageia
-- if cross_compiling:
-+ if cross_compiling or host_platform == 'darwin':
- self.add_gcc_paths()
- self.add_multiarch_paths()
-
---- python3/Mac/Makefile.in.orig 2013-09-13 20:16:50.558137603 +0200
-+++ python3/Mac/Makefile.in 2013-09-13 21:57:14.790962423 +0200
-@@ -39,7 +39,7 @@
++
+ LIPO_32BIT_FLAGS=""
+ ARCH_RUN_32BIT=""
+ ;;
+Only in python3: .#configure
+Only in python3: #configure#
+diff -ru python3.orig/Mac/Makefile.in python3/Mac/Makefile.in
+--- python3.orig/Mac/Makefile.in 2015-07-05 18:50:07.000000000 +0200
++++ python3/Mac/Makefile.in 2015-07-26 17:40:14.860514100 +0200
+@@ -43,7 +43,7 @@
INSTALL_SCRIPT= @INSTALL_SCRIPT@
INSTALL_DATA=@INSTALL_DATA@
LN=@LN@
@@ -61,8 +41,21 @@ no /usr/include.
CPMAC=CpMac
APPTEMPLATE=$(srcdir)/Resources/app
---- python3/Mac/Resources/framework/Info.plist.in
-+++ python3/Mac/Resources/framework/Info.plist.in
+diff -ru python3.orig/Mac/Resources/app/Info.plist.in python3/Mac/Resources/app/Info.plist.in
+--- python3.orig/Mac/Resources/app/Info.plist.in 2015-07-05 18:50:07.000000000 +0200
++++ python3/Mac/Resources/app/Info.plist.in 2015-07-26 17:42:00.974521224 +0200
+@@ -18,7 +18,7 @@
+ </dict>
+ </array>
+ <key>CFBundleExecutable</key>
+- <string>Python</string>
++ <string>LibreOfficePython</string>
+ <key>CFBundleGetInfoString</key>
+ <string>%version%, (c) 2001-2015 Python Software Foundation.</string>
+ <key>CFBundleHelpBookFolder</key>
+diff -ru python3.orig/Mac/Resources/framework/Info.plist.in python3/Mac/Resources/framework/Info.plist.in
+--- python3.orig/Mac/Resources/framework/Info.plist.in 2015-07-05 18:50:07.000000000 +0200
++++ python3/Mac/Resources/framework/Info.plist.in 2015-07-26 17:41:15.996518204 +0200
@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
@@ -72,14 +65,19 @@ no /usr/include.
<key>CFBundleGetInfoString</key>
<string>Python Runtime and Library</string>
<key>CFBundleIdentifier</key>
---- python3/Mac/Resources/app/Info.plist.in
-+++ python3/Mac/Resources/app/Info.plist.in
-@@ -18,7 +18,7 @@
- </dict>
- </array>
- <key>CFBundleExecutable</key>
-- <string>Python</string>
-+ <string>LibreOfficePython</string>
- <key>CFBundleGetInfoString</key>
- <string>%version%, (c) 2004-2014 Python Software Foundation.</string>
- <key>CFBundleHelpBookFolder</key>
+diff -ru python3.orig/setup.py python3/setup.py
+--- python3.orig/setup.py 2015-07-26 17:36:11.804497783 +0200
++++ python3/setup.py 2015-07-26 17:39:48.599512337 +0200
+@@ -468,11 +468,11 @@
+ # Ensure that /usr/local is always used, but the local build
+ # directories (i.e. '.' and 'Include') must be first. See issue
+ # 10520.
+- if not cross_compiling:
++ if not cross_compiling and host_platform != 'darwin':
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ # only change this for cross builds for 3.3, issues on Mageia
+- if cross_compiling:
++ if cross_compiling or host_platform == 'darwin':
+ self.add_gcc_paths()
+ self.add_multiarch_paths()
diff --git a/external/python3/python-3.3.0-gcc-4.8.patch.1 b/external/python3/python-3.3.0-gcc-4.8.patch.1
index 8fb7107ff299..6af06b338e96 100644
--- a/external/python3/python-3.3.0-gcc-4.8.patch.1
+++ b/external/python3/python-3.3.0-gcc-4.8.patch.1
@@ -1,10 +1,11 @@
---- Python-3.3.0/Include/modsupport.h 2012-09-29 10:00:26.000000000 +0200
-+++ Python-3.3.0/Include/modsupport.h 2013-03-08 10:46:28.671938738 +0100
+diff -ru python3.orig/Include/modsupport.h python3/Include/modsupport.h
+--- python3.orig/Include/modsupport.h 2015-07-05 18:50:06.000000000 +0200
++++ python3/Include/modsupport.h 2015-07-26 18:21:30.717680314 +0200
@@ -26,7 +26,11 @@
/* Due to a glitch in 3.2, the _SizeT versions weren't exported from the DLL. */
#if !defined(PY_SSIZE_T_CLEAN) || !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
--PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...) Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3);
+-PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...);
+PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...)
+#ifdef PY_SSIZE_T_CLEAN
+ Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3)
diff --git a/external/python3/python-3.3.0-msvc-disable.patch.1 b/external/python3/python-3.3.0-msvc-disable.patch.1
index 6a6a9509a4ef..bb0a57f4c032 100644
--- a/external/python3/python-3.3.0-msvc-disable.patch.1
+++ b/external/python3/python-3.3.0-msvc-disable.patch.1
@@ -1,20 +1,18 @@
Disable some stuff LO does not need, especially stuff with external dependencies
-diff -ru python3/PCbuild/pcbuild.sln python3.new/PCbuild/pcbuild.sln
---- python3/PCbuild/pcbuild.sln 2012-09-29 10:00:48.000000000 +0200
-+++ python3.new/PCbuild/pcbuild.sln 2012-11-12 22:13:49.445159668 +0100
-@@ -12,10 +12,6 @@
+diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
+--- python3.orig/PCbuild/pcbuild.sln 2015-07-26 17:43:52.262528695 +0200
++++ python3/PCbuild/pcbuild.sln 2015-07-26 18:00:18.438594901 +0200
+@@ -12,8 +12,6 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcxproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcxproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
-EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "w9xpopen", "w9xpopen.vcxproj", "{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}"
--EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_buildinfo", "make_buildinfo.vcxproj", "{C73F0EC1-358B-4177-940F-0846AC8B04CD}"
- EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", "winsound.vcxproj", "{28B5D777-DDF2-4B6B-B34F-31D938813856}"
-@@ -32,30 +28,16 @@
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_decimal", "_decimal.vcxproj", "{0E9791DB-593A-465F-98BC-681011311617}"
+@@ -28,32 +26,18 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", "_socket.vcxproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}"
EndProject
@@ -24,6 +22,8 @@ diff -ru python3/PCbuild/pcbuild.sln python3.new/PCbuild/pcbuild.sln
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcxproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testimportmultiple", "_testimportmultiple.vcxproj", "{36D0C52C-DF4E-45D0-8BC7-E294C3ABC781}"
+ EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_tkinter", "_tkinter.vcxproj", "{4946ECAC-2E69-4BF8-A90A-F5136F5094DF}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_bz2", "_bz2.vcxproj", "{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}"
@@ -36,7 +36,7 @@ diff -ru python3/PCbuild/pcbuild.sln python3.new/PCbuild/pcbuild.sln
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj", "{D06B6426-4762-44CC-8BAD-D79052507F2F}"
EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "bdist_wininst.vcxproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}"
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "..\PC\bdist_wininst\bdist_wininst.vcxproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcxproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}"
-EndProject
@@ -44,4 +44,4 @@ diff -ru python3/PCbuild/pcbuild.sln python3.new/PCbuild/pcbuild.sln
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl", "ssl.vcxproj", "{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}"
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", "python3dll.vcxproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}"
diff --git a/external/python3/python-3.3.0-ssl.patch.1 b/external/python3/python-3.3.0-ssl.patch.1
index b85fe076fff8..e43a7b332a88 100644
--- a/external/python3/python-3.3.0-ssl.patch.1
+++ b/external/python3/python-3.3.0-ssl.patch.1
@@ -2,186 +2,55 @@
Tweak SSL build to find OpenSSL in solver & not build it itself in "ssl.vcproj" etc.
-diff -ru python3.old_/Modules/Setup.dist python3/Modules/Setup.dist
---- python3.old_/Modules/Setup.dist 2012-09-29 10:00:42.000000000 +0200
-+++ python3/Modules/Setup.dist 2012-11-13 14:19:01.994158111 +0100
-@@ -236,14 +236,14 @@
- # The _md5 module implements the RSA Data Security, Inc. MD5
- # Message-Digest Algorithm, described in RFC 1321.
-
--#_md5 md5module.c
-+_md5 md5module.c
-
-
- # The _sha module implements the SHA checksum algorithms.
- # (NIST's Secure Hash Algorithms.)
--#_sha1 sha1module.c
--#_sha256 sha256module.c
--#_sha512 sha512module.c
-+_sha1 sha1module.c
-+_sha256 sha256module.c
-+_sha512 sha512module.c
-
-
- # The _tkinter module.
-diff -ru python3.old_/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
---- python3.old_/PCbuild/pcbuild.sln 2012-09-29 10:00:48.000000000 +0200
-+++ python3/PCbuild/pcbuild.sln 2012-11-13 14:50:39.220142472 +0100
-@@ -58,8 +58,6 @@
+diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
+--- python3.orig/PCbuild/pcbuild.sln 2015-08-22 18:57:16.653719900 +0200
++++ python3/PCbuild/pcbuild.sln 2015-08-22 19:03:06.062853000 +0200
+@@ -64,10 +64,6 @@
EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tk", "tk.vcxproj", "{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}"
EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl", "ssl.vcxproj", "{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}"
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libeay", "libeay.vcxproj", "{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}"
-EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kill_python", "kill_python.vcxproj", "{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}"
- EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", "python3dll.vcxproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}"
-diff -ru python3.old_/PCbuild/_ssl.vcxproj python3/PCbuild/_ssl.vcxproj
---- python3.old_/PCbuild/_ssl.vcxproj 2012-09-29 10:00:48.000000000 +0200
-+++ python3/PCbuild/_ssl.vcxproj 2012-11-13 14:55:50.298137715 +0100
-@@ -151,14 +151,14 @@
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssleay", "ssleay.vcxproj", "{10615B24-73BF-4EFA-93AA-236916321317}"
+-EndProject
+ Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+diff -ru python3.orig/PCbuild/_ssl.vcxproj python3/PCbuild/_ssl.vcxproj
+--- python3.orig/PCbuild/_ssl.vcxproj 2015-08-11 02:52:36.000000000 +0200
++++ python3/PCbuild/_ssl.vcxproj 2015-08-22 18:19:20.744299000 +0200
+@@ -61,10 +61,10 @@
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-@@ -166,26 +166,26 @@
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-@@ -193,26 +193,26 @@
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
- <ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
-@@ -220,27 +220,27 @@
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
- <ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
- <Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
-@@ -248,14 +248,14 @@
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
+ <ItemDefinitionGroup>
<ClCompile>
-- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+- <AdditionalIncludeDirectories>$(opensslDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
- <PreLinkEvent>
- <Command>
- </Command>
- </PreLinkEvent>
<Link>
-- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <TargetMachine>MachineX64</TargetMachine>
+- <AdditionalDependencies>ws2_32.lib;crypt32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;crypt32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
-@@ -271,10 +271,6 @@
+ <ItemGroup>
+@@ -75,14 +75,6 @@
<Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
-- <ProjectReference Include="ssl.vcxproj">
+- <ProjectReference Include="libeay.vcxproj">
- <Project>{e5b04cc0-eb4c-42ab-b4dc-18ef95f864b0}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- </ProjectReference>
+- <ProjectReference Include="ssleay.vcxproj">
+- <Project>{10615b24-73bf-4efa-93aa-236916321317}</Project>
+- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+- </ProjectReference>
<ProjectReference Include="_socket.vcxproj">
<Project>{86937f53-c189-40ef-8ce8-8759d8e7d480}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-diff -ru python3.old_/setup.py python3/setup.py
---- python3.old_/setup.py 2012-09-29 10:00:50.000000000 +0200
-+++ python3/setup.py 2012-11-13 14:18:23.484158149 +0100
-@@ -757,7 +757,10 @@
+diff -ru python3.orig/setup.py python3/setup.py
+--- python3.orig/setup.py 2015-08-22 18:16:15.825267200 +0200
++++ python3/setup.py 2015-08-22 18:22:44.162757900 +0200
+@@ -778,7 +778,10 @@
exts.append( Extension('_socket', ['socketmodule.c'],
depends = ['socketmodule.h']) )
# Detect SSL support for the socket module (via _ssl)
@@ -192,7 +61,7 @@ diff -ru python3.old_/setup.py python3/setup.py
'/usr/local/ssl/include',
'/usr/contrib/ssl/include/'
]
-@@ -769,8 +774,12 @@
+@@ -790,8 +793,12 @@
['/usr/kerberos/include'])
if krb5_h:
ssl_incs += krb5_h
@@ -205,4 +74,5 @@ diff -ru python3.old_/setup.py python3/setup.py
+ '/usr/local/ssl/lib',
'/usr/contrib/ssl/lib/'
] )
-
+
+
diff --git a/external/python3/python-3.3.3-aix.patch.1 b/external/python3/python-3.3.3-aix.patch.1
index f510a81da840..1387e9c8852e 100644
--- a/external/python3/python-3.3.3-aix.patch.1
+++ b/external/python3/python-3.3.3-aix.patch.1
@@ -1,8 +1,9 @@
build with GCC on AIX
---- Python-3.3.3/configure 2012-11-28 09:05:45.990529603 +0000
-+++ Python-3.3.3/configure 2012-11-28 09:06:23.037963934 +0000
-@@ -3426,8 +3426,6 @@
+diff -ru python3.orig/configure python3/configure
+--- python3.orig/configure 2015-07-26 17:10:18.218393484 +0200
++++ python3/configure 2015-07-26 17:29:44.460471779 +0200
+@@ -3534,8 +3534,6 @@
else
case $ac_sys_system in
@@ -11,7 +12,7 @@ build with GCC on AIX
*) without_gcc=no;;
esac
fi
-@@ -5541,10 +5539,18 @@
+@@ -5787,10 +5785,18 @@
PY3LIBRARY=libpython3.so
fi
;;
@@ -19,7 +20,7 @@ build with GCC on AIX
+ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|AIX*)
LDLIBRARY='libpython$(LDVERSION).so'
- BLDLIBRARY='-L. -lpython$(LDVERSION)'
-- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+- RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
+ case $ac_sys_system in
+ AIX*)
+ BLDLIBRARY='-Wl,-brtl -L. -lpython$(LDVERSION)'
@@ -33,7 +34,7 @@ build with GCC on AIX
INSTSONAME="$LDLIBRARY".$SOVERSION
if test "$with_pydebug" != yes
then
-@@ -8301,8 +8307,13 @@
+@@ -8789,8 +8795,13 @@
then
case $ac_sys_system/$ac_sys_release in
AIX*)
@@ -49,9 +50,10 @@ build with GCC on AIX
;;
IRIX/5*) LDSHARED="ld -shared";;
IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
---- Python-3.3.3/configure.ac 2012-11-28 09:05:45.990529603 +0000
-+++ Python-3.3.3/configure.ac 2012-11-28 09:06:23.038963946 +0000
-@@ -545,8 +545,6 @@
+diff -ru python3.orig/configure.ac python3/configure.ac
+--- python3.orig/configure.ac 2015-07-05 18:50:08.000000000 +0200
++++ python3/configure.ac 2015-07-26 17:32:10.445481579 +0200
+@@ -587,8 +587,6 @@
without_gcc=$withval;;
esac], [
case $ac_sys_system in
@@ -60,15 +62,15 @@ build with GCC on AIX
*) without_gcc=no;;
esac])
AC_MSG_RESULT($without_gcc)
-@@ -910,10 +908,18 @@
+@@ -1090,10 +1088,18 @@
PY3LIBRARY=libpython3.so
fi
;;
- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
-+ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|AIX*)
++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|AIX*)Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
LDLIBRARY='libpython$(LDVERSION).so'
- BLDLIBRARY='-L. -lpython$(LDVERSION)'
-- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+- RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
+ case $ac_sys_system in
+ AIX*)
+ BLDLIBRARY='-Wl,-brtl -L. -lpython$(LDVERSION)'
@@ -79,10 +81,10 @@ build with GCC on AIX
+ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ ;;
+ esac
- case $ac_sys_system in
- FreeBSD*)
- SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
-@@ -1866,8 +1872,13 @@
+ INSTSONAME="$LDLIBRARY".$SOVERSION
+ if test "$with_pydebug" != yes
+ then
+@@ -2164,8 +2170,13 @@
then
case $ac_sys_system/$ac_sys_release in
AIX*)
@@ -98,9 +100,10 @@ build with GCC on AIX
;;
IRIX/5*) LDSHARED="ld -shared";;
IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
---- Python-3.3.3/Makefile.pre.in 2012-11-28 09:05:45.861528086 +0000
-+++ Python-3.3.3/Makefile.pre.in 2012-11-28 09:06:23.046964040 +0000
-@@ -493,14 +493,20 @@
+diff -ru python3.orig/Makefile.pre.in python3/Makefile.pre.in
+--- python3.orig/Makefile.pre.in 2015-07-05 18:50:07.000000000 +0200
++++ python3/Makefile.pre.in 2015-07-26 17:34:00.386488960 +0200
+@@ -598,14 +598,20 @@
libpython$(LDVERSION).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
@@ -123,7 +126,7 @@ build with GCC on AIX
libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
$(CC) -dynamiclib -Wl,-single_module $(PY_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-@@ -1106,6 +1112,8 @@
+@@ -1299,6 +1305,8 @@
export PATH; PATH="`pwd`:$$PATH"; \
export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
@@ -132,9 +135,10 @@ build with GCC on AIX
export EXE; EXE="$(BUILDEXE)"; \
if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \
export PYTHON_FOR_BUILD; \
---- Python-3.3.3/Modules/Setup.dist 2012-11-28 09:05:45.935528957 +0000
-+++ Python-3.3.3/Modules/Setup.dist 2012-11-28 09:06:23.052964111 +0000
-@@ -177,7 +177,7 @@
+diff -ru python3.orig/Modules/Setup.dist python3/Modules/Setup.dist
+--- python3.orig/Modules/Setup.dist 2015-07-05 18:50:07.000000000 +0200
++++ python3/Modules/Setup.dist 2015-07-26 17:34:27.951490811 +0200
+@@ -181,7 +181,7 @@
#_bisect _bisectmodule.c # Bisection algorithms
#_heapq _heapqmodule.c # Heap queue algorithm
diff --git a/external/python3/python-3.3.3-elf-rpath.patch.1 b/external/python3/python-3.3.3-elf-rpath.patch.1
index 33de913e09f4..945f7a52c690 100644
--- a/external/python3/python-3.3.3-elf-rpath.patch.1
+++ b/external/python3/python-3.3.3-elf-rpath.patch.1
@@ -1,13 +1,14 @@
set RPATH (only to be used on ELF platforms)
---- python3/Makefile.pre.in 2013-04-19 15:08:43.637715422 +0200
-+++ python3/Makefile.pre.in 2013-04-19 15:07:32.685711138 +0200
-@@ -464,7 +464,7 @@
+diff -ru python3.orig/Makefile.pre.in python3/Makefile.pre.in
+--- python3.orig/Makefile.pre.in 2015-07-26 20:29:07.126194320 +0200
++++ python3/Makefile.pre.in 2015-07-26 20:37:21.814227530 +0200
+@@ -550,7 +550,7 @@
# Build the interpreter
- $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
-- $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-+ $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) -Wl,-rpath,\$$ORIGIN
+ $(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+- $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
++ $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) -Wl,-rpath,\$$ORIGIN
platform: $(BUILDPYTHON) pybuilddir.txt
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
diff --git a/external/python3/python-3.3.3-py17797.patch.1 b/external/python3/python-3.3.3-py17797.patch.1
index 8fcb703f1935..0365717d1070 100644
--- a/external/python3/python-3.3.3-py17797.patch.1
+++ b/external/python3/python-3.3.3-py17797.patch.1
@@ -1,27 +1,29 @@
http://bugs.python.org/issue17797
http://connect.microsoft.com/VisualStudio/feedback/details/785119/
-Visual Studio 2012 changed return value for fileno function that breaks
+Visual Studio 2013 changed return value for fileno function that breaks
when python tries to check/setup stdin/out/err
GetStdHandle on Windows XP behaves contrary to the documentation...
+MSVC 14.0 fixed this bug.
-diff --git a/Python/pythonrun.c b/Python/pythonrun.c
-index 91d56b7..d28ffc7 100644
---- a/Python/pythonrun.c
-+++ b/Python/pythonrun.c
-@@ -1015,13 +1015,28 @@ error:
+diff -ru python3.orig/Python/pylifecycle.c python3/Python/pylifecycle.c
+--- python3.orig/Python/pylifecycle.c 2015-07-05 18:50:08.000000000 +0200
++++ python3/Python/pylifecycle.c 2015-07-26 20:01:23.563082638 +0200
+@@ -1065,15 +1065,30 @@
static int
is_valid_fd(int fd)
{
- int dummy_fd;
if (fd < 0 || !_PyVerify_fd(fd))
return 0;
+- _Py_BEGIN_SUPPRESS_IPH
- dummy_fd = dup(fd);
-- if (dummy_fd < 0)
-- return 0;
-- close(dummy_fd);
+- if (dummy_fd >= 0)
+- close(dummy_fd);
+- _Py_END_SUPPRESS_IPH
+- return dummy_fd >= 0;
+
-+#if defined(MS_WINDOWS) && defined(HAVE_FSTAT)
++#if defined(MS_WINDOWS) && defined(HAVE_FSTAT) && defined(_MSC_VER) && (_MSC_VER >= 1700 && _MSC_VER < 1900)
+ /* dup (DuplicateHandle) doesn't say fd is a valid *file* handle.
+ * It could be a current thread pseudo-handle.
+ */
@@ -29,17 +31,19 @@ index 91d56b7..d28ffc7 100644
+ struct stat buf;
+ if (fstat(fd, &buf) < 0 && (errno == EBADF || errno == ENOENT))
+ return 0;
++ else
++ return 1;
+ }
+#else
+ {
-+ int dummy_fd;
-+ dummy_fd = dup(fd);
-+ if (dummy_fd < 0)
-+ return 0;
-+ close(dummy_fd);
++ int dummy_fd = dup(fd);
++ _Py_BEGIN_SUPPRESS_IPH
++ if (dummy_fd >= 0)
++ close(dummy_fd);
++ _Py_END_SUPPRESS_IPH
++ return dummy_fd >= 0;
+ }
+#endif
-+
- return 1;
}
+ /* Initialize sys.stdin, stdout, stderr and builtins.open */
diff --git a/external/python3/python-3.5.0-tcltk.disable.patch b/external/python3/python-3.5.0-tcltk.disable.patch
new file mode 100755
index 000000000000..3aeebec2719c
--- /dev/null
+++ b/external/python3/python-3.5.0-tcltk.disable.patch
@@ -0,0 +1,16 @@
+diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
+--- foo/python3.orig/PCbuild/pcbuild.sln 2015-08-22 19:12:48.508338400 +0200
++++ foo/python3/PCbuild/pcbuild.sln 2015-08-22 19:15:50.130169800 +0200
+@@ -58,12 +58,6 @@
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testmultiphase", "_testmultiphase.vcxproj", "{16BFE6F0-22EF-40B5-B831-7E937119EF10}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcl", "tcl.vcxproj", "{B5FD6F1D-129E-4BFF-9340-03606FAC7283}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tix", "tix.vcxproj", "{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tk", "tk.vcxproj", "{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}"
+-EndProject
+ Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
diff --git a/external/python3/python-3.5.tweak.strip.soabi.patch b/external/python3/python-3.5.tweak.strip.soabi.patch
new file mode 100644
index 000000000000..48ac7f82f8be
--- /dev/null
+++ b/external/python3/python-3.5.tweak.strip.soabi.patch
@@ -0,0 +1,12 @@
+diff -ru python3.orig/configure python3/configure
+--- misc/python3.orig/configure 2015-07-26 21:14:31.127377193 +0200
++++ misc/python3/configure 2015-07-26 21:21:34.975405648 +0200
+@@ -14388,7 +14388,7 @@
+ $as_echo "$ABIFLAGS" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5
+ $as_echo_n "checking SOABI... " >&6; }
+-SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET}
++SOABI='cpython-'`echo $VERSION$ABIFLAGS`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SOABI" >&5
+ $as_echo "$SOABI" >&6; }
+
diff --git a/external/python3/ubsan.patch.0 b/external/python3/ubsan.patch.0
index e3798174baa0..700f43b9b2f8 100644
--- a/external/python3/ubsan.patch.0
+++ b/external/python3/ubsan.patch.0
@@ -1,6 +1,7 @@
---- Modules/_ctypes/libffi/src/x86/ffi64.c
-+++ Modules/_ctypes/libffi/src/x86/ffi64.c
-@@ -545,11 +545,15 @@
+diff -ru python3.orig/Modules/_ctypes/libffi/src/x86/ffi64.c python3/Modules/_ctypes/libffi/src/x86/ffi64.c
+--- Modules/_ctypes/libffi/src/x86/ffi64.c 2015-07-05 18:50:07.000000000 +0200
++++ Modules/_ctypes/libffi/src/x86/ffi64.c 2015-07-26 20:18:56.457153323 +0200
+@@ -548,11 +548,15 @@
tramp = (volatile unsigned short *) &closure->tramp[0];
tramp[0] = 0xbb49; /* mov <code>, %r11 */
@@ -20,19 +21,9 @@
/* Set the carry bit iff the function uses any sse registers.
This is clc or stc, together with the first byte of the jmp. */
---- Objects/bytearrayobject.c
-+++ Objects/bytearrayobject.c
-@@ -294,7 +294,7 @@
- PyBuffer_Release(&vo);
- return NULL;
- }
-- memcpy(self->ob_bytes + mysize, vo.buf, vo.len);
-+ if (vo.len != 0) memcpy(self->ob_bytes + mysize, vo.buf, vo.len);
- PyBuffer_Release(&vo);
- Py_INCREF(self);
- return (PyObject *)self;
---- Objects/listobject.c
-+++ Objects/listobject.c
+diff -ru python3.orig/Objects/listobject.c python3/Objects/listobject.c
+--- Objects/listobject.c 2015-07-05 18:50:08.000000000 +0200
++++ Objects/listobject.c 2015-07-26 20:22:30.539167695 +0200
@@ -641,7 +641,7 @@
goto Error;
}
@@ -41,32 +32,12 @@
+ if (s != 0) memcpy(recycle, &item[ilow], s);
if (d < 0) { /* Delete -d items */
- memmove(&item[ihigh+d], &item[ihigh],
-@@ -2036,7 +2036,7 @@
- if (keys != NULL) {
- for (i = 0; i < saved_ob_size; i++)
- Py_DECREF(keys[i]);
-- if (keys != &ms.temparray[saved_ob_size+1])
-+ if (keys != ((char *) ms.temparray) + (saved_ob_size+1) * sizeof (PyObject *))
- PyMem_FREE(keys);
- }
-
---- Objects/longobject.c
-+++ Objects/longobject.c
-@@ -36,7 +36,7 @@
- static PyObject *
- get_small_int(sdigit ival)
- {
-- PyObject *v = (PyObject*)(small_ints + ival + NSMALLNEGINTS);
-+ PyObject *v = (PyObject*)(small_ints + (ival + NSMALLNEGINTS));
- Py_INCREF(v);
- #ifdef COUNT_ALLOCS
- if (ival >= 0)
+ Py_ssize_t tail;
--- Modules/_ctypes/_ctypes.c
+++ Modules/_ctypes/_ctypes.c
-@@ -1328,8 +1328,10 @@
- if (stgdict->shape == NULL)
+@@ -1358,8 +1358,10 @@
goto error;
+ }
stgdict->shape[0] = length;
- memmove(&stgdict->shape[1], itemdict->shape,
- sizeof(Py_ssize_t) * (stgdict->ndim - 1));
diff --git a/external/python33/ExternalPackage_python3.mk b/external/python33/ExternalPackage_python3.mk
new file mode 100644
index 000000000000..a2f51c10be18
--- /dev/null
+++ b/external/python33/ExternalPackage_python3.mk
@@ -0,0 +1,829 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_ExternalPackage_ExternalPackage,python3,python3))
+
+$(eval $(call gb_ExternalPackage_use_external_project,python3,python3))
+
+ifeq ($(OS)-$(COM),WNT-MSC)
+ifeq ($(CPUNAME),X86_64)
+python_arch_subdir=amd64/
+endif
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/bin/python.exe,PCbuild/$(python_arch_subdir)python$(if $(MSVC_USE_DEBUG_RUNTIME),_d).exe))
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).dll,PCbuild/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).dll))
+ifeq ($(MSVC_USE_DEBUG_RUNTIME),)
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python$(PYTHON_VERSION_MAJOR).dll,PCbuild/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR).dll))
+endif
+$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib,\
+ PCbuild/$(python_arch_subdir)_ctypes$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_ctypes_test$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_decimal$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_elementtree$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_msi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_multiprocessing$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_socket$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_ssl$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_testbuffer$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)_testcapi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)pyexpat$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)select$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)unicodedata$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+ PCbuild/$(python_arch_subdir)winsound$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
+))
+else ifeq ($(OS),WNT) # MinGW
+# TODO how are C modules called on this platform?
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/bin/python.exe,python.exe))
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python$(PYTHON_VERSION_MAJOR).dll,python$(PYTHON_VERSION_MAJOR).dll))
+else
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python.bin,python))
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/libpython$(PYTHON_VERSION_MAJOR).so,libpython$(PYTHON_VERSION_MAJOR).so))
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so,libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so))
+$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so-gdb.py,Tools/gdb/libpython.py))
+# versioned lib/libpython3.3m.so.1.0 appears to be unnecessary?
+
+# Unfortunately the python build system does not allow to explicitly enable or
+# disable these, it just tries to build them and then prints which did not
+# build successfully without stopping; so the build will break on delivering if
+# one of these failed to build.
+# Obviously this list should not contain stuff with external dependencies
+# that may not be available on baseline systems.
+ifneq ($(OS),AIX)
+$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib-dynload,\
+ LO_lib/array.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/atexit.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/audioop.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/binascii.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_bisect.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/cmath.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_cn.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_hk.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_iso2022.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_jp.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_kr.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_codecs_tw.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_crypt.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_csv.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_ctypes.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_ctypes_test.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_datetime.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_decimal.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_elementtree.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/fcntl.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/grp.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ $(if $(DISABLE_OPENSSL),, \
+ LO_lib/_hashlib.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ ) \
+ LO_lib/_heapq.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_json.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_lsprof.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/math.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/mmap.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_multibytecodec.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_multiprocessing.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/nis.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/ossaudiodev.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/parser.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_pickle.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_posixsubprocess.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/pyexpat.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_random.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/resource.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/select.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_socket.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/spwd.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ $(if $(DISABLE_OPENSSL),, \
+ LO_lib/_ssl.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ ) \
+ LO_lib/_struct.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/syslog.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/termios.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_testbuffer.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/_testcapi.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/time.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+ LO_lib/zlib.cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)m.so \
+))
+endif
+endif
+
+# headers are not delivered, but used from unpacked dir Include/
+# (+ toplevel for pyconfig.h)
+
+# that one is generated...
+ifneq ($(OS)-$(COM),WNT-MSC)
+$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib,\
+ LO_lib/_sysconfigdata.py \
+))
+endif
+
+# packages not shipped:
+# dbm, sqlite3 - need some database stuff
+# curses - need curses to build the C module
+# idlelib, tkinter, turtledemo - need Tk to build the C module
+# test - probably unnecessary? was explicitly removed #i116738#
+# venv - why would we need virtual environments
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/plat-linux,\
+ Lib/plat-linux/regen \
+ Lib/plat-linux/CDROM.py \
+ Lib/plat-linux/DLFCN.py \
+ Lib/plat-linux/IN.py \
+ Lib/plat-linux/TYPES.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/plat-darwin,\
+ Lib/plat-darwin/IN.py \
+ Lib/plat-darwin/regen \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/plat-sunos5,\
+ Lib/plat-sunos5/regen \
+ Lib/plat-sunos5/CDIO.py \
+ Lib/plat-sunos5/DLFCN.py \
+ Lib/plat-sunos5/IN.py \
+ Lib/plat-sunos5/STROPTS.py \
+ Lib/plat-sunos5/TYPES.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/plat-aix4,\
+ Lib/plat-aix4/regen \
+ Lib/plat-aix4/IN.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib,\
+ LICENSE \
+ Lib/__future__.py \
+ Lib/__phello__.foo.py \
+ Lib/_compat_pickle.py \
+ Lib/_dummy_thread.py \
+ Lib/_markupbase.py \
+ Lib/_osx_support.py \
+ Lib/_pyio.py \
+ Lib/_strptime.py \
+ Lib/_threading_local.py \
+ Lib/_weakrefset.py \
+ Lib/abc.py \
+ Lib/aifc.py \
+ Lib/antigravity.py \
+ Lib/argparse.py \
+ Lib/ast.py \
+ Lib/asynchat.py \
+ Lib/asyncore.py \
+ Lib/base64.py \
+ Lib/bdb.py \
+ Lib/binhex.py \
+ Lib/bisect.py \
+ Lib/bz2.py \
+ Lib/cProfile.py \
+ Lib/calendar.py \
+ Lib/cgi.py \
+ Lib/cgitb.py \
+ Lib/chunk.py \
+ Lib/cmd.py \
+ Lib/code.py \
+ Lib/codecs.py \
+ Lib/codeop.py \
+ Lib/colorsys.py \
+ Lib/compileall.py \
+ Lib/configparser.py \
+ Lib/contextlib.py \
+ Lib/copy.py \
+ Lib/copyreg.py \
+ Lib/crypt.py \
+ Lib/csv.py \
+ Lib/datetime.py \
+ Lib/decimal.py \
+ Lib/difflib.py \
+ Lib/dis.py \
+ Lib/doctest.py \
+ Lib/dummy_threading.py \
+ Lib/filecmp.py \
+ Lib/fileinput.py \
+ Lib/fnmatch.py \
+ Lib/formatter.py \
+ Lib/fractions.py \
+ Lib/ftplib.py \
+ Lib/functools.py \
+ Lib/genericpath.py \
+ Lib/getopt.py \
+ Lib/getpass.py \
+ Lib/gettext.py \
+ Lib/glob.py \
+ Lib/gzip.py \
+ Lib/hashlib.py \
+ Lib/heapq.py \
+ Lib/hmac.py \
+ Lib/imaplib.py \
+ Lib/imghdr.py \
+ Lib/imp.py \
+ Lib/inspect.py \
+ Lib/io.py \
+ Lib/ipaddress.py \
+ Lib/keyword.py \
+ Lib/linecache.py \
+ Lib/locale.py \
+ Lib/lzma.py \
+ Lib/macpath.py \
+ Lib/macurl2path.py \
+ Lib/mailbox.py \
+ Lib/mailcap.py \
+ Lib/mimetypes.py \
+ Lib/modulefinder.py \
+ Lib/netrc.py \
+ Lib/nntplib.py \
+ Lib/ntpath.py \
+ Lib/nturl2path.py \
+ Lib/numbers.py \
+ Lib/opcode.py \
+ Lib/optparse.py \
+ Lib/os.py \
+ Lib/os2emxpath.py \
+ Lib/pdb.py \
+ Lib/pickle.py \
+ Lib/pickletools.py \
+ Lib/pipes.py \
+ Lib/pkgutil.py \
+ Lib/platform.py \
+ Lib/plistlib.py \
+ Lib/poplib.py \
+ Lib/posixpath.py \
+ Lib/pprint.py \
+ Lib/profile.py \
+ Lib/pstats.py \
+ Lib/pty.py \
+ Lib/py_compile.py \
+ Lib/pyclbr.py \
+ Lib/pydoc.py \
+ Lib/queue.py \
+ Lib/quopri.py \
+ Lib/random.py \
+ Lib/re.py \
+ Lib/reprlib.py \
+ Lib/rlcompleter.py \
+ Lib/runpy.py \
+ Lib/sched.py \
+ Lib/shelve.py \
+ Lib/shlex.py \
+ Lib/shutil.py \
+ Lib/site.py \
+ Lib/smtpd.py \
+ Lib/smtplib.py \
+ Lib/sndhdr.py \
+ Lib/socket.py \
+ Lib/socketserver.py \
+ Lib/sre_compile.py \
+ Lib/sre_constants.py \
+ Lib/sre_parse.py \
+ Lib/ssl.py \
+ Lib/stat.py \
+ Lib/string.py \
+ Lib/stringprep.py \
+ Lib/struct.py \
+ Lib/subprocess.py \
+ Lib/sunau.py \
+ Lib/symbol.py \
+ Lib/symtable.py \
+ Lib/sysconfig.py \
+ Lib/tabnanny.py \
+ Lib/tarfile.py \
+ Lib/telnetlib.py \
+ Lib/tempfile.py \
+ Lib/textwrap.py \
+ Lib/this.py \
+ Lib/threading.py \
+ Lib/timeit.py \
+ Lib/token.py \
+ Lib/tokenize.py \
+ Lib/trace.py \
+ Lib/traceback.py \
+ Lib/tty.py \
+ Lib/turtle.py \
+ Lib/types.py \
+ Lib/uu.py \
+ Lib/uuid.py \
+ Lib/warnings.py \
+ Lib/wave.py \
+ Lib/weakref.py \
+ Lib/webbrowser.py \
+ Lib/xdrlib.py \
+ Lib/zipfile.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/collections,\
+ Lib/collections/__init__.py \
+ Lib/collections/__main__.py \
+ Lib/collections/abc.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/concurrent,\
+ Lib/concurrent/__init__.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/concurrent/futures,\
+ Lib/concurrent/futures/__init__.py \
+ Lib/concurrent/futures/_base.py \
+ Lib/concurrent/futures/process.py \
+ Lib/concurrent/futures/thread.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/ctypes,\
+ Lib/ctypes/__init__.py \
+ Lib/ctypes/_endian.py \
+ Lib/ctypes/util.py \
+ Lib/ctypes/wintypes.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/ctypes/macholib,\
+ Lib/ctypes/macholib/README.ctypes \
+ Lib/ctypes/macholib/fetch_macholib \
+ Lib/ctypes/macholib/fetch_macholib.bat \
+ Lib/ctypes/macholib/__init__.py \
+ Lib/ctypes/macholib/dyld.py \
+ Lib/ctypes/macholib/dylib.py \
+ Lib/ctypes/macholib/framework.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/distutils,\
+ Lib/distutils/README \
+ Lib/distutils/__init__.py \
+ Lib/distutils/archive_util.py \
+ Lib/distutils/bcppcompiler.py \
+ Lib/distutils/ccompiler.py \
+ Lib/distutils/cmd.py \
+ Lib/distutils/config.py \
+ Lib/distutils/core.py \
+ Lib/distutils/cygwinccompiler.py \
+ Lib/distutils/debug.py \
+ Lib/distutils/dep_util.py \
+ Lib/distutils/dir_util.py \
+ Lib/distutils/dist.py \
+ Lib/distutils/emxccompiler.py \
+ Lib/distutils/errors.py \
+ Lib/distutils/extension.py \
+ Lib/distutils/fancy_getopt.py \
+ Lib/distutils/filelist.py \
+ Lib/distutils/file_util.py \
+ Lib/distutils/log.py \
+ Lib/distutils/msvc9compiler.py \
+ Lib/distutils/msvccompiler.py \
+ Lib/distutils/spawn.py \
+ Lib/distutils/sysconfig.py \
+ Lib/distutils/text_file.py \
+ Lib/distutils/unixccompiler.py \
+ Lib/distutils/util.py \
+ Lib/distutils/versionpredicate.py \
+ Lib/distutils/version.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/distutils/command,\
+ Lib/distutils/command/__init__.py \
+ Lib/distutils/command/bdist_dumb.py \
+ Lib/distutils/command/bdist_msi.py \
+ Lib/distutils/command/bdist.py \
+ Lib/distutils/command/bdist_rpm.py \
+ Lib/distutils/command/bdist_wininst.py \
+ Lib/distutils/command/build_clib.py \
+ Lib/distutils/command/build_ext.py \
+ Lib/distutils/command/build.py \
+ Lib/distutils/command/build_py.py \
+ Lib/distutils/command/build_scripts.py \
+ Lib/distutils/command/check.py \
+ Lib/distutils/command/clean.py \
+ Lib/distutils/command/config.py \
+ Lib/distutils/command/install_data.py \
+ Lib/distutils/command/install_egg_info.py \
+ Lib/distutils/command/install_headers.py \
+ Lib/distutils/command/install_lib.py \
+ Lib/distutils/command/install.py \
+ Lib/distutils/command/install_scripts.py \
+ Lib/distutils/command/register.py \
+ Lib/distutils/command/sdist.py \
+ Lib/distutils/command/upload.py \
+ Lib/distutils/command/wininst-10.0-amd64.exe \
+ Lib/distutils/command/wininst-10.0.exe \
+ Lib/distutils/command/wininst-6.0.exe \
+ Lib/distutils/command/wininst-7.1.exe \
+ Lib/distutils/command/wininst-8.0.exe \
+ Lib/distutils/command/wininst-9.0-amd64.exe \
+ Lib/distutils/command/wininst-9.0.exe \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/email,\
+ Lib/email/__init__.py \
+ Lib/email/_encoded_words.py \
+ Lib/email/_header_value_parser.py \
+ Lib/email/_parseaddr.py \
+ Lib/email/_policybase.py \
+ Lib/email/architecture.rst \
+ Lib/email/base64mime.py \
+ Lib/email/charset.py \
+ Lib/email/encoders.py \
+ Lib/email/errors.py \
+ Lib/email/feedparser.py \
+ Lib/email/generator.py \
+ Lib/email/header.py \
+ Lib/email/headerregistry.py \
+ Lib/email/iterators.py \
+ Lib/email/message.py \
+ Lib/email/parser.py \
+ Lib/email/policy.py \
+ Lib/email/quoprimime.py \
+ Lib/email/utils.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/email/mime,\
+ Lib/email/mime/__init__.py \
+ Lib/email/mime/application.py \
+ Lib/email/mime/audio.py \
+ Lib/email/mime/base.py \
+ Lib/email/mime/image.py \
+ Lib/email/mime/message.py \
+ Lib/email/mime/multipart.py \
+ Lib/email/mime/nonmultipart.py \
+ Lib/email/mime/text.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/encodings,\
+ Lib/encodings/__init__.py \
+ Lib/encodings/aliases.py \
+ Lib/encodings/ascii.py \
+ Lib/encodings/base64_codec.py \
+ Lib/encodings/big5hkscs.py \
+ Lib/encodings/big5.py \
+ Lib/encodings/bz2_codec.py \
+ Lib/encodings/charmap.py \
+ Lib/encodings/cp037.py \
+ Lib/encodings/cp1006.py \
+ Lib/encodings/cp1026.py \
+ Lib/encodings/cp1140.py \
+ Lib/encodings/cp1250.py \
+ Lib/encodings/cp1251.py \
+ Lib/encodings/cp1252.py \
+ Lib/encodings/cp1253.py \
+ Lib/encodings/cp1254.py \
+ Lib/encodings/cp1255.py \
+ Lib/encodings/cp1256.py \
+ Lib/encodings/cp1257.py \
+ Lib/encodings/cp1258.py \
+ Lib/encodings/cp424.py \
+ Lib/encodings/cp437.py \
+ Lib/encodings/cp500.py \
+ Lib/encodings/cp65001.py \
+ Lib/encodings/cp720.py \
+ Lib/encodings/cp737.py \
+ Lib/encodings/cp775.py \
+ Lib/encodings/cp850.py \
+ Lib/encodings/cp852.py \
+ Lib/encodings/cp855.py \
+ Lib/encodings/cp856.py \
+ Lib/encodings/cp857.py \
+ Lib/encodings/cp858.py \
+ Lib/encodings/cp860.py \
+ Lib/encodings/cp861.py \
+ Lib/encodings/cp862.py \
+ Lib/encodings/cp863.py \
+ Lib/encodings/cp864.py \
+ Lib/encodings/cp865.py \
+ Lib/encodings/cp866.py \
+ Lib/encodings/cp869.py \
+ Lib/encodings/cp874.py \
+ Lib/encodings/cp875.py \
+ Lib/encodings/cp932.py \
+ Lib/encodings/cp949.py \
+ Lib/encodings/cp950.py \
+ Lib/encodings/euc_jis_2004.py \
+ Lib/encodings/euc_jisx0213.py \
+ Lib/encodings/euc_jp.py \
+ Lib/encodings/euc_kr.py \
+ Lib/encodings/gb18030.py \
+ Lib/encodings/gb2312.py \
+ Lib/encodings/gbk.py \
+ Lib/encodings/hex_codec.py \
+ Lib/encodings/hp_roman8.py \
+ Lib/encodings/hz.py \
+ Lib/encodings/idna.py \
+ Lib/encodings/iso2022_jp_1.py \
+ Lib/encodings/iso2022_jp_2004.py \
+ Lib/encodings/iso2022_jp_2.py \
+ Lib/encodings/iso2022_jp_3.py \
+ Lib/encodings/iso2022_jp_ext.py \
+ Lib/encodings/iso2022_jp.py \
+ Lib/encodings/iso2022_kr.py \
+ Lib/encodings/iso8859_10.py \
+ Lib/encodings/iso8859_11.py \
+ Lib/encodings/iso8859_13.py \
+ Lib/encodings/iso8859_14.py \
+ Lib/encodings/iso8859_15.py \
+ Lib/encodings/iso8859_16.py \
+ Lib/encodings/iso8859_1.py \
+ Lib/encodings/iso8859_2.py \
+ Lib/encodings/iso8859_3.py \
+ Lib/encodings/iso8859_4.py \
+ Lib/encodings/iso8859_5.py \
+ Lib/encodings/iso8859_6.py \
+ Lib/encodings/iso8859_7.py \
+ Lib/encodings/iso8859_8.py \
+ Lib/encodings/iso8859_9.py \
+ Lib/encodings/johab.py \
+ Lib/encodings/koi8_r.py \
+ Lib/encodings/koi8_u.py \
+ Lib/encodings/latin_1.py \
+ Lib/encodings/mac_arabic.py \
+ Lib/encodings/mac_centeuro.py \
+ Lib/encodings/mac_croatian.py \
+ Lib/encodings/mac_cyrillic.py \
+ Lib/encodings/mac_farsi.py \
+ Lib/encodings/mac_greek.py \
+ Lib/encodings/mac_iceland.py \
+ Lib/encodings/mac_latin2.py \
+ Lib/encodings/mac_romanian.py \
+ Lib/encodings/mac_roman.py \
+ Lib/encodings/mac_turkish.py \
+ Lib/encodings/mbcs.py \
+ Lib/encodings/palmos.py \
+ Lib/encodings/ptcp154.py \
+ Lib/encodings/punycode.py \
+ Lib/encodings/quopri_codec.py \
+ Lib/encodings/raw_unicode_escape.py \
+ Lib/encodings/rot_13.py \
+ Lib/encodings/shift_jis_2004.py \
+ Lib/encodings/shift_jis.py \
+ Lib/encodings/shift_jisx0213.py \
+ Lib/encodings/tis_620.py \
+ Lib/encodings/undefined.py \
+ Lib/encodings/unicode_escape.py \
+ Lib/encodings/unicode_internal.py \
+ Lib/encodings/utf_16_be.py \
+ Lib/encodings/utf_16_le.py \
+ Lib/encodings/utf_16.py \
+ Lib/encodings/utf_32_be.py \
+ Lib/encodings/utf_32_le.py \
+ Lib/encodings/utf_32.py \
+ Lib/encodings/utf_7.py \
+ Lib/encodings/utf_8.py \
+ Lib/encodings/utf_8_sig.py \
+ Lib/encodings/uu_codec.py \
+ Lib/encodings/zlib_codec.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/html,\
+ Lib/html/__init__.py \
+ Lib/html/entities.py \
+ Lib/html/parser.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/http,\
+ Lib/http/__init__.py \
+ Lib/http/client.py \
+ Lib/http/cookiejar.py \
+ Lib/http/cookies.py \
+ Lib/http/server.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/importlib,\
+ Lib/importlib/__init__.py \
+ Lib/importlib/_bootstrap.py \
+ Lib/importlib/abc.py \
+ Lib/importlib/machinery.py \
+ Lib/importlib/util.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/json,\
+ Lib/json/__init__.py \
+ Lib/json/decoder.py \
+ Lib/json/encoder.py \
+ Lib/json/scanner.py \
+ Lib/json/tool.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3,\
+ Lib/lib2to3/Grammar.txt \
+ Lib/lib2to3/PatternGrammar.txt \
+ Lib/lib2to3/__init__.py \
+ Lib/lib2to3/__main__.py \
+ Lib/lib2to3/btm_matcher.py \
+ Lib/lib2to3/btm_utils.py \
+ Lib/lib2to3/fixer_base.py \
+ Lib/lib2to3/fixer_util.py \
+ Lib/lib2to3/main.py \
+ Lib/lib2to3/patcomp.py \
+ Lib/lib2to3/pygram.py \
+ Lib/lib2to3/pytree.py \
+ Lib/lib2to3/refactor.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3/fixes,\
+ Lib/lib2to3/fixes/__init__.py \
+ Lib/lib2to3/fixes/fix_apply.py \
+ Lib/lib2to3/fixes/fix_basestring.py \
+ Lib/lib2to3/fixes/fix_buffer.py \
+ Lib/lib2to3/fixes/fix_callable.py \
+ Lib/lib2to3/fixes/fix_dict.py \
+ Lib/lib2to3/fixes/fix_except.py \
+ Lib/lib2to3/fixes/fix_execfile.py \
+ Lib/lib2to3/fixes/fix_exec.py \
+ Lib/lib2to3/fixes/fix_exitfunc.py \
+ Lib/lib2to3/fixes/fix_filter.py \
+ Lib/lib2to3/fixes/fix_funcattrs.py \
+ Lib/lib2to3/fixes/fix_future.py \
+ Lib/lib2to3/fixes/fix_getcwdu.py \
+ Lib/lib2to3/fixes/fix_has_key.py \
+ Lib/lib2to3/fixes/fix_idioms.py \
+ Lib/lib2to3/fixes/fix_import.py \
+ Lib/lib2to3/fixes/fix_imports2.py \
+ Lib/lib2to3/fixes/fix_imports.py \
+ Lib/lib2to3/fixes/fix_input.py \
+ Lib/lib2to3/fixes/fix_intern.py \
+ Lib/lib2to3/fixes/fix_isinstance.py \
+ Lib/lib2to3/fixes/fix_itertools_imports.py \
+ Lib/lib2to3/fixes/fix_itertools.py \
+ Lib/lib2to3/fixes/fix_long.py \
+ Lib/lib2to3/fixes/fix_map.py \
+ Lib/lib2to3/fixes/fix_metaclass.py \
+ Lib/lib2to3/fixes/fix_methodattrs.py \
+ Lib/lib2to3/fixes/fix_ne.py \
+ Lib/lib2to3/fixes/fix_next.py \
+ Lib/lib2to3/fixes/fix_nonzero.py \
+ Lib/lib2to3/fixes/fix_numliterals.py \
+ Lib/lib2to3/fixes/fix_operator.py \
+ Lib/lib2to3/fixes/fix_paren.py \
+ Lib/lib2to3/fixes/fix_print.py \
+ Lib/lib2to3/fixes/fix_raise.py \
+ Lib/lib2to3/fixes/fix_raw_input.py \
+ Lib/lib2to3/fixes/fix_reduce.py \
+ Lib/lib2to3/fixes/fix_renames.py \
+ Lib/lib2to3/fixes/fix_repr.py \
+ Lib/lib2to3/fixes/fix_set_literal.py \
+ Lib/lib2to3/fixes/fix_standarderror.py \
+ Lib/lib2to3/fixes/fix_sys_exc.py \
+ Lib/lib2to3/fixes/fix_throw.py \
+ Lib/lib2to3/fixes/fix_tuple_params.py \
+ Lib/lib2to3/fixes/fix_types.py \
+ Lib/lib2to3/fixes/fix_unicode.py \
+ Lib/lib2to3/fixes/fix_urllib.py \
+ Lib/lib2to3/fixes/fix_ws_comma.py \
+ Lib/lib2to3/fixes/fix_xrange.py \
+ Lib/lib2to3/fixes/fix_xreadlines.py \
+ Lib/lib2to3/fixes/fix_zip.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pgen2,\
+ Lib/lib2to3/pgen2/__init__.py \
+ Lib/lib2to3/pgen2/conv.py \
+ Lib/lib2to3/pgen2/driver.py \
+ Lib/lib2to3/pgen2/grammar.py \
+ Lib/lib2to3/pgen2/literals.py \
+ Lib/lib2to3/pgen2/parse.py \
+ Lib/lib2to3/pgen2/pgen.py \
+ Lib/lib2to3/pgen2/tokenize.py \
+ Lib/lib2to3/pgen2/token.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/logging,\
+ Lib/logging/__init__.py \
+ Lib/logging/config.py \
+ Lib/logging/handlers.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/multiprocessing,\
+ Lib/multiprocessing/__init__.py \
+ Lib/multiprocessing/connection.py \
+ Lib/multiprocessing/forking.py \
+ Lib/multiprocessing/heap.py \
+ Lib/multiprocessing/managers.py \
+ Lib/multiprocessing/pool.py \
+ Lib/multiprocessing/process.py \
+ Lib/multiprocessing/queues.py \
+ Lib/multiprocessing/reduction.py \
+ Lib/multiprocessing/sharedctypes.py \
+ Lib/multiprocessing/synchronize.py \
+ Lib/multiprocessing/util.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/multiprocessing/dummy,\
+ Lib/multiprocessing/dummy/__init__.py \
+ Lib/multiprocessing/dummy/connection.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pydoc_data,\
+ Lib/pydoc_data/__init__.py \
+ Lib/pydoc_data/_pydoc.css \
+ Lib/pydoc_data/topics.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest,\
+ Lib/unittest/__init__.py \
+ Lib/unittest/__main__.py \
+ Lib/unittest/case.py \
+ Lib/unittest/loader.py \
+ Lib/unittest/main.py \
+ Lib/unittest/mock.py \
+ Lib/unittest/result.py \
+ Lib/unittest/runner.py \
+ Lib/unittest/signals.py \
+ Lib/unittest/suite.py \
+ Lib/unittest/util.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest/test,\
+ Lib/unittest/test/__init__.py \
+ Lib/unittest/test/dummy.py \
+ Lib/unittest/test/support.py \
+ Lib/unittest/test/test_assertions.py \
+ Lib/unittest/test/test_break.py \
+ Lib/unittest/test/test_case.py \
+ Lib/unittest/test/test_discovery.py \
+ Lib/unittest/test/test_functiontestcase.py \
+ Lib/unittest/test/test_loader.py \
+ Lib/unittest/test/test_program.py \
+ Lib/unittest/test/test_result.py \
+ Lib/unittest/test/test_runner.py \
+ Lib/unittest/test/test_setups.py \
+ Lib/unittest/test/test_skipping.py \
+ Lib/unittest/test/test_suite.py \
+ Lib/unittest/test/_test_warnings.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest/test/testmock,\
+ Lib/unittest/test/testmock/__init__.py \
+ Lib/unittest/test/testmock/support.py \
+ Lib/unittest/test/testmock/testcallable.py \
+ Lib/unittest/test/testmock/testhelpers.py \
+ Lib/unittest/test/testmock/testmagicmethods.py \
+ Lib/unittest/test/testmock/testmock.py \
+ Lib/unittest/test/testmock/testpatch.py \
+ Lib/unittest/test/testmock/testsentinel.py \
+ Lib/unittest/test/testmock/testwith.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/urllib,\
+ Lib/urllib/__init__.py \
+ Lib/urllib/error.py \
+ Lib/urllib/parse.py \
+ Lib/urllib/request.py \
+ Lib/urllib/response.py \
+ Lib/urllib/robotparser.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/wsgiref,\
+ Lib/wsgiref/__init__.py \
+ Lib/wsgiref/handlers.py \
+ Lib/wsgiref/headers.py \
+ Lib/wsgiref/simple_server.py \
+ Lib/wsgiref/util.py \
+ Lib/wsgiref/validate.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml,\
+ Lib/xml/__init__.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/dom,\
+ Lib/xml/dom/__init__.py \
+ Lib/xml/dom/NodeFilter.py \
+ Lib/xml/dom/domreg.py \
+ Lib/xml/dom/expatbuilder.py \
+ Lib/xml/dom/minicompat.py \
+ Lib/xml/dom/minidom.py \
+ Lib/xml/dom/pulldom.py \
+ Lib/xml/dom/xmlbuilder.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/etree,\
+ Lib/xml/etree/__init__.py \
+ Lib/xml/etree/ElementInclude.py \
+ Lib/xml/etree/ElementPath.py \
+ Lib/xml/etree/ElementTree.py \
+ Lib/xml/etree/cElementTree.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/parsers,\
+ Lib/xml/parsers/__init__.py \
+ Lib/xml/parsers/expat.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/sax,\
+ Lib/xml/sax/__init__.py \
+ Lib/xml/sax/_exceptions.py \
+ Lib/xml/sax/expatreader.py \
+ Lib/xml/sax/handler.py \
+ Lib/xml/sax/saxutils.py \
+ Lib/xml/sax/xmlreader.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xmlrpc,\
+ Lib/xmlrpc/__init__.py \
+ Lib/xmlrpc/client.py \
+ Lib/xmlrpc/server.py \
+))
+
+$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/site-packages,\
+ Lib/site-packages/README \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/python33/ExternalProject_python3.mk b/external/python33/ExternalProject_python3.mk
new file mode 100644
index 000000000000..098b1ea6957e
--- /dev/null
+++ b/external/python33/ExternalProject_python3.mk
@@ -0,0 +1,148 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_ExternalProject_ExternalProject,python3))
+
+$(eval $(call gb_ExternalProject_use_externals,python3,\
+ expat \
+ openssl \
+ zlib \
+))
+
+$(eval $(call gb_ExternalProject_register_targets,python3,\
+ build \
+ $(if $(filter MACOSX,$(OS)),\
+ fixscripts \
+ fixinstallnames \
+ executables \
+ ) \
+))
+
+ifeq ($(OS)$(COM),WNTMSC)
+
+# TODO: using Debug configuration and related mangling of pyconfig.h
+
+# at least for MSVC 2008 it is necessary to clear MAKEFLAGS because
+# nmake is invoked
+$(call gb_ExternalProject_get_state_target,python3,build) :
+ $(call gb_ExternalProject_run,build,\
+ MAKEFLAGS= MSBuild.exe pcbuild.sln /t:Build \
+ /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \
+ /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \
+ $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 \
+ /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \
+ ,PCBuild)
+
+else
+
+# this was added in 2004, hopefully is obsolete now (and why only intel anyway)? $(if $(filter SOLARIS-INTEL,$(OS)$(CPUNAME)),--disable-ipv6)
+
+# --with-system-expat: this should find the one in the solver (or system)
+
+# create a symlink "LO_lib" because the .so are in a directory with platform
+# specific name like build/lib.linux-x86_64-3.3
+
+python3_cflags = $(ZLIB_CFLAGS)
+ifneq (,$(ENABLE_VALGRIND))
+ python3_cflags += $(VALGRIND_CFLAGS)
+endif
+
+$(call gb_ExternalProject_get_state_target,python3,build) :
+ $(call gb_ExternalProject_run,build,\
+ ./configure \
+ $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
+ $(if $(ENABLE_VALGRIND),--with-valgrind) \
+ --prefix=/python-inst \
+ $(if $(filter MACOSX,$(OS)),,--with-system-expat) \
+ $(if $(filter AIX,$(OS)), \
+ --disable-ipv6 --with-threads OPT="-g0 -fwrapv -O3 -Wall", \
+ $(if $(gb_Module_CURRENTMODULE_DEBUG_ENABLED), \
+ OPT="$(gb_COMPILERNOOPTFLAGS) $(gb_DEBUG_CFLAGS)")) \
+ $(if $(filter WNT-GCC,$(OS)-$(COM)),--with-threads ac_cv_printf_zd_format=no) \
+ $(if $(filter MACOSX,$(OS)), \
+ $(if $(filter INTEL,$(CPUNAME)),--enable-universalsdk=$(MACOSX_SDK_PATH) \
+ --with-universal-archs=intel \
+ ) \
+ --enable-framework=/@__________________________________________________OOO --with-framework-name=LibreOfficePython, \
+ --enable-shared \
+ ) \
+ CC="$(strip $(CC) \
+ $(if $(SYSTEM_OPENSSL),,-I$(call gb_UnpackedTarball_get_dir,openssl)/include \
+ $(if $(DISABLE_OPENSSL),,-I$(call gb_UnpackedTarball_get_dir,openssl)/include)) \
+ $(if $(SYSTEM_EXPAT),,-I$(call gb_UnpackedTarball_get_dir,expat)/lib) \
+ $(if $(SYSBASE), -I$(SYSBASE)/usr/include) \
+ )" \
+ $(if $(python3_cflags),CFLAGS='$(python3_cflags)') \
+ $(if $(filter -fsanitize=%,$(CC)),LINKCC="$(CXX)") \
+ LDFLAGS="$(strip $(LDFLAGS) \
+ $(if $(SYSTEM_OPENSSL),,-L$(call gb_UnpackedTarball_get_dir,openssl)) \
+ $(if $(SYSTEM_EXPAT),,-L$(gb_StaticLibrary_WORKDIR)) \
+ $(if $(SYSBASE), -L$(SYSBASE)/usr/lib) \
+ $(if $(filter WNT-GCC,$(OS)-$(COM)), -shared-libgcc \
+ $(if $(MINGW_SHARED_GCCLIB),-Wl$(COMMA)--enable-runtime-pseudo-reloc-v2 -Wl$(COMMA)--export-all-symbols)) \
+ $(gb_LTOFLAGS) \
+ )" \
+ && MAKEFLAGS= $(MAKE) \
+ $(if $(filter MACOSX,$(OS)),DESTDIR=$(EXTERNAL_WORKDIR)/python-inst install) \
+ && ln -s build/lib.* LO_lib \
+ )
+
+endif
+
+ifeq ($(OS),MACOSX)
+
+python3_fw_prefix=$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO/LibreOfficePython.framework
+
+# rule to allow relocating the whole framework, removing reference to buildinstallation directory
+$(call gb_ExternalProject_get_state_target,python3,fixscripts) : $(call gb_ExternalProject_get_state_target,python3,build)
+ $(call gb_Output_announce,python3 - remove reference to installroot from scripts,build,CUS,5)
+ $(COMMAND_ECHO)for file in \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/2to3 \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/2to3-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/idle$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/pydoc$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)-config \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m-config \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/pyvenv-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) ; do \
+ { rm "$$file" && $(gb_AWK) '\
+ BEGIN {print "#!/bin/bash\n\
+origpath=$$(pwd)\n\
+bindir=$$(cd $$(dirname \"$$0\") ; pwd)\n\
+cd \"$$origpath\"\n\
+\"$$bindir/../Resources/Python.app/Contents/MacOS/LibreOfficePython\" - $$@ <<EOF"} \
+ FNR==1{next} \
+ {print} \
+ END {print "EOF"}' > "$$file" ; } < "$$file" ; chmod +x "$$file" ; done
+ touch $@
+
+$(call gb_ExternalProject_get_state_target,python3,fixinstallnames) : $(call gb_ExternalProject_get_state_target,python3,build)
+ $(INSTALL_NAME_TOOL) -change \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \
+ @executable_path/../../../../LibreOfficePython \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/Resources/Python.app/Contents/MacOS/LibreOfficePython
+ for file in $(shell find $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/lib/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/lib-dynload -name "*.so") ; do \
+ $(INSTALL_NAME_TOOL) -change \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \
+ @loader_path/../../../LibreOfficePython $$file ; done
+ touch $@
+
+# also delete binaries that are symlinked in scp2
+$(call gb_ExternalProject_get_state_target,python3,executables) : $(call gb_ExternalProject_get_state_target,python3,build)
+ cd $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin ; \
+ for file in python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
+ python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
+ pythonw$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) ; do \
+ $(INSTALL_NAME_TOOL) -change \
+ $(python3_fw_prefix)/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \
+ @executable_path/../LibreOfficePython $$file ; done
+ touch $@
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/python33/GeneratedPackage_python3.mk b/external/python33/GeneratedPackage_python3.mk
new file mode 100644
index 000000000000..ffde38be586c
--- /dev/null
+++ b/external/python33/GeneratedPackage_python3.mk
@@ -0,0 +1,18 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_GeneratedPackage_GeneratedPackage,python3,$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO))
+
+$(eval $(call gb_GeneratedPackage_use_unpacked,python3,python3))
+
+$(eval $(call gb_GeneratedPackage_use_external_project,python3,python3))
+
+$(eval $(call gb_GeneratedPackage_add_dir,python3,$(INSTROOT)/Frameworks/LibreOfficePython.framework,LibreOfficePython.framework))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/python33/Makefile b/external/python33/Makefile
new file mode 100644
index 000000000000..e4968cf85fb6
--- /dev/null
+++ b/external/python33/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/python33/Module_python33.mk b/external/python33/Module_python33.mk
new file mode 100644
index 000000000000..65e13567f7ab
--- /dev/null
+++ b/external/python33/Module_python33.mk
@@ -0,0 +1,24 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Module_Module,python3))
+
+ifneq ($(DISABLE_PYTHON),TRUE)
+ifeq ($(SYSTEM_PYTHON),)
+
+$(eval $(call gb_Module_add_targets,python3,\
+ UnpackedTarball_python3 \
+ ExternalProject_python3 \
+ $(if $(filter MACOSX,$(OS)),GeneratedPackage_python3,ExternalPackage_python3) \
+))
+
+endif
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/python33/README b/external/python33/README
new file mode 100644
index 000000000000..edde023afcda
--- /dev/null
+++ b/external/python33/README
@@ -0,0 +1 @@
+CPython implementation of Python 3 from http://www.python.org
diff --git a/external/python33/UnpackedTarball_python3.mk b/external/python33/UnpackedTarball_python3.mk
new file mode 100644
index 000000000000..1579be9a5f05
--- /dev/null
+++ b/external/python33/UnpackedTarball_python3.mk
@@ -0,0 +1,60 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_UnpackedTarball_UnpackedTarball,python3))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,python3,$(PYTHON_TARBALL),,python3))
+
+$(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\
+ PCbuild/pcbuild.sln \
+))
+
+$(eval $(call gb_UnpackedTarball_add_patches,python3,\
+ external/python33/i100492-freebsd.patch.1 \
+ external/python33/python-3.3.0-i42553.patch.2 \
+ external/python33/python-3.3.3-aix.patch.1 \
+ external/python33/python-3.3.0-darwin.patch.1 \
+ external/python33/python-3.3.0-msvc2012.patch.1 \
+ external/python33/python-3.3.0-msvc-disable.patch.1 \
+ external/python33/python-3.3.0-msvc-x64.patch.1 \
+ external/python33/python-3.3.0-ssl.patch.1 \
+ external/python33/python-3.3.0-gcc-4.8.patch.1 \
+ external/python33/python-3.3.0-pythreadstate.patch.1 \
+ external/python33/python-3.3.0-clang.patch.1 \
+ external/python33/python-3.3.3-py17797.patch.1 \
+ external/python33/python-3.3.3-msvc2012-winxp.patch.1 \
+ external/python33/python-3.3.5-pyexpat-symbols.patch.1 \
+ external/python33/python-3.3.5-vs2013.patch.1 \
+ external/python33/python-3.3.5-darwin-gnu-xargs.patch.1 \
+ external/python33/python-msvc-disable-sse2.patch.1 \
+ external/python33/python-lsan.patch.0 \
+ external/python33/ubsan.patch.0 \
+))
+
+ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
+$(eval $(call gb_UnpackedTarball_add_patches,python3,\
+ external/python33/python-3.3.3-elf-rpath.patch.1 \
+))
+endif
+
+ifneq ($(ENABLE_RUNTIME_OPTIMIZATIONS),TRUE)
+$(eval $(call gb_UnpackedTarball_add_patches,python3,\
+ external/python33/python-3.3.3-disable-obmalloc.patch.0 \
+))
+endif
+
+ifeq ($(OS)-$(COM),WNT-MSC)
+ifneq ($(filter 120,$(VCVER)),)
+$(eval $(call gb_UnpackedTarball_add_patches,python3,\
+ external/python33/python-vc2013.patch.1 \
+))
+endif
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/python33/i100492-freebsd.patch.1 b/external/python33/i100492-freebsd.patch.1
new file mode 100644
index 000000000000..7189a7e81956
--- /dev/null
+++ b/external/python33/i100492-freebsd.patch.1
@@ -0,0 +1,80 @@
+FreeBSD porting fixes, patch by maho@openoffice.org
+
+--- Python-3.3.0/configure 2012-11-28 09:00:41.094955090 +0000
++++ Python-3.3.0/configure 2012-11-28 09:01:13.033329526 +0000
+@@ -5545,11 +5545,6 @@
+ LDLIBRARY='libpython$(LDVERSION).so'
+ BLDLIBRARY='-L. -lpython$(LDVERSION)'
+ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+- case $ac_sys_system in
+- FreeBSD*)
+- SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
+- ;;
+- esac
+ INSTSONAME="$LDLIBRARY".$SOVERSION
+ if test "$with_pydebug" != yes
+ then
+--- Python-3.3.0/Lib/test/test_threading.py 2012-11-28 09:00:41.292957412 +0000
++++ Python-3.3.0/Lib/test/test_threading.py 2012-11-28 09:01:13.017329339 +0000
+@@ -451,7 +451,7 @@
+ # #12316 and #11870), and fork() from a worker thread is known to trigger
+ # problems with some operating systems (issue #3863): skip problematic tests
+ # on platforms known to behave badly.
+- platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5',
++ platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'netbsd5',
+ 'os2emx', 'hp-ux11')
+
+ def _run_and_join(self, script):
+--- Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:00:41.097955124 +0000
++++ Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:01:13.018329351 +0000
+@@ -42,6 +42,10 @@
+ #endif
+ #endif
+
++#ifdef __FreeBSD__
++#include <osreldate.h>
++#endif
++
+ /* The POSIX spec says that implementations supporting the sem_*
+ family of functions must indicate this by defining
+ _POSIX_SEMAPHORES. */
+@@ -60,7 +64,6 @@
+ in default setting. So the process scope is preferred to get
+ enough number of threads to work. */
+ #ifdef __FreeBSD__
+-#include <osreldate.h>
+ #if __FreeBSD_version >= 500000 && __FreeBSD_version < 504101
+ #undef PTHREAD_SYSTEM_SCHED_SUPPORTED
+ #endif
+@@ -186,6 +189,9 @@
+ {
+ pthread_t th;
+ int status;
++#ifdef __FreeBSD__
++ sigset_t set, oset;
++#endif
+ #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ pthread_attr_t attrs;
+ #endif
+@@ -214,7 +220,10 @@
+ #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);
+ #endif
+-
++#ifdef __FreeBSD__
++ sigfillset(&set);
++ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset);
++#endif
+ status = pthread_create(&th,
+ #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ &attrs,
+@@ -225,6 +234,9 @@
+ (void *)arg
+ );
+
++#ifdef __FreeBSD__
++ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL);
++#endif
+ #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
+ pthread_attr_destroy(&attrs);
+ #endif
diff --git a/external/python33/python-3.3.0-clang.patch.1 b/external/python33/python-3.3.0-clang.patch.1
new file mode 100644
index 000000000000..9001110fbed4
--- /dev/null
+++ b/external/python33/python-3.3.0-clang.patch.1
@@ -0,0 +1,13 @@
+-*- Mode: diff -*-
+
+--- python3/setup.py
++++ python3/setup.py
+@@ -436,7 +436,7 @@
+ if ret >> 8 == 0:
+ with open(tmpfile) as fp:
+ for line in fp.readlines():
+- if line.startswith("gcc version"):
++ if line.startswith("gcc version") or line.startswith("clang -cc1 version"):
+ is_gcc = True
+ elif line.startswith("#include <...>"):
+ in_incdirs = True
diff --git a/external/python33/python-3.3.0-darwin.patch.1 b/external/python33/python-3.3.0-darwin.patch.1
new file mode 100644
index 000000000000..a709473d7e71
--- /dev/null
+++ b/external/python33/python-3.3.0-darwin.patch.1
@@ -0,0 +1,85 @@
+-*- Mode: diff -*-
+
+LO needs to build both against MacOSX SDK and not produce universal binaries.
+
+diff -ru python3.old_/configure python3/configure
+--- python3.old_/configure 2012-09-29 10:00:50.000000000 +0200
++++ python3/configure 2012-11-13 16:37:26.030013256 +0100
+@@ -6353,7 +6353,19 @@
+ if test "${enable_universalsdk}"; then
+ UNIVERSAL_ARCH_FLAGS=""
+ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then
+- UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386"
++ # LO does not use Universal Binaries (but the only way to set a SDK
++ # here implies that, so de-universalize here...)
++ case `/usr/bin/arch` in
++ i386)
++ UNIVERSAL_ARCH_FLAGS="-arch i386"
++ ;;
++ ppc)
++ UNIVERSAL_ARCH_FLAGS=""
++ ;;
++ *)
++ as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
++ ;;
++ esac
+ ARCH_RUN_32BIT=""
+ LIPO_32BIT_FLAGS=""
+ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then
+
+On OS X avoid /usr/local/lib and include like the plague, we don't
+want to accidentally get some MacPorts etc stuff.
+
+On OS X, always run the compiler (which is Clang, not gcc) to find out
+what the include paths are. On a clean modern installation, there is
+no /usr/include.
+
+--- python3/setup.py
++++ python3/setup.py
+@@ -460,11 +460,11 @@
+ # Ensure that /usr/local is always used, but the local build
+ # directories (i.e. '.' and 'Include') must be first. See issue
+ # 10520.
+- if not cross_compiling:
++ if not cross_compiling and host_platform != 'darwin':
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ # only change this for cross builds for 3.3, issues on Mageia
+- if cross_compiling:
++ if cross_compiling or host_platform == 'darwin':
+ self.add_gcc_paths()
+ self.add_multiarch_paths()
+
+--- python3/Mac/Makefile.in.orig 2013-09-13 20:16:50.558137603 +0200
++++ python3/Mac/Makefile.in 2013-09-13 21:57:14.790962423 +0200
+@@ -39,7 +39,7 @@
+ INSTALL_SCRIPT= @INSTALL_SCRIPT@
+ INSTALL_DATA=@INSTALL_DATA@
+ LN=@LN@
+-STRIPFLAG=-s
++STRIPFLAG=
+ CPMAC=CpMac
+
+ APPTEMPLATE=$(srcdir)/Resources/app
+--- python3/Mac/Resources/framework/Info.plist.in
++++ python3/Mac/Resources/framework/Info.plist.in
+@@ -5,7 +5,7 @@
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+- <string>Python</string>
++ <string>@PYTHONFRAMEWORK@</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Python Runtime and Library</string>
+ <key>CFBundleIdentifier</key>
+--- python3/Mac/Resources/app/Info.plist.in
++++ python3/Mac/Resources/app/Info.plist.in
+@@ -18,7 +18,7 @@
+ </dict>
+ </array>
+ <key>CFBundleExecutable</key>
+- <string>Python</string>
++ <string>LibreOfficePython</string>
+ <key>CFBundleGetInfoString</key>
+ <string>%version%, (c) 2004-2014 Python Software Foundation.</string>
+ <key>CFBundleHelpBookFolder</key>
diff --git a/external/python33/python-3.3.0-gcc-4.8.patch.1 b/external/python33/python-3.3.0-gcc-4.8.patch.1
new file mode 100644
index 000000000000..8fb7107ff299
--- /dev/null
+++ b/external/python33/python-3.3.0-gcc-4.8.patch.1
@@ -0,0 +1,15 @@
+--- Python-3.3.0/Include/modsupport.h 2012-09-29 10:00:26.000000000 +0200
++++ Python-3.3.0/Include/modsupport.h 2013-03-08 10:46:28.671938738 +0100
+@@ -26,7 +26,11 @@
+ /* Due to a glitch in 3.2, the _SizeT versions weren't exported from the DLL. */
+ #if !defined(PY_SSIZE_T_CLEAN) || !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
+ PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
+-PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...) Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3);
++PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...)
++#ifdef PY_SSIZE_T_CLEAN
++ Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3)
++#endif
++ ;
+ PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
+ const char *, char **, ...);
+ PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *);
diff --git a/external/python33/python-3.3.0-i42553.patch.2 b/external/python33/python-3.3.0-i42553.patch.2
new file mode 100644
index 000000000000..21145227cc1e
--- /dev/null
+++ b/external/python33/python-3.3.0-i42553.patch.2
@@ -0,0 +1,18 @@
+definition of gethostbyname conflicts with system /usr/include/unistd.h,
+available since at least Solaris 2.6 according to python-Bugs-837046
+Author: taniguchi@openoffice.org
+
+--- misc/Python-2.6.1/Include/pyport.h 2008-06-11 09:41:16.000000000 +0200
++++ misc/build/Python-2.6.1/Include/pyport.h 2011-06-06 17:31:17.000000000 +0200
+@@ -449,11 +449,6 @@
+ in platform-specific #ifdefs.
+ **************************************************************************/
+
+-#ifdef SOLARIS
+-/* Unchecked */
+-extern int gethostname(char *, int);
+-#endif
+-
+ #ifdef HAVE__GETPTY
+ #include <sys/types.h> /* we need to import mode_t */
+ extern char * _getpty(int *, int, mode_t, int);
diff --git a/external/python33/python-3.3.0-msvc-disable.patch.1 b/external/python33/python-3.3.0-msvc-disable.patch.1
new file mode 100644
index 000000000000..6a6a9509a4ef
--- /dev/null
+++ b/external/python33/python-3.3.0-msvc-disable.patch.1
@@ -0,0 +1,47 @@
+Disable some stuff LO does not need, especially stuff with external dependencies
+
+diff -ru python3/PCbuild/pcbuild.sln python3.new/PCbuild/pcbuild.sln
+--- python3/PCbuild/pcbuild.sln 2012-09-29 10:00:48.000000000 +0200
++++ python3.new/PCbuild/pcbuild.sln 2012-11-12 22:13:49.445159668 +0100
+@@ -12,10 +12,6 @@
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcxproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcxproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "w9xpopen", "w9xpopen.vcxproj", "{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}"
+-EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_buildinfo", "make_buildinfo.vcxproj", "{C73F0EC1-358B-4177-940F-0846AC8B04CD}"
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", "winsound.vcxproj", "{28B5D777-DDF2-4B6B-B34F-31D938813856}"
+@@ -32,30 +28,16 @@
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", "_socket.vcxproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_sqlite3", "_sqlite3.vcxproj", "{13CECB97-4119-4316-9D42-8534019A5A44}"
+-EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcxproj", "{C6E20F84-3247-4AD6-B051-B073268F73BA}"
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcxproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_tkinter", "_tkinter.vcxproj", "{4946ECAC-2E69-4BF8-A90A-F5136F5094DF}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_bz2", "_bz2.vcxproj", "{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}"
+-EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "select", "select.vcxproj", "{18CAE28C-B454-46C1-87A0-493D91D97F03}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_lzma", "_lzma.vcxproj", "{F9D71780-F393-11E0-BE50-0800200C9A66}"
+-EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicodedata", "unicodedata.vcxproj", "{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}"
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj", "{D06B6426-4762-44CC-8BAD-D79052507F2F}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "bdist_wininst.vcxproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcxproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3.vcxproj", "{A1A295E5-463C-437F-81CA-1F32367685DA}"
+-EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl", "ssl.vcxproj", "{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}"
diff --git a/external/python33/python-3.3.0-msvc-x64.patch.1 b/external/python33/python-3.3.0-msvc-x64.patch.1
new file mode 100644
index 000000000000..a92acc77a563
--- /dev/null
+++ b/external/python33/python-3.3.0-msvc-x64.patch.1
@@ -0,0 +1,289 @@
+Fix Python build for x64 Windows
+
+diff -ru python3/PCbuild/pcbuild.sln python3.new/PCbuild/pcbuild.sln
+--- python3/PCbuild/pcbuild.sln 2012-09-29 10:00:48.000000000 +0200
++++ python3.new/PCbuild/pcbuild.sln 2012-11-12 22:13:49.445159668 +0100
+@@ -104,20 +84,20 @@
+ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|x64.Build.0 = Release|x64
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.Build.0 = Debug|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.ActiveCfg = Debug|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.Build.0 = Debug|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.ActiveCfg = Debug|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.Build.0 = Debug|x64
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|Win32.ActiveCfg = Release|Win32
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|Win32.Build.0 = Release|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.ActiveCfg = Release|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.Build.0 = Release|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.Build.0 = Release|x64
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|Win32.ActiveCfg = Release|Win32
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|Win32.Build.0 = Release|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.ActiveCfg = Release|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.Build.0 = Release|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.Build.0 = Release|x64
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.ActiveCfg = Release|Win32
+ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.Build.0 = Release|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.ActiveCfg = Release|Win32
+- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.Build.0 = Release|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.Build.0 = Release|x64
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.Build.0 = Debug|Win32
+ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|x64.ActiveCfg = Debug|x64
+@@ -168,20 +148,20 @@
+ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|x64.Build.0 = Release|x64
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|Win32.ActiveCfg = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|Win32.Build.0 = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.ActiveCfg = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.Build.0 = Release|Win32
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.Build.0 = Release|x64
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|Win32.ActiveCfg = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|Win32.Build.0 = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.ActiveCfg = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.Build.0 = Release|Win32
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.Build.0 = Release|x64
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|Win32.ActiveCfg = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|Win32.Build.0 = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.ActiveCfg = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.Build.0 = Release|Win32
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.Build.0 = Release|x64
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.ActiveCfg = Release|Win32
+ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.Build.0 = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.ActiveCfg = Release|Win32
+- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.Build.0 = Release|Win32
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.Build.0 = Release|x64
+ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|Win32.ActiveCfg = Debug|Win32
+ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|Win32.Build.0 = Debug|Win32
+ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|x64.ActiveCfg = Debug|x64
+@@ -577,38 +557,38 @@
+ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.Debug|x64.Build.0 = Debug|x64
+ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
+ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
+- {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGInstrument|x64.ActiveCfg = PGInstrument|Win32
+- {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGInstrument|x64.Build.0 = PGInstrument|Win32
++ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGInstrument|x64.Build.0 = PGInstrument|x64
+ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
+ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
+- {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGUpdate|x64.ActiveCfg = PGUpdate|Win32
+- {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGUpdate|x64.Build.0 = PGUpdate|Win32
++ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.PGUpdate|x64.Build.0 = PGUpdate|x64
+ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.Release|Win32.ActiveCfg = Release|Win32
+ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.Release|Win32.Build.0 = Release|Win32
+- {7B2727B5-5A3F-40EE-A866-43A13CD31446}.Release|x64.ActiveCfg = Release|Win32
+- {7B2727B5-5A3F-40EE-A866-43A13CD31446}.Release|x64.Build.0 = Release|Win32
++ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.Release|x64.ActiveCfg = Release|x64
++ {7B2727B5-5A3F-40EE-A866-43A13CD31446}.Release|x64.Build.0 = Release|x64
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Debug|Win32.Build.0 = Debug|Win32
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Debug|x64.ActiveCfg = Debug|x64
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Debug|x64.Build.0 = Debug|x64
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
+- {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGInstrument|x64.ActiveCfg = PGInstrument|Win32
+- {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGInstrument|x64.Build.0 = PGInstrument|Win32
++ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGInstrument|x64.Build.0 = PGInstrument|x64
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
+- {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGUpdate|x64.ActiveCfg = PGUpdate|Win32
+- {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGUpdate|x64.Build.0 = PGUpdate|Win32
++ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.PGUpdate|x64.Build.0 = PGUpdate|x64
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|Win32.ActiveCfg = Release|Win32
+ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|Win32.Build.0 = Release|Win32
+- {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|x64.ActiveCfg = Release|Win32
+- {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|x64.Build.0 = Release|Win32
++ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|x64.ActiveCfg = Release|x64
++ {1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|x64.Build.0 = Release|x64
+ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|x64.ActiveCfg = Debug|x64
+ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|Win32.ActiveCfg = Release|Win32
+- {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|x64.ActiveCfg = Release|Win32
++ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|x64.ActiveCfg = Release|x64
+ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|Win32.ActiveCfg = Release|Win32
+- {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|x64.ActiveCfg = Release|Win32
++ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|x64.ActiveCfg = Release|x64
+ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|Win32.ActiveCfg = Release|Win32
+ {19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|x64.ActiveCfg = Release|x64
+ EndGlobalSection
+--- python3/PCbuild/make_buildinfo.vcxproj
++++ python3/PCbuild/make_buildinfo.vcxproj
+@@ -5,6 +5,10 @@
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{C73F0EC1-358B-4177-940F-0846AC8B04CD}</ProjectGuid>
+@@ -16,6 +20,10 @@
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+@@ -24,17 +32,38 @@
+ <Import Project="pyproject.props" />
+ <Import Project="release.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)make_buildinfo.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+--- python3/PCbuild/make_versioninfo.vcxproj
++++ python3/PCbuild/make_versioninfo.vcxproj
+@@ -114,24 +114,25 @@
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <CustomBuildStep>
+ <Message>Build PC/pythonnt_rc(_d).h</Message>
+ <Command>cd $(SolutionDir)
+-make_versioninfo.exe &gt; ..\PC\pythonnt_rc.h
++amd64\make_versioninfo.exe &gt; ..\PC\pythonnt_rc.h
+ </Command>
+ <Outputs>$(SolutionDir)..\PC\pythonnt_rc.h;%(Outputs)</Outputs>
+ </CustomBuildStep>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+- <OutputFile>$(SolutionDir)make_versioninfo.exe</OutputFile>
++ <OutputFile>$(SolutionDir)amd64\make_versioninfo.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
+ </Link>
+ <PostBuildEvent>
+ <Command>cd $(SolutionDir)
+-make_versioninfo.exe &gt; ..\PC\python_nt.h
++amd64\make_versioninfo.exe &gt; ..\PC\python_nt.h
+ </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+@@ -172,9 +172,9 @@
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <CustomBuildStep>
+ <Message>Build PC/pythonnt_rc(_d).h</Message>
+ <Command>cd $(SolutionDir)
+-make_versioninfo_d.exe &gt; ..\PC\pythonnt_rc_d.h
++amd64\make_versioninfo_d.exe &gt; ..\PC\pythonnt_rc_d.h
+ </Command>
+ <Outputs>$(SolutionDir)..\PC\pythonnt_rc_d.h;%(Outputs)</Outputs>
+ </CustomBuildStep>
+ <Midl>
+@@ -186,14 +186,15 @@
+ <IntrinsicFunctions>false</IntrinsicFunctions>
+ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+- <OutputFile>$(SolutionDir)make_versioninfo_d.exe</OutputFile>
++ <OutputFile>$(SolutionDir)amd64\make_versioninfo_d.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>cd $(SolutionDir)
+-make_versioninfo_d.exe &gt; ..\PC\python_nt_d.h
++amd64\make_versioninfo_d.exe &gt; ..\PC\python_nt_d.h
+ </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+--- python3/PCbuild/pythoncore.vcxproj
++++ python3/PCbuild/pythoncore.vcxproj
+@@ -195,35 +195,35 @@
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalIncludeDirectories>..\Python;..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ <AdditionalIncludeDirectories>..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <PreLinkEvent>
+ <Message>Generate build information...</Message>
+- <Command>"$(SolutionDir)make_buildinfo.exe" Release "$(IntDir)"</Command>
++ <Command>"$(SolutionDir)amd64\make_buildinfo.exe" Release "$(IntDir)"</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>$(IntDir)getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
+ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ <BaseAddress>0x1e000000</BaseAddress>
+ </Link>
+ <PreBuildEvent>
+ <Command>$(KillPythonExe)
+ IF %ERRORLEVEL% NEQ 0 (
+ echo kill_python: warning: could not kill running Pythons, exit code %ERRORLEVEL%
+ exit /b 0
+ )</Command>
+ </PreBuildEvent>
+ <PreBuildEvent>
+ <Message>Killing any running $(PythonExe) instances...</Message>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+@@ -289,9 +289,9 @@
+ <AdditionalIncludeDirectories>..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <PreLinkEvent>
+ <Message>Generate build information...</Message>
+- <Command>"$(SolutionDir)make_buildinfo.exe" Debug "$(IntDir)"</Command>
++ <Command>"$(SolutionDir)amd64\make_buildinfo.exe" Debug "$(IntDir)"</Command>
+ </PreLinkEvent>
+ <Link>
+ <AdditionalDependencies>$(IntDir)getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
+ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
diff --git a/external/python33/python-3.3.0-msvc2012.patch.1 b/external/python33/python-3.3.0-msvc2012.patch.1
new file mode 100644
index 000000000000..9bbfbfbaf0d6
--- /dev/null
+++ b/external/python33/python-3.3.0-msvc2012.patch.1
@@ -0,0 +1,72 @@
+Adapt VC10/MSVC2010 stuff for VC11/MSVC2012 (apparently builds with both then)
+
+diff -ru python3.old_/PCbuild/_msi.vcxproj python3/PCbuild/_msi.vcxproj
+--- python3.old_/PCbuild/_msi.vcxproj 2012-09-29 10:00:48.000000000 +0200
++++ python3/PCbuild/_msi.vcxproj 2012-11-13 15:52:40.656101165 +0100
+@@ -151,7 +151,7 @@
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -160,13 +160,13 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -175,13 +175,13 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -190,14 +190,14 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -206,7 +206,7 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <Link>
+- <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <BaseAddress>0x1D160000</BaseAddress>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
diff --git a/external/python33/python-3.3.0-pythreadstate.patch.1 b/external/python33/python-3.3.0-pythreadstate.patch.1
new file mode 100644
index 000000000000..66350e2c8112
--- /dev/null
+++ b/external/python33/python-3.3.0-pythreadstate.patch.1
@@ -0,0 +1,15 @@
+disable a check in PyThreadState_Swap that is hopefully not a "real" problem
+
+--- python3/Python/pystate.c 2013-04-17 22:45:00.799800000 +0200
++++ python3/Python/pystate.c 2013-04-17 22:46:53.743800000 +0200
+@@ -437,7 +437,9 @@
+ to be used for a thread. Check this the best we can in debug
+ builds.
+ */
+-#if defined(Py_DEBUG) && defined(WITH_THREAD)
++#if defined(Py_DEBUG) && defined(WITH_THREAD) && 0
++ /* disable this for LO - it is triggered by nested PyThreadAttach
++ which do not appear to be a real problem */
+ if (newts) {
+ /* This can be called from PyEval_RestoreThread(). Similar
+ to it, we need to ensure errno doesn't change.
diff --git a/external/python33/python-3.3.0-ssl.patch.1 b/external/python33/python-3.3.0-ssl.patch.1
new file mode 100644
index 000000000000..b85fe076fff8
--- /dev/null
+++ b/external/python33/python-3.3.0-ssl.patch.1
@@ -0,0 +1,208 @@
+-*- Mode: diff -*-
+
+Tweak SSL build to find OpenSSL in solver & not build it itself in "ssl.vcproj" etc.
+
+diff -ru python3.old_/Modules/Setup.dist python3/Modules/Setup.dist
+--- python3.old_/Modules/Setup.dist 2012-09-29 10:00:42.000000000 +0200
++++ python3/Modules/Setup.dist 2012-11-13 14:19:01.994158111 +0100
+@@ -236,14 +236,14 @@
+ # The _md5 module implements the RSA Data Security, Inc. MD5
+ # Message-Digest Algorithm, described in RFC 1321.
+
+-#_md5 md5module.c
++_md5 md5module.c
+
+
+ # The _sha module implements the SHA checksum algorithms.
+ # (NIST's Secure Hash Algorithms.)
+-#_sha1 sha1module.c
+-#_sha256 sha256module.c
+-#_sha512 sha512module.c
++_sha1 sha1module.c
++_sha256 sha256module.c
++_sha512 sha512module.c
+
+
+ # The _tkinter module.
+diff -ru python3.old_/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
+--- python3.old_/PCbuild/pcbuild.sln 2012-09-29 10:00:48.000000000 +0200
++++ python3/PCbuild/pcbuild.sln 2012-11-13 14:50:39.220142472 +0100
+@@ -58,8 +58,6 @@
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl", "ssl.vcxproj", "{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}"
+-EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kill_python", "kill_python.vcxproj", "{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}"
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", "python3dll.vcxproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}"
+diff -ru python3.old_/PCbuild/_ssl.vcxproj python3/PCbuild/_ssl.vcxproj
+--- python3.old_/PCbuild/_ssl.vcxproj 2012-09-29 10:00:48.000000000 +0200
++++ python3/PCbuild/_ssl.vcxproj 2012-11-13 14:55:50.298137715 +0100
+@@ -151,14 +151,14 @@
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+@@ -166,26 +166,26 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+@@ -193,26 +193,26 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
+@@ -220,27 +220,27 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out32\libeay32.lib;$(opensslDir)\out32\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
+@@ -248,14 +248,14 @@
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(opensslDir)\inc64;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(WORKDIR)/UnpackedTarball/openssl/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <PreLinkEvent>
+ <Command>
+ </Command>
+ </PreLinkEvent>
+ <Link>
+- <AdditionalDependencies>ws2_32.lib;$(opensslDir)\out64\libeay32.lib;$(opensslDir)\out64\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalDependencies>ws2_32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\libeay32.lib;$(WORKDIR)\UnpackedTarball\openssl\out32dll\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -271,10 +271,6 @@
+ <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+- <ProjectReference Include="ssl.vcxproj">
+- <Project>{e5b04cc0-eb4c-42ab-b4dc-18ef95f864b0}</Project>
+- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+- </ProjectReference>
+ <ProjectReference Include="_socket.vcxproj">
+ <Project>{86937f53-c189-40ef-8ce8-8759d8e7d480}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+diff -ru python3.old_/setup.py python3/setup.py
+--- python3.old_/setup.py 2012-09-29 10:00:50.000000000 +0200
++++ python3/setup.py 2012-11-13 14:18:23.484158149 +0100
+@@ -757,7 +757,10 @@
+ exts.append( Extension('_socket', ['socketmodule.c'],
+ depends = ['socketmodule.h']) )
+ # Detect SSL support for the socket module (via _ssl)
++ ooosslinc = os.environ.get('WORKDIR') + \
++ '/UnpackedTarball/openssl/include/'
+ search_for_ssl_incs_in = [
++ ooosslinc,
+ '/usr/local/ssl/include',
+ '/usr/contrib/ssl/include/'
+ ]
+@@ -769,8 +774,12 @@
+ ['/usr/kerberos/include'])
+ if krb5_h:
+ ssl_incs += krb5_h
++ ooossllib = os.environ.get('WORKDIR') + \
++ '/UnpackedTarball/openssl'
++ ooosslinc = ooosslinc + '/'
+ ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
+- ['/usr/local/ssl/lib',
++ [ooossllib,
++ '/usr/local/ssl/lib',
+ '/usr/contrib/ssl/lib/'
+ ] )
+
diff --git a/external/python33/python-3.3.3-aix.patch.1 b/external/python33/python-3.3.3-aix.patch.1
new file mode 100644
index 000000000000..f510a81da840
--- /dev/null
+++ b/external/python33/python-3.3.3-aix.patch.1
@@ -0,0 +1,145 @@
+build with GCC on AIX
+
+--- Python-3.3.3/configure 2012-11-28 09:05:45.990529603 +0000
++++ Python-3.3.3/configure 2012-11-28 09:06:23.037963934 +0000
+@@ -3426,8 +3426,6 @@
+ else
+
+ case $ac_sys_system in
+- AIX*) CC=${CC:-xlc_r}
+- without_gcc=;;
+ *) without_gcc=no;;
+ esac
+ fi
+@@ -5541,10 +5539,18 @@
+ PY3LIBRARY=libpython3.so
+ fi
+ ;;
+- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|AIX*)
+ LDLIBRARY='libpython$(LDVERSION).so'
+- BLDLIBRARY='-L. -lpython$(LDVERSION)'
+- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ case $ac_sys_system in
++ AIX*)
++ BLDLIBRARY='-Wl,-brtl -L. -lpython$(LDVERSION)'
++ RUNSHARED=LIBPATH=`pwd`:${LIBPATH}
++ ;;
++ *)
++ BLDLIBRARY='-L. -lpython$(LDVERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ ;;
++ esac
+ INSTSONAME="$LDLIBRARY".$SOVERSION
+ if test "$with_pydebug" != yes
+ then
+@@ -8301,8 +8307,13 @@
+ then
+ case $ac_sys_system/$ac_sys_release in
+ AIX*)
+- BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp"
+- LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp"
++ if test "$GCC" = "yes"; then
++ LDSHARED='$(CC) -shared'
++ BLDSHARED='$(CC) -Wl,-brtl -shared'
++ else
++ BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp"
++ LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp"
++ fi
+ ;;
+ IRIX/5*) LDSHARED="ld -shared";;
+ IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
+--- Python-3.3.3/configure.ac 2012-11-28 09:05:45.990529603 +0000
++++ Python-3.3.3/configure.ac 2012-11-28 09:06:23.038963946 +0000
+@@ -545,8 +545,6 @@
+ without_gcc=$withval;;
+ esac], [
+ case $ac_sys_system in
+- AIX*) CC=${CC:-xlc_r}
+- without_gcc=;;
+ *) without_gcc=no;;
+ esac])
+ AC_MSG_RESULT($without_gcc)
+@@ -910,10 +908,18 @@
+ PY3LIBRARY=libpython3.so
+ fi
+ ;;
+- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|AIX*)
+ LDLIBRARY='libpython$(LDVERSION).so'
+- BLDLIBRARY='-L. -lpython$(LDVERSION)'
+- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ case $ac_sys_system in
++ AIX*)
++ BLDLIBRARY='-Wl,-brtl -L. -lpython$(LDVERSION)'
++ RUNSHARED=LIBPATH=`pwd`:${LIBPATH}
++ ;;
++ *)
++ BLDLIBRARY='-L. -lpython$(LDVERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ ;;
++ esac
+ case $ac_sys_system in
+ FreeBSD*)
+ SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
+@@ -1866,8 +1872,13 @@
+ then
+ case $ac_sys_system/$ac_sys_release in
+ AIX*)
+- BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp"
+- LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp"
++ if test "$GCC" = "yes"; then
++ LDSHARED='$(CC) -shared'
++ BLDSHARED='$(CC) -Wl,-brtl -shared'
++ else
++ BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:\$(srcdir)/Modules/python.exp"
++ LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp"
++ fi
+ ;;
+ IRIX/5*) LDSHARED="ld -shared";;
+ IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
+--- Python-3.3.3/Makefile.pre.in 2012-11-28 09:05:45.861528086 +0000
++++ Python-3.3.3/Makefile.pre.in 2012-11-28 09:06:23.046964040 +0000
+@@ -493,14 +493,20 @@
+
+ libpython$(LDVERSION).so: $(LIBRARY_OBJS)
+ if test $(INSTSONAME) != $(LDLIBRARY); then \
+- $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
++ if [ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" != "aix" ]; then \
++ SONAME="-Wl,-h$(INSTSONAME)"; \
++ fi; \
++ $(BLDSHARED) $(SONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+ $(LN) -f $(INSTSONAME) $@; \
+ else \
+ $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+ fi
+
+ libpython3.so: libpython$(LDVERSION).so
+- $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
++ if [ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" != "aix" ]; then \
++ SONAME="-Wl,-h$@"; \
++ fi; \
++ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ $(SONAME) $^
+
+ libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
+ $(CC) -dynamiclib -Wl,-single_module $(PY_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+@@ -1106,6 +1112,8 @@
+ export PATH; PATH="`pwd`:$$PATH"; \
+ export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
+ export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
++ export LD_LIBRARY_PATH; LD_LIBRARY_PATH="`pwd`${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"; \
++ export LIBPATH; LIBPATH="`pwd`${LIBPATH:+:$LIBPATH}"; \
+ export EXE; EXE="$(BUILDEXE)"; \
+ if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \
+ export PYTHON_FOR_BUILD; \
+--- Python-3.3.3/Modules/Setup.dist 2012-11-28 09:05:45.935528957 +0000
++++ Python-3.3.3/Modules/Setup.dist 2012-11-28 09:06:23.052964111 +0000
+@@ -177,7 +177,7 @@
+ #_bisect _bisectmodule.c # Bisection algorithms
+ #_heapq _heapqmodule.c # Heap queue algorithm
+
+-#unicodedata unicodedata.c # static Unicode character database
++unicodedata unicodedata.c # static Unicode character database
+
+
+ # Modules with some UNIX dependencies -- on by default:
diff --git a/external/python33/python-3.3.3-disable-obmalloc.patch.0 b/external/python33/python-3.3.3-disable-obmalloc.patch.0
new file mode 100644
index 000000000000..639cff65db23
--- /dev/null
+++ b/external/python33/python-3.3.3-disable-obmalloc.patch.0
@@ -0,0 +1,21 @@
+--- Objects/obmalloc.c
++++ Objects/obmalloc.c
+@@ -9,8 +9,8 @@
+ #endif
+ #endif
+
++#define WITH_VALGRIND
+ #ifdef WITH_VALGRIND
+-#include <valgrind/valgrind.h>
+
+ /* If we're using GCC, use __builtin_expect() to reduce overhead of
+ the valgrind checks */
+@@ -771,7 +771,7 @@
+
+ #ifdef WITH_VALGRIND
+ if (UNLIKELY(running_on_valgrind == -1))
+- running_on_valgrind = RUNNING_ON_VALGRIND;
++ running_on_valgrind = 1;
+ if (UNLIKELY(running_on_valgrind))
+ goto redirect;
+ #endif
diff --git a/external/python33/python-3.3.3-elf-rpath.patch.1 b/external/python33/python-3.3.3-elf-rpath.patch.1
new file mode 100644
index 000000000000..33de913e09f4
--- /dev/null
+++ b/external/python33/python-3.3.3-elf-rpath.patch.1
@@ -0,0 +1,13 @@
+set RPATH (only to be used on ELF platforms)
+
+--- python3/Makefile.pre.in 2013-04-19 15:08:43.637715422 +0200
++++ python3/Makefile.pre.in 2013-04-19 15:07:32.685711138 +0200
+@@ -464,7 +464,7 @@
+
+ # Build the interpreter
+ $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+- $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
++ $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) -Wl,-rpath,\$$ORIGIN
+
+ platform: $(BUILDPYTHON) pybuilddir.txt
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
diff --git a/external/python33/python-3.3.3-msvc2012-winxp.patch.1 b/external/python33/python-3.3.3-msvc2012-winxp.patch.1
new file mode 100644
index 000000000000..2addd4962c07
--- /dev/null
+++ b/external/python33/python-3.3.3-msvc2012-winxp.patch.1
@@ -0,0 +1,117 @@
+without explicit subsystem set, the linker tries to open a file
+with the name of the comptibility version
+(fatal error LNK1181: cannot open input file ",5.01")
+diff -ur python3.org/PCbuild/_ctypes.vcxproj python3/PCbuild/_ctypes.vcxproj
+--- python3.org/PCbuild/_ctypes.vcxproj 2014-05-19 19:06:01.274114800 +0200
++++ python3/PCbuild/_ctypes.vcxproj 2014-05-19 19:07:13.649079800 +0200
+@@ -174,7 +174,7 @@
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -187,7 +187,7 @@
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -197,7 +197,7 @@
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -210,7 +210,7 @@
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+@@ -221,7 +221,7 @@
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -234,7 +234,7 @@
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+diff -ur python3.org/PCbuild/_decimal.vcxproj python3/PCbuild/_decimal.vcxproj
+--- python3.org/PCbuild/_decimal.vcxproj 2014-05-19 19:06:01.274114800 +0200
++++ python3/PCbuild/_decimal.vcxproj 2014-05-19 19:07:13.649079800 +0200
+@@ -176,7 +176,7 @@
+ <AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -189,7 +189,7 @@
+ <AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\libmpdec;..\Include;..\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -199,7 +199,7 @@
+ <AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -212,7 +212,7 @@
+ <AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+@@ -223,7 +223,7 @@
+ <AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -236,7 +236,7 @@
+ <AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+- <SubSystem>NotSet</SubSystem>
++ <SubSystem>Console</SubSystem>
+ <BaseAddress>0x1D1A0000</BaseAddress>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
diff --git a/external/python33/python-3.3.3-py17797.patch.1 b/external/python33/python-3.3.3-py17797.patch.1
new file mode 100644
index 000000000000..8fcb703f1935
--- /dev/null
+++ b/external/python33/python-3.3.3-py17797.patch.1
@@ -0,0 +1,45 @@
+http://bugs.python.org/issue17797
+http://connect.microsoft.com/VisualStudio/feedback/details/785119/
+
+Visual Studio 2012 changed return value for fileno function that breaks
+when python tries to check/setup stdin/out/err
+GetStdHandle on Windows XP behaves contrary to the documentation...
+
+diff --git a/Python/pythonrun.c b/Python/pythonrun.c
+index 91d56b7..d28ffc7 100644
+--- a/Python/pythonrun.c
++++ b/Python/pythonrun.c
+@@ -1015,13 +1015,28 @@ error:
+ static int
+ is_valid_fd(int fd)
+ {
+- int dummy_fd;
+ if (fd < 0 || !_PyVerify_fd(fd))
+ return 0;
+- dummy_fd = dup(fd);
+- if (dummy_fd < 0)
+- return 0;
+- close(dummy_fd);
++
++#if defined(MS_WINDOWS) && defined(HAVE_FSTAT)
++ /* dup (DuplicateHandle) doesn't say fd is a valid *file* handle.
++ * It could be a current thread pseudo-handle.
++ */
++ {
++ struct stat buf;
++ if (fstat(fd, &buf) < 0 && (errno == EBADF || errno == ENOENT))
++ return 0;
++ }
++#else
++ {
++ int dummy_fd;
++ dummy_fd = dup(fd);
++ if (dummy_fd < 0)
++ return 0;
++ close(dummy_fd);
++ }
++#endif
++
+ return 1;
+ }
+
diff --git a/external/python33/python-3.3.5-darwin-gnu-xargs.patch.1 b/external/python33/python-3.3.5-darwin-gnu-xargs.patch.1
new file mode 100644
index 000000000000..d955618674e5
--- /dev/null
+++ b/external/python33/python-3.3.5-darwin-gnu-xargs.patch.1
@@ -0,0 +1,12 @@
+diff -ur python3.org/Mac/PythonLauncher/Makefile.in python3/Mac/PythonLauncher/Makefile.in
+--- python3.org/Mac/PythonLauncher/Makefile.in 2015-06-06 08:47:38.000000000 +0300
++++ python3/Mac/PythonLauncher/Makefile.in 2015-06-06 08:48:18.000000000 +0300
+@@ -53,7 +53,7 @@
+ --resource=$(srcdir)/factorySettings.plist \
+ --plist Info.plist \
+ build
+- find "Python Launcher.app" -name '.svn' -print0 | xargs -0 rm -r
++ find "Python Launcher.app" -name '.svn' -print0 | xargs -0 rm -rf
+
+
+ FileSettings.o: $(srcdir)/FileSettings.m
diff --git a/external/python33/python-3.3.5-pyexpat-symbols.patch.1 b/external/python33/python-3.3.5-pyexpat-symbols.patch.1
new file mode 100644
index 000000000000..c04c78cf36e7
--- /dev/null
+++ b/external/python33/python-3.3.5-pyexpat-symbols.patch.1
@@ -0,0 +1,28 @@
+HACK: Fix build breakage on MacOS:
+
+*** WARNING: renaming "pyexpat" since importing it failed: dlopen(build/lib.macosx-10.6-i386-3.3/pyexpat.so, 2): Symbol not found: _XML_ErrorString
+
+This reverts c242a8f30806 from the python hg repo:
+
+restore namespacing of pyexpat symbols (closes #19186)
+
+
+See http://bugs.python.org/issue19186#msg214069
+
+The recommendation to include Modules/inc at first broke the Linux build...
+
+So do it this way, as it was before. Needs some realignment later.
+
+--- python3/Modules/expat/expat_external.h
++++ python3/Modules/expat/expat_external.h
+@@ -7,10 +7,6 @@
+
+ /* External API definitions */
+
+-/* Namespace external symbols to allow multiple libexpat version to
+- co-exist. */
+-#include "pyexpatns.h"
+-
+ #if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)
+ #define XML_USE_MSC_EXTENSIONS 1
+ #endif
diff --git a/external/python33/python-3.3.5-vs2013.patch.1 b/external/python33/python-3.3.5-vs2013.patch.1
new file mode 100644
index 000000000000..5540ea13fd71
--- /dev/null
+++ b/external/python33/python-3.3.5-vs2013.patch.1
@@ -0,0 +1,14 @@
+-*- Mode:Diff -*-
+--- python3/PC/pyconfig.h
++++ python3/PC/pyconfig.h
+@@ -602,6 +602,10 @@
+ /* Define if you have readlink. */
+ /* #undef HAVE_READLINK */
+
++#if defined(_MSC_VER) && _MSC_VER >= 1800
++#define HAVE_ROUND
++#endif
++
+ /* Define if you have select. */
+ /* #undef HAVE_SELECT */
+
diff --git a/external/python33/python-lsan.patch.0 b/external/python33/python-lsan.patch.0
new file mode 100644
index 000000000000..3796904bed4e
--- /dev/null
+++ b/external/python33/python-lsan.patch.0
@@ -0,0 +1,19 @@
+--- configure
++++ configure
+@@ -11821,6 +11821,7 @@
+ break;
+ }
+ }
++ freeaddrinfo(aitop);
+ }
+
+ if (!(inet4 == 0 || inet4 == 2))
+@@ -11828,8 +11829,6 @@
+ if (!(inet6 == 0 || inet6 == 2))
+ goto bad;
+
+- if (aitop)
+- freeaddrinfo(aitop);
+ return 0;
+
+ bad:
diff --git a/external/python33/python-msvc-disable-sse2.patch.1 b/external/python33/python-msvc-disable-sse2.patch.1
new file mode 100644
index 000000000000..399aa6016dfc
--- /dev/null
+++ b/external/python33/python-msvc-disable-sse2.patch.1
@@ -0,0 +1,23 @@
+fdo#82430 disable SSE2 default of MSVC2012
+
+--- python3/PCbuild/release.props.old 2014-10-01 23:47:33.348095403 +0200
++++ python3/PCbuild/release.props 2014-10-01 23:48:05.051092945 +0200
+@@ -9,6 +9,7 @@
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+--- python3/PCbuild/make_buildinfo.c.orig 2014-11-03 00:48:58.841000000 +0100
++++ python3/PCbuild/make_buildinfo.c 2014-11-03 00:49:16.266200000 +0100
+@@ -109,7 +109,7 @@
+
+ int main(int argc, char*argv[])
+ {
+- char command[CMD_SIZE] = "cl.exe -c -D_WIN32 -DUSE_DL_EXPORT -D_WINDOWS -DWIN32 -D_WINDLL ";
++ char command[CMD_SIZE] = "cl.exe -arch:SSE -c -D_WIN32 -DUSE_DL_EXPORT -D_WINDOWS -DWIN32 -D_WINDLL ";
+ char tmppath[CMD_SIZE] = "";
+ int do_unlink, result;
+ char *tmpdir = NULL;
diff --git a/external/python33/python-vc2013.patch.1 b/external/python33/python-vc2013.patch.1
new file mode 100644
index 000000000000..c7eb30759d1f
--- /dev/null
+++ b/external/python33/python-vc2013.patch.1
@@ -0,0 +1,1213 @@
+-*- Mode:Diff -*-
+--- python3/PCbuild/_ctypes.vcxproj
++++ python3/PCbuild/_ctypes.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_ctypes_test.vcxproj
++++ python3/PCbuild/_ctypes_test.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_decimal.vcxproj
++++ python3/PCbuild/_decimal.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_elementtree.vcxproj
++++ python3/PCbuild/_elementtree.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_freeze_importlib.vcxproj
++++ python3/PCbuild/_freeze_importlib.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -28,23 +28,27 @@
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_msi.vcxproj
++++ python3/PCbuild/_msi.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_multiprocessing.vcxproj
++++ python3/PCbuild/_multiprocessing.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_socket.vcxproj
++++ python3/PCbuild/_socket.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_ssl.vcxproj
++++ python3/PCbuild/_ssl.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_testbuffer.vcxproj
++++ python3/PCbuild/_testbuffer.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/_testcapi.vcxproj
++++ python3/PCbuild/_testcapi.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/kill_python.vcxproj
++++ python3/PCbuild/kill_python.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -28,19 +28,23 @@
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/make_buildinfo.vcxproj
++++ python3/PCbuild/make_buildinfo.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+@@ -19,10 +19,12 @@
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/make_versioninfo.vcxproj
++++ python3/PCbuild/make_versioninfo.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -27,17 +27,21 @@
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/pyexpat.vcxproj
++++ python3/PCbuild/pyexpat.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/pylauncher.vcxproj
++++ python3/PCbuild/pylauncher.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -43,47 +43,55 @@
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+@@ -308,4 +316,4 @@
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+-</Project>
++</Project>
+\ No newline at end of file
+--- python3/PCbuild/python.vcxproj
++++ python3/PCbuild/python.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -42,41 +42,49 @@
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/pythoncore.vcxproj
++++ python3/PCbuild/pythoncore.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -42,35 +42,43 @@
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/pywlauncher.vcxproj
++++ python3/PCbuild/pywlauncher.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -43,29 +43,41 @@
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
+ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
++ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/select.vcxproj
++++ python3/PCbuild/select.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/unicodedata.vcxproj
++++ python3/PCbuild/unicodedata.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/w9xpopen.vcxproj
++++ python3/PCbuild/w9xpopen.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+--- python3/PCbuild/winsound.vcxproj
++++ python3/PCbuild/winsound.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -44,39 +44,47 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+--- python3/PCbuild/xxlimited.vcxproj
++++ python3/PCbuild/xxlimited.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="PGInstrument|Win32">
+ <Configuration>PGInstrument</Configuration>
+@@ -36,31 +36,37 @@
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
diff --git a/external/python33/ubsan.patch.0 b/external/python33/ubsan.patch.0
new file mode 100644
index 000000000000..e3798174baa0
--- /dev/null
+++ b/external/python33/ubsan.patch.0
@@ -0,0 +1,79 @@
+--- Modules/_ctypes/libffi/src/x86/ffi64.c
++++ Modules/_ctypes/libffi/src/x86/ffi64.c
+@@ -545,11 +545,15 @@
+ tramp = (volatile unsigned short *) &closure->tramp[0];
+
+ tramp[0] = 0xbb49; /* mov <code>, %r11 */
+- *((unsigned long long * volatile) &tramp[1])
+- = (unsigned long) ffi_closure_unix64;
++ tramp[1] = (unsigned long) ffi_closure_unix64;
++ tramp[2] = ((unsigned long) ffi_closure_unix64) >> 16;
++ tramp[3] = ((unsigned long) ffi_closure_unix64) >> 32;
++ tramp[4] = ((unsigned long) ffi_closure_unix64) >> 48;
+ tramp[5] = 0xba49; /* mov <data>, %r10 */
+- *((unsigned long long * volatile) &tramp[6])
+- = (unsigned long) codeloc;
++ tramp[6] = (unsigned long) codeloc;
++ tramp[7] = ((unsigned long) codeloc) >> 16;
++ tramp[8] = ((unsigned long) codeloc) >> 32;
++ tramp[9] = ((unsigned long) codeloc) >> 48;
+
+ /* Set the carry bit iff the function uses any sse registers.
+ This is clc or stc, together with the first byte of the jmp. */
+--- Objects/bytearrayobject.c
++++ Objects/bytearrayobject.c
+@@ -294,7 +294,7 @@
+ PyBuffer_Release(&vo);
+ return NULL;
+ }
+- memcpy(self->ob_bytes + mysize, vo.buf, vo.len);
++ if (vo.len != 0) memcpy(self->ob_bytes + mysize, vo.buf, vo.len);
+ PyBuffer_Release(&vo);
+ Py_INCREF(self);
+ return (PyObject *)self;
+--- Objects/listobject.c
++++ Objects/listobject.c
+@@ -641,7 +641,7 @@
+ goto Error;
+ }
+ }
+- memcpy(recycle, &item[ilow], s);
++ if (s != 0) memcpy(recycle, &item[ilow], s);
+
+ if (d < 0) { /* Delete -d items */
+ memmove(&item[ihigh+d], &item[ihigh],
+@@ -2036,7 +2036,7 @@
+ if (keys != NULL) {
+ for (i = 0; i < saved_ob_size; i++)
+ Py_DECREF(keys[i]);
+- if (keys != &ms.temparray[saved_ob_size+1])
++ if (keys != ((char *) ms.temparray) + (saved_ob_size+1) * sizeof (PyObject *))
+ PyMem_FREE(keys);
+ }
+
+--- Objects/longobject.c
++++ Objects/longobject.c
+@@ -36,7 +36,7 @@
+ static PyObject *
+ get_small_int(sdigit ival)
+ {
+- PyObject *v = (PyObject*)(small_ints + ival + NSMALLNEGINTS);
++ PyObject *v = (PyObject*)(small_ints + (ival + NSMALLNEGINTS));
+ Py_INCREF(v);
+ #ifdef COUNT_ALLOCS
+ if (ival >= 0)
+--- Modules/_ctypes/_ctypes.c
++++ Modules/_ctypes/_ctypes.c
+@@ -1328,8 +1328,10 @@
+ if (stgdict->shape == NULL)
+ goto error;
+ stgdict->shape[0] = length;
+- memmove(&stgdict->shape[1], itemdict->shape,
+- sizeof(Py_ssize_t) * (stgdict->ndim - 1));
++ if (itemdict->shape) {
++ memmove(&stgdict->shape[1], itemdict->shape,
++ sizeof(Py_ssize_t) * (stgdict->ndim - 1));
++ }
+
+ itemsize = itemdict->size;
+ if (length * itemsize < 0) {