#!/usr/bin/env python

Import("env")

iphone_lib = [
    "godot_iphone.mm",
    "os_iphone.mm",
    "main.m",
    "app_delegate.mm",
    "view_controller.mm",
    "ios.mm",
    "vulkan_context_iphone.mm",
    "display_server_iphone.mm",
    "joypad_iphone.mm",
    "godot_view.mm",
    "display_layer.mm",
    "godot_app_delegate.m",
    "godot_view_renderer.mm",
    "godot_view_gesture_recognizer.mm",
    "device_metrics.m",
    "keyboard_input_view.mm",
]

env_ios = env.Clone()
ios_lib = env_ios.add_library("iphone", iphone_lib)

# (iOS) Enable module support
env_ios.Append(CCFLAGS=["-fmodules", "-fcxx-modules"])


def combine_libs(target=None, source=None, env=None):
    lib_path = target[0].srcnode().abspath
    if "osxcross" in env:
        libtool = "$IPHONEPATH/usr/bin/${ios_triple}libtool"
    else:
        libtool = "$IPHONEPATH/usr/bin/libtool"
    env.Execute(
        libtool + ' -static -o "' + lib_path + '" ' + " ".join([('"' + lib.srcnode().abspath + '"') for lib in source])
    )


combine_command = env_ios.Command("#bin/libgodot" + env_ios["LIBSUFFIX"], [ios_lib] + env_ios["LIBS"], combine_libs)