Skip to content

Commit ac6995f

Browse files
committed
Add VS2013/15/17 solutions, projects, build scripts, ignores.
1 parent 01ca76c commit ac6995f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+3707
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,5 @@ build-aux/compile
4848
build-aux/test-driver
4949
src/stamp-h1
5050
libsecp256k1.pc
51+
/bin/
52+
/obj/

builds/msvc/.gitignore

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
*.suo
2+
*.opensdf
3+
*.sdf
4+
*.aps
5+
*.user
6+
*.log
7+
*.db
8+
*.db-*
9+
*.opendb

builds/msvc/build/buildall.bat

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
@ECHO OFF
2+
:: Usage: buildall.bat
3+
4+
:: Build all configurations for all solutions.
5+
call buildbase.bat ..\vs2017\secp256k1.sln 15
6+
ECHO.
7+
CALL buildbase.bat ..\vs2015\secp256k1.sln 14
8+
ECHO.
9+
CALL buildbase.bat ..\vs2013\secp256k1.sln 12
10+
ECHO.
11+
12+
PAUSE

builds/msvc/build/buildbase.bat

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
@ECHO OFF
2+
REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12]
3+
4+
SET solution=%1
5+
SET version=%2
6+
SET log=build_%version%.log
7+
SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat
8+
IF %version% == 15 SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
9+
SET environment="%programfiles(x86)%\%tools%"
10+
IF NOT EXIST %environment% SET environment="%programfiles%\%tools%"
11+
IF NOT EXIST %environment% GOTO no_tools
12+
13+
ECHO Building: %solution%
14+
15+
CALL %environment% x86 > nul
16+
ECHO Platform=x86
17+
18+
ECHO Configuration=DynDebug
19+
msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=Win32 %solution% >> %log%
20+
IF errorlevel 1 GOTO error
21+
ECHO Configuration=DynRelease
22+
msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=Win32 %solution% >> %log%
23+
IF errorlevel 1 GOTO error
24+
ECHO Configuration=LtcgDebug
25+
msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=Win32 %solution% >> %log%
26+
IF errorlevel 1 GOTO error
27+
ECHO Configuration=LtcgRelease
28+
msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=Win32 %solution% >> %log%
29+
IF errorlevel 1 GOTO error
30+
ECHO Configuration=StaticDebug
31+
msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log%
32+
IF errorlevel 1 GOTO error
33+
ECHO Configuration=StaticRelease
34+
msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log%
35+
IF errorlevel 1 GOTO error
36+
37+
CALL %environment% x86_amd64 > nul
38+
ECHO Platform=x64
39+
40+
ECHO Configuration=DynDebug
41+
msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=x64 %solution% >> %log%
42+
IF errorlevel 1 GOTO error
43+
ECHO Configuration=DynRelease
44+
msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=x64 %solution% >> %log%
45+
IF errorlevel 1 GOTO error
46+
ECHO Configuration=LtcgDebug
47+
msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=x64 %solution% >> %log%
48+
IF errorlevel 1 GOTO error
49+
ECHO Configuration=LtcgRelease
50+
msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=x64 %solution% >> %log%
51+
IF errorlevel 1 GOTO error
52+
ECHO Configuration=StaticDebug
53+
msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log%
54+
IF errorlevel 1 GOTO error
55+
ECHO Configuration=StaticRelease
56+
msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log%
57+
IF errorlevel 1 GOTO error
58+
59+
ECHO Complete: %solution%
60+
GOTO end
61+
62+
:error
63+
ECHO *** ERROR, build terminated early, see: %log%
64+
GOTO end
65+
66+
:no_tools
67+
ECHO *** ERROR, build tools not found: %tools%
68+
69+
:end
70+
+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
4+
<PropertyGroup Label="Globals">
5+
<_PropertySheetDisplayName>secp256k1 Import Settings</_PropertySheetDisplayName>
6+
</PropertyGroup>
7+
8+
<!-- User Interface -->
9+
10+
<ItemGroup Label="BuildOptionsExtension">
11+
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)secp256k1.import.xml" />
12+
</ItemGroup>
13+
14+
<!-- Linkage -->
15+
16+
<ItemDefinitionGroup>
17+
<ClCompile>
18+
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\..\secp256k1\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
19+
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
20+
</ClCompile>
21+
<Link>
22+
<AdditionalDependencies Condition="'$(Linkage-secp256k1)' != ''">secp256k1.lib;%(AdditionalDependencies)</AdditionalDependencies>
23+
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Debug')) != -1">$(ProjectDir)..\..\..\..\..\secp256k1\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-secp256k1)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
24+
<AdditionalLibraryDirectories Condition="$(Configuration.IndexOf('Release')) != -1">$(ProjectDir)..\..\..\..\..\secp256k1\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-secp256k1)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
25+
</Link>
26+
</ItemDefinitionGroup>
27+
28+
<!-- Copy -->
29+
30+
<Target Name="Linkage-secp256k1-dynamic" AfterTargets="AfterBuild" Condition="'$(Linkage-secp256k1)' == 'dynamic'">
31+
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
32+
SourceFiles="$(ProjectDir)..\..\..\..\..\secp256k1\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\secp256k1.dll"
33+
DestinationFiles="$(TargetDir)secp256k1.dll"
34+
SkipUnchangedFiles="true" />
35+
<Copy Condition="$(Configuration.IndexOf('Debug')) != -1"
36+
SourceFiles="$(ProjectDir)..\..\..\..\..\secp256k1\bin\$(PlatformName)\Debug\$(PlatformToolset)\dynamic\secp256k1.pdb"
37+
DestinationFiles="$(TargetDir)secp256k1.pdb"
38+
SkipUnchangedFiles="true" />
39+
<Copy Condition="$(Configuration.IndexOf('Release')) != -1"
40+
SourceFiles="$(ProjectDir)..\..\..\..\..\secp256k1\bin\$(PlatformName)\Release\$(PlatformToolset)\dynamic\secp256k1.dll"
41+
DestinationFiles="$(TargetDir)secp256k1.dll"
42+
SkipUnchangedFiles="true" />
43+
</Target>
44+
45+
<!-- Messages -->
46+
47+
<Target Name="secp256k1-info" BeforeTargets="AfterBuild" Condition="'$(Linkage-secp256k1)' == 'dynamic'">
48+
<Message Text="Copying secp256k1.dll -&gt; $(TargetDir)secp256k1.dll" Importance="high"/>
49+
<Message Text="Copying secp256k1.pdb -&gt; $(TargetDir)secp256k1.pdb" Importance="high" Condition="$(Configuration.IndexOf('Debug')) != -1" />
50+
</Target>
51+
52+
</Project>
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework">
3+
<Rule Name="secp256k1-linkage-uiextension" PageTemplate="tool" DisplayName="Local Dependencies" SwitchPrefix="/" Order="1">
4+
<Rule.Categories>
5+
<Category Name="secp256k1" DisplayName="secp256k1" />
6+
</Rule.Categories>
7+
<Rule.DataSource>
8+
<DataSource Persistence="ProjectFile" ItemType="" />
9+
</Rule.DataSource>
10+
<EnumProperty Name="Linkage-secp256k1" DisplayName="Linkage" Description="How secp256k1 will be linked into the output of this project" Category="secp256k1">
11+
<EnumValue Name="" DisplayName="Not linked" />
12+
<EnumValue Name="dynamic" DisplayName="Dynamic (DLL)" />
13+
<EnumValue Name="static" DisplayName="Static (LIB)" />
14+
<EnumValue Name="ltcg" DisplayName="Static using link time compile generation (LTCG)" />
15+
</EnumProperty>
16+
</Rule>
17+
</ProjectSchemaDefinitions>

