Merge branch 'master' of github.com:BrianGladman/mpir

# Conflicts:
#	mpir.net/mpir.net/HugeFloat.h
This commit is contained in:
Alex Dyachenko 2019-06-28 12:21:13 -04:00
commit a21b40b49c
11 changed files with 861 additions and 99 deletions

View File

@ -2,6 +2,7 @@
# generate vcxproj file
from os.path import normpath, join, split, relpath
from os import access, F_OK
from enum import IntEnum
class Project_Type(IntEnum):
@ -64,13 +65,13 @@ def vcx_cpp_props(outf):
'''
outf.write(f1)
def vcx_extensions(outf):
def vcx_extensions(outf, dir):
f1 = r''' <ImportGroup Label="ExtensionSettings">
<Import Project="..\..\vsyasm.props" />
<Import Project="{0:s}vsyasm.props" />
</ImportGroup>
'''
outf.write(f1)
outf.write(f1.format(dir))
def vcx_user_props(plat, proj_type, outf):
@ -247,7 +248,7 @@ def gen_vcxproj(path, root_dir, proj_name, guid, config, plat, proj_type,
f3 = r''' <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
'''
f4 = r''' <ImportGroup Label="ExtensionTargets">
<Import Project="..\..\vsyasm.targets" />
<Import Project="{0:s}vsyasm.targets" />
</ImportGroup>
'''
@ -258,6 +259,8 @@ def gen_vcxproj(path, root_dir, proj_name, guid, config, plat, proj_type,
'''
relp = split(relpath(root_dir, path))[0] + '\\'
vsy_path = split(path)[0] + '\\..\\vsyasm.targets'
dir = '..\\' if access(vsy_path, F_OK) else '..\\..\\'
with open(path, 'w') as outf:
outf.write(f1.format(vs_info['vcx_tool']))
vcx_proj_cfg(plat, outf)
@ -266,7 +269,7 @@ def gen_vcxproj(path, root_dir, proj_name, guid, config, plat, proj_type,
vcx_library_type(plat, proj_type, vs_info, outf)
vcx_cpp_props(outf)
if af_list:
vcx_extensions(outf)
vcx_extensions(outf, dir)
vcx_user_props(plat, proj_type, outf)
outf.write(f2)
vcx_target_name_and_dirs(proj_name, plat, proj_type, outf)
@ -278,6 +281,6 @@ def gen_vcxproj(path, root_dir, proj_name, guid, config, plat, proj_type,
vcx_a_items(af_list, relp, outf)
outf.write(f3)
if af_list:
outf.write(f4)
outf.write(f4.format(dir))
outf.write(f5)

View File

@ -93,10 +93,10 @@ class msvc_solution(object):
m = re_acfg.search(ln)
if m:
g = m.group(1)
if not g in self.g2acfg.keys():
self.g2acfg[g] = [0, 1, 2, 3]
ix = 2 * (m.group(2) == 'Release') + (m.group(3) == 'x64')
ac = 2 * (m.group(4) == 'Release') + (m.group(5) == 'x64')
if not g in self.g2acfg.keys():
self.g2acfg[g] = [0] * 4
self.g2acfg[g][ix] = ac
for g in self.g2proj:

27
msvc/vs13/vsyasm.props Normal file
View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup
Condition="'$(YASMBeforeTargets)' == '' and '$(YASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
<YASMBeforeTargets>Midl</YASMBeforeTargets>
<YASMAfterTargets>CustomBuild</YASMAfterTargets>
</PropertyGroup>
<PropertyGroup>
<YASMDependsOn
Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(YASMDependsOn)</YASMDependsOn>
</PropertyGroup>
<PropertyGroup>
<YasmPath Condition= "'$(YASMPATH)' == ''">$(VCInstallDir)bin\</YasmPath>
</PropertyGroup>
<ItemDefinitionGroup>
<YASM>
<Debug>False</Debug>
<ObjectFile>$(IntDir)</ObjectFile>
<PreProc>0</PreProc>
<Parser>0</Parser>
<CommandLineTemplate>"$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>
<Outputs>%(ObjectFile)</Outputs>
<ExecutionDescription>Assembling %(Filename)%(Extension)</ExecutionDescription>
<ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
</YASM>
</ItemDefinitionGroup>
</Project>

108
msvc/vs13/vsyasm.targets Normal file
View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PropertyPageSchema
Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
<AvailableItemName
Include="YASM">
<Targets>_YASM</Targets>
</AvailableItemName>
</ItemGroup>
<UsingTask
TaskName="YASM"
TaskFactory="XamlTaskFactory"
AssemblyName="Microsoft.Build.Tasks.v4.0">
<Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
</UsingTask>
<Target
Name="_YASM"
BeforeTargets="$(YASMBeforeTargets)"
AfterTargets="$(YASMAfterTargets)"
Condition="'@(YASM)' != ''"
DependsOnTargets="$(YASMDependsOn);ComputeYASMOutput"
Outputs="@(YASM->'%(ObjectFile)')"
Inputs="@(YASM);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)">
<ItemGroup
Condition="'@(SelectedFiles)' != ''">
<YASM
Remove="@(YASM)"
Condition="'%(Identity)' != '@(SelectedFiles)'" />
</ItemGroup>
<ItemGroup>
<YASM_tlog
Include="%(YASM.ObjectFile)"
Condition="'%(YASM.ObjectFile)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'">
<Source>@(YASM, '|')</Source>
</YASM_tlog>
</ItemGroup>
<Message
Importance="High"
Text="%(YASM.ExecutionDescription)" />
<WriteLinesToFile
Condition="'@(YASM_tlog)' != '' and '%(YASM_tlog.ExcludedFromBuild)' != 'true'"
File="$(IntDir)$(ProjectName).write.1.tlog"
Lines="^%(YASM_tlog.Source);@(YASM_tlog->'%(Fullpath)')" />
<YASM
Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"
CommandLineTemplate="%(YASM.CommandLineTemplate)"
Debug="%(YASM.Debug)"
PreIncludeFile="%(YASM.PreIncludeFile)"
IncludePaths="%(YASM.IncludePaths)"
Defines="%(YASM.Defines)"
UnDefines="%(YASM.UnDefines)"
ObjectFile="%(YASM.ObjectFile)"
ListFile="%(YASM.ListFile)"
MapFile="%(YASM.MapFile)"
ErrorFile="%(YASM.ErrorFile)"
SymbolPrefix="%(YASM.SymbolPrefix)"
SymbolSuffix="%(YASM.SymbolSuffix)"
PreProc="%(YASM.PreProc)"
Parser="%(YASM.Parser)"
AdditionalOptions="%(YASM.AdditionalOptions)"
Inputs="@(YASM)" />
</Target>
<PropertyGroup>
<ComputeLinkInputsTargets>
$(ComputeLinkInputsTargets);
ComputeYASMOutput;
</ComputeLinkInputsTargets>
<ComputeLibInputsTargets>
$(ComputeLibInputsTargets);
ComputeYASMOutput;
</ComputeLibInputsTargets>
</PropertyGroup>
<Target
Name="ComputeYASMOutput"
Condition="'@(YASM)' != ''">
<ItemGroup>
<YASMDirsToMake
Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and !HasTrailingSlash('%(YASM.ObjectFile)')"
Include="%(YASM.ObjectFile)" />
<Link
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<Lib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<ImpLib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
</ItemGroup>
<ItemGroup>
<YASMDirsToMake
Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and HasTrailingSlash('%(YASM.ObjectFile)')"
Include="@(YASM->'%(ObjectFile)%(Filename).obj')" />
<Link
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<Lib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<ImpLib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
</ItemGroup>
<MakeDir
Directories="@(YASMDirsToMake->'%(RootDir)%(Directory)')" />
</Target>
</Project>

283
msvc/vs13/vsyasm.xml Normal file
View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
<Rule
Name="YASM"
PageTemplate="tool"
DisplayName="Yasm Assembler"
Order="200">
<Rule.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="YASM" />
</Rule.DataSource>
<Rule.Categories>
<Category
Name="General">
<Category.DisplayName>
<sys:String>General</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Symbols">
<Category.DisplayName>
<sys:String>Symbols</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Files">
<Category.DisplayName>
<sys:String>Files</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Command Line"
Subtype="CommandLine">
<Category.DisplayName>
<sys:String>Command Line</sys:String>
</Category.DisplayName>
</Category>
</Rule.Categories>
<StringListProperty
Name="Inputs"
Category="Command Line"
IsRequired="true"
Switch=" ">
<StringListProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="YASM"
SourceType="Item" />
</StringListProperty.DataSource>
</StringListProperty>
<BoolProperty
Name="Debug"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Debug Information"
Description="Generate debugging information"
Switch="-g cv8" />
<StringListProperty
Name="IncludePaths"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Include Paths"
Description="Set the paths for any additional include files"
Switch="-i &quot;[value]&quot;" />
<StringListProperty
Name="Defines"
Category="Symbols"
Subcategory="Pre-Defined Symbols"
HelpContext="0"
DisplayName="Defined Symbols"
Description="Specify pre-defined symbols ('symbol' or 'symbol = value') "
Switch="-d &quot;[value]&quot;" />
<StringListProperty
Name="UnDefines"
Category="Symbols"
Subcategory="Pre-Defined Symbols"
HelpContext="0"
DisplayName="Remove Symbols"
Description="Remove pre-defined symbols "
Switch="-u &quot;[value]&quot;" />
<StringProperty
Name="ObjectFile"
Subcategory="Output"
HelpContext="0"
DisplayName="Object File Name"
Description="Select the output file name"
Switch="-o &quot;[value]&quot;" />
<StringProperty
Name="ListFile"
Category="Files"
Subcategory="Output"
HelpContext="0"
DisplayName="List File Name"
Description="Select an output listing by setting its file name"
Switch="-l &quot;[value]&quot;" />
<StringProperty
Name="PreIncludeFile"
Category="Files"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Pre Include File"
Description="Select a pre-included file by setting its name"
Switch="-P &quot;[value]&quot;" />
<StringProperty
Name="MapFile"
Category="Files"
Subcategory="Output"
HelpContext="0"
DisplayName="Map File Name"
Description="Select a map output by setting its file name"
Switch="--mapdir=&quot;[value]&quot;" />
<StringProperty
Name="ErrorFile"
Category="Files"
Subcategory="Output"
HelpContext="0"
DisplayName="Error File Name"
Description="Send error/warning messages to a file by setting its name"
Switch="-E &quot;[value]&quot;" />
<StringProperty
Name="SymbolPrefix"
Category="Symbols"
Subcategory="Symbols"
HelpContext="0"
DisplayName="External Symbol Prefix"
Description="Prepend symbol to all external symbols"
Switch="--prefix=&quot;[value]&quot;" />
<StringProperty
Name="SymbolSuffix"
Category="Symbols"
Subcategory="Symbols"
HelpContext="0"
DisplayName="External Symbol Suffix"
Description="Append symbol to all external symbols"
Switch="--suffix=&quot;[value]&quot;" />
<EnumProperty
Name="PreProc"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Pre-Processor"
Description="Select the pre-processor ('nasm' or 'raw')">
<EnumValue
Name="0"
DisplayName="Nasm "
Switch="-rnasm" />
<EnumValue
Name="1"
DisplayName="Raw"
Switch="-rraw" />
</EnumProperty>
<EnumProperty
Name="Parser"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Parser"
Description="Select the parser for Intel ('nasm') or AT&amp;T ( 'gas') syntax">
<EnumValue
Name="0"
DisplayName="Nasm"
Switch="-pnasm" />
<EnumValue
Name="1"
DisplayName="Gas"
Switch="-pgas" />
</EnumProperty>
<StringProperty
Name="CommandLineTemplate"
DisplayName="Command Line"
Visible="False"
IncludeInCommandLine="False" />
<DynamicEnumProperty
Name="YASMBeforeTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute Before</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run before.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^YASMBeforeTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<DynamicEnumProperty
Name="YASMAfterTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute After</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run after.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^YASMAfterTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<StringListProperty
Name="Outputs"
DisplayName="Outputs"
Visible="False"
IncludeInCommandLine="False" />
<StringProperty
Name="ExecutionDescription"
DisplayName="Execution Description"
Visible="False"
IncludeInCommandLine="False" />
<StringListProperty
Name="AdditionalDependencies"
DisplayName="Additional Dependencies"
IncludeInCommandLine="False"
Visible="true" />
<StringProperty
Subtype="AdditionalOptions"
Name="AdditionalOptions"
Category="Command Line">
<StringProperty.DisplayName>
<sys:String>Additional Options</sys:String>
</StringProperty.DisplayName>
<StringProperty.Description>
<sys:String>Additional Options</sys:String>
</StringProperty.Description>
</StringProperty>
</Rule>
<ItemType
Name="YASM"
DisplayName="Yasm Assembler" />
<FileExtension
Name="*.asm"
ContentType="YASM" />
<ContentType
Name="YASM"
DisplayName="Yasm Assembler"
ItemType="YASM" />
</ProjectSchemaDefinitions>

View File

@ -1,7 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 14.0.24720.0
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_mpir_cxx", "lib_mpir_cxx\lib_mpir_cxx.vcxproj", "{6AA894FE-FFA3-4830-8B2F-E5EF87FA07F9}"
EndProject
@ -9,22 +8,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_mpir_gc", "dll_mpir_gc\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_mpir_gc", "lib_mpir_gc\lib_mpir_gc.vcxproj", "{5A360D9F-9C7D-452D-9634-63CB4DB57D6D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_mpir_p6", "dll_mpir_p6\dll_mpir_p6.vcxproj", "{2D8A50A2-394B-4E4F-92F1-9383C2EAF28F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_mpir_p6", "lib_mpir_p6\lib_mpir_p6.vcxproj", "{292DE0DA-3891-465C-B3A7-C123C76F6BB8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_mpir_core2", "dll_mpir_core2\dll_mpir_core2.vcxproj", "{EED586F9-74AE-48F7-BD90-10C5781F7ADD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_mpir_core2", "lib_mpir_core2\lib_mpir_core2.vcxproj", "{796D2C88-B558-44EA-93AB-EE5CEF1BBCA8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_mpir_p6_p3mmx", "dll_mpir_p6_p3mmx\dll_mpir_p6_p3mmx.vcxproj", "{D34091B4-7310-48C8-97F9-B0511DCB1FF9}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_mpir_p6_p3mmx", "lib_mpir_p6_p3mmx\lib_mpir_p6_p3mmx.vcxproj", "{45B3B9DA-3B20-4251-A794-2D73D047602C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll_mpir_bulldozer", "dll_mpir_bulldozer\dll_mpir_bulldozer.vcxproj", "{E7CD77BC-B670-495C-91FC-8446FB17176C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_mpir_bulldozer", "lib_mpir_bulldozer\lib_mpir_bulldozer.vcxproj", "{2624A49D-842B-4A53-BB1B-B945CE2D8550}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -33,50 +16,18 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6AA894FE-FFA3-4830-8B2F-E5EF87FA07F9}.Release|Win32.ActiveCfg = Release|Win32
{6AA894FE-FFA3-4830-8B2F-E5EF87FA07F9}.Release|x64.ActiveCfg = Release|x64
{6AA894FE-FFA3-4830-8B2F-E5EF87FA07F9}.Debug|Win32.ActiveCfg = Debug|Win32
{6AA894FE-FFA3-4830-8B2F-E5EF87FA07F9}.Debug|x64.ActiveCfg = Debug|x64
{F7309E89-0DE2-4343-A564-E3DE7730A32E}.Release|Win32.ActiveCfg = Release|Win32
{F7309E89-0DE2-4343-A564-E3DE7730A32E}.Release|x64.ActiveCfg = Release|x64
{6AA894FE-FFA3-4830-8B2F-E5EF87FA07F9}.Release|Win32.ActiveCfg = Release|Win32
{6AA894FE-FFA3-4830-8B2F-E5EF87FA07F9}.Release|x64.ActiveCfg = Release|x64
{F7309E89-0DE2-4343-A564-E3DE7730A32E}.Debug|Win32.ActiveCfg = Debug|Win32
{F7309E89-0DE2-4343-A564-E3DE7730A32E}.Debug|x64.ActiveCfg = Debug|x64
{5A360D9F-9C7D-452D-9634-63CB4DB57D6D}.Release|Win32.ActiveCfg = Release|Win32
{5A360D9F-9C7D-452D-9634-63CB4DB57D6D}.Release|x64.ActiveCfg = Release|x64
{F7309E89-0DE2-4343-A564-E3DE7730A32E}.Release|Win32.ActiveCfg = Release|Win32
{F7309E89-0DE2-4343-A564-E3DE7730A32E}.Release|x64.ActiveCfg = Release|x64
{5A360D9F-9C7D-452D-9634-63CB4DB57D6D}.Debug|Win32.ActiveCfg = Debug|Win32
{5A360D9F-9C7D-452D-9634-63CB4DB57D6D}.Debug|x64.ActiveCfg = Debug|x64
{2D8A50A2-394B-4E4F-92F1-9383C2EAF28F}.Release|Win32.ActiveCfg = Release|Win32
{2D8A50A2-394B-4E4F-92F1-9383C2EAF28F}.Release|x64.ActiveCfg = Release|x64
{2D8A50A2-394B-4E4F-92F1-9383C2EAF28F}.Debug|Win32.ActiveCfg = Debug|Win32
{2D8A50A2-394B-4E4F-92F1-9383C2EAF28F}.Debug|x64.ActiveCfg = Debug|x64
{292DE0DA-3891-465C-B3A7-C123C76F6BB8}.Release|Win32.ActiveCfg = Release|Win32
{292DE0DA-3891-465C-B3A7-C123C76F6BB8}.Release|x64.ActiveCfg = Release|x64
{292DE0DA-3891-465C-B3A7-C123C76F6BB8}.Debug|Win32.ActiveCfg = Debug|Win32
{292DE0DA-3891-465C-B3A7-C123C76F6BB8}.Debug|x64.ActiveCfg = Debug|x64
{EED586F9-74AE-48F7-BD90-10C5781F7ADD}.Release|Win32.ActiveCfg = Release|Win32
{EED586F9-74AE-48F7-BD90-10C5781F7ADD}.Release|x64.ActiveCfg = Release|x64
{EED586F9-74AE-48F7-BD90-10C5781F7ADD}.Debug|Win32.ActiveCfg = Debug|Win32
{EED586F9-74AE-48F7-BD90-10C5781F7ADD}.Debug|x64.ActiveCfg = Debug|x64
{796D2C88-B558-44EA-93AB-EE5CEF1BBCA8}.Release|Win32.ActiveCfg = Release|Win32
{796D2C88-B558-44EA-93AB-EE5CEF1BBCA8}.Release|x64.ActiveCfg = Release|x64
{796D2C88-B558-44EA-93AB-EE5CEF1BBCA8}.Debug|Win32.ActiveCfg = Debug|Win32
{796D2C88-B558-44EA-93AB-EE5CEF1BBCA8}.Debug|x64.ActiveCfg = Debug|x64
{D34091B4-7310-48C8-97F9-B0511DCB1FF9}.Release|Win32.ActiveCfg = Release|Win32
{D34091B4-7310-48C8-97F9-B0511DCB1FF9}.Release|x64.ActiveCfg = Release|x64
{D34091B4-7310-48C8-97F9-B0511DCB1FF9}.Debug|Win32.ActiveCfg = Debug|Win32
{D34091B4-7310-48C8-97F9-B0511DCB1FF9}.Debug|x64.ActiveCfg = Debug|x64
{45B3B9DA-3B20-4251-A794-2D73D047602C}.Release|Win32.ActiveCfg = Release|Win32
{45B3B9DA-3B20-4251-A794-2D73D047602C}.Release|x64.ActiveCfg = Release|x64
{45B3B9DA-3B20-4251-A794-2D73D047602C}.Debug|Win32.ActiveCfg = Debug|Win32
{45B3B9DA-3B20-4251-A794-2D73D047602C}.Debug|x64.ActiveCfg = Debug|x64
{E7CD77BC-B670-495C-91FC-8446FB17176C}.Release|Win32.ActiveCfg = Release|Win32
{E7CD77BC-B670-495C-91FC-8446FB17176C}.Release|x64.ActiveCfg = Release|x64
{E7CD77BC-B670-495C-91FC-8446FB17176C}.Debug|Win32.ActiveCfg = Debug|Win32
{E7CD77BC-B670-495C-91FC-8446FB17176C}.Debug|x64.ActiveCfg = Debug|x64
{2624A49D-842B-4A53-BB1B-B945CE2D8550}.Release|Win32.ActiveCfg = Release|Win32
{2624A49D-842B-4A53-BB1B-B945CE2D8550}.Release|x64.ActiveCfg = Release|x64
{2624A49D-842B-4A53-BB1B-B945CE2D8550}.Debug|Win32.ActiveCfg = Debug|Win32
{2624A49D-842B-4A53-BB1B-B945CE2D8550}.Debug|x64.ActiveCfg = Debug|x64
{5A360D9F-9C7D-452D-9634-63CB4DB57D6D}.Release|Win32.ActiveCfg = Release|Win32
{5A360D9F-9C7D-452D-9634-63CB4DB57D6D}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

27
msvc/vs15/vsyasm.props Normal file
View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup
Condition="'$(YASMBeforeTargets)' == '' and '$(YASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
<YASMBeforeTargets>Midl</YASMBeforeTargets>
<YASMAfterTargets>CustomBuild</YASMAfterTargets>
</PropertyGroup>
<PropertyGroup>
<YASMDependsOn
Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(YASMDependsOn)</YASMDependsOn>
</PropertyGroup>
<PropertyGroup>
<YasmPath Condition= "'$(YASMPATH)' == ''">$(VCInstallDir)bin\</YasmPath>
</PropertyGroup>
<ItemDefinitionGroup>
<YASM>
<Debug>False</Debug>
<ObjectFile>$(IntDir)</ObjectFile>
<PreProc>0</PreProc>
<Parser>0</Parser>
<CommandLineTemplate>"$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>
<Outputs>%(ObjectFile)</Outputs>
<ExecutionDescription>Assembling %(Filename)%(Extension)</ExecutionDescription>
<ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
</YASM>
</ItemDefinitionGroup>
</Project>

108
msvc/vs15/vsyasm.targets Normal file
View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PropertyPageSchema
Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
<AvailableItemName
Include="YASM">
<Targets>_YASM</Targets>
</AvailableItemName>
</ItemGroup>
<UsingTask
TaskName="YASM"
TaskFactory="XamlTaskFactory"
AssemblyName="Microsoft.Build.Tasks.v4.0">
<Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
</UsingTask>
<Target
Name="_YASM"
BeforeTargets="$(YASMBeforeTargets)"
AfterTargets="$(YASMAfterTargets)"
Condition="'@(YASM)' != ''"
DependsOnTargets="$(YASMDependsOn);ComputeYASMOutput"
Outputs="@(YASM->'%(ObjectFile)')"
Inputs="@(YASM);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)">
<ItemGroup
Condition="'@(SelectedFiles)' != ''">
<YASM
Remove="@(YASM)"
Condition="'%(Identity)' != '@(SelectedFiles)'" />
</ItemGroup>
<ItemGroup>
<YASM_tlog
Include="%(YASM.ObjectFile)"
Condition="'%(YASM.ObjectFile)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'">
<Source>@(YASM, '|')</Source>
</YASM_tlog>
</ItemGroup>
<Message
Importance="High"
Text="%(YASM.ExecutionDescription)" />
<WriteLinesToFile
Condition="'@(YASM_tlog)' != '' and '%(YASM_tlog.ExcludedFromBuild)' != 'true'"
File="$(IntDir)$(ProjectName).write.1.tlog"
Lines="^%(YASM_tlog.Source);@(YASM_tlog->'%(Fullpath)')" />
<YASM
Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"
CommandLineTemplate="%(YASM.CommandLineTemplate)"
Debug="%(YASM.Debug)"
PreIncludeFile="%(YASM.PreIncludeFile)"
IncludePaths="%(YASM.IncludePaths)"
Defines="%(YASM.Defines)"
UnDefines="%(YASM.UnDefines)"
ObjectFile="%(YASM.ObjectFile)"
ListFile="%(YASM.ListFile)"
MapFile="%(YASM.MapFile)"
ErrorFile="%(YASM.ErrorFile)"
SymbolPrefix="%(YASM.SymbolPrefix)"
SymbolSuffix="%(YASM.SymbolSuffix)"
PreProc="%(YASM.PreProc)"
Parser="%(YASM.Parser)"
AdditionalOptions="%(YASM.AdditionalOptions)"
Inputs="@(YASM)" />
</Target>
<PropertyGroup>
<ComputeLinkInputsTargets>
$(ComputeLinkInputsTargets);
ComputeYASMOutput;
</ComputeLinkInputsTargets>
<ComputeLibInputsTargets>
$(ComputeLibInputsTargets);
ComputeYASMOutput;
</ComputeLibInputsTargets>
</PropertyGroup>
<Target
Name="ComputeYASMOutput"
Condition="'@(YASM)' != ''">
<ItemGroup>
<YASMDirsToMake
Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and !HasTrailingSlash('%(YASM.ObjectFile)')"
Include="%(YASM.ObjectFile)" />
<Link
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<Lib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<ImpLib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
</ItemGroup>
<ItemGroup>
<YASMDirsToMake
Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and HasTrailingSlash('%(YASM.ObjectFile)')"
Include="@(YASM->'%(ObjectFile)%(Filename).obj')" />
<Link
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<Lib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
<ImpLib
Include="%(YASMDirsToMake.Identity)"
Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
</ItemGroup>
<MakeDir
Directories="@(YASMDirsToMake->'%(RootDir)%(Directory)')" />
</Target>
</Project>

283
msvc/vs15/vsyasm.xml Normal file
View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
<Rule
Name="YASM"
PageTemplate="tool"
DisplayName="Yasm Assembler"
Order="200">
<Rule.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="YASM" />
</Rule.DataSource>
<Rule.Categories>
<Category
Name="General">
<Category.DisplayName>
<sys:String>General</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Symbols">
<Category.DisplayName>
<sys:String>Symbols</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Files">
<Category.DisplayName>
<sys:String>Files</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Command Line"
Subtype="CommandLine">
<Category.DisplayName>
<sys:String>Command Line</sys:String>
</Category.DisplayName>
</Category>
</Rule.Categories>
<StringListProperty
Name="Inputs"
Category="Command Line"
IsRequired="true"
Switch=" ">
<StringListProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="YASM"
SourceType="Item" />
</StringListProperty.DataSource>
</StringListProperty>
<BoolProperty
Name="Debug"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Debug Information"
Description="Generate debugging information"
Switch="-g cv8" />
<StringListProperty
Name="IncludePaths"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Include Paths"
Description="Set the paths for any additional include files"
Switch="-i &quot;[value]&quot;" />
<StringListProperty
Name="Defines"
Category="Symbols"
Subcategory="Pre-Defined Symbols"
HelpContext="0"
DisplayName="Defined Symbols"
Description="Specify pre-defined symbols ('symbol' or 'symbol = value') "
Switch="-d &quot;[value]&quot;" />
<StringListProperty
Name="UnDefines"
Category="Symbols"
Subcategory="Pre-Defined Symbols"
HelpContext="0"
DisplayName="Remove Symbols"
Description="Remove pre-defined symbols "
Switch="-u &quot;[value]&quot;" />
<StringProperty
Name="ObjectFile"
Subcategory="Output"
HelpContext="0"
DisplayName="Object File Name"
Description="Select the output file name"
Switch="-o &quot;[value]&quot;" />
<StringProperty
Name="ListFile"
Category="Files"
Subcategory="Output"
HelpContext="0"
DisplayName="List File Name"
Description="Select an output listing by setting its file name"
Switch="-l &quot;[value]&quot;" />
<StringProperty
Name="PreIncludeFile"
Category="Files"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Pre Include File"
Description="Select a pre-included file by setting its name"
Switch="-P &quot;[value]&quot;" />
<StringProperty
Name="MapFile"
Category="Files"
Subcategory="Output"
HelpContext="0"
DisplayName="Map File Name"
Description="Select a map output by setting its file name"
Switch="--mapdir=&quot;[value]&quot;" />
<StringProperty
Name="ErrorFile"
Category="Files"
Subcategory="Output"
HelpContext="0"
DisplayName="Error File Name"
Description="Send error/warning messages to a file by setting its name"
Switch="-E &quot;[value]&quot;" />
<StringProperty
Name="SymbolPrefix"
Category="Symbols"
Subcategory="Symbols"
HelpContext="0"
DisplayName="External Symbol Prefix"
Description="Prepend symbol to all external symbols"
Switch="--prefix=&quot;[value]&quot;" />
<StringProperty
Name="SymbolSuffix"
Category="Symbols"
Subcategory="Symbols"
HelpContext="0"
DisplayName="External Symbol Suffix"
Description="Append symbol to all external symbols"
Switch="--suffix=&quot;[value]&quot;" />
<EnumProperty
Name="PreProc"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Pre-Processor"
Description="Select the pre-processor ('nasm' or 'raw')">
<EnumValue
Name="0"
DisplayName="Nasm "
Switch="-rnasm" />
<EnumValue
Name="1"
DisplayName="Raw"
Switch="-rraw" />
</EnumProperty>
<EnumProperty
Name="Parser"
Subcategory="Configuration"
HelpContext="0"
DisplayName="Parser"
Description="Select the parser for Intel ('nasm') or AT&amp;T ( 'gas') syntax">
<EnumValue
Name="0"
DisplayName="Nasm"
Switch="-pnasm" />
<EnumValue
Name="1"
DisplayName="Gas"
Switch="-pgas" />
</EnumProperty>
<StringProperty
Name="CommandLineTemplate"
DisplayName="Command Line"
Visible="False"
IncludeInCommandLine="False" />
<DynamicEnumProperty
Name="YASMBeforeTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute Before</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run before.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^YASMBeforeTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<DynamicEnumProperty
Name="YASMAfterTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute After</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run after.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^YASMAfterTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<StringListProperty
Name="Outputs"
DisplayName="Outputs"
Visible="False"
IncludeInCommandLine="False" />
<StringProperty
Name="ExecutionDescription"
DisplayName="Execution Description"
Visible="False"
IncludeInCommandLine="False" />
<StringListProperty
Name="AdditionalDependencies"
DisplayName="Additional Dependencies"
IncludeInCommandLine="False"
Visible="true" />
<StringProperty
Subtype="AdditionalOptions"
Name="AdditionalOptions"
Category="Command Line">
<StringProperty.DisplayName>
<sys:String>Additional Options</sys:String>
</StringProperty.DisplayName>
<StringProperty.Description>
<sys:String>Additional Options</sys:String>
</StringProperty.Description>
</StringProperty>
</Rule>
<ItemType
Name="YASM"
DisplayName="Yasm Assembler" />
<FileExtension
Name="*.asm"
ContentType="YASM" />
<ContentType
Name="YASM"
DisplayName="Yasm Assembler"
ItemType="YASM" />
</ProjectSchemaDefinitions>

View File

@ -1,6 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28705.295
# Visual Studio 19
VisualStudioVersion = 19.20.27027.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_mpir_cxx", "lib_mpir_cxx\lib_mpir_cxx.vcxproj", "{B265237A-08C6-4BC3-A582-2B480F27C987}"
EndProject
@ -18,21 +19,18 @@ Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B265237A-08C6-4BC3-A582-2B480F27C987}.Debug|Win32.ActiveCfg = Debug|Win32
{B265237A-08C6-4BC3-A582-2B480F27C987}.Debug|x64.ActiveCfg = Debug|x64
{B265237A-08C6-4BC3-A582-2B480F27C987}.Release|Win32.ActiveCfg = Debug|Win32
{B265237A-08C6-4BC3-A582-2B480F27C987}.Release|Win32.ActiveCfg = Release|Win32
{B265237A-08C6-4BC3-A582-2B480F27C987}.Release|x64.ActiveCfg = Release|x64
{C1DEEFFD-CA22-481B-9F4E-436709F9C6AE}.Debug|Win32.ActiveCfg = Debug|Win32
{C1DEEFFD-CA22-481B-9F4E-436709F9C6AE}.Debug|x64.ActiveCfg = Debug|x64
{C1DEEFFD-CA22-481B-9F4E-436709F9C6AE}.Release|Win32.ActiveCfg = Debug|Win32
{C1DEEFFD-CA22-481B-9F4E-436709F9C6AE}.Release|Win32.ActiveCfg = Release|Win32
{C1DEEFFD-CA22-481B-9F4E-436709F9C6AE}.Release|x64.ActiveCfg = Release|x64
{2ACEC5D2-F039-4A7F-B9D6-0025BAFD667B}.Debug|Win32.ActiveCfg = Debug|Win32
{2ACEC5D2-F039-4A7F-B9D6-0025BAFD667B}.Debug|x64.ActiveCfg = Debug|x64
{2ACEC5D2-F039-4A7F-B9D6-0025BAFD667B}.Release|Win32.ActiveCfg = Debug|Win32
{2ACEC5D2-F039-4A7F-B9D6-0025BAFD667B}.Release|Win32.ActiveCfg = Release|Win32
{2ACEC5D2-F039-4A7F-B9D6-0025BAFD667B}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E3E498CC-6B6A-4DBC-BECA-9D4E5F9A8ED7}
EndGlobalSection
EndGlobal

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<MPDIR>..\..\lib_mpir_skylake_avx\x64\Release\</MPDIR>
<MPLIBS>..\..\lib_mpir_skylake_avx\x64\Release\mpir.lib;..\..\lib_mpir_cxx\x64\Release\mpirxx.lib</MPLIBS>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>$(MPDIR);$(SolutionDir)..\..\tests</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>$(MPLIBS);$(OutDir)\add-test-lib.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<BuildMacro Include="MPDIR">
<Value>$(MPDIR)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
</BuildMacro>
<BuildMacro Include="MPLIBS">
<Value>$(MPLIBS)</Value>
<EnvironmentVariable>true</EnvironmentVariable>
</BuildMacro>
</ItemGroup>
</Project>