Recompile libcurl of windows version, to generate .pdb file, with patch file curl-8.4.0/curl_starttransfer_time_workaround.patch.
[REVIEW] [at]michael.atchison [at]michael.kirzinger [at]rafa.lecina [at]zousar.shaker [at]nicolas.mercier
#rb michael.atchison, nicolas.mercier
#tests Passed in WebTests project.
[CL 33262929 by lorry li in ue5-main branch]
NOTE: We no longer need the patch file patches/curl-7.83.1/curl_dns_block_workaround.patch, libCurl now support to quick exit at the cost of a possible leak for the issue "Multi perform hangs waiting for threaded resolver":
curl_easy_setopt(curl, CURLOPT_QUICK_EXIT, 1L)
#jira UE-197640
[REVIEW] [at]michael.kirzinger [at]rafa.lecina [at]zousar.shaker
[CL 29183588 by lorry li in ue5-main branch]
- 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]
Restore libcurl 7.83.1 (with HTTP2 enabled via nghttp2) on Windows, Mac, Linux platforms and have the curl usage in the Online module explicitly use HTTP1.1 to avoid issues experienced on long running servers in production with HTTP2.
#rb matt.peters
#ushell-cherrypick of 22606717 by Zousar.Shaker
[CL 22647555 by zousar shaker in ue5-main branch]
Due to SH sh-10-18-libcurl-bug-disrupting-service-calls
[REVIEW] [at]matt.peters
#localization none
#tests none
[FYI] charlie.nomides
[CL 22597814 by joe barrett in ue5-main branch]
-Removing libcurl and openssl library references to files that do not exist. Removing WITH_CURL=1 for Hololens. If one attempts to use either at runtime they would fail.
-This allows EngineTest to build and cook. Presumably some tests would fail, if we were able to run them at all (would require a hololens device hooked up to automation).
-A better fix would be to either build these libraries for hololens, both x64 and arm64 or to make them fully optional again, but that seems out of scope for 5.0.
-UE-141681 was created to follow up.
#jira UE-140418
#rb Steve.Smith
#lockdown Rolando.Caloca
#preflight 62018805846dda28ab0db3f5
#ROBOMERGE-OWNER: jeff.fisher
#ROBOMERGE-AUTHOR: jeff.fisher
#ROBOMERGE-SOURCE: CL 18893959 in //UE5/Release-5.0/... via CL 18894096 via CL 18894432
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
#ROBOMERGE-CONFLICT from-shelf
[CL 18894586 by jeff fisher in ue5-main branch]