Commit Graph

341 Commits

Author SHA1 Message Date
henrik karlsson
e273ded9f5 [UBT]
* Disabled box for pgooptimized link actions for now just to rule out if long link time is because of box

[CL 28324916 by henrik karlsson in ue5-main branch]
2023-09-28 14:42:45 -04:00
daniel lamb
3e286ea58e Linux can now be cooked on windows platforms without the sdk installed.
Added override cook platform for use by content beacon to the datadrivenplatforminfo.
[REVIEW] [at]Josh.Adams

[CL 28223391 by daniel lamb in ue5-main branch]
2023-09-26 09:13:27 -04:00
Jeff Fisher
7cbd26bb52 Delete OpenVR from Engine\Source\ThirdParty, it has not been used in some time.
-OpenVR has been essentially replaced by OpenXR at this point and this third party source is no longer in use.
#review-27792355
#rb Jules.Blok

[CL 27794345 by Jeff Fisher in ue5-main branch]
2023-09-12 11:53:04 -04:00
arciel rekman
be5603a566 UBT: change Linux PGO to use new code placement algo (extnended TSP).
- Expected to bring more icache-friendly code placement, especially for large binaries (https://reviews.llvm.org/D113424)
- Reportedly not default in lld because some synthetic benchmarks were regressed.
- Suggested by Neil.Henning

#rb NeilH (suggested)

[CL 27450033 by arciel rekman in ue5-main branch]
2023-08-29 11:46:30 -04:00
joe kirchoff
40521adeca Clang static analysis requires unity builds to be disabled
#rnx

[CL 27329915 by joe kirchoff in ue5-main branch]
2023-08-23 20:33:44 -04:00
brandon schaefer
0630515e82 GetMainVersion now requires a registered platform, which only can be done from the Linux SDK that was first registered. Current StripSymbols was making a new LinuxPlatformSDK which wont be registered and fails getting the MainVersion
Now we will use the existing LinuxPlatfromSDK or if doesn't exist make a new one and correctly register it

#jira UE-193418
#rb Josh.Adams, Zack.Neyland

[CL 27323816 by brandon schaefer in ue5-main branch]
2023-08-23 17:56:35 -04:00
arciel rekman
cb5b870cfc UBT: Add AVX arch support to Linux toolchains.
#rb Brandon.Schaefer, Joe.Kirchoff
[REVIEW] [at]Brandon.Schaefer, [at]Joe.Kirchoff
#rnx

[CL 27251505 by arciel rekman in ue5-main branch]
2023-08-21 15:58:31 -04:00
arciel rekman
0f975e6c71 Add a way to soft-disable PGO during a build.
- Sometimes PGO data gets stale and can needs to be removed (until a new one is collected) because it can even break the build. Instead of changing the build scripts each time when such an update process happens, add a way for UBT to silently ignore non-existent PGO data (when the file exists but has 0 size).

#rb Josh.Adams
[REVIEW] [at]Josh.Adams
#rnx

[CL 27071828 by arciel rekman in ue5-main branch]
2023-08-14 11:37:00 -04:00
joe kirchoff
22cdb0b04a UnrealBuildTool: Clean up IsBuildMachine checks
#rnx

[CL 27019595 by joe kirchoff in ue5-main branch]
2023-08-10 20:59:28 -04:00
bryan sefcik
ca12a1a2e0 Cleaned up the project generator API by passing a struct of commonly used arguments. This makes it easier for us to add/remove arguments.
#rb joe.kirchoff
#jira

[CL 26854215 by bryan sefcik in ue5-main branch]
2023-08-04 14:18:11 -04:00
andrew scheidecker
df882395a6 Fix error due to missing executable extension when cross-compiling for Linux using the AutoRTFM compiler with Box enabled.
#rb Brandon.Schaefer

[CL 26818431 by andrew scheidecker in ue5-main branch]
2023-08-03 13:59:09 -04:00
bryan sefcik
9a81ca5c26 Added support to have multiple architectures per platform in the VS sln/projects.
Updated the project generators to search the VS platform directory when HasVisualStudioSupport is called to find out whether a platform is supported. This fixes several issues where platforms were being generated like they were supported by the host machine but actually weren't.

#rb joe.kirchoff
#jira

[CL 26795017 by bryan sefcik in ue5-main branch]
2023-08-02 20:27:20 -04:00
arciel rekman
7737566a62 Make UBT handle gracefully lack of the PGO data files.
#rb none

[CL 26611153 by arciel rekman in ue5-main branch]
2023-07-26 12:41:21 -04:00
arciel rekman
2252185545 Fix wrong Linux PGO path for a project-less build.
#rb none
[REVIEW] [at]Joe.Kirchoff

[CL 26490472 by arciel rekman in ue5-main branch]
2023-07-20 13:46:44 -04:00
arciel rekman
d8634a5c6a Change Linux PGO file location to match other platforms.
- Also change the name to match the target.

#rb none

[CL 26488168 by arciel rekman in ue5-main branch]
2023-07-20 12:14:22 -04:00
arciel rekman
2c16f925d0 Handle clang directory version change in asan RPATH.
#rb Brandon.Schaefer
[REVIEW] [at]Brandon.Schaefer

[CL 26415002 by arciel rekman in ue5-main branch]
2023-07-17 15:33:27 -04:00
james singer
5dcb4c6452 Fix an issue with Linux symbol stripping
#rb [at]josh.adams
#rnx

[CL 26343195 by james singer in ue5-main branch]
2023-06-30 09:53:31 -04:00
arciel rekman
b6fb3cae37 Fix IWYU tool after Linux toolchain upgrade to clang 16.0.6.
#rb none

[CL 26334814 by arciel rekman in ue5-main branch]
2023-06-29 23:07:25 -04:00
arciel rekman
1115574ba1 Allow building Linux with clang 15.x to unblock some jobs.
#rb none

[CL 26305606 by arciel rekman in ue5-main branch]
2023-06-28 22:31:15 -04:00
arciel rekman
5f2b8512bd Update Linux to use v22 toolchain (clang 16.0.6)
#rb Brandon.Schaefer (discussed)

[CL 26305001 by arciel rekman in ue5-main branch]
2023-06-28 21:54:49 -04:00
josh adams
305c260069 - Moved SDK versions (MainVersion and Min/Max SDK version) from C# strings to SDK.json files in the Platform's Config folder
- Allow for per-project override in a project's platform's config folder (this is merging with my other work on per-project SDKs and validation of multi-target builds)
- More versions will move over after this
#rb david.harvey

[CL 26150552 by josh adams in ue5-main branch]
2023-06-21 11:21:01 -04:00
arciel rekman
49116212ad Compile servers with WITH_RAYTRACING=0
- This reduces Shipping server binary by a couple megabytes, and also helps reduce work during the LTO/PGO builds.

#rb Yuriy.ODonnell
[REVIEW] [at]Yuriy.ODonnell

[CL 25984505 by arciel rekman in ue5-main branch]
2023-06-14 13:05:10 -04:00
galeone
431c09150e [UBT] Add support for Code coverage on Linux
#rb Brandon.Schaefer, Jerome.Delattre, Joe.Kirchoff

[CL 25794147 by galeone in ue5-main branch]
2023-06-05 12:03:25 -04:00
josh adams
f6381544e2 - Allow a project to override the Main SDK version for a platform (the platform's project Engine.ini would set
[OverrideSDK]
  SDKVersion=x.y.z
and AutoSDK, or anything using GetMainVersion(), would use that version string instead
- If multiple targets are built in one run of UBT/UAT, it will error out because there is no support to switch SDKs (and builds happen in parallel, etc)
- This is not a complete solution, because it can cause problems with shared tools like ShaderCompileWorker, when different projects are on different SDKs and they have one SCW to share
- Renamed GetMainVersion to GetMainVersionInternal(), and wrapped that in a new non-vitual GetMainVersion() that calls GetMainVersionInternal() (and handles the ini overrides)
#rb david.harvey,dave.barrett
#jira UE-185364
#preflight 647a12e7b0670733186c928e

[CL 25767233 by josh adams in ue5-main branch]
2023-06-02 13:42:59 -04:00
arciel rekman
7d6b86f71d Regularize support for LTO/ThinLTO for Linux.
- Issue a warning when ThinLTO flag is specified on the command line but has no effect.

#rb Brandon Schaefer
[REVIEW]
#preflight 647a06fcf40c6565433192ac

[CL 25762597 by arciel rekman in ue5-main branch]
2023-06-02 11:26:41 -04:00