Skip to content

Commit ae00a55

Browse files
committed
fix swift
1 parent 296e8e4 commit ae00a55

4 files changed

Lines changed: 15 additions & 3 deletions

File tree

server/src/main/java/com/defold/extender/services/cocoapods/PodUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ public static String swiftModuleNameFromPlatform(String extenderTargetPlatform)
103103
switch(extenderTargetPlatform) {
104104
case "arm64-ios": return "arm64-apple-ios";
105105
case "x86_64-ios": return "x86_64-apple-ios-simulator";
106+
case "arm64-osx":
106107
case "arm64-macos": return "arm64-apple-macos";
108+
case "x86_64-osx":
107109
case "x86_64-macos": return "x86_64-apple-macos";
108110
default:
109111
throw new ExtenderException(String.format("Invalid platform input for swift module name %s", extenderTargetPlatform));

server/src/test/java/com/defold/extender/ExtenderTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,12 +416,16 @@ public void testOsxCompileCommandCarriesSdkFlags() throws IOException, ExtenderE
416416
assertTrue(platformConfig.compileCmd.contains("-isysroot {{env.SYSROOT}}"));
417417
assertEquals("arm64", platformConfig.context.get("clangArch"));
418418
assertEquals("arm64-apple-darwin19", platformConfig.context.get("clangTarget"));
419+
List<String> swiftFlags = (List<String>)platformConfig.context.get("swiftFlags");
420+
assertTrue(swiftFlags.contains("arm64-apple-macosx{{osMinVersion}}"));
419421

420422
List<String> flags = (List<String>)platformConfig.context.get("flags");
421423
assertFalse(flags.contains("-arch"));
422424
assertFalse(flags.contains("-target"));
423425
assertFalse(flags.contains("-isysroot"));
424426
assertFalse(flags.contains("{{env.SYSROOT}}"));
427+
List<String> libPaths = (List<String>)platformConfig.context.get("libPaths");
428+
assertTrue(libPaths.contains("{{env.PLATFORMSDK_DIR}}/XcodeDefault{{env.XCODE_VERSION}}.xctoolchain/usr/lib/swift/macosx"));
425429

426430
Map<String, String> env = new HashMap<>();
427431
env.put("SYSROOT", "/opt/platformsdk/MacOSX.sdk");
@@ -451,6 +455,10 @@ public void testOsxCompileCommandCarriesSdkFlags() throws IOException, ExtenderE
451455
assertFalse(legacyRenderedCompileCmd.contains("-target "));
452456
assertFalse(legacyRenderedCompileCmd.contains("-m64 "));
453457
assertTrue(legacyRenderedCompileCmd.contains("-isysroot /opt/platformsdk/MacOSX.sdk"));
458+
459+
PlatformConfig x86_64PlatformConfig = mergePlatformConfig(config, "x86_64-osx");
460+
List<String> x86_64SwiftFlags = (List<String>)x86_64PlatformConfig.context.get("swiftFlags");
461+
assertTrue(x86_64SwiftFlags.contains("x86_64-apple-macosx{{osMinVersion}}"));
454462
}
455463

456464
@Test

