diff -r cf91a929b81a .gitignore --- a/.gitignore Fri Sep 09 10:36:01 2016 -0700 +++ b/.gitignore Fri Sep 09 10:51:14 2016 -0700 @@ -22,7 +22,6 @@ Lib/lib2to3/*.pickle Lib/test/data/* Lib/_sysconfigdata.py -Lib/plat-mac/errors.rsrc.df.rsrc Makefile Makefile.pre Misc/python.pc diff -r cf91a929b81a .hgignore --- a/.hgignore Fri Sep 09 10:36:01 2016 -0700 +++ b/.hgignore Fri Sep 09 10:51:14 2016 -0700 @@ -26,7 +26,6 @@ python-config.py$ reflog.txt$ tags$ -Lib/plat-mac/errors.rsrc.df.rsrc Misc/python.pc Misc/python-config.sh$ Modules/Setup$ diff -r cf91a929b81a Lib/sysconfig.py --- a/Lib/sysconfig.py Fri Sep 09 10:36:01 2016 -0700 +++ b/Lib/sysconfig.py Fri Sep 09 10:51:14 2016 -0700 @@ -341,6 +341,15 @@ config_dir_name += '-%s' % sys.implementation._multiarch return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile') + +def _get_sysconfigdata_name(): + return '_sysconfigdata_{abi}_{platform}_{multiarch}'.format( + abi=sys.abiflags, + platform=sys.platform, + multiarch=getattr(sys.implementation, '_multiarch', ''), + ) + + def _generate_posix_vars(): """Generate the Python module containing build-time variables.""" import pprint @@ -381,7 +390,7 @@ # _sysconfigdata module manually and populate it with the build vars. # This is more than sufficient for ensuring the subsequent call to # get_platform() succeeds. - name = '_sysconfigdata_' + sys.abiflags + name = _get_sysconfigdata_name() if 'darwin' in sys.platform: import types module = types.ModuleType(name) @@ -407,7 +416,7 @@ def _init_posix(vars): """Initialize the module as appropriate for POSIX systems.""" # _sysconfigdata is generated at build time, see _generate_posix_vars() - name = '_sysconfigdata_' + sys.abiflags + name = _get_sysconfigdata_name() _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) build_time_vars = _temp.build_time_vars vars.update(build_time_vars) diff -r cf91a929b81a Mac/BuildScript/build-installer.py --- a/Mac/BuildScript/build-installer.py Fri Sep 09 10:36:01 2016 -0700 +++ b/Mac/BuildScript/build-installer.py Fri Sep 09 10:51:14 2016 -0700 @@ -1292,7 +1292,8 @@ import pprint if getVersionMajorMinor() >= (3, 6): - path = os.path.join(path_to_lib, 'plat-darwin', '_sysconfigdata_m.py') + # XXX this is extra-fragile + path = os.path.join(path_to_lib, '_sysconfigdata_m_darwin_darwin.py') else: path = os.path.join(path_to_lib, '_sysconfigdata.py') fp = open(path, 'r') diff -r cf91a929b81a Makefile.pre.in --- a/Makefile.pre.in Fri Sep 09 10:36:01 2016 -0700 +++ b/Makefile.pre.in Fri Sep 09 10:51:14 2016 -0700 @@ -1155,8 +1155,6 @@ (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python3.1) # Install the library -PLATDIR= @PLATDIR@ -MACHDEPS= $(PLATDIR) XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ tkinter/test/test_ttk site-packages test \ @@ -1214,8 +1212,8 @@ multiprocessing multiprocessing/dummy \ unittest unittest/test unittest/test/testmock \ venv venv/scripts venv/scripts/posix \ - curses pydoc_data $(MACHDEPS) -libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + curses pydoc_data +libinstall: build_all $(srcdir)/Modules/xxmodule.c @for i in $(SCRIPTDIR) $(LIBDEST); \ do \ if test ! -d $(DESTDIR)$$i; then \ @@ -1270,10 +1268,10 @@ esac; \ done; \ done - $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS).py \ - $(DESTDIR)$(LIBDEST)/$(PLATDIR); \ + $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py \ + $(DESTDIR)$(LIBDEST); \ echo $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS).py \ - $(LIBDEST)/$(PLATDIR) + $(LIBDEST) $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ @@ -1311,9 +1309,6 @@ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt -$(srcdir)/Lib/$(PLATDIR): - mkdir $(srcdir)/Lib/$(PLATDIR) - python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh # Substitution happens here, as the completely-expanded BINDIR # is not available in configure @@ -1589,9 +1584,6 @@ -rm -rf build platform -rm -rf $(PYTHONFRAMEWORKDIR) -rm -f python-config.py python-config - if [ -n "$(MULTIARCH)" ]; then \ - rm -rf $(srcdir)/Lib/$(PLATDIR); \ - fi # Make things extra clean, before making a distribution: # remove all generated files, even Makefile[.pre] diff -r cf91a929b81a PC/getpathp.c --- a/PC/getpathp.c Fri Sep 09 10:36:01 2016 -0700 +++ b/PC/getpathp.c Fri Sep 09 10:51:14 2016 -0700 @@ -25,8 +25,8 @@ * We attempt to locate the "Python Home" - if the PYTHONHOME env var is set, we believe it. Otherwise, we use the path of our host .EXE's to try and locate our "landmark" (lib\\os.py) and deduce our home. - - If we DO have a Python Home: The relevant sub-directories (Lib, - plat-win, etc) are based on the Python Home + - If we DO have a Python Home: The relevant sub-directories (Lib) are + based on the Python Home - If we DO NOT have a Python Home, the core Python Path is loaded from the registry. This is the main PythonPath key, and both HKLM and HKCU are combined to form the path) @@ -34,7 +34,7 @@ * Iff - we can not locate the Python Home, have not had a PYTHONPATH specified, and can't locate any Registry entries (ie, we have _nothing_ we can assume is a good path), a default path with relative entries is - used (eg. .\Lib;.\plat-win, etc) + used (eg. .\Lib;.\DLLs, etc) If a sys.path file exists adjacent to python.exe, it must contain a diff -r cf91a929b81a Tools/msi/make_zip.py --- a/Tools/msi/make_zip.py Fri Sep 09 10:36:01 2016 -0700 +++ b/Tools/msi/make_zip.py Fri Sep 09 10:51:14 2016 -0700 @@ -67,8 +67,6 @@ if p.is_dir(): if name in EXCLUDE_FROM_LIBRARY: return False - if name.startswith('plat-'): - return False if name == 'test' and p.parts[-2].lower() == 'lib': return False if name in {'test', 'tests'} and p.parts[-3].lower() == 'lib': diff -r cf91a929b81a configure --- a/configure Fri Sep 09 10:36:01 2016 -0700 +++ b/configure Fri Sep 09 10:51:14 2016 -0700 @@ -710,7 +710,6 @@ NO_AS_NEEDED MULTIARCH_CPPFLAGS PLATFORM_TRIPLET -PLATDIR MULTIARCH ac_ct_CXX MAINCC @@ -782,7 +781,6 @@ docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@ -894,7 +892,6 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1147,15 +1144,6 @@ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1293,7 +1281,7 @@ for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1446,7 +1434,6 @@ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -2940,7 +2927,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $interp" >&5 $as_echo "$interp" >&6; } - PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp + PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib '$interp fi # Used to comment out stuff for rebuilding generated files GENERATED_COMMENT='#' @@ -5303,12 +5290,6 @@ elif test x$PLATFORM_TRIPLET != x && test x$MULTIARCH = x; then MULTIARCH=$PLATFORM_TRIPLET fi -if test x$PLATFORM_TRIPLET = x; then - PLATDIR=plat-$MACHDEP -else - PLATDIR=plat-$PLATFORM_TRIPLET -fi - if test x$MULTIARCH != x; then MULTIARCH_CPPFLAGS="-DMULTIARCH=\\\"$MULTIARCH\\\"" diff -r cf91a929b81a configure.ac --- a/configure.ac Fri Sep 09 10:36:01 2016 -0700 +++ b/configure.ac Fri Sep 09 10:51:14 2016 -0700 @@ -78,7 +78,7 @@ AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) fi AC_MSG_RESULT($interp) - PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp + PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib '$interp fi # Used to comment out stuff for rebuilding generated files GENERATED_COMMENT='#' @@ -909,12 +909,6 @@ elif test x$PLATFORM_TRIPLET != x && test x$MULTIARCH = x; then MULTIARCH=$PLATFORM_TRIPLET fi -if test x$PLATFORM_TRIPLET = x; then - PLATDIR=plat-$MACHDEP -else - PLATDIR=plat-$PLATFORM_TRIPLET -fi -AC_SUBST(PLATDIR) AC_SUBST(PLATFORM_TRIPLET) if test x$MULTIARCH != x; then MULTIARCH_CPPFLAGS="-DMULTIARCH=\\\"$MULTIARCH\\\""