Commit Graph

353 Commits

Author SHA1 Message Date
carl lloyd
7a31ca4270 Enable Android Vulkan SM5 Ray Tracing
#rb jeannoe.morissette, yuriy.odonnell
#preflight 643966259566b61450eddea4

[CL 25040539 by carl lloyd in ue5-main branch]
2023-04-14 10:52:39 -04:00
chris babcock
b3320c28db Set buildToolsVersion in subprojects to match project for Android packaging
#jira UE-181263
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/641e22b5c42c7fd1cbe4858e

[CL 24791682 by chris babcock in ue5-main branch]
2023-03-24 21:28:33 -04:00
bryan sefcik
15d9c6de30 Removed the redundant configuration data from the generated projects.
#preflight 641e1782b72410fc17bef6d3
#fyi joe.kirchoff

[CL 24789336 by bryan sefcik in ue5-main branch]
2023-03-24 18:00:39 -04:00
dmytro vovk
55e3616f35 Added FORCE_ANSI_ALLOCATOR=1 to Android ASan builds
#rb Allan.Bentham

[CL 24748695 by dmytro vovk in ue5-main branch]
2023-03-22 11:42:42 -04:00
Ben Marsh
7e26c34d2b EpicGames.Core: Deprecate legacy log methods to prefer structured logging interface.
#preflight 640a23d928026468d9de7cbd

[CL 24580590 by Ben Marsh in ue5-main branch]
2023-03-09 14:51:40 -05:00
dmytro vovk
78c938fabd Fixed Android compilation
#jira UE-177855
#rb none

[CL 24315089 by dmytro vovk in ue5-main branch]
2023-02-20 11:05:09 -05:00
dmytro vovk
4e5047e935 Compile fix for Android LowLevelTests
#jira UE-177471
#rb none
[FYI] Chris.Babcock

[CL 24314939 by dmytro vovk in ue5-main branch]
2023-02-20 11:01:03 -05:00
joe kirchoff
e124e4c04e UnrealBuildTool: Add return type to AndroidToolChain.GetCompileArguments_FileType to match change from merge
#rnx
#rb trivial

[CL 24136954 by joe kirchoff in ue5-main branch]
2023-02-11 12:37:36 -05:00
chris babcock
9d8fd16ce3 Properly escape preprocessor definitions in AndroidToolChain now it uses common ClangToolChain
#jira UE-176594
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/63e466f2207dbdba57a858c7

[CL 24093355 by chris babcock in ue5-main branch]
2023-02-09 01:44:26 -05:00
Rafa Lecina
a4120e35ca Fix Find/Join session using OSSNull on Android.
In order to use multicast communication or broadcasts Android applications need the CHANGE_WIFI_MULTICAST_STATE permission and acquiring a WifiManager.MulticastLock

#jira UE-165411
#review @Bertrand.Carre, @Chris.Varnsverry, @Chris.Babcock, @Jack.Porter
#preflight 63e363beb923ed4bdd350643

[CL 24069824 by Rafa Lecina in ue5-main branch]
2023-02-08 04:18:21 -05:00
henrik karlsson
0de807f1a8 [UBT]
* Added support for additional response files (will be used by header units)
* Added support for shared response files and changed so normal cpp/h build path uses it if toolchain supports it.
* Enabled shared response files on all platforms but android (which doesnt seem to support reponse files including response files)
* Some cleanup in the iwyu toolchain related to shared rsp files

#preflight 63d9af169b3bb6a66cec9a8e
#rb joe.kirchoff

[CL 23943501 by henrik karlsson in ue5-main branch]
2023-01-31 21:24:28 -05:00
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
e1e330be49 Fixed up Androd installation via Turnkey:
- Moved running AndroidStudio to install the commandline tools into the InstallSDKfunction, out of the Prerequisites, which now just now makes sure AndroidStudio is installed
- Added direct AndroidStudio download to Turnkey, usable by all licensees (no need to host the installer at each studio now)
#preflight 63cea450976daa618c0498ec
#rb chris.babcock

[CL 23812459 by Josh Adams in ue5-main branch]
2023-01-23 10:42:04 -05:00
Joe Kirchoff
4a262359a0 UnrealBuildTool: Store Action file lists in SortedSets rather than Lists, since these collections should never have duplicate entries and sorting them helps when checking for action conflicts
Requires implementing IComparable\IEquatable in FileItem (and I also implemented them in DirectoryItem for consistency)

