]> granicus.if.org Git - python/commitdiff
bpo-37351: Removes libpython38.a from standard Windows distribution (#14276)
authorSteve Dower <steve.dower@python.org>
Fri, 21 Jun 2019 21:28:46 +0000 (14:28 -0700)
committerGitHub <noreply@github.com>
Fri, 21 Jun 2019 21:28:46 +0000 (14:28 -0700)
Doc/whatsnew/3.8.rst
Misc/NEWS.d/next/Windows/2019-06-20-12-50-32.bpo-37351.asTnVW.rst [new file with mode: 0644]
Tools/msi/README.txt
Tools/msi/dev/dev.wixproj
Tools/msi/dev/dev.wxs
Tools/msi/dev/dev_files.wxs

index d3db94590dcc9071b99b88ad7262cc313b66ed29..1081ef21df139b129998a42bea7aa9702e938c75 100644 (file)
@@ -1461,6 +1461,25 @@ Changes in the C API
 * The functions :c:func:`PyNode_AddChild` and :c:func:`PyParser_AddToken` now accept
   two additional ``int`` arguments *end_lineno* and *end_col_offset*.
 
+.. highlight:: shell
+
+* The :file:`libpython38.a` file to allow MinGW tools to link directly against
+  :file:`python38.dll` is no longer included in the regular Windows distribution.
+  If you require this file, it may be generated with the ``gendef`` and
+  ``dlltool`` tools, which are part of the MinGW binutils package::
+
+      gendef python38.dll > tmp.def
+      dlltool --dllname python38.dll --def tmp.def --output-lib libpython38.a
+
+  The location of an installed :file:`pythonXY.dll` will depend on the
+  installation options and the version and language of Windows. See
+  :ref:`using-on-windows` for more information. The resulting library should be
+  placed in the same directory as :file:`pythonXY.lib`, which is generally the
+  :file:`libs` directory under your Python installation.
+
+.. highlight:: python3
+
+
 CPython bytecode changes
 ------------------------
 
diff --git a/Misc/NEWS.d/next/Windows/2019-06-20-12-50-32.bpo-37351.asTnVW.rst b/Misc/NEWS.d/next/Windows/2019-06-20-12-50-32.bpo-37351.asTnVW.rst
new file mode 100644 (file)
index 0000000..df2efd4
--- /dev/null
@@ -0,0 +1 @@
+Removes libpython38.a from standard Windows distribution.
index 07ea9f744bd0bb626989bfc86ac05dbd6464dc68..f5656b971b3cecf6ce2fcf573be33e7f18997b6b 100644 (file)
@@ -159,9 +159,7 @@ The following properties may be passed when building these projects.
 
   /p:BuildForRelease=(true|false)
     When true, adds extra verification to ensure a complete installer is
-    produced. For example, binutils is required when building for a release
-    to generate MinGW-compatible libraries, and the build will be aborted if
-    this fails. Defaults to false.
+    produced. Defaults to false.
 
   /p:ReleaseUri=(any URI)
     Used to generate unique IDs for the installers to allow side-by-side
index c6e3bcf709c6c4a9e766d81dccec066339aec5f3..4052e4b5368273a22b459491afcf4089f6811c00 100644 (file)
@@ -7,12 +7,6 @@
         <OutputType>Package</OutputType>
     </PropertyGroup>
     <Import Project="..\msi.props" />
-    <PropertyGroup>
-        <DefineConstants Condition="$(BuildForRelease) and $(SuppressMinGWLib) == ''">
-            $(DefineConstants);
-            IncludeMinGWLib=1;
-        </DefineConstants>
-    </PropertyGroup>
     <ItemGroup>
         <Compile Include="dev.wxs" />
         <Compile Include="dev_files.wxs" />
         </InstallFiles>
     </ItemGroup>
 
-    <Target Name="BuildMinGWLib"
-            Inputs="$(BuildPath)$(PyDllName).dll"
-            Outputs="$(BuildPath)lib$(PyDllName).a"
-            AfterTargets="PrepareForBuild"
-            Condition="$(BuildForRelease) and $(SuppressMinGWLib) == ''">
-        <!-- Build libpython##.a as part of this project. This requires gendef and dlltool on the path. -->
-        <PropertyGroup>
-            <_DllToolOpts>-m i386 --as-flags=--32</_DllToolOpts>
-            <_DllToolOpts Condition="$(Platform) == 'x64'">-m i386:x86-64</_DllToolOpts>
-        </PropertyGroup>
-
-        <Exec Command='gendef - "$(BuildPath)$(PyDllName).dll" &gt; "$(IntermediateOutputPath)mingwlib.def"' ContinueOnError="false" />
-        <Exec Command='dlltool --dllname $(PyDllName).dll --def "$(IntermediateOutputPath)mingwlib.def" --output-lib "$(BuildPath)lib$(PyDllName).a" $(_DllToolOpts)' />
-    </Target>
-
     <Import Project="..\msi.targets" />
 </Project>
index a09e139c428bf1478f893189dc37d78c44aebce6..23a710df87d55ce24b9ae918e132b70a4ada8b37 100644 (file)
@@ -10,9 +10,6 @@
             <ComponentGroupRef Id="dev_include" />
             <ComponentGroupRef Id="dev_pyconfig" />
             <ComponentGroupRef Id="dev_libs" />
-<?ifdef IncludeMinGWLib ?>
-            <ComponentGroupRef Id="dev_mingw" />
-<?endif ?>
             <ComponentRef Id="OptionalFeature" />
         </Feature>
     </Product>
index 9654d2e3e600f03899e898c33a2a2cc6d59ee44b..21f9c848cc6be585a9fda3f88429facaf06c161a 100644 (file)
             </Component>
         </ComponentGroup>
     </Fragment>
-    
-    <?ifdef IncludeMinGWLib ?>
-    <Fragment>
-        <ComponentGroup Id="dev_mingw">
-            <Component Id="libs_libpython.a" Directory="libs" Guid="*">
-                <File Id="libs_libpython.a" Name="libpython$(var.MajorVersionNumber)$(var.MinorVersionNumber).a" KeyPath="yes" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-    <?endif ?>
 </Wix>