diff --git a/project/lib/curl b/project/lib/curl index 10e4ec2b1..2a1b706e6 160000 --- a/project/lib/curl +++ b/project/lib/curl @@ -1 +1 @@ -Subproject commit 10e4ec2b11d9da022bea17d6009bec6398198ab9 +Subproject commit 2a1b706e6c73f26fe73c31c334de6709b0a20313 diff --git a/project/lib/zlib b/project/lib/zlib index c95a5186c..e3d877354 160000 --- a/project/lib/zlib +++ b/project/lib/zlib @@ -1 +1 @@ -Subproject commit c95a5186cc36c1b45445591df5c695098747d12a +Subproject commit e3d87735455a99ea93bad8f6977bea46bfa2af60 diff --git a/tools/platforms/IOSPlatform.hx b/tools/platforms/IOSPlatform.hx index 2910f139c..8ab562d2d 100644 --- a/tools/platforms/IOSPlatform.hx +++ b/tools/platforms/IOSPlatform.hx @@ -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 (); - - 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 (); var armv6 = false; var armv7 = false; + var armv7s = false; + var arm64 = false; var architectures = project.architectures; 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 ARMV7: valid_archs.push ("armv7"); armv7 = true; + case ARMV7S: valid_archs.push ("armv7s"); armv7s = true; + case ARM64: valid_archs.push ("arm64"); arm64 = true; default: } @@ -225,7 +187,7 @@ class IOSPlatform extends PlatformTarget { var requiredCapabilities = []; - if (armv7 && !armv6) { + if (!armv6) { requiredCapabilities.push( { name: "armv7", value: true } ); @@ -234,6 +196,8 @@ class IOSPlatform extends PlatformTarget { context.REQUIRED_CAPABILITY = requiredCapabilities; context.ARMV6 = armv6; 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.DEPLOYMENT = project.config.getInt ("ios.deployment", 5); @@ -325,14 +289,18 @@ class IOSPlatform extends PlatformTarget { 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 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 commands = []; if (armv6) commands.push ([ "-Diphoneos", "-DHXCPP_CPP11" ]); 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" ]); CPPHelper.rebuild (project, commands); @@ -431,9 +399,9 @@ class IOSPlatform extends PlatformTarget { 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) continue; @@ -441,7 +409,13 @@ class IOSPlatform extends PlatformTarget { if (arch == "armv7" && !context.ARMV7) 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 + "-debug"); diff --git a/tools/project/Architecture.hx b/tools/project/Architecture.hx index b26b72b58..89b8974f7 100644 --- a/tools/project/Architecture.hx +++ b/tools/project/Architecture.hx @@ -6,6 +6,8 @@ enum Architecture { ARMV5; ARMV6; ARMV7; + ARMV7S; + ARM64; X86; X64; diff --git a/tools/project/HXProject.hx b/tools/project/HXProject.hx index 87712e123..0641fa655 100644 --- a/tools/project/HXProject.hx +++ b/tools/project/HXProject.hx @@ -144,7 +144,7 @@ class HXProject { if (target == Platform.IOS) { - architectures = [ Architecture.ARMV7 ]; + architectures = [ Architecture.ARMV7, Architecture.ARM64 ]; } else if (target == Platform.ANDROID) {