Skip to content

Commit

Permalink
bpo-41070: Simplify pyshellext.dll build (GH-21037)
Browse files Browse the repository at this point in the history
Replace MIDL-generated file with manual GUID definition.
Use the same .def file for release and debug builds.
Update setup build to support latest toolset
  • Loading branch information
nnemkin committed Jun 23, 2020
1 parent 90ed8a6 commit bbf36e8
Show file tree
Hide file tree
Showing 7 changed files with 10 additions and 36 deletions.
10 changes: 4 additions & 6 deletions PC/pyshellext.cpp
Expand Up @@ -12,15 +12,14 @@
#include <olectl.h>
#include <strsafe.h>

#include "pyshellext_h.h"

#define DDWM_UPDATEWINDOW (WM_USER+3)

static HINSTANCE hModule;
static CLIPFORMAT cfDropDescription;
static CLIPFORMAT cfDragWindow;

static const LPCWSTR CLASS_SUBKEY = L"Software\\Classes\\CLSID\\{BEA218D2-6950-497B-9434-61683EC065FE}";
#define CLASS_GUID "{BEA218D2-6950-497B-9434-61683EC065FE}"
static const LPCWSTR CLASS_SUBKEY = L"Software\\Classes\\CLSID\\" CLASS_GUID;
static const LPCWSTR DRAG_MESSAGE = L"Open with %1";

using namespace Microsoft::WRL;
Expand Down Expand Up @@ -121,8 +120,7 @@ HRESULT FilenameListCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, LPCWSTR psz
return hr;
}


class PyShellExt : public RuntimeClass<
class DECLSPEC_UUID(CLASS_GUID) PyShellExt : public RuntimeClass<
RuntimeClassFlags<ClassicCom>,
IDropTarget,
IPersistFile
Expand Down Expand Up @@ -483,7 +481,7 @@ class PyShellExt : public RuntimeClass<
}

STDMETHODIMP GetClassID(CLSID *pClassID) {
*pClassID = CLSID_PyShellExt;
*pClassID = __uuidof(PyShellExt);
return S_OK;
}
};
Expand Down
1 change: 0 additions & 1 deletion PC/pyshellext.def
@@ -1,4 +1,3 @@
LIBRARY "pyshellext"
EXPORTS
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
Expand Down
12 changes: 0 additions & 12 deletions PC/pyshellext.idl

This file was deleted.

6 changes: 0 additions & 6 deletions PC/pyshellext_d.def

This file was deleted.

4 changes: 1 addition & 3 deletions PCbuild/pyshellext.vcxproj
Expand Up @@ -96,19 +96,17 @@
<Link>
<AdditionalDependencies>version.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Console</SubSystem>
<ModuleDefinitionFile>..\PC\pyshellext$(PyDebugExt).def</ModuleDefinitionFile>
<ModuleDefinitionFile>..\PC\pyshellext.def</ModuleDefinitionFile>
</Link>
<Midl>
<CompileInterface>true</CompileInterface>
</Midl>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\PC\pyshellext.cpp" />
<Midl Include="..\PC\pyshellext.idl" />
</ItemGroup>
<ItemGroup>
<None Include="..\PC\pyshellext.def" />
<None Include="..\PC\pyshellext_d.def" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\PC\pyshellext.rc" />
Expand Down
8 changes: 0 additions & 8 deletions PCbuild/pyshellext.vcxproj.filters
Expand Up @@ -15,11 +15,6 @@
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Midl Include="..\PC\pyshellext.idl">
<Filter>Source Files</Filter>
</Midl>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\PC\pyshellext.rc">
<Filter>Resource Files</Filter>
Expand All @@ -29,8 +24,5 @@
<None Include="..\PC\pyshellext.def">
<Filter>Source Files</Filter>
</None>
<None Include="..\PC\pyshellext_d.def">
<Filter>Source Files</Filter>
</None>
</ItemGroup>
</Project>
5 changes: 5 additions & 0 deletions Tools/msi/bundle/bootstrap/pythonba.vcxproj
Expand Up @@ -21,6 +21,9 @@
<PropertyGroup Label="Globals">
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
<Platform Condition="'$(Platform)' == ''">Win32</Platform>
<PlatformToolset Condition="'$(PlatformToolset)' == '' and ('$(MSBuildToolsVersion)' == '16.0' or '$(VisualStudioVersion)' == '16.0')">v142</PlatformToolset>
<PlatformToolset Condition="'$(PlatformToolset)' == '' and ('$(MSBuildToolsVersion)' == '15.0' or '$(VisualStudioVersion)' == '15.0')">v141</PlatformToolset>
<PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath14)' != ''">v140</PlatformToolset>
<PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath14)' != ''">v140</PlatformToolset>
<PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath12)' != ''">v120</PlatformToolset>
<ProjectGuid>{7A09B132-B3EE-499B-A700-A4B2157FEA3D}</ProjectGuid>
Expand All @@ -47,6 +50,8 @@
</ClCompile>
<Link>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;shlwapi.lib;wininet.lib;dutil.lib;balutil.lib;version.lib;uxtheme.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="'$(PlatformToolset)' == 'v142'">$(WixInstallPath)sdk\vs2017\lib\x86</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(PlatformToolset)' == 'v141'">$(WixInstallPath)sdk\vs2017\lib\x86</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(PlatformToolset)' == 'v140'">$(WixInstallPath)sdk\vs2015\lib\x86</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(PlatformToolset)' == 'v120'">$(WixInstallPath)sdk\vs2013\lib\x86</AdditionalLibraryDirectories>
<ModuleDefinitionFile>pythonba.def</ModuleDefinitionFile>
Expand Down

0 comments on commit bbf36e8

Please sign in to comment.