Apple cross-platform toolchain setup (AppleOpenSource_SDK.json) in 5.8

I’ve been looking at the new AppleOpenSource_SDK.json and related files that were introduced in 5.8, and from my best assessment, this is intended to allow macOS build machines to offload compilation work to Windows and Linux machines via UBA - i.e. leverage the larger pool of non-macOS machines for compilation work.

The AppleOpenSource_SDK.json file refers to toolchain versions like `v6_clang-19.1.6_oss-1350_from_source`, but I could not find where these toolchains are located, nor information on how to assemble them myself. I assume that’s just because it’s an unreleased feature and 5.8 isn’t stable yet.

If there’s any info on how to set these up (or where these toolchains can be found publicly) that would be great. Offloading compilation work from macOS to non-macOS machines would greatly improve our build performance, since we are currently constrained by the number of macOS machines in our build pool.

[Attachment Removed]

Hi June,

Your assessment about the nature of this new 5.8 feature is correct, however we have only targetted Linux workers internally. While this remains experimental, it can be enabled with one of:

- CLI: pass -UsePortableToolchain to UBT

- BuildConfiguration.xml: <bUsePortableToolchain>true</bUsePortableToolchain>

- Engine.ini: [/Script/AppleTargetPlatform.AppleTargetSettings] bUsePortableToolchain=True

There aren’t definite instructions on assembling the portable toolchain and gathering required headers but I’ll communicate that if it becomes available.

Best regards.

[Attachment Removed]

Hi June,

Unfortunately, at this stage of the feature’s experimental development, we are not in a position to enable licensees with its usage directly. Should that change, I can reach out.

Best regards.

[Attachment Removed]

Yeah how to assemble the toolchain is what I’m primarily interested in, since the config settings aren’t that useful if there’s no portable toolchain to actually use. Even a pointer towards what open source URLs/projects are used to assemble it would be helpful - https://opensource.apple.com doesn’t seem to really have any useful “toolchain” components.

[Attachment Removed]