libsdl-org / SDL

Simple Directmedia Layer
https://libsdl.org
zlib License
9.98k stars 1.84k forks source link

Updates on dropping Apple frameworks not available on iOS? #10526

Closed yorickreum closed 3 months ago

yorickreum commented 3 months ago

Any updates on dropping the requirement for the Carbon framework?

It's mentioned as a fix me in CMakeLists.txt:

  # !!! FIXME: we need Carbon for some very old API calls in
  # !!! FIXME:  src/video/cocoa/SDL_cocoakeyboard.c, but we should figure out
  # !!! FIXME:  how to dump those.
  if(MACOS)
    set(SDL_FRAMEWORK_COCOA 1)
    set(SDL_FRAMEWORK_CARBON 1)
    set(SDL_FRAMEWORK_UTTYPES 1)

It's bugging me currently because the framework requirements basically break the cross-compiling of XCSoar for iOS, seeing [quite](ld: framework 'Cocoa' not found) because of it...

icculus commented 3 months ago

So I asked an Apple engineer about this a few months ago, and their attitude appears to be that there are pieces of Carbon that are useful and have no replacement, so it isn't going anywhere even on the latest architectures, and is still used heavily even inside Apple, even though we aren't really using it for compatibility with MacOS Classic anymore.

That being said, if you can't cross-compile SDL because it's setting up a linker flag based on the host (not target) platform, we should fix that. CC'ing @madebr in case that's a thing we can reasonably fix.

yorickreum commented 3 months ago

Thanks for the prompt response! In my understanding, Carbon and Cocoa are not directly available on iOS (there they are basically contained in UIKit, Foundation, and CoreGraphics instead). Is it possible to just depend on those?

Fixing the linker flag to correctly represent the target instead of the host would also do the trick for me, I believe.

icculus commented 3 months ago

Yeah, these shouldn't be using Cocoa (just UIKit) on iOS. Madebr will likely have fixes or advice when he next comes through here.

yorickreum commented 3 months ago

Okay! Thanks a lot. Maybe the struggle is also related to the other flags XCSoar is setting, those are specified here: https://github.com/XCSoar/XCSoar/blob/3c0c10c16788ce8f7087d55d857e62a5effa3f00/build/python/build/libs.py#L413C1-L453C2

madebr commented 3 months ago

Only thing SDL3's CMake does is add -framework Carbon. For what configurations is the framework not available? I have not seen a build failure, yet. I just added ios and tvos CMake builds in b9ad5fc58 and it's green :heavy_check_mark:.

I see a <Carbon/Carbon.h> include in src/video/cocoa/SDL_cocoakeyboard.m. SDL_build_config_macos.h defines SDL_VIDEO_DRIVER_COCOA unconditionally).

That being said, if you can't cross-compile SDL because it's setting up a linker flag based on the host (not target) platform, we should fix that. CC'ing @madebr in case that's a thing we can reasonably fix.

What flag is detected wrong on your system? How do you configure SDL for cross building?

Ideally, you should only need to add -DCMAKE_SYSTEM_NAME="iOS" -DCMAKE_OSX_ARCHITECTURES="arm64" for ios. Add e.g. -DCMAKE_OSX_SYSROOT="$(xcodebuild -version -sdk iphoneos Path)" to use an explicit sysroot.

yorickreum commented 3 months ago

Thank you too, @madebr, for the quick reply! Very much appreciated.

Some more details: XCSoar is using SDL2, version 2.30.0 currently. This is the build configuration ['cmake', '/Users/yorickreum/Coding/XCSoar/output/src/SDL2-2.30.0', '-DCMAKE_INSTALL_PREFIX=/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin', '-DCMAKE_BUILD_TYPE=release', '-GNinja', '-DBUILD_SHARED_LIBS=OFF', '-DSDL_TEST=OFF', '-DSDL_RENDER=OFF', '-DSDL_JOYSTICK=OFF', '-DSDL_HAPTIC=OFF', '-DSDL_HIDAPI=OFF', '-DSDL_POWER=OFF', '-DSDL_TIMERS=OFF', '-DSDL_FILE=OFF', '-DSDL_LOADSO=OFF', '-DSDL_CPUINFO=OFF', '-DSDL_FILESYSTEM=OFF', '-DSDL_SENSOR=OFF', '-DSDL_LOCALE=OFF', '-DSDL_MISC=OFF', '-DSDL2_DISABLE_SDL2MAIN=OFF', '-DSDL_DISKAUDIO=OFF', '-DSDL_DUMMYAUDIO=OFF', '-DSDL_DUMMYVIDEO=OFF', '-DSDL_OPENGL=OFF', '-DSDL_OPENGLES=ON', '-DSDL_OSS=OFF', '-DSDL_JACK=OFF', '-DSDL_ESD=OFF', '-DSDL_ARTS=OFF', '-DSDL_NAS=OFF', '-DSDL_SNDIO=OFF', '-DSDL_LIBSAMPLERATE=OFF', '-DSDL_COCOA=OFF', '-DSDL_METAL=OFF', '-DCMAKE_SYSTEM_NAME=iOS', '-DCMAKE_OSX_ARCHITECTURES=arm64', '-DCMAKE_TOOLCHAIN_FILE=/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/build/SDL2-2.30.0/cmake_toolchain_file']. resulting in the following configuration:

