Commit Graph

191 Commits

Author SHA1 Message Date
josh adams
2bd1b16a6b - Fixed Android building universal, to get the x86 cpu-features.c and android_native_app_glue.c linked correctly
- Fixed expat to have the x86 lib
- Disabled SoundTouchZ support when building x86_64 or x86_64+arm64, as there is no x86 lib checked in
#rb Chris.Babcock

[CL 30649810 by josh adams in ue5-main branch]
2024-01-16 18:46:12 -05:00
dan thompson
3cc23e45e2 Android also skips when the lib end matches the architecture without a dash (i.e. x64 and -x64)
#rb Chris.Babcock

[CL 30295546 by dan thompson in ue5-main branch]
2023-12-13 11:53:50 -05:00
joe kirchoff
d6b2c9077a UnrealBuildTool: Support emiting line tables only for debugging rather than disabling debug info entirely
Configuration is the same as TargetRules.DebugInfo and will override that setting except when debug info is disabled for the entire target

[CL 28558101 by joe kirchoff in ue5-main branch]
2023-10-06 17:13:05 -04:00
joe kirchoff
6638bbba8b UnrealBuildTool: Use IEnumerable for list of toolchain input lists that should be immutable
#rnx

[CL 28484575 by joe kirchoff in ue5-main branch]
2023-10-04 20:25:45 -04:00
dmytro ivanov
a73d0e1f9f Enable support for non-4k virtual page sizes on Android, part 1
#jira UE-192126
#rb Chris.Babcock

[CL 26911522 by dmytro ivanov in ue5-main branch]
2023-08-08 04:17:39 -04:00
Chris Babcock
cd98a42dbc Fix up Lyra warnings
#jira UE-187229
#android
#review @Ryan.Hummer
#rb Ryan.Hummer

#preflight https://horde.devtools.epicgames.com/job/6478f6e77a6aeda41b5a5ed2

[CL 25743610 by Chris Babcock in ue5-main branch]
2023-06-01 17:30:34 -04:00
joe kirchoff
acacd6a8de UnrealBuildTool: More automated code cleanup
* Use object type rather than var
* Remove double newlines
* Use pattern matching

#rnx
#preflight 647780095d23eca37d28a387

[CL 25706751 by joe kirchoff in ue5-main branch]
2023-05-31 13:37:21 -04:00
joe kirchoff
acf80ab609 [Backout] - CL25694851
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup

#rnx

[CL 25695155 by joe kirchoff in ue5-main branch]
2023-05-30 19:55:37 -04:00
joe kirchoff
7ed1a39679 UnrealBuildTool: More automated code cleanup
#rnx

[CL 25694864 by joe kirchoff in ue5-main branch]
2023-05-30 19:36:05 -04:00
joe kirchoff
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
peter sauerbrei
5d1f6bba2c fix for merge error, fixes Android build
#rb trivial

[CL 25197384 by peter sauerbrei in ue5-main branch]
2023-04-26 10:04:52 -04:00
peter sauerbrei
d03ebc54d4 fix PGO utilizing inccorrect directory seperators
#rb chris.babcock
#tests local build
[REVIEW] [at]chris.babcock

[CL 25194511 by peter sauerbrei in ue5-main branch]
2023-04-26 02:13:04 -04:00
peter sauerbrei
79deb20458 fix for compile failure on Android
#rb chris.babcock
[REVIEW] [at]chirs.babcock

[CL 25192795 by peter sauerbrei in ue5-main branch]
2023-04-25 19:51:33 -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
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
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