Commit Graph

90 Commits

Author SHA1 Message Date
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- 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]
2023-01-24 09:30:28 -05:00
Josh Adams
6f8a642479 Android architecture overhaul (version 1, more can be done!)
- Changed -arm64 and -x64 to arm64 and x64
- Removed the Arches array and other multi-architecture stuff from Adnroid compiling and linking, and using the higher level UEToolchain functionality to handle multi-architecture
- AndroidToolchain is now a proper ClangToolchain subclass instead of overriding everything it did (being a proper ISPCToolchain subclass coming later)
- Updated some of the UEToolchain side stuff (Android is the first platform to need separate Link output, but still need a single Target)
- All the architecture stuff is driven by UEBuildAndroid, not AndroidToolchain, so the make-a-temp-toolchain object just to get architectures was removed
- Removed unused stuff like bAllowMissingNDK, bExecuteCompilerThroughShell, Arches/GPUArches arrays
- Added a high-levle ConvertToPlatformArchitecture() function that UBT can use to turn "x86_64" into the achitecture that Android wants of "x64"
#rb chris.babcock
#preflight 63bdb04271079a8d1c2ef110

[CL 23634002 by Josh Adams in ue5-main branch]
2023-01-10 16:44:45 -05:00
Josh Adams
e6d0fb6486 - Added to new architecture APIs to UEBuildPlatform
- ConvertToReadableArchitecture() - turn an internal platform arch string to a printable version
  - IsX86Architecture() - returns true if the platform arch string represents an x86 architecture
- Changed Linux to use the HumanReadableName as the FolderNameForArchitecture, so it's shorter and it is not obfuscated anymore
#rb brandon.schaefer
#preflight 638fc65e9549ddaa288ccf73
#fyi dan.thompson

[CL 23419149 by Josh Adams in ue5-main branch]
2022-12-06 18:21:19 -05:00
dmytro vovk
400afa0738 Do not assume LTO when PGO is enabled on Android as it doesn't work well with NDK21
#jira none
#rb trivial
#preflight 6331a0757b582f58ab63f6a7

[CL 22188490 by dmytro vovk in ue5-main branch]
2022-09-26 13:27:42 -04:00
dmytro vovk
2d2eb358a3 Added LTO support to Android toolchain
#jira none
#rb Chris.Babcock
#preflight 632c7733d747fe52c852b726

[CL 22145951 by dmytro vovk in ue5-main branch]
2022-09-22 17:40:58 -04:00
dmytro vovk
5bad8f37b7 Removed legacy Android Project Settings
#rb Chris.Babcock

[CL 21467626 by dmytro vovk in ue5-main branch]
2022-08-19 19:18:13 -04:00
Joe Kirchoff
992b37b7cf UnrealBuildTool: Ignore build outputs when analyzing
#jira UE-160043
#rnx
#rb trivial
#preflight 62d89e741133256db65e2400

[CL 21202249 by Joe Kirchoff in ue5-main branch]
2022-07-21 12:07:06 -04:00
Joe Kirchoff
c5ca8db060 UnrealBuildTool: Allow PCH when running the clang analyzer
#rb trivial
#rnx
#preflight 62d73a1f164251d065f9d9df

[CL 21169279 by Joe Kirchoff in ue5-main branch]
2022-07-19 19:43:55 -04:00
dmytro vovk
e4767d3552 Added Clang Analyzer support to Android toolchain
#jira UE-140007
#rb Chris.Babcock
#preflight 62d18137dc4397d38456cf9e

[CL 21110861 by dmytro vovk in ue5-main branch]
2022-07-15 11:25:34 -04:00
Benn Gallagher
8757cb3641 Physics interface cleanup.
* Removed deprecated or dead code paths
* Simplified build system setup for physics support
* Deprecated build system flags and unsupported macros

#jira none
#rb Chris.Caulfield, Kriss.Gossart
#preflight 62963ec0fe779f23c8ea0c5e

[CL 20450744 by Benn Gallagher in ue5-main branch]
2022-06-01 06:59:18 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Joe Kirchoff
6c92065094 UnrealBuildTool: Merge various Clang ToolChainOptions enums
#rb none
#rnx
#preflight 62843567925bbe69df8dc8d4

[CL 20358298 by Joe Kirchoff in ue5-main branch]
2022-05-24 19:41:41 -04:00
chris babcock
c28de38c56 Don't require SDK to build Android module
#jira UE-148881
#android
[REVIEW] [at]Josh.Adams
#rb Josh.Adams
#preflight 6257184f77269238e173ab00

#ROBOMERGE-AUTHOR: chris.babcock
#ROBOMERGE-SOURCE: CL 19762857 in //UE5/Release-5.0/... via CL 19765635
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19802974 by chris babcock in ue5-main branch]
2022-04-18 23:59:26 -04:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
carl lloyd
d4e12bf0d0 Stripped PLATFORM_ANDROID_VULKAN and PLATFORM_ANDROIDGL4
Removed old GPU Architecture code from android tool chain

#rb Chris.Babcock
[FYI] Jack.Porter
#jira UE-131194

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 18087187 in //UE5/Release-5.0/... via CL 18088638
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18088741 by carl lloyd in ue5-release-engine-test branch]
2021-11-08 12:22:54 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
josh adams
e68d49fc4c - Fixed up some platform module references in C# for building with some platforms force disabled (brought over from UE4)
#preflight 610c043c6b1f8c00017194dd
#rb none

#ROBOMERGE-SOURCE: CL 17074043 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17074052 by josh adams in ue5-release-engine-test branch]
2021-08-05 15:17:09 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
Marc Audy
f02d489290 Update Release-Engine-Test from Release-Engine-Staging @ 16264272
[CL 16264458 by Marc Audy in ue5-release-engine-test branch]
2021-05-11 01:10:20 -04:00
jonathan adamczewski
1f82bedc58 Removal some references to Mono
#trivial
#jira none

[CL 16171278 by jonathan adamczewski in ue5-main branch]
2021-04-30 14:34:17 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Chris Babcock
a2d9bd542e Change Android class names from ue4 to unreal
#jira UE-104943
#ue5
#android
#review @Jack.Porter
#rb Jack.Porter

[CL 15284943 by Chris Babcock in ue5-main branch]
2021-02-02 17:21:35 -04:00
Josh Adams
b0e4357576 - UBT Code changes to remove 32-bit Windows support (C++ code for 32-bit still exists)
#rb marc.audy (concept, not each file)

[CL 15265424 by Josh Adams in ue5-main branch]
2021-01-31 15:09:58 -04:00
Josh Adams
b84453bc37 - Remove support for 32-bit Android, still have support for Arm64 and X64. Next checkin will delete the libs
#rb chris.babcock,jack.porter
#fyi chris.babcock,jack.porter

[CL 15056295 by Josh Adams in ue5-main branch]
2021-01-12 16:59:21 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00