[Python-Dev] [Python-checkins] cpython: Fix #14470. Remove w9xpopen per PEP 11.

Andrew Svetlov andrew.svetlov at gmail.com
Mon Dec 24 09:36:52 CET 2012


You missed artifacts in ./PC/VC6 ./PC/VS7.1 ./PC/VS8.0 ./PC/VS9.0

On Mon, Dec 24, 2012 at 12:55 AM, brian.curtin
<python-checkins at python.org> wrote:
> http://hg.python.org/cpython/rev/c903e4f1121d
> changeset:   81005:c903e4f1121d
> parent:      81003:e3d0417d8266
> user:        Brian Curtin <brian at python.org>
> date:        Sun Dec 23 16:53:21 2012 -0600
> summary:
>   Fix #14470. Remove w9xpopen per PEP 11.
>
> As stated in PEP 11, 3.4 removes code on Windows platforms where
> COMSPEC points to command.com. The w9xpopen project in Visual Studio
> was added to support that case, and there was a special case in subprocess
> to cover that situation. This change removes the w9xpopen project from
> the Visual Studio solution and removes any references to the w9xpopen
> executable.
>
> files:
>   Lib/subprocess.py                |   32 --
>   PC/w9xpopen.c                    |  112 -------
>   PCbuild/pcbuild.sln              |    2 -
>   PCbuild/python.vcxproj           |    6 +-
>   PCbuild/w9xpopen.vcxproj         |  287 -------------------
>   PCbuild/w9xpopen.vcxproj.filters |   13 -
>   Tools/msi/msi.py                 |    2 -
>   7 files changed, 1 insertions(+), 453 deletions(-)
>
>
> diff --git a/Lib/subprocess.py b/Lib/subprocess.py
> --- a/Lib/subprocess.py
> +++ b/Lib/subprocess.py
> @@ -1029,23 +1029,6 @@
>              return Handle(h)
>
>
> -        def _find_w9xpopen(self):
> -            """Find and return absolut path to w9xpopen.exe"""
> -            w9xpopen = os.path.join(
> -                            os.path.dirname(_winapi.GetModuleFileName(0)),
> -                                    "w9xpopen.exe")
> -            if not os.path.exists(w9xpopen):
> -                # Eeek - file-not-found - possibly an embedding
> -                # situation - see if we can locate it in sys.exec_prefix
> -                w9xpopen = os.path.join(os.path.dirname(sys.base_exec_prefix),
> -                                        "w9xpopen.exe")
> -                if not os.path.exists(w9xpopen):
> -                    raise SubprocessError(
> -                            "Cannot locate w9xpopen.exe, which is needed for "
> -                            "Popen to work with your shell or platform.")
> -            return w9xpopen
> -
> -
>          def _execute_child(self, args, executable, preexec_fn, close_fds,
>                             pass_fds, cwd, env,
>                             startupinfo, creationflags, shell,
> @@ -1074,21 +1057,6 @@
>                  startupinfo.wShowWindow = _winapi.SW_HIDE
>                  comspec = os.environ.get("COMSPEC", "cmd.exe")
>                  args = '{} /c "{}"'.format (comspec, args)
> -                if (_winapi.GetVersion() >= 0x80000000 or
> -                        os.path.basename(comspec).lower() == "command.com"):
> -                    # Win9x, or using command.com on NT. We need to
> -                    # use the w9xpopen intermediate program. For more
> -                    # information, see KB Q150956
> -                    # (http://web.archive.org/web/20011105084002/http://support.microsoft.com/support/kb/articles/Q150/9/56.asp)
> -                    w9xpopen = self._find_w9xpopen()
> -                    args = '"%s" %s' % (w9xpopen, args)
> -                    # Not passing CREATE_NEW_CONSOLE has been known to
> -                    # cause random failures on win9x.  Specifically a
> -                    # dialog: "Your program accessed mem currently in
> -                    # use at xxx" and a hopeful warning about the
> -                    # stability of your system.  Cost is Ctrl+C won't
> -                    # kill children.
> -                    creationflags |= _winapi.CREATE_NEW_CONSOLE
>
>              # Start the process
>              try:
> diff --git a/PC/w9xpopen.c b/PC/w9xpopen.c
> deleted file mode 100644
> --- a/PC/w9xpopen.c
> +++ /dev/null
> @@ -1,112 +0,0 @@
> -/*
> - * w9xpopen.c
> - *
> - * Serves as an intermediate stub Win32 console application to
> - * avoid a hanging pipe when redirecting 16-bit console based
> - * programs (including MS-DOS console based programs and batch
> - * files) on Window 95 and Windows 98.
> - *
> - * This program is to be launched with redirected standard
> - * handles. It will launch the command line specified 16-bit
> - * console based application in the same console, forwarding
> - * its own redirected standard handles to the 16-bit child.
> -
> - * AKA solution to the problem described in KB: Q150956.
> - */
> -
> -#define WIN32_LEAN_AND_MEAN
> -#include <windows.h>
> -#include <stdio.h>
> -#include <stdlib.h>  /* for malloc and its friends */
> -
> -const char *usage =
> -"This program is used by Python's os.popen function\n"
> -"to work around a limitation in Windows 95/98.  It is\n"
> -"not designed to be used as a stand-alone program.";
> -
> -int main(int argc, char *argv[])
> -{
> -    BOOL bRet;
> -    STARTUPINFO si;
> -    PROCESS_INFORMATION pi;
> -    DWORD exit_code=0;
> -    size_t cmdlen = 0;
> -    int i;
> -    char *cmdline, *cmdlinefill;
> -
> -    if (argc < 2) {
> -        if (GetFileType(GetStdHandle(STD_INPUT_HANDLE))==FILE_TYPE_CHAR)
> -            /* Attached to a console, and therefore not executed by Python
> -               Display a message box for the inquisitive user
> -            */
> -            MessageBox(NULL, usage, argv[0], MB_OK);
> -        else {
> -            /* Eeek - executed by Python, but args are screwed!
> -               Write an error message to stdout so there is at
> -               least some clue for the end user when it appears
> -               in their output.
> -               A message box would be hidden and blocks the app.
> -             */
> -            fprintf(stdout, "Internal popen error - no args specified\n%s\n", usage);
> -        }
> -        return 1;
> -    }
> -    /* Build up the command-line from the args.
> -       Args with a space are quoted, existing quotes are escaped.
> -       To keep things simple calculating the buffer size, we assume
> -       every character is a quote - ie, we allocate double what we need
> -       in the worst case.  As this is only double the command line passed
> -       to us, there is a good chance this is reasonably small, so the total
> -       allocation will almost always be < 512 bytes.
> -    */
> -    for (i=1;i<argc;i++)
> -        cmdlen += strlen(argv[i])*2 + 3; /* one space, maybe 2 quotes */
> -    cmdline = cmdlinefill = (char *)malloc(cmdlen+1);
> -    if (cmdline == NULL)
> -        return -1;
> -    for (i=1;i<argc;i++) {
> -        const char *arglook;
> -        int bQuote = strchr(argv[i], ' ') != NULL;
> -        if (bQuote)
> -            *cmdlinefill++ = '"';
> -        /* escape quotes */
> -        for (arglook=argv[i];*arglook;arglook++) {
> -            if (*arglook=='"')
> -                *cmdlinefill++ = '\\';
> -            *cmdlinefill++ = *arglook;
> -        }
> -        if (bQuote)
> -            *cmdlinefill++ = '"';
> -        *cmdlinefill++ = ' ';
> -    }
> -    *cmdlinefill = '\0';
> -
> -    /* Make child process use this app's standard files. */
> -    ZeroMemory(&si, sizeof si);
> -    si.cb = sizeof si;
> -    si.dwFlags = STARTF_USESTDHANDLES;
> -    si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
> -    si.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
> -    si.hStdError = GetStdHandle(STD_ERROR_HANDLE);
> -
> -    bRet = CreateProcess(
> -        NULL, cmdline,
> -        NULL, NULL,
> -        TRUE, 0,
> -        NULL, NULL,
> -        &si, &pi
> -        );
> -
> -    free(cmdline);
> -
> -    if (bRet) {
> -        if (WaitForSingleObject(pi.hProcess, INFINITE) != WAIT_FAILED) {
> -           GetExitCodeProcess(pi.hProcess, &exit_code);
> -       }
> -        CloseHandle(pi.hProcess);
> -        CloseHandle(pi.hThread);
> -        return exit_code;
> -    }
> -
> -    return 1;
> -}
> diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln
> --- a/PCbuild/pcbuild.sln
> +++ b/PCbuild/pcbuild.sln
> @@ -14,8 +14,6 @@
>  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}"
> diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj
> --- a/PCbuild/python.vcxproj
> +++ b/PCbuild/python.vcxproj
> @@ -357,12 +357,8 @@
>        <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
>        <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
>      </ProjectReference>
> -    <ProjectReference Include="w9xpopen.vcxproj">
> -      <Project>{e9e0a1f6-0009-4e8c-b8f8-1b8f5d49a058}</Project>
> -      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
> -    </ProjectReference>
>    </ItemGroup>
>    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
>    <ImportGroup Label="ExtensionTargets">
>    </ImportGroup>
> -</Project>
> \ No newline at end of file
> +</Project>
> diff --git a/PCbuild/w9xpopen.vcxproj b/PCbuild/w9xpopen.vcxproj
> deleted file mode 100644
> --- a/PCbuild/w9xpopen.vcxproj
> +++ /dev/null
> @@ -1,287 +0,0 @@
> -<?xml version="1.0" encoding="utf-8"?>
> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
> -  <ItemGroup Label="ProjectConfigurations">
> -    <ProjectConfiguration Include="Debug|Win32">
> -      <Configuration>Debug</Configuration>
> -      <Platform>Win32</Platform>
> -    </ProjectConfiguration>
> -    <ProjectConfiguration Include="Debug|x64">
> -      <Configuration>Debug</Configuration>
> -      <Platform>x64</Platform>
> -    </ProjectConfiguration>
> -    <ProjectConfiguration Include="PGInstrument|Win32">
> -      <Configuration>PGInstrument</Configuration>
> -      <Platform>Win32</Platform>
> -    </ProjectConfiguration>
> -    <ProjectConfiguration Include="PGInstrument|x64">
> -      <Configuration>PGInstrument</Configuration>
> -      <Platform>x64</Platform>
> -    </ProjectConfiguration>
> -    <ProjectConfiguration Include="PGUpdate|Win32">
> -      <Configuration>PGUpdate</Configuration>
> -      <Platform>Win32</Platform>
> -    </ProjectConfiguration>
> -    <ProjectConfiguration Include="PGUpdate|x64">
> -      <Configuration>PGUpdate</Configuration>
> -      <Platform>x64</Platform>
> -    </ProjectConfiguration>
> -    <ProjectConfiguration Include="Release|Win32">
> -      <Configuration>Release</Configuration>
> -      <Platform>Win32</Platform>
> -    </ProjectConfiguration>
> -    <ProjectConfiguration Include="Release|x64">
> -      <Configuration>Release</Configuration>
> -      <Platform>x64</Platform>
> -    </ProjectConfiguration>
> -  </ItemGroup>
> -  <PropertyGroup Label="Globals">
> -    <ProjectGuid>{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}</ProjectGuid>
> -    <RootNamespace>w9xpopen</RootNamespace>
> -  </PropertyGroup>
> -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>MultiByte</CharacterSet>
> -  </PropertyGroup>
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>MultiByte</CharacterSet>
> -  </PropertyGroup>
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>MultiByte</CharacterSet>
> -  </PropertyGroup>
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>NotSet</CharacterSet>
> -  </PropertyGroup>
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>MultiByte</CharacterSet>
> -  </PropertyGroup>
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>MultiByte</CharacterSet>
> -  </PropertyGroup>
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>MultiByte</CharacterSet>
> -  </PropertyGroup>
> -  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
> -    <ConfigurationType>Application</ConfigurationType>
> -    <UseOfMfc>false</UseOfMfc>
> -    <CharacterSet>MultiByte</CharacterSet>
> -  </PropertyGroup>
> -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
> -  <ImportGroup Label="ExtensionSettings">
> -  </ImportGroup>
> -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" 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="release.props" />
> -    <Import Project="pgupdate.props" />
> -  </ImportGroup>
> -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" 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="release.props" />
> -    <Import Project="pginstrument.props" />
> -  </ImportGroup>
> -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" 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="release.props" />
> -  </ImportGroup>
> -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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="debug.props" />
> -  </ImportGroup>
> -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|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" />
> -    <Import Project="pgupdate.props" />
> -  </ImportGroup>
> -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|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" />
> -    <Import Project="pginstrument.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>
> -  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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="debug.props" />
> -  </ImportGroup>
> -  <PropertyGroup Label="UserMacros" />
> -  <PropertyGroup>
> -    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
> -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
> -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
> -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
> -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
> -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
> -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
> -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
> -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
> -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
> -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
> -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
> -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
> -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
> -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
> -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
> -    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
> -    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
> -    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
> -    <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)'=='Debug|Win32'">
> -    <ClCompile>
> -      <Optimization>Disabled</Optimization>
> -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
> -      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
> -    </ClCompile>
> -    <Link>
> -      <SubSystem>Console</SubSystem>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
> -    <Midl>
> -      <TargetEnvironment>X64</TargetEnvironment>
> -    </Midl>
> -    <ClCompile>
> -      <Optimization>Disabled</Optimization>
> -      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
> -      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
> -    </ClCompile>
> -    <Link>
> -      <SubSystem>Console</SubSystem>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
> -    <ClCompile>
> -      <Optimization>MaxSpeed</Optimization>
> -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
> -      <StringPooling>true</StringPooling>
> -      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
> -      <FunctionLevelLinking>true</FunctionLevelLinking>
> -    </ClCompile>
> -    <Link>
> -      <GenerateDebugInformation>false</GenerateDebugInformation>
> -      <SubSystem>Console</SubSystem>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
> -    <Midl>
> -      <TargetEnvironment>X64</TargetEnvironment>
> -    </Midl>
> -    <ClCompile>
> -      <Optimization>MaxSpeed</Optimization>
> -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
> -      <StringPooling>true</StringPooling>
> -      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
> -      <FunctionLevelLinking>true</FunctionLevelLinking>
> -    </ClCompile>
> -    <Link>
> -      <GenerateDebugInformation>false</GenerateDebugInformation>
> -      <SubSystem>Console</SubSystem>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
> -    <ClCompile>
> -      <Optimization>MaxSpeed</Optimization>
> -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
> -      <StringPooling>true</StringPooling>
> -      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
> -      <FunctionLevelLinking>true</FunctionLevelLinking>
> -    </ClCompile>
> -    <Link>
> -      <GenerateDebugInformation>false</GenerateDebugInformation>
> -      <SubSystem>Console</SubSystem>
> -      <ImportLibrary>
> -      </ImportLibrary>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
> -    <Midl>
> -      <TargetEnvironment>X64</TargetEnvironment>
> -    </Midl>
> -    <ClCompile>
> -      <Optimization>MaxSpeed</Optimization>
> -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
> -      <StringPooling>true</StringPooling>
> -      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
> -      <FunctionLevelLinking>true</FunctionLevelLinking>
> -    </ClCompile>
> -    <Link>
> -      <GenerateDebugInformation>false</GenerateDebugInformation>
> -      <SubSystem>Console</SubSystem>
> -      <ImportLibrary>
> -      </ImportLibrary>
> -      <TargetMachine>MachineX64</TargetMachine>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
> -    <ClCompile>
> -      <Optimization>MaxSpeed</Optimization>
> -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
> -      <StringPooling>true</StringPooling>
> -      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
> -      <FunctionLevelLinking>true</FunctionLevelLinking>
> -    </ClCompile>
> -    <Link>
> -      <GenerateDebugInformation>false</GenerateDebugInformation>
> -      <SubSystem>Console</SubSystem>
> -      <ImportLibrary>
> -      </ImportLibrary>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
> -    <Midl>
> -      <TargetEnvironment>X64</TargetEnvironment>
> -    </Midl>
> -    <ClCompile>
> -      <Optimization>MaxSpeed</Optimization>
> -      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
> -      <StringPooling>true</StringPooling>
> -      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
> -      <FunctionLevelLinking>true</FunctionLevelLinking>
> -    </ClCompile>
> -    <Link>
> -      <GenerateDebugInformation>false</GenerateDebugInformation>
> -      <SubSystem>Console</SubSystem>
> -      <ImportLibrary>
> -      </ImportLibrary>
> -      <TargetMachine>MachineX64</TargetMachine>
> -    </Link>
> -  </ItemDefinitionGroup>
> -  <ItemGroup>
> -    <ClCompile Include="..\PC\w9xpopen.c" />
> -  </ItemGroup>
> -  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
> -  <ImportGroup Label="ExtensionTargets">
> -  </ImportGroup>
> -</Project>
> \ No newline at end of file
> diff --git a/PCbuild/w9xpopen.vcxproj.filters b/PCbuild/w9xpopen.vcxproj.filters
> deleted file mode 100644
> --- a/PCbuild/w9xpopen.vcxproj.filters
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -<?xml version="1.0" encoding="utf-8"?>
> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
> -  <ItemGroup>
> -    <Filter Include="Source Files">
> -      <UniqueIdentifier>{abc2dffd-3f2a-47bd-b89b-0314c99ef21e}</UniqueIdentifier>
> -    </Filter>
> -  </ItemGroup>
> -  <ItemGroup>
> -    <ClCompile Include="..\PC\w9xpopen.c">
> -      <Filter>Source Files</Filter>
> -    </ClCompile>
> -  </ItemGroup>
> -</Project>
> \ No newline at end of file
> diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
> --- a/Tools/msi/msi.py
> +++ b/Tools/msi/msi.py
> @@ -956,8 +956,6 @@
>      # Add all executables, icons, text files into the TARGETDIR component
>      root = PyDirectory(db, cab, None, srcdir, "TARGETDIR", "SourceDir")
>      default_feature.set_current()
> -    if not msilib.Win64:
> -        root.add_file("%s/w9xpopen.exe" % PCBUILD)
>      root.add_file("README.txt", src="README")
>      root.add_file("NEWS.txt", src="Misc/NEWS")
>      generate_license()
>
> --
> Repository URL: http://hg.python.org/cpython
>
> _______________________________________________
> Python-checkins mailing list
> Python-checkins at python.org
> http://mail.python.org/mailman/listinfo/python-checkins
>



-- 
Thanks,
Andrew Svetlov


More information about the Python-Dev mailing list