Update architecture support for iOS, default now to ARMV7 as well as ARM64
This commit is contained in:
Submodule project/lib/curl updated: 10e4ec2b11...2a1b706e6c
Submodule project/lib/zlib updated: c95a5186cc...e3d8773545
@@ -141,56 +141,16 @@ class IOSPlatform extends PlatformTarget {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*var deployment = Std.parseFloat (iosDeployment);
|
|
||||||
var binaries = iosBinaries;
|
|
||||||
var devices = iosDevices;
|
|
||||||
|
|
||||||
if (binaries != "fat" && binaries != "armv7" && binaries != "armv6") {
|
|
||||||
|
|
||||||
InstallerBase.error ("iOS binaries must be one of: \"fat\", \"armv6\", \"armv7\"");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (devices != "iphone" && devices != "ipad" && devices != "universal") {
|
|
||||||
|
|
||||||
InstallerBase.error ("iOS devices must be one of: \"universal\", \"iphone\", \"ipad\"");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
var iphone = (devices == "universal" || devices == "iphone");
|
|
||||||
var ipad = (devices == "universal" || devices == "ipad");
|
|
||||||
|
|
||||||
armv6 = ((iphone && deployment < 5.0 && Std.parseInt (defines.get ("IPHONE_VER")) < 6) || binaries == "armv7");
|
|
||||||
armv7 = (binaries != "armv6" || !armv6 || ipad);
|
|
||||||
|
|
||||||
var valid_archs = new Array <String> ();
|
|
||||||
|
|
||||||
if (armv6) {
|
|
||||||
|
|
||||||
valid_archs.push("armv6");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (armv7) {
|
|
||||||
|
|
||||||
valid_archs.push("armv7");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (iosCompiler == "llvm" || iosCompiler == "clang") {
|
|
||||||
|
|
||||||
context.OBJC_ARC = true;
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
var valid_archs = new Array <String> ();
|
var valid_archs = new Array <String> ();
|
||||||
var armv6 = false;
|
var armv6 = false;
|
||||||
var armv7 = false;
|
var armv7 = false;
|
||||||
|
var armv7s = false;
|
||||||
|
var arm64 = false;
|
||||||
var architectures = project.architectures;
|
var architectures = project.architectures;
|
||||||
|
|
||||||
if (architectures == null || architectures.length == 0) {
|
if (architectures == null || architectures.length == 0) {
|
||||||
|
|
||||||
architectures = [ Architecture.ARMV7 ];
|
architectures = [ Architecture.ARMV7, Architecture.ARM64 ];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,6 +170,8 @@ class IOSPlatform extends PlatformTarget {
|
|||||||
|
|
||||||
case ARMV6: valid_archs.push ("armv6"); armv6 = true;
|
case ARMV6: valid_archs.push ("armv6"); armv6 = true;
|
||||||
case ARMV7: valid_archs.push ("armv7"); armv7 = true;
|
case ARMV7: valid_archs.push ("armv7"); armv7 = true;
|
||||||
|
case ARMV7S: valid_archs.push ("armv7s"); armv7s = true;
|
||||||
|
case ARM64: valid_archs.push ("arm64"); arm64 = true;
|
||||||
default:
|
default:
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -225,7 +187,7 @@ class IOSPlatform extends PlatformTarget {
|
|||||||
|
|
||||||
var requiredCapabilities = [];
|
var requiredCapabilities = [];
|
||||||
|
|
||||||
if (armv7 && !armv6) {
|
if (!armv6) {
|
||||||
|
|
||||||
requiredCapabilities.push( { name: "armv7", value: true } );
|
requiredCapabilities.push( { name: "armv7", value: true } );
|
||||||
|
|
||||||
@@ -234,6 +196,8 @@ class IOSPlatform extends PlatformTarget {
|
|||||||
context.REQUIRED_CAPABILITY = requiredCapabilities;
|
context.REQUIRED_CAPABILITY = requiredCapabilities;
|
||||||
context.ARMV6 = armv6;
|
context.ARMV6 = armv6;
|
||||||
context.ARMV7 = armv7;
|
context.ARMV7 = armv7;
|
||||||
|
context.ARMV7S = armv7s;
|
||||||
|
context.ARM64 = arm64;
|
||||||
context.TARGET_DEVICES = switch (project.config.getString ("ios.device", "universal")) { case "iphone": "1"; case "ipad": "2"; default: "1,2"; }
|
context.TARGET_DEVICES = switch (project.config.getString ("ios.device", "universal")) { case "iphone": "1"; case "ipad": "2"; default: "1,2"; }
|
||||||
context.DEPLOYMENT = project.config.getInt ("ios.deployment", 5);
|
context.DEPLOYMENT = project.config.getInt ("ios.deployment", 5);
|
||||||
|
|
||||||
@@ -325,14 +289,18 @@ class IOSPlatform extends PlatformTarget {
|
|||||||
|
|
||||||
public override function rebuild ():Void {
|
public override function rebuild ():Void {
|
||||||
|
|
||||||
var armv6 = (command == "rebuild" || (project.architectures.indexOf (Architecture.ARMV6) > -1 && !project.targetFlags.exists ("simulator")));
|
var armv6 = (project.architectures.indexOf (Architecture.ARMV6) > -1 && !project.targetFlags.exists ("simulator"));
|
||||||
var armv7 = (command == "rebuild" || (project.architectures.indexOf (Architecture.ARMV7) > -1 && !project.targetFlags.exists ("simulator")));
|
var armv7 = (command == "rebuild" || (project.architectures.indexOf (Architecture.ARMV7) > -1 && !project.targetFlags.exists ("simulator")));
|
||||||
|
var armv7s = (project.architectures.indexOf (Architecture.ARMV7S) > -1 && !project.targetFlags.exists ("simulator"));
|
||||||
|
var arm64 = (command == "rebuild" || (project.architectures.indexOf (Architecture.ARM64) > -1 && !project.targetFlags.exists ("simulator")));
|
||||||
var simulator = (command == "rebuild" || project.targetFlags.exists ("simulator"));
|
var simulator = (command == "rebuild" || project.targetFlags.exists ("simulator"));
|
||||||
|
|
||||||
var commands = [];
|
var commands = [];
|
||||||
|
|
||||||
if (armv6) commands.push ([ "-Diphoneos", "-DHXCPP_CPP11" ]);
|
if (armv6) commands.push ([ "-Diphoneos", "-DHXCPP_CPP11" ]);
|
||||||
if (armv7) commands.push ([ "-Diphoneos", "-DHXCPP_CPP11", "-DHXCPP_ARMV7" ]);
|
if (armv7) commands.push ([ "-Diphoneos", "-DHXCPP_CPP11", "-DHXCPP_ARMV7" ]);
|
||||||
|
if (armv7s) commands.push ([ "-Diphoneos", "-DHXCPP_CPP11", "-DHXCPP_ARMV7S" ]);
|
||||||
|
if (arm64) commands.push ([ "-Diphoneos", "-DHXCPP_CPP11", "-DHXCPP_ARM64" ]);
|
||||||
if (simulator) commands.push ([ "-Diphonesim", "-DHXCPP_CPP11" ]);
|
if (simulator) commands.push ([ "-Diphonesim", "-DHXCPP_CPP11" ]);
|
||||||
|
|
||||||
CPPHelper.rebuild (project, commands);
|
CPPHelper.rebuild (project, commands);
|
||||||
@@ -431,9 +399,9 @@ class IOSPlatform extends PlatformTarget {
|
|||||||
|
|
||||||
PathHelper.mkdir (projectDirectory + "/lib");
|
PathHelper.mkdir (projectDirectory + "/lib");
|
||||||
|
|
||||||
for (archID in 0...3) {
|
for (archID in 0...5) {
|
||||||
|
|
||||||
var arch = [ "armv6", "armv7", "i386" ][archID];
|
var arch = [ "armv6", "armv7", "armv7s", "arm64", "i386" ][archID];
|
||||||
|
|
||||||
if (arch == "armv6" && !context.ARMV6)
|
if (arch == "armv6" && !context.ARMV6)
|
||||||
continue;
|
continue;
|
||||||
@@ -441,7 +409,13 @@ class IOSPlatform extends PlatformTarget {
|
|||||||
if (arch == "armv7" && !context.ARMV7)
|
if (arch == "armv7" && !context.ARMV7)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
var libExt = [ ".iphoneos.a", ".iphoneos-v7.a", ".iphonesim.a" ][archID];
|
if (arch == "armv7s" && !context.ARMV7S)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (arch == "arm64" && !context.ARM64)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var libExt = [ ".iphoneos.a", ".iphoneos-v7.a", ".iphoneos-v7s.a", ".iphoneos-64.a", ".iphonesim.a" ][archID];
|
||||||
|
|
||||||
PathHelper.mkdir (projectDirectory + "/lib/" + arch);
|
PathHelper.mkdir (projectDirectory + "/lib/" + arch);
|
||||||
PathHelper.mkdir (projectDirectory + "/lib/" + arch + "-debug");
|
PathHelper.mkdir (projectDirectory + "/lib/" + arch + "-debug");
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ enum Architecture {
|
|||||||
ARMV5;
|
ARMV5;
|
||||||
ARMV6;
|
ARMV6;
|
||||||
ARMV7;
|
ARMV7;
|
||||||
|
ARMV7S;
|
||||||
|
ARM64;
|
||||||
X86;
|
X86;
|
||||||
X64;
|
X64;
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ class HXProject {
|
|||||||
|
|
||||||
if (target == Platform.IOS) {
|
if (target == Platform.IOS) {
|
||||||
|
|
||||||
architectures = [ Architecture.ARMV7 ];
|
architectures = [ Architecture.ARMV7, Architecture.ARM64 ];
|
||||||
|
|
||||||
} else if (target == Platform.ANDROID) {
|
} else if (target == Platform.ANDROID) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user