#rnx
#rb Tim.Smith
#preflight 63c1cce4a06ab115ea17ba4f
#preflight 63c70f4d7763631ba15486ea

[CL 23745743 by Joe Kirchoff in ue5-main branch]
2023-01-17 16:35:14 -05:00
Josh Adams
c7bb843dd8 - Fixed .c compiling with -nopch
#rb chris.babcock
#jira UE-174002
#preflight 63c0919d0225f00e14be4528

[CL 23671497 by Josh Adams in ue5-main branch]
2023-01-12 18:24:14 -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
Dan Thompson
0d3889b2e0 UE5 CPU minspec updated to SSE 4.2
#preflight 63b859fc68068a8bd62e9d32
#rb jeff.roberts
#rb fabian.giesen
#rb halfdan.ingvarsson

Tried to run automation tests but it's basically a red board right now. I ran two, one with these changes and one without, and they seem to be basically the same errors, however there are so many and I can't really cross compare easily.

base automation tests: 63b8a5dcaf3ebedd990b7dfe
preflight automation tests: 63b87801221aab21e08d5973
#preflight 63bc93e9577437afe6fbe45a

[CL 23621334 by Dan Thompson in ue5-main branch]
2023-01-09 17:42:09 -05:00
Chris Babcock
9038a4c061 Allow UPL to use tools schema
Allow "build" as part of project names

#jira UE-173037
#android
#review-23584632 none
#rb none

#preflight https://horde.devtools.epicgames.com/log/639e0337012902cb8df765e4

[CL 23584631 by Chris Babcock in ue5-main branch]
2023-01-04 20:52:16 -05:00
dorgonman
4e4792e9dd PR #9842: [BugFix][UBT][AndroidToolChain] Fix Regex failed to parse AndroidClangBuild (Contributed by dorgonman)
#preflight 63b4a76a2960b73220581296

[CL 23570634 by dorgonman in ue5-main branch]
2023-01-03 17:12:24 -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
83fef012da Fixed HWASan build on Android
#rb trivial

[CL 23376312 by dmytro vovk in ue5-main branch]
2022-12-02 13:39:00 -05:00
Josh Adams
b337b06556 - Allow for a platform to compile for multiple architectures, and have the high-level compile separately, and then link not separately (this means we can't use the one-target-per-architecture stuff that is already present)
- Mac changes to compile separately,  but link together (with lipo) after making two .dylibs/executables
- Removed FixDylibDependencies on Mac by making "stub dylibs" to mimic what Windows does with import libs, to solve circular dependencies
- Added DependenciesToSkipByArchitecture to ModuleRules that is used, when making a new single-arch LinkEnvironment from a multi-arch LinkEnvironment, to strip out libraries, etc, that should not be included with that single architecture
#preflight 6387891b4004f73f623c85a0
#rb zack.neyland

[CL 23336522 by Josh Adams in ue5-main branch]
2022-11-30 13:38:45 -05:00
emrekultursay
49e85fca23 PR #9690: Use vswhere -find to identify if AGDE is installed (Contributed by emrekultursay)
#jira UE-168019
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight

[CL 23286040 by emrekultursay in ue5-main branch]
2022-11-28 02:42:22 -05:00
roman dzieciol
3ce3813f96 Fix typo in ld arguments for edge case Android libs that don't start with "lib".
The intention was:
/some/path/libfoo.a -->
AdditionalLibs.Add(libfoo.a) -> -lfoo
AdditionalLibraryPaths.Add(/some/path) -> -L/some/path
/some/path/bar.a -->
AdditionalLibs.Add(/some/path/bar.a) -> /some/path/bar.a

#rb Josh.Adams
#jira none
#preflight none
(Copy from 4.27+)

[CL 23243817 by roman dzieciol in ue5-main branch]
2022-11-22 19:51:10 -05:00
joe kirchoff
48003d0b0a UnrealBuildTool: Remove property that disables generating cpp dependency files
#rnx
#rb trivial

[CL 22918025 by joe kirchoff in ue5-main branch]
2022-11-02 11:47:47 -04:00