Skip to content

Commit 0284e70

Browse files
committed
Upgrade MSVS solution to run with VS2017
1. Added: Support for "x64" platform (Preprocessor: DLONG, ZLONG, LDL_LONG) 2. Added: Pre-processor "NPRINT" to AMD to prevent "printf" usage 3. Fixed: Configuration "Release" & "Debug" to work properly in MSVS (May add Optimization Flags in future commits) 4. Added: New Configuration "Export": Fixes trouble with STDIO when the static library that is compiled in Newer MSVC (>=2013) is loaded with Older MSVC runtime (<=2012). This change by default removes dependency on "stdio.h" hence Demo Projects "RUNECOS" and "RUNECOSEXP" are not functional under this configuration. For more info. check: https://community.microfocus.com/microfocus/mainframe_solutions/enterprise_developer_21/w/knowledge_base/27927/compatibility-issues-with-visual-studio-2015
1 parent ae6406d commit 0284e70

16 files changed

Lines changed: 1488 additions & 309 deletions

vstudio/.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# VS temp files
2+
Debug
3+
Export
4+
Release
5+
*.vcxproj.filters
6+
*.vcxproj.user

vstudio/AMD/AMD.vcxproj

Lines changed: 162 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,92 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup Label="ProjectConfigurations">
44
<ProjectConfiguration Include="Debug|Win32">
55
<Configuration>Debug</Configuration>
66
<Platform>Win32</Platform>
77
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Debug|x64">
9+
<Configuration>Debug</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Export|Win32">
13+
<Configuration>Export</Configuration>
14+
<Platform>Win32</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Export|x64">
17+
<Configuration>Export</Configuration>
18+
<Platform>x64</Platform>
19+
</ProjectConfiguration>
820
<ProjectConfiguration Include="Release|Win32">
921
<Configuration>Release</Configuration>
1022
<Platform>Win32</Platform>
1123
</ProjectConfiguration>
24+
<ProjectConfiguration Include="Release|x64">
25+
<Configuration>Release</Configuration>
26+
<Platform>x64</Platform>
27+
</ProjectConfiguration>
28+
</ItemGroup>
29+
<ItemGroup>
30+
<ClInclude Include="..\..\external\amd\include\amd.h" />
31+
<ClInclude Include="..\..\external\amd\include\amd_internal.h" />
32+
<ClInclude Include="..\..\external\SuiteSparse_config\SuiteSparse_config.h" />
33+
</ItemGroup>
34+
<ItemGroup>
35+
<ClCompile Include="..\..\external\amd\src\amd_1.c" />
36+
<ClCompile Include="..\..\external\amd\src\amd_2.c" />
37+
<ClCompile Include="..\..\external\amd\src\amd_aat.c" />
38+
<ClCompile Include="..\..\external\amd\src\amd_control.c" />
39+
<ClCompile Include="..\..\external\amd\src\amd_defaults.c" />
40+
<ClCompile Include="..\..\external\amd\src\amd_dump.c" />
41+
<ClCompile Include="..\..\external\amd\src\amd_global.c" />
42+
<ClCompile Include="..\..\external\amd\src\amd_info.c" />
43+
<ClCompile Include="..\..\external\amd\src\amd_order.c" />
44+
<ClCompile Include="..\..\external\amd\src\amd_postorder.c" />
45+
<ClCompile Include="..\..\external\amd\src\amd_post_tree.c" />
46+
<ClCompile Include="..\..\external\amd\src\amd_preprocess.c" />
47+
<ClCompile Include="..\..\external\amd\src\amd_valid.c" />
1248
</ItemGroup>
1349
<PropertyGroup Label="Globals">
1450
<ProjectGuid>{530A3224-506F-4C26-853B-475E069FDDD6}</ProjectGuid>
1551
<RootNamespace>Project1</RootNamespace>
1652
<ProjectName>AMD</ProjectName>
53+
<WindowsTargetPlatformVersion>7.0</WindowsTargetPlatformVersion>
1754
</PropertyGroup>
1855
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
1956
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2057
<ConfigurationType>StaticLibrary</ConfigurationType>
2158
<UseDebugLibraries>true</UseDebugLibraries>
22-
<PlatformToolset>v110</PlatformToolset>
59+
<PlatformToolset>v141_xp</PlatformToolset>
2360
<CharacterSet>MultiByte</CharacterSet>
2461
</PropertyGroup>
2562
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
26-
<ConfigurationType>Application</ConfigurationType>
27-
<UseDebugLibraries>false</UseDebugLibraries>
28-
<PlatformToolset>v110</PlatformToolset>
29-
<WholeProgramOptimization>true</WholeProgramOptimization>
63+
<ConfigurationType>StaticLibrary</ConfigurationType>
64+
<UseDebugLibraries>true</UseDebugLibraries>
65+
<PlatformToolset>v141_xp</PlatformToolset>
66+
<CharacterSet>MultiByte</CharacterSet>
67+
</PropertyGroup>
68+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Export|Win32'" Label="Configuration">
69+
<ConfigurationType>StaticLibrary</ConfigurationType>
70+
<UseDebugLibraries>true</UseDebugLibraries>
71+
<PlatformToolset>v141_xp</PlatformToolset>
72+
<CharacterSet>MultiByte</CharacterSet>
73+
</PropertyGroup>
74+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
75+
<ConfigurationType>StaticLibrary</ConfigurationType>
76+
<UseDebugLibraries>true</UseDebugLibraries>
77+
<PlatformToolset>v141_xp</PlatformToolset>
78+
<CharacterSet>MultiByte</CharacterSet>
79+
</PropertyGroup>
80+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
81+
<ConfigurationType>StaticLibrary</ConfigurationType>
82+
<UseDebugLibraries>true</UseDebugLibraries>
83+
<PlatformToolset>v141_xp</PlatformToolset>
84+
<CharacterSet>MultiByte</CharacterSet>
85+
</PropertyGroup>
86+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Export|x64'" Label="Configuration">
87+
<ConfigurationType>StaticLibrary</ConfigurationType>
88+
<UseDebugLibraries>true</UseDebugLibraries>
89+
<PlatformToolset>v141_xp</PlatformToolset>
3090
<CharacterSet>MultiByte</CharacterSet>
3191
</PropertyGroup>
3292
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
@@ -35,59 +95,125 @@
3595
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
3696
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
3797
</ImportGroup>
38-
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
98+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
99+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
100+
</ImportGroup>
101+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Export|Win32'" Label="PropertySheets">
102+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
103+
</ImportGroup>
104+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
105+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
106+
</ImportGroup>
107+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
108+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
109+
</ImportGroup>
110+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Export|x64'" Label="PropertySheets">
39111
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
40112
</ImportGroup>
41113
<PropertyGroup Label="UserMacros" />
42114
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
115+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
116+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Export|Win32'" />
117+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
43118
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
44119
<ClCompile>
45120
<WarningLevel>Level3</WarningLevel>
46121
<Optimization>Disabled</Optimization>
47-
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
48-
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
122+
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
49123
<OpenMPSupport>false</OpenMPSupport>
124+
<PreprocessorDefinitions>NPRINT;DLONG;ZLONG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
125+
<UndefinePreprocessorDefinitions>NDEBUG;%(UndefinePreprocessorDefinitions)</UndefinePreprocessorDefinitions>
50126
</ClCompile>
51127
<Link>
52128
<GenerateDebugInformation>true</GenerateDebugInformation>
53129
<NoEntryPoint>true</NoEntryPoint>
54130
</Link>
131+
<Lib>
132+
<AdditionalLibraryDirectories>$(SolutionDir)$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
133+
</Lib>
55134
</ItemDefinitionGroup>
56135
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
57136
<ClCompile>
58137
<WarningLevel>Level3</WarningLevel>
59-
<Optimization>MaxSpeed</Optimization>
60-
<FunctionLevelLinking>true</FunctionLevelLinking>
61-
<IntrinsicFunctions>true</IntrinsicFunctions>
62-
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
63-
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
138+
<Optimization>Disabled</Optimization>
139+
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
140+
<OpenMPSupport>false</OpenMPSupport>
141+
<PreprocessorDefinitions>NPRINT;NDEBUG;DLONG;ZLONG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
64142
</ClCompile>
65143
<Link>
66144
<GenerateDebugInformation>true</GenerateDebugInformation>
67-
<EnableCOMDATFolding>true</EnableCOMDATFolding>
68-
<OptimizeReferences>true</OptimizeReferences>
145+
<NoEntryPoint>true</NoEntryPoint>
69146
</Link>
147+
<Lib>
148+
<AdditionalLibraryDirectories>$(SolutionDir)$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
149+
</Lib>
150+
</ItemDefinitionGroup>
151+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Export|Win32'">
152+
<ClCompile>
153+
<WarningLevel>Level3</WarningLevel>
154+
<Optimization>Disabled</Optimization>
155+
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
156+
<OpenMPSupport>false</OpenMPSupport>
157+
<PreprocessorDefinitions>NPRINT;NDEBUG;DLONG;ZLONG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
158+
</ClCompile>
159+
<Link>
160+
<GenerateDebugInformation>true</GenerateDebugInformation>
161+
<NoEntryPoint>true</NoEntryPoint>
162+
</Link>
163+
<Lib>
164+
<AdditionalLibraryDirectories>$(SolutionDir)$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
165+
</Lib>
166+
</ItemDefinitionGroup>
167+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
168+
<ClCompile>
169+
<WarningLevel>Level3</WarningLevel>
170+
<Optimization>Disabled</Optimization>
171+
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
172+
<OpenMPSupport>false</OpenMPSupport>
173+
<PreprocessorDefinitions>NPRINT;DLONG;ZLONG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
174+
<UndefinePreprocessorDefinitions>NDEBUG;%(UndefinePreprocessorDefinitions)</UndefinePreprocessorDefinitions>
175+
</ClCompile>
176+
<Link>
177+
<GenerateDebugInformation>true</GenerateDebugInformation>
178+
<NoEntryPoint>true</NoEntryPoint>
179+
</Link>
180+
<Lib />
181+
<Lib>
182+
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
183+
</Lib>
184+
</ItemDefinitionGroup>
185+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
186+
<ClCompile>
187+
<WarningLevel>Level3</WarningLevel>
188+
<Optimization>Disabled</Optimization>
189+
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
190+
<OpenMPSupport>false</OpenMPSupport>
191+
<PreprocessorDefinitions>NPRINT;NDEBUG;DLONG;ZLONG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
192+
</ClCompile>
193+
<Link>
194+
<GenerateDebugInformation>true</GenerateDebugInformation>
195+
<NoEntryPoint>true</NoEntryPoint>
196+
</Link>
197+
<Lib>
198+
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
199+
</Lib>
200+
</ItemDefinitionGroup>
201+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Export|x64'">
202+
<ClCompile>
203+
<WarningLevel>Level3</WarningLevel>
204+
<Optimization>Disabled</Optimization>
205+
<AdditionalIncludeDirectories>$(ProjectDir)\..\..\external\amd\include;$(ProjectDir)\..\..\external\SuiteSparse_config;$(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
206+
<OpenMPSupport>false</OpenMPSupport>
207+
<PreprocessorDefinitions>NPRINT;NDEBUG;DLONG;ZLONG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
208+
</ClCompile>
209+
<Link>
210+
<GenerateDebugInformation>true</GenerateDebugInformation>
211+
<NoEntryPoint>true</NoEntryPoint>
212+
</Link>
213+
<Lib>
214+
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
215+
</Lib>
70216
</ItemDefinitionGroup>
71-
<ItemGroup>
72-
<ClInclude Include="..\..\external\amd\include\amd.h" />
73-
<ClInclude Include="..\..\external\amd\include\amd_internal.h" />
74-
<ClInclude Include="..\..\external\suitesparse_config\SuiteSparse_config.h" />
75-
</ItemGroup>
76-
<ItemGroup>
77-
<ClCompile Include="..\..\external\amd\src\amd_1.c" />
78-
<ClCompile Include="..\..\external\amd\src\amd_2.c" />
79-
<ClCompile Include="..\..\external\amd\src\amd_aat.c" />
80-
<ClCompile Include="..\..\external\amd\src\amd_control.c" />
81-
<ClCompile Include="..\..\external\amd\src\amd_defaults.c" />
82-
<ClCompile Include="..\..\external\amd\src\amd_dump.c" />
83-
<ClCompile Include="..\..\external\amd\src\amd_global.c" />
84-
<ClCompile Include="..\..\external\amd\src\amd_info.c" />
85-
<ClCompile Include="..\..\external\amd\src\amd_order.c" />
86-
<ClCompile Include="..\..\external\amd\src\amd_postorder.c" />
87-
<ClCompile Include="..\..\external\amd\src\amd_post_tree.c" />
88-
<ClCompile Include="..\..\external\amd\src\amd_preprocess.c" />
89-
<ClCompile Include="..\..\external\amd\src\amd_valid.c" />
90-
</ItemGroup>
91217
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
92218
<ImportGroup Label="ExtensionTargets">
93219
</ImportGroup>

vstudio/AMD/AMD.vcxproj.filters

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)