Commit Graph

161 Commits

Author SHA1 Message Date
matt johnson
01a13093c2 UnrealBuildTool: use colon prefix with -l linker flag to support linking libraries on Linux without "lib" prefix
This addresses an issue on Linux where libraries that do not have the "lib"
prefix can go missing at link time because the linker ends up looking for the
library with the prefix. For example, a library with the filename "foo.so"
would result in the "-lfoo" flag being added to the link command, which would
then cause the linker to look for a library with the name "libfoo" that does
not exist.

#rb brandon.schaefer
#preflight 6227a18ba83706728750078b

[CL 19337849 by matt johnson in ue5-main branch]
2022-03-10 12:25:37 -05:00
joe kirchoff
8024527e55 [Backout] - CL19292426
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: bPreprocessDepends for LinuxToolChain

#rb trivial
#rnx
#preflight 6222b1759a2bb63d197e8fe0

[CL 19327816 by joe kirchoff in ue5-main branch]
2022-03-09 18:39:31 -05:00
Brandon Schaefer
b77c0617f8 Re-add printing build details
#jira none
#rb none
#fyi Michael.Sartain
#preflight none

[CL 19293091 by Brandon Schaefer in ue5-main branch]
2022-03-07 17:25:43 -05:00
Joe Kirchoff
abd6a221c6 UnrealBuildTool: bPreprocessDepends for LinuxToolChain
#rb trivial
#rnx
#preflight 6222b1759a2bb63d197e8fe0

[CL 19292426 by Joe Kirchoff in ue5-main branch]
2022-03-07 16:47:05 -05:00
Brandon Schaefer
abb990ba22 Fix cross building the Linux UnrealEditor from Windows where we no longer was running the FixDeps.bat script which is required to resolve circular depends issues
#jira UE-140387
#rb Michael.Sartain
#preflight none

[CL 19221827 by Brandon Schaefer in ue5-main branch]
2022-03-02 10:35:58 -05:00
Brandon Schaefer
651a65add0 Disable ASan leak detector by default. While it does detect leaks we have many many leaks that are not proper in UEs term which mean we ignore all the current leaks.
Need to look into a suppression file for these so we can re-enable this

#jira none
#rb Michael.Sartain, Robert.Seiver
#preflight trivial

[CL 19017210 by Brandon Schaefer in ue5-main branch]
2022-02-16 12:41:56 -05:00
robert millar
79c81fc408 Add support for bRetainFramePointers to LinuxToolChain.
Add command line argument for bRetainFramePointers.

#rb brandon.schaefer
[FYI] nuno.leiria

#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 18981122 via CL 18981257 via CL 18981859 via CL 18982123 via CL 18982359 via CL 18992714 via CL 18993053
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18997362 by robert millar in ue5-main branch]
2022-02-15 11:35:34 -05:00
Joe Kirchoff
0e82220d96 UnrealBuildTool: Support -Timing for Linux & Mac
#rb trivial
#rnx
#preflight none

[CL 18924988 by Joe Kirchoff in ue5-main branch]
2022-02-09 16:56:59 -05:00
nuno leiria
5313adf716 Rename LibCxx lib folder from Linux to Unix
#jira UE-134907
#preflight 61f19e172f38223e17bcfda9
#rb brandon.schaefer

#ROBOMERGE-AUTHOR: nuno.leiria
#ROBOMERGE-SOURCE: CL 18740979 in //UE5/Release-5.0/... via CL 18741580 via CL 18742832
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18743201 by nuno leiria in ue5-main branch]
2022-01-26 15:35:55 -05:00
arne schober
f1dfec810d REL - Consolidate Coroutine compiler switches
#preflight 61eb2a6bc557ec200193db0d

#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18701113 in //UE5/Release-5.0/... via CL 18701116 via CL 18701155
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18701160 by arne schober in ue5-main branch]
2022-01-21 22:42:24 -05:00
jonathan adamczewski
65f389b113 UBT: Add minimal C++ coroutine support
#jira none
#preflight 61e851d4b875abaf3325e52a

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18663529 in //UE5/Release-5.0/... via CL 18663561 via CL 18663611
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18663658 by jonathan adamczewski in ue5-main branch]
2022-01-19 15:08:30 -05:00
brandon schaefer
0880d4d51c Fix arm64 not using lld, causing a linker error
#jira UE-139455
#rb none
[FYI] Michael.Sartain, Jonathan.Adamczewski
#preflight none

