Skip to content

Commit 0b71ce2

Browse files
committed
Add mpdecimal.h selection shim
1 parent 7fc2f57 commit 0b71ce2

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

Modules/_decimal/windows/mpdecimal.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* Windows mpdecimal.h shim
2+
*
3+
* Generally, the mpdecimal library build will copy the correct header into
4+
* place named "mpdecimal.h", but since we're building it ourselves directly
5+
* into _decimal.pyd, we need to pick the right one.
6+
*
7+
* */
8+
9+
#if defined(_MSC_VER)
10+
#if defined(CONFIG_64)
11+
#include <mpdecimal64vc.h>
12+
#elif defined(CONFIG_32)
13+
#include <mpdecimal32vc.h>
14+
#else
15+
#error "Unknown configuration!"
16+
#endif
17+
#endif

PCbuild/_decimal.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
<PreprocessorDefinitions Condition="'$(Platform)'=='ARM'">CONFIG_32;ANSI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
9999
<PreprocessorDefinitions Condition="'$(Platform)'=='ARM64'">CONFIG_64;ANSI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
100100
<PreprocessorDefinitions Condition="'$(Platform)' == 'x64'">CONFIG_64;MASM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
101-
<AdditionalIncludeDirectories>..\Modules\_decimal;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
101+
<AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\windows;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
102102
</ClCompile>
103103
</ItemDefinitionGroup>
104104
<ItemGroup>
@@ -111,7 +111,11 @@
111111
<ClInclude Include="..\Modules\_decimal\docstrings.h" />
112112
<ClInclude Include="$(mpdecimalDir)\libmpdec\fnt.h" />
113113
<ClInclude Include="$(mpdecimalDir)\libmpdec\fourstep.h" />
114-
<ClInclude Include="$(mpdecimalDir)\libmpdec\mpdecimal.h" />
114+
<ClInclude Include="..\Modules\_decimal\windows\mpdecimal.h" />
115+
<ClInclude Condition="'$(Platform)' == 'Win32'" Include="$(mpdecimalDir)\libmpdec\mpdecimal32vc.h" />
116+
<ClInclude Condition="'$(Platform)' == 'ARM'" Include="$(mpdecimalDir)\libmpdec\mpdecimal32vc.h" />
117+
<ClInclude Condition="'$(Platform)' == 'ARM64'" Include="$(mpdecimalDir)\libmpdec\mpdecimal64vc.h" />
118+
<ClInclude Condition="'$(Platform)' == 'x64'" Include="$(mpdecimalDir)\libmpdec\mpdecimal64vc.h" />
115119
<ClInclude Include="$(mpdecimalDir)\libmpdec\numbertheory.h" />
116120
<ClInclude Include="$(mpdecimalDir)\libmpdec\sixstep.h" />
117121
<ClInclude Include="$(mpdecimalDir)\libmpdec\transpose.h" />

PCbuild/_decimal.vcxproj.filters

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,13 @@
4545
<ClInclude Include="$(mpdecimalDir)\libmpdec\fourstep.h">
4646
<Filter>Header Files\libmpdec</Filter>
4747
</ClInclude>
48-
<ClInclude Include="$(mpdecimalDir)\libmpdec\mpdecimal.h">
48+
<ClInclude Include="..\Modules\_decimal\windows\mpdecimal.h">
49+
<Filter>Header Files\libmpdec</Filter>
50+
</ClInclude>
51+
<ClInclude Include="$(mpdecimalDir)\libmpdec\mpdecimal32vc.h">
52+
<Filter>Header Files\libmpdec</Filter>
53+
</ClInclude>
54+
<ClInclude Include="$(mpdecimalDir)\libmpdec\mpdecimal64vc.h">
4955
<Filter>Header Files\libmpdec</Filter>
5056
</ClInclude>
5157
<ClInclude Include="$(mpdecimalDir)\libmpdec\numbertheory.h">

0 commit comments

Comments
 (0)