Skip to content

Commit 7d02804

Browse files
authored
Merge pull request #642 from ikvmnet/android-x64
Add android-x64 native libraries, for emulator support mostly.
2 parents 064be94 + 37156f4 commit 7d02804

File tree

16 files changed

+65
-6
lines changed

16 files changed

+65
-6
lines changed

Diff for: Directory.Build.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Project>
22
<PropertyGroup Label="Runtime Info">
3-
<SupportedRuntimes>win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm;linux-musl-arm64;osx-x64;osx-arm64;android-arm64</SupportedRuntimes>
3+
<SupportedRuntimes>win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm;linux-musl-arm64;osx-x64;osx-arm64;android-x64;android-arm64</SupportedRuntimes>
44
<EnabledRuntimes Condition=" '$(EnabledRuntimes)' == '' ">$(SupportedRuntimes)</EnabledRuntimes>
5-
<SupportedImageRuntimes>win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm;linux-musl-arm64;osx-x64;osx-arm64;android-arm64</SupportedImageRuntimes>
5+
<SupportedImageRuntimes>win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm;linux-musl-arm64;osx-x64;osx-arm64;android-x64;android-arm64</SupportedImageRuntimes>
66
<EnabledImageRuntimes Condition=" '$(EnabledImageRuntimes)' == '' ">$(SupportedImageRuntimes)</EnabledImageRuntimes>
77
<SupportedImageBinRuntimes>win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm;linux-musl-arm64;osx-x64;osx-arm64</SupportedImageBinRuntimes>
88
<EnabledImageBinRuntimes Condition=" '$(EnabledImageBinRuntimes)' == '' ">$(SupportedImageBinRuntimes)</EnabledImageBinRuntimes>

Diff for: IKVM.sln

