Closed yorickreum closed 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.
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.
Yeah, these shouldn't be using Cocoa (just UIKit) on iOS. Madebr will likely have fixes or advice when he next comes through here.
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
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.
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.
Fixed by #10534 (I think). If there are issues left, feel free to open a new issue or comment here.
Any updates on dropping the requirement for the Carbon framework?
It's mentioned as a fix me in CMakeLists.txt:
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...