1<Project Sdk="Microsoft.NET.Sdk">
2  <PropertyGroup>
3    <TargetFrameworks Condition="$(OS) != 'Windows_NT'">net6.0</TargetFrameworks>
4    <TargetFrameworks Condition="$(OS) == 'Windows_NT'">net6.0-windows10.0.17763.0</TargetFrameworks>
5    <UseWPF Condition=" $(OS) == 'Windows_NT' And $(GUI_DISABLED) != 'true' ">true</UseWPF>
6    <LangVersion>7.2</LangVersion>
7    <PropertiesLocation>../../../output/properties.csproj</PropertiesLocation>
8    <AssemblyName>Infrastructure</AssemblyName>
9    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
10  </PropertyGroup>
11  <Import Project="$(PropertiesLocation)" />
12  <PropertyGroup Condition=" $(GUI_DISABLED) == 'true' ">
13    <DefineConstants>$(DefineConstants);GUI_DISABLED</DefineConstants>
14  </PropertyGroup>
15  <Target Name="VerifyProperties">
16    <Error Text="Configuration not provided" Condition=" $(Configuration) == '' " />
17  </Target>
18  <ItemGroup>
19    <PackageReference Include="Mono.Posix" Version="7.1.0-final.1.21458.1" Condition=" $(OS) != 'Windows_NT'" />
20    <PackageReference Include="System.Drawing.Common" Version="5.0.3" />
21    <PackageReference Include="Microsoft.CodeAnalysis.Compilers" Version="3.9.0" />
22    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.9.0" />
23    <PackageReference Include="Dynamitey" Version="2.0.10.189" />
24    <PackageReference Include="Mono.Cecil" Version="0.11.3" />
25    <PackageReference Include="K4os.Compression.LZ4" Version="1.3.8" />
26    <Reference Include="IronPython">
27      <HintPath>..\..\..\lib\resources\libraries\ironpython-netcore\IronPython.dll</HintPath>
28    </Reference>
29    <Reference Include="IronPython.Modules">
30      <HintPath>..\..\..\lib\resources\libraries\ironpython-netcore\IronPython.Modules.dll</HintPath>
31    </Reference>
32    <PackageReference Include="IronPython.StdLib" Version="2.7.12.0">
33      <!-- We only need the Lib directory with python files, IronPython is referenced from our patched dll -->
34      <IncludeAssets>contentFiles</IncludeAssets>
35      <GeneratePathProperty>true</GeneratePathProperty>
36    </PackageReference>
37    <PackageReference Include="DynamicLanguageRuntime" Version="1.3.5" />
38    <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
39    <Reference Include="ProtobufNet">
40      <HintPath>../../../lib/resources/libraries/protobuf-net.dll</HintPath>
41    </Reference>
42    <Reference Include="FlatBuffers">
43      <HintPath>../../../lib/resources/libraries/FlatBuffers.dll</HintPath>
44    </Reference>
45    <Reference Include="Microsoft.Scripting">
46      <HintPath>../../../lib/resources/libraries/Microsoft.Scripting.dll</HintPath>
47    </Reference>
48    <Reference Include="BitMiracle.LibJpeg.NET.dll">
49      <HintPath>../../../lib/resources/libraries/BitMiracle.LibJpeg.NET.dll</HintPath>
50    </Reference>
51    <Reference Include="Mono.CSharp">
52      <HintPath>../../../lib/resources/libraries/mcs.dll</HintPath>
53    </Reference>
54    <Reference Include="Microsoft.Dynamic">
55      <HintPath>../../../lib/resources/libraries/Microsoft.Dynamic.dll</HintPath>
56    </Reference>
57    <Reference Include="Mono.Linq.Expressions">
58      <HintPath>../../../lib/resources/libraries/Mono.Linq.Expressions.dll</HintPath>
59    </Reference>
60    <Reference Include="Nini">
61      <HintPath>../../../lib/resources/libraries/Nini.dll</HintPath>
62    </Reference>
63  </ItemGroup>
64
65  <ItemGroup Condition=" $(CurrentPlatform) != Windows And $(GUI_DISABLED) != 'true' ">
66    <PackageReference Include="GdkSharp" Version="3.24.24.95" />
67    <PackageReference Include="GLibSharp" Version="3.24.24.95" />
68  </ItemGroup>
69  <Import Project="$(MSBuildProjectDirectory)/BuildAdditionalProjects-UI.csproj.targets" Condition="Exists('$(MSBuildProjectDirectory)/BuildAdditionalProjects-UI.csproj.targets')" />
70  <ItemGroup>
71    <Compile Remove="Plugins/**/*"/>
72    <Compile Remove="Emulator/Main/Tests/**/*"/>
73    <Compile Remove="Emulator/Main/Utilities/AdHocCompiler.cs"/>
74    <Compile Remove="Emulator/Peripherals/Test/**/*"/>
75    <Compile Remove="Emulator/Extensions/MonitorTests/**/*" />
76    <Compile Remove="Emulator/Extensions/TAPHelper/DynamicModuleSpawner.cs" />
77    <!--
78    Exclude Assembly* files that may remain from removed Extensions, cores*, Emulator, Peripherals and UI projects.
79    They cause conflict with the new Infrastructure_NET.csproj
80    -->
81    <Compile Remove="**/obj/**/*AssemblyInfo.cs"/>
82    <Compile Remove="**/obj/**/*AssemblyAttributes.cs"/>
83  </ItemGroup>
84
85  <Target Name="PrepareEmbeddedResources" BeforeTargets="ResolveReferences" >
86    <ItemGroup>
87      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-arm64-le.so">
88        <LogicalName>Antmicro.Renode.translate-arm64-le.so</LogicalName>
89      </EmbeddedResource>
90      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-arm-le.so">
91        <LogicalName>Antmicro.Renode.translate-arm-le.so</LogicalName>
92      </EmbeddedResource>
93      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-arm-be.so">
94        <LogicalName>Antmicro.Renode.translate-arm-be.so</LogicalName>
95      </EmbeddedResource>
96      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-arm-m-le.so">
97        <LogicalName>Antmicro.Renode.translate-arm-m-le.so</LogicalName>
98      </EmbeddedResource>
99      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-arm-m-be.so">
100        <LogicalName>Antmicro.Renode.translate-arm-m-be.so</LogicalName>
101      </EmbeddedResource>
102      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-i386-le.so">
103        <LogicalName>Antmicro.Renode.translate-i386-le.so</LogicalName>
104      </EmbeddedResource>
105      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-x86_64-le.so">
106        <LogicalName>Antmicro.Renode.translate-x86_64-le.so</LogicalName>
107      </EmbeddedResource>
108      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-riscv64-le.so">
109        <LogicalName>Antmicro.Renode.translate-riscv64-le.so</LogicalName>
110      </EmbeddedResource>
111      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-riscv-le.so">
112        <LogicalName>Antmicro.Renode.translate-riscv-le.so</LogicalName>
113      </EmbeddedResource>
114      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-ppc-be.so">
115        <LogicalName>Antmicro.Renode.translate-ppc-be.so</LogicalName>
116      </EmbeddedResource>
117      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-ppc64-be.so">
118        <LogicalName>Antmicro.Renode.translate-ppc64-be.so</LogicalName>
119      </EmbeddedResource>
120      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-xtensa-le.so">
121        <LogicalName>Antmicro.Renode.translate-xtensa-le.so</LogicalName>
122      </EmbeddedResource>
123      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-sparc-le.so">
124        <LogicalName>Antmicro.Renode.translate-sparc-le.so</LogicalName>
125      </EmbeddedResource>
126      <EmbeddedResource Include="Emulator/Cores/bin/$(Configuration)/lib/translate-sparc-be.so">
127        <LogicalName>Antmicro.Renode.translate-sparc-be.so</LogicalName>
128      </EmbeddedResource>
129    </ItemGroup>
130  </Target>
131
132  <ItemGroup>
133    <ProjectReference Include="../../../lib/Migrant/Migrant/Migrant_NET.csproj"/>
134    <ProjectReference Include="../../../lib/ELFSharp/ELFSharp/ELFSharp_NET.csproj"/>
135    <ProjectReference Include="../../../lib/AntShell/AntShell/AntShell_NET.csproj"/>
136    <ProjectReference Include="../../../lib/FdtSharp/FdtSharp/FdtSharp_NET.csproj"/>
137    <ProjectReference Include="../../../lib/termsharp/TermSharp_NET.csproj"/>
138    <ProjectReference Include="../../../lib/termsharp/xwt/Xwt/Xwt_NET.csproj"/>
139    <ProjectReference Include="../../../lib/Packet.Net/PacketDotNet/PacketDotNet_NET.csproj"/>
140    <ProjectReference Include="../../../lib/bc-csharp/crypto/crypto_NET.csproj"/>
141    <ProjectReference Include="../../../lib/CxxDemangler/CxxDemangler/CxxDemangler_NET.csproj"/>
142    <ProjectReference Include="../../../lib/termsharp/xwt/Xwt.Gtk/Xwt.Gtk3_NET.csproj" Condition=" $(OS) != 'Windows_NT' And $(GUI_DISABLED) != 'true' "/>
143    <ProjectReference Include="../../../lib/termsharp/xwt/Xwt.WPF/Xwt.WPF_NET.csproj" Condition=" $(OS) == 'Windows_NT' And $(GUI_DISABLED) != 'true' "/>
144    <ProjectReference Include="../../../lib/BigGustave/src/BigGustave/BigGustave_NET.csproj"/>
145    <ProjectReference Include="../../../lib/options-parser/OptionsParser_NET.csproj"/>
146  </ItemGroup>
147
148  <ItemGroup>
149    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-custom">
150      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Custom</LogicalName>
151    </EmbeddedResource>
152    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-pseudo">
153      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Pseudo</LogicalName>
154    </EmbeddedResource>
155    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32a">
156      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32a</LogicalName>
157    </EmbeddedResource>
158    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32b">
159      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32b</LogicalName>
160    </EmbeddedResource>
161    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32c">
162      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32c</LogicalName>
163    </EmbeddedResource>
164    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32d">
165      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32d</LogicalName>
166    </EmbeddedResource>
167    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32d-zfh">
168      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32d-zfh</LogicalName>
169    </EmbeddedResource>
170    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32f">
171      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32f</LogicalName>
172    </EmbeddedResource>
173    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32h">
174      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32h</LogicalName>
175    </EmbeddedResource>
176    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32i">
177      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32i</LogicalName>
178    </EmbeddedResource>
179    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32k">
180      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32k</LogicalName>
181    </EmbeddedResource>
182    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32m">
183      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32m</LogicalName>
184    </EmbeddedResource>
185    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32q">
186      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32q</LogicalName>
187    </EmbeddedResource>
188    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32q-zfh">
189      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32q-zfh</LogicalName>
190    </EmbeddedResource>
191    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv32zfh">
192      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv32zfh</LogicalName>
193    </EmbeddedResource>
194    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64a">
195      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64a</LogicalName>
196    </EmbeddedResource>
197    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64b">
198      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64b</LogicalName>
199    </EmbeddedResource>
200    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64c">
201      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64c</LogicalName>
202    </EmbeddedResource>
203    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64d">
204      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64d</LogicalName>
205    </EmbeddedResource>
206    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64f">
207      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64f</LogicalName>
208    </EmbeddedResource>
209    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64h">
210      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64h</LogicalName>
211    </EmbeddedResource>
212    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64i">
213      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64i</LogicalName>
214    </EmbeddedResource>
215    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64k">
216      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64k</LogicalName>
217    </EmbeddedResource>
218    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64m">
219      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64m</LogicalName>
220    </EmbeddedResource>
221    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64q">
222      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64q</LogicalName>
223    </EmbeddedResource>
224    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rv64zfh">
225      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rv64zfh</LogicalName>
226    </EmbeddedResource>
227    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rvc">
228      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rvc</LogicalName>
229    </EmbeddedResource>
230    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rvk">
231      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rvk</LogicalName>
232    </EmbeddedResource>
233    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rvp">
234      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rvp</LogicalName>
235    </EmbeddedResource>
236    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rvv">
237      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rvv</LogicalName>
238    </EmbeddedResource>
239    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-rvv-pseudo">
240      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Rvv-pseudo</LogicalName>
241    </EmbeddedResource>
242    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-svinval">
243      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.Svinval</LogicalName>
244    </EmbeddedResource>
245    <EmbeddedResource Include="Emulator/Cores/RiscV/opcodes/opcodes-system">
246      <LogicalName>Antmicro.Renode.Cores.RiscV.Opcodes.System</LogicalName>
247    </EmbeddedResource>
248  </ItemGroup>
249</Project>
250