@@ -125,7 +125,7 @@ opts.Add(EnumVariable("android_arch", "Target Android architecture", "armv7", ["
125125opts .Add ("macos_deployment_target" , "macOS deployment target" , "default" )
126126opts .Add ("macos_sdk_path" , "macOS SDK path" , "" )
127127opts .Add (EnumVariable ("macos_arch" , "Target macOS architecture" , "universal" , ["universal" , "x86_64" , "arm64" ]))
128- opts .Add (EnumVariable ("ios_arch" , "Target iOS architecture" , "arm64" , ["armv7 " , "arm64" , "x86_64" ]))
128+ opts .Add (EnumVariable ("ios_arch" , "Target iOS architecture" , "arm64" , ["universal " , "arm64" , "x86_64" ]))
129129opts .Add (BoolVariable ("ios_simulator" , "Target iOS Simulator" , False ))
130130opts .Add (
131131 "IPHONEPATH" ,
@@ -253,17 +253,19 @@ elif env["platform"] == "ios":
253253 env ["RANLIB" ] = compiler_path + "ranlib"
254254 env ["SHLIBSUFFIX" ] = ".dylib"
255255
256- env .Append (CCFLAGS = ["-arch" , env ["ios_arch" ], "-isysroot" , sdk_path ])
257- env .Append (
258- LINKFLAGS = [
259- "-arch" ,
260- env ["ios_arch" ],
261- "-Wl,-undefined,dynamic_lookup" ,
262- "-isysroot" ,
263- sdk_path ,
264- "-F" + sdk_path ,
265- ]
266- )
256+ if env ["ios_arch" ] == "universal" :
257+ if env ["ios_simulator" ]:
258+ env .Append (LINKFLAGS = ["-arch" , "x86_64" , "-arch" , "arm64" ])
259+ env .Append (CCFLAGS = ["-arch" , "x86_64" , "-arch" , "arm64" ])
260+ else :
261+ env .Append (LINKFLAGS = ["-arch" , "arm64" ])
262+ env .Append (CCFLAGS = ["-arch" , "arm64" ])
263+ else :
264+ env .Append (LINKFLAGS = ["-arch" , env ["ios_arch" ]])
265+ env .Append (CCFLAGS = ["-arch" , env ["ios_arch" ]])
266+
267+ env .Append (CCFLAGS = ["-isysroot" , sdk_path ])
268+ env .Append (LINKFLAGS = ["-isysroot" , sdk_path , "-F" + sdk_path ,])
267269
268270 if env ["target" ] == "debug" :
269271 env .Append (CCFLAGS = ["-Og" , "-g" ])
@@ -479,27 +481,26 @@ add_sources(sources, "src/variant", "cpp")
479481add_sources (sources , "gen/src/variant" , "cpp" )
480482add_sources (sources , "gen/src/classes" , "cpp" )
481483
482- arch_suffix = env ["bits" ]
484+ env [ " arch_suffix" ] = env ["bits" ]
483485if env ["platform" ] == "android" :
484- arch_suffix = env ["android_arch" ]
486+ env [ " arch_suffix" ] = env ["android_arch" ]
485487elif env ["platform" ] == "ios" :
486- arch_suffix = env ["ios_arch" ]
488+ env [ " arch_suffix" ] = env ["ios_arch" ]
487489 if env ["ios_simulator" ]:
488- arch_suffix += ".simulator"
490+ env [ " arch_suffix" ] += ".simulator"
489491elif env ["platform" ] == "javascript" :
490- arch_suffix = "wasm"
492+ env [ " arch_suffix" ] = "wasm"
491493elif env ["platform" ] == "osx" :
492- arch_suffix = env ["macos_arch" ]
494+ env [ " arch_suffix" ] = env ["macos_arch" ]
493495
494496library = None
495- env ["OBJSUFFIX" ] = ".{}.{}.{}{}" .format (env ["platform" ], env ["target" ], arch_suffix , env ["OBJSUFFIX" ])
496- library_name = "libgodot-cpp.{}.{}.{}{}" .format (env ["platform" ], env ["target" ], arch_suffix , env ["LIBSUFFIX" ])
497+ env ["OBJSUFFIX" ] = ".{}.{}.{}{}" .format (env ["platform" ], env ["target" ], env [ " arch_suffix" ] , env ["OBJSUFFIX" ])
498+ library_name = "libgodot-cpp.{}.{}.{}{}" .format (env ["platform" ], env ["target" ], env [ " arch_suffix" ] , env ["LIBSUFFIX" ])
497499
498500if env ["build_library" ]:
499501 library = env .StaticLibrary (target = env .File ("bin/%s" % library_name ), source = sources )
500502 Default (library )
501503
502- env ["SHLIBSUFFIX" ] = ".{}.{}.{}{}" .format (env ["platform" ], env ["target" ], arch_suffix , env ["SHLIBSUFFIX" ])
503504env .Append (CPPPATH = [env .Dir (f ) for f in ["gen/include" , "include" , "godot-headers" ]])
504505env .Append (LIBPATH = [env .Dir ("bin" )])
505506env .Append (LIBS = library_name )
0 commit comments