-- SDL2 was configured with the following options:
-- 
-- Platform: Darwin
-- 64-bit:   TRUE
-- Compiler: /usr/bin/clang
-- Revision: SDL-release-2.30.0-0-g859844eae
-- 
-- Subsystems:
--   Atomic:    ON
--   Audio: ON
--   Video: ON
--   Render:    OFF
--   Events:    ON
--   Joystick:  OFF
--   Haptic:    OFF
--   Hidapi:    OFF
--   Power: OFF
--   Threads:   ON
--   Timers:    OFF
--   File:  OFF
--   Loadso:    OFF
--   CPUinfo:   OFF
--   Filesystem:    OFF
--   Sensor:    OFF
--   Locale:    OFF
--   Misc:  OFF
-- 
-- Options:
--   SDL2_DISABLE_INSTALL        (Wanted: OFF): OFF
--   SDL2_DISABLE_SDL2MAIN       (Wanted: OFF): OFF
--   SDL2_DISABLE_UNINSTALL      (Wanted: OFF): OFF
--   SDL_3DNOW                   (Wanted: OFF): OFF
--   SDL_ALSA                    (Wanted: OFF): OFF
--   SDL_ALSA_SHARED             (Wanted: OFF): OFF
--   SDL_ALTIVEC                 (Wanted: ON): OFF
--   SDL_ARMNEON                 (Wanted: OFF): OFF
--   SDL_ARMSIMD                 (Wanted: OFF): OFF
--   SDL_ARTS                    (Wanted: OFF): OFF
--   SDL_ARTS_SHARED             (Wanted: OFF): OFF
--   SDL_ASAN                    (Wanted: OFF): OFF
--   SDL_ASSEMBLY                (Wanted: ON): ON
--   SDL_ASSERTIONS              (Wanted: auto): auto
--   SDL_BACKGROUNDING_SIGNAL    (Wanted: OFF): OFF
--   SDL_CCACHE                  (Wanted: ON): ON
--   SDL_CLOCK_GETTIME           (Wanted: OFF): OFF
--   SDL_COCOA                   (Wanted: OFF): OFF
--   SDL_DBUS                    (Wanted: OFF): OFF
--   SDL_DIRECTFB                (Wanted: OFF): OFF
--   SDL_DIRECTFB_SHARED         (Wanted: OFF): OFF
--   SDL_DIRECTX                 (Wanted: OFF): OFF
--   SDL_DISKAUDIO               (Wanted: OFF): OFF
--   SDL_DUMMYAUDIO              (Wanted: OFF): OFF
--   SDL_DUMMYVIDEO              (Wanted: OFF): OFF
--   SDL_ESD                     (Wanted: OFF): OFF
--   SDL_ESD_SHARED              (Wanted: OFF): OFF
--   SDL_FOREGROUNDING_SIGNAL    (Wanted: OFF): OFF
--   SDL_FUSIONSOUND             (Wanted: OFF): OFF
--   SDL_FUSIONSOUND_SHARED      (Wanted: OFF): OFF
--   SDL_GCC_ATOMICS             (Wanted: ON): ON
--   SDL_HIDAPI                  (Wanted: OFF): OFF
--   SDL_HIDAPI_JOYSTICK         (Wanted: OFF): OFF
--   SDL_HIDAPI_LIBUSB           (Wanted: OFF): OFF
--   SDL_IBUS                    (Wanted: OFF): OFF
--   SDL_INSTALL_TESTS           (Wanted: OFF): OFF
--   SDL_JACK                    (Wanted: OFF): OFF
--   SDL_JACK_SHARED             (Wanted: OFF): OFF
--   SDL_KMSDRM                  (Wanted: OFF): OFF
--   SDL_KMSDRM_SHARED           (Wanted: OFF): OFF
--   SDL_LASX                    (Wanted: OFF): OFF
--   SDL_LIBC                    (Wanted: ON): ON
--   SDL_LIBICONV                (Wanted: OFF): ON
--   SDL_LIBSAMPLERATE           (Wanted: OFF): OFF
--   SDL_LIBSAMPLERATE_SHARED    (Wanted: OFF): OFF
--   SDL_LIBUDEV                 (Wanted: ON): OFF
--   SDL_LSX                     (Wanted: OFF): OFF
--   SDL_METAL                   (Wanted: OFF): OFF
--   SDL_MMX                     (Wanted: OFF): OFF
--   SDL_NAS                     (Wanted: OFF): OFF
--   SDL_NAS_SHARED              (Wanted: OFF): OFF
--   SDL_OFFSCREEN               (Wanted: ON): ON
--   SDL_OPENGL                  (Wanted: OFF): OFF
--   SDL_OPENGLES                (Wanted: ON): ON
--   SDL_OSS                     (Wanted: OFF): OFF
--   SDL_PIPEWIRE                (Wanted: OFF): OFF
--   SDL_PIPEWIRE_SHARED         (Wanted: OFF): OFF
--   SDL_PTHREADS                (Wanted: ON): ON
--   SDL_PTHREADS_SEM            (Wanted: ON): ON
--   SDL_PULSEAUDIO              (Wanted: OFF): OFF
--   SDL_PULSEAUDIO_SHARED       (Wanted: OFF): OFF
--   SDL_RENDER_D3D              (Wanted: OFF): OFF
--   SDL_RENDER_METAL            (Wanted: ON): ON
--   SDL_RPATH                   (Wanted: OFF): OFF
--   SDL_RPI                     (Wanted: OFF): OFF
--   SDL_SNDIO                   (Wanted: OFF): OFF
--   SDL_SNDIO_SHARED            (Wanted: OFF): OFF
--   SDL_SSE                     (Wanted: OFF): OFF
--   SDL_SSE2                    (Wanted: OFF): OFF
--   SDL_SSE3                    (Wanted: OFF): OFF
--   SDL_SSEMATH                 (Wanted: OFF): OFF
--   SDL_STATIC_PIC              (Wanted: OFF): OFF
--   SDL_SYSTEM_ICONV            (Wanted: ON): ON
--   SDL_TESTS                   (Wanted: OFF): OFF
--   SDL_VENDOR_INFO             (Wanted: ): OFF
--   SDL_VIRTUAL_JOYSTICK        (Wanted: OFF): OFF
--   SDL_VIVANTE                 (Wanted: OFF): OFF
--   SDL_VULKAN                  (Wanted: ON): OFF
--   SDL_WASAPI                  (Wanted: OFF): OFF
--   SDL_WAYLAND                 (Wanted: OFF): OFF
--   SDL_WAYLAND_LIBDECOR        (Wanted: OFF): OFF
--   SDL_WAYLAND_LIBDECOR_SHARED (Wanted: OFF): OFF
--   SDL_WAYLAND_QT_TOUCH        (Wanted: OFF): OFF
--   SDL_WAYLAND_SHARED          (Wanted: OFF): OFF
--   SDL_X11                     (Wanted: OFF): OFF
--   SDL_X11_SHARED              (Wanted: OFF): OFF
--   SDL_X11_XCURSOR             (Wanted: OFF): OFF
--   SDL_X11_XDBE                (Wanted: OFF): OFF
--   SDL_X11_XFIXES              (Wanted: OFF): OFF
--   SDL_X11_XINPUT              (Wanted: OFF): OFF
--   SDL_X11_XRANDR              (Wanted: OFF): OFF
--   SDL_X11_XSCRNSAVER          (Wanted: OFF): OFF
--   SDL_X11_XSHAPE              (Wanted: OFF): OFF
--   SDL_XINPUT                  (Wanted: OFF): OFF
-- 
--  CFLAGS:        -Os -g -ffunction-sections -fdata-sections -fvisibility=hidden -miphoneos-version-min=10.0 -arch arm64 -target aarch64-apple-darwin -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -isystem /Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/include -DNDEBUG -I./output/IOS64/include -DHAVE_POSIX -DHAVE_VASPRINTF -isystem ./output/IOS64/lib/aarch64-apple-darwin/include -DEYE_CANDY -DXCSOAR_TESTING -isystem /include -idirafter "/Users/yorickreum/Coding/XCSoar/output/src/SDL2-2.30.0/src/video/khronos"
--  EXTRA_CFLAGS:   -Wall -Wundef -fno-strict-aliasing -Wdocumentation -Wdocumentation-unknown-command -fcomment-block-commands=threadsafety -fcomment-block-commands=deprecated -Wdeclaration-after-statement -fvisibility=hidden -Wshadow -Wno-unused-local-typedefs -D_THREAD_SAFE
--  EXTRA_LDFLAGS: -Wl,-framework,CoreVideo;-Wl,-framework,Cocoa;-Wl,-framework,Carbon;-Wl,-framework,CoreAudio;-Wl,-framework,AudioToolbox;-Wl,-framework,AVFoundation;-Wl,-framework,Foundation;-Wl,-weak_framework,Metal;-Wl,-weak_framework,QuartzCore -Wl,-compatibility_version,3001.0.0;-Wl,-current_version,3001.0.0
--  EXTRA_LIBS:    m;iconv
-- 
--  Build Shared Library: OFF
--  Build Static Library: ON
--  Build Static Library with Position Independent Code: OFF

