Hi all,

For several years now, Xcode has included two build systems: the “legacy” build 
system and the newer “XCBuild” system (see, for example, 
<https://developer.apple.com/videos/play/wwdc2018/408/> and 
<https://developer.apple.com/videos/play/wwdc2018/415>, as well as 
<https://medium.com/xcblog/xcode-new-build-system-for-speedy-swift-builds-c39ea6596e17>
 and 
<https://medium.com/xcblog/five-things-you-must-know-about-xcode-10-new-build-system-41676cd5fd6c>).

WebKit is finally in a position to move to the new build system. However, this 
switch is not without consequences. In particular, WebKit has a complicated 
build process and requires new XCBuild features only found in Xcode 11.4. If 
you build from within the IDE, you will need Xcode 11.4 or later. Pre-releases 
have been available for some time on developer.apple.com, but the final version 
of Xcode 11.4 was posted to the Mac App Store last week on March 24, 2020.

When building from the command line, the conditions are less strict. By 
default, builds are performed with XCBuild if the `build-webkit` script or the 
makefiles detect that Xcode 11.4 or later is installed. If not, builds are 
performed with the legacy build system. We can be flexible here because the 
build process is controlled by these scripts and makefiles, allowing the build 
process to determine the Xcode version before invoking `xcodebuild`. There is 
no such opportunity when building within the Xcode IDE, and so the build 
requirements are stricter.

I’ve made the changes to switch over to XCBuild but I haven’t yet posted them. 
I want to first find out if this move will cause any issues for developers who 
— for whatever reason — need to stay on old versions of Xcode. If so, please 
let me know.

— Keith Rollin

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to