builds/msvc/vs2013/secp256k1.sln

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Express 2013 for Windows Desktop
4+
VisualStudioVersion = 12.0.40629.0
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "secp256k1", "secp256k1\secp256k1.vcxproj", "{148600EA-561B-4C78-A80A-2EB5046D0420}"
7+
EndProject
8+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "secp256k1_bench", "secp256k1_bench\secp256k1_bench.vcxproj", "{0D4BC36A-0418-44B5-86FD-17A649316D6B}"
9+
EndProject
10+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "secp256k1_tests", "secp256k1_tests\secp256k1_tests.vcxproj", "{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}"
11+
EndProject
12+
Global
13+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
14+
DynDebug|Win32 = DynDebug|Win32
15+
DynDebug|x64 = DynDebug|x64
16+
DynRelease|Win32 = DynRelease|Win32
17+
DynRelease|x64 = DynRelease|x64
18+
LtcgDebug|Win32 = LtcgDebug|Win32
19+
LtcgDebug|x64 = LtcgDebug|x64
20+
LtcgRelease|Win32 = LtcgRelease|Win32
21+
LtcgRelease|x64 = LtcgRelease|x64
22+
StaticDebug|Win32 = StaticDebug|Win32
23+
StaticDebug|x64 = StaticDebug|x64
24+
StaticRelease|Win32 = StaticRelease|Win32
25+
StaticRelease|x64 = StaticRelease|x64
26+
EndGlobalSection
27+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
28+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32
29+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynDebug|Win32.Build.0 = DebugDLL|Win32
30+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynDebug|x64.ActiveCfg = DebugDLL|x64
31+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynDebug|x64.Build.0 = DebugDLL|x64
32+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32
33+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32
34+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64
35+
{148600EA-561B-4C78-A80A-2EB5046D0420}.DynRelease|x64.Build.0 = ReleaseDLL|x64
36+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32
37+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32
38+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64
39+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgDebug|x64.Build.0 = DebugLTCG|x64
40+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32
41+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32
42+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64
43+
{148600EA-561B-4C78-A80A-2EB5046D0420}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64
44+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32
45+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticDebug|Win32.Build.0 = DebugLIB|Win32
46+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticDebug|x64.ActiveCfg = DebugLIB|x64
47+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticDebug|x64.Build.0 = DebugLIB|x64
48+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32
49+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32
50+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64
51+
{148600EA-561B-4C78-A80A-2EB5046D0420}.StaticRelease|x64.Build.0 = ReleaseLIB|x64
52+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
53+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
54+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
55+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
56+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
57+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
58+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
59+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
60+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
61+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
62+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
63+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
64+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
65+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
66+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
67+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticDebug|x64.Build.0 = DebugSEXE|x64
68+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
69+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
70+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
71+
{0D4BC36A-0418-44B5-86FD-17A649316D6B}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
72+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.DynDebug|Win32.ActiveCfg = DebugDEXE|Win32
73+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.DynDebug|x64.ActiveCfg = DebugDEXE|x64
74+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.DynRelease|Win32.ActiveCfg = ReleaseDEXE|Win32
75+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.DynRelease|x64.ActiveCfg = ReleaseDEXE|x64
76+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgDebug|Win32.ActiveCfg = DebugLEXE|Win32
77+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgDebug|Win32.Build.0 = DebugLEXE|Win32
78+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgDebug|x64.ActiveCfg = DebugLEXE|x64
79+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgDebug|x64.Build.0 = DebugLEXE|x64
80+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgRelease|Win32.ActiveCfg = ReleaseLEXE|Win32
81+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgRelease|Win32.Build.0 = ReleaseLEXE|Win32
82+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgRelease|x64.ActiveCfg = ReleaseLEXE|x64
83+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.LtcgRelease|x64.Build.0 = ReleaseLEXE|x64
84+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32
85+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32
86+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64
87+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticDebug|x64.Build.0 = DebugSEXE|x64
88+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32
89+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32
90+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64
91+
{9F8CD353-5F8B-46D7-9DA3-17A06CCA634F}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64
92+
EndGlobalSection
93+
GlobalSection(SolutionProperties) = preSolution
94+
HideSolutionNode = FALSE
95+
EndGlobalSection
96+
EndGlobal
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
4+
<PropertyGroup Label="Globals">
5+
<_PropertySheetDisplayName>SECP256K1 Common Settings</_PropertySheetDisplayName>
6+
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
7+
<RunCodeAnalysis>false</RunCodeAnalysis>
8+
</PropertyGroup>
9+
10+
<!-- User Interface -->
11+
12+
<ItemGroup Label="BuildOptionsExtension">
13+
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(ProjectName).xml" />
14+
</ItemGroup>
15+
16+
<!-- Configuration -->
17+
18+
<ItemDefinitionGroup>
19+
<ClCompile>
20+
<AdditionalIncludeDirectories>$(RepoRoot)src\;$(RepoRoot)\include\;$(RepoRoot);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
21+
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
22+
<EnablePREfast>false</EnablePREfast>
23+
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
24+
<PreprocessorDefinitions Condition="'$(ConfigurationType)' == 'DynamicLibrary'">SECP256K1_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
25+
26+
<PreprocessorDefinitions Condition="'$(Option-gmp)' == ''">USE_NUM_NONE;USE_FIELD_INV_BUILTIN;USE_SCALAR_INV_BUILTIN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
27+
<PreprocessorDefinitions Condition="'$(Option-gmp)' == 'true'">USE_NUM_GMP;USE_FIELD_INV_NUM;USE_SCALAR_INV_NUM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
28+
29+
<!-- USE_ASM_X86_64 does not compile in VC and requires USE_FIELD_5X52. -->
30+
<PreprocessorDefinitions Condition="'$(Option-assembly)' == 'true' And '$(Platform)' == 'x64'">USE_ASM_X86_64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
31+
32+
<!-- Either endomorphism or gmp must be specified. -->
33+
<PreprocessorDefinitions Condition="'$(Option-endomorphism)' == 'true'">USE_ENDOMORPHISM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
34+
35+
<PreprocessorDefinitions Condition="'$(Option-config)' == 'true'">HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
36+
37+
<!-- USE_FIELD_5X52 requires uint128_t which is not yet defined in VC or USE_ASM_X86_64. -->
38+
<PreprocessorDefinitions Condition="'$(Option-field64)' == ''">USE_FIELD_10X26;%(PreprocessorDefinitions)</PreprocessorDefinitions>
39+
<PreprocessorDefinitions Condition="'$(Option-field64)' == 'true'">USE_FIELD_5X52;%(PreprocessorDefinitions)</PreprocessorDefinitions>
40+
41+
<!-- USE_SCALAR_4X64 requires uint128_t which is not yet defined in VC. -->
42+
<PreprocessorDefinitions Condition="'$(Option-scalar64)' == ''">USE_SCALAR_8X32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
43+
<PreprocessorDefinitions Condition="'$(Option-scalar64)' == 'true'">USE_SCALAR_4X64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
44+
45+
<!-- Build additional modules, enabled by default. -->
46+
<PreprocessorDefinitions Condition="'$(Option-ecdh)' == 'true'">ENABLE_MODULE_ECDH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
47+
<PreprocessorDefinitions Condition="'$(Option-recovery)' == 'true'">ENABLE_MODULE_RECOVERY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
48+
</ClCompile>
49+
</ItemDefinitionGroup>
50+
51+
<!-- Dependencies -->
52+
53+
<PropertyGroup Condition="'$(DefaultLinkage)' == 'dynamic'">
54+
<Linkage-mpir>dynamic</Linkage-mpir>
55+
</PropertyGroup>
56+
<PropertyGroup Condition="'$(DefaultLinkage)' == 'ltcg'">
57+
<Linkage-mpir>static</Linkage-mpir>
58+
</PropertyGroup>
59+
<PropertyGroup Condition="'$(DefaultLinkage)' == 'static'">
60+
<Linkage-mpir>static</Linkage-mpir>
61+
</PropertyGroup>
62+
63+
<!-- Messages -->
64+
65+
<Target Name="OptionInfo" BeforeTargets="PrepareForBuild">
66+
<Message Text="Option-gmp : $(Option-gmp)" Importance="high"/>
67+
<Message Text="Option-assembly : $(Option-assembly)" Importance="high"/>
68+
<Message Text="Option-endomorphism : $(Option-endomorphism)" Importance="high"/>
69+
<Message Text="Option-config : $(Option-config)" Importance="high"/>
70+
<Message Text="Option-field64 : $(Option-field64)" Importance="high"/>
71+
<Message Text="Option-scalar64 : $(Option-scalar64)" Importance="high"/>
72+
<Message Text="Option-ecdh : $(Option-ecdh)" Importance="high"/>
73+
<Message Text="Option-recovery : $(Option-recovery)" Importance="high"/>
74+
</Target>
75+
76+
<Target Name="LinkageInfo" BeforeTargets="PrepareForBuild">
77+
<!--<Message Text="Linkage-mpir : $(Linkage-mpir)" Importance="high"/>-->
78+
</Target>
79+
80+
</Project>

0 commit comments

Comments
 (0)