US 11,726,799 B2
Preventing framework conflicts for multi-OS applications
Jeremiah R. Sequoia, Woodside, CA (US); Juergen Ributzka, San Jose, CA (US); and Shengzhao Wu, Cupertino, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Oct. 25, 2019, as Appl. No. 16/664,712.
Application 16/664,712 is a continuation of application No. 16/104,818, filed on Aug. 17, 2018, granted, now 10,474,479.
Claims priority of provisional application 62/679,827, filed on Jun. 3, 2018.
Prior Publication US 2020/0057659 A1, Feb. 20, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/00 (2006.01); G06F 9/445 (2018.01); G06F 8/41 (2018.01); G06F 8/20 (2018.01); G06F 9/54 (2006.01); G06F 8/73 (2018.01); G06F 8/76 (2018.01)
CPC G06F 9/44521 (2013.01) [G06F 8/20 (2013.01); G06F 8/41 (2013.01); G06F 8/73 (2013.01); G06F 8/76 (2013.01); G06F 9/541 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A non-transitory machine-readable medium storing instructions which, when executed, cause one or more processors of a data processing system to perform operations to detect conflicts during a build process for a dynamic library, the operations comprising:
loading program code for the dynamic library to build for a first platform;
parsing a set of interfaces and data structures exported by the dynamic library to verify consistency of a build contract for the dynamic library; and
generating a build error during a build process for the dynamic library upon detecting an inconsistent build contract, the build contract specifying an application binary interface (ABI) for building the dynamic library and an application programming interface (API) for building the dynamic library, wherein detecting an inconsistent build contract includes detecting a mismatch between the ABI or API for the dynamic library when built for the first platform and the ABI or API for the dynamic library when built for a second platform.