#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 18649238 in //UE5/Release-5.0/... via CL 18649811 via CL 18650071
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18650314 by brandon schaefer in ue5-main branch]
2022-01-18 17:55:48 -05:00
jonathan adamczewski
1f97d3c26e UnrealBuildTool: Remove references to UE4, changes affecting Linux
#jira UE-111420
#rb brandon.schaefer
#preflight none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18565898 in //UE5/Release-5.0/... via CL 18565904
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18565911 by jonathan adamczewski in ue5-release-engine-test branch]
2022-01-10 17:07:17 -05:00
aleksandr-urakov
d9d78ddffc PR #8702: Add an option for better LLDB support by UBT on Linux (Contributed by aleksandr-urakov)
#jira UE-137052
#ushell-cherrypick of 18418195 by UnrealBot
[at]Brandon.Schaefer
#preflight trivial

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 18560955 in //UE5/Release-5.0/... via CL 18560962
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18560974 by aleksandr-urakov in ue5-release-engine-test branch]
2022-01-10 11:51:16 -05:00
joe kirchoff
12ada00dd6 UnrealBuildTool: Linux clang 12 -fbinutils-version=2.36
#rnx
#rb trivial
#preflight 61d783c2d17842e547d00e47

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 18537990 in //UE5/Release-5.0/... via CL 18537996
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18538004 by joe kirchoff in ue5-release-engine-test branch]
2022-01-06 19:22:11 -05:00
jonathan adamczewski
bece46b1b4 Remove (remnants of) GCC support from Linux toolchain, remove references to i686, assume minimal valid clang version of 10.0.0
#jira none
#preflight 61d7669ec65e66487b2e4b51
#rb brandon.schaefer
#rb joe.kirchoff

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18537239 in //UE5/Release-5.0/... via CL 18537245
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18537257 by jonathan adamczewski in ue5-release-engine-test branch]
2022-01-06 18:06:08 -05:00
joe kirchoff
4e33f5de4e UnrealBuildTool: Suppress new clang 13 warnings
RHI: fix unresolved exports

Clang 13 needs RHI_API on the class template definitions to match the declarations. Unsure if this is a regression for Clang 13 or due to some other reason, but adding them doesn't negatively affect any other compile targets.

#rnx
#rb trivial
#preflight 61d4a9826511bc498e3cc6ec

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 18512106 in //UE5/Release-5.0/... via CL 18512119
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18512138 by joe kirchoff in ue5-release-engine-test branch]
2022-01-04 15:24:31 -05:00
joe kirchoff
cdedc71084 UnrealBuildTool: Initial support for Clang 13
Hack to workaround clang-cl bug in LC_StringUtil.cpp is finally no longer necessary with Clang 13

Outstanding Issues:
Unresloved externals in ClangEditor (FRHI*)
error: ordered comparison of function pointers ('Electra::fastdelegate::DelegateMemento::GenericFuncPtr' (aka
    'void (*)()') and 'Electra::fastdelegate::DelegateMemento::GenericFuncPtr') [-Werror,-Wordered-compare-function-
    pointers]

#rnx
#rb none
#preflight 61d33dff932a02483cb454bc

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 18503088 in //UE5/Release-5.0/... via CL 18503149
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18503159 by joe kirchoff in ue5-release-engine-test branch]
2022-01-03 15:42:39 -05: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
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
nuno leiria
9981354bdf Rename Linux folders to Unix where needed
#jira UE-99748
#preflight 60d0e0b778c3b00001e7cdd1
#rb brandon.schaefer, michael.sartain, arciel.rekman

#ROBOMERGE-SOURCE: CL 16744169 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16744194 by nuno leiria in ue5-release-engine-test branch]
2021-06-22 12:05:43 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
jonathan adamczewski
ad86e81438 UnrealBuildTool:
Add a StringComparison argument to CreateIntermediateTextFile() and require callers to make a decision about the case-sensitivity used when considering whether to re-write a file.

(This is intentionally explicit and verbose at the call-site - we should implement a better solution. This change makes it clear that there is work to be done to be able to simplify the interface and achieve reliable behavior.)

As a first pass, C++ files (headers, cpp files, pch files) will have a case-sensitive comparison (C++ code is, mostly, case sensitive), Linux script files have a case-sensitive comparison (case-sensitive filesystem), and all other files are compared disregarding case - to match pre-existing behavior, and with the desire to not borrow more surprises than necessary.

#jira none

#ROBOMERGE-SOURCE: CL 16616339 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16616345 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 19:45:21 -04:00
jonathan adamczewski
d58996b916 UnrealBuildTool: move some path constants into BuildUtilities
RootDirectory, EngineDirectory, UnrealBuildToolPath are now found in BuildUtilities' UnrealBuild namesapce.

The way these are computed has changed. Previously, it was assumed that the application is UnrealBuildTool, and paths were constructed relative to that assembly.

Now, the assumption is that the process is located under a "Engine/Build/DotNET" sub-path and paths are constructed relative to that.

#jira none

#ROBOMERGE-SOURCE: CL 16607440 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16607455 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 12:55:13 -04:00
jonathan adamczewski
a865a21fb0 Move FileItem and DirectoryItem into BuildUtilities
#jira none

#ROBOMERGE-SOURCE: CL 16596289 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16596323 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-08 19:06:03 -04:00