Progress on X886_64 support for Android
This commit is contained in:
@@ -59,6 +59,7 @@ class AndroidPlatform extends PlatformTarget
|
|||||||
var hasARMV7 = ArrayTools.containsValue(project.architectures, Architecture.ARMV7);
|
var hasARMV7 = ArrayTools.containsValue(project.architectures, Architecture.ARMV7);
|
||||||
var hasARM64 = ArrayTools.containsValue(project.architectures, Architecture.ARM64);
|
var hasARM64 = ArrayTools.containsValue(project.architectures, Architecture.ARM64);
|
||||||
var hasX86 = ArrayTools.containsValue(project.architectures, Architecture.X86);
|
var hasX86 = ArrayTools.containsValue(project.architectures, Architecture.X86);
|
||||||
|
var hasX64 = ArrayTools.containsValue(project.architectures, Architecture.X64);
|
||||||
|
|
||||||
var architectures = [];
|
var architectures = [];
|
||||||
|
|
||||||
@@ -66,6 +67,7 @@ class AndroidPlatform extends PlatformTarget
|
|||||||
if (hasARMV7 || (!hasARMV5 && !hasX86)) architectures.push(Architecture.ARMV7);
|
if (hasARMV7 || (!hasARMV5 && !hasX86)) architectures.push(Architecture.ARMV7);
|
||||||
if (hasARM64) architectures.push(Architecture.ARM64);
|
if (hasARM64) architectures.push(Architecture.ARM64);
|
||||||
if (hasX86) architectures.push(Architecture.X86);
|
if (hasX86) architectures.push(Architecture.X86);
|
||||||
|
if (hasX64) architectures.push(Architecture.X64);
|
||||||
|
|
||||||
for (architecture in architectures)
|
for (architecture in architectures)
|
||||||
{
|
{
|
||||||
@@ -101,6 +103,14 @@ class AndroidPlatform extends PlatformTarget
|
|||||||
path = sourceSet + "/jniLibs/x86";
|
path = sourceSet + "/jniLibs/x86";
|
||||||
suffix = "-x86.so";
|
suffix = "-x86.so";
|
||||||
}
|
}
|
||||||
|
else if (architecture == Architecture.X64)
|
||||||
|
{
|
||||||
|
haxeParams.push("-D");
|
||||||
|
haxeParams.push("HXCPP_M64");
|
||||||
|
cppParams.push("-DHXCPP_M64");
|
||||||
|
path = sourceSet + "/jniLibs/x86_64";
|
||||||
|
suffix = "-x86_64.so";
|
||||||
|
}
|
||||||
|
|
||||||
for (ndll in project.ndlls)
|
for (ndll in project.ndlls)
|
||||||
{
|
{
|
||||||
@@ -148,6 +158,14 @@ class AndroidPlatform extends PlatformTarget
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!hasX64)
|
||||||
|
{
|
||||||
|
if (FileSystem.exists(sourceSet + "/jniLibs/x86_64"))
|
||||||
|
{
|
||||||
|
System.removeDirectory(sourceSet + "/jniLibs/x86_64");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (noOutput) return;
|
if (noOutput) return;
|
||||||
|
|
||||||
AndroidHelper.build(project, destination);
|
AndroidHelper.build(project, destination);
|
||||||
@@ -246,6 +264,7 @@ class AndroidPlatform extends PlatformTarget
|
|||||||
var armv7 = (command == "rebuild" || ArrayTools.containsValue(project.architectures, Architecture.ARMV7));
|
var armv7 = (command == "rebuild" || ArrayTools.containsValue(project.architectures, Architecture.ARMV7));
|
||||||
var arm64 = (command == "rebuild" || ArrayTools.containsValue(project.architectures, Architecture.ARM64));
|
var arm64 = (command == "rebuild" || ArrayTools.containsValue(project.architectures, Architecture.ARM64));
|
||||||
var x86 = (command == "rebuild" || ArrayTools.containsValue(project.architectures, Architecture.X86));
|
var x86 = (command == "rebuild" || ArrayTools.containsValue(project.architectures, Architecture.X86));
|
||||||
|
var x64 = (/*command == "rebuild" ||*/ ArrayTools.containsValue(project.architectures, Architecture.X64));
|
||||||
|
|
||||||
var commands = [];
|
var commands = [];
|
||||||
|
|
||||||
@@ -253,6 +272,7 @@ class AndroidPlatform extends PlatformTarget
|
|||||||
if (armv7) commands.push(["-Dandroid", "-DHXCPP_ARMV7", "-DHXCPP_ARM7", "-DPLATFORM=android-16"]);
|
if (armv7) commands.push(["-Dandroid", "-DHXCPP_ARMV7", "-DHXCPP_ARM7", "-DPLATFORM=android-16"]);
|
||||||
if (arm64) commands.push(["-Dandroid", "-DHXCPP_ARM64", "-DPLATFORM=android-21"]);
|
if (arm64) commands.push(["-Dandroid", "-DHXCPP_ARM64", "-DPLATFORM=android-21"]);
|
||||||
if (x86) commands.push(["-Dandroid", "-DHXCPP_X86", "-DPLATFORM=android-16"]);
|
if (x86) commands.push(["-Dandroid", "-DHXCPP_X86", "-DPLATFORM=android-16"]);
|
||||||
|
if (x64) commands.push(["-Dandroid", "-DHXCPP_M64", "-DPLATFORM=android-21"]);
|
||||||
|
|
||||||
CPPHelper.rebuild(project, commands);
|
CPPHelper.rebuild(project, commands);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user