+6
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IKVM.Benchmarks.Java", "src
328328
EndProject
329329
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IKVM.Image.runtime.android-arm64", "src\IKVM.Image.runtime.android-arm64\IKVM.Image.runtime.android-arm64.csproj", "{843B0704-DA5E-4357-B683-3D6F64DEF57B}"
330330
EndProject
331+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IKVM.Image.runtime.android-x64", "src\IKVM.Image.runtime.android-x64\IKVM.Image.runtime.android-x64.csproj", "{BE63E873-381D-423D-93F6-F3B25AEF4C57}"
332+
EndProject
331333
Global
332334
GlobalSection(SolutionConfigurationPlatforms) = preSolution
333335
Debug|Any CPU = Debug|Any CPU
@@ -910,6 +912,10 @@ Global
910912
{843B0704-DA5E-4357-B683-3D6F64DEF57B}.Debug|Any CPU.Build.0 = Debug|Any CPU
911913
{843B0704-DA5E-4357-B683-3D6F64DEF57B}.Release|Any CPU.ActiveCfg = Release|Any CPU
912914
{843B0704-DA5E-4357-B683-3D6F64DEF57B}.Release|Any CPU.Build.0 = Release|Any CPU
915+
{BE63E873-381D-423D-93F6-F3B25AEF4C57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
916+
{BE63E873-381D-423D-93F6-F3B25AEF4C57}.Debug|Any CPU.Build.0 = Debug|Any CPU
917+
{BE63E873-381D-423D-93F6-F3B25AEF4C57}.Release|Any CPU.ActiveCfg = Release|Any CPU
918+
{BE63E873-381D-423D-93F6-F3B25AEF4C57}.Release|Any CPU.Build.0 = Release|Any CPU
913919
EndGlobalSection
914920
GlobalSection(SolutionProperties) = preSolution
915921
HideSolutionNode = FALSE
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<Project>
2+
<Import Sdk="Microsoft.Build.NoTargets" Project="Sdk.props" />
3+
4+
<PropertyGroup>
5+
<TargetFrameworks>net472;net6.0;net8.0</TargetFrameworks>
6+
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
7+
<PackageReadmeFile>README.md</PackageReadmeFile>
8+
<Description>IKVM Runtime Image</Description>
9+
<IncludeSymbols>false</IncludeSymbols>
10+
<ImageRuntimeIdentifier>android-x64</ImageRuntimeIdentifier>
11+
</PropertyGroup>
12+
13+
<Import Sdk="Microsoft.Build.NoTargets" Project="Sdk.targets" />
14+
<Import Project="$(MSBuildThisFileDirectory)..\IKVM.Image\IKVM.Image.runtime.targets" />
15+
</Project>
16+

Diff for: src/IKVM.Image.runtime.android-x64/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# IKVM.Image
2+
3+
Native requirements for IKVM.Image.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<Project>
2+
<PropertyGroup>
3+
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
4+
</PropertyGroup>
5+
6+
<ItemGroup>
7+
<IkvmImageItem Include="$(MSBuildThisFileDirectory)..\ikvm\any\android-x64\**\*">
8+
<TargetFramework>any</TargetFramework>
9+
<RuntimeIdentifier>android-x64</RuntimeIdentifier>
10+
<ImagePath>%(RecursiveDir)%(FileName)%(Extension)</ImagePath>
11+
</IkvmImageItem>
12+
<IkvmImageItem Include="$(MSBuildThisFileDirectory)..\ikvm\net6.0\android-x64\**\*">
13+
<TargetFramework>net6.0</TargetFramework>
14+
<RuntimeIdentifier>android-x64</RuntimeIdentifier>
15+
<ImagePath>%(RecursiveDir)%(FileName)%(Extension)</ImagePath>
16+
</IkvmImageItem>
17+
<IkvmImageItem Include="$(MSBuildThisFileDirectory)..\ikvm\net8.0\android-x64\**\*">
18+
<TargetFramework>net8.0</TargetFramework>
19+
<RuntimeIdentifier>android-x64</RuntimeIdentifier>
20+
<ImagePath>%(RecursiveDir)%(FileName)%(Extension)</ImagePath>
21+
</IkvmImageItem>
22+
</ItemGroup>
23+
24+
</Project>

Diff for: src/IKVM.Image.runtime.android-x64/lib/net472/_._

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+


Diff for: src/IKVM.Image.runtime.android-x64/lib/net6.0/_._

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+


Diff for: src/IKVM.Image.runtime.android-x64/lib/net8.0/_._

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+


Diff for: src/IKVM.Image/IKVM.Image.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<ProjectReference Include="..\IKVM.Image.runtime.linux-musl-arm64\IKVM.Image.runtime.linux-musl-arm64.csproj" ReferenceOutputAssembly="true" Condition="$(_EnabledImageRuntimes.Contains(';linux-musl-arm64;'))" />
2424
<ProjectReference Include="..\IKVM.Image.runtime.osx-x64\IKVM.Image.runtime.osx-x64.csproj" ReferenceOutputAssembly="true" Condition="$(_EnabledImageRuntimes.Contains(';osx-x64;'))" />
2525
<ProjectReference Include="..\IKVM.Image.runtime.osx-arm64\IKVM.Image.runtime.osx-arm64.csproj" ReferenceOutputAssembly="true" Condition="$(_EnabledImageRuntimes.Contains(';osx-arm64;'))" />
26+
<ProjectReference Include="..\IKVM.Image.runtime.android-x64\IKVM.Image.runtime.android-x64.csproj" ReferenceOutputAssembly="true" Condition="$(_EnabledImageRuntimes.Contains(';android-x64;'))" />
2627
<ProjectReference Include="..\IKVM.Image.runtime.android-arm64\IKVM.Image.runtime.android-arm64.csproj" ReferenceOutputAssembly="true" Condition="$(_EnabledImageRuntimes.Contains(';android-arm64;'))" />
2728
</ItemGroup>
2829

Diff for: src/IKVM.Image/buildTransitive/IKVM.Image.targets

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<ItemGroup>
77
<IkvmImageAvailableTargetFrameworks Include="net472;net6.0;net8.0" />
8-
<IkvmImageAvailableRuntimeIdentifiers Include="win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm;linux-musl-arm64;osx-x64;osx-arm64;android-arm64" />
8+
<IkvmImageAvailableRuntimeIdentifiers Include="win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm;linux-musl-arm64;osx-x64;osx-arm64;android-x64;android-arm64" />
99
</ItemGroup>
1010

1111
<Choose>

Diff for: src/IKVM.Java/IKVM.Java.runtime.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313

1414
<PropertyGroup>
1515
<OpenJdkTargetOsApiDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'win' Or '$(IkvmJavaRuntimeIdentifier)' == 'ref' ">windows</OpenJdkTargetOsApiDir>
16-
<OpenJdkTargetOsApiDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'linux' Or '$(IkvmJavaRuntimeIdentifier)' == 'osx' Or '$(IkvmJavaRuntimeIdentifier)' == 'android'">solaris</OpenJdkTargetOsApiDir>
16+
<OpenJdkTargetOsApiDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'linux' Or '$(IkvmJavaRuntimeIdentifier)' == 'osx' ">solaris</OpenJdkTargetOsApiDir>
1717
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'win' Or '$(IkvmJavaRuntimeIdentifier)' == 'ref' ">windows</OpenJdkTargetOsDir>
18-
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'linux' Or '$(IkvmJavaRuntimeIdentifier)' == 'android' ">linux</OpenJdkTargetOsDir>
18+
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'linux' ">linux</OpenJdkTargetOsDir>
1919
<OpenJdkTargetOsDir Condition=" '$(IkvmJavaRuntimeIdentifier)' == 'osx' ">macosx</OpenJdkTargetOsDir>
2020
</PropertyGroup>
2121

Diff for: src/IKVM.MSBuild.Tests/IKVM.MSBuild.Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
<PackageProjectReference Include="..\IKVM.Image.runtime.linux-musl-arm64\IKVM.Image.runtime.linux-musl-arm64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';linux-musl-arm64;'))" />
5353
<PackageProjectReference Include="..\IKVM.Image.runtime.osx-x64\IKVM.Image.runtime.osx-x64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';osx-x64;'))" />
5454
<PackageProjectReference Include="..\IKVM.Image.runtime.osx-arm64\IKVM.Image.runtime.osx-arm64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';osx-arm64;'))" />
55+
<PackageProjectReference Include="..\IKVM.Image.runtime.android-x64\IKVM.Image.runtime.android-x64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';android-x64;'))" />
5556
<PackageProjectReference Include="..\IKVM.Image.runtime.android-arm64\IKVM.Image.runtime.android-arm64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';android-arm64;'))" />
5657
<PackageProjectReference Include="..\IKVM.Image.JRE\IKVM.Image.JRE.csproj" PackageTargetPath="nuget" />
5758
<PackageProjectReference Include="..\IKVM.Image.JRE.runtime.win-x64\IKVM.Image.JRE.runtime.win-x64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';win-x64;'))" />

Diff for: src/IKVM.NET.Sdk.Tests/IKVM.NET.Sdk.Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<PackageProjectReference Include="..\IKVM.Image.runtime.linux-musl-arm64\IKVM.Image.runtime.linux-musl-arm64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';linux-musl-arm64;'))" />
4747
<PackageProjectReference Include="..\IKVM.Image.runtime.osx-x64\IKVM.Image.runtime.osx-x64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';osx-x64;'))" />
4848
<PackageProjectReference Include="..\IKVM.Image.runtime.osx-arm64\IKVM.Image.runtime.osx-arm64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';osx-arm64;'))" />
49+
<PackageProjectReference Include="..\IKVM.Image.runtime.android-x64\IKVM.Image.runtime.android-x64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';android-x64;'))" />
4950
<PackageProjectReference Include="..\IKVM.Image.runtime.android-arm64\IKVM.Image.runtime.android-arm64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';android-arm64;'))" />
5051
<PackageProjectReference Include="..\IKVM.Image.JRE\IKVM.Image.JRE.csproj" PackageTargetPath="nuget" />
5152
<PackageProjectReference Include="..\IKVM.Image.JRE.runtime.win-x64\IKVM.Image.JRE.runtime.win-x64.csproj" PackageTargetPath="nuget" Condition="$(_EnabledImageRuntimes.Contains(';win-x64;'))" />

Diff for: src/dist-nuget/dist-nuget.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@
7575
<PackageProjectReference Include="..\IKVM.Image.runtime.osx-arm64\IKVM.Image.runtime.osx-arm64.csproj" Condition="$(_EnabledImageRuntimes.Contains(';osx-arm64;'))">
7676
<PackageTargetPath>.</PackageTargetPath>
7777
</PackageProjectReference>
78+
<PackageProjectReference Include="..\IKVM.Image.runtime.android-x64\IKVM.Image.runtime.android-x64.csproj" Condition="$(_EnabledImageRuntimes.Contains(';android-x64;'))">
79+
<PackageTargetPath>.</PackageTargetPath>
80+
</PackageProjectReference>
7881
<PackageProjectReference Include="..\IKVM.Image.runtime.android-arm64\IKVM.Image.runtime.android-arm64.csproj" Condition="$(_EnabledImageRuntimes.Contains(';android-arm64;'))">
7982
<PackageTargetPath>.</PackageTargetPath>
8083
</PackageProjectReference>

Diff for: src/libnet/libnet.clangproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<ItemGroup Condition="!$(TargetIdentifier.StartsWith('win-'))">
3333
<LibNetDirs Include="$(OpenJdkDir)jdk\src\$(OpenJdkTargetOsApiDir)\native\sun\net\sdp" />
3434
</ItemGroup>
35-
<ItemGroup Condition="!$(TargetIdentifier.StartsWith('linux-')) Or $(TargetIdentifier.StartsWith('android-'))">
35+
<ItemGroup Condition="!$(TargetIdentifier.StartsWith('linux-')) And !$(TargetIdentifier.StartsWith('android-'))">
3636
<LibNetExclude Include="linux_close.c" />
3737
</ItemGroup>
3838
<ItemGroup Condition="!$(TargetIdentifier.StartsWith('osx-'))">

Diff for: targets/lib.props

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<TargetTriple Condition=" '$(TargetIdentifier)' == 'linux-musl-arm' ">arm-unknown-linux-musleabihf</TargetTriple>
2727
<TargetTriple Condition=" '$(TargetIdentifier)' == 'osx-x64' ">x86_64-apple-macosx</TargetTriple>
2828
<TargetTriple Condition=" '$(TargetIdentifier)' == 'osx-arm64' ">arm64-apple-macosx</TargetTriple>
29+
<TargetTriple Condition=" '$(TargetIdentifier)' == 'android-x64' ">x86_64-linux-android</TargetTriple>
2930
<TargetTriple Condition=" '$(TargetIdentifier)' == 'android-arm' ">arm-linux-androideabi</TargetTriple>
3031
<TargetTriple Condition=" '$(TargetIdentifier)' == 'android-arm64' ">aarch64-linux-android</TargetTriple>
3132
</PropertyGroup>

0 commit comments

Comments
 (0)