Note that EXTRA_LDFLAGS contains -Wl,-framework,Cocoa;-Wl,-framework,Carbon;, altough '-DCMAKE_SYSTEM_NAME=iOS', '-DCMAKE_OSX_ARCHITECTURES=arm64' was specified.

Building and installing actually seems to succeed without any major hickups.

Only, further downstream in the linking of XCSoar we encounter the following error, the command clang++ -O0 -g -L./output/IOS64/lib/aarch64-apple-darwin/lib -stdlib=libc++ -miphoneos-version-min=10.0 -arch arm64 -target aarch64-apple-darwin -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -o output/IOS64/bin/xcsoar output/IOS64/dbg/src/io/MapFile.o output/IOS64/dbg/src/io/ConfiguredFile.o output/IOS64/dbg/src/io/DataFile.o output/IOS64/dbg/src/Airspace/ProtectedAirspaceWarningManager.o output/IOS64/dbg/src/Airspace/ActivePredicate.o output/IOS64/dbg/src/Task/DefaultTask.o output/IOS64/dbg/src/Task/MapTaskManager.o output/IOS64/dbg/src/Task/ProtectedTaskManager.o output/IOS64/dbg/src/Task/FileProtectedTaskManager.o output/IOS64/dbg/src/Task/RoutePlannerGlue.o output/IOS64/dbg/src/Task/ProtectedRoutePlanner.o output/IOS64/dbg/src/Task/TaskStore.o output/IOS64/dbg/src/Task/TypeStrings.o output/IOS64/dbg/src/Task/ValidationErrorStrings.o output/IOS64/dbg/src/RadioFrequency.o output/IOS64/dbg/src/TransponderCode.o output/IOS64/dbg/src/Engine/Navigation/TraceHistory.o output/IOS64/dbg/src/Engine/Navigation/Aircraft.o output/IOS64/dbg/src/Engine/Trace/Point.o output/IOS64/dbg/src/Engine/Trace/Trace.o output/IOS64/dbg/src/Engine/Trace/Vector.o output/IOS64/dbg/src/Engine/Util/Gradient.o output/IOS64/dbg/src/Engine/ThermalBand/ThermalBand.o output/IOS64/dbg/src/Engine/ThermalBand/ThermalSlice.o output/IOS64/dbg/src/Engine/ThermalBand/ThermalEncounterBand.o output/IOS64/dbg/src/Engine/ThermalBand/ThermalEncounterCollection.o output/IOS64/dbg/src/HorizonWidget.o output/IOS64/dbg/src/Renderer/TextRowRenderer.o output/IOS64/dbg/src/Renderer/TwoTextRowsRenderer.o output/IOS64/dbg/src/Renderer/HorizonRenderer.o output/IOS64/dbg/src/Renderer/GradientRenderer.o output/IOS64/dbg/src/Renderer/GlassRenderer.o output/IOS64/dbg/src/Renderer/TransparentRendererCache.o output/IOS64/dbg/src/Renderer/LabelBlock.o output/IOS64/dbg/src/Renderer/TextInBox.o output/IOS64/dbg/src/Renderer/TraceHistoryRenderer.o output/IOS64/dbg/src/Renderer/ThermalBandRenderer.o output/IOS64/dbg/src/Renderer/TaskProgressRenderer.o output/IOS64/dbg/src/Renderer/ClimbPercentRenderer.o output/IOS64/dbg/src/Renderer/RadarRenderer.o output/IOS64/dbg/src/Airspace/AirspaceGlue.o output/IOS64/dbg/src/Airspace/AirspaceParser.o output/IOS64/dbg/src/Airspace/AirspaceVisibility.o output/IOS64/dbg/src/Airspace/AirspaceComputerSettings.o output/IOS64/dbg/src/Airspace/NearestAirspace.o output/IOS64/dbg/src/Renderer/AirspaceRendererSettings.o output/IOS64/dbg/src/Renderer/GeoBitmapRenderer.o output/IOS64/dbg/src/Operation/PopupOperationEnvironment.o output/IOS64/dbg/src/Operation/MessageOperationEnvironment.o output/IOS64/dbg/src/Operation/VerboseOperationEnvironment.o output/IOS64/dbg/src/Atmosphere/Pressure.o output/IOS64/dbg/src/Atmosphere/AirDensity.o output/IOS64/dbg/src/Atmosphere/CuSonde.o output/IOS64/dbg/src/net/client/WeGlide/UploadIGCFile.o output/IOS64/dbg/src/Plane/PlaneGlue.o output/IOS64/dbg/src/Plane/PlaneFileGlue.o output/IOS64/dbg/src/FLARM/Id.o output/IOS64/dbg/src/FLARM/Error.o output/IOS64/dbg/src/FLARM/List.o output/IOS64/dbg/src/FLARM/FlarmNetRecord.o output/IOS64/dbg/src/FLARM/FlarmNetDatabase.o output/IOS64/dbg/src/FLARM/FlarmNetReader.o output/IOS64/dbg/src/FLARM/Traffic.o output/IOS64/dbg/src/FLARM/Calculations.o output/IOS64/dbg/src/FLARM/Friends.o output/IOS64/dbg/src/FLARM/Computer.o output/IOS64/dbg/src/FLARM/Global.o output/IOS64/dbg/src/FLARM/Glue.o output/IOS64/dbg/src/BallastDumpManager.o output/IOS64/dbg/src/Logger/Settings.o output/IOS64/dbg/src/Logger/Logger.o output/IOS64/dbg/src/Logger/LoggerFRecord.o output/IOS64/dbg/src/Logger/GRecord.o output/IOS64/dbg/src/Logger/LoggerEPE.o output/IOS64/dbg/src/Logger/LoggerImpl.o output/IOS64/dbg/src/IGC/IGCFix.o output/IOS64/dbg/src/IGC/IGCWriter.o output/IOS64/dbg/src/IGC/IGCString.o output/IOS64/dbg/src/IGC/Generator.o output/IOS64/dbg/src/util/MD5.o output/IOS64/dbg/src/Logger/NMEALogger.o output/IOS64/dbg/src/Logger/ExternalLogger.o output/IOS64/dbg/src/Logger/FlightLogger.o output/IOS64/dbg/src/Logger/GlueFlightLogger.o output/IOS64/dbg/src/Replay/Replay.o output/IOS64/dbg/src/IGC/IGCParser.o output/IOS64/dbg/src/Replay/IgcReplay.o output/IOS64/dbg/src/Replay/NmeaReplay.o output/IOS64/dbg/src/Replay/DemoReplay.o output/IOS64/dbg/src/Replay/DemoReplayGlue.o output/IOS64/dbg/src/Replay/TaskAutoPilot.o output/IOS64/dbg/src/Replay/AircraftSim.o output/IOS64/dbg/src/TeamCode/TeamCode.o output/IOS64/dbg/src/TeamCode/Settings.o output/IOS64/dbg/src/TeamActions.o output/IOS64/dbg/src/Waypoint/WaypointList.o output/IOS64/dbg/src/Waypoint/WaypointListBuilder.o output/IOS64/dbg/src/Waypoint/WaypointFilter.o output/IOS64/dbg/src/Waypoint/WaypointGlue.o output/IOS64/dbg/src/Waypoint/SaveGlue.o output/IOS64/dbg/src/Waypoint/LastUsed.o output/IOS64/dbg/src/Waypoint/HomeGlue.o output/IOS64/dbg/src/Waypoint/CupWriter.o output/IOS64/dbg/src/Waypoint/Factory.o output/IOS64/dbg/src/CrossSection/AirspaceXSRenderer.o output/IOS64/dbg/src/CrossSection/TerrainXSRenderer.o output/IOS64/dbg/src/CrossSection/CrossSectionRenderer.o output/IOS64/dbg/src/CrossSection/CrossSectionWindow.o output/IOS64/dbg/src/CrossSection/CrossSectionWidget.o output/IOS64/dbg/src/Gauge/ThermalAssistantRenderer.o output/IOS64/dbg/src/Gauge/ThermalAssistantWindow.o output/IOS64/dbg/src/Gauge/BigThermalAssistantWindow.o output/IOS64/dbg/src/Gauge/BigThermalAssistantWidget.o output/IOS64/dbg/src/Gauge/FlarmTrafficWindow.o output/IOS64/dbg/src/Gauge/BigTrafficWidget.o output/IOS64/dbg/src/Gauge/GaugeFLARM.o output/IOS64/dbg/src/Gauge/GaugeThermalAssistant.o output/IOS64/dbg/src/Gauge/VarioSettings.o output/IOS64/dbg/src/Gauge/TrafficSettings.o output/IOS64/dbg/src/Gauge/GaugeVario.o output/IOS64/dbg/src/Gauge/GlueGaugeVario.o output/IOS64/dbg/src/Gauge/TaskView.o output/IOS64/dbg/src/Gauge/LogoView.o output/IOS64/dbg/src/Waypoint/WaypointDetailsReader.o output/IOS64/dbg/src/Menu/MenuData.o output/IOS64/dbg/src/Menu/MenuBar.o output/IOS64/dbg/src/Menu/Glue.o output/IOS64/dbg/src/Menu/ButtonLabel.o output/IOS64/dbg/src/Menu/ExpandMacros.o output/IOS64/dbg/src/Menu/ShowMenuButton.o output/IOS64/dbg/src/Pan.o output/IOS64/dbg/src/Input/InputConfig.o output/IOS64/dbg/src/Input/InputDefaults.o output/IOS64/dbg/src/Input/InputEvents.o output/IOS64/dbg/src/Input/InputEventsActions.o output/IOS64/dbg/src/Input/InputEventsDevice.o output/IOS64/dbg/src/Input/InputEventsVega.o output/IOS64/dbg/src/Input/InputEventsMap.o output/IOS64/dbg/src/Input/InputEventsPage.o output/IOS64/dbg/src/Input/InputEventsAirspace.o output/IOS64/dbg/src/Input/InputEventsTask.o output/IOS64/dbg/src/Input/InputEventsSettings.o output/IOS64/dbg/src/Input/InputEventsThermalAssistant.o output/IOS64/dbg/src/Input/InputEventsTraffic.o output/IOS64/dbg/src/Input/InputEventsLua.o output/IOS64/dbg/src/Input/InputQueue.o output/IOS64/dbg/src/Input/InputLookup.o output/IOS64/dbg/src/Input/InputKeys.o output/IOS64/dbg/src/Input/InputParser.o output/IOS64/dbg/src/Input/TaskEventObserver.o output/IOS64/dbg/src/PageSettings.o output/IOS64/dbg/src/PageState.o output/IOS64/dbg/src/PageActions.o output/IOS64/dbg/src/StatusMessage.o output/IOS64/dbg/src/PopupMessage.o output/IOS64/dbg/src/Message.o output/IOS64/dbg/src/LogFile.o output/IOS64/dbg/src/Geo/Geoid.o output/IOS64/dbg/src/Projection/Projection.o output/IOS64/dbg/src/Projection/WindowProjection.o output/IOS64/dbg/src/Projection/CompareProjection.o output/IOS64/dbg/src/Renderer/ChartRenderer.o output/IOS64/dbg/src/Renderer/BackgroundRenderer.o output/IOS64/dbg/src/Renderer/FAITriangleAreaRenderer.o output/IOS64/dbg/src/Renderer/OZRenderer.o output/IOS64/dbg/src/Renderer/TaskPointRenderer.o output/IOS64/dbg/src/Renderer/TaskRenderer.o output/IOS64/dbg/src/Renderer/AircraftRenderer.o output/IOS64/dbg/src/Renderer/AirspaceRenderer.o output/IOS64/dbg/src/Renderer/AirspaceRendererGL.o output/IOS64/dbg/src/Renderer/AirspaceRendererOther.o output/IOS64/dbg/src/Renderer/AirspaceLabelList.o output/IOS64/dbg/src/Renderer/AirspaceLabelRenderer.o output/IOS64/dbg/src/Renderer/AirspaceListRenderer.o output/IOS64/dbg/src/Renderer/AirspacePreviewRenderer.o output/IOS64/dbg/src/Renderer/BestCruiseArrowRenderer.o output/IOS64/dbg/src/Renderer/CompassRenderer.o output/IOS64/dbg/src/Renderer/FinalGlideBarRenderer.o output/IOS64/dbg/src/Renderer/VarioBarRenderer.o output/IOS64/dbg/src/Renderer/MapItemListRenderer.o output/IOS64/dbg/src/Renderer/OZPreviewRenderer.o output/IOS64/dbg/src/Renderer/TrackLineRenderer.o output/IOS64/dbg/src/Renderer/TrafficRenderer.o output/IOS64/dbg/src/Renderer/TrailRenderer.o output/IOS64/dbg/src/Renderer/UnitSymbolRenderer.o output/IOS64/dbg/src/Renderer/WaypointListRenderer.o output/IOS64/dbg/src/Renderer/WaypointIconRenderer.o output/IOS64/dbg/src/Renderer/WaypointRenderer.o output/IOS64/dbg/src/Renderer/WaypointRendererSettings.o output/IOS64/dbg/src/Renderer/WaypointLabelList.o output/IOS64/dbg/src/Renderer/WindArrowRenderer.o output/IOS64/dbg/src/Renderer/NextArrowRenderer.o output/IOS64/dbg/src/Renderer/WaveRenderer.o output/IOS64/dbg/src/Projection/ChartProjection.o output/IOS64/dbg/src/UIUtil/GestureManager.o output/IOS64/dbg/src/UIUtil/TrackingGestureManager.o output/IOS64/dbg/src/DrawThread.o output/IOS64/dbg/src/Weather/Rasp/RaspStore.o output/IOS64/dbg/src/Weather/Rasp/RaspCache.o output/IOS64/dbg/src/Weather/Rasp/RaspRenderer.o output/IOS64/dbg/src/Weather/Rasp/RaspStyle.o output/IOS64/dbg/src/Weather/Rasp/Configured.o output/IOS64/dbg/src/Blackboard/BlackboardListener.o output/IOS64/dbg/src/Blackboard/ProxyBlackboardListener.o output/IOS64/dbg/src/Blackboard/RateLimitedBlackboardListener.o output/IOS64/dbg/src/Blackboard/LiveBlackboard.o output/IOS64/dbg/src/Blackboard/InterfaceBlackboard.o output/IOS64/dbg/src/Blackboard/ScopeGPSListener.o output/IOS64/dbg/src/Blackboard/ScopeCalculatedListener.o output/IOS64/dbg/src/Blackboard/DeviceBlackboard.o output/IOS64/dbg/src/Dialogs/DialogSettings.o output/IOS64/dbg/src/UIReceiveBlackboard.o output/IOS64/dbg/src/UIGlobals.o output/IOS64/dbg/src/UIState.o output/IOS64/dbg/src/UISettings.o output/IOS64/dbg/src/DisplaySettings.o output/IOS64/dbg/src/MapSettings.o output/IOS64/dbg/src/SystemSettings.o output/IOS64/dbg/src/Audio/Settings.o output/IOS64/dbg/src/Audio/VarioSettings.o output/IOS64/dbg/src/MergeThread.o output/IOS64/dbg/src/CalculationThread.o output/IOS64/dbg/src/DisplayMode.o output/IOS64/dbg/src/Markers/Markers.o output/IOS64/dbg/src/FlightStatistics.o output/IOS64/dbg/src/FlightInfo.o output/IOS64/dbg/src/Renderer/FlightStatisticsRenderer.o output/IOS64/dbg/src/Renderer/BarographRenderer.o output/IOS64/dbg/src/Renderer/ClimbChartRenderer.o output/IOS64/dbg/src/Renderer/GlidePolarRenderer.o output/IOS64/dbg/src/Renderer/GlidePolarInfoRenderer.o output/IOS64/dbg/src/Renderer/WindChartRenderer.o output/IOS64/dbg/src/Renderer/CuRenderer.o output/IOS64/dbg/src/Renderer/MacCreadyRenderer.o output/IOS64/dbg/src/Renderer/VarioHistogramRenderer.o output/IOS64/dbg/src/Renderer/TaskLegRenderer.o output/IOS64/dbg/src/Renderer/TaskSpeedRenderer.o output/IOS64/dbg/src/Renderer/MapScaleRenderer.o output/IOS64/dbg/src/Simulator.o output/IOS64/dbg/src/Asset.o output/IOS64/dbg/src/Hardware/CPU.o output/IOS64/dbg/src/Hardware/RotateDisplay.o output/IOS64/dbg/src/Hardware/DisplayDPI.o output/IOS64/dbg/src/Hardware/DisplayGlue.o output/IOS64/dbg/src/Hardware/Vibrator.o output/IOS64/dbg/src/Language/MOFile.o output/IOS64/dbg/src/Language/Language.o output/IOS64/dbg/src/Language/LanguageGlue.o output/IOS64/dbg/src/Language/Table.o output/IOS64/dbg/src/LocalPath.o output/IOS64/dbg/src/UIActions.o output/IOS64/dbg/src/Interface.o output/IOS64/dbg/src/ActionInterface.o output/IOS64/dbg/src/ProgressWindow.o output/IOS64/dbg/src/ProgressGlue.o output/IOS64/dbg/src/Units/Units.o output/IOS64/dbg/src/Units/UnitsGlue.o output/IOS64/dbg/src/Units/UnitsStore.o output/IOS64/dbg/src/Formatter/Units.o output/IOS64/dbg/src/Formatter/UserUnits.o output/IOS64/dbg/src/Formatter/HexColor.o output/IOS64/dbg/src/Formatter/GlideRatioFormatter.o output/IOS64/dbg/src/Formatter/GeoPointFormatter.o output/IOS64/dbg/src/Formatter/ByteSizeFormatter.o output/IOS64/dbg/src/Formatter/UserGeoPointFormatter.o output/IOS64/dbg/src/Formatter/TimeFormatter.o output/IOS64/dbg/src/Formatter/LocalTimeFormatter.o output/IOS64/dbg/src/Formatter/IGCFilenameFormatter.o output/IOS64/dbg/src/Formatter/NMEAFormatter.o output/IOS64/dbg/src/Formatter/AirspaceFormatter.o output/IOS64/dbg/src/Formatter/AirspaceUserUnitsFormatter.o output/IOS64/dbg/src/Units/Settings.o output/IOS64/dbg/src/Units/Temperature.o output/IOS64/dbg/src/Formatter/AngleFormatter.o output/IOS64/dbg/src/FLARM/Details.o output/IOS64/dbg/src/FLARM/NameDatabase.o output/IOS64/dbg/src/FLARM/NameFile.o output/IOS64/dbg/src/FLARM/TrafficDatabases.o output/IOS64/dbg/src/UtilsSettings.o output/IOS64/dbg/src/UtilsSystem.o output/IOS64/dbg/src/Version.o output/IOS64/dbg/src/Audio/Sound.o output/IOS64/dbg/src/Compatibility/fmode.o output/IOS64/dbg/src/Profile/Profile.o output/IOS64/dbg/src/Profile/Screen.o output/IOS64/dbg/src/Profile/TrackingProfile.o output/IOS64/dbg/src/Profile/WeatherProfile.o output/IOS64/dbg/src/Profile/SystemProfile.o output/IOS64/dbg/src/Profile/ComputerProfile.o output/IOS64/dbg/src/Profile/RouteProfile.o output/IOS64/dbg/src/Profile/ContestProfile.o output/IOS64/dbg/src/Profile/TaskProfile.o output/IOS64/dbg/src/Profile/MapProfile.o output/IOS64/dbg/src/Profile/PageProfile.o output/IOS64/dbg/src/Profile/UIProfile.o output/IOS64/dbg/src/Profile/Settings.o output/IOS64/dbg/src/Profile/UnitsConfig.o output/IOS64/dbg/src/Profile/DeviceConfig.o output/IOS64/dbg/src/Profile/InfoBoxConfig.o output/IOS64/dbg/src/Profile/AirspaceConfig.o output/IOS64/dbg/src/Profile/TerrainConfig.o output/IOS64/dbg/src/Profile/FlarmProfile.o output/IOS64/dbg/src/Repository/FileRepository.o output/IOS64/dbg/src/Repository/Parser.o output/IOS64/dbg/src/Job/Thread.o output/IOS64/dbg/src/Job/Async.o output/IOS64/dbg/src/RateLimiter.o output/IOS64/dbg/src/Math/Screen.o output/IOS64/dbg/src/Math/SunEphemeris.o output/IOS64/dbg/src/Screen/Layout.o output/IOS64/dbg/src/ui/control/TerminalWindow.o output/IOS64/dbg/src/Look/FontDescription.o output/IOS64/dbg/src/Look/GlobalFonts.o output/IOS64/dbg/src/Look/DefaultFonts.o output/IOS64/dbg/src/Polar/PolarGlue.o output/IOS64/dbg/src/Polar/PolarFileGlue.o output/IOS64/dbg/src/Polar/Shape.o output/IOS64/dbg/src/Polar/Polar.o output/IOS64/dbg/src/Polar/Parser.o output/IOS64/dbg/src/Polar/PolarStore.o output/IOS64/dbg/src/Protection.o output/IOS64/dbg/src/BatteryTimer.o output/IOS64/dbg/src/ProcessTimer.o output/IOS64/dbg/src/ApplyExternalSettings.o output/IOS64/dbg/src/ApplyVegaSwitches.o output/IOS64/dbg/src/MainWindow.o output/IOS64/dbg/src/Startup.o output/IOS64/dbg/src/Components.o output/IOS64/dbg/src/BackendComponents.o output/IOS64/dbg/src/DataComponents.o output/IOS64/dbg/src/DataGlobals.o output/IOS64/dbg/src/NetComponents.o output/IOS64/dbg/src/Device/Factory.o output/IOS64/dbg/src/Device/Declaration.o output/IOS64/dbg/src/Device/MultipleDevices.o output/IOS64/dbg/src/Device/device.o output/IOS64/dbg/src/Device/Port/ConfiguredPort.o output/IOS64/dbg/src/Device/DataEditor.o output/IOS64/dbg/src/Device/Descriptor.o output/IOS64/dbg/src/Device/Dispatcher.o output/IOS64/dbg/src/Device/Parser.o output/IOS64/dbg/src/Device/Simulator.o output/IOS64/dbg/src/Device/Util/LineSplitter.o output/IOS64/dbg/src/Device/Util/NMEAWriter.o output/IOS64/dbg/src/Device/Util/NMEAReader.o output/IOS64/dbg/src/Device/Config.o output/IOS64/dbg/src/Dialogs/Inflate.o output/IOS64/dbg/src/Dialogs/Message.o output/IOS64/dbg/src/Dialogs/LockScreen.o output/IOS64/dbg/src/Dialogs/Error.o output/IOS64/dbg/src/Dialogs/ListPicker.o output/IOS64/dbg/src/Dialogs/ProgressDialog.o output/IOS64/dbg/src/Dialogs/CoDialog.o output/IOS64/dbg/src/Dialogs/JobDialog.o output/IOS64/dbg/src/Dialogs/WidgetDialog.o output/IOS64/dbg/src/Dialogs/FileManager.o output/IOS64/dbg/src/Dialogs/Device/PortDataField.o output/IOS64/dbg/src/Dialogs/Device/PortPicker.o output/IOS64/dbg/src/Dialogs/Device/DeviceEditWidget.o output/IOS64/dbg/src/Dialogs/Device/DeviceListDialog.o output/IOS64/dbg/src/Dialogs/Device/PortMonitor.o output/IOS64/dbg/src/Dialogs/Device/ManageCAI302Dialog.o output/IOS64/dbg/src/Dialogs/Device/CAI302/UnitsEditor.o output/IOS64/dbg/src/Dialogs/Device/CAI302/WaypointUploader.o output/IOS64/dbg/src/Dialogs/Device/ManageFlarmDialog.o output/IOS64/dbg/src/Dialogs/Device/BlueFly/BlueFlyConfigurationDialog.o output/IOS64/dbg/src/Dialogs/Device/ManageI2CPitotDialog.o output/IOS64/dbg/src/Dialogs/Device/LX/ManageLXNAVVarioDialog.o output/IOS64/dbg/src/Dialogs/Device/LX/LXNAVVarioConfigWidget.o output/IOS64/dbg/src/Dialogs/Device/LX/ManageNanoDialog.o output/IOS64/dbg/src/Dialogs/Device/LX/NanoConfigWidget.o output/IOS64/dbg/src/Dialogs/Device/LX/ManageLX16xxDialog.o output/IOS64/dbg/src/Dialogs/Device/Vega/VegaParametersWidget.o output/IOS64/dbg/src/Dialogs/Device/Vega/VegaConfigurationDialog.o output/IOS64/dbg/src/Dialogs/Device/Vega/VegaDemoDialog.o output/IOS64/dbg/src/Dialogs/Device/Vega/SwitchesDialog.o output/IOS64/dbg/src/Dialogs/Device/FLARM/ConfigWidget.o output/IOS64/dbg/src/Dialogs/MapItemListDialog.o output/IOS64/dbg/src/Dialogs/MapItemListSettingsDialog.o output/IOS64/dbg/src/Dialogs/MapItemListSettingsPanel.o output/IOS64/dbg/src/Dialogs/ColorListDialog.o output/IOS64/dbg/src/Dialogs/Airspace/dlgAirspace.o output/IOS64/dbg/src/Dialogs/Airspace/dlgAirspacePatterns.o output/IOS64/dbg/src/Dialogs/Airspace/dlgAirspaceDetails.o output/IOS64/dbg/src/Dialogs/Airspace/AirspaceList.o output/IOS64/dbg/src/Dialogs/Airspace/AirspaceCRendererSettingsDialog.o output/IOS64/dbg/src/Dialogs/Airspace/AirspaceCRendererSettingsPanel.o output/IOS64/dbg/src/Dialogs/Airspace/dlgAirspaceWarnings.o output/IOS64/dbg/src/Dialogs/Settings/WindSettingsPanel.o output/IOS64/dbg/src/Dialogs/Settings/WindSettingsDialog.o output/IOS64/dbg/src/Dialogs/Settings/dlgBasicSettings.o output/IOS64/dbg/src/Dialogs/Settings/dlgConfiguration.o output/IOS64/dbg/src/Dialogs/Settings/dlgConfigInfoboxes.o output/IOS64/dbg/src/Dialogs/Traffic/TrafficList.o output/IOS64/dbg/src/Dialogs/Traffic/FlarmTrafficDetails.o output/IOS64/dbg/src/Dialogs/Traffic/TeamCodeDialog.o output/IOS64/dbg/src/Dialogs/dlgAnalysis.o output/IOS64/dbg/src/Dialogs/dlgChecklist.o output/IOS64/dbg/src/Dialogs/ProfileListDialog.o output/IOS64/dbg/src/Dialogs/Plane/PlaneListDialog.o output/IOS64/dbg/src/Dialogs/Plane/PlaneDetailsDialog.o output/IOS64/dbg/src/Dialogs/Plane/PlanePolarDialog.o output/IOS64/dbg/src/Dialogs/Plane/PolarShapeEditWidget.o output/IOS64/dbg/src/Dialogs/DataField.o output/IOS64/dbg/src/Dialogs/ComboPicker.o output/IOS64/dbg/src/Dialogs/FilePicker.o output/IOS64/dbg/src/Dialogs/HelpDialog.o output/IOS64/dbg/src/Dialogs/dlgInfoBoxAccess.o output/IOS64/dbg/src/Dialogs/ReplayDialog.o output/IOS64/dbg/src/Dialogs/dlgSimulatorPrompt.o output/IOS64/dbg/src/Dialogs/SimulatorPromptWindow.o output/IOS64/dbg/src/Dialogs/StartupDialog.o output/IOS64/dbg/src/Dialogs/ProfilePasswordDialog.o output/IOS64/dbg/src/Dialogs/dlgStatus.o output/IOS64/dbg/src/Dialogs/StatusPanels/StatusPanel.o output/IOS64/dbg/src/Dialogs/StatusPanels/FlightStatusPanel.o output/IOS64/dbg/src/Dialogs/StatusPanels/SystemStatusPanel.o output/IOS64/dbg/src/Dialogs/StatusPanels/TaskStatusPanel.o output/IOS64/dbg/src/Dialogs/StatusPanels/RulesStatusPanel.o output/IOS64/dbg/src/Dialogs/StatusPanels/TimesStatusPanel.o output/IOS64/dbg/src/Dialogs/Waypoint/WaypointInfoWidget.o output/IOS64/dbg/src/Dialogs/Waypoint/WaypointCommandsWidget.o output/IOS64/dbg/src/Dialogs/Waypoint/dlgWaypointDetails.o output/IOS64/dbg/src/Dialogs/Waypoint/Manager.o output/IOS64/dbg/src/Dialogs/Waypoint/dlgWaypointEdit.o output/IOS64/dbg/src/Dialogs/Waypoint/WaypointList.o output/IOS64/dbg/src/Dialogs/Waypoint/NearestWaypoint.o output/IOS64/dbg/src/Dialogs/Settings/Panels/AirspaceConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/GaugesConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/VarioConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/GlideComputerConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/WindConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/InfoBoxesConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/InterfaceConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/LayoutConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/LoggerConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/MapDisplayConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/PagesConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/RouteConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/SafetyFactorsConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/SiteConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/SymbolsConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/TaskRulesConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/TaskDefaultsConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/ScoringConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/TerrainDisplayConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/UnitsConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/TimeConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/WaypointDisplayConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/TrackingConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/CloudConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/WeatherConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/WeGlideConfigPanel.o output/IOS64/dbg/src/Dialogs/Task/Widgets/ObservationZoneEditWidget.o output/IOS64/dbg/src/Dialogs/Task/Widgets/CylinderZoneEditWidget.o output/IOS64/dbg/src/Dialogs/Task/Widgets/LineSectorZoneEditWidget.o output/IOS64/dbg/src/Dialogs/Task/Widgets/SectorZoneEditWidget.o output/IOS64/dbg/src/Dialogs/Task/Widgets/KeyholeZoneEditWidget.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskMapButtonRenderer.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskManagerDialog.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskClosePanel.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskEditPanel.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskPropertiesPanel.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskMiscPanel.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskActionsPanel.o output/IOS64/dbg/src/Dialogs/Task/Manager/TaskListPanel.o output/IOS64/dbg/src/Dialogs/Task/Manager/WeGlideTasksPanel.o output/IOS64/dbg/src/Dialogs/Task/OptionalStartsDialog.o output/IOS64/dbg/src/Dialogs/Task/TaskPointDialog.o output/IOS64/dbg/src/Dialogs/Task/MutateTaskPointDialog.o output/IOS64/dbg/src/Dialogs/Task/dlgTaskHelpers.o output/IOS64/dbg/src/Dialogs/Task/TargetDialog.o output/IOS64/dbg/src/Dialogs/Task/AlternatesListDialog.o output/IOS64/dbg/src/Dialogs/Tracking/CloudEnableDialog.o output/IOS64/dbg/src/Dialogs/NumberEntry.o output/IOS64/dbg/src/Dialogs/TextEntry.o output/IOS64/dbg/src/Dialogs/KnobTextEntry.o output/IOS64/dbg/src/Dialogs/TouchTextEntry.o output/IOS64/dbg/src/Dialogs/TimeEntry.o output/IOS64/dbg/src/Dialogs/DateEntry.o output/IOS64/dbg/src/Dialogs/GeoPointEntry.o output/IOS64/dbg/src/Dialogs/Weather/WeatherDialog.o output/IOS64/dbg/src/Dialogs/Weather/RASPDialog.o output/IOS64/dbg/src/Dialogs/dlgCredits.o output/IOS64/dbg/src/Dialogs/dlgQuickMenu.o output/IOS64/dbg/src/Dialogs/Settings/Panels/AudioVarioConfigPanel.o output/IOS64/dbg/src/Dialogs/Settings/Panels/AudioConfigPanel.o output/IOS64/dbg/src/Dialogs/Weather/PCMetDialog.o output/IOS64/dbg/src/Dialogs/Weather/NOAAList.o output/IOS64/dbg/src/Dialogs/Weather/NOAADetails.o output/IOS64/dbg/src/Monitor/WindMonitor.o output/IOS64/dbg/src/Monitor/AirspaceWarningMonitor.o output/IOS64/dbg/src/Monitor/TaskConstraintsMonitor.o output/IOS64/dbg/src/Monitor/TaskAdvanceMonitor.o output/IOS64/dbg/src/Monitor/MatTaskMonitor.o output/IOS64/dbg/src/Monitor/AllMonitors.o output/IOS64/dbg/src/Hardware/PowerGlobal.o output/IOS64/dbg/src/Hardware/Battery.o output/IOS64/dbg/src/Dialogs/Weather/MapOverlayWidget.o output/IOS64/dbg/src/Device/AndroidSensors.o output/IOS64/dbg/src/Apple/InternalSensors.o output/IOS64/dbg/src/CommandLine.o output/IOS64/dbg/src/XCSoar.o output/IOS64/dbg/src/Dialogs/DownloadFilePicker.o output/IOS64/dbg/src/Repository/Glue.o output/IOS64/dbg/src/Renderer/NOAAListRenderer.o output/IOS64/dbg/src/Weather/PCMet/Images.o output/IOS64/dbg/src/Weather/PCMet/Overlays.o output/IOS64/dbg/src/Weather/NOAAGlue.o output/IOS64/dbg/src/Weather/METARParser.o output/IOS64/dbg/src/Weather/NOAAFormatter.o output/IOS64/dbg/src/Weather/NOAADownloader.o output/IOS64/dbg/src/Weather/NOAAStore.o output/IOS64/dbg/src/Weather/NOAAUpdater.o output/IOS64/dbg/src/Tracking/LiveTrack24/SessionID.o output/IOS64/dbg/src/Tracking/LiveTrack24/Glue.o output/IOS64/dbg/src/Tracking/LiveTrack24/Client.o output/IOS64/dbg/src/net/client/tim/Glue.o output/IOS64/dbg/src/Tracking/SkyLines/Client.o output/IOS64/dbg/src/Tracking/SkyLines/Assemble.o output/IOS64/dbg/src/Tracking/SkyLines/Key.o output/IOS64/dbg/src/Tracking/SkyLines/Glue.o output/IOS64/dbg/src/Tracking/TrackingGlue.o output/IOS64/dbg/src/Audio/VarioGlue.o output/IOS64/dbg/libmapwindow.a output/IOS64/dbg/libinfobox.a output/IOS64/dbg/profile.a output/IOS64/dbg/libterrain.a output/IOS64/dbg/jasper.a output/IOS64/dbg/libtopo.a output/IOS64/dbg/shapelib.a output/IOS64/dbg/libwidget.a output/IOS64/dbg/form.a output/IOS64/dbg/datafield.a output/IOS64/dbg/liblook.a output/IOS64/dbg/libaudio.a output/IOS64/dbg/screen.a output/IOS64/dbg/libevent.a output/IOS64/dbg/libresource.a output/IOS64/dbg/resources.a output/IOS64/dbg/libdata.a output/IOS64/dbg/driver.a output/IOS64/dbg/port.a output/IOS64/dbg/libcomputer.a output/IOS64/dbg/libnmea.a output/IOS64/dbg/libcoroutines.a output/IOS64/dbg/async.a output/IOS64/dbg/libwaypointfile.a output/IOS64/dbg/libunits.a output/IOS64/dbg/libtaskfile.a output/IOS64/dbg/libtask.a output/IOS64/dbg/libxml.a output/IOS64/dbg/io.a output/IOS64/dbg/libcupfile.a output/IOS64/dbg/libcontest.a output/IOS64/dbg/libroute.a output/IOS64/dbg/libglide.a output/IOS64/dbg/libwaypoint.a output/IOS64/dbg/libairspace.a output/IOS64/dbg/liblua.a output/IOS64/dbg/zzip.a output/IOS64/dbg/liboperation.a output/IOS64/dbg/libclient.a output/IOS64/dbg/libhttp.a output/IOS64/dbg/json.a output/IOS64/dbg/libnet.a output/IOS64/dbg/fmt.a output/IOS64/dbg/time.a output/IOS64/dbg/libos.a output/IOS64/dbg/libthread.a output/IOS64/dbg/util.a output/IOS64/dbg/libgeo.a output/IOS64/dbg/math.a -framework CoreLocation -L/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib -lSDL2 -Wl,-framework,CoreVideo -Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AVFoundation -Wl,-framework,Foundation -Wl,-weak_framework,Metal -Wl,-weak_framework,QuartzCore -lm -liconv -L/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib -ltiff -lm -lz -lgeotiff -L/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib -lproj -lm -ldl -lsqlite3 -lz -framework CoreGraphics -framework OpenGLES -framework UiKit -L/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib -lcares -lresolv -llua -L/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib -lsodium -lpthread -Qunused-arguments -pthread -L/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib -lcurl -lcares -lresolv /Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib/libssl.a /Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib/libcrypto.a /Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib/libz.a -lcares -lresolv /Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib/libssl.a /Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib/libcrypto.a /Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib/libz.a -lz -L/Users/yorickreum/Coding/XCSoar/output/IOS64/lib/aarch64-apple-darwin/lib -lfmt -lpthread -framework Foundation -framework UIKit results in

ld: framework 'Cocoa' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)

So, during linking with the ios sdk as isysroot, it cannot find the Cocoa framework. Now I was wondering where this -Wl,-framework,Cocoa linker flag actually came from ... and upon searching through all the codebase and the libraries, the only cause I could find was that libsdl v2 is setting it in EXTRA_LDFLAGS. And while the cross-compilation of sdl itself somehow succeeds, this breaks my linking of XCSoar with the library further down ... I am really unsure about the right path forward here.

madebr commented 3 months ago

Fixed by #10534 (I think). If there are issues left, feel free to open a new issue or comment here.