server/src/test/java/com/defold/extender/services/cocoapods/PodUtilsTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ public void testHasSource() {
7474
public void testSwiftModuleName() throws ExtenderException {
7575
assertEquals("arm64-apple-ios", PodUtils.swiftModuleNameFromPlatform("arm64-ios"));
7676
assertEquals("x86_64-apple-ios-simulator", PodUtils.swiftModuleNameFromPlatform("x86_64-ios"));
77+
assertEquals("arm64-apple-macos", PodUtils.swiftModuleNameFromPlatform("arm64-osx"));
7778
assertEquals("arm64-apple-macos", PodUtils.swiftModuleNameFromPlatform("arm64-macos"));
79+
assertEquals("x86_64-apple-macos", PodUtils.swiftModuleNameFromPlatform("x86_64-osx"));
7880
assertEquals("x86_64-apple-macos", PodUtils.swiftModuleNameFromPlatform("x86_64-macos"));
7981
assertThrows(ExtenderException.class, () -> { PodUtils.swiftModuleNameFromPlatform("x86_64-linux"); });
8082

server/test-data/sdk/a/defoldsdk/extender/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ platforms:
135135
context:
136136
frameworks: ["Foundation", "AppKit", "Cocoa", "OpenGL", "OpenAL", "AGL", "IOKit", "Carbon", "CoreVideo", "QuartzCore"]
137137
engineLibs: ["engine", "engine_service", "mbedtls", "zip", "profile", "remotery", "profilerext", "record", "gameobject", "ddf", "resource", "gamesys", "gamesys_model", "gamesys_rig", "script_box2d", "graphics", "graphics_transcoder_basisu", "basis_transcoder", "physics", "BulletDynamics", "BulletCollision", "platform", "LinearMath", "Box2D", "render", "render_font_default", "script", "luajit-5.1", "extension", "hid", "input", "particle", "rig", "dlib", "image", "glfw3", "gui", "crashext", "sound", "tremolo", "vpx", "liveupdate"]
138-
libPaths: ["{{env.SYSROOT}}/usr/lib/swift", "{{env.PLATFORMSDK_DIR}}/XcodeDefault{{env.XCODE_VERSION}}.xctoolchain/usr/lib/swift-{{env.SWIFT_VERSION}}/macosx", "{{env.PLATFORMSDK_DIR}}/XcodeDefault{{env.XCODE_VERSION}}.xctoolchain/usr/lib/clang/{{env.XCODE_CLANG_VERSION}}/lib/darwin"]
138+
libPaths: ["{{env.SYSROOT}}/usr/lib/swift", "{{env.PLATFORMSDK_DIR}}/XcodeDefault{{env.XCODE_VERSION}}.xctoolchain/usr/lib/swift-{{env.SWIFT_VERSION}}/macosx", "{{env.PLATFORMSDK_DIR}}/XcodeDefault{{env.XCODE_VERSION}}.xctoolchain/usr/lib/swift/macosx", "{{env.PLATFORMSDK_DIR}}/XcodeDefault{{env.XCODE_VERSION}}.xctoolchain/usr/lib/clang/{{env.XCODE_CLANG_VERSION}}/lib/darwin"]
139139
defines: ["DM_PLATFORM_MACOS", "DM_PLATFORM_OSX", "GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED"]
140140
systemIncludes: ["{{env.SYSROOT}}/usr/include/c++/v1"]
141141
flags: ["-fno-exceptions", "-fvisibility=hidden", "-Werror=format"]
@@ -181,7 +181,7 @@ platforms:
181181
linkFlags: ["-arch", "arm64", "-target", "arm64-apple-darwin19", "-m64"]
182182
cxxLinkShFlags: ["-arch", "arm64", "-target", "arm64-apple-darwin19", "-m64"]
183183
zig-target: 'aarch64-macos'
184-
swiftFlags: ["-target", "arm-apple-darwin19"]
184+
swiftFlags: ["-target", "arm64-apple-macosx{{osMinVersion}}"]
185185

186186
x86_64-osx:
187187
context:
@@ -191,7 +191,7 @@ platforms:
191191
linkFlags: ["-arch", "x86_64", "-target", "x86_64-apple-darwin19", "-m64"]
192192
cxxLinkShFlags: ["-arch", "x86_64", "-target", "x86_64-apple-darwin19", "-m64"]
193193
zig-target: 'x86_64-macos'
194-
swiftFlags: ["-target", "x86_64-apple-darwin19"]
194+
swiftFlags: ["-target", "x86_64-apple-macosx{{osMinVersion}}"]
195195

196196
ios:
197197
env:

0 commit comments

Comments
 (0)