- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
- UnrealArch is a single architecture, expandable enum-like struct
- There is no more concept of "no/default architecture", there is always a valid active architecture when building
- Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
- UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
- UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
- TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
- Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)
#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471
[CL 23829977 by josh adams in ue5-main branch]
- Rebuild libsquish with macosx-version-min=10.15
- Remove duplicate definitions for HTTP status constants
- Use snprintf instead of sprintf in Metal & AGX profilers
- Silence deprecation warnings in ControlRigSpline third-party contrib.
- Disable fatal_warnings linker flag for clang 14 only on Mac (as a temporary workaround) for the linker complaning about not being able to compact unwinding information for particular functions.
#rb adam.kinge, brandon.shaefer, sara.schvartzman
#fyi richard.wallis, jack.porter
#jira none
#rnx
#preflight 62a8f1261f6754ac09c886fb
[CL 20687742 by will damon in ue5-main branch]
#jira UE-80046
#ue4
#android
#rb Brandon.Schaefer
#ROBOMERGE-SOURCE: CL 11578756 in //UE4/Release-4.25/... via CL 11578767
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v654-11333218)
[CL 11585462 by chris babcock in Main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869250 via CL 10869537 via CL 10869906
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870965 by ryan durand in Main branch]
The previous build was missing some UE4-specific changes that are present in the source in //depot/3rdParty which caused the following SSL error when opening a secure websocket connection:
Lws(Error): SSL_new failed: error:00000063:lib(0):func(0):reason(99)
[CODEREVIEW] scott.bowen, michael.sartain, brandon.schaefer, arciel.rekman
[FYI] james.brinkerhoff
#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: derek.peterson
#ROBOMERGE-SOURCE: CL 9211298 via CL 9211313 via CL 9211327 via CL 9218895 via CL 9218908
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v455-9298202)
[CL 9329668 by derek peterson in Dev-Build branch]
The previous build was missing some UE4-specific changes that are present in the source in //depot/3rdParty which caused the following SSL error when opening a secure websocket connection:
Lws(Error): SSL_new failed: error:00000063:lib(0):func(0):reason(99)
[CODEREVIEW] scott.bowen, michael.sartain, brandon.schaefer, arciel.rekman
[FYI] james.brinkerhoff
#ROBOMERGE-SOURCE: CL 9211298 via CL 9211313 via CL 9211327 via CL 9218895
#ROBOMERGE-BOT: (v443-9013191)
[CL 9218908 by derek peterson in Main branch]
- Up to CL8320930 from DevOnline and 8311605 Merge Down from Main
- skipped some Fortnite content/plugins/code where it tried to reintegrate files that had been moved pending investigation
#rb none
#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: josh.markiewicz
#ROBOMERGE-SOURCE: CL 8321295 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v403-8382528)
[CL 8393012 by ben marsh in Dev-Build branch]
- Up to CL8320930 from DevOnline and 8311605 Merge Down from Main
- skipped some Fortnite content/plugins/code where it tried to reintegrate files that had been moved pending investigation
#rb none
[CL 8321295 by Josh Markiewicz in Main branch]
If you still need to old behavior of searching for a library we use the new PublicSystemLibraries instead (used very sparingly).
Also updated conventions on importing Android libraries to use the newly introduced Android Architecture instead, which is always set to a valid architecuture (unlike Target.Architecture for the general case)
Lastly I updated some build.cs files that were doing filesystem enumeration or copying as they were being parsed, this is highly discouraged (partially because we cache filesystem operations but also it adds a cost to something we expect to be very fast). Any operations like this should be done as part of the build if they have to be done at all.
#rb none
[CL 7918851 by Joakim Lindqvist in Dev-Build branch]