openweave / openweave-core

openWeave is a home area network application protocol stack designed to enable asynchronous, symmetric, device-to-device, device-to-mobile and device-to-cloud communications for control path and data path messaging.
Apache License 2.0
233 stars 105 forks source link

Build changes for XCode 13 #690

Closed robszewczyk closed 2 years ago

robszewczyk commented 2 years ago

Weave builds for iOS have been arguably somewhat incorrect. The Makefile-iOS used to generate a single Weave.framework for both iPhoneOS and for iPhoneSimulator. This became problematic in XCode 13, when the simulator architectures (x86_64, i386) were no longer supported in the iPhoneOS set of libraries, and builds have consequently started to fail.

This patch passes different sysroots to the linker depending on whether the target is a iPhoneOS or an iPhoneSimulator.

Bug: 190421934 Test: build succeeded on local machine, awaiting confirmation from maloo@ Change-Id: Ib3d2207d77388c00e8c1e397f6dd13fda1cb4d26