diff --git a/msvc/_msvc_project.py b/msvc/_msvc_project.py index 609ce261..67319df5 100644 --- a/msvc/_msvc_project.py +++ b/msvc/_msvc_project.py @@ -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''' - + ''' - 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''' ''' f4 = r''' - + ''' @@ -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) diff --git a/msvc/_msvc_solution.py b/msvc/_msvc_solution.py index 1d65da67..acf7fd30 100644 --- a/msvc/_msvc_solution.py +++ b/msvc/_msvc_solution.py @@ -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: diff --git a/msvc/vs13/vsyasm.props b/msvc/vs13/vsyasm.props new file mode 100644 index 00000000..80b93c7e --- /dev/null +++ b/msvc/vs13/vsyasm.props @@ -0,0 +1,27 @@ + + + + Midl + CustomBuild + + + _SelectedFiles;$(YASMDependsOn) + + + $(VCInstallDir)bin\ + + + + False + $(IntDir) + 0 + 0 + "$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs] + %(ObjectFile) + Assembling %(Filename)%(Extension) + false + + + \ No newline at end of file diff --git a/msvc/vs13/vsyasm.targets b/msvc/vs13/vsyasm.targets new file mode 100644 index 00000000..3c084119 --- /dev/null +++ b/msvc/vs13/vsyasm.targets @@ -0,0 +1,108 @@ + + + + + + _YASM + + + + $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml + + + + + + + + @(YASM, '|') + + + + + + + + + $(ComputeLinkInputsTargets); + ComputeYASMOutput; + + + $(ComputeLibInputsTargets); + ComputeYASMOutput; + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/msvc/vs13/vsyasm.xml b/msvc/vs13/vsyasm.xml new file mode 100644 index 00000000..a108f005 --- /dev/null +++ b/msvc/vs13/vsyasm.xml @@ -0,0 +1,283 @@ + + + + + + + + + + + + + General + + + + + + Symbols + + + + + + Files + + + + + + Command Line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Execute Before + + + Specifies the targets for the build customization to run before. + + + + + + + + + + + + Execute After + + + Specifies the targets for the build customization to run after. + + + + + + + + + + + + + + + + + + Additional Options + + + Additional Options + + + + + + + + \ No newline at end of file diff --git a/msvc/vs15/mpir.sln b/msvc/vs15/mpir.sln index d2d04f0e..bd545d9d 100644 --- a/msvc/vs15/mpir.sln +++ b/msvc/vs15/mpir.sln @@ -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 diff --git a/msvc/vs15/vsyasm.props b/msvc/vs15/vsyasm.props new file mode 100644 index 00000000..80b93c7e --- /dev/null +++ b/msvc/vs15/vsyasm.props @@ -0,0 +1,27 @@ + + + + Midl + CustomBuild + + + _SelectedFiles;$(YASMDependsOn) + + + $(VCInstallDir)bin\ + + + + False + $(IntDir) + 0 + 0 + "$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs] + %(ObjectFile) + Assembling %(Filename)%(Extension) + false + + + \ No newline at end of file diff --git a/msvc/vs15/vsyasm.targets b/msvc/vs15/vsyasm.targets new file mode 100644 index 00000000..3c084119 --- /dev/null +++ b/msvc/vs15/vsyasm.targets @@ -0,0 +1,108 @@ + + + + + + _YASM + + + + $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml + + + + + + + + @(YASM, '|') + + + + + + + + + $(ComputeLinkInputsTargets); + ComputeYASMOutput; + + + $(ComputeLibInputsTargets); + ComputeYASMOutput; + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/msvc/vs15/vsyasm.xml b/msvc/vs15/vsyasm.xml new file mode 100644 index 00000000..a108f005 --- /dev/null +++ b/msvc/vs15/vsyasm.xml @@ -0,0 +1,283 @@ + + + + + + + + + + + + + General + + + + + + Symbols + + + + + + Files + + + + + + Command Line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Execute Before + + + Specifies the targets for the build customization to run before. + + + + + + + + + + + + Execute After + + + Specifies the targets for the build customization to run after. + + + + + + + + + + + + + + + + + + Additional Options + + + Additional Options + + + + + + + + \ No newline at end of file diff --git a/msvc/vs19/mpir.sln b/msvc/vs19/mpir.sln index 889e4bdb..fe9e20b2 100644 --- a/msvc/vs19/mpir.sln +++ b/msvc/vs19/mpir.sln @@ -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 diff --git a/msvc/vs19/test-config.props b/msvc/vs19/test-config.props deleted file mode 100644 index 0e21ade8..00000000 --- a/msvc/vs19/test-config.props +++ /dev/null @@ -1,26 +0,0 @@ - - - - ..\..\lib_mpir_skylake_avx\x64\Release\ - ..\..\lib_mpir_skylake_avx\x64\Release\mpir.lib;..\..\lib_mpir_cxx\x64\Release\mpirxx.lib - - - - MultiThreaded - $(MPDIR);$(SolutionDir)..\..\tests - - - $(MPLIBS);$(OutDir)\add-test-lib.lib;%(AdditionalDependencies) - - - - - $(MPDIR) - true - - - $(MPLIBS) - true - - -